Add GCP okta-conditional-access addon#223
Open
robbiet480 wants to merge 4 commits intofleetdm:mainfrom
Open
Conversation
Creates addons/gcp/okta-conditional-access/ — a GCP-native equivalent of the existing AWS okta-conditional-access addon. Uses ServerTLSPolicy + TrustConfig to enable mTLS on the existing Application Load Balancer (no separate LB needed). Updates gcp/byo-project to accept optional server_tls_policy, backend_custom_request_headers, and okta_subdomain inputs. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
7cbb1fd to
e84505f
Compare
e84505f to
826ff2c
Compare
- ignore_changes on client_validation_trust_config: GCP returns project number instead of ID in state, causing unnecessary destroy/recreate - ignore_changes on terracurl_request headers: bearer token rotates each apply, was forcing replacement of the migration job trigger every time Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
addons/gcp/okta-conditional-access/— a GCP-native equivalent of the existing AWSokta-conditional-accessaddongcp/byo-projectwith three new optional inputs:server_tls_policy,backend_custom_request_headers, andokta_subdomainArchitecture
GCP's
ServerTLSPolicyapplies at the HTTPS proxy level — attaching it to the main proxy enforces mTLS on the Fleet UI too. To avoid that, this addon provisions a dedicated second proxy and global IP forokta.<fleet_domain>, leaving the main Fleet UI proxy untouched and mTLS-free.Both proxies share the same URL map and backend service. The mTLS proxy forwards the client cert serial to Fleet via
X-Client-Cert-Serial.When
okta_subdomainis set,gcp/byo-projectautomatically:fleet-okta-ip)okta.<fleet_domain>onlyServerTLSPolicyattached/api/fleet/conditional_access/idp/ssoto the okta subdomainokta.<fleet_domain>pointing to the new IPDifferences from AWS Addon
TrustConfig(no object storage needed){client_cert_serial_number}Disclosure
This module was written with Claude (Anthropic) as a coding assistant. I reviewed the implementation, tested it end-to-end, and have been running it in production at CampusGroup with Okta conditional access enabled on our Fleet deployment since April 2026.
Test plan
terraform validatepassesgcp/byo-projectFleet stackfleet-okta-https-proxyhasServerTLSPolicyattachedX-Client-Cert-Serialheader is forwarded to Fleet on mTLS connections on the okta subdomainokta.*subdomain/api/fleet/conditional_access/idp/sso) routes correctly🤖 Generated with Claude Code, reviewed and deployed by @robbiet480