atmos
134720,664
👽️
Zackabout 18 hours ago(edited)
Oh, another weird thing I am seeing. .workdirs are getting created with weird names, it's adding an h to strings so it's like
normal-hstring-hmore-hstrings - 1.226.1 first string is normal, others get prepended
normal-hstring-hmore-hstrings - 1.226.1 first string is normal, others get prepended
Zackabout 19 hours ago
@Erik Osterman (Cloud Posse) btw we ran into more concurrency errors using a dual core runner 🧵
Maksym Vlasov9 days ago(edited)
Any idea how can be renamed vars like
They are used in
I tried a bunch of things, but looks like I can't set some setting like
environment and stage? IE to rgn and acc_nameThey are used in
name_patern and even if I use name_template, and redefine terraform_workspace_pattern it will still fails, as in underlying CP modules exist data sources like this which have pre-hardcoded var names.I tried a bunch of things, but looks like I can't set some setting like
environment: '{{ .vars.rgn }}' and forget about it?Brandon10 days ago
Hello,
When running
When running
atmos terraform deploy or atmos terraform apply --all with concurrency > 1, we see atmos ignore the provider/module cache in github and pull the provider for every component. Is that expected behavior?Zack10 days ago
❓️ there's no stack level
retry settings, correct? Only way to easily put them on every component would be an abstract import on each?Zack15 days ago
For sure running into another bug with the masking thing. I also had to to set the cli flag to disable masking, the config in the atmos.yaml for some reason wasn't working completely.
Seems to be specifically when I'm using DAG also, because of the same thing with the whole RDS thing.
Seems to be specifically when I'm using DAG also, because of the same thing with the whole RDS thing.
Zack17 days ago
May have found an edgecase with DAG, not sure if intended
Zack17 days ago
Anyone doing anything cool with atmos docs?
erik17 days ago
One of the frequent requests we get from customers is that they wish they knew all the things that have changed in Atmos that they should be taking advantage of... And this is actually possible today. If you run
atmos.tools/ai/agent-skills
atmos.tools/cli/commands/ai/skill
atmos ai skill install And use the "Atmos Modernization" skill, Claude can help you update your configurations to use the latest patterns.atmos.tools/ai/agent-skills
atmos.tools/cli/commands/ai/skill
Maksym Vlasov17 days ago(edited)
two more bugs, continue dive into
github.com/cloudposse/atmos/issues/2867
github.com/cloudposse/atmos/issues/2868
--configgithub.com/cloudposse/atmos/issues/2867
github.com/cloudposse/atmos/issues/2868
Nick Dunn18 days ago
Hi, team. I was brainstorming an idea but I'm having some trouble with the execution. I'm just wondering if this seems do-able.
We use Atmos + Terraform to build everything. We run almost exclusively on K8s, mostly via Kustomize and ArgoCD. Injecting dynamic information from our Terraform into Kustomize can be a bit awkward at times. So, I had the following idea with Atmos:
• Create inline manifests with Kubernetes components. These manifests would actually be Kustomization files (either resources or components/patches).
• I would deploy these manifests to some dedicated branch in the repository that contains our other Kustomize manifests.
• I would configure the appropriate Kustomize configurations to "include" this dedicated branch as-needed.
• Example. I need to inject a security group ID created by some Terraform into an annotation or configmap somewhere. I could have an inline manifest (Kustomize patch) that gets deployed to a pre-determined location in the dedicated branch. Then the appropriate Kustomize configurations can "include" that manifest rendered and deployed by Atmos.
Problem is, I'm having some trouble choosing the file name. I often need the generated manifest to be called
We use Atmos + Terraform to build everything. We run almost exclusively on K8s, mostly via Kustomize and ArgoCD. Injecting dynamic information from our Terraform into Kustomize can be a bit awkward at times. So, I had the following idea with Atmos:
• Create inline manifests with Kubernetes components. These manifests would actually be Kustomization files (either resources or components/patches).
• I would deploy these manifests to some dedicated branch in the repository that contains our other Kustomize manifests.
• I would configure the appropriate Kustomize configurations to "include" this dedicated branch as-needed.
• Example. I need to inject a security group ID created by some Terraform into an annotation or configmap somewhere. I could have an inline manifest (Kustomize patch) that gets deployed to a pre-determined location in the dedicated branch. Then the appropriate Kustomize configurations can "include" that manifest rendered and deployed by Atmos.
Problem is, I'm having some trouble choosing the file name. I often need the generated manifest to be called
kustomization.yaml , but it seems like the name might be automatically generated. Is it possible to override this behavior? I saw the split setting for rendering, but I didn't see something similar when deploying an inline manifest.Maksym Vlasov18 days ago
And also, proposal, useful for make new atmos features works fine with all existing stable features from the start (except very weird corner cases)
https://github.com/cloudposse/atmos/issues/2865
https://github.com/cloudposse/atmos/issues/2865
Maksym Vlasov18 days ago
one more bug 
github.com/cloudposse/atmos/issues/2863
P.S. should I post them all here, or you're usually look in repo new issues inbox?

github.com/cloudposse/atmos/issues/2863
P.S. should I post them all here, or you're usually look in repo new issues inbox?
Jorrit Elfferich22 days ago
Hi all 👋
Not entirely sure if this is the right channel or #atmos-dev, but I posted a proposal for dynamic file generation (
Not entirely sure if this is the right channel or #atmos-dev, but I posted a proposal for dynamic file generation (
for_each) in atmos scaffold, see: github.com/orgs/cloudposse/discussions/126. Would appreciate some feedback there 🙏.Girish Maddineni23 days ago
Hi, there. I am currently working with atmos helmfile and is there a way that the values from stack config gets applied automatically when running command
atmos helmfile diff/apply <component> -s <stack>, instead of passing values filename manually like below in helmfile.yaml. Also atmos generated values file eg: aws-useast1-metrics-server.helmfile.vars.yaml are getting with stack identification values like namespace, environment, stg where some helm charts are failing with validation errors like chart doesn't allow those extra values. Thank you. @PePe Amengualrepositories:
- name: metrics-server
url: <https://kubernetes-sigs.github.io/metrics-server/>
releases:
- name: metrics-server
chart: metrics-server/metrics-server
version: 3.13.0
namespace: kube-system
createNamespace: false
force: false
values:
- aws-useast1-metrics-server.helmfile.vars.yamlZack24 days ago
Anyone else experience
fatal error: concurrent map iteration and map write when using DAG?Juan Aguero25 days ago(edited)
Hey there 👋,
New to contributing, not totally sure this is the right place to raise this — point me elsewhere if so!
I finally had time to prototype the native RDS IAM auth idea I floated a while back in a discussion, I linked more context on the original issue but looking at adding
Would love a gut-check on whether it's worth pursuing and the right direction.
Wrote it all up here:
github.com/orgs/cloudposse/discussions/121#…
New to contributing, not totally sure this is the right place to raise this — point me elsewhere if so!
I finally had time to prototype the native RDS IAM auth idea I floated a while back in a discussion, I linked more context on the original issue but looking at adding
atmos aws rds token, plus a rds onnect follow-on — both are draft PRs.Would love a gut-check on whether it's worth pursuing and the right direction.
Wrote it all up here:
github.com/orgs/cloudposse/discussions/121#…
Zack26 days ago
❓️ is there an atmos native way to arbitrarily look up things from a state backend, if they aren't technically managed by your stack?
Phil Hadviger28 days ago(edited)
Running the curl install listed on the homepage of atmos, immediately ran into the following. Is this supposed to run as
sudo? First time posting here, so let me know if this is the wrong way to go about reaching out.cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=24.04
DISTRIB_CODENAME=noble
DISTRIB_DESCRIPTION="Ubuntu 24.04.4 LTS"Maksym Vlasov29 days ago(edited)
Does anyone tried atmos.tools/changelog/tags-and-labels ?
For some reason, these doesn't work for me (I located them in most top
Inside generated
atmos v1.223.0
For some reason, these doesn't work for me (I located them in most top
_defaults.yaml): metadata:
labels:
some_tag: some_value
vars:
tags: !labelsInside generated
.tfvars.json after atmos terraform plan:"tags": {
"unrelated_tag": "foo"
},atmos v1.223.0
Maksym Vlasov29 days ago(edited)
Hi, there. I surprised that it not covered from day 1 of hooks introduction
Can you please take a look?
github.com/cloudposse/atmos/issues/2799
Can you please take a look?
github.com/cloudposse/atmos/issues/2799
Zackabout 1 month ago(edited)
really enjoying DAG, seems to be working decently with a PoC for targeted stack precedence
Zackabout 1 month ago
Trying to implement a blue/green pattern in atmos. DAG doesn't work across multiple stacks yet does it?
Brianabout 1 month ago
The recent changes to
--help is very welcomed. It's a much better DX then providing all the help information.c0reyabout 1 month ago
Hey everyone! Wondering if anyone else has seen this behavior:
We noticed that after a recent update to
The install path changed from
Workaround: Setting
Are we missing a configuration step for the wrapper, or is this a known issue with the latest release? Happy to provide workflow snippets or run logs if helpful. Thanks!
We noticed that after a recent update to
cloudposse/github-action-setup-atmos@v3, our atmos terraform deploy and atmos terraform apply commands in GitHub Actions started completing instantly (0 seconds, exit code 0) with no terraform output — no init, no plan, no apply.The install path changed from
/home/runner/work/_actions/cloudposse/github-action-setup-atmos/atmos to /opt/hostedtoolcache/atmos-wrapper/1.222.0/x64. Actions runs using the old path on July 3 worked fine (5-minute deploys); runs using the new wrapper path on July 4+ silently no-op.Workaround: Setting
install-wrapper: "false" resolves it — deploy commands run terraform as expected.Are we missing a configuration step for the wrapper, or is this a known issue with the latest release? Happy to provide workflow snippets or run logs if helpful. Thanks!
Zackabout 1 month ago(edited)
@Erik Osterman (Cloud Posse) Do you know if you can set authentication for an oci JIT source component? Or if it's documented somewhere specific? Specifically a
terraform.$component.source.uriJuan Agueroabout 1 month ago
so sick !


Maksym Vlasovabout 2 months ago
Hi. Can you look into github.com/cloudposse/atmos/issues/2376 bug? It still exist in 1.222.0
Brandonabout 2 months ago
Hello, I ran into an issue with Native CI in JIT vendored components, added a bug report for it: github.com/cloudposse/atmos/issues/2684
Basically if you source a component direct from github to use directly, and specify a workdir, the native ci planfile logic looks in the wrong spot for the planfile
Basically if you source a component direct from github to use directly, and specify a workdir, the native ci planfile logic looks in the wrong spot for the planfile
Bart Palmowskiabout 2 months ago
Hi, do you accept issues made by AI? I found a bug it seems and made codex to file the bug report here: github.com/cloudposse/atmos/issues/2680
Paavo Pokkinenabout 2 months ago
Is there some command to apply all components in a specific stack? All flag applies all components in all stacks, not specific one.
Nick Dunnabout 2 months ago
Hey, team. I think there might be a documentation snafu.
Here in the Native CI docs, it shows an example of how one can set up Github OIDC auth. This did not work. Atmos complained that the profile was not valid.
Fortunately,
Here in the Native CI docs, it shows an example of how one can set up Github OIDC auth. This did not work. Atmos complained that the profile was not valid.
auth:
providers:
github-oidc:
kind: github/oidc
region: us-east-1
identities:
plat-dev/terraform:
provider: github-oidc
role_arn: arn:aws:iam::111122223333:role/atmos-terraform
default: true # Use this identity unless a component overrides itFortunately,
atmos auth validate was pretty helpful and suggested useful changes, which I was later able to confirm in the more thorough auth section in the Atmos docs. I would humbly suggest that the example for the Native CI section should look something like this.auth:
providers:
github-oidc:
kind: github/oidc
region: us-east-1
spec:
audience: <http://sts.amazonaws.com|sts.amazonaws.com>
identities:
plat-dev/terraform:
kind: aws/assume-role
via:
provider: github-oidc
principal:
assume_role: arn:aws:iam::111122223333:role/atmos-terraform
default: true # Use this identity unless a component overrides itNick Dunnabout 2 months ago(edited)
Hey, everyone. Random unimportant question.
I think I know the answer, considering the obvious focus of Atmos and Atmos Pro using Github/Gitlab. But I'm curious. Has the team ever considered a Kubernetes Operator approach similar to tofu-controller or burrito? We've been using Atmos for some time now, but we're also a heavy Kubernetes + ArgoCD shop. So, naturally, I found the approach intriguing.
I think I know the answer, considering the obvious focus of Atmos and Atmos Pro using Github/Gitlab. But I'm curious. Has the team ever considered a Kubernetes Operator approach similar to tofu-controller or burrito? We've been using Atmos for some time now, but we're also a heavy Kubernetes + ArgoCD shop. So, naturally, I found the approach intriguing.
Brandon2 months ago
hello, anyone able to confirm if planfile artifact storage to gh artifacts has been implemented as of v1.221.1?
erik2 months ago
We've published a media kit for atmos! If you've wanted some atmos logos, we got 'em.
https://atmos.tools/media-kit
https://atmos.tools/media-kit
Brian2 months ago(edited)
I’m looking forward to Atmos secrets management. We use Sealed Secrets for our application layer since everything runs on Kubernetes. Managing secrets as code makes deployments much more portable across regions and accounts.
However, for our infrastructure layer, secrets are stored in Secure SSM Parameters and Secrets Manager. The lack of portability has become a small pain point when managing a DR region, so I’ve been considering a move to SOPS. After another practice run of our DR runbook last week, I’m definitely making the switch soon. The timing of Atmos secrets management with SOPS support couldn’t have come at a better time.
However, for our infrastructure layer, secrets are stored in Secure SSM Parameters and Secrets Manager. The lack of portability has become a small pain point when managing a DR region, so I’ve been considering a move to SOPS. After another practice run of our DR runbook last week, I’m definitely making the switch soon. The timing of Atmos secrets management with SOPS support couldn’t have come at a better time.
Alexandre Feblot2 months ago
Btw, it's a really minor issue, but
I've had to make it available this way:
atmos ai skill does not support vscode natively, as it expect skills in some specific folders.I've had to make it available this way:
cd <my VScode workspace>
atmos ai skill install cloudposse/atmos -y --force
mkdir -p .github/skills && for d in ~/.atmos/skills/cloudposse/atmos/*/; do ln -sfn "$d" ".github/skills/$(basename "$d")"; doneerik2 months ago
I recorded a 20-minute overview of the Atmos Changelog covering all of the latest features that have come out over the past month.
https://us02web.zoom.us/clips/share/tQmxbpnfQxGWs-bpWl4sAA
• Atmos Git for GitOps — Manage repositories as first-class Atmos resources; clone, diff, commit, push, and publish generated artifacts through lifecycle hooks.
• Secrets Management — Declare component secret dependencies and manage secrets natively in Atmos.
• CI Caching — Cache toolchains, providers, modules, vendored components, and remote imports to accelerate local and CI runs.
• Terraform Registry Cache(Experimental) — Cache providers and modules for faster, reproducible, and more resilient builds.
• Terraform/OpenTofu RC Management(Experimental) — Define CLI runtime configuration in
• Terraform DAG Concurrency — Dependency-aware execution with concurrent planning and deterministic ordering.
• Interactive Workflows & Commands — 25+ interactive step types for building CLI wizards and guided workflows.
• Atmos Pro STS Tokens — Just-in-time GitHub tokens for CI access to private resources.
• Git Repository Metadata Functions — YAML functions exposing repository metadata.
•
• Install from Branches & Tags —
• Dotenv Support in
•
•
• ECR Public Authentication — Authenticated pulls from
https://atmos.tools/changelog
https://us02web.zoom.us/clips/share/tQmxbpnfQxGWs-bpWl4sAA
• Atmos Git for GitOps — Manage repositories as first-class Atmos resources; clone, diff, commit, push, and publish generated artifacts through lifecycle hooks.
• Secrets Management — Declare component secret dependencies and manage secrets natively in Atmos.
• CI Caching — Cache toolchains, providers, modules, vendored components, and remote imports to accelerate local and CI runs.
• Terraform Registry Cache(Experimental) — Cache providers and modules for faster, reproducible, and more resilient builds.
• Terraform/OpenTofu RC Management(Experimental) — Define CLI runtime configuration in
atmos.yaml; Atmos manages temporary RC files automatically.• Terraform DAG Concurrency — Dependency-aware execution with concurrent planning and deterministic ordering.
• Interactive Workflows & Commands — 25+ interactive step types for building CLI wizards and guided workflows.
• Atmos Pro STS Tokens — Just-in-time GitHub tokens for CI access to private resources.
• Git Repository Metadata Functions — YAML functions exposing repository metadata.
•
atmos.Resolve Template Function — Evaluate YAML functions inside templates.• Install from Branches & Tags —
--use-version supports Git refs directly.• Dotenv Support in
!include — Include .env files directly in YAML.•
!append YAML Function — Extend inherited lists.•
!unset YAML Function — Remove inherited configuration keys cleanly.• ECR Public Authentication — Authenticated pulls from
public.ecr.aws to avoid rate limits.https://atmos.tools/changelog
Brandon2 months ago
hello, we're trying to standardize on making every component declare a standard instance and a dr instance of said component. So under stacks/catalog/network/default.yaml for example, we'd declare our VPC twice referencing components/terraform/network as the component. Now under stacks/deploy/dev.yaml we import our stacks/catalog/network and in the dev.yaml, we'd like to be able to toggle that DR instance on or off. The idea is that every environment has to opt out of provisioning a DR environment. What approach would you recommend to address this? We've had trouble getting a variable passed over to the metadata.enabled because anything we pass gets converted to a string and enabled needs a bool
Thomas Spear2 months ago
Hi team, I recently started using the required_providers, required_version and providers atmos fields and wanted to share some findings and get a sense of whether I'm on the right track.
erik2 months ago
In
1.221.0 you can now define your own custom components. https://atmos.tools/changelog/custom-component-typeserik2 months ago
In atmos+pro, you can now mint short-lived narrowly scoped GitHub tokens that span repos. Think of it like AWS STS but for GitHub.
https://atmos-pro.com/changelog/2026-05-29-cross-repo-sts
This makes it trivial to read stack configs, source components, or really anything you do that needs a short-lived cross-repo token.
https://atmos-pro.com/changelog/2026-05-29-cross-repo-sts
This makes it trivial to read stack configs, source components, or really anything you do that needs a short-lived cross-repo token.
Paavo Pokkinen2 months ago
I found some interesting design differences between my own GCP components vs. Cloud Posse AWS components. I designed my GCP components to always take explicit
Especially when tofu allows to use variables within provider blocks nowadays.
var.project_id , this concept of account_map is quite confusing. 😃Especially when tofu allows to use variables within provider blocks nowadays.
Matt Brown2 months ago
is there an obvious way to exec/drop to a raw tty via a custom command? E.g. I'm trying to do something like:
but the exec seems to be within a subprocess itself, so doesn't replace atmos and the terminal gets all bunged up, most obviously if you try and Ctrl-C a command in the session, atmos itself takes teh Ctrl-C exits, and then the session ends with SIGPIPE 😞
Feels like a common need I would have thought, but I'm failing to find the right invocation in the docs...
commands:
name: ssh
steps:
- type: shell
output: raw
command: "exec aws ssm start-session --target {{ .Arguments.instance_id }}"but the exec seems to be within a subprocess itself, so doesn't replace atmos and the terminal gets all bunged up, most obviously if you try and Ctrl-C a command in the session, atmos itself takes teh Ctrl-C exits, and then the session ends with SIGPIPE 😞
Feels like a common need I would have thought, but I'm failing to find the right invocation in the docs...
Brian2 months ago
Is
• https://atmos.tools/changelog/custom-commands-step-types
• https://atmos.tools/workflows#step-types
atmos interactive workflows released (v1.220.0)?• https://atmos.tools/changelog/custom-commands-step-types
• https://atmos.tools/workflows#step-types
Thomas Spear2 months ago(edited)
Hi, is the atmos manifest schema updated with each release? I'm running 1.219.0 and I can see
Edit to clarify manifest schema, not json schema. I know I can comment out the schema from my atmos.yaml to bypass the error, but just curious how often is the online schema updated?
required_providers in the output from atmos describe stacks so I found the page mentioning this (a blog post) but can't seem to find anything in the actual documentation nor do I see the fields in the manifest schema, so after adding the providers as per the example, atmos describe stacks is tripping up because the stack yamls no longer validate against the manifest schema at https://atmos.tools/schemas/atmos/atmos-manifest/1.0/atmos-manifest.jsonEdit to clarify manifest schema, not json schema. I know I can comment out the schema from my atmos.yaml to bypass the error, but just curious how often is the online schema updated?
Miguel Zablah2 months ago
Hey I have a question about
atmos toolchain on atmos release 1.220.0 there was an update to how the toolchain verifies downloaded packages, it now will do checksums and signature/attestations this is great but on the PR it mention that this should be no breaking but if the package only has checksums it will fail with 404 I believed this should be a warning unless this is intentionalerik2 months ago
Coming to an atmos near you!
• Provider and Registry cache that works across all components
• Native GitHub Actions cache support (compatible with provider and registry cache and toolchain!)
• Custom Components (thanks @Ben Smith (Benbentwo) for validating)
• Native Secrets Management
• Provider and Registry cache that works across all components
• Native GitHub Actions cache support (compatible with provider and registry cache and toolchain!)
• Custom Components (thanks @Ben Smith (Benbentwo) for validating)
• Native Secrets Management
Yota2 months ago(edited)
Hello,
I finally took the time to test the command-adding feature. I added
I finally took the time to test the command-adding feature. I added
tflint, kics, trivy, checkov, and tfupdate in just a few lines. Atmos downloads the app and launches it in the right place. Really cool!