Wade
09/17/2025, 1:46 AM>= for modules
2. use pessimistic semver constraints ~> for root modules
but which of those does an Atmos terraform component fit into?
We are building our own components for a brownfields deployment and have based all of our components on the cloudposse example module template which uses the cloudposse test-harness to ensure that provider versions are pinned with only minimum constraints. However, there are cases like https://medium.com/@mr.ryanflynn/why-hard-pinning-terraform-provider-versions-is-essential-a-lesson-from-an-aws-eks-issue-a03928ae410f and recommendations from seasoned terraform users in reddit that suggest versions should always be hard-pinned with =.
I can also see the test-harness did allow pessimistic semver constraints at some point, I just can't see why it was allowed or why it was changed.
We are also exploring the idea of using a component repo as either a component (root module) or a module (eg. an EKS component that includes the generic IAM component as a module to add roles using the cluster's own OIDC provider so we don't have to call the IAM component from atmos a second time)Slackbot
09/17/2025, 11:02 AMRobert Wiesner
09/18/2025, 12:22 PM# module.kafka.module.kafka.aws_msk_cluster.default[0] must be replaced
-/+ resource "aws_msk_cluster" "default" {
there is a guide for older releases that looks similar
https://github.com/cloudposse/terraform-aws-msk-apache-kafka-cluster/blob/main/docs/migration-0.7.x-0.8.x+.md
looks like this issue has some guideline
https://github.com/cloudposse/terraform-aws-msk-apache-kafka-cluster/issues/93Yangci Ou
09/18/2025, 3:20 PMidanl lodzki
09/19/2025, 9:59 PMZapier
09/22/2025, 4:00 PMterraform and get to know others in the community on a more personal level. Next one is Oct 01, 2025 01:30PM.
👉 Register for Webinar
S #CHDR1EWNA (our channel)
Jackie Virgo
09/24/2025, 3:51 PMZapier
09/29/2025, 4:00 PMterraform and get to know others in the community on a more personal level. Next one is Oct 08, 2025 01:30PM.
👉 Register for Webinar
S #CHDR1EWNA (our channel)
MichaelM
10/01/2025, 10:13 AMMateusz Loskot
10/01/2025, 7:08 PMshannon agarwal
10/01/2025, 11:20 PMshannon agarwal
10/02/2025, 4:12 PMNayeem Mohammed
10/02/2025, 8:42 PMAWS_REGION
us-east-1
PLAINTEXT
AWS_ACCOUNT_ID
11111111
PLAINTEXT
IMAGE_REPO_NAME
UNSET
PLAINTEXT
IMAGE_TAG
latest
PLAINTEXT
I want to exempt IMAGE_REPO_NAME and IMAGE_TAG variablesMichael Galey
10/06/2025, 6:05 PMMichaelM
10/08/2025, 8:33 AMkubectl get ns "$ns" -o json | jq 'del(.spec.finalizers)' | kubectl replace --raw "/api/v1/namespaces/$ns/finalize" -f -
Just wondering if anyone's found a cleaner or automated way to handle this by terraform ?paulm
10/08/2025, 7:43 PMwill
10/13/2025, 12:53 PMmax_image_count and protected_tags_keep_count parameters.
1. Does the max_image_count exclude the images with protected tags?
2. Is the protected_tags_keep_count per unique tag?
We've had some issues with deployed tags being cleaned up and I want to make sure I fully understand these 2 settings. Thanks.Marat Bakeev
10/15/2025, 10:10 PMGustavo
10/17/2025, 1:03 PMErik Osterman (Cloud Posse)
10/21/2025, 3:09 PMCraig
10/23/2025, 6:44 PMCraig
10/23/2025, 6:45 PMdata "aws_iam_policy_document" "xaccount_trust_policy" {
provider = aws.destination
statement {
actions = [
"sts:AssumeRole",
"sts:TagSession",
"sts:SetSourceIdentity"
]
principals {
type = "AWS"
identifiers = ["arn:aws:iam::${data.aws_caller_identity.source.account_id}:root"]
}
}
}
but I don't think you can apply it to the permissionset that is being created on the AWS destination account sideDrew Fulton
10/25/2025, 5:36 PMaccount-settings module and its failing with two instances of the The given key does not identify an element in this collection value. error. The docs mention that this is usually due to a mismatch of the root_account_aws_name in the account-map. I've confirmed that multiple times and have it set to root. For this troubleshooting, let's assume we are trying to apply the account-settings for the audit account which is called core-audit. The account-settings module appears to be looking for the audit index instead of core-audit.
I've tried setting audit_account_account_name to both core-audit and audit, neither of which are working. I believe the value should be core-audit. Where else could I be going wrong?
FWIW, I've confirmed I'm using the latest versions of all the modules.
Thanks for any suggestions!Mark Johnson
10/27/2025, 6:16 PMregion parameter? Basically, similar to the AWS 6.0 Terraform provider?
---
Use Case: We now pass in ~15 awsutils providers each with separate regions to delete VPCs for all these regions. It would be amazing to loop over with a region parameter.Craig
10/29/2025, 11:47 PMdefault_security_group_deny_all variable with the terraform-aws-vpc module.
I have several VPCs already created from this module and am working towards removing the default VPC security group default egress & ingress rules. I thought I would be able to do this by simply adding the default_security_group_deny_all variable to my existing Terraform with a value of true and just redeploying my Terraform, however when I make a PR with those changes, my Terraform plan shows 0 changes to be made.
If I set the value to false I see the default security group being removed (I imagine by setting this to false I'll need to make a moved block indicating that I am now managing this security group as part a different Terraform resource), but that's not what i want to do.
Why does setting this value to true not seem to do anything for already created default VPC security groups?Prateek kumar
10/30/2025, 12:19 PMAlek
10/30/2025, 4:05 PMetag property is constantly changing on the GitHub's API side, creating ever-changing plans. Those plans are failing to apply via gitops with plan files have differences.
I found our that recently, this PR was merged, which directly addresses handling of etags on the GH provider. Is my understanding correct that the issue should resolve on its own once the change gets released (currently it is not)? Are you aware of any other workaround here? (fyi. ignore_changes on etag does not work)Mateusz Loskot
10/30/2025, 8:00 PMMrAtheist
11/01/2025, 4:37 AMmodule.service_b.module.ec2 ...
module "service_a" {
source = "../modules/stuff"
...
}
module "service_b" {
source = "../modules/stuff"
...
}
...
# modules/stuff
module "ec2" {
source = "../modules/ec2"
}
...
... some more stuff
i thought this was pretty trivial until i step thru the tf plan, but i dont think this is doable by messing with hcl itself, instead...
terraform destroy --target module.service_b.module.ec2
terraform state rm module.service_b.module.ec2
any other suggestions...?Jonathan
11/03/2025, 5:58 PMresource "k8sconnect_object" "app" {
cluster = {
host = aws_eks_cluster.main.endpoint
token = data.aws_eks_cluster_auth.main.token
}
yaml_body = file("app.yaml")
}
Create cluster → deploy workloads → single apply. No provider configuration needed.
Building with Server-Side Apply from the ground up (rather than bolting it on) opened doors to fix other persistent community issues with existing providers.
• Accurate diffs - Server-side apply dry-run projections show actual changes, not client-side guesses
• YAML + validation - K8s strict schema validation catches typos at plan time
• CRD+CR same apply - Auto-retry handles eventual consistency (no more time_sleep)
• Patch resources - Modify EKS/GKE defaults without taking ownership
• Non-destructive waits - Timeouts don't force resource recreation
300+ tests, runnable examples for everything.
GitHub: https://github.com/jmorris0x0/terraform-provider-k8sconnect
Registry: https://registry.terraform.io/providers/jmorris0x0/k8sconnect/latest
Would love feedback if you've hit this pain point.