Terraform
Infrastructure as code with a plan/apply workflow and a large provider ecosystem.
Path 05 · learning path
Preventing insecure infrastructure changes from reaching production: Terraform security foundations (pinning, state, secrets, least privilege, plan before apply), scanning configuration with Checkov and fixing what it finds, and a merge-request gate with documented exceptions and a baseline.
Each part names what it needs. Nothing has to be installed before part 1.
The path
Each part states what it assumes from the previous one, so you can also jump in where your setup already is.
The security foundations of a Terraform repository: pinned versions with a committed lock file, remote state with locking and access control, secrets kept out of source, least-privilege plan and apply roles.
Run Checkov against Terraform with a public database, an open security group and an unprotected bucket; read the 22 findings and why they matter; fix them; then record the rest as documented skips.
Put Checkov in front of terraform plan: a GitLab CI job on every merge request, a baseline so only new findings fail, a pass/fail policy by check ID, exceptions with reasons, reports in the MR, and branch protection.
Toolchain
Infrastructure as code with a plan/apply workflow and a large provider ecosystem.
Static analysis for infrastructure as code: Terraform, CloudFormation, Kubernetes and Dockerfiles.
Source control, merge requests and CI/CD in one platform, with built-in security scanning templates.
After the last part
One path picks up where this one stops. It is a suggestion, not a requirement.
Identity, network exposure, secrets, audit logs and hardening for a cloud-hosted production workload.