{ lib, buildGoModule, fetchFromGitHub, installShellFiles, kubeone, testers, }: buildGoModule rec { pname = "kubeone"; version = "1.10.1"; src = fetchFromGitHub { owner = "kubermatic"; repo = "kubeone"; rev = "v${version}"; hash = "sha256-bRl2Yrg3fidytCt3stjTyNx7IdMpADgVzpd/7btQgY8="; }; vendorHash = "sha256-Ltrs86I5CAjx21BZZrG+UD5/YdLbaFwJqRQLvGwOA9E="; ldflags = [ "-s" "-w" "-X k8c.io/kubeone/pkg/cmd.version=${version}" "-X k8c.io/kubeone/pkg/cmd.date=unknown" ]; nativeBuildInputs = [ installShellFiles ]; postInstall = '' installShellCompletion --cmd kubeone \ --bash <($out/bin/kubeone completion bash) \ --zsh <($out/bin/kubeone completion zsh) ''; passthru.tests.version = testers.testVersion { package = kubeone; command = "kubeone version"; }; meta = { description = "Automate cluster operations on all your cloud, on-prem, edge, and IoT environments"; homepage = "https://kubeone.io/"; changelog = "https://github.com/kubermatic/kubeone/releases/tag/v${version}"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ lblasc ]; }; }