diff options
author | Alyssa Ross <hi@alyssa.is> | 2021-04-09 18:28:16 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2021-04-12 18:46:15 +0000 |
commit | fd2e737e0678ee7d8081baef05b305146a2c0034 (patch) | |
tree | ac3e9b27576a0382335532d126f9a66d486bc638 /nixpkgs/pkgs/applications/networking/cluster | |
parent | cc207d720b6aa836e256c1ee9842bc739e630a8a (diff) | |
parent | 9e377a6ce42dccd9b624ae4ce8f978dc892ba0e2 (diff) | |
download | nixlib-fd2e737e0678ee7d8081baef05b305146a2c0034.tar nixlib-fd2e737e0678ee7d8081baef05b305146a2c0034.tar.gz nixlib-fd2e737e0678ee7d8081baef05b305146a2c0034.tar.bz2 nixlib-fd2e737e0678ee7d8081baef05b305146a2c0034.tar.lz nixlib-fd2e737e0678ee7d8081baef05b305146a2c0034.tar.xz nixlib-fd2e737e0678ee7d8081baef05b305146a2c0034.tar.zst nixlib-fd2e737e0678ee7d8081baef05b305146a2c0034.zip |
Merge remote-tracking branch 'nixpkgs/nixos-unstable'
Diffstat (limited to 'nixpkgs/pkgs/applications/networking/cluster')
69 files changed, 1288 insertions, 381 deletions
diff --git a/nixpkgs/pkgs/applications/networking/cluster/argo/default.nix b/nixpkgs/pkgs/applications/networking/cluster/argo/default.nix index 8460322f05b1..6e5d05ff0d75 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/argo/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/argo/default.nix @@ -19,13 +19,13 @@ let in buildGoModule rec { pname = "argo"; - version = "2.12.7"; + version = "2.12.10"; src = fetchFromGitHub { owner = "argoproj"; repo = "argo"; rev = "v${version}"; - sha256 = "sha256-bMbfFAI4oGZc7FOlU8LczbjAq1cYmJg5WTXkQKS9vgo="; + sha256 = "sha256-A4s6D3/1FsqrJ+Jaql4IuyD9ySChL3SXqVvl8wUDRDE="; }; vendorSha256 = "sha256-4XPMixVNj6PUKobNLwpsOBT7Zs/7pkhDtQacLIB5EfE="; diff --git a/nixpkgs/pkgs/applications/networking/cluster/argocd/default.nix b/nixpkgs/pkgs/applications/networking/cluster/argocd/default.nix index c3e9a774fa90..f1c98e0ed84c 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/argocd/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/argocd/default.nix @@ -2,17 +2,17 @@ buildGoModule rec { pname = "argocd"; - version = "1.8.3"; - commit = "ef5010c3a0b5e027fd642732d03c5b0391b1e574"; + version = "1.8.6"; + commit = "28aea3dfdede00443b52cc584814d80e8f896200"; src = fetchFromGitHub { owner = "argoproj"; repo = "argo-cd"; rev = "v${version}"; - sha256 = "sha256-do5DAxaQ1gBdvNN/YGKAkmkFcJ+j/ojBaWPwrXXQko0="; + sha256 = "sha256-kJ3/1owK5T+FbcvjmK2CO+i/KwmVZRSGzF6fCt8J9E8="; }; - vendorSha256 = "sha256-6DOay+aeXz7EQKe5SzQSmg/5KyUI0g6wzPgx/+F2RW4="; + vendorSha256 = "sha256-rZ/ox180h9scocheYtMmKkoHY2/jH+I++vYX8R0fdlA="; doCheck = false; diff --git a/nixpkgs/pkgs/applications/networking/cluster/atlantis/default.nix b/nixpkgs/pkgs/applications/networking/cluster/atlantis/default.nix index 728e23ff380f..dcb6b823667e 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/atlantis/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/atlantis/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "atlantis"; - version = "0.16.0"; + version = "0.16.1"; src = fetchFromGitHub { owner = "runatlantis"; repo = "atlantis"; rev = "v${version}"; - sha256 = "sha256-1sak6CaqFhiBIoaa7kERXLHsgn24oMgBlOJaQDuF61E="; + sha256 = "sha256-D549pInoK8ispgcn8LYdix19Hp7wO6w2/d2Y1L/9Px8="; }; vendorSha256 = null; diff --git a/nixpkgs/pkgs/applications/networking/cluster/cloudfoundry-cli/default.nix b/nixpkgs/pkgs/applications/networking/cluster/cloudfoundry-cli/default.nix index de032cc60e99..a251886ebdd7 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/cloudfoundry-cli/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/cloudfoundry-cli/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, buildGoModule, fetchFromGitHub, fetchurl, installShellFiles }: +{ lib, buildGoModule, fetchFromGitHub, fetchurl, installShellFiles }: buildGoModule rec { pname = "cloudfoundry-cli"; diff --git a/nixpkgs/pkgs/applications/networking/cluster/fluxcd/default.nix b/nixpkgs/pkgs/applications/networking/cluster/fluxcd/default.nix index a45f3553b921..1d8a8228af15 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/fluxcd/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/fluxcd/default.nix @@ -1,26 +1,39 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: +{ lib, buildGoModule, fetchFromGitHub, fetchzip, installShellFiles }: + +let + version = "0.11.0"; + + manifests = fetchzip { + url = "https://github.com/fluxcd/flux2/releases/download/v${version}/manifests.tar.gz"; + sha256 = "sha256-nqvFJriNMK3SvAsNzhE8MCzVNR8j/TjYU+f1PbuxkuI="; + stripRoot = false; + }; +in buildGoModule rec { + inherit version; + pname = "fluxcd"; - version = "0.8.0"; src = fetchFromGitHub { owner = "fluxcd"; repo = "flux2"; rev = "v${version}"; - sha256 = "1k7zcn8l60qfgiixkjcmp94w87w88n475mmhf58vl5pfz21p9vky"; + sha256 = "sha256-V4cZuRlC1Hu4gBG5/8ZNBKlSBFLgOtSJ3GbpjW5/8xM="; }; - vendorSha256 = "16yixz47zrzjkb2k4n03zfivpc2cavcrrv4fz8s5a4xzfrcp4nvx"; + vendorSha256 = "sha256-aVVvrOjCKxzFer5uZRSu1LCQKkGkPcBdKdebN5uHUUg="; nativeBuildInputs = [ installShellFiles ]; - doCheck = false; - subPackages = [ "cmd/flux" ]; buildFlagsArray = [ "-ldflags=-s -w -X main.VERSION=${version}" ]; + postUnpack = '' + cp -r ${manifests} source/cmd/flux/manifests + ''; + doInstallCheck = true; installCheckPhase = '' $out/bin/flux --version | grep ${version} > /dev/null diff --git a/nixpkgs/pkgs/applications/networking/cluster/fluxctl/default.nix b/nixpkgs/pkgs/applications/networking/cluster/fluxctl/default.nix index 4a8f42e3cc7e..1d02e675f9c4 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/fluxctl/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/fluxctl/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "fluxctl"; - version = "1.21.1"; + version = "1.22.1"; src = fetchFromGitHub { owner = "weaveworks"; repo = "flux"; rev = version; - sha256 = "sha256-/go8V1EjY/iL3csoNpPyeWORvWCf0WnnaSOgiZ8UFQ8="; + sha256 = "sha256-SaDO3a50CLhgLafCdgKEfHpuHdIweSy5L/TUgEUv5CM="; }; - vendorSha256 = "sha256-GEU0Q2Elhiel20xvup+i1DSXCjQdA9s7cWykcbKR5KA="; + vendorSha256 = "sha256-4uSw/9lI/rdDqy78jNC9eHYW/v/sMFb+sQvwYG6GZks="; nativeBuildInputs = [ installShellFiles ]; diff --git a/nixpkgs/pkgs/applications/networking/cluster/hadoop/default.nix b/nixpkgs/pkgs/applications/networking/cluster/hadoop/default.nix index 4f3dfcfc03f7..659e8ee41701 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/hadoop/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/hadoop/default.nix @@ -1,9 +1,12 @@ -{ lib, stdenv, fetchurl, makeWrapper, pkg-config, which, maven, cmake, jre, bash +{ lib, stdenv, fetchurl, makeWrapper, pkg-config, which, maven, cmake, jre, jdk8, bash , coreutils, glibc, protobuf2_5, fuse, snappy, zlib, bzip2, openssl, openssl_1_0_2 }: let - common = { version, sha256, dependencies-sha256, tomcat, opensslPkg ? openssl }: + maven-jdk8 = maven.override { + jdk = jdk8; + }; + common = { version, sha256, dependencies-sha256, maven, tomcat, opensslPkg ? openssl }: let # compile the hadoop tarball from sources, it requires some patches binary-distributon = stdenv.mkDerivation rec { @@ -131,6 +134,7 @@ in { dependencies-sha256 = "1lsr9nvrynzspxqcamb10d596zlnmnfpxhkd884gdiva0frm0b1r"; tomcat = tomcat_6_0_48; opensslPkg = openssl_1_0_2; + maven = maven-jdk8; }; hadoop_2_8 = common { version = "2.8.4"; @@ -138,6 +142,7 @@ in { dependencies-sha256 = "1j4f461487fydgr5978nnm245ksv4xbvskfr8pbmfhcyss6b7w03"; tomcat = tomcat_6_0_48; opensslPkg = openssl_1_0_2; + maven = maven-jdk8; }; hadoop_2_9 = common { version = "2.9.1"; @@ -145,17 +150,20 @@ in { dependencies-sha256 = "1d5i8jj5y746rrqb9lscycnd7acmxlkz64ydsiyqsh5cdqgy2x7x"; tomcat = tomcat_6_0_48; opensslPkg = openssl_1_0_2; + maven = maven-jdk8; }; hadoop_3_0 = common { version = "3.0.3"; sha256 = "1vvkci0kx4b48dg0niifn2d3r4wwq8pb3c5z20wy8pqsqrqhlci5"; dependencies-sha256 = "1kzkna9ywacm2m1cirj9cyip66bgqjhid2xf9rrhq6g10lhr8j9m"; tomcat = null; + maven = maven-jdk8; }; hadoop_3_1 = common { version = "3.1.1"; sha256 = "04hhdbyd4x1hy0fpy537f8mi0864hww97zap29x7dk1smrffwabd"; dependencies-sha256 = "1q63jsxg3d31x0p8hvhpvbly2b07almyzsbhwphbczl3fhlqgiwn"; tomcat = null; + maven = maven-jdk8; }; } diff --git a/nixpkgs/pkgs/applications/networking/cluster/helm/default.nix b/nixpkgs/pkgs/applications/networking/cluster/helm/default.nix index 5da9e9220a80..501956ec9382 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/helm/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/helm/default.nix @@ -2,15 +2,15 @@ buildGoModule rec { pname = "helm"; - version = "3.5.2"; + version = "3.5.3"; src = fetchFromGitHub { owner = "helm"; repo = "helm"; rev = "v${version}"; - sha256 = "sha256-XFWJtzKQrZL6lcr8JNiEQ8ldG5289x5pE21E8XgoYkA="; + sha256 = "sha256-7xO07JDy6ujWlDF+5Xd3myRQ8ajTppCXz9fNe4yizVw="; }; - vendorSha256 = "sha256-mjWQxCCtTgj1VCFjnuJWgDjwMt/r4jiFC9Of+CXRgPg="; + vendorSha256 = "sha256-lpEoUgABtJczwShNdvD+zYAPDFTJqILSei2YY6mQ2mw="; doCheck = false; diff --git a/nixpkgs/pkgs/applications/networking/cluster/helm/plugins/default.nix b/nixpkgs/pkgs/applications/networking/cluster/helm/plugins/default.nix new file mode 100644 index 000000000000..edd19a25f9ba --- /dev/null +++ b/nixpkgs/pkgs/applications/networking/cluster/helm/plugins/default.nix @@ -0,0 +1,11 @@ +{ callPackage }: + +{ + + helm-diff = callPackage ./helm-diff.nix {}; + + helm-s3 = callPackage ./helm-s3.nix {}; + + helm-secrets = callPackage ./helm-secrets.nix {}; + +} diff --git a/nixpkgs/pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix b/nixpkgs/pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix new file mode 100644 index 000000000000..ce6491bfba47 --- /dev/null +++ b/nixpkgs/pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix @@ -0,0 +1,35 @@ +{ buildGoModule, fetchFromGitHub, lib }: + +buildGoModule rec { + pname = "helm-diff"; + version = "3.1.3"; + + src = fetchFromGitHub { + owner = "databus23"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-h26EOjKNrlcrs2DAYj0NmDRgNRKozjfw5DtxUgHNTa4="; + }; + + vendorSha256 = "sha256-+n/QBuZqtdgUkaBG7iqSuBfljn+AdEzDoIo5SI8ErQA="; + + # NOTE: Remove the install and upgrade hooks. + postPatch = '' + sed -i '/^hooks:/,+2 d' plugin.yaml + ''; + + postInstall = '' + install -dm755 $out/${pname} + mv $out/bin $out/${pname}/ + mv $out/${pname}/bin/{helm-,}diff + install -m644 -Dt $out/${pname} plugin.yaml + ''; + + meta = with lib; { + description = "A Helm plugin that shows a diff"; + inherit (src.meta) homepage; + license = licenses.apsl20; + maintainers = with maintainers; [ yurrriq ]; + platforms = platforms.all; + }; +} diff --git a/nixpkgs/pkgs/applications/networking/cluster/helm/plugins/helm-s3.nix b/nixpkgs/pkgs/applications/networking/cluster/helm/plugins/helm-s3.nix new file mode 100644 index 000000000000..661048a0c72c --- /dev/null +++ b/nixpkgs/pkgs/applications/networking/cluster/helm/plugins/helm-s3.nix @@ -0,0 +1,38 @@ +{ buildGoModule, fetchFromGitHub, lib }: + +buildGoModule rec { + pname = "helm-s3"; + version = "0.10.0"; + + src = fetchFromGitHub { + owner = "hypnoglow"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-2BQ/qtoL+iFbuLvrJGUuxWFKg9u1sVDRcRm2/S0mgyc="; + }; + + vendorSha256 = "sha256-/9TiY0XdkiNxW5JYeC5WD9hqySCyYYU8lB+Ft5Vm96I="; + + # NOTE: Remove the install and upgrade hooks. + postPatch = '' + sed -i '/^hooks:/,+2 d' plugin.yaml + ''; + + checkPhase = '' + make test-unit + ''; + + postInstall = '' + install -dm755 $out/${pname} + mv $out/bin $out/${pname}/ + install -m644 -Dt $out/${pname} plugin.yaml + ''; + + meta = with lib; { + description = "A Helm plugin that shows a diff"; + inherit (src.meta) homepage; + license = licenses.apsl20; + maintainers = with maintainers; [ yurrriq ]; + platforms = platforms.all; + }; +} diff --git a/nixpkgs/pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix b/nixpkgs/pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix new file mode 100644 index 000000000000..bef5d230ece3 --- /dev/null +++ b/nixpkgs/pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix @@ -0,0 +1,44 @@ +{ lib, stdenv, fetchFromGitHub, makeWrapper, coreutils, findutils, getopt, gnugrep, gnused, sops, vault }: + +stdenv.mkDerivation rec { + pname = "helm-secrets"; + version = "3.5.0"; + + src = fetchFromGitHub { + owner = "jkroepke"; + repo = pname; + rev = "v${version}"; + hash = "sha256-EXCr0QjupsBBKTm6Opw5bcNwAD4FGGyOiqaa8L91/OI="; + }; + + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ getopt sops ]; + + # NOTE: helm-secrets is comprised of shell scripts. + dontBuild = true; + + # NOTE: Remove the install and upgrade hooks. + postPatch = '' + sed -i '/^hooks:/,+2 d' plugin.yaml + ''; + + installPhase = '' + runHook preInstall + + install -dm755 $out/${pname} $out/${pname}/scripts + install -m644 -Dt $out/${pname} plugin.yaml + cp -r scripts/* $out/${pname}/scripts + wrapProgram $out/${pname}/scripts/run.sh \ + --prefix PATH : ${lib.makeBinPath [ coreutils findutils getopt gnugrep gnused sops vault ]} + + runHook postInstall + ''; + + meta = with lib; { + description = "A Helm plugin that helps manage secrets"; + inherit (src.meta) homepage; + license = licenses.apsl20; + maintainers = with maintainers; [ yurrriq ]; + platforms = platforms.all; + }; +} diff --git a/nixpkgs/pkgs/applications/networking/cluster/helm/wrapper.nix b/nixpkgs/pkgs/applications/networking/cluster/helm/wrapper.nix new file mode 100644 index 000000000000..21a29e31243b --- /dev/null +++ b/nixpkgs/pkgs/applications/networking/cluster/helm/wrapper.nix @@ -0,0 +1,46 @@ +{ symlinkJoin, lib, makeWrapper, writeText }: + +helm: + +let + wrapper = { + plugins ? [], + extraMakeWrapperArgs ? "" + }: + let + + initialMakeWrapperArgs = [ + "${helm}/bin/helm" "${placeholder "out"}/bin/helm" + "--argv0" "$0" "--set" "HELM_PLUGINS" "${pluginsDir}" + ]; + + pluginsDir = symlinkJoin { + name = "helm-plugins"; + paths = plugins; + }; +in + symlinkJoin { + name = "helm-${lib.getVersion helm}"; + + # Remove the symlinks created by symlinkJoin which we need to perform + # extra actions upon + postBuild = '' + rm $out/bin/helm + makeWrapper ${lib.escapeShellArgs initialMakeWrapperArgs} ${extraMakeWrapperArgs} + ''; + paths = [ helm pluginsDir ]; + + preferLocalBuild = true; + + nativeBuildInputs = [ makeWrapper ]; + passthru = { unwrapped = helm; }; + + meta = helm.meta // { + # To prevent builds on hydra + hydraPlatforms = []; + # prefer wrapper over the package + priority = (helm.meta.priority or 0) - 1; + }; + }; +in + lib.makeOverridable wrapper diff --git a/nixpkgs/pkgs/applications/networking/cluster/helmfile/default.nix b/nixpkgs/pkgs/applications/networking/cluster/helmfile/default.nix index 72fcc2f9c35f..3c6d66769060 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/helmfile/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/helmfile/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "helmfile"; - version = "0.138.4"; + version = "0.138.7"; src = fetchFromGitHub { owner = "roboll"; repo = "helmfile"; rev = "v${version}"; - sha256 = "sha256-Y0/0wC00s7QY7/B6igOoPKXv5TE2P8NoGd9UhfVmLOk="; + sha256 = "sha256-LFNsSd+S+mQiTk7bCnSD/Kp/D0Jefxo80eRsGkStBhs="; }; vendorSha256 = "sha256-WlV6moJymQ7VyZXXuViCNN1WP4NzBUszavxpKjQR8to="; diff --git a/nixpkgs/pkgs/applications/networking/cluster/helmsman/default.nix b/nixpkgs/pkgs/applications/networking/cluster/helmsman/default.nix index ccfeb6ed87a5..ed828feefdae 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/helmsman/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/helmsman/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "helmsman"; - version = "3.6.4"; + version = "3.6.6"; src = fetchFromGitHub { owner = "Praqma"; repo = "helmsman"; rev = "v${version}"; - sha256 = "sha256-4oJ/undqDSNn+Xn8eFEgOx+7263tmdXTHxXBkyFLpsE="; + sha256 = "sha256-SGVch7mMtHi5GYFOrSss4dk29aRTQmBzkPYOetPdF88="; }; vendorSha256 = "sha256-mktq5Dnk1mBO2yy5SeMDxa/akXdO5i2WafMTGtH53H8="; diff --git a/nixpkgs/pkgs/applications/networking/cluster/istioctl/default.nix b/nixpkgs/pkgs/applications/networking/cluster/istioctl/default.nix index a7d99fc5bd59..1c7a39d91bd7 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/istioctl/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/istioctl/default.nix @@ -2,15 +2,15 @@ buildGoModule rec { pname = "istioctl"; - version = "1.9.0"; + version = "1.9.1"; src = fetchFromGitHub { owner = "istio"; repo = "istio"; rev = version; - sha256 = "sha256-GfQjgtjFynYa8SfQyoGjsyXEv0XuaK8ZbTcMhQGkcTg="; + sha256 = "sha256-WcIcI+y8tTY0YfyuR/DUCjN1xbGpCOBWvEHBo+q2EV8="; }; - vendorSha256 = "sha256-Xj9nC9ijLVmrSvgKq33yUyMO+RmeDkf7FKKCehP4GFE="; + vendorSha256 = "sha256-pSiJfQTvJ6OisdrWTH6mOcAn/wBA1OcVaGtOwBe1qvQ="; doCheck = false; diff --git a/nixpkgs/pkgs/applications/networking/cluster/k3s/default.nix b/nixpkgs/pkgs/applications/networking/cluster/k3s/default.nix index 739992e6bc0b..285e1db536de 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/k3s/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/k3s/default.nix @@ -3,7 +3,7 @@ , makeWrapper , socat , iptables -, iproute +, iproute2 , bridge-utils , conntrack-tools , buildGoPackage @@ -19,6 +19,7 @@ , fetchurl , fetchzip , fetchgit +, zstd }: with lib; @@ -43,9 +44,9 @@ with lib; # Those pieces of software we entirely ignore upstream's handling of, and just # make sure they're in the path if desired. let - k3sVersion = "1.19.4+k3s2"; # k3s git tag + k3sVersion = "1.20.4+k3s1"; # k3s git tag traefikChartVersion = "1.81.0"; # taken from ./scripts/download at the above k3s tag - k3sRootVersion = "0.7.1"; # taken from ./scripts/download at the above k3s tag + k3sRootVersion = "0.8.1"; # taken from ./scripts/download at the above k3s tag k3sCNIVersion = "0.8.6-k3s1"; # taken from ./scripts/version.sh at the above k3s tag # bundled into the k3s binary traefikChart = fetchurl { @@ -64,7 +65,7 @@ let k3sRoot = fetchzip { # Note: marked as apache 2.0 license url = "https://github.com/k3s-io/k3s-root/releases/download/v${k3sRootVersion}/k3s-root-amd64.tar"; - sha256 = "1wjg54816plbdwgv0dibq6dzmcakcmx0wiqijvr4f3gsxgk59zwf"; + sha256 = "sha256-r3Nkzl9ccry7cgD3YWlHvEWOsWnnFGIkyRH9sx12gks="; stripRoot = false; }; k3sPlugins = buildGoPackage rec { @@ -95,7 +96,7 @@ let url = "https://github.com/k3s-io/k3s"; rev = "v${k3sVersion}"; leaveDotGit = true; # ./scripts/version.sh depends on git - sha256 = "1qxjdgnq8mf54760f0vngcqa2y3b048pcmfsf1g593b2ij1kg1zi"; + sha256 = "0rmn3nh8a94axv6lb2xjnn3gpq0scnvj69bvcs74azvw62fvq016"; }; # Stage 1 of the k3s build: # Let's talk about how k3s is structured. @@ -126,7 +127,12 @@ let src = k3sRepo; - patches = [ ./patches/0001-Use-rm-from-path-in-go-generate.patch ./patches/0002-Add-nixpkgs-patches.patch ]; + # Patch build scripts so that we can use them. + # This makes things more dynamically linked (because nix can deal with + # dynamically linked dependencies just fine), removes the upload at the + # end, and skips building runc + cni, since we have our own derivations for + # those. + patches = [ ./patches/0002-Add-nixpkgs-patches.patch ]; nativeBuildInputs = [ git pkg-config ]; buildInputs = [ libseccomp ]; @@ -166,9 +172,10 @@ let src = k3sRepo; - patches = [ ./patches/0001-Use-rm-from-path-in-go-generate.patch ./patches/0002-Add-nixpkgs-patches.patch ]; + # See the above comment in k3sBuildStage1 + patches = [ ./patches/0002-Add-nixpkgs-patches.patch ]; - nativeBuildInputs = [ git pkg-config ]; + nativeBuildInputs = [ git pkg-config zstd ]; # These dependencies are embedded as compressed files in k3s at runtime. # Propagate them to avoid broken runtime references to libraries. propagatedBuildInputs = [ k3sPlugins k3sBuildStage1 runc ]; @@ -233,7 +240,7 @@ stdenv.mkDerivation rec { kmod socat iptables - iproute + iproute2 bridge-utils ethtool util-linux @@ -255,10 +262,12 @@ stdenv.mkDerivation rec { # Use a wrapper script to reference all the binaries that k3s tries to # execute, but that we didn't bundle with it. installPhase = '' + runHook preInstall mkdir -p "$out/bin" makeWrapper ${k3sBin}/bin/k3s "$out/bin/k3s" \ --prefix PATH : ${lib.makeBinPath k3sRuntimeDeps} \ --prefix PATH : "$out/bin" + runHook postInstall ''; meta = { diff --git a/nixpkgs/pkgs/applications/networking/cluster/k3s/patches/0001-Use-rm-from-path-in-go-generate.patch b/nixpkgs/pkgs/applications/networking/cluster/k3s/patches/0001-Use-rm-from-path-in-go-generate.patch deleted file mode 100644 index c439241e8558..000000000000 --- a/nixpkgs/pkgs/applications/networking/cluster/k3s/patches/0001-Use-rm-from-path-in-go-generate.patch +++ /dev/null @@ -1,25 +0,0 @@ -From e79ddef65d08599ae3fe8ff39d202ea2416650b8 Mon Sep 17 00:00:00 2001 -From: Euan Kemp <euank@euank.com> -Date: Sun, 31 May 2020 17:27:05 -0700 -Subject: [PATCH 1/2] Use 'rm' from path in go generate - -/bin/rm is less portable. On some distros, like nixos, it doesn't exist -at all. ---- - main.go | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/main.go b/main.go -index 62908bb7bb..0527222887 100644 ---- a/main.go -+++ b/main.go -@@ -1,5 +1,5 @@ - //go:generate go run pkg/codegen/cleanup/main.go --//go:generate /bin/rm -rf pkg/generated -+//go:generate rm -rf pkg/generated - //go:generate go run pkg/codegen/main.go - //go:generate go fmt pkg/deploy/zz_generated_bindata.go - //go:generate go fmt pkg/static/zz_generated_bindata.go --- -2.25.4 - diff --git a/nixpkgs/pkgs/applications/networking/cluster/k9s/default.nix b/nixpkgs/pkgs/applications/networking/cluster/k9s/default.nix index 11e2b0a29153..ee16f923b788 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/k9s/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/k9s/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "k9s"; - version = "0.24.2"; + version = "0.24.6"; src = fetchFromGitHub { owner = "derailed"; repo = "k9s"; rev = "v${version}"; - sha256 = "0cr7ap9yfd9flcph98rxap2f46fc3v689v31mc8n7vxi9jr07irh"; + sha256 = "sha256-uqtjAvtsF+4cz3M60Xj9sCNotaoPzaeeTKnXQUB4CIo="; }; buildFlagsArray = '' @@ -18,7 +18,7 @@ buildGoModule rec { -X github.com/derailed/k9s/cmd.commit=${src.rev} ''; - vendorSha256 = "01g50sfk0k7v60m3anfiq2w9pzl2wpa985s22ciq911h3fscka3f"; + vendorSha256 = "sha256-/4Aof09MYHPc4VJJV2EyB7T9zNFtYY4JeDGJi67FQic="; doCheck = false; diff --git a/nixpkgs/pkgs/applications/networking/cluster/kconf/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kconf/default.nix new file mode 100644 index 000000000000..683a91ffee85 --- /dev/null +++ b/nixpkgs/pkgs/applications/networking/cluster/kconf/default.nix @@ -0,0 +1,22 @@ +{ lib, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "kconf"; + version = "1.10.1"; + + src = fetchFromGitHub { + owner = "particledecay"; + repo = "kconf"; + rev = "v${version}"; + sha256 = "NlTpHQFOJJcIt/xMT3fvdrlxANyg//wtYMmXzEtaFXo="; + }; + + vendorSha256 = "2d4o87wE9QZltk2YOHc20XVYF8n0EOrDf5mJ6i6EB0c="; + + meta = with lib; { + description = "An opinionated command line tool for managing multiple kubeconfigs"; + homepage = "https://github.com/particledecay/kconf"; + license = licenses.mit; + maintainers = with maintainers; [ thmzlt ]; + }; +} diff --git a/nixpkgs/pkgs/applications/networking/cluster/kpt/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kpt/default.nix index ae9380c5139a..577e52ed49d6 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/kpt/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/kpt/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "kpt"; - version = "0.37.1"; + version = "0.38.0"; src = fetchFromGitHub { owner = "GoogleContainerTools"; repo = pname; rev = "v${version}"; - sha256 = "sha256-4SGCYkx9U6XNUrJfVPgNEhFA75CF8GOrtS4BSm6f7mM="; + sha256 = "sha256-MBZa4LdpCZnVVbjzkYpPi9/CYGqVLeYy2N/AS1PSYBE="; }; - vendorSha256 = "sha256-y/l9k3oTrN+9OGgyiVzCyYi+6lJpcKaEygirytbn9aI="; + vendorSha256 = "sha256-P0cN8aw62nPD1OlUAw1E36YxptxtPqqruZfDDG4Ag2w="; subPackages = [ "." ]; diff --git a/nixpkgs/pkgs/applications/networking/cluster/kube-capacity/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kube-capacity/default.nix new file mode 100644 index 000000000000..78cbaca80ab1 --- /dev/null +++ b/nixpkgs/pkgs/applications/networking/cluster/kube-capacity/default.nix @@ -0,0 +1,24 @@ +{ lib, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "kube-capacity"; + version = "0.5.1"; + + src = fetchFromGitHub { + rev = "v${version}"; + owner = "robscott"; + repo = pname; + sha256 = "127583hmpj04y522wir76a39frm6zg9z7mb4ny5lxxjqhn0q0cd5"; + }; + + vendorSha256 = "sha256-EgLWZs282IV1euCUCc5ucf267E2Z7GF9SgoImiGvuVM="; + + meta = with lib; { + description = + "A simple CLI that provides an overview of the resource requests, limits, and utilization in a Kubernetes cluster"; + homepage = "https://github.com/robscott/kube-capacity"; + changelog = "https://github.com/robscott/kube-capacity/releases/tag/v${version}"; + license = licenses.asl20; + maintainers = [ maintainers.bryanasdev000 ]; + }; +} diff --git a/nixpkgs/pkgs/applications/networking/cluster/kube-router/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kube-router/default.nix index 8e20093f5b21..586fc6cf806b 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/kube-router/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/kube-router/default.nix @@ -2,7 +2,7 @@ buildGoPackage rec { pname = "kube-router"; - version = "1.1.0"; + version = "1.1.1"; goPackagePath = "github.com/cloudnativelabs/kube-router"; @@ -10,7 +10,7 @@ buildGoPackage rec { owner = "cloudnativelabs"; repo = pname; rev = "v${version}"; - sha256 = "0nsd371w667qhgiygxcg4kmynwldb0pbip6x03rc7j854hg8l7k0"; + sha256 = "sha256-U7vjWtVXmyEPYFS1fAPOgV3WILGPhWsmoawV7B0pZaE="; }; buildFlagsArray = '' diff --git a/nixpkgs/pkgs/applications/networking/cluster/kube-score/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kube-score/default.nix new file mode 100644 index 000000000000..76bd115a9b13 --- /dev/null +++ b/nixpkgs/pkgs/applications/networking/cluster/kube-score/default.nix @@ -0,0 +1,22 @@ +{ lib, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "kube-score"; + version = "1.10.1"; + + src = fetchFromGitHub { + owner = "zegl"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-TYsuSPWTiIlPscul/QO59+lt6sbjJdt7pJuJYO5R9Tc="; + }; + + vendorSha256 = "sha256-ob7mNheyeTcDWml4gi1SD3Pq+oWtJeySIUg2ZrCj0y0="; + + meta = with lib; { + description = "Kubernetes object analysis with recommendations for improved reliability and security"; + homepage = "https://github.com/zegl/kube-score"; + license = licenses.mit; + maintainers = [ maintainers.j4m3s ]; + }; +} diff --git a/nixpkgs/pkgs/applications/networking/cluster/kube3d/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kube3d/default.nix index 5bfceefad5a5..d0aa1029d632 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/kube3d/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/kube3d/default.nix @@ -1,8 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles, k3sVersion ? "1.20.0-k3s2" }: +{ lib, buildGoModule, fetchFromGitHub, installShellFiles, k3sVersion ? "1.20.5-k3s1" }: buildGoModule rec { pname = "kube3d"; - version = "4.2.0"; + version = "4.4.1"; excludedPackages = "tools"; @@ -10,20 +10,17 @@ buildGoModule rec { owner = "rancher"; repo = "k3d"; rev = "v${version}"; - sha256 = "sha256-R2RbQlceOD/uY3IdLLiM23gESh/oWnsiTWxHeH/Si18="; + sha256 = "sha256-u9P+7qNomamd4BkqWBxA6rDom0hF6t10QfDTjqOMGeE="; }; vendorSha256 = null; nativeBuildInputs = [ installShellFiles ]; - buildFlagsArray = [ - "-ldflags=" - "-w" - "-s" - "-X github.com/rancher/k3d/v4/version.Version=v${version}" - "-X github.com/rancher/k3d/v4/version.K3sVersion=v${k3sVersion}" - ]; + preBuild = let t = "github.com/rancher/k3d/v4/version"; in + '' + buildFlagsArray+=("-ldflags" "-s -w -X ${t}.Version=v${version} -X ${t}.K3sVersion=v${k3sVersion}") + ''; doCheck = false; @@ -34,8 +31,17 @@ buildGoModule rec { --zsh <($out/bin/k3d completion zsh) ''; + doInstallCheck = true; + installCheckPhase = '' + runHook preInstallCheck + $out/bin/k3d --help + $out/bin/k3d version | grep "k3d version v${version}" + runHook postInstallCheck + ''; + meta = with lib; { homepage = "https://github.com/rancher/k3d"; + changelog = "https://github.com/rancher/k3d/blob/v${version}/CHANGELOG.md"; description = "A helper to run k3s (Lightweight Kubernetes. 5 less than k8s) in a docker container - k3d"; longDescription = '' k3s is the lightweight Kubernetes distribution by Rancher: rancher/k3s @@ -44,7 +50,7 @@ buildGoModule rec { multi-node k3s cluster on a single machine using docker. ''; license = licenses.mit; - platforms = platforms.linux; maintainers = with maintainers; [ kuznero jlesquembre ngerstle jk ]; + platforms = platforms.linux; }; } diff --git a/nixpkgs/pkgs/applications/networking/cluster/kubecfg/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubecfg/default.nix index 561bcbf7ad3b..4fda7db9f198 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/kubecfg/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/kubecfg/default.nix @@ -1,6 +1,6 @@ { lib, buildGoPackage, fetchFromGitHub, ... }: -let version = "0.17.0"; in +let version = "0.18.0"; in buildGoPackage { pname = "kubecfg"; @@ -10,7 +10,7 @@ buildGoPackage { owner = "bitnami"; repo = "kubecfg"; rev = "v${version}"; - sha256 = "sha256-/91im204vBS3NjrMOvwTVO6tEBgdpirqJFqCnbIB+iQ="; + sha256 = "sha256-TJbuJZDj9ZwEaN8LV/M30+5+IgN8EZCTTBBDB0OgdEE="; }; goPackagePath = "github.com/bitnami/kubecfg"; diff --git a/nixpkgs/pkgs/applications/networking/cluster/kubeconform/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubeconform/default.nix new file mode 100644 index 000000000000..ca5e30154da4 --- /dev/null +++ b/nixpkgs/pkgs/applications/networking/cluster/kubeconform/default.nix @@ -0,0 +1,22 @@ +{ lib, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "kubeconform"; + version = "0.4.6"; + + src = fetchFromGitHub { + owner = "yannh"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-lduHYYskEPUimEX54ymOyo5jY7GGBB42YTefDMNS4qo="; + }; + + vendorSha256 = null; + + meta = with lib; { + description = "A FAST Kubernetes manifests validator, with support for Custom Resources!"; + homepage = "https://github.com/yannh/kubeconform/"; + license = licenses.asl20; + maintainers = [ maintainers.j4m3s ]; + }; +} diff --git a/nixpkgs/pkgs/applications/networking/cluster/kubectl-doctor/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubectl-doctor/default.nix new file mode 100644 index 000000000000..5d056907264d --- /dev/null +++ b/nixpkgs/pkgs/applications/networking/cluster/kubectl-doctor/default.nix @@ -0,0 +1,27 @@ +{ lib, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "kubectl-doctor"; + version = "0.3.0"; + + src = fetchFromGitHub { + owner = "emirozer"; + repo = pname; + rev = version; + sha256 = "0x784jbcwd34vzdnhg2yldh5ivkxvs2qlbsvaammbxkn04ch1ijz"; + }; + + vendorSha256 = "04xq5kp1m7c98gb4fd0dni258vpfnhv535gl2qllfcp2mvk3mn55"; + + postInstall = '' + mv $out/bin/{cmd,kubectl-doctor} + ''; + + meta = with lib; { + description = "kubectl cluster triage plugin for k8s"; + homepage = "https://github.com/emirozer/kubectl-doctor"; + changelog = "https://github.com/emirozer/kubectl-doctor/releases/tag/v${version}"; + license = licenses.asl20; + maintainers = [ maintainers.zimbatm ]; + }; +} diff --git a/nixpkgs/pkgs/applications/networking/cluster/kubectl-example/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubectl-example/default.nix new file mode 100644 index 000000000000..04677cb4277f --- /dev/null +++ b/nixpkgs/pkgs/applications/networking/cluster/kubectl-example/default.nix @@ -0,0 +1,23 @@ +{ lib, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "kubectl-example"; + version = "1.0.1"; + + src = fetchFromGitHub { + owner = "seredot"; + repo = pname; + rev = "v${version}"; + sha256 = "18vp53cda93qjssxygwqp55yc80a93781839gf3138awngf731yq"; + }; + + vendorSha256 = "0sjjj9z1dhilhpc8pq4154czrb79z9cm044jvn75kxcjv6v5l2m5"; + + meta = with lib; { + description = "kubectl plugin for retrieving resource example YAMLs"; + homepage = "https://github.com/seredot/kubectl-example"; + changelog = "https://github.com/seredot/kubectl-example/releases/tag/v${version}"; + license = licenses.asl20; + maintainers = [ maintainers.bryanasdev000 ]; + }; +} diff --git a/nixpkgs/pkgs/applications/networking/cluster/kubelogin/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubelogin/default.nix index d7f829dc00e3..0a928ac9299f 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/kubelogin/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/kubelogin/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "kubelogin"; - version = "0.0.7"; + version = "0.0.9"; src = fetchFromGitHub { owner = "Azure"; repo = pname; rev = "v${version}"; - sha256 = "0jw8v6ff0iwkwxlhcr35cvhy4zg31dsm1s3q4fxgi901yj1wn6zy"; + sha256 = "sha256-0+4hrC7A60dbf+1uvTVU2JRynvA3O/lXfgcra1fV9bI="; }; - vendorSha256 = "0al8y65xvnwl34jkpqyf6zwr21xn30zswknlym9nnn1n47fyayxb"; + vendorSha256 = "sha256-erGqCpWlAQanY1ghpNVRhzUEIXv3lCiBGRs888MmHN8="; buildFlagsArray = '' -ldflags= diff --git a/nixpkgs/pkgs/applications/networking/cluster/kubernetes/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubernetes/default.nix index d4ec9cf5ef30..12127e223a3d 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/kubernetes/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/kubernetes/default.nix @@ -20,19 +20,21 @@ stdenv.mkDerivation rec { pname = "kubernetes"; - version = "1.19.5"; + version = "1.20.5"; src = fetchFromGitHub { owner = "kubernetes"; repo = "kubernetes"; rev = "v${version}"; - sha256 = "15bv620fj4x731f2z2a9dcdss18rk379kc40g49bpqsdn42jjx2z"; + sha256 = "sha256-RDaD7tlTtAucW8ido9FumKb5E9n6F9H8HwxQ9TPyOLk="; }; nativeBuildInputs = [ removeReferencesTo makeWrapper which go rsync installShellFiles ]; outputs = [ "out" "man" "pause" ]; + patches = [ ./fixup-addonmanager-lib-path.patch ]; + postPatch = '' # go env breaks the sandbox substituteInPlace "hack/lib/golang.sh" \ @@ -53,7 +55,7 @@ stdenv.mkDerivation rec { postBuild = '' ./hack/update-generated-docs.sh - (cd build/pause && cc pause.c -o pause) + (cd build/pause/linux && cc pause.c -o pause) ''; installPhase = '' @@ -61,14 +63,19 @@ stdenv.mkDerivation rec { install -D _output/local/go/bin/''${p##*/} -t $out/bin done - install -D build/pause/pause -t $pause/bin + install -D build/pause/linux/pause -t $pause/bin installManPage docs/man/man1/*.[1-9] - cp cluster/addons/addon-manager/kube-addons.sh $out/bin/kube-addons + # Unfortunately, kube-addons-main.sh only looks for the lib file in either the current working dir + # or in /opt. We have to patch this for now. + substitute cluster/addons/addon-manager/kube-addons-main.sh $out/bin/kube-addons \ + --subst-var out + + chmod +x $out/bin/kube-addons patchShebangs $out/bin/kube-addons wrapProgram $out/bin/kube-addons --set "KUBECTL_BIN" "$out/bin/kubectl" - cp ${./mk-docker-opts.sh} $out/bin/mk-docker-opts.sh + cp cluster/addons/addon-manager/kube-addons.sh $out/bin/kube-addons-lib.sh for tool in kubeadm kubectl; do installShellCompletion --cmd $tool \ diff --git a/nixpkgs/pkgs/applications/networking/cluster/kubernetes/fixup-addonmanager-lib-path.patch b/nixpkgs/pkgs/applications/networking/cluster/kubernetes/fixup-addonmanager-lib-path.patch new file mode 100644 index 000000000000..ef2904bdcfe7 --- /dev/null +++ b/nixpkgs/pkgs/applications/networking/cluster/kubernetes/fixup-addonmanager-lib-path.patch @@ -0,0 +1,23 @@ +diff --git a/cluster/addons/addon-manager/kube-addons-main.sh b/cluster/addons/addon-manager/kube-addons-main.sh +index 849973470d1..e4fef30eaea 100755 +--- a/cluster/addons/addon-manager/kube-addons-main.sh ++++ b/cluster/addons/addon-manager/kube-addons-main.sh +@@ -17,17 +17,7 @@ + # Import required functions. The addon manager is installed to /opt in + # production use (see the Dockerfile) + # Disabling shellcheck following files as the full path would be required. +-if [ -f "kube-addons.sh" ]; then +- # shellcheck disable=SC1091 +- source "kube-addons.sh" +-elif [ -f "/opt/kube-addons.sh" ]; then +- # shellcheck disable=SC1091 +- source "/opt/kube-addons.sh" +-else +- # If the required source is missing, we have to fail. +- log ERR "== Could not find kube-addons.sh (not in working directory or /opt) at $(date -Is) ==" +- exit 1 +-fi ++source "@out@/bin/kube-addons-lib.sh" + + # The business logic for whether a given object should be created + # was already enforced by salt, and /etc/kubernetes/addons is the diff --git a/nixpkgs/pkgs/applications/networking/cluster/kubernetes/mk-docker-opts.sh b/nixpkgs/pkgs/applications/networking/cluster/kubernetes/mk-docker-opts.sh deleted file mode 100755 index 22a459f51349..000000000000 --- a/nixpkgs/pkgs/applications/networking/cluster/kubernetes/mk-docker-opts.sh +++ /dev/null @@ -1,113 +0,0 @@ -#!/usr/bin/env bash - -# Copyright 2014 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Generate Docker daemon options based on flannel env file. - -# exit on any error -set -e - -usage() { - echo "$0 [-f FLANNEL-ENV-FILE] [-d DOCKER-ENV-FILE] [-i] [-c] [-m] [-k COMBINED-KEY] - -Generate Docker daemon options based on flannel env file -OPTIONS: - -f Path to flannel env file. Defaults to /run/flannel/subnet.env - -d Path to Docker env file to write to. Defaults to /run/docker_opts.env - -i Output each Docker option as individual var. e.g. DOCKER_OPT_MTU=1500 - -c Output combined Docker options into DOCKER_OPTS var - -k Set the combined options key to this value (default DOCKER_OPTS=) - -m Do not output --ip-masq (useful for older Docker version) -" >/dev/stderr - exit 1 -} - -flannel_env="/run/flannel/subnet.env" -docker_env="/run/docker_opts.env" -combined_opts_key="DOCKER_OPTS" -indiv_opts=false -combined_opts=false -ipmasq=true -val="" - -while getopts "f:d:icmk:" opt; do - case $opt in - f) - flannel_env=$OPTARG - ;; - d) - docker_env=$OPTARG - ;; - i) - indiv_opts=true - ;; - c) - combined_opts=true - ;; - m) - ipmasq=false - ;; - k) - combined_opts_key=$OPTARG - ;; - \?) - usage - ;; - esac -done - -if [[ $indiv_opts = false ]] && [[ $combined_opts = false ]]; then - indiv_opts=true - combined_opts=true -fi - -if [[ -f "${flannel_env}" ]]; then - source "${flannel_env}" -fi - -if [[ -n "$FLANNEL_SUBNET" ]]; then - # shellcheck disable=SC2034 # Variable name referenced in OPT_LOOP below - DOCKER_OPT_BIP="--bip=$FLANNEL_SUBNET" -fi - -if [[ -n "$FLANNEL_MTU" ]]; then - # shellcheck disable=SC2034 # Variable name referenced in OPT_LOOP below - DOCKER_OPT_MTU="--mtu=$FLANNEL_MTU" -fi - -if [[ "$FLANNEL_IPMASQ" = true ]] && [[ $ipmasq = true ]]; then - # shellcheck disable=SC2034 # Variable name referenced in OPT_LOOP below - DOCKER_OPT_IPMASQ="--ip-masq=false" -fi - -eval docker_opts="\$${combined_opts_key}" -docker_opts+=" " - -echo -n "" >"${docker_env}" - -# OPT_LOOP -for opt in $(compgen -v DOCKER_OPT_); do - eval val=\$"${opt}" - - if [[ "$indiv_opts" = true ]]; then - echo "$opt=\"$val\"" >>"${docker_env}" - fi - - docker_opts+="$val " -done - -if [[ "$combined_opts" = true ]]; then - echo "${combined_opts_key}=\"${docker_opts}\"" >>"${docker_env}" -fi diff --git a/nixpkgs/pkgs/applications/networking/cluster/kubeseal/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubeseal/default.nix index f2071494f168..cf0c84514270 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/kubeseal/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/kubeseal/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "kubeseal"; - version = "0.14.1"; + version = "0.15.0"; src = fetchFromGitHub { owner = "bitnami-labs"; repo = "sealed-secrets"; rev = "v${version}"; - sha256 = "sha256-sUeXzmgSOkpqzqrX9+wNGj2X7gcf5QSpavXK4MJe8qE="; + sha256 = "sha256-wzaNFM/4V2mWqhkqeT70ieQuhgNK79U2b7PhxKqn/X0="; }; vendorSha256 = null; diff --git a/nixpkgs/pkgs/applications/networking/cluster/kubeval/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubeval/default.nix index 28b3b7199974..af8e04667b7f 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/kubeval/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/kubeval/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "kubeval"; - version = "0.15.0"; + version = "0.16.0"; src = fetchFromGitHub { owner = "instrumenta"; repo = "kubeval"; rev = version; - sha256 = "05li0qv4q7fy2lr50r6c1r8dhx00jb1g01qmgc72a9zqp378yiq0"; + sha256 = "sha256-c5UESyWK1rfnD0etOuIroBUSqZQuu57jio7/ArItMP0="; }; - vendorSha256 = "1kpwvi84i3h1yjprd6m6hn8l9j235931871y3qk9cl0g8q0hv9ja"; + vendorSha256 = "sha256-SqYNAUYPUJYmHj4cFEYqQ8hEkYWmmpav9AGOSFDc/M4="; doCheck = false; diff --git a/nixpkgs/pkgs/applications/networking/cluster/kuttl/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kuttl/default.nix new file mode 100644 index 000000000000..0c8f7f1574ce --- /dev/null +++ b/nixpkgs/pkgs/applications/networking/cluster/kuttl/default.nix @@ -0,0 +1,31 @@ +{ lib, buildGoModule, fetchFromGitHub}: + +buildGoModule rec { + name = "kuttl"; + pname = "kuttl"; + version = "0.9.0"; + cli = "kubectl-kuttl"; + + src = fetchFromGitHub { + owner = "kudobuilder"; + repo = "kuttl"; + rev = "v${version}"; + sha256 = "sha256:1cji0py2340mvcpplwq3licdkzjx7q5f27fdjjxvbhrgksnyw6hs"; + }; + + vendorSha256 = "sha256:1shra42ifa2knxp58fj5hn074jg89f3nqdqk4rqbp3ybir84ahsd"; + + subPackages = [ "cmd/kubectl-kuttl" ]; + + buildFlagsArray = '' + -ldflags=-s -w + -X github.com/kudobuilder/kuttl/pkg/version.gitVersion=${version} + ''; + + meta = with lib; { + description = "The KUbernetes Test TooL (KUTTL) provides a declarative approach to testing production-grade Kubernetes operators"; + homepage = "https://github.com/kudobuilder/kuttl"; + license = licenses.asl20; + maintainers = with maintainers; [ diegolelis ]; + }; +} diff --git a/nixpkgs/pkgs/applications/networking/cluster/lens/default.nix b/nixpkgs/pkgs/applications/networking/cluster/lens/default.nix index 656badfe5a0d..a4dac9dd6242 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/lens/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/lens/default.nix @@ -2,12 +2,12 @@ let pname = "lens"; - version = "3.6.7"; + version = "4.2.0"; name = "${pname}-${version}"; src = fetchurl { - url = "https://github.com/lensapp/lens/releases/download/v${version}/Lens-${version}.AppImage"; - sha256 = "0var7d31ab6lq2vq6brk2dnhlnhqjp2gdqhygif567cdmcpn4vz8"; + url = "https://github.com/lensapp/lens/releases/download/v${version}/Lens-${version}.x86_64.AppImage"; + sha256 = "0g60d1h2dn41qdzdnqavwknqynjqil7s8kcqy01h021r81rdpn2q"; name="${pname}.AppImage"; }; diff --git a/nixpkgs/pkgs/applications/networking/cluster/minikube/default.nix b/nixpkgs/pkgs/applications/networking/cluster/minikube/default.nix index 81ca2283d204..79cfebd2aff4 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/minikube/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/minikube/default.nix @@ -11,9 +11,9 @@ buildGoModule rec { pname = "minikube"; - version = "1.17.1"; + version = "1.18.1"; - vendorSha256 = "1flny2f7n3vqhl9vkwsqxvzl8q3fv8v0h1p0d0qaqp9lgn02q3bh"; + vendorSha256 = "sha256-rw1tqz+Y5iSXWIxXV4433Hwgyfz8jYMzKWurCi2hmhM="; doCheck = false; @@ -21,7 +21,7 @@ buildGoModule rec { owner = "kubernetes"; repo = "minikube"; rev = "v${version}"; - sha256 = "1m4kw77j4swwg3vqwmwrys7cq790w4g6y4gvdg33z9n1y9xzqys3"; + sha256 = "sha256-8QI/Kn5LHSD3at7icmEDhjuYP811A4l+2KrRmKTwi8w="; }; nativeBuildInputs = [ go-bindata installShellFiles pkg-config which ]; diff --git a/nixpkgs/pkgs/applications/networking/cluster/nerdctl/default.nix b/nixpkgs/pkgs/applications/networking/cluster/nerdctl/default.nix index 28f7b540722e..ef025dfc6a7f 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/nerdctl/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/nerdctl/default.nix @@ -2,50 +2,58 @@ , buildGoModule , fetchFromGitHub , makeWrapper +, installShellFiles , buildkit , cni-plugins -, extraPackages ? [] +, extraPackages ? [ ] }: -let - binPath = lib.makeBinPath ([ - buildkit - ] ++ extraPackages); -in buildGoModule rec { pname = "nerdctl"; - version = "0.5.0"; + version = "0.7.3"; src = fetchFromGitHub { - owner = "AkihiroSuda"; + owner = "containerd"; repo = pname; rev = "v${version}"; - sha256 = "sha256-lSvYiTh67gK9kJls7VsayV8T3H6RzFEEKe49BOWnUBw="; + sha256 = "sha256-4NIyit2HnDXWnHALGzz5KWxe4PU8CwMRwCoIlN/WX78="; }; - vendorSha256 = "sha256-qywiaNoO3pI7sfyPbwWR8BLd86RvJ2xSWwCJUsm3RkM="; + vendorSha256 = "sha256-qwUAC8LURsn6C3zKzcsuFsOTurjPV9V8Z/1Y9G0eohk="; - nativeBuildInputs = [ makeWrapper ]; + nativeBuildInputs = [ makeWrapper installShellFiles ]; - buildFlagsArray = [ - "-ldflags=" - "-w" - "-s" - "-X github.com/AkihiroSuda/nerdctl/pkg/version.Version=v${version}" - "-X github.com/AkihiroSuda/nerdctl/pkg/version.Revision=<unknown>" - ]; + preBuild = let t = "github.com/containerd/nerdctl/pkg/version"; in + '' + buildFlagsArray+=("-ldflags" "-s -w -X ${t}.Version=v${version} -X ${t}.Revision=<unknown>") + ''; + + # Many checks require a containerd socket and running nerdctl after it's built + doCheck = false; postInstall = '' wrapProgram $out/bin/nerdctl \ - --prefix PATH : "${binPath}" \ + --prefix PATH : "${lib.makeBinPath ([ buildkit ] ++ extraPackages)}" \ --prefix CNI_PATH : "${cni-plugins}/bin" + + installShellCompletion --cmd nerdctl \ + --bash <($out/bin/nerdctl completion bash) + ''; + + doInstallCheck = true; + installCheckPhase = '' + runHook preInstallCheck + $out/bin/nerdctl --help + $out/bin/nerdctl --version | grep "nerdctl version ${version}" + runHook postInstallCheck ''; meta = with lib; { + homepage = "https://github.com/containerd/nerdctl/"; + changelog = "https://github.com/containerd/nerdctl/releases/tag/v${version}"; description = "A Docker-compatible CLI for containerd"; - homepage = src.meta.homepage; license = licenses.asl20; - platforms = platforms.linux; maintainers = with maintainers; [ jk ]; + platforms = platforms.linux; }; } diff --git a/nixpkgs/pkgs/applications/networking/cluster/nixops/default.nix b/nixpkgs/pkgs/applications/networking/cluster/nixops/default.nix index 3885278f1f13..6515885fd8e2 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/nixops/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/nixops/default.nix @@ -2,7 +2,6 @@ , poetry2nix , lib , overrides ? (self: super: {}) -, stdenv }: let diff --git a/nixpkgs/pkgs/applications/networking/cluster/nixops/shell.nix b/nixpkgs/pkgs/applications/networking/cluster/nixops/shell.nix index 6d298b8df83e..3fc06b0bc73a 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/nixops/shell.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/nixops/shell.nix @@ -3,7 +3,7 @@ pkgs.mkShell { buildInputs = [ pkgs.poetry2nix.cli - pkgs.pkgconfig + pkgs.pkg-config pkgs.libvirt pkgs.poetry ]; diff --git a/nixpkgs/pkgs/applications/networking/cluster/node-problem-detector/default.nix b/nixpkgs/pkgs/applications/networking/cluster/node-problem-detector/default.nix index ffc682ca4d90..e53a9c39ea7e 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/node-problem-detector/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/node-problem-detector/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "node-problem-detector"; - version = "0.8.6"; + version = "0.8.7"; src = fetchFromGitHub { owner = "kubernetes"; repo = pname; rev = "v${version}"; - sha256 = "sha256-8qY99sEEOFY2eMfuZSWv49nw1LKVHn50P1gYQN6y2f4="; + sha256 = "sha256-GyWvwgLtE8N+HLmGKUOjv5HXl2sdnecjh5y6VCOs+/0="; }; vendorSha256 = null; diff --git a/nixpkgs/pkgs/applications/networking/cluster/nomad/1.0.nix b/nixpkgs/pkgs/applications/networking/cluster/nomad/1.0.nix index 6ae59033835c..99c43aeeee46 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/nomad/1.0.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/nomad/1.0.nix @@ -6,6 +6,6 @@ callPackage ./generic.nix { inherit buildGoPackage nvidia_x11 nvidiaGpuSupport; - version = "1.0.3"; - sha256 = "142rwpli8mbyg4vhhybnym34rk9w1ns4ddfhqjr1ygmxb1rlsngi"; + version = "1.0.4"; + sha256 = "0znaxz9mzbqb59p6rwa5h89m344m2ci39jsx8dfh1v5fc17r0fcq"; } diff --git a/nixpkgs/pkgs/applications/networking/cluster/octant/default.nix b/nixpkgs/pkgs/applications/networking/cluster/octant/default.nix index ebf3cb417d69..0e97b541a5dc 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/octant/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/octant/default.nix @@ -1,38 +1,53 @@ -{ lib, stdenv, fetchurl }: -let - version = "0.16.3"; +{ lib, stdenv, fetchzip }: - system = stdenv.hostPlatform.system; +let + inherit (stdenv.hostPlatform) system; suffix = { x86_64-linux = "Linux-64bit"; aarch64-linux = "Linux-arm64"; x86_64-darwin = "macOS-64bit"; }."${system}" or (throw "Unsupported system: ${system}"); - baseurl = "https://github.com/vmware-tanzu/octant/releases/download"; - fetchsrc = sha256: fetchurl { - url = "${baseurl}/v${version}/octant_${version}_${suffix}.tar.gz"; - sha256 = sha256."${system}"; - }; + fetchsrc = version: sha256: fetchzip { + url = "${baseurl}/v${version}/octant_${version}_${suffix}.tar.gz"; + sha256 = sha256."${system}"; + }; in stdenv.mkDerivation rec { pname = "octant"; - inherit version; + version = "0.18.0"; - src = fetchsrc { - x86_64-linux = "1c6v7d8i494k32b0zrjn4fn1idza95r6h99c33c5za4hi7gqvy0x"; - aarch64-linux = "153jd4wsq8qc598w7y4d30dy20ljyhrl68cc3pig1p712l5258zs"; - x86_64-darwin = "0y2qjdlyvhrzwg0fmxsr3jl39kd13276a7wg0ndhdjfwxvdwpxkz"; + src = fetchsrc version { + x86_64-linux = "sha256-D/pHOXR7XQoJCGqUep1lBAY4239HH35m+evFd21pcK0="; + aarch64-linux = "sha256-aL1axz3ebqrKQ3xK2UgDMQ+o6ZKgIvwy6Phici7WT2c="; + x86_64-darwin = "sha256-MFxOAAEnLur0LJJNU0SSlO+bH4f18zOfZNA49fKEQEw="; }; - doCheck = false; + dontConfigure = true; + dontBuild = true; installPhase = '' - mkdir -p "$out/bin" - mv octant $out/bin + runHook preInstall + install -D octant $out/bin/octant + runHook postInstall + ''; + + doInstallCheck = true; + installCheckPhase = '' + runHook preInstallCheck + $out/bin/octant --help + $out/bin/octant version | grep "${version}" + runHook postInstallCheck ''; + dontPatchELF = true; + dontPatchShebangs = true; + + passthru.updateScript = ./update.sh; + meta = with lib; { + homepage = "https://octant.dev/"; + changelog = "https://github.com/vmware-tanzu/octant/blob/v${version}/CHANGELOG.md"; description = "Highly extensible platform for developers to better understand the complexity of Kubernetes clusters."; longDescription = '' Octant is a tool for developers to understand how applications run on a Kubernetes cluster. @@ -40,9 +55,8 @@ stdenv.mkDerivation rec { Octant offers a combination of introspective tooling, cluster navigation, and object management along with a plugin system to further extend its capabilities. ''; - homepage = "https://octant.dev/"; license = licenses.asl20; - platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ]; maintainers = with maintainers; [ jk ]; + platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ]; }; } diff --git a/nixpkgs/pkgs/applications/networking/cluster/octant/plugins/starboard-octant-plugin.nix b/nixpkgs/pkgs/applications/networking/cluster/octant/plugins/starboard-octant-plugin.nix index e956715d9b0c..988b2d02df98 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/octant/plugins/starboard-octant-plugin.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/octant/plugins/starboard-octant-plugin.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "starboard-octant-plugin"; - version = "0.9.1"; + version = "0.9.2"; src = fetchFromGitHub { owner = "aquasecurity"; repo = pname; rev = "v${version}"; - sha256 = "sha256-u+yxAGVVFsZpiexToNDUfQATsYOkKWHkYF9roK0OInY="; + sha256 = "sha256-wis2ECCVXQeD7GiCMJQai+wDM8QJ1j5dPnE5O/I3wpM="; }; - vendorSha256 = "sha256-c5sel3xs4npTENqRQu8d9hUOK1OFQodF3M0ZpUpr1po="; + vendorSha256 = "sha256-T0wDbAl5GXphZIBrM36OwRCojnJ/cbXNqsjtCzUDZ6s="; buildFlagsArray = [ "-ldflags=" "-s" "-w" ]; diff --git a/nixpkgs/pkgs/applications/networking/cluster/octant/update.sh b/nixpkgs/pkgs/applications/networking/cluster/octant/update.sh new file mode 100755 index 000000000000..4ffe4aefb30c --- /dev/null +++ b/nixpkgs/pkgs/applications/networking/cluster/octant/update.sh @@ -0,0 +1,38 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p curl gnused gawk nix-prefetch + +set -euo pipefail + +ROOT="$(dirname "$(readlink -f "$0")")" +NIX_DRV="$ROOT/default.nix" +if [ ! -f "$NIX_DRV" ]; then + echo "ERROR: cannot find default.nix in $ROOT" + exit 1 +fi + +fetch_arch() { + VER="$1"; ARCH="$2" + URL="https://github.com/vmware-tanzu/octant/releases/download/v${VER}/octant_${VER}_${ARCH}.tar.gz" + nix-prefetch "{ stdenv, fetchzip }: +stdenv.mkDerivation rec { + pname = \"octant\"; version = \"${VER}\"; + src = fetchzip { url = \"$URL\"; }; +} +" +} + +replace_sha() { + sed -i "s#$1 = \"sha256-.\{44\}\"#$1 = \"$2\"#" "$NIX_DRV" +} + +OCTANT_VER=$(curl -Ls -w "%{url_effective}" -o /dev/null https://github.com/vmware-tanzu/octant/releases/latest | awk -F'/' '{print $NF}' | sed 's/v//') + +OCTANT_LINUX_X64_SHA256=$(fetch_arch "$OCTANT_VER" "Linux-64bit") +OCTANT_DARWIN_X64_SHA256=$(fetch_arch "$OCTANT_VER" "Linux-arm64") +OCTANT_LINUX_AARCH64_SHA256=$(fetch_arch "$OCTANT_VER" "macOS-64bit") + +sed -i "s/version = \".*\"/version = \"$OCTANT_VER\"/" "$NIX_DRV" + +replace_sha "x86_64-linux" "$OCTANT_LINUX_X64_SHA256" +replace_sha "x86_64-darwin" "$OCTANT_LINUX_AARCH64_SHA256" +replace_sha "aarch64-linux" "$OCTANT_DARWIN_X64_SHA256" diff --git a/nixpkgs/pkgs/applications/networking/cluster/openshift/default.nix b/nixpkgs/pkgs/applications/networking/cluster/openshift/default.nix index 53209d2edd67..a1d4b1468376 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/openshift/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/openshift/default.nix @@ -1,5 +1,5 @@ { lib, fetchFromGitHub, buildGoPackage, which, go-bindata, rsync, util-linux -, coreutils, kerberos, ncurses, clang, installShellFiles +, coreutils, libkrb5, ncurses, clang, installShellFiles , components ? [ "cmd/oc" "cmd/openshift" @@ -33,7 +33,7 @@ in buildGoPackage rec { goPackagePath = "github.com/openshift/origin"; - buildInputs = [ kerberos ncurses ]; + buildInputs = [ libkrb5 ncurses ]; nativeBuildInputs = [ which rsync go-bindata clang installShellFiles ]; diff --git a/nixpkgs/pkgs/applications/networking/cluster/pgo-client/default.nix b/nixpkgs/pkgs/applications/networking/cluster/pgo-client/default.nix new file mode 100644 index 000000000000..52c9c191218c --- /dev/null +++ b/nixpkgs/pkgs/applications/networking/cluster/pgo-client/default.nix @@ -0,0 +1,26 @@ +{ lib, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "pgo-client"; + version = "4.6.2"; + + src = fetchFromGitHub { + owner = "CrunchyData"; + repo = "postgres-operator"; + rev = "v${version}"; + sha256 = "sha256-zPFsLKbuVq2wMjFsqjBGiatPBwGR/X6q3mj8o5BE+r0="; + }; + + vendorSha256 = "sha256-DU1kc7YDQ+denj6tHVGt79s494aBFZ2KM7PVSn951KI="; + + subPackages = [ "cmd/pgo" ]; + + meta = with lib; { + description = "A CLI client for Crunchy PostgreSQL Kubernetes Operator"; + homepage = "https://github.com/CrunchyData/postgres-operator"; + changelog = "https://github.com/CrunchyData/postgres-operator/releases/tag/v${version}"; + license = licenses.asl20; + maintainers = [ maintainers.bryanasdev000 ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/applications/networking/cluster/qbec/default.nix b/nixpkgs/pkgs/applications/networking/cluster/qbec/default.nix index a4f15586ad0e..7bcd905c9997 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/qbec/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/qbec/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "qbec"; - version = "0.13.4"; + version = "0.14.2"; src = fetchFromGitHub { owner = "splunk"; repo = "qbec"; rev = "v${version}"; - sha256 = "sha256-jbGEkBBXb1dDv4E7vEPVyvDahz27Kpyo3taenCH/vfw="; + sha256 = "sha256-F5xnW9069Xrl6isvmeYtfTZUZSiSq47HLs5/p3HCf6E="; }; - vendorSha256 = "sha256-rzxtLaGUl8hxcJ+GWlrkjN+f7mb0lXrtkHj/pBO8HzQ="; + vendorSha256 = "sha256-wtpXqIixjRYYSIPe43Q5627g6mu05WdvwCi9cXVgCBs="; doCheck = false; diff --git a/nixpkgs/pkgs/applications/networking/cluster/sonobuoy/default.nix b/nixpkgs/pkgs/applications/networking/cluster/sonobuoy/default.nix index f344b8c3eb97..8f4324f43435 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/sonobuoy/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/sonobuoy/default.nix @@ -5,7 +5,7 @@ let rev = "f6e19140201d6bf2f1274bf6567087bc25154210"; in buildGoModule rec { pname = "sonobuoy"; - version = "0.20.0"; # Do not forget to update `rev` above + version = "0.50.0"; # Do not forget to update `rev` above buildFlagsArray = let t = "github.com/vmware-tanzu/sonobuoy"; @@ -17,13 +17,13 @@ buildGoModule rec { ''; src = fetchFromGitHub { - sha256 = "11qawsv82i1pl4mwfc85wb4fbq961bplvmygnjfm79m8z87863ri"; + sha256 = "sha256-LhprsDlWZjNRE6pu7V9WBszy/+bNpn5KoRopIoWvdsg="; rev = "v${version}"; repo = "sonobuoy"; owner = "vmware-tanzu"; }; - vendorSha256 = "1kxzd4czv8992y7y47la5jjrbhk76sxcj3v5sx0k4xplgki7np6i"; + vendorSha256 = "sha256-0Vx74nz0djJB12UPybo2Z8KVpSyKHuKPFymh/Rlpv88="; subPackages = [ "." ]; diff --git a/nixpkgs/pkgs/applications/networking/cluster/spark/default.nix b/nixpkgs/pkgs/applications/networking/cluster/spark/default.nix index 071636ec4431..76230b8e1003 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/spark/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/spark/default.nix @@ -14,7 +14,8 @@ stdenv.mkDerivation rec { sha256 = "1a9w5k0207fysgpxx6db3a00fs5hdc2ncx99x4ccy2s0v5ndc66g"; }; - buildInputs = [ makeWrapper jre pythonPackages.python pythonPackages.numpy ] + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ jre pythonPackages.python pythonPackages.numpy ] ++ optional RSupport R; untarDir = "${pname}-${version}-bin-without-hadoop"; diff --git a/nixpkgs/pkgs/applications/networking/cluster/ssm-agent/0001-Disable-NIC-tests-that-fail-in-the-Nix-sandbox.patch b/nixpkgs/pkgs/applications/networking/cluster/ssm-agent/0001-Disable-NIC-tests-that-fail-in-the-Nix-sandbox.patch new file mode 100644 index 000000000000..364f7653efa3 --- /dev/null +++ b/nixpkgs/pkgs/applications/networking/cluster/ssm-agent/0001-Disable-NIC-tests-that-fail-in-the-Nix-sandbox.patch @@ -0,0 +1,44 @@ +From bea6307ec2a77d90d59c13940381d73ec0f05b70 Mon Sep 17 00:00:00 2001 +From: Graham Christensen <graham@grahamc.com> +Date: Mon, 1 Mar 2021 10:57:44 -0500 +Subject: [PATCH] Disable NIC tests that fail in the Nix sandbox. + +--- + agent/managedInstances/fingerprint/fingerprint_integ_test.go | 2 ++ + agent/ssm/service_test.go | 1 + + 2 files changed, 3 insertions(+) + +diff --git a/agent/managedInstances/fingerprint/fingerprint_integ_test.go b/agent/managedInstances/fingerprint/fingerprint_integ_test.go +index a1f969ff..631ea1f5 100644 +--- a/agent/managedInstances/fingerprint/fingerprint_integ_test.go ++++ b/agent/managedInstances/fingerprint/fingerprint_integ_test.go +@@ -28,12 +28,14 @@ func TestHostnameInfo(t *testing.T) { + } + + func TestPrimaryIpInfo(t *testing.T) { ++ t.Skip("The Nix build sandbox has no non-loopback IPs, causing this test to fail."); + ip, err := primaryIpInfo() + assert.NoError(t, err, "expected no error fetching the primary ip") + assert.NotEmpty(t, ip, "expected to fetch primary ip") + } + + func TestMacAddrInfo(t *testing.T) { ++ t.Skip("The Nix build sandbox has no non-loopback interfaces, causing this test to fail."); + mac, err := macAddrInfo() + assert.NoError(t, err, "expected no error fetching the mac addr") + assert.NotEmpty(t, mac, "expected to fetch mac address") +diff --git a/agent/ssm/service_test.go b/agent/ssm/service_test.go +index f4b34f83..d8216dba 100644 +--- a/agent/ssm/service_test.go ++++ b/agent/ssm/service_test.go +@@ -85,6 +85,7 @@ func (suite *SsmServiceTestSuite) TestUpdateEmptyInstanceInformation() { + // Test function for update instance information + // This function update the agent name, agent statuc, and agent version. + func (suite *SsmServiceTestSuite) TestUpdateInstanceInformation() { ++ suite.T().Skip("The Nix build sandbox has no interfaces for IP and MAC address reports."); + // Give mock value to test UpdateInstanceInformation, assert the error is nil, assert the log.Debug function get called. + response, err := suite.sdkService.UpdateInstanceInformation(suite.logMock, "2.2.3.2", "active", "Amazon-ssm-agent") + assert.Nil(suite.T(), err, "Err should be nil") +-- +2.29.2 + diff --git a/nixpkgs/pkgs/applications/networking/cluster/ssm-agent/0002-version-gen-don-t-use-unnecessary-constants.patch b/nixpkgs/pkgs/applications/networking/cluster/ssm-agent/0002-version-gen-don-t-use-unnecessary-constants.patch new file mode 100644 index 000000000000..234e510d3d17 --- /dev/null +++ b/nixpkgs/pkgs/applications/networking/cluster/ssm-agent/0002-version-gen-don-t-use-unnecessary-constants.patch @@ -0,0 +1,46 @@ +From 473e3f8544915a35b3a45c548743978b34e5310e Mon Sep 17 00:00:00 2001 +From: Cole Helbling <cole.e.helbling@outlook.com> +Date: Tue, 2 Mar 2021 00:24:00 -0800 +Subject: [PATCH] version-gen: don't use unnecessary constants + +This prevents the tool from being built with Nix, because this project +doesn't use Go modules (or something; I'm not really familiar with Go, +much less Go + Nix). +--- + agent/version/versiongenerator/version-gen.go | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +diff --git a/agent/version/versiongenerator/version-gen.go b/agent/version/versiongenerator/version-gen.go +index d710effc..55c9a001 100644 +--- a/agent/version/versiongenerator/version-gen.go ++++ b/agent/version/versiongenerator/version-gen.go +@@ -22,8 +22,6 @@ import ( + "path/filepath" + "strings" + "text/template" +- +- "github.com/aws/amazon-ssm-agent/agent/appconfig" + ) + + const versiongoTemplate = `// This is an autogenerated file and should not be edited. +@@ -59,7 +57,7 @@ func main() { + versionStr := strings.TrimSpace(string(versionContent)) + + fmt.Printf("Agent Version: %v", versionStr) +- if err := ioutil.WriteFile(filepath.Join("VERSION"), []byte(versionStr), appconfig.ReadWriteAccess); err != nil { ++ if err := ioutil.WriteFile(filepath.Join("VERSION"), []byte(versionStr), 0600); err != nil { + log.Fatalf("Error writing to VERSION file. %v", err) + } + +@@ -108,7 +106,7 @@ func main() { + + releaseNoteOutFile := strings.Join(releaseNoteLines, "\n") + +- if err = ioutil.WriteFile(filepath.Join(releaseNotesFile), []byte(releaseNoteOutFile), appconfig.ReadWriteAccess); err != nil { ++ if err = ioutil.WriteFile(filepath.Join(releaseNotesFile), []byte(releaseNoteOutFile), 0600); err != nil { + log.Fatalf("Error writing to RELEASENOTES.md file. %v", err) + } + +-- +2.30.0 + diff --git a/nixpkgs/pkgs/applications/networking/cluster/ssm-agent/default.nix b/nixpkgs/pkgs/applications/networking/cluster/ssm-agent/default.nix index 928fb351c6a0..3aa583f3ae39 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/ssm-agent/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/ssm-agent/default.nix @@ -1,63 +1,110 @@ -{ lib, fetchFromGitHub, buildGoPackage, bash, makeWrapper }: +{ lib +, writeShellScriptBin +, buildGoPackage +, makeWrapper +, fetchFromGitHub +, coreutils +, nettools +, dmidecode +, util-linux +, bashInteractive +}: +let + # Tests use lsb_release, so we mock it (the SSM agent used to not + # read from our /etc/os-release file, but now it does) because in + # reality, it won't (shouldn't) be used when active on a system with + # /etc/os-release. If it is, we fake the only two fields it cares about. + fake-lsb-release = writeShellScriptBin "lsb_release" '' + . /etc/os-release || true + + case "$1" in + -i) echo "''${NAME:-unknown}";; + -r) echo "''${VERSION:-unknown}";; + esac + ''; +in buildGoPackage rec { - pname = "amazon-ssm-agent"; - version = "2.3.1319.0"; + pname = "amazon-ssm-agent"; + version = "3.0.755.0"; goPackagePath = "github.com/aws/${pname}"; - subPackages = [ - "agent" - "agent/framework/processor/executer/outofproc/worker" - "agent/framework/processor/executer/outofproc/worker" - "agent/framework/processor/executer/outofproc/sessionworker" - "agent/session/logging" - "agent/cli-main" - ]; - buildInputs = [ makeWrapper ]; + nativeBuildInputs = [ makeWrapper ]; src = fetchFromGitHub { - rev = version; - owner = "aws"; - repo = pname; - sha256 = "1yiyhj7ckqa32b1rnbwn7zx89rsj00m5imn1xlpsw002ywxsxbnv"; + rev = version; + owner = "aws"; + repo = "amazon-ssm-agent"; + hash = "sha256-yVQJL1MJ1JlAndlrXfEbNLQihlbLhSoQXTKzJMRzhao="; }; + patches = [ + # Some tests use networking, so we skip them. + ./0001-Disable-NIC-tests-that-fail-in-the-Nix-sandbox.patch + + # They used constants from another package that I couldn't figure + # out how to resolve, so hardcoded the constants. + ./0002-version-gen-don-t-use-unnecessary-constants.patch + ]; + + preConfigure = '' + rm -r ./Tools/src/goreportcard + printf "#!/bin/sh\ntrue" > ./Tools/src/checkstyle.sh + + substituteInPlace agent/platform/platform_unix.go \ + --replace "/usr/bin/uname" "${coreutils}/bin/uname" \ + --replace '"/bin", "hostname"' '"${nettools}/bin/hostname"' \ + --replace '"lsb_release"' '"${fake-lsb-release}/bin/lsb_release"' + + substituteInPlace agent/managedInstances/fingerprint/hardwareInfo_unix.go \ + --replace /usr/sbin/dmidecode ${dmidecode}/bin/dmidecode + + substituteInPlace agent/session/shell/shell_unix.go \ + --replace '"script"' '"${util-linux}/bin/script"' + + echo "${version}" > VERSION + ''; + preBuild = '' - mv go/src/${goPackagePath}/vendor strange-vendor - mv strange-vendor/src go/src/${goPackagePath}/vendor + cp -r go/src/${goPackagePath}/vendor/src go - cd go/src/${goPackagePath} - echo ${version} > VERSION + pushd go/src/${goPackagePath} - substituteInPlace agent/plugins/inventory/gatherers/application/dataProvider.go \ - --replace '"github.com/aws/amazon-ssm-agent/agent/plugins/configurepackage/localpackages"' "" + # Note: if this step fails, please patch the code to fix it! Please only skip + # tests if it is not feasible for the test to pass in a sandbox. + make quick-integtest - go run agent/version/versiongenerator/version-gen.go - substituteInPlace agent/appconfig/constants_unix.go \ - --replace /usr/bin/ssm-document-worker $bin/bin/ssm-document-worker \ - --replace /usr/bin/ssm-session-worker $bin/bin/ssm-session-worker \ - --replace /usr/bin/ssm-session-logger $bin/bin/ssm-session-logger - cd - + make pre-release + make pre-build + + popd ''; postBuild = '' - mv go/bin/agent go/bin/amazon-ssm-agent - mv go/bin/worker go/bin/ssm-document-worker - mv go/bin/sessionworker go/bin/ssm-session-worker - mv go/bin/logging go/bin/ssm-session-logger - mv go/bin/cli-main go/bin/ssm-cli + pushd go/bin + + rm integration-cli versiongenerator generator + + mv core amazon-ssm-agent + mv agent ssm-agent-worker + mv cli-main ssm-cli + mv worker ssm-document-worker + mv logging ssm-session-logger + mv sessionworker ssm-session-worker + + popd ''; - postInstall = '' - wrapProgram $out/bin/amazon-ssm-agent --prefix PATH : ${bash}/bin + postFixup = '' + wrapProgram $out/bin/amazon-ssm-agent --prefix PATH : ${bashInteractive}/bin ''; meta = with lib; { description = "Agent to enable remote management of your Amazon EC2 instance configuration"; - homepage = "https://github.com/aws/amazon-ssm-agent"; - license = licenses.asl20; - platforms = platforms.unix; + homepage = "https://github.com/aws/amazon-ssm-agent"; + license = licenses.asl20; + platforms = platforms.unix; maintainers = with maintainers; [ copumpkin manveru ]; }; } diff --git a/nixpkgs/pkgs/applications/networking/cluster/starboard/default.nix b/nixpkgs/pkgs/applications/networking/cluster/starboard/default.nix index 163deb1bef88..4fdcdf1ea2b1 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/starboard/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/starboard/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "starboard"; - version = "0.9.1"; + version = "0.9.2"; src = fetchFromGitHub { owner = "aquasecurity"; repo = pname; rev = "v${version}"; - sha256 = "sha256-ZIAdYuJ8LS8x2h+VXQrkgdmKkw9VKl7FcnOVZNSnXM0="; + sha256 = "sha256-w+xaZPEMmJYDPQG4MuAlWMhwhEyeVcpaeDwqsnIbIHA="; }; vendorSha256 = "sha256-aVKQcRZgxhIph+y28HhR15DUjwiz/4+t1bMrYXjPW7Q="; diff --git a/nixpkgs/pkgs/applications/networking/cluster/tanka/default.nix b/nixpkgs/pkgs/applications/networking/cluster/tanka/default.nix index 44ad3dfd72c7..8e7731590aad 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/tanka/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/tanka/default.nix @@ -2,20 +2,22 @@ buildGoModule rec { pname = "tanka"; - version = "0.14.0"; + version = "0.15.0"; src = fetchFromGitHub { owner = "grafana"; repo = pname; rev = "v${version}"; - sha256 = "sha256-y2HhtYKgC9Y397dZ14eQoPZxqS1fTOXVD8B4wdLIHzM="; + sha256 = "sha256-ckXvDB3TU9HAXowAAr/fRmX3mylVvPKW8I74R/vUaRY="; }; vendorSha256 = "sha256-vpm2y/CxRNWkz6+AOMmmZH5AjRQWAa6WD5Fnx5lqJYw="; doCheck = false; - buildFlagsArray = [ "-ldflags=-s -w -X main.Version=${version}" ]; + subPackages = [ "cmd/tk" ]; + + buildFlagsArray = [ "-ldflags=-s -w -extldflags \"-static\" -X github.com/grafana/tanka/pkg/tanka.CURRENT_VERSION=v${version}" ]; nativeBuildInputs = [ installShellFiles ]; @@ -26,7 +28,7 @@ buildGoModule rec { meta = with lib; { description = "Flexible, reusable and concise configuration for Kubernetes"; - homepage = "https://github.com/grafana/tanka/"; + homepage = "https://tanka.dev"; license = licenses.asl20; maintainers = with maintainers; [ mikefaille ]; platforms = platforms.unix; diff --git a/nixpkgs/pkgs/applications/networking/cluster/tektoncd-cli/default.nix b/nixpkgs/pkgs/applications/networking/cluster/tektoncd-cli/default.nix index 581af59f0c8f..c59c03714890 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/tektoncd-cli/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/tektoncd-cli/default.nix @@ -2,23 +2,20 @@ buildGoModule rec { pname = "tektoncd-cli"; - version = "0.16.0"; + version = "0.17.1"; src = fetchFromGitHub { owner = "tektoncd"; repo = "cli"; rev = "v${version}"; - sha256 = "sha256-IY9iJa4HcZ60jDPdP47jjC0FiOJesvf2vEENMAYVd4Q="; + sha256 = "sha256-xwUTSJ0rlNzQqGQp6jL03L4SuHUvvD3aWXxa1Xp0UyM="; }; vendorSha256 = null; - buildFlagsArray = [ - "-ldflags=" - "-s" - "-w" - "-X github.com/tektoncd/cli/pkg/cmd/version.clientVersion=${version}" - ]; + preBuild = '' + buildFlagsArray+=("-ldflags" "-s -w -X github.com/tektoncd/cli/pkg/cmd/version.clientVersion=${version}") + ''; nativeBuildInputs = [ installShellFiles ]; @@ -40,6 +37,14 @@ buildGoModule rec { --zsh <($out/bin/tkn completion zsh) ''; + doInstallCheck = true; + installCheckPhase = '' + runHook preInstallCheck + $out/bin/tkn --help + $out/bin/tkn version | grep "Client version: ${version}" + runHook postInstallCheck + ''; + meta = with lib; { homepage = "https://tekton.dev"; changelog = "https://github.com/tektoncd/cli/releases/tag/v${version}"; diff --git a/nixpkgs/pkgs/applications/networking/cluster/terraform-docs/default.nix b/nixpkgs/pkgs/applications/networking/cluster/terraform-docs/default.nix index a5b6e7d2f5e7..313bd46a5194 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/terraform-docs/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/terraform-docs/default.nix @@ -1,24 +1,26 @@ -{ lib, buildGoPackage, fetchFromGitHub }: -buildGoPackage rec { +{ lib, buildGoModule, fetchFromGitHub }: +buildGoModule rec { pname = "terraform-docs"; - version = "0.9.1"; - - goPackagePath = "github.com/segmentio/${pname}"; + version = "0.12.1"; src = fetchFromGitHub { - owner = "segmentio"; - repo = pname; - rev = "v${version}"; - sha256 = "00sfzdqhf8g85m03r6mbzfas5vvc67iq7syb8ljcgxg8l1knxnjx"; + owner = "terraform-docs"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-zQFPuHxfFvfwPVV0vPeA+A6XCw2Vt4tY4S2JBGcqaBQ="; }; + vendorSha256 = "sha256-HO2E8i5A/2Xi7Pq+Mqb/2ogK1to8IvZjRuDXfzGvOXk="; + + subPackages = [ "." ]; + preBuild = '' buildFlagsArray+=("-ldflags" "-X main.version=${version}") ''; meta = with lib; { description = "A utility to generate documentation from Terraform modules in various output formats"; - homepage = "https://github.com/segmentio/terraform-docs/"; + homepage = "https://github.com/terraform-docs/terraform-docs/"; license = licenses.mit; maintainers = with maintainers; [ zimbatm ]; }; diff --git a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/providers.json b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/providers.json index 198a05621a52..329b1be682cc 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -359,10 +359,10 @@ "owner": "hashicorp", "provider-source-address": "registry.terraform.io/hashicorp/google", "repo": "terraform-provider-google", - "rev": "v3.47.0", - "sha256": "05xb0q56y9088qbyaf3vzjm9im1s2azxffhjffjpzi0i79k0g2p0", - "vendorSha256": "1h83p7ncv7b4ci7qdig7hb81zk9458fq9aqqbkryawf1w7wbaq2a", - "version": "3.47.0" + "rev": "v3.62.0", + "sha256": "0x0qp8nk88667hvlpgxrdjsgirw8iwv85gn3k9xb37a3lw7xs4qz", + "vendorSha256": "0w6aavj1c4blpvsy00vz4dcj8rnxx6a586b16lqp6s1flqmlqrbi", + "version": "3.62.0" }, "google-beta": { "owner": "hashicorp", @@ -398,10 +398,10 @@ "owner": "hashicorp", "provider-source-address": "registry.terraform.io/hashicorp/helm", "repo": "terraform-provider-helm", - "rev": "v1.3.2", - "sha256": "0mpbf03483jqrwd9cx4pdn2pcv4swfs5nbp021gaqr0jf1w970x6", + "rev": "v2.0.2", + "sha256": "119zvlkwa7ygwsjxxdl7z8cqb0c4m6gy21356jnsasf4c3557rrb", "vendorSha256": null, - "version": "1.3.2" + "version": "2.0.2" }, "heroku": { "owner": "terraform-providers", @@ -504,16 +504,19 @@ "owner": "hashicorp", "provider-source-address": "registry.terraform.io/hashicorp/kubernetes", "repo": "terraform-provider-kubernetes", - "rev": "v1.13.3", - "sha256": "01hkbb81r3k630s3ww6379p66h1fsd5cd1dz14jm833nsr142c0i", - "version": "1.13.3" + "rev": "v2.0.2", + "sha256": "129aylw6hxa44syfnb0kkkihwvlaa6d1jnxrcbwkql6xxhn9zizf", + "vendorSha256": null, + "version": "2.0.2" }, "kubernetes-alpha": { "owner": "hashicorp", + "provider-source-address": "registry.terraform.io/hashicorp/kubernetes-alpha", "repo": "terraform-provider-kubernetes-alpha", - "rev": "nightly20200608", - "sha256": "1g171sppf3kq5qlp6g0qqdm0x8lnpizgw8bxjlhp9b6cl4kym70m", - "version": "nightly20200608" + "rev": "v0.3.2", + "sha256": "0lgh42fvfwvj6cw8i7800k016ay4babqiz38q0y7apq4s7vs62sb", + "vendorSha256": null, + "version": "0.3.2" }, "launchdarkly": { "owner": "terraform-providers", @@ -1071,9 +1074,9 @@ "vultr": { "owner": "vultr", "repo": "terraform-provider-vultr", - "rev": "v1.5.0", - "sha256": "04qy366ignn53bbdj9s3032qr1x7h84q36qzl5ywydlw2va0qbsd", - "version": "1.5.0" + "rev": "v2.1.3", + "sha256": "sha256-fvqkzg3j2TYAMbPc8Ifh35sBe0D76LYH6Ut5Ugdyexg=", + "version": "2.1.3" }, "wavefront": { "owner": "terraform-providers", @@ -1083,10 +1086,11 @@ "version": "2.3.0" }, "yandex": { - "owner": "terraform-providers", + "owner": "yandex-cloud", "repo": "terraform-provider-yandex", - "rev": "v0.40.0", - "sha256": "0dymhdrdm00m9xn4xka3zbvjqnckhl06vz5zm6rqivkmw8m2q0mz", - "version": "0.40.0" + "rev": "v0.54.0", + "sha256": "0q9m7520zl7q1liri6x849xjp221wbc9l2w6dj19mmgfwspqv02l", + "vendorSha256": "0rzldsb8gyhvnsd26wg9byqngzzj64pi86v2hb4i63rlfmnn77xi", + "version": "0.54.0" } } diff --git a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/update-provider b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/update-provider index e1f1a0ef38a5..f97bbce83faa 100755 --- a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/update-provider +++ b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/update-provider @@ -1,5 +1,5 @@ #!/usr/bin/env nix-shell -#! nix-shell -i bash -p coreutils curl jq moreutils +#! nix-shell -I nixpkgs=../../../../.. -i bash -p coreutils curl jq moreutils nix # shellcheck shell=bash # vim: ft=sh # @@ -161,7 +161,8 @@ if [[ -z "$vendorSha256" ]]; then exit 1 fi rm -f vendor_log.txt - vendorSha256=${BASH_REMATCH[1]} + # trim the results in case it they have a sha256: prefix or contain more than one line + vendorSha256=$(echo "${BASH_REMATCH[1]#sha256:}" | head -n 1) # Deal with nix unstable if [[ $vendorSha256 = sha256-* ]]; then vendorSha256=$(nix to-base32 "$vendorSha256") diff --git a/nixpkgs/pkgs/applications/networking/cluster/terraform/default.nix b/nixpkgs/pkgs/applications/networking/cluster/terraform/default.nix index 317666a2c7cd..6cd2cf52efc1 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/terraform/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/terraform/default.nix @@ -117,7 +117,7 @@ let else lib.appendToName "with-plugins" (stdenv.mkDerivation { inherit (terraform) name meta; - buildInputs = [ makeWrapper ]; + nativeBuildInputs = [ makeWrapper ]; buildCommand = pluginDir + '' mkdir -p $out/bin/ @@ -157,9 +157,9 @@ in rec { }); terraform_0_14 = pluggable (generic { - version = "0.14.6"; - sha256 = "0ba3vd6lswy4pd0qywdbx8cf71j5z3p8p8kdjs9m4qbyrzsbq0fk"; - vendorSha256 = "0pk5mgj19a8by7wbn5xd6kgr1kxrazhvg851fvs8mq3j0ayb32nb"; + version = "0.14.10"; + sha256 = "05vfb8hzma3qxq4w1h25mmgv96g90if214zlar0sm9fq8zsvb1yw"; + vendorSha256 = "1d93aqkjdrvabkvix6h1qaxpjzv7w1wa7xa44czdnjs2lapx4smm"; patches = [ ./provider-path.patch ]; passthru = { inherit plugins; }; }); diff --git a/nixpkgs/pkgs/applications/networking/cluster/terraforming/Gemfile b/nixpkgs/pkgs/applications/networking/cluster/terraforming/Gemfile new file mode 100644 index 000000000000..e6a4991e899d --- /dev/null +++ b/nixpkgs/pkgs/applications/networking/cluster/terraforming/Gemfile @@ -0,0 +1,3 @@ +source "https://rubygems.org" + +gem 'terraforming' diff --git a/nixpkgs/pkgs/applications/networking/cluster/terraforming/Gemfile.lock b/nixpkgs/pkgs/applications/networking/cluster/terraforming/Gemfile.lock new file mode 100644 index 000000000000..ae2a40cc35b0 --- /dev/null +++ b/nixpkgs/pkgs/applications/networking/cluster/terraforming/Gemfile.lock @@ -0,0 +1,92 @@ +GEM + remote: https://rubygems.org/ + specs: + aws-eventstream (1.1.1) + aws-partitions (1.436.0) + aws-sdk-autoscaling (1.59.0) + aws-sdk-core (~> 3, >= 3.112.0) + aws-sigv4 (~> 1.1) + aws-sdk-cloudwatch (1.50.0) + aws-sdk-core (~> 3, >= 3.112.0) + aws-sigv4 (~> 1.1) + aws-sdk-core (3.113.0) + aws-eventstream (~> 1, >= 1.0.2) + aws-partitions (~> 1, >= 1.239.0) + aws-sigv4 (~> 1.1) + jmespath (~> 1.0) + aws-sdk-dynamodb (1.60.0) + aws-sdk-core (~> 3, >= 3.112.0) + aws-sigv4 (~> 1.1) + aws-sdk-ec2 (1.230.0) + aws-sdk-core (~> 3, >= 3.112.0) + aws-sigv4 (~> 1.1) + aws-sdk-efs (1.39.0) + aws-sdk-core (~> 3, >= 3.112.0) + aws-sigv4 (~> 1.1) + aws-sdk-elasticache (1.54.0) + aws-sdk-core (~> 3, >= 3.112.0) + aws-sigv4 (~> 1.1) + aws-sdk-elasticloadbalancing (1.31.0) + aws-sdk-core (~> 3, >= 3.112.0) + aws-sigv4 (~> 1.1) + aws-sdk-elasticloadbalancingv2 (1.61.0) + aws-sdk-core (~> 3, >= 3.112.0) + aws-sigv4 (~> 1.1) + aws-sdk-iam (1.51.0) + aws-sdk-core (~> 3, >= 3.112.0) + aws-sigv4 (~> 1.1) + aws-sdk-kms (1.43.0) + aws-sdk-core (~> 3, >= 3.112.0) + aws-sigv4 (~> 1.1) + aws-sdk-rds (1.117.0) + aws-sdk-core (~> 3, >= 3.112.0) + aws-sigv4 (~> 1.1) + aws-sdk-redshift (1.58.0) + aws-sdk-core (~> 3, >= 3.112.0) + aws-sigv4 (~> 1.1) + aws-sdk-route53 (1.48.0) + aws-sdk-core (~> 3, >= 3.112.0) + aws-sigv4 (~> 1.1) + aws-sdk-s3 (1.93.0) + aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-kms (~> 1) + aws-sigv4 (~> 1.1) + aws-sdk-sns (1.39.0) + aws-sdk-core (~> 3, >= 3.112.0) + aws-sigv4 (~> 1.1) + aws-sdk-sqs (1.38.0) + aws-sdk-core (~> 3, >= 3.112.0) + aws-sigv4 (~> 1.1) + aws-sigv4 (1.2.3) + aws-eventstream (~> 1, >= 1.0.2) + jmespath (1.4.0) + multi_json (1.12.2) + terraforming (0.18.0) + aws-sdk-autoscaling (~> 1) + aws-sdk-cloudwatch (~> 1) + aws-sdk-dynamodb (~> 1.18) + aws-sdk-ec2 (~> 1) + aws-sdk-efs (~> 1, >= 1.13.0) + aws-sdk-elasticache (~> 1) + aws-sdk-elasticloadbalancing (~> 1) + aws-sdk-elasticloadbalancingv2 (~> 1) + aws-sdk-iam (~> 1) + aws-sdk-kms (~> 1) + aws-sdk-rds (~> 1) + aws-sdk-redshift (~> 1) + aws-sdk-route53 (~> 1) + aws-sdk-s3 (~> 1) + aws-sdk-sns (~> 1) + aws-sdk-sqs (~> 1) + multi_json (~> 1.12.1) + thor + thor (1.1.0) + +PLATFORMS + ruby + +DEPENDENCIES + terraforming + +BUNDLED WITH + 2.1.4 diff --git a/nixpkgs/pkgs/applications/networking/cluster/terraforming/default.nix b/nixpkgs/pkgs/applications/networking/cluster/terraforming/default.nix new file mode 100644 index 000000000000..85d522257cde --- /dev/null +++ b/nixpkgs/pkgs/applications/networking/cluster/terraforming/default.nix @@ -0,0 +1,20 @@ +{ lib, bundlerApp, bundlerUpdateScript, ruby }: + +bundlerApp rec { + inherit ruby; + + pname = "terraforming"; + gemdir = ./.; + exes = [ "terraforming" ]; + + passthru.updateScript = bundlerUpdateScript "terraforming"; + + meta = with lib; { + inherit (ruby.meta) platforms; + + description = "Export existing AWS resources to Terraform style (tf, tfstate)"; + homepage = "https://github.com/dtan4/terraforming"; + license = with licenses; mit; + maintainers = with maintainers; [ kalbasit ]; + }; +} diff --git a/nixpkgs/pkgs/applications/networking/cluster/terraforming/gemset.nix b/nixpkgs/pkgs/applications/networking/cluster/terraforming/gemset.nix new file mode 100644 index 000000000000..9882efc29e80 --- /dev/null +++ b/nixpkgs/pkgs/applications/networking/cluster/terraforming/gemset.nix @@ -0,0 +1,261 @@ +{ + aws-eventstream = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0jfki5ikfr8ln5cdgv4iv1643kax0bjpp29jh78chzy713274jh3"; + type = "gem"; + }; + version = "1.1.1"; + }; + aws-partitions = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1gn09cafg2n6gdc3ja80r3xjllly05r0m7x3w3b3rywir6k6ai4f"; + type = "gem"; + }; + version = "1.436.0"; + }; + aws-sdk-autoscaling = { + dependencies = ["aws-sdk-core" "aws-sigv4"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0br6hfi2i5rri8ivamkmnx00p640s24pqmp8s67sm5asvdfzx4vr"; + type = "gem"; + }; + version = "1.59.0"; + }; + aws-sdk-cloudwatch = { + dependencies = ["aws-sdk-core" "aws-sigv4"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0xga00dn925rfgz4p2zf734aaik00dqb9psll27lg5626jd6xr0c"; + type = "gem"; + }; + version = "1.50.0"; + }; + aws-sdk-core = { + dependencies = ["aws-eventstream" "aws-partitions" "aws-sigv4" "jmespath"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1774xyfqf307qvh5npvf01948ayrviaadq576r4jxin6xvlg8j9z"; + type = "gem"; + }; + version = "3.113.0"; + }; + aws-sdk-dynamodb = { + dependencies = ["aws-sdk-core" "aws-sigv4"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1dfsmkzv9cziykzc56g9pwxmbdqjpykxka3fq07b6iarzh38j1i3"; + type = "gem"; + }; + version = "1.60.0"; + }; + aws-sdk-ec2 = { + dependencies = ["aws-sdk-core" "aws-sigv4"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1c7qqly2f94db3643xwjj9mcb34vilx11awbv40v2f8z7xisvvz3"; + type = "gem"; + }; + version = "1.230.0"; + }; + aws-sdk-efs = { + dependencies = ["aws-sdk-core" "aws-sigv4"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0kmpz86sxkm6nzcf80nd65902fy29hz8lvx1kjwl5idx07ls8pnd"; + type = "gem"; + }; + version = "1.39.0"; + }; + aws-sdk-elasticache = { + dependencies = ["aws-sdk-core" "aws-sigv4"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "05kn2k437rnsf9nkwc1x5i2klrasjgyk1pj89f2gb0za86swjcza"; + type = "gem"; + }; + version = "1.54.0"; + }; + aws-sdk-elasticloadbalancing = { + dependencies = ["aws-sdk-core" "aws-sigv4"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0j3px8dn2yxsnmy010kfkwa1a2flbdxachmly20f436ysi3ql3v3"; + type = "gem"; + }; + version = "1.31.0"; + }; + aws-sdk-elasticloadbalancingv2 = { + dependencies = ["aws-sdk-core" "aws-sigv4"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "16hknbqv5s1im04dch9kdbc79x072613imdih62w48mvsf12c1mm"; + type = "gem"; + }; + version = "1.61.0"; + }; + aws-sdk-iam = { + dependencies = ["aws-sdk-core" "aws-sigv4"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0x2768blsy8lpib9pi2f2d67flabar3bq6chmbj07iqzpwvpz569"; + type = "gem"; + }; + version = "1.51.0"; + }; + aws-sdk-kms = { + dependencies = ["aws-sdk-core" "aws-sigv4"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "01pd0f4srsa65zl4zq4014p9j5yrr2yy9h9ab17g3w9d0qqm2vsh"; + type = "gem"; + }; + version = "1.43.0"; + }; + aws-sdk-rds = { + dependencies = ["aws-sdk-core" "aws-sigv4"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0hwxgcka6bmzdn5pazss0fv8xgbbgas4h2cwpzwhkjkwhh23dx6a"; + type = "gem"; + }; + version = "1.117.0"; + }; + aws-sdk-redshift = { + dependencies = ["aws-sdk-core" "aws-sigv4"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1sp186v00lj517hia6rsn28ph8rqknz9r79vbkbyh5fgrbh2j6bd"; + type = "gem"; + }; + version = "1.58.0"; + }; + aws-sdk-route53 = { + dependencies = ["aws-sdk-core" "aws-sigv4"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0p9g0scw9c6qancdwvaw3kkj3pywchy2vl3qz2rqpjncqvj04pn5"; + type = "gem"; + }; + version = "1.48.0"; + }; + aws-sdk-s3 = { + dependencies = ["aws-sdk-core" "aws-sdk-kms" "aws-sigv4"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0iy2f9z43pc6fgwmga2cz8nf9gy2pwcw4jib141vp8z8dhylqj94"; + type = "gem"; + }; + version = "1.93.0"; + }; + aws-sdk-sns = { + dependencies = ["aws-sdk-core" "aws-sigv4"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0pmxi871r2nkl6by89vsy05ahk8dr6hmkny56fycrby6r9kri9q4"; + type = "gem"; + }; + version = "1.39.0"; + }; + aws-sdk-sqs = { + dependencies = ["aws-sdk-core" "aws-sigv4"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "01m2l8y4q4fixjvl70w5bi1ihmmx2y4krms9kkjwd3ch21y14hif"; + type = "gem"; + }; + version = "1.38.0"; + }; + aws-sigv4 = { + dependencies = ["aws-eventstream"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1d9zhmi3mpfzkkpg7yw7s9r1dwk157kh9875j3c7gh6cy95lmmaw"; + type = "gem"; + }; + version = "1.2.3"; + }; + jmespath = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1d4wac0dcd1jf6kc57891glih9w57552zgqswgy74d1xhgnk0ngf"; + type = "gem"; + }; + version = "1.4.0"; + }; + multi_json = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1raim9ddjh672m32psaa9niw67ywzjbxbdb8iijx3wv9k5b0pk2x"; + type = "gem"; + }; + version = "1.12.2"; + }; + terraforming = { + dependencies = ["aws-sdk-autoscaling" "aws-sdk-cloudwatch" "aws-sdk-dynamodb" "aws-sdk-ec2" "aws-sdk-efs" "aws-sdk-elasticache" "aws-sdk-elasticloadbalancing" "aws-sdk-elasticloadbalancingv2" "aws-sdk-iam" "aws-sdk-kms" "aws-sdk-rds" "aws-sdk-redshift" "aws-sdk-route53" "aws-sdk-s3" "aws-sdk-sns" "aws-sdk-sqs" "multi_json" "thor"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "03fyhqx6bxpbn26pbcz748gz7rh7q3r9r0jimq7vj07fl454fmwh"; + type = "gem"; + }; + version = "0.18.0"; + }; + thor = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "18yhlvmfya23cs3pvhr1qy38y41b6mhr5q9vwv5lrgk16wmf3jna"; + type = "gem"; + }; + version = "1.1.0"; + }; +} diff --git a/nixpkgs/pkgs/applications/networking/cluster/terragrunt/default.nix b/nixpkgs/pkgs/applications/networking/cluster/terragrunt/default.nix index 9e2b9709afc2..eb230062feec 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/terragrunt/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/terragrunt/default.nix @@ -2,25 +2,30 @@ buildGoModule rec { pname = "terragrunt"; - version = "0.28.4"; + version = "0.28.18"; src = fetchFromGitHub { owner = "gruntwork-io"; repo = pname; rev = "v${version}"; - sha256 = "sha256-LilIwg3Zu7Zi7AhJeW0j2qUmSOGy1HHjvvB07FUcEeI="; + sha256 = "sha256-W0HjGILezhuc1lXvGCHw23h8Sx1uw4YLLsOOBZYGvU8="; }; - vendorSha256 = "sha256-lRJerUYafpkXAGf8MEM8SeG3aB86mlMo7iLpeHFAnd4="; + vendorSha256 = "sha256-kcRM76xfajtQist1aJTmaRludxRlfvHQ9ucB3LOgnBk="; doCheck = false; - buildFlagsArray = [ - "-ldflags=" - "-s" - "-w" - "-X main.VERSION=v${version}" - ]; + preBuild = '' + buildFlagsArray+=("-ldflags" "-s -w -X main.VERSION=v${version}") + ''; + + doInstallCheck = true; + installCheckPhase = '' + runHook preInstallCheck + $out/bin/terragrunt --help + $out/bin/terragrunt --version | grep "v${version}" + runHook postInstallCheck + ''; meta = with lib; { homepage = "https://terragrunt.gruntwork.io"; diff --git a/nixpkgs/pkgs/applications/networking/cluster/tilt/default.nix b/nixpkgs/pkgs/applications/networking/cluster/tilt/default.nix index 415a895e523f..ccbe9d9a7ac0 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/tilt/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/tilt/default.nix @@ -5,13 +5,13 @@ buildGoModule rec { /* Do not use "dev" as a version. If you do, Tilt will consider itself running in development environment and try to serve assets from the source tree, which is not there once build completes. */ - version = "0.18.8"; + version = "0.18.10"; src = fetchFromGitHub { owner = "tilt-dev"; repo = pname; rev = "v${version}"; - sha256 = "sha256-ICJrY4XUrxVeZlMx69SB/ounfIwLFSguf9bhLOpYP3E="; + sha256 = "sha256-SvvvHGR3UPyV61MaoFB68SaZKUT3ItYOPT1a7AddxlY="; }; vendorSha256 = null; diff --git a/nixpkgs/pkgs/applications/networking/cluster/velero/default.nix b/nixpkgs/pkgs/applications/networking/cluster/velero/default.nix index 6b878cec9279..65826683d5f0 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/velero/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/velero/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "velero"; - version = "1.5.3"; + version = "1.5.4"; src = fetchFromGitHub { rev = "v${version}"; owner = "vmware-tanzu"; repo = "velero"; - sha256 = "sha256-DZ6phJxc8n9LCSsER09K3j+pUJxkYrBZQaI4h+bcV94="; + sha256 = "sha256-YHBqIM3NV2L13w9WCzldUWmdBMec7ZndzYgGHblS8Dg="; }; buildFlagsArray = '' @@ -40,6 +40,6 @@ buildGoModule rec { "https://github.com/vmware-tanzu/velero/releases/tag/v${version}"; license = licenses.asl20; maintainers = [ maintainers.mbode maintainers.bryanasdev000 ]; - platforms = platforms.linux; + platforms = platforms.linux ++ platforms.darwin; }; } diff --git a/nixpkgs/pkgs/applications/networking/cluster/waypoint/default.nix b/nixpkgs/pkgs/applications/networking/cluster/waypoint/default.nix index 3d62a1dcf29b..7675dc0de880 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/waypoint/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/waypoint/default.nix @@ -2,29 +2,45 @@ buildGoModule rec { pname = "waypoint"; - version = "0.2.1"; + version = "0.2.4"; src = fetchFromGitHub { owner = "hashicorp"; repo = pname; rev = "v${version}"; - sha256 = "sha256-bCvi5xIL6xAtQ9mgf4feh076sAmog/3eGBlgvcLXJyc="; + sha256 = "sha256-6sV2e/m0qVSRWgdvVZ9VxEL/J57nTcTClxHF5X8/8PQ="; }; deleteVendor = true; - vendorSha256 = "sha256-ArebHOjP3zvpASVAoaPXpSbrG/jq+Jbx7+EaQ1uHSVY="; + vendorSha256 = "sha256-NPE3YHulqllWDGrxQgPmy/KKE7xFPOUorLQNIU8cP50="; nativeBuildInputs = [ go-bindata ]; # GIT_{COMMIT,DIRTY} filled in blank to prevent trying to run git and ending up blank anyway buildPhase = '' + runHook preBuild make bin GIT_DESCRIBE="v${version}" GIT_COMMIT="" GIT_DIRTY="" + runHook postBuild ''; installPhase = '' + runHook preInstall install -D waypoint $out/bin/waypoint + runHook postInstall ''; + doInstallCheck = true; + installCheckPhase = '' + runHook preInstallCheck + # `version` tries to write to ~/.config/waypoint + export HOME="$TMPDIR" + + $out/bin/waypoint --help + $out/bin/waypoint version # | grep "Waypoint v${version}" + runHook postInstallCheck + ''; + + # Binary is static dontPatchELF = true; dontPatchShebangs = true; |