
Skill
sdaf-sovereign-cloud
explain Azure Government cloud deltas
Description
Explain the current SDAF sovereign-cloud deltas without inventing a generic "all sovereigns" runbook. Focus on Azure Government only: the GitHub Actions cloud values `ARM_ENVIRONMENT=usgovernment`, `AZURE_ENVIRONMENT=AzureUSGovernment`, and `AZURE_AUDIENCE=api://AzureADTokenExchangeUSGov`; the Government `dns_zone_names` block; `USAR` / `USTE` / `USVI`; the 3.22+ image boundary; and the documented Government login, client-secret, SKU, and private-endpoint failure signatures. Use when a user says "Azure Government", "sovereign cloud", "ARM_ENVIRONMENT", "AZURE_AUDIENCE", "AADSTS900382", "USVI", or "Government DNS zones". Do NOT use for generic stage execution or to infer Azure China / German procedures from cloud-name literals alone.
SKILL.md
SDAF Sovereign Cloud
Context-primer. Explains the currently sourced sovereign-cloud deltas for SDAF
without promising parity across every surface or Azure cloud. The operator path
in scope is Azure Government. For exact anchors, commands, and ownership
boundaries, see
references/documented-cloud-boundaries.md.
When to invoke
Trigger on: "Azure Government", "sovereign cloud", "ARM_ENVIRONMENT", "AZURE_AUDIENCE", "AADSTS900382", "USVI", "Government dns_zone_names", "wrong azure/login cloud", "Government VM size not available".
Do NOT trigger on: generic control-plane/workload-zone/SAP-system deployment, a general private-endpoint policy design decision, or unsupported-cloud enablement.
Scope boundary
Teach only Azure Government deltas that current SDAF docs or code explicitly name.
CHANGELOG/v3.22.0.0is the first release note in this repo that explicitly names Azure Government support in the GitHub Actions setup flow and addsUSAR,USTE, andUSVI.- The GitHub setup utility defines sovereign OIDC values only for
AzureUSGovernmentand rejects unknown clouds. - Local shell code also maps
AzureChinaCloudandAzureGermanCloud, but that alone is not an end-to-end operator runbook.
If the operator asks for China, German, or another sovereign path, say the current sources in scope do not publish that runbook and stop.
Cloud values that must move together
For the GitHub Actions surface, set these together:
ARM_ENVIRONMENT = usgovernmentAZURE_ENVIRONMENT = AzureUSGovernmentAZURE_AUDIENCE = api://AzureADTokenExchangeUSGov
Workflow 00 copies these values to the control-plane environment; workflow
02 propagates them to workload environments.
Do not set only one or two of them:
AZURE_ENVIRONMENTandAZURE_AUDIENCEsteerazure/login.ARM_ENVIRONMENTsteers theazurermprovider.- If Terraform later fails with
AADSTS900382, first check that every Terraform step is exportingARM_ENVIRONMENTwith the ARM credentials.
Region and configuration boundaries
Government region codes are documented in docs/region-codes.md:
usgovarizona→USARusgovtexas→USTEusgovvirginia→USVI
If a GitHub control-plane run shows Invalid index with an empty Region:,
treat the pinned DOCKER_IMAGE as the first boundary check. The documented
image gate for Government region codes is SDAF 3.22+.
For Azure Government generated WORKSPACES files, uncomment the Government
dns_zone_names block. For Public Azure, leave it commented. Do not enable
multiple DNS blocks.
For an Azure Government workload-zone deployment that fails with
PrivateEndpointCannotBeCreatedInSubnetThatHasNetworkPoliciesEnabled, set:
private_endpoint_network_policies = "Disabled"
Do not generalize that workaround to other clouds. If the operator needs the
broader workload-zone/network-policy decision, hand off to
sdaf-workload-zone.
Common documented Azure Government failure signatures
AADSTS900382during Terraform init/apply: Terraform is still targeting the wrong cloud endpoint. CheckARM_ENVIRONMENTfirst.azure/loginsucceeds against the wrong cloud: the workflow is missingAZURE_ENVIRONMENTand/orAZURE_AUDIENCE.AADSTS7000215orAADSTS700016: Terraform is not using the workflow's OIDC token. WhenUSE_MSI=false,ARM_CLIENT_SECRETmust exist and be valid in the running environment.SkuNotAvailable: query the subscription's offered sizes in the target region and set the stage-specific size variable; for the control plane, that variable isdeployer_size.
Hand-off
- GitHub Actions bootstrap or workflow mechanics: use the GitHub surface plugin or the referenced GitHub bootstrap docs.
- Local control-plane execution:
sdaf-control-plane-bootstrap. - Workload-zone execution or the broader network-policy choice:
sdaf-workload-zone. - SAP-system deployment:
sdaf-sap-system. - Symptoms outside the documented Government cases above:
sdaf-failure-triage.
Hard rules
- Do not infer an end-to-end China or German runbook from cloud-name literals alone.
- Do not apply Azure Government
dns_zone_namesor subnet-policy settings to Public Azure by default. - Do not treat
ARM_ENVIRONMENTas sufficient forazure/login, orAZURE_ENVIRONMENT/AZURE_AUDIENCEas sufficient for Terraform. - Do not claim Local/ADO/GitHub sovereign-cloud parity unless the cited source for that surface says so.
- If the question depends on an uncited cloud, surface, or workaround, say the current sources are silent and stop.
More skills from the sap-automation repository
View all 18 skillssdaf-bom-selection
select SAP Bill of Materials
Sep 2AzureConfigurationSAPsdaf-control-plane-bootstrap
deploy SDAF control plane infrastructure
Sep 2AzureDeploymentInfrastructureSAPsdaf-failure-triage
triage failed SAP automation runs
Sep 2AzureDiagnosticsOperationsSAP +1sdaf-ha-diagnostics
diagnose SDAF high-availability cluster failures
Sep 2AzureDiagnosticsOperationsSAPsdaf-ha-topology
design high-availability SAP topologies
Sep 2ArchitectureAzureInfrastructureSAPsdaf-media-acquisition
acquire SAP installation media
Sep 2AzureOperationsSAP
More from Azure (Microsoft)
View publisherazure-arg-external-evaluation-policy-author
author and test Azure Resource Graph policies
azure-policy
Jul 12AzureComplianceGovernancePolicyazure-blueprints-migration
migrate Azure Blueprints to Template Specs
azure-blueprints
Aug 20AzureDeploymentInfrastructure as CodeMigrationsdaf-media-diagnostics
diagnose SDAF media and BOM processing
sap-automation
Sep 2AzureDiagnosticsSAPStoragesdaf-orientation-and-surface
orient users to SDAF architecture
sap-automation
Sep 2ArchitectureAzureDocumentationSAPsdaf-plan-and-test-semantics
manage SDAF plan and test semantics
sap-automation
Sep 2AutomationAzureAzure DevOpsCI/CD +1sdaf-quality-assurance
validate deployed SDAF SAP systems
sap-automation
Sep 2AutomationAzureQuality AssuranceSAP