1{
2 lib,
3 buildGoModule,
4 fetchFromGitHub,
5}:
6
7buildGoModule rec {
8 pname = "multus-cni";
9 version = "4.0.2";
10
11 src = fetchFromGitHub {
12 owner = "k8snetworkplumbingwg";
13 repo = "multus-cni";
14 rev = "v${version}";
15 sha256 = "sha256-Q6ACXOv1E3Ouki4ksdlUZFbWcDgo9xbCiTfEiVG5l18=";
16 };
17
18 ldflags = [
19 "-s"
20 "-w"
21 "-X=gopkg.in/k8snetworkplumbingwg/multus-cni.v3/pkg/multus.version=${version}"
22 ];
23
24 subPackages = [
25 "cmd/multus-daemon"
26 "cmd/multus-shim"
27 "cmd/multus"
28 "cmd/thin_entrypoint"
29 ];
30
31 vendorHash = null;
32
33 doCheck = true;
34
35 meta = with lib; {
36 description = "Multus CNI is a container network interface (CNI) plugin for Kubernetes that enables attaching multiple network interfaces to pods";
37 homepage = "https://github.com/k8snetworkplumbingwg/multus-cni";
38 license = licenses.asl20;
39 platforms = platforms.linux;
40 maintainers = with maintainers; [
41 onixie
42 kashw2
43 ];
44 mainProgram = "multus";
45 };
46}