add bundle:weechat, migrate weechat from rx300 to carlene

This commit is contained in:
Franzi 2023-08-25 12:51:19 +02:00
parent c6120accc1
commit 8cf2dde6e0
Signed by: kunsi
GPG key ID: 12E3D2136B818350
3 changed files with 111 additions and 61 deletions

View 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,
},
},
},
},
},
}

View file

@ -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

View file

@ -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,