--- - name: Basic Setup hosts: ch-prometheus roles: - role: apt-repo/base - role: core/base - role: core/sshd/base - role: core/zsh - role: core/cpu-microcode - role: apt-repo/spreadspace - role: nginx/base - role: monitoring/prometheus/exporter - role: storage/luks/volumes - role: storage/zfs/pools - role: storage/zfs/sanoid - role: chaos-at-home/fileserver - role: vm/host/base - role: vm/host/network - role: installer/debian/base - role: installer/openbsd/base 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_volumes.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 sleep 2 rm -f /run/libvirt/qemu/autostarted systemctl restart libvirtd.service systemctl restart nfs-kernel-server - name: install dstat script copy: dest: /usr/local/bin/dstat.sh mode: 0755 content: | #!/bin/bash {% set disk_variables = [] %} {% for disk in install.disks.raid.members %} disk_primary{{ loop.index0 }}=$(basename $(realpath '{{ disk }}')) {{ disk_variables.append('$disk_primary'+(loop.index0| string)) -}} {% endfor %} {% for name,volume in luks_volumes.items() %} {% if 'crypto-nvme' not in name %} disk_{{ name | replace('-', '_') }}=$(basename $(realpath '{{ volume.device }}')) {{ disk_variables.append('$disk_'+(name | replace('-', '_'))) -}} {% endif %} {% endfor %} exec dstat -cnd -N {{ network.primary.name }} -D "{{ disk_variables | join(',') }}" --disk-util --top-io --top-bio