Skip to content

feat: resolve image URL from registry hierarchy in deployment matrix - #5

Closed
nadaverell wants to merge 1 commit into
mainfrom
feat/registry-image-url-design
Closed

feat: resolve image URL from registry hierarchy in deployment matrix#5
nadaverell wants to merge 1 commit into
mainfrom
feat/registry-image-url-design

Conversation

@nadaverell

Copy link
Copy Markdown
Contributor

Summary

  • Adds registry, per-service image, and per-env registry fields to SkyhookConfig, SkyhookService, and SkyhookEnvironment
  • Adds standalone resolveImage() in matrix-builder.js implementing the three-level hierarchy: service.image > env.registry/name > rootRegistry/name
  • buildMatrixFromSkyhook accepts rootRegistry (read from config.registry in index.js) and populates image per service×env entry
  • DeploymentEntry now carries an image field included in toObject() output
  • Adds 9 new tests (20 total, all passing): resolveImage unit tests and buildMatrixFromSkyhook with registry integration suite

Context

Fixes the root cause of broken CI pipelines: build_image.yml passes image: ${{ matrix.image }} to cloud-login and docker-build-push-action, but the matrix never had an image field. Now it does.

The resolved image comes from the registry hierarchy defined in .skyhook/skyhook.yaml — no registry logic belongs in customer workflow files.

Related: KoalaOps/koala-backend PR (schema + service creation), KoalaOps/orbit (already merged — org-settings API + CI fix).

- Add registry, image, and per-env registry fields to SkyhookConfig,
  SkyhookService, and SkyhookEnvironment
- Add standalone resolveImage() in matrix-builder implementing the hierarchy:
  service.image > env.registry > root registry
- buildMatrixFromSkyhook accepts rootRegistry and populates image per entry
- processSkyhookConfig passes config.registry as rootRegistry
- image field included in DeploymentEntry and toObject() output
- Add tests: resolveImage unit tests, buildMatrixFromSkyhook with registry
  integration suite (20 tests total, all passing)
@nadaverell
nadaverell requested a review from hisco March 19, 2026 13:39
@nadaverell

Copy link
Copy Markdown
Contributor Author

Discarding this approach — registry belongs in Kustomize overlays per ADR, not in skyhook.yaml.

@nadaverell nadaverell closed this Mar 29, 2026
@nadaverell
nadaverell deleted the feat/registry-image-url-design branch March 29, 2026 21:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant