|
@@ -1,86 +1,26 @@
|
|
{ config, pkgs, ... }:
|
|
{ config, pkgs, ... }:
|
|
let
|
|
let
|
|
- buildBinPackage = options: pkgs.stdenv.mkDerivation {
|
|
|
|
- inherit (options) pname version;
|
|
|
|
- src = pkgs.fetchurl {
|
|
|
|
- inherit (options) url sha256;
|
|
|
|
|
|
+ promu = pkgs.stdenv.mkDerivation rec {
|
|
|
|
+ pname = "promu";
|
|
|
|
+ version = "0.6.0";
|
|
|
|
+ src = builtins.fetchurl {
|
|
|
|
+ url = "https://github.com/prometheus/promu/releases/download/v${version}/promu-${version}.linux-amd64.tar.gz";
|
|
|
|
+ sha256 = "1d1d2932411e6c4f36eb578ecd3171efd6858200648d58419f26c77fe51a315d";
|
|
};
|
|
};
|
|
- unpackPhase = if options ? "binPath" then "unpackFile $src" else ":";
|
|
|
|
- installPhase = let
|
|
|
|
- binPath = if options ? "binPath" then options.binPath else "$src";
|
|
|
|
- completionCommands = if options ? hasCompletion then ''
|
|
|
|
- $out/bin/${options.pname} completion bash > $out/share/bash-completion/completions/${options.pname}
|
|
|
|
- $out/bin/${options.pname} completion zsh > $out/share/zsh/site-functions/_${options.pname}
|
|
|
|
- '' else "";
|
|
|
|
- in ''
|
|
|
|
- mkdir -p $out/bin $out/share/bash-completion/completions $out/share/zsh/site-functions
|
|
|
|
- cp ${binPath} $out/bin/${options.pname}
|
|
|
|
- chmod +x $out/bin/${options.pname}
|
|
|
|
- ${completionCommands}
|
|
|
|
|
|
+ unpackPhase = "unpackFile $src";
|
|
|
|
+ installPhase = ''
|
|
|
|
+ mkdir -p $out/bin
|
|
|
|
+ cp promu-${version}.linux-amd64/promu $out/bin/promu
|
|
'';
|
|
'';
|
|
};
|
|
};
|
|
-
|
|
|
|
- argocd = buildBinPackage rec {
|
|
|
|
- pname = "argocd";
|
|
|
|
- version = "1.3.0";
|
|
|
|
- url = "https://github.com/argoproj/argo-cd/releases/download/v${version}/argocd-linux-amd64";
|
|
|
|
- sha256 = "1mspgjipalngbjl9rdi2pyvq3g8nh4w2sq5isz87l7fkj4cy4qvk";
|
|
|
|
- hasCompletion = true;
|
|
|
|
- };
|
|
|
|
- helm = buildBinPackage rec {
|
|
|
|
- pname = "helm";
|
|
|
|
- version = "3.0.0";
|
|
|
|
- url = "https://get.helm.sh/helm-v${version}-linux-amd64.tar.gz";
|
|
|
|
- sha256 = "10e1fdcca263062b1d7b2cb93a924be1ef3dd6c381263d8151dd1a20a3d8c0dc";
|
|
|
|
- binPath = "linux-amd64/helm";
|
|
|
|
- hasCompletion = true;
|
|
|
|
- };
|
|
|
|
- eksctl = buildBinPackage rec {
|
|
|
|
- pname = "eksctl";
|
|
|
|
- version = "0.10.2";
|
|
|
|
- url = "https://github.com/weaveworks/eksctl/releases/download/${version}/eksctl_Linux_amd64.tar.gz";
|
|
|
|
- sha256 = "d3e70cd101ca4756ca9b2fbbeb6edcf580ae4783d80004c8847fa177e7d32e03";
|
|
|
|
- binPath = "eksctl";
|
|
|
|
- hasCompletion = true;
|
|
|
|
- };
|
|
|
|
- k9s = buildBinPackage rec {
|
|
|
|
- pname = "k9s";
|
|
|
|
- version = "0.9.3";
|
|
|
|
- url = "https://github.com/derailed/k9s/releases/download/${version}/k9s_${version}_Linux_x86_64.tar.gz";
|
|
|
|
- sha256 = "af3608517684e59de94573ad123486edd6f392c8c319ddbde6223d3ac2d37bd9";
|
|
|
|
- binPath = "k9s";
|
|
|
|
- };
|
|
|
|
- kustomize = buildBinPackage rec {
|
|
|
|
- pname = "kustomize";
|
|
|
|
- version = "3.2.1";
|
|
|
|
- url = "https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize/v${version}/kustomize_kustomize.v${version}_linux_amd64";
|
|
|
|
- sha256 = "a91b38778945e8a63fe70bc7522703a94c1d572d5dcee245e96647359e1fd04b";
|
|
|
|
- };
|
|
|
|
- kubectl-argo-rollouts = buildBinPackage rec {
|
|
|
|
- pname = "kubectl-argo-rollouts";
|
|
|
|
- version = "0.6.0";
|
|
|
|
- url = "https://github.com/argoproj/argo-rollouts/releases/download/v${version}/kubectl-argo-rollouts-linux-amd64";
|
|
|
|
- sha256 = "1cad7038l2jpmkr1gn8293f3vg4jbypqxilix6qcvfdqkxda602p";
|
|
|
|
- };
|
|
|
|
- velero = buildBinPackage rec {
|
|
|
|
- pname = "velero";
|
|
|
|
- version = "1.2.0";
|
|
|
|
- url = "https://github.com/vmware-tanzu/velero/releases/download/v${version}/velero-v${version}-linux-amd64.tar.gz";
|
|
|
|
- sha256 = "4080a37b487a859b5bba8391e965267cd0fe29cd67fd070b6f695fed45619e2c";
|
|
|
|
- binPath = "velero-v${version}-linux-amd64/velero";
|
|
|
|
- };
|
|
|
|
in {
|
|
in {
|
|
environment.systemPackages = with pkgs; [
|
|
environment.systemPackages = with pkgs; [
|
|
kubectl
|
|
kubectl
|
|
kubectx
|
|
kubectx
|
|
- kops
|
|
|
|
|
|
+ kustomize
|
|
argocd
|
|
argocd
|
|
- helm
|
|
|
|
- eksctl
|
|
|
|
k9s
|
|
k9s
|
|
- kustomize
|
|
|
|
- kubectl-argo-rollouts
|
|
|
|
aws-iam-authenticator
|
|
aws-iam-authenticator
|
|
- velero
|
|
|
|
|
|
+ promu
|
|
];
|
|
];
|
|
}
|
|
}
|