Commit Graph
81 Commits
Author SHA1 Message Date
Steven Palmesano 4a5e22137f Add fleetd debug script for Windows (#40831)
Also rename the macOS script for consistency.
2026-03-02 15:41:25 -06:00
Katheryn Satterlee 29451ffb87 Update manage-orbit-debug.sh by removing instructions (#40426)
Removed instructions that were added for a specific usecase.
2026-03-02 15:00:14 -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
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
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
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
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
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
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
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
Adam BaaliandBrock Walters 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
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
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
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 SatterleeandDale Ribeiro 0b6d7149ee Upload Import IdP users Tines workflow (#38701)
Co-authored-by: Dale Ribeiro <dale@fleetdm.com>
2026-01-23 12:03:30 -06:00
Dale Ribeiro ae7cfeb754 Fix typo in MDM Migration section of README (#38258) 2026-01-13 18:11:55 -06:00
Steven Palmesano 6080ca6a1e Add FDA pre-approval for fleetd (#37781) 2026-01-05 09:35:36 -05:00
Steven Palmesano 424ae271c8 Tines reorg (#37731)
Resolves #34967.
2025-12-29 13:04:49 -06:00
Steven Palmesano 239c1fd62b Solutions symlinks (#37732)
Documentation and one symlink created.

Also, moved an existing profile in the iOS directory and updated the
relevant article that links to it.
2025-12-29 12:42:56 -06:00
Rachael Shaw 45b162f940 Preview of v4.78.0 doc changes (#35929) 2025-12-19 17:07:58 -06:00
Steven Palmesano f955f233ec Fix dashes so the formatting will show correctly on GitHub (#37492)
Sorry for opening another PR on this! Not sure how, but some weird
dashes snuck in and it threw off the formatting.

Screenshots of the rich text before and after below.

<img width="1049" height="276" alt="Screenshot 2025-12-18 at 12 19 15"
src="https://github.com/user-attachments/assets/1fefafda-0b94-4f20-a39a-ace4fa874457"
/>
<img width="1077" height="322" alt="Screenshot 2025-12-18 at 12 20 38"
src="https://github.com/user-attachments/assets/ef7274d2-501a-4394-8c34-78a9a30c43c2"
/>
2025-12-19 09:43:55 -06:00
Steven Palmesano 0ae3392a4a Rename Android config profiles for consistency (#37486)
The file names should describe what they do, not the policies that they
use inside.
2025-12-19 09:43:38 -06:00
Steven Palmesano ccc75121b1 Add best practices to Solutions (#37489)
So we don't forget.
2025-12-18 12:08:56 -06:00
Steven PalmesanoandNoah Talerman 819ae07d3d Improve Windows migrate to Fleet notification (#37310)
This version shows the notification every five minutes, has a custom
title, runs in the user context, and has a more detailed message since
we no longer have the 255 character limit.

---------

Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
2025-12-17 15:35:44 -06:00
Steven Palmesano f9c15047cf Fix script reference (#37148)
Forgot to update the reference in the policy.
2025-12-17 15:35:33 -06:00
kitzyandDale Ribeiro 5e95a5eb4a Remove port 8220 from docker-compose configuration (#37004)
This port is not actually needed.

---------

Co-authored-by: Dale Ribeiro <dale@fleetdm.com>
2025-12-15 10:27:09 -05:00
Jake Stenger 2a5629248c For Github issue: 13323 (#36840)
[Github issue:
13323](https://github.com/fleetdm/confidential/issues/13323#event-21368586679)
2025-12-12 10:17:28 -08:00
Steven Palmesano 147814405d Add Wi-Fi profile example (#37177) 2025-12-12 08:26:47 -06:00
Ian Littman fe2a9a867e Swap minio to rustfs (#36851)
Resolves #36909.

# 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
2025-12-10 10:03:48 -06:00
Steven PalmesanoandNoah Talerman 7fb0ab105a Windows MDM migration notification (#36525)
Related to https://github.com/fleetdm/confidential/issues/12925

---------

Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
2025-12-08 14:10:46 -06:00
Steven Palmesano d70d8f0731 Add various restrictions profiles for Android (#36607)
Related to #34732
2025-12-05 15:32:37 -06:00
kitzy 58e254f1e4 Add Docker Compose deployment guide and configuration files (#36507)
- Add comprehensive Docker Compose deployment guide article
- Add docker-compose.yml with Fleet, MySQL, and Redis services
- Add env.example template with configuration options
- Include TLS setup options for both reverse proxy and direct TLS
- Add troubleshooting and production considerations

Resolves #33774
2025-12-04 12:11:59 -05:00
Steven Palmesano a2327f84af Add initial Android configuration profiles (#36227) 2025-11-25 15:32:43 -06:00
Mitch FranceseandBrock Walters 542e8ff259 Update links to example configuration profiles (#35420)
Fixing broken links in the article to point to absolute paths.

---------

Co-authored-by: Brock Walters <153771548+nonpunctual@users.noreply.github.com>
2025-11-12 15:08:18 -05:00
Dave SiedererandBrock Walters c61ea7e5cd Create aws-ec2-mac-setup.sh (#35217)
Script to run during the first launch of an AWS EC2 Mac instance to make
it easier to set up the Amazon Machine Image (AMI). Uses data from
https://github.com/aws-samples/amazon-ec2-mac-mdm-enrollment-automation/blob/main/Secret_SecretsManager_CF.yaml
that the AWS instance accesses at runtime.

Co-authored-by: Brock Walters <153771548+nonpunctual@users.noreply.github.com>
2025-11-05 12:51:24 -05:00
Dale Ribeiro c662f82f61 solutions folder cleanup (#35113) 2025-11-03 11:57:04 -05:00
Dale Ribeiro c2b458db99 Dale ios folder rename (#35112) 2025-11-03 11:54:16 -05:00
Dale Ribeiro fbefff8d79 added .keep file to add empty folders (#35109) 2025-11-03 11:45:48 -05:00
Dale Ribeiro 573d493bb5 Dale solutions cleanup 2 (#35108)
<!-- 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-03 11:30:04 -05:00
Dale Ribeiro fbdb0b7937 Delete docs/solutions/windows directory (#35107)
<!-- 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-03 11:21:30 -05:00
Steven Palmesano a042bfd5aa Add directory for Tines stories (#34947) 2025-11-01 13:48:22 -04:00
Jordan Montgomery f0e1b1425f Apply CDATA fix to a couple of problematic CSPs (#34830)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
Fixes CSPs that were having issues verifying on the call with
`customer-rembrandt`. Also removes a CSP that was a duplicate of another
- "disable Windows Remote Assistance – [UnsolicitedRemoteAssistance,
SolicitedRemoteAssistance].xml" was duplicated by "disable remote
assistance - [AllowRemoteAssistance].xml"
2025-10-30 13:49:23 -04:00
Harrison Ravazzolo c08dcac37e Update SCEP CSP Windows (#34885) 2025-10-29 19:30:34 -04:00