Skip to content

refactor(docker): respect image settings, use vals, customizable registry protocol#128

Open
yajo wants to merge 1 commit intohall:mainfrom
moduon:fix-images-push
Open

refactor(docker): respect image settings, use vals, customizable registry protocol#128
yajo wants to merge 1 commit intohall:mainfrom
moduon:fix-images-push

Conversation

@yajo
Copy link
Contributor

@yajo yajo commented Mar 2, 2026

refactor(docker): respect image settings, use vals, customizable registry protocol

This is a bunch of fixes together to cover a single use case, the one expressed in the included test: multiple images pushed to different destinations with a single script.

Image registry, name and tag can use vals, just like the rest of Kubenix, to expand dynamic or secret references on run time.

BREAKING CHANGE: docker.copyScript now puts a binary inside $out/bin/kubenix-push-images. The benefit is that now you can just nix run .#kubenix.config.docker.copyScript, which is more ergonomic.

BREAKING CHANGE: Registry definitions, which were never a URL, are no longer set in a url option. Instead of using docker.registry.url and docker.images.*.registry options are now consolidated into [docker.registry|docker.images.*.registry].registry.{protocol,host}, which behave as you'd expect.

BREAKING CHANGE: docker.copyScript push images to docker.images.*.uri instead of a handmade combination of the imageName and imageTag passthru attributes of the docker.images.*.image derivation.

@moduon MT-1075

@yajo yajo force-pushed the fix-images-push branch 5 times, most recently from 56e5b83 to aa9b5d6 Compare March 4, 2026 11:01
…stry protocol

This is a bunch of fixes together to cover a single use case, the one expressed in the included test: multiple images pushed to different destinations with a single script.

Image registry, name and tag can use `vals`, just like the rest of Kubenix, to expand dynamic or secret references on run time.

BREAKING CHANGE: `docker.copyScript` now puts a binary inside `$out/bin/kubenix-push-images`. The benefit is that now you can just `nix run .#kubenix.config.docker.copyScript`, which is more ergonomic.

BREAKING CHANGE: Registry definitions, which were never a URL, are no longer set in a `url` option. Instead of using `docker.registry.url` and `docker.images.*.registry` options are now consolidated into `[docker.registry|docker.images.*.registry].registry.{protocol,host}`, which behave as you'd expect.

BREAKING CHANGE: `docker.copyScript` push images to `docker.images.*.uri` instead of a handmade combination of the `imageName` and `imageTag` passthru attributes of the `docker.images.*.image` derivation.

@moduon MT-1075
@yajo yajo force-pushed the fix-images-push branch from aa9b5d6 to 15725c3 Compare March 6, 2026 07:43
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