feat(catalog): dogfood ci-buildah for the catalog's own image builds
Summary
The catalog now builds its own images using its own `ci-buildah` image as the build host. The bootstrap note in `.gitlab-ci.yml` has flagged this as the planned dogfooding step since v2.0.0; v2.4.0 is when it lands.
What changed
- `.image-build:` base image: `quay.io/buildah/stable:v1.43.0` → `registry.gitlab.com/gitlab-com/public-sector-tools/pipeline/ci-buildah:v2.3.0`. Pinned one release behind (v2.3.0) so the bootstrap chain is non-circular — we don't depend on the artifact we're producing.
- Drop runtime cosign install (ci-buildah has cosign baked). Saves ~5 sec per image build, removes the GitHub CDN dependency that flaked in earlier RC cycles.
- Bootstrap note in the CI config updated.
Why this is dogfooding (not full)
The catalog's image-build flow is multi-tag aware (resolves at runtime based on tag vs main, RC vs final, etc.) — that's not the shape of the `build-container-buildah` component, which assumes a single-tag-per- include build. So the dogfood here is: use our own ci-buildah image as the build environment rather than wrap our image-build flow in our own component. Full component dogfooding would require either refactoring image-build to instantiate the component N times (losing tag-resolution logic) or evolving the component (probably the right move for a future release).
Test plan
- MR pipeline runs the same image-build flow under ci-buildah:v2.3.0 and produces signed, pushed images
- Sim harness passes (sim-buildah-build, sim-go-binary)
- On merge, main pipeline produces fresh `:latest` images using the dogfooded build host
Followed by tag v2.4.0 which exercises the full release flow.