garage: migrate to clan.nixosTests module
This commit is contained in:
@@ -1,18 +1,19 @@
|
|||||||
{ lib, self, ... }:
|
{ lib, ... }:
|
||||||
|
let
|
||||||
|
module = lib.modules.importApply ./default.nix { };
|
||||||
|
in
|
||||||
{
|
{
|
||||||
clan.modules = {
|
clan.modules = {
|
||||||
garage = lib.modules.importApply ./default.nix { };
|
garage = module;
|
||||||
};
|
};
|
||||||
|
|
||||||
perSystem =
|
perSystem =
|
||||||
{ pkgs, ... }:
|
{ ... }:
|
||||||
{
|
{
|
||||||
checks = lib.optionalAttrs (pkgs.stdenv.isLinux) {
|
clan.nixosTests.garage = {
|
||||||
garage = import ./tests/vm/default.nix {
|
imports = [ ./tests/vm/default.nix ];
|
||||||
inherit pkgs;
|
|
||||||
clan-core = self;
|
clan.modules."@clan/garage" = module;
|
||||||
nixosLib = import (self.inputs.nixpkgs + "/nixos/lib") { };
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,87 +1,76 @@
|
|||||||
{
|
{
|
||||||
|
module,
|
||||||
pkgs,
|
pkgs,
|
||||||
nixosLib,
|
|
||||||
clan-core,
|
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
nixosLib.runTest (
|
{
|
||||||
{ ... }:
|
name = "garage";
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
clan-core.modules.nixosVmTest.clanTest
|
|
||||||
];
|
|
||||||
|
|
||||||
hostPkgs = pkgs;
|
clan = {
|
||||||
|
directory = ./.;
|
||||||
|
inventory = {
|
||||||
|
machines.server = { };
|
||||||
|
|
||||||
name = "garage";
|
instances = {
|
||||||
|
garage-test = {
|
||||||
|
module.name = "@clan/garage";
|
||||||
|
roles.default.machines."server".settings = { };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
clan = {
|
nodes = {
|
||||||
directory = ./.;
|
server = {
|
||||||
modules."@clan/garage" = ../../default.nix;
|
services.garage = {
|
||||||
inventory = {
|
enable = true;
|
||||||
machines.server = { };
|
package = pkgs.garage;
|
||||||
|
settings = {
|
||||||
|
|
||||||
instances = {
|
metadata_dir = "/var/lib/garage/meta";
|
||||||
garage-test = {
|
data_dir = "/var/lib/garage/data";
|
||||||
module.name = "@clan/garage";
|
db_engine = "sqlite";
|
||||||
roles.default.machines."server".settings = { };
|
|
||||||
|
replication_factor = 1;
|
||||||
|
|
||||||
|
rpc_bind_addr = "127.0.0.1:3901";
|
||||||
|
|
||||||
|
s3_api = {
|
||||||
|
api_bind_addr = "127.0.0.1:3900";
|
||||||
|
s3_region = "garage";
|
||||||
|
root_domain = ".s3.garage";
|
||||||
|
};
|
||||||
|
|
||||||
|
s3_web = {
|
||||||
|
bind_addr = "127.0.0.1:3902";
|
||||||
|
root_domain = ".web.garage";
|
||||||
|
};
|
||||||
|
|
||||||
|
admin = {
|
||||||
|
api_bind_addr = "127.0.0.1:3903";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
nodes = {
|
testScript = ''
|
||||||
server = {
|
start_all()
|
||||||
services.garage = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.garage;
|
|
||||||
settings = {
|
|
||||||
|
|
||||||
metadata_dir = "/var/lib/garage/meta";
|
server.wait_for_unit("network-online.target")
|
||||||
data_dir = "/var/lib/garage/data";
|
server.wait_for_unit("garage")
|
||||||
db_engine = "sqlite";
|
|
||||||
|
|
||||||
replication_factor = 1;
|
# Check that garage is running
|
||||||
|
server.succeed("systemctl status garage")
|
||||||
|
|
||||||
rpc_bind_addr = "127.0.0.1:3901";
|
# Check that the data directories exist
|
||||||
|
server.succeed("test -d /var/lib/garage/meta")
|
||||||
|
server.succeed("test -d /var/lib/garage/data")
|
||||||
|
|
||||||
s3_api = {
|
# Check that the ports are open to confirm that garage is running
|
||||||
api_bind_addr = "127.0.0.1:3900";
|
server.wait_until_succeeds("${pkgs.netcat}/bin/nc -z -v 127.0.0.1 3901")
|
||||||
s3_region = "garage";
|
server.succeed("${pkgs.netcat}/bin/nc -z -v 127.0.0.1 3900")
|
||||||
root_domain = ".s3.garage";
|
server.succeed("${pkgs.netcat}/bin/nc -z -v 127.0.0.1 3902")
|
||||||
};
|
server.succeed("${pkgs.netcat}/bin/nc -z -v 127.0.0.1 3903")
|
||||||
|
'';
|
||||||
s3_web = {
|
}
|
||||||
bind_addr = "127.0.0.1:3902";
|
|
||||||
root_domain = ".web.garage";
|
|
||||||
};
|
|
||||||
|
|
||||||
admin = {
|
|
||||||
api_bind_addr = "127.0.0.1:3903";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
testScript = ''
|
|
||||||
start_all()
|
|
||||||
|
|
||||||
server.wait_for_unit("network-online.target")
|
|
||||||
server.wait_for_unit("garage")
|
|
||||||
|
|
||||||
# Check that garage is running
|
|
||||||
server.succeed("systemctl status garage")
|
|
||||||
|
|
||||||
# Check that the data directories exist
|
|
||||||
server.succeed("test -d /var/lib/garage/meta")
|
|
||||||
server.succeed("test -d /var/lib/garage/data")
|
|
||||||
|
|
||||||
# Check that the ports are open to confirm that garage is running
|
|
||||||
server.wait_until_succeeds("${pkgs.netcat}/bin/nc -z -v 127.0.0.1 3901")
|
|
||||||
server.succeed("${pkgs.netcat}/bin/nc -z -v 127.0.0.1 3900")
|
|
||||||
server.succeed("${pkgs.netcat}/bin/nc -z -v 127.0.0.1 3902")
|
|
||||||
server.succeed("${pkgs.netcat}/bin/nc -z -v 127.0.0.1 3903")
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|||||||
Reference in New Issue
Block a user