Charles Smith
03/23/2026, 9:25 PMnull-label or <http://context.tf|context.tf> mixin in all our components. I figured it was a must have until I stumbled on this new recommendation:
https://atmos.tools/cli/configuration/stacks/#stack-naming-with-name_template-recommended
If I understand that correctly then if we make sure we include a common set of our own variables in all components we can actually define/name our stacks using our own naming vars instead of just [namespace, tenant, stage, environment]?
Are there any major gotchas to heading down this path?Andriy Knysh (Cloud Posse)
03/23/2026, 9:36 PMAndriy Knysh (Cloud Posse)
03/23/2026, 9:37 PMAndriy Knysh (Cloud Posse)
03/23/2026, 9:40 PMname_template and any attributes from any Atmos section - note that you can use .settings.xyz and not .vars.xyz, in which case you don't need to have a set of context variables in all your components (which brings us to the next section)
• Yes, you can have your own terraform components with your own set of context variables, in which case by using name_template for the stack names you can (re)use the context variables to constract the stack names as wellAndriy Knysh (Cloud Posse)
03/23/2026, 9:43 PMnull-label (or your own) allows to uniquely and consistently name ALL AWS (and other clouds) resources (e.g. all S3 buckets, all VPCs, etc.)Andriy Knysh (Cloud Posse)
03/23/2026, 9:45 PMCharles Smith
03/23/2026, 9:46 PM<http://context.tf|context.tf> or null-label always available. Thanks!Andriy Knysh (Cloud Posse)
03/23/2026, 9:55 PMAndriy Knysh (Cloud Posse)
03/23/2026, 9:55 PMnull-label pattern adds the context variables as tags to all resources - easy to see and manageAndriy Knysh (Cloud Posse)
03/23/2026, 9:56 PMAndriy Knysh (Cloud Posse)
03/23/2026, 9:57 PM_defaults.yaml
tags:
# <https://atmos.tools/core-concepts/stacks/templates>
# atmos describe component <component> -s <stack> -> returns all Atmos sections
atmos_component: "{{ .atmos_component }}"
atmos_stack: "{{ .atmos_stack }}"
terraform_component: "{{ .component }}"
terraform_workspace: "{{ .workspace }}"
# Example of using the Sprig and Gomplate functions
# <https://masterminds.github.io/sprig/os.html>
# provisioned_by_user: '{{ env "USER" }}'Andriy Knysh (Cloud Posse)
03/23/2026, 9:58 PMAndriy Knysh (Cloud Posse)
03/23/2026, 9:59 PMAndriy Knysh (Cloud Posse)
03/23/2026, 9:59 PMCharles Smith
03/23/2026, 10:00 PMnull-label before and was a huge fan. But I was foreseeing my current org struggling with the environment/region name definitions. Now I have even more to think about. Thanks!