about summary refs log tree commit diff
path: root/pkgs/applications/networking/cluster
diff options
context:
space:
mode:
authorJosé Luis Lafuente <jl@lafuente.me>2020-12-09 20:45:35 +0100
committerJosé Luis Lafuente <jl@lafuente.me>2020-12-11 18:04:12 +0100
commite10a0ae16e6cd498258902490f06afbec77dcab0 (patch)
tree7091bf20eb3f8e6dfbea713ccc920c92cd6702d9 /pkgs/applications/networking/cluster
parent296793637b22bdb4d23b479879eba0a71c132a66 (diff)
downloadnixlib-e10a0ae16e6cd498258902490f06afbec77dcab0.tar
nixlib-e10a0ae16e6cd498258902490f06afbec77dcab0.tar.gz
nixlib-e10a0ae16e6cd498258902490f06afbec77dcab0.tar.bz2
nixlib-e10a0ae16e6cd498258902490f06afbec77dcab0.tar.lz
nixlib-e10a0ae16e6cd498258902490f06afbec77dcab0.tar.xz
nixlib-e10a0ae16e6cd498258902490f06afbec77dcab0.tar.zst
nixlib-e10a0ae16e6cd498258902490f06afbec77dcab0.zip
fluxcd: init at 0.5.0
This is flux v2. There is also fluxctl (flux v1). v1 is in maintenance
mode, and it will be deprecated at some point, but some people may still
depend on v1.
Diffstat (limited to 'pkgs/applications/networking/cluster')
-rw-r--r--pkgs/applications/networking/cluster/fluxcd/default.nix43
1 files changed, 43 insertions, 0 deletions
diff --git a/pkgs/applications/networking/cluster/fluxcd/default.nix b/pkgs/applications/networking/cluster/fluxcd/default.nix
new file mode 100644
index 000000000000..bd903bf7253a
--- /dev/null
+++ b/pkgs/applications/networking/cluster/fluxcd/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, buildGoModule, fetchFromGitHub, installShellFiles }:
+
+buildGoModule rec {
+  pname = "fluxcd";
+  version = "0.5.0";
+
+  src = fetchFromGitHub {
+    owner = "fluxcd";
+    repo = "flux2";
+    rev = "v${version}";
+    sha256 = "125im8br7x8djd6zagvikpc02k55pxbd97rjj3g2frj9plbryh8n";
+  };
+
+  vendorSha256 = "0f818a0z71nl061db93iqb87njx66vbrra1zh92warbx8djdsr7k";
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  doCheck = false;
+
+  subPackages = [ "cmd/flux" ];
+
+  buildFlagsArray = [ "-ldflags=-s -w -X main.VERSION=${version}" ];
+
+  postInstall = ''
+    for shell in bash fish zsh; do
+      $out/bin/flux completion $shell > flux.$shell
+      installShellCompletion flux.$shell
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Open and extensible continuous delivery solution for Kubernetes";
+    longDescription = ''
+      Flux is a tool for keeping Kubernetes clusters in sync
+      with sources of configuration (like Git repositories), and automating
+      updates to configuration when there is new code to deploy.
+    '';
+    homepage = "https://fluxcd.io";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ jlesquembre ];
+    platforms = platforms.unix;
+  };
+}