Unverified Commit 524fe7ff authored by IndeedNotJames's avatar IndeedNotJames
Browse files

nixosTests.vault-agent: init

parent 4e8bde77
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -746,6 +746,7 @@ in {
  varnish60 = handleTest ./varnish.nix { package = pkgs.varnish60; };
  varnish72 = handleTest ./varnish.nix { package = pkgs.varnish72; };
  vault = handleTest ./vault.nix {};
  vault-agent = handleTest ./vault-agent.nix {};
  vault-dev = handleTest ./vault-dev.nix {};
  vault-postgresql = handleTest ./vault-postgresql.nix {};
  vaultwarden = handleTest ./vaultwarden.nix {};
+52 −0
Original line number Diff line number Diff line
import ./make-test-python.nix ({ pkgs, ... }: {
  name = "vault-agent";

  nodes.machine = { config, pkgs, ... }: {
    services.vault-agent.instances.example.settings = {
      vault.address = config.environment.variables.VAULT_ADDR;

      auto_auth = [{
        method = [{
          type = "token_file";
          config.token_file_path = pkgs.writeText "vault-token" config.environment.variables.VAULT_TOKEN;
        }];
      }];

      template = [{
        contents = ''
          {{- with secret "secret/example" }}
          {{ .Data.data.key }}"
          {{- end }}
        '';
        perms = "0600";
        destination = "/example";
      }];
    };

    services.vault = {
      enable = true;
      dev = true;
      devRootTokenID = config.environment.variables.VAULT_TOKEN;
    };

    environment = {
      systemPackages = [ pkgs.vault ];
      variables = {
        VAULT_ADDR = "http://localhost:8200";
        VAULT_TOKEN = "root";
      };
    };
  };

  testScript = ''
    machine.wait_for_unit("vault.service")
    machine.wait_for_open_port(8200)

    machine.wait_until_succeeds('vault kv put secret/example key=example')

    machine.wait_for_unit("vault-agent-example.service")

    machine.wait_for_file("/example")
    machine.succeed('grep "example" /example')
  '';
})
+1 −1
Original line number Diff line number Diff line
@@ -38,7 +38,7 @@ buildGoModule rec {
      --prefix PATH ${lib.makeBinPath [ gawk glibc ]}
  '';

  passthru.tests = { inherit (nixosTests) vault vault-postgresql vault-dev; };
  passthru.tests = { inherit (nixosTests) vault vault-postgresql vault-dev vault-agent; };

  meta = with lib; {
    homepage = "https://www.vaultproject.io/";