Files
nixpkgs/pkgs/by-name/bo/boundary/package.nix
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

80 lines
2.3 KiB
Nix

{
stdenv,
lib,
fetchzip,
}:
stdenv.mkDerivation rec {
pname = "boundary";
version = "0.19.0";
src =
let
inherit (stdenv.hostPlatform) system;
selectSystem = attrs: attrs.${system} or (throw "Unsupported system: ${system}");
suffix = selectSystem {
x86_64-linux = "linux_amd64";
aarch64-linux = "linux_arm64";
x86_64-darwin = "darwin_amd64";
aarch64-darwin = "darwin_arm64";
};
hash = selectSystem {
x86_64-linux = "sha256-tqgY0308n3F/ZYGhn3bAsHa4cBdFz0oGgSHI6y6J1LY=";
aarch64-linux = "sha256-vvc8rOpyOd91crZTQQofj3RixUuWHe7SbMM0BZDkdRw=";
x86_64-darwin = "sha256-wsI8hqULVN+W6zwQsXcWQHbxmocrijsl5eUJgUxLxf8=";
aarch64-darwin = "sha256-S0QXBBiO2qgSazjtwd1bWgL/6gJUimKYPv369L419UU=";
};
in
fetchzip {
url = "https://releases.hashicorp.com/boundary/${version}/boundary_${version}_${suffix}.zip";
inherit hash;
stripRoot = false;
};
dontConfigure = true;
dontBuild = true;
installPhase = ''
runHook preInstall
install -D boundary $out/bin/boundary
runHook postInstall
'';
doInstallCheck = true;
installCheckPhase = ''
runHook preInstallCheck
$out/bin/boundary --help
$out/bin/boundary version
runHook postInstallCheck
'';
dontPatchELF = true;
dontPatchShebangs = true;
dontStrip = true;
passthru.updateScript = ./update.sh;
meta = {
homepage = "https://boundaryproject.io/";
changelog = "https://github.com/hashicorp/boundary/blob/v${version}/CHANGELOG.md";
description = "Enables identity-based access management for dynamic infrastructure";
longDescription = ''
Boundary provides a secure way to access hosts and critical systems
without having to manage credentials or expose your network, and is
entirely open source.
Boundary is designed to be straightforward to understand, highly scalable,
and resilient. It can run in clouds, on-prem, secure enclaves and more,
and does not require an agent to be installed on every end host.
'';
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
license = lib.licenses.bsl11;
maintainers = with lib.maintainers; [
jk
techknowlogick
];
platforms = lib.platforms.unix;
mainProgram = "boundary";
};
}