1{ pkgs, ... }:
2{
3 name = "vault";
4 meta = with pkgs.lib.maintainers; {
5 maintainers = [ lnl7 ];
6 };
7 nodes.machine =
8 { pkgs, ... }:
9 {
10 environment.systemPackages = [ pkgs.vault ];
11 environment.variables.VAULT_ADDR = "http://127.0.0.1:8200";
12 services.vault.enable = true;
13 };
14
15 testScript = ''
16 start_all()
17
18 machine.wait_for_unit("multi-user.target")
19 machine.wait_for_unit("vault.service")
20 machine.wait_for_open_port(8200)
21 machine.succeed("vault operator init")
22 # vault now returns exit code 2 for sealed vaults
23 machine.fail("vault status")
24 machine.succeed("vault status || test $? -eq 2")
25 '';
26}