bundlewrap/bundles/rspamd/metadata.py

125 lines
3.6 KiB
Python
Raw Normal View History

2020-11-07 21:32:08 +00:00
# WIP
defaults = {
'apt': {
'repos': {
'rspamd': {
'items': {
'deb [arch=amd64] http://rspamd.com/apt-stable/ {os_release} main',
},
},
},
2020-11-07 21:32:08 +00:00
'packages': {
'clamav': {},
'clamav-daemon': {},
'clamav-freshclam': {},
2021-07-18 05:56:26 +00:00
'clamav-unofficial-sigs': {
'needs': {
'pkg_apt:clamav',
'pkg_apt:clamav-daemon',
},
},
2020-11-07 21:32:08 +00:00
'rspamd': {},
},
},
2020-11-21 17:55:45 +00:00
'icinga2_api': {
'rspamd': {
'services': {
'RSPAMD PROCESS': {
'command_on_monitored_host': '/usr/lib/nagios/plugins/check_procs -C rspamd -c 1:',
},
'RSPAMD PROXY PORT': {
'command_on_monitored_host': '/usr/lib/nagios/plugins/check_tcp -H localhost -p 11332',
},
'RSPAMD WORKER PORT': {
'command_on_monitored_host': '/usr/lib/nagios/plugins/check_tcp -H localhost -p 11333',
},
'RSPAMD WEB INTERFACE': {
'command_on_monitored_host': '/usr/local/share/icinga/plugins/check_http_url_for_string http://localhost:11334/ "Login to Rspamd"',
},
},
},
},
2020-11-13 11:37:26 +00:00
'backups': {
'paths': {
'/var/lib/rspamd',
},
},
'cron': {
2020-11-08 14:03:26 +00:00
'clamav-unofficial-sigs': f'{node.magic_number%60} */4 * * * clamav /usr/sbin/clamav-unofficial-sigs >/dev/null 2>&1',
},
2020-11-09 09:52:24 +00:00
'postfix': {
'aliases': {
'clamav': {
'root',
},
'dmarc': {
'root',
},
2020-11-09 09:52:24 +00:00
},
},
'rspamd': {
2021-08-23 20:19:31 +00:00
'dkim': repo.vault.password_for(f'{node.name} rspamd dkim key'),
},
'telegraf': {
'input_plugins': {
'exec': {
'rspamd': {
'commands': [
'/usr/local/bin/telegraf-rspamd-plugin',
],
'data_format': 'influx',
'timeout': '5s',
},
},
},
},
2021-07-17 08:17:39 +00:00
'zfs': {
'datasets': {
2021-07-17 14:59:39 +00:00
'tank/rspamd': {},
2021-07-17 08:17:39 +00:00
'tank/rspamd/rspamd': {
'mountpoint': '/var/lib/rspamd',
'needed_by': {
2021-07-18 05:56:26 +00:00
'directory:/var/lib/rspamd/dkim',
2021-07-17 08:17:39 +00:00
'pkg_apt:rspamd',
},
},
'tank/rspamd/clamav': {
'mountpoint': '/var/lib/clamav',
'needed_by': {
'pkg_apt:clamav',
'pkg_apt:clamav-daemon',
'pkg_apt:clamav-freshclam',
},
},
'tank/rspamd/clamav-unofficial-sigs': {
'mountpoint': '/var/lib/clamav-unofficial-sigs',
'needed_by': {
'pkg_apt:clamav-unofficial-sigs',
'pkg_apt:clamav-freshclam',
},
},
},
},
2020-11-07 21:32:08 +00:00
}
# Nodes managed by us should always be able to send mail to all other
# servers.
@metadata_reactor.provides(
'rspamd/ignore_spam_check_for_ips',
)
def populate_permitted_ips_list_with_ips_from_repo(metadata):
ips = set()
for rnode in repo.nodes:
2021-02-12 19:37:36 +00:00
for _, found_ips in repo.libs.tools.resolve_identifier(repo, rnode.name).items():
for ip in found_ips:
if not ip.is_private:
ips.add(str(ip))
return {
'rspamd': {
'ignore_spam_check_for_ips': ips,
},
}