Skip to main content

Glossary

Here's a list of the terms, concepts and conventions used throughout the Atmos project.

info

Atmos borrows from many of the concepts of Object-Oriented Programming and applies them to configuration, enabling you to model configuration in a way that makes sense for your organization.

TermDefinition
Abstract ComponentA component baseline required to be inherited as a Real Component in order to be instantiated
CatalogA collection of reusable configurations (e.g. Stack configurations)
Component InstanceA configuration of a real component in a parent stack that can be instantiated (e.g. deployed)
ComponentsComponents are resuable building blocks of some tool. (e.g. terraform "root" modules.)
Concrete ComponentAlso known as a "Real Component"
ImportsA mechanism to include one configuration in another for the purpose of reducing duplication.
InheritanceA mechanism to derive a configuration from a hierarchy of other configurations that share a set of attributes.
IntegrationA mechanism of working with other tools and APIs
LibraryA collection of "Components" that can be treated like reusable building blocks.
MixinsA partial configuration that is imported for use by other stacks without having to be the parent stack.
Multiple InheritanceA mechanism to inerit configurations from multiple sources
Parent StackThe Stack configuration which defines all components for an environment
Real ComponentA component that is instantiated in a Parent Stack
StacksStacks are a YAML configuration file that functions like a blueprint to describe all components
Terraform "Child Modules"Any terraform module that is called from another module. A child module does not have terraform state.
Terraform "Root Module"These are components. It's any top-level terraform module with a state backend. This is where "terraform" is run.
VendoringA mechanism of making a copy of the 3rd party components in your repository.
NamespaceA prefix for all resources in a Stack
TenantA logical grouping of resources. In AWS we use the Tenant to represent the Organizational Unit (OU).
EnvironmentA location where resources are deployed (e.g. us-east-1). See Disambiguation

Disambiguation

Let's face it. These terms are frequently overloaded across tools and products.

TermContextAtmos Analog
StackSpaceliftComponent Instance
EnvironmentAtmosParent Stack
EnvironmentAtmosFrequently refers to a region (we want to move away from this, but it's an artifact of how we use terraform-null-label
StageAtmosE.g. Dev, Production, Staging, QA, etc. By convention, we recommend a minimum of one account per stage. Some companys use "Environment" the way we use "Stage".
NamespaceKubernetesFrequently it will be represented by a variable named kubernetes_namespace; it should not be confused with what atmos calls namespace