cloudposse / cloudposse/atmos

Custom command container build steps ignore with configuration

Open
#2,876 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
1.4k
Forks
175
Avg merge
2d 3h
Merged PRs (30d)
134

Description

## Atmos version

1.225.0

## Reproduction

A custom command in `.atmos.d/commands.yaml` contains a typed native container build step with `engine: buildx`, `context: app`, a tag, a `docker-container` driver, and registry `cache.from` / `cache.to` settings.

Run:

```bash
APP_IMAGE=example.invalid/demo:sha-test \
APP_IMAGE_CACHE=example.invalid/demo:buildcache \
ECR_REGISTRY=example.invalid \
atmos --use-version=1.225.0 build
```

With a logging `docker` shim first on `PATH`, Atmos invokes only:

```text
docker info
docker build -f Dockerfile .
```

It silently drops the configured Buildx engine, context, tag, driver, and cache settings.

## Expected

Custom commands should execute typed `container` steps through the native workflow container runner, preserving all `with:` settings. At a minimum, the resulting argv should contain `buildx`, the configured builder, `--cache-from`, `--cache-to`, tag, Dockerfile, and context.

## Impact

The feature build workflow calls `atmos build` and `atmos push`, so this silently uses Docker's default builder, misses the intended ECR cache, builds the wrong context, and does not tag the deterministic deployment image.

Contributor guide

Open the contributing guide

Research direction

Start with the typed container step in `.atmos.d/commands.yaml` and reproduce `atmos --use-version=1.225.0 build` using the logging `docker` shim described in the issue. Trace how custom commands reach the native workflow container runner, then verify the resulting argv preserves `buildx`, the builder, cache settings, tag, Dockerfile, and context.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, go
Domain
build-system, cli, devops
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.