ratelimit_exempt_hosts = set() for identifier in node.metadata.get('ntfy/ratelimit-exempt-hosts', set()): ips = repo.libs.tools.resolve_identifier(repo, identifier) ratelimit_exempt_hosts |= {str(ip) for ip in ips['ipv4']} ratelimit_exempt_hosts |= {str(ip) for ip in ips['ipv6']} files['/etc/ntfy/server.yml'] = { 'content_type': 'mako', 'context': { 'ratelimit_exempt_hosts': ratelimit_exempt_hosts, }, 'after': { 'pkg_apt:ntfy', }, 'triggers': { 'svc_systemd:ntfy:restart', }, } directories['/var/lib/ntfy'] = { 'owner': 'ntfy', 'group': 'ntfy', 'mode': '0700', 'before': { 'pkg_apt:ntfy', }, } directories['/var/cache/ntfy'] = { 'owner': 'ntfy', 'group': 'ntfy', 'mode': '0700', 'before': { 'pkg_apt:ntfy', }, } directories['/var/opt/ntfy'] = { 'owner': 'ntfy', 'group': 'ntfy', 'before': { 'pkg_apt:ntfy', }, } svc_systemd['ntfy'] = { 'needs': { 'file:/etc/ntfy/server.yml', 'pkg_apt:ntfy', }, } users['ntfy'] = { 'home': '/var/lib/ntfy', }