@@ -1,71 +1,8 @@
1−{ lib, fetchFromGitHub, buildGoModule, installShellFiles }:
2−
3−let generic = { channel, version, sha256, vendorSha256 }:
4− buildGoModule rec {
5− pname = "linkerd-${channel}";
6− inherit version vendorSha256;
7−
8− src = fetchFromGitHub {
9− owner = "linkerd";
10− repo = "linkerd2";
11− rev = "${channel}-${version}";
12− inherit sha256;
13− };
14−
15− subPackages = [ "cli" ];
16− runVend = true;
17−
18− preBuild = ''
19− env GOFLAGS="" go generate ./pkg/charts/static
20− env GOFLAGS="" go generate ./jaeger/static
21− env GOFLAGS="" go generate ./multicluster/static
22− env GOFLAGS="" go generate ./viz/static
23− '';
24−
25− tags = [
26− "prod"
27− ];
28−
29− ldflags = [
30− "-s" "-w"
31− "-X github.com/linkerd/linkerd2/pkg/version.Version=${src.rev}"
32− ];
33−
34− nativeBuildInputs = [ installShellFiles ];
35−
36− postInstall = ''
37− mv $out/bin/cli $out/bin/linkerd
38− installShellCompletion --cmd linkerd \
39− --bash <($out/bin/linkerd completion bash) \
40− --zsh <($out/bin/linkerd completion zsh) \
41− --fish <($out/bin/linkerd completion fish)
42− '';
43−
44− doInstallCheck = true;
45− installCheckPhase = ''
46− $out/bin/linkerd version --client | grep ${src.rev} > /dev/null
47− '';
48−
49− meta = with lib; {
50− description = "A simple Kubernetes service mesh that improves security, observability and reliability";
51− downloadPage = "https://github.com/linkerd/linkerd2/";
52− homepage = "https://linkerd.io/";
53− license = licenses.asl20;
54− maintainers = with maintainers; [ Gonzih bryanasdev000 superherointj ];
55− };
56− };
57−in
58− {
59− stable = generic {
60− channel = "stable";
61− version = "2.10.2";
62− sha256 = "sha256-dOD0S4FJ2lXE+1VZooi8tKvC8ndGEHAxmAvSqoWI/m0=";
63− vendorSha256 = "sha256-Qb0FZOvKL9GgncfUl538PynkYbm3V8Q6lUpApUoIp5s=";
64− };
65− edge = generic {
66− channel = "edge";
67− version = "21.9.3";
68− sha256 = "0swqx4myvr24visj39icg8g90kj325pvf22bq447rnm0whq3cnyz";
69− vendorSha256 = "sha256-fMtAR66TwMNR/HCVQ9Jg3sJ0XBx2jUKDG7/ts0lEZM4=";
70− };
71− }
1+{ callPackage }:
2+
3+(callPackage ./generic.nix { }) {
4+ channel = "stable";
5+ version = "2.10.2";
6+ sha256 = "sha256-dOD0S4FJ2lXE+1VZooi8tKvC8ndGEHAxmAvSqoWI/m0=";
7+ vendorSha256 = "sha256-Qb0FZOvKL9GgncfUl538PynkYbm3V8Q6lUpApUoIp5s=";
8+}