aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/applications/networking/cluster/istioctl/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/networking/cluster/istioctl/default.nix')
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/istioctl/default.nix51
1 files changed, 51 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/networking/cluster/istioctl/default.nix b/nixpkgs/pkgs/applications/networking/cluster/istioctl/default.nix
new file mode 100644
index 00000000000..59be45bb536
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/cluster/istioctl/default.nix
@@ -0,0 +1,51 @@
+{ lib, buildGoModule, fetchFromGitHub, go-bindata, installShellFiles }:
+
+buildGoModule rec {
+ pname = "istioctl";
+ version = "1.7.0";
+
+ src = fetchFromGitHub {
+ owner = "istio";
+ repo = "istio";
+ rev = version;
+ sha256 = "0541j1wdhlbm2spl1w3m0hig7lqn05xk1xws8748wfzbr8wkir31";
+ };
+ vendorSha256 = "0sz92nspfclqxnx0mf80jxqqwxanqsx9nl9hg7f9izks7jw544vx";
+
+ doCheck = false;
+
+ nativeBuildInputs = [ go-bindata installShellFiles ];
+
+ # Bundle charts
+ preBuild = ''
+ patchShebangs operator/scripts
+ operator/scripts/create_assets_gen.sh
+ '';
+
+ # Bundle release metadata
+ buildFlagsArray = let
+ attrs = [
+ "istio.io/pkg/version.buildVersion=${version}"
+ "istio.io/pkg/version.buildStatus=Nix"
+ "istio.io/pkg/version.buildTag=${version}"
+ "istio.io/pkg/version.buildHub=docker.io/istio"
+ ];
+ in ["-ldflags=-s -w ${lib.concatMapStringsSep " " (attr: "-X ${attr}") attrs}"];
+
+ subPackages = [ "istioctl/cmd/istioctl" ];
+
+ postInstall = ''
+ $out/bin/istioctl collateral --man --bash --zsh
+ installManPage *.1
+ installShellCompletion istioctl.bash
+ installShellCompletion --zsh _istioctl
+ '';
+
+ meta = with lib; {
+ description = "Istio configuration command line utility for service operators to debug and diagnose their Istio mesh";
+ homepage = "https://istio.io/latest/docs/reference/commands/istioctl";
+ license = licenses.asl20;
+ maintainers = with maintainers; [ veehaitch ];
+ platforms = platforms.unix;
+ };
+}