terraform:start
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| terraform:start [03/10/2025 11:54] – [State files and Lock files] andrew | terraform:start [07/10/2025 10:03] (current) – [State files and Lock files] andrew | ||
|---|---|---|---|
| Line 114: | Line 114: | ||
| ===== State files and Lock files ===== | ===== State files and Lock files ===== | ||
| - | See [[aws: | + | See [[aws: |
| - | Use S3 and Dynamo db to store this info. | + | Code to create bucket with Terraform and then remove it from the state file with a tf cli command, |
| + | <code yaml> | ||
| + | resource " | ||
| + | | ||
| + | |||
| + | tags = { | ||
| + | Name = "State Bucket" | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | This create the bucket, then we remove it from the state file, probably worth moving the code to crate the bucket out of the path Teraform sees to avoid errors trying to recreate an existing resourse. | ||
| + | <code bash> | ||
| + | terraform state rm aws_s3_bucket.state_bucket | ||
| + | </ | ||
| + | |||
| + | Then, we can add the state file bucket to the AWS provider code:- | ||
| + | <file yaml terraform.tf> | ||
| + | terraform { | ||
| + | required_version = ">= 1.2" | ||
| + | required_providers { | ||
| + | aws = { | ||
| + | source | ||
| + | version = "~> 5.92" | ||
| + | } | ||
| + | } | ||
| + | |||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | } | ||
| + | } | ||
| + | |||
| + | </ | ||
| + | |||
| + | **Updates to lockfile** - previously DynamoDb was used frequently for lock files, this can be stored in S3 along with the state:- | ||
| + | |||
| + | <file yaml terraform.tf> | ||
| + | terraform { | ||
| + | required_version = ">= 1.12" | ||
| + | required_providers { | ||
| + | aws = { | ||
| + | source | ||
| + | version = "~> 5.92" | ||
| + | } | ||
| + | } | ||
| + | |||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| ===== AWS Provisioner code ===== | ===== AWS Provisioner code ===== | ||
terraform/start.1759492476.txt.gz · Last modified: by andrew
