
Skill
sdaf-sap-system
deploy SAP system infrastructure on Azure
Description
Deploy SDAF SAP system infrastructure (VMs, disks, load balancers, HA inputs) after the workload zone exists. Drives `installer.sh --type sap_system` per `docs/local/05-00-sap-system.md § Run`, reviews replacement risk, and validates the generated `<SID>_hosts.yaml` / `sap-parameters.yaml`. Use when a user says "deploy an SAP system", "run installer.sh sap_system", "SAP system infrastructure", "generate the SAP system inventory". Do NOT use for OS/DB/SAP install (`sdaf-sap-installation`), workload zone (see sdaf-workload-zone), or software download (`sdaf-media-acquisition`).
SKILL.md
SDAF SAP System
Action-loop skill. Deploys the SAP-system infrastructure strictly per
docs/local/05-00-sap-system.md. Installation of OS + DB + SAP is a separate
concern owned by sdaf-sap-installation.
When to invoke
Trigger on: "deploy an SAP system", "run installer.sh sap_system", "SAP system infra", "generated hosts.yaml", "generated sap-parameters.yaml".
Do NOT trigger on: control plane, workload zone, software download, install, removal.
Preconditions
- Workload zone deployed
(
docs/local/05-00-sap-system.md § Before you begin; SAP system reads deployer + landscape remote state per§ What the automation does). - SYSTEM tfvars prepared under the documented WORKSPACES layout — see
sdaf-workspace-and-tfvars. - Host quota / image / topology reviewed
(
docs/local/05-00-sap-system.md § Before you begin,§ Inputs).
Recipe
Step 1 — Review replacement risk
Re-read the SYSTEM tfvars once, checking for anything that will cause a
resource replacement
(docs/local/05-00-sap-system.md § Review before execution; see also
docs/local/troubleshooting.md § Terraform proposes unexpected replacement).
Step 2 — Run the documented installer
From the system parameter directory, exactly per
docs/local/05-00-sap-system.md § Run:
set -e
cd "$CONFIG_REPO_PATH/WORKSPACES/SYSTEM/<SAP_SYSTEM>"
ARM_SUBSCRIPTION_ID="<WORKLOAD_SUBSCRIPTION_ID>" \
"$SAP_AUTOMATION_REPO_PATH/deploy/scripts/installer.sh" \
--type sap_system \
--parameterfile "<SAP_SYSTEM>.tfvars" \
--control_plane_name "<CONTROL_PLANE>" \
--deployer_tfstate_key "<DEPLOYER_STATE_KEY>" \
--landscape_tfstate_key "<LANDSCAPE_STATE_KEY>" \
--storageaccountname "<STATE_STORAGE_ACCOUNT>" \
--state_subscription "<STATE_SUBSCRIPTION_ID>" || {
rc=$?
echo "SAP system exit=$rc — route to sdaf-failure-triage"
exit "$rc"
}
Step 3 — Validate
docs/local/05-00-sap-system.md § Validate and § Outcome:
- SAP-system infra deployed.
- Generated
<SID>_hosts.yamlandsap-parameters.yamlexist (docs/local/05-00-sap-system.md § Validate,§ Outcome). - Config and metadata uploaded to the state account's
tfvarscontainer (§ What the automation does).
If the run fails
Route to sdaf-failure-triage. Stage-owned preventive checks (kept
here rather than in triage):
- Filename / directory / basename mismatch — fix before rerun
(
docs/local/troubleshooting.md § A parameter file is not found). - Do not delete
.progressmarkers to force a rerun (docs/local/06-00-software-and-installation.md § Safe retry).
Hard rules
- Documented behaviour only (D19).
- Do not deploy before the workload zone exists.
- Do not pass
--auto-approve(docs/local/05-00-sap-system.md § Review before execution). - Repo-wide rules apply: do not run
terraform fmtand follow the Terraform / Ansible / Python guidance in.github/copilot-instructions.md.
What this skill does NOT do
- Does not run OS / DB / SAP installation playbooks.
- Does not download SAP media.
- Does not tear down or repair state.
See also
sdaf-workload-zone,sdaf-workspace-and-tfvars,sdaf-bom-selection,sdaf-media-acquisition,sdaf-sap-installation,sdaf-state-management,sdaf-plan-and-test-semantics,sdaf-failure-triage.docs/local/05-00-sap-system.md,docs/local/troubleshooting.md,.github/copilot-instructions.md.
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