Merge pull request #208944 from risicle/ris-dockertools-makeoverridable

dockerTools: use makeOverridable for buildImage family of functions
This commit is contained in:
Robert Scott 2023-09-12 23:16:06 +01:00 committed by GitHub
commit 9e64f794d1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 6 deletions

View File

@ -253,6 +253,8 @@ The module update takes care of the new config syntax and the data itself (user
- `programs.gnupg.agent.pinentryFlavor` is now set in `/etc/gnupg/gpg-agent.conf`, and will no longer take precedence over a `pinentry-program` set in `~/.gnupg/gpg-agent.conf`.
- `dockerTools.buildImage`, `dockerTools.buildLayeredImage` and `dockerTools.streamLayeredImage` now use `lib.makeOverridable` to allow `dockerTools`-based images to be customized more efficiently at the nix-level.
- `services.influxdb2` now supports doing an automatic initial setup and provisioning of users, organizations, buckets and authentication tokens, see [#249502](https://github.com/NixOS/nixpkgs/pull/249502) for more details.
- `wrapHelm` now exposes `passthru.pluginsDir` which can be passed to `helmfile`. For convenience, a top-level package `helmfile-wrapped` has been added, which inherits `passthru.pluginsDir` from `kubernetes-helm-wrapped`. See [#217768](https://github.com/NixOS/nixpkgs/issues/217768) for details.

View File

@ -487,7 +487,7 @@ rec {
'';
};
buildLayeredImage = { name, ... }@args:
buildLayeredImage = lib.makeOverridable ({ name, ... }@args:
let
stream = streamLayeredImage args;
in
@ -496,7 +496,8 @@ rec {
inherit (stream) imageName;
passthru = { inherit (stream) imageTag; };
nativeBuildInputs = [ pigz ];
} "${stream} | pigz -nTR > $out";
} "${stream} | pigz -nTR > $out"
);
# 1. extract the base image
# 2. create the layer
@ -504,7 +505,7 @@ rec {
# 4. compute the layer id
# 5. put the layer in the image
# 6. repack the image
buildImage =
buildImage = lib.makeOverridable (
args@{
# Image name.
name
@ -751,7 +752,8 @@ rec {
'';
in
checked result;
checked result
);
# Merge the tarballs of images built with buildImage into a single
# tarball that contains all images. Running `docker load` on the resulting
@ -837,7 +839,7 @@ rec {
})
);
streamLayeredImage =
streamLayeredImage = lib.makeOverridable (
{
# Image Name
name
@ -1046,7 +1048,8 @@ rec {
makeWrapper ${streamScript} $out --add-flags ${conf}
'';
in
result;
result
);
# This function streams a docker image that behaves like a nix-shell for a derivation
streamNixShellImage =