← ClaudeAtlas

sales-demos-ee-buildlisted

Build, verify, and publish the custom execution environment this repo's AAP job templates run on — the image that carries the terraform CLI plus the pinned collections. Wraps utilities/build-ee.sh, then registers the new tag in AAP config-as-code. TRIGGER when: the user asks to build, rebuild, bump, or publish the EE, add a collection to the EE, change the terraform version, re-pin the base image, or hits EE errors (ImagePullBackOff on a job template, 'terraform: command not found' in a job, 'couldn't resolve module/action' at runtime but not locally, or an ansible-builder assemble failure). SKIP: if the user only wants collections installed on their laptop — that is sales-demos-collections-sync — or is registering an EE that already exists in quay.
ericcames/sales.demos · ★ 1 · Web & Frontend · score 67
Install: claude install-skill ericcames/sales.demos
# sales-demos-ee-build Builds the image AAP runs this repo's playbooks on: `quay.io/zigfreed/sales-demos-ee`, defined by `execution-environment.yml` at the repo root. **Why it exists.** Phase 3 (#4) drives `terraform/ocpvirt/` by shelling out to the terraform CLI. No stock execution environment ships that binary. That is the entire reason for a custom image — everything else in it could have come from `ee-supported-rhel9` unchanged. Like `sales-demos-collections-sync`, this skill has **no playbook**, and that is deliberate. The "skill wraps a playbook" contract in `CLAUDE.md` exists so anything touching a demo environment is runnable from AAP too. This builds a container on your laptop and pushes it to a registry; it must never run from AAP, and there is nothing for a job template to call. ## Never reimplement the build here `utilities/build-ee.sh` is the build. It stages `~/.ansible.cfg`, builds, verifies the image as UID 1000, and optionally pushes. Do not run `ansible-builder` directly and do not paste its flags into a chat command — the staging step is not optional, and skipping it produces an image with no Automation Hub token and a confusing galaxy failure. ## Preflight Check ```bash # 1. Build tooling command -v ansible-builder >/dev/null && echo "✅ ansible-builder $(ansible-builder --version)" || echo "❌ ansible-builder missing" command -v podman >/dev/null && echo "✅ $(podman --version)" || echo "❌ podman missing" # 2. ~/.ansib