Commit Graph
587 Commits
Author SHA1 Message Date
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 JensenandJordan Montgomery 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
johnjeremiah cde7eb98fe Add JohnJeremiah to the list (#35631)
<!-- 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-11-12 12:17:41 -05:00
Eric 2a6df0b659 Website: update create-or-update-one-newsletter-subscription action (#35627)
Closes: https://github.com/fleetdm/confidential/issues/13025

Changes:
- Updated the emailAddress input of the
create-or-update-one-newsletter-subscription action to use `isEmail`
validation
2025-11-12 11:07:10 -06:00
Eric 8246c0a083 Website: Update error handling in create-vanta-authorization-request (#35545)
Closes: https://github.com/fleetdm/fleet/issues/18924

Changes:
- Updated the `intercept()` in create-vanta-authorization-request to
only return an `invalidToken` exit if the user's Fleet instance returns
a `401` response.
2025-11-11 15:39:38 -06:00
Magnus Jensen 7e46d63db8 Android Proxy: Pass authClient to all calls (#35456)
This is another attempt at debugging/solving the current android proxy
bug.

This tries to not use the global google options, and instead just passes
the authClient directly to all google calls.

The other PR with wait, did initially succeed for me, but then failed
right after.
2025-11-11 09:29:18 -03:00
Sam Pfluger a59b5d2d5b Removing access (#35480) 2025-11-10 18:08:14 -06:00
Magnus Jensen a3170ad8d9 Android Proxy: Wait 1 second + add back retry with big delays (#35449)
Another debugging attempt, at the Android Proxy create enterprise bug.
2025-11-10 17:19:04 -03:00
Eric 68d236aca6 Website: add Okta conditional access error page (#35355)
Closes https://github.com/fleetdm/fleet/issues/34902

Changes:
- Added /okta-conditional-access-error
2025-11-07 15:36:03 -06:00
Jonathan Katz 502ef0b1bd Add jkatz01 to list of humans (#35275) 2025-11-07 09:59:41 -05:00
Eric 0f0f7ee041 Website: create historical events for "Send a message" submissions (#35320)
Related to: https://github.com/fleetdm/fleet/issues/32358

Changes:
- Updated the `deliver-contact-form-message` action to create a
historical event in our CRM when users submit the "Send a message" form.
2025-11-06 17:49:00 -06:00
Eric 3601fa8d5a Website: update /try redirects (#35312)
Closes: https://github.com/fleetdm/fleet/issues/35222

Changes:
- Updated the `view-fleet-premium-trial-or-redirect` action to redirect
users who have purchased a self-service Fleet Premium license to their
customer dashboard.
2025-11-06 17:27:04 -06:00
Magnus Jensen da27c3f08b Android Proxy: debug token scopes for android enterprise creation (#35237)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Attempt at debugging #34776 

Another attempt to further debug this issue. This attempt tries to
verify that the scopes for the token is correct, and is not overriden by
another call to the scopes.

The reason is that the `www-authenticate` response header is saying
`error="insufficient_scope"`
2025-11-06 11:14:42 -03:00
Magnus Jensen c1428f4a98 Remove sails flow.build around getIamPolicy call (#35225)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Attempt at solving #34776 

This was verified by extracting the create topic, and getIamPolicy, and
without the flow.build it worked fine, but when added it started
failing.
2025-11-05 15:54:57 -03:00
Jordan MontgomeryandEric 4bedbca6c2 Add a bit of time to the Android proxy creation retry (#35174)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #34776 

Adds delay to subsequent retries on creation of Android enterprise

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2025-11-05 09:13:13 -05:00
Eric 1e6b45acdc Website: retry getIamPolicy and setIamPolicy methods in create-android-enterprise (#35165)
Related to: https://github.com/fleetdm/fleet/issues/34776

Changes:
- Updated the create-android-enterprise endpoint to retry the
getIamPolicy and setIamPolicy methods when creating a new android
enterprise.
2025-11-04 14:55:35 -05:00
Magnus Jensen 50c15bd999 add warn log statement to get the error of a 400 if it's not an invalid token error (#35054)
This PR adds a small log warn statement to the fleetdm proxy for a 400
error on creating enterprise that is not an invalid token.

See this slack thread about the issue, and missing error log to further
debug the issue, unless running it locally, and then it is sometimes not
reproducable.
2025-10-31 12:52:39 -03:00
Maribell MoralesandSam Pfluger bede996c36 Add Maribell to List of Humans (#35016)
Co-authored-by: Sam Pfluger <108141731+Sampfluger88@users.noreply.github.com>
2025-10-30 16:01:38 -05:00
Andrea Pepper cf55977f55 Add 'lppepper2' to the list of humans (#34898)
<!-- 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-10-30 12:50:43 -06:00
Jordan Montgomery e5589bc030 Return a 404 for device not found instead of 5XX (#34988)
Haven't fully QA'd as I am not sure how to repro locally(when I test the
pubsub arrives before we ever run the reconciler) however this should
cause 4xx to be returned from the website instead of 5xx for android
unenrolled. We use the exact same code on a different endpoint

<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #34988 partially. This just helps reduce
alerts to help-p1 and implements the interface that the server is
expecting
2025-10-30 09:17:12 -04:00
Sam Pfluger fc6da5c233 Fix sentence case (#34979) 2025-10-29 22:43:58 -05:00
Eric 31cdfc534d Website: Update render trial assignment in signup action (#34925)
Changes:
- Updated who gets assigned a Render trial instance in the website's
signup action
- Updated how RenderProofOfValue records are sorted when they are
assigned to a user
2025-10-29 10:10:33 -05:00
Dave SiedererandAllen Houchins 0baec3b825 Add new GitHub user 'ds0x' to webhook handler (#34919)
New human at Fleet proclaiming their humanity.

Co-authored-by: Allen Houchins <32207388+allenhouchins@users.noreply.github.com>
2025-10-29 10:37:25 -04:00
Eric f3749ba253 Website: update variable name in signup.js (#34908)
Changes:
- Fixed a bug in signup.js, which prevented users who were eligible for
a render trial from being successfully assigned an instance.
2025-10-28 19:53:19 -05:00
Eric b2ec6d8c20 Website: Update login and register page redirects for logged in users. (#34900)
Related to: https://github.com/fleetdm/fleet/issues/33798

Changes:
- Updated the redirects for logged-in users for the /login and /register
pages to take users to the /try page.
- Updated the primary button color in the query generator and the
landing page generator stylesheet template
2025-10-28 17:44:22 -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
Sam PflugerandMike McNeil c33d352810 Remove ADR position (#34750)
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2025-10-24 12:19:08 -05:00
Sam Pfluger 184e4605f0 Update engagement events in receive-from-clay.js (#34727)
Removed an engagement event and added two new engagement events for
Sales-led and Marketing-led.
2025-10-24 11:36:20 -05:00
Sam Pfluger b1943c2da7 Add 'Contributed to fleetdm/fleet' intent signal and contact source (#34421)
Introduces a new event type for GitHub contributions to the
fleetdm/fleet repository across webhook controller and Salesforce helper
modules. This enables tracking and handling of user contributions in
addition to existing GitHub events.
2025-10-17 00:00:15 -05:00
Jordan Montgomery abaf15ff51 Do not return MDM=off android hosts from reconciler (#34304)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #34299 

Unreleased bug in Android Config profiles 4.75.0 feature. No changes
file as such. I'm not entirely sure how to cause this as I was unable to
repro it locally, there may be a timing issue or something, so I haven't
fully QA'd manually. QA was limited to verifying basic reconciler
functionality

Also updated Website endpoint to not throw a 5XX since we expect this to
occasionally happen

# 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.

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

## 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)

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

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

- [x] Confirmed that the fix is not expected to adversely impact load
test results
2025-10-16 09:59:17 -04:00
Sam Pfluger e02563dbad Add GitHub engagement types to activity lists (#34337)
Added 'GitHub - Stared fleetdm/fleet' and 'GitHub - Forked
fleetdm/fleet' to the activity type arrays in webhook and Salesforce
helper modules to track new forms of user engagement.
2025-10-15 23:33:09 -05:00
Eric 43337c2700 Website: Update name of value returned by Microsoft proxy endpoint (result.details » result.detail) (#34326)
Related to: https://github.com/fleetdm/fleet/issues/34306

Changes:
- Updated the `microsoft-proxy/get-one-compliance-status-result`
endpoint to send error details from failed compliance status updates as
`result.detail`.

Context:
Fleet instances expect this endpoint to return a value named `detail`
https://github.com/fleetdm/fleet/blob/94d801f9e1425e4c77334c87b2bc31f2697c5a0d/server/service/conditional_access_microsoft_proxy/conditional_access_microsoft_proxy.go#L171-L172
2025-10-15 17:29:42 -05:00
Eric 1799c824b1 Website: Update Android proxy endpoints exits (#34135)
Changes:
- Updated the website's Android proxy endpoints to use action2 exit
signals.
2025-10-10 17:11:42 -05:00
Carlo 0ade43e798 Add proxy endpoints for Android (#34021)
Fixes #34018. Adds endpoints for `GET`, `DELETE`, and `PATCH` operations for Android hosts.
2025-10-09 08:17:48 -04:00