atmos packer source pull
Use this command to vendor a Packer component source based on its source configuration. This downloads the component from the specified URI and places it in the appropriate component directory.
Learn how to configure the source field for per-environment version control.
Usage
atmos packer source pull <component> --stack <stack> [flags]
Description
The pull command vendors a Packer component source by:
- Reading the
sourceconfiguration from the component's stack manifest - Downloading the source from the specified URI using go-getter
- Applying any
included_pathsandexcluded_pathsfilters - Copying the filtered content to the component directory
If the component is already vendored, it will be skipped unless --force is specified.
The destination is the same directory the component uses at run time: metadata.component (the base component, not the instance name), unless working_directory or provision.workdir.enabled places it elsewhere. A metadata.component that is an absolute path, or that climbs out of the components directory, is rejected.
Examples
Basic Usage
Vendor a component source for a specific stack:
atmos packer source pull ami-builder --stack dev
Force Re-vendor
Re-vendor even if the component directory already exists:
atmos packer source pull ami-builder --stack dev --force
With Identity Override
Use a specific identity for authentication:
atmos packer source pull ami-builder --stack dev --identity admin
Arguments
component- Required. The name of the Atmos component to vendor.
Flags
--stack/-s- Required. The Atmos stack name. Can also be set via
ATMOS_STACKenvironment variable. --force/-f- Force re-vendor even if the component directory already exists. Without this flag, the command skips vendoring if the directory exists.
--identity/-i- Identity to use for authentication when downloading from protected sources. Overrides the component's default identity.
Configuration
The component must have source configured in its stack manifest:
components:
packer:
ami-builder:
source:
uri: github.com/cloudposse/packer-templates//ami-builder
version: 1.0.0
included_paths:
- "*.pkr.hcl"
excluded_paths:
- "*.md"
- "tests/**"
Output
On success:
Vendoring component 'ami-builder' from source...
Downloading from github.com/cloudposse/packer-templates//ami-builder?ref=1.0.0
✓ Successfully vendored component to components/packer/ami-builder
See Also
- Source-Based Version Pinning — Design pattern for per-environment version control
atmos packer source— Parent command overviewatmos packer source describe— View source configurationatmos packer source list— List components with sourceatmos packer source delete— Remove vendored source