diff options
Diffstat (limited to 'nixpkgs/pkgs/development/tools/kustomize')
-rw-r--r-- | nixpkgs/pkgs/development/tools/kustomize/3.nix | 41 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/tools/kustomize/default.nix | 46 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/tools/kustomize/kustomize-sops.nix | 34 |
3 files changed, 121 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/tools/kustomize/3.nix b/nixpkgs/pkgs/development/tools/kustomize/3.nix new file mode 100644 index 000000000000..01cb1fd48615 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/kustomize/3.nix @@ -0,0 +1,41 @@ +{ lib, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "kustomize_3"; + version = "3.10.0"; + # rev is the commit of the tag, mainly for kustomize version command output + rev = "602ad8aa98e2e17f6c9119e027a09757e63c8bec"; + + ldflags = let t = "sigs.k8s.io/kustomize/api/provenance"; in [ + "-s -w" + "-X ${t}.version=${version}" + "-X ${t}.gitCommit=${rev}" + ]; + + src = fetchFromGitHub { + owner = "kubernetes-sigs"; + repo = "kustomize"; + rev = "kustomize/v${version}"; + sha256 = "sha256-ESIykbAKXdv8zM9be0zEJ71rBAzZby0aTg25NlCsIOM="; + }; + + doCheck = true; + + # avoid finding test and development commands + sourceRoot = "${src.name}/kustomize"; + + vendorHash = "sha256-xLeetcmzvpILLLMhMx7oahWLxguFjG3qbYpeeWpFUlw="; + + meta = with lib; { + description = "Customization of kubernetes YAML configurations"; + longDescription = '' + kustomize lets you customize raw, template-free YAML files for + multiple purposes, leaving the original YAML untouched and usable + as is. + ''; + homepage = "https://github.com/kubernetes-sigs/kustomize"; + license = licenses.asl20; + maintainers = with maintainers; [ carlosdagos vdemeester zaninime Chili-Man saschagrunert ]; + mainProgram = "kustomize"; + }; +} diff --git a/nixpkgs/pkgs/development/tools/kustomize/default.nix b/nixpkgs/pkgs/development/tools/kustomize/default.nix new file mode 100644 index 000000000000..6f62f7d86c92 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/kustomize/default.nix @@ -0,0 +1,46 @@ +{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: + +buildGoModule rec { + pname = "kustomize"; + version = "5.1.1"; + + ldflags = let t = "sigs.k8s.io/kustomize/api/provenance"; in + [ + "-s" + "-X ${t}.version=${version}" + "-X ${t}.gitCommit=${src.rev}" + ]; + + src = fetchFromGitHub { + owner = "kubernetes-sigs"; + repo = pname; + rev = "kustomize/v${version}"; + hash = "sha256-XtpMws2o3h19PsRJXKg+y5/Zk3bc6mJ4O1LLZ40ioTM="; + }; + + # avoid finding test and development commands + modRoot = "kustomize"; + proxyVendor = true; + vendorHash = "sha256-/XyxZHhlxD0CpaDAuJbLkOHysLXo1+ThTcexqtNdVIs="; + + nativeBuildInputs = [ installShellFiles ]; + + postInstall = '' + installShellCompletion --cmd kustomize \ + --bash <($out/bin/kustomize completion bash) \ + --fish <($out/bin/kustomize completion fish) \ + --zsh <($out/bin/kustomize completion zsh) + ''; + + meta = with lib; { + description = "Customization of kubernetes YAML configurations"; + longDescription = '' + kustomize lets you customize raw, template-free YAML files for + multiple purposes, leaving the original YAML untouched and usable + as is. + ''; + homepage = "https://github.com/kubernetes-sigs/kustomize"; + license = licenses.asl20; + maintainers = with maintainers; [ carlosdagos vdemeester periklis zaninime Chili-Man saschagrunert ]; + }; +} diff --git a/nixpkgs/pkgs/development/tools/kustomize/kustomize-sops.nix b/nixpkgs/pkgs/development/tools/kustomize/kustomize-sops.nix new file mode 100644 index 000000000000..ee6c8d0b5c4b --- /dev/null +++ b/nixpkgs/pkgs/development/tools/kustomize/kustomize-sops.nix @@ -0,0 +1,34 @@ +{ lib, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "kustomize-sops"; + version = "4.2.1"; + + src = fetchFromGitHub { + owner = "viaduct-ai"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-Jm4mA91fyXQ8eScvRGDAmCBFVqT2GP57XIBZQo/bApg="; + }; + + vendorHash = "sha256-tNYPgXFDJuNRlrVE0ywg77goNzfoWHFVzOG9mHqK3q8="; + + installPhase = '' + mkdir -p $out/lib/viaduct.ai/v1/ksops-exec/ + mv $GOPATH/bin/kustomize-sops $out/lib/viaduct.ai/v1/ksops-exec/ksops-exec + ''; + + # Tests are broken in a nix environment + doCheck = false; + + meta = with lib; { + description = "A Flexible Kustomize Plugin for SOPS Encrypted Resource"; + longDescription = '' + KSOPS can be used to decrypt any Kubernetes resource, but is most commonly + used to decrypt encrypted Kubernetes Secrets and ConfigMaps. + ''; + homepage = "https://github.com/viaduct-ai/kustomize-sops"; + license = licenses.asl20; + maintainers = with maintainers; [ starcraft66 ]; + }; +} |