bundlewrap/bundles/simple-icinga-dashboard/items.py

62 lines
1.8 KiB
Python

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 = {
'/opt/simple-icinga-dashboard/config.toml': {
'content': repo.libs.faults.dict_as_toml(node.metadata.get('simple-icinga-dashboard')),
'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',
},
},
}