79 lines
2 KiB
Python
79 lines
2 KiB
Python
defaults = {
|
|
'apt': {
|
|
'packages': {
|
|
'default-libmysqlclient-dev': {},
|
|
'libffi-dev': {},
|
|
'libldap2-dev': {},
|
|
'libsasl2-dev': {},
|
|
'libssl-dev': {},
|
|
'libxml2-dev': {},
|
|
'libxmlsec1-dev': {},
|
|
'libxslt1-dev': {},
|
|
'pkg-config': {},
|
|
'python3-wheel': {},
|
|
},
|
|
},
|
|
'nodejs': {
|
|
'version': 18,
|
|
},
|
|
'users': {
|
|
'powerdnsadmin': {
|
|
'home': '/opt/powerdnsadmin',
|
|
},
|
|
},
|
|
'postgresql': {
|
|
'roles': {
|
|
'powerdnsadmin': {
|
|
'password': repo.vault.password_for('{} postgresql powerdnsadmin'.format(node.name)),
|
|
},
|
|
},
|
|
'databases': {
|
|
'powerdnsadmin': {
|
|
'owner': 'powerdnsadmin',
|
|
},
|
|
},
|
|
},
|
|
}
|
|
|
|
|
|
@metadata_reactor.provides(
|
|
'icinga2_api/powerdnsadmin/services',
|
|
)
|
|
def icinga_check_for_new_release(metadata):
|
|
return {
|
|
'icinga2_api': {
|
|
'powerdnsadmin': {
|
|
'services': {
|
|
'POWERDNSADMIN UPDATE': {
|
|
'command_on_monitored_host': '/usr/local/share/icinga/plugins/check_github_for_new_release ngoduykhanh/PowerDNS-Admin {}'.format(metadata.get('powerdnsadmin/version')),
|
|
'vars.notification.mail': True,
|
|
'check_interval': '60m',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}
|
|
|
|
|
|
@metadata_reactor.provides(
|
|
'nginx/vhosts/powerdnsadmin',
|
|
)
|
|
def nginx(metadata):
|
|
if not node.has_bundle('nginx'):
|
|
raise DoNotRunAgain
|
|
|
|
return {
|
|
'nginx': {
|
|
'vhosts': {
|
|
'powerdnsadmin': {
|
|
'locations': {
|
|
'/': {
|
|
'target': 'http://127.0.0.1:22100',
|
|
},
|
|
},
|
|
'website_check_path': '/login',
|
|
'website_check_string': 'PowerDNS',
|
|
},
|
|
},
|
|
},
|
|
}
|