diff --git a/pkgs/applications/networking/cluster/kubeone/default.nix b/pkgs/applications/networking/cluster/kubeone/default.nix new file mode 100644 index 00000000000..4876233cd29 --- /dev/null +++ b/pkgs/applications/networking/cluster/kubeone/default.nix @@ -0,0 +1,36 @@ +{ lib +, buildGoModule +, fetchFromGitHub +, installShellFiles +}: + +buildGoModule rec { + pname = "kubeone"; + version = "1.2.1"; + + src = fetchFromGitHub { + owner = "kubermatic"; + repo = "kubeone"; + rev = "v${version}"; + sha256 = "1abm7735c4pjv31pfggkvia7br19zbhjpp2w0n5zckwrjm9hxns6"; + }; + + vendorSha256 = "01rl4sd9prfw4ivx7dwrr9irjr0xryihp4fzpcjd2zg8f1ibkwsn"; + + nativeBuildInputs = [ + installShellFiles + ]; + + postInstall = '' + installShellCompletion --cmd kubeone \ + --bash <($out/bin/kubeone completion bash) \ + --zsh <($out/bin/kubeone completion zsh) + ''; + + meta = { + description = "Automate cluster operations on all your cloud, on-prem, edge, and IoT environments."; + homepage = "https://kubeone.io/"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ lblasc ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4c8fe2779c1..23777a323c0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13443,6 +13443,8 @@ in kubei = callPackage ../tools/security/kubei { }; + kubeone = callPackage ../applications/networking/cluster/kubeone { }; + kubeprompt = callPackage ../development/tools/kubeprompt { }; kubesec = callPackage ../tools/security/kubesec { };