actions = {
    'simple-icinga-dashboard_create_virtualenv': {
        'command': '/usr/bin/python3 -m virtualenv -p python3 /opt/simple-icinga-dashboard/venv/',
        'unless': 'test -d /opt/simple-icinga-dashboard/venv/',
        'needs': {
            # actually /opt/simple-icinga-dashboard, but we don't create that
            'directory:/opt/simple-icinga-dashboard/src',
        },
    },
    'simple-icinga-dashboard_install_requirements': {
        'command':
            'cd /opt/simple-icinga-dashboard/src && '
            '/opt/simple-icinga-dashboard/venv/bin/pip install --upgrade pip && '
            '/opt/simple-icinga-dashboard/venv/bin/pip install --upgrade -r requirements.txt',
        'needs': {
            'action:simple-icinga-dashboard_create_virtualenv',
        },
        'triggered': True,
    },
}

users = {
    'icinga_dashboard': {
        'home': '/opt/simple-icinga-dashboard',
    },
}

directories = {
    '/opt/simple-icinga-dashboard/out': {
        'owner': 'icinga_dashboard',
    },
    '/opt/simple-icinga-dashboard/src': {},
}

git_deploy = {
    '/opt/simple-icinga-dashboard/src': {
        'repo': 'https://git.franzi.business/sophie/simple-icinga-dashboard.git',
        'rev': 'main',
        'triggers': {
            'action:simple-icinga-dashboard_install_requirements',
        },
    },
}

files = {
    '/etc/systemd/system/simple-icinga-dashboard.service': {
        'triggers': {
            'action:systemd-reload',
        },
    },
    '/etc/systemd/system/simple-icinga-dashboard.timer': {
        'triggers': {
            'action:systemd-reload',
        },
    },
    '/opt/simple-icinga-dashboard/config.toml': {
        'content_type': 'mako',
        'needs': {
            'git_deploy:/opt/simple-icinga-dashboard/src',
        },
    },
}

symlinks = {
    '/opt/simple-icinga-dashboard/out/bootstrap.min.css': {
        'target': '/opt/simple-icinga-dashboard/src/bootstrap.min.css',
        'needs': {
            'git_deploy:/opt/simple-icinga-dashboard/src',
        },
    },
}

svc_systemd = {
    'simple-icinga-dashboard.timer': {
        'needs': {
            'action:simple-icinga-dashboard_install_requirements',
            'file:/etc/systemd/system/simple-icinga-dashboard.service',
            'file:/etc/systemd/system/simple-icinga-dashboard.timer',
        },
    },
}