Commit graph

699 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
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
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 Montgomery
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 Morales
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
b04ba96929
Website: Update enrichment helper queries when organization is provided. (#34949)
Changes:
- Updated the get-enriched helper to only send a single query for
organization name (if `organization` is provided).
2025-10-29 14:10:44 -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 Siederer
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
11984cdf6f
Website: Improve results returned by get-enriched helper (#34896)
Closes: https://github.com/fleetdm/confidential/issues/12790

Changes:
- Updated the get-enriched helper to use a different Coresignal API to
search for company information.
2025-10-28 16:23:30 -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 Pfluger
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
Eric
351ac2b845
Website: Update created account record type (#34473)
Changes:
- Updated the `update-or-create-contact-and-account` helper to set a
`Type` on new account records created.
2025-10-17 16:40:21 -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`
94d801f9e1/server/service/conditional_access_microsoft_proxy/conditional_access_microsoft_proxy.go (L171-L172)
2025-10-15 17:29:42 -05:00