nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 buildGoModule,
4 fetchFromGitHub,
5}:
6
7builtins.mapAttrs
8 (
9 pname:
10 {
11 doCheck ? true,
12 mainProgram ? pname,
13 subPackages,
14 }:
15 buildGoModule rec {
16 inherit pname;
17 version = "3.30.2";
18
19 src = fetchFromGitHub {
20 owner = "projectcalico";
21 repo = "calico";
22 rev = "v${version}";
23 hash = "sha256-UvHrCA/1n9dklcMY1AfNNW5/TtxVdmwmQb2DHEBFZhA=";
24 };
25
26 vendorHash = "sha256-Cp1Eo8Xa4c0o5l6/p+pyHa/t3jMUpgUDDXEAKwS6aCE=";
27
28 inherit doCheck subPackages;
29
30 ldflags = [
31 "-s"
32 "-w"
33 ];
34
35 meta = {
36 homepage = "https://projectcalico.docs.tigera.io";
37 changelog = "https://github.com/projectcalico/calico/releases/tag/v${version}";
38 description = "Cloud native networking and network security";
39 license = lib.licenses.asl20;
40 maintainers = with lib.maintainers; [ urandom ];
41 platforms = lib.platforms.linux;
42 inherit mainProgram;
43 };
44 }
45 )
46 {
47 calico-apiserver = {
48 mainProgram = "apiserver";
49 subPackages = [
50 "apiserver/cmd/..."
51 ];
52 };
53 calico-app-policy = {
54 # integration tests require network
55 doCheck = false;
56 mainProgram = "dikastes";
57 subPackages = [
58 "app-policy/cmd/..."
59 ];
60 };
61 calico-cni-plugin = {
62 mainProgram = "calico";
63 subPackages = [
64 "cni-plugin/cmd/..."
65 ];
66 };
67 calico-kube-controllers = {
68 # integration tests require network and docker
69 doCheck = false;
70 mainProgram = "kube-controllers";
71 subPackages = [
72 "kube-controllers/cmd/..."
73 ];
74 };
75 calico-pod2daemon = {
76 mainProgram = "flexvol";
77 subPackages = [
78 "pod2daemon/csidriver"
79 "pod2daemon/flexvol"
80 "pod2daemon/nodeagent"
81 ];
82 };
83 calico-typha = {
84 subPackages = [
85 "typha/cmd/..."
86 ];
87 };
88 calicoctl = {
89 subPackages = [
90 "calicoctl/calicoctl"
91 ];
92 };
93 confd-calico = {
94 mainProgram = "confd";
95 subPackages = [
96 "confd"
97 ];
98 };
99 }