1 { lib, buildGoModule, fetchFromGitHub }:
3 builtins.mapAttrs (pname: { doCheck ? true, mainProgram ? pname, subPackages }: buildGoModule rec {
7 src = fetchFromGitHub {
8 owner = "projectcalico";
11 hash = "sha256-bgcY/unCLAtPOeEwRJGl8u1dHYdO3tSzMTg47DHOsJM=";
14 vendorHash = "sha256-9Kap6qHIttgMRSnSnTUvWj72jp5u2vIMy5l2sJRfKlU=";
16 inherit doCheck subPackages;
18 ldflags = [ "-s" "-w" ];
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;
31 mainProgram = "apiserver";
37 # integration tests require network
39 mainProgram = "dikastes";
45 mainProgram = "calico";
50 calico-kube-controllers = {
51 # integration tests require network and docker
53 mainProgram = "kube-controllers";
55 "kube-controllers/cmd/..."
59 mainProgram = "flexvol";
61 "pod2daemon/csidriver"
63 "pod2daemon/nodeagent"
77 mainProgram = "confd";