Commit graph

673 commits

Author SHA1 Message Date
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
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
Graham Williams
e18fbd9208
Add GrayW to humans (#33743) 2025-10-07 13:51:44 +01:00
Eric
30abc992fb
Website: fix typo in error handler in create-historical-event helper (#33886)
Changes:
- Fixed a typo in an error returned by the create-historical-event
helper. (`inpsect` » `inspect`)
2025-10-06 14:50:59 -05:00
Sam Pfluger
5b2b32ef7f
Update receive-from-clay.js (#33883) 2025-10-06 13:25:11 -06:00
Victor Lyuboslavsky
6eefc8ecb5
Add Security & compliance group to GitHub webhook. (#33850)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #33848



<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- New Features
- Added support for the Security & Compliance project within the GitHub
integration, enabling tracking and visibility alongside existing
projects.

- Refactor
- Streamlined project mapping logic to improve consistency when
processing updates from GitHub; behavior for existing projects remains
unchanged.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-10-06 13:44:03 -05:00
Eric
292c23497f
Website: Update Android Proxy endpoints to return 404 responses if an Android Enterprise are not managed by Fleet (#33816)
Related to: https://github.com/fleetdm/fleet/issues/33266

Changes:
- Added a new helper
`sails.helpers.androidProxy.getIsEnterpriseManagedByFleet`. This helper
returns `true` if a provided Android Enterprise ID is present in the
list of all Android Enterprises managed by Fleet, or `false` if it is
not in the list.
- Updated `create-android-enrollment-token`,
`create-android-signup-url`, and `modify-android-policies` to return a
404 response to the requesting Fleet instance if their Android
Enterprise is not managed by Fleet.
2025-10-06 12:50:42 -05:00
Sam Pfluger
9604e64f28
Create "Marketing-led" and "Sales-led" intent signals (#33845) 2025-10-04 19:57:05 -05:00
Sam Pfluger
e0d27a808d
Added intent signals (#33721)
Added intent signals for:
- Let's get you set up
- Talk to us
- Submitted contact form

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2025-10-01 14:28:23 -05:00
Eric
ad58bb9ca1
Website: Add deny list of email domains for contact form messages. (#33647)
Closes: #33548

Changes:
- Added a new configuration variable
`sails.config.custom.bannedEmailDomainsForContactFormSubmissions` that
contains a list of domains (currently a single domain) that cannot be
used to submit the contact form
- Updated the `bannedEmailDomainsForWebsiteSubmissions` list to include
`example.com`
- Updated the deliver-contact-form-message action to return an
`invalidEmailDomain` exit if the contact form is submitted with an email
domain in the `bannedEmailDomainsForContactFormSubmissions` list
2025-10-01 12:22:54 -05:00
Nick Blee
564c0fe248
Add Nick Blee to humans (#33638) 2025-09-30 11:14:13 -05:00
Eric
d43e71160a
Website: update emailAddress input validation (#33602)
Closes: #33548

Changes:
- Added `isEmail` validation to emailAddress inputs. The updated
endpoints will now return 400 responses if a user bypasses the frontend
validation.
2025-09-29 17:26:37 -05:00
Thomas Salomon
04a5c933af
Added GitHub Username (#33569) 2025-09-29 18:06:33 -04:00
Lucas Manuel Rodriguez
ee4fae8d69
Add easy to understand errors when setting up Entra conditional access (#33453)
Resolves #32420.

Demo of the changes:

https://github.com/user-attachments/assets/c5ee28ba-7f67-48bb-aa25-c934a5515de4

- [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] QA'd all new/changed functionality manually
2025-09-25 22:52:28 -03:00
Eric
968b5110b3
Website: update logged warnings in receive-from-github webhook (#33490)
Closes: #33454

Changes:
- Updated the receive-from-github webhook to log warnings that includes
information about the affected issue/pr if requests to the GitHub API
fail.
2025-09-25 14:21:09 -05:00
Eric
2bdeb30c5b
Website: Update receive-from-clay webhook inputs & exits (#33477)
Changes:
- Updated the receive-from-clay webhook's inputs to have the same `isIn`
lists as the helpers the webhook uses.
- Removed the `invalidContactOrAccountCriteria` and
`invalidHistoricalEventCriteria` exits in the receive from clay webhook.
2025-09-25 11:59:30 -05:00
Eric
eafb0e1b83
Website: Update "Talk to us" form (#33384)
Related to: https://github.com/fleetdm/confidential/issues/11779

Changes:
- Updated the `deliver-talk-to-us-form-submission` to use information
returned by the getEnriched helper to determine the Calendly event users
are taken to when they submit the form.
2025-09-24 14:53:30 -05:00
Eric
daa82a3e1d
Website: add testimonial (#33323)
Closes: https://github.com/fleetdm/confidential/issues/12218

Changes:
- Added a testimonial from David Bodmer
- Updated the device management testimonials shown on the MDM page,
homepage, and testimonials page
2025-09-24 11:14:36 +09:00
Eric
71df108561
Website: remove receive-from-zoom webhook (#33325)
Closes: https://github.com/fleetdm/fleet/issues/33284

Changes:
- Removed the receive-from-zoom webhook.
2025-09-22 18:26:36 -05:00
Eric
353b8d0374
Website: Update scripts-details and command-details view actions (#33286)
Changes:
- Updated view-script-details and view-command-details to throw a
`notFound` response instead of returning it.
2025-09-22 12:40:30 -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
Eric
9d8d9b669e
Website: Update receive-from-clay webhook exits (#33185)
Changes:
- Added two exits to the `receive-from-clay` webhook that are used if
the webhook receives invalid inputs for the CRM helpers it uses.
2025-09-18 16:20:04 -05:00
Sam Pfluger
84715f4b19
Update intentSignal (#33183) 2025-09-18 15:28:01 -05:00
Eric
c2b81ef03f
Website: update exits and logged errors in receive-from-zoom webhook (#33180)
Closes: https://github.com/fleetdm/fleet/issues/33148

Changes:
- Updated the receive-from-zoom webhook to return a `zoomApiError` exit
when Zoom returns a non-200 response when it sends an API request to get
information about a call.
2025-09-18 15:06:14 -05:00
Sam Pfluger
9fec274d5e
Add contact source (#33178)
Add "Event - Engaged with Fleetie at event" contact source
2025-09-18 14:05:22 -05:00
Kitzy
56e3929bc5
Add 'kitzy' to the list of humans (#32990) 2025-09-15 17:19:05 -04:00