summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--inventory/group_vars/chaos-at-home/network.yml2
-rw-r--r--inventory/group_vars/vmhost-ch-gnocchi/vars.yml10
-rw-r--r--inventory/group_vars/vmhost-ch-phoebe/vars.yml32
-rw-r--r--inventory/host_vars/ch-phoebe.yml54
-rw-r--r--inventory/host_vars/ch-prometheus.yml3
-rw-r--r--inventory/hosts.ini15
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