diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/networking/cluster')
61 files changed, 1196 insertions, 738 deletions
diff --git a/nixpkgs/pkgs/applications/networking/cluster/argo/default.nix b/nixpkgs/pkgs/applications/networking/cluster/argo/default.nix index 25fb33399c0d..891d153a09e1 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/argo/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/argo/default.nix @@ -1,4 +1,4 @@ -{ stdenv, buildGoModule, buildGoPackage, fetchFromGitHub, Security }: +{ lib, buildGoModule, buildGoPackage, fetchFromGitHub }: let # Argo can package a static server in the CLI using the `staticfiles` go module. @@ -32,8 +32,6 @@ buildGoModule rec { subPackages = [ "cmd/argo" ]; - buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ]; - preBuild = '' mkdir -p ui/dist/app echo "Built without static files" > ui/dist/app/index.html @@ -41,9 +39,9 @@ buildGoModule rec { ${staticfiles}/bin/staticfiles -o server/static/files.go ui/dist/app ''; - meta = with stdenv.lib; { + meta = with lib; { description = "Container native workflow engine for Kubernetes"; - homepage = https://github.com/argoproj/argo; + homepage = "https://github.com/argoproj/argo"; license = licenses.asl20; maintainers = with maintainers; [ groodt ]; platforms = platforms.unix; diff --git a/nixpkgs/pkgs/applications/networking/cluster/argocd/default.nix b/nixpkgs/pkgs/applications/networking/cluster/argocd/default.nix index 51635292fa13..7f9ebda93c0a 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/argocd/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/argocd/default.nix @@ -1,4 +1,4 @@ -{ stdenv, buildGoModule, fetchFromGitHub, packr, Security }: +{ lib, buildGoModule, fetchFromGitHub, packr }: buildGoModule rec { pname = "argocd"; @@ -16,8 +16,6 @@ buildGoModule rec { nativeBuildInputs = [ packr ]; - buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ]; - patches = [ ./use-go-module.patch ]; buildFlagsArray = '' @@ -33,7 +31,7 @@ buildGoModule rec { packr ''; - meta = with stdenv.lib; { + meta = with lib; { description = "Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes"; homepage = "https://github.com/argoproj/argo"; license = licenses.asl20; diff --git a/nixpkgs/pkgs/applications/networking/cluster/atlantis/default.nix b/nixpkgs/pkgs/applications/networking/cluster/atlantis/default.nix index ce3a1730ae54..cb846060a3de 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/atlantis/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/atlantis/default.nix @@ -1,4 +1,4 @@ -{ stdenv, buildGoModule, fetchFromGitHub, Security }: +{ stdenv, buildGoModule, fetchFromGitHub }: buildGoModule rec { pname = "atlantis"; @@ -15,8 +15,6 @@ buildGoModule rec { subPackages = [ "." ]; - buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ]; - meta = with stdenv.lib; { homepage = "https://github.com/runatlantis/atlantis"; description = "Terraform Pull Request Automation"; diff --git a/nixpkgs/pkgs/applications/networking/cluster/chronos/default.nix b/nixpkgs/pkgs/applications/networking/cluster/chronos/default.nix index 78be19cd81e5..e2452b2b4411 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/chronos/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/chronos/default.nix @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - homepage = http://airbnb.github.io/chronos; + homepage = "http://airbnb.github.io/chronos"; license = licenses.asl20; description = "Fault tolerant job scheduler for Mesos which handles dependencies and ISO8601 based schedules"; maintainers = with maintainers; [ offline ]; diff --git a/nixpkgs/pkgs/applications/networking/cluster/click/default.nix b/nixpkgs/pkgs/applications/networking/cluster/click/default.nix index ef90c0cde321..2c0e73fb30db 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/click/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/click/default.nix @@ -19,7 +19,7 @@ buildRustPackage rec { meta = with stdenv.lib; { description = ''The "Command Line Interactive Controller for Kubernetes"''; - homepage = https://github.com/databricks/click; + homepage = "https://github.com/databricks/click"; license = [ licenses.asl20 ]; maintainers = [ maintainers.mbode ]; platforms = [ "x86_64-linux" "x86_64-darwin" ]; diff --git a/nixpkgs/pkgs/applications/networking/cluster/cni/default.nix b/nixpkgs/pkgs/applications/networking/cluster/cni/default.nix index 88dbd177da04..49d3aaa298de 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/cni/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/cni/default.nix @@ -1,21 +1,22 @@ -{ stdenv, fetchFromGitHub, buildGoPackage }: +{ lib, fetchFromGitHub, buildGoPackage }: buildGoPackage rec { pname = "cni"; - version = "0.7.0"; + version = "0.7.1"; src = fetchFromGitHub { owner = "containernetworking"; repo = pname; rev = "v${version}"; - sha256 = "15ad323dw44k82bfx9r8w5q2kn7jix60p9v4ciyzx2p5pip36wp8"; + sha256 = "02qn1br8164d99978acalisy1sx294g1axnii4yh1wji0fc735xz"; }; goPackagePath = "github.com/containernetworking/cni"; - meta = with stdenv.lib; { + + meta = with lib; { description = "Container Network Interface - networking for Linux containers"; license = licenses.asl20; - homepage = https://github.com/containernetworking/cni; + homepage = "https://github.com/containernetworking/cni"; maintainers = with maintainers; [ offline vdemeester ]; platforms = [ "x86_64-linux" ]; }; diff --git a/nixpkgs/pkgs/applications/networking/cluster/cni/plugins-deps.nix b/nixpkgs/pkgs/applications/networking/cluster/cni/plugins-deps.nix deleted file mode 100644 index a6bbd333be43..000000000000 --- a/nixpkgs/pkgs/applications/networking/cluster/cni/plugins-deps.nix +++ /dev/null @@ -1,210 +0,0 @@ -# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix) -[ - { - goPackagePath = "github.com/Microsoft/go-winio"; - fetch = { - type = "git"; - url = "https://github.com/Microsoft/go-winio"; - rev = "v0.4.11"; - sha256 = "14y1gryr3pb3zy09v2g8dh89m363rfd9sch0wgbabh531hfx72vn"; - }; - } - { - goPackagePath = "github.com/Microsoft/hcsshim"; - fetch = { - type = "git"; - url = "https://github.com/Microsoft/hcsshim"; - rev = "v0.7.4"; - sha256 = "0hky9p6xvkkx2jfkd4fy2d6iaikvlzalyw67gypyqyxygf2hsshg"; - }; - } - { - goPackagePath = "github.com/alexflint/go-filemutex"; - fetch = { - type = "git"; - url = "https://github.com/alexflint/go-filemutex"; - rev = "72bdc8eae2ae"; - sha256 = "082y6y9zv40q3kaqvsv6fyaw2fc42j0sn9z0dl9rbiz4szixj3c4"; - }; - } - { - goPackagePath = "github.com/buger/jsonparser"; - fetch = { - type = "git"; - url = "https://github.com/buger/jsonparser"; - rev = "f4dd9f5a6b44"; - sha256 = "12qa2n33s7yz88ywpr3k9kg3b4gm6rqgnv28iyikyxw8h5jascz5"; - }; - } - { - goPackagePath = "github.com/containernetworking/cni"; - fetch = { - type = "git"; - url = "https://github.com/containernetworking/cni"; - rev = "v0.7.0"; - sha256 = "15ad323dw44k82bfx9r8w5q2kn7jix60p9v4ciyzx2p5pip36wp8"; - }; - } - { - goPackagePath = "github.com/coreos/go-iptables"; - fetch = { - type = "git"; - url = "https://github.com/coreos/go-iptables"; - rev = "v0.4.1"; - sha256 = "0id1npqw3rd5rrkslf6i9yy6lpmd7l5qcglln38g85ylq7inysyi"; - }; - } - { - goPackagePath = "github.com/coreos/go-systemd"; - fetch = { - type = "git"; - url = "https://github.com/coreos/go-systemd"; - rev = "39ca1b05acc7"; - sha256 = "1kzqrrzqspa5qm7kwslxl3m16lqzns23c24rv474ajzwmj3ixmx1"; - }; - } - { - goPackagePath = "github.com/d2g/dhcp4"; - fetch = { - type = "git"; - url = "https://github.com/d2g/dhcp4"; - rev = "f0e4d29ff023"; - sha256 = "07gn9bjvnlfz2jv9wdq3gxxxm9lpwgrwk8z65072jdrz9rs9izpr"; - }; - } - { - goPackagePath = "github.com/d2g/dhcp4client"; - fetch = { - type = "git"; - url = "https://github.com/d2g/dhcp4client"; - rev = "bed07e1bc5b8"; - sha256 = "0kyjalv1kah7sk3i96abg71cgy5s9kzpff2zc7mwj69vicbj7mi3"; - }; - } - { - goPackagePath = "github.com/d2g/dhcp4server"; - fetch = { - type = "git"; - url = "https://github.com/d2g/dhcp4server"; - rev = "477b11cea4dc"; - sha256 = "010dpw6cxrsm6dm49w1q6qpz5xz3lbi5viz6wywxk49fxvnzmx9l"; - }; - } - { - goPackagePath = "github.com/godbus/dbus"; - fetch = { - type = "git"; - url = "https://github.com/godbus/dbus"; - rev = "885f9cc04c9c"; - sha256 = "0wjpaj4vr5lvpnwc5faf3qizd7zd2v9yq0fm0558wap1hiyqb8x8"; - }; - } - { - goPackagePath = "github.com/j-keck/arping"; - fetch = { - type = "git"; - url = "https://github.com/j-keck/arping"; - rev = "2cf9dc699c56"; - sha256 = "1bid8mpx3j4546ni0a6q5xyz7hb854g95qnxqmg5jzs9vrcird3c"; - }; - } - { - goPackagePath = "github.com/juju/errors"; - fetch = { - type = "git"; - url = "https://github.com/juju/errors"; - rev = "22422dad46e1"; - sha256 = "1766ys24y9qgngaqbx0g84lmh54b3369v8hk5fa1k8si2d34fxas"; - }; - } - { - goPackagePath = "github.com/mattn/go-shellwords"; - fetch = { - type = "git"; - url = "https://github.com/mattn/go-shellwords"; - rev = "v1.0.3"; - sha256 = "1pg7pl25wvpl2dbpyrv9p1r7prnqimxlf6136vn0dfm54j2x4mnr"; - }; - } - { - goPackagePath = "github.com/onsi/ginkgo"; - fetch = { - type = "git"; - url = "https://github.com/onsi/ginkgo"; - rev = "7f8ab55aaf3b"; - sha256 = "0nas6wqdym4jx42kw9wj80b58r69k9qhnvglz009lj34g5gba7rw"; - }; - } - { - goPackagePath = "github.com/onsi/gomega"; - fetch = { - type = "git"; - url = "https://github.com/onsi/gomega"; - rev = "2152b45fa28a"; - sha256 = "0amjlkawp84mmdqjgdamf93p1546cla6h4wwrx7hf5r862r2qcw2"; - }; - } - { - goPackagePath = "github.com/safchain/ethtool"; - fetch = { - type = "git"; - url = "https://github.com/safchain/ethtool"; - rev = "42ed695e3de8"; - sha256 = "0n5hkrzc1bh46nidcssx4539kvcmgj501v3kzh2pljpg27509daj"; - }; - } - { - goPackagePath = "github.com/sirupsen/logrus"; - fetch = { - type = "git"; - url = "https://github.com/sirupsen/logrus"; - rev = "v1.0.6"; - sha256 = "029irw2lsbqi944gdrbkwdw0m2794sqni4g21gsnmz142hbzds8c"; - }; - } - { - goPackagePath = "github.com/vishvananda/netlink"; - fetch = { - type = "git"; - url = "https://github.com/vishvananda/netlink"; - rev = "023a6dafdcdf"; - sha256 = "1i5q8r8rg7lxzvq2vhbf25lrkzdlgficfv0bxg9rf7cgg6z819sn"; - }; - } - { - goPackagePath = "github.com/vishvananda/netns"; - fetch = { - type = "git"; - url = "https://github.com/vishvananda/netns"; - rev = "13995c7128cc"; - sha256 = "1zk6w8158qi4niva5rijchbv9ixgmijsgqshh54wdaav4xrhjshn"; - }; - } - { - goPackagePath = "golang.org/x/crypto"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/crypto"; - rev = "7c1a557ab941"; - sha256 = "1f1q9mby8m7ws3gbj90v0prhnf4g2sgf74azmw31kzwd6azlar3m"; - }; - } - { - goPackagePath = "golang.org/x/net"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/net"; - rev = "49bb7cea24b1"; - sha256 = "111q4qm3hcjvzvyv9y5rz8ydnyg48rckcygxqy6gv63q618wz6gn"; - }; - } - { - goPackagePath = "golang.org/x/sys"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/sys"; - rev = "66b7b1311ac8"; - sha256 = "00ny4r2bbj6rz939iy9g699acqydq7rfi6r6awn25w9i2dld9m13"; - }; - } -] diff --git a/nixpkgs/pkgs/applications/networking/cluster/cni/plugins.nix b/nixpkgs/pkgs/applications/networking/cluster/cni/plugins.nix index 39c3b9f65072..9c6eec1a3363 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/cni/plugins.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/cni/plugins.nix @@ -1,24 +1,22 @@ -{ stdenv, lib, fetchFromGitHub, go, removeReferencesTo, buildGoPackage }: +{ lib, fetchFromGitHub, buildGoPackage }: + buildGoPackage rec { pname = "cni-plugins"; - version = "0.8.4"; + version = "0.8.5"; src = fetchFromGitHub { owner = "containernetworking"; repo = "plugins"; rev = "v${version}"; - sha256 = "02kz6y3klhbriybsskn4hmldwli28cycnp2klsm2x0y9c73iczdp"; + sha256 = "17c8pvpn0dpda6ah7irr9hhd8sk7mnm32zv72nc5pxg1xvfpaipi"; }; - goDeps = ./plugins-deps.nix; goPackagePath = "github.com/containernetworking/plugins"; + subPackages = [ - "plugins/meta/bandwidth" - "plugins/meta/firewall" - "plugins/meta/flannel" - "plugins/meta/portmap" - "plugins/meta/sbr" - "plugins/meta/tuning" + "plugins/ipam/dhcp" + "plugins/ipam/host-local" + "plugins/ipam/static" "plugins/main/bridge" "plugins/main/host-device" "plugins/main/ipvlan" @@ -26,13 +24,17 @@ buildGoPackage rec { "plugins/main/macvlan" "plugins/main/ptp" "plugins/main/vlan" - "plugins/ipam/dhcp" - "plugins/ipam/host-local" - "plugins/ipam/static" + "plugins/meta/bandwidth" + "plugins/meta/firewall" + "plugins/meta/flannel" + "plugins/meta/portmap" + "plugins/meta/sbr" + "plugins/meta/tuning" ]; + meta = with lib; { description = "Some standard networking plugins, maintained by the CNI team"; - homepage = https://github.com/containernetworking/plugins; + homepage = "https://github.com/containernetworking/plugins"; license = licenses.asl20; platforms = platforms.linux; maintainers = with maintainers; [ cstrahan saschagrunert ]; diff --git a/nixpkgs/pkgs/applications/networking/cluster/docker-machine/default.nix b/nixpkgs/pkgs/applications/networking/cluster/docker-machine/default.nix index 115dc3835fc5..321084260320 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/docker-machine/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/docker-machine/default.nix @@ -24,7 +24,7 @@ buildGoPackage rec { ''; meta = with stdenv.lib; { - homepage = https://docs.docker.com/machine/; + homepage = "https://docs.docker.com/machine/"; description = "Docker Machine is a tool that lets you install Docker Engine on virtual hosts, and manage Docker Engine on the hosts."; license = licenses.asl20; maintainers = with maintainers; [ offline tailhook ]; diff --git a/nixpkgs/pkgs/applications/networking/cluster/docker-machine/hyperkit.nix b/nixpkgs/pkgs/applications/networking/cluster/docker-machine/hyperkit.nix index 716e9da8b7e5..ba3b1e4d889b 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/docker-machine/hyperkit.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/docker-machine/hyperkit.nix @@ -13,7 +13,7 @@ buildGoModule rec { ''; meta = with lib; { - homepage = https://github.com/kubernetes/minikube/blob/master/docs/drivers.md; + homepage = "https://github.com/kubernetes/minikube/blob/master/docs/drivers.md"; description = "HyperKit driver for docker-machine."; license = licenses.asl20; maintainers = with maintainers; [ atkinschang ]; diff --git a/nixpkgs/pkgs/applications/networking/cluster/docker-machine/kvm.nix b/nixpkgs/pkgs/applications/networking/cluster/docker-machine/kvm.nix index de122dd2a5a2..9352ba69da88 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/docker-machine/kvm.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/docker-machine/kvm.nix @@ -19,7 +19,7 @@ buildGoPackage rec { buildInputs = [ libvirt ]; meta = with stdenv.lib; { - homepage = https://github.com/dhiltgen/docker-machine-kvm; + homepage = "https://github.com/dhiltgen/docker-machine-kvm"; description = "KVM driver for docker-machine."; license = licenses.asl20; maintainers = with maintainers; [ offline ]; diff --git a/nixpkgs/pkgs/applications/networking/cluster/docker-machine/kvm2.nix b/nixpkgs/pkgs/applications/networking/cluster/docker-machine/kvm2.nix index 609b7b02cbb4..6659b18b1bd2 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/docker-machine/kvm2.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/docker-machine/kvm2.nix @@ -13,7 +13,7 @@ buildGoModule rec { ''; meta = with lib; { - homepage = https://github.com/kubernetes/minikube/blob/master/docs/drivers.md; + homepage = "https://github.com/kubernetes/minikube/blob/master/docs/drivers.md"; description = "KVM2 driver for docker-machine."; license = licenses.asl20; maintainers = with maintainers; [ tadfisher atkinschang ]; diff --git a/nixpkgs/pkgs/applications/networking/cluster/docker-machine/xhyve.nix b/nixpkgs/pkgs/applications/networking/cluster/docker-machine/xhyve.nix index 1f1e59a56a4e..8c63a70b6d6e 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/docker-machine/xhyve.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/docker-machine/xhyve.nix @@ -30,7 +30,7 @@ buildGoPackage rec { buildInputs = [ Hypervisor vmnet ]; meta = with stdenv.lib; { - homepage = https://github.com/machine-drivers/docker-machine-driver-xhyve; + homepage = "https://github.com/machine-drivers/docker-machine-driver-xhyve"; description = "Xhyve driver for docker-machine."; license = licenses.bsd3; maintainers = with maintainers; [ periklis ]; diff --git a/nixpkgs/pkgs/applications/networking/cluster/flink/default.nix b/nixpkgs/pkgs/applications/networking/cluster/flink/default.nix index f8c73c65991c..3d418f9a47fb 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/flink/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/flink/default.nix @@ -44,11 +44,11 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "A distributed stream processing framework"; - homepage = https://flink.apache.org; - downloadPage = https://flink.apache.org/downloads.html; + homepage = "https://flink.apache.org"; + downloadPage = "https://flink.apache.org/downloads.html"; license = licenses.asl20; platforms = platforms.all; maintainers = with maintainers; [ mbode ]; - repositories.git = git://git.apache.org/flink.git; + repositories.git = "git://git.apache.org/flink.git"; }; } diff --git a/nixpkgs/pkgs/applications/networking/cluster/fluxctl/default.nix b/nixpkgs/pkgs/applications/networking/cluster/fluxctl/default.nix index 75e097131ea8..10991d47cca9 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/fluxctl/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/fluxctl/default.nix @@ -1,22 +1,22 @@ -{ stdenv, buildGoModule, fetchFromGitHub, Security }: +{ stdenv, buildGoModule, fetchFromGitHub }: buildGoModule rec { pname = "fluxctl"; - version = "1.18.0"; + version = "1.19.0"; src = fetchFromGitHub { owner = "weaveworks"; repo = "flux"; rev = version; - sha256 = "1sk82cnrj5ngcaml54rhh7ak8dg80r25623c4s8p7ybrj1m7krqj"; + sha256 = "1w6ndp0nrpps6pkxnq38hikbnzwahi6j9gn8l0bxd0qkf7cjc5w0"; }; - modSha256 = "0ij5q31a0818nmqsdql1ii6rhq6nb0liplnw509qih8py7dk5xkg"; - - buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ]; + modSha256 = "0zwq7n1lggj27j5yxgfplbaccw5fhbm7vm0sja839r1jamrn3ips"; subPackages = [ "cmd/fluxctl" ]; + buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ]; + meta = with stdenv.lib; { description = "CLI client for Flux, the GitOps Kubernetes operator"; homepage = "https://github.com/fluxcd/flux"; diff --git a/nixpkgs/pkgs/applications/networking/cluster/helm/default.nix b/nixpkgs/pkgs/applications/networking/cluster/helm/default.nix index 822df7656554..aee162ba6f22 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/helm/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/helm/default.nix @@ -1,4 +1,4 @@ -{ stdenv, buildGoModule, fetchFromGitHub, installShellFiles, Security }: +{ stdenv, buildGoModule, fetchFromGitHub, installShellFiles }: buildGoModule rec { pname = "helm"; @@ -16,9 +16,6 @@ buildGoModule rec { buildFlagsArray = [ "-ldflags=-w -s -X helm.sh/helm/v3/internal/version.version=v${version}" ]; nativeBuildInputs = [ installShellFiles ]; - - buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ]; - postInstall = '' $out/bin/helm completion bash > helm.bash $out/bin/helm completion zsh > helm.zsh @@ -26,7 +23,7 @@ buildGoModule rec { ''; meta = with stdenv.lib; { - homepage = https://github.com/kubernetes/helm; + homepage = "https://github.com/kubernetes/helm"; description = "A package manager for kubernetes"; license = licenses.asl20; maintainers = with maintainers; [ rlupton20 edude03 saschagrunert Frostman ]; diff --git a/nixpkgs/pkgs/applications/networking/cluster/helmfile/default.nix b/nixpkgs/pkgs/applications/networking/cluster/helmfile/default.nix index 2de07e9fdc7d..1318ff003de3 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/helmfile/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/helmfile/default.nix @@ -1,21 +1,23 @@ -{ stdenv, buildGoModule, fetchFromGitHub, makeWrapper, kubernetes-helm, Security }: +{ lib, buildGoModule, fetchFromGitHub, makeWrapper, kubernetes-helm, ... }: -buildGoModule rec { +let version = "0.106.3"; in + +buildGoModule { pname = "helmfile"; - version = "0.102.0"; + inherit version; src = fetchFromGitHub { owner = "roboll"; repo = "helmfile"; rev = "v${version}"; - sha256 = "0v7mhsnhswiqd62wrmkcpzsg9nfi6wvkh9danngs5rqjiz1zffhy"; + sha256 = "0pwkkgdcj9vx6nk574iaqwn074qfpgqd1c44d3kr3xdbac89yfyf"; }; - modSha256 = "0s7j7jbgr8gdc0s9dnl6zjwkpywqj05xyb7mkcank54kgrz0g5vq"; + goPackagePath = "github.com/roboll/helmfile"; - nativeBuildInputs = [ makeWrapper ]; + modSha256 = "1yv2b44qac0rms66v0qg13wsga0di6hwxa4dh2l0b1xvaf75ysay"; - buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ]; + nativeBuildInputs = [ makeWrapper ]; buildFlagsArray = '' -ldflags= @@ -24,14 +26,14 @@ buildGoModule rec { postInstall = '' wrapProgram $out/bin/helmfile \ - --prefix PATH : ${stdenv.lib.makeBinPath [ kubernetes-helm ]} + --prefix PATH : ${lib.makeBinPath [ kubernetes-helm ]} ''; - meta = with stdenv.lib; { + meta = { description = "Deploy Kubernetes Helm charts"; homepage = "https://github.com/roboll/helmfile"; - license = licenses.mit; - maintainers = with maintainers; [ pneumaticat yurrriq ]; - platforms = platforms.unix; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ pneumaticat yurrriq ]; + platforms = lib.platforms.unix; }; } diff --git a/nixpkgs/pkgs/applications/networking/cluster/heptio-ark/default.nix b/nixpkgs/pkgs/applications/networking/cluster/heptio-ark/default.nix index b9413577b104..21f4011f0706 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/heptio-ark/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/heptio-ark/default.nix @@ -17,7 +17,7 @@ buildGoPackage rec { meta = with stdenv.lib; { description = "A utility for managing disaster recovery, specifically for your Kubernetes cluster resources and persistent volumes"; - homepage = https://heptio.github.io/ark/; + homepage = "https://heptio.github.io/ark/"; license = licenses.asl20; maintainers = [maintainers.mbode]; platforms = platforms.unix; diff --git a/nixpkgs/pkgs/applications/networking/cluster/hetzner-kube/default.nix b/nixpkgs/pkgs/applications/networking/cluster/hetzner-kube/default.nix index 8a59bf3197a9..1d9940c8f318 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/hetzner-kube/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/hetzner-kube/default.nix @@ -1,4 +1,4 @@ -{ stdenv, buildGoModule, fetchFromGitHub, Security }: +{ lib, buildGoModule, fetchFromGitHub }: buildGoModule rec { pname = "hetzner-kube"; @@ -13,18 +13,16 @@ buildGoModule rec { modSha256 = "0jjrk93wdi13wrb5gchhqk7rgwm74kcizrbqsibgkgs2dszwfazh"; - buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ]; - buildFlagsArray = '' -ldflags= -X github.com/xetys/hetzner-kube/cmd.version=${version} ''; - meta = with stdenv.lib; { + meta = { description = "A CLI tool for provisioning Kubernetes clusters on Hetzner Cloud"; homepage = "https://github.com/xetys/hetzner-kube"; - license = licenses.asl20; - maintainers = with maintainers; [ eliasp ]; - platforms = platforms.unix; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ eliasp ]; + platforms = lib.platforms.unix; }; } diff --git a/nixpkgs/pkgs/applications/networking/cluster/jx/default.nix b/nixpkgs/pkgs/applications/networking/cluster/jx/default.nix index f817a68ced19..e2c0b663befa 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/jx/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/jx/default.nix @@ -1,4 +1,4 @@ -{ buildGoModule, fetchFromGitHub, stdenv, Security }: +{ buildGoModule, fetchFromGitHub, lib }: buildGoModule rec { name = "jx"; @@ -16,8 +16,6 @@ buildGoModule rec { ./3321-fix-location-of-thrift.patch ]; - buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ]; - modSha256 = "0ljf0c0c3pc12nmhdbrwflcaj6hs8igzjw5hi6fyhi6n9cy87vac"; subPackages = [ "cmd/jx" ]; @@ -28,9 +26,9 @@ buildGoModule rec { -X github.com/jenkins-x/jx/pkg/version.Revision=${version} ''; - meta = with stdenv.lib; { + meta = with lib; { description = "JX is a command line tool for installing and using Jenkins X."; - homepage = https://jenkins-x.io; + homepage = "https://jenkins-x.io"; longDescription = '' Jenkins X provides automated CI+CD for Kubernetes with Preview Environments on Pull Requests using Jenkins, Knative Build, Prow, diff --git a/nixpkgs/pkgs/applications/networking/cluster/k3s/default.nix b/nixpkgs/pkgs/applications/networking/cluster/k3s/default.nix new file mode 100644 index 000000000000..b18e1f08dd43 --- /dev/null +++ b/nixpkgs/pkgs/applications/networking/cluster/k3s/default.nix @@ -0,0 +1,235 @@ +{ stdenv, lib, makeWrapper, socat, iptables, iproute, bridge-utils +, conntrack-tools, buildGoPackage, git, runc, libseccomp, pkgconfig +, ethtool, utillinux, ipset, fetchFromGitHub, fetchurl, fetchzip +, fetchgit +}: + +with lib; + +# k3s is a kinda weird derivation. One of the main points of k3s is the +# simplicity of it being one binary that can perform several tasks. +# However, when you have a good package manager (like nix), that doesn't +# actually make much of a difference; you don't really care if it's one binary +# or 10 since with a good package manager, installing and running it is +# identical. +# Since upstream k3s packages itself as one large binary with several +# "personalities" (in the form of subcommands like 'k3s agent' and 'k3s +# kubectl'), it ends up being easiest to mostly mimic upstream packaging, with +# some exceptions. +# K3s also carries patches to some packages (such as containerd and cni +# plugins), so we intentionally use the k3s versions of those binaries for k3s, +# even if the upstream version of those binaries exist in nixpkgs already. In +# the end, that means we have a thick k3s binary that behaves like the upstream +# one for the most part. +# However, k3s also bundles several pieces of unpatched software, from the +# strongswan vpn software, to iptables, to socat, conntrack, busybox, etc. +# 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.17.3+k3s1"; # k3s git tag + traefikChartVersion = "1.81.0"; # taken from ./scripts/version.sh at the above k3s tag + k3sRootVersion = "0.3.0"; # taken from .s/cripts/version.sh at the above k3s tag + # bundled into the k3s binary + traefikChart = fetchurl { + url = "https://kubernetes-charts.storage.googleapis.com/traefik-${traefikChartVersion}.tgz"; + sha256 = "1aqpzgjlvqhil0g3angz94zd4xbl4iq0qmpjcy5aq1xv9qciwdi9"; + }; + # so, k3s is a complicated thing to package + # This derivation attempts to avoid including any random binaries from the + # internet. k3s-root is _mostly_ binaries built to be bundled in k3s (which + # we don't care about doing, we can add those as build or runtime + # dependencies using a real package manager). + # In addition to those binaries, it's also configuration though (right now + # mostly strongswan configuration), and k3s does use those files. + # As such, we download it in order to grab 'etc' and bundle it into the final + # k3s binary. + k3sRoot = fetchzip { + # Note: marked as apache 2.0 license + url = "https://github.com/rancher/k3s-root/releases/download/v${k3sRootVersion}/k3s-root-amd64.tar"; + sha256 = "12xafn5jivl8lqdcs25b28xrc4mf7yf1xif5np169nvvxgvmpdxp"; + stripRoot=false; + }; + k3sPlugins = buildGoPackage rec { + name = "k3s-cni-plugins"; + version = "0.7.6-k3s1"; # from ./scripts/version.sh 'VERSION_CNIPLUGINS'; update when k3s's repo is updated. + + goPackagePath = "github.com/containernetworking/plugins"; + subPackages = [ "." ]; + + src = fetchFromGitHub { + owner = "rancher"; + repo = "plugins"; + rev = "v${version}"; + sha256 = "0ax72z1ziann352bp6khfds8vlf3bbkqckrkpx4l4jxgqks45izs"; + }; + + meta = { + description = "CNI plugins, as patched by rancher for k3s"; + license = licenses.asl20; + homepage = "https://k3s.io"; + maintainers = [ maintainers.euank ]; + platforms = platforms.linux; + }; + }; + # Grab this separately from a build because it's used by both stages of the + # k3s build. + k3sRepo = fetchgit { + url = "https://github.com/rancher/k3s"; + rev = "v${k3sVersion}"; + leaveDotGit = true; # ./scripts/version.sh depends on git + sha256 = "0qahyc0mf9glxj49va6d20mcncqg4svfic2iz8b1lqid5c4g68mm"; + }; + # Stage 1 of the k3s build: + # Let's talk about how k3s is structured. + # One of the ideas of k3s is that there's the single "k3s" binary which can + # do everything you need, from running a k3s server, to being a worker node, + # to running kubectl. + # The way that actually works is that k3s is a single go binary that contains + # a bunch of bindata that it unpacks at runtime into directories (either the + # user's home directory or /var/lib/rancher if run as root). + # This bindata includes both binaries and configuration. + # In order to let nixpkgs do all its autostripping/patching/etc, we split this into two derivations. + # First, we build all the binaries that get packed into the thick k3s binary + # (and output them from one derivation so they'll all be suitably patched up). + # Then, we bundle those binaries into our thick k3s binary and use that as + # the final single output. + # This approach was chosen because it ensures the bundled binaries all are + # correctly built to run with nix (we can lean on the existing buildGoPackage + # stuff), and we can again lean on that tooling for the final k3s binary too. + # Other alternatives would be to manually run the + # strip/patchelf/remove-references step ourselves in the installPhase of the + # derivation when we've built all the binaries, but haven't bundled them in + # with generated bindata yet. + k3sBuildStage1 = buildGoPackage rec { + name = "k3s-build-1"; + version = "${k3sVersion}"; + + goPackagePath = "github.com/rancher/k3s"; + + src = k3sRepo; + + patches = [ ./patches/00-k3s.patch ]; + + nativeBuildInputs = [ git pkgconfig ]; + buildInputs = [ libseccomp ]; + + buildPhase = '' + pushd go/src/${goPackagePath} + + patchShebangs ./scripts/build ./scripts/version.sh + mkdir -p bin + ./scripts/build + + popd + ''; + + installPhase = '' + pushd go/src/${goPackagePath} + + mkdir -p "$bin/bin" + install -m 0755 -t "$bin/bin" ./bin/* + + popd + ''; + + meta = { + description = "The various binaries that get packaged into the final k3s binary."; + license = licenses.asl20; + homepage = "https://k3s.io"; + maintainers = [ maintainers.euank ]; + platforms = platforms.linux; + }; + }; + k3sBuild = buildGoPackage rec { + name = "k3s-build"; + version = "${k3sVersion}"; + + goPackagePath = "github.com/rancher/k3s"; + + src = k3sRepo; + + patches = [ ./patches/00-k3s.patch ]; + + nativeBuildInputs = [ git pkgconfig ]; + buildInputs = [ k3sBuildStage1 k3sPlugins runc ]; + + # In order to build the thick k3s binary (which is what + # ./scripts/package-cli does), we need to get all the binaries that script + # expects in place. + buildPhase = '' + pushd go/src/${goPackagePath} + + patchShebangs ./scripts/build ./scripts/version.sh ./scripts/package-cli + + mkdir -p bin + + install -m 0755 -t ./bin ${k3sBuildStage1}/bin/* + install -m 0755 -T "${k3sPlugins}/bin/plugins" ./bin/cni + # Note: use the already-nixpkgs-bundled k3s rather than the one bundled + # in k3s because the k3s one is completely unmodified from upstream + # (unlike containerd, cni, etc) + install -m 0755 -T "${runc}/bin/runc" ./bin/runc + cp -R "${k3sRoot}/etc" ./etc + mkdir -p "build/static/charts" + cp "${traefikChart}" "build/static/charts/traefik-${traefikChartVersion}.tgz" + + ./scripts/package-cli + + popd + ''; + + installPhase = '' + pushd go/src/${goPackagePath} + + mkdir -p "$bin/bin" + install -m 0755 -t "$bin/bin" ./dist/artifacts/k3s + + popd + ''; + + meta = { + description = "The k3s go binary which is used by the final wrapped output below."; + license = licenses.asl20; + homepage = "https://k3s.io"; + maintainers = [ maintainers.euank ]; + platforms = platforms.linux; + }; + }; +in +stdenv.mkDerivation rec { + name = "k3s"; + + # Important utilities used by the kubelet, see + # https://github.com/kubernetes/kubernetes/issues/26093#issuecomment-237202494 + # Note the list in that issue is stale and some aren't relevant for k3s. + k3sRuntimeDeps = [ + socat iptables iproute bridge-utils ethtool utillinux ipset conntrack-tools + ]; + + buildInputs = [ + k3sBuild makeWrapper + ] ++ k3sRuntimeDeps; + + unpackPhase = "true"; + + # And, one final derivation (you thought the last one was it, right?) + # We got the binary we wanted above, but it doesn't have all the runtime + # dependencies k8s wants, including mount utilities for kubelet, networking + # tools for cni/kubelet stuff, etc + # Use a wrapper script to reference all the binaries that k3s tries to + # execute, but that we didn't bundle with it. + installPhase = '' + mkdir -p "$out/bin" + makeWrapper ${k3sBuild}/bin/k3s "$out/bin/k3s" \ + --prefix PATH : ${lib.makeBinPath k3sRuntimeDeps} \ + --prefix PATH : "$out/bin" + ''; + + meta = { + description = "A lightweight Kubernetes distribution."; + license = licenses.asl20; + homepage = "https://k3s.io"; + maintainers = [ maintainers.euank ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/applications/networking/cluster/k3s/patches/00-k3s.patch b/nixpkgs/pkgs/applications/networking/cluster/k3s/patches/00-k3s.patch new file mode 100644 index 000000000000..afe2c356aa4d --- /dev/null +++ b/nixpkgs/pkgs/applications/networking/cluster/k3s/patches/00-k3s.patch @@ -0,0 +1,74 @@ +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 +diff --git a/scripts/build b/scripts/build +index 72d3c07ece..3e5455b262 100755 +--- a/scripts/build ++++ b/scripts/build +@@ -10,7 +10,8 @@ PKG_CONTAINERD="github.com/containerd/containerd" + PKG_RANCHER_CONTAINERD="github.com/rancher/containerd" + PKG_CRICTL="github.com/kubernetes-sigs/cri-tools" + +-buildDate=$(date -u '+%Y-%m-%dT%H:%M:%SZ') ++# Deterministic build date ++buildDate="$(date -d "$(git log -1 --format=%ai)" -u "+%Y-%m-%dT%H:%M:%SZ")" + + VENDOR_PREFIX="${PKG}/vendor/" + VERSIONFLAGS=" +@@ -82,17 +83,7 @@ cleanup() { + } + + INSTALLBIN=$(pwd)/bin +-if [ ! -x ${INSTALLBIN}/cni ]; then +-( +- echo Building cni +- TMPDIR=$(mktemp -d) +- trap cleanup EXIT +- WORKDIR=$TMPDIR/src/github.com/containernetworking/plugins +- git clone -b $VERSION_CNIPLUGINS https://github.com/rancher/plugins.git $WORKDIR +- cd $WORKDIR +- GOPATH=$TMPDIR CGO_ENABLED=0 go build -tags "$TAGS" -ldflags "$LDFLAGS $STATIC" -o $INSTALLBIN/cni +-) +-fi ++# skip building cni, use our separately built one + # echo Building agent + # CGO_ENABLED=1 go build -tags "$TAGS" -ldflags "$VERSIONFLAGS $LDFLAGS $STATIC" -o bin/k3s-agent ./cmd/agent/main.go + echo Building server +@@ -108,9 +99,8 @@ ln -s containerd ./bin/ctr + #CGO_ENABLED=1 go build -tags "$TAGS" -ldflags "$VERSIONFLAGS $LDFLAGS $STATIC_SQLITE" -o bin/ctr ./cmd/ctr/main.go + # echo Building containerd + # CGO_ENABLED=0 go build -tags "$TAGS" -ldflags "$VERSIONFLAGS $LDFLAGS $STATIC" -o bin/containerd ./cmd/containerd/ +-echo Building runc +-make EXTRA_LDFLAGS="-w -s" BUILDTAGS="apparmor seccomp" -C ./vendor/github.com/opencontainers/runc static +-cp -f ./vendor/github.com/opencontainers/runc/runc ./bin/runc ++ ++# skip building runc; use our packaged one + + echo Building containerd-shim + make -C ./vendor/github.com/containerd/containerd bin/containerd-shim +diff --git a/scripts/package-cli b/scripts/package-cli +index 4c66ce32df..6d1e0c03cb 100755 +--- a/scripts/package-cli ++++ b/scripts/package-cli +@@ -55,10 +55,10 @@ LDFLAGS=" + -X github.com/rancher/k3s/pkg/version.GitCommit=${COMMIT:0:8} + -w -s + " +-STATIC="-extldflags '-static'" + if [ "$DQLITE" = "true" ]; then + DQLITE_TAGS="dqlite" + fi +-CGO_ENABLED=0 go build -tags "$DQLITE_TAGS" -ldflags "$LDFLAGS $STATIC" -o ${CMD_NAME} ./cmd/k3s/main.go ++go build -tags "$DQLITE_TAGS" -ldflags "$LDFLAGS" -o ${CMD_NAME} ./cmd/k3s/main.go + +-./scripts/build-upload ${CMD_NAME} ${COMMIT} ++# for nixos, don't upload it ++# ./scripts/build-upload ${CMD_NAME} ${COMMIT} diff --git a/nixpkgs/pkgs/applications/networking/cluster/k9s/default.nix b/nixpkgs/pkgs/applications/networking/cluster/k9s/default.nix index 956d7b106b97..1cf76e1cff30 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/k9s/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/k9s/default.nix @@ -1,28 +1,24 @@ -{ stdenv, buildGoModule, fetchFromGitHub, Security }: +{ stdenv, buildGoModule, fetchFromGitHub }: buildGoModule rec { pname = "k9s"; - version = "0.17.7"; - # rev is the release commit, mainly for version command output - rev = "8fedc42304ce33df314664eb0c4ac73be59065af"; + version = "0.18.1"; src = fetchFromGitHub { owner = "derailed"; repo = "k9s"; rev = "v${version}"; - sha256 = "0bqx1ckk89vzmk6fmqmv03cbdvw0agwrqzywzw35b4n0di37x0nv"; + sha256 = "0a5x4yamvx2qlwngfvainbhplwp0hqwgvdqlj2jbrbz4hfhr1l59"; }; buildFlagsArray = '' -ldflags= -s -w -X github.com/derailed/k9s/cmd.version=${version} - -X github.com/derailed/k9s/cmd.commit=${rev} + -X github.com/derailed/k9s/cmd.commit=${src.rev} ''; - modSha256 = "06m4xgl29zx6zpqx630m9cm52wmljms9cvly5f4pqdb4zicq7n86"; - - buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ]; + modSha256 = "0wpf6iyq6p3a8azdkn17gdp01wq9khyzr1bab6qgvsnsnhnjzcky"; meta = with stdenv.lib; { description = "Kubernetes CLI To Manage Your Clusters In Style."; diff --git a/nixpkgs/pkgs/applications/networking/cluster/kanif/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kanif/default.nix index 52abc3189903..ebf98840ee2b 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/kanif/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/kanif/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { directories to several nodes ('kaput' command), and to gather several remote files or directories locally ('kaget' command). It relies on TakTuk for efficiency and scalability.''; - homepage = http://taktuk.gforge.inria.fr/kanif; + homepage = "http://taktuk.gforge.inria.fr/kanif"; license = stdenv.lib.licenses.gpl2; maintainers = [ stdenv.lib.maintainers.bzizou ]; platforms = stdenv.lib.platforms.linux; diff --git a/nixpkgs/pkgs/applications/networking/cluster/kontemplate/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kontemplate/default.nix index 359b289dbbcd..87ae71f6a48d 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/kontemplate/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/kontemplate/default.nix @@ -20,7 +20,7 @@ buildGoPackage rec { license = licenses.gpl3; maintainers = with maintainers; [ mbode tazjin ]; platforms = platforms.unix; - repositories.git = git://github.com/tazjin/kontemplate.git; + repositories.git = "git://github.com/tazjin/kontemplate.git"; longDescription = '' Kontemplate is a simple CLI tool that can take sets of diff --git a/nixpkgs/pkgs/applications/networking/cluster/kops/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kops/default.nix index 0e71e91fbc1e..a5f1806e5779 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/kops/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/kops/default.nix @@ -41,7 +41,7 @@ let meta = with stdenv.lib; { description = "Easiest way to get a production Kubernetes up and running"; - homepage = https://github.com/kubernetes/kops; + homepage = "https://github.com/kubernetes/kops"; license = licenses.asl20; maintainers = with maintainers; [ offline zimbatm kampka ]; platforms = platforms.unix; diff --git a/nixpkgs/pkgs/applications/networking/cluster/kubecfg/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubecfg/default.nix index 69d013e3f034..bf4ec9492157 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/kubecfg/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/kubecfg/default.nix @@ -17,7 +17,7 @@ buildGoPackage { meta = { description = "A tool for managing Kubernetes resources as code"; - homepage = https://github.com/bitnami/kubecfg; + homepage = "https://github.com/bitnami/kubecfg"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ benley ]; platforms = lib.platforms.unix; diff --git a/nixpkgs/pkgs/applications/networking/cluster/kubernetes/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubernetes/default.nix index 004e88ff44e4..3a91efd064cc 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/kubernetes/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/kubernetes/default.nix @@ -15,13 +15,13 @@ with lib; stdenv.mkDerivation rec { pname = "kubernetes"; - version = "1.17.3"; + version = "1.18.1"; src = fetchFromGitHub { owner = "kubernetes"; repo = "kubernetes"; rev = "v${version}"; - sha256 = "0caqczz8hrwqb8j94158hz6919i7c9v1v0zknh9m2zbbng4b1awi"; + sha256 = "1z109h0jqqfxvgyhmxsiggf6fb9kdrwvmv9wdi1n58n4yk65hvl6"; }; nativeBuildInputs = [ removeReferencesTo makeWrapper which go rsync go-bindata ]; @@ -72,7 +72,7 @@ stdenv.mkDerivation rec { meta = { description = "Production-Grade Container Scheduling and Management"; license = licenses.asl20; - homepage = https://kubernetes.io; + homepage = "https://kubernetes.io"; maintainers = with maintainers; [johanot offline saschagrunert]; platforms = platforms.unix; }; diff --git a/nixpkgs/pkgs/applications/networking/cluster/kubeseal/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubeseal/default.nix index 092cee5f7a27..ef87b67a3600 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/kubeseal/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/kubeseal/default.nix @@ -1,23 +1,21 @@ -{ stdenv, buildGoModule, fetchFromGitHub, Security }: +{ lib, buildGoModule, fetchFromGitHub }: buildGoModule rec { pname = "kubeseal"; - version = "0.10.0"; + version = "0.12.0"; src = fetchFromGitHub { owner = "bitnami-labs"; repo = "sealed-secrets"; rev = "v${version}"; - sha256 = "14ahb02p1gqcqbjz6mn3axw436b6bi4ygq5ckm85jzs28s4wrfsv"; + sha256 = "0z51iwdc4m0y8wyyx3mcvbzxlrgws7n5wkcd0g7nr73irnsld4lh"; }; - modSha256 = "04dmjyz3vi2l0dfpyy42lkp2fv1vlfkvblrxh1dvb37phrkd5lbd"; - - buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ]; + modSha256 = "029h0zr3fpzlsv9hf1d1x5j7aalxkcsyszsxjz8fqrhjafqc7zvq"; subPackages = [ "cmd/kubeseal" ]; - meta = with stdenv.lib; { + meta = with lib; { description = "A Kubernetes controller and tool for one-way encrypted Secrets"; homepage = "https://github.com/bitnami-labs/sealed-secrets"; license = licenses.asl20; diff --git a/nixpkgs/pkgs/applications/networking/cluster/kubetail/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubetail/default.nix index 779edad8de34..114c5f5af152 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/kubetail/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/kubetail/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { multiple pods into one stream. This is the same as running "kubectl logs -f " but for multiple pods. ''; - homepage = https://github.com/johanhaleby/kubetail; + homepage = "https://github.com/johanhaleby/kubetail"; license = licenses.asl20; maintainers = with maintainers; [ kalbasit ]; platforms = platforms.all; diff --git a/nixpkgs/pkgs/applications/networking/cluster/kubeval/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubeval/default.nix index 046052f78bef..569baf6000ad 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/kubeval/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/kubeval/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, buildGoModule, Security }: +{ stdenv, lib, fetchFromGitHub, buildGoModule, makeWrapper }: buildGoModule rec { pname = "kubeval"; @@ -13,11 +13,9 @@ buildGoModule rec { modSha256 = "0y9x44y3bchi8xg0a6jmp2rmi8dybkl6qlywb6nj1viab1s8dd4y"; - buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ]; - - meta = with stdenv.lib; { + meta = with lib; { description = "Validate your Kubernetes configuration files"; - homepage = https://github.com/instrumenta/kubeval; + homepage = "https://github.com/instrumenta/kubeval"; license = licenses.asl20; maintainers = with maintainers; [ nicknovitski ]; platforms = platforms.all; diff --git a/nixpkgs/pkgs/applications/networking/cluster/linkerd/default.nix b/nixpkgs/pkgs/applications/networking/cluster/linkerd/default.nix index d52b25c2e015..3d66a7c62f20 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/linkerd/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/linkerd/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, buildGoModule, Security }: +{ stdenv, fetchFromGitHub, buildGoModule }: buildGoModule { pname = "linkerd-unstablle"; @@ -13,13 +13,11 @@ buildGoModule { modSha256 = "0gahhywpcj16ww4l8s3wjwvavq24fpy258snhyf94ipy6lb797sl"; - buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ]; - subPackages = [ "cli/cmd" ]; meta = with stdenv.lib; { description = "A service mesh for Kubernetes and beyond."; - homepage = https://linkerd.io/; + homepage = "https://linkerd.io/"; license = licenses.asl20; maintainers = with maintainers; [ Gonzih ]; }; diff --git a/nixpkgs/pkgs/applications/networking/cluster/luigi/default.nix b/nixpkgs/pkgs/applications/networking/cluster/luigi/default.nix index af20be1b0da6..010d8cf4d215 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/luigi/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/luigi/default.nix @@ -18,7 +18,7 @@ python3Packages.buildPythonApplication rec { makeWrapperArgs = ["--prefix PYTHONPATH . :"]; meta = with lib; { - homepage = https://github.com/spotify/luigi; + homepage = "https://github.com/spotify/luigi"; description = "Python package that helps you build complex pipelines of batch jobs"; longDescription = '' Luigi handles dependency resolution, workflow management, visualization, diff --git a/nixpkgs/pkgs/applications/networking/cluster/marathon/default.nix b/nixpkgs/pkgs/applications/networking/cluster/marathon/default.nix index b7decc0c1413..df571f4cf869 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/marathon/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/marathon/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { ''; meta = with stdenv.lib; { - homepage = https://mesosphere.github.io/marathon; + homepage = "https://mesosphere.github.io/marathon"; description = "Cluster-wide init and control system for services in cgroups or Docker containers"; license = licenses.asl20; maintainers = with maintainers; [ kamilchm pradeepchhetri ]; diff --git a/nixpkgs/pkgs/applications/networking/cluster/mesos/default.nix b/nixpkgs/pkgs/applications/networking/cluster/mesos/default.nix index ec152fdc4648..ac1feee5d72b 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/mesos/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/mesos/default.nix @@ -258,5 +258,6 @@ in stdenv.mkDerivation rec { description = "A cluster manager that provides efficient resource isolation and sharing across distributed applications, or frameworks"; maintainers = with maintainers; [ cstrahan offline ]; platforms = platforms.unix; + broken = true; # Broken since 2019-10-22 (https://hydra.nixos.org/build/115475123) }; } diff --git a/nixpkgs/pkgs/applications/networking/cluster/minikube/default.nix b/nixpkgs/pkgs/applications/networking/cluster/minikube/default.nix index ebd78424f4af..d48a28f46a89 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/minikube/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/minikube/default.nix @@ -6,32 +6,28 @@ , go-bindata , libvirt , vmnet -, xpc -, libobjc -, Foundation -, IOKit }: buildGoModule rec { pname = "minikube"; - version = "1.8.1"; + version = "1.9.2"; # for -ldflags - commit = "cbda04cf6bbe65e987ae52bb393c10099ab62014"; + commit = "1b78a7b8a99ad6a3c62b8d22f57120d614d17935"; goPackagePath = "k8s.io/minikube"; subPackages = [ "cmd/minikube" ]; - modSha256 = "1wyz8aq291lx614ilqrcgzdc8rjxbd6v3rv1fy6r2m6snyysycfn"; + modSha256 = "1pxs6myszgma3rzz0nhfjbnylv6m0xzlinvmlg0c4ijvkkzxg3v5"; src = fetchFromGitHub { owner = "kubernetes"; repo = "minikube"; rev = "v${version}"; - sha256 = "1nf0n701rw3anp8j7k3f553ipqwpzzxci41zsi0il4l35dpln5g0"; + sha256 = "025v45427d885qkjjg7ig8fgrvjalnf1lajsj0cnbwbih2m69svg"; }; nativeBuildInputs = [ pkgconfig go-bindata makeWrapper ]; buildInputs = stdenv.lib.optionals stdenv.isLinux [ libvirt ] - ++ stdenv.lib.optionals stdenv.isDarwin [ vmnet xpc libobjc IOKit Foundation ]; + ++ stdenv.lib.optionals stdenv.isDarwin [ vmnet ]; preBuild = '' go-bindata -nomemcopy -o pkg/minikube/assets/assets.go -pkg assets deploy/addons/... @@ -62,7 +58,7 @@ buildGoModule rec { ''; meta = with stdenv.lib; { - homepage = https://github.com/kubernetes/minikube; + homepage = "https://github.com/kubernetes/minikube"; description = "A tool that makes it easy to run Kubernetes locally"; license = licenses.asl20; maintainers = with maintainers; [ ebzzry copumpkin vdemeester atkinschang ]; diff --git a/nixpkgs/pkgs/applications/networking/cluster/minishift/default.nix b/nixpkgs/pkgs/applications/networking/cluster/minishift/default.nix index 43e960d9403e..3dcfbf6fd7e3 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/minishift/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/minishift/default.nix @@ -59,7 +59,7 @@ in buildGoPackage rec { a single-node OpenShift cluster inside a VM. You can try out OpenShift or develop with it, day-to-day, on your local host. ''; - homepage = https://github.com/minishift/minishift; + homepage = "https://github.com/minishift/minishift"; maintainers = with maintainers; [ fpletz vdemeester ]; platforms = platforms.linux; license = licenses.asl20; diff --git a/nixpkgs/pkgs/applications/networking/cluster/node-problem-detector/default.nix b/nixpkgs/pkgs/applications/networking/cluster/node-problem-detector/default.nix new file mode 100644 index 000000000000..a7a98de6d39b --- /dev/null +++ b/nixpkgs/pkgs/applications/networking/cluster/node-problem-detector/default.nix @@ -0,0 +1,50 @@ +{ stdenv, buildGoModule, fetchFromGitHub, systemd }: + +buildGoModule rec { + pname = "node-problem-detector"; + version = "0.8.1"; + + src = fetchFromGitHub { + owner = "kubernetes"; + repo = pname; + rev = "v${version}"; + sha256 = "02avknglmkr9k933a64hkw0rjfxvyh4sc3x70p41b8q2g6vzv2gs"; + }; + + # Project upstream recommends building through vendoring + overrideModAttrs = (_: { + buildCommand = '' + echo "Skipping go.mod, using vendoring instead." && touch $out + ''; + }); + + modSha256 = "0ip26j2h11n1kgkz36rl4akv694yz65hr72q4kv4b3lxcbi65b3p"; + + # Optionally, a log counter binary can be created to parse journald logs. + # The binary is dynamically linked against systemd libraries, making it a + # Linux-only feature. See 'ENABLE_JOURNALD' upstream: + # https://github.com/kubernetes/node-problem-detector/blob/master/Makefile + subPackages = [ "cmd/nodeproblemdetector" ] ++ + stdenv.lib.optionals stdenv.isLinux [ "cmd/logcounter" ]; + + preBuild = '' + export CGO_ENABLED=${if stdenv.isLinux then "1" else "0"} + ''; + + buildInputs = stdenv.lib.optionals stdenv.isLinux [ systemd ]; + + buildFlags = "-mod vendor" + + stdenv.lib.optionalString stdenv.isLinux " -tags journald"; + + buildFlagsArray = [ + "-ldflags=" + "-X k8s.io/${pname}/pkg/version.version=v${version}" + ]; + + meta = with stdenv.lib; { + description = "Various problem detectors running on the Kubernetes nodes"; + homepage = "https://github.com/kubernetes/node-problem-detector"; + license = licenses.asl20; + maintainers = with maintainers; [ lbpdt ]; + }; +} diff --git a/nixpkgs/pkgs/applications/networking/cluster/nomad/default.nix b/nixpkgs/pkgs/applications/networking/cluster/nomad/default.nix index 6afbbf215a3f..829ea1000f06 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/nomad/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/nomad/default.nix @@ -2,7 +2,7 @@ buildGoPackage rec { pname = "nomad"; - version = "0.10.2"; + version = "0.11.0"; rev = "v${version}"; goPackagePath = "github.com/hashicorp/nomad"; @@ -12,7 +12,7 @@ buildGoPackage rec { owner = "hashicorp"; repo = pname; inherit rev; - sha256 = "1kv67rkqnxiz2dkmc1v1df6qx9j5j4h7cis00v2i15sl824g22jw"; + sha256 = "0jg7h52wlgd2aslx13fs97j3b8g5xfgil3p2jsc4j95l7lmqn7bv"; }; # ui: @@ -32,7 +32,7 @@ buildGoPackage rec { ''; meta = with stdenv.lib; { - homepage = https://www.nomadproject.io/; + homepage = "https://www.nomadproject.io/"; description = "A Distributed, Highly Available, Datacenter-Aware Scheduler"; platforms = platforms.unix; license = licenses.mpl20; diff --git a/nixpkgs/pkgs/applications/networking/cluster/openshift/default.nix b/nixpkgs/pkgs/applications/networking/cluster/openshift/default.nix index fb88dfdbb643..a9b0ed3fcb59 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/openshift/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/openshift/default.nix @@ -81,7 +81,7 @@ in buildGoPackage rec { meta = with stdenv.lib; { description = "Build, deploy, and manage your applications with Docker and Kubernetes"; license = licenses.asl20; - homepage = http://www.openshift.org; + homepage = "http://www.openshift.org"; maintainers = with maintainers; [offline bachp moretea]; platforms = platforms.unix; }; diff --git a/nixpkgs/pkgs/applications/networking/cluster/pachyderm/default.nix b/nixpkgs/pkgs/applications/networking/cluster/pachyderm/default.nix index de0bb015852c..65a4a1938430 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/pachyderm/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/pachyderm/default.nix @@ -17,7 +17,7 @@ buildGoPackage rec { meta = with lib; { description = "Containerized Data Analytics"; - homepage = https://github.com/pachyderm/pachyderm; + homepage = "https://github.com/pachyderm/pachyderm"; license = licenses.asl20; maintainers = with maintainers; [offline]; }; diff --git a/nixpkgs/pkgs/applications/networking/cluster/pig/default.nix b/nixpkgs/pkgs/applications/networking/cluster/pig/default.nix index 26c39f8cbe21..afcd736e629c 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/pig/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/pig/default.nix @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { ''; meta = with stdenv.lib; { - homepage = https://pig.apache.org/; + homepage = "https://pig.apache.org/"; description = "High-level language for Apache Hadoop"; license = licenses.asl20; diff --git a/nixpkgs/pkgs/applications/networking/cluster/prow/13918-fix-go-sum.patch b/nixpkgs/pkgs/applications/networking/cluster/prow/13918-fix-go-sum.patch deleted file mode 100644 index ae407727b9d4..000000000000 --- a/nixpkgs/pkgs/applications/networking/cluster/prow/13918-fix-go-sum.patch +++ /dev/null @@ -1,22 +0,0 @@ -From b0ab95b9664916618ebf5fe637b1bc4de4ba9a6e Mon Sep 17 00:00:00 2001 -From: "Wael M. Nasreddine" <wael.nasreddine@gmail.com> -Date: Wed, 14 Aug 2019 23:07:51 -0700 -Subject: [PATCH] fix the hash of gomodules.xyz/jsonpatch/v2 - ---- - go.sum | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/go.sum b/go.sum -index 6bb130b4d9b..b3f48a85d4a 100644 ---- a/go.sum -+++ b/go.sum -@@ -452,7 +452,7 @@ golang.org/x/tools v0.0.0-20190312170243-e65039ee4138 h1:H3uGjxCR/6Ds0Mjgyp7LMK8 - golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= - golang.org/x/tools v0.0.0-20190404132500-923d25813098 h1:MtqjsZmyGRgMmLUgxnmMJ6RYdvd2ib8ipiayHhqSxs4= - golang.org/x/tools v0.0.0-20190404132500-923d25813098/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= --gomodules.xyz/jsonpatch/v2 v2.0.0 h1:lHNQverf0+Gm1TbSbVIDWVXOhZ2FpZopxRqpr2uIjs4= -+gomodules.xyz/jsonpatch/v2 v2.0.0 h1:OyHbl+7IOECpPKfVK42oFr6N7+Y2dR+Jsb/IiDV3hOo= - gomodules.xyz/jsonpatch/v2 v2.0.0/go.mod h1:IhYNNY4jnS53ZnfE4PAmpKtDpTCj1JFXc+3mwe7XcUU= - google.golang.org/api v0.0.0-20180910000450-7ca32eb868bf/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= - google.golang.org/api v0.0.0-20181021000519-a2651947f503/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= diff --git a/nixpkgs/pkgs/applications/networking/cluster/prow/default.nix b/nixpkgs/pkgs/applications/networking/cluster/prow/default.nix index e3eb24b23746..0b2f798d35b4 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/prow/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/prow/default.nix @@ -1,62 +1,55 @@ -{ buildGoModule, fetchFromGitHub, stdenv, Security }: +{ buildGoModule, fetchFromGitHub, lib }: buildGoModule rec { pname = "prow-unstable"; - version = "2019-08-14"; - rev = "35a7744f5737bbc1c4e1256a9c9c5ad135c650e4"; + version = "2020-04-01"; + rev = "32e3b5ce7695fb622381421653db436cb57b47c5"; src = fetchFromGitHub { inherit rev; owner = "kubernetes"; repo = "test-infra"; - sha256 = "07kdlzrj59xyaa73vlx4s50fpg0brrkb0h0cyjgx81a0hsc7s03k"; + sha256 = "0mc3ynmbf3kidibdy8k3v3xjlvmxl8w7zm1z2m0skmhd0y4bpmk4"; }; - patches = [ - # https://github.com/kubernetes/test-infra/pull/13918 - ./13918-fix-go-sum.patch - ]; - - modSha256 = "06q1zvhm78k64aj475k1xl38h7nk83mysd0bja0wknja048ymgsq"; - - buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ]; + modSha256 = "1xajdg10a27icc7g1y3ym4pkgg64rp4afybbjlhbg3k3whir9xa1"; subPackages = [ - "./prow/cmd/admission" - "./prow/cmd/artifact-uploader" - "./prow/cmd/branchprotector" - "./prow/cmd/build" - "./prow/cmd/checkconfig" - "./prow/cmd/clonerefs" - "./prow/cmd/config-bootstrapper" - "./prow/cmd/crier" - "./prow/cmd/deck" - "./prow/cmd/entrypoint" - "./prow/cmd/gcsupload" - "./prow/cmd/gerrit" - "./prow/cmd/hook" - "./prow/cmd/horologium" - "./prow/cmd/initupload" - "./prow/cmd/jenkins-operator" - "./prow/cmd/mkbuild-cluster" - "./prow/cmd/mkpj" - "./prow/cmd/mkpod" - "./prow/cmd/peribolos" - "./prow/cmd/phaino" - "./prow/cmd/phony" - "./prow/cmd/pipeline" - "./prow/cmd/plank" - "./prow/cmd/sidecar" - "./prow/cmd/sinker" - "./prow/cmd/status-reconciler" - "./prow/cmd/sub" - "./prow/cmd/tackle" - "./prow/cmd/tide" - "./prow/cmd/tot" + "prow/cmd/admission" + "prow/cmd/branchprotector" + "prow/cmd/checkconfig" + "prow/cmd/clonerefs" + "prow/cmd/cm2kc" + "prow/cmd/config-bootstrapper" + "prow/cmd/crier" + "prow/cmd/deck" + "prow/cmd/entrypoint" + "prow/cmd/exporter" + "prow/cmd/gcsupload" + "prow/cmd/gerrit" + "prow/cmd/hook" + "prow/cmd/horologium" + "prow/cmd/initupload" + "prow/cmd/jenkins-operator" + "prow/cmd/mkbuild-cluster" + "prow/cmd/mkpj" + "prow/cmd/mkpod" + "prow/cmd/peribolos" + "prow/cmd/phaino" + "prow/cmd/phony" + "prow/cmd/pipeline" + "prow/cmd/plank" + "prow/cmd/sidecar" + "prow/cmd/sinker" + "prow/cmd/status-reconciler" + "prow/cmd/sub" + "prow/cmd/tackle" + "prow/cmd/tide" + "prow/cmd/tot" ]; - meta = with stdenv.lib; { + meta = with lib; { description = "Prow is a Kubernetes based CI/CD system"; longDescription = '' Prow is a Kubernetes based CI/CD system. Jobs can be triggered by various diff --git a/nixpkgs/pkgs/applications/networking/cluster/qbec/default.nix b/nixpkgs/pkgs/applications/networking/cluster/qbec/default.nix index 4e475320a613..53b421ec5521 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/qbec/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/qbec/default.nix @@ -1,21 +1,19 @@ -{ stdenv, buildGoModule, fetchFromGitHub, Security }: +{ lib, buildGoModule, fetchFromGitHub }: buildGoModule rec { pname = "qbec"; - version = "0.10.5"; + version = "0.11.0"; src = fetchFromGitHub { owner = "splunk"; repo = "qbec"; rev = "v${version}"; - sha256 = "0j0ybbv4ix864scmghy1lvr3rs2fbj49cva6x48kbwli4y447758"; + sha256 = "0krdfaha19wzi10rh0wfhki5nknbd5mndaxhrq7y9m840xy43d6d"; }; - modSha256 = "165zqmannlylkzaz9gkmcrlyx8rfhz70ahzhiks4ycgq1qxr0av9"; + modSha256 = "1wb15vrkb4ryvrjp68ygmadnf78s354106ya210pnmsbb53rbhaz"; - buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ]; - - meta = with stdenv.lib; { + meta = with lib; { description = "Configure kubernetes objects on multiple clusters using jsonnet https://qbec.io"; homepage = "https://github.com/splunk/qbec"; license = licenses.asl20; diff --git a/nixpkgs/pkgs/applications/networking/cluster/spark/default.nix b/nixpkgs/pkgs/applications/networking/cluster/spark/default.nix index b8d4b947e324..162585851d0c 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/spark/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/spark/default.nix @@ -54,6 +54,6 @@ stdenv.mkDerivation rec { license = stdenv.lib.licenses.asl20; platforms = stdenv.lib.platforms.all; maintainers = with maintainers; [ thoughtpolice offline kamilchm ]; - repositories.git = git://git.apache.org/spark.git; + repositories.git = "git://git.apache.org/spark.git"; }; } diff --git a/nixpkgs/pkgs/applications/networking/cluster/taktuk/default.nix b/nixpkgs/pkgs/applications/networking/cluster/taktuk/default.nix index 3423163f5902..a5a2ace2399b 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/taktuk/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/taktuk/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { network to transport commands and perform I/Os multiplexing. It doesn't require any specific software on the nodes thanks to a self-propagation algorithm.''; - homepage = http://taktuk.gforge.inria.fr/; + homepage = "http://taktuk.gforge.inria.fr/"; license = stdenv.lib.licenses.gpl2; maintainers = [ stdenv.lib.maintainers.bzizou ]; platforms = stdenv.lib.platforms.linux; diff --git a/nixpkgs/pkgs/applications/networking/cluster/terraform-docs/default.nix b/nixpkgs/pkgs/applications/networking/cluster/terraform-docs/default.nix index 606cd0370aa2..a5b6e7d2f5e7 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/terraform-docs/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/terraform-docs/default.nix @@ -1,7 +1,7 @@ { lib, buildGoPackage, fetchFromGitHub }: buildGoPackage rec { pname = "terraform-docs"; - version = "0.6.0"; + version = "0.9.1"; goPackagePath = "github.com/segmentio/${pname}"; @@ -9,7 +9,7 @@ buildGoPackage rec { owner = "segmentio"; repo = pname; rev = "v${version}"; - sha256 = "1p6prhjf82qnhf1zwl9h92j4ds5g383a6g9pwwnqbc3wdwy5zx7d"; + sha256 = "00sfzdqhf8g85m03r6mbzfas5vvc67iq7syb8ljcgxg8l1knxnjx"; }; preBuild = '' diff --git a/nixpkgs/pkgs/applications/networking/cluster/terraform-inventory/default.nix b/nixpkgs/pkgs/applications/networking/cluster/terraform-inventory/default.nix index 1bb8df88d010..38fbd1b42865 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/terraform-inventory/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/terraform-inventory/default.nix @@ -19,7 +19,7 @@ buildGoPackage rec { goDeps = ./deps.nix; meta = with stdenv.lib; { - homepage = https://github.com/adammck/terraform-inventory; + homepage = "https://github.com/adammck/terraform-inventory"; description = "Terraform state to ansible inventory adapter"; platforms = platforms.all; license = licenses.mit; diff --git a/nixpkgs/pkgs/applications/networking/cluster/terraform-landscape/Gemfile.lock b/nixpkgs/pkgs/applications/networking/cluster/terraform-landscape/Gemfile.lock index b801fad546df..7307d8a33f3c 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/terraform-landscape/Gemfile.lock +++ b/nixpkgs/pkgs/applications/networking/cluster/terraform-landscape/Gemfile.lock @@ -22,4 +22,4 @@ DEPENDENCIES terraform_landscape BUNDLED WITH - 1.16.3 + 2.1.4 diff --git a/nixpkgs/pkgs/applications/networking/cluster/terraform-landscape/default.nix b/nixpkgs/pkgs/applications/networking/cluster/terraform-landscape/default.nix index 32f6680b2f8b..903aa9abb6e2 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/terraform-landscape/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/terraform-landscape/default.nix @@ -10,7 +10,7 @@ bundlerApp { meta = with lib; { description = "Improve Terraform's plan output to be easier to read and understand"; - homepage = https://github.com/coinbase/terraform-landscape; + homepage = "https://github.com/coinbase/terraform-landscape"; license = with licenses; asl20; maintainers = with maintainers; [ mbode manveru nicknovitski ]; platforms = platforms.unix; diff --git a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/data.nix b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/data.nix index b78ab3f6ddaa..d07b6321cb2c 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/data.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/data.nix @@ -1,5 +1,13 @@ # Generated with ./update-all { + aci = + { + owner = "terraform-providers"; + repo = "terraform-provider-aci"; + rev = "v0.1.8"; + version = "0.1.8"; + sha256 = "14hya00ygz0khljjxwvkp6wbrbsavh2n8f26s2mjakph2havb8a3"; + }; acme = { owner = "terraform-providers"; @@ -8,17 +16,25 @@ version = "1.5.0"; sha256 = "1h53bgflchavnn4laf801d920bsgqqg0ph4slnf7y1fpb0mz5vdv"; }; + akamai = + { + owner = "terraform-providers"; + repo = "terraform-provider-akamai"; + rev = "v0.5.0"; + version = "0.5.0"; + sha256 = "18l1ik10pn4aq0911sqnfjw9a5zxrm0qbsgynvf5vxc02zds13n5"; + }; alicloud = { owner = "terraform-providers"; repo = "terraform-provider-alicloud"; - rev = "v1.70.1"; - version = "1.70.1"; - sha256 = "19bhnnw5gh4pqap8y23v57lyk27z7fw1wb4p0faj860kdf2zpq4j"; + rev = "v1.77.0"; + version = "1.77.0"; + sha256 = "0g8i8dmxzgkzylh2hh4fa9nq6x8bmxqaz0ly0f0cijb82lcbc3qf"; }; archive = { - owner = "terraform-providers"; + owner = "hashicorp"; repo = "terraform-provider-archive"; rev = "v1.3.0"; version = "1.3.0"; @@ -32,37 +48,53 @@ version = "1.1.0"; sha256 = "1akl9fzgm5qv01vz18xjzyqjnlxw699qq4x8vr96j16l1zf10h99"; }; - atlas = + auth0 = { owner = "terraform-providers"; - repo = "terraform-provider-atlas"; - rev = "v0.1.1"; - version = "0.1.1"; - sha256 = "0k73vv14vnjl5qm33w54s5zzi0mmk1kn2zs3qkfq71aqi9ml7d14"; + repo = "terraform-provider-auth0"; + rev = "v0.8.1"; + version = "0.8.1"; + sha256 = "0hfmbw76p99xa9jz2sjss56p4wzqqhnf9l9gqgyamywfrdd2bn57"; + }; + aviatrix = + { + owner = "terraform-providers"; + repo = "terraform-provider-aviatrix"; + rev = "v2.12.0"; + version = "2.12.0"; + sha256 = "01n3cqb5k8gd0cll3nqbdmnx3mi0scm57j0xpzhxnif14kpj15g6"; + }; + avi = + { + owner = "terraform-providers"; + repo = "terraform-provider-avi"; + rev = "v0.2.1"; + version = "0.2.1"; + sha256 = "1pyknx5maq1qxm4i2y69iz9c2ym3q3n0fd4hbwxcl83n39cb5iy6"; }; aws = { owner = "terraform-providers"; repo = "terraform-provider-aws"; - rev = "v2.45.0"; - version = "2.45.0"; - sha256 = "0416f32wy88zyagnwcf2flh1rh7i118b9h5qn8fwrm3sv43p3blm"; + rev = "v2.55.0"; + version = "2.55.0"; + sha256 = "0pxmwdy5cin0navva1nf3l02yrqqbg01xcq3hf8w0ch8fgr8mr25"; }; azuread = { owner = "terraform-providers"; repo = "terraform-provider-azuread"; - rev = "v0.7.0"; - version = "0.7.0"; - sha256 = "1a7w31dvjz5498445ia4m5gd1js3k7ghz6qqfq51f2n86iafs0xq"; + rev = "v0.8.0"; + version = "0.8.0"; + sha256 = "0vljhjbizxh5s8f2ki7yn6hzf5xbn5swhxmq9wpxmg7jw5z0k6ha"; }; azurerm = { owner = "terraform-providers"; repo = "terraform-provider-azurerm"; - rev = "v1.41.0"; - version = "1.41.0"; - sha256 = "0ma291m9d452wavjr3lgyik01r8napmwz91bbnbfzp1j48hhqc4h"; + rev = "v2.3.0"; + version = "2.3.0"; + sha256 = "195r6l0ddpjmmf947c1k5v0vdscnhsg2ilp6x7pna418pnx84y2d"; }; azurestack = { @@ -72,21 +104,29 @@ version = "0.9.0"; sha256 = "1msm7jwzry0vmas3l68h6p0migrsm6d18zpxcncv197m8xbvg324"; }; + baiducloud = + { + owner = "terraform-providers"; + repo = "terraform-provider-baiducloud"; + rev = "v1.1.0"; + version = "1.1.0"; + sha256 = "1va0b9vqfcv2nrqh8jwf80ylyl1x826jhb7h4ghnf18c144qm0i1"; + }; bigip = { owner = "terraform-providers"; repo = "terraform-provider-bigip"; - rev = "v1.1.1"; - version = "1.1.1"; - sha256 = "15rx25fbvdmgvg5n0qnq1hyfnr7l4nx8igdb4107g41fp73bxg32"; + rev = "v1.12"; + version = "1.12"; + sha256 = "0yjv0xldplx7jfld1izzc7i93bzwdqrjjzymq02isy2xyfh8by35"; }; bitbucket = { owner = "terraform-providers"; repo = "terraform-provider-bitbucket"; - rev = "v1.1.0"; - version = "1.1.0"; - sha256 = "06bjagbgpgfphwym015wl00wx6qf7lsdig0fhpxqaykvlkn3sg49"; + rev = "v1.2.0"; + version = "1.2.0"; + sha256 = "11n4wpvmaab164g6k077n9dbdbhd5lwl7pxpha5492ks468nd95b"; }; brightbox = { @@ -96,6 +136,14 @@ version = "1.2.0"; sha256 = "0s1b2k58r2kmjrdqrkw2dlfpby79i81gml9rpa10y372bwq314zd"; }; + checkpoint = + { + owner = "terraform-providers"; + repo = "terraform-provider-checkpoint"; + rev = "v1.0.1"; + version = "1.0.1"; + sha256 = "1z2m8lbnplcfaij1xnclyhl4zlchx6bmvrc2fr4hwfzc58m9v7ra"; + }; chef = { owner = "terraform-providers"; @@ -104,13 +152,21 @@ version = "0.2.0"; sha256 = "0ihn4706fflmf0585w22l7arzxsa9biq4cgh8nlhlp5y0zy934ns"; }; - circonus = + cherryservers = { owner = "terraform-providers"; - repo = "terraform-provider-circonus"; - rev = "v0.5.0"; - version = "0.5.0"; - sha256 = "0m6xbmgbismsmxnh79xb9p3mvy9aqdwvmsvifpxsbd73lki232mc"; + repo = "terraform-provider-cherryservers"; + rev = "v1.0.0"; + version = "1.0.0"; + sha256 = "1z6ai6q8aw38kiy8x13rp0dsvb4jk40cv8pk5c069q15m4jab8lh"; + }; + ciscoasa = + { + owner = "terraform-providers"; + repo = "terraform-provider-ciscoasa"; + rev = "v1.2.0"; + version = "1.2.0"; + sha256 = "033pgy42qwjpmjyzylpml7sfzd6dvvybs56cid1f6sm4ykmxbal7"; }; clc = { @@ -124,9 +180,9 @@ { owner = "terraform-providers"; repo = "terraform-provider-cloudflare"; - rev = "v2.3.0"; - version = "2.3.0"; - sha256 = "031xb0g1g74gc44nadbgrfn59hzjr5q0s98lgxrglsdm5mfgzdfr"; + rev = "v2.5.0"; + version = "2.5.0"; + sha256 = "1dqxn2iwbidmfb0850sicwqh4yp6ynarkl36lnr8nqw9lasvqr5a"; }; cloudscale = { @@ -156,25 +212,25 @@ { owner = "terraform-providers"; repo = "terraform-provider-consul"; - rev = "v2.6.1"; - version = "2.6.1"; - sha256 = "17lgfanz3by7wfrgqbwbsbxs46mrr8a1iyqkj38qc8xg0m6pg97v"; + rev = "v2.7.0"; + version = "2.7.0"; + sha256 = "11c54waq7w34l79ak4kizjkmh8zjca5ygh9yib691hdmxsx2cifj"; }; datadog = { owner = "terraform-providers"; repo = "terraform-provider-datadog"; - rev = "v2.6.0"; - version = "2.6.0"; - sha256 = "05ijf01sxdxrxc3ii68ha8b6x8pz025kfa51i91q42ldhf3kqhsz"; + rev = "v2.7.0"; + version = "2.7.0"; + sha256 = "0cq11cjcm2nlszqhsrj425mk8dp0h5ljrrn7jplrbffp8g6wvadd"; }; digitalocean = { owner = "terraform-providers"; repo = "terraform-provider-digitalocean"; - rev = "v1.12.0"; - version = "1.12.0"; - sha256 = "137p8q30pv28h5gfqag0i44dxbc1dbq239gnzbb4hkzgsqgrb9gp"; + rev = "v1.15.1"; + version = "1.15.1"; + sha256 = "0nld6lgz5vy8n4s0y0wpssrslp866rha2znli6pd5sw1nvi6yg0z"; }; dme = { @@ -184,29 +240,37 @@ version = "0.1.0"; sha256 = "1ipqw1sbx0i9rhxawsysrqxvf10z8ra2y86xwd4iz0f12x9drblv"; }; - dns = + dnsimple = { owner = "terraform-providers"; + repo = "terraform-provider-dnsimple"; + rev = "v0.3.0"; + version = "0.3.0"; + sha256 = "1m38whc6jx5mccaisnbnkawwlz1bxvy991rqy6h9xb10zyvqar62"; + }; + dns = + { + owner = "hashicorp"; repo = "terraform-provider-dns"; rev = "v2.2.0"; version = "2.2.0"; sha256 = "11xdxj6hfclaq9glbh14nihmrsk220crm9ld8bdv77w0bppmrrch"; }; - dnsimple = + docker = { owner = "terraform-providers"; - repo = "terraform-provider-dnsimple"; - rev = "v0.2.0"; - version = "0.2.0"; - sha256 = "0jj82fffqaz7gramj5d4avx7vka6w190yz4r9q7628qh8ih2pfhz"; + repo = "terraform-provider-docker"; + rev = "v2.7.0"; + version = "2.7.0"; + sha256 = "0pl515xjnic7mhfvqbml1z1win5mrhjdqb84jhd5n09j39lb24gx"; }; - docker = + dome9 = { owner = "terraform-providers"; - repo = "terraform-provider-docker"; - rev = "v2.6.0"; - version = "2.6.0"; - sha256 = "12qq7m75yxfczik78klqaimrzhp70m2vk5q0h3v8b2dwvvynj0dg"; + repo = "terraform-provider-dome9"; + rev = "v1.17.0"; + version = "1.17.0"; + sha256 = "123phc71rnb25lv9glybadhmr3pdsrbzl7xm6mj8j213a78qdmn5"; }; dyn = { @@ -216,9 +280,17 @@ version = "1.2.0"; sha256 = "1a3kxmbib2y0nl7gnxknbhsflj5kfknxnm3gjxxrb2h5d2kvqy48"; }; - external = + exoscale = { owner = "terraform-providers"; + repo = "terraform-provider-exoscale"; + rev = "v0.16.1"; + version = "0.16.1"; + sha256 = "0gs39nx12ws0ikal9zyqkyfiljbxbw0pj7llj9xsq96s7crvy6xr"; + }; + external = + { + owner = "hashicorp"; repo = "terraform-provider-external"; rev = "v1.2.0"; version = "1.2.0"; @@ -228,25 +300,41 @@ { owner = "terraform-providers"; repo = "terraform-provider-fastly"; - rev = "v0.12.1"; - version = "0.12.1"; - sha256 = "1bczp7rdbpmycbky9ijirfix2capw0hjai4c7w5hmm4wda5spwb1"; + rev = "v0.13.0"; + version = "0.13.0"; + sha256 = "0mcjmk21fil4q98p8v3qln7s2fqbdkjv1pvba0cf9v9d101dhhi9"; }; flexibleengine = { owner = "terraform-providers"; repo = "terraform-provider-flexibleengine"; - rev = "v1.10.0"; - version = "1.10.0"; - sha256 = "1ys1dd7knfk3hic6ph4gi7qsf75s2m5mxkil16p3f9ywvfxpzq8w"; + rev = "v1.11.1"; + version = "1.11.1"; + sha256 = "12kgnq2ydwi2n29y0dc7r251zrnq8kkskiq8p5ypsrm23j3jm6dw"; + }; + fortios = + { + owner = "terraform-providers"; + repo = "terraform-provider-fortios"; + rev = "v1.1.0"; + version = "1.1.0"; + sha256 = "0m006ah351f2ih7zvd3pnpga4d8mh42i4m8af4wflhvyzkw50xnf"; + }; + genymotion = + { + owner = "terraform-providers"; + repo = "terraform-provider-genymotion"; + rev = "v1.1.0"; + version = "1.1.0"; + sha256 = "02jpr3cm7rrf810c69sr6lcxzvxpnf7icc5z80gnvg67wwfg4ph4"; }; github = { owner = "terraform-providers"; repo = "terraform-provider-github"; - rev = "v2.3.0"; - version = "2.3.0"; - sha256 = "02fd6rq25ms9lpjqn4n1wy13i2mnl9lvczpgjqlz69yj2aiwyw34"; + rev = "v2.5.1"; + version = "2.5.1"; + sha256 = "1lqnwq5gsz34n6zzwajxrh0i1cbyicl4zxakr4fch7makri2fqwg"; }; gitlab = { @@ -256,21 +344,21 @@ version = "2.5.0"; sha256 = "1g7girhjks6p7rcs82p2zd8clp6kdfn6d1synlmfwiw6d3496fvf"; }; - google = + google-beta = { owner = "terraform-providers"; - repo = "terraform-provider-google"; - rev = "v3.5.0"; - version = "3.5.0"; - sha256 = "09mlic67940bnq5f8a7magn27k2jm8hvq3z0zh2cv6a9gdpg821i"; + repo = "terraform-provider-google-beta"; + rev = "v3.15.0"; + version = "3.15.0"; + sha256 = "1xncw82y48dcc464v2gzfmr94l3kgh9x2rlmpmmy6g4mihiwh38b"; }; - google-beta = + google = { owner = "terraform-providers"; - repo = "terraform-provider-google-beta"; - rev = "v3.5.0"; - version = "3.5.0"; - sha256 = "1qkfvvidvb2j76x095vprj2vm272lig38a8rbxsir2kkvkmnzv5l"; + repo = "terraform-provider-google"; + rev = "v3.15.0"; + version = "3.15.0"; + sha256 = "0vw7sndy441xn34kiv2k9hq9p9g649amh7bk91rf0f5p8cmyll1c"; }; grafana = { @@ -280,61 +368,77 @@ version = "1.5.0"; sha256 = "0zy3bqgpxymp2zygaxzllk1ysdankwxa1sy1djfgr4fs2nlggkwi"; }; + gridscale = + { + owner = "terraform-providers"; + repo = "terraform-provider-gridscale"; + rev = "v1.5.0"; + version = "1.5.0"; + sha256 = "05nzia9sa555k07gkhyyckdgn9n6a50w8l3id69rjq1jjh0pngd7"; + }; hcloud = { owner = "terraform-providers"; repo = "terraform-provider-hcloud"; - rev = "v1.15.0"; - version = "1.15.0"; - sha256 = "0l554mf6s248j0453b4r5pafshcvhn2smk4pp23y9kq5g1xd0xmd"; + rev = "v1.16.0"; + version = "1.16.0"; + sha256 = "09v2bg4ffyh4ibz449dygxgd7mvjgh4b2r242l3cwi7pzn66imrz"; }; hedvig = { owner = "terraform-providers"; repo = "terraform-provider-hedvig"; - rev = "v1.0.5"; - version = "1.0.5"; - sha256 = "0dic4kqjwi3s8pss1pmgixnr7xi503gl5i7pcx66fam5y5ar92v5"; + rev = "v1.1.1"; + version = "1.1.1"; + sha256 = "1gd26jm9frn52hy2vm5sv003lbai5sjgdign6akhjmw5sdsmfr05"; }; helm = { owner = "terraform-providers"; repo = "terraform-provider-helm"; - rev = "v0.10.4"; - version = "0.10.4"; - sha256 = "0xl0wgh1j6yhymadqvlj21qddxfzaxk3d5wpzskfmhfk732795rc"; + rev = "v1.1.1"; + version = "1.1.1"; + sha256 = "0sna0xaibdh1aw3lxs1r2hidw95lxkpm4fqdw0hzmdqxwdmg4b40"; }; heroku = { owner = "terraform-providers"; repo = "terraform-provider-heroku"; - rev = "v2.2.1"; - version = "2.2.1"; - sha256 = "145kfm4asca0ksprb076mjdhs5ahrlrad8cqz8spxra5fa3j46sq"; + rev = "v2.3.0"; + version = "2.3.0"; + sha256 = "1lv3l54fw6rgj2ixkz2dvaf3djj3slhrm0nlbza5c7zjb945igfq"; }; http = { - owner = "terraform-providers"; + owner = "hashicorp"; repo = "terraform-provider-http"; - rev = "v1.1.1"; - version = "1.1.1"; - sha256 = "0ah4wi9gm5m7z0wyy6vn3baz2iw2sq7ah7q0lb9srwr887aai3x0"; + rev = "v1.2.0"; + version = "1.2.0"; + sha256 = "0q8ichbqrq62q1j0rc7sdz1jzfwg2l9v4ac9jqf6y485dblhmwqd"; + }; + huaweicloudstack = + { + owner = "terraform-providers"; + repo = "terraform-provider-huaweicloudstack"; + rev = "v1.1.0"; + version = "1.1.0"; + sha256 = "1zzf7jbvdlccfbb4cmw2k3mlfj4hh0lv59zahq2zy8afiajsb68i"; }; huaweicloud = { owner = "terraform-providers"; repo = "terraform-provider-huaweicloud"; - rev = "v1.12.0"; - version = "1.12.0"; - sha256 = "1wcr1d9y6bnwjh6b0a49i566wyn0d8bjnxnpgmd4s6wmr9sc4l0b"; + rev = "v1.13.0"; + version = "1.13.0"; + sha256 = "1caix3lycqnd856z6c3zp9mmq3vr7rblwhhbkwn4rrcld8sv285j"; }; icinga2 = { owner = "terraform-providers"; repo = "terraform-provider-icinga2"; - rev = "v0.2.0"; - version = "0.2.0"; - sha256 = "02ladn2w75k35vn8llj3zh9hbpnnnvpm47c9f29zshfs04acwbq0"; + rev = "v0.3.0"; + version = "0.3.0"; + sha256 = "0xwjxb84glhp9viqykziwanj696w2prq4r7k0565k0w3qiaz440v"; }; ignition = { @@ -344,6 +448,14 @@ version = "1.2.1"; sha256 = "0wd29iw0a5w7ykgs9m1mmi0bw5z9dl4z640qyz64x8rlh5hl1wql"; }; + incapsula = + { + owner = "terraform-providers"; + repo = "terraform-provider-incapsula"; + rev = "v2.1.0"; + version = "2.1.0"; + sha256 = "12zw2m7j52rszfawywbiv9rgv976h1w6bp98012qn45d4ap2kvzy"; + }; influxdb = { owner = "terraform-providers"; @@ -352,13 +464,29 @@ version = "1.3.0"; sha256 = "19af40g8hgz2rdz6523v0fs71ww7qdlf2mh5j9vb7pfzriqwa5k9"; }; + jdcloud = + { + owner = "terraform-providers"; + repo = "terraform-provider-jdcloud"; + rev = "v1.1.0"; + version = "1.1.0"; + sha256 = "04vz0m3z9rfw2hp0h3jhn625r2v37b319krznvhqylqzksv39dzf"; + }; kubernetes = { owner = "terraform-providers"; repo = "terraform-provider-kubernetes"; - rev = "v1.10.0"; - version = "1.10.0"; - sha256 = "04hd9n9jm72fi81cmdz0yf374fg52r8yinsxy0ag29rd3r2l1k81"; + rev = "v1.11.1"; + version = "1.11.1"; + sha256 = "13m0g52i2z4s58grk22rv0yqbrfszfbxxhwisb5mi7cma4cp7506"; + }; + launchdarkly = + { + owner = "terraform-providers"; + repo = "terraform-provider-launchdarkly"; + rev = "v1.1.0"; + version = "1.1.0"; + sha256 = "1gj0srv8shn6qg109y1g42dx8dybkp3qrjn412bvs6f063ggk0zs"; }; librato = { @@ -372,13 +500,13 @@ { owner = "terraform-providers"; repo = "terraform-provider-linode"; - rev = "v1.9.1"; - version = "1.9.1"; - sha256 = "10f7nij91fhgf1808r6rv3l13nz7p37mcln5p3nfvhsxskss3vxn"; + rev = "v1.9.2"; + version = "1.9.2"; + sha256 = "1nrk8fi0fwkcm4csrppjwv7vd2ilpbj01dywak696nj8b15w176q"; }; local = { - owner = "terraform-providers"; + owner = "hashicorp"; repo = "terraform-provider-local"; rev = "v1.4.0"; version = "1.4.0"; @@ -396,9 +524,9 @@ { owner = "terraform-providers"; repo = "terraform-provider-logicmonitor"; - rev = "v1.2.1"; - version = "1.2.1"; - sha256 = "1fcv5g92l6xr4x69h9rg48zazjr99wrz9mkmr122fyq9s7kdd98y"; + rev = "v1.3.0"; + version = "1.3.0"; + sha256 = "00d8qx95cxaif636dyh935nv9nn6lmb1ybxy7n4myy9g80y50ap1"; }; mailgun = { @@ -408,6 +536,30 @@ version = "0.4.1"; sha256 = "1l76pg4hmww9zg2n4rkhm5dwjh42fxri6d41ih1bf670krkxwsmz"; }; + matchbox = + { + owner = "poseidon"; + repo = "terraform-provider-matchbox"; + rev = "v0.3.0"; + version = "0.3.0"; + sha256 = "1nq7k8qa7rv8xyryjigwpwcwvj1sw85c4j46rkfdv70b6js25jz3"; + }; + metalcloud = + { + owner = "terraform-providers"; + repo = "terraform-provider-metalcloud"; + rev = "v2.2.0"; + version = "2.2.0"; + sha256 = "0xii9gk96srzi9y4pbvlx2cvwypll4igvk89f9qrg18qrw72ags3"; + }; + mongodbatlas = + { + owner = "terraform-providers"; + repo = "terraform-provider-mongodbatlas"; + rev = "v0.4.2"; + version = "0.4.2"; + sha256 = "0cb8dh7bwz9yzyhz8v9j6ksi4dgmmz8d1qpm7234rj36ccirnjmz"; + }; mysql = { owner = "terraform-providers"; @@ -416,49 +568,65 @@ version = "1.9.0"; sha256 = "14gxxki3jhncv3s2x828ns2vgmf2xxzigdyp9b54mbkw5rnv1k2g"; }; + ncloud = + { + owner = "terraform-providers"; + repo = "terraform-provider-ncloud"; + rev = "v1.2.0"; + version = "1.2.0"; + sha256 = "1h2fr0ss58dr3ypqj6kw90iyji6s83sz2i85vhs5z2adjbk7h8va"; + }; netlify = { owner = "terraform-providers"; repo = "terraform-provider-netlify"; - rev = "v0.3.0"; - version = "0.3.0"; - sha256 = "0mmbli6d3fbpyvvdfsg32f1w83g8ga3x21b36rgmx3mn156r7yij"; + rev = "v0.4.0"; + version = "0.4.0"; + sha256 = "07xds84k2vgpvn2cy3id7hmzg57sz2603zs4msn3ysxmi28lmqyg"; }; newrelic = { owner = "terraform-providers"; repo = "terraform-provider-newrelic"; - rev = "v1.12.1"; - version = "1.12.1"; - sha256 = "17xdwhiyzfjxirvjwwl5jnan84i3zd930zch8l4jx04946vjzsc5"; + rev = "v1.16.0"; + version = "1.16.0"; + sha256 = "0ddfffyrw28syg0y2q9j7xh4k2sjb8l40167rwgz19w39p1caffv"; + }; + nixos = + { + owner = "tweag"; + repo = "terraform-provider-nixos"; + rev = "v0.0.1"; + version = "0.0.1"; + sha256 = "00vz6qjq1pk39iqg4356b8g3c6slla9jifkv2knk46gc9q93q0lf"; }; nomad = { owner = "terraform-providers"; repo = "terraform-provider-nomad"; - rev = "v1.4.2"; - version = "1.4.2"; - sha256 = "0h0snkzqdi4g5lp78f5pq98x6556ldwgkg9p9jkmrg04y7928w5v"; + rev = "v1.4.4"; + version = "1.4.4"; + sha256 = "05029s8h8vx7pl0y3d9cd5nlww3483caxhwkbrmk0vs7zdgxk8ns"; }; ns1 = { owner = "terraform-providers"; repo = "terraform-provider-ns1"; - rev = "v1.6.4"; - version = "1.6.4"; - sha256 = "08wg5qlqj7id5gfwxckjyx1ypfkiq919vjzq8qsdayg9sr9dpf5i"; + rev = "v1.8.0"; + version = "1.8.0"; + sha256 = "1h1pqrj11wdi0fnrrh2mkwahi59jl2vd8affy4acx7kny4n92s49"; }; nsxt = { owner = "terraform-providers"; repo = "terraform-provider-nsxt"; - rev = "v1.1.2"; - version = "1.1.2"; - sha256 = "1hnxivad7371j363sp3460mfzl5alb3dhxsbp0qwfl5mzvriwrbl"; + rev = "v2.0.0"; + version = "2.0.0"; + sha256 = "0fka793r0c06sz8vlxk0z7vbm6kab5xzk39r5pznkq34004r17sl"; }; null = { - owner = "terraform-providers"; + owner = "hashicorp"; repo = "terraform-provider-null"; rev = "v2.1.2"; version = "2.1.2"; @@ -476,9 +644,25 @@ { owner = "terraform-providers"; repo = "terraform-provider-oci"; - rev = "v3.59.0-rc1"; - version = "3.59.0-rc1"; - sha256 = "1pgl95rmxk9h9whbkfgpzpbvvkhnm3223flqk73w673ylgrxss49"; + rev = "v3.69.0"; + version = "3.69.0"; + sha256 = "17vndv6bpa9ajs7llnf64bb482b15virbv311d3ds5lrva4vvrv8"; + }; + oktaasa = + { + owner = "terraform-providers"; + repo = "terraform-provider-oktaasa"; + rev = "v1.0.0"; + version = "1.0.0"; + sha256 = "093d5r8dz8gryk8qp5var2qrrgkvs1gwgw3zqpxry9xc5cpn30w0"; + }; + okta = + { + owner = "terraform-providers"; + repo = "terraform-provider-okta"; + rev = "v3.1.1"; + version = "3.1.1"; + sha256 = "1hky6hqrfyl2gj1lykb7gazj9awjgsxhc028558whm5rysx2wpsr"; }; oneandone = { @@ -496,29 +680,37 @@ version = "1.3.7"; sha256 = "01g09w8mqfp1d8phplsdj0vz63q5bgq9fqwy2kp4vrnwb70dq52w"; }; + opennebula = + { + owner = "terraform-providers"; + repo = "terraform-provider-opennebula"; + rev = "v0.1.1"; + version = "0.1.1"; + sha256 = "048cqd89fz5xpji1w8ylg75nbzzcx1c5n89y1k0ra8d3g2208yb2"; + }; openstack = { owner = "terraform-providers"; repo = "terraform-provider-openstack"; - rev = "v1.25.0"; - version = "1.25.0"; - sha256 = "1yqc7nhmzlcq48csn23ma3fv6yb6cmkqqrxv63jjg6bxb7nyyqxd"; + rev = "v1.26.0"; + version = "1.26.0"; + sha256 = "1vsvzs8112vbi0x99yg6niw0wr55p09x7cg85qwjd0r42gpfdfq2"; }; opentelekomcloud = { owner = "terraform-providers"; repo = "terraform-provider-opentelekomcloud"; - rev = "v1.15.0"; - version = "1.15.0"; - sha256 = "080lzs40m3vny5bmg4vhsy7qz884c44ysmh325hi6s3v76dv4jxg"; + rev = "v1.16.0"; + version = "1.16.0"; + sha256 = "1bxkh8qnm1mw37wi4rxf29q8lksp864124nwbyn14fwb4h6m1yj4"; }; opsgenie = { owner = "terraform-providers"; repo = "terraform-provider-opsgenie"; - rev = "v0.2.7"; - version = "0.2.7"; - sha256 = "0yylf5iv1dba9naqys65l5whym3q0bwpn98dwxr0lyj0skr8nz7r"; + rev = "v0.2.9"; + version = "0.2.9"; + sha256 = "13y6awnm9j5qzq1bcmhg7ngzvx43h2dw9wmzdfi1xcpmv1ldvwpi"; }; oraclepaas = { @@ -532,25 +724,25 @@ { owner = "terraform-providers"; repo = "terraform-provider-ovh"; - rev = "v0.6.0"; - version = "0.6.0"; - sha256 = "0hj029q9j2751hnay0rh0c8yxgmv2wd6xjwi12gkj6k6rmpgqfdh"; + rev = "v0.7.0"; + version = "0.7.0"; + sha256 = "167msjsl8xh8zy7lrxvkq2h98xpvxpsjzlil8lcxqmz8qq8a0q5f"; }; packet = { owner = "terraform-providers"; repo = "terraform-provider-packet"; - rev = "v2.7.3"; - version = "2.7.3"; - sha256 = "1dd9fa416crh5y61qyaj2l0jhn1kh0ndkzqdw3lsxjqdhcqppbns"; + rev = "v2.8.0"; + version = "2.8.0"; + sha256 = "1qnjla347hll0fav0ngnifblk6slbmh1klnm7k9jv327jmv92hz5"; }; pagerduty = { owner = "terraform-providers"; repo = "terraform-provider-pagerduty"; - rev = "v1.4.1"; - version = "1.4.1"; - sha256 = "0dmafnlziyczad907isjqzsn1fyjzc8pdigp3m6114bbnca0ry5k"; + rev = "v1.5.1"; + version = "1.5.1"; + sha256 = "12n12sx1qxckqklcaphzr0j9bcwzrl6p8qzdc3d2csiqccqrpdas"; }; panos = { @@ -560,13 +752,21 @@ version = "1.6.2"; sha256 = "1qy6jynv61zhvq16s8jkwjhxz7r65cmk9k37ahh07pbhdx707mz5"; }; + pass = + { + owner = "camptocamp"; + repo = "terraform-provider-pass"; + rev = "1.2.1"; + version = "1.2.1"; + sha256 = "1hf5mvgz5ycp7shiy8px205d9kwswfjmclg7mlh9a55bkraffahk"; + }; postgresql = { owner = "terraform-providers"; repo = "terraform-provider-postgresql"; - rev = "v1.4.0"; - version = "1.4.0"; - sha256 = "162j6dyrbc9r4ipj6igj64wm6r65l4vb0dlwczfhlksix3qzr3kx"; + rev = "v1.5.0"; + version = "1.5.0"; + sha256 = "1c9vn1jpfan04iidzn030q21bz3xabrd5pdhlbblblf558ykn4q0"; }; powerdns = { @@ -584,13 +784,29 @@ version = "1.4.4"; sha256 = "0pzcl3pdhaykihvv1v38zrv607mydchvkzrzhwcakgmdkp3vq54i"; }; + pureport = + { + owner = "terraform-providers"; + repo = "terraform-provider-pureport"; + rev = "v1.1.8"; + version = "1.1.8"; + sha256 = "02vmqwjz5m5hj4zghwicjp27dxvc4qsiwj4gjsi66w6djdqnh4h1"; + }; rabbitmq = { owner = "terraform-providers"; repo = "terraform-provider-rabbitmq"; - rev = "v1.2.0"; - version = "1.2.0"; - sha256 = "1lhra8dvfyi6gn4s8mjd3lkkj6bz8y7xjhw1ki2kl5vpfw79d4l9"; + rev = "v1.3.0"; + version = "1.3.0"; + sha256 = "1adkbfm0p7a9i1i53bdmb34g5871rklgqkx7kzmwmk4fvv89n6g8"; + }; + rancher2 = + { + owner = "terraform-providers"; + repo = "terraform-provider-rancher2"; + rev = "v1.8.1"; + version = "1.8.1"; + sha256 = "15pvz1sd1x932yxdp7d679vax3dw56bfhp3422vxqsgmdgscwg1s"; }; rancher = { @@ -602,7 +818,7 @@ }; random = { - owner = "terraform-providers"; + owner = "hashicorp"; repo = "terraform-provider-random"; rev = "v2.2.1"; version = "2.2.1"; @@ -636,25 +852,49 @@ { owner = "terraform-providers"; repo = "terraform-provider-scaleway"; - rev = "v1.13.0"; - version = "1.13.0"; - sha256 = "085wv59cfsaac2373gn783lknzp4qmgnrgi2yl1g27znm4b940i7"; + rev = "v1.14.0"; + version = "1.14.0"; + sha256 = "0j428pinwyyldg1jhlkad32213z98q3891yv906d6n7jg2bk5m6a"; + }; + secret = + { + owner = "tweag"; + repo = "terraform-provider-secret"; + rev = "v1.1.0"; + version = "1.1.0"; + sha256 = "09gv0fpsrxzgna0xrhrdk8d4va9s0gvdbz596r306qxb4mip4w3r"; + }; + segment = + { + owner = "ajbosco"; + repo = "terraform-provider-segment"; + rev = "v0.2.0"; + version = "0.2.0"; + sha256 = "0ic5b9djhnb1bs2bz3zdprgy3r55dng09xgc4d9l9fyp85g2amaz"; }; selectel = { owner = "terraform-providers"; repo = "terraform-provider-selectel"; - rev = "v3.0.0"; - version = "3.0.0"; - sha256 = "0fr97j85inaqvdqmlfk3xcq73zvncn001nsd03pp2ws30qqa8p7r"; + rev = "v3.1.0"; + version = "3.1.0"; + sha256 = "1ajhnjlx4bf91z04cp8245j3h2h9c30ajf934zr29jvwli0y3piw"; + }; + signalfx = + { + owner = "terraform-providers"; + repo = "terraform-provider-signalfx"; + rev = "v4.18.6"; + version = "4.18.6"; + sha256 = "1xjajkvkcksz0dnawjb3hv14ysp140g0vdj5warshafz8hjbys17"; }; skytap = { owner = "terraform-providers"; repo = "terraform-provider-skytap"; - rev = "v0.13.0"; - version = "0.13.0"; - sha256 = "1why3ipi5a7whf18z87f97lbzdj020hfp8gxpgzl0nwpzpwkhdz3"; + rev = "v0.14.0"; + version = "0.14.0"; + sha256 = "01cscykfw5qilf5rlvh7y2l3bqbv8f180ssqw7zqzyr9p4m6511l"; }; softlayer = { @@ -668,9 +908,17 @@ { owner = "terraform-providers"; repo = "terraform-provider-spotinst"; - rev = "v1.13.4"; - version = "1.13.4"; - sha256 = "063lhm065y6qh9b2k11qjnqyfg5zrx6wa3bqrm7d1dqcha1i6d9f"; + rev = "v1.14.3"; + version = "1.14.3"; + sha256 = "06brm0bvr13f31km55y8bp4z1xj3imfi11k7l5nirjp73cbvcpmg"; + }; + stackpath = + { + owner = "terraform-providers"; + repo = "terraform-provider-stackpath"; + rev = "v1.3.0"; + version = "1.3.0"; + sha256 = "0gsr903v6fngaxm2r5h53g9yc3jpx2zccqq07rhzm9jbsfb6rlzn"; }; statuscake = { @@ -690,7 +938,7 @@ }; template = { - owner = "terraform-providers"; + owner = "hashicorp"; repo = "terraform-provider-template"; rev = "v2.1.2"; version = "2.1.2"; @@ -700,9 +948,9 @@ { owner = "terraform-providers"; repo = "terraform-provider-tencentcloud"; - rev = "v1.30.1"; - version = "1.30.1"; - sha256 = "0gy7c3w217yzysv9hyrsw3q452g0iba9z72iijyfwcqm79gw3208"; + rev = "v1.30.7"; + version = "1.30.7"; + sha256 = "0d7byng63sxbgn8f5r92lkcaqvq3r0plm619h63f47h6z6z8xarc"; }; terraform = { @@ -716,13 +964,13 @@ { owner = "terraform-providers"; repo = "terraform-provider-tfe"; - rev = "v0.11.4"; - version = "0.11.4"; - sha256 = "0ls5736cwshj3z1wgpbcma6bml9p45k5g7hm530bmqdxsamxfj1m"; + rev = "v0.15.1"; + version = "0.15.1"; + sha256 = "0372yjifsr4kvbc36hzhzf6ajlg6wy1r2x94p67m7rgr2fw061n2"; }; tls = { - owner = "terraform-providers"; + owner = "hashicorp"; repo = "terraform-provider-tls"; rev = "v2.1.1"; version = "2.1.1"; @@ -740,9 +988,9 @@ { owner = "terraform-providers"; repo = "terraform-provider-ucloud"; - rev = "v1.15.1"; - version = "1.15.1"; - sha256 = "1djlpjig8y6x149r6f21x7y3p49fjvrxx7pbs2fpsyv437zff9vj"; + rev = "v1.17.0"; + version = "1.17.0"; + sha256 = "0dpy3bkrm20sk4zpkikas5c8ygl0zf9v6cnd34iblw1m41f44n7v"; }; ultradns = { @@ -756,57 +1004,57 @@ { owner = "terraform-providers"; repo = "terraform-provider-vault"; - rev = "v2.7.1"; - version = "2.7.1"; - sha256 = "1lvpgdyi8qk1bvz9i1wml22mmm5ga8kf413xmpj966wvxqsgw6z5"; + rev = "v2.9.0"; + version = "2.9.0"; + sha256 = "0a1jkwxz45qcbnd91im0xz948k197zal78n6y45bwcbqnil32yiy"; }; vcd = { owner = "terraform-providers"; repo = "terraform-provider-vcd"; - rev = "v2.6.0"; - version = "2.6.0"; - sha256 = "0f7c5l05h0xcq51yaqpx1v3lg4wmysszayysvcspipiwzrhx5cmg"; + rev = "v2.7.0"; + version = "2.7.0"; + sha256 = "0bh8hqxpy6722q1v9cnpvn8fqwh5llzz1aavrbsib5brgjc8vqmy"; }; - vsphere = + venafi = { owner = "terraform-providers"; - repo = "terraform-provider-vsphere"; - rev = "v1.15.0"; - version = "1.15.0"; - sha256 = "1hxzxkqphm00gp0d1s32xn0knxgf5vg05nq68ba3q27wpx4ipanl"; + repo = "terraform-provider-venafi"; + rev = "v0.9.2"; + version = "0.9.2"; + sha256 = "06nk5c7lxs8fc04sz97lc3yk1zk1b9phkzw6fj9fnmpgaak87bj9"; }; - yandex = + vra7 = { owner = "terraform-providers"; - repo = "terraform-provider-yandex"; - rev = "v0.28.0"; - version = "0.28.0"; - sha256 = "1ml96cqjvxzapb76fpblgl6ak15idv3jj5wcs9ix0dr6i2fdfwpc"; + repo = "terraform-provider-vra7"; + rev = "v0.5.0"; + version = "0.5.0"; + sha256 = "123yskwgzp771nx03sg49vwi5ph3zf2ajf06s7msj0blvz6wan4v"; }; - segment = + vsphere = { - owner = "ajbosco"; - repo = "terraform-provider-segment"; - rev = "v0.2.0"; - version = "0.2.0"; - sha256 = "0ic5b9djhnb1bs2bz3zdprgy3r55dng09xgc4d9l9fyp85g2amaz"; + owner = "terraform-providers"; + repo = "terraform-provider-vsphere"; + rev = "v1.17.0"; + version = "1.17.0"; + sha256 = "16fglpfy8grlifaa1d1ymvjys7wh39m6py8h45g1xgs1jyfkz00s"; }; - pass = + vthunder = { - owner = "camptocamp"; - repo = "terraform-provider-pass"; - rev = "1.2.1"; - version = "1.2.1"; - sha256 = "1hf5mvgz5ycp7shiy8px205d9kwswfjmclg7mlh9a55bkraffahk"; + owner = "terraform-providers"; + repo = "terraform-provider-vthunder"; + rev = "v0.1.0"; + version = "0.1.0"; + sha256 = "1mw55g0kjgp300p6y4s8wc91fgfxjm0cbszfzgbc8ca4b00j8cc2"; }; - matchbox = + vultr = { - owner = "poseidon"; - repo = "terraform-provider-matchbox"; - rev = "v0.3.0"; - version = "0.3.0"; - sha256 = "1nq7k8qa7rv8xyryjigwpwcwvj1sw85c4j46rkfdv70b6js25jz3"; + owner = "terraform-providers"; + repo = "terraform-provider-vultr"; + rev = "v1.1.4"; + version = "1.1.4"; + sha256 = "14anp7b759yyh78ickas52amads2lmwg85h8i0ikln7qhrhl42d7"; }; wavefront = { @@ -816,20 +1064,12 @@ version = "2.1.1"; sha256 = "0cbs74kd820i8f13a9jfbwh2y5zmmx3c2mp07qy7m0xx3m78jksn"; }; - nixos = - { - owner = "tweag"; - repo = "terraform-provider-nixos"; - rev = "v0.0.1"; - version = "0.0.1"; - sha256 = "00vz6qjq1pk39iqg4356b8g3c6slla9jifkv2knk46gc9q93q0lf"; - }; - secret = + yandex = { - owner = "tweag"; - repo = "terraform-provider-secret"; - rev = "v1.1.0"; - version = "1.1.0"; - sha256 = "09gv0fpsrxzgna0xrhrdk8d4va9s0gvdbz596r306qxb4mip4w3r"; + owner = "terraform-providers"; + repo = "terraform-provider-yandex"; + rev = "v0.35.0"; + version = "0.35.0"; + sha256 = "10zj5s0zdgh54rlczyvkq292v9xj1ivvn2k9ml65l6j3h0axlgxv"; }; } diff --git a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/default.nix b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/default.nix index 1487f8ad875f..c3c44160c1b7 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/default.nix @@ -2,7 +2,6 @@ , buildGoPackage , fetchFromGitHub , callPackage -, Security }: let list = import ./data.nix; @@ -16,20 +15,126 @@ let src = fetchFromGitHub { inherit owner repo rev sha256; }; - - # Terraform allow checking the provider versions, but this breaks # if the versions are not provided via file paths. postBuild = "mv go/bin/${repo}{,_v${version}}"; }; -in - { - elasticsearch = callPackage ./elasticsearch { - inherit Security; - }; + + # Google is now using the vendored go modules, which works a bit differently + # and is not 100% compatible with the pre-modules vendored folders. + # + # Instead of switching to goModules which requires a goModSha256, patch the + # goPackage derivation so it can install the top-level. + patchGoModVendor = drv: + drv.overrideAttrs (attrs: { + buildFlags = "-mod=vendor"; + + # override configurePhase to not move the source into GOPATH + configurePhase = '' + export GOPATH=$NIX_BUILD_TOP/go:$GOPATH + export GOCACHE=$TMPDIR/go-cache + export GO111MODULE=on + ''; + + # just build and install into $GOPATH/bin + buildPhase = '' + go install -mod=vendor -v -p 16 . + ''; + + # don't run the tests, they are broken in this setup + doCheck = false; + }); + + # These providers are managed with the ./update-all script + automated-providers = lib.mapAttrs (_: toDrv) list; + + # These are the providers that don't fall in line with the default model + special-providers = { + # Override the google providers + google = patchGoModVendor automated-providers.google; + google-beta = patchGoModVendor automated-providers.google-beta; + + # providers that were moved to the `hashicorp` organization, + # but haven't updated their references yet: + + # https://github.com/hashicorp/terraform-provider-archive/pull/67 + archive = automated-providers.archive.overrideAttrs (attrs: { + prePatch = attrs.prePatch or "" + '' + substituteInPlace go.mod --replace terraform-providers/terraform-provider-archive hashicorp/terraform-provider-archive + substituteInPlace main.go --replace terraform-providers/terraform-provider-archive hashicorp/terraform-provider-archive + ''; + }); + + # https://github.com/hashicorp/terraform-provider-dns/pull/101 + dns = automated-providers.dns.overrideAttrs (attrs: { + prePatch = attrs.prePatch or "" + '' + substituteInPlace go.mod --replace terraform-providers/terraform-provider-dns hashicorp/terraform-provider-dns + substituteInPlace main.go --replace terraform-providers/terraform-provider-dns hashicorp/terraform-provider-dns + ''; + }); + + # https://github.com/hashicorp/terraform-provider-external/pull/41 + external = automated-providers.external.overrideAttrs (attrs: { + prePatch = attrs.prePatch or "" + '' + substituteInPlace go.mod --replace terraform-providers/terraform-provider-external hashicorp/terraform-provider-external + substituteInPlace main.go --replace terraform-providers/terraform-provider-external hashicorp/terraform-provider-external + ''; + }); + + # https://github.com/hashicorp/terraform-provider-http/pull/40 + http = automated-providers.http.overrideAttrs (attrs: { + prePatch = attrs.prePatch or "" + '' + substituteInPlace go.mod --replace terraform-providers/terraform-provider-http hashicorp/terraform-provider-http + substituteInPlace main.go --replace terraform-providers/terraform-provider-http hashicorp/terraform-provider-http + ''; + }); + + # https://github.com/hashicorp/terraform-provider-local/pull/40 + local = automated-providers.local.overrideAttrs (attrs: { + prePatch = attrs.prePatch or "" + '' + substituteInPlace go.mod --replace terraform-providers/terraform-provider-local hashicorp/terraform-provider-local + substituteInPlace main.go --replace terraform-providers/terraform-provider-local hashicorp/terraform-provider-local + ''; + }); + + # https://github.com/hashicorp/terraform-provider-null/pull/43 + null = automated-providers.null.overrideAttrs (attrs: { + prePatch = attrs.prePatch or "" + '' + substituteInPlace go.mod --replace terraform-providers/terraform-provider-null hashicorp/terraform-provider-null + substituteInPlace main.go --replace terraform-providers/terraform-provider-null hashicorp/terraform-provider-null + ''; + }); + + # https://github.com/hashicorp/terraform-provider-random/pull/107 + random = automated-providers.random.overrideAttrs (attrs: { + prePatch = attrs.prePatch or "" + '' + substituteInPlace go.mod --replace terraform-providers/terraform-provider-random hashicorp/terraform-provider-random + substituteInPlace main.go --replace terraform-providers/terraform-provider-random hashicorp/terraform-provider-random + ''; + }); + + # https://github.com/hashicorp/terraform-provider-template/pull/79 + template = automated-providers.template.overrideAttrs (attrs: { + prePatch = attrs.prePatch or "" + '' + substituteInPlace go.mod --replace terraform-providers/terraform-provider-template hashicorp/terraform-provider-template + substituteInPlace main.go --replace terraform-providers/terraform-provider-template hashicorp/terraform-provider-template + ''; + }); + + # https://github.com/hashicorp/terraform-provider-tls/pull/71 + tls = automated-providers.tls.overrideAttrs (attrs: { + prePatch = attrs.prePatch or "" + '' + substituteInPlace go.mod --replace terraform-providers/terraform-provider-tls hashicorp/terraform-provider-tls + substituteInPlace main.go --replace terraform-providers/terraform-provider-tls hashicorp/terraform-provider-tls + ''; + }); + + elasticsearch = callPackage ./elasticsearch {}; gandi = callPackage ./gandi {}; ibm = callPackage ./ibm {}; libvirt = callPackage ./libvirt {}; lxd = callPackage ./lxd {}; ansible = callPackage ./ansible {}; - } // lib.mapAttrs (n: v: toDrv v) list + }; +in + automated-providers // special-providers diff --git a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/elasticsearch/default.nix b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/elasticsearch/default.nix index 2f13000c0cde..1aadbbc5ccd3 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/elasticsearch/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/elasticsearch/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, buildGoModule, Security }: +{ stdenv, fetchFromGitHub, buildGoModule }: buildGoModule rec { pname = "terraform-provider-elasticsearch"; version = "0.7.0"; @@ -12,8 +12,6 @@ buildGoModule rec { modSha256 = "1xk21xswqwpv34j4ba4fj8lcbvfdd12x7rq1hrdyd21mdhmrhw0p"; - buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ]; - subPackages = [ "." ]; # Terraform allow checking the provider versions, but this breaks diff --git a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/ibm/default.nix b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/ibm/default.nix index 06d7b8a9f073..bd667dbc15f6 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/ibm/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/ibm/default.nix @@ -29,7 +29,7 @@ buildGoPackage rec { postBuild = "mv go/bin/terraform-provider-ibm{,_v${version}}"; meta = with stdenv.lib; { - homepage = https://github.com/IBM-Cloud/terraform-provider-ibm; + homepage = "https://github.com/IBM-Cloud/terraform-provider-ibm"; description = "Terraform provider is used to manage IBM Cloud resources."; platforms = platforms.all; license = licenses.mpl20; diff --git a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/libvirt/default.nix b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/libvirt/default.nix index c2014a4d7bf1..daffb5930903 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/libvirt/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/libvirt/default.nix @@ -43,7 +43,7 @@ buildGoPackage rec { postBuild = "mv go/bin/terraform-provider-libvirt{,_v${version}}"; meta = with stdenv.lib; { - homepage = https://github.com/dmacvicar/terraform-provider-libvirt; + homepage = "https://github.com/dmacvicar/terraform-provider-libvirt"; description = "Terraform provider for libvirt"; platforms = platforms.linux; license = licenses.asl20; diff --git a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/providers.txt b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/providers.txt deleted file mode 100644 index bdde66006787..000000000000 --- a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/providers.txt +++ /dev/null @@ -1,18 +0,0 @@ -# lines starting with a # are comments - -# The accepted format (double escape all grep expresssions): -# <organisation> [grep-expression] [grep-v-expression] - include all repositories in the organisation. -# grep-expression: filter repo matching the expression -# grep-v-expression: filter repo not matching the expression -# <organisation>/<repo> - include only the named repository. - -# include all terraform-providers -terraform-providers terraform-provider- terraform-provider-\\(azure-classic\\|scaffolding\\) - -# include providers from individual repos -ajbosco/terraform-provider-segment -camptocamp/terraform-provider-pass -poseidon/terraform-provider-matchbox -spaceapegames/terraform-provider-wavefront -tweag/terraform-provider-nixos -tweag/terraform-provider-secret diff --git a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/update-all b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/update-all index 893a6b1c7d7d..89ed5a94f2ab 100755 --- a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/update-all +++ b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/update-all @@ -1,6 +1,7 @@ #!/usr/bin/env nix-shell -#! nix-shell -i bash -p bash coreutils curl jq nix +#! nix-shell -i bash -p bash coreutils jq nix gitAndTools.hub # vim: ft=sh sw=2 et +# shellcheck shell=bash # # This scripts scans the github terraform-providers repo for new releases, # generates the corresponding nix code and finally generates an index of @@ -10,37 +11,53 @@ set -euo pipefail # the maximum number of attempts before giving up inside of GET and prefetch_github readonly maxAttempts=30 -GET() { - local url=$1 - local retry=1 - echo "fetching $url" >&2 - while ! curl -#fL -u "$GITHUB_AUTH" "$url"; do - echo "The curl command has failed. Attempt $retry/${maxAttempts}" >&2 - if [[ "${retry}" -eq "${maxAttempts}" ]]; then - exit 1 - fi - retry=$(( retry + 1 )) - sleep 5 - done -} - -get_org_repos() { +get_tf_providers_org() { + # returns all terraform providers in a given organization, and their the + # latest tags, in the format + # $org/$repo $rev local org=$1 - local page=1 - GET "https://api.github.com/orgs/$org/repos?per_page=100" | jq -r '.[].name' + hub api --paginate graphql -f query=" + query(\$endCursor: String) { + repositoryOwner(login: \"${org}\") { + repositories(first: 100, after: \$endCursor) { + nodes { + nameWithOwner + name + refs(first: 1, refPrefix: \"refs/tags/\", orderBy: {field: TAG_COMMIT_DATE, direction: DESC}) { + nodes { + name + } + } + } + pageInfo { + hasNextPage + endCursor + } + } + } + }" | \ + jq -r '.data.repositoryOwner.repositories.nodes[] | select(.name | startswith("terraform-provider-")) | select((.refs.nodes | length) > 0) | .nameWithOwner + " " + .refs.nodes[0].name' + # filter the result with jq: + # - repos need to start with `teraform-provider-` + # - they need to have at least one tag + # for each of the remaining repos, assemble a string $org/$repo $rev } -get_repo_tags() { +get_latest_repo_tag() { + # of a given repo and owner, retrieve the latest tag local owner=$1 local repo=$2 - GET "https://api.github.com/repos/$owner/$repo/git/refs/tags?per_page=100" | \ + hub api --paginate "https://api.github.com/repos/$owner/$repo/git/refs/tags" | \ jq -r '.[].ref' | \ grep -v 'v\.' | \ cut -d '/' -f 3- | \ - sort --version-sort + sort --version-sort | \ + tail -1 } prefetch_github() { + # of a given owner, repo and rev, fetch the tarball and return the output of + # `nix-prefetch-url` local owner=$1 local repo=$2 local rev=$3 @@ -59,7 +76,7 @@ echo_entry() { local owner=$1 local repo=$2 local rev=$3 - local version=$(echo $3 | sed 's/^v//') + local version=${rev#v} local sha256=$4 cat <<EOF { @@ -74,18 +91,18 @@ EOF indent() { sed 's/^/ /'; } -add_repo() { +add_provider() { org="${1}" repo="${2}" + rev="${3}" - echo "*** $repo ***" + echo "*** $org/$repo $rev ***" name=$(echo "$repo" | cut -d - -f 3-) - last_tag=$(get_repo_tags "$org" "$repo" | tail -1) - last_tag_sha256=$(prefetch_github "$org" "$repo" "$last_tag") + sha256=$(prefetch_github "$org" "$repo" "$rev") { echo " $name =" - echo_entry "$org" "$repo" "$last_tag" "$last_tag_sha256" | indent + echo_entry "$org" "$repo" "$rev" "$sha256" | indent } >> data.nix } @@ -93,50 +110,63 @@ add_repo() { cd "$(dirname "$0")" -if [[ -z "${GITHUB_AUTH:-}" ]]; then - cat <<'HELP' -Missing the GITHUB_AUTH env. This is required to work around the 60 request -per hour rate-limit. - -Go to https://github.com/settings/tokens and create a new token with the -"public_repo" scope. - -Then `export GITHUB_AUTH=<your user>:<your token>` and run this script again. -HELP - exit 1 -fi +# individual repos to fetch +slugs=( + ajbosco/terraform-provider-segment + camptocamp/terraform-provider-pass + poseidon/terraform-provider-matchbox + spaceapegames/terraform-provider-wavefront + tweag/terraform-provider-nixos + tweag/terraform-provider-secret +) + +# a list of providers to ignore +blacklist=( + terraform-providers/terraform-provider-azure-classic + terraform-providers/terraform-provider-cidr + terraform-providers/terraform-provider-circonus + terraform-providers/terraform-provider-cloudinit + terraform-providers/terraform-provider-quorum + hashicorp/terraform-provider-time + terraform-providers/terraform-provider-vmc +) cat <<HEADER > data.nix # Generated with ./update-all { HEADER -while read line; do - IFS=' ' read -r -a fields <<< "$line" - if [[ "${#fields[@]}" -eq 0 ]]; then - continue - fi - - if [[ "${fields[0]}" = *"/"* ]]; then - org="$(echo "${fields[0]}" | cut -d/ -f1)" - repo="$(echo "${fields[0]}" | cut -d/ -f2)" - add_repo "${org}" "${repo}" - else - org="${fields[0]}" - repos=$(get_org_repos "$org") - if [[ "${#fields[@]}" -ge 2 ]] && [[ -n "${fields[1]}" ]]; then - repos="$( echo "${repos[@]}" | grep "${fields[1]}" )" - fi - if [[ "${#fields[@]}" -eq 3 ]] && [[ -n "${fields[2]}" ]]; then - repos="$( echo "${repos[@]}" | grep -v "${fields[2]}" )" - fi - repos="$( echo "${repos[@]}" | sort )" - - for repo in $repos; do - add_repo "$org" "$repo" - done - fi -done < <(grep -v '^#\|^$' providers.txt) +# assemble list of terraform providers +providers=$(get_tf_providers_org "terraform-providers") +providers=$(echo "$providers";get_tf_providers_org "hashicorp") + +# add terraform-providers from slugs +for slug in "${slugs[@]}"; do + # retrieve latest tag + org=${slug%/*} + repo=${slug#*/} + rev=$(get_latest_repo_tag "$org" "$repo") + + # add to list + providers=$(echo "$providers";echo "$org/$repo $rev") +done + +# filter out all providers on the blacklist +for repo in "${blacklist[@]}"; do + providers=$(echo "$providers" | grep -v "^${repo} ") +done + +# sort results alphabetically by repo name +providers=$(echo "$providers" | sort -t "/" --key=2) + +# render list +IFS=$'\n' +for provider in $providers; do + org=$(echo "$provider" | cut -d " " -f 1 | cut -d "/" -f1) + repo=$(echo "$provider" | cut -d " " -f 1 | cut -d "/" -f2) + rev=$(echo "$provider" | cut -d " " -f 2) + add_provider "${org}" "${repo}" "${rev}" +done cat <<FOOTER >> data.nix } diff --git a/nixpkgs/pkgs/applications/networking/cluster/terraform/default.nix b/nixpkgs/pkgs/applications/networking/cluster/terraform/default.nix index b9c82f97c4fd..ee27422a1391 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/terraform/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/terraform/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, buildEnv, buildGoPackage, fetchFromGitHub, makeWrapper +{ stdenv, lib, buildEnv, buildGoPackage, fetchFromGitHub, makeWrapper, coreutils , runCommand, writeText, terraform-providers }: let @@ -18,6 +18,12 @@ let inherit sha256; }; + postPatch = '' + # speakeasy hardcodes /bin/stty https://github.com/bgentry/speakeasy/issues/22 + substituteInPlace vendor/github.com/bgentry/speakeasy/speakeasy_unix.go \ + --replace "/bin/stty" "${coreutils}/bin/stty" + ''; + postInstall = '' # remove all plugins, they are part of the main binary now for i in $bin/bin/*; do diff --git a/nixpkgs/pkgs/applications/networking/cluster/terragrunt/default.nix b/nixpkgs/pkgs/applications/networking/cluster/terragrunt/default.nix index 1058b21d3e95..26c969c671f4 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/terragrunt/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/terragrunt/default.nix @@ -29,7 +29,7 @@ buildGoPackage rec { meta = with stdenv.lib; { description = "A thin wrapper for Terraform that supports locking for Terraform state and enforces best practices."; - homepage = https://github.com/gruntwork-io/terragrunt/; + homepage = "https://github.com/gruntwork-io/terragrunt/"; license = licenses.mit; maintainers = with maintainers; [ peterhoeg ]; }; diff --git a/nixpkgs/pkgs/applications/networking/cluster/tilt/default.nix b/nixpkgs/pkgs/applications/networking/cluster/tilt/default.nix index 30fc9264ae1d..13f2c3d9bd9e 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/tilt/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/tilt/default.nix @@ -22,7 +22,7 @@ buildGoPackage rec { meta = with stdenv.lib; { description = "Local development tool to manage your developer instance when your team deploys to Kubernetes in production"; - homepage = https://tilt.dev/; + homepage = "https://tilt.dev/"; license = licenses.asl20; maintainers = with maintainers; [ anton-dessiatov ]; }; |