chromium,chromedriver: 129.0.6668.91 -> 129.0.6668.100
[NixPkgs.git] / pkgs / by-name / bo / boundary / package.nix
blob33a77d0b578876e76564460b5e77b76fb749d8cb
2   stdenv,
3   lib,
4   fetchzip,
5 }:
7 stdenv.mkDerivation rec {
8   pname = "boundary";
9   version = "0.17.1";
11   src =
12     let
13       inherit (stdenv.hostPlatform) system;
14       selectSystem = attrs: attrs.${system} or (throw "Unsupported system: ${system}");
15       suffix = selectSystem {
16         x86_64-linux = "linux_amd64";
17         aarch64-linux = "linux_arm64";
18         x86_64-darwin = "darwin_amd64";
19         aarch64-darwin = "darwin_arm64";
20       };
21       hash = selectSystem {
22         x86_64-linux = "sha256-U7ZCmpmcZpgLkf2jwc35Q9jezxUzaKp85WX2Tqs5IFI=";
23         aarch64-linux = "sha256-gYbeC+f/EXfhzUtwojjvyEATri1XpHpu+JPQtj4oRb4=";
24         x86_64-darwin = "sha256-N6Uy5JiU9mW1/muHYF6Rf1KLX1iXYt/5ct1IHeFUgds=";
25         aarch64-darwin = "sha256-Oxfzy/9ggcJXS+tXiYmJXSiqbMKw4vv9RMquUuOlJ08=";
26       };
27     in
28     fetchzip {
29       url = "https://releases.hashicorp.com/boundary/${version}/boundary_${version}_${suffix}.zip";
30       inherit hash;
31       stripRoot = false;
32     };
34   dontConfigure = true;
35   dontBuild = true;
37   installPhase = ''
38     runHook preInstall
39     install -D boundary $out/bin/boundary
40     runHook postInstall
41   '';
43   doInstallCheck = true;
44   installCheckPhase = ''
45     runHook preInstallCheck
46     $out/bin/boundary --help
47     $out/bin/boundary version
48     runHook postInstallCheck
49   '';
51   dontPatchELF = true;
52   dontPatchShebangs = true;
53   dontStrip = true;
55   passthru.updateScript = ./update.sh;
57   meta = with lib; {
58     homepage = "https://boundaryproject.io/";
59     changelog = "https://github.com/hashicorp/boundary/blob/v${version}/CHANGELOG.md";
60     description = "Enables identity-based access management for dynamic infrastructure";
61     longDescription = ''
62       Boundary provides a secure way to access hosts and critical systems
63       without having to manage credentials or expose your network, and is
64       entirely open source.
66       Boundary is designed to be straightforward to understand, highly scalable,
67       and resilient. It can run in clouds, on-prem, secure enclaves and more,
68       and does not require an agent to be installed on every end host.
69     '';
70     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
71     license = licenses.bsl11;
72     maintainers = with maintainers; [
73       jk
74       techknowlogick
75     ];
76     platforms = platforms.unix;
77     mainProgram = "boundary";
78   };