2019-11-09 19:18:09 +00:00
|
|
|
import ./make-test-python.nix ({ pkgs, ... }: {
|
2019-07-07 01:03:59 +00:00
|
|
|
name = "icingaweb2";
|
2024-11-04 11:59:26 +00:00
|
|
|
meta = {
|
|
|
|
maintainers = pkgs.lib.teams.helsinki-systems.members;
|
2019-07-07 01:03:59 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
nodes = {
|
|
|
|
icingaweb2 = { config, pkgs, ... }: {
|
|
|
|
services.icingaweb2 = {
|
|
|
|
enable = true;
|
|
|
|
|
|
|
|
modulePackages = with pkgs.icingaweb2Modules; {
|
|
|
|
particles = theme-particles;
|
|
|
|
spring = theme-spring;
|
|
|
|
};
|
|
|
|
|
|
|
|
modules = {
|
|
|
|
doc.enable = true;
|
|
|
|
migrate.enable = true;
|
|
|
|
setup.enable = true;
|
|
|
|
test.enable = true;
|
|
|
|
translation.enable = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
generalConfig = {
|
|
|
|
global = {
|
|
|
|
module_path = "${pkgs.icingaweb2}/modules";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
authentications = {
|
|
|
|
icingaweb = {
|
|
|
|
backend = "external";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
groupBackends = {
|
|
|
|
icingaweb = {
|
|
|
|
backend = "db";
|
|
|
|
resource = "icingaweb_db";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
resources = {
|
|
|
|
# Not used, so no DB server needed
|
|
|
|
icingaweb_db = {
|
|
|
|
type = "db";
|
|
|
|
db = "mysql";
|
|
|
|
host = "localhost";
|
|
|
|
username = "icingaweb2";
|
|
|
|
password = "icingaweb2";
|
|
|
|
dbname = "icingaweb2";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
roles = {
|
|
|
|
Administrators = {
|
|
|
|
users = "*";
|
|
|
|
permissions = "*";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
testScript = ''
|
2019-11-09 19:18:09 +00:00
|
|
|
start_all()
|
|
|
|
icingaweb2.wait_for_unit("multi-user.target")
|
|
|
|
icingaweb2.succeed("curl -sSf http://icingaweb2/authentication/login")
|
2019-07-07 01:03:59 +00:00
|
|
|
'';
|
|
|
|
})
|