diff options
-rw-r--r-- | inventory/group_vars/chaos-at-home/network.yml | 2 | ||||
-rw-r--r-- | inventory/group_vars/vmhost-ch-gnocchi/vars.yml | 10 | ||||
-rw-r--r-- | inventory/group_vars/vmhost-ch-phoebe/vars.yml | 32 | ||||
-rw-r--r-- | inventory/host_vars/ch-phoebe.yml | 54 | ||||
-rw-r--r-- | inventory/host_vars/ch-prometheus.yml | 3 | ||||
-rw-r--r-- | inventory/hosts.ini | 15 |
6 files changed, 108 insertions, 8 deletions
diff --git a/inventory/group_vars/chaos-at-home/network.yml b/inventory/group_vars/chaos-at-home/network.yml index cca3c947..ac46f005 100644 --- a/inventory/group_vars/chaos-at-home/network.yml +++ b/inventory/group_vars/chaos-at-home/network.yml @@ -25,6 +25,7 @@ network_zones: ch-raspi-ntp: 33 ch-prometheus: 200 ch-epimetheus: 201 + ch-phoebe: 202 ch-gw-lan: 254 ############# ## legacy stuff @@ -84,6 +85,7 @@ network_zones: prefix: 192.168.42.0/24 offsets: ch-prometheus: 20 # IPMI + ch-phoebe: 21 # IPMI ch-jump: 22 ch-equinox-ws: 42 ch-dione: 100 # IPMI diff --git a/inventory/group_vars/vmhost-ch-gnocchi/vars.yml b/inventory/group_vars/vmhost-ch-gnocchi/vars.yml index 5b36795e..852b905c 100644 --- a/inventory/group_vars/vmhost-ch-gnocchi/vars.yml +++ b/inventory/group_vars/vmhost-ch-gnocchi/vars.yml @@ -1,13 +1,13 @@ --- __vmhost_bridge_interface_zones__: enp1s0: - - lan - - svc + - lan + - svc enp2s0: - - magenta + - magenta enp3s0: - - mgmt - - iot + - mgmt + - iot __vmhost_bridge_interface_zones_yaml__: | {% for interface in (__vmhost_bridge_interface_zones__.keys() | sort) %} diff --git a/inventory/group_vars/vmhost-ch-phoebe/vars.yml b/inventory/group_vars/vmhost-ch-phoebe/vars.yml new file mode 100644 index 00000000..5e7bcf57 --- /dev/null +++ b/inventory/group_vars/vmhost-ch-phoebe/vars.yml @@ -0,0 +1,32 @@ +--- +__vmhost_bridge_interface_zones__: + eno1: + - lan + eno2: + - svc + eno3: + - iot + - mgmt + eno4: + - magenta + +__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 %} + + +vm_host: + name: ch-phoebe + network: + bridges: "{{ __vmhost_bridge_interface_zones_yaml__ | from_yaml }}" + zfs: + default: + pool: storage + name: vm + properties: + compression: lz4 diff --git a/inventory/host_vars/ch-phoebe.yml b/inventory/host_vars/ch-phoebe.yml new file mode 100644 index 00000000..5280c7d0 --- /dev/null +++ b/inventory/host_vars/ch-phoebe.yml @@ -0,0 +1,54 @@ +--- +install_interface: eno1 + +install: + efi: true + disks: + primary: /dev/disk/by-id/nvme- + system_lvm: + size: 25G + +network: + nameservers: "{{ network_zones.lan.dns }}" + domain: "{{ host_domain }}" + primary: &_network_primary_ + 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 }}" + eno2: "{{ __vmhost_bridge_interface_zones__['eno2'] | map('extract', network_zones) | map(attribute='vlan') | list }}" + eno3: "{{ __vmhost_bridge_interface_zones__['eno3'] | map('extract', network_zones) | map(attribute='vlan') | list }}" + eno4: "{{ __vmhost_bridge_interface_zones__['eno4'] | map('extract', network_zones) | map(attribute='vlan') | list }}" + + +apt_repo_components: + - main + - contrib + - non-free ## for microcode updates + + +installer_storage: + type: lvm + vg: "{{ host_name }}" + lv: installer + size: 10G + fs: ext4 + + +zfs_arc_size: + min: 2GB + max: 24GB + +zfs_pools: + storage: + mountpoint: /srv/storage + create_vdevs: mirror /dev/mapper/crypto-sata0 /dev/mapper/crypto-sata1 /dev/mapper/crypto-sata2 + +zfs_sanoid_modules: + storage/vm: + use_template: production + recursive: yes + process_children_only: yes diff --git a/inventory/host_vars/ch-prometheus.yml b/inventory/host_vars/ch-prometheus.yml index 361a8c02..4851ce5b 100644 --- a/inventory/host_vars/ch-prometheus.yml +++ b/inventory/host_vars/ch-prometheus.yml @@ -14,8 +14,7 @@ install: size: 25G network: - nameservers: - - 9.9.9.9 + nameservers: "{{ network_zones.lan.dns }}" domain: "{{ host_domain }}" primary: &_network_primary_ name: br-lan diff --git a/inventory/hosts.ini b/inventory/hosts.ini index 69e6184a..c990f6f5 100644 --- a/inventory/hosts.ini +++ b/inventory/hosts.ini @@ -14,6 +14,7 @@ env_group=chaos-at-home [chaos-at-home] ch-gnocchi host_name=gnocchi +ch-phoebe host_name=phoebe ch-router host_name=router ch-router-obsd host_name=router ch-gw-lan host_name=gw-lan @@ -324,7 +325,6 @@ ele-gwhetzner ## virtualization [vmhost-ch-gnocchi-guests] ch-router -ch-router-obsd ch-jump ch-gw-lan ch-nic @@ -333,6 +333,17 @@ ch-gnocchi [vmhost-ch-gnocchi:children] vmhost-ch-gnocchi-guests +[vmhost-ch-phoebe-guests] +#ch-router +ch-router-obsd +#ch-jump +#ch-gw-lan +#ch-nic +[vmhost-ch-phoebe] +ch-phoebe +[vmhost-ch-phoebe:children] +vmhost-ch-phoebe-guests + [vmhost-ch-prometheus-guests] ch-apps ch-http-proxy @@ -391,6 +402,7 @@ vmhost-ele-telesto-guests [kvmhosts] ch-gnocchi +ch-phoebe ch-prometheus ch-atlas sk-2019vm @@ -399,6 +411,7 @@ ele-telesto [kvmguests:children] vmhost-ch-gnocchi-guests +vmhost-ch-phoebe-guests vmhost-ch-prometheus-guests vmhost-ch-atlas-guests vmhost-sk-2019vm-guests |