e10a0ae16e
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.
44 lines
1.2 KiB
Nix
44 lines
1.2 KiB
Nix
{ 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;
|
|
};
|
|
}
|