Manage your GitLab Projects with Terraform
summary
Company maps GitLab groups and GCP folders into Terraform modules and runs pipelines that create projects, groups, service accounts and CI variables so configuration lives in a single repository as source of truth. The system uses a top-down inheritance model: org → team → service, shares secrets via CI variables and Terraform outputs, and keeps Terraform state where the resource lives (GitLab state for GitLab objects, GCS for GCP). Jobs run separately to avoid API race conditions; destroys are slow but the approach largely eliminates manual steps.
AI-written summary · about
chapters (12)
- 0:00Intro
- 1:08Welcome
- 4:04Structure
- 9:18Data Sharing
- 12:59Configuration Heart
- 14:46GitLab Variables
- 16:01Service Variables
- 17:24Terraform State
- 18:03Terraform vs GitLab
- 18:45Pipelines
- 21:32Jobs
- 23:35Wrap up
related talks
21mSelf‑service infrastructure for GCP with Terraform and GitLab
27mOptimizing Terraform integration inside GitLab CI/CD pipelines
24mTerraform Best Practices
18mStaying DRY Using Terraform Workspaces with GitLab-CI
38mJourney towards CI/CD
33mBuilding Automated Pipelines for Infrastructure Code with Terraform and Packer
14mHow Global Discovery tribe approaches Infrastructure Changes at scale
32mManaging Terraform resource drift using the GitOps method
