Optional: Vendor Components
This step is not required for the tutorial. The six components in this example live in the repo under components/terraform/, so there's nothing to
vendor. This page is included as a design-pattern aside: in real projects you'll often pull shared components from a remote source instead of copying
them by hand. If you just want to deploy the example, skip to Configure Validation.
Vendoring is how Atmos pulls component source code from a remote location (Git, OCI, S3, HTTP, the Terraform Registry, …) into your repository at a pinned version. It keeps your components DRY and versioned without forking shared modules.
For more information about Atmos Vendoring and the atmos vendor pull CLI command, refer to:
To vendor components from a remote source, perform the following steps:
Create a vendor.yaml config file
Create a vendor.yaml Atmos vendor config file in the root of the repo. Each source declares a component, the remote location to pull it from, the
pinned version, and the target folder. For example, to vendor a shared s3-bucket component:
Vendor the dependencies
Execute the command atmos vendor pull from the root of the repo.
Atmos downloads the source into the target folder, and the component is then available exactly like a local one.
A vendored component reads another component's remote state and resolves !store/!secret functions just like the local components you built earlier — no extra configuration. Atmos finds your atmos.yaml from the repo root (base_path: "."), so cross-component wiring keeps working after you vendor.