diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/networking/cluster/kube3d/default.nix')
-rw-r--r-- | nixpkgs/pkgs/applications/networking/cluster/kube3d/default.nix | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/networking/cluster/kube3d/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kube3d/default.nix new file mode 100644 index 000000000000..2c571ff83a83 --- /dev/null +++ b/nixpkgs/pkgs/applications/networking/cluster/kube3d/default.nix @@ -0,0 +1,55 @@ +{ lib, buildGoModule, fetchFromGitHub, installShellFiles, k3sVersion ? "1.22.2-k3s2" }: + +buildGoModule rec { + pname = "kube3d"; + version = "5.0.0"; + + src = fetchFromGitHub { + owner = "rancher"; + repo = "k3d"; + rev = "v${version}"; + sha256 = "1pkrcjr78xxw3idmyzpkbx0rp20972dl44bzwkkp06milrzsq27i"; + }; + + vendorSha256 = null; + + nativeBuildInputs = [ installShellFiles ]; + + excludedPackages = "\\(tools\\|docgen\\)"; + + ldflags = + let t = "github.com/rancher/k3d/v5/version"; in + [ "-s" "-w" "-X ${t}.Version=v${version}" "-X ${t}.K3sVersion=v${k3sVersion}" ]; + + doCheck = false; + + postInstall = '' + installShellCompletion --cmd k3d \ + --bash <($out/bin/k3d completion bash) \ + --fish <($out/bin/k3d completion fish) \ + --zsh <($out/bin/k3d completion zsh) + ''; + + doInstallCheck = true; + installCheckPhase = '' + runHook preInstallCheck + $out/bin/k3d --help + $out/bin/k3d --version | grep -e "k3d version v${version}" -e "k3s version v${k3sVersion}" + runHook postInstallCheck + ''; + + meta = with lib; { + homepage = "https://github.com/rancher/k3d"; + changelog = "https://github.com/rancher/k3d/blob/v${version}/CHANGELOG.md"; + description = "A helper to run k3s (Lightweight Kubernetes. 5 less than k8s) in a docker container - k3d"; + longDescription = '' + k3s is the lightweight Kubernetes distribution by Rancher: rancher/k3s + + k3d creates containerized k3s clusters. This means, that you can spin up a + multi-node k3s cluster on a single machine using docker. + ''; + license = licenses.mit; + maintainers = with maintainers; [ kuznero jlesquembre ngerstle jk ]; + platforms = platforms.linux; + }; +} |