import ./make-test-python.nix (
{ pkgs, ... }:
{
name = "icingaweb2";
meta = {
maintainers = pkgs.lib.teams.helsinki-systems.members;
};
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 = {
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 = ''
start_all()
icingaweb2.wait_for_unit("multi-user.target")
icingaweb2.succeed("curl -sSf http://icingaweb2/authentication/login")
'';
}
)