bundlewrap/nodes/htz-cloud/sewfile.py

92 lines
2.7 KiB
Python

# this node runs only seafile. Seafile and the mysql server are not
# managed by bundlewrap.
nodes['htz-cloud.sewfile'] = {
'bundles': {
'seafile',
'zfs',
},
'groups': {
'debian-bullseye',
'webserver',
},
'metadata': {
'interfaces': {
'eth0': {
'ips': {
'116.203.205.248',
'2a01:4f8:c0c:c71b::1/64',
},
'gateway4': '172.31.1.1',
'gateway6': 'fe80::1',
},
'ens10': {
'ips': {
'172.19.137.3/32',
},
'routes': {
# VPN
'172.19.128.0/20': {
'via': '172.19.137.1',
},
},
},
},
'backups': {
'paths': {
'/mnt/seafile-data',
'/var/tmp/mysqldumps',
},
},
'backup-client': {
'pre-hooks': {
'mysqldump': \
'test -d /var/tmp/mysqldumps || mkdir -p /var/tmp/mysqldumps\n'\
'rm /var/tmp/mysqldumps/*.sql\n'\
'mysqldump --databases ccnet_db > /var/tmp/mysqldumps/ccnet_db.sql\n'\
'mysqldump --databases seafile_db > /var/tmp/mysqldumps/seafile_db.sql\n'\
'mysqldump --databases seahub_db > /var/tmp/mysqldumps/seahub_db.sql\n',
},
},
'icinga_options': {
'pretty_name': 'sewfile.franzi.business',
'vars.notification.sms': False,
},
'nginx': {
'vhosts': {
'sewfile.franzi.business': {
'max_body_size': '0',
'extras': True,
'website_check_path': '/accounts/login/',
'website_check_string': 'Username',
},
},
},
'vm': {
'cpu': 1,
'ram': 2,
},
'zfs': {
'pools': {
'tank': {
'when_creating': {
'config': [{
'devices': {'/dev/sdb'},
}],
},
},
},
'datasets': {
'tank/mysql': {
'mountpoint': '/var/lib/mysql',
},
'tank/seafile-data': {
'mountpoint': '/mnt/seafile-data',
'needed_by': {
'bundle:seafile',
},
},
},
},
},
}