Skip to content

C3: IaC Implementation

  • Do now: Choose one IaC path, generate templates, validate them, and attempt deployment.
  • Input: Approved requirements, architecture and cost evidence, SKU manifest, and current review findings.
  • Output: Governance constraints, approved IaC plan and contracts, one IaC track, validation evidence, deployment summary, and workflow diagram.
  • Required to move on: Governance reconciliation, approved plan review, one validated IaC path, explicit deployment authorization, a recorded deployment attempt, and the workflow explanation.
  • Decisions now: Bicep vs Terraform, module boundaries, governance handling, and what evidence to keep.
  • Next: C4 branches from your actual deployment outcome and extends the same platform for HA/DR.

This is the most execution-sensitive step in the sequence. Keep the work moving by choosing one path, validating often, and recording what happened.

Nordic Fresh Foods now needs production-ready infrastructure code that can be deployed consistently, respects governance and security controls, and stays maintainable for a small DevOps function. A design that looks good on paper but cannot be validated or deployed is not enough.

  1. Discover governance (~5 min). Select 04g-Governance to capture effective policy constraints in 04-governance-constraints.md and .json. If constraints exist, complete the required reconciliation review and approval.
  2. Plan the implementation (~8 min). Select 05-IaC Planner to create 04-implementation-plan.md and the machine-readable contracts. Select 10-Challenger, resolve blocking plan findings, and approve the plan.
  3. Generate one IaC track (~10 min). Select 06b-Bicep CodeGen or 06t-Terraform CodeGen according to the approved requirements. Keep the approved plan read-only and retain 05-iac-handoff.json.
  4. Validate and preview (~7 min). Run the deterministic checks and Bicep what-if or Terraform plan. Validation success does not authorize deployment.
  5. Authorize and deploy (~10 min). Review the proposed scope and current evidence as a team. Explicitly authorize the matching Deploy agent, then capture the result in 06-deployment-summary.md. If deployment fails, preserve the exact blocker.
  6. Explain the compressed workshop path (~5 min). Create 03-des-deployment-workflow.md showing human handoffs, reviews, approval gates, validation, deployment, and return paths.
PathPlanning agentCode agentOutput folder
Bicep05-IaC Planner06b-Bicep CodeGeninfra/bicep/freshconnect/
Terraform05-IaC Planner06t-Terraform CodeGeninfra/terraform/freshconnect/

Challenge 3

IaC Agent Routes

PathPlanning agentCode agentOutput folder
Bicep05-IaC Planner06b-Bicep CodeGeninfra/bicep/freshconnect/
Terraform05-IaC Planner06t-Terraform CodeGeninfra/terraform/freshconnect/
PathExpected evidence
BicepBicep validation and preview evidence from the selected Deploy agent
TerraformTerraform validation and preview evidence from the selected Deploy agent

Challenge 3

IaC Validation And Deployment Commands

PathExpected evidence
BicepBicep validation and preview evidence from the selected Deploy agent
TerraformTerraform validation and preview evidence from the selected Deploy agent
  • Which IaC language gives your team the best chance of producing maintainable, reviewable code inside the workshop timebox?
  • Which resources or concerns deserve separate modules, and which can stay simple in the first version?
  • Which governance and security requirements must be built into the templates before you even try deployment?
  • What evidence best proves that the templates are real, validated, and understood by the team?
  • agent-output/freshconnect/04-governance-constraints.md and .json
  • Governance reconciliation evidence when effective constraints exist.
  • agent-output/freshconnect/04-implementation-plan.md and its machine-readable contracts.
  • Current plan review evidence with no unresolved blocking findings.
  • IaC folder at infra/bicep/freshconnect/ or infra/terraform/freshconnect/.
  • agent-output/freshconnect/05-iac-handoff.json.
  • Validation and preview evidence for the selected track.
  • agent-output/freshconnect/06-deployment-summary.md and policy-precheck evidence.
  • agent-output/freshconnect/03-des-deployment-workflow.md showing the real human-approved path.
FocusWhat good looks likeEvidence
Governance closureEffective policy constraints are known before planningGovernance artifacts and reconciliation evidence are present or the no-constraints condition is recorded
Approved implementation strategyThe plan connects approved architecture, cost, SKU, and governance evidence to code generationPlan contracts and current Challenger evidence are complete
Maintainable IaCOne selected track is structured for readability and reuseThe IaC folder follows the approved plan and includes the handoff artifact
Validation and authorizationThe team separates deterministic validation from permission to deployPreview evidence exists and deployment authorization is explicit
Delivery understandingThe team can explain what happened and whyDeployment evidence and workflow diagram show handoffs, gates, failures, and return paths
Common implementation blockers

Use Quick Reference Card for shared naming rules, Quick Reference Card for the security baseline, and Hints & Tips for common policy denials.

If you hit a deployment blocker, record three things before you ask the agent to help:

  1. The exact error message.
  2. Which resource or module caused it.
  3. Whether the failure happened at validation, preview, or deployment time.
  • Governance discovery is not optional because the challenge is time-boxed.
  • A missing or failed Azure policy query does not prove that no constraints exist.
  • 05-IaC Planner owns plan corrections. CodeGen must not silently rewrite the approved plan.
  • Validation success is not deployment success and does not grant deployment permission.
  • Preserve the exact preview, policy, deployment, and application-health limits in the summary.
  • Do not skip artifact names; later challenges and facilitator review depend on them.
ItemValue
Input fromApproved requirements, architecture, cost, SKU, and review evidence from C1-C2
Your outputGovernance, approved plan, IaC handoff, validation, deployment evidence, and workflow diagram
Next challenge usesC4 branches from your deployment outcome and extends the same design with HA/DR changes

Challenge 4 uses your actual deployment outcome, not the ideal one. If deployment succeeded, you will extend the platform; if it partially worked or failed, you will use that evidence to justify the DR path you propose next.