fleet/cmd/fleetctl/fleetctl/testdata/expectedGetConfigIncludeServerConfigYaml.yml
Victor Lyuboslavsky 949a1eeabb
Add sso_server_url configuration for dual URL SSO setups (#31497)
This change allows configuring a separate URL for SSO callbacks, which
is useful when organizations have different URLs for admin access vs
agent/API access.

Fixes #31480 the SSO issue where organizations with dual URL setups were
getting 'Destination does not match requested URL' errors after
upgrading to v4.71.0 with the new SAML library.

Video demo: https://www.youtube.com/watch?v=dFzNpUY3XKI

# 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
- [ ] QA'd all new/changed functionality manually

## New Fleet configuration settings

- [x] Verified that the setting is exported via `fleetctl
generate-gitops`
- [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)
  - Same PR since this is going to be a 4.71.1 patch
- [ ] 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)
- [x] Verified that any relevant UI is disabled when GitOps mode is
enabled

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

## Summary by CodeRabbit

* **New Features**
* Added support for configuring a dedicated SSO URL, allowing
organizations to restrict SSO authentication to a specific URL.
* The new SSO URL option is available in both the UI and API
configuration settings.

* **Documentation**
* Updated configuration and API documentation to include the new SSO URL
option with usage examples.

* **Bug Fixes**
* Resolved authentication issues for organizations using separate URLs
for admin and agent/API access.

* **Tests**
* Added new unit and integration tests to verify SSO behavior with and
without the dedicated SSO URL.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-01 20:32:15 +02:00

187 lines
4.6 KiB
YAML

---
apiVersion: v1
kind: config
spec:
fleet_desktop:
transparency_url: https://fleetdm.com/transparency
host_expiry_settings:
host_expiry_enabled: false
host_expiry_window: 0
activity_expiry_settings:
activity_expiry_enabled: false
activity_expiry_window: 0
features:
enable_host_users: true
enable_software_inventory: false
integrations:
conditional_access_enabled: null
custom_scep_proxy: null
digicert: null
google_calendar: null
jira: null
ndes_scep_proxy: null
zendesk: null
mdm:
android_enabled_and_configured: false
apple_business_manager: null
apple_server_url: ""
volume_purchasing_program: null
apple_bm_enabled_and_configured: false
apple_bm_terms_expired: false
enabled_and_configured: false
windows_enabled_and_configured: false
enable_disk_encryption: false
windows_require_bitlocker_pin: null
windows_migration_enabled: false
macos_migration:
enable: false
mode: ""
webhook_url: ""
macos_updates:
minimum_version: null
deadline: null
ios_updates:
minimum_version: null
deadline: null
ipados_updates:
minimum_version: null
deadline: null
windows_updates:
deadline_days: 7
grace_period_days: 3
macos_settings:
custom_settings:
macos_setup:
bootstrap_package:
enable_end_user_authentication: false
enable_release_device_manually: false
macos_setup_assistant:
manual_agent_install:
script:
software:
windows_settings:
custom_settings:
end_user_authentication:
idp_name: ""
issuer_uri: ""
metadata: ""
metadata_url: ""
entity_id: ""
scripts: null
license:
expiration: "0001-01-01T00:00:00Z"
tier: free
managed_cloud: false
logging:
debug: true
json: false
result:
config:
enable_log_compression: false
enable_log_rotation: false
result_log_file: /dev/null
status_log_file: /dev/null
audit_log_file: /dev/null
max_age: 0
max_backups: 0
max_size: 500
plugin: filesystem
status:
config:
enable_log_compression: false
enable_log_rotation: false
result_log_file: /dev/null
status_log_file: /dev/null
audit_log_file: /dev/null
max_age: 0
max_backups: 0
max_size: 500
plugin: filesystem
audit:
config:
enable_log_compression: false
enable_log_rotation: false
result_log_file: /dev/null
status_log_file: /dev/null
audit_log_file: /dev/null
max_age: 0
max_backups: 0
max_size: 500
plugin: filesystem
org_info:
org_logo_url: ""
org_logo_url_light_background: ""
org_name: ""
contact_url: https://fleetdm.com/company/contact
server_settings:
deferred_save_host: false
enable_analytics: false
live_query_disabled: false
query_report_cap: 0
query_reports_disabled: false
server_url: ""
scripts_disabled: false
ai_features_disabled: false
smtp_settings:
authentication_method: ""
authentication_type: ""
configured: false
domain: ""
enable_smtp: false
enable_ssl_tls: false
enable_start_tls: false
password: ""
port: 0
sender_address: ""
server: ""
user_name: ""
verify_ssl_certs: false
sso_settings:
enable_jit_provisioning: false
enable_jit_role_sync: false
enable_sso: false
enable_sso_idp_login: false
entity_id: ""
idp_image_url: ""
idp_name: ""
issuer_uri: ""
metadata: ""
metadata_url: ""
sso_server_url: ""
update_interval:
osquery_detail: 1h0m0s
osquery_policy: 1h0m0s
vulnerabilities:
cpe_database_url: ""
cpe_translations_url: ""
current_instance_checks: ""
cve_feed_prefix_url: ""
databases_path: ""
disable_data_sync: false
disable_win_os_vulnerabilities: false
periodicity: 0s
recent_vulnerability_max_age: 0s
vulnerability_settings:
databases_path: /some/path
webhook_settings:
activities_webhook:
enable_activities_webhook: false
destination_url: ""
failing_policies_webhook:
destination_url: ""
enable_failing_policies_webhook: false
host_batch_size: 0
policy_ids: null
host_status_webhook:
days_count: 0
destination_url: ""
enable_host_status_webhook: false
host_percentage: 0
interval: 0s
vulnerabilities_webhook:
destination_url: ""
enable_vulnerabilities_webhook: false
host_batch_size: 0
gitops:
gitops_mode_enabled: false
repository_url: ""