50 lines
1 KiB
Python
50 lines
1 KiB
Python
from ipaddress import ip_address, ip_interface
|
|
|
|
|
|
defaults = {
|
|
'apt': {
|
|
'packages': {
|
|
'clamav': {},
|
|
'clamav-daemon': {},
|
|
'clamav-freshclam': {},
|
|
'clamav-unofficial-sigs': {},
|
|
'rspamd': {},
|
|
},
|
|
},
|
|
'redis': {
|
|
'rspamd': {},
|
|
},
|
|
'rspamd': {
|
|
'web_password': repo.vault.password_for(node.name + ' rspamd web password'),
|
|
'ip_whitelist': set(),
|
|
},
|
|
}
|
|
|
|
|
|
@metadata_reactor.provides(
|
|
'nginx/vhosts',
|
|
)
|
|
def nginx_vhost(metadata):
|
|
return {
|
|
'nginx': {
|
|
'vhosts': {
|
|
metadata.get('rspamd/hostname'): {
|
|
'content': 'nginx/proxy_pass.conf',
|
|
'context': {
|
|
'target': 'http://localhost:11334',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}
|
|
|
|
|
|
@metadata_reactor.provides(
|
|
'rspamd/ip_whitelist',
|
|
)
|
|
def ignored_ips(metadata):
|
|
return {
|
|
'rspamd': {
|
|
'ip_whitelist': repo.libs.ip.get_all_ips(repo.nodes),
|
|
},
|
|
}
|