Component vendoring: vendor.yaml manifests, pulling from Git/S3/HTTP/OCI/Terraform Registry
Vendoring copies external components, stacks, and other artifacts into your repository. This gives you full control over when and how dependencies change, with visibility through git diff, an immutable audit trail, and the ability to apply emergency patches without waiting for upstream releases.
Terraform root modules must exist locally -- they cannot be pulled from remote sources at runtime the way child modules can. Vendoring makes this explicit: you copy the code once, commit it, and control when updates happen. This provides:
git diff, not just version bumps.terraform apply.Atmos supports two approaches:
vendor.yaml): A centralized manifest listing all dependencies. This is the recommended approach.component.yaml): A per-component manifest placed inside the component directory. This is the legacy approach.The vendor.yaml file is a Kubernetes-style YAML configuration placed in the repository root (or the directory from which atmos vendor pull is executed):
apiVersion: atmos/v1