diff --git a/pkgs/applications/networking/cluster/helm/plugins/default.nix b/pkgs/applications/networking/cluster/helm/plugins/default.nix index 342fd9e686a2..16fceff4ee1a 100644 --- a/pkgs/applications/networking/cluster/helm/plugins/default.nix +++ b/pkgs/applications/networking/cluster/helm/plugins/default.nix @@ -6,6 +6,8 @@ helm-git = callPackage ./helm-git.nix { }; + helm-cm-push = callPackage ./helm-cm-push.nix { }; + helm-s3 = callPackage ./helm-s3.nix { }; helm-secrets = callPackage ./helm-secrets.nix { }; diff --git a/pkgs/applications/networking/cluster/helm/plugins/helm-cm-push.nix b/pkgs/applications/networking/cluster/helm/plugins/helm-cm-push.nix new file mode 100644 index 000000000000..f54d2b332f27 --- /dev/null +++ b/pkgs/applications/networking/cluster/helm/plugins/helm-cm-push.nix @@ -0,0 +1,44 @@ +{ lib +, buildGoModule +, fetchFromGitHub +}: + +buildGoModule rec { + pname = "helm-cm-push"; + version = "0.10.3"; + + src = fetchFromGitHub { + owner = "chartmuseum"; + repo = "helm-push"; + rev = "v${version}"; + hash = "sha256-GyVhjCosVaUS1DtztztFxKuuRlUdxlsOP4/QMQ7+TaU="; + }; + + vendorSha256 = "sha256-9LhokpQrREmcyBqwb33BSMyG8z7IAsl9NtE3B631PnM="; + + subPackage = [ "cmd/helm-cm-push" ]; + + # Remove hooks. + postPatch = '' + sed -e '/^hooks:/,+2 d' -i plugin.yaml + ''; + + CGO_ENABLED = 0; + + ldflags = [ "-s" "-w" ]; + + postInstall = '' + install -Dm644 plugin.yaml $out/helm-cm-push/plugin.yaml + mv $out/bin $out/helm-cm-push + ''; + + # Tests require the ChartMuseum service. + doCheck = false; + + meta = with lib; { + description = "Helm plugin to push chart package to ChartMuseum"; + homepage = "https://github.com/chartmuseum/helm-push"; + license = licenses.asl20; + maintainers = with maintainers; [ azahi ]; + }; +}