Commit graph

212 commits

Author SHA1 Message Date
Eric
ef355d5cd4
Website: add Fleet-maintained apps for Windows to /software-catalog (#36653)
Closes: https://github.com/fleetdm/fleet/issues/35983

Changes:
- Updated the Fleet website's `builtStaticContent.appLibrary`
configuration to include Fleet-maintained apps for Windows
- Added platform filters and Windows apps to the /software-catalog page
- Updated the URLs for Fleet maintained app detail pages to include the
app's platform, and added redirects for all changed URLs.
2025-12-04 12:02:05 -06:00
Eric
e81c25b867
Website: Add script to send emails for expired local Fleet Premium trials. (#36378)
Changes:
- Added a script that sends emails to users with a local Fleet Premium
trial that expired in the past 24 hours.
2025-11-28 11:42:24 -06:00
Eric
02586c5df9
Website: update logo carousel and open position template (#36214)
Closes: https://github.com/fleetdm/confidential/issues/13183
Closes: https://github.com/fleetdm/fleet/issues/33142


Changes:
- Updated the quote on the open position template page.
- Removed two logos from the logo carousel component.
2025-11-24 13:57:12 -06:00
Eric
7d224515d5
Website: Update Fleet Premium trial instances & website password requirements (#36173)
Changes:
- Updated the website's password requirements for new users to match the
password requirements for Fleet instances
- Updated the session duration on Fleet Premium trial instances to be
the length of the Fleet Premium trial.
2025-11-21 18:58:18 -06:00
Eric
4f78f44edd
Website: Increase MySQL service disk size for Render trial instances (#35586)
Closes: https://github.com/fleetdm/fleet/issues/35585

Changes:
- Increased the size of the disk attached to the MySQL service created
for Fleet Premium trial instances in Render. (1gb » 5gb)
2025-11-11 18:32:22 -06:00
Eric
e2e3b31c09
Website: add edit button to software pages (#35580)
Closes: https://github.com/fleetdm/confidential/issues/12276

Changes:
- updated the build-static-content script to add the line number of
software items in apps.json to the website's Fleet-maintained apps
configuration.
- Added an edit page button to software pages that links directly to the
app's location in the apps.json file on GitHub.
2025-11-11 17:56:00 -06:00
Eric
fef609ce13
Website: Update Fleet Premium trial management script (#35472)
Closes: #33798
Closes: #35223
Related to: https://github.com/fleetdm/fleet/issues/34618
Related to: https://github.com/fleetdm/fleet/issues/34611

Changes:
- Updated the `manage-fleet-premium-trial-instances` script to:
- Send a request to the Github API to trigger a workflow to create a DNS
and SES configuration for new Render trial instances, and send a request
to trigger a workflow to delete the DNS and SES configuration when trial
instances expire
- Use a new prompt to generate unique slugs for new Render trial
instances
   - Configure SES on new Fleet Premium trial instances
- Prefix licenses generated for Fleet Premium trial instances with
'Render-trial-`
2025-11-10 18:16:35 -06:00
Eric
8bb68bf938
Website: remove datatype bubble replacement in Markdown documentation (#35316)
Closes: https://github.com/fleetdm/fleet/issues/34935

Changes:
- Commented out the regex replace that replaces words in double
parentheses with data type spans.
2025-11-06 17:30:40 -06:00
Eric
f89b81ca7a
Website: Update Render instance management script. (#34871)
Changes:
- Updated the `manage-fleet-premium-trial-instances` script to use the
updated supported `status` values when looking for existing
`RenderProofOfValue` records, and updated the logs in the script.
2025-10-28 12:06:58 -05:00
Eric
f76a9976d8
Website: Update signup flow and Fleet Premium trial (#34820)
Changes:
- Updated the "Try it now" button on the website's header navigation, it
will now open a signup/login modal on every page (excluding the
dedicated /register and /login pages)
- Updated the website to assign Fleet Premium instances hosted on Render
to eligible users. All other users will be given a 30-day Fleet Premium
trial license key to use with their deployment method of choice.
- Added a script that creates and manages a pool of Render instances.
- Added a new database model: `RenderProofOfValue`
- Added four new email templates
- Updated primary button colors to match the core product.
- Removed the organization requirement for new users signing up.
- Added a new component: `<signup-modal>`
- Added a new attribute to the User model: `fleetPremiumTrialType`
2025-10-27 13:33:47 -05:00
Eric
abd558e511
Website: Add build script error for article images that don't match website naming conventions. (#33644)
Closes: #25943

Changes:
- Added two build script errors that are thrown if an article references
an image in the website/assets/images/ folder that does not match the
[website's image filename
conventions](https://fleetdm.com/handbook/company/communications#export-an-image-for-fleetdm-com)
- Renamed two images and removed two unused images
2025-10-01 13:14:01 +09:00
Eric
799ecca7bb
Website: Update automatic issues created for rituals (#33234)
Closes: https://github.com/fleetdm/fleet/issues/20792

Changes:
- Added support for the quarterly frequency for issues automatically
created for rituals
- Added support for templated auto-issue issue descriptions. Rituals
with an `issueDescription` value nested in the `autoIssue` object will
now use that value as the issue description when an issue for the ritual
is created.
2025-09-19 17:05:39 -05:00
Eric
048fcd13ed
Website: Add controls library pages (#33143)
Related to: https://github.com/fleetdm/confidential/issues/10737

Changes:
- Added `docs/scripts.yml`, a YAML file that contains a list of scripts
- Added `docs/mdm-commands.yml`, a YAML file that contains Windows and
Apple MDM commands
- Added `/mdm-commands`, a page that contains a list of MDM commands for
Windows and Apple commands
- Added `/scripts`, a page that contains a list of scripts
- Updated the `<docs-nav-and-search>` component to have a link to the
controls library, and reordered the lists.
- Updated the build static content script to add the scripts and mdm
commands from scripts.yml and mdm-commands.yml to the website's
`builtStaticContent` configuration.
- Updated the layout of the os-settings page to match the latest
wireframes
2025-09-19 12:02:55 -05:00
Noah Talerman
f576bd8863
Open roles builder: Fleet is series B (#32856) 2025-09-11 11:34:54 -07:00
Eric
cba94083c3
Website: Add primaryBuyingSituation migration script. (#31494)
Related to https://github.com/fleetdm/confidential/issues/11600

Changes:
- Added a script to update user records to only use the new
`primaryBuyingSituation` values added in
https://github.com/fleetdm/fleet/pull/31301
2025-08-01 17:07:27 -05:00
Eric
e3f173cc34
Website: Batch API requests to host details endpoints in Vanta script (#31422)
Related to: https://github.com/fleetdm/fleet/issues/30993

Changes:
- Updated the `send-data-to-vanta` script to limit the number of API
requests sent to host details endpoints at once.
2025-07-30 15:01:13 -05:00
Eric
20658b5657
Website: update compliance proxy script (#31181)
Changes:
- Updated the `send-entra-heartbeat-requests` script to send the correct
headers to the `PartnerTenantHeartbeat` endpoint for compliance partner
tenants.
- Fixed a typo in the `send-entra-heartbeat-requests` script
2025-07-23 11:29:03 -05:00
Mike McNeil
79aa09f3ba
Make sure we can easily respond to every applicant (#30705) 2025-07-09 16:42:41 -05:00
Eric
961e3e339a
Website: Update supported article categories (#30304)
Changes:

- Added `articles` to the list of supported article categories in the
build-static-content script.
- Added a route for articles in the articles category.
- Updated the `view-basic-article` action to support the new `articles`
category.
2025-06-24 20:19:57 -05:00
Eric
0f5cc22d61
Website: add fleetPremiumTrialLicenseKey user migration script. (#30125)
Changes:
- Added a script that sets a `fleetPremiumTrialLicenseKey` and
`fleetPremiumTrialLicenseKeyExpiresAt` values on all User records.
- Added a new email template to inform users that they have a new Fleet
premium trial available.
- Added the announcement banner to the /login, /register, and /try-fleet
pages.
2025-06-19 16:09:26 -05:00
Eric
13eeebe548
Website: Add Microsoft compliance proxy endpoints. (#27403)
Changes:
- Created a new database model: `MicrosoftComplianceTenant`. A model
that stores information about complaince tenants
- Added `/policies/is-cloud-customer`: a policy that blocks requests to
microsoft proxy endpoints if a `MS API KEY` header is missing or does
not match a new config variable
(`sails.custom.config.cloudCustomerCompliancePartnerSharedSecret`)
- Added `microsoft-proxy/create-compliance-partner-tenant`: an action
that creates a database record for a new compliance tenant and generates
an API key that is used to authenticate future requests to microsoft
proxy endpoints for an entra tenant.
- Added `microsoft-proxy/get-compliance-partner-settings`: an action
that returns information about Fleet's complaince partner entra
application and the entra tenant's admin consent status (whether or not
a tenant's entra admin has granted permissions to Fleet's compliance
partner application)
- Added `microsoft-proxy/get-tenants-admin-consent-status`: an action
that updates the admin consent status of a compliance tenant record.
- Added `microsoft-proxy/setup-compliance-partner-tenant`: an action
that provisions a compliance tenant, creates a complaince policy for
macOS devices assigns the created policy to the built-in "All users"
user group on the tenants entra instance.
- Added `microsoft-proxy/update-one-devices-compliance-status`: an
action that receives information about a device on a compliance tenant's
Fleet instance, sends that information to their Entra instance, and
returns the messsage ID returned by the asynchronus Entra API.
- Added `microsoft-proxy/get-one-compliance-status-result`: an action
that returns the result of a compliance status update from the Entra
API.
- Added `sails.helpers.microsoft-proxy.get-access-token-and-api-urls` A
helper that gets an access token for a tenant's entra instance and the
URLs of the API endpoints the microsoft proxy actions use for a tenant.
- Added `scripts/send-entra-heartbeat-requests` A script that will run
daily to keep all microsoft compliance integrations provisioned.
-

---------

Co-authored-by: Lucas Rodriguez <lucas@fleetdm.com>
2025-06-11 13:01:36 -05:00
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