Commit Graph
18858 Commits
Author SHA1 Message Date
RachelElysia f21e9f67b2 Fleet UI: Remove install tooltip and add timestamp to InstallDetails modal (#33991) 2025-10-08 13:30:58 -04:00
Noah Talerman b4a1671490 Foreign vitals (IdP): Other IdPs (#33930)
- Fleet supports any IdP that supports the SCIM protocol
2025-10-08 13:01:38 -04:00
Scott GressandIan Littman 4697123f6e Stop setup experience on software install fail: admin (#33968)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #33110 
**Related issue:** Resolves #33109  

# Details

This PR implements the new "cancel setup if any software fails on macos"
flag, including both backend and frontend logic.

Half of the file changes are updating test expectations / auto-generated
schema.

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

## Testing

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

## New Fleet configuration settings

- [ ] Verified that the setting is exported via `fleetctl
generate-gitops`
`macos_setup` is still excluded from generate-girtops
- [X] 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)
Documented [here](https://github.com/fleetdm/fleet/pull/33016/files)
- [X] 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)
- [X] Verified that any relevant UI is disabled when GitOps mode is
enabled


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

## Summary by CodeRabbit

- New Features
- Added a macOS setup option: “Cancel setup if software install fails.”
  - Configure at global or team level; team settings override global.
- Toggle available in Setup Experience > Install software > Advanced
options.
  - Saved state persists and can be updated without leaving the page.
  - Devices honor the resolved setting during provisioning.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Ian Littman <iansltx@gmail.com>
2025-10-08 17:51:52 +01:00
Scott Gress be7e0045a9 Use webview in MacOS setup experience (#33884)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** For #33111

# Details

This PR updates the setup experience for MacOS to use a web view pointed
at the device's "Setting up your device" page rather than using native
MacOS UI elements, bringing it more in line with Linux and Windows setup
experiences.

This covers only the new web UI for the setup experience progress, _not_
the UI for the new case of blocking the device when a piece of software
fails to install. I'll add that in a separate PR.

# 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
Added tests for the updates to the token rotation code.

- [X] QA'd all new/changed functionality manually
A new tool is provided to allow testing this code against a virtual
machine if a separate host that you can wipe and run setup on is not
available. See
https://github.com/fleetdm/fleet/blob/sgress454/new-setup-experience/tools/mdm/apple/setupexperience/README.md
for details.

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

- New Features
  - macOS setup experience moved to a new web-based UI.
  - Automatic device token rotation during setup to keep sessions valid.
- Bug Fixes
- More reliable setup flow with improved dialog lifecycle and cleaner
handoff to web content.
- Dialog elements hidden/cleared appropriately when transitioning to the
browser.
- Documentation
- Added guide and tool to simulate the macOS setup experience on a VM,
with prerequisites and usage steps.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-10-08 17:51:26 +01:00
Allen Houchins bad6c91c42 Added URLs to Fleet logos (#33994)
- Added URLs to Fleet logos to observe the new UI with rectangle logos instead of the default square logos
2025-10-08 11:39:31 -05:00
Konstantin Sykulev b906b1b974 Osquery perf split common software between hosts (#33958)
If the total requested common software is 10,000 and there are 200
hosts. Instead of all hosts having 10,000 pieces of software, each host
will have a 50 software slice of the 10,000 total requested. This is
controlled by `common_software_count`. If you wish to have each host
have a certain amount of software, use the `unique_software_count`

<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #33668
2025-10-08 11:22:06 -05:00
Luke Heath dd8a81162d Update engineering interview process (#33959) 2025-10-08 10:34:45 -05:00
Gabriel Hernandez 09b7f56a64 add UI to support install software for ios and ipad on setup experience (#33973)
**Related issue:** Resolves #33701

Adds the UI needed to install software for ios and ipad during the setup
experience.

> NOTE: the video still needs to be recorded and placed in the code for
ios and ipad

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
- [ ] Added/updated automated tests
- [x] QA'd all new/changed functionality manually
2025-10-08 16:20:00 +01:00
Irena ReedyandMike Thomas 59dac05bd7 Create the-taxonomy-of-compute.md (#33835)
Mike M's article, which he posted on LinkedIn, that he would also like
on the website

---------

Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2025-10-08 10:58:48 -04:00
Tim Lee aae4ccec54 31010 santa tables (#33218) 2025-10-08 08:58:08 -06:00
Noah Talerman ad93a44ad9 Add back gitops-migrate file (#33981) 2025-10-08 09:44:59 -05:00
Noah Talerman 4682334131 GitOps migration tool (#33913) 2025-10-08 09:44:38 -05:00
Jahziel Villasana-EspinozaandRachelElysia 0a3c6c35d3 Android software ingestion (#33826)
> Closes #33581 


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

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


## Testing

- [x] Added/updated automated tests

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

## Database migrations

- [x] Checked table schema to confirm autoupdate
- [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`).

---------

Co-authored-by: RachelElysia <rachel@fleetdm.com>
2025-10-08 10:24:38 -04:00
Noah Talerman e01f8c7ebd 4.74 article: Emphasize Linux (#33961) 2025-10-08 09:50:40 -04:00
RachelElysia 18984f9ffa Fleet UI: Fix "existing software" error message and make other add sw error messages consistent (#33947) 2025-10-08 09:17:07 -04:00
Mike Thomas 21ce42e9da Update free-migration-from-jamf-to-fleet.md (#33969)
- changed bullets to prose so the article reads naturally rather than a
bulleted outline.
2025-10-08 19:50:29 +09:00
hwlans 6a1592bd9d Update deploying-entra-platform-sso-with-fleet.md (#33895)
Added information about Secure Enclave being the default key storage
since august 2025.

<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #

# Checklist for submitter
2025-10-08 06:49:58 -03:00
Lucas Manuel RodriguezandIan Littman b5626e17e6 Fix lingering live queries keys in Redis (#33928)
Resolves #33254

This can be reproduced locally by running the following "high load"
test:

Run 500 hosts using osquery-perf:
```
go run ./cmd/osquery-perf --enroll_secret ... \
  --host_count 500 \
  --server_url https://localhost:8080 \
  --live_query_fail_prob 0.0 \
  --live_query_no_results_prob 0.0 \
  --orbit_prob 0.0 \
  --http_message_signature_prob 0.0
```

Run `stress_test_live_queries.sh`:
```
#!/bin/bash

while true; do
        curl -v -k -X POST -H "Authorization: Bearer $TEST_TOKEN" https://localhost:8080/api/latest/fleet/queries/$SAVED_QUERY_ID/run -d '{"host_ids": [<500 comma-separated host ids>]}'
done
```

Use "Redis Insight" or the like and you will start to see
`livequery:{$CAMPAIGN_ID}` keys with `No limit` (which is the bug):

<img width="1380" height="227" alt="Screenshot 2025-10-07 at 3 10 26 PM"
src="https://github.com/user-attachments/assets/30434348-3217-40c4-8ebc-bab5ceb4daa9"
/>

- [X] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.

## Testing

- [x] Added/updated automated tests

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

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

## Summary by CodeRabbit

- Bug Fixes
- Prevent lingering Redis keys for live queries by ensuring keys are
cleaned up and not recreated when completing/canceling non-existent
queries.
- Improves resource usage and avoids stale state in live query
processing.

- Tests
- Added tests verifying proper retrieval/completion behavior and that no
Redis key is created for non-existent live queries.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Ian Littman <iansltx@gmail.com>
2025-10-08 06:36:38 -03:00
Dante Catalfamo 53f74e3ebc Add guide for Windows and Linux setup experience (#33471)
**Related issue:** Resolves #32543
2025-10-07 17:44:44 -04:00
RachelElysia b7068c2be9 Fleet UI: Update generateResultCountText to handle "certificates" (#33952) 2025-10-07 17:24:05 -04:00
Zach WassermanandJacob Shandling 41c53860e3 Add support for VSCode fork extensions in software inventory (#33595)
**Related issue:** Resolves #31397

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

## Testing

- [x] Added/updated automated tests

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

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-10-07 14:05:22 -07:00
Luke Heath d9480eb460 Add missed changelog item in 4.74.0 (#33955) 2025-10-07 15:44:49 -05:00
Harrison RavazzoloandBrock Walters 9e3cab666e Update doc assets (#33740)
After talking with eng team and @nonpunctual, the /assets folder is
reserved for things inside the fleet app, so creating a new folder in
`/docs/solutions`

@AdamBaali - I updated your article paths and moved the assets to the
new folder, do you mind taking a peek and making sure it looks good?

Note: brock, we should also update handbook for new ritual to add
articles with assets like this.

---------

Co-authored-by: Brock Walters <153771548+nonpunctual@users.noreply.github.com>
2025-10-07 13:02:36 -06:00
Rachael Shaw 75104bfbcb Rename "Single sign-on options" settings page to "Single sign-on (SSO)" (#33946)
As part of https://github.com/fleetdm/fleet/issues/25798, we planned to
rename "Single sign-on options" to "Single sign-on (SSO)". However, we
missed adding a check for the copy change in the test plan, so we didn't
catch that the change didn't make it in.

The documentation/guide changes referencing the new page name were
already merged as part of 4.71.
2025-10-07 13:38:37 -05:00
RachelElysia ad73c5ce01 Fleet UI: Show Android software inventory (#33809)
## Issue
Closes #33580
Part of Story #33060 

## Description
- Anything related to adding "android_apps" into the FE code
- Add to frontend interfaces `interfaces/platform.ts` for platforms that
do not support vuln scanning
- Add `application_id` key and `source: "android_apps"` value to
`ISoftware`
- Add source type conversion `android_apps: "Application (Android)"` for
rendering type in UI
  - Add to `INSTALLABLE_SOURCE_PLATFORM_CONVERSION`
- Show unsupported vuln empty state in software details page for
`source: "android_apps"`
  - Add android icon to software icons
- Use android icon as default fallback for `source: "android_apps"`
software
- Show android host details page > software library tab, but with
unsupported empty state correct showing android link instead of hiding
tab all together
- Show android host details page > software inventory tab > vuln filter
on, vuln not supported empty state

## Testing

- [x] QA'd all new/changed functionality manually
-
> FE code was manually QAed with hard coded data but will require BE
changes to be merged to E2E QA
2025-10-07 14:08:25 -04:00
fleet-releaseandmostlikelee e02e9cb352 Update Fleet-maintained apps (#33932)
Automated ingestion of latest Fleet-maintained app data.

Co-authored-by: mostlikelee <16102903+mostlikelee@users.noreply.github.com>
2025-10-07 13:22:07 -04:00
jacobshandlingandJacob Shandling bb608296fe Add gap between batch details tab table and table header (#33899)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #33888 

<img width="1252" height="563" alt="Screenshot 2025-10-06 at 2 00 40 PM"
src="https://github.com/user-attachments/assets/2a021874-688a-4a14-a2b3-43eaa11c7af1"
/>

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

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-10-07 09:33:46 -07:00
RachelElysia 6edc78d8ec Fleet UI: Resurface post-install script output (#33765) 2025-10-07 11:02:39 -04:00
Mike McNeil 884faded33 Update comparison tables to reflect where folks are most commonly migrating from rn (#33936)
Updates comparison tables to reflect where folks are most commonly
migrating from rn
2025-10-07 08:47:26 -06:00
Martin Angers adee5f78ed Bugfix: error when package added that matches software title with existing VPP app (#33727) 2025-10-07 10:15:12 -04:00
Noah Talerman 3edec2d4b2 Engineering handbook: Update milestone due dates (#33933) 2025-10-07 10:14:29 -04:00
Rachael Shaw b94aba24aa Remove duplicate certificate authorities example from YAML docs (#33931)
There was an extra one left over from merging in doc updates.
2025-10-07 08:59:30 -05:00
Gabriel Hernandez 95c559fbab Add host platform to mdm enrolled and mdm unenrolled activity details (#33858)
**Related issue:** Fixes #33807

Adds missing host platform key to mdm enrolled and mdm unenrolled
activity details api response data. This allows the UI to display the
activities properly

- [x] Added/updated automated tests
- [x] QA'd all new/changed functionality manually
2025-10-07 14:22:37 +01:00
Graham Williams e18fbd9208 Add GrayW to humans (#33743) 2025-10-07 13:51:44 +01:00
Mike Thomas a893aa00c9 re-positioned the image (#33925)
a couple more tweaks.
2025-10-07 20:33:09 +09:00
Mike Thomas 62208c861f Jnuc article - added image (#33924)
- Fixed note block and caveat asterisk.
- Added article image
2025-10-07 20:16:03 +09:00
Ian Littman 153301e892 Update copy to indicate that iOS/iPadOS work with vitals labels (#33919)
For #32072. Should be cherry-picked to 4.75 since that's where the
support was added.

# 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] 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-07 06:07:51 -05:00
Irena ReedyandMike Thomas e8bcd480fc Create $0-migration-to-fleet.md (#33872)
Alex's article that we are hoping to get live today and point the Uber
ad URL redirect to it
[fleetdm.com/jnuc-2025](http://fleetdm.com/jnuc-2025)

---------

Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2025-10-07 20:07:06 +09:00
Noah Talerman a243ddc68a Product Designer position (#33912) 2025-10-07 00:34:32 -06:00
Lucas Manuel Rodriguez 865ca2ae0a Add fleetd post-release step (#33881)
Improving the release script for fleetd to not miss the post-release
steps.
2025-10-06 22:05:26 -03:00
George KarrandAllen Houchins c262310ae3 Update team g-mdm hosts with new identifiers (#33792)
Pending 4.74.0 for host id support in gitops

---------

Co-authored-by: Allen Houchins <allenhouchins@mac.com>
2025-10-06 19:11:36 -05:00
Allen Houchins 9d61bebde1 Migrating yaml to 4.74.0 requirements (#33915)
- Walked through the new gitops-migrate process
2025-10-06 19:01:24 -05:00
Eric 489cb4e773 Website: update logos on /contact page (#33911)
Closes: https://github.com/fleetdm/fleet/issues/33608

Changes:
- Replaced the rows of logos on the /contact page with the
`<logo-carousel>` component
- Updated the layout of the contact page at <990px screen width
2025-10-06 18:01:55 -05:00
Luke Heath 23d95c3fdd Fix typo in AWS IAM authentication section (#33908) 2025-10-06 17:30:46 -05:00
Mike Thomas cd4c67f1e5 Update entra-conditional-access-integration.md (#32574)
Related to
https://github.com/fleetdm/fleet/pull/32434#pullrequestreview-3172873391

I re-edited the guide to follow an easier-to-scan, step-by-step format. 

- Rewrote steps into shorter, directive numbered lists in the imperative
mood.
- I added intro lines and note blocks to separate essential instructions
from the supporting context.
- Reorganized post-setup sections into clearer buckets: Disabling,
troubleshooting, end-user experience, and advanced GitOps setup.
- Tightened up UI references using bold instead of quotes.

No technical meaning was changed (I hope). The goal was to make the
guide easier to scan, follow, and maintain, as part of an ongoing effort
to improve doc content consistency and readability.
2025-10-07 07:06:59 +09:00
Noah Talerman f4fe03e1ca Release article: 4.74.0 (#33716) 2025-10-06 17:04:05 -05:00
+1 48cb0908cd Docs v4.74.0 (#33879)
Documentation changes for 4.74

---------

Co-authored-by: Marko Lisica <83164494+marko-lisica@users.noreply.github.com>
Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
Co-authored-by: Victor Lyuboslavsky <2685025+getvictor@users.noreply.github.com>
Co-authored-by: Ian Littman <iansltx@gmail.com>
Co-authored-by: Noah Talerman <noahtal@umich.edu>
Co-authored-by: Lucas Manuel Rodriguez <lucas@fleetdm.com>
Co-authored-by: Magnus Jensen <magnus@fleetdm.com>
Co-authored-by: Jordan Montgomery <elijah.jordan.montgomery@gmail.com>
Co-authored-by: Janis Watts <184028114+jmwatts@users.noreply.github.com>
Co-authored-by: Allen Houchins <32207388+allenhouchins@users.noreply.github.com>
2025-10-06 17:03:10 -05:00
Noah Talerman 46df8f8274 API reference: Remove errant key (#33898) 2025-10-06 17:01:11 -05:00
Magnus Jensen 58c9df8796 Smallstep qa fixes (#33885) 2025-10-06 16:32:29 -05:00
Jordan Montgomery b0866dcb10 Fix failing migration by conditionally deleting old constraint (#33878)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #33876 

Modifies the migration to check for the old constraint before deleting
it in case it was created on mysql 5.7

No changes file since this is an unreleased bug

# 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

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

- [x] Confirmed that the fix is not expected to adversely impact load
test results

## Database migrations

- [x] Checked table schema to confirm autoupdate
- [x] Checked schema for all modified table for columns that will
auto-update timestamps during migration.
- [x] Confirmed that updating the timestamps is acceptable, and will not
cause unwanted side effects.
- [x] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).
2025-10-06 16:01:26 -04:00