Encrypting the database replaces it.
-/+ aws_db_instance.orders
Replacing aws_db_instance.orders (an RDS database instance) destroys it, along with all data in the database, and creates a new, empty one.
Critical
Terraform and OpenTofu plans,
explained before you apply.
Critical risk
Destroys an S3 bucket, replaces an RDS database instance and opens SSH to the internet.
5 destroyed
5 replaced
23 updated
3 created
- aws_s3_bucket.logs
S3 bucket
Its block was removed from the configuration.
Destroys an S3 bucket
Seven changes from that plan, played out.
-/+ aws_db_instance.orders
Replacing aws_db_instance.orders (an RDS database instance) destroys it, along with all data in the database, and creates a new, empty one.
Critical
$ terraform apply
The apply will fail when it tries to replace aws_db_instance.orders: deletion_protection is still on for the existing RDS database instance. Turning it off in this same plan does not help, because Terraform destroys the old object with its current settings.
High
- aws_s3_bucket.logs
Destroying aws_s3_bucket.logs (an S3 bucket) deletes every object in the bucket. Its block was removed from the configuration. force_destroy is on, so everything in it is deleted too.
Critical
~ aws_security_group.app
Opens SSH (22/tcp) to the internet on aws_security_group.app. The rule is described as "TEMP: debug access".
Critical
-/+ module.network.aws_subnet.private[1]
Removing 1 item from the middle of the list behind count shifts module.network.aws_subnet.private and module.network.aws_subnet.public the same way: [1] is changed to become what [2] was, and [2] is destroyed.
High
- aws_instance.web + aws_instance.app
aws_instance.web is destroyed and aws_instance.app is created with the same settings. If you renamed it, a moved block keeps the existing EC2 instance instead of recreating it.
High
~ aws_security_group.alb
aws_security_group.alb was changed outside Terraform (ingress gained 8443/tcp from 0.0.0.0/0 ("hotfix: partner callback")), and this plan reverts it.
High
interragate compares the plan with git, so a change no edit explains stands out.
32 from your edits to main.tf
3 follow from them
1 not tied to an edit
aws_security_group.alb, the hand-made fix above
The same reading, as a comment on the pull request.
- uses: Jeecabs/interragate@main
Set up the action
interragate demo aws -f markdown.One report. Every resource, dependency and diff.
Install with Go. Try the sample, or run it in your Terraform directory.
go install github.com/Jeecabs/interragate/cmd/interragate@latest
$ interragate demointerragate aws-webapp · terraform 1.16.6 · sample plan Critical risk. Destroys an S3 bucket, replaces an RDS database instance and opens SSH to the internet. +3 create ~23 update -/+5 replace -5 destroy 13 cosmetic · 2 drifted · 2 output changes What matters ● Destroying aws_s3_bucket.logs (an S3 bucket) deletes every object in the bucket. ● Replacing aws_db_instance.orders (an RDS database instance) destroys it, along with all data in the database, and creates a new, empty one. ● Opens SSH (22/tcp) to the internet on aws_security_group.app. ● The apply will fail when it tries to replace aws_db_instance.orders: deletion_protection is still on for the existing RDS database instance. ● Adds a statement ("DebugEverything") to policy on aws_iam_role_policy.app that allows s3:* on every resource. ● Turns off block_public_policy and restrict_public_buckets on aws_s3_bucket_public_access_block.assets, so a bucket policy or ACL can make the bucket public. ● Removing 1 item from the middle of the list behind count shifts module.network.aws_subnet.private and module.network.aws_subnet.public the same way: [1] is changed to become what [2] was, and [2] is destroyed.
interragate demointerragateinterragate --openinterragate watchinterragate applyinterragate show tfplaninterragate check/plugin install interragate --marketplace Jeecabs/interragatecodex plugin marketplace add Jeecabs/interragate
codex plugin add interragate@interragatecopilot plugin marketplace add Jeecabs/interragate
copilot plugin install interragate@interragatenpx skills add Jeecabs/interragate
github-actionsbotcommented
interragate · aws-webapp: critical risk
Destroys an S3 bucket, replaces an RDS database instance and opens SSH to the internet.
+3 create · ~23 update · -/+5 replace · −5 destroy · 13 cosmetic · 5 follow from other changes · 2 drifted
aws_s3_bucket.logs(an S3 bucket) deletes every object in the bucket.aws_db_instance.orders(an RDS database instance) destroys it, along with all data in the database, and creates a new, empty one.aws_security_group.app.aws_db_instance.orders:deletion_protectionis still on for the existing RDS database instance.