Allow `Go` templates in `metadata.component` section. Add `components.terraform.command` section to `atmos.yaml`. Document OpenTofu support @aknysh (#604)
what
- Allow
Go
templates inmetadata.component
section - Add
components.terraform.command
andcomponents.helmfile.command
sections toatmos.yaml
- Update docs
- Document OpenTofu support
why
Go
templates incomponent
andmetadata.component
section are useful when multiple versions of the same Terraform component are used fromcomponents/terraform
section, and a particular version can be defined using templates. UseGo
templates inmetadata.component
section as follows:
components:
terraform:
my-component:
settings:
component: my-tf-component # Point to the Terraform component
metadata:
component: "{{ .settings.component }}"
- The
components.terraform.command
andcomponents.helmfile.command
sections inatmos.yaml
specify the executable to be called byatmos
when running Terraform and Helmfile commands. Allows specifying different versions of OpenTofu executables
components:
terraform:
# Optional `command` specifies the executable to be called by `atmos` when running Terraform commands
# If not defined, `terraform` is used
# Examples:
# command: terraform
# command: /usr/local/bin/terraform
# command: /usr/local/bin/terraform-1.8
# command: tofu
# command: /usr/local/bin/tofu-1.7.1
# Can also be set using 'ATMOS_COMPONENTS_TERRAFORM_COMMAND' ENV var, or '--terraform-command' command-line argument
command: terraform
helmfile:
# Optional `command` specifies the executable to be called by `atmos` when running Helmfile commands
# If not defined, `helmfile` is used
# Examples:
# command: helmfile
# command: /usr/local/bin/helmfile
# Can also be set using 'ATMOS_COMPONENTS_HELMFILE_COMMAND' ENV var, or '--helmfile-command' command-line argument
command: helmfile
Related
- Closes #594