48 lines
1.1 KiB
Python
48 lines
1.1 KiB
Python
|
defaults = {
|
||
|
'apt': {
|
||
|
'packages': {
|
||
|
'gunicorn': {},
|
||
|
'python3-flask': {},
|
||
|
'python3-psycopg2': {},
|
||
|
},
|
||
|
},
|
||
|
}
|
||
|
|
||
|
|
||
|
@metadata_reactor.provides(
|
||
|
'icinga2-statuspage',
|
||
|
)
|
||
|
def import_db_settings_from_icinga(metadata):
|
||
|
return {
|
||
|
'icinga2-statuspage': {
|
||
|
'DB_USER': 'icinga2',
|
||
|
'DB_PASS': metadata.get('postgresql/roles/icinga2/password'),
|
||
|
'DB_NAME': 'icinga2',
|
||
|
},
|
||
|
}
|
||
|
|
||
|
|
||
|
@metadata_reactor.provides(
|
||
|
'nginx/vhosts/icinga2-statuspage',
|
||
|
)
|
||
|
def nginx(metadata):
|
||
|
if not node.has_bundle('nginx'):
|
||
|
raise DoNotRunAgain
|
||
|
|
||
|
return {
|
||
|
'nginx': {
|
||
|
'vhosts': {
|
||
|
'icinga2-statuspage': {
|
||
|
'domain': metadata.get('icinga2-statuspage/DOMAIN'),
|
||
|
'locations': {
|
||
|
'/': {
|
||
|
'target': 'http://127.0.0.1:22110',
|
||
|
},
|
||
|
},
|
||
|
'website_check_path': '/',
|
||
|
'website_check_string': 'status page',
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
}
|