1{
2 lib,
3 buildGoModule,
4 fetchFromGitHub,
5}:
6
7buildGoModule rec {
8 pname = "cni-plugin-flannel";
9 version = "1.8.0-flannel1";
10
11 src = fetchFromGitHub {
12 owner = "flannel-io";
13 repo = "cni-plugin";
14 rev = "v${version}";
15 sha256 = "sha256-DaE8T/c1n5Mx/MvPXw+bXO+91Ux/bcWWAdbVmNhQXIo=";
16 };
17
18 vendorHash = "sha256-x4QoAXrMhzEqSNBvWl3/9Lb4JjDgwcoV9a0xEYcwKFI=";
19
20 ldflags = [
21 "-s"
22 "-w"
23 "-X main.Version=${version}"
24 "-X main.Commit=${version}"
25 "-X main.Program=flannel"
26 ];
27
28 postInstall = ''
29 mv $out/bin/cni-plugin $out/bin/flannel
30 '';
31
32 doCheck = false;
33 doInstallCheck = true;
34
35 installCheckPhase = ''
36 runHook preInstallCheck
37 $out/bin/flannel 2>&1 | fgrep -q $version
38 runHook postInstallCheck
39 '';
40
41 meta = with lib; {
42 description = "Network fabric for containers designed to work in conjunction with flannel";
43 mainProgram = "flannel";
44 homepage = "https://github.com/flannel-io/cni-plugin/";
45 license = licenses.asl20;
46 platforms = platforms.linux;
47 maintainers = with maintainers; [ abbe ];
48 };
49}