1{
2 lib,
3 fetchFromGitHub,
4 buildGoModule,
5 nixosTests,
6}:
7
8buildGoModule rec {
9 pname = "cni-plugins";
10 version = "1.7.1";
11
12 src = fetchFromGitHub {
13 owner = "containernetworking";
14 repo = "plugins";
15 rev = "v${version}";
16 hash = "sha256-S1BpOLPmWxaemPHTqZsYwGMH5KM1bPALcl78waZ0TBE=";
17 };
18
19 vendorHash = null;
20
21 doCheck = false;
22
23 ldflags = [
24 "-X github.com/containernetworking/plugins/pkg/utils/buildversion.BuildVersion=v${version}"
25 ];
26
27 subPackages = [
28 "plugins/ipam/dhcp"
29 "plugins/ipam/host-local"
30 "plugins/ipam/static"
31 "plugins/main/bridge"
32 "plugins/main/dummy"
33 "plugins/main/host-device"
34 "plugins/main/ipvlan"
35 "plugins/main/loopback"
36 "plugins/main/macvlan"
37 "plugins/main/ptp"
38 "plugins/main/tap"
39 "plugins/main/vlan"
40 "plugins/meta/bandwidth"
41 "plugins/meta/firewall"
42 "plugins/meta/portmap"
43 "plugins/meta/sbr"
44 "plugins/meta/tuning"
45 "plugins/meta/vrf"
46 ];
47
48 passthru.tests = { inherit (nixosTests) cri-o; };
49
50 meta = with lib; {
51 changelog = "https://github.com/containernetworking/plugins/releases/tag/${src.rev}";
52 description = "Some standard networking plugins, maintained by the CNI team";
53 homepage = "https://www.cni.dev/plugins/";
54 license = licenses.asl20;
55 platforms = platforms.linux;
56 teams = [ teams.podman ];
57 };
58}