# Infrastructure as code

A step of the [Cloud application](https://gradus.kazet.blog/tree/cloud-application) tree on Gradus, in the Build & ship area: Config, lint, releases, IaC.

Page: https://gradus.kazet.blog/tree/cloud-application/step/infrastructure-as-code

Describe every cloud resource in code (Terraform, Pulumi or your cloud's native tool) so environments can be rebuilt from scratch.

Usually comes after: [Project structure & config](https://gradus.kazet.blog/tree/cloud-application/step/project-structure).

Leads to: [Staging & production](https://gradus.kazet.blog/tree/cloud-application/step/staging-and-production), [GCP landing zone](https://gradus.kazet.blog/tree/cloud-application/step/gcp-landing-zone), [AWS landing zone](https://gradus.kazet.blog/tree/cloud-application/step/aws-landing-zone).

## Prompt for your AI assistant

```
Introduce infrastructure as code for this project's cloud resources using Terraform or an equivalent, starting with the resources the first deploy created. Run a plan on every pull request and apply it from CI after merge. Let the deploy workflow own the running image and its traffic, so an apply never undoes a release.
```

Every step of the tree: https://gradus.kazet.blog/tree/cloud-application/llms.txt
