--- - name: Basic Setup hosts: ch-epimetheus roles: - role: apt-repo/base - role: core/base - role: core/sshd/base - role: core/zsh - role: core/ntp - name: Payload Setup hosts: ch-epimetheus roles: - role: apt-repo/spreadspace - role: nginx/base - role: monitoring/prometheus/exporter - role: storage/luks/base - role: storage/zfs/base - role: storage/zfs/sanoid - role: storage/zfs/syncoid post_tasks: - name: install post-boot script copy: dest: /usr/local/bin/post-boot mode: 0755 content: | #!/bin/bash set -e {% for name, volume in luks_devices.items() %} echo -e "opening crypto volume: \033[1;37m{{ name }}\033[0m" cryptsetup luksOpen '{{ volume.device }}' '{{ name }}' {% endfor %} systemctl restart zfs-import-cache.service systemctl restart zfs-mount.service systemctl restart zfs-share.service systemctl restart zfs-zed.service mount -a - name: install dstat script copy: dest: /usr/local/bin/dstat.sh mode: 0755 content: | #!/bin/bash {% set disk_variables = [] %} {% for name,volume in luks_devices.items() %} disk_{{ name | replace('-', '_') }}=$(basename $(realpath '{{ volume.device }}')) {{ disk_variables.append('$disk_'+(name | replace('-', '_'))) -}} {% endfor %} exec dstat -cnd -N {{ network.primary.name }} -D "{{ disk_variables | join(',') }}" --disk-util --top-io --top-bio