anvil-editor: init at 0.4
[NixPkgs.git] / pkgs / applications / networking / cluster / calico / default.nix
blobe776c537eccd7f5a2cd0ddddf770b0c38725919d
1 { lib, buildGoModule, fetchFromGitHub }:
3 builtins.mapAttrs (pname: { doCheck ? true, mainProgram ? pname, subPackages }: buildGoModule rec {
4   inherit pname;
5   version = "3.29.0";
7   src = fetchFromGitHub {
8     owner = "projectcalico";
9     repo = "calico";
10     rev = "v${version}";
11     hash = "sha256-bgcY/unCLAtPOeEwRJGl8u1dHYdO3tSzMTg47DHOsJM=";
12   };
14   vendorHash = "sha256-9Kap6qHIttgMRSnSnTUvWj72jp5u2vIMy5l2sJRfKlU=";
16   inherit doCheck subPackages;
18   ldflags = [ "-s" "-w" ];
20   meta = with lib; {
21     homepage = "https://projectcalico.docs.tigera.io";
22     changelog = "https://github.com/projectcalico/calico/releases/tag/v${version}";
23     description = "Cloud native networking and network security";
24     license = licenses.asl20;
25     maintainers = with maintainers; [ urandom ];
26     platforms = platforms.linux;
27     inherit mainProgram;
28   };
29 }) {
30   calico-apiserver = {
31     mainProgram = "apiserver";
32     subPackages = [
33       "apiserver/cmd/..."
34     ];
35   };
36   calico-app-policy = {
37     # integration tests require network
38     doCheck = false;
39     mainProgram = "dikastes";
40     subPackages = [
41       "app-policy/cmd/..."
42     ];
43   };
44   calico-cni-plugin = {
45     mainProgram = "calico";
46     subPackages = [
47       "cni-plugin/cmd/..."
48     ];
49   };
50   calico-kube-controllers = {
51     # integration tests require network and docker
52     doCheck = false;
53     mainProgram = "kube-controllers";
54     subPackages = [
55       "kube-controllers/cmd/..."
56     ];
57   };
58   calico-pod2daemon = {
59     mainProgram = "flexvol";
60     subPackages = [
61       "pod2daemon/csidriver"
62       "pod2daemon/flexvol"
63       "pod2daemon/nodeagent"
64     ];
65   };
66   calico-typha = {
67     subPackages = [
68       "typha/cmd/..."
69     ];
70   };
71   calicoctl = {
72     subPackages = [
73       "calicoctl/calicoctl"
74     ];
75   };
76   confd-calico = {
77     mainProgram = "confd";
78     subPackages = [
79       "confd"
80     ];
81   };