Commit graph

619 commits

Author SHA1 Message Date
Eric
b52b067ea2
Website: follow-up changes from website review session (#39200)
Changes:
- Updated the category for comparison articles (`compare` »
`comparison`)
- Updated article meta tag validation and how URLS of comparison
articles are built
- Updated the view action for comparison articles to set a meta title
and description
2026-02-02 17:46:35 -06:00
Eric
ee8c122c4e
Website: Update GitOps workshop request form (#39174)
Closes: https://github.com/fleetdm/confidential/issues/13993

Changes:
- Updated the GitOps workshop request form to request the user's work
email address, and updated the denylist of domains used by the
`deliver-gitops-workshop-request` action.
2026-02-02 17:29:05 -06:00
Eric
5acc897f8d
Website: Update testimonials page layout and URL (#39114)
Closes: https://github.com/fleetdm/fleet/issues/38472

Changes:
- Updated the URL of the testimonials page to be /customers
- Added a redirect for /testimonials
- Updated the layout and content of the /customers page to match the
latest wireframes
- Updated links to the /testimonials page to go to /customers
- Changed the "Customers" dropdown in the website nav to be a link to
the /customers page.
2026-02-02 20:52:17 +09:00
Eric
b3fcb2c7db
Website: update clay webhook (#39068)
Changes:
- Updated the clay webhook to only trim LinkedIn URLs if one is
provided.
2026-01-30 10:33:45 -06:00
Eric
43cbf8d7ff
Website: fix event times on GitOps workshops page (#39067)
Changes:
- Updated the view action for the /gitops-workshop page to use UTC
timestamps when building the event details for that page.
2026-01-30 10:15:06 -06:00
Sam Pfluger
54ba38716c
Change linkedinUrl requirement to optional (#39033)
@eashaw trying to fire this when I don't have a LinkedIn. Any
objections?

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2026-01-29 18:01:24 -06:00
Eric
cc865b2bcd
Website: update sitemap and new pages (#39009)
Changes:
- Added new(/missing) pages to the website's sitemap
- Added the signup modal to comparison pages and the GitOps workshop
page.
2026-01-29 10:29:55 -06:00
Eric
5160095f78
Website: Add Fleet GitOps page (#38974)
Changes:
- Added a Fleet GitOps page (/fleet-gitops)
- Added a link to the new page in the "Solutions" dropdown to the
website's header navigation

---------

Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2026-01-29 10:08:42 +09:00
Eric
cf2411e40a
Website: update article category name (#38900)
Changes:
- updated the name of the catch all article category on the website
(blogs » blog)
2026-01-28 10:01:57 -06:00
Jahziel Villasana-Espinoza
670f7dbdb5
fail gracefully when profile is invalid (#38899)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #35211 

# Checklist for submitter

- [x] QA'd all new/changed functionality manually
2026-01-28 10:57:27 -05:00
Eric
e65035a5d9
Website: add comparison article template and comparison article (#38893)
Closes: https://github.com/fleetdm/confidential/issues/13291

Changes:
- Updated the `build-static-content` script to add support for a new
article category: `compare`
- Added a new template page for comparison articles
- Added a Fleet vs. Jamf comparison article

---------

Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2026-01-28 22:04:09 +09:00
Eric
cf8b461e5d
Website: add GitOps workshop landing page. (#38812)
Changes:
- Added a landing page that has links to upcoming citops workshops, and
a link to a form where users can request a GitOps workshop.
- Updated the contact page to display a GitOps workshop request form for
users who are linked to it from the GitOps workshop landing page.
- Added `deliver-gitops-workshop-request`, an action that sends details
of GitOps workshop request submissions to Salesforce.
- Added a new helper that creates campaign member objects in Salesforce.
- Added two new config variables used to get event details from the
Eventbrite API.
2026-01-27 22:18:46 +09:00
Eric
8f1f42a5c9
Website: Update GitHub webhook reviews (#38780)
Closes: https://github.com/fleetdm/fleet/issues/38750

Changes:
- Updated the website's GitHub webhook to not attempt to approve pull
requests opened by fleet-release
2026-01-26 12:16:48 -06:00
Eric
4cae77302a
Website: update article category page (#38707)
Related to: https://github.com/fleetdm/confidential/issues/13527

Changes:
- Changed the name of the /articles page to "Blogs"
- Updated the blogs category to exclude guides
- Added a link to /guides to the sidebar on article category pages
2026-01-23 16:48:43 -06:00
Eric
c4f8ded657
Website: Update values to match CRM picklist values (#38734)
Changes:
- Updated the accepted `intentSingal` values in the receive-from-clay
webhook and the createHistoricalEvent helper to match the picklist
values in Salesforce
- updated a "most recent/source channel details" value set in the
updateOrCreateContactAndAccount helper to match the picklist value in
Salesforce.
2026-01-23 15:35:33 -06:00
Eric
40107d247c
Website: Update deliver-contact-form-message (#38721)
Changes:
- Updated the `deliver-contact-form-message` action to run CRM helpers
and send the contact form email message in the background.
2026-01-23 15:31:30 -06:00
Eric
16e8d48396
Website: update deliver-contact-form-message (#38640)
Changes:
- Updated the deliver-contact-form-message action to attempt to
create/update CRM records before it sends a contact form email.
2026-01-22 11:48:48 -06:00
Eric
65f313d153
Website: update clay webhook inputs and historical event helper (#38601)
Closes: https://github.com/fleetdm/fleet/issues/38500

Changes:
- Added support for a `relatedCampaign` input to the receive-from-clay
webhook.
- Updated the `create-historical-event` helper to set `relatedCampaign`
on new historical event records (if provided)
2026-01-21 16:11:57 -06:00
Sam Pfluger
b32681937c
Consolidate event types in Salesforce integration (#38466) 2026-01-17 21:44:11 -06:00
Eric
8ca9abc5a0
Website: add attribution cookie and update CRM helper (#38324)
https://github.com/fleetdm/confidential/issues/13605

Changes:
- Updated the website's custom hook to set a `marketingAttribution`
cookie.
- Updated places where we use the update-or-create-contact-and-account
helper to pass in a requesting user's marketingAttribution cookie.
- Updated the update-or-create-contact-and-account helper to process
values from the marketingAttribution cookie.
2026-01-14 18:14:55 -06:00
Eric
19efc42871
Website: Update logged warnings in get-vpp-app-metadata (#38313)
Changes:
- Updated the get-vpp-app-metadata action to not log warnings if a Fleet
server sends a request with an invalid vpp token
2026-01-14 09:55:11 -06:00
Eric
390c149445
Website: prefix header in proxied apple request (#38312)
Changes:
- Updated the get-vpp-app-metadata action to prefix the provided vpp
token before it sends it to an Apple API
2026-01-14 09:34:48 -06:00
Eric
7f23411c94
Website: Update VPP proxy endpoints (#38203) 2026-01-13 18:06:10 -06:00
Eric
5219adb7b3
Website: update contact form for applications (#38125)
Changes:
- Updated the contact form to have a third form for job applications.
The form is only shown to users who visit the page with the `#apply`
hash.
- Added `deliver-application-submission` an action that sends
information from job application submissions to a zapier webhook.
- Updated the link to the contact form on the open positions template
page to link to /contact#apply
2026-01-12 11:01:02 -06:00
Mike McNeil
28aa259857
Automation: Add comment explaining provenance and retirement of GITHU… (#38142)
…B_BOTS_AND_MAINTAINERS list
fyi @Sampfluger88
2026-01-10 11:13:51 -06:00
Mike McNeil
0b0a81c2e6
Differentiate job applicants etc from demo requests (#38132)
Co-authored-by: Eric <eashaw@sailsjs.com>
2026-01-09 16:14:34 -06:00
Eric
b3bd4686a3
Website: Add VPP metadata proxy (#37997)
For https://github.com/fleetdm/fleet/issues/37261

Changes:
- Added a new database model: `FleetInstanceUsingVpp`
- Added `/api/vpp/v1/register`: An API endpoint that validates provided
Fleet license keys, creates a database record for the proxy
registration, and returns a generated secret used to authenticate
requests to the other VPP proxy endpoint
- Added `/api/vpp/v1/metadata/:storeRegion`: An API endpoint that
forwards requests to the
`https://api.ent.apple.com/v1/catalog/${storeRegion}/stoken-authenticated-apps`
Apple API with a token generated using Fleet's Apple developer
credentials.

---------

Co-authored-by: Ian Littman <iansltx@gmail.com>
2026-01-08 11:29:53 -06:00
Christopher Noel
09c3c72ac7
Add 'chrstphr84' to GitHub user list (#38030) 2026-01-08 10:12:46 -05:00
Eric
5e68cf223e
Website: add missing exit to get-android-devices (#37490)
Changes:
- Added a missing `notFound` exit to the `get-android-devices` action
used by the website's Android Enterprise proxy.
2025-12-18 12:10:57 -06:00
Nico
ba72182562
Add 'nulmete' to the list of users (#37399)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #

# Checklist for submitter

If some of the following don't apply, delete the relevant line.

- [ ] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files)
for more information.

- [ ] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [ ] If paths of existing endpoints are modified without backwards
compatibility, checked the frontend/CLI for any necessary changes

## Testing

- [ ] Added/updated automated tests
- [ ] Where appropriate, [automated tests simulate multiple hosts and
test for host
isolation](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/reference/patterns-backend.md#unit-testing)
(updates to one hosts's records do not affect another)

- [ ] QA'd all new/changed functionality manually

For unreleased bug fixes in a release candidate, one of:

- [ ] Confirmed that the fix is not expected to adversely impact load
test results
- [ ] Alerted the release DRI if additional load testing is needed

## Database migrations

- [ ] Checked schema for all modified table for columns that will
auto-update timestamps during migration.
- [ ] Confirmed that updating the timestamps is acceptable, and will not
cause unwanted side effects.
- [ ] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).

## New Fleet configuration settings

- [ ] Setting(s) is/are explicitly excluded from GitOps

If you didn't check the box above, follow this checklist for
GitOps-enabled settings:

- [ ] Verified that the setting is exported via `fleetctl
generate-gitops`
- [ ] Verified the setting is documented in a separate PR to [the GitOps
documentation](https://github.com/fleetdm/fleet/blob/main/docs/Configuration/yaml-files.md#L485)
- [ ] Verified that the setting is cleared on the server if it is not
supplied in a YAML file (or that it is documented as being optional)
- [ ] Verified that any relevant UI is disabled when GitOps mode is
enabled

## fleetd/orbit/Fleet Desktop

- [ ] Verified compatibility with the latest released version of Fleet
(see [Must
rule](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/workflows/fleetd-development-and-release-strategy.md))
- [ ] If the change applies to only one platform, confirmed that
`runtime.GOOS` is used as needed to isolate changes
- [ ] Verified that fleetd runs on macOS, Linux and Windows
- [ ] Verified auto-update works from the released version of component
to the new version (see [tools/tuf/test](../tools/tuf/test/README.md))
2025-12-17 15:33:21 -03:00
Henry Stamerjohann
be0df116ff
Add 'headmin' to GitHub user list (#37256)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #

# Checklist for submitter

If some of the following don't apply, delete the relevant line.

- [ ] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files)
for more information.

- [ ] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [ ] If paths of existing endpoints are modified without backwards
compatibility, checked the frontend/CLI for any necessary changes

## Testing

- [ ] Added/updated automated tests
- [ ] Where appropriate, [automated tests simulate multiple hosts and
test for host
isolation](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/reference/patterns-backend.md#unit-testing)
(updates to one hosts's records do not affect another)

- [ ] QA'd all new/changed functionality manually

For unreleased bug fixes in a release candidate, one of:

- [ ] Confirmed that the fix is not expected to adversely impact load
test results
- [ ] Alerted the release DRI if additional load testing is needed

## Database migrations

- [ ] Checked schema for all modified table for columns that will
auto-update timestamps during migration.
- [ ] Confirmed that updating the timestamps is acceptable, and will not
cause unwanted side effects.
- [ ] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).

## New Fleet configuration settings

- [ ] Setting(s) is/are explicitly excluded from GitOps

If you didn't check the box above, follow this checklist for
GitOps-enabled settings:

- [ ] Verified that the setting is exported via `fleetctl
generate-gitops`
- [ ] Verified the setting is documented in a separate PR to [the GitOps
documentation](https://github.com/fleetdm/fleet/blob/main/docs/Configuration/yaml-files.md#L485)
- [ ] Verified that the setting is cleared on the server if it is not
supplied in a YAML file (or that it is documented as being optional)
- [ ] Verified that any relevant UI is disabled when GitOps mode is
enabled

## fleetd/orbit/Fleet Desktop

- [ ] Verified compatibility with the latest released version of Fleet
(see [Must
rule](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/workflows/fleetd-development-and-release-strategy.md))
- [ ] If the change applies to only one platform, confirmed that
`runtime.GOOS` is used as needed to isolate changes
- [ ] Verified that fleetd runs on macOS, Linux and Windows
- [ ] Verified auto-update works from the released version of component
to the new version (see [tools/tuf/test](../tools/tuf/test/README.md))
2025-12-15 15:43:46 +01:00
Eric
fa27fda724
Website: Add case study article template page and three articles (#37153)
Changes:
- Updated the website's build-static-content script to add support for a
new article category: `case study`.
- Added a new article template page for case study articles
- Added case study articles from Stripe, Faire, and Foursquare.

---------

Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2025-12-12 13:37:16 +09:00
Eric
716225d9ac
Website: Update error handling in deliver-apple-csr (#36788)
Closes: https://github.com/fleetdm/fleet/issues/36776

Changes:
- Updated the `deliver-apple-csr` endpoint to tolerate errors returned
by the Slack API and log a warning when it happens.
2025-12-05 16:05:17 -06:00
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
438baad6cb
Website: add /fast-track page (#36601)
Closes: https://github.com/fleetdm/confidential/issues/11222

Changes:
- Added a new page for Fleet Fast-track (/fast-track)
2025-12-03 17:10:14 -06:00
Eric
56f01f0170
Website: Update create-compliance-partner-tenant (#36528)
Changes:
- Updated an error handler in the the website's
create-compliance-partner-tenant action
2025-12-01 16:10:17 -06:00
Eric
fddd4bac85
Website: Update create-compliance-partner-tenant error handling (#36366)
Closes: https://github.com/fleetdm/fleet/issues/36356

Changes:
- updated the website's `create-compliance-partner-tenant` microsoft
proxy endpoint to return a `connectionAlreadyExists` response when a
uniqueness error is returned by the database adapter.
2025-11-26 16:29:05 -06:00
Eric
f8a3f09460
Website: Move Fleet subscription terms and privacy policy to the Fleet website. (#36001)
Closes: https://github.com/fleetdm/fleet/issues/32373

Changes:
- Added Markdown versions of the Fleet's subscription terms and privacy
policy Google docs to a new folder (`legal/`) inside the
`handbook/company/` folder. (Note: These pages are not accessible from
the handbook.)
- Added pages that display the two Markdown files rendered as HTML
(`/legal/terms` and `/legal/privacy`)
2025-11-26 16:27:37 -06:00
Eric
f743f6210c
Website: Update contact creation and enrichment in deliver-talk-to-us-form-submission (#36320)
Related to: https://github.com/fleetdm/confidential/issues/13219

Changes:
- Updated the `deliver-talk-to-us-form-submission` action to only use
the email domain for contact creation and enrichment, and to include the
provided organization name in contact descriptions.
2025-11-25 17:57:10 -06:00
Eric
e5303dd339
Website: uncomment warning related to missing Cloudflare headers (#36295)
Changes:
- Uncommented a warning that is logged if certain Cloudflare headers are
missing. (Reverted the changes from
https://github.com/fleetdm/fleet/pull/35909)
2025-11-25 13:10:18 -06:00
Magnus Jensen
237105728e
Reduce API Android usage (#36209)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #36138 

# Checklist for submitter

If some of the following don't apply, delete the relevant line.

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files)
for more information.

## Testing

- [x] Added/updated automated tests
- [x] QA'd all new/changed functionality manually

---------

Co-authored-by: Jordan Montgomery <elijah.jordan.montgomery@gmail.com>
2025-11-25 09:39:06 -03:00
Eric
f592b9d333
Website: update software catalog sorting (#36100)
Related to: #35983


Changes:
- Updated the sorting of applications on the /software-catalog page to
be case-insensitive.
2025-11-20 17:37:46 -06:00
Eric
0434fdb8a2
Website: add testimonial (#35870)
Changes:
- Added a new testimonial and added it to the /device-management and
/testimonials pages
2025-11-18 11:48:49 -06:00
Eric
7ea2183688
Website: disable warning related to missing Cloudflare headers (#35909)
Changes:
- Commented out a warning that is logged if Cloudflare headers are
missing
2025-11-18 10:36:22 -06:00
Sam Pfluger
4d0fba76ff
Redistribute QA responsibilities (#35779) 2025-11-14 14:00:55 -06:00
Jahziel Villasana-Espinoza
ff0ba413b7
Android app self service: backend support (#34711)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #34389

# Checklist for submitter

If some of the following don't apply, delete the relevant line.

- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)

## Testing

- [x] Added/updated automated tests
- [x] Where appropriate, [automated tests simulate multiple hosts and
test for host
isolation](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/reference/patterns-backend.md#unit-testing)
(updates to one hosts's records do not affect another)
- [x] QA'd all new/changed functionality manually

## Database migrations

- [x] Checked schema for all modified table for columns that will
auto-update timestamps during migration.
- [x] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).
2025-11-13 18:10:24 -05:00
Eric
2cedc3e22e
Website: update logged warning in deliver-contact-form-message (#35695)
Closes: https://github.com/fleetdm/confidential/issues/13046

Changes:
- Updated the logged warning in deliver-contact-form-message to include
the full error thrown by the `build()` helper.
- Added intercepts to the helpers called inside of the `build()` helper
in deliver-contact-form-message, and updated it to throw an error if the
updateOrCreateContactAndAccount helper does not return an account ID.
2025-11-13 11:29:19 -06:00
Eric
a12616a781
Website: Update Microsoft proxy redirect error handling (#35675)
Related to: https://github.com/fleetdm/confidential/issues/13036

Changes:
- updated the receive-redirect-from-microsoft Microsoft proxy endpoint
to redirect users to their Fleet instance if the
`getAccessTokenAndApiUrls` helper returns an error.
2025-11-13 10:41:47 -06:00
melpike
2915c4b28f
Added melpike to list of humans (#35665) 2025-11-12 15:09:28 -07:00
Eric
b2151decda
Website: Add API rate limit alert to Android proxy endpoints (#35637)
Closes: https://github.com/fleetdm/fleet/issues/34358

Changes:
- Updated Android enterprise proxy endpoints to log an additional
warning to alert us if we exceed the Android management API rate limit.
2025-11-12 15:37:21 -06:00