Per discussion with @noahtalerman and @marko-lisica today: we're going
to aim to always add redirects in `/website/config/routes.js` for any
docs/external pages we link to in the Fleet UI & CLI, to reduce surface
areas of PRs when doc headings change or things are moved around...
---------
Co-authored-by: Eric <eashaw@sailsjs.com>
Article: Fleet & osquery: Unlocking the value of Axonius with
open-source telemetry
https://github.com/fleetdm/confidential/issues/4091
---------
Co-authored-by: Andrew Baker <89049099+DrewBakerfdm@users.noreply.github.com>
Changes:
- Added a new (required) key to pricing-features-table.yml:
`pricingTableCategories` - an array of categories that will be used to
categorize the feature on the pricing page.
- Updated build-static-content to validate pricingTableCategories values
- Updated the pricing page features table to be categorized by the
pricingTableCategories value of features.
- Updated the names of tiers on the pricing features table to match the
cards above the table ("Free" » "Community")
Closes: https://github.com/fleetdm/fleet/issues/15367
Changes:
- Updated the "subscribe" button on article pages to copy a link to an
RSS feed for an article category to the user's clipboard.
Closes: https://github.com/fleetdm/confidential/issues/4757
Changes:
- Updated layout.less to hide the website chat button when the chat is
closed on screen sizes <575px. (The chat can still be opened on mobile
devices by clicking a "talk to an expert" button)
Closes: #15728
Changes:
- Updated `view-query-report.js` to redirect non-logged in users who
visit `/try-fleet/explore-data/*` to `/try-fleet/register`
https://github.com/fleetdm/confidential/issues/4533
Changes:
- Added `/handbook/company/testimonials.yml`.
- Updated `build-static-content` to validate each item in
`testimonials.yml` and to add each item to
`sails.config.builtStaticContent.testimonials`
- Updated the scrollable tweets component to build cards of quotes from
`sails.config.builtStaticContent.testimonials`.
- Updated view-actions for pages where the `<scrollable-tweets>`
component is being used to throw an error if the testimonials
configuration is missing and to send the testimonials config to the
page.
- Updated pages where `<scrollable-tweets>` was being used.
- Updated the landing page generator to create new view-actions that
send the testimonials configuration to generated pages and updated the
template .ejs file.
Closes: #14900Closes: #15666
Changes:
- Updated the receive-from-github webhook to:
- Log a warning if a label cannot be deleted from a pull request.
- Reset the array of unfrozen PR numbers when the main branch of
fleetdm/fleet is unfrozen
---------
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
Changes:
- Reverted the style change from
https://github.com/fleetdm/fleet/pull/15677
- Updated the sticky header function to not hide the header if the
mobile navigation menu has the `.open` class
- Added comments to the sticky header function to explain what it is
doing.
Closes: #15676
Changes:
- Updated the website's page header not to be hidden if a dropdown menu
or the mobile navigation menu is open when the page is scrolled.
Closes https://github.com/fleetdm/fleet/issues/15615
_I'm sorry, I should have split this into separate PRs. I was trying to
move fast, but I didn't consider how awkward to review this PR would
become._
- Updated page titles and descriptions for:
- Homepage (no change to description. Currently set to the default blurb
from "Why Fleet doc."
- `/pricing`
- `/integrations`
- `/vulnerability-management`
- `/endpoint-ops`
- `/device-management` (I'm not super happy with this one. I tried to
summarize everything, but I think it's too long. I probably need to
rewrite it in a fast follow PR)
- Renamed `/osquery-management` to `/endpoint-ops` and set up redirect
- Removed `/compliance` (Note: I did not remove the compliance feature
images as they are referenced in various /imagine land pages. I need to
confirm whether those imagine pages are used in active ads?)
---------
Co-authored-by: Eric <eashaw@sailsjs.com>
- Updated device management content
- Add new images
- Removed the "ClickOps or DevOps" section from the home page
---------
Co-authored-by: Eric <eashaw@sailsjs.com>
Closes: #14847
Changes:
- Added two new pages:
- `/try-fleet/explore-data`: A page where users can select a host, and
be taken to a page where they can see query results for that host.
- `try-fleet/explore-data/:platformName/:tableName`: A page where users
can see the contents of osquery tables on hosts.
- The view-action for this page will:
- Redirect unauthenticated users to the /try-fleet/login page. (With a
query parameter that will tell the login/register pages to redirect
users back to this page)
- Get information for hosts on a specified team.
- Build a filtered list of osquery tables that are compatible with the
host and have queries that will run on a specified host.
- Get the latest query results for a specified query/osquery table for
the specified host, and reorder the results to match the order of the
columns in the osquery schema.
- Updated build-static-content to add information about osquery tables
for the /explore-data pages to
`sails.config.builtStaticContent.osqueryTables`.
- Added 5 new config variables:
- `sails.config.custom.fleetBaseUrlForQueryReports`: The URL of the
Fleet instance used for the /explore-data pages
- `sails.config.custom.fleetTokenForQueryReports`: An API token for the
Fleet instance used for the /explore-data pages
- `sails.config.custom.teamApidForQueryReports`: the API ID of the team
that the hosts listed on the explore-data page are in.
- `sails.config.custom.queryIdsByTableName`: A dictionary containing
key:value pairs where each key is the name of an osquery table, and the
value is the API ID of the query that gets results for this table in a
Fleet instance. This is stored in the custom configuration to make it
easily editable (If we ever need to add or remove queries
- `sails.config.custom.hostIdsByHostPlatform`: A dictionary containing
key:value pairs where each key is a type of operating system, and the
value is the API ID of a Host.
- Updated the `/try-fleet` redirect to go to `/try-fleet/explore-data`
- Updated the "try it out" button links to go to `/try-fleet`
- Updated /try-fleet/login and /try-fleet/register to send users who are
redirected to the page via the /explore-data page to the page they had
tried to navigate to when they log in/create an account.
I'm creating this as a PR as a draft. It will be ready to merge when we:
- [x] Add hosts to the "Explore data (fleetdm.com) [DO NOT DELETE]" team
- [x] Create queries for every compatible osquery table for the "Explore
data (fleetdm.com) [DO NOT DELETE]" team.
- [ ] Add a `sails.config.custom.queryIdsByTableName` config variable
with the query IDs for the queries created in the previous step
- [ ] Add `sails.config.custom.hostIdsByHostPlatform` config variable
with the real host IDs/platforms
Changes:
- Updated `build-static-content` to parse `<meta>` tags from HTML
generated from a Markdown file, instead of the Markdown file. Parsing
them after the Markdown is converted to HTML will prevent any `<meta>`
tags inside code blocks from being seen as a `<meta>` tag containing
information about the page because angle brackets inside code blocks are
changed into HTML entities (`<` & `>`) when the Markdown is
converted to HTML.
https://github.com/fleetdm/confidential/issues/2118
Changes:
- Updated the send-data-to-vanta script to report the `extension_id` of
browser extensions installed on a host if the API response from the
Fleet instance includes that value.
Closes: #15415
Changes:
- Updated the documentation and handbook page scripts to navigate users
who visit a URL with a hash link with query parameters attached to the
correct section.
Closes: #15255
Changes:
- Added the usage statistics added in
https://github.com/fleetdm/fleet/pull/14216 to the inputs of the
`receive-usage-analytics` webhook.
- Updated the `receive-usage-analytics` webhook to send the new usage
statistics to Datadog.
- Added attributes for the new usage statistics to the
`HistoricalUsageSnapshot` model.
- Removed the `columnName` from the `hostsStatusWebHookEnabled`
attribute of the `HistoricalUsageSnapshot` model, the name of this
column will be changed in the database when the new columns are added to
the databse table.
- Updated the usage statistics documentation to have the new statistics.
This PR requires database migrations. When this is approved and ready to
merge, we will need to:
- [ ] Merge this PR
- [ ] Put fleetdm.com into maintenance mode while the "Deploy Fleet
website" GH action runs.
- [ ] Add the new columns to the database table
- [ ] Change the name of the `hostStatusWebhookEnabled` column to
`hostsStatusWebHookEnabled`
- [ ] Set the default values for the new columns on the existing
records.
- [ ] When the website has finished redeploying, take it out of
maintenance mode.
# Checklist for submitter
If some of the following don't apply, delete the relevant line.
<!-- Note that API documentation changes are now addressed by the
product design team. -->
- [ ] Changes file added for user-visible changes in `changes/` or
`orbit/changes/`.
See [Changes
files](https://fleetdm.com/docs/contributing/committing-changes#changes-files)
for more information.
- [ ] Documented any permissions changes (docs/Using
Fleet/manage-access.md)
- [ ] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [ ] Added support on fleet's osquery simulator `cmd/osquery-perf` for
new osquery data ingestion features.
- [ ] Added/updated tests
- [ ] Manual QA for all new/changed functionality
- For Orbit and Fleet Desktop changes:
- [ ] Manual QA must be performed in the three main OSs, macOS, Windows
and Linux.
- [ ] Auto-update manual QA, from released version of component to new
version (see [tools/tuf/test](../tools/tuf/test/README.md)).
Changes:
- Moved a `v-if` that was placed on the wrong element on the mobile
(filtered) pricing features table (currently, just the name of the
feature is hidden, not the table itself)
- Reduced complexity of conditional rendering on the filter pricing
features table.