assert node.has_bundle('nginx'), 'letsencrypt needs nginx' pkg_apt = { 'dehydrated': {}, } actions = { 'letsencrypt_update_certificates': { 'command': 'dehydrated --cron --accept-terms --challenge http-01', 'triggered': True, 'needs': { 'pkg_apt:dehydrated', 'pkg_apt:nginx', }, 'needed_by': { 'svc_systemd:nginx', }, }, } files = { '/etc/dehydrated/domains.txt': { 'content_type': 'mako', 'triggers': { 'action:letsencrypt_update_certificates', }, }, '/etc/dehydrated/config': { 'triggers': { 'action:letsencrypt_update_certificates', }, }, '/etc/dehydrated/hook.sh': { 'content_type': 'mako', 'mode': '0755', }, }