Merge pull request #120049 from superherointj/package-argocd-2.0.1

authored by Sandro and committed by GitHub 6e6ee6d0 7c5ca3dc

+51 -17
+51 -17
pkgs/applications/networking/cluster/argocd/default.nix
··· 1 - { lib, buildGoModule, fetchFromGitHub, packr }: 1 + { lib, buildGoModule, fetchFromGitHub, packr, makeWrapper, installShellFiles, helm, kustomize }: 2 2 3 3 buildGoModule rec { 4 4 pname = "argocd"; 5 - version = "1.8.6"; 6 - commit = "28aea3dfdede00443b52cc584814d80e8f896200"; 5 + version = "2.0.1"; 6 + commit = "33eaf11e3abd8c761c726e815cbb4b6af7dcb030"; 7 + tag = "v${version}"; 7 8 8 9 src = fetchFromGitHub { 9 10 owner = "argoproj"; 10 11 repo = "argo-cd"; 11 - rev = "v${version}"; 12 - sha256 = "sha256-kJ3/1owK5T+FbcvjmK2CO+i/KwmVZRSGzF6fCt8J9E8="; 12 + rev = tag; 13 + sha256 = "sha256-j/RdiMeaYxlmEvo5CKrGvkp25MrFsSYh+XNYWNcs0PE="; 13 14 }; 14 15 15 - vendorSha256 = "sha256-rZ/ox180h9scocheYtMmKkoHY2/jH+I++vYX8R0fdlA="; 16 + vendorSha256 = "sha256-8j5v99wOHM/SndJwpmGWiCFEyw4K513HEEbkPrD8C90="; 16 17 18 + nativeBuildInputs = [ packr makeWrapper installShellFiles ]; 19 + 20 + # run packr to embed assets 21 + preBuild = '' 22 + packr 23 + ''; 24 + 25 + buildFlagsArray = 26 + let package_url = "github.com/argoproj/argo-cd/v2/common"; in 27 + [ 28 + "-ldflags=" 29 + "-s -w" 30 + "-X ${package_url}.version=${version}" 31 + "-X ${package_url}.buildDate=unknown" 32 + "-X ${package_url}.gitCommit=${commit}" 33 + "-X ${package_url}.gitTag=${tag}" 34 + "-X ${package_url}.gitTreeState=clean" 35 + ]; 36 + 37 + # Test is disabled because ksonnet is missing from nixpkgs. 38 + # Log: https://gist.github.com/superherointj/79cbdc869dfd44d28a10dc6746ecb3f9 17 39 doCheck = false; 40 + checkInputs = [ 41 + helm 42 + kustomize 43 + #ksonnet 44 + ]; 18 45 19 - nativeBuildInputs = [ packr ]; 46 + doInstallCheck = true; 47 + installCheckPhase = '' 48 + $out/bin/argocd version --client | grep ${tag} > /dev/null 49 + $out/bin/argocd-util version | grep ${tag} > /dev/null 50 + ''; 20 51 21 - buildFlagsArray = '' 22 - -ldflags= 23 - -X github.com/argoproj/argo-cd/common.version=${version} 24 - -X github.com/argoproj/argo-cd/common.buildDate=unknown 25 - -X github.com/argoproj/argo-cd/common.gitCommit=${commit} 26 - -X github.com/argoproj/argo-cd/common.gitTreeState=clean 52 + installPhase = '' 53 + runHook preInstall 54 + mkdir -p $out/bin 55 + install -Dm755 "$GOPATH/bin/cmd" -T $out/bin/argocd 56 + runHook postInstall 27 57 ''; 28 58 29 - # run packr to embed assets 30 - preBuild = '' 31 - packr 59 + postInstall = '' 60 + for appname in argocd-util argocd-server argocd-repo-server argocd-application-controller argocd-dex ; do 61 + makeWrapper $out/bin/argocd $out/bin/$appname --set ARGOCD_BINARY_NAME $appname 62 + done 63 + installShellCompletion --cmd argocd \ 64 + --bash <($out/bin/argocd completion bash) \ 65 + --zsh <($out/bin/argocd completion zsh) 32 66 ''; 33 67 34 68 meta = with lib; { 35 69 description = "Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes"; 36 70 homepage = "https://github.com/argoproj/argo"; 37 71 license = licenses.asl20; 38 - maintainers = with maintainers; [ shahrukh330 ]; 72 + maintainers = with maintainers; [ shahrukh330 superherointj ]; 39 73 }; 40 74 }