1{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
2
3buildGoModule rec {
4 pname = "kind";
5 version = "0.23.0";
6
7 src = fetchFromGitHub {
8 rev = "v${version}";
9 owner = "kubernetes-sigs";
10 repo = "kind";
11 hash = "sha256-S+kk3g/A1bio1v7zoXmvaTAYd0LBq5uip/9DvhkzZnM=";
12 };
13
14 patches = [
15 # fix kernel module path used by kind
16 ./kernel-module-path.patch
17 ];
18
19 vendorHash = "sha256-YB2/MudoIVtTHU6FtvZOEhhxg5ss6OvENXOykPlQ12Y=";
20
21 nativeBuildInputs = [ installShellFiles ];
22
23 subPackages = [ "." ];
24
25 CGO_ENABLED = 0;
26
27 ldflags = [ "-s" "-w" ];
28
29 doCheck = false;
30
31 postInstall = ''
32 installShellCompletion --cmd kind \
33 --bash <($out/bin/kind completion bash) \
34 --fish <($out/bin/kind completion fish) \
35 --zsh <($out/bin/kind completion zsh)
36 '';
37
38 meta = with lib; {
39 description = "Kubernetes IN Docker - local clusters for testing Kubernetes";
40 homepage = "https://github.com/kubernetes-sigs/kind";
41 maintainers = with maintainers; [ offline rawkode ];
42 license = licenses.asl20;
43 mainProgram = "kind";
44 };
45}