41 lines
811 B
Python
41 lines
811 B
Python
from ipaddress import ip_interface
|
|
|
|
defaults = {
|
|
'apt': {
|
|
'packages': {
|
|
'nginx': {},
|
|
},
|
|
},
|
|
'nginx': {
|
|
'vhosts': {},
|
|
},
|
|
}
|
|
|
|
|
|
@metadata_reactor.provides(
|
|
'dns',
|
|
)
|
|
def dns(metadata):
|
|
return {
|
|
'dns': {
|
|
domain: repo.libs.dns.get_a_records(metadata, internal=config.get('internal_dns', True))
|
|
for domain, config in metadata.get('nginx/vhosts').items()
|
|
},
|
|
}
|
|
|
|
|
|
@metadata_reactor.provides(
|
|
'letsencrypt/domains',
|
|
'letsencrypt/reload_after',
|
|
)
|
|
def letsencrypt(metadata):
|
|
return {
|
|
'letsencrypt': {
|
|
'domains': {
|
|
domain: {} for domain in metadata.get('nginx/vhosts')
|
|
},
|
|
'reload_after': {
|
|
'nginx',
|
|
},
|
|
},
|
|
}
|