1{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
2
3buildGoModule rec {
4 pname = "kustomize";
5 version = "5.4.3";
6
7 ldflags = let t = "sigs.k8s.io/kustomize/api/provenance"; in
8 [
9 "-s"
10 "-X ${t}.version=${version}"
11 "-X ${t}.gitCommit=${src.rev}"
12 ];
13
14 src = fetchFromGitHub {
15 owner = "kubernetes-sigs";
16 repo = pname;
17 rev = "kustomize/v${version}";
18 hash = "sha256-DrdExiGDWBrlbNIY6R9SXD4cuVyLBOE3ePw1J3hymHA=";
19 };
20
21 # avoid finding test and development commands
22 modRoot = "kustomize";
23 proxyVendor = true;
24 vendorHash = "sha256-cyTZCa1kmNhomkNNnt2Waww4czOZ5YzDBUDx5gqLHtQ=";
25
26 nativeBuildInputs = [ installShellFiles ];
27
28 postInstall = ''
29 installShellCompletion --cmd kustomize \
30 --bash <($out/bin/kustomize completion bash) \
31 --fish <($out/bin/kustomize completion fish) \
32 --zsh <($out/bin/kustomize completion zsh)
33 '';
34
35 meta = with lib; {
36 description = "Customization of kubernetes YAML configurations";
37 mainProgram = "kustomize";
38 longDescription = ''
39 kustomize lets you customize raw, template-free YAML files for
40 multiple purposes, leaving the original YAML untouched and usable
41 as is.
42 '';
43 homepage = "https://github.com/kubernetes-sigs/kustomize";
44 license = licenses.asl20;
45 maintainers = with maintainers; [ carlosdagos vdemeester periklis zaninime Chili-Man saschagrunert ];
46 };
47}