tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
0
fork
atom
lol
0
fork
atom
overview
issues
pulls
pipelines
nixosTests.vault-agent: init
IndeedNotJames
2 years ago
524fe7ff
4e8bde77
+54
-1
3 changed files
expand all
collapse all
unified
split
nixos
tests
all-tests.nix
vault-agent.nix
pkgs
tools
security
vault
default.nix
+1
nixos/tests/all-tests.nix
···
746
746
varnish60 = handleTest ./varnish.nix { package = pkgs.varnish60; };
747
747
varnish72 = handleTest ./varnish.nix { package = pkgs.varnish72; };
748
748
vault = handleTest ./vault.nix {};
749
749
+
vault-agent = handleTest ./vault-agent.nix {};
749
750
vault-dev = handleTest ./vault-dev.nix {};
750
751
vault-postgresql = handleTest ./vault-postgresql.nix {};
751
752
vaultwarden = handleTest ./vaultwarden.nix {};
+52
nixos/tests/vault-agent.nix
···
1
1
+
import ./make-test-python.nix ({ pkgs, ... }: {
2
2
+
name = "vault-agent";
3
3
+
4
4
+
nodes.machine = { config, pkgs, ... }: {
5
5
+
services.vault-agent.instances.example.settings = {
6
6
+
vault.address = config.environment.variables.VAULT_ADDR;
7
7
+
8
8
+
auto_auth = [{
9
9
+
method = [{
10
10
+
type = "token_file";
11
11
+
config.token_file_path = pkgs.writeText "vault-token" config.environment.variables.VAULT_TOKEN;
12
12
+
}];
13
13
+
}];
14
14
+
15
15
+
template = [{
16
16
+
contents = ''
17
17
+
{{- with secret "secret/example" }}
18
18
+
{{ .Data.data.key }}"
19
19
+
{{- end }}
20
20
+
'';
21
21
+
perms = "0600";
22
22
+
destination = "/example";
23
23
+
}];
24
24
+
};
25
25
+
26
26
+
services.vault = {
27
27
+
enable = true;
28
28
+
dev = true;
29
29
+
devRootTokenID = config.environment.variables.VAULT_TOKEN;
30
30
+
};
31
31
+
32
32
+
environment = {
33
33
+
systemPackages = [ pkgs.vault ];
34
34
+
variables = {
35
35
+
VAULT_ADDR = "http://localhost:8200";
36
36
+
VAULT_TOKEN = "root";
37
37
+
};
38
38
+
};
39
39
+
};
40
40
+
41
41
+
testScript = ''
42
42
+
machine.wait_for_unit("vault.service")
43
43
+
machine.wait_for_open_port(8200)
44
44
+
45
45
+
machine.wait_until_succeeds('vault kv put secret/example key=example')
46
46
+
47
47
+
machine.wait_for_unit("vault-agent-example.service")
48
48
+
49
49
+
machine.wait_for_file("/example")
50
50
+
machine.succeed('grep "example" /example')
51
51
+
'';
52
52
+
})
+1
-1
pkgs/tools/security/vault/default.nix
···
38
38
--prefix PATH ${lib.makeBinPath [ gawk glibc ]}
39
39
'';
40
40
41
41
-
passthru.tests = { inherit (nixosTests) vault vault-postgresql vault-dev; };
41
41
+
passthru.tests = { inherit (nixosTests) vault vault-postgresql vault-dev vault-agent; };
42
42
43
43
meta = with lib; {
44
44
homepage = "https://www.vaultproject.io/";