diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 3dbc1902b71c..990285cb61af 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -1907,6 +1907,16 @@ githubId = 3392199; name = "Calum MacRae"; }; + cmars = { + email = "nix@cmars.tech"; + github = "cmars"; + githubId = 23741; + name = "Casey Marshall"; + keys = [{ + longkeyid = "rsa3072/0x6DEC2758ACD5A973"; + fingerprint = "6B78 7E5F B493 FA4F D009 5D10 6DEC 2758 ACD5 A973"; + }]; + }; cmcdragonkai = { email = "roger.qiu@matrix.ai"; github = "cmcdragonkai"; diff --git a/pkgs/applications/networking/cluster/kubebuilder/default.nix b/pkgs/applications/networking/cluster/kubebuilder/default.nix new file mode 100644 index 000000000000..d123790edd2f --- /dev/null +++ b/pkgs/applications/networking/cluster/kubebuilder/default.nix @@ -0,0 +1,49 @@ +{ lib +, buildGoModule +, fetchFromGitHub +, installShellFiles +, makeWrapper +, git +, go +}: + +buildGoModule rec { + pname = "kubebuilder"; + version = "3.1.0"; + + src = fetchFromGitHub { + owner = "kubernetes-sigs"; + repo = "kubebuilder"; + rev = "v${version}"; + sha256 = "1726j2b5jyvllvnk60g6px3g2jyyphd9pc4vgid45mis9b60sh8a"; + }; + vendorSha256 = "0zxyd950ksjswja64rfri5v2yaalfg6qmq8215ildgrcavl9974n"; + + subPackages = ["cmd" "pkg/..."]; + + preBuild = '' + export buildFlagsArray+=("-ldflags=-X main.kubeBuilderVersion=v${version} \ + -X main.goos=$GOOS \ + -X main.goarch=$GOARCH \ + -X main.gitCommit=v${version} \ + -X main.buildDate=v${version}") + ''; + + doCheck = true; + + postInstall = '' + mv $out/bin/cmd $out/bin/kubebuilder + wrapProgram $out/bin/kubebuilder \ + --prefix PATH : ${lib.makeBinPath [ go ]} + ''; + + allowGoReference = true; + nativeBuildInputs = [ makeWrapper git ]; + + meta = with lib; { + homepage = "https://github.com/kubernetes-sigs/kubebuilder"; + description = "SDK for building Kubernetes APIs using CRDs"; + license = licenses.asl20; + maintainers = with maintainers; [ cmars ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8c77f263654a..419b0929f148 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -24818,6 +24818,8 @@ in kubectl = callPackage ../applications/networking/cluster/kubectl { }; + kubebuilder = callPackage ../applications/networking/cluster/kubebuilder { }; + kuttl = callPackage ../applications/networking/cluster/kuttl { buildGoModule = buildGo115Module; };