Commit graph

170 commits

Author SHA1 Message Date
Eric
6ae3880704
Website: Update build script to exclude folders with an underscore prefix & rename docs/Deploy/kubernetes/ (#17817)
Closes: #17582

Changes:
- Updated the `build-static-content` script to not generate HTML pages
for files in subfolders that are prefixed with an underscore
- Renamed the `docs/Deploy/kubernetes` folder »
`docs/Deploy/_kubernetes`
- Documented this new behavior on the communications page of the
handbook.
- Updated commands on the Deploy Fleet on Kubernetes page.

---------

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2024-03-22 18:15:01 -05:00
Eric
92771a629e
Website: Update build-static-content script to ignore pages in the docs/contributing/ folder. (#17706)
Closes: #17667

Changes:
- Updated `build-static-content` to skip pages in the docs/contributing
folder when Markdown pages are converted to HTML partials.
2024-03-21 17:26:35 -05:00
Eric
61544f4bea
Website: update create-issues-from-todays-rituals script to work in production (#17680)
Closes: #17678

Changes:
- Updated the `create-issues-from-todays-rituals` to create GH issues
using rituals from website's configuration instead of the ritual.yml
files in the `handbook/` folder
- Moved `yaml` to `devDependencies` in `webiste/package.json`
2024-03-19 10:02:50 -05:00
Eric
d7783286d3
Website: Update Vanta integration script to retry failed requests to Vanta's authorization endpoint. (#17704)
Changes:
- Chained a `.retry()` onto the post request that refreshes
authorization tokens for Vanta connections, that will retry requests
that return a `503 service unavailable` response.
2024-03-18 17:45:07 -05:00
Eric
dcaf2d0a4c
Website: update relative link validation in markdown content (#17213)
Closes: #16797

Changes:
- Updated `build-static-content` to throw an error if an extensionless
Markdown link containing a hash link is found.
- Fixed two broken relative links in the contributing documentation
2024-03-07 13:45:41 -06:00
Luke Heath
19b86ef368
Update maintainers path and engineering KPI script (#17339) 2024-03-04 14:26:00 -06:00
Eric
78da493ac1
Website: Update send-aggregated-metrics-to-datadog script (#17021)
Closes: #16931
Closes: #16935

Changes:
- Updated the `send-aggregated-metrics-to-datadog` script to:
- Not filter out statistics from Fleet instances reporting non-4.x.x
versions of Fleet when aggregating metrics about Fleet Premium instances
- Combine the reported hosts for all Fleet instances reporting the same
organization (Premium instances only)
2024-02-29 18:33:47 -06:00
Sam Pfluger
1a26b7f753
Correctly request Mike for review (#16972)
...

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2024-02-19 16:50:54 -06:00
Eric
325faacd8b
Website: Update build-script to allow for no open positions, add empty state to open positions component. (#16557)
Changes:
- Updated the website's build script to not validate
`/handbook./company/open-positions.yml` if it is empty
- Updated the open-positions component to have an empty state
- commented out the open position in open-postions.yml
2024-02-09 18:14:11 -06:00
Eric
c5736af55e
Website: fix incorrect conditional statement in Datadog script (#16583)
Changes:
- Updated a conditional statement in the
`send-aggregated-metrics-to-datadog` script. (`===` » `!==`)
2024-02-02 18:22:49 -06:00
Eric
b7a85fba48
Website: Update usage analytics sent to Datadog (#16572)
Related to: #16458

Changes:
- Updated the receive-usage-analytics webhook not to send metrics to
Datadog.
- Updated the send-aggregated-metrics-to-datadog script to build
aggregated metrics from the JSON values reported by Fleet instances
(stored errors, host count by orbit version, host count by osquery
version, host count by operating system), and updated the script to not
report metrics from Fleet instances using the development premium
license key.
2024-02-02 17:23:33 -06:00
Eric
43f21baa86
Website: Update script to create GH issues for rituals in YAML files. (#15752)
Closes: #14246

Changes: 
- Added a new key to the rituals YAML configuration: `autoIssue.repo`.
This value should be a string that is the name of the GH repo that
issues for the ritual should be created in.
- Updated ritual validation in `build-static-content`.
- Added support for the "monthly" ritual frequency for rituals with an
`autoIssue` value.
- Updated the `create-issues-for-todays-rituals` script to create GitHub
issues for rituals.

---------

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
Co-authored-by: Sam Pfluger <108141731+Sampfluger88@users.noreply.github.com>
2024-01-15 12:53:53 -06:00
Eric
c37f5cfe20
Website: Update testimonials configuration, filter and reorder testimonials on landing pages (#16091)
Closes: #16018

Changes:
- Updated the testimonial configuration in testimonial.yml to add two
new required values:
- `quoteAuthorProfileImageFilename` - The filename of the quote author's
LinkedIn profile picture in the website's `assets/images/` folder
- `productCategories`: An array of product categories that this quote is
relevant to
- Added new quotes to testimonials.yml 
- Updated the testimonial validation in build-static-content to throw an
error if a testimonial is missing one of the new required values
- Updated the `<scrollable-tweets> component to match the latest
wireframes
- Updated the controllers for the product category landing pages to
filter testimonials by product category and sort them by the order
specified in [the
wireframes](https://www.figma.com/file/3he8e72251IEnF6dBafKq1/%F0%9F%9A%A7-fleetdm.com-(scratchpad)?type=design&node-id=9369-4714&mode=dev)
2024-01-12 19:22:36 -06:00
Luke Heath
bada3ce08d
Add script to generate bug category csv (#16082) 2024-01-12 13:24:22 -06:00
Eric
9aea6e1c36
Website: Add script to send aggregated metrics to Datadog (#15933)
Related to: https://github.com/fleetdm/fleet/issues/15178
Changes:
- Added a new script: `send-metrics-to-datadog`, a script that
aggregates the latest usage statistics from Fleet instances reported in
the past week, and sends them to Datadog.
2024-01-05 13:23:49 -06:00
Eric
a4fdbdd142
Website: Update categories on pricing page features table (#15835)
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")
2023-12-22 18:35:16 -06:00
Eric
32580c823d
Website: Build testimonials in <scrollable-tweets> component from YAML. (#15638)
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.
2023-12-18 15:09:58 -06:00
Eric
2db26cd44e
Website: Add "Explore data" (#15400)
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
2023-12-11 15:29:30 -06:00
Luke Heath
ccea52897a
Add new open/close bugs and product group KPIs (#15554) 2023-12-11 14:38:51 -06:00
Eric
f4e7789e35
Website: Update how meta tags are parsed in build-static-content script (#15481)
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 (`&lt;` & `&gt;`) when the Markdown is
converted to HTML.
2023-12-07 11:03:29 -06:00
Eric
8992437cd9
Website: Update Vanta integration script to report extension_id if it is included in an API response (#15469)
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.
2023-12-07 11:02:56 -06:00
Eric
4feff451da
Website: Update pricing features yaml and pricing page. (#15294)
Closes: #15265

Changes:
- Updated `pricing-features-table.yml`:
- Changed the structure of the file so it is a flat array of features
(previously, features were nested under a category)
   - Added `productCategories` arrays to features that did not have them
   - Added `usualDepartment` values to features.
- Updated the pricing features validation in `build-static-content` to
work with the new file structure and made `productCategories` a required
value for features.
- Updated `view-pricing.js` to:
- categorize features based on the values of the `productCategories`
array
- build a single array of features (previously, it would also build an
array of features for security-focused buyers).
   - sort premium features to the bottom of the pricing table.
- Updated the `pricing.ejs` to:
   - render only the list of all features server-side
- conditionally show features in the pricing table, depending on the
selected pricing mode
2023-11-22 18:33:32 -06:00
Eric
4e24499e9e
Website: Update Vanta sync script to catch errors thrown from .retry() method. (#15303)
Changes:
- Wrapped requests that have `.retry()` in a try-catch block. Errors
thrown by the `.retry()` method are not currently not being caught by
the `intercept()` chained onto the request, and cause the script to stop
running.
2023-11-22 18:31:33 -06:00
Eric
eedb867024
Mark critical policies in standard query library. (#15070)
Closes: #14812 

Changes:
- Added a "critical" tag to critical policies in the standard query
library.
- Updated the macOS version used in the "Operating system up to date
(macOS)" policy.
- Updated the name of a policy to be in sentence case ("MDM Enrolled
(macOS)" » "MDM enrolled (macOS)")
- Updated the build-static-content script to add a `critical` attribute
to queries that have the "critical" tag.
- Updated the /queries page to add a "critical" badge to queries that
have the critical attribute.
2023-11-09 21:18:02 -06:00
Eric
cd462fba3b
2023-11-01 Website: Update script for Vanta integration (#14807)
Closes: #14751

Changes:
- Added new errors that are thrown if the response from the
`/hosts/{id}` endpoint does not contain a `host` object.
2023-11-02 16:01:44 -05:00
Sampfluger88
5ad4b7a36b
Update handbook index to only show pages in the /handbook/company/ folder (#14746)
...

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2023-10-26 03:38:33 -05:00
Luke Heath
0de2125e2a
Generate metrics for released and unreleased bugs (#14637)
Updated KPI script to generate metrics on released and unreleased bugs.
Looks like this:

    Bugs:
    ---------------------------
    Number of open issues with the "bug" label in fleetdm/fleet: 118
    Average open time: 44 days.

Number of open issues with the "~unreleased bug" label in fleetdm/fleet:
20
    Average open time: 7 days.

Number of open issues with the "~released bug" label in fleetdm/fleet:
98
    Average open time: 52 days.

...
2023-10-18 23:26:58 -05:00
Sampfluger88
a7999d2552
Website: Update build-static-content.js to enable new feature format in yml (#14372)
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2023-10-07 19:15:08 -05:00
Eric
f3daa2f0f0
Website: Update quotes on platform pages, add quote to open position pages. (#14367)
Closes: https://github.com/fleetdm/confidential/issues/3849

Changes:
 - Added a new quote to the `<scrollable-tweets>` component.
 - Added a quote to the Markdown pages built from `open-positions.yml`.
2023-10-06 18:31:16 -05:00
Eric
9891861e58
Website: Improve support for indented content in Markdown lists, update MDM macOS setup docs page. (#14124)
Closes: #12836 

Changes:
- Updated the `build-static-content` script to not add HTML comments to
Markdown codeblocks, and to not replace HTML comments in generated HTML
pages
- Updated the custom codeblock renderer in the `to-html` helper to add
syntax highlighting classes to Markdown codeblocks.
- Updated the indentation of content in lists on the MDM macOS setup
docs page.

---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2023-09-29 13:13:03 -07:00
Eric
85fdeb4234
2023-09-16: Website: Update sitemap, set lastModifedAt timestamps for osquery schema pages. (#13725)
Closes: #13728

Changes:
- Added /support to the array of hand-coded HTML pages in
`download-sitemap.js`:
- Updated `get-extended-osquery-schema`:
- Added a new (optional) input: `includeLastModifiedAtValue` if this
input is provided, the helper will:
      - Set a `lastModifiedAt` value on all tables.
- Send a request to the GitHub API to get a lastModifiedAt timestamp for
tables that have no fleet overrides.
- Use `git` to get a lastModifiedAt timestamp of when the tables YAML
file was changed.
- Updated the `build-static-content` script to include a lastModifiedAt
timestamp for table pages, and updated the `lastModifiedAt` value that
is set for pages built from `/handbook/company/open-positions.yml`

---------

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2023-09-15 18:39:39 -05:00
Sampfluger88
7481cec68f
Automation: Add support for *.rituals.yml (#13754)
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2023-09-06 23:20:13 -05:00
Eric
2708933529
Website: build handbook pages for open positions from YAML. (#13672)
Closes: #13536

Changes:
- Deleted all handbook pages for current open positions.
- Created `/handbook/company/open-positions.yml`, and created entries
for the deleted handbook pages.
- Updated the build script to generate handbook pages for every entry in
`open-positions.yml`, and add information about each open position to
`sails.config.builtStaticContent.openPositions`
- Created a new component: `<open-positions>` - A component that takes a
single prop (named `openPositions`) that renders links to open position
handbook pages.
- Updated the "Creating a new position" section of the handbook to have
updated instructions for adding a new position to `open-positions.yml`
.
2023-09-04 21:20:57 -05:00
Sampfluger88
09be914450
Automation: Report on CEO PR open time (#13674)
.

---------

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2023-09-02 18:59:30 -05:00
Luke Heath
80fecc3405
Adjust PR KPI script (#13463) 2023-08-25 16:55:36 -05:00
Eric
46802ee56a
Website: Add admin page to manage the Fleet Sandbox waitlist (#13111)
Closes: #12954

Changes:
- Added an admin page that displays a table containing all of the users
that are currently on the Fleet Sandbox waitlist where admins can
approve waitlisted users.
- Added a new email template that tells users that their Fleet Sandbox
instance is ready.
- Added a new action:
`admin/provision-sandbox-instance-and-deliver-email.js`, an action that
provisions a Fleet sandbox instance for a single user and sends them an
email telling them that their Fleet Sandbox Instance is ready.
- Added a script that provisions a Fleet Sandbox instance for the user
who has been on the waitlist the longest and sends them an email telling
them that their Sandbox instance is ready.
2023-08-04 18:32:00 -05:00
Eric
3e1936d9c7
Website: add <rituals> component, add ritualsTables (parsed from YAML) to website configuration (#13084)
Changes:
- Updated the `build-static-content` script to parse files named
`rituals.yml` in the handbook folder, and add the contents to the
website's configuration as
`sails.config.builtStaticContent.ritualsTables`, and to throw errors if
a `rituals.yml` file contains a ritual that is missing a required value.
- Created the `<rituals>` component, a component that takes a single
prop (`ritualsTable`) and renders a table containing a row for each
ritual.
- Added a new property to `handbook/company/rituals.yml` - moreInfoUrl.
If this value is present, the description in the rendered HTML table (of
the `<rituals>` component) will link to the URL provided.
- updated view-basic-handbook to send
`sails.config.builtStaticContent.ritualsTables` in `SAILS_LOCALS`

---------

Co-authored-by: Sampfluger88 <108141731+Sampfluger88@users.noreply.github.com>
2023-08-03 21:58:02 -05:00
Mike McNeil
1ec179c138
Prepare for rituals.yml automation (move features table YML) (#13049)
- Ahead of per-department rituals.yml automation, move feature list .yml
out for clarity
2023-08-02 16:58:20 -05:00
Sampfluger88
8234d2e0fe
Automate ritual as yml (#13057)
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2023-07-29 20:18:00 -05:00
Eric
8fb22579ea
Reorganize Fleet documentation (#12871)
Closes: #12611

Changes:
- Added three new documentation sections `/docs/get-started/`,
`/docs/configuration` and `/docs/rest api/`
- Updated folder names: `/docs/Using-Fleet/` » `/docs/Using Fleet` and
`/docs/deploying` » `/docs/deploy/`
- Moved `/docs/using-fleet/process-events.md` to `/articles` and updated
the meta tags to change it into a guide.
- Added support for a new meta tag: `navSection`. This meta tag is used
to organize pages in the sidebar navigation on fleetdm.com/docs
- Moved `docs/using-fleet/application-security.md` and
`docs/using-fleet/security-audits.md` to the security handbook.
- Moved `docs/deploying/load-testing.md` and
`docs/deploying/debugging.md` to the engineering handbook.
- Moved the following files/folders:
- `docs/using-fleet/configuration-files/` »
`docs/configuration/configuration-files/`
- `docs/deploying/configuration.md` »
`docs/configuration/fleet-server-configuration.md`
    -  `docs/using-fleet/rest-api.md` » `docs/rest-api/rest-api.md`
- `docs/using-fleet/monitoring-fleet.md` » `docs/deploy/rest-api.md`
- Updated filenames:
- `docs/using-fleet/permissions.md` »
`docs/using-fleet/manage-access.md`
- `docs/using-fleet/adding-hosts.md` »
`docs/using-fleet/enroll-hosts.md`
    -  `docs/using-fleet/teams.md` » `docs/using-fleet/segment-hosts.md`
- `docs/using-fleet/fleet-ctl-agent-updates.md` »
`docs/using-fleet/update-agents.md`
- `docs/using-fleet/chromeos.md` »
`docs/using-fleet/enroll-chromebooks.md`
- Updated the generated markdown in `server/fleet/gen_activity_doc.go`
and `server/service/osquery_utils/gen_queries_doc.go`
- Updated the navigation sidebar and mobile dropdown links on docs pages
to group pages by their `navSection` meta tag.
- Updated fleetdm.com/docs not to show pages in the `docs/contributing/`
folder in the sidebar navigation
- Added redirects for docs pages that have moved.

.

---------

Co-authored-by: Mike Thomas <mthomas@fleetdm.com>
Co-authored-by: Rachael Shaw <r@rachael.wtf>
2023-07-27 17:40:01 -05:00
Eric
22b8b2cb85
Exclude uninitialized macOS hosts in Vanta sync script (#12478)
Closes: https://github.com/fleetdm/fleet/issues/12450

Changes:
- Updated the `send-data-to-vanta` script to exclude hosts that have an
`mdm.enrollment_status` set to `Pending`
2023-06-23 18:17:18 -05:00
Eric
e9fd28717d
Website: Throw error in build script if a handbook page is missing a maintainedBy meta tag (#12364)
Closes: #12361
Changes:
- Added an error to the `build-static-content` script that is thrown if
a a handbook page is missing a `maintainedBy` meta tag.
- Added a `maintainedBy` meta tag to
`handbook/company/head-of-public-sector.md`
2023-06-16 15:09:17 -05:00
Eric
0d54d242ff
Website: Update regex used to change markdown links (#12325)
Closes: #12315
Changes:
- Updated the regex that is used to change Markdown links to fleetdm.com
into web root-relative links to support fleetdm.com links that start
with `www.`
2023-06-16 13:27:59 -05:00
Luke Heath
e4c38dfb7c
Exclude handbook and ceo labels from contributor PR count (#12226) 2023-06-09 10:55:12 -05:00
Eric
ac8cd8e024
Website: Throw error if Markdown content contains a Vue template (#12096)
Changes:
- Updated the build-static-content script to throw an error if a
Markdown file contains a vue template (e.g., `{{ foo }}`)
- Updated an example in the "Using Fleet" FAQ to use single curly
brackets (`{{host}} ` » `{host}`)


Context: https://github.com/fleetdm/fleet/pull/12088
2023-06-01 14:06:02 -05:00
Eric
d18db8f9ee
Website: Add support for ChromeOS to query library and osquery schema pages. (#12013)
Closes https://github.com/fleetdm/fleet/issues/11837

Changes:
- Changed the OS icons used on tables/ and queries/ pages.
- updated `get-extended-osquery-schema` to change the `platform` value
of osquery table columns to be the normalized platform name (`chromeos`
» `ChromeOS`)
- updated `build-static-content` to support three `platforms` values
when adding platform compatibility notes to generated Markdown tables
(e.g., "**Only available on macOS, Linux, and Windows.**" )
- Added dropdown options and icons for ChromeOS on osquery schema table
pages, query details pages, and the query library.
2023-05-31 11:48:00 -05:00
Eric
02bb987b22
Website: Update pricing page (#11910)
Changes:
- Updated the pricing page to match the latest wireframes.
- Updated the features in `pricing-features-table.yml`
- Updated `build-static-content.js` to remove support for the Ultimate
tier in `pricing-features-table.yml`

---------

Co-authored-by: Mike Thomas <mthomas@fleetdm.com>
2023-05-25 12:40:19 +09:00
Luke Heath
5779bd2381
Update GitHub PR and bugs KPI script (#11680) 2023-05-12 17:08:00 -05:00
Eric
c7244add59
Website: Retry failed PUT requests to Vanta (#11023)
Changes:
- Chained a `.retry()` onto the PUT requests to Vanta in the
`send-data-to-vanta` script
.
2023-04-07 10:28:58 -05:00
Eric
243e0bc6f1
Update send-data-to-vanta script (#10384)
Changes:
- Updated the send-data-to-vanta to set a boolean value for the
`isManaged` property of Windows and macOS hosts if the
`enrollment_status` of a host's `mdm` property is either "On (automatic)
or "On (manual)".
2023-03-08 12:06:16 -06:00
Eric
403b067056
Update Vanta integration to sync Windows hosts (#10346)
Closes: #9735

Changes:
- Updated the `send-data-to-vanta` script to:
   - Sync Windows hosts with Vanta.
   - Report the MDM status of macOS hosts.
- Updated the notes on the `/connect-vanta` page to link to the screen
lock policy for Windows.
2023-03-08 09:45:53 -06:00
Mike McNeil
8466671cef
Exclude draft PRs from KPIs (#10327)
@eashaw DEF check this code, please. I didn't test it at all and wrote
it during a meeting and lots of interruptions.
2023-03-06 15:57:53 -06:00
Eric
295208a77b
Website: Remove newlines from osquery schema table column decsriptions. (#10002)
Closes: #9963 

Changes:
- Updated`build-static-content` script to replace newlines in the
`description` property of osquery schema columns. This prevents
multi-line descriptions from adding additional rows when a multi-line
description is added to a Markdown table.
2023-02-21 20:20:08 -06:00
Zach Wasserman
2c66547b72
Give Vanta empty drives array when we don't know about encryption (#9918)
Vanta doesn't like undefined/null values for the encryption status.
Hopefully it will accept an empty array.
2023-02-17 14:40:30 -06:00
Zach Wasserman
c99d7677e7
Skip setting details for pending enrollment MDM hosts (#9911) 2023-02-17 10:56:08 -08:00
Eric
753d200e45
Website: Update Vanta integration script error logging (#9910)
Changes:
- Changed the message logged when a Vanta integration has an error to a
warning so our Papertrail alerts will be triggered whenever a Vanta
integration has an error.
2023-02-17 12:28:17 -06:00
Zach Wasserman
e4141e68b0
Support hosts with no software in Vanta integration (#9909) 2023-02-17 10:06:31 -08:00
Zach Wasserman
7cb51d7ba2
Change reporting of MFA to Vanta for API-only users (#9896)
The intention is to have Vanta stop showing warnings for missing MFA on
API-only users. It's not clear if setting `UNSUPPORTED` is the correct
solution, but it does seem more accurate than setting the `mfaEnabled`
to `true`.
2023-02-17 08:49:20 -08:00
Eric
416963de36
Website: Update pricing page (#9621)
Closes https://github.com/fleetdm/confidential/issues/1818

Changes:
- Updated the layout and content of the `/pricing` page
- `pricing-features-table.yml`: Added an "Ultimate" tier with three
features.
- `build-static-content.js` - Updated the build script to add support
for the "Ultimate" tier in `pricing-features-table.yml`

---------

Co-authored-by: Mike Thomas <mthomas@fleetdm.com>
2023-02-06 10:41:36 -06:00
Eric
09b88d0341
Website: Add "Requires MDM" badge to /queries page (#9296)
Changes:
- Added a "MDM required" tag to the queries in the standard query
library that use the `managed_policies` table.
- Updated the build script to add a `requiresMdm` value to queries added
to `builtStaticContent.queries`, and to set it to true if a query has
the "MDM required" tags
- Updated the `/queries` page to add a "Requires MDM" badge to queries
that have `requiresMdm: true`
 . . .

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2023-01-12 10:05:03 -06:00
Eric
47d43d5307
Website: fix failing GitHub workflows (#9285)
Changes:
- Updated the `build-static-content` script to use a GitHub API token
for requests if one is provided e.g., `sails run build-static-content
--githubAccessToken="foo"`
- Updated the `build-for-prod` npm script to run the
`build-static-content` script with a variable named `BUILD_SCRIPT_ARGS`.
- Updated the "Deploy Fleet website" and "Test Fleet website" workflows
to run the `build-for-prod` script with a GitHub API token
. .

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2023-01-11 13:31:20 -06:00
Eric
9ddd5f2ede
Website: Add MDM page (#9264)
Changes:
- Added a new page: `/device-management`
- Added a new action: `deliver-mdm-beta-signup.js` - This action sends a
post request to a Zapier webhook when a user submits a form on the
`/device-managment` page.
- Added a new component: `<scrollable-tweets>`
- Updated routes, importer, policies, cloud-sdk, and
`download-sitemap.js`
- Updated the route for our success story articles to live at
`fleetdm.com/success-stories/*` (Previously at
`fleetdm.com/device-management/*`) and updated `config/routes.js` to
have redirects for each article in that category
- Updated the "Use cases" navigation item to "Platform" and changed the
platform link to "How it works"

Co-authored-by: Mike Thomas <mthomas@fleetdm.com>
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2023-01-11 11:29:38 -06:00
Eric
ace1fa0d37
Website: Add Vanta integration (#9072)
* stubing out required pages

* Add Vanta authorization action, create externalAuthorization(name will most likely change) Model

* rebuild cloud sdk

* Draft script

* update importer, update connect-vanta page

* layout updates

* update action

* change model name

* update model name

* update script

* Update vanta callback page

* add new model to lint config

* update model attributes

* update vanta connection page to require url protocol, fix lint error in routes

* rename page, vanta-callback » vanta-authorization

* Update errors, handle incomplete connections

* Update model attribute names

* Remove console.log(), add error message for non-Fleet Premium users

* update importer, fix lint error

* update send-data-to-vanta script

* Update create-vanta-authorization-request.js

* update page name

* update comments and error messages

* layout changes

* update status codes used in exits

* Add comment

* Update .eslintrc

* Update create-vanta-authorization-request.js

* Update view-vanta-authorization.js

* Update VantaConnection.js

* Update send-data-to-vanta.js

* Update create-vanta-authorization-request.js

* Update mobile styles

* update text

* update error text, show sucess message if account has already been authorized

* lint fix

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2022-12-21 23:39:39 -06:00
Eric
b8c2db08c9
Website: Update build script to throw an error if Markdown contains a @fleetdm.com email address (#9027) 2022-12-15 17:59:24 -06:00
Zach Wasserman
fce4bae018
Fix typos in website code (#9015) 2022-12-13 15:33:23 -08:00
Eric
a8fe6b4bec
Update bug and pull request report script (#8735)
* Update PR and Bug script

* Update get-bug-and-pr-report.js

* Update get-bug-and-pr-report.js

* update variable names

* update script to pull the last 300 closed pull requests

* Add open PR metric

* Update get-bug-and-pr-report.js

* Update get-bug-and-pr-report.js

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2022-12-05 17:01:03 -06:00
Eric
2d0f33f369
Website: Add script for creating HTML email partials from Markdown articles (#7574)
* add to-html-email

* email-preview

* add build-html-email script, update .gitignore

* email preview and email-templates pages, update routes, importer and policies

* add newsletter email layout, build-html-email script, to-html-email updates

* Update .gitignore

* add newsletter emails section to growth handbook

* update scripts

* update fonts in emails

* Update README.md

* Update build-html-email.js

* update comments, add page scripts to layouts

* revert change to build-static-content

* update script

* update email layout and helper

* update handbook entry

* update template data and helper

* update email layout

* update fake data and unsubscribe link

* move added handbook section to the marketing handbook

* rename script

* update colors in unused email template

* update capitalization in helper

* view-email-preview » view-email-template-preview

* Hide emails generated from markdown if they don't exist

* update preview page

* update markdown email directory, create sample article email

* lint fixes, add target="_blank" to links in emails

* update page layouts & styles

* update sample newsletter email, code font, newsletter layout

* Update README.md

* Update view-email-template-preview.js

Co-authored-by: Tim Kern <tim@fleetdm.com>
Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2022-12-05 16:30:24 -06:00
Eric
d92d9980ce
Website: Build pricing page from yaml file (#8549)
* Create pricing-features-table.yml

* update built-static-content to add the pricing table configuration to builtStaticContent

* Update pricing page to use builtStaticContent.pricingTable

* Update view-pricing.js

* update pricing table, lint fix

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2022-12-05 14:11:46 -06:00
Eric
0853d338f8
Website: Update table pages (#8410)
* add link to "defaults to root" text and evented table labels

* override requires_user_context value in merged schema

* update link styles on table pages

* Update get-extended-osquery-schema.js

* encodeURIComponent

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2022-11-10 17:12:24 -06:00
Eric
f5da19ced5
Website: add script to get average open bug and pull request age (#8490)
* Create script

* update base headers

* Update get-average-bug-and-pr-age.js

* add timeout to sails.helpers.flow.until
2022-10-31 23:10:30 -05:00
Eric
e82962e4a7
Add Fleet override schema files (#8278)
* create schema/tables, add yaml schema tables

* Update osquery-table-details.ejs

* Generate schema from schema/tables/ folder

* Create generate-yaml-tables-from-json.js

* update created table files

* update fleet override validation

* update error messages, add fleetRepoUrl

* Delete generate-yaml-tables-from-json.js

* Update osquery-table-details.ejs

* Update whitespace in table examples

* Revert "Update osquery-table-details.ejs"

This reverts commit 2e9d63208f.

* add YAML tables generated from updated Fleet schema

* lint fixes

* update arp_cache and docker_containers tables
2022-10-18 14:13:42 -05:00
Eric
588c9abef3
modify markdown links on table pages (#8123) 2022-10-07 11:48:37 -05:00
Eric
8fecef3ed5
Update merged schema helper and script. (#8092)
* update helper to use the osquery schema from the osquery/osquery-site repo

* update script description and generated json filename

* Add ritual to digital experience handbook

* add merged schema

* Update README.md

* Update get-extended-osquery-schema.js
2022-10-05 15:10:08 -05:00
Eric
cf7ee367d4
Remove custom heading renderer when compiling markdown tables (#8054)
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2022-09-30 18:03:52 -05:00
Eric
ddb074996c
Website: Move schema table merging into helper, update build script (#7980)
* move table schema merging into helper

* update helper name, add evented value to table configuration

* update indentation

* update error messages for readability

* typo

* update helper name, exits and description

* Add missing columns to osquery_tables.json

* add merge schema script

* rename script to `generate-merged-schema`

* Update generate-merged-schema.js

* Add error messages

* update error messages

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2022-09-29 16:38:10 -05:00
Eric
9dbf84fb4b
Website: Add pages for schema tables (#7679)
* add osquery tables page

* update build script, add fleet schema folder

* update layout and page script

* add edit-page button, search, remove test attribute from fleet schema

* update styles

* syntax highlighting, update highlight.js, adjust layout

* lint fixes

* Update view-osquery-tables.js

* requested changes from 1:1

* requested changes

- Rename osquery-tables to osquery-table-details & update routes and policies
- Update wildcard input and tables details route
- Fix lint error
- adjust self-calling functions in page script
- rename function and adjust the order of functions in page script

* add osquery tables to builtStaticContent.markdownPages

* update schema folder readme

* add redirect for /tables

* update table input

* remove comment from stylesheet, update syntax highlighting, use variable names from colors.less

* update inputs in view action

* Updates from PR review

* fix lint error

* update syntax highlighting, table page styles

* Update build-static-content.js

* requested changes from code review

* Update build-static-content.js

* fix build script error

* remove string.replaceAll()

Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2022-09-23 19:06:55 -05:00
Eric
9eb518bd4d
Website: Add metadata error to build-static-content (#7776)
* add error message to metadata processing

* Update error message

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2022-09-23 18:23:37 -05:00
Eric
a5d2d7e390
Website: add support for description meta tags in markdown articles (#7887)
* add support for meta description tags on markdown articles

* Add description meta tag section to article formatting guide
2022-09-21 17:14:58 -05:00
Eric
a15d87f932
Add --skipGithubRequests option to build-static-content (#7024)
* add local flag to build script

* remove defaultsTo from input

* update comments

* local » skipGithubRequests, use fake profile pictures for contributors

* encodeURIComponent(username)
2022-08-03 10:45:28 -05:00
Eric
780a00d849
update invalid custom title error (#7021) 2022-08-02 14:27:31 -05:00
Eric
9e2b7c5f26
Website: Minor scripts/build-static-content.js updates (#6974)
* Build static content updates

* update comment

* Add link

* Expand comment with another link and more explicitness

* Address requested change from https://github.com/fleetdm/fleet/pull/6974/files#r935075522

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2022-08-01 22:23:43 -05:00
Eric
46aa36356b
Website: Update LANG markers regex in build-static-content.js (#6785)
* Update LANG markers regex

* update regex to remove extra newlines from codeblocks

* revert regex in build-static-content

* remove nested codeblock

* update whitespace in changed codeblock

* update regex replace to match indentation on LANG tags

* update regex, add error if markdown was compiled with nested codeblocks

* Revert lang marker regex

* remove newlines before codeblocks in lists

* Update error, move LANG tag regex replace

* update comment to clarify what we mean by nested codeblocks

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2022-07-27 16:55:06 -05:00
Mike McNeil
39fea292b9
Tool: Bring back mergefreeze API integration (#6905)
* Tool: Bring back mergefreeze API integration

Context: https://github.com/fleetdm/fleet/pull/5628#issuecomment-1196175485

Unfortunately, the API doesn't work.

* Lay out how this would work in the database - but instead, do it ephemerally for now

* Remove model

* Maintain state (the easy way for now)
2022-07-27 00:36:31 -05:00
Eric
f10e33d387
Website: update article categories (#6679)
* add deploy category, change product to guides

* update links to deployment guides

* Update deploy-fleet-on-hetzner-cloud.md

* Update enrolling-a-digital-ocean-droplet-on-a-fleet-instance.md

* Update how-to-install-osquery-and-enroll-linux-devices-into-fleet.md

* Update delivering-data-to-snowflake-from-fleet-and-osquery.md

* Update how-to-install-osquery-and-enroll-windows-devices-into-fleet.md

* Update how-to-install-osquery-and-enroll-macos-devices-into-fleet.md

* Update deploying-fleet-on-aws-with-terraform.md

* Update deploying-fleet-on-render.md

* Update how-to-uninstall-osquery.md

* Update osquery-a-tool-to-easily-ask-questions-about-operating-systems.md

* Update get-and-stay-compliant-across-your-devices-with-fleet.md

* Update work-may-be-watching-but-it-might-not-be-as-bad-as-you-think.md

* Update converting-unix-timestamps-with-osquery.md

* Update correlate-network-connections-with-community-id-in-osquery.md

* Update using-elasticsearch-and-kibana-to-visualize-osquery-performance.md

* Update fleet-quick-tips-querying-procdump-eula-has-been-accepted.md

* Update locate-assets-with-osquery.md

* Update osquery-consider-joining-against-the-users-table.md

* Update import-and-export-queries-and-packs-in-fleet.md

* Update ebpf-the-future-of-osquery-on-linux.md

* Update generate-process-trees-with-osquery.md

* Update get-and-stay-compliant-across-your-devices-with-fleet.md

* Update work-may-be-watching-but-it-might-not-be-as-bad-as-you-think.md

* Update ebpf-the-future-of-osquery-on-linux.md

* Change category meta value back to guides

Co-authored-by: Desmi-Dizney <99777687+Desmi-Dizney@users.noreply.github.com>

* change article category

* update latest article category

* add redirects for articles not handled by cloudflare rules

* Update to main nav

I did a little more housekeeping on the main nav for when we do the switch on these categories.

- Added link to /deploy under Guides on the Documentation dropdown.
- Added link to /guides under Guides on the Documentation dropdown
- Removed the now redundant "See all" from under Guides on the Documentation dropdown
- Removed the now redundant "See all" from under Articles on the Community dropdown (There's no need to point users to All categories any more, since all the category land are now linked to independently from the main nav.

* Update article category name

Co-authored-by: Desmi-Dizney <99777687+Desmi-Dizney@users.noreply.github.com>
Co-authored-by: Mike Thomas <mthomas@fleetdm.com>
2022-07-21 13:59:51 +09:00
Mike Thomas
7aaf677c66
state of device management blog post (#6192)
* state of device management blog post

- Article to help promote the report
- Needed before merge: "Reports" article category

* add report category and update routes

* Update state-of-device-management.md

I reworded part of this to make it easier to read. Let me know if I can be of any more help. :)

Co-authored-by: Eric <eashaw@sailsjs.com>
Co-authored-by: Desmi-Dizney <99777687+Desmi-Dizney@users.noreply.github.com>
Co-authored-by: Tim Kern <tim@fleetdm.com>
2022-07-07 17:37:43 +00:00
Eric
1c51eadc1e
Website: Fix build script (#6320)
Fixing a error caused by e94e41a9f9
2022-06-21 15:35:13 -05:00
Eric
7694937793
Website: update build script (#6271)
* Website: update build script

* update .replace() to use HTML entities
2022-06-21 14:36:03 -05:00
Eric
73db2ae15e
Website: add <call-to-action> component (#6244)
* Website: add <call-to-action> component

* Lint fixes
2022-06-21 09:08:35 +09:00
Eric
9965da174c
Website: add .retry() to Github API calls in estimation report script (#6132)
* website: add retry() to Github api calls in estimation script

* Update deliver-estimation-report.js
2022-06-09 00:08:13 -05:00
Mike Thomas
8b3a3e2eca
Create the-future-of-device-management-ep1.md (#6050)
* Create the-future-of-device-management-ep1.md

Missing from this PR:

- [ ] Set up podcast article category
- [ ] Link to podcast
- [ ] Podcast cover artwork
- [ ] Nice to have: subheading style

* PR update

- added podcasts category
- changed added article `category` to "podcasts"
- removed placeholder `articleImageUrl`

* PR update

– added Apple, Spotify, and PodBean podcast links
- added article artwork

Co-authored-by: eashaw <caglc@live.com>
2022-06-07 10:21:56 +09:00
Eric
592d277a07
Website: generated handbook index (#5955)
* Website: generated index planning

* revert whitespace change

* add title to handbook pages, generate handbook index

* Update basic-handbook.page.js

* suggestions from review

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2022-06-02 18:09:00 -05:00
Eric
0d3cae7d80
Website: fix external article images (#5720) 2022-05-12 17:21:53 -05:00
Eric
fba695be86
Website: Update build script to support relative image links (#5674)
* website: modify image links to point to assets folder

* website: update links to article images

* update comments

* revert sailsrc change

* Update build-static-content.js

* suggested changes from review
2022-05-12 10:21:44 -05:00
Mike McNeil
5fe7fea24d
Tool: sails run freeze-open-pull-requests (#5610)
* trivial (comments)

* Remove old unfreeze/freeze logic

* trivial (clarify comment)

* Trivial (fix weird character)

* Extrapolate DRI mappings into config.

* Explain why this exists

* Extrapolate logic

* Use extrapolated logic + add 5 second wait time to prevent accidents + clean up

* Use extrapolated logic and fix omission in helper

* Make freezing actually happen and document usage

* In script, don't freeze PRs as long as they're preapproved to be edited by SOMEBODY

* Lint fixes
2022-05-06 00:12:50 -05:00
Eric
cd046bf2fc
Website: Update default filters for query library, remove tag capitalization (#5523)
* update tag formatting + query library default filters

* make all tags lower case
2022-05-03 19:39:56 -05:00
Eric
f713668390
Website: Add article landing and category pages (#5428)
* articles page

* update articles route to handle category urls

* update articles page

* add articleImageUrl meta tags to article pages

* basic empty state, add comments

* Update view-articles.js

* Update articles.less

* add articles, update styles and image url validation

* lint fix

* Update routes.js

* Update articles.ejs

* Update articles.page.js

Updated article category descriptions.

* migrated more articles

I migrated more articles so that all categories are populated.

* Added thumbnails to new posts

* Some style tweaks

- Tweaked a couple of styles
- Added cursor: pointer to filters
- Changed "Blog" to "Articles" in the navigation
- Changed /blog to /articles in the navigation

Co-authored-by: Mike Thomas <mthomas@fleetdm.com>
2022-04-28 15:16:07 +09:00
Eric
cd0ec13a0c
Website add articles page. (#5243)
* create '/articles' and add 4 test articles

* update build-static-content script for '/articles'

* article pages

* Validate article page metaData

* add articles linked from header, remove test articles

* update article styles

* comment out /articles route, update blog post links

* Move article category page to different branch for future PR

* Update build-static-content.js

* remove pagescript

* Update deploying-fleet-on-render.md

* update meta tags

* lint fixes

* Style & Markdown updates

Made a couple of fixes to the styling and markdown.

* update view action, replace route with regex, update links

* authorsGitHubUserName -> authorGitHubUsername, authorsFullName -> authorFullName

Co-authored-by: Mike Thomas <mthomas@fleetdm.com>
2022-04-22 12:27:03 -05:00
eashaw
0af5e161d0
Remove numbers from documentation filenames in Fleet repo (#4313)
* Renaming files and a lot of find and replace

* pageRank meta tags, sorting by page rank

* reranking

* removing numbers

* revert changing links that are locked to a commit

* update metatag name, uncomment github contributers

* Update basic-documentation.page.js

* revert link change

* more explicit errors, change pageOrderInSection numbers, updated sort

* Update build-static-content.js

* update comment

* update handbook link

* handbook entry

* update sort

* update changelog doc links to use fleetdm.com

* move standard query library back to old location, update links/references to location

* revert unintentional link changes

* Update handbook/community.md

Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>

Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2022-02-23 12:17:55 -06:00
Luke Heath
a1d894f92f
Update estimation report environment variable (#4307) 2022-02-18 16:10:41 -06:00
Mike McNeil
f1c0158149
Make estimation script work with GitHub projects beta (#4249)
* got projects 2.0 showing up

* cleanup graphql resentment leftovers

* Implement annoying shim for graphql.

* got columns working

* made it all work

* make graphql-related variable names slightly more positive

* Get ready to rename this sucker

* Rename script

* a touch of cleanup
2022-02-17 00:06:36 -06:00