summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2024-03-16 20:21:56 +0100
committerChristian Pointner <equinox@spreadspace.org>2024-03-16 20:21:56 +0100
commit99fe083dccd714785566429b4ea9a59204b2dcf0 (patch)
tree9c5046ec3a7eab891d83821514a9450a024bee67
parentadd companion role (diff)
add ch-companion-raspi
-rw-r--r--chaos-at-home/ch-companion-raspi.yml17
-rw-r--r--inventory/group_vars/chaos-at-home/network.yml1
-rw-r--r--inventory/host_vars/ch-companion-raspi.yml43
-rw-r--r--inventory/hosts.ini3
-rw-r--r--roles/kubernetes/standalone/base/defaults/main.yml2
-rw-r--r--roles/kubernetes/standalone/base/tasks/main.yml29
6 files changed, 82 insertions, 13 deletions
diff --git a/chaos-at-home/ch-companion-raspi.yml b/chaos-at-home/ch-companion-raspi.yml
new file mode 100644
index 00000000..8d3be45a
--- /dev/null
+++ b/chaos-at-home/ch-companion-raspi.yml
@@ -0,0 +1,17 @@
+---
+- name: Basic Setup
+ hosts: ch-companion-raspi
+ roles:
+ - role: apt-repo/base
+ - role: core/base
+ - role: core/sshd/base
+ - role: core/zsh
+ - role: core/ntp
+
+- name: Payload Setup
+ hosts: ch-companion-raspi
+ roles:
+ - role: apt-repo/spreadspace
+ - role: kubernetes/base
+ - role: kubernetes/standalone/base
+ - role: streaming/companion
diff --git a/inventory/group_vars/chaos-at-home/network.yml b/inventory/group_vars/chaos-at-home/network.yml
index 8027f61e..16c61dc6 100644
--- a/inventory/group_vars/chaos-at-home/network.yml
+++ b/inventory/group_vars/chaos-at-home/network.yml
@@ -37,6 +37,7 @@ network_zones:
ch-rpizero2w-test: 38
ch-apu-openwrt: 39
ch-zimablade: 40
+ ch-companion-raspi: 41
ele-media: 99
ch-prometheus: 200
ch-epimetheus: 201
diff --git a/inventory/host_vars/ch-companion-raspi.yml b/inventory/host_vars/ch-companion-raspi.yml
new file mode 100644
index 00000000..72537079
--- /dev/null
+++ b/inventory/host_vars/ch-companion-raspi.yml
@@ -0,0 +1,43 @@
+---
+raspios_variant: lite
+raspios_arch: arm64
+
+network:
+ nameservers: "{{ network_zones.lan.dns }}"
+ domain: "{{ host_domain }}"
+ primary: &_network_primary_
+ name: eth0
+ address: "{{ network_zones.lan.prefix | ansible.utils.ipaddr(network_zones.lan.offsets[inventory_hostname]) }}"
+ gateway: "{{ network_zones.lan.gateway }}"
+ interfaces:
+ - *_network_primary_
+
+raspios_boot_config:
+ - regexp: '^#?dtoverlay=disable-bt'
+ line: 'dtoverlay=disable-bt'
+ - regexp: '^#?dtoverlay=disable-wifi'
+ line: 'dtoverlay=disable-wifi'
+
+base_entropy_generator: rngd
+
+
+spreadspace_apt_repo_components:
+ - container
+
+
+docker_pkg_provider: docker-com
+docker_plugins:
+ - buildx
+
+kubernetes_version: 1.29.2
+kubernetes_container_runtime: docker
+kubernetes_standalone_max_pods: 42
+kubernetes_standalone_cni_variant: with-portmap
+kubernetes_standalone_install_kubeletctl: no
+
+
+companion_storage:
+ type: directory
+ dest: /srv/companion
+
+companion_version: 3.2.2
diff --git a/inventory/hosts.ini b/inventory/hosts.ini
index 83196518..306030c6 100644
--- a/inventory/hosts.ini
+++ b/inventory/hosts.ini
@@ -69,6 +69,7 @@ ch-rpi3-test
ch-rpizerow-test
ch-rpizero2w-test
ch-zimablade
+ch-companion-raspi
[chaos-at-home:children]
mz-chaos-at-home
@@ -350,6 +351,7 @@ ch-rpizero2w-test
ch-mclr
ch-octopi
ch-epimetheus
+ch-companion-raspi
ele-stage-raspi
[raspios:children]
dolmetsch-raspi
@@ -614,6 +616,7 @@ glt-tsdatacop
glt-thetys
sk-testvm
ch-testvm-prometheus
+ch-companion-raspi
[kubernetes:children]
kubernetes-cluster
diff --git a/roles/kubernetes/standalone/base/defaults/main.yml b/roles/kubernetes/standalone/base/defaults/main.yml
index 3f6b52bb..396f7c68 100644
--- a/roles/kubernetes/standalone/base/defaults/main.yml
+++ b/roles/kubernetes/standalone/base/defaults/main.yml
@@ -15,3 +15,5 @@ kubernetes_standalone_cni_variant: with-portmap
kubernetes_standalone_local_services_tcp: []
kubernetes_standalone_local_services_udp: []
+
+kubernetes_standalone_install_kubeletctl: yes
diff --git a/roles/kubernetes/standalone/base/tasks/main.yml b/roles/kubernetes/standalone/base/tasks/main.yml
index 495fd4ff..d95f9a20 100644
--- a/roles/kubernetes/standalone/base/tasks/main.yml
+++ b/roles/kubernetes/standalone/base/tasks/main.yml
@@ -57,17 +57,20 @@
enabled: yes
- name: install kubeletctl
- apt:
- name: kubeletctl
- state: present
+ when: kubernetes_standalone_install_kubeletctl
+ block:
+ - name: install kubeletctl package
+ apt:
+ name: kubeletctl
+ state: present
-- name: add kubeletctl config for shells
- loop:
- - zsh
- - bash
- blockinfile:
- path: "/root/.{{ item }}rc"
- create: yes
- marker: "### {mark} ANSIBLE MANAGED BLOCK for kubeletctl ###"
- content: |
- alias kubeletctl="kubeletctl --server 127.0.0.1 --cacert /etc/ssl/standalone-kubelet/ca-crt.pem --cert /etc/ssl/standalone-kubelet/client/crt.pem --key /etc/ssl/standalone-kubelet/client/key.pem --ignoreconfig"
+ - name: add kubeletctl config for shells
+ loop:
+ - zsh
+ - bash
+ blockinfile:
+ path: "/root/.{{ item }}rc"
+ create: yes
+ marker: "### {mark} ANSIBLE MANAGED BLOCK for kubeletctl ###"
+ content: |
+ alias kubeletctl="kubeletctl --server 127.0.0.1 --cacert /etc/ssl/standalone-kubelet/ca-crt.pem --cert /etc/ssl/standalone-kubelet/client/crt.pem --key /etc/ssl/standalone-kubelet/client/key.pem --ignoreconfig"