Commit Graph
2781 Commits
Author SHA1 Message Date
Noah Talerman 9fa8952b07 Deploy Fleet: Host Fleet in your homelab (#40719)
For the following request:
- https://github.com/fleetdm/fleet/issues/33774
2026-02-27 18:06:18 -06:00
Mason Buettner 1c1016639f Fix issue link for automatic install support (#40732)
Updated issue link for automatic install support for Fleet-maintained
apps.

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

# Checklist for submitter

The previously linked issue
https://github.com/fleetdm/fleet/issues/29584 was closed in favor of
https://github.com/fleetdm/fleet/issues/34492.
2026-02-27 18:05:49 -06:00
Katheryn Satterlee d565887fea Update host identifier recommendations in documentation (#40741)
Clarified recommendations for setting host identifiers when enrolling
hosts using Fleet generated packages.
2026-02-27 18:05:28 -06:00
57c4f8c59f Skip MDM Declaration Validation logic with Configuration. (#38212)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #

This PR adds the ability to skip any Fleet logic that validates on
whether or not an MDM Declaration is usable with Fleet by setting a
configuration of `FLEET_MDM_SKIP_DECLARATION_VALIDATION` to `True`. We
would like to leverage declarations such as [config
files](https://developer.apple.com/documentation/devicemanagement/servicesconfigurationfiles)
as well as other none configuration declarations that are
[restricted](https://github.com/fleetdm/fleet/blob/main/server/fleet/apple_mdm.go#L736-L738)
like
[Activations](https://developer.apple.com/documentation/devicemanagement/activationsimple),
and any declaration that requires
[AssetData](https://developer.apple.com/documentation/devicemanagement/assetdata).
We understand that these are not usable by most Fleet customers,
especially those that use Fleets cloud hosting option.

Since we run Fleet on our own infrastructure we are able to leverage our
proxy to support all additional data components needed for declarations
above.

## Testing
I've built and run Fleet locally and validated that with the
`FLEET_MDM_SKIP_DECLARATION_VALIDATION` I am able to add any
declarations I please. Without the config I am unable to add the
requested declaration types above.

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

* **New Features**
* Added experimental `mdm.allow_all_declarations` configuration option
to permit all Apple MDM declaration types when enabled, overriding
default validation checks.

* **Documentation**
* Updated configuration documentation with details for the new
experimental MDM option, including defaults, environment variables, YAML
format, and safety considerations.

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

---------

Co-authored-by: Marko Lisica <83164494+marko-lisica@users.noreply.github.com>
Co-authored-by: Magnus Jensen <magnus@fleetdm.com>
2026-02-27 16:07:33 -05:00
Zach Wasserman 8b904702a0 Fix documentation for CI (#40712) 2026-02-27 11:19:14 -08:00
Juan Fernandez c95283c490 Updated documentation for file carving REST endpoints (#40698)
Added notes explaining that network error will result in a failed carve
operation.
2026-02-27 14:43:36 -04:00
George Karr 941816e3c3 Revise daily standup steps for priority review (#40605)
Adding an explicit check to scrum to review p0-1 and make sure they have
daily updates until they are ready for QA / merged.
2026-02-27 09:44:21 -06:00
Marko Lisica f5bc0d7f32 Add script to revoke VPP licenses for devices (#40478)
Related to:

- https://github.com/fleetdm/fleet/issues/34439
2026-02-27 15:55:05 +01:00
Rachael ShawandNoah Talerman bcdcae3af0 Add compatibility note to upgrading docs (#40569)
Clarify the rare cases when upgrading to a minor/patch version can break
compatibility.

---------

Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
2026-02-26 10:45:07 -06:00
Magnus Jensen f555071a76 add assign license section to windows autopilot doc (#40416)
Update to Windows autopilot doc that includes assigning a license to
your Microsoft 365 user
2026-02-26 09:49:58 -05:00
Marko Lisica 3a032b5e8f Fix broken link in YAML docs (#40411) 2026-02-25 17:55:38 -06:00
Noah Talerman 4258e62fa3 FAQ: Mac Admins osquery extension support (#40014)
It's not clear what version and what tables Fleet supports:
https://fleetdm.slack.com/archives/C052K2LAMCP/p1771342324651109
2026-02-23 14:44:09 -06:00
Katheryn SatterleeandRachael Shaw 9e4a907f98 Fix typo in commands link and update API example (#40206)
Moved team_id in Batch update configuration profiles endpoint example
from request body to the request url.

---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
2026-02-23 13:42:32 -06:00
Magnus Jensen b0cc88858b Add contributor documentation on configuring Windows Autopilot (#40295)
Follow up doc update from my PoC work, to make it easier for others next
time.
2026-02-23 11:48:02 -05:00
Noah Talerman 4c3a3e09a2 Move "Refetch host by token" to public API (#40017)
- Users/customers use it:
https://fleetdm.slack.com/archives/C050XE4CQNA/p1770941203226819?thread_ts=1770936601.691019&cid=C050XE4CQNA
- Rename this to "Fleet Desktop" token
2026-02-23 10:28:19 -06:00
Brock Walters 6455f4ec86 Delete docs/solutions/macos/policies/openclaw-detection.policies.yml (#40249)
Moved to all dir.
2026-02-22 18:12:00 -05:00
Brock Walters a54ac3fa70 Create openclaw-detection.queries.yml (#40250)
moved from macos
2026-02-22 18:11:39 -05:00
Brock Walters 807ff40c1e Delete docs/solutions/macos/queries/openclaw-detection.queries.yml (#40251)
Moved to all dir.
2026-02-22 18:11:12 -05:00
Brock Walters 4e059f7fae Create openclaw-detection.policies.yml (#40248)
Moving these to all dir because they apply to multiple OS. Will change
links in article.
2026-02-21 14:22:27 -05:00
Ian Littman 7b59252eee Clarify that we push vuln *feed* fixes, not vuln fixes, without a release (#40238) 2026-02-20 19:18:37 -06:00
+2 8822747d36 Preview of v4.81.0 doc changes (#38211)
This PR will remain in draft as a preview of upcoming documentation
changes for 4.81.0

---------

Co-authored-by: Lucas Manuel Rodriguez <lucas@fleetdm.com>
Co-authored-by: Ian Littman <iansltx@gmail.com>
Co-authored-by: kitzy <kitzy@fleetdm.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: Marko Lisica <83164494+marko-lisica@users.noreply.github.com>
Co-authored-by: Zach Wasserman <zach@fleetdm.com>
Co-authored-by: melpike <79950145+melpike@users.noreply.github.com>
Co-authored-by: Jordan Montgomery <elijah.jordan.montgomery@gmail.com>
Co-authored-by: Magnus Jensen <magnus@fleetdm.com>
Co-authored-by: Dante Catalfamo <43040593+dantecatalfamo@users.noreply.github.com>
2026-02-20 17:45:47 -06:00
Brock Walters abe588456a Create openclaw-detection.policies.yml (#40209)
Asset in
https://fleetdm.com/guides/mitigation-assets-and-detection-patterns-for-ai-agents-like-openclaw
article.
2026-02-20 16:10:06 -05:00
Brock Walters e3647853bd Create openclaw-detection.queries.yml (#40210)
Asset in
https://fleetdm.com/guides/mitigation-assets-and-detection-patterns-for-ai-agents-like-openclaw
article.
2026-02-20 15:42:17 -05:00
Rachael Shaw ee3ce0e624 API docs: "Device token" -> "Fleet Desktop token" (#40193)
To be consistent with naming in @noahtalerman's PR:
https://github.com/fleetdm/fleet/pull/40017
2026-02-20 13:22:55 -05:00
Steven Palmesano c303f7f0e6 Windows scripts update (#40107)
- Add install ChatGPT script.
- Update turn on MDM script with some changes from the script above.

I tested the turn on MDM script after making these updates.
2026-02-19 13:58:10 -06:00
Connor HughesandRachael Shaw 2863b8cf6d Update SSO configuration steps in documentation (#39970)
Added steps for enabling SSO for a test user in Entra.

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

---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
2026-02-18 17:01:01 -06:00
Jordan Montgomery f5b706ea8d Add callout for module build failures (#39965)
Reading docs as part of oncall responsibilities and was reminded of
[this
discussion](https://fleetdm.slack.com/archives/C019WG4GH0A/p1771252998086309)
in Slack by Martin which referenced a recent JS module change that broke
`make generate` until developers ran `rm -rf node_modules`, so I added a
callout in the FAQ for it since I think this has happened a few times in
the past year
2026-02-18 16:56:01 -06:00
kiloconnect[bot]andBrock Walters 6b3809fb7b Add 'Disable Wi-Fi auto-join' macOS script to scripts library (#39813)
## Summary

Adds a new pre-baked script to the
[fleetdm.com/scripts](https://fleetdm.com/scripts) library: **Disable
Wi-Fi auto-join** for macOS.

## Changes

- Added a new entry to `docs/scripts.yml` in the macOS section
- The script disables auto-join for a specified Wi-Fi SSID using
`networksetup` and `PlistBuddy`/`defaults write`
- Based on [Alan Siu's
approach](https://www.alansiu.net/2026/01/22/scripting-disabling-auto-join-for-wi-fi-networks/)

## How to test

1. Build the website static content and verify the new script appears on
the /scripts page
2. Verify the script slug doesn't collide with existing scripts

---

Built for
[mikermcneil](https://fleetdm.slack.com/archives/D0AFASLRHNU/p1770980976219219?thread_ts=1770980373.078179&cid=D0AFASLRHNU)
by [Kilo for Slack](https://kilo.ai/features/slack-integration)

---------

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
Co-authored-by: Brock Walters <153771548+nonpunctual@users.noreply.github.com>
2026-02-18 15:32:28 -06:00
Noah Talerman efc67f8d09 Remove automation for audit-logs.md (#39937)
- Instead, changes to activity will be specified as a PR to
`audit-logs.md` in the reference doc release branch just like API and
YAML (GitOps) changes
2026-02-18 09:16:57 -05:00
melpike f437c13f19 Update Chrome security warning instructions (#39978) 2026-02-17 16:18:37 -06:00
Tim Lee a3bafe8818 Jetbrains override query (#39800) 2026-02-17 08:00:36 -07:00
Noah TalermanandRachael Shaw 495daf1006 API reference: How to filter hosts by platform (#39418)
Co-authored-by: Rachael Shaw <r@rachael.wtf>
2026-02-13 17:54:08 -06:00
Noah TalermanandRachael Shaw 5430f8760f API reference: Document what we know about "NotNow" (#39412)
- Document what we know about "NotNow"
- Context:
https://fleetdm.slack.com/archives/C050XE4CQNA/p1770244126667719?thread_ts=1769555555.606569&cid=C050XE4CQNA

---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
2026-02-13 17:45:41 -06:00
Rachael Shaw 8c33922230 Revert "[Audit logs] Start and end activities: macOS setup experience and MDM migration" (#39875)
Accidentally merged PR to auto-generated docs instead of closed
2026-02-13 16:40:07 -06:00
Noah TalermanandRachael Shaw ff502671d7 [Audit logs] Start and end activities: macOS setup experience and MDM migration (#39728)
Audit log changes for the following story:
- #29729

---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
2026-02-13 16:39:26 -06:00
Noah Talerman 3b800a5cfd fleetctl apply: Remove custom_settings if you don't want to touch profiles (#39790)
For the following bug:
- https://github.com/fleetdm/fleet/issues/37950
2026-02-13 09:33:37 -05:00
Marko Lisica 690802eef8 Update self-service web clip template (#39750)
Updated web clip template to match what we do in dogfood, except it's
using Fleet logo as an icon.

I also created a base64 icon as a single line to improve readability.

I removed the "full screen" option, so self-service now opens in the
default browser. This way, if a customer uses Jira or a similar tool as
the organization support URL, they don't need to re-authenticate.
2026-02-13 10:37:24 +01:00
Victor LyuboslavskyandLuke Heath 518cd746b9 Added Okta conditional access testing docs (#39804)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #39227

---------

Co-authored-by: Luke Heath <luke@fleetdm.com>
2026-02-12 17:51:53 -06:00
Lucas Manuel Rodriguez 50ad7edf6a Uncomment MySQL supported versions in the FAQ (#39760)
**Related issue:** https://github.com/fleetdm/fleet/issues/39694
2026-02-12 16:48:24 -06:00
Steven PalmesanoandBrock Walters 573bf877fe Create troubleshooting guide for users (#37774)
@ddribeiro After talking with Noah about troubleshooting and logs, I
thought it would be good if we created a user-facing guide for
troubleshooting. Our CSEs frequently send the same troubleshooting
information to customers when they report issues. We can empower
customers with one resource that they can work through, reducing the
significant amount of time in back-and-forth steps sent over Slack.

Also, we've talked about pulling the "Finding fleetd logs" section out
of the [Enroll hosts](https://fleetdm.com/guides/enroll-hosts) guide.
Perhaps when this is complete, we can link to this document from that
guide.

This certainly doesn't contain everything! Please bring the CSEs in to
flesh this out since they're in the day-to-day and have much more
knowledge regarding this than I do.

---------

Co-authored-by: Brock Walters <153771548+nonpunctual@users.noreply.github.com>
2026-02-12 14:34:54 -06:00
Steven Palmesano ca599be859 Use cameraAccess instead of cameraDisabled, which is deprecated (#39751)
Tested and confirmed that this works.
2026-02-12 15:19:24 -05:00
Noah Talerman 10299bd85b Contributor docs: Link to community PR process (#39555) 2026-02-12 12:43:09 -06:00
Adam BaaliandMarko Lisica f2f1f66d11 Add Windows MDM migration troubleshooting scripts and guide (#39548)
Closes #38916
Related: #34993, #33985, fleetdm/confidential#13228

## Changes

**Article update** (`articles/windows-mdm-setup.md`)
- Adds "Migrating from another MDM solution" subsection under **Manual
enrollment** with overview of common migration issues and links to
remediation scripts

**New scripts** (`docs/solutions/windows/scripts/`)
- `reset-mdm-enrollment-flag.ps1` — Resets MmpcEnrollmentFlag blocking
MDM status after migration
- `remove-stale-mdm-enrollment-records.ps1` — Clears orphaned enrollment
GUIDs, AAD discovery cache, and MS DM Server cache
- `fix-workplace-join-configuration.ps1` — Re-enables
Automatic-Device-Join task and configures Workplace Join policies
- `remove-unreachable-wsus-configuration.ps1` — Removes unreachable WSUS
server config that breaks Windows Update

## Context

Customers migrating Windows hosts from Intune to Fleet have been hitting
recurring enrollment issues, MDM status stuck on "Off," enrollment
errors (`0x80190190`, `0x8018000a`), and Windows Update breakage from
leftover RMM agents. These scripts consolidate the workarounds from
multiple customer engagements into self-serve remediation that can be
deployed via **Controls > Scripts**.

---------

Co-authored-by: Marko Lisica <83164494+marko-lisica@users.noreply.github.com>
2026-02-11 15:20:26 +01:00
Rachael Shaw d124acc493 Document how to change label name without clearing membership (#39443)
See https://github.com/fleetdm/fleet/issues/38947
2026-02-10 17:08:03 -06:00
Noah Talerman 59cff14a91 API reference: List hosts includes last_opened_at (#39573)
- When `populate_software=true`
- This came up in GitHub here:
https://github.com/fleetdm/fleet/issues/38645#issuecomment-3863021910
2026-02-10 17:07:30 -06:00
Marko Lisica 50d6dd2652 Remove 'fleet_maintained' field from policy and software endpoints (#39605)
This field doesn't exist. Probably accidentally merged.
2026-02-10 17:07:12 -06:00
Steven Palmesano 32e06e9488 Default type is dynamic (#39580)
Also change platform -> type.

Discussed in #38868.
2026-02-10 17:06:49 -06:00
Victor Lyuboslavsky fe24ff1d67 Fixed a bug where certain macOS app names could be ingested as empty strings due to incorrect ".app" suffix removal. (#39563)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #34620

# Checklist for submitter

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

## Testing

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


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

## Summary by CodeRabbit

## Bug Fixes
* Fixed an issue where macOS app names could become empty after removing
the ".app" extension. The app name extraction logic now correctly
handles edge cases, ensuring app names are properly ingested without
empty values.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-10 13:03:23 -06:00
Victor Lyuboslavsky ac508b9a40 Added contributor docs for SigNoz. (#39402)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #38607
2026-02-09 15:28:28 -06:00
Magnus JensenandJordan Montgomery a187842260 always send webhook while device is unmanaged for MDM migration (#39416)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #38322 

This PR utilizes the ping/status ticker that sees if the device is
Unmanaged (aka. not enrolled from a Fleet server perspective), if the
Migrate to Fleet flow before had set the `mdm_migration.txt` file, but
somehow not successfully unenrolled the device, we now keep sending it
if you trigger the modal again.

We wait 90seconds after start, so at most the user can go through the
flow every 90s, but the server has a hard limit on at most one webhook
every 3m, but still it means the user can wait a bit and retry and still
see the webhook gets sent now.

_PS: Updated the old migration test to go from 1,5m to ~2s execution
time with parallel and configurable waitForUnenrollment time (to allow
test to set lower values)

# 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

## fleetd/orbit/Fleet Desktop

- [x] 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))
- [x] If the change applies to only one platform, confirmed that
`runtime.GOOS` is used as needed to isolate changes
- [x] Verified that fleetd runs on macOS, Linux and Windows
- [x] Verified auto-update works from the released version of component
to the new version (see [tools/tuf/test](../tools/tuf/test/README.md))

---------

Co-authored-by: Jordan Montgomery <elijah.jordan.montgomery@gmail.com>
2026-02-09 14:08:54 -05:00