diff --git a/bundles/jugendhackt_tools/items.py b/bundles/jugendhackt_tools/items.py index c2d0c6e..cc3e466 100644 --- a/bundles/jugendhackt_tools/items.py +++ b/bundles/jugendhackt_tools/items.py @@ -16,6 +16,7 @@ actions['jugendhackt_tools_create_virtualenv'] = { 'needs': { # actually /opt/jugendhackt_tools, but we don't create that 'directory:/opt/jugendhackt_tools/src', + 'pkg_apt:python3-virtualenv', }, } @@ -27,6 +28,7 @@ actions['jugendhackt_tools_install'] = { ]), 'needs': { 'action:jugendhackt_tools_create_virtualenv', + 'pkg_apt:python3-pip', }, 'triggered': True, } diff --git a/bundles/wide-dhcp6c/files/ip-up b/bundles/wide-dhcp6c/files/ip-up index da0ac8d..4230ff6 100644 --- a/bundles/wide-dhcp6c/files/ip-up +++ b/bundles/wide-dhcp6c/files/ip-up @@ -11,8 +11,9 @@ fi if systemctl is-active wide-dhcpv6-client; then systemctl stop wide-dhcpv6-client - sleep 1 + sleep 60 systemctl start wide-dhcpv6-client else + sleep 60 systemctl start wide-dhcpv6-client fi diff --git a/nodes/htz-cloud/jugendhackt.py b/nodes/htz-cloud/jugendhackt.py new file mode 100644 index 0000000..2723286 --- /dev/null +++ b/nodes/htz-cloud/jugendhackt.py @@ -0,0 +1,79 @@ +# jugend hackt toolz + +nodes['htz-cloud.jugendhackt'] = { + 'bundles': { + 'jugendhackt_tools', + 'postgresql', + 'zfs', + }, + 'groups': { + 'debian-bookworm', + 'webserver', + }, + 'metadata': { + 'interfaces': { + 'eth0': { + 'ips': { + '65.108.53.1', + '2a01:4f9:c011:be01::/64', + }, + 'gateway4': '172.31.1.1', + 'gateway6': 'fe80::1', + }, + }, + 'jugendhackt_tools': { + 'allowed_hosts': ['jh.sophies-kitchen.eu'], + 'timezone': 'Europe/Berlin', + }, + 'nginx': { + 'vhosts': { + 'jugendhackt_tools': { + 'domain': 'jh.sophies-kitchen.eu', + 'locations': { + '/': { + 'target': 'http://127.0.0.1:22090/', + }, + '/static/': { + 'alias': '/opt/jugendhackt_tools/static/', + }, + }, + }, + }, + }, + 'postgresql': { + 'version': '16', + }, + 'sysctl': { + 'options': { + # XXX find out if this is really needed + 'net.ipv4.ip_forward': '1', + 'net.ipv6.conf.all.forwarding': '1', + }, + }, + 'vm': { + 'cpu': 2, + 'ram': 4, + }, + 'users': { + 'sophie': { + 'enable_linger': True, + 'ssh_pubkey': [ + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDILcYrMQNRVXAm5L+7No1ZumqfCyRc1QZmTY3O7Q8hsE4+fCAvwsWm2aSMfLL3NnIl8Nm1Rixzic5jdYKYNIY3SlX1wvTB+MhGb2eyVSd7c/Y98aCLSlDkQ2sebjpdA1FoJOeGD3qxqDwj0+KckXU2ZaSSQY7CxVsjH65UxCHqVAg+6uLdNbj7j850s1B9NXVXef+sBQ5jUngXxnqQWwNh2Mn8auwumkeEG4SYf96wyFkLvmBitOng/GyLWl9YPnXXHHDnatcVipy7y34qw4CQ4P84anecbA+Bqr9IcxBW6qYmYgRKEnAcmEfjQd+BI1gCLB1BBEmb/qp+mVLd4tOh sophie@carbon" + ], + }, + }, + 'zfs': { + 'pools': { + 'tank': { + 'when_creating': { + 'config': [{ + 'devices': { + '/dev/disk/by-id/scsi-0HC_Volume_100095339', + }, + }] + }, + }, + }, + }, + }, +}