Configurationยป
While Spacelift stacks typically link source code with infrastructure resources, it is often the broadly defined configuration that serves as the glue that's keeping everything together. These can be that access credentials, backend definitions or user-defined variables affecting the behavior of resource definitions found in the "raw" source code.
This section focuses on three aspects of configuration, each of which warrants its own help article:
- Direct stack environment, that is environment variables and mounted files;
- Contexts, that is environments (often partially defined) shared between stacks and/or Terraform modules;
- Runtime configuration as defined in the
.spacelift/config.yml
file;
A general note on precedenceยป
Some configuration settings can be defined on multiple levels. If they're over-defined (the same setting is defined multiple times), the end result will depend on generic rules of precedence. These rules will be the same for all applicable settings:
- stack-specific runtime configuration will take the highest precedence;
- common runtime configuration will go second;
- configuration defined directly (either through the environment, or settings) on the stack will go next;
- anything defined at the context level will take the lowest precedence - furthermore, contexts can be attached with a priority level further defining the exact precedence;