38 lines
1.1 KiB
Nix
38 lines
1.1 KiB
Nix
{ lib, buildGoModule, fetchFromGitHub }:
|
|
|
|
buildGoModule rec {
|
|
pname = "spire";
|
|
version = "1.2.3";
|
|
|
|
outputs = [ "out" "agent" "server" ];
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "spiffe";
|
|
repo = pname;
|
|
rev = "v${version}";
|
|
sha256 = "sha256-k2kg1Wz0pPV9di2T1A1QvPxLqS5uZBvklNfBW72dQa0=";
|
|
};
|
|
|
|
vendorSha256 = "sha256-J2D5hD0+0VY0sWi6O/McLIvK775aQiDqA+h24oYgRxY=";
|
|
|
|
subPackages = [ "cmd/spire-agent" "cmd/spire-server" ];
|
|
|
|
# Usually either the agent or server is needed for a given use case, but not both
|
|
postInstall = ''
|
|
mkdir -vp $agent/bin $server/bin
|
|
mv -v $out/bin/spire-agent $agent/bin/
|
|
mv -v $out/bin/spire-server $server/bin/
|
|
|
|
ln -vs $agent/bin/spire-agent $out/bin/spire-agent
|
|
ln -vs $server/bin/spire-server $out/bin/spire-server
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "The SPIFFE Runtime Environment";
|
|
homepage = "https://github.com/spiffe/spire";
|
|
changelog = "https://github.com/spiffe/spire/releases/tag/v${version}";
|
|
license = licenses.asl20;
|
|
maintainers = with maintainers; [ jonringer fkautz ];
|
|
};
|
|
}
|