Skip to main content
RunBook Academy

← All checklists in Terraform

As neededterraform-plan-review

Checklist: Provisioning a New Service with Terraform

12 items ·10 critical ·2 warn ·0 info

Purpose

This checklist verifies the steps to provision a new service with Terraform, from initial planning to production deployment. Run through every item before the production deployment.

Checklist

Planning

  • Define the production-readiness criteria for the new service. (critical)
  • Identify the resources to be managed (VPC, subnets, compute, storage, IAM, etc.). (critical)

Backend and credentials

  • Create the state backend (S3 bucket, DynamoDB table, etc.) with versioning and encryption. (critical)
  • Create the Terraform execution role with least-privilege permissions. (critical)

Configuration

  • Write the configuration in a module, with a clear interface. (critical)
  • Write the tests for the module (unit, plan, apply). (warn)

CI/CD

  • Configure the CI/CD pipeline with the right gates. (critical)

Test

  • Apply the configuration to a test environment. (critical)
  • Verify the test environment meets the production-readiness criteria. (critical)

Production

  • Apply the configuration to production in a maintenance window. (critical)
  • Monitor the production environment for anomalies. (warn)
  • Document the deployment in the change log. (critical)

Verification

The checklist is complete when every item is checked. A critical item unchecked is a blocker.

Escalation

If a critical item cannot be satisfied, escalate to the engineering manager or the change manager.

Critical10 items

Warning2 items