diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index c84899d0e1c9..9583362c4e12 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -7471,6 +7471,12 @@ githubId = 1538622; name = "Michael Reilly"; }; + onixie = { + email = "onixie@gmail.com"; + github = "onixie"; + githubId = 817073; + name = "Yc. Shen"; + }; onsails = { email = "andrey@onsails.com"; github = "onsails"; diff --git a/pkgs/applications/networking/cluster/multus-cni/default.nix b/pkgs/applications/networking/cluster/multus-cni/default.nix new file mode 100644 index 000000000000..d44e0441d8fa --- /dev/null +++ b/pkgs/applications/networking/cluster/multus-cni/default.nix @@ -0,0 +1,37 @@ +{ lib, fetchFromGitHub, buildGoModule }: + +buildGoModule rec { + pname = "multus-cni"; + version = "3.7.1"; + + src = fetchFromGitHub { + owner = "k8snetworkplumbingwg"; + repo = pname; + rev = "v${version}"; + sha256 = "04rn7ypd0cw2c33wqb9wqy1dp6ajvcp7rcv7zybffb1d40mdlds1"; + }; + + buildFlagsArray = let + multus = "gopkg.in/intel/multus-cni.v3/pkg/multus"; + commit = "f6298a3a294a79f9fbda0b8f175e521799d5f8d7"; + in [ + "-ldflags=-s -w -X '${multus}.version=v${version}' -X '${multus}.commit=${commit}'" + ]; + + preInstall = '' + mv $GOPATH/bin/cmd $GOPATH/bin/multus + ''; + + vendorSha256 = null; + + # Some of the tests require accessing a k8s cluster + doCheck = false; + + meta = with lib; { + description = "Multus CNI is a container network interface (CNI) plugin for Kubernetes that enables attaching multiple network interfaces to pods. "; + homepage = "https://github.com/k8snetworkplumbingwg/multus-cni"; + license = licenses.asl20; + platforms = platforms.linux; + maintainers = with maintainers; [ onixie ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e74421eb10c7..d4d7b6465db6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -22848,6 +22848,8 @@ in cni = callPackage ../applications/networking/cluster/cni {}; cni-plugins = callPackage ../applications/networking/cluster/cni/plugins.nix {}; + multus-cni = callPackage ../applications/networking/cluster/multus-cni {}; + cntr = callPackage ../applications/virtualization/cntr { }; communi = libsForQt5.callPackage ../applications/networking/irc/communi { };