diff options
-rw-r--r-- | dan/ele-telesto.yml | 7 | ||||
-rw-r--r-- | inventory/group_vars/vmhost-ele-telesto/vars.yml | 31 | ||||
-rw-r--r-- | inventory/host_vars/ele-telesto.yml | 43 | ||||
-rw-r--r-- | inventory/hosts.ini | 10 |
4 files changed, 88 insertions, 3 deletions
diff --git a/dan/ele-telesto.yml b/dan/ele-telesto.yml index ffc945c3..d8dc2ca3 100644 --- a/dan/ele-telesto.yml +++ b/dan/ele-telesto.yml @@ -7,3 +7,10 @@ - role: core/sshd/base - role: core/zsh - role: core/cpu-microcode + - role: storage/zfs/pools + - role: apt-repo/spreadspace + - role: storage/zfs/sanoid + - role: vm/host/base + - role: vm/host/network + - role: installer/debian/base + - role: installer/openbsd/base diff --git a/inventory/group_vars/vmhost-ele-telesto/vars.yml b/inventory/group_vars/vmhost-ele-telesto/vars.yml new file mode 100644 index 00000000..688fa66f --- /dev/null +++ b/inventory/group_vars/vmhost-ele-telesto/vars.yml @@ -0,0 +1,31 @@ +--- +__vmhost_bridge_interface_zones__: + eno1: "{{ network_zones | dict2items | rejectattr('value.vlan', 'undefined') | map(attribute='key') | difference(['lan']) }}" + +__vmhost_bridge_interface_zones_yaml__: | + {% for interface in (__vmhost_bridge_interface_zones__.keys() | sort) %} + {% for zone in __vmhost_bridge_interface_zones__[interface] %} + {{ zone }}: + interfaces: + - {{ interface }}.{{ network_zones[zone].vlan }} + {% endfor %} + {% endfor %} + lan: + interfaces: + - enp3s0 + +vm_host: + name: ele-telesto + network: + bridges: "{{ __vmhost_bridge_interface_zones_yaml__ | from_yaml }}" + zfs: + default: + pool: ssd + name: vm + properties: + compression: lz4 + storage: + pool: storage + name: vm + properties: + compression: lz4 diff --git a/inventory/host_vars/ele-telesto.yml b/inventory/host_vars/ele-telesto.yml index a6790797..f0dd01b7 100644 --- a/inventory/host_vars/ele-telesto.yml +++ b/inventory/host_vars/ele-telesto.yml @@ -1,20 +1,57 @@ --- +install_interface: enp3s0 + install: efi: yes disks: primary: /dev/disk/by-id/ata-OCZ-VERTEX2_OCZ-5328NA52AN84G246 + system_lvm: + size: 15G network: nameservers: "{{ network_zones.lan.dns }}" domain: "{{ host_domain }}" primary: &_network_primary_ - name: eno1 + name: br-lan address: "{{ network_zones.lan.prefix | ipaddr(network_zones.lan.offsets[inventory_hostname]) | ipaddr('address/prefix') }}" gateway: "{{ network_zones.lan.gateway }}" interfaces: - *_network_primary_ + vlans: + eno1: "{{ __vmhost_bridge_interface_zones__['eno1'] | map('extract', network_zones) | map(attribute='vlan') | list }}" apt_repo_components: - main - - contrib - - non-free + - contrib ## for zfs + - non-free ## for microcode updates + + +installer_storage: + type: lvm + vg: "{{ host_name }}" + lv: installer + size: 3G + fs: ext4 + + +zfs_arc_size: + min: 1GB + max: 4GB + +zfs_pools: + ssd: + mountpoint: /srv/ssd + create_vdevs: ata-OCZ-VERTEX2_OCZ-5328NA52AN84G246-part3 + storage: + mountpoint: /srv/storage + create_vdevs: mirror /dev/disk/by-id/ata-SAMSUNG_HD103UJ_S1PVJDWQ720808 /dev/disk/by-id/ata-SAMSUNG_HD103UJ_S1PVJDWQ720810 + +zfs_sanoid_modules: + nvme/vm: + use_template: production + recursive: yes + process_children_only: yes + storage/vm: + use_template: production + recursive: yes + process_children_only: yes diff --git a/inventory/hosts.ini b/inventory/hosts.ini index f12087f3..f19f064b 100644 --- a/inventory/hosts.ini +++ b/inventory/hosts.ini @@ -237,6 +237,7 @@ ele-gwhetzner ele-mur ele-coturn ele-jitsi +ele-mon [elevate:children] ele-ap @@ -369,6 +370,13 @@ sk-tomnext [vmhost-sk-tomnext:children] vmhost-sk-tomnext-guests +[vmhost-ele-telesto-guests] +ele-mon +[vmhost-ele-telesto] +ele-telesto +[vmhost-ele-telesto:children] +vmhost-ele-telesto-guests + [kvmhosts] ch-gnocchi @@ -376,6 +384,7 @@ ch-prometheus ch-atlas sk-2019vm sk-tomnext +ele-telesto [kvmguests:children] vmhost-ch-gnocchi-guests @@ -383,6 +392,7 @@ vmhost-ch-prometheus-guests vmhost-ch-atlas-guests vmhost-sk-2019vm-guests vmhost-sk-tomnext-guests +vmhost-ele-telesto-guests ## prometheus monitoring |