-
Notifications
You must be signed in to change notification settings - Fork 980
[Docs] Enhance automations documentation with configuration profiles #51141
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
melpike
wants to merge
2
commits into
docs-v4.92.0
Choose a base branch
from
melpike-docs-policy-profile-40637
base: docs-v4.92.0
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+58
−3
Open
Changes from all commits
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
54 changes: 54 additions & 0 deletions
54
articles/policy-automation-resend-configuration-profile.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,54 @@ | ||
| # Automatically resend configuration profiles | ||
|
|
||
| Fleet can automatically resend a configuration profile to a host when it fails a policy check. This is useful for re-enforcing settings like certificate renewal, Wi-Fi configuration, Santa daemon health, or CIS Benchmark compliance. | ||
|
|
||
| ## Prerequisites | ||
|
|
||
| - MDM turned on for the fleet and hosts enrolled. | ||
| - The configuration profile must already be added to the fleet's **Controls** > **OS settings** > **Configuration profiles** > **Profiles** and assigned to the host. | ||
|
|
||
| ## Step-by-step instructions | ||
|
|
||
| 1. **Add a configuration profile**: Navigate to **Controls** > **OS settings** > **Configuration profiles** > **Profiles**, select the fleet, and add the configuration profile you want to resend. Learn how in the [custom OS settings guide](https://fleetdm.com/guides/custom-os-settings). | ||
|
|
||
| 2. **Add a policy**: Navigate to **Policies**, select the fleet, and click **Add policy**. Write a policy query that fails when the configuration needs to be re-enforced and click **Save**. For example, a policy that checks if FileVault is enabled: | ||
|
|
||
| ```sql | ||
| SELECT 1 FROM disk_encryption WHERE encrypted = 1; | ||
| ``` | ||
|
|
||
| 3. **Set the automation**: In the **Save policy** modal, click **Add automations**, then click the checkbox next to **Resend configuration profile**. From the dropdown, select the profile you want to resend. Click **Save**. | ||
|
|
||
| When a host fails the selected policy, Fleet will resend the configuration profile to the host. | ||
|
|
||
| If you need to retrigger the automation on hosts that had previously failed, deselect the policy in the **Policies > Manage automations** modal, click Save, and then reselect the policy. This will reset the policy's host passing and failing host counts and retrigger the resend. | ||
|
|
||
| ## How does it work? | ||
| - Online hosts report policy status on a configurable cadence, with hourly default. | ||
| - Fleet will resend the configuration profile on the first policy failure or if a policy goes from "Pass" to "Fail". By default, policies that remain failing for a host in consecutive reports will not trigger a resend. | ||
| - To resend the profile on every failing result, including consecutive failures, set `continuous_automations_enabled` to `true` on the policy (_Available in Fleet Premium_). Because this can retry a resend that doesn't resolve the policy, it may cause a retry loop. | ||
| - If the profile is already pending or verifying delivery, Fleet will skip the resend to avoid interrupting an in-flight delivery. | ||
| - If the profile is not assigned to the host, Fleet will skip the resend (no error is raised). | ||
|
|
||
| > When the configuration profile automation on a policy is added or changed, the policy's status will reset for associated hosts. This allows the resend to trigger on hosts that had previously failed the policy. | ||
|
|
||
| ## Via the API | ||
| Configuration profile policy automation can be managed by setting the `profile_uuid` field on the Fleet REST API's [Add team policy](https://fleetdm.com/docs/rest-api/rest-api#add-team-policy) or [Edit team policy](https://fleetdm.com/docs/rest-api/rest-api#edit-team-policy) endpoints. | ||
|
|
||
| ## Via GitOps | ||
| To configure configuration profile policy automation via GitOps, nest a `resend_configuration_profile` entry under the policy you want to automate, using the `name` of a profile defined in the same fleet's `controls` section. See the GitOps reference documentation for an example. | ||
|
|
||
| ```yaml | ||
| policies: | ||
| - name: "macOS - FileVault enabled" | ||
| query: "SELECT 1 FROM disk_encryption WHERE encrypted = 1;" | ||
| platform: darwin | ||
| resend_configuration_profile: | ||
| name: "Passcode requirements" | ||
| ``` | ||
|
|
||
| <meta name="articleTitle" value="Automatically resend configuration profiles"> | ||
| <meta name="authorFullName" value="Fleet"> | ||
| <meta name="category" value="guides"> | ||
| <meta name="publishedOn" value="2026-08-13"> | ||
| <meta name="description" value="A guide to automatically resending configuration profiles when hosts fail a policy in Fleet."> | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this should be removed per our discussions