add bundle:weechat, migrate weechat from rx300 to carlene
This commit is contained in:
parent
c6120accc1
commit
8cf2dde6e0
3 changed files with 111 additions and 61 deletions
98
bundles/weechat/metadata.py
Normal file
98
bundles/weechat/metadata.py
Normal file
|
@ -0,0 +1,98 @@
|
||||||
|
defaults = {
|
||||||
|
'apt': {
|
||||||
|
'packages': {
|
||||||
|
'libpod-parser-perl': {},
|
||||||
|
'mosh': {},
|
||||||
|
'weechat': {},
|
||||||
|
'weechat-core': {},
|
||||||
|
'weechat-curses': {},
|
||||||
|
'weechat-perl': {},
|
||||||
|
'weechat-plugins': {},
|
||||||
|
'weechat-python': {},
|
||||||
|
'weechat-ruby': {},
|
||||||
|
},
|
||||||
|
'repos': {
|
||||||
|
'weechat': {
|
||||||
|
'items': {
|
||||||
|
'deb https://weechat.org/{os} {os_release} main',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'nftables': {
|
||||||
|
'rules': {
|
||||||
|
'weechat-mosh': {
|
||||||
|
'inet filter input udp dport { 60000-61000 } accept',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@metadata_reactor.provides(
|
||||||
|
'backup-client/pre-hooks',
|
||||||
|
'backups/paths',
|
||||||
|
'users',
|
||||||
|
'zfs/datasets',
|
||||||
|
)
|
||||||
|
def paths(metadata):
|
||||||
|
user = metadata.get('weechat/user')
|
||||||
|
|
||||||
|
return {
|
||||||
|
'backup-client': {
|
||||||
|
'pre-hooks': {
|
||||||
|
'weechat': f"""
|
||||||
|
echo 'core.weechat */layout store' >> /home/{user}/.weechat/fifo
|
||||||
|
echo 'core.weechat */save' >> /home/{user}/.weechat/fifo
|
||||||
|
""",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'backups': {
|
||||||
|
'paths': {
|
||||||
|
f'/home/{user}/.weechat',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'users': {
|
||||||
|
user: {
|
||||||
|
'enable_linger': True,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'zfs': {
|
||||||
|
'datasets': {
|
||||||
|
f'tank/{user}': {},
|
||||||
|
f'tank/{user}/weechat': {
|
||||||
|
'mountpoint': f'/home/{user}/.weechat',
|
||||||
|
'compression': 'on',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@metadata_reactor.provides(
|
||||||
|
'nginx/vhosts',
|
||||||
|
)
|
||||||
|
def relay_vhost(metadata):
|
||||||
|
if not node.has_bundle('nginx'):
|
||||||
|
raise DoNotRunAgain
|
||||||
|
|
||||||
|
relay_domain = metadata.get('weechat/relay_domain', None)
|
||||||
|
if relay_domain is None:
|
||||||
|
return {}
|
||||||
|
|
||||||
|
return {
|
||||||
|
'nginx': {
|
||||||
|
'vhosts': {
|
||||||
|
'weechat': {
|
||||||
|
'domain': relay_domain,
|
||||||
|
'locations': {
|
||||||
|
'/weechat': {
|
||||||
|
'proxy_read_timeout': '12h',
|
||||||
|
'target': 'http://[::1]:9000',
|
||||||
|
'websockets': True,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
|
@ -17,9 +17,15 @@ bundles = [
|
||||||
"check-mail-received",
|
"check-mail-received",
|
||||||
"postgresql",
|
"postgresql",
|
||||||
"travelynx",
|
"travelynx",
|
||||||
|
"weechat",
|
||||||
"zfs",
|
"zfs",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[metadata.backups]
|
||||||
|
paths = [
|
||||||
|
"/var/www/paste.franzi.business/",
|
||||||
|
]
|
||||||
|
|
||||||
[metadata.check-mail-received.t-online]
|
[metadata.check-mail-received.t-online]
|
||||||
email = "franzi.kunsmann@t-online.de"
|
email = "franzi.kunsmann@t-online.de"
|
||||||
imap_host = "secureimap.t-online.de"
|
imap_host = "secureimap.t-online.de"
|
||||||
|
@ -123,6 +129,10 @@ ssh_pubkey = [
|
||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCO0KG3/hnMO6UsReyEHvV4y7fYmJGQeCVnmw2xUoM4so2ZacWDi27aQbMq6wWb/JsUh4j3OOvEfNvf27LU6wpqcxM/QO22YjLsOtVzVnGjupsKAnN/nKy+X7KhspaF9qKFpmseBpuEAAnaxnreEFNC2tHarzJzgj+Y+Bmkg4tnMWsVc6EoBp1R2xmsdeRtgcQwms3xX9COeAjkFNgniGfqigO2AxPgC68h3GqSlcPzgpJ7ukvtCRCs/g3R+9GCnxsamd3AYhaRCIKauIyA44WqtH8lAH5+g16tU8WYcK1KySuwLt418kXDDJrZXaOLbxRl+jrShIdPoGhqs1y6KlOVTbj9TBVGt8CtV8JsLwzH2GCdLjImcXWUob2j2sxgBGTWiTfWf98XBLmBQwbAlBJ01gsHhJxDx0E2ttxueSjyg4hTzWCH0TlRmbpUDdIlqLgwHxmh97YFF5oqkgWGjSt7jxrW8Q9+FeMi5L2qHzKez5Z3quOhDIXWjEcpxqQQ2Lc=",
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCO0KG3/hnMO6UsReyEHvV4y7fYmJGQeCVnmw2xUoM4so2ZacWDi27aQbMq6wWb/JsUh4j3OOvEfNvf27LU6wpqcxM/QO22YjLsOtVzVnGjupsKAnN/nKy+X7KhspaF9qKFpmseBpuEAAnaxnreEFNC2tHarzJzgj+Y+Bmkg4tnMWsVc6EoBp1R2xmsdeRtgcQwms3xX9COeAjkFNgniGfqigO2AxPgC68h3GqSlcPzgpJ7ukvtCRCs/g3R+9GCnxsamd3AYhaRCIKauIyA44WqtH8lAH5+g16tU8WYcK1KySuwLt418kXDDJrZXaOLbxRl+jrShIdPoGhqs1y6KlOVTbj9TBVGt8CtV8JsLwzH2GCdLjImcXWUob2j2sxgBGTWiTfWf98XBLmBQwbAlBJ01gsHhJxDx0E2ttxueSjyg4hTzWCH0TlRmbpUDdIlqLgwHxmh97YFF5oqkgWGjSt7jxrW8Q9+FeMi5L2qHzKez5Z3quOhDIXWjEcpxqQQ2Lc=",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[metadata.weechat]
|
||||||
|
user = "kunsi"
|
||||||
|
relay_domain = "irc.franzi.business"
|
||||||
|
|
||||||
[[metadata.zfs.pools.tank.when_creating.config]]
|
[[metadata.zfs.pools.tank.when_creating.config]]
|
||||||
devices = [
|
devices = [
|
||||||
"/dev/nvme0n1p3",
|
"/dev/nvme0n1p3",
|
||||||
|
@ -133,6 +143,9 @@ type = "mirror"
|
||||||
[metadata.zfs.datasets.tank]
|
[metadata.zfs.datasets.tank]
|
||||||
primarycache = "metadata"
|
primarycache = "metadata"
|
||||||
|
|
||||||
|
[metadata.zfs.datasets.'tank/kunsi/webdump']
|
||||||
|
mountpoint = "/var/www/paste.franzi.business"
|
||||||
|
|
||||||
[metadata.vm]
|
[metadata.vm]
|
||||||
cpu = 24
|
cpu = 24
|
||||||
ram = 64
|
ram = 64
|
||||||
|
|
|
@ -54,38 +54,6 @@ nodes['rx300'] = {
|
||||||
|
|
||||||
# for `bw test` on jenkins
|
# for `bw test` on jenkins
|
||||||
'bind9utils': {},
|
'bind9utils': {},
|
||||||
|
|
||||||
# used by user:kunsi
|
|
||||||
'mosh': {},
|
|
||||||
'weechat': {},
|
|
||||||
'weechat-core': {},
|
|
||||||
'weechat-curses': {},
|
|
||||||
'weechat-perl': {},
|
|
||||||
'weechat-plugins': {},
|
|
||||||
'weechat-python': {},
|
|
||||||
'weechat-ruby': {},
|
|
||||||
|
|
||||||
# for weechat scripts
|
|
||||||
'libpod-parser-perl': {},
|
|
||||||
},
|
|
||||||
'repos': {
|
|
||||||
'weechat': {
|
|
||||||
'items': {
|
|
||||||
'deb https://weechat.org/debian {os_release} main',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
'backup-client': {
|
|
||||||
'pre-hooks': {
|
|
||||||
'kunsi-weechat': \
|
|
||||||
'echo \'core.weechat */layout store\' >> /home/kunsi/.weechat/weechat_fifo\n' \
|
|
||||||
'echo \'core.weechat */save\' >> /home/kunsi/.weechat/weechat_fifo\n',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
'backups': {
|
|
||||||
'paths': {
|
|
||||||
'/home/kunsi/.weechat',
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
'check-mail-received': {
|
'check-mail-received': {
|
||||||
|
@ -109,22 +77,6 @@ nodes['rx300'] = {
|
||||||
'allowed_hosts': ['jh.franzi.business'],
|
'allowed_hosts': ['jh.franzi.business'],
|
||||||
'timezone': 'Europe/Berlin',
|
'timezone': 'Europe/Berlin',
|
||||||
},
|
},
|
||||||
'letsencrypt': {
|
|
||||||
'concat_and_deploy': {
|
|
||||||
'kunsi-weechat': {
|
|
||||||
'match_domain': 'rx300.kunbox.net',
|
|
||||||
'target': '/home/kunsi/.weechat/ssl/relay.pem',
|
|
||||||
'chown': 'kunsi:kunsi',
|
|
||||||
'chmod': '0440',
|
|
||||||
'commands': [
|
|
||||||
'echo \'core.weechat */relay sslcertkey\' >> /home/kunsi/.weechat/weechat_fifo'
|
|
||||||
],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
'domains': {
|
|
||||||
'rx300.kunbox.net': set(),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
'matrix-dimension': {
|
'matrix-dimension': {
|
||||||
'url': 'dimension.franzi.business',
|
'url': 'dimension.franzi.business',
|
||||||
'version': 'c6d047c', # XXX master is broken as of 2021-11-27
|
'version': 'c6d047c', # XXX master is broken as of 2021-11-27
|
||||||
|
@ -175,14 +127,6 @@ nodes['rx300'] = {
|
||||||
'kunsi': 'hostmaster@kunbox.net',
|
'kunsi': 'hostmaster@kunbox.net',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
'nftables': {
|
|
||||||
'rules': {
|
|
||||||
'50-kunsi-weechat': [
|
|
||||||
'inet filter input udp dport { 60000-61000 } accept',
|
|
||||||
'inet filter input tcp dport 9001 accept',
|
|
||||||
],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
'nginx': {
|
'nginx': {
|
||||||
'security.txt': {
|
'security.txt': {
|
||||||
'contact': 'mailto:security@kunsmann.eu',
|
'contact': 'mailto:security@kunsmann.eu',
|
||||||
|
@ -426,11 +370,6 @@ nodes['rx300'] = {
|
||||||
'threads': 8,
|
'threads': 8,
|
||||||
'cache_slabs': 8,
|
'cache_slabs': 8,
|
||||||
},
|
},
|
||||||
'users': {
|
|
||||||
'kunsi': {
|
|
||||||
'enable_linger': True,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
'zfs': {
|
'zfs': {
|
||||||
'module_options': {
|
'module_options': {
|
||||||
'zfs_arc_max_gb': 48,
|
'zfs_arc_max_gb': 48,
|
||||||
|
|
Loading…
Reference in a new issue