feat(images): vendor Image CRs from kube-workspaces/image-catalog - #4
Merged
Conversation
Image CR manifests are no longer authored in this repo. The 38 images
previously hand-maintained in images.yaml now live upstream in
kube-workspaces/image-catalog, one file per image, and are vendored
here at a pinned release (IMAGE_CATALOG_VERSION=v0.1.0).
deploy changes:
- Makefile: add sync-images/check-images targets (mirrors the existing
sync-helm-crds/check-helm-crds pattern), remove the now-obsolete
pull-images/push-images targets and pull-images.py
- images.yaml: re-vendored from image-catalog@v0.1.0 (semantically
identical to before — same 38 images, just reordered, plus an
annotation on the 5 curated examples)
- helm chart: replace the hardcoded 5-image values.yaml list with two
new booleans:
- installExampleImages (default true): install the curated 5-image
subset from the vendored files/images-examples.yaml
- installCatalogImages (default false): install the full vendored
catalog (files/images-catalog.yaml) instead; takes precedence
over installExampleImages to avoid duplicate CRs
the images: values list still layers custom/additional images on
top of whichever catalog setting is active
- helm unit tests: cover both booleans, precedence, and layering with
custom images
- validate.sh: add full-image-catalog/no-image-catalog render cases to
the kubeconform matrix
- helm-publish.yaml: run check-images alongside check-helm-crds
- docs: README, AGENTS.md, CONTRIBUTING.md, docs/domains.md updated
- Chart.yaml version bumped to 0.3.0 [feature/image-catalog-integration]
flaccid
force-pushed
the
feature/image-catalog-integration
branch
from
August 25, 2026 05:02
5226b45 to
cd7b599
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Image CR manifests are no longer authored in this repo. The 38 images previously hand-maintained in
images.yamlnow live upstream in kube-workspaces/image-catalog (one file per image), and are vendored here at a pinned release (IMAGE_CATALOG_VERSION=v0.1.0).Changes
sync-images/check-imagestargets (mirrors the existingsync-helm-crds/check-helm-crdspattern). Removed the now-obsoletepull-images/push-imagestargets andpull-images.py— they round-trippedimages.yamlagainst a live cluster, which no longer makes sense once the file is vendored, not hand-authored.image-catalog@v0.1.0. Semantically identical to before (same 38 images; verified via a scripted diff) — just reordered, plus acatalog.kubeworkspaces.io/example: "true"annotation on the 5 images that back the Helm chart's curated defaults.values.yamlwith two booleans:installExampleImages(defaulttrue): installs the curated 5-image subset from the vendoredfiles/images-examples.yamlinstallCatalogImages(defaultfalse): installs the full vendored catalog (files/images-catalog.yaml) instead; takes precedence overinstallExampleImagesto avoid rendering duplicate CRsimages:values list still layers custom/additional images on top of whichever catalog setting is activefull-image-catalog/no-image-catalogrender cases to the kubeconform matrixmake check-imagesalongsidemake check-helm-crdsTesting
bash scripts/validate.sh: 85/85 checks passed (was 81/81 before this change)helm unittest helm/kube-workspaces/: 56/56 tests passed across all suiteshelm lint helm/kube-workspaces/: cleanhelm templateproduces 5 documents by default, 38 withinstallCatalogImages=true, 0 with both booleans false, and correctly layers customimages:on top without duplicatesimages.yamlis semantically identical to the pre-migration version (same 38 images, same fields) via a scripted comparisonRelated