Commit graph

241 commits

Author SHA1 Message Date
Mike McNeil
d02fde22cf
Add ai.improvePrompt() (#29660) 2025-05-31 00:30:42 -04:00
Luke Heath
d1f7de7240
Fix KPI script output order to match KPI sheet (#29420) 2025-05-27 10:29:36 -05:00
Mike McNeil
ee880d953b
Website: Trivial code shortening (#29231)
Just a nit

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2025-05-16 18:25:06 -05:00
Mike McNeil
94aa200424
More ai helpers (#29027)
I will upstream these ahead of next week into sails-hook-organics.
2025-05-12 17:01:43 -05:00
Eric
d4d4a662e2
Website: Add fallback icon for Fleet maintained apps. (#29021)
Closes: #28784

Changes:
- Updated the `build-static-content` script to not throw an error if an
app listed in apps.json is missing an icon, and to use a fallback icon
for apps with no icon.
2025-05-12 12:25:50 -05:00
Mike McNeil
242658183a
Introducing sails.helpers.ai.satisfy() (#28590)
Constraint satisfaction for dummies like me
2025-04-26 15:16:07 -05:00
Eric
65105edfaa
Website: update app library configuration to use new FMA format. (#27424)
Closes: #24379

Changes:
- Updated the build-static-content script to build the configuration for
/app-library/* pages from the JSON outputs in the ee/maintained-apps
folder.
2025-04-23 12:24:03 -05:00
Eric
33a7039203
Website: Update Vanta integration script to continue if the get host endpoint returns an error. (#27993)
Related to: #27943

Changes:
- Updated the `send-data-to-vanta` script to continue running for a
Vanta connection if the get host API returns an error. It will now store
a detailed error and log them all when the script is finished running.
2025-04-08 14:46:04 -05:00
Luke Heath
d1f5676f17
Adjust order in KPI script output to match spreadsheet columns (#27894)
Updating to match the current column order in the KPI sheet.
2025-04-04 13:12:36 -05:00
Luke Heath
264664d084
Remove unnecessary complexity from KPI script (#27850) 2025-04-04 12:39:32 -05:00
Eric
465dcb1aba
Website: Update get-bug-and-pr-report script. (#27664)
Closes: #27662

Changes:
- Updated the `get-bug-and-pr-report` script to not count pull requests
with no commits in the commit to merge time metric, and to log a warning
if one is found.
2025-03-28 17:00:33 -05:00
Luke Heath
b4f30a2154
Remove warn log from KPI script (#27418) 2025-03-21 16:49:45 -05:00
Eric
ac9716fdd9
Website: Update vanta integration for dogfood (#27212)
Changes:
- Updated the send-data-to-vanta script to only send information about
hosts from specific teams to vanta (For Fleet's vanta integration only)
2025-03-17 16:24:21 -05:00
Eric
b9c0f97026
WEbsite: revert changes to Fleet maintained apps configuration (#27093)
Changes:
- Reverted the changes from #27049 until the file structure of the
ee/maintained-apps folder has been settled and JSON files exist for all
apps listed in the `/ee/maintained-apps/outputs/apps.json`.
2025-03-12 18:15:41 -05:00
Eric
6e86b02bec
Website: update app library configuration (#27049)
Closes: #24379

Changes:
- Updated the `build-static-content` script to build the configuration
for /app-library pages from JSON files in the ee/maintained-apps/
folder.
2025-03-12 12:25:51 -05:00
Eric
4b2814a5c2
Website: Add line number to edit page links on policies, queries and vitals pages. (#25965)
Changes:
- Updated the `build-static-content` script to set a `lineNumberInYaml`
value on queries, policies, and vitals.
- Updated the edit page button on the policy-details, query-detail, and
vital-details pages to take users to the specified query's line number
in the YAML file.
2025-02-05 18:13:28 -06:00
Eric
232f1ac4c2
Website: Add number metrics to send-aggregated-metrics-to-datadog script (#26031)
Related to: #25869

Changes:
- Updated `send-aggregated-metrics-to-datadog` to send aggregated
metrics for number metrics reported by Fleet instances.
2025-02-05 16:33:50 -06:00
Eric
6cfecdeea3
Website: Add Powershell commands to queries.yml and standard query library. (#25972)
Changes:
- Added powershell commands to windows queries in queries.yml and
windows policies in the standard query library.
- Updated code blocks on the vital details, policy details, and query
details pages to have a tab switcher to switch to view PowerShell
commands.

---------

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2025-02-02 21:31:00 -06:00
Eric
2d5784e49d
Website: Follow up changes from website code review. (#25844)
Changes:
- Updated the website's sitemap to include pages for app-library pages,
the correct URL for the software management page, and the meetups page.
- Updated save-questionnaire-progress to not log warnings related to
duplicate CRM records if the user submitted one of the first three steps
of the get started questionnaire.
- Cleaned up comments in build-static-content.
2025-01-28 18:47:32 -06:00
Eric
5c0894ce0a
Website: Create queries.yml, add vitals and query pages, move policies. (#25701)
Related to: https://github.com/fleetdm/confidential/issues/9096

Changes:
- Created docs/queries.yml. A YAML file that contains the queries from
the standard query library (`kind: query`) and the host vitals queries
(`kind: built-in`).
- Added the `vitals/*` page, a page that displays details about host
vital queries used to gather information about.
- Updated the /queries page to show queries from the new
`docs/queries.yml` file, and moved policies to a new page (/policies)
- Updated the view action for the query-detail page to look for/redirect
to a policy page with a matching slug before returning a 404 response if
a matching query is not found. This behavior will make it so all of the
old URLs for policy pages will redirect users to the new URL.
- Updated the website's "Docs" navigation menu to have links to the new
vitals and policies pages.
2025-01-22 21:10:17 -06:00
Eric
603e01d744
Website: add support for optional onTargetEarnings value in open positions YAML. (#25576)
Closes: https://github.com/fleetdm/confidential/issues/9378

Changes:
- Added support for `onTargetEarnings` in open-positons.yml
- Updated the build-static-content script to validate `onTargetEarnings`
values, and to replace the default compensation range on the page
template with an `onTargetEarnings` value if one is provided.
- Updated the "Creating a new position" section of the leadership
handbook to document the new key in the open positions yaml
2025-01-18 02:00:49 -06:00
Eric
4ad16cc46f
Website: Update admin query generator to work in production. (#25363)
Changes:
- Updated the `build-static-content` script to add the merged osquery
schema JSON to the website's `builtStaticContent` configuration
- Updated view-query-generator to have a badConfig exit that is used if
the website has an invalid `builtStaticContent.schemaTables`
configuration
- Updated `get-llm-generated-sql` to use the
`builtStaticContent.schemaTables` instead of attempting to use
`sails.helpers.getExtendedOsquerySchema()` (Which does not work as
intended when run in a production environment.)
2025-01-10 17:51:03 -06:00
Eric
aab320333a
Website: Update flags in regex used to find Vue templates in markdown content. (#25316)
Changes:
- Updated the flags on the regex used to detect Vue templates in
MArkdown content. The regex was incorrectly matching double curly
bracket-wrapped variables in markdown code blocks when it should not.
2025-01-09 17:13:42 -06:00
Eric
1eae4f6e1b
Website split article page routes (#25149)
Closes: #23904

Changes:
- Replaced the regex routes that handle articles and article category
pages to have a separate route for each category
- Updated the build-static-content script to transform periods in
article filenames into dashes
- Added redirects for articles that have a changed URL
2025-01-07 11:43:36 -06:00
Eric
2ca4f2f376
Website: Allow double curly brace templates in Markdown code blocks. (#25179)
Closes: https://github.com/fleetdm/fleet/issues/25176

Changes:
- Updated the to-html helper to add the `v-pre` directive to Markdown
code blocks, This directive will prevent any of the content inside of it
from being interpreted as a Vue template.
- Updated the regex in build-static-content that looks for vue templates
to not match any templates inside code blocks.
2025-01-06 14:07:31 -06:00
Eric
82ec1d8e16
Website: update article links on /testimonials page (#24850)
Closes: #24746

Changes:
- Replaced the hard-coded links to articles on the /testimonials page
with server-side rendered generated links to articles. These links are
now built using the website's markdown articles configuration.
- Added support for a new meta tag on articles:
`showOnTestimonialsPageWithEmoji` If provided and set to one of the four
supported emoji (🥀, 🔌, 🚪, or 🪟), a link to the article will be added to
the /testimonials page. Example: `<meta
name="showOnTestimonialsPageWithEmoji" value="🥀">`.
- Updated the build-static-content script to throw an error if an
article has an invalid `showOnTestimonialsPageWithEmoji` meta tag value.
- Updated recent case study articles to have a
`showOnTestimonialsPageWithEmoji` meta tag.


@Drew-P-drawers When this PR is merged, you can add links to the new
case studies articles to the /testimonials page with a
`showOnTestimonialsPageWithEmoji` meta tag. The definitions for each of
the supported emoji are in this [google
doc](https://docs.google.com/document/d/1-KWQa3uMIJzeitzDRmzT3SnUoFCfcFCb6K2lyVt-Gy0/edit?tab=t.0#heading=h.oskipmb8530l)
2024-12-17 18:08:25 -05:00
Eric
02b0a97ac8
Website: add support for new usage statistics (#24511)
Changes:
- Updated the receive-usage-analytics webhook to support a new input:
`numQueries`
- Added a new attribute to the HistoricalUsageSnapshot model
`numQueries`
- Added a commented-out section to the
send-aggregated-metrics-to-datadog script.
2024-12-13 15:00:30 -06:00
Eric
3e9f6857dd
Website: Add uninstall command to app details page. (#24404)
Closes: #24231

Changes:
- Updated build-static-content to ingest the uninstall scripts from the
`/server/mdm/maintainedapps/testdata/scripts` and condense them into a
single line command that can be pasted into a terminal.
- uncommented the uninstall section of the app-details page
2024-12-09 16:18:35 -06:00
Sam Pfluger
0a129b9e92
Add SWE position (#24564) 2024-12-09 15:05:36 -06:00
Eric
a3e0704fc0
Website: update quotes and sort order on /testimonials page and landing pages (#24441)
Changes:
- Updated the product categories used in testimonials.yml and updated
the build-static-content script to add support for the changed values
(`Endpoint operations` » `Observability` & `Vulnerability management` »
`Software management`)
- Updated the testimonial cards on landing pages to only show the
testimonials that have an explicit sort order set for them.
- Updated the order of testimonials on landing pages and the
/testimonials page.
- Updated the styles of the `<scrollable-tweets>` component.
- Updated the layout of the CTA buttons on the /device-management page
on smaller screen sizes
2024-12-06 09:03:44 +09:00
Eric
0654172fa2
Website: Add app library & app details page (#24205)
Related to: #23792

Changes:
- Added /app-library, a page that displays information about
Fleet-maintained apps
- Added the app details page (/app-library/{app identifier}), a page
that gives users detailed information about a single Fleet-maintained
app
- Updated the build-static-content script to add information about
Fleet-maintained apps to the website's configuration.
2024-11-27 13:43:23 -06:00
Eric
3bfbc5654c
Website: Update Vanta script for Fleet's integration (#23514)
Related to: https://github.com/fleetdm/fleet/issues/19312

Changes:
- Updated the send-data-to-vanta script to exclude hosts on a specific
team when it runs for Fleet's Vanta integration.

---------

Co-authored-by: Ian Littman <iansltx@gmail.com>
2024-11-05 11:02:27 -06:00
Eric
f623eed47b
Website: Update /queries page (#23472)
Changes:
- Standard query library:
- Added three policies to the Standard query library (tagged as premium)
- Changed the `kind` of the "Identify Apple development secrets (macOS)"
query to `policy` because it is an informational query (It returns rows
of results rather than 1 or 0) and removed its `resolution` value
- Updated the build-static-content script to remove platform names from
the end of query names (e.g., (macOS)). This is done to keep the URLs
for queries the same while hiding them in the UI
- Updated the layout of the queries page to match the latest wireframes
and updated the page to only show policies
 - Updated the styles and layout of the queries-details page.

---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
2024-11-04 10:58:08 -06:00
Eric
6094e31fad
Website: add support for annual auto issues, add new digital experience issue (#23218)
Changes:
- updated build-static-content to allow auto-issue rituals with a
`annually` frequency
- Updated the create-issues-for-todays-rituals script to create GH
issues for annually occurring rituals
- Added an annual ritual for checking GitHub's terms
- Added a responsibility to the Digital experience handbook page about
the ritual.

---------

Co-authored-by: Sam Pfluger <108141731+Sampfluger88@users.noreply.github.com>
2024-10-27 11:48:05 -05:00
Sam Pfluger
95221e5abd
Measure #handbook PR open time (#23124)
Co-authored-by: Eric <eashaw@sailsjs.com>
2024-10-23 13:12:21 -05:00
Eric
fb0f69c010
Website: Fix lint errors in script (#23049)
Changes:
- Fixed the lint errors in the `test-llm-generated-sql` script
2024-10-21 10:26:41 -05:00
Mike McNeil
5c3d324d3d
Update test-llm-generated-sql.js (#23038) 2024-10-19 18:55:21 -05:00
Mike McNeil
2edbcb3c14
Add caveats to AI-generated SQL (#23035) 2024-10-19 18:36:55 -05:00
Mike McNeil
49f22b2836
Ask questions in natural language (#23034) 2024-10-19 18:24:50 -05:00
Eric
93131d3e2f
Website: fix typo in send-aggregated-metrics-to-datadog script (#21915)
Changes:
- Fixed a typo in the `send-aggregated-metrics-to-datadog` script
2024-09-09 11:47:38 -05:00
Luke Heath
004ed9fc9a
Update KPI script (#21732) 2024-09-03 10:52:38 -05:00
Eric
4ffde1dc09
Website: add new metrics to HistoricalUsageSnapshot model. (#21625)
Related to: #21259

Changes:
- Updated the `receive-usage-analytics` webhook to add new inputs for
metrics added in [#21131](https://github.com/fleetdm/fleet/pull/21131)
- Updated the `HIstoricalUsageSnapshot` model to add attributes for the
new metrics.


When this PR is merged:
- [ ] Put the website into maintenance mode
- [ ] Update the HistoricalUsageSnapshot table to add new columns
- [ ] Update all existing records to set the default value for the new
columns
2024-08-30 17:13:07 -05:00
Mike McNeil
59c547f595
Website: Update deliver-nurture-emails.js (#21484) 2024-08-21 23:35:17 -05:00
Mike McNeil
c6eb839481
www: Create script migration example (#21437)
moving away from calling people "leads", it's weird

this continues the effort of making it so that leads are more like a:
"dear fleeties, you have to do something"

Now, lead sources are effectively GA conversions, and will eventually
change to just be auto-created stage0 opportunities, and even then only
for booked meetings where there's work that a fleetie needs to do to
make sure and prepare a useful demo for the folks on the other end, so
they can present Fleet internally while spending as little time talking
to us as possible.

So that's the end of lead sources.

Whereas compare w/ user actions, which are now captured as either
contact creation (contact source), contact psychological progress (most
recent psystage change reason), or opportunity creation (opportunity
source).
2024-08-20 15:18:06 -05:00
Mike Thomas
9041f49d7f
Website: update features on pricing page (#20993)
- Removed duplicate and redundant features
- Reordered features by order of operation from the POV of an IT admin
- Consolidated use cases
- Renamed some features for clarity

See [this
doc](https://docs.google.com/document/d/1z7X__TmJIpRXQF-Mx9NK4EChwkX73fj0ymLnIJM2GnQ/edit?usp=sharing)
for more details, including methodology for the organization and
styling.

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
2024-08-14 09:32:41 +09:00
Eric
a8785f4a01
Website: Update lastModifiedAt timestamps when running build-static-content script in website tests (#21158)
Changes:
- Updated the build-static-content script to only get lastModifiedAt
timestamps when the script is run on the `main` branch fo the Fleet repo
and updated variable names.
2024-08-07 15:36:28 -05:00
Eric
b49841acc1
Website: Add unsubscribe link to marketing emails (#21055)
Closes: https://github.com/fleetdm/confidential/issues/7528

Changes:
- Added a new action: unsubscribe-from-marketing-emails, which updates a
user record that uses a specified email address to exclude it from the
deliver-nurture-emails script.
- Updated the email template to include a link that users can click to
unsubscribe.
- Added a modal to the homepage that is shown to users who unsubscribe
from marketing emails
- Updated the email template data in deliver-nurture-emails and
view-email-template-preview
2024-08-05 16:23:08 -05:00
Eric
c0cc609127
Website: Use GitHub API to get lastmodifiedAt timestamps (#20859)
Closes: #20823

Changes:
- Updated the build-static-content script to use the GitHub API to get
timestamps of when files were last changed.
- Updated the get-extended-osquery schema helper to use a GitHub token
to authenticate GitHub requests (if it is provided)
2024-08-02 17:10:56 -05:00
Eric
e790e56a06
Website: Validate keys in pricing table configuration (#20826)
Closes: #20776

Changes:
- updated the build-static-content script to throw an error if a feature
in the pricing-features-table.yml contains an unrecognized key.

Note: The "Test Fleet website" GH action will fail until
https://github.com/fleetdm/fleet/pull/20825 is merged and this PR is
updated.
2024-08-02 17:05:12 -05:00
Eric
a49c23e74b
Website: update open positions template page to include a salary range (#20968)
Closes: https://github.com/fleetdm/confidential/issues/7200

Changes:
- Updated the open positions template page to include a salary range.
2024-08-01 15:24:21 -05:00
Eric
083e49e0eb
Website: Update timestamp in emails script (#20818)
Changes:
- Updated the deliver-nurture-emails script to not mark all users
matching the criteria as having been sent an email and updated the
oneDayAgoAt timestamp to be correct
2024-07-29 14:06:14 -05:00
Eric
ddc0cdbcab
Website: add automated MDM nurture emails (#20760)
Changes:
- Added three new emails for MDM-focused users who are psystage 3, 4
,and 5.
- Added a new email layout
- Added a script to send nurture emails to users with an MDM primary
buying situation who signed up after 2024-07-22 that
   - have been in psychological stage 3 for 24 hours
   - have been in psychological stage 4 for 24 hours
   - have been in psychological stage 5 for six weeks
- Updated the USer model to have. four new attributes:
   - `psychologicalStageLastChangedAt`
   - `stageThreeNurtureEmailSentAt`
   - `stageFourNurtureEmailSentAt`
   - `stageFiveNurtureEmailSentAt`
- Added a new custom config variable
`sails.config.custom.contactEmailForNutureEmails`
2024-07-26 20:25:26 -05:00
Eric
3e42081866
Website: Update Markdown comment regex in build-static-content script (#20555)
Changes:
- Updated the regex that matches multiline HTML comments directly after
list items in Markdown content to prevent it from incorrectly matching
two multiline comments with no newlines in between them.
2024-07-17 17:00:58 -05:00
Eric
36ca428b17
Website: Add build script error for multi-line comments that break markdown page rendering. (#20403)
Closes: https://github.com/fleetdm/confidential/issues/7260

Changes:
- Updated `build-static-content` to throw an error if it detects a
multi-line HTML comment that starts on the line after a list to prevent
rendering issues

e.g., 
```
- List item
<!--
- Commented-out list item
--> 
```
2024-07-12 16:42:04 -05:00
Eric
c98ef33297
Website: update relative link modification (#20253)
Changes:
- Updated the build-static-content script to use clearer variable names
and to replace spaces in folders when modifying relative links to
documentation pages.
2024-07-08 11:59:39 -05:00
Eric
61e34775d5
Website: Update build-static-content script to treat trust.fleetdm.com links as external links (#20180)
Closes: https://github.com/fleetdm/confidential/issues/7186

Changes:
- Updated the build-static-content script to treat trust.fleetdm.com
links as external links.
2024-07-05 17:16:18 -05:00
Eric
0abe6ab6f5
Website: follow-up changes from backend code review (#20174)
Closes: #20102

Changes:
- Replaced timers.setImmediate with `.exec()` when CRM records are
updated in the background
- Removed the `\s` replacement during relative link modification in
build-static-content and added a comment explaining why we replace URL
encoded spaces in links.
2024-07-02 17:00:10 -05:00
Eric
b3c59fc7c3
Website: Update send-data-to-vanta script (#20169)
Changes:
- Wrapped the request to the /users endpoint of Fleet instances in a
try-catch block to handle errors from the .retry() method.
2024-07-02 13:54:09 -05:00
Eric
ebab0a7e7b
Website: Update logic deciding when to create issue for monthly rituals. (#20095)
Closes: https://github.com/fleetdm/confidential/issues/7106

Changes:
- Updated the auto-issue logic for monthly rituals to create issues for
rituals on the day of the month the ritual was started and to create
issues on the last day of the month if the ritual was started on a day
that does not exist in the current month.
2024-06-28 16:47:12 -05:00
Eric
00a2e6bac2
Website: Update relative link modification in build-static-content script (#19887)
Closes: #19878

Changes: 
- Updated the regex that replaced spaces in relative links with dashes
to also replace URL encoded space characters.
2024-06-19 16:24:44 -05:00
Eric
30f90c8216
Website: Remove "explore data" pages (#19777)
Related to: https://github.com/fleetdm/confidential/issues/5573

Changes:
- Deleted /explore-data pages and related files
- Added redirects for removed pages.
- Removed all explore data related website configuration in the
build-static-content script.
- Removed the explore data section of the custom configuration.
2024-06-14 17:50:07 -05:00
Eric
6b3310aa51
Website: Update Vanta script. (#19493)
Closes: https://github.com/fleetdm/confidential/issues/6844

Changes:
- Updated the send-data-to-vanta script to retry failed requests to
Fleet instances and increased the timeout on the requests to the /hosts
endpoint
2024-06-04 12:38:56 -05:00
Eric
796d111353
Website: Update build-static-content to only send GitHub requests if an access token is provided, add command to start website to website/package.json (#18805)
Closes: #18787

Changes:
- Updated the `build-static-content` script to only send requests to
GitHub if a GitHub token was provided via the `--GithubAccessToken`
flag, and removed the skipGithubRequests input.
- Added a command to website/package.json to run the build static
content script and start the website server (`npm run start-website`)
- Updated the "Test fleetdm.com locally" section of the Digital
Experience handbook page.
- Updated the "Testing locally" section of the website's readme
2024-05-13 17:02:00 -05:00
Eric
3a86c40e89
Website: prefix warning in send-data-to-vanta script. (#18641)
Changes:
- Added a prefix to the warning logged in the send-data-to-vanta script
if an error is thrown.
- Updated the logged errors to include the raw error
2024-04-30 11:39:51 -05:00
Eric
b98b050078
Website: Fix conditional logic in create-issues-from-todays-rituals script. (#18214)
Closes: #17991
Changes:
- Updated the logic in the create-issues-from-todays-rituals script that
determines if an issue for a ritual should be created.
2024-04-11 00:34:13 -05:00
Eric
8159c2b44f
Website: Update rituals script (#18211)
Closes: #17991

Changes:
- Updated the create-issues-for-todays-rituals script to calculate the
number of miliseconds until ritual issues should be created in whole
milliseconds.
2024-04-10 19:50:13 -05:00
Eric
d6036b181b
Schema: Remove unused and outdated schema/fleet_schema.json (#18092)
Changes:
- Deleted `schema/fleet_schema.json` (This file was previously used when
merging the osquery schema with Fleet's overrides before we switched to
using YAML override files).
- Updated the description of the `generate-merged-schema` script.
2024-04-05 17:13:32 -05:00
Eric
766d08e767
Schema: remove requires_user_context related code, regenerate schema json. (#18091)
Changes:
- Updated the `build-static-content` script to remove support for the
`requires_user_context` column attribute
- Updated `get-extended-osquery-schema` to not set a
`requires_user_context` value in the merged schema json.
- Regenerated `schema/osquery_fleet_schema.json`
2024-04-05 15:39:02 -05:00
Eric
b94f7b8b77
Website: update osquery table schema documentation to show hidden columns (#17933)
Related to: #17787

Changes:
- Updated build-static-content not to hide columns of tables with
`hidden: true`, and instead add a note about the column not being
returned in results from a `SELECT * FROM [table]` query.

Note: These columns will still be hidden in the Fleet UI. This PR only
changes the table documentation on fleetdm.com/tables
2024-03-29 19:40:33 -05:00
Eric
b3d77c75e9
Website: update Vanta integration script (#17833)
Related to: #17699

Changes:
- Updated the `send-data-to-vanta` script to retry requests to Vanta's
`https://api.vanta.com/oauth/token` API endpoint that return a `504`
response.
2024-03-25 13:41:17 -05:00
Eric
776ea4d7fd
Website: Update order of columns on osquery schema table pages. (#17818)
Related to: #17727
Changes:
- Updated the `build-static-content` script to sort the columns of
tables alphabetically by the name of the column when the pages for
fleetdm.com/tables are generated.
2024-03-22 19:36:06 -05:00
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