Commit graph

2733 commits

Author SHA1 Message Date
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 Jensen
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
Adam Baali
e62f451e9d
Fix command_line_flags placement in agent configuration docs (#39546)
## Changes

Fixes incorrect YAML example in
`docs/Configuration/agent-configuration.md` where `command_line_flags`
was shown nested under `config:` instead of at the top level.

**File changed:** `docs/Configuration/agent-configuration.md`

## What was wrong

The example in the `## config` section showed `command_line_flags`
indented under `config:`:

```yaml
config:
  options:
    distributed_interval: 3
    ...
  command_line_flags: #  WRONG - nested under config
    verbose: true
    ...
  decorators:
    ...
```

This is incorrect and causes the following error when applied via
`fleetctl apply` for team YAML files:

```
Error: applying teams: POST /api/latest/fleet/spec/teams received status 400 Bad Request: 
"command_line_flags" should be part of the top level object
```

## Correct placement

Per the original implementation in
[#7377](https://github.com/fleetdm/fleet/issues/7377),
`command_line_flags` must be a **top-level key** under `agent_options`,
at the same level as `config:`:

```yaml
config:
  options:
    distributed_interval: 3
    ...
  decorators:
    ...
  yara:
    ...
command_line_flags: #  CORRECT - top level, sibling of config
  verbose: true
  ...
```

This is consistent with:
- The [Configuration files
docs](https://fleetdm.com/docs/configuration/configuration-files) which
correctly show `command_line_flags: {}` at the top level
- Issue #7377 which states: *"The overrides setting does not accommodate
command_line_flags, which is why it is only allowed at the top-level
(and not inside config or every override)"*
- The overrides section of the same page which notes: *"the
command_line_flags key is not supported in the overrides"*

## Related issues
- Closes: https://github.com/fleetdm/confidential/issues/14206
- Closes: https://github.com/fleetdm/confidential/issues/14207

---------

Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
2026-02-09 12:16:31 -06:00
Noah Talerman
14158b2b68
GitOps reference: No label_membership_type (#39556)
- Currently defaults to empty manual label:
https://github.com/fleetdm/fleet/issues/38868
2026-02-09 11:25:44 -06:00
Jahziel Villasana-Espinoza
4a5de5c386
oncall doc updates (#39517) 2026-02-09 10:43:27 -05:00
Juan Fernandez
4657a6979e
Add activity for modified enroll secrets (#39292)
Resolves #36755 

When an user edits (add, updates or deletes) an enroll secret, then a
global activity should be generated.
2026-02-07 09:21:10 -04:00
Noah Talerman
67a78314d7
YAML reference: For packages, add via UI and copy hash_sha256 (#39434)
- This is we added ability to add a package via the UI in GitOps mode
2026-02-06 16:00:37 -05:00
Steven Palmesano
6a3578ce46
Update Jamf API endpoints (#39146)
Discussed at
https://macadmins.slack.com/archives/C0214NELAE7/p1769719765777279
- The endpoints for marking a device as unmanaged and sending an
unmanage command were deprecated and no longer work. The endpoint for
looking up a device by serial number was also deprecated, so I've
proactively updated it.
- The whole story is now refactored and simplified.
- Also fixed a link in the `tines` README.
2026-02-06 13:58:40 -06:00
Steven Palmesano
3b562c2ffb
Fix Apple's spelling errors (#39464)
stving -> string
PayloamVersion -> PayloadVersion
PaylpadRemovalDisallowed -> PayloadRemovalDisallowed

Originally reported at
https://macadmins.slack.com/archives/C0214NELAE7/p1770365345839839

Looks like we just copied from [Apple's
example](https://developer.apple.com/documentation/devicemanagement/install-profile-command),
which has the errors.
2026-02-06 13:37:40 -06:00
Magnus Jensen
bce4c4afae
remove old Windows MDM PoC tool (#39473)
This PR cleans up an old tool/windows-mdm-poc, that we no longer use or
rely on.

It is also an effort to minimze inline dependencies when unused.
2026-02-06 13:55:16 -05:00
Victor Lyuboslavsky
b0f4318fb9
Added OTEL contributor docs (#39285)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #38607
2026-02-05 07:21:27 -06:00
Juan Fernandez
2935236802
False negative vulnerability for Adobe Acrobat Reader DC (#39131)
Resolves #35366 

The false negative was caused by a mismatch in product name translation
for `acrobat_reader_dc`. The resolution required platform-specific logic
to accurately identify the "Document Cloud" (DC) variants.
2026-02-05 07:20:16 -04:00
Noah Talerman
cc038aefbb
Update configuration-for-contributors.md (#39355) 2026-02-04 15:14:39 -06:00
Noah Talerman
996f5d450f
JIT guide: Simplify language (#39306)
Users sometimes missing the step "Create user and sync permissions on
login": https://github.com/fleetdm/fleet/issues/38438
2026-02-04 11:32:12 -06:00
Rachael Shaw
d401334d4c
Clearer callout clarifying hostname is not the same as display name (#39274) 2026-02-03 17:03:29 -06:00
Martin Angers
9dd41214f4
Update contributor API docs to add optional custom display name and icon for setup experience software (#39262)
Docs changes for https://github.com/fleetdm/fleet/pull/39223
2026-02-03 16:43:09 -06:00
Adam Baali
e51561914b
Add Windows SCEP profile with Exec support and $FLEET_VAR_HOST_HARDWARE_SERIAL for Okta certificate enrollment (#39204)
This pull request updates the Okta Verify on Windows SCEP configuration
documentation and profile to simplify deployment with Fleet and reduce
manual steps. The changes make the process more reliable by
standardizing variable usage, improving instructions, and automating
certificate enrollment.

**Key improvements and changes:**

**Documentation and workflow simplification:**
- The guide in
`articles/enable-okta-verify-on-windows-using-a-scep-configuration-profile.md`
was rewritten for clarity and to reflect the new automated approach.
Manual editing of XML and scripts is no longer needed; Fleet-managed
variables and secrets now handle all required values. Steps for
gathering prerequisites, deploying, verifying, and renewing certificates
are streamlined, and troubleshooting guidance is expanded.

- The subject name in the certificate is now set to use the hardware
serial (`$FLEET_VAR_HOST_HARDWARE_SERIAL`) instead of the host UUID,
improving uniqueness and traceability.
([docs/solutions/windows/configuration-profiles/install Okta attestation
certificate -
[Bundle].xmlL77-R89](diffhunk://#diff-d8fc2c8add5725599bdc41a7b417dc3978cfc34eb6fcb8950db513f2b5799aa5L77-R89))

**Secret management and security:**
- The configuration profile now references Fleet secrets
(`$FLEET_SECRET_OKTA_SCEP_URL`, `$FLEET_SECRET_OKTA_SCEP_CHALLENGE`,
`$FLEET_SECRET_OKTA_CA_THUMBPRINT`) directly, removing the need for
manual substitution and reducing risk of misconfiguration.
([docs/solutions/windows/configuration-profiles/install Okta attestation
certificate -
[Bundle].xmlL98-R141](diffhunk://#diff-d8fc2c8add5725599bdc41a7b417dc3978cfc34eb6fcb8950db513f2b5799aa5L98-R141))

**Automated certificate enrollment:**
- An `<Exec>` command is added to the XML profile to automatically
trigger SCEP enrollment upon deployment, further reducing manual
intervention. ([docs/solutions/windows/configuration-profiles/install
Okta attestation certificate -
[Bundle].xmlL98-R141](diffhunk://#diff-d8fc2c8add5725599bdc41a7b417dc3978cfc34eb6fcb8950db513f2b5799aa5L98-R141))

These changes make the Okta Verify SCEP configuration for Windows much
easier to deploy and maintain, with improved automation and clearer
instructions.

---------

Co-authored-by: Brock Walters <153771548+nonpunctual@users.noreply.github.com>
2026-02-03 16:47:53 +01:00
Noah Talerman
d6a98764aa
New Fleet instances: New best practice teams (#39181)
- All new Fleet Premium instances get new best practice teams
- Remove policies, queries, and scripts to simplify
2026-02-03 09:36:57 -05:00
Rachael Shaw
dafc8f6752
Preview of v4.80.0 doc changes (#37193)
This PR will remain in draft as a preview of upcoming documentation
changes for 4.80.0

---------

Co-authored-by: Marko Lisica <83164494+marko-lisica@users.noreply.github.com>
Co-authored-by: Lucas Manuel Rodriguez <lucas@fleetdm.com>
Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
Co-authored-by: Magnus Jensen <magnus@fleetdm.com>
Co-authored-by: Jordan Montgomery <elijah.jordan.montgomery@gmail.com>
Co-authored-by: Scott Gress <scottmgress@gmail.com>
Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
Co-authored-by: Nico <32375741+nulmete@users.noreply.github.com>
Co-authored-by: Luke Heath <luke@fleetdm.com>
2026-02-02 17:41:37 -06:00
Noah Talerman
09b52289b1
YAML reference: FLEET_VAR_HOST_HARDWARE_SERIAL is supported on Windows (#39193)
@rachaelshaw: I want to see how this change got lost.

Shipped in #34364
2026-02-02 15:43:33 -06:00
Jordan Montgomery
951552ea74
Add MDM Bug checklist (#39058)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #38223

Retrospective action item from a prior sprint. Do we want to link this
somewhere like the bug template or is it enough to share it with our
customer-facing employees?

---------

Co-authored-by: Magnus Jensen <magnus@fleetdm.com>
2026-02-02 13:56:38 -05:00
Steven Palmesano
5df6a89b0a
Add Suppress iWork Upgrade Prompt (#39052) 2026-01-30 09:18:31 -05:00
Dale Ribeiro
9b532c9936
Solutions folder script name cleanup (#38951) 2026-01-29 20:39:20 -05:00
Noah Talerman
4a2b6f7007
Supported host operating systems (#39026)
Fleet doesn't test Red Hat Enterprise Linux 10

---------

Co-authored-by: Ian Littman <iansltx@gmail.com>
2026-01-29 17:27:58 -06:00
Steven Palmesano
b1ce6b9d41
Move Entity ID note above screenshot (#38952)
A customer just commented that it would be more relevant if this note
block for the Entity ID was above the screenshot, since it goes with the
preceding paragraph.

---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
2026-01-29 11:49:48 -06:00
Josh Roskos
a38ca21d2d
Add downloadCloudflareWARP.ps1 (#38933)
Created for `customer-calabria`. Installs Cloudflare WARP and adds
variables for common organization configuration options.
```
# Define variables
$downloadUrl = "https://downloads.cloudflareclient.com/v1/download/windows/ga"
$tempDir = $env:TEMP
$installerPath = Join-Path $tempDir "Cloudflare_WARP.msi"
$organization = "your-team-name"   # Replace with your Cloudflare Zero Trust organization name
$serviceMode = "1dot1"             # Gateway with DoH mode (options: warp, 1dot1, proxy, postureonly, tunnelonly)
$autoConnect = 2                   # Auto-reconnect after N minutes (0 = indefinite off, 1-1440 = minutes)
$displayName = "display-name"      # Organization display name in WARP GUI
$onboarding = $false               # Show privacy policy screens on first launch
$switchLocked = $true              # Prevent users from manually disabling WARP
```
2026-01-28 15:25:40 -05:00
Marko Lisica
009f019307
Update Android MDM documentation with localhost note (#38840) 2026-01-28 13:50:53 -06:00
Victor Lyuboslavsky
bed1b5763c
Added Go style guide with an exception for package names. (#38888)
From Jan 27, 2026 Backend sync.
2026-01-27 16:31:43 -06:00
Steven Palmesano
6a0471c120
Keep Entity ID consistent (#37936)
Users run into issues when trying to configure SSO, because we use
Entity ID three different ways in our docs.
2026-01-27 16:12:23 -06:00
Steven Palmesano
97d8ba4e23
Remove extraneous setup_experience (#38799) 2026-01-27 16:11:16 -06:00
Marko Lisica
b8c342d5c0
Explain what is enrollment ID for personal hosts (#38829) 2026-01-27 16:10:42 -06:00
Noah Talerman
658926aacc
GitOps reference (#38862)
- Ran into this when dogfooding
2026-01-27 16:09:26 -06:00
Victor Lyuboslavsky
83624c0b57
ADR-0008: Migrate from go-kit/log to slog (#38751) 2026-01-26 15:50:31 -06:00
Victor Lyuboslavsky
9702bf2928
Updated modular monolith architecture README with the patterns uncovered so far (#38533) 2026-01-26 15:25:55 -06:00
Noah Talerman
0c3293dd3c
API reference: Human friendly docs for API endpoints that take multipart/form-data (#37674)
- During Product office hours on 2025-12-23, we learned that no one on
the call knew what the current request body format was for API endpoints
that take `multipart/form-data`
- We think the updated format is more friendly for humans who are using
curl/Postman
- We later learned that this the current format is the raw request
(formatted by a browser or curl command)
- Also update "form" to "body" in the "Parameters" table. We learned
that the form data is actually part the body. Postman's UI shows this.
2026-01-26 15:22:24 -05:00
Marko Lisica
560a4ee14d
Update Android version requirement to 14 (#38712)
We officially support the last two major versions. The latest version is
Android 16, and the most recent stable version was released six months
ago.
2026-01-26 11:54:03 -06:00
kitzy
501f72e02e
Pin MySQL and Redis images in docker-compose.yml (#38759) 2026-01-25 14:09:30 -08:00
Katheryn Satterlee
37fec8d655
Update query for Fleet osquery policy (#38456)
The policy currently returns a value in both a good and bad state.
Updated to use `SELECT 1`
2026-01-25 16:04:07 -05:00
Katheryn Satterlee
0b6d7149ee
Upload Import IdP users Tines workflow (#38701)
Co-authored-by: Dale Ribeiro <dale@fleetdm.com>
2026-01-23 12:03:30 -06:00
Noah Talerman
30674b6094
Fleet server configuration: Remove apple_scep_signer_allow_renewal_days (#38538)
- This config doesn't exist
2026-01-21 17:37:15 -05:00
melpike
2ecec2b0aa
Clarify instructions for API-only user creation (#38387)
Rephrase instructions for creating API-only users for clarity.

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

---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
2026-01-21 15:19:06 -06:00
Steven Palmesano
897787b1ac
Add link to our issue for SCIM support (#38460)
Re: https://fleetdm.slack.com/archives/C07MYE3KKPX/p1768331054297279
2026-01-21 15:17:33 -06:00
Jonathan Katz
902b5a5d6a
Contributor API docs update (#38517)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #37264 
Adds a fleet maintained app example with the new `slug` field in the
response for `/software/batch/:request_uuid` from #38497
See the PR above for an explanation on why this was added.

---------

Co-authored-by: Marko Lisica <83164494+marko-lisica@users.noreply.github.com>
2026-01-20 14:57:15 -05:00
Martin Angers
9db733a5dc
Clarify when the browser field is included, along with the extension_for field (#38494)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #31519
2026-01-19 16:08:25 -06:00
Noah Talerman
c1e2b637f9
API and YAML reference: Add missing interval field for policy automations (#38382)
How we learned we were missing these:
https://github.com/fleetdm/fleet/pull/38325#discussion_r2691714596

---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
Co-authored-by: Lucas Manuel Rodriguez <lucas@fleetdm.com>
2026-01-16 15:19:21 -06:00
Jordan Montgomery
7943fb5666
Update MDM instructions in design QA considerations (#38371)
Clarified MDM design considerations for testing Android, Windows, and
Apple MDM to make us think about turning off all MDMs (ref #38369)
2026-01-15 09:54:02 -06:00
Martin Angers
6879afdbfb
Fix activity docs via code generation (#38340) 2026-01-14 16:37:46 -06:00
Rachael Shaw
bcf5ebd019
Preview of v4.79.0 doc changes (#35930)
This PR will remain in draft as a preview of upcoming documentation
changes for 4.79.0

---------

Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
Co-authored-by: Marko Lisica <83164494+marko-lisica@users.noreply.github.com>
Co-authored-by: Magnus Jensen <magnus@fleetdm.com>
Co-authored-by: Ian Littman <iansltx@gmail.com>
Co-authored-by: Lucas Manuel Rodriguez <lucas@fleetdm.com>
Co-authored-by: melpike <79950145+melpike@users.noreply.github.com>
Co-authored-by: Steven Palmesano <3100993+spalmesano0@users.noreply.github.com>
Co-authored-by: Carlo <1778532+cdcme@users.noreply.github.com>
2026-01-14 14:47:06 -06:00
jacobshandling
bbef36a0b7
Compute, ingest, persist, and serve .app bundle executable hashes and paths (#38118) 2026-01-14 09:18:35 -08:00
Dale Ribeiro
ae7cfeb754
Fix typo in MDM Migration section of README (#38258) 2026-01-13 18:11:55 -06:00