acme_node
This commit is contained in:
parent
e13f493c22
commit
fd15227637
5 changed files with 16 additions and 15 deletions
|
@ -8,7 +8,7 @@ def acme_records(metadata):
|
||||||
return {
|
return {
|
||||||
'dns': {
|
'dns': {
|
||||||
f'_acme-challenge.{domain}': {
|
f'_acme-challenge.{domain}': {
|
||||||
'CNAME': {f"{domain}.{metadata.get('bind/acme_hostname')}."},
|
'CNAME': {f"{domain}.{metadata.get('bind/acme_zone')}."},
|
||||||
}
|
}
|
||||||
for other_node in repo.nodes
|
for other_node in repo.nodes
|
||||||
for domain in other_node.metadata.get('letsencrypt/domains', {}).keys()
|
for domain in other_node.metadata.get('letsencrypt/domains', {}).keys()
|
||||||
|
@ -26,7 +26,7 @@ def acme_zone(metadata):
|
||||||
return {
|
return {
|
||||||
'bind': {
|
'bind': {
|
||||||
'zones': {
|
'zones': {
|
||||||
metadata.get('bind/acme_hostname'): {
|
metadata.get('bind/acme_zone'): {
|
||||||
'dynamic': True,
|
'dynamic': True,
|
||||||
'records': set(),
|
'records': set(),
|
||||||
'views': ['external'],
|
'views': ['external'],
|
||||||
|
|
|
@ -9,8 +9,8 @@ deploy_challenge() {
|
||||||
CHALLENGE=$3
|
CHALLENGE=$3
|
||||||
KEY=hmac-sha512:acme.sublimity.de:${acme_key}
|
KEY=hmac-sha512:acme.sublimity.de:${acme_key}
|
||||||
cmd="
|
cmd="
|
||||||
server 162.55.188.157
|
server $SERVER
|
||||||
zone acme.sublimity.de.
|
zone $ACME_ZONE.
|
||||||
update add $DOMAIN.$ACME_ZONE. 60 IN TXT \"$CHALLENGE\"
|
update add $DOMAIN.$ACME_ZONE. 60 IN TXT \"$CHALLENGE\"
|
||||||
send
|
send
|
||||||
"
|
"
|
||||||
|
@ -31,8 +31,8 @@ clean_challenge() {
|
||||||
CHALLENGE=$3
|
CHALLENGE=$3
|
||||||
KEY=hmac-sha512:acme.sublimity.de:${acme_key}
|
KEY=hmac-sha512:acme.sublimity.de:${acme_key}
|
||||||
cmd="
|
cmd="
|
||||||
server 162.55.188.157
|
server $SERVER
|
||||||
zone acme.sublimity.de.
|
zone $ACME_ZONE.
|
||||||
update delete $DOMAIN.$ACME_ZONE. TXT
|
update delete $DOMAIN.$ACME_ZONE. TXT
|
||||||
send
|
send
|
||||||
"
|
"
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
assert node.has_bundle('nginx')
|
assert node.has_bundle('nginx')
|
||||||
|
|
||||||
|
from ipaddress import ip_interface
|
||||||
|
|
||||||
delegated = 'delegate_to_node' in node.metadata.get('letsencrypt')
|
delegated = 'delegate_to_node' in node.metadata.get('letsencrypt')
|
||||||
|
acme_node = repo.get_node(node.metadata.get('letsencrypt/acme_node'))
|
||||||
|
|
||||||
directories = {
|
directories = {
|
||||||
'/etc/dehydrated/conf.d': {},
|
'/etc/dehydrated/conf.d': {},
|
||||||
|
@ -22,9 +25,9 @@ files = {
|
||||||
'/etc/dehydrated/hook.sh': {
|
'/etc/dehydrated/hook.sh': {
|
||||||
'content_type': 'mako',
|
'content_type': 'mako',
|
||||||
'context': {
|
'context': {
|
||||||
'server': node.metadata.get('network/external/ipv4').split('/')[0],
|
'server': ip_interface(acme_node.metadata.get('network/external/ipv4')).ip,
|
||||||
'zone': node.metadata.get('bind/acme_hostname'),
|
'zone': acme_node.metadata.get('bind/acme_zone'),
|
||||||
'acme_key': node.metadata.get('bind/keys/acme.sublimity.de'),
|
'acme_key': acme_node.metadata.get('bind/keys/' + acme_node.metadata.get('bind/acme_zone')),
|
||||||
},
|
},
|
||||||
'mode': '0755',
|
'mode': '0755',
|
||||||
},
|
},
|
||||||
|
|
|
@ -17,5 +17,8 @@
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
'letsencrypt': {
|
||||||
|
'acme_node': 'htz.mails',
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
},
|
},
|
||||||
'bind': {
|
'bind': {
|
||||||
'hostname': 'resolver.name',
|
'hostname': 'resolver.name',
|
||||||
'acme_hostname': 'acme.sublimity.de',
|
'acme_zone': 'acme.sublimity.de',
|
||||||
'zones': {
|
'zones': {
|
||||||
'sublimity.de': {},
|
'sublimity.de': {},
|
||||||
'freibrief.net': {},
|
'freibrief.net': {},
|
||||||
|
@ -64,11 +64,6 @@
|
||||||
'letsencrypt': {
|
'letsencrypt': {
|
||||||
'domains': {
|
'domains': {
|
||||||
'ckn.li': set(),
|
'ckn.li': set(),
|
||||||
'test1.ckn.li': set(),
|
|
||||||
'test2.ckn.li': set(),
|
|
||||||
'test3.ckn.li': set(),
|
|
||||||
'test4.ckn.li': set(),
|
|
||||||
'test5.ckn.li': set(),
|
|
||||||
'sublimity.de': set(),
|
'sublimity.de': set(),
|
||||||
'freibrief.net': set(),
|
'freibrief.net': set(),
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in a new issue