Building CloudHaven
Join the Infrastructure Guild and modernize CloudHaven's infrastructure from manual provisioning to a self-service platform using Infrastructure as Code. A hands-on journey through infrastructure as code with OpenTofu and GitHub Actions.
Challenges
The Foundation Stones
An incomplete OpenTofu configuration is blocking the Merchant's Quarter from going live. Fix the broken backend, wire up dynamic resource provisioning with for_each, and use the new enabled meta-argument to conditionally deploy the audit database.
Start ChallengeThe Modular Metropolis
A senior engineer wrote the tests first and then left. The module code is buggy and the integration test is incomplete. Fix the implementation to match the test expectations, complete the end-to-end test, and use moved blocks to refactor without destroying state.
Start ChallengeThe Guardian Protocols
Three broken GitHub Actions workflows stand between CloudHaven and automated infrastructure governance. Fix drift detection that creates PRs, PR validation with Trivy security scanning and service-container integration tests, and automatic apply on merge.
Start ChallengeThe Story
Welcome to CloudHaven, a bustling digital metropolis where every district depends on essential services to thrive. You've just joined the Infrastructure Guild, a team of platform engineers responsible for providing the tools and services that keep the city running.
CloudHaven is expanding rapidly. The Merchant's Quarter needs storage vaults for their goods and ledgers for tracking inventory. The Scholar's District requires secure archives for ancient texts. The Artisan's Quarter demands workshops with specialized tools. Each district has unique needs, but they all depend on the Guild to provide reliable, scalable infrastructure services.
The Guild used to provision everything manually through cloud consoles, a process that was slow, error-prone, and impossible to track. Recently, they've started adopting Infrastructure as Code, but the transition is incomplete.
The Guild Master has assigned you to complete the modernization journey.
Your mission: build the services and tools that will support CloudHaven's future growth.