nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 buildGoModule,
5 cilium-cli,
6 fetchFromGitHub,
7 installShellFiles,
8 testers,
9}:
10
11buildGoModule rec {
12 pname = "cilium-cli";
13 version = "0.19.0";
14
15 src = fetchFromGitHub {
16 owner = "cilium";
17 repo = "cilium-cli";
18 tag = "v${version}";
19 hash = "sha256-pW+9UN+pWkKCYRTvZxslrPgczOezVnPpDF5XdRHCh+g=";
20 };
21
22 nativeBuildInputs = [ installShellFiles ];
23
24 vendorHash = null;
25
26 subPackages = [ "cmd/cilium" ];
27
28 ldflags = [
29 "-s"
30 "-w"
31 "-X=github.com/cilium/cilium/cilium-cli/defaults.CLIVersion=${version}"
32 ];
33
34 # Required to workaround install check error:
35 # 2022/06/25 10:36:22 Unable to start gops: mkdir /homeless-shelter: permission denied
36 HOME = "$TMPDIR";
37
38 postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
39 installShellCompletion --cmd cilium \
40 --bash <($out/bin/cilium completion bash) \
41 --fish <($out/bin/cilium completion fish) \
42 --zsh <($out/bin/cilium completion zsh)
43 '';
44
45 passthru.tests.version = testers.testVersion {
46 package = cilium-cli;
47 command = "cilium version --client";
48 version = "${version}";
49 };
50
51 meta = {
52 description = "CLI to install, manage & troubleshoot Kubernetes clusters running Cilium";
53 homepage = "https://www.cilium.io/";
54 changelog = "https://github.com/cilium/cilium-cli/releases/tag/v${version}";
55 license = lib.licenses.asl20;
56 maintainers = with lib.maintainers; [
57 humancalico
58 qjoly
59 ryan4yin
60 ];
61 mainProgram = "cilium";
62 };
63}