Skip to content

[API/YAML] Windows setup experience: If software fails cancel setup#42046

Merged
rachaelshaw merged 1 commit intodocs-v4.85.0from
38785-api-yaml-docs-v4.85.0-backport
Mar 19, 2026
Merged

[API/YAML] Windows setup experience: If software fails cancel setup#42046
rachaelshaw merged 1 commit intodocs-v4.85.0from
38785-api-yaml-docs-v4.85.0-backport

Conversation

@kilo-code-bot
Copy link
Copy Markdown
Contributor

@kilo-code-bot kilo-code-bot Bot commented Mar 19, 2026

Summary

Backport of #40788 to the docs-v4.85.0 branch.

Related to:

Changes

  • Renames macos_setup to setup_experience in YAML configuration docs
  • Splits require_all_software into require_all_software_macos and require_all_software_windows parameters
  • Adds require_all_software_windows parameter to the REST API docs

Built for Marko Lisica by Kilo for Slack

@kilo-code-bot kilo-code-bot Bot requested a review from rachaelshaw as a code owner March 19, 2026 10:16
Copy link
Copy Markdown

@claude claude Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code Review

This repository is configured for manual code reviews. Comment @claude review to trigger a review.

@marko-lisica marko-lisica changed the title [API/YAML] Windows setup experience: If software fails cancel setup (docs-v4.85.0 backport) [API/YAML] Windows setup experience: If software fails cancel setup Mar 19, 2026
- `manual_agent_install` specifies whether Fleet's agent (fleetd) will be installed as part of setup experience. Applies to macOS only (default: `false`)
- `enable_end_user_authentication` specifies whether or not to require end user authentication when the user first sets up their host. Applies to macOS, Windows, Linux, iOS/iPadOS, and Android.
- `require_all_software` specifies whether to cancel setup on a macOS host if any software installs fail.
- `require_all_software_macos` specifies whether to cancel setup on a macOS host if any software installs fail.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dev note

  • Rename require_all_software to require_all_software_macos. Keep old field name for backwards compatibility.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO @marko-lisica: error message in case user have both require_all_software and require_all_software_macos specified.


```yaml
macos_setup:
setup_experience:
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dev note

Rename macos_setup to setup_experience, and keep the old name for backwards compatibility.

@rachaelshaw rachaelshaw merged commit 6699d23 into docs-v4.85.0 Mar 19, 2026
5 checks passed
@rachaelshaw rachaelshaw deleted the 38785-api-yaml-docs-v4.85.0-backport branch March 19, 2026 22:57
getvictor added a commit that referenced this pull request Apr 6, 2026
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #42853

This PR simply adds the `require_all_software_windows` config option. It
doesn't use it. The logic to use it will be hooked up in subsequent PRs.

The fleetctl TestIntegrationsPreview test is expected to fail since it
builds the server against main and doesn't know about our new config
option.

# 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`.

## Testing

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

## New Fleet configuration settings

- [x] Verified that the setting is exported via `fleetctl
generate-gitops`
- Not exported. generate-gitops does not export
require_all_software_windows (or require_all_software_macos either). The
generateControls function (generate_gitops.go) outputs a "TODO: update
with your setup_experience configuration" placeholder when any setup
experience config exists, rather than exporting individual field values.
This is a pre-existing limitation that applies equally to both fields -
not something introduced by our PR.
- [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)
- Yes. PR #42046 adds require_all_software_windows to both docs/REST
API/rest-api.md and docs/Configuration/yaml-files.md.
- [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)
- Yes, it gets cleared to false - both when setup_experience: is present
without the field, and when setup_experience: is omitted entirely. This
is the same behavior as the existing require_all_software_macos field
- [x] Verified that any relevant UI is disabled when GitOps mode is
enabled
- Covered by #42854 (frontend subtask). The existing macOS checkbox in
InstallSoftwareForm.tsx:271 already checks gitOpsModeEnabled to disable
itself. The Windows checkbox to be added in #42854 will follow the same
pattern.


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

## Summary by CodeRabbit

* **New Features**
* Added a Windows setup experience software requirement setting. When
enabled, Windows devices will cancel the Autopilot setup if any required
software installation fails.

* **Tests**
* Added test coverage for the new Windows software requirement
configuration.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants