depot/pkgs/by-name/va/vault/package.nix
Luke Granger-Brown 57725ef3ec Squashed 'third_party/nixpkgs/' content from commit 76612b17c0ce
git-subtree-dir: third_party/nixpkgs
git-subtree-split: 76612b17c0ce71689921ca12d9ffdc9c23ce40b2
2024-11-10 23:59:47 +00:00

84 lines
1.6 KiB
Nix

{
stdenv,
lib,
fetchFromGitHub,
buildGoModule,
installShellFiles,
nixosTests,
makeWrapper,
gawk,
glibc,
}:
buildGoModule rec {
pname = "vault";
version = "1.18.0";
src = fetchFromGitHub {
owner = "hashicorp";
repo = "vault";
rev = "v${version}";
hash = "sha256-5CqA2dZZdV1IiGSGwCA2eQIhp3lrsDIJt4rDK1vdvmE=";
};
vendorHash = "sha256-2txRuunh6x+iDKRpljGpSX6Q8q11a84CPVm6d299NNY=";
proxyVendor = true;
subPackages = [ "." ];
nativeBuildInputs = [
installShellFiles
makeWrapper
];
tags = [ "vault" ];
ldflags = [
"-s"
"-w"
"-X github.com/hashicorp/vault/sdk/version.GitCommit=${src.rev}"
"-X github.com/hashicorp/vault/sdk/version.Version=${version}"
"-X github.com/hashicorp/vault/sdk/version.VersionPrerelease="
];
postInstall =
''
echo "complete -C $out/bin/vault vault" > vault.bash
installShellCompletion vault.bash
''
+ lib.optionalString stdenv.hostPlatform.isLinux ''
wrapProgram $out/bin/vault \
--prefix PATH ${
lib.makeBinPath [
gawk
glibc
]
}
'';
passthru.tests = {
inherit (nixosTests)
vault
vault-postgresql
vault-dev
vault-agent
;
};
meta = with lib; {
homepage = "https://www.vaultproject.io/";
description = "Tool for managing secrets";
changelog = "https://github.com/hashicorp/vault/blob/v${version}/CHANGELOG.md";
license = licenses.bsl11;
mainProgram = "vault";
maintainers = with maintainers; [
rushmorem
lnl7
offline
pradeepchhetri
Chili-Man
techknowlogick
];
};
}