| name | changing-pulp-container |
| description | Use when changing the Dockerfile, .tekton/ PipelineRuns, pulp-tool-container image, UBI/Python base, or Konflux container build integration. Container images are built by Konflux Tekton — not GitHub Actions. |
Changing pulp-tool container image / Konflux build
Overview
The pulp-tool-container image is built and published by Konflux Tekton (Pipelines as Code). GitHub Actions runs unit tests and lint only; it does not build the container.
In-repo: Dockerfile, .tekton/. Remote pipeline: single-arch-build-pipeline.yaml (git resolver @ main). Full task chain: reference.md.
Downstream consumers of the published image: changing-pulp-upload + CLAUDE.md.
In-repo PipelineRuns
Shared: namespace artifact-storage-tenant, app/component tooling / pulp-tool-container, SA build-pipeline-pulp-tool-container, workspace git-auth, params git-url + revision.
What the remote pipeline does
init — gate build; optional cache proxy.
git-clone-oci-ta — checkout repo at revision.
prefetch-dependencies-oci-ta — Cachi2 (empty for pulp-tool; no prefetch config in-repo).
buildah-oci-ta (build-container) — Buildah builds Dockerfile at repo root (path-context: .) and pushes output-image. Dockerfile RUN steps need network (hermetic defaults false).
- Post-build checks (unless
skip-checks) — deprecated base image, Clair, cert preflight, Snyk SAST, ClamAV, SBOM JSON.
- Finally —
show-sbom, show-summary.
Debug tip: Dockerfile errors appear in Konflux build-container logs, not GitHub Actions.
Workflow
- Read this skill, Dockerfile, and reference.md.
- Re-open
.tekton/pulp-tool-container-build-*.yaml and upstream single-arch-build-pipeline on GitHub (bundles evolve).
- Edit
Dockerfile / pyproject.toml install deps as needed.
- Edit
.tekton/ for publish paths/triggers only — do not vendor the remote pipeline in-repo.
- Do not add GitHub Actions
docker build as a merge gate.
- Optional local check:
make test-container.
- Confirm Konflux PipelineRun on PR; after merge, pulp-tool-container-on-push on App Studio.
- If runtime Tekton invocation changes, load changing-pulp-upload.
Regression checklist
Red flags
- GHA
docker build as CI gate — Konflux builds on every PR/push to main
- Hermetic build without prefetch — would break
dnf/pip in Dockerfile
- Stale Python pin vs UBI base image
/root/.cache left in final image layers
- Quay path / component label changes without tenant coordination
Quick reference
| Concern | Where |
|---|
| Image recipe | Dockerfile |
| Triggers / Quay tags | .tekton/pulp-tool-container-build-*.yaml |
| Build implementation | Upstream single-arch-build-pipeline → buildah-oci-ta |
| Task details | reference.md |
| Local smoke test | make test-container |
| Runtime usage | changing-pulp-upload + CLAUDE.md |