bundlewrap/bundles/bind-acme/metadata.py
2021-11-06 13:30:26 +01:00

36 lines
855 B
Python

@metadata_reactor.provides(
'dns',
)
def acme_records(metadata):
if metadata.get('bind/type') == 'slave':
return {}
return {
'dns': {
f'_acme-challenge.{domain}': {
'CNAME': {f"{domain}.{metadata.get('bind/acme_zone')}."},
}
for other_node in repo.nodes
for domain in other_node.metadata.get('letsencrypt/domains', {}).keys()
}
}
@metadata_reactor.provides(
'bind/zones',
)
def acme_zone(metadata):
if metadata.get('bind/type') == 'slave':
return {}
return {
'bind': {
'zones': {
metadata.get('bind/acme_zone'): {
'dynamic': True,
'records': set(),
'views': ['external'],
},
},
},
}