summary refs log tree commit diff
path: root/pkgs/development/tools/okteto/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/tools/okteto/default.nix')
-rw-r--r--pkgs/development/tools/okteto/default.nix49
1 files changed, 49 insertions, 0 deletions
diff --git a/pkgs/development/tools/okteto/default.nix b/pkgs/development/tools/okteto/default.nix
new file mode 100644
index 00000000000..d1fb6615850
--- /dev/null
+++ b/pkgs/development/tools/okteto/default.nix
@@ -0,0 +1,49 @@
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
+
+buildGoModule rec {
+  pname = "okteto";
+  version = "2.3.1";
+
+  src = fetchFromGitHub {
+    owner = "okteto";
+    repo = "okteto";
+    rev = version;
+    sha256 = "sha256-2L6Ky7Mbky6VYx4kdBuYTtaJ9AzNufuYLrgERxLYpg8=";
+  };
+
+  postPatch = ''
+    # Disable some tests that need file system & network access.
+    find cmd -name "*_test.go" | xargs rm -f
+    rm -f pkg/analytics/track_test.go
+  '';
+
+  vendorSha256 = "sha256-XT/ZLydN1oeuRupD3gjvY6+hOB/Lq5CQwhfr9/iT7JI=";
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X github.com/okteto/okteto/pkg/config.VersionString=${version}"
+  ];
+
+  tags = [ "osusergo" "netgo" "static_build" ];
+
+  preCheck = ''
+    export HOME=$(mktemp -d)
+  '';
+
+  postInstall = ''
+    installShellCompletion --cmd okteto \
+      --bash <($out/bin/okteto completion bash) \
+      --fish <($out/bin/okteto completion fish) \
+      --zsh <($out/bin/okteto completion zsh)
+  '';
+
+  meta = with lib; {
+    description = "Develop your applications directly in your Kubernetes Cluster";
+    homepage = "https://okteto.com/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ aaronjheng ];
+  };
+}