From 068b261745d30fcfc87c3e2f047647ff82e90749 Mon Sep 17 00:00:00 2001 From: c6ristian Date: Mon, 1 Sep 2025 01:25:11 +0200 Subject: [PATCH 001/160] grafana: make alerts better for fux --- .../chaosknoten/host_vars/grafana.yaml | 2 + .../docker_compose/alertmanager.yaml.j2 | 2 +- .../grafana/docker_compose/compose.yaml.j2 | 1 + .../docker_compose/grafana-datasource.yml | 1 - .../prometheus_alerts-fux.rules.yaml | 41 +++++++++++++++++++ .../prometheus_alerts.rules.yaml | 4 +- 6 files changed, 47 insertions(+), 4 deletions(-) create mode 100644 resources/chaosknoten/grafana/docker_compose/prometheus_alerts-fux.rules.yaml diff --git a/inventories/chaosknoten/host_vars/grafana.yaml b/inventories/chaosknoten/host_vars/grafana.yaml index 1ca6b1b..2e3672e 100644 --- a/inventories/chaosknoten/host_vars/grafana.yaml +++ b/inventories/chaosknoten/host_vars/grafana.yaml @@ -10,6 +10,8 @@ docker_compose__configuration_files: content: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/grafana/docker_compose/alertmanager.yaml.j2') }}" - name: prometheus_alerts.rules.yaml content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/grafana/docker_compose/prometheus_alerts.rules.yaml') }}" + - name: prometheus_alerts-fux.rules.yaml + content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/grafana/docker_compose/prometheus_alerts-fux.rules.yaml') }}" - name: alertmanager_alert_templates.tmpl content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/grafana/docker_compose/alertmanager_alert_templates.tmpl') }}" - name: loki.yaml diff --git a/resources/chaosknoten/grafana/docker_compose/alertmanager.yaml.j2 b/resources/chaosknoten/grafana/docker_compose/alertmanager.yaml.j2 index 3e51e55..51aeb63 100644 --- a/resources/chaosknoten/grafana/docker_compose/alertmanager.yaml.j2 +++ b/resources/chaosknoten/grafana/docker_compose/alertmanager.yaml.j2 @@ -79,7 +79,7 @@ receivers: - name: "email-fux-critical" email_configs: - send_resolved: true - to: "stb@lassitu.de" + to: "stb@lassitu.de,fux@zimdahl.org" from: "alert-manager@hamburg.ccc.de" smarthost: "cow.hamburg.ccc.de:587" auth_username: "alert-manager@hamburg.ccc.de" diff --git a/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 b/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 index c9c4cca..1683b79 100644 --- a/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 @@ -14,6 +14,7 @@ services: volumes: - ./configs/prometheus.yml:/etc/prometheus/prometheus.yml - ./configs/prometheus_alerts.rules.yaml:/etc/prometheus/rules/alerts.rules.yaml + - ./configs/prometheus_alerts-fux.rules.yaml:/etc/prometheus/rules/alerts-fux.rules.yaml - prom_data:/prometheus alertmanager: diff --git a/resources/chaosknoten/grafana/docker_compose/grafana-datasource.yml b/resources/chaosknoten/grafana/docker_compose/grafana-datasource.yml index 632ad1c..3cb6995 100644 --- a/resources/chaosknoten/grafana/docker_compose/grafana-datasource.yml +++ b/resources/chaosknoten/grafana/docker_compose/grafana-datasource.yml @@ -18,4 +18,3 @@ datasources: httpHeaderName1: "X-Scope-OrgID" secureJsonData: httpHeaderValue1: "chaos" - diff --git a/resources/chaosknoten/grafana/docker_compose/prometheus_alerts-fux.rules.yaml b/resources/chaosknoten/grafana/docker_compose/prometheus_alerts-fux.rules.yaml new file mode 100644 index 0000000..6d1187c --- /dev/null +++ b/resources/chaosknoten/grafana/docker_compose/prometheus_alerts-fux.rules.yaml @@ -0,0 +1,41 @@ +groups: + - name: Fux-Generic + rules: + - alert: HostJobFlaky + expr: group by(instance, job) (changes(up{org="fux"}[24h]) > 7) + for: 0m + labels: + severity: info + org: fux + annotations: + summary: Job {{ $labels.job }} flaky on (instance {{ $labels.instance }}) + description: "The job {{ $labels.job }} on target: {{ $labels.instance }} has been flaky over the last 24 hours." + - name: Fux-SNMP + rules: + - alert: SnmpTargetMissing + expr: up{job=~".*snmp.*", org="fux"} == 0 + for: 15m + labels: + severity: critical + org: fux + annotations: + summary: SNMP target missing (instance {{ $labels.instance }}) + description: "SNMP target: {{ $labels.instance }} has disappeared for more the 15 min." + - name: Fux-DHCP + rules: + - alert: DhcpFuxSharedFailed + expr: script_success{script="check_dhcp_fux_shared"} == 0 + for: 0m + labels: + severity: critical + annotations: + summary: DHCP for Fux Shared stoped working + description: "No DHCP lease for the Fux Shared range was received \n V" + - alert: DhcpFuxAdminFailed + expr: script_success{script_success="check_dhcp_fux_admin"} == 0 + for: 0m + labels: + severity: critical + annotations: + summary: DHCP for Fux Admin stoped working + description: "No DHCP lease for the Fux Admin range was received" diff --git a/resources/chaosknoten/grafana/docker_compose/prometheus_alerts.rules.yaml b/resources/chaosknoten/grafana/docker_compose/prometheus_alerts.rules.yaml index aa20a42..4a2bc6f 100644 --- a/resources/chaosknoten/grafana/docker_compose/prometheus_alerts.rules.yaml +++ b/resources/chaosknoten/grafana/docker_compose/prometheus_alerts.rules.yaml @@ -410,7 +410,7 @@ groups: summary: Prometheus job missing (instance {{ $labels.instance }}) description: "A Prometheus job has disappeared\n VALUE = {{ $value }}" - alert: PrometheusTargetMissing - expr: up == 0 + expr: up{job!~"snmp|noc_room_temp"} == 0 for: 0m labels: severity: critical @@ -418,7 +418,7 @@ groups: summary: Prometheus target missing (instance {{ $labels.instance }}) description: "A Prometheus target has disappeared. An exporter might be crashed.\n VALUE = {{ $value }}" - alert: PrometheusAllTargetsMissing - expr: sum by (job) (up) == 0 + expr: sum by (job) (up{job!~"snmp|noc_room_temp"}) == 0 for: 0m labels: severity: critical From 1355d4d83419ee0964323ea49961c3e4642b721d Mon Sep 17 00:00:00 2001 From: c6ristian Date: Mon, 1 Sep 2025 01:25:11 +0200 Subject: [PATCH 002/160] grafana: make alerts better for fux --- .../chaosknoten/host_vars/grafana.yaml | 2 + .../docker_compose/alertmanager.yaml.j2 | 2 +- .../grafana/docker_compose/compose.yaml.j2 | 1 + .../docker_compose/grafana-datasource.yml | 1 - .../prometheus_alerts-fux.rules.yaml | 41 +++++++++++++++++++ .../prometheus_alerts.rules.yaml | 4 +- 6 files changed, 47 insertions(+), 4 deletions(-) create mode 100644 resources/chaosknoten/grafana/docker_compose/prometheus_alerts-fux.rules.yaml diff --git a/inventories/chaosknoten/host_vars/grafana.yaml b/inventories/chaosknoten/host_vars/grafana.yaml index 1ca6b1b..2e3672e 100644 --- a/inventories/chaosknoten/host_vars/grafana.yaml +++ b/inventories/chaosknoten/host_vars/grafana.yaml @@ -10,6 +10,8 @@ docker_compose__configuration_files: content: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/grafana/docker_compose/alertmanager.yaml.j2') }}" - name: prometheus_alerts.rules.yaml content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/grafana/docker_compose/prometheus_alerts.rules.yaml') }}" + - name: prometheus_alerts-fux.rules.yaml + content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/grafana/docker_compose/prometheus_alerts-fux.rules.yaml') }}" - name: alertmanager_alert_templates.tmpl content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/grafana/docker_compose/alertmanager_alert_templates.tmpl') }}" - name: loki.yaml diff --git a/resources/chaosknoten/grafana/docker_compose/alertmanager.yaml.j2 b/resources/chaosknoten/grafana/docker_compose/alertmanager.yaml.j2 index 3e51e55..51aeb63 100644 --- a/resources/chaosknoten/grafana/docker_compose/alertmanager.yaml.j2 +++ b/resources/chaosknoten/grafana/docker_compose/alertmanager.yaml.j2 @@ -79,7 +79,7 @@ receivers: - name: "email-fux-critical" email_configs: - send_resolved: true - to: "stb@lassitu.de" + to: "stb@lassitu.de,fux@zimdahl.org" from: "alert-manager@hamburg.ccc.de" smarthost: "cow.hamburg.ccc.de:587" auth_username: "alert-manager@hamburg.ccc.de" diff --git a/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 b/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 index c9c4cca..1683b79 100644 --- a/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 @@ -14,6 +14,7 @@ services: volumes: - ./configs/prometheus.yml:/etc/prometheus/prometheus.yml - ./configs/prometheus_alerts.rules.yaml:/etc/prometheus/rules/alerts.rules.yaml + - ./configs/prometheus_alerts-fux.rules.yaml:/etc/prometheus/rules/alerts-fux.rules.yaml - prom_data:/prometheus alertmanager: diff --git a/resources/chaosknoten/grafana/docker_compose/grafana-datasource.yml b/resources/chaosknoten/grafana/docker_compose/grafana-datasource.yml index 632ad1c..3cb6995 100644 --- a/resources/chaosknoten/grafana/docker_compose/grafana-datasource.yml +++ b/resources/chaosknoten/grafana/docker_compose/grafana-datasource.yml @@ -18,4 +18,3 @@ datasources: httpHeaderName1: "X-Scope-OrgID" secureJsonData: httpHeaderValue1: "chaos" - diff --git a/resources/chaosknoten/grafana/docker_compose/prometheus_alerts-fux.rules.yaml b/resources/chaosknoten/grafana/docker_compose/prometheus_alerts-fux.rules.yaml new file mode 100644 index 0000000..6d1187c --- /dev/null +++ b/resources/chaosknoten/grafana/docker_compose/prometheus_alerts-fux.rules.yaml @@ -0,0 +1,41 @@ +groups: + - name: Fux-Generic + rules: + - alert: HostJobFlaky + expr: group by(instance, job) (changes(up{org="fux"}[24h]) > 7) + for: 0m + labels: + severity: info + org: fux + annotations: + summary: Job {{ $labels.job }} flaky on (instance {{ $labels.instance }}) + description: "The job {{ $labels.job }} on target: {{ $labels.instance }} has been flaky over the last 24 hours." + - name: Fux-SNMP + rules: + - alert: SnmpTargetMissing + expr: up{job=~".*snmp.*", org="fux"} == 0 + for: 15m + labels: + severity: critical + org: fux + annotations: + summary: SNMP target missing (instance {{ $labels.instance }}) + description: "SNMP target: {{ $labels.instance }} has disappeared for more the 15 min." + - name: Fux-DHCP + rules: + - alert: DhcpFuxSharedFailed + expr: script_success{script="check_dhcp_fux_shared"} == 0 + for: 0m + labels: + severity: critical + annotations: + summary: DHCP for Fux Shared stoped working + description: "No DHCP lease for the Fux Shared range was received \n V" + - alert: DhcpFuxAdminFailed + expr: script_success{script_success="check_dhcp_fux_admin"} == 0 + for: 0m + labels: + severity: critical + annotations: + summary: DHCP for Fux Admin stoped working + description: "No DHCP lease for the Fux Admin range was received" diff --git a/resources/chaosknoten/grafana/docker_compose/prometheus_alerts.rules.yaml b/resources/chaosknoten/grafana/docker_compose/prometheus_alerts.rules.yaml index aa20a42..4a2bc6f 100644 --- a/resources/chaosknoten/grafana/docker_compose/prometheus_alerts.rules.yaml +++ b/resources/chaosknoten/grafana/docker_compose/prometheus_alerts.rules.yaml @@ -410,7 +410,7 @@ groups: summary: Prometheus job missing (instance {{ $labels.instance }}) description: "A Prometheus job has disappeared\n VALUE = {{ $value }}" - alert: PrometheusTargetMissing - expr: up == 0 + expr: up{job!~"snmp|noc_room_temp"} == 0 for: 0m labels: severity: critical @@ -418,7 +418,7 @@ groups: summary: Prometheus target missing (instance {{ $labels.instance }}) description: "A Prometheus target has disappeared. An exporter might be crashed.\n VALUE = {{ $value }}" - alert: PrometheusAllTargetsMissing - expr: sum by (job) (up) == 0 + expr: sum by (job) (up{job!~"snmp|noc_room_temp"}) == 0 for: 0m labels: severity: critical From 2ae8692603867afe3cdd81c26b517fbf7804a0a8 Mon Sep 17 00:00:00 2001 From: c6ristian Date: Fri, 12 Sep 2025 13:21:23 +0200 Subject: [PATCH 003/160] grafana: set 2m for DHCP check so that service restart dont create a alert --- .../grafana/docker_compose/prometheus_alerts-fux.rules.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/chaosknoten/grafana/docker_compose/prometheus_alerts-fux.rules.yaml b/resources/chaosknoten/grafana/docker_compose/prometheus_alerts-fux.rules.yaml index 6d1187c..b1836a3 100644 --- a/resources/chaosknoten/grafana/docker_compose/prometheus_alerts-fux.rules.yaml +++ b/resources/chaosknoten/grafana/docker_compose/prometheus_alerts-fux.rules.yaml @@ -25,7 +25,7 @@ groups: rules: - alert: DhcpFuxSharedFailed expr: script_success{script="check_dhcp_fux_shared"} == 0 - for: 0m + for: 2m labels: severity: critical annotations: @@ -33,7 +33,7 @@ groups: description: "No DHCP lease for the Fux Shared range was received \n V" - alert: DhcpFuxAdminFailed expr: script_success{script_success="check_dhcp_fux_admin"} == 0 - for: 0m + for: 2m labels: severity: critical annotations: From dec68ab994e811c13a8c15dec895157bb0e7bcb1 Mon Sep 17 00:00:00 2001 From: June Date: Sat, 11 Oct 2025 20:52:26 +0200 Subject: [PATCH 004/160] sunders(host): initialize sunders host --- inventories/chaosknoten/hosts.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index 93ea984..e0da92f 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -63,6 +63,10 @@ all: ansible_host: ntfy-intern.hamburg.ccc.de ansible_user: chaos ansible_ssh_common_args: -J ssh://chaos@public-reverse-proxy.hamburg.ccc.de + sunders: + ansible_host: sunders-intern.hamburg.ccc.de + ansible_user: chaos + ansible_ssh_common_args: -J ssh://chaos@public-reverse-proxy.hamburg.ccc.de hypervisors: hosts: chaosknoten: @@ -84,6 +88,7 @@ base_config_hosts: wiki: zammad: ntfy: + sunders: docker_compose_hosts: hosts: ccchoir: @@ -163,6 +168,7 @@ infrastructure_authorized_keys_hosts: wiki: zammad: ntfy: + sunders: wiki_hosts: hosts: eh22-wiki: From 1eaf85501f82d86ce176c9a4af8a299987b101ab Mon Sep 17 00:00:00 2001 From: June Date: Sun, 12 Oct 2025 05:28:43 +0200 Subject: [PATCH 005/160] reverse proxy configuration for matrix authentication service --- .../chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf | 1 + resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf | 1 + 2 files changed, 2 insertions(+) diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf index e37ae7a..9aa87f8 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf @@ -17,6 +17,7 @@ map $host $upstream_acme_challenge_host { invite.hamburg.ccc.de 172.31.17.144:31820; keycloak-admin.hamburg.ccc.de 172.31.17.144:31820; matrix.hamburg.ccc.de 172.31.17.150:31820; + mas.hamburg.ccc.de 172.31.17.150:31820; netbox.hamburg.ccc.de 172.31.17.167:31820; onlyoffice.hamburg.ccc.de 172.31.17.147:31820; pad.hamburg.ccc.de 172.31.17.141:31820; diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf index 4fcc86b..db184b9 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf @@ -34,6 +34,7 @@ stream { staging.hackertours.hamburg.ccc.de 172.31.17.151:8443; netbox.hamburg.ccc.de 172.31.17.167:8443; matrix.hamburg.ccc.de 172.31.17.150:8443; + mas.hamburg.ccc.de 172.31.17.150:8443; element.hamburg.ccc.de 172.31.17.151:8443; branding-resources.hamburg.ccc.de 172.31.17.151:8443; www.hamburg.ccc.de 172.31.17.151:8443; From 1322bcec5809f06fe41cf52f890c914ec9e9fdcf Mon Sep 17 00:00:00 2001 From: June Date: Sun, 12 Oct 2025 20:20:02 +0200 Subject: [PATCH 006/160] reverse proxy configuration for element-admin --- .../chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf | 1 + resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf | 1 + 2 files changed, 2 insertions(+) diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf index 9aa87f8..790ca77 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf @@ -18,6 +18,7 @@ map $host $upstream_acme_challenge_host { keycloak-admin.hamburg.ccc.de 172.31.17.144:31820; matrix.hamburg.ccc.de 172.31.17.150:31820; mas.hamburg.ccc.de 172.31.17.150:31820; + element-admin.hamburg.ccc.de 172.31.17.151:31820; netbox.hamburg.ccc.de 172.31.17.167:31820; onlyoffice.hamburg.ccc.de 172.31.17.147:31820; pad.hamburg.ccc.de 172.31.17.141:31820; diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf index db184b9..87b5408 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf @@ -35,6 +35,7 @@ stream { netbox.hamburg.ccc.de 172.31.17.167:8443; matrix.hamburg.ccc.de 172.31.17.150:8443; mas.hamburg.ccc.de 172.31.17.150:8443; + element-admin.hamburg.ccc.de 172.31.17.151:8443; element.hamburg.ccc.de 172.31.17.151:8443; branding-resources.hamburg.ccc.de 172.31.17.151:8443; www.hamburg.ccc.de 172.31.17.151:8443; From 8cb6ab3d0404114b09dfa700994fe007c1407003 Mon Sep 17 00:00:00 2001 From: June Date: Tue, 1 Jul 2025 04:13:52 +0200 Subject: [PATCH 007/160] reboot(role): intro. reboot role, which handles local conns. gracefully Also use this role instead of plain ansible.builtin.reboot. This is in preparation for using ansible_pull as we don't want to have ansible.builtin.reboot fail local playbook runs. --- .../apt_update_and_upgrade/handlers/main.yaml | 6 +++-- roles/reboot/README.md | 26 +++++++++++++++++++ roles/reboot/defaults/main.yaml | 2 ++ roles/reboot/meta/argument_specs.yaml | 13 ++++++++++ roles/reboot/tasks/main.yaml | 14 ++++++++++ 5 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 roles/reboot/README.md create mode 100644 roles/reboot/defaults/main.yaml create mode 100644 roles/reboot/meta/argument_specs.yaml create mode 100644 roles/reboot/tasks/main.yaml diff --git a/roles/apt_update_and_upgrade/handlers/main.yaml b/roles/apt_update_and_upgrade/handlers/main.yaml index 001bbe4..4af18be 100644 --- a/roles/apt_update_and_upgrade/handlers/main.yaml +++ b/roles/apt_update_and_upgrade/handlers/main.yaml @@ -1,3 +1,5 @@ - name: reboot the system - become: true - ansible.builtin.reboot: + ansible.builtin.include_tasks: "../../reboot/tasks/main.yaml" + vars: + # Simply don't reboot on local connections and rely on proper handling of /var/run/reboot-required. + reboot__local_handling: ignore diff --git a/roles/reboot/README.md b/roles/reboot/README.md new file mode 100644 index 0000000..1aaa6a6 --- /dev/null +++ b/roles/reboot/README.md @@ -0,0 +1,26 @@ +# Role `reboot` + +A role for rebooting a host, which also handles local connections gracefully. + +## Optional Arguments + +- `reboot__local_handling`: How to handle reboot on local connections. The default mode is `none`. + Possible choices: + - `none`: Just runs `ansible.builtin.reboot`, which would fail on local connections. + - `ignore`: Just doesn't reboot on local connections. + - `file`: Doesn't reboot on local connections and instead touches the file defined by `reboot__local_handling_file`. +- `reboot__local_handling_file`: The file to touch, if `reboot__local_handling` is `file`. Defaults to `/var/run/ansible-reboot-required`. + +## Usage in a Handler + +Since a reboot should often be triggered from a handler and since handlers can't include or import roles, this roles logic can also be run by including the `main.yaml` task using `ansible.builtin.include_tasks` as a workaround. +When doing so, arguments should be specified explicitly as necessary (so at least `reboot__local_handling`) as the default role inclusion mechanisms like setting default values don't work. + +An example handler would look like this: + +```yaml +- name: reboot the system + ansible.builtin.include_tasks: "../../reboot/tasks/main.yaml" + vars: + reboot__local_handling: ignore +``` diff --git a/roles/reboot/defaults/main.yaml b/roles/reboot/defaults/main.yaml new file mode 100644 index 0000000..dbcdd1b --- /dev/null +++ b/roles/reboot/defaults/main.yaml @@ -0,0 +1,2 @@ +reboot__local_handling: none +reboot__local_handling_file: /var/run/ansible-reboot-required diff --git a/roles/reboot/meta/argument_specs.yaml b/roles/reboot/meta/argument_specs.yaml new file mode 100644 index 0000000..7bad88f --- /dev/null +++ b/roles/reboot/meta/argument_specs.yaml @@ -0,0 +1,13 @@ +argument_specs: + main: + options: + reboot__local_handling: + type: str + required: false + choices: + - "none" + - "ignore" + - "file" + reboot__local_handling_file: + type: path + required: false diff --git a/roles/reboot/tasks/main.yaml b/roles/reboot/tasks/main.yaml new file mode 100644 index 0000000..791bf73 --- /dev/null +++ b/roles/reboot/tasks/main.yaml @@ -0,0 +1,14 @@ +- name: Reboot + ansible.builtin.reboot: + become: true + when: ansible_connection != "local" or reboot__local_handling == "none" + +- name: Touch a reboot required file + ansible.builtin.file: + path: "{{ reboot__local_handling_file }}" + state: touch + owner: root + group: root + mode: "0644" + become: true + when: ansible_connection == "local" and reboot__local_handling == "file" From 434ddfc95598c1f0e966b66b32c29422b12889b8 Mon Sep 17 00:00:00 2001 From: June Date: Mon, 13 Oct 2025 16:32:30 +0200 Subject: [PATCH 008/160] ansible_pull(role): introduce ansible_pull role Introduce ansible_pull role for setting up automatic ansible_pull runs. Also add accompanying host group and playbook play. --- inventories/chaosknoten/hosts.yaml | 2 + inventories/z9/hosts.yaml | 2 + playbooks/deploy.yaml | 5 ++ roles/ansible_pull/README.md | 21 +++++++ roles/ansible_pull/defaults/main.yaml | 3 + roles/ansible_pull/handlers/main.yaml | 4 ++ roles/ansible_pull/meta/argument_specs.yaml | 27 ++++++++ roles/ansible_pull/tasks/main.yaml | 63 +++++++++++++++++++ .../templates/ansible-pull.service.j2 | 16 +++++ .../templates/ansible-pull.timer.j2 | 9 +++ 10 files changed, 152 insertions(+) create mode 100644 roles/ansible_pull/README.md create mode 100644 roles/ansible_pull/defaults/main.yaml create mode 100644 roles/ansible_pull/handlers/main.yaml create mode 100644 roles/ansible_pull/meta/argument_specs.yaml create mode 100644 roles/ansible_pull/tasks/main.yaml create mode 100644 roles/ansible_pull/templates/ansible-pull.service.j2 create mode 100644 roles/ansible_pull/templates/ansible-pull.timer.j2 diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index e0da92f..03d93f6 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -186,3 +186,5 @@ alloy_hosts: hosts: grafana: ntfy: +ansible_pull_hosts: + hosts: diff --git a/inventories/z9/hosts.yaml b/inventories/z9/hosts.yaml index 62cacf1..9d5bb09 100644 --- a/inventories/z9/hosts.yaml +++ b/inventories/z9/hosts.yaml @@ -49,3 +49,5 @@ ola_hosts: proxmox_vm_template_hosts: hosts: thinkcccore0: +ansible_pull_hosts: + hosts: diff --git a/playbooks/deploy.yaml b/playbooks/deploy.yaml index 952aeec..c11a0e7 100644 --- a/playbooks/deploy.yaml +++ b/playbooks/deploy.yaml @@ -78,5 +78,10 @@ ansible.builtin.include_role: name: grafana.grafana.alloy +- name: Ensure ansible_pull deployment on ansible_pull_hosts + hosts: ansible_pull_hosts + roles: + - ansible_pull + - name: Run ensure_eh22_styleguide_dir Playbook ansible.builtin.import_playbook: ensure_eh22_styleguide_dir.yaml diff --git a/roles/ansible_pull/README.md b/roles/ansible_pull/README.md new file mode 100644 index 0000000..f31c552 --- /dev/null +++ b/roles/ansible_pull/README.md @@ -0,0 +1,21 @@ +# `ansible_pull` role + +A role for setting up automatic `ansible_pull` runs. + +## Supported Distributions + +Should work on Debian-based distributions. + +## Required Arguments + +- `ansible_pull__age_private_key`: The age private key to use to decrypt SOPS secrets with. +- `ansible_pull__repo_url`: The URL of the repo to run the playbook from. +- `ansible_pull__inventory`: The inventory to use. +- `ansible_pull__playbook`: The playbook to run. +- `ansible_pull__timer_on_calendar`: When to run the playbook. This is the argument to a systemd timers OnCalendar. See the systemd.time man page for reference. + +## Optional Arguments + +- `ansible_pull__user`: The user to run `ansible_pull` as. Defaults to `ansible_user`. +- `ansible_pull__checkout`: The branch/tag/commit to check out to run the playbook from. Defaults to `main`. +- `ansible_pull__timer_randomized_delay_sec`: The timer will be randomly delayed by a value between 0 and this. Useful to not have all timers fire at the same time, even if `ansible_pull__timer_on_calendar` is the same. Time value in seconds. Defaults to 0. diff --git a/roles/ansible_pull/defaults/main.yaml b/roles/ansible_pull/defaults/main.yaml new file mode 100644 index 0000000..3b9acb2 --- /dev/null +++ b/roles/ansible_pull/defaults/main.yaml @@ -0,0 +1,3 @@ +ansible_pull__user: "{{ ansible_user }}" +ansible_pull__checkout: "main" +ansible_pull__timer_randomized_delay_sec: "0" diff --git a/roles/ansible_pull/handlers/main.yaml b/roles/ansible_pull/handlers/main.yaml new file mode 100644 index 0000000..ada2426 --- /dev/null +++ b/roles/ansible_pull/handlers/main.yaml @@ -0,0 +1,4 @@ +- name: systemd daemon reload + ansible.builtin.systemd_service: + daemon_reload: true + become: true diff --git a/roles/ansible_pull/meta/argument_specs.yaml b/roles/ansible_pull/meta/argument_specs.yaml new file mode 100644 index 0000000..e5c88af --- /dev/null +++ b/roles/ansible_pull/meta/argument_specs.yaml @@ -0,0 +1,27 @@ +argument_specs: + main: + options: + ansible_pull__age_private_key: + type: str + required: true + ansible_pull__repo_url: + type: str + required: true + ansible_pull__inventory: + type: str + required: true + ansible_pull__playbook: + type: str + required: true + ansible_pull__timer_on_calendar: + type: str + required: true + ansible_pull__user: + type: str + required: false + ansible_pull__checkout: + type: str + required: false + ansible_pull__timer_randomized_delay_sec: + type: str + required: false diff --git a/roles/ansible_pull/tasks/main.yaml b/roles/ansible_pull/tasks/main.yaml new file mode 100644 index 0000000..53fc219 --- /dev/null +++ b/roles/ansible_pull/tasks/main.yaml @@ -0,0 +1,63 @@ +- name: ensure dependencies are installed + ansible.builtin.apt: + name: virtualenv + state: present + become: true + +# https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html#installing-and-upgrading-ansible-with-pip +# https://www.redhat.com/en/blog/python-venv-ansible +- name: ensure Ansible installation exists + ansible.builtin.pip: + name: + - ansible + - jmespath + state: present + virtualenv: /usr/local/lib/ansible_pull_venv + become: true + +- name: ensure secrets directory exists + ansible.builtin.file: + path: /etc/ansible_pull_secrets + state: directory + mode: "0750" + owner: root + group: "{{ ansible_pull__user }}" + become: true + +- name: ensure age private key is deployed + ansible.builtin.copy: + content: "{{ ansible_pull__age_private_key }}" + dest: /etc/ansible_pull_secrets/age_private_key + mode: "0640" + owner: root + group: "{{ ansible_pull__user }}" + become: true + +- name: ensure systemd service exists + ansible.builtin.template: + src: ansible-pull.service.j2 + dest: /etc/systemd/system/ansible-pull.service + owner: root + group: root + mode: "0644" + become: true + notify: + - systemd daemon reload + +- name: ensure systemd timer exists + ansible.builtin.template: + src: ansible-pull.timer.j2 + dest: /etc/systemd/system/ansible-pull.timer + owner: root + group: root + mode: "0644" + become: true + notify: + - systemd daemon reload + +- name: ensure systemd timer is started and enabled + ansible.builtin.systemd_service: + name: ansible-pull.timer + state: started + enabled: true + become: true diff --git a/roles/ansible_pull/templates/ansible-pull.service.j2 b/roles/ansible_pull/templates/ansible-pull.service.j2 new file mode 100644 index 0000000..8a17190 --- /dev/null +++ b/roles/ansible_pull/templates/ansible-pull.service.j2 @@ -0,0 +1,16 @@ +[Unit] +Description=ansible-pull for configuration and maintenance +After=network-online.target +Wants=network-online.target + +[Service] +Type=oneshot +Environment="SOPS_AGE_KEY_FILE=/etc/ansible_pull_secrets/age_private_key" +ExecStart=/usr/local/lib/ansible_pull_venv/bin/ansible-pull \ + --directory /home/chaos/ansible_pull_checkout \ + --clean \ + --url "{{ ansible_pull__repo_url }}" \ + --checkout "{{ ansible_pull__checkout }}" \ + --inventory "{{ ansible_pull__inventory }}" \ + "{{ ansible_pull__playbook }}" +User={{ ansible_pull__user }} diff --git a/roles/ansible_pull/templates/ansible-pull.timer.j2 b/roles/ansible_pull/templates/ansible-pull.timer.j2 new file mode 100644 index 0000000..24bc8ba --- /dev/null +++ b/roles/ansible_pull/templates/ansible-pull.timer.j2 @@ -0,0 +1,9 @@ +[Unit] +Description=ansible-pull for configuration and maintenance on a timer + +[Timer] +OnCalendar={{ ansible_pull__timer_on_calendar }} +RandomizedDelaySec={{ ansible_pull__timer_randomized_delay_sec }} + +[Install] +WantedBy=timers.target From 648489ed096241459d43a10e8c9475cc11eb7165 Mon Sep 17 00:00:00 2001 From: June Date: Mon, 13 Oct 2025 16:58:30 +0200 Subject: [PATCH 009/160] define common ansible_pull configuration for chaosknoten inventory hosts Define common configuration as it should be the same for all hosts, just the ansible_pull__age_private_key needs to be set per host then. --- inventories/chaosknoten/group_vars/all.yaml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 inventories/chaosknoten/group_vars/all.yaml diff --git a/inventories/chaosknoten/group_vars/all.yaml b/inventories/chaosknoten/group_vars/all.yaml new file mode 100644 index 0000000..d6cd2ce --- /dev/null +++ b/inventories/chaosknoten/group_vars/all.yaml @@ -0,0 +1,7 @@ +# ansible_pull +# ansible_pull__age_private_key needs to be defined per host (probably HOST.sops.yaml). +ansible_pull__repo_url: https://git.hamburg.ccc.de/CCCHH/ansible-infra.git +ansible_pull__inventory: inventories/chaosknoten +ansible_pull__playbook: playbooks/maintenance.yaml +ansible_pull__timer_on_calendar: "*-*-* 04:00:00 Europe/Berlin" +ansible_pull__timer_randomized_delay_sec: 30min From bd281713f10b9689e2a0265d9e7033723b3a18eb Mon Sep 17 00:00:00 2001 From: June Date: Mon, 13 Oct 2025 16:59:42 +0200 Subject: [PATCH 010/160] netbox(host): setup ansible_pull for host --- .sops.yaml | 3 + .../chaosknoten/host_vars/netbox.sops.yaml | 323 +++++++++--------- inventories/chaosknoten/hosts.yaml | 1 + 3 files changed, 171 insertions(+), 156 deletions(-) diff --git a/.sops.yaml b/.sops.yaml index d19954a..7a79c76 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -11,6 +11,7 @@ keys: - &admin_gpg_c6ristian B71138A6A8964A3C3B8899857B4F70C356765BAB - &admin_gpg_lilly D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - &admin_gpg_langoor 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + - &host_netbox_ansible_pull_age_key age1ss82zwqkj438re78355p886r89csqrrfmkfp8lrrf8v23nza492qza4ey3 creation_rules: - path_regex: inventories/chaosknoten/host_vars/cloud.* key_groups: @@ -117,6 +118,8 @@ creation_rules: - *admin_gpg_c6ristian - *admin_gpg_lilly - *admin_gpg_langoor + age: + - *host_netbox_ansible_pull_age_key - path_regex: inventories/chaosknoten/host_vars/tickets.* key_groups: - pgp: diff --git a/inventories/chaosknoten/host_vars/netbox.sops.yaml b/inventories/chaosknoten/host_vars/netbox.sops.yaml index 3ae3b55..8c08ac3 100644 --- a/inventories/chaosknoten/host_vars/netbox.sops.yaml +++ b/inventories/chaosknoten/host_vars/netbox.sops.yaml @@ -1,222 +1,233 @@ netbox__db_password: ENC[AES256_GCM,data:4k0wmOe1c5AE298Juw5HMm5dttTKB1WsVxha4MwaIILpyIbJO0CfmzjYflfBTFPPGgVeuYdCobzchzqkP+8eAQ==,iv:25Cj2BLGJK9tMDr42AqV1IzJc5zG2dk1YH5vC0b1T3M=,tag:knyB+nALZwME8y7CAQ4BCg==,type:str] secret__netbox_secret_key: ENC[AES256_GCM,data:zPzoFK5Sx7gJ31/Apwex9ffFU/GY+HxIfwrItCW68MM4kVvS33e+LY4cI0vbPYEUF10=,iv:SjpKxyxSAVo+p9vvE/YAQFCzAEudcZ1lwnJ6scxeQD4=,tag:oA+lBep610IfelGwdTohvw==,type:str] secret__netbox_social_auth_keycloak_secret: ENC[AES256_GCM,data:HP753hmQ7ssbYSQRH0zcRC0vRN5bKptvMXo9jjzcuk4=,iv:GQUoojXLAJxqdB92kKLhavDaka0Rkkg2uocBLshdvTk=,tag:LVnL/JHMsAd5UmmpnUv7og==,type:str] +ansible_pull__age_private_key: ENC[AES256_GCM,data:KgD61z3hYRPSoCXmJgOMmHFqXtqoKHRPUT/+ayEImPsbpk+6B1hVscQbmsKJFWNsyQlCAV2MqYlIrP68pP9ckfURIaN8g5n9X+Y=,iv:eTjmF0e4/5NSnORZVtZKTaL4r1RBg1ZbHZueOrnMVlY=,tag:v1ndJchirNLPvg8mWA1otA==,type:str] sops: - lastmodified: "2025-05-04T13:54:30Z" - mac: ENC[AES256_GCM,data:/+JlBnsQuJrx3+CXlH/0dtst8PdBw7cTnUpBavcQRXFjd5PsZ54kUCosFu7Y2ngL9xh6WOWKSJCKpHFb8TCrBhslJz+8SQiH97py9m59diMwG5m/RF3I3YHBIoonSZvl8ocDTbz5myycS41fad3CMs5XtGt/vEcceSFhgqjZs9A=,iv:yL8aRIn22zmTIQ53/e71t6o2z7q1fyvmgqvpz4va39M=,tag:DH1oCBbdOgK2NdanzMSn9w==,type:str] + age: + - recipient: age1ss82zwqkj438re78355p886r89csqrrfmkfp8lrrf8v23nza492qza4ey3 + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrY3VsVTVSdC83SXNuMEhp + Z051c2RrT29mbGhGZmtxUnFmMWY0UUt4MmpJCnhwWjlQcnJHUDI5QWhPYUFKMzhW + eUpteTdUdTNvczFPNXRnQzlkNFh3bUUKLS0tIFN2bndWTGRKZ3ZSYisyU1hBbk1K + RU1La1Z2Q0lPYW5qYnl3OEVhaXZ1cFEKGMbMxcGda3uTGO6DjhnY57d6ulnfsKxt + PFVehZXh+/FD+u0RDnWMBcdjI1Qi7e6+q/dZX7xCn9dGloDynycbJg== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2025-07-21T18:08:40Z" + mac: ENC[AES256_GCM,data:SvTSvRYd7ljYpQb72yRkQ+fDrDWRMQzFwTrI4RuLglBCzKNxu1g2JFAVFUSNRybWASCYhg0FqtHoC31HRHbs24g43fRFrXrvBB3sCwQ503y7A78/UfX55Bz3VBqYVJfh9w/Fm23Tak0ki1CQoAl53lz88eUHjCJjeyKtY81/PnI=,iv:y4C3RMWPsnTTgkscvfqVEzcgAg6L0QaKinzcBFLOfSg=,tag:kIcvmJXSNhpQDUHy+ZpPyQ==,type:str] pgp: - - created_at: "2025-07-20T18:28:09Z" + - created_at: "2025-07-21T18:15:42Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtARAAgv0wpzF+jFkc/5dlF9m33aXqRacTsTJutFkSv+NcCHwL - nbOjXr817ujXarA+NNFeu58FQEW9+fxA1T1O2azbgtOz0xXdlDfkSkS8kCm4B335 - cAu8B8UwDwMOpiRgmHrsnFmvDct1sOZ/tgnd6AB1bgSyKijNGtdIfAimbOM0pEo4 - pNWkwh6WdsbjpSFohfuh5c3yc2unCKLV42QDyPbGYmE/MP88DW/bgBNmhept1vGM - k72Ih1lCaRcqZLEDaL042ttSqk3MCK8tbAzq5682MAyIJGq0H+OU4uysPgsxy7GS - OGDmyDHOD557msVZ+ftHpQKDsHMdN//DDo66uUR4VCS2IqILVAo4mFAbmbzF+yZ0 - Bt79T2Cgd+c2GdhiZ7pADtuVmLGE24mw5FXxCQxb/fbouXidH+2neVIjPCqzJE7b - yJoaYMIo3gWIdIM7fhlFnWrh4KGMh8z/eaVW3oG2uPCtO5OBpts1VCmvcmBBE4JT - kTz/1w/v3kz0rwze9JTKXHyg2wK1chn5V20T+5SwP6MAL25zxZa/tlPHEIH3lte/ - x0LHEU/5WXcQLYpYxNF7yy0mrwRlMs0SLRxC2l1Txk/O7xFffnFL0I5vBluxLU3y - FMB5EtIUamapM3FuOC+hzf9rCE4I+fQJ/8aBQD2hjzOQNamg7CTXTNWldbzKL/DS - XAHo8+Rd9b1dvjzZfxfRp/bF5Av2bfTO65lb9G6YiBHLD7+AFbo2Pn7NWh9X6J7I - qpYAK9Wfs0sFNm/UIhmSkFJIXmlhMbrsp14ebfH305OSoe+dvkHfLD50frdG - =3PUx + hQIMAxK/JaB2/SdtAQ//c7qCMOidrBOwgXR02ajbMhzNdo5T+QnhLPh44y/YTICp + JGoTowZ+hPyK5gwaTPRkduRzK074uxcjSedUfcKAPvnmmYkl4oMo/7BjXRNAgUNX + leqmHnE/9+gR8EgVcYbfbsk5EPg9shhq9IYrt32PCL0D+17O5KCi78wMykmU9ZX3 + +DpZUHsZQHUUKKwCtBy4HgaFMIRTUIRFDYyfdVyKyDYvPypKzXw9ljZT4DPo257o + 3pRLRltzxrehRgvVgajdd8NCmy17KLxdgI/TV0EWuQkRV/C6kzyvts4GYnFScyT5 + B54X7ApFoHitjWcNl28kYg0zcwd8Grk5ucWqDdMaelG5of4nIqzphcVmsm/4we9Q + Br0vbI1coNYzOoC+5SEzdnmqeouPR6IQ+uwza0m5srCTEoKsTwDlPKwU8oFqCJBY + Hi6pjEbLFBwnkn2hIO+B9YEJUENjLw04DAKfmiTXr8H0/DvVdQBeQtSpRTUdijSK + x1GXJm2+lgWzLtcYB2W7QphktO78hQ8lUx3lEP4j1VM9aTAhCfSrdsx+4EmrRSTm + q2AjSYXI+xzAldSnYyXP6Oy4IWUaJ9vf0x3PqfCrn78rJghQC3PEPpeg5YoQz5VL + 6NvULUpSlC0huFgSxHyYoGOfM1fNAAAXPUg0BqaORTLcOMdXA+BC8scd7CPfcyLS + XAFG8sQUz1KWp/0rB5cOfSM8Cg5zqY1c4lG46NK3sPOaun3RXRoyq2BjB4izlMKM + tZ3fixqUoAr3yYSo6WEeKnFwT14wog4al124tn9QHhUHq2Nm1w0u76qssDgL + =Oiyj -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2025-07-20T18:28:09Z" + - created_at: "2025-07-21T18:15:42Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA6EyPtWBEI+2ARAAkHsW/Uz7zqX2bvbgP1SlNiQGJ979f/wAHA0q154N22r9 - 02H3RB9zlyLQhEYlBKC8X1O7N8l4ZTod5GNGeWeqiEUacTve084u+rkrLz9HaNxt - Tfdpq0fqGofEvThOUB9I2B7yWahg1g+D5xee1PLhB03dhMwlWgfj2hD2+7oshlTi - USJsY7mR4GImWYVqcm9/nANpoQzEYJ24K0h6dw8NBDvgLPQAB8h6Td7DjXJw8NX4 - 21gfToS8E62gUV+K66MYwCZWuc/FxS2DZz4pewm2R52ReP7yl/nmpqlYb0iCfiTC - RmxhFbV6+E73sPzKjK8BJDMB6k4uPHFu5Hkh86o3XjwkpAaX84EzjVKi3VIGTLG3 - biyeWwh6efCjUhXptaGTIFZscdGiEDJGtTn0Z0J8iDXotb6pZms2Cde+oXpg2CBX - i6uiKiz/KtBaRNYbrb8rcDQ3IHcO8WWSvAp6dYrbOmY/bYu6q2dc4hhTVs4JFVzr - 5I8m5jRQdzyhaoB88S23VKS1jaOUwYhN1THKPAmcR840kAA217Jq/GwUoBx/G1t5 - DJQmStvo5f+nYBB6N/PVNzUWLU6gblFYiYnDIFy8hFHYmkmmWjU5J6qfITyzTULa - f079U9SJiqdE/t5UELAPbvIz/Hl0nGemJfit3XhZV3IelaFCxSJUR4DmE+rXTV3S - XAE1zXyTvV6b9bYkjY6UvUMETH3NbR3yYjn2CMnnHiPykF6rK7jXQ7Z6AP+drna+ - q9B0cmmMmGx1LcwO60wBOdbDyWsw/6aCt7SaMwX7CXw8kzQ7ZNRQDPrXtLPM - =3SiJ + hQIMA6EyPtWBEI+2AQ/7BpnVJCzGYCmtfzG115O6575g44wna0k/UmNp9T25HCsr + Ka59WhuqqUMbRNo+ZcxhOl2fiABeBjPT0GR4lU/Z0L3+fDE91ayPN7cWSThVf8fH + jU7u6A4ljRQCzh1zVCbLrYw/KvpIZm0+pIsPhtf48yKvvJA1VJ8iGSrsnkz91ABc + 13JN9BQ2I0jELTBYNbXJ/rxmH26ypyZ7u2tER6Xh+cFCoNILWdnkPkTnFvLI2c45 + /6dbAUsrSQNeQiPhjsYBi3MwNbjjOIk0qbqzEuC0Ow4WpbvW/1JVB/wDipLpudqP + TSmvAe6CgbbkPTabFHOMWQRHgR87YJMwiiA4iJuSsYzvF6hGkRT1C7sF+riMc2Vy + zaK0v1YpXkR0yrI+XqEHl4+K5mh8GOhR2gT2QA6U3hvgFwXwaTpzJBbYT9JzJFML + yz0FUDxGTpPBBL4ltC1vfexXEAe+z/9AZTTvMPYUHNLR9n3oNWXmhuAioiSPfeCX + ketaB4kX+gcYW8+5VnqDL44rtPooRZtIWP/e0GIhApcHZjQLEfowGiZjUeEGaXR0 + RDqyUSd6eYnoZ5n3ew03DtG/1wlzaKfDCszRa22oZxP2p9XVW7oYiRGobKwwU6qS + wQzahX1rL2NTKzjYzORSXRIzH/ZANGlgQAn82kFRbQRehUiq8OxnA7ZPWa02fFPS + XAGk5eFschzQhXfgBNN0FoTl54/guA+xi1bOZ77erVMP4XhEEQMJd5LH/uieDhGy + FfSJJAr7ArayJaOH9ULhD05om76Q9ufR/zfa2pu/bBNknhXxa/qNpxREGdx8 + =GL38 -----END PGP MESSAGE----- fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC - - created_at: "2025-07-20T18:28:09Z" + - created_at: "2025-07-21T18:15:42Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAAyfykThjQAYOrOMy+nHwMHNXhmQRhHwtLIb+WEekWkRP+ - +t88NlZ0fgtQtKVZbme8V2a0TCFXK7DFmC/6ZYtawfSR6LsJCsybQ5iEXEiLnaMd - mddYwQocrHC8/P+MPPvG4Wu7WzPc1yl95k/GR/M/o/Jef5nsmlfsO4fEJbB1tVTc - rGjFZidiFIsJ12Nt0DavJi5iV+wXcrFkAEdDWSCbmp+93IVK2kEeSnSEJ2I0JOHz - 8EuroP9wGFSaq2pcVhEHs8LBm8fjUizMZGOVTjZPVWLH9Jc55Qwm+APKBMHkoAEW - KaX63+uj/IgqDKTo556JyYhK4ZzexPwduelsWfOYOY+r2coW0bV5haFEq4pvHMJH - 7A6m10lM2XcUzEC1j9r0BxPJuLtS5sYhub9gWsgxHsCbgArKcvkEfpC3ZRJyOmvo - 1EbB1Stvh4vr++ASmHlLl314qpLSt1YEYtBhGKg5XUPnGM86fOYOtH+pX9fOM5dk - xC4CXKLRmOfRcR+rllGoliyUrrXMTugf5r/UEeYOrSsKd40JsVPVC123Uoo8Y2j9 - FO7xGVQ3WBy4rDrqjRXoV1nakdKOvGD8iS0hSGs8yk569YtKA34RLAcwpji3U+sm - wIE4X/Z6Vyrsht/PvsbIcptexG2rxq7dze7eZd1T5C/pdcwh+rQG0ujJ/GB7klnS - XAHpuT2TgiN3oGIKMZh2cqfJ/rEBd61pvWMJQYW6ve2JhxSNL/Zo25GxsDoCzoqO - ruhYleZuFEYyuVIJQ1ePwt6AeQ4yy2PaNmZAJgW5scbSn0LKMoX3T8oRtgxN - =tPWV + hQIMAz5uSgHG2iMJARAA6hFD9VSOsX7LMTz5Iv3fEF9m6d9J9DvFGdVhzKjrl13P + RS3NdRUReyExTgJv1UztRSOWAFpYjt7EY5cDv9KejbQcuVUmknCV0rLiKkgKcn0T + Q3L761zy8BXfCSk1O8wSSgQyOgOe2jGdqP94sr8vF5/BHZpZjYAUvoTUCe/to/VJ + wXBwZOXsxeL6ipbgvUhDv/V2lr/SXxEEkAmmrsm2JzsjFi0kyj0XF81bxafnYNsX + TI85/Ejs4+WFhubr9UAJ5R2/tnPCXJq8fgZTemRpl+6OH0DnpuMUB3CsA13m2CnI + ftGvdy4j4ihVFN6M2sbUbeUFY2u92X7E9PLUSKQVn5TX0j1FM9Nzm2//V6yE+y5/ + GBYKL1zk2m0EFPLvc7LqboMu1RAej8dZ5VvhJBKG1oaN3c7bLUpFUuQm1uPTJrYB + I/2T2B+iyZp1+KCOpqLQKZCTY4yr5RbMlGqwvOcpzEP5xMCNPkIoFGKm9KyPMpFk + /O2WwaC/ewRAmSBiEVM38SOOS1Gm5Z7BXlmaZrD3GT1jBmTPqjrX9u89Q1EmJrEq + 2Go61OwGtmi2PcMSZ4ah99mBnP9aVei0br4OkZxa/wGfKPzlSqB4cLI8oAEnJk40 + JRU3BxlsunE5RCEOlNS08Id+/osjFI4VFDRZqDnw1NPaDbCvo5a2NkpEc+fTGzvS + XAHAT+2ZErI1QeQV3jM/zbk5U7jxRpx1HCOQN9fnGPS01WpAgY3dlpy1US5T4LbH + qNeuH5drHt4NaSvipAzKOoC+zZfciYgfsSVNOXDlztnjP0O/NqL35BzJ3FMV + =omHk -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2025-07-20T18:28:09Z" + - created_at: "2025-07-21T18:15:42Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ/+IFSE4p67ld1nl5V8FYCHwDoZBAFKBz89KNv6nMmKZiVE - sa41YCWky0d8Tv3QXiYyL0jZuyQpN3DSXNrtQLHbjHya/mvHT16Oi51/A5ZvW8Sk - dABW7DHokET8cmtUpnhpx2hKGG2SbbkkGmZCBKOveVn5wq5VUPDqJjOF0P4wZWh6 - IkEQFfequPcCsM8MAtM3ocC5Lkkjwb91p0e0A35gE92kms7iPE7ecX2DJIiaATIs - ABRmcgwOJeuYV7nhvpFbq5FSBUXvjuVN9IGfIG3Dl+IcCYg5xF2eJWnK/sOiqNmc - uFoPkaoueTYEZkgwg9ItAvHN853WPzt7ppsduEvd3kwnsCrtj+veylr1upTjxQJK - Rx2+a70NJz9+eaVm4hLMBDl9Ov6cEril+vZU/N0x3tSQ/vZgAJ+ofK803k6717Mn - TkSLjLkP6BNoKI7DLMLfxiCy0IssDsiX1po2wPSn2sDa+4rYt8U9dhfI8wYzUF5Z - T8IGE7ZdVvGR0FfxbPdFgxeNJSPv7atIWemnqEAMQ5fVFQ3JsBS8xHoqoLcLJHh0 - Q8A+HPU3oSiU2ZjGlAM9yKWdUjz/DWeo0HodqaNBonJqCaxids0P0oHSGbTB6xY2 - pYYXnD9knobCUr/etjv1eMvU3lIi8bz8Xmdn4KKmWr2SQKmxUU+9Mf1BWWq45PjS - XAFK4pHgiE3+YLK4ygIrjBFls6g3BPQA6rUZAiFzsr2D0g16rejdhosacoJcKcGd - rpYHLCfu1CfgSlz3Qx3Ass5TD+xwHdsfT9SPpRQZSoxxpcxmDUcYpqdwGeO7 - =Fnjp + hQIMAw5vwmoEJHQ1AQ/+K42NmCDc6ZHlF+EBvXvbueEUrXIcrNA68XIeLr3YXPOW + rzWMhSGVxT6tQOueM6bsMROMLfhJr4daRAmyHmAGP9j3pcQXJJYQpmzGuU/Pz7uZ + nWoD9u9fkk4NyvTvDCM9ZHrg7/R2yEQrhCkGnqwu/Of6DL90DvTgQ/3QFcwTnbDp + FcyHsAufvtovjEWv4XCYujjo0fEMvmWmPoVgfsoFMXReNBD6f43jw5iEN31oAcfQ + sULeplAxBk/gFQj3IivSGKvIG/U6CIxNWfgQZcxMISxlKByX6u3aYbM+3xtCXAH4 + oG1hu0db/L5H0Espys+dK0cWs/hRy9QUOgOVF88oFtYUkW/5DbfFSIxFcJpTdFGv + NgQF7w3aZpRL8ZSHc4zbqqwB35bV5dfFV/28ygYxBK7qZzTlBxh2XUvXA/VhxWM5 + Yqp9IIrb8TLRogYhxGD0ha5o5S5nWFIlprjclSFgkCZWO707jfFxVSRZ0l4a8R27 + Tf9lmCKVs92keLOFe7lZ2bsAOCjupOjbztc81pmom0Ql9/BUCiZJVjn3eUs9q3cM + Zj5sS2+etLOPjzWlO24MMnP3cVpSVdkp+biN8l01Gzb5Q4BXVdSQo1frvh7f0PRi + yeuXlNdUbGV+xyaz/gk6DTgIs5HNhOKawEO32M6vZoUlLiJ85Sl6SUPvdSamZ33S + XAHkr/lYlp+ZdbIvJuMH8dOPQxWwM1GzGRMKZLy0yCs7TrM/AkzdU/26BsZByT3X + L5V4hzFxWiIWjUg6T6B7ID3W8rCqusGYql2Le3sNIC/6VxrHqZRPVc1FGzXP + =JsQQ -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2025-07-20T18:28:09Z" + - created_at: "2025-07-21T18:15:42Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAHaWsbzMdKQlM4f16MMkD06MaR9hPsvalNE1/K4d8Mygw - j5vWYfwadl8XuI/GRoyZG8hnddb0Vg545yVcHk/+0+W/SfWFzwhhvDUX8H6Qr8n8 - 0lwB89rZt3ztUxEN+C/0UAlhFZVb1OWZ+xpDC2u53j3f/zxAtCUKjJA/cqlL9sLG - u037d6B3Wn0XZsmC+jK67BFZiMWs4ZD5oM03rXMLqTVMuDzjV0LO5rUFDgiq6Q== - =CzYe + hF4DerEtaFuTeewSAQdAQEgSJ3Q/NpXw+IJGJRAvR39zMTlXbN0qt3ghoKOTnkcw + a+PCLvg3ud8vbFe52dN4vVFYqrCZcLKWJ1ehoYgH9LqA+Wh6t7YAYKr2QkHXm5ye + 0lwBF+AqFoT509SjXRZSv20bM1PBbc81pJU88CaOzfrxUqNfo6pxr4W1AvgmVYFK + Qz3GypWGkz3zspmML+VtFAbi/aLm+UMhL7JIxYg71kidPCnF4HOS1S6sYyLEVw== + =c0K9 -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2025-07-20T18:28:09Z" + - created_at: "2025-07-21T18:15:42Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/+PmNa3+9KdW8QK3Qp0xFsA5JCwFJ+ePnZqSy++0o39Cxf - htNykQUd1aNmHjlBTmfomzoGe4L8mIRULbVRDB39d8bqHI2EIUibFK2MPQrSvF9x - WLk3BLCKjBf0jja6y9DsgNHMIKOVKJKZ8+MSNiEwPr5yy3t+wRXIE7bTfRCSj2vO - mQ8MtN6XHH1klcg2MzQ2VBgt0/TgKNYRnF18d0bTzNTPg0XMosd9vT3HIdYNVtRG - Bs88WxoLQX4ki9B00R1diWneW3TNkD+SG+3QdbQYbkwfKVE7+/ZY1zbmAf9bUfM1 - FAyUeUH2ZfiqDnGTTSQEyLjWXsPx8OmaeWHdvY+Nay1tQxfyvdFldjmkhnhUYhot - epu4o0vih7y8dPAPvD2v3eflXo4I0R8kANKDkVZmB/ugayeR27Uv6+Rb6XQ27aKc - qrYMEzWsNJ14Cz/mM2eqyPBaI5mxhttxlFuPRho+wz1XISqsmJz14VojT18dtY5q - 3gv2dvzap9+xbs2+d8VnNvjWzocJYXy18ZLoZomNIuuKl6s0OdNEQxiC1/riWMIO - QjkbPt3037rtM5ZczhzgFLm1r45/nFx+T7nm42fEVLYnEP4Ln8bgvsasKHOoAocs - QWxUFMQ1VAyMs/IftTnxMZQe6eJmqHthH+3q/wYhIqsPy3r8gnkuqjqwoCb/XTrS - XAEQB91o4HxiecHP6Ks7QGI3+Z1CbEF3GWBrhCVtI0j+s+r0qsSa+6zeyaSK2Z2f - uRQijSuYw09UTsQHY3dsxZm1KNebkXXzVqrY1Wt9Qtf2Yr2seZiCPygvPVLB - =aDv7 + hQIMAxjNhCKPP69fAQ/+L7rNz2P8t00W4dy880oUR0j1Bu9UEzk1DzQCw2VTRMeU + InpbyXkTzsBeKlnX6sPUKu9asEO8EuaKnMzTg780HQTgeavJn7I/BgrdOce0hYWC + Gt5W7s73un3/2RXSjeugR7xaWDc8FOjiH3oLMmHNBVL22kGZ2KenfQ98M3LJdMoV + ROas97fjFYvhRG5DU9qGafv3SJs2lx6SU5Rhmg+RHsJPeYFh2OyZRqyIn9VdBt+E + X5g96AlTS3KrvUrafvHXur7tR3GGioqC7Wr28zHyTJlf1o7BwxvYUdk7s9z7wPUv + yznieBrqu3WvdteX2qUBtOlFFtbDWVpWDgRkdA+1ZYAJonVpKuTpH8KBZrG+sCOp + OOJc1nneWk12Gay1dX33pKWC2CSqsznekzkAnQYTcrQtx/9EsA4G30trZcZMKwfn + JluHD+r9zdRGNWEXP6zyT8Gu+qa+1XrUftfut8Gva9RIPQlfCJuqyT3ZJkRW42W0 + NbsSDhMKSXEKyBvQhnyFZfw/mN36H5lraiX0N3v3MWC+jPjL4PLwvHg8UEAYVyeO + bLyJfyAr/b2RZ+oWmrmvkV8KG9PIWHOzIgheeswKa3EuwrvkHlzCpDkSTvm74GxE + J8unBed5rkKpvYdPtwb2Nez2bVd1UGbl4PpPNz6p/wyCVF/NjAZGz96+TsJ6/LjS + XAHw/zBQr1QYDCZNOCPyf6HwZBCKYGI/uFjvMesFj3M7qAUOr0YPmw7xn20ic8v+ + C1hvgE+3OdO8ugXdte5ckT8Wfn7bMweOVW6AZ2UMGxzWBPPq06/LvXZ/XMMx + =sFro -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2025-07-20T18:28:09Z" + - created_at: "2025-07-21T18:15:42Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//bEgJM9+WRz3K5KwV9I7fpiAb+BoXfNWh/mnwUGLv8FRP - aq72bbw1vXqBhI4jkna42eJVUm2AThL/q0QOJvGKDtud0MjJyS1tZj44kfwwC90E - QrybaasPvZ0WOLmSQO9DW8oyoqDqM8ue8smN9HJTOfHl15QV1oXWYjH0j2l1D/AC - 2iqLW7KOzo+zFr3s7HxXnCgv9/BwqmafW742aKM8amRb885b4CAzFKvhrYlvQ43T - Tntgp63veu+IIW1YiqrdLld+hJpPaVHHDuCRANuQ3r8hQlzjOMC0ZeAW0uXnRuIc - 3fOk+uQxV/POIauSQskUXSHztD8CacVjUyySi0+ZFTtJo39ulykalVy01UCNuWVE - O1cJW6I5ItpBsUqb6KZyMVVgQa5Iv4JkrTEaOsPXC/O8wb+JxiAz06rb8j0rn+Yx - z623wZNi+QwvFPc1c62DXFZN9sxFY1xcildSpjh/h491FAUE+QKYEPIMf7ChyqRw - uVc9A1f+tJFI9M+gzWYI0A0+Wbl5V4wMdJKzzSyZJAK4+AyJjfpwHRU33vvOk/MO - Cz5VdrCs0WQ/x34KauuM//AranbqjG7QLGVZT0pkknSyG57NF+T9KI8aZ/i3E1La - 9LEnMf50WLf0kBX7OrGryFs4RrFNWsTfSt37X1EZCmWubGTiINc96JsMQIa00bjS - XAEOFQq9PM2w/X8RyLnaE0s4m0gau9baCQxonUwq37S+XbjKreupgY1SldcyVMsU - RUWiwJwVMNI3UGdQ4LBoJYstTEhH2HLQFZecw0dlZfrLtGgWJAPYvRWAx8uw - =iOrq + hQIMA1Hthzn+T1OoAQ/+LMO10efzBKOBSoqYM80n4JwV15nY19yRPo8MeJdo4RVU + txY3YGH25l0hfH5Uba4vU8mltIfF6+ZfxfKRXKgqG3OKSl+C9s/eLFpVgmOXyGER + R5BT53cOfboES5v0oWhwtp9Bya5d7TtD0SaShR6h0CKT/AAybF8IJ4QrioM03dxZ + 00JyT7ikmgSQCq1IrTQOvXNR4nFCZwu5npThsantJePmKdtGFvGmwZ7XIOkmS+mM + XEM7IQv0q7xCyw+N7YlH9E+rXeDyB3tCZS68228p4JvvNaN2zOTHpGRCbQ2Xrd8B + 36qtai0osZjsyPbOqnXSSAOVATsLtlmqxn12qBXPbmcet8Mn1Xr89ezRYg8EqPwA + K1aEjVcAKuojmTdLx+UNofJxq86QHvNV9DdbFddttgRyRcqSQj3/4oCmdBRPxR13 + eL5NSP2uj2qeun5+7AToxdGGOD7CL5EsClmKVA6qxdaO/DEcVcwypyaCZxqX69c6 + d+mPNZqgyoxBT+oif6JPr+ywZVeKN5VDyncxre1zGSx/pXTTz01LzdUDZ5ww9W7y + sN9LVoDncxA3ijte8JW8+JLw5/Yoc14bf3qIo2FH/Fk8o49sUIzYljP4fqwlPbWn + H/dCrzjT4m66jN01MT/B6Y+Yen+PHW71aCLQZDVdFuDfuVX6bPAea01b9/hca+XS + XAFQGaqLizvr6jWZfewixnL8MI90GI08fw31a3zKFgDGUginOX61+24FTR+jxYMg + L61u0oB2FGCNXO6UQjGRTSckrw4Z7X8h292iso3A4lVc9ExhE1brCeFLgW3A + =Nujv -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2025-07-20T18:28:09Z" + - created_at: "2025-07-21T18:15:42Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqARAAjJP/zQeLJ1qXKrz4ck4x+8z1TJx91XQU1aXLWLZjLcAw - 4v2G4ikG75WLfJcHaHNS56bhYKhPt4/xzmse16O8xuztz8xLVKsYuChna1J96IiU - pk0GbfWK5N/BVgPlntFE29gwXc2XhBSucHVwe9XseuIAlu99+OSf18TVXC41tKmQ - ZuvxgLMy5gLlt8fLLmsrgU7JM6QQXD/zfdziI9acrDw4CYKgE0Yt16+/JGCO4LI+ - 2yeoV/GvFTS431lsVmTxhC59DVNCVXW36o6EKQxXjcLFhuzNxCSI+hUZYJr476XS - wgdHQWoKrTL8B6l4nJ4/2zR6ltFM3JZi62aNW88DvW/SmJsHXt1b1tATie4kVpLo - S1ns85v0A4NmXmDyxiORVbGT087AvdtoJw3TbLNNYiWdE1FakNW9KVcjVeqly9XA - Kjr72wdyRE1vyjsuDtUnM9Apuo9V2PWtfqrsNqYxgK9WJPFEzVlvhD1CkXXXsdfh - ncVIywwU0CYG9xOAR7DTO/pPKa+faZStU3bRlE89D+9+iUkLXqJnjx4ZPUeIMg4v - oByjEAX0jOqJLsUR10tSmJ7hrmdWoKSJTVEdx6pc45jyt6CZD5EOl7qMlteCVZAg - gkkZ71uQLde5CRFrEPIJ3UdF8xDvnjJ8HgoaLCv9AewMlWiMNrGWV31rFqp7CRnS - XAGsOtTt6y6VT5C1rKamG4IKK998ycirXQPlwC1svxP44sRS/LE9OI820jEiGUxT - SYeFvLISOje6f8Qf34hP9X5MmyxQd0lqMiOt8lkGj2GDqFzKsrKeu1cpylby - =Fivv + hQIMA46L6MuPqfJqAQ//UAy0uZUyPPGm/GoAKew4uDa/xYAWpAx+rxQQiRZBmSZY + MnGQUsgiMIBsQt2gdyutzlggSZzjc5WRcaghlYzXZaKIRDakp92ajgL49snaYEnX + LX6qFmoMgRSbxmQPlrEfcj2yJ2bbC+GF2MZNtMMQISvsgA94KMyZ+UEZSI/ooZGF + +PbEnfibu0kgTFdmz841E0AkT8xEab/ERa/AYxE+l3Iz/+WPUNd6U4n3RXonzcaE + WvpvDXKqA7o3erZvULX2u1XJlZbbZM13HLwXDBCODOqG8JtDh6UvX8ZiUADtb4up + 4QlO6ETaWtWgzx+OrF70URFEzJ8biqczC/cAuaXHZzfoLZZ+smcFwBUaRQQbdIwr + pR1GGosJrY7kwNrKPgKF+jucAtVo1k7PrYSHTN+FB4pDR2qLcm3PFU1BBfpViJDo + cWlivN3sS0/8/dQvf49WBOqWfdz8I9MuX6H+dAQu4X51yjUU0nVIDD9dxvDFdk/O + KUMLJDgyfzS4bsNPBjAJs/49JsQeiTDbldM1MNDgICPGp8AbOrwudvS/l9iueoOo + mPdQTtFwxzM21t2M+pTvkuBpB8lNfUspmfvotWdYXCKG5rWCUD+kaRHoKpg8L9us + 1762pnE5Bu0ofzvBbpxNcUOO0HGMkE9Sv/Gk2E6khpfXo6m5sLXzfL7PwfjuzP7S + XAFfCp4gp0Ms3hLz+vlkwNGfMlSY11OrqANN1uwXb7FARdNBhqitd9BSufdtce9c + S1Kw9zApbVOSr2MtoNR4MKMplrJpIWE0lKYDhfCpr/wR1xXO6OraAqGgoNko + =uqNL -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2025-07-20T18:28:09Z" + - created_at: "2025-07-21T18:15:42Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA4EEKdYEzV0pAQ//WS8zjYnuGKpQ63BdGAEU55mAlGu8etvOLlj3JGL/EAjX - CKadwY1gIPjN/AZzDN8twadasFE/o02Cz1hLAPQIS4IYgh2L5pZZVm6D/5v0rQgJ - Da74NBoFKXLD7D7P/+abLTFSrTG7u3rRL8AAOsXHiMpyxn1AgvNPS/lHrdTWi/7Y - RfvjaMqjynZs6tsOZrQjUjz1mdwZ0Pl0g4soJ/4KBN5riz+U5wubKb8g1qxEaWZ+ - CiyGcF6rHfL1/7rugg+Z7QhRlW09wAqkQzpeB9h3rIqczqsPZVuw2gtBhSnjAGa2 - i2q8HWFwegJYMemSxtqyO4kdtMp8J/KOXQ235ge96kMfid0muFeqD4QehSqaSta4 - gJsPiQslhlRyBUraTAzWo+1Pgx6oBpU2Z4GD3xAsKyQ6m+wVg+7OsZJYXuMt3Y6n - DkMfbjJOvGUlN1XiZM5GT3YqRFFXpmn1NZ4RMBHv61vDuq6z9EWm/+6i/tR/ugxM - Y+qiBYohMEIwdEpzlVZVQElCt9atKPk4YLnpele/midAKVwtBnQ+IpNEjKEtXSYe - QYDRVu+OkYSiMxvnJ1ZmL4lKJVHhHtQ6Pi4xkK0eTPUaWvCI6T+t4Dj9r/OJTbLW - APOXEQ54CnDmGqG83op1wdMuwmw8edEBowogILlUyaP8mB3cK9KJt7B/31ntlc3S - XAFQHLwHWB3PjCYiegJYQUbXIAfL/cdTwwBfmX8uMDerJ81IQSzu5hVDhIL9pE7l - UVWxGbGzfUdTE2U45M082DrjTmBkV3RdE0Y3JaBqPJ0oVQh6p1aM4d2aqyhk - =nWD2 + hQIMA4EEKdYEzV0pAQ/+J3y2ilg+0a++IuFyeAS+1S4akdbOSE5K8pwcSulmrT8K + hnZ2Y/U+IF4pjhZYbFeCiVh8BzH6VwXLqFQrpsQhq2fNs0U7M6KuZxFEcMhrRH7O + ULs7ZtoVg3qQ1F6uM5YS3cW1bzHZdRZ0mYNUi46LQWwFVNisjtMKrjJBN9fr4aeR + Cei1+bkPUMCQ/7ChQwf9MHO5pUzwXA5ttsChXPMU+HzzbcCuVZjHT6rptrPsSLPR + QsR/fDOTweUiRk6+Lj5/OAjwgGRaO/yLgdS9fGrezwssVvDm08ZxFMPCBEn7Yrob + Jwe2uMdkGOE/e6SJyfh/glg+uie42g/HYo+PaBwuLot/3E/q7TbaAAHKEIlRfZSo + LRsSs/FaX+2HGnNgHHNxHhvEh+FDvp/EdMcZG9vF5mIM/XYFCbUJEdwWMfgyFq6N + hOxMK7KCcnqbMJPPdypSjyOnyBD7asyhqBwavxnqJrQ+6gH8XvVtOgc6Kt04QlP9 + CgrWuqrEq8Ulx8w9KkKP9VGg9z6FbWdF4TYQwQ6KfVC5EMSrVHM+N2Y6DDpoXHuS + HZKtJH3qITxsofPhdssjxlvGtJRU+t1Bsa/wponQC4hJpKQ2QpNRWxrI7Oewy8jT + ku78htjN7HFD9IrF/Dg+3kxLDIdi7/+Z8mE0eMg4RvfBBJJSJHADV+BqH/9vZ+jS + XAETzKYL69TUOxK4xohMkICkjVms0z/LyMgWjAuY70MC5EaNSXKNVqDGYTtsWLYS + 4ZGh3YNZCC1uK+lwos+s4OhtGLEs4pRWubz8wH66MlrAKfrI4hgQv0V4bO29 + =o5Ja -----END PGP MESSAGE----- fp: 9DFA033E3DAEBAD7FDD71B056C7AAA54BE05F7BA - - created_at: "2025-07-20T18:28:09Z" + - created_at: "2025-07-21T18:15:42Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAr+L6oXEIIepvoeDrCt4z9snnaxL/Pmp6dpCAkxaXXmIw - 5J6eEv5G83So6+XXJXvOaoneKu5qevc0fSbEBAhJfKBUYk/ygb5seBcGycBWQhDL - 0lwB+3jIywPou71D15VbcMJQuWshrGPkpEf8/7aaL3kiZAQbxtuajECD6/0zk9E5 - /owG/AWfR/W8bHJ2S/CFHb+m+aLHWI0emOg/OMGKjLG4JrarB3tbdsPcdH+8jQ== - =K0rr + hF4DQrf1tCqiJxoSAQdAcZJvd8VKNf+utHb2ndF8WC713BKaMip39sdKr5MII1sw + U5z2I11J3lvM7hJ0ZIWdjLeZyok69Kk7kSRxbWxn26YfMtxlrR/zNkr6glj9TKoI + 0lwB+c7VagQFT9bcMDab/+1Vh3P4gGAF/nzw/aP9K6W1gbW7Ji5ZS6RQN8kfeJxJ + 14qesoUtJ02a69xVGxmuMK7FgMbEpNHvAUkTKIVEjb7t3MQv7nCHa4bCVyYspw== + =Wjzk -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2025-07-20T18:28:09Z" + - created_at: "2025-07-21T18:15:42Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAkzDgkAALby9UfWjtDDCJEgMH/tcIAHWeRqOx7CyojjMw - 0XdXIl6Q6x82GOnYKtJuFkvpGc+fSoREGiAVCOzaXi9J3vKUV410nSQEpyXuiC4c - 0lYBDC0rwF3mDKX7Pd7LZCH5ImaJiUB26Q6M2k6bfVhSyTygADlqcrvev6buc7sC - 1cfZdBGkTLJeqADe5p3+wJvHiUvK/VhlwV+hXt8PBkywDpSyLgaGWg== - =x/XZ + hF4DzAGzViGx4qcSAQdALleBKgLCOu4Y6BGE6Z8URBAHPwl4AUdOLxBne4zgtwUw + JWcx6dlmEa1CVsV7U8jtxGbqI6oxDeqdBRRnSkG/VgHunx83p4d0XIIzt0UZCOdl + 0lYBR0PWpdHc/73Iuqjb6tNl4f/uMEmPWMY2gsauF+FMPjQoenPLPi3uvqbVrqVu + Y6FGIg7Y3fTjE0oW0dZ1XXurDgpZNw1W/R1k5lPi+ChYAbjWChcQkg== + =LGE9 -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2025-07-20T18:28:09Z" + - created_at: "2025-07-21T18:15:42Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAAuQj5yvmmxjrUXFquA58u8LqIIn9lS8fW04vvO7s66Kt3 - RhwiM1K+uTpPD0IeYO4t7xUpfQwxLKGybVBvOnjisWyTWZYWRPvpqpR8mrt/od0R - 3GcB/hval/O2HtL/CwtOwMu4RcfNKVMozLpZjWYZ5N61UgHgnSPxqAbizh2MDPJ9 - UCM3PesL54kwBDxGUgoCOD+EnIlUOIFFrys6GLWHLqQhNsNgOeXtYQAiFhMuCzqC - PVeKqOJrRD5q/mgRnOnMhXC6E5xgOOHB1war4rDaEF6rx0YujgiMt/c4NTqFPM36 - aMF1Kw/XawEQthhXdCcxYtQefcAs1lFhAhAo93tGcqnwQc6MrfIgKJV8pdE8FBAk - xGhzQlwjQsilJ/YoXvNDm6Iy0UH1WVVcVRSKE+ogC9dw1JyG3tu4kfp7GioQvhkD - tGEg/9hNMcWXa7Gbyr3kCpmTHuaJGaC8R4dy0rzL/SXDMfWm3zbFZVZoZieOuzeX - gl1F6bUnc4gUnlOa2XPYYrIVWfQMdAJYbj6ywvl0lMLxeOtStcYVD1EdRhiGEWrJ - 9YoEjDAMg99WHfEvNSe+90CnBPY/UNig97lcdGZzmKAYIMh5OutJsS5t+Lx318Yn - C8dDvk7QbDyG0lgaZHAAeY1SPbVW4eUdRxZIOrGPsiRUpzYxlExLVdy8vtXfFHnS - XAEc6y4UA3fhOYN7i6MZNVye186v9gZZyGjeZX1nLJN130A1TwMOg/tIeuFBmxpO - 0C4SX0xckcZQuWCR51Xjeu4hDCeMVQJuMJaypjhVoyQPiw4yaWWbELuSC5/F - =ERpn + hQIMA2pVdGTIrZI+ARAAspXdhAYalua5flBfBxEXq6zlXxQolT1+91bWRoW7mA4d + RV0GyJuGmlBr84fwys5qoyYMZZfkSioW+IluK/Z2+07flygwlHntpRBQeXVMhT05 + uZMQsmyT1Q73XWsYAb0BKXkrMz/xUvhnHbyytE6SkBADC18xmcX3O2o7dbVFRFpz + 1Yz//wdt5ErF3ms1fdmLZa2heLFudBrNxvaexgHnnk/gtJ9nH6kTb/c5hn6G53Xx + ez1Vy72+qi0lFJswId7jgSGyf6bXlHHsEeAp9/H1LsUqoscnk5hmnrOCLzVNSPmK + V/qjMAxGuN8lQVf7MCJ4zbGLFZe2kTaFLBaRqIz8YSAdIuGTrM54Tu8193K73se6 + fBuhL5gQELKWLRpUNe96HF/NeEnswCprNwyr9Yu58/EjKDyMo8AYhKo6Ia7QTofQ + 67vtSOpHVQqbYYV+CRVhpQqxYu7XiC2bjtBoMmMz7vXUAFnUe+EScPrFLlAsaDD6 + 9S01IEZcqe8D98X6e6W+0D0jTgd7JkvRZGOD1PWm+S1hyCgZ3AkTiiv70forhsGv + YPEqNyOvetiWFYxbgylzxeact5kyUfK4ckYfeNYK66NS/QwOfgfBvafHhLSSDmct + H4hm2ct1R8bMbMIM23oIkeuxudRi2J9Uf2/+/hT2kn3zeGYYVGBfqEnUfBoaZafS + XAFGyI1xu0sgZNP6M3muvk1/NqxVxfRB9uVh1bfDcCDM+rlolFhdWPN4S1MmfiEV + 9E2Pi1mF2M0ii5rM1kXnzEKPMgXcvhakNhn/J1MxDTlDzWIkMuWY2WQNTT57 + =WSNg -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 unencrypted_suffix: _unencrypted - version: 3.9.4 + version: 3.10.2 diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index 03d93f6..6c89582 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -188,3 +188,4 @@ alloy_hosts: ntfy: ansible_pull_hosts: hosts: + netbox: From 952fbf85c5dbae9bf34a32fb8a2bfbd23ef4f0e9 Mon Sep 17 00:00:00 2001 From: June Date: Mon, 13 Oct 2025 17:23:08 +0200 Subject: [PATCH 011/160] ansible_pull(role): add ExecStartPost step rebooting the hosts, if nec. Add ExecStartPost step rebooting the hosts, if necessary. --- roles/ansible_pull/templates/ansible-pull.service.j2 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/roles/ansible_pull/templates/ansible-pull.service.j2 b/roles/ansible_pull/templates/ansible-pull.service.j2 index 8a17190..588741c 100644 --- a/roles/ansible_pull/templates/ansible-pull.service.j2 +++ b/roles/ansible_pull/templates/ansible-pull.service.j2 @@ -14,3 +14,5 @@ ExecStart=/usr/local/lib/ansible_pull_venv/bin/ansible-pull \ --inventory "{{ ansible_pull__inventory }}" \ "{{ ansible_pull__playbook }}" User={{ ansible_pull__user }} +# Reboot, if /var/run/reboot-required or /var/run/ansible-reboot-required exist. +ExecStartPost=/usr/bin/bash -c 'if [ -e /var/run/reboot-required ] || [ -e /var/run/ansible-reboot-required ]; then sudo systemctl reboot; fi' From 9b8e14f3c4e6bbf770e3d4f4a71865bd66daf7dc Mon Sep 17 00:00:00 2001 From: June Date: Mon, 13 Oct 2025 17:37:13 +0200 Subject: [PATCH 012/160] remove duplicate ansible_pull_hosts inventory group entry --- inventories/chaosknoten/hosts.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index 6c89582..c2ec49f 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -179,9 +179,6 @@ netbox_hosts: proxmox_vm_template_hosts: hosts: chaosknoten: -ansible_pull_hosts: - hosts: - netbox: alloy_hosts: hosts: grafana: From f943e95e2ead827bf76f85511821752ed5991884 Mon Sep 17 00:00:00 2001 From: June Date: Mon, 13 Oct 2025 17:43:00 +0200 Subject: [PATCH 013/160] fix ansible_lint issues Use prefix for role variables, have an ending newline at the end of files and use changed_when for command. Also exclude *.sops.yaml files from ansible-lint. --- .ansible-lint | 1 + inventories/z9/host_vars/yate.yaml | 2 +- roles/deploy_ssh_server_config/tasks/main.yaml | 4 ++-- roles/docker_compose/defaults/main.yaml | 2 +- roles/docker_compose/handlers/main.yaml | 1 + 5 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.ansible-lint b/.ansible-lint index f68da38..6b5f8aa 100644 --- a/.ansible-lint +++ b/.ansible-lint @@ -4,3 +4,4 @@ skip_list: exclude_paths: - .forgejo/ + - "**/*.sops.yaml" diff --git a/inventories/z9/host_vars/yate.yaml b/inventories/z9/host_vars/yate.yaml index b73cfa6..d2dc518 100644 --- a/inventories/z9/host_vars/yate.yaml +++ b/inventories/z9/host_vars/yate.yaml @@ -6,4 +6,4 @@ docker_compose__configuration_files: content: "{{ lookup('ansible.builtin.template', 'resources/z9/yate/docker_compose/regexroute.conf.j2') }}" - name: regfile.conf content: "{{ lookup('ansible.builtin.template', 'resources/z9/yate/docker_compose/regfile.conf.j2') }}" -docker_compose__restart_cmd: "exec yate sh -c 'kill -1 1'" \ No newline at end of file +docker_compose__restart_cmd: "exec yate sh -c 'kill -1 1'" diff --git a/roles/deploy_ssh_server_config/tasks/main.yaml b/roles/deploy_ssh_server_config/tasks/main.yaml index 4350790..dbbf76e 100644 --- a/roles/deploy_ssh_server_config/tasks/main.yaml +++ b/roles/deploy_ssh_server_config/tasks/main.yaml @@ -27,8 +27,8 @@ mv /etc/ssh/moduli.tmp /etc/ssh/moduli echo "ansible-changed: changed /etc/ssh/moduli" fi - register: result + register: deploy_ssh_server_config__result changed_when: - - '"ansible-changed" in result.stdout' + - '"ansible-changed" in deploy_ssh_server_config__result.stdout' notify: - restart the ssh service diff --git a/roles/docker_compose/defaults/main.yaml b/roles/docker_compose/defaults/main.yaml index 7c083ba..1312972 100644 --- a/roles/docker_compose/defaults/main.yaml +++ b/roles/docker_compose/defaults/main.yaml @@ -1,2 +1,2 @@ docker_compose__configuration_files: [ ] -docker_compose__restart_cmd: "" \ No newline at end of file +docker_compose__restart_cmd: "" diff --git a/roles/docker_compose/handlers/main.yaml b/roles/docker_compose/handlers/main.yaml index f974335..49e064c 100644 --- a/roles/docker_compose/handlers/main.yaml +++ b/roles/docker_compose/handlers/main.yaml @@ -9,4 +9,5 @@ cmd: /usr/bin/docker compose {{ docker_compose__restart_cmd }} chdir: /ansible_docker_compose become: true + changed_when: true # Mark this as always changed (for now?). when: docker_compose__restart_cmd != "" From 1f394a08dd21463a787a87d04b7333c511c5fe23 Mon Sep 17 00:00:00 2001 From: June Date: Mon, 13 Oct 2025 20:51:31 +0200 Subject: [PATCH 014/160] refactor .sops.yaml to make it less verbose Make it less verbose by introducing an anchor for the admin_gpg_keys. --- .sops.yaml | 212 ++++++++--------------------------------------------- 1 file changed, 31 insertions(+), 181 deletions(-) diff --git a/.sops.yaml b/.sops.yaml index 7a79c76..8f42083 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -1,229 +1,79 @@ keys: - - &admin_gpg_djerun EF643F59E008414882232C78FFA8331EEB7D6B70 - - &admin_gpg_stb F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC - - &admin_gpg_jtbx 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - &admin_gpg_yuri 87AB00D45D37C9E9167B5A5A333448678B60E505 - - &admin_gpg_june 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - &admin_gpg_haegar F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - &admin_gpg_dario 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - &admin_gpg_echtnurich 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - &admin_gpg_max 9DFA033E3DAEBAD7FDD71B056C7AAA54BE05F7BA - - &admin_gpg_c6ristian B71138A6A8964A3C3B8899857B4F70C356765BAB - - &admin_gpg_lilly D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - &admin_gpg_langoor 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - &host_netbox_ansible_pull_age_key age1ss82zwqkj438re78355p886r89csqrrfmkfp8lrrf8v23nza492qza4ey3 + admins: + gpg: &admin_gpg_keys + - &admin_gpg_djerun EF643F59E008414882232C78FFA8331EEB7D6B70 + - &admin_gpg_stb F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC + - &admin_gpg_jtbx 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 + - &admin_gpg_yuri 87AB00D45D37C9E9167B5A5A333448678B60E505 + - &admin_gpg_june 057870A2C72CD82566A3EC983695F4FCBCAE4912 + - &admin_gpg_haegar F38C9D4228FC6F674E322D9C3326D914EB9B8F55 + - &admin_gpg_dario 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD + - &admin_gpg_echtnurich 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A + - &admin_gpg_max 9DFA033E3DAEBAD7FDD71B056C7AAA54BE05F7BA + - &admin_gpg_c6ristian B71138A6A8964A3C3B8899857B4F70C356765BAB + - &admin_gpg_lilly D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD + - &admin_gpg_langoor 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + hosts: + age: + - &host_netbox_ansible_pull_age_key age1ss82zwqkj438re78355p886r89csqrrfmkfp8lrrf8v23nza492qza4ey3 creation_rules: - path_regex: inventories/chaosknoten/host_vars/cloud.* key_groups: - pgp: - - *admin_gpg_djerun - - *admin_gpg_stb - - *admin_gpg_jtbx - - *admin_gpg_yuri - - *admin_gpg_june - - *admin_gpg_haegar - - *admin_gpg_dario - - *admin_gpg_echtnurich - - *admin_gpg_max - - *admin_gpg_c6ristian - - *admin_gpg_lilly - - *admin_gpg_langoor + *admin_gpg_keys - path_regex: inventories/chaosknoten/host_vars/keycloak.* key_groups: - pgp: - - *admin_gpg_djerun - - *admin_gpg_stb - - *admin_gpg_jtbx - - *admin_gpg_yuri - - *admin_gpg_june - - *admin_gpg_haegar - - *admin_gpg_dario - - *admin_gpg_echtnurich - - *admin_gpg_max - - *admin_gpg_c6ristian - - *admin_gpg_lilly - - *admin_gpg_langoor + *admin_gpg_keys - path_regex: inventories/chaosknoten/host_vars/grafana.* key_groups: - pgp: - - *admin_gpg_djerun - - *admin_gpg_stb - - *admin_gpg_jtbx - - *admin_gpg_yuri - - *admin_gpg_june - - *admin_gpg_haegar - - *admin_gpg_dario - - *admin_gpg_echtnurich - - *admin_gpg_max - - *admin_gpg_c6ristian - - *admin_gpg_lilly - - *admin_gpg_langoor + *admin_gpg_keys - path_regex: inventories/chaosknoten/host_vars/pad.* key_groups: - pgp: - - *admin_gpg_djerun - - *admin_gpg_stb - - *admin_gpg_jtbx - - *admin_gpg_yuri - - *admin_gpg_june - - *admin_gpg_haegar - - *admin_gpg_dario - - *admin_gpg_echtnurich - - *admin_gpg_max - - *admin_gpg_c6ristian - - *admin_gpg_lilly - - *admin_gpg_langoor + *admin_gpg_keys - path_regex: inventories/chaosknoten/host_vars/ccchoir.* key_groups: - pgp: - - *admin_gpg_djerun - - *admin_gpg_stb - - *admin_gpg_jtbx - - *admin_gpg_yuri - - *admin_gpg_june - - *admin_gpg_haegar - - *admin_gpg_dario - - *admin_gpg_echtnurich - - *admin_gpg_max - - *admin_gpg_c6ristian - - *admin_gpg_lilly - - *admin_gpg_langoor + *admin_gpg_keys - path_regex: inventories/chaosknoten/host_vars/pretalx.* key_groups: - pgp: - - *admin_gpg_djerun - - *admin_gpg_stb - - *admin_gpg_jtbx - - *admin_gpg_yuri - - *admin_gpg_june - - *admin_gpg_haegar - - *admin_gpg_dario - - *admin_gpg_echtnurich - - *admin_gpg_max - - *admin_gpg_c6ristian - - *admin_gpg_lilly - - *admin_gpg_langoor + *admin_gpg_keys - path_regex: inventories/chaosknoten/host_vars/netbox.* key_groups: - pgp: - - *admin_gpg_djerun - - *admin_gpg_stb - - *admin_gpg_jtbx - - *admin_gpg_yuri - - *admin_gpg_june - - *admin_gpg_haegar - - *admin_gpg_dario - - *admin_gpg_echtnurich - - *admin_gpg_max - - *admin_gpg_c6ristian - - *admin_gpg_lilly - - *admin_gpg_langoor + *admin_gpg_keys age: - *host_netbox_ansible_pull_age_key - path_regex: inventories/chaosknoten/host_vars/tickets.* key_groups: - pgp: - - *admin_gpg_djerun - - *admin_gpg_stb - - *admin_gpg_jtbx - - *admin_gpg_yuri - - *admin_gpg_june - - *admin_gpg_haegar - - *admin_gpg_dario - - *admin_gpg_echtnurich - - *admin_gpg_max - - *admin_gpg_c6ristian - - *admin_gpg_lilly - - *admin_gpg_langoor + *admin_gpg_keys - path_regex: inventories/chaosknoten/host_vars/onlyoffice.* key_groups: - pgp: - - *admin_gpg_djerun - - *admin_gpg_stb - - *admin_gpg_jtbx - - *admin_gpg_yuri - - *admin_gpg_june - - *admin_gpg_haegar - - *admin_gpg_dario - - *admin_gpg_echtnurich - - *admin_gpg_max - - *admin_gpg_c6ristian - - *admin_gpg_lilly - - *admin_gpg_langoor + *admin_gpg_keys - path_regex: inventories/chaosknoten/host_vars/zammad.* key_groups: - pgp: - - *admin_gpg_djerun - - *admin_gpg_stb - - *admin_gpg_jtbx - - *admin_gpg_yuri - - *admin_gpg_june - - *admin_gpg_haegar - - *admin_gpg_dario - - *admin_gpg_echtnurich - - *admin_gpg_max - - *admin_gpg_c6ristian - - *admin_gpg_lilly - - *admin_gpg_langoor + *admin_gpg_keys - path_regex: inventories/chaosknoten/host_vars/ntfy.* key_groups: - pgp: - - *admin_gpg_djerun - - *admin_gpg_stb - - *admin_gpg_jtbx - - *admin_gpg_yuri - - *admin_gpg_june - - *admin_gpg_haegar - - *admin_gpg_dario - - *admin_gpg_echtnurich - - *admin_gpg_max - - *admin_gpg_c6ristian - - *admin_gpg_lilly - - *admin_gpg_langoor + *admin_gpg_keys - path_regex: inventories/z9/host_vars/dooris.* key_groups: - pgp: - - *admin_gpg_djerun - - *admin_gpg_stb - - *admin_gpg_jtbx - - *admin_gpg_yuri - - *admin_gpg_june - - *admin_gpg_haegar - - *admin_gpg_dario - - *admin_gpg_echtnurich - - *admin_gpg_max - - *admin_gpg_c6ristian - - *admin_gpg_lilly - - *admin_gpg_langoor + *admin_gpg_keys - path_regex: inventories/z9/host_vars/yate.* key_groups: - pgp: - - *admin_gpg_djerun - - *admin_gpg_stb - - *admin_gpg_jtbx - - *admin_gpg_yuri - - *admin_gpg_june - - *admin_gpg_haegar - - *admin_gpg_dario - - *admin_gpg_echtnurich - - *admin_gpg_max - - *admin_gpg_c6ristian - - *admin_gpg_lilly - - *admin_gpg_langoor + *admin_gpg_keys - key_groups: - pgp: - - *admin_gpg_djerun - - *admin_gpg_stb - - *admin_gpg_jtbx - - *admin_gpg_yuri - - *admin_gpg_june - - *admin_gpg_haegar - - *admin_gpg_dario - - *admin_gpg_echtnurich - - *admin_gpg_max - - *admin_gpg_c6ristian - - *admin_gpg_lilly - - *admin_gpg_langoor + *admin_gpg_keys stores: yaml: indent: 2 From 18dda95c466ecf77018f01e9d7b160e9ca74fac1 Mon Sep 17 00:00:00 2001 From: June Date: Mon, 13 Oct 2025 22:12:31 +0200 Subject: [PATCH 015/160] remove max expired key --- .sops.yaml | 1 - .../chaosknoten/host_vars/ccchoir.sops.yaml | 296 ++++++++--------- .../chaosknoten/host_vars/cloud.sops.yaml | 296 ++++++++--------- .../chaosknoten/host_vars/grafana.sops.yaml | 296 ++++++++--------- .../chaosknoten/host_vars/keycloak.sops.yaml | 296 ++++++++--------- .../chaosknoten/host_vars/netbox.sops.yaml | 306 ++++++++---------- .../chaosknoten/host_vars/ntfy.sops.yaml | 296 ++++++++--------- .../host_vars/onlyoffice.sops.yaml | 296 ++++++++--------- .../chaosknoten/host_vars/pad.sops.yaml | 296 ++++++++--------- .../chaosknoten/host_vars/pretalx.sops.yaml | 296 ++++++++--------- .../chaosknoten/host_vars/tickets.sops.yaml | 296 ++++++++--------- .../chaosknoten/host_vars/zammad.sops.yaml | 296 ++++++++--------- inventories/z9/host_vars/dooris.sops.yaml | 296 ++++++++--------- inventories/z9/host_vars/yate.sops.yaml | 296 ++++++++--------- 14 files changed, 1799 insertions(+), 2060 deletions(-) diff --git a/.sops.yaml b/.sops.yaml index 8f42083..bf35e44 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -9,7 +9,6 @@ keys: - &admin_gpg_haegar F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - &admin_gpg_dario 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - &admin_gpg_echtnurich 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - &admin_gpg_max 9DFA033E3DAEBAD7FDD71B056C7AAA54BE05F7BA - &admin_gpg_c6ristian B71138A6A8964A3C3B8899857B4F70C356765BAB - &admin_gpg_lilly D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - &admin_gpg_langoor 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 diff --git a/inventories/chaosknoten/host_vars/ccchoir.sops.yaml b/inventories/chaosknoten/host_vars/ccchoir.sops.yaml index be571a4..23cc272 100644 --- a/inventories/chaosknoten/host_vars/ccchoir.sops.yaml +++ b/inventories/chaosknoten/host_vars/ccchoir.sops.yaml @@ -4,217 +4,197 @@ sops: lastmodified: "2025-05-04T14:15:03Z" mac: ENC[AES256_GCM,data:Za+XnpDu+WTMEUgZ3jnG9/4FOd/emfdiaLSGX+hfkuBSurlqFzVHpXqs4kyl96goOASevkiqCSXwk+DGGNTvSRDCoAH2jMfwUHh5mGHFwXKZFjraVnLidxyOkEg+YJ+tzJ9EHJ7MpQLYlHgGi8Xrc27n3+gpjni6+VhVYiLj4eQ=,iv:fQuTnJbsyNyphHZF6T9UF62jtA2wDrOxlPzW6XwsdNk=,tag:T8P100qKnYhNqr7oJaY6yQ==,type:str] pgp: - - created_at: "2025-07-20T18:28:03Z" + - created_at: "2025-10-13T20:10:35Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//W+DGA83YWISVMvmWTFLul74Enc5+o9It2JqVRBB0sRyv - VJAF65zi5AQ6k3SIyZYNf1Dy8eR3C6PBskw7juPrMuLKXA4NVWu9mLl34gB53zoL - 9WnCoGLiF+1DhnkH2/YD8FoUytJn+7BhD6uthhWbYqeeOo6GDO0bKGuE0PIR4KSw - pHyP7+9B06IlNdWvU/2AqnaTyakFa0yHuNKVmtJ4qd7FfcXiJejuhedNaXLaPRg8 - Z+dY6nt4F6rG4y9shUcTCR1rGDxgqB7aaZjm0vy5mCsefSisw/ptnASKqaz6ZXyJ - QQtI42wmzgw5zC6vXt+zixtEdyB/MmBaWbJkLsRIpu1frswI4inHy5GW/wJTyG7Z - C82Xih2R0kMbNV45lMrvDz+hBt1R7YBe2J30TavXBOEvXO5VfhOtFZDhYA0wdw0+ - ykUWVvT6Wpai17m9CbVgjwK+RIDLAuRDQhX4+SDKPLoLycpswAUteYDovk3x5zjc - GdbyDo3iKfqpzO+sa8LpHQeL93A3TdYsq111Dbq/itM3EluTcMKE84A2J5zBOJ9p - nduMtPeS1Yqz/G66TF5BivI09duP2ayf49DsF/zrF0m9bWsvWPfWM2Rvrf5c7D6K - zldVilFNM8YAJOmbXJjW1kXzqgs7SjrQblp3fhxYgHx5w89K/VcyoC1sBo3XvwXS - XgFpgPJrG7xHbVwB8bJrG8cPsI74/FxZBtj/P64/Pjj8rT0hXYnzI56W371ihHJ/ - Mnp8hTjGZrbzun/daNr7ejkxdD+1qBRqqT/WNzv/XcTDdUlYdok5qVkeBtE/S9M= - =aVMO + hQIMAxK/JaB2/SdtAQ/+IosfvaYuM7bZdXUtdanSZDkss7wW0McZYkFUZOjeersP + EFkcPo7fvcpQ40GHL2Q0hbPiSLFnoTIVXxZnYtP32OJaz59CCfGc8pm/UjP/mQ9k + LqyfsmpSHtQA5as7EYpq5fMsQVDizW+8Ie/xEzbsrrlv83YeEqtcVIhMGcCcJi9R + ZJB4UtiyPq47Zlo/5Jcaa+xyOJn/Uzqkpz2byKYWacGjsLuuC0Tjp5jAXh/KARcM + lobUcm747MxXihHUnaFxLVE+8DSM49axILPZ6E5gPMDT3PLRKryxbLyCYQMQkEds + AQNaXTPAJU3B6WnNP9/dOX2dsspgHvLpQVDCTTjI0jXXrJCcdbOTlG9UyyUZEDbx + h2JqlecBQ06FSiA0ON+DJy2Xg1LwzcQXpf+nLpZqYi7wab/celcn1EpQXI2C87Hv + rgWO1tnAAh152QYaX/sBKiC1QbomCViOwA3e8UGBC+WgBNCDWtpFce25kgRFOs6A + zdiGO5NzJsmdVF3moW6f2v+nSZs31ziQeNDzIY3moJTbwebXZ5EMfK0g51nwAp4a + fhiTTu7Bb85VJyGzpQcWvkauUOMlYMTFenLXj3jr6QzFGy+OuGcuJyE7MSIK4pdw + hO69qGidvepjHI+nc+8+VV4t3xau8hsPM+6LFFd+X/ol1YBlcy0Cp2edmJveOX3S + XgFFVnOdot7zxsYDAYQjRtrSVP6lvingK7cYnMnou/3d1csuj2KnUmg93IX5veRm + ln56AwW2LE2L1DWBJblXX0FlA4j+s8Vz1mSaTRQAb2fH8miBjFXYhfo6Ts+GPuk= + =kbe2 -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2025-07-20T18:28:03Z" + - created_at: "2025-10-13T20:10:35Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA6EyPtWBEI+2ARAAhhWtMl0Qhvctd2RjezkWE7albF7svgAJUoA4QFgPtjqy - IYhM/GDo1pL9gSydk1axJQPGsn2Z88QgYBuhkZBgLA9SiREgUwPKCsKvZ70bxzRS - hSLS7rykOmPFIobY3JjKnYCNFx1/6U/R6XdgzuHhr8Um8Cf5WWyYHmB5EuMm8Djv - AZJqChoE7KAFycuGWJGZxN039/rMzxdjPnaFlOmTpOPiyofICWLjA/6Y15EcxuJJ - ESsUEs1JXIdTGVZWC8UqGf75b0fQ2jxki1duil2nhr7N2mNYyrns/VGbfCq0113M - 5X1e2iNq8lyjBfErdq90cG/QqGXe4sxtUwnRDIKaWbr0RhY9mBBjBLvOjDQ3d8Yo - PqyznHESPESwatIfFSt5qYQQN5MVwmbQ82OSDdkX0b59ouSq1cigWvCoPQ7x5sIa - UJc6ehFljDoYGx9mXzLv803Li9kToHH3lWXCmaDII+huvWFqrR07pD2gC0cEKSZt - ttBjJuWyfqHdWPaqEyJ6EZF6Bpf3Zsm+UDDb1S7aA4cjSIPOlqt0RoiMv1QSlnJP - JMg0QkEEWx9HHzcIPQbtCDyk3NxO1hPGlVLUSLYruTjB826LhxDDCfbfmBAdNsXo - +Qod3e1StlGGubpWbtP6PIcYKBs/XDvtPsxjiazkUalc8SbBUPipHuwohCuiAFXS - XgEZrSWbUdOCTQK2UoU57uTDjQKNytVbuxlTGNZ3Tn02Rkdutj4Qh/cK5vJlJ1pc - ckfsnDLIpRM03i82WMilXeWg/dhVzJgbn+WvUElC5kmWAHGgZhk96LO1ImQyS80= - =FJKu + hQIMA6EyPtWBEI+2ARAAr5dNAp2mqlJHRBMy88OX5mAU9ZL48HaxwtAApGRcqzdP + JL3MhhUMEsrk44o1ypQBEf1d+F6qqtEpbbdwYkonfIZsLtwQit3f+yhCI/o2GROi + tP+0Nhj/4SJh1r4c6qcbAO1j1/E6wopK3TIPs81jvao3au1lTNgkw52Yhz/tF9Rs + Gn2RWFW+ivpb2DJPL4KMw6HJC3CN5b2sP81vdxFxT/Wf+lx0JQWjSSot4wo5bgIC + xMkwrNbN+agAm5mOv6ra3it9+CzhX/4XnAhSL56Irx6vjy6JudHPre5eUR3ZZ5Vw + bbIwJBSUCk/rLzdJak2BpjOfqjIw4PcIdFD5aWH6KIE59pPEbJ31eZEqBiRX7rcY + mH3guxkgvAV2nMpQa1UrMSNZa7Pu9fawEA6GMzqRhy8uL8EnCl63nOE83JVh/fgg + 31zYRvrMfgbwNcr3bvOB7cCH95iEJV26B+2oBp8r733EPHc6ZA4/j5dvebXTwxwn + /95D2XvRiOZPu0Et7I7GYOJobfL6tD43T+n4V1oFRqvjJUc99hNw+n3BpGiFR4/L + qFi8jkasE8i6DgLqU0pHGnVZxEyZkSr/fqFBpOx3vW4U0J6qgjVHZvZq9+ChHWDM + 2vHB6JQHOAZv7g1arlH+OZErE7GanTVZsiwB3rll4FFhR7HVIFtXknR5ie5qsDPS + XgEkB65zknz+Ra5mTtvSN59epuPeJLpN6OHSSEfI5wJXfRzxgtVjgEIhF1UhDaEp + Eai4vv/sD5dX++55/jUEOwKP1AslcrwxdPWQL3Mn0RDdpt1ZlbkdKfofrGuR++M= + =SxKy -----END PGP MESSAGE----- fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC - - created_at: "2025-07-20T18:28:03Z" + - created_at: "2025-10-13T20:10:35Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ/+JHFiiwiZeW2wfe+6d7jDKtVyAoJiHB3FN2X8q6S1fsgj - 17EzxQjyVTojsPSTe5Zap0sqc/h4O38jhpUpW5aS/c38KLscv366y3Au+hWHGodm - 6OMlQBFKAB0x6uC7RqDnDKrT3p5mk/gKGIMZ2s6R2vayo/rZeHF52kQovkSDe/wE - 6BtscMXYioarFwGb2dq9x2w6sdfQO8MPaDV+jhBOrLZWGXAB0g9H+f3Eh2fonfg5 - 3sHQRSoeYvVMSOFlLectJwP4iLQmgfEqBO35d/+ixD7M1gVt6PqOa4zt8NQPmEHB - 5OfSrmeeakoXPyfClcfqpXuJP8jwzEtTmqEOySVwOKa4RboheyNG8ZTAU5gUcCgk - 0iC4foeLdYXzghtHLsB0dt1XBBtpPMTwRUjmK9zj7J9aE4mPV+2ya70czvjgPQv7 - cGM3oGS4g9jpn/HHBmGrQltAyLITbwnr+Oa2fjjSNxLN5aYoDDHO1nS/AaogFSQz - 0dV44+qaBLpqPZebTKVe9xi2ifttgUzBMBwVwnj+byctdKTzwHDoO1csLnJvcRvu - ESbJURybe2vWuLIfydE9fjpv54mpDNbbQPFFsklX5qmlC8u4GELCO2/ckrR43a/R - b4yxxxZbMCjS+Pgmr5/SVDrgp+8JP4wv6lA74hNuLf+UY4Q7m59sROQyMTNdWuPS - XgHt1PC5OPzV0DZgJOsFgRUhW+W4On76XR8M9/fxmuV4ixGlcpci0xxrn45cc2br - DbRloABWVghOplhH1cw4MnlJ6CJOjvNhaHPSsAkyVezBtSjq8PhOeiUA/mzN2Ok= - =ZLtE + hQIMAz5uSgHG2iMJAQ//We4uBivofpNlzGUgviNEKCRaySb7BOyWauQ4ovSB9xBM + 5k2G/7eC4JdZlmCWztDQAzsOwauzrusIz5ZvCSWuW38ydsOFp1iDQZylx5khDBh7 + gubv8lQcr1I3FC2SX5JOzhVRaVqLjh4/3k3OnpaIGm6KJHjLCd31X6Juas9xVWoH + IHxhSVaoQK9GWXjESSNf9GDP9yh18GibVlQ02X8V9G7MkDz3ttGW3xXMXrGdkPOu + uhYlr+GeoAbQ+fcBLk7Cre5my9VyUHhIz+WAxFkxEbab9wqUDUnXuFgcxHOynfoM + TJa0PdlHeUy2Qh85TI1Fo0SxErHmNgDXQhLulLDSJbiXoUN9TuyAiQW8qnnQk6O7 + KH05ahvrK5vOXeBv/QIddbZ/TbB3tRIEVF+rDaJVZK6VuZwoSvOg7trO14Wjn4+y + mAH/fBKSbDTO8cFfYVJn0ZubCIsealOGhCCaaS4z2/m1/kzqE50hCtcagESbJQYk + v7zI1fM81CUUiQVZB8RKmwgQrs1IEk9Y9E2Bve3AuFAJQVx5u6teklgJXtr51Iw9 + 7H+y/t2R2J6Z/mQhZ7QcKdezkrqaWtWJox3ZMjKCjrzePXX394DXuvnz/6QAVue7 + 6ycKBQA7B1EH7GhUfBjtEncqxWmg+Hn+8mIAjDtk9HK5tIDAj+tnpgtdC9w38QjS + XgHC+3QjA6QxE6k0Wm9Hg9NFUdXNUAJP4Ok8MqT7DdwkVFtXJExxgJUhpCHrRA5t + ryeh6TU3lpxMsePFo/s9DZ2wJ+xrTKV0oiYL0D2oD9tJ0weF39feQDoDicqwVqY= + =e4lK -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2025-07-20T18:28:03Z" + - created_at: "2025-10-13T20:10:35Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ/9FqwSd/IuaNnWlVL0MgM1edU/tXNo6IrvCpeNLCJOaS+7 - RvQIOsKUX7eaTCG6wUxvXPuzCgQ8bu8kpJ5fl2ntiOerj8GiAqfPWMc7zoNP2w3y - yWJ8yslGjqSw9rNjdsk5b88k16ohLdElS9A/fFrKwtB94gpLHbLXa98Nt+IB0O5L - Hmad8fbhCdICxEz0KQVIgC1WHBUyJ9BGoKJpwfjlx7aKBHXGkDweutZCuF9ZGYks - PmS/6EVY/ubXB3Qd5KpFPg9k7RQh8QraZZnASJIRJTZJxoiiB9gf86pXP26RUnhS - 2vthDrVtABarp/cfS8lEA05SX9nNnKJ/qMU7l+kBaV9oiU4dfSNWG3SwSEyb9CzD - 2QGUnOS8Os5HMd/RIH9ZFFdoLYYntAtiKiJCx8yrC0c88OnU2A4BsGZ/oeLmwWJI - KqPdH/6/NHSGvUUHENFEI+cNiEPdDUvH/Ak3/wE6BMe7z5/TXPyYz6QpiBr+npQm - rfufJBn/hxjAIC5Hd04JViGjp8cV966iGg9AhckYN8pwCHkd4kdqrFCdm3NmKgZ8 - /fmPYyozeLyzp7ZjerExL+BMc+hNAlMhis4v7NH3WWA8t0yvZ1VTGfBObsYHyV/e - 9QyYbWI4tqOMfhLOyv4KPDdL2X99gsL/OsT8u5cTVK1/20asm9XxuWDzVum+a1bS - XgEIa9iie/rP1dAILcMQQesATCBdxWTjyCADTIYhliK7WX/aQUuKil8RyLLJnznh - kfFiCI+FNRlAGGYLztzSsDgpkbe11g/zczDaS3m0+7Jxw1JWZtp/gQW96qO9XnA= - =yGeq + hQIMAw5vwmoEJHQ1AQ//UNWJ+gFT3vUo3uST5HzxBh2odFv89z39XG6BTjf5zSLs + uUuwyjzwNniguaHff9vU0s5EXY55D6IA9Q34hNMPDG9TRettwDY+pNkvHF56zx1B + pZkRKqEW2czwM2CYRufLjkaI8Z4dysMss0itLCgY3ip/fwZ/91qQmZ0UsNw/w8Y4 + C6V4cJD2o9PyaO60iEMB4QTvCRtyJjDe9pArWnGQyR6hbH7b6wI1voWP2IA1TGXZ + GsWQR4+JGdew1o92NDLmbyOLcw1aUZ1WvtuVAljwHuSwm/Atl2uFVlntTJ6YI57K + tgKi8afbXBiGG4Y5KjyoViJIkXQsGyqN9NBoRUEfUtf9+iFY0blTIeE+077WKhUY + Ql83rMMMDy5NyU3H64WfkUMJbDk6FVhVHEsBrib0OhGGCacHgrB45raj69O4ixR8 + PBXEAPbE+8mchMYLsQEG7Zu/qLFiybPKF683WHsHQM3WGiC1YaIv37WmyHLEZEQe + icJ75ZlsMWWvmF0BT+Fx+JoC80f8kh4EMTqiVFcqXMtvye5XS1/nwdb92k1QGnyw + HhcmqnkmE/cso9le9Iqjqf9AOVkFN7Ul/P+husp7Kl3CXAsL4jy1yAPi6sOPlgGv + yBYsOzYs7UAAfbydZV/mafx1/LGd5dt47HvQu3FOlAZ6AQQLqHmndJLLMD1AP6LS + XgEDk5ll/yQTuHRd+4170gQb6gOORrCVCJW7aDQ8ShU/FdGsMgm23RlLO/85/yo2 + Qp7SqAtnUwZfFvDs+3gHpoGE94Rkp9N2D2eirn+yZ0uk7Ak76JafPNZ9QANQL7w= + =LrpK -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2025-07-20T18:28:03Z" + - created_at: "2025-10-13T20:10:35Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAhYuNoHxnDoR3vYcXNS2t0aWAKFatN7yeBNugZ7rfqiYw - i/XO28FpFbyjlt53vshZwUrdz9qsG6mVdQ57D3aXXtEMP1yxH3FwmKmsQHQGM7VQ - 0l4BT4uruLjE3clae+RU0cHcukKSuR4hEOqdUPcQDOWSV8tnboxtjsV34tkRbIZc - VJvLT8fM0tUWtzt0n7Paz9OHelKUtQ7eKlz2sWO+I49qCsZaE7dJ8WNRWonFu1ip - =w/sh + hF4DerEtaFuTeewSAQdAe+GkmU8o7XoHMyntQtPEbV5zNqUgrcoWvcZ+MFuajQ8w + 7lyJarLC/f2j/HZ3+lZlULrMjFjXgBf2bNXcOhF1nwO11R8+NfV0xwcpvRVSuo1m + 0l4Bpti3RneLHjS9OcRdIz/TzcTq53L8JtD6F33f1NnrbE4Sxg6HvLbchuWCaXh2 + FNQ319tjWrfndWkLCFa/UlFhA/kv7H8JcISn48pmFv8WGGzlb0zr9LS3Gh3Rfk/G + =c3IE -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2025-07-20T18:28:03Z" + - created_at: "2025-10-13T20:10:35Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/+NGGeGx82rYFDpMgxOWJpenco6LVzC6gjeHwThOynt6se - 8AKQ38a4YhjUrAUudMr4kCVYRGqSEmWdHJPRG6pxET3sUNqNMLyvlBifxD/4VAi6 - o8oNEaiVHMLBEK+zuIJ8l57RdFc/CKmBCGX6PC017ndshU9lAsVbZQt9xk4PkR+C - hBIKmRpZWe8CJBnTzZvG/PCHUU+fXDzUy89f0SOgUdtoNBUSHQcg0FrPvzh0BqNk - zkenQ4EgvkZ8eF0qXlGTmwZNfwD6KBB4qaHBNAZYUGU1CvtJ7FtrlmtpLmowF4l/ - cE0K6HwbG4CADh9iBblSqMzpE8Iuk9kEn3IH/9E5Uggb1qtjmqtkQpCjl8M5LTHl - eoz2bvY0bAcQ6GZx3Nak5nosGYL2JHRQdewZd9lcnXoNzOCpV2ZwHiSjG7WVBKtV - iHcsPLOH7NNkLAtF56WyV9Z8n/mI4rISYRs142uezAz41cJEO73xzjUiAu1tjVZd - iNvplAqT01PPGLOI6ZqwT0cZQZkjl9qX1cMv1bSjBC01Y8t8iBwTxOFzv0gGLqw4 - NjQjpPjWKSSAejYIdy5jY3XhQVkl3miPcC93MtOLR9GE6gwoAQCrJ0WqEh2pjt85 - nFl8OYfA7UeFfO/C2XIeW7d/wU5Ec24gm4APqzw6rsAMLf91O71uJnrJ3uWkrmjS - XgGL7lFqTqFDpCASmTzNBspf9a3e/1kk+87DOzQG9YO4TsetYMWqJhsAzKRgg3U0 - nVR3y2D48Y5ypVvbsQbFdz8ZI8H/1aQK62+YBjRGB2EOqHkK3+Uig8T0IyaVAow= - =4H45 + hQIMAxjNhCKPP69fAQ/+JOKaKiQeu7RN+zUvKcsg6N+IIOnPM+5+5KUqum4bYHGX + gGQK86Q997gUr8jj5RVd7Nx1iX+XZZwl9248Ou+mnGcl3C2lBK0figPftKrZBvAv + AMdKxBWImfPoyggoLLcRdOQB1CXWohBkvIz5bwF+lBNTweR0FCa+sJXyp5Yhgdnz + axgHkEP0QWIDK6w5T4ZFxwtuOMmL1T22MRvDllMuv7TMD1vXESOaMlKXbFUXrKC1 + +/+nVLNgwL4RmClGZJqMAyO1rzquui//EW4yiF2k9G/oI+2Ewa7/E3/Ln837rExE + 520P6BNPD4oUZBOES50IQU2JvZuzWkBOuOAERt43PlpxT7psGEFnGnOyvBxL4BM4 + UVh2FKzo8oTrLsueLLe55VolmjecT3GGnJT5u3aK/MWjxEVrZaFz7aabC5mnVZlC + EEDOl0RzSNsnhEW/QkPGmlEjkoufORoNFF0Ezsustc3HlymVh4Ar//QBYvQcigQe + gjSb5gXhMiLVTZF50Z30Bss8uAr3zQVjoSQWMnoatt64/CDztKVN5dZwx7qMG4V0 + m3VDV2WqGotOiI3Uc82COQnRvUw9dTC7qf9/xvsm8I3EBUbMqVELScDA5C6hY4cz + obzK4t6AbwOR8nFSdIWucbw8FT5/ENoZz+ZiqQCz7fPN7/PzUDJOt6IpgGNFp0bS + XgF+XHxIfU03AbOwdEU9Tv/NOv/s9AE80fk1BBDNeFJr5ggnnDLq6p73zcJkMLxa + BzXJrO+VUQ5NJ44mIvZGO7nnOd90pqSevBvpTiu+1W6867nMgdCVPjaC4qQ3L0A= + =aofb -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2025-07-20T18:28:03Z" + - created_at: "2025-10-13T20:10:35Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//W8i1bv4vXKxoegHrLH/HxHyDm7SJ2QNzcnTyNBMo3Z+u - sTce3jIwFvi6I4HCnHtGMf7bp7U4ORYN8yxeuLbvjTGD2v1Dmda2A1NPdRnjoy6Y - tLsjsz/FbT/3zea/OkdwZgeNTN4p+AQD9nd5oyAhN6XXcFmZwJ1IQegQtDADFDwY - zOSN9nH6cR1MWjy1ptZFYugAA3U/1WtFNq57G34+jMtszT2FUDHhDZz91PrkezlH - ZL4cPLejiaOS8Vm97D7kDsxo2yDTCtoypcaS330ANq1l03yrjjPjSoW9j+Hvhpzk - 6I86vU+AVNBLtvPSYybo58En1HvI+7TlAz6Gq+UMup2wWE1kkEDAVwmzd6kyyq/z - Kr8Pd/iCHs0hoc1kx7xCXQ76qJFoSAHE+eqkmGJLxUolZ1XmsbZeYBcKSwslbMKB - 8JHEnFjQtGbaXVf0RGjh7z4fzhYvehcN2NHBVt2/VG16xrjeUv/3xifvbnWrAa9L - xTIn126kWvX6mQjyEVRkZO5Ud/jVMcsW7sko2I74zhEtz27BBE/3Ms5WK7ZTVKiI - cWMnVn+NOB7sY9xn02fqe0oLXdBW0cnMjCLyWpdclq3odNJw5eKbaCUYm+Z7WG8p - DQOcPQ6ejXk7EW22VNFhedmUYJWMpDZImkbUOAo8XAN5KAVLy9D+Zu63eY5QjtzS - XgFBG6m9scVN7SYPyWxGZ8M7qKNqCezXmOSOWJpsYex4nFSIuIDr7LSw3bs0tp64 - q6qvOlISvBPjoAmv4638iG5F3zronJde01ZmcYx2l9kYSRcxdr9fyUNaeWsz1aE= - =MW8k + hQIMA1Hthzn+T1OoARAArCEwTYQAguomjEj8jk3byLQvcFbtnGHHVLGPXu+OGmfR + roh8xGoOTurgb20uGVH0z1aYuROnTkZoBKuxKJvZl6r+2Dkk+HIVwtH/OpLgLNpl + SF3FyygJInzZ7WjXAEltwCR5Eprp26k2VMDOXPQ4SxtcGEwwvYpZ9svB3tK88gnr + veWjgsrSwDD2wrz+LNo4vWMal9GcoF8efarx41IapR1201ptvEjWWJL5NE9Ze22i + 7wnxtVB/H6BP9f9P/yzfjW/KMyEAdkBbbpSWCzO8iVVv20j3Tq/stDb6gXDqC7w5 + ft1zxyxdWk7+eSC/n72zLYF94bO3WwMOr+2ofSs2i/m2yfxdmK7t6cm86D8auY9j + 1CJn6lQcS8uy/HruWksc66xWUTMaF57DWOHB+qUK8MfEcLSJTfQdrpVHE5S0gD84 + pgJv7DxI/UY5M/GVf71ZdSu78Rkcq6l6cYzEdUqQ0/qk8x9llUZmxQz+KJOlntY3 + RTx8AvHT2Jc98eS0jxpVRzs7TrSjSZJ5ZBzCaE44TbW+YHsdyErvy0M5bOFFnnNo + 8EopvHpGHKzcIWBPbBO1oWxEmDfTPlPQQAjTeK+y3ugQoqevmyHbBZRFL/22mhRE + +wboV90XAgzMZUSh878AWvaUoT0g5hY0D7AjYOTkNVBHcTFzjdq8txcbXM8nCQvS + XgEittw3PSSyvbygsPoogLaWkWJKeBPEFAFW2ZhjNrfXGKAi26PZzTtyM6ZIOKmK + O4f1wgAET7As+EmU+1tcsRpJf0WCpc9MAZOqqwiQ94eAZikt2ARc9psv01mH/AM= + =Lza0 -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2025-07-20T18:28:03Z" + - created_at: "2025-10-13T20:10:35Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ/+M5ftMfxnz01rDri5YMAKBpUAgUHBdnWrjaVWqGIS7aZh - UXXqlCVRXzNfIt37Z23LiyINJGZ1y/6ES+4n0RYAli2XJWlR5vMzbN2Obh743IoZ - 9bApYKGXf0pnRdC2kNGFK+PC89aWHWpjVSsahBhVcYbi9G8WYFlYw/ZVrlh636OH - vahqWefuJStCKL6DA3sAYJzzDck8F06o1pEzmvTkGmAlJfZZ/Otam9BSQFmcegl8 - tIqwi+EVuu35/yo0QqSMCA/QmvEGKi7rsk2OJMllyEHCe8Rtu9JHsUsnzDXCCPeV - UT7s8jMM0rduuEoIhgDkiEHNgbIbQ6f3/gdf4f7s0aC7NnoUHoVI3pKSbZeQhGzo - /pOSFsaqxlclxwu8uxIcyF/ReFf7u+sAM0AUVWdBKi0l9zeucJf7TmokY8oh3K1J - XX7XIuyMwvo/hrA23GTrYVk3ulzedawOlDh3ZvtNfiJH42IsNcsOMRwFDjwH8xSI - dYEcVrH/jhL1/a9AzY8lu3VCml/Xhs6Hwqr5urYcBNBC3PoufPoi6c79xO9lcxxl - iIWPEdANLdZO+lCKl0aR/mMZOojInBKplGFvqaedFYDoHr1ng2yYBeeGAbHiGf7/ - qLervOigfGCWjc2sgyrTT1jcvcA0AuuNPiBnZmfEsiOgyiG5CWMK0y7F1Cm2cRTS - XgGHEBJNMoj7IbxHk3Gc++GDAschbcwsBUNbyUjhQ7THx5OmpyaMl+rUZZNEhURk - g3YvkqQvpP6Op8D5R1u7OHLR3/Y1T7eg+gSj+jrwAx+uj2P8PXfpuceTjPqTgQU= - =nBBt + hQIMA46L6MuPqfJqAQ/9HdV9WgUpLimmc8bxANWzIWryCRxLRoyj3Mo61VX5bz00 + fHDltJBQDCfPqEL0sTLGXTFhVMEQOnxWX6EE5xiCD7+Ys5uTjbNQrNcG2b12Ja0v + hPB3IoApcMAwffD8qF05VNOnMqB/yHdcqOHjL0xh/KtkfdcWjqhNqwLtQb+1Dtez + mRjaC8EwnzDAEdIkDOAIX+hhYcGXXLMNY0fNlWhecztzJCejcCt8YqIaR/IlVNhh + /nMpL5rWIWf6iR/+/5UHUqaSmFwKkPkvmzXaitIN5h9OuSIMDjnMpsHmU+IOR8HH + Da82Z1O2hVE0fbVOMM34d3DproEtyFpkU207kqFVGudLX9Ok+r9gEsMJVAOi3+j5 + ysgke1xNAXLSO7tg7sGXpOLYb48/offwTBVrETKjlAr6nWtd0sxLJBGPiXBTofX7 + 15uwtT0zSt1uH3v93O6SeNLdGvxet2dHukgM8+h1SUxOmSpdKGScJhCd3X+mzloh + JUlr4pBW2XV7ulH2WOv4izZEbRh+PGPvUbebYaCpVfEAxHbqISZUTO+yG2Z+4iMQ + 2bE0I2ZOxsZt0UK5nFnq9YG4sAjPnroh2mXMRp35EUT0yo16i5h0ZkeWEUyuDfhh + I0YK9rD7e9ZjA5No1MSjIAKWReR0VrLJSnGqorbjDmNW+D8KlIlXTKKN6/2hZSnS + XgGQwg0XCTsS6QOHIL1e66zC9pZ0K9osxW5Rpqd76Foq08/xY0oZKpYPnH3caTdC + j/ghGkzN12Z76L1OSDVWbgwImQgHaX4VsYiMG8NxB/6MzY/aVUAXgOsjm0htvxI= + =pvas -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2025-07-20T18:28:03Z" + - created_at: "2025-10-13T20:10:35Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA4EEKdYEzV0pARAAqlrh/OWyGSIJmcsjLgeF0mN0EcHYW/Tp/XWu9dtTB35i - ecGcS7n3UtDrOFTH0a2OufYPCf1gxsZN1XSFnwG6B2P3WCX/FDLyxk54d9ULUb5a - c2knQSY4mgsr9p7xIMm5q49TqWYZiJG7WnADyjkhWLb2nHiifGZ/eKS58v8Ekhik - rNWh+Lu6gAHh77SNMxrjKT59rQ7XZPJh47pRBdxwAUnpyvBD5QgcQVuUA6w2ohGA - hgNU6ep9Q7ZxJuG+EBzmn/5cJCGvdP75vxcLXB8H/qlUHew9339UY1qXFg2cEnXE - 4M5uQ4bUzJqQ41LrbjD4fk4hgiANVVd8rypprmHBB9ztjH/ap74guHJRnd/qs0CM - c/Pi7s61JEZrgRzv3zOBjuQ3CSr4w+8wdF/POknoRQWuwf9nC8gyiY6L8ROESHjH - v79tLHXTfPn7HZZ8Bl6YjTp01gaNGJ19lNj22X3G2G0J8tlzTCPBkgKuxi7E7JaD - rWFF6k/sclN1+pGPn8dfVeMAXfUdPorXZbn+fUU0o1mw2XkE9zsa9Tv6FHMkNS3j - +t1naeJ+NHcKF+aiFNkNo1ZfTgeni5iIxvZ7MmlS3ujj4EKZsQtXJBQthPaW9waO - 0H3aI/GttEA6pwgnuvPucfbabjuMNFJtIjeRwnyWzJHRSScE1/MkNZk/J/VUph3S - XgFwtKchdOvNI0UzFDrRF0QBaEkJynjtUtZzsAhYjNHjBiqtoFO9ud++OqzIBR96 - lZn+sq9rTxIl3yxazoid+Ls7A/4eP6YyA4ZX72apW4/cJOSDYJ2Z2Qb+YtmWX74= - =8lTB - -----END PGP MESSAGE----- - fp: 9DFA033E3DAEBAD7FDD71B056C7AAA54BE05F7BA - - created_at: "2025-07-20T18:28:03Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hF4DQrf1tCqiJxoSAQdAL7jChaBJQI2tZj4oNVqZkqNh/CwrURAsgkodnDRRM0Uw - YJbD170ufhkPt7g7Fk9kym94HZHxKsMyTIBLhbOWz5rQr2ZXbSmBOuUdOG2mwqhw - 0l4BZmmNp2oSl2P0/ROLw/vONilGvz/2jMQyCFDXN9IJDya8yZiXTrnEmK2vSM0/ - DYtdYUg1A1wCq/n7bJJCUDWPYSnymP8b5dafTwqWjGwbA+lveg9MDNSRUI9QbG6d - =pja7 + hF4DQrf1tCqiJxoSAQdAARpxP1zmv3LqcHwAQCW9vYNfk4DR8PLZb9TwTA7Vtw4w + 7UpJLEhacSaDrgEhlNI3kTe0VgBGOX+7xp7JLwg+OGT/3O1nHo/cHLuXAZIBmMFa + 0l4BLIf4+vmvYQvG3blC3F9aeL8SfZE0sWxA+V0GojQgV84LOxb0UnjUYEQWLXQ9 + eZ/nWgOPwsbcurnW/WtHpsrqrQQ7a24q+w+0kRS2LaJaNtJtT6lPWtl/WL2+AQc5 + =UyYR -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2025-07-20T18:28:03Z" + - created_at: "2025-10-13T20:10:35Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAS6WN1p3uJaTwEDUFyHIvXIOhVzrS01NBXZAARIT/URMw - 9co0e4F2EliREPIOPlrdTkIutWzk4Hthmu0NtDk58oAkpJOFCayTcQJGDuIDLvZs - 0lgBruPX+8fTD83IUDCmABmrKpQW80TgpWd6HhSRVq595mobaJ4S+TY39zUvr509 - Zrmg6DmlUrEr/FYdff3gj94Rm6wDyBkI0fm/GLXL23Il7uKVrC5WQsNZ - =vzES + hF4DzAGzViGx4qcSAQdA6CEqFJge03j/S1dkej8ji8uiiwYI8e2C3DNzSZ4lZkow + 6xAbHyeLLU3MYwq0w8WIX3H6oPv53VFo8IF1dyh6LdcpZhrQmwxFgy6A/hs95WRJ + 0lgB/NhT4QrJb1EOASmKjTbcaUgibCflVZwCjmLC7SH3cKPvNeVhStTm2WGOPHwR + PWrv7UxFByIgB/itd49BLayex3V7kqYqZevKfbxgycFMA9O9fLHtVrJU + =A1O+ -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2025-07-20T18:28:03Z" + - created_at: "2025-10-13T20:10:35Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//Y4Fc0reFodqz/P5dKD2RsHsKu1kC3Q0KVdGxzAe9AG6M - c26glnYir256VUOonlP5q9gsIvAc+RDNMoFF0WwKO1HGLPmeiB5gK8DTm2U2Hz9/ - g4xG86+5BCyR0eFkx/sEqlVnhRsnfSkPqq6L+/mJir0DQ15W8SR7fbvn7XsXKQC+ - jKI/spzZ0CvkLtbqvqMBp00ZTQ+yU1f93hTbvipLPLLR1fBSOnJpe+f832xAwH6U - W0eLvxzdvdSyALDVT+1xPNH0/Ew/j5E/U6s5k44IQXl2EKQXdwBiSWk8m8Ii6Gj3 - 0XqJj8qiJlajl16auYOdXa6jNzZac7+JAgthc4obznNQsrD8j0XSolzYybPd+4EV - LCW19LF49hqEOsPi3UsigDjcpaiTxx+VdLVwsboquEwwfN+9PFl/iHG5tJRRZjNh - 4q/im5owY8br5Ef6HtU1dWDB/PNHP4lKzWuyGXS4E4YcdenU6cx3HmwKHTTdNlpx - TuH3EYVHTCmTOsJ+5wXSiZa9lTsWXX+kAbxFoIFkWaoi+dtg1NNKzmkfwARPVbi2 - pu4s5rJEGHwta43Ao0gUMUEGyqTItZ0V6gyFn5Ey7ivzvtM0RDjzigsPhbFzCQWX - kUbefqCxu9iQR1LFBxWdM4iPC0xPN2oK4hnRFa3rzyLxybyrhlre/tsMIsS+4lzS - XgGYpNwV4QTYw+YOcxHszqg5OngM/aB8aZIOELsO2HkzRJh49a3Uv75TClv/a7GC - DVVqRbIs7ACxDw+SBp97Rbl2J9k6UAdGJOQ9e3cgxr7JxacCfd3KAJAukco8sQc= - =aWRa + hQIMA2pVdGTIrZI+ARAAxv8X+QbxGoOISPxHZFDJefo61SKQDXKSY8Mm7LlGG6b7 + +6d1hwEUdg6QshLPtLzKWzfnXQrcFFO9ri48/kwro4zlSAok4pXKB21OZwd8fKMu + rSvroEibSul1wN++sya60sMJI3Ia7lXBEKGygjE+iNZ4oHXKSecpO59fEQvg2hv5 + WrNqn77Y7OSyIUhnaP0WETuhy/iGuXNGyHLCdimcIkhj3fi/rliycLIravBrQ7vy + lI940fPkuv9iKOvoHah28geVdGIRAe9uHv1D3dygy6aGBZltP7ewuy5TKCoQ65CX + h5GJqq02ACnOQhKm8vS4c6/7vDxCcZW+OBgb0w2a8bBvzm9OV8ISIxwApJBSW4Rn + 86xCqKKygcZP35lwGGc7DQFFcZIhtHbSAOz8LLXbcNPxKsgMcWZwASobNgDPlSPW + BHAr3ytdHcpHXh9oK3rlOzuPcr30LcEhDXY/5OwD3vhG7tvs2RBpxYzQD98p3lPR + 3Y7AcyvUDY40B5nN6IFr28585M+9GH+IpklIvxE4FOVbTDLYcMD8tZVFMRqjt9DR + s2JqacCkztxYjTkqgurbIppfv4hNz2JsBKk7RQf0UT+R3Mj/NaO6H0Zxw36+RI9C + GA51Dcxvrzqt4gZhWwbcF4NCialAjx+ZVX5Gj/llP5He4Z6g6ovEXwVoZtf/yvPS + XgG7JTpjoLM4pAIRakxhmzQJuxmyE2xU8MZXNL65NW5c0KNtoZGATw2q/9BxCUjl + ef//IDnCsHgWYuPTmtte30BoxqJiR3wDQKRfl2jqR+pjN4JJeMOwH/t98XDhZvs= + =Esah -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/cloud.sops.yaml b/inventories/chaosknoten/host_vars/cloud.sops.yaml index 3c53a9b..a74d6f7 100644 --- a/inventories/chaosknoten/host_vars/cloud.sops.yaml +++ b/inventories/chaosknoten/host_vars/cloud.sops.yaml @@ -5,217 +5,197 @@ sops: lastmodified: "2025-05-04T14:15:59Z" mac: ENC[AES256_GCM,data:iJcBQZ2Mpa83/bR1BcTPh5PGrsjtyQjtAwr0y/bjOXrpMjoCiE8nHl2vdfZIxGYU+v40nkgYhXS6wCIlBZgO/QgvXwVT3Qm42i4GSx93N+jV8j+iB0a1kPJ/yHAPHD0zvWF6qlNSAeFWPbifLMXHLjijZDud5LxdW2KfJ00JCuA=,iv:BTUVSDYfKJI18GZhiUC/pJ+Gbuzfk3GrJadlOapw5qk=,tag:f15zFqye7O+L1lTp0Z/8jg==,type:str] pgp: - - created_at: "2025-07-20T18:28:05Z" + - created_at: "2025-10-13T20:10:53Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//W/vD5coVwidijwr0/l91HBYRjtbUX+D81pJ3pOa56weA - 0/breqUaSOUtClLfTN1wIrYHDVmLHuTOYqn3z05k0jyGjEbP9tI1Iej7Jfxn+aWh - 4DgDl84KO6Lpe1kV4y+bxzt9OSi95h1vSEjoV+xbQiDOhV1ZKCCiezdrTTGry1Wf - fMpNrkQpb7um3FYopMFhHKew3WSugDuSKU7T3JlL8kMDwoeOI9GyfEXjpBY7oyKL - Zs0qFqaO9PZG/c91O0lUgTfMSgiwhIgUPQEAD5P0FhyRCmm613kayGHM0QuYXjsD - 2NmU2WapWrrirjzUTzlXFwj1VOA5WjlqVNaHKrFqtvUDvhTP52OwgEKD1P1UkCh3 - BChOr4T/CoXS0AcBlQGYuBlaY55XnFAcC4T3WYkcDWM7AZ/HxPFarCgpYsXGSPsg - WlPFccAsQ8XA/BvhuAwCvL/aipmM3h0WcBXh82rjkzIPdDcxlrECn3zRABbSuVSc - ULEFdzOXV9pd5LGySkbF5DcNw00+bX2g2/sgRB/ly0iQIqVta4oNOBRs6REV/e+D - IeEmP+E6YMc7NKz7mCSbK0p7RBtcePCXZ9uwIql/sMz+K61kxvwDXpqHQ8A5EUQu - EGNIhgVfSbBIkqR31x0cW4/c8NKiElUx8NRmcn5lYxdy33jl+H5jK0Ttb2pr7cXS - XAGJ250qZzyDFe7LmSoORJ1zoLUUIwPvWy02mcRhIlHik/FJ8/dawL3HFbdEzMOe - /Og1ON2961e+m5AD+sFUXV+MDHe9s+eQDzQSIGbJhzGVvo2hfMn5mKFdtUCz - =t2Ii + hQIMAxK/JaB2/SdtAQ/+PY8+7GETf0WcH1rsbXJ/IJWPCVTxGk8c+ivcgBm6hN7X + ZwE0V+3smhB4kHC+EJ2R3rV3URB1LySrOt8NCVrcH77+GfWIorpcQ2cJpLHpVvd7 + krAyGaG/FpEcLUnLGM/qrfSiStrqaQwAIie+ogl3vls6ZPtDjgdvwclWjCfngesM + nBZhimzXCF65NIqspw+WsfdPWVCoHdSGPFV0uXy3yOa3mE8QAchElnnwYDtjB6Vh + YA0aX/MNDjq3vxrLnH//TSZXJobzgu9ecu6AaR4ZYDuuvIyXc0wajzYyH/js7sxC + 2xjyBrKk+EeojpDH+jcZ+kMTYjJmoxmXUzznQKRW7zYN3pwhTy8bZu57EdKQyabr + SMddY3+DRPEe9gMqbbbaNUn3XdbWCTHCaolmvp+n1g7+u2oIH/oRa0aIe46l5CJH + qEYsPdP60XZ4KJZZMfSejnAwkksWnHJu748PF2IqikSHiHW23nrw2wiL475SAbCx + t3kA9lqUwJHqxc5j8l9mbHF4TlvZV/nEnibQmBqto9IihMCLXwfXfgmRd6eIfJAL + l0feN4c0xeVtl+ulCJoS/MtDbWK5zPnIg0Jtp/q5FPmEBs0T02tX/Hi/rtwH+70c + N/wqCi6UI6HYfR4eZlzIrrnebK0EfZZhvglO8tuOzLFCyrrfIHMHFBlKrB1RiajS + XgHSr48HW2688nsdoaOQ6h1nVAfCSs2dDzvkg6ODfRi8jOsCEYdFOI/4aY+ImKg3 + vBp7LaHOAPsmRHd2mpychyWnzbLakl2qoM2cwZR2hqbQyl68loRtOT+9qtK82vw= + =S5Ao -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2025-07-20T18:28:05Z" + - created_at: "2025-10-13T20:10:53Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA6EyPtWBEI+2ARAAoJJ7x/CsgQ9AU2sI3pCuKW9wUm4+EDDqiT9CG5WtJA7k - lj6oqEXmSe7QY7AxniKZLEsePMWSBBDYNcieUQaf0eZpuxwytDgav9LqzkwhZUGc - qhJV5Wvf+MdFCNmPa3TUuV59N1d1jXZPvWLgknOBM7lZexvqc5Lr+pd0c0qWrh4h - WDx+oS6yFW3qFvH+98iDxzJ2y+xvjBDvXGSqiZEgcJMyFllmpB45EcUIi7E2gs6r - vAeNsWEEYfO7Yt/brphNq8Ns2okvD78oZbh9dNagy1oT3huWbaN7LcJPoPJ8qL8w - tWAymwE7xkOTWW0gY0+MQJC1NNnDmIGOCxNGuFUpku4xLjOXMUEoBHdvGKqM2b5V - Yj95fnz8bf2FvH44Z+7PYBUOICHZBTC7EzExfSY7fEu7SnxYIjxMW2ufE6xo3upv - RFSALpv7Cg7G+PBjLyh5l/xHmXhObdbHbFC7EJXrfVYvfj1F96n/+DWbuXvCOm6s - C3Cf+296tEfO9Jsh244XP7cN4z5CvJ0N5movSXZ7oEZ2YJL/P/ieJ1f32QrmyrbI - CUuPlcCycE4CWWV7yvsmyf98RQVYXMXL73MBw0EJSWRATlC4/bcGIrVnbuni/oJ1 - 8YNlqOejqzAzMMZ5f1DEstXb7wP3bXCao2r8uWyPLwsnJTeDKgtkw85wueIKp2zS - XAGl6tLDdlOVzbhKFL+E+1VG6GYOdBNPFYQ4yqaiOzm5zPmnyOd+FLKzq7jvXZ9B - ke67IgBNK5xNpAOnHauSawozf5VewJSLM9SyV9Geohz9W2ihSiS/vnSjQk65 - =A1pm + hQIMA6EyPtWBEI+2ARAAt8BODeKoqbfIwq0XiauI06ez8SR+ycZVyscg8VQKs4Qj + shCzJkhdA3wS/0JhqF2pAtPHDpkQzrJcZZcetv5h7qfL7QQi13rv+Uz+a5R+Me50 + 2u3HCNQRKF9P9my67gQI32t9Z5UGCE6v6xZHlbETPFXfBq+PJzVi01i9rM5ovfMx + cWS01rn/2x91BW/q8LQ/LD+B7ygMcUsc3ot70gRQIF4AGhzYjOpWApg+2XhhSBr4 + rBA2fG1SqYWus1k/2iODDF0CtoeqHykVOeSfeO3Xb7qP3Sjc/Qz7HGvabBy+BOPz + H1kDbQRFCILBYaeV5SrwkAiMZmrcUDJ5UnYQ6ZhzKro+YaS8d4M5psx8+1vbygsl + xFBGljRKPAR8HkhG8KvLfXs1URQzBu2QgKsjtADsF0avvHKHzZ939pHhYFcPVGmB + 33vf+rPMJwl2g2pDPfXgqevwNlfm7M8bsy5bT8Ugu33E2hCH4Lun4qnFVkqM5Ea3 + 4yk9WVMXxS5kyUflGhvV1Nz2bw0Oyquw1y++odvRfCEha85ksge0sgQ2FimDR04I + ZAgyGdX0Q8gW9ufQLjGa7ewivoACsStf4Zo8/n5PpC7Nv7Z87ysLnZWkin46ey+F + vruU4ewcbKV6JEgxgPgRDBLmzuXhI8qccWOdRz0gECk+/x8MXNKLRqO0XJAhyuDS + XgGGoT0loFbWp85Pg6j6ahDDmfHEUzrA1hV42bicbE30eKinISX4Gzv6j6wCnEpb + A3pe+pvnT3V0o8M0dX5CiIXrcIGjurE5+h+2JPreYiM6Rvv5HKi7Uhoq8ICFQ4o= + =hSIx -----END PGP MESSAGE----- fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC - - created_at: "2025-07-20T18:28:05Z" + - created_at: "2025-10-13T20:10:53Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ/+Ptdb4Hx7Uh2mH5h8TlOUjQW6UWxwpuOn4QHIrf5ck7tT - OrwEjNztauvMuzYJxSxGdVRSsKD4t/tTs0xLcTChGX1X0W+ZTjjpRjUwfyFYMLOp - SRdnyOBkZsmgvgt7xqvwwssJwOIbHTrJ5kp99gXggQsS4M/HAtpLRuHMOGzazgmB - 4H8vM1uA/NeOUjL1g6U14GwKofRgUbdLrkA2i6O3Tn6uVrpvC9heVhU2wiSF6qL1 - No6DPheN1PvL+kV0h2DMxrMXcFNl3NjlUCE3vT90OyeykMuq8OQAfpBR+1vBOihP - jIH3t+kDXIhQnXvXQU8xm34bXO6Eo+c+/9CZXhVvAWRfFlOWrwR2/JzmtMMMaEEd - T6UjfAVlMJMWyX2kqXzpGVCijA2AqhQAFtC3JWmuovOiLKy589jYx4DOQ3h+VMMB - ggdZrx/hUGvkg3KpuCQoBYYs97SsOcF6vImPfQ8MApzW1GdT5tay6kFOgDauw+fu - yoW79sAvRN6IEd1yTBDhmL2Wd+Mr0oE1a1BWcdta3mbrKUCLvDf7LZrZLTvqLJQK - WzFiCOYYbSZgh+KYXzw/FSURNT5ZQqF2bUeSkR1rEbPPoFcgwFToYxKbWPvCp7ah - 1MUA9v7GcnmYxHS7yDhe1HOsdTM/Vpdme/2LFha/QawP0Cr6eLa/uc0KTgXxbl7S - XAFqDjqgejL0O5R5QrY9HHQAMcpAPfzaptRuwt2tv+V3cT0K4vJKYzsdi34qDnfJ - 2jHbXsjRxRsc4am7rA5xcB7r3lAHv11rkDU6oxiNu634eOoFIar94ef8VBQ9 - =bQFe + hQIMAz5uSgHG2iMJAQ/6A+OOQLzV5xTWZMxPir0Ue04LG3mzhmHjVOmEoDA/NIx5 + 7Kc3InKN5a/S8HtjEHih5jFhXr3UPm2uik2PxGJp6FoleJrOEA43Rt80bL4kbS6K + BhSijFHBlIOxbJTC3AEsrC5okQqAFo18bJVtcljWupUTGnys3e5UXses+8O0bkOz + hKYH0Tfy+NpqoTMzV+V8O3GUNJ2dGVwdc996IMYwTcWpYchzXp+oAU3ScDmgYIeA + tc3L60M/zgRnj5IE+cjXwDqwkyaq4izI6dsRrr4ciFzoHlTD7lg9jA56qhDGAebt + cvj3ZlBnlSOimVG6PoOTZyjm9YGmm9eN+dm8iDVjigpcqo+KtL02MOSi/d9Gd+43 + 7P+hPALvnmvh6wcaSpUwWalUkFWF9iP5+OEpUfzTtm7rMUhqlVk+cUSBMhkbEzer + wt3bPm+L4mqZaoBnY6jM3DDYgZYZuUg3+nh91II6weTZAvem9gD6AZs2ONQaTHx0 + 0jjvw4veUeahfaM+OPDN5Qx0jG4xJEXp8m9iMgO/djeyXB+jNatfKI8i1UfNZzJj + 0KUHQtNTa6aeq6dQ/suTGj6jAqqMuBBj4eVrsVIXrgk07ae/1gcNTAjFgYRkKa+U + qo2MCR82rPwAgdaKBNxubYHOZ5N2eCjXS5B+b0tPppOSYVsH4TSnZdbBFM6aiUHS + XgEbekTD106zwR23pxF8NshsZQQLEG4voGOjPUxGCkXoQTr5ET3e70a0/WmepdDA + 2zdqv8uh/d7auM3qFKhKGKQRk0Fl8dWCbzBkQdHhfBQkYce18pps99s9cdR6VaY= + =JylG -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2025-07-20T18:28:05Z" + - created_at: "2025-10-13T20:10:53Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ/9ESOx/yVKVHFnCpC4nD2r4sYAo/x7ayDJKHie5sIfaf2a - ebRnIAezWlCEWqJ7FVU3QUZupsry/u+SsFnJg3Kv+TE51O2ITQenLdSBD2dUG2/Y - M2qqVUzXsEQOXr7QymYX41AThRouj+Da1+gKZ8BWIaPU3khesjLjEu4qmuJeh4jY - VE1F/2QB+WFY/lw/+WHpiD2xDkrdI81J0pF73pCepwDfBNmtZttURzn4xO6t9Ey/ - Q89laIxHjl4oGUrGJkUonwzwRYaQN979SQWjVl+DdYN17tWnMChhlweorHh4fM5f - qDEOyGlYFH2kzupzyhwCIHK/4OaJNt8uQbB0I3h8P1qj1Zl23sTGP40KxrvD2nNW - 4KMPanP1yFRSe0zM/4L6HliAMu0VHUMWmH9qD0fwRXPV5fdIWxctaMQZnrVwAqGz - s/DJy3VQfFP/bxO50ir1wFj2HUPjFTWs7eqzum4v58Amef35S+YuMWBcum10m2r6 - kGapqwHQPgxCWzAttIB5tDetW6jBBs4hAc1nyliFLJITDiZ0+p/mWUNqc0pQPn7g - DFPCB27aWlCj8pGObVPZRHo7ks6dX9E5oy4YGFzCmDvZrSK/cqmWAtU6lsWgFYRu - fJ8G0NY6t9rsluN/Cw1dplIJGnHvzJihPYKuZCkxRF2pzm4ESYzwZc7JrAmAZFjS - XAEs5H6b1OzbdhaN48NVsB9/tonkzmFmAz6/E7loI0KQL8Vc87eTWdHc9Kc6VBQg - 7/OGSvCKW5PjdWP68Y1tFB+1lthakH19JyWapGhYCaVj8PlymMB0ffktfjQk - =2M+z + hQIMAw5vwmoEJHQ1AQ//YsTDRh92ztU8kyua+AcF3D5z4t9d+S3zqxTJQG0Xjjid + z5VAHo9kUTQdKZ7CV01m+yslTRcHkOiKoUQm86Af2cDBT+YhJm/DxRVV/E/7kzPA + rORX6uhKeZQQ/nXY6LXvaLIbCNCdC1OWwnd6O4EBOKfWXHziHQCXh4h3RZB748sa + JylL++9mxSkXwsTrrDuWhMlH6dRDF6wAkU9c7B4QbBFnFBMOZjvCMKcC35yrEIXn + 8/uU4bBDyj5PDa3JCfObbAZJgG1zdPBza+lcCz12L60b/5vdy1pGQ5Y7LnJlaWF2 + 4hBwKODwK/Ba4fXjNLrUJULexqg8iDT52ab1zEGii07REIiZJOmbBprGN1qW5BoG + YvZ+rOTE+SG5VwJKHYzPd2n1b+awFcyIb3n2sRtF7TEqthTo+3RwK81I4D444akc + da5NiS2y5BaH3UoRUpS2Rt2uMqbiyq/Ge7Fm3Gj2t3DcHdYjb8ry6HB4SYppRA5B + gGE7EwO4g2mf1ee2D9nicPRaMnba+JeU+y74m2MtAGsxyHWRFX2PuRJcMlTRXULm + nZTAcsr6w1MeMr31tOzOzNIFE+R5HbJ3iccvr1B8NRq//yOAerd8DSVpEQDtCEMZ + dFad+s2x/AMH56eofe4WCchk+x6v2/xnmeq02XFWwVjSt9UFTKt2NDdeDx6vJDLS + XgG8IPwF45ZHLsqrRzc/C9VDqv9h+s3oyPc/UsuSQYGZB3qw3qyXxGAzgIMI2ENO + GHKEDAGYxW0gDW7sFDS9r5I7d3/ulSox6+YPWHtIEIaPnDArKz6ILLG3cAAQjQU= + =/rbM -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2025-07-20T18:28:05Z" + - created_at: "2025-10-13T20:10:53Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAbe6biWCSneXlUMVbeWc4r57SEHDltmlWRXulJZ6wXhQw - AjEdgA6AxqwJoXBTd8KD5GSchMmpXXRVpTAE2gvjwVObudvZERba9wMuxcsAdmDe - 0lwBC8GonXrMNb9BpesML66avCPVcjwKOPED6K82ZXn7+XdMruGQsUmQnFNcPnWp - iAqehB1RrDXtXIF99yGUddKlFgChVJUcOjkSD/RDSkMyjlwtyJuS26qoFF7ZFA== - =8dgo + hF4DerEtaFuTeewSAQdAuA368PGHvZRM8X86voY5pG2xxIMfR1RzhruWL0aa5wow + VCI/bfIVsn+6jusdHZHGgpe97SxszO1sJ0WwNwHr7xm1v6LMGHAYW+VmlokVjGu8 + 0l4B0+KdFfsddFiGkMI1EWxM/9IZuQyo9JanzK4IxLD/VCw6QEihxnyzy8Z39TB0 + XYD3UrsNwBH07dNNiB3CHoZiI7TZZjV/9hTi/4hjh9tMbol58HbIydYe+/gsOEr5 + =fR/o -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2025-07-20T18:28:05Z" + - created_at: "2025-10-13T20:10:53Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/8D7YIg9os9dNTzsq6RfEiEQH1XPvMMucaI3g/G3cuO5Qm - 5MBHNXVjwYtrQrulZMY+7MIUIy9xHYjtNNZi9VIAk0TWdCJ9XL5Zy7v/x1s+pIAI - 9kqeGI4Uu5yp/2W2mTr3q4qKZU8gJqEnJdlWIYETbqdgAOTcIlrMaMB11AS7rC4b - KF9vpOcOAK/yHbQATjvbd+vjJm5+wZ67hDNWmPvgh4gqctidPKKaLIuL06wDBZR9 - EbDSXXfKoLCYJGzYoTMNnwAu+flD+9ZZyDsox0/0wN+QJjS6czY0up9TCbWW8fyR - dhRaX5ZGiihndspveM9v9Pj9b542Dz2QC2oD8YG4ZZ007jy8d/+mf35YtwMjZwup - N7C3zEOWJa+2CUvHYMkSpxYiQbocbnKJoABO70KoCXaPKanrttRBJ913owhIr07O - 7qVLrJqNhMbEZCd12HSFltOuGTdZ2H0NHtypFeFQqdR2BkAt8lL+rR/+4xGq3HON - +AQbHdvnAUFsgs9I/9bEGvzmmdrxUKYCXO+lxG1u3AJ4vPtCnwPevUYoe/BiTtZB - lGCCY+1eVZT0+7YeGGWPzy24hMBMh+T2POHM8rm6+vdxi+cepoki2QrpQkGP+AQ5 - hVk9IJ+TPTBKVX2wTKMVQe+0G/zGV5FLXlCEN843Ygm/G1j+jS2g46grKIhU9yvS - XAG3VoGnsNY2KiH6yCbA3U1e7rrh6tdscFmu8OTpfx5/sJ+4GDax6vUYHPURJPBc - Ta+H2n1Ih9QdIkPNSv0r5fHYEGSnRRQ9X9eCY9FbvWQgVQuEY6+0Sb69yBV7 - =yRWg + hQIMAxjNhCKPP69fAQ/+KDS2/uNgGlSIysNLRBWuTkUrF6hN/hOOjQO9Aw+ZnjJj + vEqG4eMaEB/KObRxA4h+ymYPXJcdybX44uI9/KH0AWqICT4XuekREyZX0rjvFirv + v2snZF78JsV/oDh8zzQNhgVMtgfMlQSF/+5R9RUFhKsuafe+ht0QmXDicKIjH1nY + MmrtXIHXsBWJfKj3Eijan1XCFa8FlApNTJsLIueUNd7rMwOht2Ugfldzfpjsr/qI + lbybq6sTfpszRhYyYXOhD9oxx4hOtiAAlEitiupuoB5YZQV3ulh7UC5o2JOfwEk8 + qiEDiL5qnf/KgHXlnH8sQoM6ePI98VyBQ5uAliObHfYDNSrZO8XMgFezRc/Wqk1Z + 2cCdk8mnEDra5HO6wZVWxGKpFC23tW5jVQC+Yv2mgDzkXKp6BHWjYuFOh3NJNEOX + AMS1/K63MmVud0Eqg+VgYwyFV7AbNSIbfR3VITc3YiHewbzE82WPQW3DUaw6XEKV + ezNI2cHf/m3HUvacTXrKpgKZk/g+6B3t1H3Hw9WhYyZLuyCSZ4kretn1knpf7m6X + uuIsjegZ7o5bX14kjiQ5l/fSRfJEzrifioEFXCUTF3iShseFUnhLwD0bHZGBD2/2 + OPc9PUcV9OLeIdUZWo4/My8Vt+8Mz/n9kVwI1Q8s/dgoEDBaC4fXKhJVsCcGqmrS + XgFh+/S/tJTtpJcsqTSE6CdR+r7ir7Rd1EmkqasWwttN1GENo2pjvU2Q7FLQsiR/ + vwUpEehtOwQY91SpUbQ+zr1gQhxxlLuf3ZarWKDGn0XFjSUh1p39dZx3n93s9vw= + =u++D -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2025-07-20T18:28:05Z" + - created_at: "2025-10-13T20:10:53Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoARAAwDoWy5YkItmh2pkAvzccoc5tAOulhV5N7gA3t4wczXaD - QMR/o0CZRqX6gZjaWcmjT33AbDlbdzcY/KJXuFvag7kS8QyDAWI86U7Rrun7NoPl - EwmEjmLyagiXmSa1VJKv6iYKuoF2T1Q2NQO2ZlGi1OQJbPEnpYuDyaldk4Tin26e - ZG3Z50jbUBUnXE7yl++oIiP30yD0vkoWD33fQBZe8/wTURDStuFkBFSTAV4Mfc0k - dDFsHZm+eWGBgbtBm2MJR+E15b+OwpsIwmRDF8lirsWo7LBz4MAeGB+bMoXzmAvG - 9lPlH9t887slDMD9QOFZ+on8pBf0zlpx9+MqBBb3HhdOFGVo/tqdjkp4zhu48Er3 - bvD2UOMNKNpBnxvh+Wh40DU1vBsDdeuaATAfLl3adliBg8FIGY5brzlsyDQ8Ebwv - PZ8R4kSzkSG1cdbLM8qpb1D7roSPClM3uikPEL8WXFvvwcc3EjqsmXl9D4sw8X3b - dzrjVZSZgH4jA9KJtKgwyEqlbyYdizHilnXbx5VlaZJIDMvL/nVJF+Ue0qYuAmcb - ACbsnHkp0B1CNZnBibuHaIy+T6UNQ1QV18xuCznccC3a7VCASWDnLLf8Ag3yUCFK - eOMjMCRfWLpybjPT+2yI14Xf7rFNchnHG7kIMx6XIaMA3cHN7dgQyoouJxg+3z3S - XAGogGEGYQm/sJ3ENi/N7D34S5MAHfwBPa9cS8PmE33q9jRdUPwIs+TbnNcklZTK - JxFZEU+VZWpt/oxYBG60gM7fZsCE/RZhGXeqV21+pAS56kRi0aEyuq0Imsua - =p6Jh + hQIMA1Hthzn+T1OoARAArTbO3YHUA3a+++vC02evwcpJ5khFMzms4v38qqS3FYBP + D3LKYpgDdccneirenmL5uXdDqw9A0GF/wqNXHg2dz5zz45fARbJVRJSwPwIwx60W + U3rUt04Mpks2WWrithsrP9E7pIP4vJ6urvxFR7nkjm4UuCN9Q3QBvGvlrKolnPNw + GyyOnxh77mkPNVeHdSsVXOFW096FUEWbmZ3VowKIuskb5PHZE18KwsT2fq4Ef6xD + iEvlPafk2Vwtfjd/n7LfnCQfoCCxIJVAJ5zJbQCQhC3j5eRRE/Y8ncklvmFUusue + 2dtmQnaqoOgtcJbRP/UKhu+IvAmC+V5Wl9ZZfyD16/jFrY/v6uw9AHM3LP8cx4fk + 62mxZ9mF7GuGayGVy4tnEha/3+GzWUcANOQx0qy5jtDF7qdA73ElZII2U5XA+eiK + t3iMRcMeKLETaukRlV4/8x48ebPxZT5jG4W5C2bON8zYZVD1ekJq4bW4ZTG1a3Qz + VT/C1LAg2VGmESbkTl92kRafxyOuyS8cdNQaR3L8cljRrH2vts6eDqidxVHdkS37 + JLvqKe46UHLjNglZct0sMugoYk+7h5IwgZs1XJhFxbh33V3XghbmHTgx3i9tmIfw + +S0oGH921n5xwkEguUUPprdMZJHs+D81ouQLmgU3BwkfxSXqk7vMq7YGuxEYR9PS + XgEn2dMxdCwTOCdtWHySos2pgzMBlp4+N3DD2z96TMNhULawQMucCuhD4xMWEfzg + 9OOTH31yuFEEKX+WNGiMcfyuKE5J//5lnaSVUePMazdyP34eIKlLuLR6Xfh6BTE= + =cyds -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2025-07-20T18:28:05Z" + - created_at: "2025-10-13T20:10:53Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ//dJdmLs3R0IXVm6HcBvH5Um2VjDfZ+HOgl6je3NxcgMOn - ognp2CyUYYeR5GpPm1CydaNVlkKGVjUv0BlH9Rdh/pey5QjC85AMQpNumW0nBawS - XuGXB3pF53k8pQ9NRRBNmS61vC62eBV6DN6CLKUhmC6SHA/54kFrWQNI/6fnQx51 - QyCssR33opVibfi8rz61SYQpAJKrFEM98KQRB1aHntLEhwWcYR3yKv4H83iKhuyU - 9O2JSn6ps7s5HFld/KnQkoVRKDZ+BvHbQAG95FSzjrwd2Ec0Q4EJlVRJrJFq6pHx - kMmpQebZRd4hbkEYAU9XR6fnnjXDg+RdIrPjDfxrXsH40IOlZBivgkD5ACIkTYI2 - /bvq8K7F1SfDjgkeuuyr9y3QtXIxwUgDTo1cwu2wwfYsD20euST34Mv7DMTGwlY/ - NUQ+LfDUgXemgWNiBXkn+bu7pFhE7PnyDr4yoTg5ZD2eUobBB6g+2gSaZLKQNe6h - zzZD584MQ5zz8ivyZXXAkpe73pV6bTTH5F76deXK6czt0rkrb60O9ELosAK40Ogt - oL0x4LFMgPanQdtzs8bEldZu7JNAf7zxrWNoey7zW6xC6mvyVLPw8+eMNS8UQt1P - rpEAInl6nX27x7agk5AAUDda6FOJdr6cmTLgPXnw2NxHSjG83moIGpDik4BZczDS - XAF8KRueOsSUOnN/0OWHwyWwIEjpkPPKCmqZ8itJjap3pDkJ7YhshRVe6nAWnDII - Z9bY10K6Dxev2dDYH3/ihxPPbFNSWtqeJvmyVOZXCHST3sG5DXpuTxiQ7JV4 - =pl4Z + hQIMA46L6MuPqfJqAQ//Y1DAY406FGCJJUil2U0g/jFYKnKO6itcrZ8VtAW4N/ed + O346a0Hm9UqEERbI31bkgJjT3AtgcpaUY55mWUJG8UUfHitHOhUflk6gmtUY6CrD + KI1NpWyWnC2JzPy6f9Hz6RY/MpBCEECySLdIIrkucy9GHA+Wc+Z8AKsAUcqGfhEW + OD71BH5MbA2JWSWteTnNZPngsRBYS2h8Mdfk86fHP0R2oRk2XppKV9BFSnH7JgFg + yzSPQkFrnfUcrq1sMZCLZBZSLMoQP1NI6fXMSuF7uMlKEgrSY/ajB+9anjs68/7x + q0WmxvlK/UFexZH5LumiXWnxtMsKxjNLVkud6Sq1CQy5xAHID7oQj4GP4m0fKcYx + 5rZbnoOCiTD2QL41G+Yf1gpz6J5o0DspnHIUW7+IGttp7PqjrTfz8HEctWFtaCp3 + 2L1z962594DzZiOKWCzp1bQxZSjId5HA+60OZNAIaRe7/s3dSPNao/H2MUObLBcU + zu6LekR2YdUrWamT0f+BqyFy44C5Phgiz70oNxqRXoeMOTxyV4IXO3o/G/hzlOMf + 1+sIvqVJlut2niuckyUwlVRxi9VqLt/E5IIR00nGQS0KSo/U6zpYaof3obTo9+Xt + ayBvmHHSMNN1W7IqG4VD8WedG8jbzVxMN2DLvK2E50GgwLefrjv1hgh793+1uxDS + XgH5uOcFGcZYejliXBsGFpL7umCil5EPJM40LAmQovjxAfaYMnV8sqN91z/++G+4 + mqnsX/u6INgQ2f59kage22fbdwg4raJohuV65qi1BnImDmW7FJ7TXcbQMCfM7Hk= + =Isfy -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2025-07-20T18:28:05Z" + - created_at: "2025-10-13T20:10:53Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA4EEKdYEzV0pAQ//dFqd5fLpXxk/0mr9drVZy8Ih682PBGcAFme9bdYz4Ou4 - 1uVP1WTmP7Jq9aV/SFq57JCZIEQCKbdAnMtyST/7OrSnYkYymCKRqEP9dP92K4tm - 9BJrVDu6FMdstBMBNNNBb04VPPgVLQjzyQw/zJnyniI5VEB9Z1MZy4b/J/zygWxG - nWPy4XBZeI3IhJNOm5zud/+pXj4o7jgQfHdUSMbD/pylc+2H0/23mbtHLuUT0d5v - nZIaua1yoCW7MWbB6tXQ8Y0O30F0wNX4ckCED4CSloZa/joApv+tivyQrxNLG5eo - P+KoQIB6YSG4K48j2J2WHd7yNsN1ZSevYQpdwj1MZAwnAKFvmwc6uX1oX36i9NlE - uAjDMMPyoEFFGAGHCR86atfeZp1LM6ot2WkaBq7SdpTeJIqO6oNJHGo9ehpn608G - M+Ebp4HSxMkedJQvpdKxzkuf5Y3e6dQ5YdSiC6eQC2ar0tsCMwmHfSXUE37c8zwz - W2oxnrANtnUGBxvV3b5QcQkUXcISW4OnoQsnDW+b6vqL7zfy8sWznsHcfdWVYknJ - 5OTV8oF5vzRrh1TsJvwp0Y5yDJPpV9yFjIkcwlNyCe8JGtRq2xmT2sdJ9oL4aSVO - yJwcdw8uFhCzyQTZR10knGbhLubDiBbwaNOAktXCMZ3bidERvcvcqbLUAMKKk5XS - XAE6JMUlnNaa68eQcwlph+ANQiL1WR1NTbBdwZcDdnjjxCwl0eNOliCBUn8X9p2x - UYVlfQMLBAOy9VthwmMe3MweDAwmeWhCL9v67D8KV2chCbYxhyOFL64ysBoA - =TSc1 - -----END PGP MESSAGE----- - fp: 9DFA033E3DAEBAD7FDD71B056C7AAA54BE05F7BA - - created_at: "2025-07-20T18:28:05Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hF4DQrf1tCqiJxoSAQdArglWecS38+Bksx2+b6X4mXopM/CyOe9ogHcdSTONUlww - SPZNAyMDJknUOZNVhsZT8FyjpCQyECYQ27RZy+1JOmNRa0Fzlhi1HzyB2jdvy4J8 - 0lwBOs3Hnmlh144XMitJh/RQmcAfE+gyvBVc4+ZFJgYhxiMdEZB0PlXgRVPtKOcX - YaO+cT58XRpJAnHAzvlZYMGXzZWTGtErJO+yQVJ1h6cjyi4Q3G1DtBxyx47vgA== - =qQ/l + hF4DQrf1tCqiJxoSAQdA/V+CVyLW0oVHmPyCi/rNqxWveQ4J+nhQ8WyMhSaIJGMw + VQiJjRAhN5pI0TWZ4KN92KThvEFBWgelWWMYSnw+L9tnS96bHw0h591mSUqznR6F + 0l4BszYkX9VJXkzbq+aPQ9Z2K0JK9sjmj9PwC28r8bXJPGPRF7+e+rzCPUwW7R71 + CS33s11YMkhLB3vFQF4I5t9UCYIHB0Ss1VzhjvQXe5tmPmh7ZFxXQD6vtIkLMjz3 + =Bdmm -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2025-07-20T18:28:05Z" + - created_at: "2025-10-13T20:10:53Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAeKRRJ7Fng1MXOeaUFcbPRsH45ivTIZmb84ByrvJKOT4w - G+8aUOX3WJ4YigTlsTc0wsbDWUmqkOBae+lMr+HjAVwzueEsKnvNVnFJ82CWk9pf - 0lYBAP9tPmC3ngDE48WUHkkPreAwUUqsLzSDoQVz8lPp2y1qXjK9at1g9GR2tQYp - ykjo7lLRQpmtyTteIyCzil/fRLNtAnBvtgINNKAomK5SpSH8yc8HLw== - =CZXl + hF4DzAGzViGx4qcSAQdAZyOE9ALOzrU7lxSS7IfFvRL8m0WS6wzIEM2vBS5nh2Iw + vGJeTxv5ApScEZzSGFruuhKeZWmsa53feCDVaNxH5eumwTBeQrDRAXGZMuSI4Lv5 + 0lgBQ81YtDbZAH46HfG0AEGumO9V9hXwKu3XSW7MoqEqYmZwzB6qn2Y9yPQ/RNRv + yrEFfFJC7Gm0nA42tGPctFJHBnHP1L/a4Sy0g1RZAA2mUiarpsddVEli + =ey5I -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2025-07-20T18:28:05Z" + - created_at: "2025-10-13T20:10:53Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//aewr+lACFStf8lUjaodueZqLXSz0ex4UC6lyClmzuLkP - J0XWjiUKGs2ZWAwhKegEEM+O88RLFP4MvSaoRYIoDBbc/nLrOrPxbJVgOjCkKWMO - HKIXeKyFcnuDJUEXMjqIbX0NbhoyJec77Ne/u7LvUYiik+j28Vx28nGhUebP9N8n - gR4UWMaSeLqk84q/kiioV7hsX0hz6p+AFMvH9zGks7+FgF2Uqyfwrya9TnCjojbQ - OPtDdZc6d3s56TdtfcMaIkvYvam/xoEOfFnviz44wplTqiogGVqbZW08zliY/lap - XdhWZkYQv8rVxwVLZlZoxLtQpWZ/jRUY8jnu5LfEmCeJwIQMvUUDbvnDZClodMRo - xSFb/f9kwEkYHNrIZd5qLRw38GkQ2kNnVNDn4LKICBlsEKUi6roZIghEW7bllKKL - 6MHjc7ddIIYZRZs4S3djs8/jFpGmTvA2xtvCKCz8IvuhFzR0wnjGtIL96yHfYc6d - qLuJjLYTZPEFcgQc14z4Omvf69Ft2TtWPu/JhTqKNz1E55fu0snrjK43QFf3AMon - /mSBp6+JC+Y24wuljXjSt1PeCWyEKiHK3gnkkZGixlxRdWtl2fV0eCqgdM/j/VQ3 - 4AB2ugyxj5JxnocWKMIFuUy8SxODnzyVE3A/7QgYjsIgPLg6RWtDOHCo/BLFBn3S - XAElm5jYXaasE5lt9yat3tPO5tQ9nnnuTOGou09KVta39uMwCBSQfuAlzWtLaHPv - h2dbbXEB6Sq3UNaxQCfI/ZWF534OIV/MocS1RlYFkuQMWNPKaDmGdyjtVnji - =N1/u + hQIMA2pVdGTIrZI+AQ//ef30XL7zPLoHqwl9AHADBWi3cuWJCXzUazSnf5c7UxKO + B+jlwNWhKfLHJsv8JiFdHJ0szBKxVXTZgIPpNIEhT1NwWqYF3aUoMjWYH1jlmbjv + xB4OlGQeRUT+TQY6Ht7RZ0SLKlbN1N7MhzN4b9l0ZIdrXYhCYTHghieiHeSA616B + m+Y2bPil8y7kj3c8qO1fO/hRmUXj8s6rqwN1Umo0JoZmEl5l+/+EOGdAeT8SQMHe + JqbLHF1gQBPrrtsqy+mB/oY7QHm4axxsQtu26UXBcGFZI1Td8CNvdInAc/d5JBjV + Xk6SP7vBZaYR3r3x7yPxo9a43IE1w28Uu/KWcas7NwtGA83QoEltdLIJCgm7SyZg + 8RY6eYbX8vSWXOHqIBfdXtwpMng5c5Da28TpT4kqOXywTpFQ2Ku7034jwBZbwVAQ + wqvCSdOy/SrMT95wF5R2lv7dGKCvR4DaO5GIuYxHN/7o3Ehm3vmlXhDkFnWdz8DV + K8cBL+Y5aMYRaIWxuAbXD3y0v+bnMzqOO4XwVfo7yvuZ3wgjuI6sVpczI613c+FD + nRjizbXpU7hSfDnP0+3I/UcWb9Q7l+zkZGbfB3NcEOzgvhSL84AI9dzMH2GDdoqI + mcEfU2ljXlotkOqWfRRItDjOuOXHbvy6012kArnlY9QaoqaLNLWLB/QoerIB8h7S + XgFhIXJuz3zeWvjVZ4dCGx7lZtc1pvzvlWojokR66qU5oHRJ8hSTItof/KrOJdBe + u0M+fWCy/AN+3fWevbCl2RJuCS6033ZTpGVqShL3Zyd4wMgYVuRcg+s72gP5d9Y= + =FS4s -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/grafana.sops.yaml b/inventories/chaosknoten/host_vars/grafana.sops.yaml index d9675a2..f01092c 100644 --- a/inventories/chaosknoten/host_vars/grafana.sops.yaml +++ b/inventories/chaosknoten/host_vars/grafana.sops.yaml @@ -14,217 +14,197 @@ sops: lastmodified: "2025-06-10T19:17:41Z" mac: ENC[AES256_GCM,data:8GGZFGSRXAaLoWUowbxd3RVv7NPMVsbkDttDxC1Aeuwjy6678ddioHTiOWn04noWSPXhVnnpaTHWNW9dT5EcbLHvTl9Vb/ydKq5EnjDi3vAI2hQZ5bJ29rwSIW2YBMwpceqh+2GqDuzebhOKxJ0ZFYsPzbfTGPt8blqOQ1abVR0=,iv:aDbIiH7H72jsBRe0rSDXHMQy6zc1QFrI6ZakJj8zxZ4=,tag:+ARO2ST+1I9gOB/f9V/OjQ==,type:str] pgp: - - created_at: "2025-07-20T18:28:07Z" + - created_at: "2025-10-13T20:10:54Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//eid3k6mqnYu0Y/JnAaWyOqx8TJHln2gaUAwSM25+Anj7 - 033qx+X8M2M9aDCKAKo72ej2Y4ELZ5JcDCRtTYt85I92q8CxmKOPq3Iv5WCBPXfP - ggIMhIs61z0m+ZH9pk488knHHuAhPpCMg7ziyNQJb8HOqjDBJe0gRlQTuZ4BDbIL - +AoQ4BHplgYESmcSiQsJFcOmh+BzKMrdhHMKlDY92iRKArpYfPmj5YBsAUCb/sVy - qzmW10PBvpifPDiJhtM4LdZmsfC4F8eOEGR1p8JldgENgRw4zH78B4kPe1W4rXAY - WCcBllDTtxl9AB8dVp9EHQrFJ0Kw3ch/GkM4a5SdXCddleqNk+PNbakhQwLaoEs6 - jJeEGFMACz7oDD+zMdv4txodO3O1RuClCDx/sgGCxJXZJ6j0SgjQHG8csrdFPPXS - DN3Bmn7SFMFlCT5hbkSdcc4J+zkxwgT7mlwqLGXS0TqAK/DDY28/PUUW5VeOwa5z - uLkrNmmLfrjQrXwonlcnYvIvRAO+KHlTR/MHFfekuzp/wOyCE90O91YXDn68mfdh - 0Jo3PT5kDrRfAPt58wfcYwCnwJ8YewUYAH6Pw8AvDjqUSA6en01j6FS32jVv3k7t - Ip8M1Q0VtmvkEcJp/WN0ZnRcoLb0ijaxmKyQ3PvymkWRlGAQBut4E0ivyW4ECRXS - XgF63/ao1eiQ8LJdT923wCgJTIvlE+EyLyxBMAERwe5Kl8J1qDVJ4EdP3bsonrM0 - pr8YZYPGdyEFAgcquXkQEDyynkArRdPVya5Hj9vvNOHGZ+09M948FnlO3euYm0g= - =U/D/ + hQIMAxK/JaB2/SdtAQ/9EvoGHf93vGDL9jnSyPCy9J3cmSBCSHdb+Al2uCcMRJcy + acu2RkssYhPC8h7cL0NqV3MdSVEGbyu695yJjSpO8HeM552q9yCB2VItW1DsuzAL + k5GSoZTLLngQWsoApaVbhUP9/UsLSVTkdnGme7iQcB3zFut3Db4j2RSex0rTN7f+ + JnhZ+77AYxlexvtBEYWvS8COcZ2qYjPW+IUulIjsvEEegrYNOgYRx4SKI1qIkISj + PRfQLMEMcGJvH2IeRQvpADy5v8KIl6jAakwH+C+XZAp/rnUlwRhJ/J7Eyx2JN0hY + fVqhpsw4bD/0QgbiVK/dH7pdPgr7BBNnPGG/+2qlSQfxnCVWbuiptZy4yhhLn/mV + S7+hOfymdl0XFn9bFhwctJd6b9Z2lNEB4VwXfOJwJeTKw7oPJwBhPg8LVfb5yEm4 + /J7IRjqo3THZM2cNMbb+IvhXCD+5rFTO7ichtc1zm3RERygyuk2vh3BGypOqS3Rt + iUcS0WZz647hohCwiXEbHcb6TW6q7n485rwrPHFae/4dFdX9aNSDENO8hV1P1Lxv + 0/FpCscH9OBYFXMIPdZvUmKf3FLcLND9iiC1aoh4PJdv7xbjf7TiJKVfG7yVMIbf + YSbmPllQiCty8vnl9BhycSLWYBd/nKywFFc74yS87Ip5jIf7dUPQ748te/15lijS + XgGgzs+7ZoAtUhcSmp+L03vKA3Lobh9fbnR72LLAA/FmCAUMKQTq12fPSZozCrPW + DfAmS5gtxCCchAsNmFs3C8GWUWzOW8N/KuZsmTLyygcXes3C5MeeoTp+OWtnv08= + =UY1h -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2025-07-20T18:28:07Z" + - created_at: "2025-10-13T20:10:54Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA6EyPtWBEI+2AQ//QBDriv4RmHkgw06HwoF2WIbRsVaqPtCQU/rATulq9hfz - KJGMPjuzMkOx7dI7aNgRMtQS0CbnkjXMJMxRa/YcI4e080FFTeo3rsx43ya5y0kP - 7X8i5wNWnJHs6yFj+d+mQA29//1z0vZliH2xc9DKOq0xWWdYvBbvInqeEsKkEr/U - JXY/kfm7DlCSg5OMqJXX3FNH5qKAlHTGupVzI8cvGXvUbIt3hMBppfhQ7c+DIi9B - jD2eJh7MgAS3em6qIR7rjBzTdwlvIbc4W+wcoEPfjkW8Vg+EYo+AOV9w0gkwDMhp - zV1+zWLFHOsjk15XFbJCVfSxajraZ2jBNRHfzA/MvupQY/OF7WtLkf2+CCABo1y+ - HEnk8sruDojFFxhPeG8eiR3SgZ92qv0nhSDtJ0u11t0yP5afNiJEJc9OrLEXcESK - dUIIWir96s8mdqTztC/nag4PviDZgX4U9VWiotxrqJsTwYv79lJcNJVY0bGU1GzN - 4NBhM24x430I03e4E3aSpfNKodJ/wfH72VZeg5a8EVjUrXM1U/LSn+6FrHbhFoOd - 9vTIWiJA4G0lb10SEZllB/kerDGLZmUCe7VVhQ7uJzAPjpgLSAr4KhCXMnU9Q4An - BlGyW8On5c+mOvUI5Bqrzl3w9nB5mkNQ+yfDDw3weh1YC2RigArbnIvrDEqukCrS - XgHXPOrY8Tx8NM/iDjP/X81JRKCIQ4LVqlQbx3+uMOzMBW7kZiUBtvMBhktMicZM - LS37Yv7taWohciOU20d1/KqJELp2FeyTDjrGQfI/L/52zBhsed7OkW3LSEkz3kY= - =A2+M + hQIMA6EyPtWBEI+2AQ/+PD5ybX+ImMBoEYImXYvqRDPE8GlJhX3MOwufMCWGJgX4 + Y2ygtfSZbzeYadVDLz1CXHmjvcpG2T+xZ8rAI6C2S6X+MQefgiFG2al4/QM51qsX + PIUQa6Q4Nqko1cVPX0TJGTaGwS1Svj2GiJNdpm9Y8lLSj1mfSgHSB2DnGUDtmZsl + 6y9mUN4cgYjNNnwUClvMApj/JZhZoU3mmCA4NN9emMG09AkK/fO/sygkZ4FyFpeD + oihvTw/0xPy9RnhZPFS9f0+4beiZszI1+8GRi/fBXDx2YsImeKSUhDEDipe0tYv2 + 24CqIa30LWyYt/hCzIFU9IOyRB/ZvOR7jB2815pk+MNZDcbaMta21HpvAls2InAH + LS3UF44Xx/8LPAHOkqE6Gmea+nQx5grgQw0sbxBprKtsq4YhZyZ131ID8J/AWyvM + xFnYzX092zceJfu4bS2TYdYMp9SV+7Uy9WYxKTUbyocgJMYVtCSC/kyBQfccT9Sf + McyjHaqVnDb5nUgumS6A96av9SMp+R4CcoL7k8u2sc4PzPwk4QD9nP9/Zd+0iGSR + AsnwJCKrEkEM7tjZgRYqT8jl1Nvkk99iKrq9bwKUaL+y1qTsecLn1egpuR/3qr42 + +PsfcOx1z9Zexp8H7RpcAHbUmq68Y4CRsyPOn/tuXsHKNbQ2dJJ8ifRoAoVpHszS + XgEbvz2w6VoN+l911n0F5n7dBwsgUn0HNRJY90OwH2OI/tTNgeJEOVbNtfqzc/sy + fFPaQrgls5wtO1FZ9Gfh1G6XYfATXisvJAmnpC1EtK3h/EdCy9Z3TQJNx1owBsw= + =H9eT -----END PGP MESSAGE----- fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC - - created_at: "2025-07-20T18:28:07Z" + - created_at: "2025-10-13T20:10:54Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAA0LeyqUZFETqujsOj5OEWx4qXnBW9jhio/TK2wn1x/E2p - b8bOT8OH/cxrJv3O3L6LlAbumM5NqpRQYgHcrOlRsslUK2N2UszunHReVgmRqzpE - 0iqIkeWl+lgaqn/2NLIXArQEnP7vH6Q6GWI9GkNdZgmrRE1qDef3pcc/ZOZMcVtY - eRGGhBxsEfGamqAGk/UFRZ6VexJil/5ywDkLvw5JeT5Ltq7Ru4H2Mf/K3Wwm5VT3 - 11A/241AVUODhLZ0uS3bRIJN0mO8utW4fiI7GVHtogKFKKxKiEFkZgWXAxkYVF3J - i2yw4hPqYqbiQndHX8T7whz1TXA3bSADuly+wAcXXSjDcbm+71iN6UgnL3WVUhYZ - QUxucoyWBmTPtf0z3OSTJNSWwr5wnjcUNNAEbDWUfV6vyI6Q2gdcoQwlFve6AkyO - j/7PQYjaU3T6LtQINIoppLiMaBSSLjjTB/sPbNROOrhTg0xym4JSTlOru8NkioxE - T7k1ut48l6PjXwiSBIHZQ2Ry60diXi8xxWUggBOrHdnEMEE/HGrOCgZ6pZnugNVx - MhpSkEcnwQzxMfUUtOW0HyR9hZWBi0zh2sqU/DbE0UL4K/6mZu85CtS76nWzVEKj - 8GYubDUqhMYuz815fpXRvfoPD3xk98O9sZ4yRIUisETd0nvvyZc/rXE0teLiQsfS - XgGuoEcu0cAVTH1aemx45le0ixitfa7blLUxe0AsSi0+N67S20+Uoxa3tlGHf5qr - lD4aNYvDdbI85qShxEm2m+YGA6OmKIdDBfMLbX4Z4NRgKJybLpd6eUD30WAzoO0= - =1x2k + hQIMAz5uSgHG2iMJARAAmldVuSQOWO3rkhOWNuVca1EGr0PKubWDQILdgEw4gAVO + EXaWLoiGOwEkQ+wzkjaL/w4vjMW0cMagQ+QgMHz33KNE+xPGC82ZqydCJVm0YBrg + 6sqzCxrOga03QIk+T2gUOSkocQQ5WeLvFXaGNMYSNmTV6fvECg+uyqTE+h/AjeR5 + 1hJOh6WnSC2pw9ph0WUsNAOhMlC27XJ6Vz6pyB0AQmUcp84vCuaG6Lb78sz1gla1 + pA9vJyIl/SPRR3++RTGI3mqWCEbCn0OQoZ3j+mIsjsVpbFE9JKML2MNx6iTikgiw + uO+kpWXc6j2j+EB09bChwMI1ZJdXgaXsPV6kV1sxj00q6r8mzsnbxjx95UeVKM0p + 63N1Tfy6R2SAWcMcZvCKbNMwok9NiOPkZdHFuH55iwNw8T+SNvq5lV22nyIcbc3Z + +hzDB5aYz2FP+ENafkQGXSuLd5UTGy9+ZXehPi3qc50HvXE+PSCN65XFgxWp9QnP + kumpgtkkjgBe0ESvwKvBDPjmd5OxSj2UOxDZosXBKthw7ugv/uLFrPpjcEgyJhYO + tTJybMIULftgniQLDUs2F+ld8u5NaTyCA7ZZXay5EZBu55xTJ1bLLz2YXWH71DH2 + spHf2TRGoW5eqPw8KE4Jq359Z0WUvKLfNNY704l0pgTDH1Mw2oqWDUTTe+UrPr7S + XgFCRUILWbQ53tzU9SRq5uAWEXxb6wBgYMAP+8K/OsOO8ttcmFbqSw9eLDRm9mh1 + /F31OMNqS4ao9kicW/nOLKdNSeJ1AuMHA7kYCWksOuOmW3KO/imBOo3JLMFkHDg= + =xraW -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2025-07-20T18:28:07Z" + - created_at: "2025-10-13T20:10:54Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ//TLM/EyYupC1ttGiaPDdy3bJYvSAfdkx9UvpkFuGF/rBR - zcvBxLJ5JFxwXiR9blkt8oFX97GmtIIhNogBbaOalh49b1GPCGOawOPkvh6prJMo - QqFMq/YfzvBnFT0c6wL34eXPzaFSkopd5pUaXT134GvZjaziMR0sL0BjgsajlXEr - R9+wjZ/6scsU0ZdjxseAlj+pWZhP1g8cAPITwtKl5wuJRu2Z2e6qMXRwDDVDaZwh - tDLiH0FFYsenPTFEESUszw6seF3pWoHB79PBt9w1YGYFSo80Jye43jZ3SQ9BKAqI - xnfBXQ1Wzow83/UMtHrSdHOKKlzmHlCSPQTp9Kn4FvMaijgUs3oNiG6AZx38j6XU - QhPdFcL9ZSL3ZsIJooJ9ili62NC1B904l4NscUQs8Lz1Di7G0ibj1hwX+mPjZ7Jo - JGZtFoUmFo/jVrYoyrEIu9LWzUQsflYusRLv7nYAweePaFHGNSluY039D2CyAvg6 - vTCIdx3vvnQcpSw0dnD4PQeCMuN9iXNEdmx3t0mcuzgaxMutB+xveLcbHKUEeSjj - EDDVWPql21pZoPiMYgTZrBLrK0bNwOJKtaHHntRuxlo0wV8SQF8U9L5gZqC9ZDAv - xXxKM24Dqt7zckNZ75Dlz/a8HQK5lMlwVeSxSiNY/36WSswX0pvK1qFXjer6yAfS - XgE/QffPmf10emV1bTBLSi9vDKBI0cdzxNuKuPCRlo1kmOuEA/aW80lI7g8s11da - Dq1Gx51uXqFKrG0vJRzB2BL4S0z1MtEcDFSke11xq5poXGM4PmfQpPBI9Pa5DGk= - =i+Gk + hQIMAw5vwmoEJHQ1ARAAo9HPxkonFM2NZ9XcVA6D1T5qnIEwGmC3F5z4qDNuOqs5 + r4cv6iilp1ev3331I61Qp+58/WAElbWBixgiXUOHh8ES77MrFyexp6TxW3LBN3I/ + RfNV//Ptz2hBLpt89mbSoe+BQOJU0utdO+IbgWsUSU+7/l5b7kOpPdNmFME0znc0 + AGms5UblXYwUY1yL5ALFM93/OtJJoJf4vmBRTEhIXciaQipBMk7a6MH1QjZ9hywK + Oinoo+fmaXHGyaMxMvsnoohNMDluZqQoHgre3+dIyOM0Q1dTBb3zxzSFXJexB/fm + f/1cTpTg1Hh4aXg7Q8K/hHI6mkZLEjS80BE5Wjwme7nJDpmypN4iwM/GwDjjXGE7 + 9zk1nSrThskw8tdHUhzXjEP9wCj1YFddsAELZXFPwBJJrcxKnO6+NvDe4/npt43l + vD0BGxBDlDOufKIdQmuId3fxthPdI1QvlvnlGxq2b2F4l9t+ymlvB0hgmmsU3psE + I8JPZvz8jgx1SSbaOksIePZ5qUTXp/7WRbJrhx2axWj6qAIZhzVCL+5Szuy7TT2j + ZM2jHWXd3xRs5VAtvlDbY74JjOP0gv+ba85vFlYn2fcms1UFJF4DROLkS0qZYWaX + 1l3vPRR/O1e/fTEShffHWAY3ld5sxLsa8OkK5Mxsz4Z8VX6tF55R7ri7xOvEPFXS + XgEK3/eF9JCPunybZ9qWTNtkGOa90SO5YSed3hgIQw8AGF4M0wMHoPMfzfX/e3WF + PvLce+GC+M4rygcfnQh7BuWYFijE2xLqQM06B8FtbQCit4yjmJnknfwoqp0QewE= + =qMHJ -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2025-07-20T18:28:07Z" + - created_at: "2025-10-13T20:10:54Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAZS15HxhhjITM350cWmBsvc++kA9dP79oqoFTYS0w4Vsw - 4rMm91OlSZrXzsIHKG+1bPKtgB3hak8vX+RDS0zld98RorHSf9P4WEBUahy/xEli - 0l4B2seAT8SJfk5uqC+3M8i7KKUnDXi4S83HNyy28btN2kwaDKpOmaVelQeFRHYV - AUyzLb61JOnXzF77Y1FdDdqbxcZvUmfEjBVYwQ0uVY30x50RobV898hVmH2Gal6j - =TrnN + hF4DerEtaFuTeewSAQdADqEQ9hxSntxmo/7fb+J59O3w1NpozEHh9egR67lbHBsw + 83EGLOW0JW6Cp+k73zoiipeoS2nogHhQxG09yVqgQERDbcu8C6JlgM4adZ4+f/Eb + 0l4BxTXJpJf+saBXXWUWRaTDQZpi/QkojF2ZgJnaA73RMdufBmGDlvbydebQ3mVe + N1SOD+6ohNuRb2mT1NS4YzO2MHkYaNZG5L3sjhNhmSFxgd5mCiNQ6YsBElDTxk7B + =2cmG -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2025-07-20T18:28:07Z" + - created_at: "2025-10-13T20:10:54Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//QsXWu0Q4LXXUGfPoGghMzJBZYxJkn1bASs7cDX1mGRyX - ujxpdovJkMSK8lEQ7LqTcEvjmGEttCBLDpYL5hVOI5k5tvpGh8bIV8NtZUJK+eXO - tHT/A+sbhMtRqGhlXqmL7dkY930NaKAeFsBqbcvG/p1uK8zLX3b7To6n27R+u6HD - iikUGaljRDknqKEWxdK8L79UW3hmz6qLynLIR9V7bDHbXXRZD3CmkscOcfNUC5jp - q0t54YzOHN1BQ2+cg230hvd07/Iu/Ko+K9JW/YmwKG7d2oB1Plitm+oYY4GaRgmb - VvEavkXPBTxVB4H7DyO2ghWFs6bA7trGf6cfcQKML2k2XygsQftDdoKvWWVJVmXi - R7ceqCFyVzXO4Hd/XcpWmwhv5lNRD2MEbIOKWdQ0JVnzqKJygb5cb3uZriTP9B4M - eKT/z4nVUEWssjJXQAMeHG5+pSRkT3JlizQHuHg9jU6/68N56kSVMhUyXSwvYbCk - 40x4p8bCL18YpA1wUbo6VtrydikPKgdx3TF+Ce2+kQs3E5ltSBL1OVykzX/mugFa - KUf1i2CbEB5bb9GRftagbCbVJp6d5GmF9CiCSF7vPV1hdct2Y7+3ag2IxgQS9zeK - o9heXRgWeoobYDztiXkLHXiqI9I2VFHtZ69zlA8mXI93xv/pBZUrQjTfmcxNDr3S - XgGDCDFBG22ZEVdUWOmKG999R+krXS0w00ITpO00Qmi0Ay1ZN2QAPLQS/5niB+L4 - cdFK00jr8VllL+qjmYl3YG87ZWOGDE6lHvIGqHNBZH4FPYNlzgKySj/5BZlN3eU= - =hLuU + hQIMAxjNhCKPP69fARAAppTC3WqFUiZIq1mX7JP7+ddll8G1nFnbduXfBE9eAOJr + QRobQvwbl2krFAKlmzU1RKTLD8qObkHgzHy8d+Rk2kN00Bqk6hcQZCoeWyEy89nq + FV7pvd4OAFQacWaTWaHGzBq+Qrpg3X5Ywo+sFrgJ1FpJg/0YkBDcEp9WBQF+z3vW + hDzQCQCl9TzgTNMV9X5JkvbptxL+0mw4NiSZffGnrFOSGUnikS7bXGPU1atj+xfN + bwdGsRLwHf92Yo9QbjcM2lws830Caf9uqjLXsK5Xvtp7NuPB+Xmvc0Qx/9aUi2Y9 + l/HgOtXaAgfTF+4DEJh7yn9/BAlDoqt7Hj9PWQlaAygnhEXFZ+1Qiui4qOuTx0k3 + T11faYDyLjgKeBZQvDhi8ZJoICEZn7ysgr6LsBORPSDEoL17Z7s+7hpzEk+3bosA + fEYppu520zUHDGX0lzktK3yvfRzp/qlhf3aJev4Vgl92vQNKweN2KEgu4EutQc3c + /EhINqfk/ibF205dSWudapoQvBu9s1ldalTmiIB93WkPi4jxGKQNYaJZgLIhD66K + 8mmMJ1CCHIo97bFTeltuDaUdP3Js5dKCeiVrTSLuFiX9Jet7ZjCY68kuPqlc461Y + osCN8xrripV+Vw0fBlg1AYq8G/Kffhlv5tnGT/2VEPGiUi6n8Q2eEAbrXu3sf6LS + XgFctsUqefLAUU6eDM4epYn2OkyRZhLX4S374g6oMEyL/OCcMSWsH9OeprwpgXGU + L/egGlhu8ZbmnRcDVAHcp6UulnIDGPVcUQO5jUNACcPIA6K6SMGF1rUz4eJeLj4= + =EMp9 -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2025-07-20T18:28:07Z" + - created_at: "2025-10-13T20:10:54Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ/+PdWzTSem7Us/zW2xtPnxdkMPmGmTg1qfSogJzC0B7Ia2 - 4QiTaFeMNS3XCpbuMMrcZbmHasBlVDXWwysz2vE+OPudplrjT9kClW/6cwXTYL4G - 5K4fCY/XQ89Av+pfURTBbkrPr+2911KiH5D+Lpcl1ra92FlH9S1MEbPEgXLgZLjT - oRZVHoc98lDPnumvrz6kLxMPiHwCdAy08sgj6fICeZnMWjU+mgZrJOW1KbFDd9KZ - yOs+6hw5IozLkqvhd3Q0gfgHZ+O0d87zH5IIzwyKMjQVYC6+T8SBikGbk0jStlzt - qkR/PAJg+OgFuwd4lOWcJ+iBI8EP90nqhryCmwFpmFJWBAx3HiAdqE9+vwvy2Syv - 9+P2B9AXYM7bUB0Eb8AFhGONhTh5K7qzeq7zExOjr8GKS/QAL/0FAldi8sM32K1f - 67qRb2VaX0NKZwOvl/I7aCjrTfBB/6ZZLWVplnIkq/qVHNfjIVwa92flJ/7Noa+o - 7TNeh2ySR92K4K4DGdC4TrcxkcCISM7tb9GL8xH3vVS/Ms67IOu46Uea7EnGJkqL - 1zkdoiIzVq3oMhhUFIMATYPemuCnfxOiNlyZR5WgR+rD7OhagR5tM+YXAI2MHcbC - 5jLcRHFZ+xIkTZWccoD9pulySRCgQZ9y5sFIvOl+OuTI0rziArdqL9MOYQ0XYwXS - XgHewmTVljGvj4P0oa2PqRbcGWft1ms1QjioTQ9MhSk7F2AWuB4HE/hPlN/eY2ou - m0o2NvaiZaq9BXG8GrVkwP5hn4IrDe3OEo9WeCar760dvBB1Z+q2R4F1FyzgesM= - =xc3J + hQIMA1Hthzn+T1OoAQ/9FG+ZeWpP4WULWoCYTH86qEU8m9sp0JKwoKYdc0LRjNpi + nWr2aiWhhcru6U1yulOF7fVL+M44RbaV6uiPGayWPE1tkZYdIUnzlfKWNOz/ibsQ + euO9VhBicKl5x7eZaQkvrY9CchfqGPD0PQSbNBLFtPhI+sDWnb12sGfJpVejP1HN + ILBRcsAkSFP9d0k4Bba9sT/HIBloHOzB3wWGDM0mUiSdXCU8tx3DQXcHHg+jn4Bs + vCrKvtf9E4ivIPrnKdGeeqDuzvLjS8fvbRKZgHCjfjZaYHD/+ioo/GgVIXxsA4J8 + O/6lau/+MHh4lkEKeWtVaEpXqgrDiOre9YhP9kiegKBtnrGoT5M9Uv12D37VFlww + eGFpVraCG2nbIeA8tKK9PMdKKF+0rGp2rTVecziq6xEs5DzUyYjU8hwxyQCcKZAz + D4JLV3On1GS740sCmos6HXjAIzqoXbaOxgR3rc6EUxy3MA2qwhAfoF4iSR/yCYT0 + senokC+5D9bb/DTRGEfZ5G0KVK4WG6iNq0HOuoLafLvesK7ZRxNJ2xUFUqDMcXu/ + o3ooIawICKaeiU6DTrx4apXLgr9uz6Fyq46G3vB/W46iUY6Q7+9g5fJurcgsBnKi + gHwe6e+TGS0v2T20j1oqkUIHXb7RJBG1hU5aLCdwMxfTKulpEDElb+xclLcol3fS + XgF/CiUR2MXnX3meLzUQk2TdBo4Flxjd/uQLlZIxkWifGi+BLbVtYSm/Ls8kcsho + 61BvrEtRQGe9SflOQpkNE1Bkd7wpx/CHnJVL2BveHEXzihAbgCwhM+mJ4oQIGV8= + =79oA -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2025-07-20T18:28:07Z" + - created_at: "2025-10-13T20:10:54Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ//bgiphdnwjxuJGZJle0CsS7H5hSQBlqJw79+WXrKyfeEM - NXxKX0tIY0QoIhbh9mXyKEJKr0oOyqO+iLYlLrqgEr2OmLWDbp4+bWl0Ixcw+drF - uq8orbkvkbbxLLcVIBZfwX4foFCMINr2bNnTFb68yTZXpRp6+JN0wy6zzG7d5l12 - wKKIfh93DVb3jrxaeEZz02EzLt8py9NWfniLABbIHWZSennOmnepiqCFuqG4Wyw4 - QuyRCn7vOnO8fQNxCVyp+OLjg+7d8u67LcrU/lYTrZLYEr1VEl0mmitIuY7M9LHw - +qEMZePfrk0/8CshXmqKq7HiDM266HWAHq3VaAQr0HOk08DZLgzeb41wWDyQoQtr - dEOOuyx96SyOVaHxlttqWE9BHoX2CQEM2jUfvhoG1Ov2scXXB516Gzg9H4YYuDMM - ei7qG/CdO1g+7YSS6gBtz+T0+caolAD1/1LGcvv8/lkAQeoNfcNKupOR4rIiHQEy - H1wS7CnB/KbQY88ZkVHG02EgjxAGvHinfDa1Tv5CmjRZH2Yy6zBuYsPZQGmrH0M7 - n7ZSPUi/BGKCJbAs+mkdYimDpmuNh29e3i7NHwCX8+odRhghM4S3ab1sPy5pdTi+ - z3MVM/8uUJ1GSu33EXB5Zy973Pn6Ufjr9QOw+JpjetscSz4WHf1vSAe5b9eG7XfS - XgFmyjzLypsn1bVj0fo8FLq+flHe2h405I3hf8Olz0If5k/UCIlgRCU52Z8kGXqW - QJAJerSBi1/chXZg5aKqO9ofVu0MPbhiNRXxMHni4Cm80xDBwWOy4xC8WwiKrOs= - =czBf + hQIMA46L6MuPqfJqAQ/+LMa0/m6NvgFCnQfckQw7HT2aTuwq1Rfmn0sbqzre5PA9 + IzY2v96pmutN53TcAdrlAWt1tAx2+OiAxEBbbes9kdiTCf4OUzsZfF1npnxnYztU + bXBaANw6heAvvPaWJhh/l14ccbVf8S7WT45P1HulRfQQBqKDp3WpwTR0MxGjy88p + cmYRWa6Zl0dvaEgEZ7Avwhvlbi/HNE2gEvPrFfxEsUrWfIKvGKDATPU8+vtxCmg8 + x/X1k0YMR5pWUwwLQkGxTDkR0jQZTeGxHFb5u4mCRO+X/ofxG8YnLrI3Emw8NMpV + 4enSDg9cIITQgxnnArC1mSkGhdTabC7EKPfUjWuDUJTvC4HD2GnrRUbOwC+Dhwup + cU8VdVxOauxe73fne/HqgTgUqiyiRqA8j2VCSyHJs07SSQUS9mfDH4pcXxH26t6q + 505S7wljxaVJaxysiojcPvJjY98jRT31UibZzK2XgjvzjepjBf+brrkdpotV70on + 3TNaT0ILhTj62s3RTlF63YIHkb5tRLndaIImwBFMs3Wg5CaOJuf7oKdAPj8QHy0d + vgWaZcPCmzMPFaq3N23D3xEjJyKYXp0vkDAyNN26auzg1OF4XX/k3ZF+IbXX35R1 + sg9xLGA1PAS1Ug2icnXDR9LGWfKwGB5KBFFtob62ZFxC6vRvM1FQOkYp690ewWXS + XgFHK1Tm2RQd9cN4OSn/NedFGVpWB8IjTp2015OiAcwkEQzbey9nmB2Pf17/6bT+ + SVNSrvAWfMljmpCj7vxOPgJt44GPCTNgRtEIFuOxGtaYU7KDybOrbbuRIKpnFsc= + =ylUj -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2025-07-20T18:28:07Z" + - created_at: "2025-10-13T20:10:54Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA4EEKdYEzV0pAQ//eZ4t+Jz7ITuSVmYRGE8jNeP9RCMR2NkML3aEbWNvOjF4 - jVhL4WvOjDHhWIBmSSgkyZFhkV/CPiRjZt8LN9bf4ueRcY/yNr03vz/cidlfNZAS - PRS8QZ7UvdjrprLSvTmNJTFB74AS9eelnDXc4bQlnytStlfpsXaOzA1WmQ5w0J89 - 8Ri5Ek5BmZaVnoYRgKrV+AwWJNwlzmBrq/lHfoncHULfRwJ1La01zEy0vJArHnJk - ePW/5G3+84pRkJzDXCIG67EbLFwF7dWqNIlZlUkFCJ0qZsHVo/eVg1NX2iLRPp26 - F0t2ehznDGh77PHWCJCcIYm1pIEVqD9tYsseXrc1Qz2NAjT7EDulYSdBp+kN2WFk - w1iFvGK9Mzc/aWBpDJYdEhe4UGEKMSMYKeqcTJf7v2cX0LE9z1JTsXctOQnByZN1 - AsdbcR42xniz8B8vvbDzhpmfBX2xR3gC6DyEkmAieOecsJ/6jdwJAZBT/ea/t4QO - YBTZB5UzgjwbfXJNm4TUWYqeAl0BaSiiZo01a5Dzlo6MyGFjB5VnYRJm0PmTRwDI - w6UFrc0tXIMPLddWcN7UxH7kbi8e0rPHCbJDk4aN+IagM0D0d0fyAxxYy4aaJ/dD - 9dpUgYALoVWUNWDooKiPQoUTPujRw0Z//HCpxvmpIdUHrvPePo2vASMZz2D1uwrS - XgGpKromtn4QrWSgc5PIhe1CVDJSD+LzU2cUD8wKAw1X1ytL5mtqlgvZzTpwh0ph - 4NtYx85rHmrn5whiGgpxgtwr6o24xeim6ZhRjwbLWvYzLgh3wYNiCXzcUX7Id8E= - =DOLh - -----END PGP MESSAGE----- - fp: 9DFA033E3DAEBAD7FDD71B056C7AAA54BE05F7BA - - created_at: "2025-07-20T18:28:07Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hF4DQrf1tCqiJxoSAQdABoDixsNCXVm7j0QyJty/LyG72v0WoIfxCkVQRP2uxUsw - R80k8Q226rURPAZGs3D/CnRaYSNINUyD4ngthAtOPVoAA1Ri+ftOScfnVremy7QC - 0l4B9DKnWfvmwJY2mnEBFRHf+SM/LpP67mlSVlPuLMFxXbfrxANfM+9RBNRk9FQN - WOej+WCdXOiJxlcAG3HVovIIdVpHMmPpT+YbfFzuY5rV93mbNEUI3bxsdiWEJnxS - =l7zU + hF4DQrf1tCqiJxoSAQdAs4mO7jTUP5LsFO0HMlubU53pFFq3jDR7SnhK32frfXIw + m39xWAYu686yBAWKFVebPRh79nhbEzrBwBOXt3JasGPQULU6QcMmSd8NiAi2MPFb + 0l4BySUuU6pOfYtts1VsCYaR4sa6ChJVBywiXO4TSu6wtQ6Hc8SmQKOPNYrytqae + bGFLBZBnBrGXSEYrkYBpDewta3AU1JL3Q+L2x1OOA+jZfrQxlJ08TQs5B2IDizOB + =GTv5 -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2025-07-20T18:28:07Z" + - created_at: "2025-10-13T20:10:54Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAhDhJSPNVIKftCaEQI29AU0eiU9Bwmm/F/gVl/Pm+zEAw - HZKLksOb75mMeWElV4oIqXd1YXOfkSbOwuEBurgztLD9d4YWagjmUpckoWJBBvwu - 0lgBjlkvxjf1d9xjEWTUw1rzjIlDRL4f2GJl2NuHoHJ4zbnJCUDe/UC5B1UXin+t - JmpvPy+/RJdXl7Hn2GZXC6XoO/GopbiADfLJ+Bm6j7myt2fPW7JtvIG9 - =qwle + hF4DzAGzViGx4qcSAQdAlnwr4TqIpDBMWOtPYJVUcz/JGHSStXyYqM/YbNRd1zkw + JD9NlCdchX7vKLfo3sgYIh0PhBZ05KuxJQdpKEZi+DmSdDvdE91mKx8kICnMxML4 + 0lgBv1+hkZn0rvxHq28bIKrv6Z6y91ilYos6f0elChyZi9Ah2qhZgoxo6lKr9r3s + mTdMipim/zck5HDfD4Zc2AJP5OlelhozESXRH9aNti02Sxq+v+4GnyIs + =oMbe -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2025-07-20T18:28:07Z" + - created_at: "2025-10-13T20:10:54Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ/7B5Ya6hX3Zplxrhyhh45QbRLGVYPGZlaTSwVPpGhLrKNR - KYfpz5gs8ONGO4H11pkmde05T8ClRgHUlIuGH0o9NyGCxAKaCnbOiqcwDijmsMTT - uoW0SmtV9uNVbJsDgXLiESZPLPYOi2hRX5XqZrMPorUZtaEgZiE1n+kFVqQJA4he - 67wpCFXvrtE5nVG7oDO/dTyBJ6WOdtTodesfIchlMxwIcfTzJiIJb6UPsJZ2ojfK - EcIYfy7YsYpfwc4tNmkqM9sGbpiIiJ2YhriHzftdMlW5dd+22ltYXXiFDrjTJg21 - d9ZoBE/IWU9IwJAjWDDOHweHU0AjXef3Z1Kd38TfGrhEDmnUAYApQXjTmCgX6x/c - Yur9qwB8JY9ixfxc9MYpnyj/hcChKAGfKDKnRt5fOsPa2/6N+JtuSuZ57jVgMLf2 - /DBPha7TMyvctQjFfL/ZUjgghhxt/XzKI1NvIxZtclQv5zlh2Dkxn1J6keAWd9C+ - qiiymf5lqIyz3vo61q0fzs9gwnQU3peQlAQCyufsK3lJ6Zjxi5K7lqo8kQcdL9TV - P5Bg5lYhXf5heqtLdxN6qB6PHBQ9IcZu+SRadXymugITs4rnMlOiwGSSGicl16RO - v1jtj06e50DETj8Uwd/7RCtuRTGooDamt6oC6/yKfNAcmpGTqDBWws23CRnNHoXS - XgFAmqUJYjWHVxyqdsNcEdtNQl8IWUOtzmvh4rCoNssYPZlGt+8X102zOHu5UkHT - 1+F1WPXFTZKbE6D5S5HKuYnNs9r8SSEWyjUY19DxhHsLtC5xbsehz8oEyBBhJ00= - =a1U3 + hQIMA2pVdGTIrZI+ARAAv/E5FKelurIm3WmYknhsdVbxiUWHCWyYeDC159yS+o0T + c+zh44azcmX4gulynZg1LTRiyavc07HdV3cp1+ZbwVmmRnnT1OTNOU+C1RnDfZa9 + s/fCmMzootQlfsBgD21lxmAIzLQGuWVgpSWNZuSHz0W9gNwjNpIbNMu8amS7naMt + k8LlRAQ56C0U9/SFYBUSL901hmO8Y+nlwWkjAc8KyyZoADfHPjm7TAbHpQLgpKiF + Ciouyts04WJzdEjIab3a6cBO6dSskDcxarnTyCI1e04wllXRMXwM5xA47IPMRruc + OK/GxG9YRxiWE5bEJnErdMx+uQapSWc/8f5KmWSUQeeBaXOKz3XMZnnSHyYaV6OU + oV+UdhWoMMXFYF5CV7mtOWmdmI2WMUMs4sDYwpOgp7LrhI/DA5QVoFz23K318PjR + 8oj9joUOPcWN0ExvAd4bQvVXLzflF7RSx119ezNR5HAKChJRoiqI8hoT4fcCHxGC + LZQCWqW5pyi6MKg86TbO8Miy3YUcYzlQ6Uk72zkH3gCf6RLFcdR7YMbt86Kmpx0b + 49qwRbaaWPOrKmeyHpZTnjRSKadk/pM+/T24Q/843mulr1zLiGU1eWdHFwx4+lAb + T2I0Rtl1J6Ny5Cms6HSdHYXaHN4dn13oM09EpdF2J481LyfIFAQyuDwNK/aw0x7S + XgGBZewEDElkJJhI+0OzAWJeV0RrCE1qehlzVwx4matuZTFjiZJFQhYYr/iwamng + AslyRgMOoDxYhLlGc/7TePi22RXVQOj4KEFZrU7NjEbheBi9wodVNNrB4k4je+E= + =XTdL -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/keycloak.sops.yaml b/inventories/chaosknoten/host_vars/keycloak.sops.yaml index 1436f8a..af4dfce 100644 --- a/inventories/chaosknoten/host_vars/keycloak.sops.yaml +++ b/inventories/chaosknoten/host_vars/keycloak.sops.yaml @@ -8,217 +8,197 @@ sops: lastmodified: "2025-05-04T14:21:10Z" mac: ENC[AES256_GCM,data:EgeLza2JhJZmuNase/63KyoVwR33eFRqxHqSSaJDlr8YHQ0Vx6OTGQJTUGzgdQiC5y/AE24Mesbg1iT1+qufeOwv4V9spW3F0Ci3GOBcKrqBZxnnuHNn6tiRe3R0eeu6PLRcat/HSWY4NFz3RvUposC5YaATP78JXgDuJg/wRoM=,iv:FnxDapA+BUfSMVBrTYb9mcSYz5cZ5Qof/PZo44UTXrA=,tag:2FH63YT8Z54G/o/n8s57yA==,type:str] pgp: - - created_at: "2025-07-20T18:28:08Z" + - created_at: "2025-10-13T20:10:52Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/+NIlVMdE2ErNYHjxzWeGY51w1d79/fwZYQmTKL5FXEJlT - 3HoMDrDH6KzhUf5Q+AOcjfdifhXi4SP1ZESqndkz3Z5tb3udo3U1sjAnLerUyHB7 - Hs3v4snzOx5s6UzXS+sMgzWvpBBJaFMcLYD6+i6X90SQ71iBP3vXrnUSfRYxeHBt - LvY5cBW6S5Z/gOFbkHDnm+DsM5yEqc7rZomD5evqWaj+nD+L0z+kjqtx8E+nRG5h - 1zVV6ZgKPNXDpodyC0RHDNQZQNsZHulMQgTns6574CuqW5Dd1pceUjVzkAY3YTyX - fpAwkta4TaytArWkGFWLMcpY6ugwIFSD9hIFQYlkwXVBwnVs9JVVvLWNOqzSQijG - sW6JhjX6YYuXhTd9HTviCxo6Zy/8D59Mc20YFZZXF+11h2qmAwJ20R1L0F0hYKad - ObfqBkI1M2OmMoeECj8sj2J1BWI5f+qEIyQJKMzToKyJZnNBCUY5JTClYxJYK+gZ - PkxrVytHAwVfZ+b82sz7+M8dztPbvxDJWL5LFPO04dgiOjtfAW499vDJRuMXKNSm - kloByBdZJNhtHVx9r1xshPku9rlT4NptDmHB3ktFobYTzRcgZRGMxuS86ILN09Zv - MovjsHRHZM/C4tjDkfrxS5Xsu5uKAwsPpg89UIQ/MRhlydvqAf3WEQLU7FIQNV3S - XgFRay4OHiIMxtLSPRo8DorSgOGv/kqm/Y/7MMTaaMucEwj0bzluPi/JS0UHM+C9 - IMhRnsPtCu6NmLlucyBMaNVd0kEQi77vmIFk7/qmXxyQCGX28IqEKKTLulnWcJs= - =mBgI + hQIMAxK/JaB2/SdtAQ/9F+8yUqNVGb0IZSig9Vzwgk47vXOGpJ3A30JpHpJGXrpn + 8dzPP+pCnCBpdfCep7LapfOUBJz0NY6J2QFe7R/R5h8shlirsO041i9gxqyXiIkR + bqpD5+mGs8hmwiflPK5dVVG5eoDBorGPm98G+M1P0k7mBVwgzaTgjm3OjGeCt1ox + v60zbnslzbQkX/pnKxKGrN7VKt0rxOv1LrQRFwC3y0ReZxu1c7/MHCkH4fdeD5SA + xh1GucV/IHiq7XsAbIaD7wuS8GfuJlXblrstKiJJIUOnrwIDH09bAogk+pahYT7h + zbczVhNjedd2fokX0UYtmpzorkSAgWFX7nSMZTgOtstW+nUNGSxePcif6KwPLwr3 + I9jnBxui/UF56u7+IkfbQ8jlKLf/nw14g8PzhR5OW0mj/dbJGXcOmqvtkd8Nr0I+ + yYLrkjrjbJq2UC8IjzmBT2/zPc8Vs+Y1LKVHCHAji9FiXCEjrQSl9L/svRRxcU/n + bh5kwRC4k4cJ20B3ALYlUspAOake7oYKEmD+sa9IRi4H47ocU4PASnMWmA0AakRS + rIn5/RgNaRMkZBQqUgagPkwGf5IqKpa2BrzY3dAGm6NGQrLDYRbO5BjFIOqfXhpE + BPguAikJb43FX1FLQkgQo6rmDtzrgUVL5zETVvjbHJdPq+KIa5yPQNacaaUzoe/S + XgHRkq4ZylSE5fA4R/aQkEV6ASkBm9Z0O8ggcbxIdr/sBy2U+fKTA1ixnVGjh08s + OafN9s42/Ex4XN2dnQVQRrI49PU6okWEX8Lhc49fi0g6pJGAxyDiD5wafvVJNG8= + =mSqm -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2025-07-20T18:28:08Z" + - created_at: "2025-10-13T20:10:52Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA6EyPtWBEI+2ARAAh+BrQJmB3omXdWL+G3nacI6ecm+u6A/R41HOUtqcPk6K - 0i8ImmWR9Q4lwZWvYk4yikTkKv3i5DoZGOj5111xLEKOadlsHSEtV8HDtPnzX99t - pZwRcRwo1/2mYUczXTx6TqigKE9uWkUUomOkbHt8+r/XHDJjA14l8e/h9GrXqHgt - B/Ny5hnesZlgPMYIAwr0Stad4NUwZ+w4LoyWvWgPOx3F4UVlSlZGHwD1VHpBxl7F - o7vYllTiwhx4bKSbKJ/IlPhU/i38trX7VK70JifOxTGqrfYw0mdN5s2W+QHoaQ7T - 6HTXkEm0g9EGoUxECFdVzes4lf2pMA4ReJe2rRuBZqHYYglS65Exu7MjSSbLkO52 - Gvmk8SFWXSswKF1hZUfmttBZzn/TUfBtuM1LCeEalNQH5MjqYXLBJqhqH7AFMBZ+ - E2RtAVQTTAv/YIDLKTM5/Yk6tOGTPXUK5Etg54IETWDaWjLexUcdsIl2F7oISoNH - IFcmsfSyxnZnJ7qAnWdmzRinUrtFLzl5Lr/RqVxyYK4ZUaS0QIv7+xEdUR3OBKiY - Gm9CvRUNY0bD7IO9u6fwc1lov70z4qww0656k+4Yo9YAZBI5EluoI0AVVSKKlCpJ - yhkbgGyz6gC7DAlYJmjCjv6/AqZS0STm4KWlKR5dvWrY7FSJiSpCVEANrv34mdLS - XgG+hIT/Iu/QFER71LdizXEBMgZB/E/9UBGLdd5cRBXtp4vYpQIajl2SgUU43pSu - c+NYQjbg6FUxY97k+QD9tlzgErW1bhW8jcZVDbYYrBa1I8arXYBArr5EmIIFRBU= - =BTO7 + hQIMA6EyPtWBEI+2AQ//fWg3KSKdi5HPiBed+BuYyyYYMNMnzlQdUSye4XgSUBZG + bsjAMgUrBZ6hICfjKxcKMwF7BTYVv8GwOTvqQ/rNJ/URAwRsiOZ0M9LuP/zoOzW/ + 8asV7p145qfRoS6jf+O8a3iD1bwGWwrbd93MR3yFONRfTDF+YksMwK5yBOYruodg + G3NTeKcYVgd3TA22wXer2U81VUdvxnyWYL+5/vczuCnGC1hBGf2Q9DfKtC0KAwxB + DBKuYG4Gzx7yjN81tEk4AoAegN2nptUyKEYzGQrSfINtru0EurGqxCeCBS8MU5Kd + hstcGcTZdtSjBMojCrq1pqhJYgzTEgbcbdPZf5hiczJU7rYnz6SfzmGrIcgJuS0+ + d/F1Ig7Yux6Wkf0UthMTw1eu1WDQc9DnozzAfhDBU1+V5P6sDmgQVmTJguk6qAry + ii2fTIDuWRtfcsehFMi7SA5SdzXqupCkrbfmmpSXjSGUjZoHAsHySnCecayDMNhI + +p9Me2xBOxaPPqWIu8tNHMkBaJKCAi1b241lN02K47y7HFk/zkatvs4173Ww+zQS + rzgsKjDu0dQ/Rpn2nAHZ8O7Z8gw9vnpc4oWR6bbIXj4AU507nSnRnnzTC8IdCK6Z + W+eHT4/cZ2bvCluaP9Rj0MkBBj4mThAbOVqNNVMijQG7Wt5N7+X9bcrs2mLLO8PS + XgE9sqigZVvVh6KCDxFgTzSh6aHH6hjBF3D/ThjJnNmYYF58Q7LgsLyQtcr40g3u + nb7BYVggETiQ3x7P/ZOfhrtuAoh67lfOI3T5wDt9+WcdcpXuD6+iuPspAiXoeGc= + =Wrky -----END PGP MESSAGE----- fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC - - created_at: "2025-07-20T18:28:08Z" + - created_at: "2025-10-13T20:10:52Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ/+M0gcfxMf9f/pjwh9uMCQZ4DzuuLgMzC80L8V19tX7wic - tTXQcRWWhM/4Tpr1eK4UfrSMJuQrT71ezcKk1QFUBxeDkMT/V0+sCkBdwZUiWlne - ASdy3VrIEHFeAS3Qnv1/PACIcaj66FnuTcwUed7q5Ru9i/vskTaBwEfF0P+8EdvI - UJeuMr2LmpyYwNRgjVWcl7s8OUlT2WfDZUnSEPrigvcKMEaDNdEKt2Xa13slBfxO - RIs06bHotCEUwzsYa74xZXW/VJ7jrBwmJ6qB5SnX0/bv4UJuQ5oB7tIiXAYN7nx6 - pIUlvXJB5g43Are8nUv0wp+Idx+ALikFNMZj5MliQRMsgJSezVGwJhkqL0Gp4+L7 - /yJ4Lcyz3JrqXhmDOhea6Le1xczQzGyPt4XboBY/Wn3mLMTMzFkLGiq9hqarBwPs - Lei7ITY1dsj1mwiUKh/clHO51GBxyo7v0QmMjfODif2GubJb5ip9VrKF3CUZhreg - aaO92rJECzRSEpE9SYqGHqi35vGIGy6XJssunXCa5wwiQdxPcPTcmZc3tr3fxsN0 - WZMW2hMOr6Ms8UrmCBNsKGSQqr68dZglcq/AouegIzcjoJ7LkLojBHMoWyW0ulA/ - DhX7mJgp8BUR8JzVbpd18XcD3daue9ppD9BgydHJWJYM9uyvRwkiR08rkNdhRCPS - XgHCobH/fPa2NXqpVgbdAkzs30Sg45jv4F8RQVToGfVt0IMW1fyqRLPIyNNlhHKy - uqZThseG2c8KPclw9RzxmYNGzzx2evksZjOBhxFjffli5wjW87OSXK/3O4Ne6gY= - =0foj + hQIMAz5uSgHG2iMJARAAmqWDD5gRqXIdYmUS3Nv2PQJf6g7gN+P7AFay2YQmDrxE + K3Lef6fbA/wuHieq374guin/BhGvr47OC+yZh/R2UC3V1+tNfIe99uFr/T/fOyNz + /FQSORhkoghhR75iggh4T2F3KvlopFOQLqW1Zb3Qwf7e9xwsCvl0MVhOtJyeA4yC + KU6ros1fvDkrLo6N7DWdKGP9GpZwk2twWKAnnnm+gbZMFAKMOBavcJeoYe+hcVSg + vs7SO0aU0YtHZ/O+js0DpIv07WznogCUm3GRS7RpOfV7jswsZYIVQD5vOcPPn56z + 2oiPUnJsdM6RwxjXM7mbpxb6ttAqNP9pnbD4QcTTZTWDb/ylJVu9TDrg+dtTrGW2 + eqajsRXogpvS3wcDMVityT81NxvBHzhY4ymIKiCPaD7ANk4TFi6fDv7Qc7S8Z9eh + qOWHFSsj2LSzsZZ6FF65kg+kAIpzClkSHjL8rNETQ+UKySNKvNjivOfCm7cgDwfX + Ezeggm+kHTDaFnWjOnk53uoPhCEY3X7J+95lZHQabLMDumXUzabVXBZaTPGGZytk + dr7oyHTPWUa4qOOEnBlwnee0pEAw620bJbkzOQsUPfT5KCRq4vxLWniIy4M1g0/E + NA2JmvOIF1QgbEwLVkSLsGmoUoP+WbFgdKmSKkRIiKEEyUuEhlkG/1eQu9W6cE3S + XgF83WWU8iR4wvXUz0CeGytv6MoF2r03BQE1lU6WpTFN4+7d6Xy+lZhRcoLIQfpb + 6qNuHPwA5hWyRiV/j7Mard1pcfVEllZj2qd0JsSK5otTKN9xTQN2J9jDZKfJXtQ= + =szy1 -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2025-07-20T18:28:08Z" + - created_at: "2025-10-13T20:10:52Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1ARAAk3LNsug4PeNaLy0/Ym12fIYG1+7vp/5pBzVitEXCKAEH - 1NtdtfBixigwvRkFIqNpAAWRLNp8pcqVS/Hv8EXoc2PqKm8ChDE0KwUjgZ54hIfV - X8SCKKMvWRBIoGRYsHYxHYvZbj2ZmqziP7bK7/paHeZ3r8kyvQtvg/p6slYY4RH1 - z0NjYqddvL7Vty1tQNaCX7MpXP83JhoVI5UHSnyGWCLze9IMWJt99/8VH6X3WI+h - F0xE78ooj7fPo1pZXkJ6bnyk0oelSU22gl18riG3qOpQbET3ru98+8oycTGQKZ7Y - Tqd7i97yLTO9RZX0V5dQ7pG5ozSWTPwm71X5rJrJ6LCN+03uvvrOPc6zqzzsRQu6 - 7oPMGMrZlPSS5FJl8WyjbyrhNj+Q1/t+7E43q3lPQFiskxpEI4jBO9qqGQZ2GMHp - Y4Fz2HeOav6SpOtDleS8JPoD225f13PVkUlcTouMG/5bN/coLOK8iPfmFRkbBuGM - u2VDW8GenH+HE7o5zWzOoSSjZUO6MjfM6ig+6KXfxGGHfLruW9AG+R3oUpra/CZS - LC5xgzEpQiZW4lw8Y84Ok91ZWeFjjFSZXqHLS+6NW9/0y6w0CSS1NyimliSYMjor - RZkGW9rzkzA3dkCyy0srH3Q28vLv0eRLgRC/FYolQMN7PoPU2Mnl46aLNTdlyhbS - XgF6eXZUZFb+rJjtXDJz3qS9GeJWIHAlwZtzf42MC690TO0+c1YeoT92M27P1CsV - LP9HWlEHWsFGyqN0YNvyp8bm/0xGhhjB3VbTx0yRPB2KbvZ6Bt2uZpfFoRB94UU= - =EK/K + hQIMAw5vwmoEJHQ1AQ/9GRDvEs6I4NwkGon7+N4kbi3l4qFxkRCrqN/EWANwI9EY + af6kNt3Px2+30Y8UsnZjHFmW4S2u6YrpEANuD8pWszLbSuvCY5JINBdFmfu9T/n0 + LS22NK7hsMyW20Unj1Yl2DKQyTBvLsB/m129bx/RwuxLv8Zv+WGHUu/amF68+/Tb + SuLLYfjsDYeyLVOVJVOPAcrXBQykf2dCgQwhBFpgmPkZzX5SPwfGEYY+Lm4f+aiD + kobyhGmKCSYY4N2UzSNRvJpoiROjVfgm1ujtRctbw+8VdwKzIwiaA+ex1a/oxEcn + PQPq1lzM/CpPCFxk4niNG9fG+NhFsSfxbo5K5squcLiYUsev5a3dhXUHt8OEFTzB + Q/hlhw9V/aTzy7ILxEHndSKznjauknnshG14mvzv2CdJBFURE8KFL111meijDk2y + M0b2pTO2ggu1GgZsY09mRZCYn4L+HTMq9eKT3LenqL6G/vgWrsnTZbZXuTmvNmWh + jTkq5tCtUodwKY/vB6JCdk8HL4lzVsLExCViBeqZifUyrDAfaijJ5asNnyg+kRw7 + owm0H+LikhWiucQiI3wDFDaGCXLAfZC4k/Wpc5wOC4T0tCmHbv0yAwvoG48SG1eV + M3VnbemkFwfjTYnOoRU0+JCvwWTqR8ICRWuEnMu/4aRkMGTli7qbJ8hodbzaZT/S + XgHSasMVkmmD2DDOumcPj7FamYRyRMqEjKsvDki/EeHUvpOgyMhVQ/pRLl0v2fsg + uIjAzSJgUsaGkSM9s18AArSDRUX+ueByp0p7jyOQeqY67p9ELRt4REk5M89DLks= + =Ngwt -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2025-07-20T18:28:08Z" + - created_at: "2025-10-13T20:10:52Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAVZpG1ilk17Ksf7kIR7ZVsUc2FuWFd9Q4n2TSO9Ob7Hww - tK9/DaPvDZkzncOqvqeMrnoy9gPY5EHo1CoGGEfWx6sBj3SdUS8SyqbHinqnW0Ev - 0l4BJ5y4mteeiKEdu/wymJC7x7PtC9ta4Ox+TJbUaq0iuqVANKClEdQ61KnSdTZH - JUKN73+qZwgD7sGmHqt9FM2TwyRzLSPhJpr31rqfz7/gWx4rhlcHmw8fShSTt/Nb - =YHt8 + hF4DerEtaFuTeewSAQdAtDsOQOeWE70hZw+0Du7uqAF+OHFLHDLZAuZrmr5ggSIw + p8mUVqd5eqS69gKLgJQ80vPYD1laU8MAhdS8DzAqTsER/EKZtSMX4ANiruNve278 + 0l4ByfC7bS5/1DLWqYTQ0M3bsw7X5H1qR0hFJm14XjjgbBuObzz1V7IOO97ZAPZZ + XT27F+lSE8pX99AkkjPtgYq0refbw6A/BIQXH6f8fPqgZh/OYAAIj6ynQf59pGgu + =HKjV -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2025-07-20T18:28:08Z" + - created_at: "2025-10-13T20:10:52Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/+LmQxbBOBTe6VxBTB1sj5Kt0BW+2FACuYfc5k3QQOQzj6 - dY+/Kyq/tSZwP8lYyAWf+U3dD8fY1miwqCL925DLTYTXtZzka7tpwaricI8emqjE - z0rSYikRpf9axxnrqKUKReZtyYc1qCIIgbz/yYm/LavfW/R/mP03fkjemEurLCrp - v89Z7IZy2VrOKPXQyG0isRMUcUY0lSwYHtHLOPxHVxFNw0Yq07tvvmvxZvRBGCh7 - OG0liKNX1Sxn7c/pfi2beXU7ZXTHXoYRCn27JSXA40cDU32iqyzWKFCEDUsnRdSD - O+daN/PjsQgfkMMpTPHwVli0Fvj7IM7Q2HAJjpzLvHsLXKvd2ZxfwyOS0Z7KRH/K - 9rgn1Ow+JdiW4KPuaVvvWpQ4K3avIYKBRl/GURk0xvfnUQ2TwyX8lxZ5HKP90ymI - Bm1XN3Mjo8uaRNt4DDBHKfFfhaA2so4u4xMC3Qf6K3dRPGs10hL9tnm/+E0F62TP - 1dHzaIhx3uhl6Q3re4CB0R51g1K5s74Qjj69cBZdQfLVmEIMZGtRLpSCBieTxtQ0 - C/kWXwPXwRVdBkWeq4Nq99rwaJFiGwZ4mKVoPoxsIPTWrypJzvun2ey0jIpQc4Ei - qQcEv9df0mpQ2uiLICIg1q8aIC/j1UxrcAUsyyPiGcXB+knr+/7YYrBlVTOxM93S - XgHBxdmaKfMkzFDHvPQXTg16FhcCkQ91d67h+3czOghbpaeB9y8kK3LxBfUbz9D0 - pTtNlzzSvp9JKP2XAFTSdYnR9WPU1huxVLAPXuauhOjYashbPh2HYi1agOH7w4Y= - =KguU + hQIMAxjNhCKPP69fAQ/+JLkWIztQmdTjmgpuXU+hJe6IEMzJXjdhGJWBGX1t/MKt + oi2/Tk2HmEXdemtNdKpiphFHZfsfeqnQb0gzJUucTFPDScw+3D31xUX1ygczmxiM + M/WyNsyUJFsQ/J5RnDyJvYvFXqEAboF/frk25c8gBoe5HLmfhi5YWje8n0oG1nZ/ + x2mAhuYYen7r5AT03ZaS7Ke2WPcKzfhs5uXx1gc1jm7SnTR+MKrf9S3pzH3rapPw + UoJNHW6nkg0FOOOg7aczJbt17r3luup5pYzu2RoBlx18JzS6uCnen3yEjwuqKW+N + jEDaMpD1HyPKYD7Af2yfUDtyGcB9TOdrLKbERoPU4ytL6megzopeIGdpP9cnY3Ak + HF/94x4If/Q/zxbXZJGoFmbC0xzEwNdtD/sqw+oLTaApYYp0gJigkSbhj/5xzDZf + duRIzkLvfbzrDRf7Y10OJuKblRmF9dDwn13SxpGA+/zgS+817wkkCKs58sNx5DPh + zVjfnlMiKkzPRGQt43lbOUYbP5eD6nLqO3+P1YPE7TH60umkFYv6X35Z7nnHv+lm + oseNCseb4xV8a9+QOwaTvlbQ3OblCYDyEm5RDmqc6fiMy1L1kq3DYDEsCToFAGWF + JJ27BsfU9NTcUo4+rruIkb1NSHpkhbl2EYCzneKdKcQVLzrimwtWTrDtvahfT3nS + XgFxSYX3q73DESUyay/AXzpOmebLXNPSLcB8ay0+yDcELs4E/JXQwCPn24egh9oj + 3pmTa5DWMBFF6/hWEWjjPFYkQmBdIO/SsBPvrYjJVUJQzmbmsjOf6mKCQyr83+Y= + =cA2w -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2025-07-20T18:28:08Z" + - created_at: "2025-10-13T20:10:52Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoARAAgQwiIq79yFvDp4fKKizLml7Zk2OcxZIjheUk0Mbc+NjZ - ikoJAZc9Sk0LjOF+m2N8v5rPC0TiwMoH2KTQV5GD3UIakFj6mjhj2Ap+l8HuusZ5 - oQz57/2JMzBnSwOWAkRVOgOaob7hveq7FC32fQVZuMoQksBFpWOAT2UlGZNAy/TF - q6GTFl0XDrqno01TYxSUF1GchXuaqDJoMAxR8xwJr1S4fjTe1zDR3BrEofBoeIrL - PSP6VcuwBuxDhS57zDJWilh2ssNFi+cEuXQ1rBKn9Ogdsn4xUxs4rVkhDwIKvTZa - nPBdvPxIAzdJc9xGr2NOmFHfFIfwWdZOn2WgAfKe9fJgUUpUy4csbhKnrDFx1Drr - 1FXDV3kDt3nxWYDvMVUWY6Cb9ofKDPOdhTHDyXbEPygUzwGMeiM4wqql7jAKIzVA - ovimFFxyLN+ZbCMpWrc3e2wCtJRkKHV4jL/qh0LQbrgrP/whXwiohI8qGGHkQoL7 - oe7i9s7cymfVLOMb3axu//V5aFrWDNjfdFBEaPiiPqijYqUMXou/OTYndPjL99Dl - au/xYsHaXVC9Fh2ofTAUfUva4Xl4pXLbIcTtKpGG2mO9eXZQ76PGcPhOLsLWbqtt - 5DbY/iVi/ZSojB5mTaSGR7m2uttRYYsP21dZ4ctm1hBWiw5YwAsasybVRRsIrXHS - XgFta6JdmtH66TJRMXxEspN3FiFgqH/Xwa4TDAn0LKuNY0BGmOvTMGvrBwkCRnX5 - 8e6/Go2awGo11809rdu9ISrJtcCIXcKSfKpJ0RI0c+gq5tY4pVUkY+PqGUU1TkQ= - =cHyN + hQIMA1Hthzn+T1OoAQ/6A0DvwSv1bLOcctpoPdHFtYADLNWtXMbFKakmaUuSoAxX + 1Fr4BLOPJ9QvUoHoEfEDhtL6CJ1p5BLB0Isrnm9gvoNM0PfOlHSl7nbFZ1nngZL1 + y5c7hnI9GY2ZzBT638pba+G7CUPSalfyFG/OZRCeSf4Rdek52uNMiI99XKqPTefN + Pm0hVsNY0DN5iyRUDka8eswRCQ4pwxZuxrGRPuNAnPMnZkj668H5wqgi76YceISl + 53HMD+MQmYtdePupcFhqOvCd8sumpD3xkhzrcpqqyRVSQM48Z9kBVsqdljZN5G9Z + 7VxabSfyZTG7igliAqvSJUk0Eei6OXjrqRMKT4JTHRVMteeI0pmmNPLiWm7YaSOP + ZfsSNHfX/JR6PuAR936HazDJuS8xZWS3vT6uSksQmvkO6NzMhsUTv55z24ZQUO4X + PBBo8jbjgu0ty0HdPVnvhGNtqSzDhgNqSBM4j7HerdRz1w/yUvwN37UKlz4tbnON + oQr++nnK+M+u0JKrx+GUobbu7cGsqVsWGq4ZgkOrYYn/bTJvUUEvVgae5bGUdKnz + CMOgJIn6PrsWN7SvcBUl9A02P8NrVRIur2sd/8rrWnan1k112HCnjMNtFhENIfX5 + vSeC8H+CSP7oUL5yWP2nymo4E9bCD6aVDG502umtAdsjmOJdTwWOE+pa6XMXs+3S + XgHEGvwU3oommS9JvbLirC1ght4tyoTsEKR87aljqt8YxDdx3uzln/0zGmQOV5Wl + RlUj6IvdcpOg4EEIV5j9lk1LThud5LzLOf7y5YMDWa6weokxPFyalBNBFCw8kmM= + =LLyl -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2025-07-20T18:28:08Z" + - created_at: "2025-10-13T20:10:52Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ/9H4OlcOu5yxy3pRuLTi3NOOmlzZyscJ/erkZ/2AisNtRJ - iseRYUaUis1QUFjUggDXpHrZFoh4u7xeY3GIIKie2lmsXvLQJnvwOlaknImsUat1 - +RrE4qU95nNcDJwCGbozmZSO0T1SGGKNPUsCN0ud22plIaPfgWyi2Ua7mt2l/ysi - w5JXCYZiO/EFDc1z2GA7sXNDqYCyM/LgiHUlutrxaQ7WfyDkIJQrSkHfRPxm8Uh7 - K2FYFj4uOf/2EF7hpsUcoqtC0AZECOtkn4Qs8bFJkVcowg0RoZn43i4utXenC3l8 - UMVPLx6YLTrueqf1eAC3n7U+nKoGaEYiZaMcsWLKGlyw2hvWJhLsYY9Mp1peNc64 - NRD66js+L3DqnR6y2iCOka8ZExPNJRge2lq0r4ShIpSPdqd62/aQvnjNbr2fMInw - QJqxmr0ognQ519dmvt2QkstIu6zZueFrHpfuIdd0m3X0ig4XZ5Oi8NMqb2FjeUFY - q5DQSiv3UOi1YrXwxYKtalIwBZ9BeVYgh013GkEpaGVtxSOwcYu8pzdUoIphHwlK - o+zsUjcVZSKA2wTgOMIxxVzZnfackI7OTB5W2io9IiaFFRAS6RC3UHxwTKjZGQHu - WcPc2MQPP9maBBZFGKNNv15m9r+1vitL5uwqhQYvsWEiFstMV0KsIp2ASlNIKU7S - XgHyFg+Hht+0GucMjMrTjhbwJm9twIvQ7OEIQb9Tmh9yL6g+iMZ80PoOjlOKFBk8 - ZSOclmYTDMzX+Em7J/Ft7BOsppxqqUuyRB3oV55snUn9cRvebjn4hMllVDJ6OCE= - =Wemz + hQIMA46L6MuPqfJqAQ//TIT5XZeSOpfXWv+C+9n/GnVRFI80u1AsaUb7u1ykzXeD + 9Ca6o5g+MDXP1KfuaS0783vpN+DgxGbKl+yPTJ9y0gfTYXu+gppyNVJD5mGBMpMq + BS6ueX64mQ3wVcpoM/TjRZhQ8ZfUkAh5QPBoGMpQZwqVMgurojt1Xb6VmdVHmaUj + qJis6dzoO6vLwbBfjqmCyHN734UboWNZhmhq3Fz8G4U+3hoaLdhVZfj2hJQRQ7kl + HVul5ZT1dmYP9ZzSCU9Tmz/ucjJsAO27vtXGCpBRLz8XYj5+ZEw2fDhzuHESGumj + hZFgC/nJl8t4h7U4EHgysVOCVPWKFda/sfbNsArrAqBGq86Gens/UbS9upU1maVz + qits/r0srrfI5kdK91gXgaYWOgjlfgZ0sahEHAofKlpcZ/eNCtPRZ6U9IBFJ+PFW + fz0cceMw0JbuAR9ArxcR2ylTJOtMRAGKHvNFwxShaYegcMktI0KtMqZYO9yvms8x + lmKwkB5swaAQhaIMm4/9XwQWE/talLTqFs0DePwUHekhgNZDSbyi/C8DP6BLnelj + 1kSDa4HT8P0oXQ0Wom+1zIq8rZOs4418fri2X4YrexeKWDEc/rnXNoNacoL/NxKU + 3hOrhfYz0hgQraC8+v64pe/W3P4sySKXPh0pm759PQtyBMP+FbsLg5BBaLGeYCXS + XgG5u2M/sOoH2/2QkZjbzR29hZxTzOXEcLeJOPyhakNXQejrahM29QQWgtrA2768 + 5wFXbVKi82VJ8xeuCcU8PllgOY3Yyb2qehBM2cBFMcsmYk8D7iEzyc2GUtVqgK0= + =GI1c -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2025-07-20T18:28:08Z" + - created_at: "2025-10-13T20:10:52Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA4EEKdYEzV0pAQ/9FkAVj5cGoRGQ8frGlq0O4Pn+Weooy2vla27lUsArfkqp - UrIw6C3TGc+nN75atxO37daaQVh+49afu5Qi/tFy5drgeNBMkWU9BmA0gAXCKnTI - EhZ3O4rUbQOxSo7H3doMgfKqJrFes65InTh5CwdUDGP6lCcczll1ebPFH5qxygg1 - StTSP6MwzNBcX5PfNpTJFHSkVVJX/yXitZv1LdzDQ6LQeu0gInWMGqafrSDX3EvZ - hamEvBOr7KbuMCNootWp0zkh6uhrgnQY4xGirEulGSUBEfbLf+V/C/cuOFK0jl/b - zd4R/8Mqx3AfIdDioiOl65Fh4NelNpPMZ5Z2viS+U4pRJdI5+7nnSiPoGwnPeS77 - OdHZiHd71VLJSwW7r5R6FmM9dfKg60EUAvyVZXHnt63vCJybGw90WrRM8jdFZYcG - 9Zj5U2xywiAN8/DzBUC3EoR7arzp9WtGMCskU8XF4wANClbs0pAOXcVoZ+lXVo1R - u2skGnob/hVpwLa6VUWwS3/ph9GO0YTTXnWnsXem+TTx2wg8HA0QZ3hdKiSx60Ab - QZElAJUe22GiMexBkleqHX0kF4OjX4h2xclihzlI9sHse9M/5CcqWckODacNomQZ - NiJj91eyxkA2TI3PXePWjgMtc3YokMyszviAu+uwuKU//7BEZrQ4IU+httWVzO/S - XgFzyY+zfWmCDo2fQLxWeL358VgDkJUPY/J7JoqDRzl9qkfkrhruojqjOly9v6ig - AgQCVoNzaQM+u35aPMaWW4Fplo62ox9lhbeXJ0juAFPFbIII+47GGFFhvOMbprA= - =KlTG - -----END PGP MESSAGE----- - fp: 9DFA033E3DAEBAD7FDD71B056C7AAA54BE05F7BA - - created_at: "2025-07-20T18:28:08Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hF4DQrf1tCqiJxoSAQdASInfjzYXG8OBDkWdFhrhM9MbPOqnACkmLX/iYH164nww - RWN4hXfQD+mQJyVdtvx5oPp1ALrX9/HgWaYEyLCVFGEI4cra3qOuvG7nXDCrZgXn - 0l4B2jTrhAeQlelek7YdVvmBxD+pZZzlgjwUccQu/jyqwBOuY3uUEHqkOfaTynwa - 68U9XkkVgUe1rRG6oYlHMWcCgpGi34HnO3oyv87rM8UG9a+U5FpErkbGgcFvkjxH - =64mQ + hF4DQrf1tCqiJxoSAQdAjxxja4+aqH9LtBaFsqIC7xU/AWLx11pQeAfKeFtg/1cw + BcwQZcjlmEPpO3KVvQJ9pF+SDB4mj7+MlzZZe332CRSDIRS+JruUB1fY3kzw2wrh + 0l4BRIjIuU6eveaH5r3EoAieCO8Fie/v90HBnhqj5EHk9sb9RIrsQtcB1j0ISWx+ + N2vhfLt41VjDf0EA77XPWWA73ULadGjtaf5fY2T/CYdpZn+dXlp1LJ0rJsM8Yd/P + =p8Kw -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2025-07-20T18:28:08Z" + - created_at: "2025-10-13T20:10:52Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdA4xYlygBA92kiyWrSqky+2gpCEPIRjSwfzwPkK38XRlsw - Zjr8hIWzDiGd9uYE6mwdUMY/OuGZhq78ii+vRl/ul8bINDq1XQtG31MAV0sUhMaF - 0lgBSAg93UUf2PK2Mme5QXqHBXwkMN1/pjIZ45h+EVedTrW2nX0VzdOy/yrr9Z8+ - Jr5jQarfxEmvY2TJpUc2FRJHoWOqtYelGqjixRtJ3p4ZkhdPS6pJezfL - =sUyW + hF4DzAGzViGx4qcSAQdAUUdcZJnQn1EcfuAqp9BafmuUbOSq+Ppj51XcQnw/NB8w + XajucpNlzRvDLqnOh0XyaHU2Tqe5DWMD7db0xzd9uax/PElp6u7yvgESdV3ZQCJy + 0lgBtwU0dvgD901znlFhmNFwDjS5ViWqtDgDhJ2gRZD5ICJyiClB8T8DZgln5lun + ETJp5OM+J38e7lGI1xWPDDzsI20/Ee2ELDytHlg4bPqdInkNoZ+vkQGl + =F0pd -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2025-07-20T18:28:08Z" + - created_at: "2025-10-13T20:10:52Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//UKGVELZbbBiY1+5xjEUNKbB3EvkeKXfsHrmT91TIE+0H - A2tOb4+rz6Sg5gjCRZceUIDGaOsy8rEo5PaF4l7gt/ygB97szPmPlVVWCQYsOFkj - E3XxH7nwofDD2y8p5eHdZ1h/txwoU62h8aSNmUVK/He9l+eF30qqhQpSe+L7IqLe - lPp9OG4WLLRPZG2xjmC7NxVPYALhA4r1iIdgMXUWBW5FvS3PTEZAdQ+C5OhzyZse - 3gehKnvEfJsEOcuCaaOGqEMeZqjmaO7CORZDoYEehaG+qOAw3Zkoa/nHFn5CN45Y - kRqxCJSlbjvmvWwdOZ+dLpx4xhvLKjYljswcK7IiS299KbyVNYln3A1pGEx7B/Du - YgpHmRNa+HR2KiedfxTrSS9z5SnBFch8s/ilkXJC2I1/T/iML7IIQazG8tqlpoja - fY8HQy6TKCKshP2wcjZ8mDZPCbxKRgvqDQ9f76CRgiMixFX1YBqarCX+/zPW3Vn6 - hahwPkVyVTuRP+atDiFEGm+6OGOdQTNx+kVjKqi0ycerjbfvsawHAzlH5hTMKe6G - OA9b8lhJqLpv2Aqejo9JPZj6iSvhm3sPTJfDYocaF1ByHE8W6B4jLvMw8w7t7/kh - iBZLhaqNt04A/P6HXbR3cwzfi2FedxNO/MWPbUd1fwkninDA+jJikNMshT8NIoTS - XgHLZrq6ojv9A0qLv0U1mc43YEsc5xqJ/Nbelrq7KUODkBadyy8gE6iCqliRVJd8 - Nux3TMgoXnT9/ycPPXwC0Bj1gnKZLf1lVRXjXelUtbLRiuaZxYB5fRsQVunsk/A= - =faMy + hQIMA2pVdGTIrZI+ARAAuWO/F0/utrDSBlt/zIz5EeQ+AD/t2LNIJXDemlwQBYW8 + 6c098Sb8rgi4wY07ZVdxCukv5ApcGqf1o++akMHyfd1z756HVjPTVmBGPPP1yPFF + 6iPKkNwfDJVD3oHLqq3rczwYQbVUR1ri+CibuHfhdvMXI05MqL7VUNlhbt9R6IqY + vZk+3X0ikllZf8AuSfWXXzRkuAkpg2fWF//trWkaKlZbl6reVZuHTGIWgtjk+VEP + t1tV+0tYdP73dG/2u6/8EJQ+iZ3LrRJn+/1ALEOD6eFhHZS7Dzgz/I14qxyX/5Fn + imxH3gV3BaNxPMUFw0D6V3jzfJB00wcuXQkm72Ef2mtemjhZudiOd5U2buIgtb/h + wqySS1XNxT1IWikOdz3OVpmGW0kD82ResYO31qh43xsO35ZjCSzLjbkzXqeqImsn + Qj2+xtbtc4Tu5u1r7CSeZzGdk0ZrneUuztSu2dBnEFukYmmHq78sj84GBBbpvkNG + TWLnFB+VQO4o1EaNR5GrIlBo3zBMaftJj8EEGcoAuIgjc/b6iWrOlL5aQcEteqKP + GPCEmtZN5ET9tW8qg6G8ue6W4+KVmG6V4WYh7ftN/YhqO35dXeviRLKst0Z0Rh5r + 7UqaY4NYS7CmCDi09+b19C2X9R/Y8Z6dEex6gSzG4Ze2+NgpvdS0zPhNb1FTJJPS + XgFc77guJSHqZ40hrh6NLafevW74kzGJSsyMm7U98gyVzt3daRK0Kb6OkAfDDnbE + kVTVeunEDWDxLQUFldVZwjzruIGi7nkqQMDh1RfGqdN6XIBbL0kAdJBfwIfqv2I= + =U36g -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/netbox.sops.yaml b/inventories/chaosknoten/host_vars/netbox.sops.yaml index 8c08ac3..a9b5362 100644 --- a/inventories/chaosknoten/host_vars/netbox.sops.yaml +++ b/inventories/chaosknoten/host_vars/netbox.sops.yaml @@ -7,226 +7,206 @@ sops: - recipient: age1ss82zwqkj438re78355p886r89csqrrfmkfp8lrrf8v23nza492qza4ey3 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrY3VsVTVSdC83SXNuMEhp - Z051c2RrT29mbGhGZmtxUnFmMWY0UUt4MmpJCnhwWjlQcnJHUDI5QWhPYUFKMzhW - eUpteTdUdTNvczFPNXRnQzlkNFh3bUUKLS0tIFN2bndWTGRKZ3ZSYisyU1hBbk1K - RU1La1Z2Q0lPYW5qYnl3OEVhaXZ1cFEKGMbMxcGda3uTGO6DjhnY57d6ulnfsKxt - PFVehZXh+/FD+u0RDnWMBcdjI1Qi7e6+q/dZX7xCn9dGloDynycbJg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBIZUUrOW9jUXZDUE5oUk1o + ZWxNdkVwZDJVVlEwSGUvaFJxdlFEUFpIODNnCkxtaHhHby9CUGVzMC9LUjZySlUv + RjdveHNHWmFvelcvbmlCQUlyQWZ1QkkKLS0tIC9NbEE0L0lWcDJzR0o3UUgzR0JS + eGthSkl1OWwwTjFiVFlCUnNkTDRYMUUKYfdYzrGyBzlm86EUHyN14cgIPgomgzG2 + Zt8nCvmd7/0wxHJ1WhrDWkQvx2ZXC6BeD9oShCVe5RcHqbFQumn5+g== -----END AGE ENCRYPTED FILE----- lastmodified: "2025-07-21T18:08:40Z" mac: ENC[AES256_GCM,data:SvTSvRYd7ljYpQb72yRkQ+fDrDWRMQzFwTrI4RuLglBCzKNxu1g2JFAVFUSNRybWASCYhg0FqtHoC31HRHbs24g43fRFrXrvBB3sCwQ503y7A78/UfX55Bz3VBqYVJfh9w/Fm23Tak0ki1CQoAl53lz88eUHjCJjeyKtY81/PnI=,iv:y4C3RMWPsnTTgkscvfqVEzcgAg6L0QaKinzcBFLOfSg=,tag:kIcvmJXSNhpQDUHy+ZpPyQ==,type:str] pgp: - - created_at: "2025-07-21T18:15:42Z" + - created_at: "2025-10-13T20:10:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//c7qCMOidrBOwgXR02ajbMhzNdo5T+QnhLPh44y/YTICp - JGoTowZ+hPyK5gwaTPRkduRzK074uxcjSedUfcKAPvnmmYkl4oMo/7BjXRNAgUNX - leqmHnE/9+gR8EgVcYbfbsk5EPg9shhq9IYrt32PCL0D+17O5KCi78wMykmU9ZX3 - +DpZUHsZQHUUKKwCtBy4HgaFMIRTUIRFDYyfdVyKyDYvPypKzXw9ljZT4DPo257o - 3pRLRltzxrehRgvVgajdd8NCmy17KLxdgI/TV0EWuQkRV/C6kzyvts4GYnFScyT5 - B54X7ApFoHitjWcNl28kYg0zcwd8Grk5ucWqDdMaelG5of4nIqzphcVmsm/4we9Q - Br0vbI1coNYzOoC+5SEzdnmqeouPR6IQ+uwza0m5srCTEoKsTwDlPKwU8oFqCJBY - Hi6pjEbLFBwnkn2hIO+B9YEJUENjLw04DAKfmiTXr8H0/DvVdQBeQtSpRTUdijSK - x1GXJm2+lgWzLtcYB2W7QphktO78hQ8lUx3lEP4j1VM9aTAhCfSrdsx+4EmrRSTm - q2AjSYXI+xzAldSnYyXP6Oy4IWUaJ9vf0x3PqfCrn78rJghQC3PEPpeg5YoQz5VL - 6NvULUpSlC0huFgSxHyYoGOfM1fNAAAXPUg0BqaORTLcOMdXA+BC8scd7CPfcyLS - XAFG8sQUz1KWp/0rB5cOfSM8Cg5zqY1c4lG46NK3sPOaun3RXRoyq2BjB4izlMKM - tZ3fixqUoAr3yYSo6WEeKnFwT14wog4al124tn9QHhUHq2Nm1w0u76qssDgL - =Oiyj + hQIMAxK/JaB2/SdtAQ//RZgO+bBNMO0ZfNf4hzPSoZrjGEWaw6eg7/60QSltdMYt + pQuuecBYba1YsCWKOWQd95vFBGfZ04EBaEJuJhBKrwxxGl5Vurr2LJeTpfqpAR36 + rXwELGqVHr0HXyBwPzOPOzM21NlXnNMPrboVJR9+DryT0Jw1BbLXqs8PwO/vWH+G + p8cqRvAnPglQXV70tQHCZSN6rDV0pLZiKnW1PPE8goSVkwInuAsZE5Nw1+fX4HBF + 1j2gFxS9t8vFaz1nFTIZpI7ixvAvUiKtnTwforiNEuF3X7lAkyyHtmbxAYFB1OVB + ieC7X8OCZFYYSjMPxerHGiyiJ7GPO6rTMrcqOixeB5m4x+z63w9Ev3aLuWxcPKFX + tPNZ5t4lBO881KsPIm34cxKzUa11NKD+c4PQyMwXvZ55XeUq7SdO6wKTdGyCdjq8 + s7WegSpieAVtdlLrJIv9FENE4aFuBhQDXKaZtA8+WTC+DhcQZeras+WApcWa/ugU + iUsHE446qlHs+yn5t5ygAGNX7u0j/kZggRnF87BKBsPVTmaClcC/tQM2su5W8Xuh + ohlFAlgwdlPP2A4RBZXOAdAH3HJMHqxL3ZZvop6QAf6mRv5aioMdFttFFJY4V/SP + cgCxsXcsz8JZtNU1GB0MqeMY7NQnWkxVafJMF6Qg750Gdd7TpjLfm+7PMSOpwdDS + XgGxU8tDEkaZWE6IeUEwbXrGwdHQYutZuQpDmuld9kepTNbSdo36SYEgp8QGv1tK + cN7UxJhSNj72pyBvXU8apmjurajdGLCs5TM9qpCPcZJIRku14CCEedM9bNXCkQA= + =KfmX -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2025-07-21T18:15:42Z" + - created_at: "2025-10-13T20:10:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA6EyPtWBEI+2AQ/7BpnVJCzGYCmtfzG115O6575g44wna0k/UmNp9T25HCsr - Ka59WhuqqUMbRNo+ZcxhOl2fiABeBjPT0GR4lU/Z0L3+fDE91ayPN7cWSThVf8fH - jU7u6A4ljRQCzh1zVCbLrYw/KvpIZm0+pIsPhtf48yKvvJA1VJ8iGSrsnkz91ABc - 13JN9BQ2I0jELTBYNbXJ/rxmH26ypyZ7u2tER6Xh+cFCoNILWdnkPkTnFvLI2c45 - /6dbAUsrSQNeQiPhjsYBi3MwNbjjOIk0qbqzEuC0Ow4WpbvW/1JVB/wDipLpudqP - TSmvAe6CgbbkPTabFHOMWQRHgR87YJMwiiA4iJuSsYzvF6hGkRT1C7sF+riMc2Vy - zaK0v1YpXkR0yrI+XqEHl4+K5mh8GOhR2gT2QA6U3hvgFwXwaTpzJBbYT9JzJFML - yz0FUDxGTpPBBL4ltC1vfexXEAe+z/9AZTTvMPYUHNLR9n3oNWXmhuAioiSPfeCX - ketaB4kX+gcYW8+5VnqDL44rtPooRZtIWP/e0GIhApcHZjQLEfowGiZjUeEGaXR0 - RDqyUSd6eYnoZ5n3ew03DtG/1wlzaKfDCszRa22oZxP2p9XVW7oYiRGobKwwU6qS - wQzahX1rL2NTKzjYzORSXRIzH/ZANGlgQAn82kFRbQRehUiq8OxnA7ZPWa02fFPS - XAGk5eFschzQhXfgBNN0FoTl54/guA+xi1bOZ77erVMP4XhEEQMJd5LH/uieDhGy - FfSJJAr7ArayJaOH9ULhD05om76Q9ufR/zfa2pu/bBNknhXxa/qNpxREGdx8 - =GL38 + hQIMA6EyPtWBEI+2AQ/9F6hLD/F/9/gSWxWqQm7yxPrQBFNkfs8Z5IsUE9YyJy7x + 1Qqn2WjvjdMvzQRoNI9eqX5lXFOArXprIcV5i+DYNo/pkXXKHrEQgHtMamBsyTho + 2jSYC7RKns9P6pT3PJsSn11K/uzhmtAO4zrHJXvo83g5I3KPA7VmTIqAMUywebvB + et8jrRlxSj0eITZzCLGF8GcI2GQozLxsxbnBkMtzaEBAU5id1URlPL0ozJd4bcj0 + bKfKeT9ufcfq+9BEK+Y1n3amUK/ioSWrOzvLBVOba2MXC5VM1/u11DXjX3fymssM + IpEBdsFsQk5YwbyfdTw10LM/LavS7SqwM0/b1UzRgifDs5EZUEVHsK3uUgrNErcv + XGrSQUfq0zwvmGIOHANBwBDZ6tZx1AuOzpWQXTDME683F2HcauqDM1X4Rbp9QBZ8 + sFyJflTxbuJrR1OKE7Ro9SzsVhOj6Jdh5LnPJoUY209/Kspm2+6DKq4Y+y1Ibaq4 + VMviDt4WRF4yykjP3HvzW1hFpjbjjQpoevZHxWlD0VIssq/lX5YlPSrz8NmCeTPQ + UUi3zQrmbyp3bS9yX4rHKMxxfkqFrzLplQbyVmZ+Q2phCTT1UcR/pdaZhAu1QVOR + ueZNMba6YIi5mQhAklL7PfZmBTbmV1lsHbI1ZpHzqLxDRcWCirnOGf2PUj33JXTS + XgGO0fiU6lVXiTXCvwaX2WV0aP6expw3cKQDVK4RSc3ngtrT6j44mxM+odkjY4bx + /YZyNmaQcWIWod/p1sQTZ64ZtN2cOYn+jEwYSUjOgixMBSrAwym+JozjFhrs3WI= + =5XOk -----END PGP MESSAGE----- fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC - - created_at: "2025-07-21T18:15:42Z" + - created_at: "2025-10-13T20:10:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAA6hFD9VSOsX7LMTz5Iv3fEF9m6d9J9DvFGdVhzKjrl13P - RS3NdRUReyExTgJv1UztRSOWAFpYjt7EY5cDv9KejbQcuVUmknCV0rLiKkgKcn0T - Q3L761zy8BXfCSk1O8wSSgQyOgOe2jGdqP94sr8vF5/BHZpZjYAUvoTUCe/to/VJ - wXBwZOXsxeL6ipbgvUhDv/V2lr/SXxEEkAmmrsm2JzsjFi0kyj0XF81bxafnYNsX - TI85/Ejs4+WFhubr9UAJ5R2/tnPCXJq8fgZTemRpl+6OH0DnpuMUB3CsA13m2CnI - ftGvdy4j4ihVFN6M2sbUbeUFY2u92X7E9PLUSKQVn5TX0j1FM9Nzm2//V6yE+y5/ - GBYKL1zk2m0EFPLvc7LqboMu1RAej8dZ5VvhJBKG1oaN3c7bLUpFUuQm1uPTJrYB - I/2T2B+iyZp1+KCOpqLQKZCTY4yr5RbMlGqwvOcpzEP5xMCNPkIoFGKm9KyPMpFk - /O2WwaC/ewRAmSBiEVM38SOOS1Gm5Z7BXlmaZrD3GT1jBmTPqjrX9u89Q1EmJrEq - 2Go61OwGtmi2PcMSZ4ah99mBnP9aVei0br4OkZxa/wGfKPzlSqB4cLI8oAEnJk40 - JRU3BxlsunE5RCEOlNS08Id+/osjFI4VFDRZqDnw1NPaDbCvo5a2NkpEc+fTGzvS - XAHAT+2ZErI1QeQV3jM/zbk5U7jxRpx1HCOQN9fnGPS01WpAgY3dlpy1US5T4LbH - qNeuH5drHt4NaSvipAzKOoC+zZfciYgfsSVNOXDlztnjP0O/NqL35BzJ3FMV - =omHk + hQIMAz5uSgHG2iMJAQ//SucuDD2gHz2PWvMZ8dT2Iid8442i99ZF8Ud3Us4z207z + BpZmo7bLiqqUs9OvMKszSijPpIRavpPcrpy2utuTLl0MiTITBkwRm7a/d1p6GBiz + jDoqMuXpYtWlcELBUNlJncjd9FG2r9q7nOf8cQNkMJnKklkqr8Bb7vpkiHI5OihC + DiOIdA3nz+0wapjoxxyM8Pdr6AUzUEuU9kz4Q3TYlDtbRo7HRViUj4V6bADQJsbn + 71qzQ2C6eqmEHrkj6B1MTjjqf7XXYBx8vbdopoB+tqYc4EqJ2Hzd6fUbyNo1Cnpi + ndXds30JayJkRy3h/qw+so9Zmoqq8vS7X5ZAVD0lHT0UDVTLMwA7JVlzOZ1UOQo2 + hW80AhwJIXkC5EMG/uF9HWlLTxM73CbGrFC5gk1YNKto5/waZ72QbsHAUqagCcPe + Z9BwlCISDz72QANuLGkpcoznBRMw52Xa+R+uoPDv9f+UjOZyQxMkH+uaxutKnfuO + HpYRf0FGSqpDs1Bz+G6obPZ2vQhkjK3C24BivJvVm5fyLv6GYZtQZr2JpgkjU7h5 + lzDXJ1wB7UueY8YjqB04FWSfaWW4S31PpWGdBIEN57sHbhlsxj3DpOZimjyjvJ8Y + uavqVNJpaZWAQQAJkL9SF3rFBGdawuslPc7RsjRQ5sWxm1+HJiuAsAnLCsiFcjbS + XgH6bvd6helroHo/RLMsgtilpkWmJUfMC7uoiHplkwY1GQdV0MwCuGTpiccE+FVt + xwPrZyfeY2LITjRZa0oo6un+42ZNvVeJauEOR8VFv+G4R3gT32KuYbUtU2sUCho= + =X11W -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2025-07-21T18:15:42Z" + - created_at: "2025-10-13T20:10:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ/+K42NmCDc6ZHlF+EBvXvbueEUrXIcrNA68XIeLr3YXPOW - rzWMhSGVxT6tQOueM6bsMROMLfhJr4daRAmyHmAGP9j3pcQXJJYQpmzGuU/Pz7uZ - nWoD9u9fkk4NyvTvDCM9ZHrg7/R2yEQrhCkGnqwu/Of6DL90DvTgQ/3QFcwTnbDp - FcyHsAufvtovjEWv4XCYujjo0fEMvmWmPoVgfsoFMXReNBD6f43jw5iEN31oAcfQ - sULeplAxBk/gFQj3IivSGKvIG/U6CIxNWfgQZcxMISxlKByX6u3aYbM+3xtCXAH4 - oG1hu0db/L5H0Espys+dK0cWs/hRy9QUOgOVF88oFtYUkW/5DbfFSIxFcJpTdFGv - NgQF7w3aZpRL8ZSHc4zbqqwB35bV5dfFV/28ygYxBK7qZzTlBxh2XUvXA/VhxWM5 - Yqp9IIrb8TLRogYhxGD0ha5o5S5nWFIlprjclSFgkCZWO707jfFxVSRZ0l4a8R27 - Tf9lmCKVs92keLOFe7lZ2bsAOCjupOjbztc81pmom0Ql9/BUCiZJVjn3eUs9q3cM - Zj5sS2+etLOPjzWlO24MMnP3cVpSVdkp+biN8l01Gzb5Q4BXVdSQo1frvh7f0PRi - yeuXlNdUbGV+xyaz/gk6DTgIs5HNhOKawEO32M6vZoUlLiJ85Sl6SUPvdSamZ33S - XAHkr/lYlp+ZdbIvJuMH8dOPQxWwM1GzGRMKZLy0yCs7TrM/AkzdU/26BsZByT3X - L5V4hzFxWiIWjUg6T6B7ID3W8rCqusGYql2Le3sNIC/6VxrHqZRPVc1FGzXP - =JsQQ + hQIMAw5vwmoEJHQ1AQ//foFjUY/5G1Pxh1JnzfChYC1QsJYNWNWz6kANfXFcxQ8i + nMFfPBePJoxD9g+A5y0Q5r5ypTmhNIzSdJAeRFGl2I9Vv4eDLnzjnCn2NxMZbS7h + CcNx5bZeX679gi88I4xb2jdlAGr0UyirVvgCX6LkmbOuMXfftuPIqxJQFg3CKz/h + Msoeex2XDNyW4pwf3/mbhLyd4f7kVBNYQTMKlTiz9OSUVnmuwXOVidNGB+PI6zvB + IdGjZSZCu6NtTzFsx5lqCkRs9LQtSW3QZYqlMVt+hq8cd3DRKpzGO51ZNr+pgyga + vtLiO5Rj3198FB/qC1+vn/fromqryBU7EJ/Bu8a3n0aJgIRHWg2JkkoUtFwDtg39 + JIN8r0/KOj7VwkgoiBPCMhQGumgOPIkvlQEcRWlpw4lQGxee2rHCy384zWNvOugY + Y9UsoqHAUFBbfxJt8xwSwJ5EtXk8lNNHARMM4I0pCLTHQbmXILRk0VJ4Ycdi0LGH + 8QBywXUIOvloeqKe091stfmfv9BY95Aap3ByG+KMy0sfcOpp6ECXGNfV6T4txl/v + /HyUjdrOH5vN9zOBe0/Y2+Bu8lS95CGx6SuArK4Kn9We48gdVKJlPxJwHzwRwz4E + jMBcepDLmhNyJAlLS3lLEkh2kPjXdXjWzgYNi3RIDZ7wCgqPq34WzrHwjXvR0VPS + XgFiHx3g8CiWQLSXCmcOUgpQq3AzCipXNhGcv843GRvkK2MORk2wVMgKsIVXUpw3 + rVU3we7VrmgSxq+NvbHoNxWCdBCQQ+do/3gtBaeTuT55O2Sq9F8ilwPC+dj5+IU= + =ld+h -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2025-07-21T18:15:42Z" + - created_at: "2025-10-13T20:10:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAQEgSJ3Q/NpXw+IJGJRAvR39zMTlXbN0qt3ghoKOTnkcw - a+PCLvg3ud8vbFe52dN4vVFYqrCZcLKWJ1ehoYgH9LqA+Wh6t7YAYKr2QkHXm5ye - 0lwBF+AqFoT509SjXRZSv20bM1PBbc81pJU88CaOzfrxUqNfo6pxr4W1AvgmVYFK - Qz3GypWGkz3zspmML+VtFAbi/aLm+UMhL7JIxYg71kidPCnF4HOS1S6sYyLEVw== - =c0K9 + hF4DerEtaFuTeewSAQdAMPFQYlbeRj/MpVx7JfDp75l/NOiUN71OspQ7YL9iey0w + CqwiSo+D/xRQamcxSHX6CK3fPTj2sneLztFo0i8RlQ1ElMm9BL4UpWXh3Y8X+6np + 0l4B/NWek19NSsnockklHuZcrwRzbnutW3xtDKuLUUSMCuZ9mKD/RRe2lHyqcGdG + TNRW2buI+jpGQNXDu5KbPicJP5LfSqMofWk5mRkmhpDy+va/0UAGnnaCulAQ8eNy + =0rax -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2025-07-21T18:15:42Z" + - created_at: "2025-10-13T20:10:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/+L7rNz2P8t00W4dy880oUR0j1Bu9UEzk1DzQCw2VTRMeU - InpbyXkTzsBeKlnX6sPUKu9asEO8EuaKnMzTg780HQTgeavJn7I/BgrdOce0hYWC - Gt5W7s73un3/2RXSjeugR7xaWDc8FOjiH3oLMmHNBVL22kGZ2KenfQ98M3LJdMoV - ROas97fjFYvhRG5DU9qGafv3SJs2lx6SU5Rhmg+RHsJPeYFh2OyZRqyIn9VdBt+E - X5g96AlTS3KrvUrafvHXur7tR3GGioqC7Wr28zHyTJlf1o7BwxvYUdk7s9z7wPUv - yznieBrqu3WvdteX2qUBtOlFFtbDWVpWDgRkdA+1ZYAJonVpKuTpH8KBZrG+sCOp - OOJc1nneWk12Gay1dX33pKWC2CSqsznekzkAnQYTcrQtx/9EsA4G30trZcZMKwfn - JluHD+r9zdRGNWEXP6zyT8Gu+qa+1XrUftfut8Gva9RIPQlfCJuqyT3ZJkRW42W0 - NbsSDhMKSXEKyBvQhnyFZfw/mN36H5lraiX0N3v3MWC+jPjL4PLwvHg8UEAYVyeO - bLyJfyAr/b2RZ+oWmrmvkV8KG9PIWHOzIgheeswKa3EuwrvkHlzCpDkSTvm74GxE - J8unBed5rkKpvYdPtwb2Nez2bVd1UGbl4PpPNz6p/wyCVF/NjAZGz96+TsJ6/LjS - XAHw/zBQr1QYDCZNOCPyf6HwZBCKYGI/uFjvMesFj3M7qAUOr0YPmw7xn20ic8v+ - C1hvgE+3OdO8ugXdte5ckT8Wfn7bMweOVW6AZ2UMGxzWBPPq06/LvXZ/XMMx - =sFro + hQIMAxjNhCKPP69fARAAnDRIiGY9lMbRJNEvz1hRl7KdwtWn/FEei8Qh2OK5UAnh + 499nEOYjJI/fmWYhF589nR/YiZjTUaXHcYoJ6NgxHdxi6abwWypyNp2qcrYmL2jn + NnZgZEZdV4nr7TMnNnxF7e9Yz5um4FSjZz5jbXuQm2/wJirEzHmd6ImiN49+fbLE + CrwVxi04IrjAahggVHmcWtnavXvLjmUVd7d4s58TlUms3q9KFj6+xSFOjAOYFZy3 + Pkk/tGPV39aKQNZgx30KID2yGcyQT3r1KahQt6nG8dHaRNihnFlgP95goXG1j4JH + NbrWv0siKdrYZ70xBCMrRBWGStFDIsGAnts7r0dMK21yrNsSpHaZW/blLUmKN/Zm + MwiD4GFQUH7ierhpCt66xWyDeCZ8hzZ02Pu05EXStwi2RFtCXFC50m2zvkP3IKuP + 9B9kJu2zpP8UfOkHMwdf2xsZQdqY73qXuyDewRt7Pe0gwlHjknpQiO64dvuSkX42 + ZQJA5stvYsM0t6lmvO8oRsvztOeOWjET3aHDGDjN6/CwmpBwd4qT8xZsW/QZYPAo + uZl3rHJGi8ury+RSgRKk27safwgaRak8B1YBEJqgDxx5i2Zh1tYKSnMtWdomKmFM + qFXCHqQcqDbFWCpDtpFRxBUKd2evcBVtZ36zPPpJPk10i6KH8OrQlpw9akstylTS + XgFEk3dzaxW+wnvpF+swu//RNNiWxi3oxLFERyHF44nb2MOWN92nfmkh88sLPUVm + 9OVrBfzvxDDECSLvHzAcB/Cyi17VHCP0PHJ1qMuqpSNeMifZNPS0m/21l0HO4d4= + =UBLi -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2025-07-21T18:15:42Z" + - created_at: "2025-10-13T20:10:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ/+LMO10efzBKOBSoqYM80n4JwV15nY19yRPo8MeJdo4RVU - txY3YGH25l0hfH5Uba4vU8mltIfF6+ZfxfKRXKgqG3OKSl+C9s/eLFpVgmOXyGER - R5BT53cOfboES5v0oWhwtp9Bya5d7TtD0SaShR6h0CKT/AAybF8IJ4QrioM03dxZ - 00JyT7ikmgSQCq1IrTQOvXNR4nFCZwu5npThsantJePmKdtGFvGmwZ7XIOkmS+mM - XEM7IQv0q7xCyw+N7YlH9E+rXeDyB3tCZS68228p4JvvNaN2zOTHpGRCbQ2Xrd8B - 36qtai0osZjsyPbOqnXSSAOVATsLtlmqxn12qBXPbmcet8Mn1Xr89ezRYg8EqPwA - K1aEjVcAKuojmTdLx+UNofJxq86QHvNV9DdbFddttgRyRcqSQj3/4oCmdBRPxR13 - eL5NSP2uj2qeun5+7AToxdGGOD7CL5EsClmKVA6qxdaO/DEcVcwypyaCZxqX69c6 - d+mPNZqgyoxBT+oif6JPr+ywZVeKN5VDyncxre1zGSx/pXTTz01LzdUDZ5ww9W7y - sN9LVoDncxA3ijte8JW8+JLw5/Yoc14bf3qIo2FH/Fk8o49sUIzYljP4fqwlPbWn - H/dCrzjT4m66jN01MT/B6Y+Yen+PHW71aCLQZDVdFuDfuVX6bPAea01b9/hca+XS - XAFQGaqLizvr6jWZfewixnL8MI90GI08fw31a3zKFgDGUginOX61+24FTR+jxYMg - L61u0oB2FGCNXO6UQjGRTSckrw4Z7X8h292iso3A4lVc9ExhE1brCeFLgW3A - =Nujv + hQIMA1Hthzn+T1OoAQ//d5tVcTB+gGOQ/XoghkTLtrK/jcze4yPGsPlQC3IBbvqc + CXDjIAnMj1vASB6znJXn0M9WmdUA4HmNl13vhJS0JF5X2pjhhsn8UIO36L2uLDAD + o3FgNoDRJYe7ubhMPVZbBbCDwasRgnR0LzD8efYD0anBE3kpReHPVf5yP82mJjKs + SG2c+QRI3ZOwFPHVGzRnqszqpb90uIhQAwy8Ta7MK08Jao9KVQbSe0YMam0s4GGZ + 8F87rn1LV/oLW/uDP0DP4TSdDOP/ZnujM/iQcb0WNmOywrUxlySVGrtzTBwX65Iq + Czz1HbfUPUU58xwmf7TTfEUahdIeSseMrrR/hTIWneP0mlF2YpOtS8OhI4/xqpL7 + D3sCRpCBgSl8dCJLQD3GyP7DTHI1Hm1TZIjwTIKf++IvMFKS2mYmVnVHevW1xO/T + s03VRDIs2qsUqmF8hp60linbKKtZ9+dIYPa8q9SZn36ogoX3kQ0G69TGnpGMCTfC + Xbq6nT2PemYUx4ASvUCR0TeAUApGFJOZkexx8pxd11puXlCOBteq4C9kZioC8ACK + BRZrCJ2Zdw4yqW1tY+2Qbru4RGk1F0MRAyAy1U2v/tM1uLrNnDW7rOSzJOTvM23t + KQSb+TCQ2/WCve8EkHYMW5M/UbAee6aZzUs40KHHwiiFiCdoPOIbk8zv5qBBHFDS + XgHmk0spm/mTYFGyIVAszDgX5m8vfj4eFFtUnil2aJ4qBurQ1e3anp+k+okoDFzf + 9txYitRzrfYV3HA9XRp2MpvxLCi73RoNp3ssyIldnJix/OmFFZLy28o3e1b2XOg= + =K5wp -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2025-07-21T18:15:42Z" + - created_at: "2025-10-13T20:10:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ//UAy0uZUyPPGm/GoAKew4uDa/xYAWpAx+rxQQiRZBmSZY - MnGQUsgiMIBsQt2gdyutzlggSZzjc5WRcaghlYzXZaKIRDakp92ajgL49snaYEnX - LX6qFmoMgRSbxmQPlrEfcj2yJ2bbC+GF2MZNtMMQISvsgA94KMyZ+UEZSI/ooZGF - +PbEnfibu0kgTFdmz841E0AkT8xEab/ERa/AYxE+l3Iz/+WPUNd6U4n3RXonzcaE - WvpvDXKqA7o3erZvULX2u1XJlZbbZM13HLwXDBCODOqG8JtDh6UvX8ZiUADtb4up - 4QlO6ETaWtWgzx+OrF70URFEzJ8biqczC/cAuaXHZzfoLZZ+smcFwBUaRQQbdIwr - pR1GGosJrY7kwNrKPgKF+jucAtVo1k7PrYSHTN+FB4pDR2qLcm3PFU1BBfpViJDo - cWlivN3sS0/8/dQvf49WBOqWfdz8I9MuX6H+dAQu4X51yjUU0nVIDD9dxvDFdk/O - KUMLJDgyfzS4bsNPBjAJs/49JsQeiTDbldM1MNDgICPGp8AbOrwudvS/l9iueoOo - mPdQTtFwxzM21t2M+pTvkuBpB8lNfUspmfvotWdYXCKG5rWCUD+kaRHoKpg8L9us - 1762pnE5Bu0ofzvBbpxNcUOO0HGMkE9Sv/Gk2E6khpfXo6m5sLXzfL7PwfjuzP7S - XAFfCp4gp0Ms3hLz+vlkwNGfMlSY11OrqANN1uwXb7FARdNBhqitd9BSufdtce9c - S1Kw9zApbVOSr2MtoNR4MKMplrJpIWE0lKYDhfCpr/wR1xXO6OraAqGgoNko - =uqNL + hQIMA46L6MuPqfJqAQ//bgJFcgiF3gfShw4zUmTQoiUQsTnidPchdNkgU2bSeTBr + 8VWX26kJGkYDUoPMwRK5jPQgehDeuJQMXqkkDVC4NbLVBsHzQX+cjHvm8uZAqqq0 + aXNrEqmiVNdpMxiETLCb+Ufu2Vc5oF4YyHWWke+090iMg8zOGhN0720uSYjXrc6w + GUx/FbaHPaHqG9D0FRImkzz7NacsazHWOiu2MaTX/Gcfnx7QRsgZmusZZblmpvcE + VuLi52RTgIJ1n3MHspywMqM3PgHi2zZ55kPAHCbgpzv3YIl6rKBN/Gf/5Df7cvVf + Duh7Sj65SV/1IFXsF2V4fp9nPAfooLIUW4w9oi1F4zQ74vYbZB4r4aQ820pTb9ZO + Dpct3ogTwk7vqrvXJ+hLkoJ/H1CYO6lnZ/T96y743DtXSZg+GbQf0CJ7ptsmsYnF + pHWxG0J0wudThtr2/NPYlEkip39pjWXPwi7Pjhp9BQqfY1G57MUV9AncTOc1QUDB + qFllE4PFS594quaAIlr4hk/+bnDM6peyRc3yDqFUWwY1n/znQSxc7S3VMUEVh5zy + 0+EuvMLNG8RfUCCyXqi7DLe6EpCXJL2nl50e5oAD+KjKXjcAUPRTGT3tSq4xSctB + 1hGrkTMO2+e3OoXToRGzGqPWTrjHIZlppIt+LXWKcvyjmvNGpH9XIWaxdKHBJSPS + XgHTKw1srs4n+gpblT68cedpz7eC7+MsnkEJIAaOf5+4x2d97Ualb2RYmgWmjuCv + 3TAKmmmU9QrdiPUXEM4OfnucbPX8hDZuq45AFP/wAGLVn482TW7kzGXpJoWzJSs= + =qxx3 -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2025-07-21T18:15:42Z" + - created_at: "2025-10-13T20:10:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA4EEKdYEzV0pAQ/+J3y2ilg+0a++IuFyeAS+1S4akdbOSE5K8pwcSulmrT8K - hnZ2Y/U+IF4pjhZYbFeCiVh8BzH6VwXLqFQrpsQhq2fNs0U7M6KuZxFEcMhrRH7O - ULs7ZtoVg3qQ1F6uM5YS3cW1bzHZdRZ0mYNUi46LQWwFVNisjtMKrjJBN9fr4aeR - Cei1+bkPUMCQ/7ChQwf9MHO5pUzwXA5ttsChXPMU+HzzbcCuVZjHT6rptrPsSLPR - QsR/fDOTweUiRk6+Lj5/OAjwgGRaO/yLgdS9fGrezwssVvDm08ZxFMPCBEn7Yrob - Jwe2uMdkGOE/e6SJyfh/glg+uie42g/HYo+PaBwuLot/3E/q7TbaAAHKEIlRfZSo - LRsSs/FaX+2HGnNgHHNxHhvEh+FDvp/EdMcZG9vF5mIM/XYFCbUJEdwWMfgyFq6N - hOxMK7KCcnqbMJPPdypSjyOnyBD7asyhqBwavxnqJrQ+6gH8XvVtOgc6Kt04QlP9 - CgrWuqrEq8Ulx8w9KkKP9VGg9z6FbWdF4TYQwQ6KfVC5EMSrVHM+N2Y6DDpoXHuS - HZKtJH3qITxsofPhdssjxlvGtJRU+t1Bsa/wponQC4hJpKQ2QpNRWxrI7Oewy8jT - ku78htjN7HFD9IrF/Dg+3kxLDIdi7/+Z8mE0eMg4RvfBBJJSJHADV+BqH/9vZ+jS - XAETzKYL69TUOxK4xohMkICkjVms0z/LyMgWjAuY70MC5EaNSXKNVqDGYTtsWLYS - 4ZGh3YNZCC1uK+lwos+s4OhtGLEs4pRWubz8wH66MlrAKfrI4hgQv0V4bO29 - =o5Ja - -----END PGP MESSAGE----- - fp: 9DFA033E3DAEBAD7FDD71B056C7AAA54BE05F7BA - - created_at: "2025-07-21T18:15:42Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hF4DQrf1tCqiJxoSAQdAcZJvd8VKNf+utHb2ndF8WC713BKaMip39sdKr5MII1sw - U5z2I11J3lvM7hJ0ZIWdjLeZyok69Kk7kSRxbWxn26YfMtxlrR/zNkr6glj9TKoI - 0lwB+c7VagQFT9bcMDab/+1Vh3P4gGAF/nzw/aP9K6W1gbW7Ji5ZS6RQN8kfeJxJ - 14qesoUtJ02a69xVGxmuMK7FgMbEpNHvAUkTKIVEjb7t3MQv7nCHa4bCVyYspw== - =Wjzk + hF4DQrf1tCqiJxoSAQdAF6ipxbyfHFiQdfLBZS+MG4OqjwSK7DuaoeajSKAG0V0w + FDR1EWxsLF4XO8yKTjK0J+iQeJTiAaBxACpdB50H1XAsvSSZNSTF0yxa4VT1t4OG + 0l4BgosZR77tSvEyxwA4JCq+PdLraCh6TEHP5jNCTDfjGRSKMQel0mDxxC3+wk6Y + 09UP3kq9OLSzy3TJ68/Dzdalt7DLmUDymdw4Ge8RKMLOHWIkCXqjUr7Pj1aRi4+t + =ItUL -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2025-07-21T18:15:42Z" + - created_at: "2025-10-13T20:10:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdALleBKgLCOu4Y6BGE6Z8URBAHPwl4AUdOLxBne4zgtwUw - JWcx6dlmEa1CVsV7U8jtxGbqI6oxDeqdBRRnSkG/VgHunx83p4d0XIIzt0UZCOdl - 0lYBR0PWpdHc/73Iuqjb6tNl4f/uMEmPWMY2gsauF+FMPjQoenPLPi3uvqbVrqVu - Y6FGIg7Y3fTjE0oW0dZ1XXurDgpZNw1W/R1k5lPi+ChYAbjWChcQkg== - =LGE9 + hF4DzAGzViGx4qcSAQdAkadkEUquIY01vNygyOa2ScTMkvQ8tNWVrFrWoenNJGMw + fszAyJblP70NGlNEX0zorSMxGbyMhYyHqTO9qM0+1+Tc6yJ5mqMUgt9kdvKJEGX1 + 0lgB0eihxUD8Jl9lxuD7dEX4i2AUppoTzVB68Y1ibeIzmjABoNuZQ9kpAAQS9UsL + WF4T78p/mA75XSJPyp8lQNB5+hjWd5OM8bCZ4fG1ld+dtXhZ0C0WvIvB + =DkSc -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2025-07-21T18:15:42Z" + - created_at: "2025-10-13T20:10:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAAspXdhAYalua5flBfBxEXq6zlXxQolT1+91bWRoW7mA4d - RV0GyJuGmlBr84fwys5qoyYMZZfkSioW+IluK/Z2+07flygwlHntpRBQeXVMhT05 - uZMQsmyT1Q73XWsYAb0BKXkrMz/xUvhnHbyytE6SkBADC18xmcX3O2o7dbVFRFpz - 1Yz//wdt5ErF3ms1fdmLZa2heLFudBrNxvaexgHnnk/gtJ9nH6kTb/c5hn6G53Xx - ez1Vy72+qi0lFJswId7jgSGyf6bXlHHsEeAp9/H1LsUqoscnk5hmnrOCLzVNSPmK - V/qjMAxGuN8lQVf7MCJ4zbGLFZe2kTaFLBaRqIz8YSAdIuGTrM54Tu8193K73se6 - fBuhL5gQELKWLRpUNe96HF/NeEnswCprNwyr9Yu58/EjKDyMo8AYhKo6Ia7QTofQ - 67vtSOpHVQqbYYV+CRVhpQqxYu7XiC2bjtBoMmMz7vXUAFnUe+EScPrFLlAsaDD6 - 9S01IEZcqe8D98X6e6W+0D0jTgd7JkvRZGOD1PWm+S1hyCgZ3AkTiiv70forhsGv - YPEqNyOvetiWFYxbgylzxeact5kyUfK4ckYfeNYK66NS/QwOfgfBvafHhLSSDmct - H4hm2ct1R8bMbMIM23oIkeuxudRi2J9Uf2/+/hT2kn3zeGYYVGBfqEnUfBoaZafS - XAFGyI1xu0sgZNP6M3muvk1/NqxVxfRB9uVh1bfDcCDM+rlolFhdWPN4S1MmfiEV - 9E2Pi1mF2M0ii5rM1kXnzEKPMgXcvhakNhn/J1MxDTlDzWIkMuWY2WQNTT57 - =WSNg + hQIMA2pVdGTIrZI+AQ//XGse9ZddCZYBfTyrIJ5PUZUv/pA58PiRPDDz4P9zUeC8 + nUqNRCAHUJGKEEzHaC+PNmd+bD6uJshZnVVCBn40iwFRmU9j59evzXmr/AtfmshN + ujzTUVsweyxiCtG+h9fwjshmIXpkyyyF8MmE8b/45FlGjK6Pt33IYjthdl+NL4oF + +sOGQ1e1K7q57tNXxW3Bww9aXnDiysCmLJhEDsAkHExedHX8bZw989mV3IxHnNDz + F4hkdNquZczjvlKiXzO7XJmiGYXjCyw9umpQoL5jIyqklZKIu9XW6DMc4FDKkDMJ + zr5HmYawg2W8NxHJLL81Led0/zSQKC2t6pKcjDcrcAr0qtyzEbrbMhOjkDW0TtbP + SizD6mLpB7Al3+p9dy7UlzqojD9W0luZooXASb6mlo13rpPhyBVK+Z/Cw6bIJdpJ + DuzprJSO6Iesgabbkx4PK/dh/Q0qlTH18FNoyGKzqph72HeQXIRB91bbp8WuRYDf + a2diW/mVSDEfIAG1Of6/zqSJiHqoIk1A7nR7UkrVZhjadDkdqzKIjTiqP/oHnykF + g9RR/7AGVfGS+m1ggOijl6d2jh7P3qyNBKN3GA3mCwwXWUy8+MVT6iOFaBKPmvH7 + ZxC/B9cwYexm45TV4IdqQhtvAH/CbbYUoDOwAmR8hKjvC3o7Dqf7goRlYGLzDGjS + XgGZUdpsfDr6XnbPqUQxD8/NQNTUtHnsyypqm6Lz+6mU5NrmUs8YjO6ZlTNyE4Lm + BGoiEi7tIxEA25rfTmhdTG3R0GZEwhYp/HDjtlXQZK2KjYMOORfkqw7f1vnY2vo= + =Ypup -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/ntfy.sops.yaml b/inventories/chaosknoten/host_vars/ntfy.sops.yaml index a839591..8958585 100644 --- a/inventories/chaosknoten/host_vars/ntfy.sops.yaml +++ b/inventories/chaosknoten/host_vars/ntfy.sops.yaml @@ -10,217 +10,197 @@ sops: lastmodified: "2025-06-12T17:19:27Z" mac: ENC[AES256_GCM,data:mlJuYT16bx9nEFw9IRm/Tf1y0HF1aVzx8BXhf0VKWkrBQCyzx/qbjIBXIXl22wzMrz/KCZ/diNRx0Wdq2J2u3n92NQtziiDZKwK+t/zz68+cCZAgktmO0vYc+BJ5GoJPuSmeMwHkaJqt3zYGQNzOJAYK9DPrK2AIbo+O21FgtvM=,iv:c5AmWi89ZLR00LqG+bKnbW3WfmIYsyz0X9A5r91Rar0=,tag:x3vf2WTu7naRdwQbKfrJCA==,type:str] pgp: - - created_at: "2025-07-20T18:28:10Z" + - created_at: "2025-10-13T20:10:55Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtARAAqRsY2gr7q2ZVfuiu20XpFK4czrXPpp65Bpe+6GWfxl7G - hlS7o8Hb6+l7LGyjpz6Av8aA9OALiL+9TdDHUSzrIuZayC+Z6SQ8e/zcQ7TOkDxR - QO3lGIG9coQwDQmHNHt2VytBZYz0lffKSc1PCAzj40n7GKM+ZGCoTyhwwA3tRDXC - SOGz6Jq/tH38O4fb5+rFLf3jIT/b06zCP/Zz8Bo68emYhmV/f2fXqay707HtMQQg - gb1xhyFMzyJzQBrUogruDhXKqVVq4eih5RAEzvXjDpGaFQ69eZTkj04WfGASjoi7 - OaxpwfdpnVzmoaUo8/R5fLfPa1iSZK4FSwzZpzOpfvodRutpB3QhOdnWtiywR7Rj - FPrKWr+l7yX+MBWpvuaV9qKJcwPxhn+4pGr59V61k78yAs60L1ca05Ua9/l8PO11 - qgCMeVhHX7IXm6RGOTO2i1dz61G9fYI3oMJ4USshDVdsFPV/OV5dBX5Zkcz+i/rH - 2XT3eOerAtLFiHYmSnsGMEESallPDAF1rgg0HOFE1FnSw64not/eaTCGdhCy7UHX - 5k89BQ4PArs914XSvdA5b1ydel3dU/LWWT/pra52IcAusRqLMZfiHXF/KuUH7ua/ - XfZ8ljcJ65FpVqAvs6xQeBGVZQoS+WyePcv1/BJkWl4QOtXCiDAMJrKVfxAM8w3S - XAFUtaSpYoHGooRWU51pvimpFLGvlbc/A+NRAsKkdkgMc3g/eGQkE9uLhTw8gP6c - vSS5yv1k1DkCE3Sff+nrD5+4o7tBFjRP4XWWLdAxRwviOUIpQdIMqUzC8YvH - =yE5T + hQIMAxK/JaB2/SdtAQ/+OtDGnGLt6wALS/6XENEpmsRU1WRqgHfQFFuTTcejZ7IH + EnN/t7vgI/Rh0f06ty6yZaklEdYhtgRtEBG/yXt5Cn02WgxH6FCUiDrTEgA+Ig0b + O3xncqMei06ImmFW0kfuP3zAgrGSxmfR5JwLbsKXBdjClG7YSJBfeyn73w7JdQxQ + mWuQCaDrc84mbQPeKUKnApkEOdUOKnoW54el4bgSc/e/eZqMfiRiAwkpDev6j8Gr + WDQeHoXBnx9h/GdyD3rxzcoXVqzV02rB4uZS2lXJVRwh3bA1hO9oP5FsTLY4d4yE + 0FcnbeTKDc/aJ+H48+Wq7KY0Zhs+mb1fhIuA5qjlW3rBcmKD2+X75YYXeCRMX7q/ + Hzc5ZNK35g5IV5WMzpXZaQunFHt36EXP4j+WqC/ZQQx3oSZ/2AQUiMlFcIwnmvVx + m1c4TCF8EGzxoJBKtLpF/simuEf9XBYJeuZ+IQ5w2/dxb4c21whMAE0PRguzS/wB + IzMIDv9ra/iVKRH9FikrzBk0b73CHohF2tBvGEH4R9NOaWjCYBC1+f6Wzs77uEs+ + SplLBLlEGne1x5aH8ZMcEElIxvNds38RzpBkEJkR+1TgEr9DLUocFeTKI1yVokAL + 031NHMY7CYR8M7hJEaw3Q19FuxaKuCZ9KmlUnS4yGhpKpBALqQwPO88RW9I0nTvS + XgHS1MKkbVRk6OFnke2wb6xyEEzYnOGVi1WclpEXRHPbTp34G8ELSfdcN0DnSUuw + +2pVOBJZwx0YSYEuVHOEUDyP+TXHGBiv6Vg4HMlXccwekzPHAAoLJ8GAouThtys= + =il1S -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2025-07-20T18:28:10Z" + - created_at: "2025-10-13T20:10:55Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA6EyPtWBEI+2ARAAifILi6nUR11lUf0Dyv3V26tIKqh0T7T61rcivJAzHxAu - TphvUwzGx7qxZRtu/B64pyFFMk3D9kd9yEN+7MXasyS0Fz9GIRY4W5OTo0xHnthU - vjRo6htVg6Xc4+DYlT8Et/eXqYt37dGGMu9JbV9lYDwgUTQph46vqTn8OoOSqWcQ - gSiw1QjsjXoMuKjUZ7ut+gik/qVG96OZk+MFuez8V7xcClVUYM4RHHD8JTP/pip5 - 7DzZARVacxrybu67FwEtkkhLjkzOwm6gUE1GAfGOOjianIepojyOv/503BfbErqF - vjEFncQI/3eSDIAQvUcGOCmKwm7arOdWZYvxSQSUz2tDBS9GeK9I/PRsRRkj3mg7 - /ZComfo/DVdp0/LzFYVNYGhKUR+n1XLzumjYzRsNb3CAD8uo4N0OfzN5XUw6OQlo - G7MRGZJZDJHQAiMrMaT1JRM/9c8TmNh3Q4hPD7xWB0swASnFWfSAnJXJnrPdzNaY - D1ycyO4eCM6xQEOuTqubW7rVFr9qgdspZMzAMAit/1cX3fqZyQj8m7L0260hdxAJ - f7WmR2KpcJ6J+FAdYD3HzrRbNXXOGGYzlEeq/6Gd6OYyc929m+gNUjskKWvNv90u - f69u5aBWyk2OU9iToxqPOfAi3cpSWY3EuoyO77sya8tRKfzjlfYs9PsKHlXXj8zS - XAH20hg9ndSWiyXLSzuiBoocf4veHrCOkAnS3m9U0heJ28i5RrBj/ILZ1RWqHY97 - 1urwfro8fB9ZzEQB6UmqucSRqCghR1wPVk5/9U0BhIeULHOk/WymAUoksKav - =0xuz + hQIMA6EyPtWBEI+2AQ/8CHF7Nw8PguNoqxb4CEuWOVyp0lQ65+LaUP0RO6seZ2ru + YWcQDiVM94zXAbu4yhzFANnBboXXYEhXkkG6X7VRDuyPwyGC1ScDE495+3PUIo8w + VPrBf1jpzla2qy6qYWuEbfBt8sjHWLS+Yc4Hw3xyYJeBXlOkPt5JDnMc5jNwGpj/ + 6BUvbNqWfqdPGa4iNeCNaKIntJOVvHAQtK0muu/GsDT058bxpnbLQ1FBcpRI5f4x + HcibMmiswHcCLbqUei3KgtUXCriMUSP8Vcc3oH53tm+2g5imLDHz2ZDVjRoWHqJS + Mn3dDLvb+s+WW3heh+6cN52tmw205doljPfAS/8XKak/6PyHlUiTk2BaYeBibURi + qLt+hCFmlqvO0vMDsABY053m/9zgjP6sAYcum1pd8vxhSi+aZnC3TNJpGPWYLEdu + nwDA98qag170emAgXQwwi5D2HA/Zay0MMU9Iqj/+FCN24iiJ4pv8fUsY0r5cXL7A + 6EYN7u1cUwC5tsjF9H9RLo4NV3u+Nbwkvl3NLWH0Osj8WXCUqpG3Bags6eKkAJty + hiSQGfWVYTu4PKV83+upgvfOTaI8mDY7Rh+iYdSeIxLBG2efNvKD6CAgRnWHZxMB + 0C+mqmL/R2iZtUS+BftYFHPpStXmlHk4pNLJph70FpdRqo66YyqnRudtSC94XvXS + XgFISA2DDfSnQdjPK07lvQeVfasYLtNcPyCUNYNftG0EOXo6gyu26JGtdlfr3aMj + 6I0rSaUBtiDhW2DZuyqD1XApSi5WowoiU1CAeNI0+PgTSeUvoJnxfLSmkieakOw= + =1sDn -----END PGP MESSAGE----- fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC - - created_at: "2025-07-20T18:28:10Z" + - created_at: "2025-10-13T20:10:55Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAA0fyCiD5hpm2Mq8Mgal8yElGmiKl4H607Ik0tHSSGJ2sj - NSlYv6xSxGHp5y2RrXGBjDkDE93lg0JRyjB8CA+XRq2UxpvBpvIWJQ5TqQFj86fO - Ni1u726BfcSEh8BV6LiOWjdQFOGu1UVwuy/R7WV660PNwj/Cb7EMWsHhJ4/t35Ec - EpOjBeL28+daezH5b6JwMHGZCkXLXMu6NUOx5Kd2RBEpqwB5uDBOKqFKlR5Joeel - pExbPsREZkilQRcYiqg7q8xy6jMqUMAEdUHNnUtY/Y4K4M4dWL6spqFcTc2BTqAO - NKPjLuizHRcu9byrMjoLPZfusNY4SFPBa4xLZha9/ypsuIUm1/47H0mp5k3fYiX0 - uAbUT72h4q/9MHlX+fd/C46TIE4r3liJI4l81e6KJlPdlMOt66lNL67mWhi7tKBT - qKCVjJdn2OitZAbwSAQ215h8LazWzd1hASU3h4TVnlpOrRWcVwFxvS9uhe+7HUIV - DMG9Xw8iU5xUHKp9zvGvgGDX/W6eLBFGJxWcLHYEaiVcZ0KNg50PfQbhV6LHBT1t - 4oL/4r+gER+M/uHVbKoKqxOk8qzgimdGkSxlZfTFpYen+zjj2v5zW0FAbfz/n4KD - WcZf60j47rzNEx/NwYSsaP01+G+KgPGe/xYyTFKxGrYyxQRUkyLQQQB1H+OBGBzS - XAGVnhZOzAjWv0OCNAcYp0ZudqopN+PAgK4+xO2FmyOHO9YNmFPBtiH6Q0K1UIr1 - prbxePJIAAP8AmaoHJWXgVLTwMrGFohYqQtXfT3D9fIbIVx3KRM6SekM/30o - =ypL4 + hQIMAz5uSgHG2iMJAQ/9HMYrcviZAeuoNHBMEG3vmDe+auJaPZ2I28+CLzEMYrD+ + 0AIQJhkgdB4RdOesH66ymQlqm2IOOod3ukRfQlWHnm+xhuro+vZdBsdpZmZ5Gflz + tUOOcCrQMC2+ZANwDsZGuwdES0Mv0bUPPWJ0ymA7dx2pMxcw0sZkyBTEgtLPjePG + /SNkIEByOZQeuTcD1XCQAZwVxpr2X7F8DPUpiN2UI4FIHm6CXgSUIaAumEQ/iRmU + JeYi+bPHgAGWTIpahRDUb55X14VCVByldaOOjis2xTlwFivscBNPQyGeD18w2XaA + 68FL0Oz6RLyNxWyO1PSEoHf8bRJaOFWr0GdqriQ/DopFgpRDLA/Zhodg8uXylo+P + 4j3SjX+B1sPTtDalHeE00PeBPphF6tFqCJem6jJyVfW2XojhA//GJvHA4U5kjC3K + ZewlCKQFQeMiWe0roLidEom632Nwu4SSPGSoLjVwf7RCgwLEDECZefSa15liRCUL + YfnG/2qNAovDePwiy3NH4K25iUEbd15Qt6GjlqwTPw0UKLcWFdwN7eYxeANONDYl + eo3s65NjfxJPxhkENefVSQPGz5OOjR1hQd7bK0d2zdygT0fgYFp1AFGMGVzzE7Vf + I0ZacKO+2qUwTsiRB3Q89Tj3q/h+1zPBx/5eCsFEmy9EC+o4+zIiw4rVLhFWe+LS + XgEg5O7VX1jUhh8e1Sf+o+LvL959kG9JWCjkito+RWPk6ZJIMf+q//1SuDHq43ZC + /NZ9yHUL1wMt+I8vW8aoWiumdMMAlExOWe0bPm5o2E+rFKGlfSrDkTewt9hdMgw= + =eGdQ -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2025-07-20T18:28:10Z" + - created_at: "2025-10-13T20:10:55Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ/+LtvkdJgZEVahtwfnYUbg+K+oleFw7V9nVeZOtpmqABTi - LsroF2PsatpKxusPDSoqQqj6fvKliCPcm/5UpEExqotKqi0YORhdHrFm9plju8uB - 1KiUmhnK/XiIZWp+HltZO9emelCmoU1NNjzs4Ayn1zK0SkY2ADYKI91mjmtLnu+Q - ca5QygiZ/RKAfSkyjCRyR2nhtNov8U3Ii0Erm0pkPh/XXrqBzjcuJKEGHp0Qj0Fj - MxCRxCCnuRaAbgQNQPCwGf+r9KNfvUIhZAWC4zFj1rd7XVxOUiPqVEUBviZvsC6t - rQtn3k7WEf/xlKmBS07PyJ04zplYv4AX1qkJU2qZcAR73vKtDnVFX51RYZrPyUhC - sQX/ZxANG54bmAco4k6/8+c+qbf3+0gyWuAPb/SGanaG0zR/ah0EUqXdlAF6pvJs - sV6uiamgK/qfMMz5OlPcHcqSL4iiZ7C1fIUkqRm6M+dY/TaELSgqLOPYescv9zvF - cWqxDcQ62UKTy6+khSVH9HXPmZ9x9uPZpyXNpwUKDYZIzAU3vRN1K1Pyt6ppYrur - HkNxJvXSxBXZFIOLCuZF3PnlxQQUTi24a9/Y9Fng401fUfQxWZTadKVV7iusBx8p - pC6KsWvVsL8W7aeFQSBXHNIsXGSMf+jdZXBAihtcg2cs7qXkhXlnjr8Tlovlg27S - XAHhM1w4Awy5+YxNIorJZDa+Ia4jczlgL1FO40ktLhQC1hz3huFGU/YK6Nla1Mk2 - bQYZZYBjfuKcRqmIFFC6T6VAdA2wbvc6+lQAcLo5yBxz7o+KOcgQtTZ9X7as - =d42u + hQIMAw5vwmoEJHQ1AQ//Xgqm1urvBP6Ox1BH4tjNSXrU477byrpdMOPsUycbZVci + bugfc/xl1AX2x6BSDuRYMwXNgn09w0i0NlppnU14Nk4zO6Bd6srTOntZ9VCupW6u + X+CSHP6Q732aW81nQdsYgQ/43ma1sF9Mg/RHucDQhDW9NQyQVNfLyjLXIeM1eNg8 + UFf4RWDkku4AT8oA0vhNN0ICUp5lMY8YASSAF2qUj/6xmARgCW01m6YYi5xuRg+B + u0KVn+59h/Dk+CpHrldnCdQ0jB9e9wsneaai/mGvQA0XeIKSXa4XPt4ke7/xjBbB + OX72ElaQ9LjIaRbE8wyO2PR+ojP+Rotdg1upYa9Y+PXlfYq6iaZ9+Ngom8qMVJY8 + xJO/gJd6ofvdZ0eG4GQjAnZ3Tg241V+ZzZQ4ikG2d4ZA077Uut8etUMvc+A3SR03 + PQ68sBlVEwzix16h4igDSmDfrNOI33uFhvwICs1HZeFQU6yDPgfFUYVg5CParqTX + e19fxExYJq+0GzVUSaFrA5N+k2mrNB3LRzHJhAFyQHm6CjzH2DUQWnGN+4dIjIWa + L03RhgqtmRh+yU+FY8SDDopsUCbTqAB/ryiPeI6IoQJEHgi3Bjw6aVho6qFg86Zs + 03qfgqo1HrwOvOXpGQab/I6KJm4Ch0BJLtBbr+UyJQVb1F4s38GpfFvTl4CqTsfS + XgEc93bvGAb1H3O7sWJA6AgFatVRCO8uYc59P3JtrUprSqVLups8wO2qJN/5kpTY + 5dbbLLoPhODa5S/KeuSLQE6m67d0wwhaOtB4DYFDstb8rR9OnEKzDqFf0QSYX3w= + =nSRC -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2025-07-20T18:28:10Z" + - created_at: "2025-10-13T20:10:55Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAHtMliHz0MplHDFWRgKJFtfN96CpI+DOnUZ5j/QbY4H8w - g8NzKK7NUd5UAmPKHpO/yFiVUYltXkgJqIrd0QAZ5jBVHSKLmhdxsqWIRnUSTRqY - 0lwByOPxnHWqi9I0kpwAHcvCqohuIw0k3cihZiGjFGclNtUU24uc4uT9GyX3qxGu - jDhRd0qke+wM+NzJ2f5fVLYjCC7bTBV9q46unsnuvAidU0KXm6S35YlpTgcZ9g== - =lPzg + hF4DerEtaFuTeewSAQdAzV1pxVVB++XYkZXR/VxbDn4KCGv2q0qwfvHq78tQelww + ejgqEdFSd4lpD9rPPljp0ZRwD0C9ZZeJJaiNKO3PJNtfmYXbGZXng6SgB0sehs3Z + 0l4BnePG0fCcb6YKlfoXcp4JUc/hlnok5Ftt6H6UapaSnghJvoaqz1x4uHFewTVk + 4uLT5OGzx23xB+nQR9Zu//1MH8JdCiZ3DAOKyoXa52pMD1kt8T9a+26rdZgpfsXA + =du9s -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2025-07-20T18:28:10Z" + - created_at: "2025-10-13T20:10:55Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/+OEcxoM4a+dGsTuBV8GZF6Ddy+NXf47SnZ4QLdliYaYGd - fPpyxM0wpyO/BtDE0uFyPpBPLKKCgzh7zlQDnR1zfYzlCr/Y+IB5BLRD19+Abkwg - TFFrpFp3l40I7jRXNfGFge7t22gz5owdSzZfI0Pz5mXuFfX2zAwtc0sV0A0paIMp - fcmLwASp5Bvhgr2DoCah95DkDEwHlS+UwHZoWe+cOrwaBaV8iqomjxYEywivG+Ie - VV+1xUhMIDdWrdmh+Nt39eOMra5X7M7eQhMmWe++uW4UyQgZo2+Jm3s12GMyc8oe - mcDqhgdZ/5jBQEhteBB3wZaySfxozI1aYh4GhscIGhMJ2PMTtEBrR1CuGey8RMzo - 9jA6XrGnQP+X4c9b4GBii3rvrRRRS3Y6CI0HOrk6MkWr9S0SW9ypQKgEDQB3O7xX - +N19w7jezyGWWG/G4eLnbSlxeX3ZnvDFAQcQJCqu4vEi5Ux0dTpoT69D9/St083z - Q1BJduBumC49fAnXvdFxgzvcYfjb56SWFByMcYNaEn/ut+WRkFZ2H5vP+HO8+hmu - qPEIjmh9KhTWgOLL1wYTCsfkD+ZMTAc5FRqPzleL/je+Jc/TVKT1s1UtDf8d7GWs - cY2C3bTLR3qlrFmAhANzjl3k9qh5kYYGOF0qkdK60Jeg+/1sqwajQRduRZIo5nXS - XAE9Q4biOlM0fmwOBvw8vuIax6HmOxakP7C7RalIXqGZHF6ijjLBSFW1kZioMftl - KCsFc010bbgDxLQvtIIFLChn/lQlPY7EzThMkyBoDF8RkA7jcqleeAU9xmXF - =Wiir + hQIMAxjNhCKPP69fAQ/9Go4ytWtrKrWK5daXLBhqAEOinCKekQpjcW5CC2bhTR/r + TZoJYphkGxHYzAy8DFE2EnM5mPLvLeJHh96+WbcDLB0VPHvQ2tLlOJgyANgGBcuE + c5gHmHYbdN+TKkku/hCPXCui9S0xYvAEQUOw9tul4oZmy48CEf8f6okXTEiDZHwD + VqfCAvrN264t4qB+IT7ZzkfcZzvkSVBblRwX3dmNEK+sYT2UdWojWlq1HS2aurd2 + Dp5WRkDu/eVUVv99f2E7aDFTy8wBT3c6O9I1Qr8ROMpwQs2+Urc3mEXc6pHQy0FT + pSDhKsmjUuCNvbr07HxiYDiKYVXDoVh1koLWNlJy2zHl5SwiJ/vefXULGLcFDtiD + VSaeok41RVfKCACZd06BtgbVtHBRX0UrYfek2ngNZFUqVv1596du6Q8DjM6+NZgj + bisLPcPLvaY98mheUgpb/apX+FSnTysxlmJes3d8OHD2trG5tyDqp5uQHjmU1uCN + jfLxuMlxTd9ogNBIfvwMJ+TfkDAL8MvRRHL9n7MbHgZ7PhAwvtaQgNxyRYPKUHrS + MloWHrW8bWggW1KhR7e/AQmF/zWELM67rZ+mhATvh63aqGz7+AGD/XfJzXot2ApF + xwSMrz1096yKau+zPv4i7bXk2xM1bPYL41V0wTk4JkHyPCNZwx9DRu3kDl1pDALS + XgGl5/wueV/EjAYImOQ/QFT9LcQtPKrzHgWr3YT7sjUdgRxF8UZki/DY4nY/J44x + pXXG8cgYG/AIWkQULbNYacG5Xe/ipcR4F/s56Xn+jmD9uvqxx5ZDSMUf1EGmSqs= + =VnID -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2025-07-20T18:28:10Z" + - created_at: "2025-10-13T20:10:55Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ/9FOvo7VH/i3M2qtNqiuGS8oDP3VZLXV2zcaB48BURhIFZ - dszZAozExdwK6yXOvuoVHr94mhgWkYNd6mR96zjFnGWhvta6w78Ecm+2uZfF/QQ5 - tHKD7bRKcAAWC5m8ENAdz+5MLBpNk9egSNqzqjFlcNPV89dQCz6TAyfI1tUQcACv - pgVYZz364YMym8+HQ8WAX9rQS3K4ek3EosIjWPJf1FH2Zsj+5Bpt0SZmg3zHQ+e1 - uC7JQfabuJ3pV4e3++Rh1W3P0cVX22gPcb+aepnM3Dv+ie6kNo9VguMjmGCEgk5w - TtRy1pG7e87FUvml7NEFazXHmWGWChfqvvHmuaLJCqCyLpH1TH0AylE+uHutdGQ7 - t5Cl1slC4VpNx9YiAyhaN7phyz+WLoYn+bcEbcOF6m++PQM8FtIAggwXyaBAiG0Y - WRchBxnONdlic5sFmtVuaTMUqClWFO9r2HupRByU7BDTbG1yJBagiIXUFoPpMFVl - gfv2jJOtwJ0rGRnQ51ZU7l6MMdTa+rR5Dedo5u9fo6ZhwoAPmDOoEtmiguMZTixb - nE2BTZgWxJF2aLOUf8MVcewyp2m7CZlyqXaltV/D6885c4sYi+IqEsUw3CSkRqrn - T5RoQGQXekdut2YdaXfdD5uyBaJmXm7Yn1GNqaWfXLUqklPA5UgvHY/i92xlpJjS - XAH1Tlt1+DVs6zW2KN3EMvBqOTKLpxmLtClpEXP6pHd+vgaWGYNXOt1eInFfwi+P - BKuKXihjiFfNMibh5o1y7W+4WyISjYGpka52m1Ias+06mDeUUojqeaKuhQZ5 - =qZvG + hQIMA1Hthzn+T1OoAQ//aeSxtONmkn37ZD4R85kwupF++d+F5OiRF4z2QvEeWGwS + kOby+TqYXlDBZj/3/8K/mM0JKxWA8Nz+xXM+2yiqsHmZKJMXtXMo45jC6bJ5Q5a1 + 0mEAD6UPX8ORJkxDoxlzpZ+ghWQUGNwyTSeXFzhSW5ikN1KkFOhT+rZS4CBXvPEf + YQVA5Yf3QIAuocw10mIiPso8SFWd35b78LdGQv6fUkxHcqwZj9sdNsVIC7UZCZXG + G3KHV01KmWtgTk/8XjQT7SVWl1O3/48d8DW5KRFopLHyC6j6n2NdF8t+nNaR4d1z + 1CIfjdnvPrd6F3WuKg94gXqgot6yhxv9hocDte2Mf8IR8SqTlXoXqVW654NClxHN + vanZwwYY1gakQDoLzubJamC0hd11ilX8UeX1suF0gXy0TGjyT1VSzDfCF70J8I7q + pj61aXjTt7nQJBVoebvXuW42ZI0NMvQZb7s611Ld3scpTe8Xkxb8bKxDTKpaoY6n + Gs7UMhn5WHD9pCjkfknsa6C8H+NHY5Srt0JM6Ec/2FlD52ZK5AwQjM6VKZhyqQHh + tXsZwHi+el3Hv9jayAF9+Qv14iPn5807vdCLR1ErnefsB5hZcM6rPfhI/BqPuJnn + Rn7OaqzXuHaNi7TVE8RhruSr667AXdoH1dYd4JMsRYH268CPvmP8cmMufEfJ6/TS + XgGB3+MkHwXhLzPDtobCE/ZqA5b2vIbxeMEUNH09FaJhQLejXc2XkNWlQIm1BO34 + aEmVHOwvOFZEND4cDkJKdoFKHx6W39jWwMJy7SvxCY6OZTGY1zTBHqwLHptZs8Q= + =tRKC -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2025-07-20T18:28:10Z" + - created_at: "2025-10-13T20:10:55Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ//TtGxqKzGMLDUYKYVyWUcYXMua5LavcZo8+GqUoXHIa55 - V3WJ8zOrcd3qfRlhFCmVi3yViA+WkzuG+VYUuVpGbsXq52v21tDuwOz3MZDrTs+D - /tO+M/I0g5Kt56h/cN8lq7//x0AONoViFhDxLCJ8ilmhZdx2ywnv3O9eCLboY2yb - SNsGro9juCcKGbJtcch0CZOULMEMEXXPwbo8MZ+DnXKczwvSqBFu/O3nvkF2jcs8 - rC9A8QioMOjXFRglR+vOfpbaCvCkRsgXlkxBxPtpjdYANjA7TQbB3sj/8PTcuNwA - CaVf1RjZoEfABxPJnM8+UX+w+Nm7Fcc+7k/S92Fe88dZ+6jvZGMXhFCoZarSyQSA - +J4hFW4j4xHndlD3wpbx/niPhkVRpLxBqDYJ3KfjN3QgzZ5ufhBPGi819cfKJxwb - /HDR1AHX0bQJoq6wnof20STZJDploLBmP7A1ae2j119pPEBK8ErhPsrn9TQWnbwe - 4Tcrvu4yMJX+TMs+yKDDQXwy0oPs5DPqhEnwHzHgNVjIWuQgy92kpDZssREFNZ4D - cDXGPV9Q1Gcam44Cib2HsDMw9ia5Jqn6iYqfLCDo7BidxfaMRHL9ALhg0o/YLFF3 - 6OyBb4JBFra82QtSFqo719Hzsd475EL7vtVvCk21a8MMH7owhmBuYVxl4ybQh3TS - XAGZi7Pfzf8oFj782HypsT+m6YvPMXHuv8m8K/0F061Vc/7pOqx+l10URVd+KDFf - mkS3eQF6XEyrHxTV8oIPWNGqeURAQZSINMHFNfY0TkQRG3TlKtVGWCqgfACR - =dVoV + hQIMA46L6MuPqfJqARAAmgQWepRi9uxL1Bc67Bq12/fvQlk34xnZRgWUnrRNkHeC + pmE81tXMZT7pUVCG7FRWnEkkdy/nbcR1z3ogv6MKc4M86Hw2CMGQFXGp5QNjHEm1 + uTtQ56tnrou3x714Zy1JaGbzt2og+tCH3JisgZSpGI8hZPqak8bGF35dHylw4iD3 + y77/8VyDAeB5BMqOgtQvhbhUe/k09KoNxG4N86bbuib1mPVe+GkwEaZs4SQAeige + 9UQNOaogvZhf9QZQAvkB/9AKre8OEWAIFXZQWiuMK0qDm5T0l7QjjehsgXtiNNOq + FoVn/KPhZ0W7VfWE80jFtCykxzC9tUiDQdeO+AX4KtMbWN72GtMvXLAzC3OZnFAb + 1DRzcaOQMG9+I36JALTwSvKZfJu54mZlt9fdMIk1AwQ/BAXIKQdxBRGCQFeO18ac + Nas93tSox0sm0W3MwmyhfqONJgEJpEu/cPqCdi5TDcaOXuyM1Rkd3DR97xieXdrG + qNOLlm9cICeC3ZF+8TcxWqaSQoO0v08Ky2eL1W3g8z2llFZLsddlnB7iOx/gFRB+ + bbNdwZLvz637SZNlFOxf8F+Oii5wv2Dd5szTJ3WsNcaFiT8sCgiPpOeLbKtE+cG6 + 8ElwNICA9Wz36MK3nNesfI2Qo3X+GW9/NKNQT+tr0EYCOkVj7drPdf/0nWThLbnS + XgGqDga/2tLpJWVxGlrrBebbd0egZgSQKrEAWIQf/CMqWVga6uEiNxnuR377KuLq + pyyml1Fg0rLZEcyCOEEtqBuQSUqtetzF5HMPiWQbK8HAVAipn2Wglz37/9uw6eQ= + =AYMr -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2025-07-20T18:28:10Z" + - created_at: "2025-10-13T20:10:55Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA4EEKdYEzV0pAQ/9GG7/FHBp3uAZbW6s93J49l3Dcr1Ih9PG1FQyF3wDoakE - LEQ0uoqM7hb3qjJLlG5Rlpa2VdhrzixDxVUnh0FwttTHsIkA3Tpqx4UN/6rtLKxk - ii/oTF5ZpN+PtDE59NXJHT83734aSoGyzRUw2UGc1RwkSQUlfXNhblqbn4ok4oah - EZdBdE3wzcT4e8ybaDH3OS+i5EE9dKpBjt9STbEVnL+3tltst7j2H3Urki5N7/Q5 - 0rG8H8KZ8h/FCEhFS+PAWB6VuhKJ/xVtYYJlJhmN/lwBqwkkSlSihTHTKfY8wUiy - efG+4rz4d0PIQTaSym+Y+pI1hbUMNFrDtRa1He8u6Lt9ANP9ilCsumP0KM9so6Ei - Njw3yiSnaFZsbVRIvdZdp+ZphWshE7udq6hLfuX6j2iEjvmmcuxDy1xn+ZjKsEpz - arETzZCQqSVhChFYsrXzzxQvnBOneVw7bF5IRP25bcMg2hf+610BfxylZaOAXBiv - ZmlnIY+InlznegpEClqJurzoJMyClzbohW+Gb+HOoe6BwVQ59BPhOVaVh8t1Vef2 - Jq7kbrwBIYjUqFAf47sOL4i3r0HqOB4MLqXc/GPQsZiMsXsFvu0ew5fvTIzvFjJp - pMJDS2NhwCfNpWprVKTYs6i/6F/9QtZSsJuKldpODUQwaZMEkPNErye2TvmUUBHS - XAFn9nWQ67hPjuX5nT12si5cZ5HFK+wyZnkB+zdTKeh6dCeO7CmssfuoodqsveNm - VZXtojOgOPusaSFj4n3GHE9vzqNMrE5odjpG6NLWxv7FFfcg7/t97KV/nkzn - =cAw+ - -----END PGP MESSAGE----- - fp: 9DFA033E3DAEBAD7FDD71B056C7AAA54BE05F7BA - - created_at: "2025-07-20T18:28:10Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hF4DQrf1tCqiJxoSAQdA5XAZB34y8KVLVqTUdQMIxtx7r8gR1OwwSeNeDIgRpiYw - lMLrGxCaiG+MnlDcjhv+QQkXRx3z/dvT5Jx35Bv8wFiqUY83xVD8yQG0zAJtA7RB - 0lwBJ69AsQI3TKDDDCfHwa8wka8vlnx9YoMH+bEfMAjHBOPeMzCmjaRgX7O0ablm - OoVcoHhPnExGVrR/buzrsorTuj6pRwoTc2XPRMp8cMafQQG5oKrc29roekcCig== - =Qrj0 + hF4DQrf1tCqiJxoSAQdA7ygaB17SxzcWIG3zaGElxBpYnlOVvQSH9NBHboF3sXow + 7oLhRFY8fj4cw3+dSBmspZOVySRUZEtP0ttvTrQjcGny8yKi8rLQXuMu+YbbcwL+ + 0l4BKeJOzNVgtJCLDbkWIion6UwLLjDnxZyDbyyi1fV3CHnJsANaB87Puj49eJUd + Dw38YkWGApDWqjUJYpABgYHuKeIhEzI1bxdrHdblTYQKtEsDmBaPdyuEyVXIQgLg + =YgFd -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2025-07-20T18:28:10Z" + - created_at: "2025-10-13T20:10:55Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdA8drCpM8XLKp63D1s1owbpjULc3cUNVXE0X5UQZsvLjMw - EhgiZhQ1kobdKKXkGfCIY4sjtl7/QY/uuro20n4kZxhEgwZcBBLbUjZDOfCXb2S7 - 0lYBSQqptAsnjkv9LwbbysuLd9i8WY1vKexAPA+cpvJgHwhtt4Ia/2EwQ2IMJBpm - MunAOhG+rvonQoUKxFB9MeCIX2hW9IywKWqBhfxFS8/r9VQ1V/fX4A== - =TgPw + hF4DzAGzViGx4qcSAQdAhbVz0+bmLjF+/I68+hr5U8Mv7PfCXoenoxzIElAoqCAw + 3FbXM1hOlcDWlvpgB8gXag5qrJk26SlkWO7Zd9kxqSbYX7kFnnrpbkQUqo34cvDN + 0lgBOF62rdXPHPX8FiTUKMmZRcE+OPgAEx0Ztm1kKJxM4AZsPeYumKFT4oAjuT1t + taZe+BsC/LcH3bRthWFzY5WpNb04z/7iPsN0DGQmW2Uk3tO/zBtf9o42 + =T8Wd -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2025-07-20T18:28:10Z" + - created_at: "2025-10-13T20:10:55Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAA2u7UVNNDiTC4dJ+tIP65LYov10AN1xKw3rradLfFI1gD - Twuwm6pZ6esp2lC36JqLR7bx5A6uFmfnJA0qBmQryAn+TyvU6xoWbLaDJMP7MMIH - uYAnIzCumDWz44xTnZRup6E7f+CUiBQmns1dTGWrfz2GHzusjnF2E8xfX0sIz8bw - jcQsH3yvIJhOOyWVOampEwm+eZoSzxcBn3AHAwd1XsS5A4syKN0wzA3c0FLAnibF - nUCRKBa2Ux3yB1Xd7hENrpN7ObrdsNCUvUpRVZg0bgs+Zjr3spq/NI66DKfwRc9/ - 0wQhn/vxoCevGRV/ir8/5JUx5aSLYtLYZ6FGxn8Cqja6rR5rcgAJzjjJP3H2iUrM - cuhdQKj/WGu6nui3oQ6cDCDKK4YLBGda6m/nNLTAN+ohGmGV9gh0d95OD3EiGm8D - F14G/ihFFb7YOMPI/3pKPA7iaHS39lZNkSYBsYUL8/FfSoG0aKyFlTMXWgLgwVwx - bshpe4ixBzTrIU8DtLH1Hz2j3x3j2rh4vt6NOZ6OcHlsIWWEWT9lG2hRUda4kEXG - X6h4c+fslqu0z0PCDsnr0jjca2PGQz7az7HQdddG24Co+cZqLgA3Myj8YNE/StE/ - zudTl0RpWOeY9aVCaACuz9xRcPpU+nxEpC0jxOC/ZSoqkup6ndpIOy9g/chq5lPS - XAF4v8Q+I94rlxu/LXCQgnX2mo2iaG8/vWzKogGlixHJX5s70rDaDO0oWjoxXlN6 - YrU4hFwRCaAznA8GODyCHsCEvcGPo0i0HuVz1hwjp0EnfVLwYreFISGOOMU/ - =6oPX + hQIMA2pVdGTIrZI+ARAAmB/8gFVaILor5kyCXkvRgc3ZiFQ18aR6xHcfeWnJHfO/ + I75Havml75ArY3J2c+deEkyDKlJv0d6+u2i/xHOG+OQuy0CPKZyoztFdyXcA6lA7 + WURTkcDMrCZG9izvvxdXZs7blX7ViiSY6XCrBi+J2VePf9S8RG+CIuP3waUN3/Ma + et02KZkwJGAWeHvwEgV0sX0iJLBROtjpBkC3XuvjY0pP715ci9dOs9mBh8ISR724 + X6luhbwIZ9xXXfdevaiWyNb3+Mv4W9n94A3CqQ06Zq0DFx/2/XQBIt8KRWBuMW1B + b2356X+HUMEtzzsRN19eklZZ7eF0MPNJCHdmLq/l5KXUBThUiCb1X8zrc0y+Hrdf + 3roJ0iuVLI0ZTWI6o7YXERFvtg42E+FjL+SPHBzzyPn/9m9uEggiGsn4ya2sZx+U + OXZVqEuKHzaRfvhH6UzzN6SQPOm1T+zdqcVTX5aCUJzJhrUBXZewa3F1Hj+clOsC + MGAeDofHr1j2Ww/zpQgq9FGHNa7EeJEQOWAJeH7YYg2oX/6kP1KAZQaF6aX/wtgq + XN8n1wdlF7GPJYLY5bKpaPxm8Es7B6nhtdzpey/dakfEEGjDWkR4VP7rTwp1AWVf + c1erNtkb2paFpuVqsu2yWTwEY2D8erCNVTJio32aAip4IqGoB6HfJBiA7Lkb1r/S + XgGEOrYxOZ9zwdnek61HxklAjfORwOuS/0pzsUrYF5KvqzrYgOdn/Pp4Z2eSDsx7 + iWpzbFMXDcVUwjS6TuL3UCr10Nj7fn6STGxSULv/pYgO2lXAeRxsCO2jfKS63GI= + =jH2X -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/onlyoffice.sops.yaml b/inventories/chaosknoten/host_vars/onlyoffice.sops.yaml index f2a74e6..2c688db 100644 --- a/inventories/chaosknoten/host_vars/onlyoffice.sops.yaml +++ b/inventories/chaosknoten/host_vars/onlyoffice.sops.yaml @@ -3,217 +3,197 @@ sops: lastmodified: "2025-05-04T13:57:24Z" mac: ENC[AES256_GCM,data:Av9x7PAOBhUoCOCF4al8/4BnpPHmUb1JvCv+PKrBmjPBVxW/sU0w6oYmUNjB4OKxI4615pWpfCsG+kVSEysbXtrRGp2RGqhnSKxS5l21W6Qy+IEkNA/jcA/teUGEOy5Qj1SvgNtWvXEBJgfm9eCQxC+w34JbzoTs2q+6nSxtwmM=,iv:HD3nBwmnOGP6MZdLiYv0hlNcvK5lSxJNaoIkr3Xadkg=,tag:uL01xCeeIbWhsdpyqmUyFg==,type:str] pgp: - - created_at: "2025-07-20T18:28:11Z" + - created_at: "2025-10-13T20:10:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtARAAoJ/2LvlPFTh5vJsyUZfwTVrLg1DZ9E694J3HJ1fH9ZJj - 9qZJ0EtbHHjDyaoAS57FYt41AKbOeUpHa2XioVIYJfS3CgAA/m+AXmorvchU6Umm - tnSaEFyFYEFBUiCvGRMCbBvLepPHdK76a1SGkQww0hcwLk/rjfRAul1ffajdyhm+ - Lqa8kMLA80PK5QLvYfAPlNtMiUgq7YsxmhAWoWQ5F/xLnMgClEnsN1QnXszoH8MH - 622pAp3KfQqUM54xx0wn0odFcuOEd2HCj/CVnMHdJgZ+7C3XhBg9rB5OgHDKTcMb - F+asweYxFszo6vLcmz1PBnuUv6sPpE15t8MRG6jckLCm7xHl9Kh5fkug8H+H8lGp - 3YmbV4Amr623p1vqyAsjqfcIRqB3Fdlp8034BJEFUXWZED5ZUp1m7w5aLG1mGyxC - C4eFPC2mqS94QINfFWYZhMieQz1qUEsZv4bFU1dxQt9H4J/ojkqU4oPVSmIe6swv - szmRVUdmlU5M2FLGUFPw0ikSheBoxfP3x8GuYPuz8EGc2Cdza+kGBswPT9OkKN7k - 1flPILolY9D263ldVamsamQL8r07MvLr2Qm+Zw7OTzc14DKyKx2H2m/6C1Koh+zE - 9qTCQuaNQjhpZlVf/I1nCEpixBC4Mc1gPD+DZqJjdM8dA2IN9YtLMycepM7igvzS - XgE21f3aoPGgiY6zYQiaUhjhZNWO8by0fxKaPeZ/x7++5stCZz8xSsG7K48mBjKh - NHKJ0sh2imtzPN8Nx/Sqegr30qHDXC5/x1g3eyYurVdT69T/vy4dt6Om49uFmyg= - =VHVp + hQIMAxK/JaB2/SdtARAAhcYelGfxO4U60gidWjgBoIAc7QK0/pavktBL4gHcq2UG + 2wcNeMRpcwDTASn3r0GMw80a4xD1QXIjOI9knHypQ1Ie2IxM7p4tOEnj9cOaPb8q + LVFb1WsmkDqxWL7PMd/Prg7OSctFhfhbKhUnxYMVWGMppZp0+NR+g6LjgCHDLWPc + 65SbV9nYIOGJ6lZ4RcmC8iQN1vooVI8aunVDSnRGmPeECaO0AQI/idV0wsArbesT + uZ9oLjPLGsr2edjTx/LwzEgZC86zYMvVYrgVpED5ZQz3Rwdp3Mn7k+5kanwvfaIx + P+LJOi4RDBJe9W2K4VFaZ4mMn2qGbKiELoDEa6j8f1GYsQ/DeaTOrknXIYchsTuD + sqa3lHq3pojh6cEId0D7/vRRmlie+2X3waOyV6E0qlnU0odRkCsuoyQizJqwzopT + kHDb04kkj5I3jtOLs8c4xCazpG0uZTyNokwG0hIXzyoPMDHRKmal7LMFTMwcPw+6 + SYTQKyofM9W9G3t1I9Hlto0+RMlS2F9hxuIP6Pyk1gd78pC5RQlp426ZXbebiXHT + TmRFZbVsK/im0htBUZPbR3/p6Sg/aaF6xy8I2kj/9Ef9ioxrTV3C33Yi6V38KOge + NwyX8s2KBSksA6TMaipE2nb15QQ0JFGIsHdlGgzC4U2eVASf9VGNgNvwCTlVVn7S + XgGTL5+U+WKfVQJZ9v2MVKS6K8dDIC2gJagWgkrbVHNxbLDdAJCF294FveXUGP+Q + /JdVNL9CN1+ShaM9v65YOqr3ezZBqif/T5PsA9ldn80F9mNTmGEmnAbTIdobP0M= + =Ui/S -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2025-07-20T18:28:11Z" + - created_at: "2025-10-13T20:10:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA6EyPtWBEI+2ARAApCrvjvsNSGYfmA8y3ZBA6FhfXDboXWYEPs8UfhtoWd2J - wdDtjMXAC7Tav0zYPYIJNag4uax0xgMsKy2YcrSxrKy5IXWpyYsX1VeOj2mJgSY8 - gBmH2UvSXtQkYgkV8avGRYn6X+6kJIGwqZRzPlnvKullAYWrtBOR7Nlsd+4BMdLv - sd2iN0z4OwYEsiRI03vUUOZnZY0oDEWLc/Pjiv+rqlHx21sZCF+A9TmuP5T3iYFk - lWVL4ROEu13XCPo86DebfQ1iWyNMk1US82KfT872N28m+OA4/pTkc2PKJTxS+yc5 - UOC36GPZuyu/ve+OESMT+XOE5qMar40bvFGgLPaA144tILFVo5YGy41jMU5KrQun - Z09FTv4qfO1WDaA13d707nXgC1AQOmo28I6HP6M0YfRq7NXmJlJUsnVN63K7MfjY - cPFS0r5flY2Sajx3fLgV8t4+a0/c6qwVBqmMnbjddJr3YblH5nsZ0XOoohCAPTOL - 9HH1z9rmBT6TywzAcKmzboymnitQ5vFifIyL0CyZND6QjjCarVbL6uOZl746eJpV - /sVpzIemz5FREjp3+liaMmCxUWc3S+vSTcLXwydCWQeXL/X1s/OQJ0XvPFAiW1Ne - 0d9Uk1qROhb+pBEDmkDA+20jQr1n1ocBqvXeQZXvLAZt/bTyceN30OLFyP/rRr3S - XgEdW7nQac5MS1nIHuYfVa/06zEuQCiwHQdn/wfYzU/RpWLyDj7r0j3xjwXZfT4y - jBP3eBtnxAEvtnuy4d61ody9nyqLxLyQHYi6/4cvLn4bZFFSDVGJt7vHZ38NiY8= - =2Q2D + hQIMA6EyPtWBEI+2AQ/5AZ8jtOFLBIT9kvnDqsoBEBgVZMa1NviPs33IgO3qLydT + kxjZ9NG4H/3AuFxN0eI7BI8ppHJeSGsx3UuerVRYMVWt59UhpYUlkhFNMyvnsLGp + LMg5p4XZY3Qrz5Y1zRHw8j/EgtpnH/ZZC2CSMB5Ab7bRMntW13lvEJ/Ku2fr6tTE + XpZBrKv/ArzdOYY+Ydd5HfWBTBo+HlLiKtBUfegx8QrvODjNnqtVZ+B+nXLv/ZzS + N+Krs+SBu9S2NNC+83r980wiP36ogZDYzbwmOgJXvH5XyvT1URq1axpEXK7Y1SUF + cmeiYwJGNIjLogweDALQ1KoerJqhQP9toWt9kvK0a6534wSYJalmw1aav6Crjo9k + sUzc2rFa6no3pMroSseIi2j/gio7Wnc2hRe4JRk5XYRarKWoLDV/1tdESDIBU2ys + kM7E9rQPKd7QnYfZXkohaHtNoRPRc2iqtxv5opu+k6YW9/x1o/0a2GSy98eUG8k3 + kmLZXyoFTDrS1/k4lvF0o7Bj4ng9HMD2MKYSwvlapO7IWWdKjjnoht3UNRC+t2zh + B/fKNUH4E2HjU/aHf6+OQde48pmjj3ZvNdc15TsKZnMXFOeiBgN1XQupkS9dWynv + vvPiPBgb0fLuz12wwuyJX7HH7oJTF5QpDW5U6wdn+7vYmf0qPAJEHqG3uZuRcvrS + XgF4toIKkiMrgC4f24NvfK+ZDPUVo+nVKClN7ezokutTiVo9tLuLgWLpPQn7SCpR + 5SnFt1CN8f0s0y9UrNmxoUf6RVhkay6LP/QB6RVrp8DhxoFTEpHG2Qwg+vPJxVI= + =0BcU -----END PGP MESSAGE----- fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC - - created_at: "2025-07-20T18:28:11Z" + - created_at: "2025-10-13T20:10:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAA04z1h5ogEphvUqynEQPQiIR82hDjXHbG0u1CVotvOfJ0 - xP2rIXemVsHdZiQXF8m24Iumi+cbWvj+4kqDnAx+AVOBlyL6XMNvCL0NEIrcFRrK - /Hi16pEPjP/z7BnpS/4OLTzFhyuUuhP0rU2XhyhhzcFHumlKctMhJu6+4go3NDG7 - a8W4NS37C+JObbKpUO2PQteHW3ptCBKlQ3W1+Horgfy9mw8kL4BwZEQE31XMXHgj - lOBjmKlkKxAcaKzV/HF2oZDGfyF1Pdeic13L6UpOb+zopEgCljwUDDWZPAf4YCGF - tv8l14LwzVO2UoQqWWwQTwiVuA1SDbtl+mjSyNdvxSvnj7tD+NMrp25lm0SnZtyt - QOMmIyVJqMN0DNoNvTb+atbZWPV/nmdt0QHcGJ13x7PblCGuP/Dt0fRekwoCwBpc - U4MYW1VAw/PWyzQ7GWPHIAkUzIqBY9JG/Pa3HNwyisU/psu1eQlMRx0SS5cYMnwh - RVJvVL+4aA+2+d5bYXgZUeoaWCp1duQKyH7GEdO4io8v61IkpRDf1QPbkTNRRT7T - LfSwcV3Cz2PKB7aGSdoSaRn34mzJf6jOoRPr9XHOmUx9Ni7SwFNIN4/r1QhhOlXX - YXC3RIjZhPLMd+cAM12bcgtM+6fJqloLCzU05QxKPeGl/4rmvisb7dIXFAjF2DnS - XgFt34T/r0XOZGydppw219zqiKL+4AXShDKcwE7oPa8AP5rLm/UY6ZwlC4HLvHvm - Su/gHrv5/aR/ORGy3UdxpHTxYfV99nrO1D9qWzm185WJpQ22YhbmV1ZRiywqeMU= - =k56a + hQIMAz5uSgHG2iMJAQ/+MhE8xzGB1GQehGHkz3oosrA6WcrNXzI6ZovZrwmFc3Kg + Guc4tDF1BN6Jxej9GU2zW6z/28I8vSeNgaKR4hJMAcMCYxNlCVOSa2kVETsFD0gs + QzMa7gf2Vi05PxBUVlV3NhLaxiMydDJXgSncBb5qI5ye3niPlzjNnWl6dN4LxmGd + JPaCXdIXXGrZo0gVfdz/ef9IbnGGXyUGDrF1ae1r47BGuXRr0c/ax6hcavzsK0tV + ctjwaqOEwQJG0uTA3kyGH284BSRYSQuAIuDVG5GbnFTCNCnw4u4ujP5e1odmfNSq + IOwK25/5/5jtM1Whdu5K5Ti9bhzc2wCwnkzfjzHawwDMkV5YCmz7jDTSAXGbdUK6 + J6ahJ66MaIOp8onFc2UlNuuK5a4O1M302KQLpXAvxFbwGZefG7zPdcURYppPuWD2 + KkTBGxfibM89PArAyp5G025HOubNExZoRQ2eccbo0i+p2hiDpRbGTOraGQPq8h76 + g/q21rYLG/rlkeffU0zh/0hKdOPLWY5GuIHyumFUBll0O1jK8mKi4B1zJrEypcrE + VTUcw6torSPdA2L9rq6EwQA0+Bi9+nPO8+HycALTlN6RKel6ZcSTuYxQ2lx/TRI+ + tRQNRTrZ8ff6pJxtlaFi7yqfwpdsWLMIAv5qwaFXGs1TaONAH+eDZbq6AL5TwKDS + XgEOrMHunsWF4pF7gRGkld7KTfE2X2WjwwlLvEmd54JxSwhUC9jgxsIgDIIklsya + zlsRC5TbXM5FdwQb2Amm1dNvlQxrErSI6Vt2311IzTO09CMnc5TwqXCojGtAyb4= + =rEj7 -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2025-07-20T18:28:11Z" + - created_at: "2025-10-13T20:10:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ//VlaN9C76SJnHeULdvnJ+A3b+idN+PxyPBXSpyOm3DQJs - /83eVkocwQGDL0Dr92f6OcZuHmb/gPuagwuM5Zak5mTRIYeUHaFSMggGIXBcBqJb - xMlYTWJ13JXkONJaSYn3AI0HVpUT+KMJwyp7H28P10RgBZJWT0k/wSmGxY10GG5d - uoA6HOYiK4/KnfzJa4lQiZm3NNlv+eO5yPib99KT+sl2hDPLuKJA/DUhK1mtdygC - pJrG+ayJUKtBq5veRrK/QpbMoD48sD/yOklPB0KadqjY9nMODh/PePpyQlFI7X6Q - ho4ECJeZoJMuU4cU8GwN+ICGoHhdk/l12JtqLiznDWE3uunqO/QxpyyVxIYG7vRl - cBL9PwLhHrsTD7BGzzihAnzz1sCbelYm1KG0bG/4mMVn8cCrwrmoU34+HJuU+5FO - CDExPnNEfen55KnoCqEvSu1W9tUrIJPoda4WM9Z4jWZRJ1CguF3wXALf9Wrwd5ey - 1ncpyb27s++lQ90G7rrGBijWBzNZISZcsDpUea58+Oz3BzHzj4Bh5O4GvDxG0TFC - R9P2/M0dlPOchalM5uSy5vzFM85sPCdbXns5t4yUOTJGF9ro7ZUbnjXjAThsdh+/ - 0NyVXODQGkjs+z+KtjBX3WjnaTSlN+bCcZQRlKa+ZnNVzSffqoKOMWnjm9Ong2nS - XgFe+yO1c08VmGzmUtpXp0H+wuryk6OLQ4yLuv/NEk/zpdV2vkWGUbgZWBnNYpmE - DICvpbtmyghTmwtz6X6JHngfnUUIRlfk2oJCmh4oBsIAz/5kgECGzJ4P4qIjXQI= - =oz53 + hQIMAw5vwmoEJHQ1AQ/+OZwSba6kCCMRQ2I//QiqTmrAkX7at0oSta9WqDHuR0rZ + 8KYkF2PfQo+hXfweKPQ5wl3225hwdc9rowW3XNZ8QX3oP3t4bXKciY+wxvMI42ZD + uQHKqhlIsFvC9IhYdIUQaM8xxzCLH6vofjFWKeCTNBhtlR4TAZ9XsMYYqsRwxWJp + VKskajQFDZnHg/qw18MkgQaC0Xbm0fAGMZa3/9ET0qnc/6yL8H8idnCZIRvrxfLP + X7rXh+XXJYtv7uRhJLUYiOm76GrBhjFRA0kSnhFGv76dFftIMbt5UsGfBzde4fMC + oRV2fA6irtv7LdA6hIRK+Wehpet9zkQFeQaXnGmtu5GQWyDGCo1o6PqtQH3+iRUs + CiVJumE0qP+LGQ7SPUYjq+XCYohMak5DnWxgVZac3SaUeNY7Sl6rz538twxfh0OE + k+1O3HkANwoow8mBvDig3UdkvSdmz7ilsc0u/8IcZjGieQ18dmuEjIAuyu8e23kx + hSfQ/P8Ym07NtUmRpB83tM+2MgA6x0NvhVkfcR8MQUTsYLX6cr+llyfu3u9q/OCm + uVMs6BdufsM60yshNP5umEUucS27UwfI2GqnIKzCUt4PG4YtZZs/zhljDKxq/B6Q + udZktQE+X7CBRpBO08qAGi0LUk0ywANHXgJaQvAiotWsxNS35SAhmIrg0pU8DwLS + XgEVbnsVLBPrZ+7g7eleQuCxyZ/hXoRkpC4ZA54R3UOVUuUJqXv5iYTOlz4ktEQm + VmIBOXS83I0XXdtSwzXJLYZFjRhPElYqcQDHz/JPuMrJcfVJ/5XNgmb4rrNh0I4= + =43Ft -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2025-07-20T18:28:11Z" + - created_at: "2025-10-13T20:10:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAc6c5dDqGPJ7QNl2X9UEg3CqJGfRGNEymq34kyfWwNgsw - 0Euc9d8VaeVZzZRP0CltaxdiS4L3BiSm0mBJAcguygM3FCISZI3qrt1ZdLfWk4Y7 - 0l4BZ8OFHdUOwHjd5CzKILYG6KVkmQLadzP+DMzavjFnXcLZQfT5QScBHmQVg+kO - 3jH26Jq/opnuwF5G1hE4cULrfryvMV4pR/rS/QP3Cro87+HTVnZv0cRE6JlWXJyi - =Uwlf + hF4DerEtaFuTeewSAQdAJcIypJ1e45UuZQhRrxTwOPWBbCBca46PMSe9m/jECmsw + QbNtYY8BHMiA4xoWh7Mq+IAFSKpBnnC8G03rxWUE11zFAlZoGKhfLC1nlAPHKe1K + 0l4BsNZr0utkNNSzIZVSEuXj4ZeiXlPH0W1ZN2zqzJM14iM+zcE7zoTji64RWpFP + gJI0PnPAfTozJRR01kxkS835P83TA20g5qETCShhfZ2pdfk/NCXjbnWzyrPzRQp3 + =6NS2 -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2025-07-20T18:28:11Z" + - created_at: "2025-10-13T20:10:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/+JnIeYmS/pnJIs/KFjj6TOv9sYUWYEN/IqOiLtSa7hLvN - 4ZLERku/oYFshH8k7fAXsdQ+hHbDW3HzIFZR10u2hrTbsDc1PXA6rSQw6LzY+pg3 - e3mT+7YwtXFYiwzeKNWQajCPCKChot+eBXp+eMnGE1XINYcJc513nhxbgjyQjZSp - ld+UtNxVohuZZSkgihA/vxd1Gr8lOkfrX1R9hc3VUb7nF2qERT1Nhp5NBSV0XlH/ - 4+9W01uW2vOyAbIwH97+izGLkVjYYqzaR8I0qQNGbj6Ra+MJaNNHDf6qkrPhTrHv - nBUrbRXs2+ioRs9EASA1M1frRfsWqRqliuteBgPrfmXHt+UMiXbHmoNufh4M7FW1 - 6WrsunEEuS/bxMhyhzeq7OiMgC+LGb/BHtpgo+q5F9xwHuApjYfXOZX0ma0Muk1U - vyNnMXYUO3eoulp19E2N9FWwekwzPzynrnf25W0cdpCd6pfRAUNdnaVrop/F1Q5h - fQxZTokCnFzF4B/F6e7Dgw+kmJp4AZ6UcsaX7BGh0dO/RcyPxeCey5tbp8tbOOlK - l8iJJ3wvHff1taXjxoaaEjNkE4/a2oRQ7ILVPpzdVdvF+NUzy2nbeEF3XE1B3V+E - TCP6OLDBZRP2XJoRyLBym9ShJaoYkRrEdTn8mQ9MDWdR882nEsWz0+LVn3ZHbxfS - XgH/F7rZY2DJjCo4xbFER4G+3NjfOswanvpDdTdQ0NfP3qUWR9kroKJnGW0cjDTu - MymLSUZ4vhszBiQEVrvW/HSnItiuX67j4Cd+RKFnroIajkh/CBxu4If84VFg1tk= - =nwjq + hQIMAxjNhCKPP69fAQ/+OfU/K3KOJETZY+6eok9W5mnSe+CfgY0YNl4U1wV3iWOp + eN8r8oD+cj2L1c/cjB7/AbnYdakUj15JtOIK/sQHgqgMjrt0/Qn85696DV02vhjH + LizofnsD/GdZp10Mr9hVqtldsxZ+2hpv/UVv3ijxCLkbBSeB/urhIspRDRLVclJ8 + FfGUFbXhPZvsf2boNMH3IAsXumUf6X0CXZorVPeUfGEtNp/upEmdJ7RVyKoaNbSh + lDsqcnvez+6AAB8KzkBl3cIcl4RcnniyVjhwCSnrhwj4AFyadhFI367pt85eTnw5 + LzchFBBCu5ptNVaWea9MsSLUT13Mzas4TjzaEyG78oJVbRw7T57HSIJZoNtxVrG0 + hkNTLIvSAC9Hoo2CJYNVmVsmssfxjgmw16DdqMYd/WX4mTt7vfpFD1ESibRnkNGj + hNqfZbQ+j0rhTFUtg4WvWGx5F6CgB8Ap6q12wibTilgT4iVEzJ7y6TfOAOTDZ6cK + 8WImS0+5Sc753XlBi5e4Dhz/DtGNKg3kosACN21AsyJvMztPM+5BDfIj9xkdZ6bT + zmvkYBYJSB0SGkj1DUXdO4tLgA27+X8c+G6pZ8ezSjg33NHR89wlgIeKzMM7Y7Du + cTLfsfmsJRZ41dC4ShiUW7bD29UtBPt3G5xWAym4GyEbaUc+tdad7zonfANBS+zS + XgESquN5xawvfQdXdeTvNlyoJdOrj4jnoQBQ4BFDJsFCPmGW1XJM9SYMy+n/oblQ + 9FND78u1AyQNbYiZR8/XJSQojG3RarERmC95zYfE/v6J9ZePl3IcFrzSFkKMEbM= + =wYBz -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2025-07-20T18:28:11Z" + - created_at: "2025-10-13T20:10:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//Qj7HVfszo9OAqoZFQtLqk7hKptSSjpD1TpbszeXl2imT - X7Z7bANyApqUDqaPAgAKYfKDg40dBiiV1ebYjiPqZFEVpOfR9+oRrkuHbwlRZLFw - rvd3/w5InOiP++eLT23E4HiLXZuSYk7JhWFgqYLirxgS9IypQeAFgVc+1CWBizOk - 3DLUHfjLScNq9Imxw1NyPoQn1sSv7wzTamnnBckmJqs7KLUlkYrjAzIMkc4iXVaK - LBaJ05QXFKQzEcN+VACE3fm2zFPumNBoykpYBqn87rV/2CTsK/Q7wluNineiSy9/ - jwDKnEkgm7WQsjCCZcavSpFSGM8VMDQHq7qFvZns4fgFe4z9SAqEiMPJlY8jsyNp - rKxc7mNu3mIUHbJ8JCsMBgUKtgq0U1kC9xpncAC6G94YsNUwcYznmkbdRHy0q54L - tE2H/U9YGIOAnAIoabjdW6eFuaFBiLTZOqh8pfCT2T7zhIbVFumjZZ2U2mp/2ImE - BbUdyV6ENuADabE+lDKDJlh7tr9MuUQxiwgga6Rggpo3F/ZwA0AL75RRAOsadfft - Qa9zWe+THmGnwD5YG3ZeEcGsI8WGuexaOgMlbNJld7ayqSXISMOXNL/Hv8aiKk6I - z9I6EZlo3DjUJ/J1Yt1jV39GuRg7PBrNaUXPzs/Adcaorlxps1hrhRDO55kNQO/S - XgGpOpyqXj3rW8120Ir99chuRZ8+57wrMVm3Iq+IIk2lvgsysvhABmLaJkvIxzMs - OKAqjSSmh88DmM4wGGhSTSWs+6Hid97rLXxZ/inrdzL45H5NzwZFMXK77CQX708= - =0gyc + hQIMA1Hthzn+T1OoAQ//aUjp3+PSRB/eg9NPc4F0rylFKYrN5wNgBPGqMVIZisfs + 5OsJZv+rp1sLNDoEFF9mShN6sjDgNlESCrC54v05y1YKDoc4v1ByBrmFsOe5SNmH + 4a21LLAhf8AVUgYjsNEumllcKGSoN+a7qpXsXK8eFZaI0twLT875CTfgECKuUwMQ + WckrimOCUEtELOnSXcbX20LK3/SeqFCQP8vmYweMco/bSgduSya8X/I2ccLxFdBn + 3xJVJRfv/U+gHNX1aTS3W7T/hTWrYfdoYS02JcESgs8qwixmdeh9jOSRvyNghzlx + e9FCeoCCl22/hdeAV6/FAGKZf/c1UdCw9iyQcZfss9jbfMHXwb7oUyrHFZWA7cox + 4GE96EIWO13nRiNhuwuZtCvpQNObfNmBQTQCexDsCyWbqf7Ugo/rxK1qZy20GQ5T + kkYXbiUfpw4Dd+tNdWBLuYcwPGzJT9u2UxAIdQ8LMC5q0gPa3BIHOEeQehsFu3/H + WgL8hF0Nlzy2NtVDNBwWoCpC0bHP4eYHjZvHTSYvdm8fuhsYLczeUqozXPTaPVxy + qTjVIe+Iub2GtNTIVbLImfz7suraeEu2EMFykSbABk3Ai7Pr+W9AbwYaSCKNgoBl + UdSZVIVUmK60ir/wX9NFXdasKGcD+9QsNSGEyUrJQlprGa4qK9d+UR3dv/H0RvTS + XgFjVJcrym9yFcMxJ1CyQkOsGeJV8GlxhRo2/sZ28oqmyNAWjCy0+ctuNAKMYzgs + HtbCncFw/dkMT3taMWByxWPo4u3mMDkK9IP9ok60w7tf63xQYmYy90R6H/5js64= + =bM86 -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2025-07-20T18:28:11Z" + - created_at: "2025-10-13T20:10:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqARAApMNOCAyZjUdI1uFcPrDG0nLRtX1USKClRwdCTrTDY4Xr - vN2+ndwsIxj9NWjsfOgDqj4mEqh/l8cr4jtH4SR4C51KwCOWBnQByvaS9T9M27hZ - KwlfkeDuiyfxdEiEbCuYj5Ue/eKuRGl1wePSK3XsYS//jNA+yJ7I5VuqOXLuk3Ky - kMWqgftAiUfEwtQTUVj+oyZ94ebDtTtRZLtsLYP/NRKaNAoJoJKAtyUzOH1iTA4w - 5+K9rTH26PcDbkcNuCzxzlq62l/4pfSV3JQBU1ukfYKBjkQOQA57aHxGvkpT1KPs - 5ieLiikQRFXmPbKmUhZsFTpIBBYEMR96VyTb0GVP+Bq/iCcq0pV+xtB2ht8PMhJ8 - oJJDSQzxtH+TAuHXIGpxh0pu0Qv5RRjGJ3APWIvlNO9f3+66Kq+7/iLrv4amau0o - fMdx9991xy/9O1wJseRLK7kBCo2Y0451LcxGSKDRYmnYkqYVK08qDtYdJAS7/pR4 - zHKwt7Yx8rZDcY6FKNjaXPPc5UZkoYWKxlJbPOTQ+ZpWh/a6ITu2klFMLjtETTXE - oskrotoCB6MoYTDLXS6AG9H6zuGVe2YtzdBqoeV7JkD5SbXWbivoue9JqBpiAaay - TOqtmyqgJnfyCRJ49ll3DwDwI8qHZxF0DV6ny+UkGfu6sdXSApLw+Boqb3CA16DS - XgFfPBbhrhVjRnW9WU9J0hB0C9AaGsXkvKuxJtlPUyIDiL6umAXyfZwjFLWpCA9h - LQXsoBo/ac8a13IFUM/Mg0N2LN6Cli4Y368dl7A+rf6yrRCQDJ6furCUa/AnyVk= - =WYRn + hQIMA46L6MuPqfJqAQ/9Fd95ys+j2usUMwvOtC5kOxEtEE5oBaQFJ3J3KdFEVhzj + shBjHlWkMJQmbk9DhXPlcop8qQdp0rqF4RX2KbgH77Aulh6MBTQ6GUGWWW13sWW2 + Cv52adz9Yf6V96Waklgp+WtnyLQjGO46QH4vReCjzE/mjy2MTaVaoDEdN1+x+XUJ + kze1DkVLjrOh0UYK1WFwmZdDA2ZbObyMCmgZOKMh+C59GKSe+Vzom3ulnmBpoIIk + 63QdzX4X6C1HlE5l9JOW/09da37hQrCjGvvyq6SByOSsgjAEt7Ib9GTSspVmlcLz + Zv+xTGiMMFMqmnhuBz/2BTFcSR3CXfa5J/bOHS0DJ53hJF4WSsz/1abOiW5VX8ou + 4U/d0iCb3mjieJZS8NEYJBJGrvVm508PriRDm7SiC163ar8yuOewQtnbfXZY2hvv + NnbBmjwHh9nxTVabo9eIoVR5/ZrQ381USPppGCDGtP7KewGsJeyXcOFKFploG0pp + MrBanO/ad2QTvkAR/GmG/23KR9mxwa7GJEZDMsGo3kBWjgf0EMjf2rHm9ODxdvJP + av8pCn0k0f0g3muC6Y4tSB+vnZ2teUi3RruYBCvFNFRLhaMmlSgjLVZsmoMJnAiC + iDHqFWhRbB3ep0T0nyRChsosH4pRCBR/m/rh4JrOndxZrqActMzTd/V3d0UI2mfS + XgFbi4mkURuALFlf+/bKnJnv51NHbG+EIynn4sFjJ2qVaGKThOdJbxOLqOiMN9z3 + TF9LJrPWahIWud6/M8vX9i7u7KfuaXdfp9taC2tw2DSm5WK9uA7+H0AtuY5Fv1g= + =BaqN -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2025-07-20T18:28:11Z" + - created_at: "2025-10-13T20:10:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA4EEKdYEzV0pAQ/8CyQ33WalgCh6onJN9riCoKfwnmS0Y9ph/fFs4TVoXwfQ - G0wZpcpEGLqpJvmD2uGWcEWjI+xYy4AI7DOc/9tCnwG7ojbN3gcyo38fCQv4rF3F - cfvnKhjMZ134GBaoZjAE9DTm7DktvbXfEn21UhsZJ484ga/vLkSM/GGdeGBhN+VD - O4MRV5+ipyinvhrFlPL+RBNfFxqG5247TakkRTuEyJooUSVSHpo6cvD10HCE5Xmu - CWPmL0pWZMAb/zF5YV5qAuCjYXmD2IWmvmuUJMl/MJAYFNc5Lkzv9PZ6YYO9dPm/ - YuLHTI74sVWSzEfEWW7TpTjDV+wWtVDEluW0rU/BBi5Pe5mojsSATU/yc9xLnn11 - f0cBfzE2edMI1JVWVGD7z36L7vbA9SmfrPMiAv4HH4XIMsKRm4E+Sagvpmfzp4aQ - RQaQRROnlPF3OiBEESXF6fJMTx2oUY/rGr0N4vHdbftjrAzSw1055U+sJr9hMowz - QEXi535RbpNYx6K06jMR5xh0s1TLZ8vQ96g+cBzWAgnL78r6WXnE4wrWQ1PIek54 - ynUN+IckmfUNvJkNOpysgQjhXR4OZ2PJYHZK3NozDfuQ0gOn4RPAwuQLDrdsPsm9 - cX4iJdhWfEdABZ//oWTkcTRbOgeLg3sBMQ3uKOCuIdUNxv8QArvAgzoYL0XVSrTS - XgFXFTQlV/Q+h+p9gqRlY83aaORunqmbKmqp7b0CXDRGTqzp78PfBpu83rcvfrlt - vW/Mc6sdQKbp1CLWjwi5rvicad+syff5K1Yj4KM0Va6EN02fR3Y3LX1umSUz9hg= - =S1o0 - -----END PGP MESSAGE----- - fp: 9DFA033E3DAEBAD7FDD71B056C7AAA54BE05F7BA - - created_at: "2025-07-20T18:28:11Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hF4DQrf1tCqiJxoSAQdAmctmfovaoatnLuqx5thkVhRKPDmu0lO1Cz5DLyEtO0Mw - f//rqh3/XZJV5+E9Lg3z4JwmvGOBYRzx2ieZXjG97CgXNJABKZEaVIJRYK188qvG - 0l4BYsSpSvsPpy2sSpaieMxYsZaHSbTVLCXXeWEuscjZf8YIt0Mtz/Xuo+vhYBCt - AYphX1T7gM32x84bRKY2GaHMWiJf8gliyp4GEuAcT/3Qy/5T5IzuT7ZCFPY0oJtq - =4oBN + hF4DQrf1tCqiJxoSAQdAnCWM69qHNONCr9s8GS6BCXCtOLFpxeCZfzA7jOZVg1Qw + /nNKYjCP6FbEyy0C1ho30O4zrq48Zto0/qGb3VLn2iXpanlHXN932C+I8rTs6HSW + 0l4BPdB07w+0s3/y2yLFJQ+s8IeWY4y6WmLubNgdFfZizbp4UvfWfRIs0cMpOaCD + UQzChZSP7SvM2laiD+025SQ5ryN3p1DxEmn6BURdg207MInBs4UyzZmAxfl7/8yY + =uZOR -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2025-07-20T18:28:11Z" + - created_at: "2025-10-13T20:10:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAI999uiupFybQLd1PFvc8U3Iubq8C1Ak7MSeInUWtHAow - /0AFYupRiOj4plWENTnOtSLaJWaUPtxH5IPmqCti5zZa3EiNaDZi+rQ0pgcMIcg+ - 0lgBQ7C+PTBjVdFNSwbfqTNIA9d+Dnx58rAmv9gnJT29ersC7q30kA6XXt0OORP8 - +Qw94iehnPRN4wIFunyBpB/T/rosnCQwl1o4YF8Qg6c6i33Ka40PKfbk - =0oiT + hF4DzAGzViGx4qcSAQdAudk8kyoAg1AzLdhTIjIPycUgF8I6yYJWs9ox/kLLLmYw + gIVZS1m8gNCe18uoYnNYdLCr8s9HXvOj/c9hg+ZwUnd6pqCSn1nQ4Fc8evURoGYS + 0lgBvVS2bVCTqST0qTrelYtPIfDbKeszGA0kNSVjIgiL8t8mJDg03ZJgm5cw4Lg2 + Zfxyg3699siroPSJ57cPOM3vLYIQQ8JmS832qj+WNRB2s8ggr36fPGXk + =Lnsx -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2025-07-20T18:28:11Z" + - created_at: "2025-10-13T20:10:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ/8CBqRnnTS2cJsQ3cnCw0g8c5YG1mlfiCfo4XwcUCCYRUH - cCh1AtWdBzjqbL2rQ9HpJrTiudwpHI5NQhTd8M16klvlfoaJcIFkFOJlmqJIZROb - S1pwpCSVqfPzMH/i4/OhP3hebJ1tAv3DovKo8D6K0mwxPAr0GcWuNxwYgksArHGs - HwCr0+eZKtHvcIT2u7XRzbmgS7sylRT32IpouOKEj/xO5EgKlug3zDI9OWOjwQO3 - eDB56bOpbD5lolT+mUbeklt8K9xo/AxllePOtj8VnAQiJ89VlIwzE0ULxEU1J48e - 6ACIZ5E337OfyiUw8CCAGeMpSG+3WJCBRPoQdTPtDXl0INIcTF2IHnFrbPQfM7gk - zWbU2Rc7+kuvR0eEKiy4Zs+IprG9prpLyI3ZFLrwZK98IYe54wjokDnNay154lyX - ncJX37e5RIj7xb0nDGQtNxaktX1n9wUXGssCHLecDIXQ8MstRkPh2/liwt3ZaGtL - gyp49DBLF+9S2EKAdGk3lEyCvYARuGi5FvZ390+ig5H22U0CP4c6/bwPRC9cgAK0 - nXGleEeCCcE503cZf/ThOQQUKULtdTqrZVzL9K9OVFYUjrhjlxdW4dzIOgL+K3lK - h7mLEvmgRnaSYVWLfn7NjzrvUC20Zem6I02hV4GIYGjzi9epikn6IlBw9N1hwgrS - XgHHsygIAU6Tekg0DlMw2yb9DH2s86XlLfmp0KxBr7zuu/NSsPbhj3a9OYft38st - TOEdrZL+CqITCyWhUpWetmlFeDdgDtLFNts+/5y1aLf/v68mV3OsWqyledUhVa4= - =vAn4 + hQIMA2pVdGTIrZI+ARAAzDme1irtt/6nz5sxWuabWgo6EDqf3eI7bDY0Q3Xatb2g + Pvg/CjB+dLJft56Kte/lnWjVkaaKTK7aIsQ0aI61CvWpmGanPe5U7Z4WTdz86TaZ + aIuxWvS7io/oUILcKk8u76V9cvunfHPUHDdzvQUvoEeAyOl5r13eUxfHGNSXyGly + SsFOkCkUaPCEKdZf6F2PXBdMT76jl7z4iiM0Sj4HnDb+Liw29WtJsVbX75TszF5d + ngDjobt5odFSm3Ea4faZx9ONNHUS73QuDtidBcbA+79tUlHwLICpRZrwI8Ox3prs + t7TKERP0h+lx0t+a5pqqxSNbkoZlDGsrrONaWeXBocrvYwVs58nMu7qrwJjd2rhn + AeME5mY2MIez7R6NYlXdLAFmfFczOVHgVX9mtawNPlgZjhmQFgPiqJWWfIvL8d2v + yAvuSd1SMT3CNYYIQvr7DLc2xqJb3VVrIpG1s8OW9OvtHRA2gFSYssNCmgIFUaxu + nj7eL6wGsZ3BXLZeSmx/LEV4OhXER2YU3H8zljyk/OJ7a5p7fVa++tQXjdLcBh0l + ssh52dML5270t1IgoM/vTZHe9OitqFj8cplSt5DZP6M/L1+/lPjSC32/WJ/aW0cf + FGSHucAYp5Jb9mWIAczLJG04VXGmvgo2qk2UH+VFuHNYX6591oTOpcFXVYRWfTHS + XgEZaJVKSZqJpmE3zCCUMRBLFF52YWSo4bDEiA/6THtTJkOgQ6GFUxrjolv+QFth + c6hNvbX8jRISpXfKYiUavDyT8Rj83/5weEB8c2jTxI8mbx+QYSmG/FNh/upDtLc= + =U5vk -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/pad.sops.yaml b/inventories/chaosknoten/host_vars/pad.sops.yaml index 5c46042..cb6c88e 100644 --- a/inventories/chaosknoten/host_vars/pad.sops.yaml +++ b/inventories/chaosknoten/host_vars/pad.sops.yaml @@ -5,217 +5,197 @@ sops: lastmodified: "2025-05-04T14:02:14Z" mac: ENC[AES256_GCM,data:h9E+eIum7jyIx78zJh65c/4QMZRq+stNklGuBGo8afYpicLPG/A9LZz1UeBSxyEoMOV/jHAIuoU5u1wmijcsZSBBjI0LZsBTnGLORWEZCoVTEVCUp9CJHZ8zQEVj4Gt+V/moR+pD4s3YLuywamjquvghwtOMYt1JzsePGcCkHUI=,iv:wxhwDM9hmALuX9Ko4izSQ270X1aaLH5Z1iu93/D/Kls=,tag:j0+XqgV43A6ry6hbHhGj2Q==,type:str] pgp: - - created_at: "2025-07-20T18:28:12Z" + - created_at: "2025-10-13T20:10:43Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//aNqxoOe92/qN5cGXIHEMQZLzFLwft0nn7vcp+Aumz/Ry - HpzIMCg9jbFOJyX/AXogcnD/eFdbByEdJoweK/8HT9bRdcMAy/JXSZ6JK4BCrdeC - zljtb/LMJhwwLcHo7N6te1NJUxHYiN4kCFzNx/bw18BtXxkpGThUolh9d2AKkzFl - WpfFD6jq1kKntHh7xgZh85XEmcrh7TMTnVbSphggl50SoDMr0QqlE6+3M15/wPJy - BkU8lZrd9pnAI54kf9hbyARwLXFO2op2Mg01XqPtZqr0lAJWme8tchTzYfBMy6VA - gdecfdSa/QNbcoT7MQc4XuNnATZ4V9MGYasxIwfAEd+gJdHTjdpGf7R580b0s5/O - 77fy5p2AVC3TNgjKRerIolCG946p9L5sexExphpnx+QPcfZxqxRFV6wCHAyfFE7D - 5pHNDwTi5xKhv5Umsx6SWIgxwGCuBdSmfp3fAMtMpZtpmgIG89ZMM+IEyhyNOOId - wrDIbzW2b4P39Uldg6959VYO7kgX/+geHaunogYu11sVIXl2sh+tQ3745bZUyK+4 - 9TkY36i0pw88X+qtZeJcynIVs1X5kZU/j9NoqR8uXVo+aTUrqz0Lmw5TJmbtHuc8 - zln5ahJ2oEAh91yKIaG4chXWmOlHa2hLseJh2XRmgmAel9LxZxRDVNxEB4MngmXS - XgFCCgrmDBEeADGdY+Npg3arQPdQUv7N9zOcVx0+8YzqUkwikbLlAprI82cpRYbN - PZbwZC68VugNQ2lrTVGl/Vszf77Sqw8YgHKHaCNQeGQ1EpLiTDSTlRidxXQeQqg= - =IO/Y + hQIMAxK/JaB2/SdtARAAkolIEsdplQJcA8+qj1QblUlBFtNdBkAN/uR2DsJUeA1K + u79l9bmOv2/gQNDU5VHNQvbklU4uqjZh3wEfTd4E1ywEjKNzA62njYAg+2/t2tM7 + +0a3I3SsnXI6+BVRiLOqclIZ0/D3h9y5vGrIyBMG4P1kaB7c+5aPR8d2lP58Dxkn + wJA81U8JaAhjSYstzgSUUfsp9dNCQj6hax4YaHrXVq17ToJIftMa9TgAyUCZCqRW + 7DAILy+D0J0h9mvZL8++Sl+mkQqF4FpOlN1kphEz5itmOJ3LrGPDa8HalJMaHaJH + UZ4GPlZY5kAqmMffZPArQD1aMbgRiF9kN1FBfI2Xvkp7PRxuCzj/cxyiyPY2EsVV + cfSSdBot60WS0GyH8pVPW2Yi1UWNjDEazq9Lrp80q1F4SA9NC56spfDgji3V5EMe + D25LwSXB4zhgb4S9/iAYgJjz6dXvm9pVi1q1GBo5PrfBeX1cS47H9ULYtVTvYFSd + CKTZlOvolBrdMwSUMCD2UEa8hO2cxlf/nD/E0PY4CWHVhXwzcxBWXE7MIiNwlnzg + lJ2uBM05xEVzZq23Gc3wCMLA7042VDMKlq3jp0rrtMoCa4AzcHdmGB3vcR5WeeuW + uWjgWTOjWdd8P1TDzkvrOOA64RAKI5kyOPehWreCuVefmhQjIUCKJdZ6/0X+48jS + XgHBHrjRDE2GIJ4KmwmRH6A/npul74ABhFpZz+TioTOLABvGjN+vv/aSaKOf1yVM + busIpxXSDX57Ku8i3zOMjGq0PNUM687h06ySTRx2GtCK9OxoyNJWpiPlpw6gnNc= + =P+Ya -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2025-07-20T18:28:12Z" + - created_at: "2025-10-13T20:10:43Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA6EyPtWBEI+2ARAAtSL8SXFBov62tJ8A9z8BUJJxlhyB287yDaE7zmZ7SJJr - mdIXIzd+NZjlT3E3wSbzIs6bXZ+9hpH/FUwoleMnRSinreK/2g1YxK/rDoTGNCoi - z8I9IT+tcxLDI7jk1UdOml7W6+QB4WKt+e3Yj03AqOVH6puo0np/UoNWxEWgttYF - tUeC/5nlOeR3Rmo7xR+aE+IkjwTQIVsWdkn1QjUobURm2MLEcss3ccl/6cYmmbtZ - zlTDWQPbR/7mmqICxJYbHaSDoB8103xBWoyjBoU6Joogt3ITBp8DZMHsrkB7JM8g - VwRIUGoA89SUnDLONRpY+SKyF5otpHz51oh0Zk4WvgilYsBq79BoA8RRKAdA4wif - 3VUZgThoDLarh2X0Y7yRHuIvo3Hyyu/Rb/qSGKc2/C36QlbCG18ZDmBJcXWzsMBr - 6Tgs+EVI6vDXGpsBiZNMlBB9SWa9/QPmZROHSQ7+vEV8HHQIMlQ5gCd/F8HtDSCI - fvva+JvvkiYGyuW36ttX/KWja8cpzqZ/sUabzsr1rIpN755OnOHwl8ct19eNNC6Y - FnqjmQvCiCpAafoSHMowp0gqYRAy7KuZM079fPmC81ulXdaJ/+9TwNRKxK1uxsIN - cRcMBng1RZ7BcaUnZl36v0If7V0FT8JQJEBnsVgb73yj0w998LrcdFkrc+8K5uzS - XgEmC4sgiEb+2SFqTi+pRZNuMpNI42m8oVohaaGK3daBDJzEnO4MDCyaqh7Vrc8K - ksOPAqV3Fge7IM171mncjMOyAFWqKLVJNB+EWFmzBOSu9pcDsOJ7bTxfE0183Bc= - =G4Ui + hQIMA6EyPtWBEI+2AQ//WoxZP4T54kwqz+0Z30UCYfdIYUjuL1g/D7fiuXbMSZHe + cIY6hNfok4gAhfgarrEImIPo82gfTlDGj1m7TdciEMvPS4wOrcwO9PUMhlYPGePd + nHZFlWe58p6H8uKY7TSb4oxklWQ6eDvROuTEFK2fjnKeFFatVjbVrbE12D4iXfSY + L6Qtf+Vadh8GV8BiDWA/eHLLwlK/Z8/6sBXFrp/7iA/aavp2cEYm7YZHWwMXaErB + UbEa5hzV97l9pYtepukE+PbnY9Z9n6uNOy/0+bdjy8aF2QKFMYwjfpyAlfJyz0qf + MrdMnsaYWdYTI07q3FRHtrELSoOektTx9Ln+jELDHG0RWsIpVX+k0SBPaMFE8mMZ + DgiAE+zfQ0qiY/LFuL0Lb9hC/ksdT7RIUbVD1PYyWvi4LriynUv9s+rRNoUNVscr + JnZEeD/HCtH2GaJK/7TtpZGyobWSFr3Mr1d0GMQX2NmnNqCeRCOeLzKB5jaGx/gw + OjMq2QrTGW61oa71l15MpWGNTfPNDAGF3KjZ8IBDUfadY1qjb0TzTGrXBx0SB/L+ + cxaMmCTQJ8ixqs2c4eAFJ9VFiLPN7ABYj84zEmeO6MhCTMrNOxEFco/go3+Iow5Z + XgeyjiUK8MwI8i3OG49sNgtmAPLumris322InYzbSX1OSFVW0gfLadfhE6lXxRLS + XgFMdQnnNa5fQOpPa7RfrVj/1u6G1kRq4vgvZqJUCEcZmKpXidl1vnYrwOBf/0MD + xDO7LsKK5UvN3jHNAQJKMZXOBk076LcJPQQ3G9WsmtsZc6+1KsrHev0irXgokNQ= + =f0+4 -----END PGP MESSAGE----- fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC - - created_at: "2025-07-20T18:28:12Z" + - created_at: "2025-10-13T20:10:43Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ//W7ljbkBHoJ9PAWC27ixI3GqxvBcCVZJbjBOpZCHTMC6L - NvVjVM4/oHqO/RIKw/txAJ63nK4pu/VX5U2R9oPekpUOr3vTaOS+Y+SlIEWnh0r+ - LihOfkQIMQch8LcT1yy6tcLTcO18OokuuK9PSpngkHQvq9zvcA8nYs+/apCg9RYu - DwQxPWukL5g5WPk+GmJHwffStp5M6W2juxwtBEjHcwL2SP3DroqXk5UE9jJ0a6QB - BFl8b2ubeSlbFOrm7LuhF6MREBbxP2b6pPf9Dii5tYZvpsVNcI1Zvk/FGR0j/UaJ - 4CP6GNjKtPIRSfVNi5InZppYvWXRWBgvYMCjjNWHMjIvf8+VmaI0KAOYcfrjN77L - jw2xGwY2GKuZLrgL+q0V9ZtCrXzQsw9mov/8DuzjW8cuWLJ2svHuU4pr5HNm9Mdk - ffcobSgNA01yvhoilil8I9OwvCBnXDSptkCg7wAiewlRW2skwBMzJ+x8tHo1ckPT - IxbNOZO4Ky/M2qbtMkkcrCOfN8aw/xtc4Fgd7bWpOnxqQDW5h4BMEUIhWoyrZN6m - BbnrsjMpuBtG2pLpIzbSXdHXYlGLglSA/HKld/HlvnJ6YzmJ5sq0fLddJejmuZP6 - 8HE3M8NnXCqL8Lg2lu+osWCj0Ie04O51tSOL2MZa1Lrucr4k4R2fJ7JI/Wbj8i/S - XgH5hen0WL2gfvlYH+9L5ouHwIIuG6hzyM9dcKUAstR8bp8BvagBCHB3aoIGvtjv - hB0qYNOVpXQbTDS2rhX7Iyc9O2v41piZJc1Wgpe9owfQ9MXCOumRxReNXa6U3Ko= - =7dsm + hQIMAz5uSgHG2iMJARAAuukdEMZwSNDit2YQMbyBCBGGTqQtcHndjKCfRKMMqDTA + T+ANtxWuL1YB6kXaZpRurCYBKOMlFC7un8/GIDUiJNep4DOcSY8zBYIuPbjSpuQ7 + hCBziiCQhAZMBDB7piHxFTbn03BXFBeTXLR5oz7VPFQ69uJcOCytLYjLz5J483VH + VvJfMKPhIA1i8teesgPcQlkgOlFWP5NxPAUMyNkOrz6G83snsSa1FYS5X1su5YKo + vd3EqQVhv1FO+2s0X1S0am5BK0GWZDMOuzHbMVKTbY/Wizz9KhicXtsCDSq493VX + bXziWQ80rYYOfVOEWHqsgfXWe1OuLzT4JMCp5nx50g7qmKFRw73kMJdyDfijgIjX + NYqvRI+LD6D/sAXGrMvP/CPW0+HxXWfwja2LI4v1cKeI15qVOGvqkrT0X0J+L/xi + ef68zqXQ62M9ICOVJzynV508ZZmrYxM1uLLQfgf2oYM5TlJP+uITPgwB9bELGuIa + h1mGpquxUcbcwmtRKnhJhGmIoEf5t5jyX2wLbdPRGj9S5NzAL7fRGwypgprL5vGR + 18jJY6x6yzyB30DZnxEJyjnwnq3fvbZOuONt55rIKD9v0m11ogYNSMU+X6TTfURz + D7XYmqU2gbvP2g+pS6MmwFIjxwV2r30bmWyGtmOosmvBid9hSkXBNEE9jppN5azS + XgGe4vpkmFNPySNTazuFYHXLFg/wWB8N6ZZIRPXFKtBLmSptJm22YWiiLqpcb/Am + D0onXEHPu0gOBoYhh+dbz2u5ELqfnay/CVOc3WvqegSJvr85mHKX5sXlZGdHFSg= + =A3kB -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2025-07-20T18:28:12Z" + - created_at: "2025-10-13T20:10:43Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ//UIWoUZiWc0lcwJbx7Xt4TH/A5pAHRs7tLK11kNmc/yYO - 9LKj0abYLcEk6ZwTFxHyuOaGixt3XWCeUBwluTsf1hVKyYU+pZoZTZZO75RtlrXv - tncwBjuMjMHPBxrSRtlWM1L7PnSqG2uDNcuoCDIyQPebqbmwLA92+UD61RXEayM8 - kiU2y5LFUICbJAWcE6/wyP2WTsypmlnvy56Hn5NmekwRa3AI9YzDLDUJtvLuhzrj - z4Mb8UZZCje6cE5wXFuuAOBnqLFbQoqiksuHvQ1qQzoai+0MP6TAcylhTFOAYUvx - 5VzHLZohd+F5ukqmFpAA9FxYgnvThhmchyt6HtFIOmeQYm+/d8kcKvHT79SfyFK+ - +FYyBx3g9mMluYrXtNeM5nltMlRFxzEKrvj4U4J5bWnqx5NtviYLk1xQgs/5fJFq - E6Ro+zQFDYjJB0JMgu2neF8SuFOAbhtphDTLibs7XF0N+IQd5c76+zSHmVGaVGs1 - WrOnIDXJDPsrQ4NLA7BMffZ98t4ba8POiJt1ZSH3ZrLakh5E/l6BmDYFOUVXCiPo - ofsgIGq6m4I1uG1DcuZPXBYeY0FDEp4SvyjNDmsTHQZWksHiZdSFNVQtAeqnC4V0 - Ahs3mpqZyVlNqfR5lYeoGcqbxkYKYbwUt3bC53UmSnIkarUf0po47O41FpLVMn7S - XgF9fIMX/lkYp9OAWnYkkYpSnJ7Ild2w6nMqclPsg1ewo1jP6mODZ+LuP0YEjqRO - cHvgv3LTtEmI4q365h8FvQL6KCtktVucFbDrFeldBrwaLVcdZKeOsEIogn9Wdgk= - =EkrG + hQIMAw5vwmoEJHQ1ARAAoN2q5jd5EXQCcZ5m9dS9iuoofusrHNBwx3rxC63AuE+I + SEhOV7QRTzzzyTmmqb/OFmzKgJiy5epCFkT3nkS4lNAZdiw3qBNTS7L1xC6ireeo + 1DMquTVOy/DQ11Zj77oKGRX5DWuXCLAq2mkB89pcglKK2vXGQs16eTuR9tRpNwAS + L8qRBLN1zTJQUTUCyI7+CCBMFkQ3SUFFZG4nfrka08n4O59OubcmkkpYHa262s29 + u5wdgkxI+3GyXvMLku/hLr8kGK76YpvduEM6oMpYC+5k53RMBfekilfWFnyW8cpm + 9CN6Z/BS+TNFH/xrC5MlsV9PwgDXAltXs2CpolpOx2WtZjspPzIrQWqw0I1unocQ + GF4Vlu6S1f/sKKe3y7AMPNq/tZ77vakwELc7zpP2GOoJQTR9eSaK91s70BkO/2il + 0DXc9sT7ecW574NyJ8Qiy9UYHrlmdHZZwtFypZIDRO6bGh8wzhr7mpug6NeQNJpk + Y4zkpoLEdksJ0BeyeUbVS26HHEHe0tAXK04Q9euG6Rs21qJLEkPbpzx4P4oq6z7s + Zj3IBPUn0155GwxrmDdA7l+bnet0XYJt3O+NIyKh3tZXZEBqxs6APhSZsyrbMfm2 + dkDGa1aYM9PICHfsu5gYGZSodAiuu1LDe9foZAWnX8Bqv2GdAg28Z7p84b3zO8zS + XgG7R0YcKoe9Ene1lOe95QSqg1t8Mc4HkNDHd4lH8dVw4KckNKgPYsI8eOB2ilCS + YhPxRLXhUSbb/D0dsbkvuTvNjuvUPyBWPRRoqcmE0A6An1XMCEuOpKwwyr3T1hk= + =dGri -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2025-07-20T18:28:12Z" + - created_at: "2025-10-13T20:10:43Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAV8YVHRPgSGYaixgIXdc6id8t56XZoN/E9fpSCa8TZSEw - 3boOWRPqAKNXtSSlo5edVKc0aKGT8SNSpcj0iZPNIjT7LjN8cX51Agbh8m/7WSwx - 0l4B9PGTl+6CNGVMqeRAgAmk4j+5lopHFvVOTzhdTKTGHSMSXDTWDzSRIGScTYjh - A7RSeNn9Plh1BFaOaHCRoe2ZN8/GiACU6YRdaaChCxfTurRqA6Tg0hrW4Hi/FcbP - =m6s4 + hF4DerEtaFuTeewSAQdAMOYfq13YmUmzXgRSFo+/+vTTrQ6c7NFscvUXvyWeeDQw + uBjdC2BK1e7ZXtzdLe+8lCMEL873lYUP85JZicE84J9DKD4KJ4JdyhobbAtKC5Q+ + 0l4BYTEO99Dt6fSWPpnh9FAWqM77RTgv/5+polMBNvAEJVgHaOl068BZJj9ZlILa + ReLmOzff0TA773KOh9JlXHCTf/AtMdPSOIOK4AcfccOe5m3muRVkpTH/goENlvnP + =Nnkb -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2025-07-20T18:28:12Z" + - created_at: "2025-10-13T20:10:43Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fARAAj4fYd6B+M9fL4TTp0q9vYcLpSaO5HqlhO+aA2xwfi8yV - KL8Y6dNQvogBwwux0mwhfPSDkU4P8NxaF5+loZS6fSpKrCfB3jOI0OXQjlkL1X4j - MHfxKQo3P+gHFY92OBo/H2Z0cp+COySGgQGhL/vz+tlt08eygs1MOB/6S6HWWI0a - fE+2x7Vm/h1QqEG/7EYKJeSnc3Mqt2+vb3Zc0Vo8A4u7ZusjVWFVJX5ka9vtyHla - D6QVHIZewUyqowVP81kqO9b5GPDqDySAdPMd2TSikeLqi3nrCE/ZMkqA9AlxPYds - UCk22jF4jqIlx2KOj+5UiBzmyJ8yZuH4KDo7Sb2ypbu4oV2w9uQbNmtpoGRoF2ZT - UXSvEmObVSB41OVPJPo8P2DOpdH8hTwKd2/k4z3vsAuzzRYypupy2m/rW8SCMoWR - zsmX8jlL08kVfokldgow7PNzDSiamhD+JyuZG/b6nxBYG8YHyYXoX3BrCr+GGAnl - Y2iHjiPwEQlwvYqJU3bpHeqkjp+u+S1oMVVMSEY6QPhepxUpGRvHjHvSElOua4Hn - CtTv5GR5B0JeuQYodDuzgADO/DGP1xAojeixJCdjfcZnwz5GlPzV5dXc3bLlvzju - uYF5GLLIyiMG3eVFq+mNdtNLS6/toLvptohUZHUIOzeBE7a84vj6YaIBJQuI+D3S - XgEW2BR7ssAb7n4m94b7v0P5+kNQXJS/mUtpWt2QRjO7ApgETPKJPL94eHq+ZUFV - zxGCTqmi09a/4JO6cQRAtTddp53r3Rd0Bx+1LMzlbupwJK03P4IGIu4sxUbYTrc= - =oBXZ + hQIMAxjNhCKPP69fARAApvCZ7Y4Eg6jo4I77/gR7o1cBNVk9y7SO8txYXFzzIUX/ + CYooi5WAne2a0PZAXbxwvoSv4hQ4vf59tCYJugu08IRnDWHwlHtQabX7Mg4pGYyC + gJIl/P7XTb7/4C11wm8KH9BleQcbwVt247h9dAdW9nP29MUY707dqos8Snl+0AcA + TnVfC4FJced3jbrgkrJrprYfj853xDdFhDQnoRA2ICRf6X7e2jkwwsPRYtyEphIr + msHBfXtzVbNf+elYU8Elya1YekxUre9fKQDZIYr3Nr7DywEIVSu2oAu+m8M/kn/t + 5tYAOw0uTQ8ToHFIyWGuiYxVDMtwcEFIXznGT4VFebgAqYWhc1U+rSV0oE3VW/rf + GS/ehWoN07MwTWNYm4B04ChywR43czkKeutPqnRPO+LiaDFfEv5n6gwgS+aghBCf + 82Npprkazjun8QkPh4rATOhmp96VPCQKlUIP2N0hYF5Tj30kiKioj9ei/0+K91c/ + +Rg9XUe7zj73qOFGKnu3/c+pWMvX2oTG6RtdkKG5Ah/3xD3PdmTRBA8Zy815cSCF + IkdBbfCNiiNG0miXlij0o7t5/h1z5yBLr7WuhdM4g+l/ms35oWpV57StWbfZZh6p + OP+0UFxm1XX7VkZKxZWOAj/paW2X0OBHS9QoPwSVP7k1Z0+5QkrNhwpIBPWpr13S + XgF5h/yHujI71bqg+qsuaEutUicf72XhC4l7QzC8hngvn3yVwJdVeuMsTzpdf8FX + pVG5TlVwyEiCCyELV23FgW0XCluX7NQaiRVI7A/p18AbSqkwMt9sYBNZlAVVDRo= + =2yt1 -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2025-07-20T18:28:12Z" + - created_at: "2025-10-13T20:10:43Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoARAAtNvLMnRwKO4rkv+XVnhCm9fBqVqsCJtzOm3+oIxuIgcO - TdulmufWkPG87BqquK1MMsIfBFad26m3QJnot8JigLf4VN9KOHwaxEiOafUc+GIz - y+UbWpGTfVz8uCuWp+MgwdhFTQbf48rlfan5hribUL7ZG0gs/k6YCuFxMZOgVmpZ - CbSqGWYQm0lHZwU6dmKsXAXD21yPhU9JY+301e+uoGf/PR4NPp8CpZWSylQ/0Ndn - lzTn0rJEMbiM30QgS0oiKnvLodLGfq+YY1nou3YxUgXgnIun2fOlQ5lO1Wf5yfL+ - JVegUqSJqLVBWXWjaGgNW10PWxrwmx4r431uct8SBYgG2Z4rx7nTPOK1UpvUkOf7 - kaVpnCNChxV9URelNdDE7wv+QBqvNrATjrgV9XQ/JPmc8vgY0ukqVXh3YiBlRrgp - 6GRsFE20Rwwwoun060wUB5coeFxo3fvl3ARfg5tm0DW/HXQMRFLmq5oSF+UCa5ni - lywL7nudomVieHhrGywzFQ0zR8odC7ChY63VFTlptKQ+fbbRyPr+TiVuhKGlCQCn - 1KUUdqDq9xAyGycxyVF+xRairAyIb/Rpl8tCqyvv5g0PyLpdUvU5uLYLU0mINoiO - PvmJdBF1I4xIYOYsIDFYtnB1Ip/KQtceQ6wbVZoTkMThdiYI3IaQU69ZCnWoA5/S - XgFAn6epxYcIA0AKZgwLcuUK0I1UJbBwUAOOSdGs4LVjdH6HhqEtKGtMt6TW1fpb - iOhHHUnBKf4VJT4zrfP3D2WrlbEtV+7njzVzIxQxSLDW5c/JFWwgSkDwmcZGtXI= - =C12p + hQIMA1Hthzn+T1OoAQ//Xon6qrBk1OukKuTGzyz0LrNGkJrBLZC5FpQ4KWVVuTGO + UakD1V4tSliQ01PxjdwVluyCVvMA7Cs4XsrMQPEnJKXcJukl0tK6qNpQtGExU4Yt + SUslVxSjdfcVa+zJYTSQcNivtJUnd05nX/CeRFkJbqGMLYWVI59GZ6R8gLD2J5iI + plWnncxDaV9Wcnsos3DEiamA5qlGY4YUUUx+Cf1tPZtStkuueGq1Ir0uGxn101W2 + Rf3yC38bk3N93yNyka2Bm/KvPVE1fPZovpsyc+Y4gh5UzkI2VCBSnjiKgD4ZbFC4 + lLmobWJgKzIQmP1b8xfjsN83fEeX556J23IVV5H7Q9zCvBWCpXu43MtrbkHhZ53d + oVevbq1lc+J8lMarQNM6UPGXecrlMGCG2wZncD+0SIeLFOJBogTNVxV4hk6f/llt + f0pX/Kd5zZmEOhE3cBXrlDOHaaEMQVXwn2Hv+zpPvnhNZekH0CK0+Z83rC3Uer1G + lLUJdzO3lIy58edAQPrwfeodo2eBxyqKRPoggaB30N659qOBiFWy+OCN9gkVhKYV + sgEVXYdsw0/07OG8shEJz8h8PZIMRzYnxvUMae97UfV02TsyBtB0K0IS9n6uBWZB + u3v8Gicm/n6fN4CTIinGNvRkTLuNTfHrDkxLuRNgvNyuy+09/7UjzleIwqhC+pPS + XgGUVQy+K+OiGLkzjhmtvvKwpbngUXlkz4t4yn8Gf9AeZfiT4CMN5pj+A+C6Bwjx + frjQ7d3eCgo7aOhjD1BU77HIBYELLXHnqBT3MGu5n7FAFFBT1Kfs+lODRszY2p0= + =ZBB5 -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2025-07-20T18:28:12Z" + - created_at: "2025-10-13T20:10:43Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ//c82fjsqdQ21eVipN6br333hV5pz1ADxfdDujj85EXJkN - by1KP7a4bKdmuBqMZq2jAd/7BBMkiTr5VElCZVx02OkVNSAI4W+2Q9jLkLsEmq8q - Bx4FNqqbziu9hPjGbiEaWZZp4Nxw4PET7yLuioLsuXuvc5MBkkAv4NPY6fLia8Lh - J/K/FerErHHe8aDbnb1qbjIdgibGc19jQoy+8O4FjlpWxr7X5r6YIDjH61C+iTed - h/2b3w8OjsaBi1uk1TyXCkCxpJFHw5LpKJ5V+Xyg2k9YFWtTugGG5WiJZ7l15JE1 - Ak2W085nzYReYBr64KiUSEZRzJzA5c7Jw7wxUwuM3LWitnvjEkJs9bjkmu3wicy8 - z7vTQkPVXPlW3zRaEShk9jIizT17y6AxcR2HmhqznGN1cCe/6mVNCqXbjLylFHG8 - 2ez2SheSlo3hEq8Hr42pwxUafKShOUAcvHyXC99mh5SrE2t87SwNf6pHDP48GD6D - bBztseGNapINd6/KMjtCKvhC/5wapyYbgW8/mYYmCqrlyvvs9pSIqBR8vanFMdDA - RGouV2HXLCvvf7C+QJ6I/XMPgK+ie8063+7Mz7i9wtJ44QrIEBBTqBaLgSQ+ojek - 5eTlB5f+6XgiAIrtvMjNuyTNYKjlGILC5+RAfhoZGH6Y5pA6lDJ4egpjRwW6/jzS - XgGuUCRdk0qjpfR5K1HQRLMYx7zhz/MZipHAjAXPBua5NIFDS+G4uS1bVozFY3C3 - RuWqBLmQ/zA4mYkZyDBKdRZOKIHvnNvHT+Drpzs7HKMlt4evnU15V5Y94kveI0k= - =dtNw + hQIMA46L6MuPqfJqAQ/9F4N+HC55MyvYJEADJ7HoFyb1KqqKjq1ZRJkO8DEaA2+m + x47pNAX1qBHSnR2vDHMtKI6c103MQ56gP8FjPe56yXIFSYipM2Z0vsID2jMjed85 + 7SpZ1hSmcyP8xYxjVQ83uvYKZ1DVNTn72u89FCEpLBSIXvWHoxXFZ9lANaDoyzGa + jcpFdgVFo65R8offS36lSz19ErpEXzlhiyS0qwCZsT+BXctrybxo3HHgafjrvZqf + oDwsN65a3skhFkph5kE3/3Y3sF5Q6t5maq3TGpenRtsS613avVkWwqw/X9/nmd1t + jik7Rkccx507MZvj6TSny9nCIkEGmew/Vbj1JLA38DCkdRIUWjUhWZBE4QtwtqnA + rGhAt7tr9B/SIeOyQy+TtdICRT398h3GpyrqwlOmheCyunk/ns6rnhvKc06yhs+S + 5uMkuUhvTi7qUcGHjX3cj6N16BknUrSz5kGoiv3U0JM1gz0oP55iDWCfFw6K9TNZ + ROObvZzzCcrwF4o0YxhaEJTf4jAH1O01dL7iRBYa8EVEv9DigmIJNSI1ZBZh31Jc + Oa/D34UIw8TpAAbtNPXY6kovbcADZVbpaXEAa9NDfM94TfLX5tx0l4++W23ZB9GB + aUGTn78SWlSNBLR83u4aJ/sHvIZ6gmCL3LeT0JfRZ8Ryt0H1mLpunJ4lDXNktuPS + XgHxdfkx2FJMsiqK8ygfeeJUvSx8AVRDHycLPALyjIvOQW6E1kgpZf3fLGPcwoY2 + +EDYy3fG0wQ7O67pWL+hMxuYr4A1L9O4Xdb3dmFEYntmVEr1w3YNJRecRy5ihPw= + =to6D -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2025-07-20T18:28:12Z" + - created_at: "2025-10-13T20:10:43Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA4EEKdYEzV0pAQ//e+W8JAZRCKye0xb0urWAqMhyQB9bPoUdq6NvqOhF1Obe - OIIg7wKMVYagNKnnQ3DT7AlaG02B4lV///cXDbF8z9CqITv0Jy9KDLhWcmCjcK4H - /YIs4uVEUm0SsZniGtX/XBBsVPOSZjrr1Rv+ZQj4S3QJB1bvouZmXotyiSBAGtxs - LWvJbHZMPpeYXYHVJwB1h643uB0RAxl5ob7t1KhdWOBczqTw5LJWkIvhiL9twjRM - SNo/a+R+xXj7+kNhzA6x2p48EEFoCnZLwwwnNxcH/7Ru+VCTkd3+LWRoocYu6Xml - 6KoyMv5QIrg8ObzzNDqqdHV9AL0yMoNbWhA8wW/pImwzWWIoZZnOB+UqnsgmvEJh - z0Aznuzfw490R6I7g/fKTTNXIkh2RmPe03E244H/FL3Ude7xSgVRc85JzECk26gh - PSvYBqgX6gafAHAFYYtu0pI52fIpY26FQ6oFd6lINmBquvu+jVRJJ0tL90x5M9oS - 7pW/++RX9A77sg5uda6/83H3VGyDB73epW+Zif3EY2I4pP14rHba5W6GSv5pQRRO - 44rB0VsrfQrFOgITCqjUWS6XJyfUcwsISCbmKz7aLqMApaoqAGdQz0LYPtlGiWvx - fAbBRmjFhSKt6+U7rvM6oJLjSZE0AQJ6d4BSCjqvU2Tn2jNv5o6VT3XjwqkSpOPS - XgFVMHLs1tTvyT2pavrsO0OkRY+wSEPkwI23/Lh51lOsdRqTChiCsoixoApEkKy+ - /EehrjKxPsX/g7ulvoNlnAMtEYt4ShCcnXY+BJJAQLyZrGb4APSd2TIK9hRTNMk= - =6NMh - -----END PGP MESSAGE----- - fp: 9DFA033E3DAEBAD7FDD71B056C7AAA54BE05F7BA - - created_at: "2025-07-20T18:28:12Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hF4DQrf1tCqiJxoSAQdAqpHTHLJ1nm14QdhNauHESrle15XBGIWMPEVapqcfc0Qw - KqDeoxAQS+KqklzODzy51Wmzt06gGn7AOgGf7mUTOJJDiNwtQrPJay+JYgjmKwvH - 0l4BUgRnvwN9iYesLjh9HNsk/yomORDhwdbMoel3Y5KN3+3dVG9wHSA2A7qpre5D - SWoecyXjnocvu9Iyr1p6d7aPwGcVvN+u/4wD+fsczDVj5megya5avSjD5bXI0tZy - =EQq2 + hF4DQrf1tCqiJxoSAQdAgJIqr9tgiyPy0TLAOk0htl6gARxNr7ARDXllXNusblAw + jzCtJ/u4EPAu+ZFPLe2KsdKgEAvhOsx9VH1wG8/bhd1aJd4SjPy2O1db/TuZ/v9c + 0l4BmAINKLonChboizDJrQICD6axZ0kEVC9zZcvY1dXAgKlmTkDwgjkKmU6dFL9Y + I7HBtKXGO3DXtc+QsjUpOCGVcst+Or7ME+iBDmz73yfWRTbBPmEUOGoWRFRrPERX + =Ogqm -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2025-07-20T18:28:12Z" + - created_at: "2025-10-13T20:10:43Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAgim7RmvpCENDIfjVUrEW9y7BKKfZCzDDjAo7DMKibm0w - fnUxNm6hFRKfZGNw7YRIZxrlkBGrzj3lQaudBzOw+Y28nKK+wjltrX1JjgDA2aQk - 0lgBWY1AIVKdyzJustVIuOwTu1GfLelPKpzT4lFAnvBrs6rEI0DtVgiUtgIxn2aK - ynDbN7LSJH/K84CigYCKzKdY7g9eg6uKuS9QWaDV//oMZbdUijhtK2M9 - =/TsU + hF4DzAGzViGx4qcSAQdA4oOJ4bW4yP7Pk2AMH0CtRRVxqxUmT1571X7DiBhG/2Iw + AIj8yxWAAIuoLifLPcbFNosVuhMqxAHU/sDoMQOJ6bWixYQnpVJXQmgmCiaF8sbS + 0lgBwfQtjHG4BQ9gDXZ+9O0vEkmxAebt6C+Y4x+HvzQsXlGGdZRxrsWsiEFubHO7 + qghONWmqTh3mdt83OtD9l1lR5KpDTZG5D7z9Mxxbd+44s+cPORcJX4bd + =bp0D -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2025-07-20T18:28:12Z" + - created_at: "2025-10-13T20:10:43Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//X+WG/gb9oSpWLPlQ8MC1LTGKbe0U7n1RT9GfkFq6QwaD - 63K+EUOPmmssmWuqIyH6XL9TXK6xX3hn1wzZ825FcmN69O3v7UoLgNTalVC6A2OY - +g9rcpSIb/R1Lt694p75ce0KvzepvyNdzsTwzMSMTMXd+Z4vpUyQKPzOnUCUoOK4 - MKm8iNxX1srl5vEiw3wWR6untn+E/4DGmJMA0BZxR9TTz5dvNnW6F/xn7dG/aLvz - 8MwkisqkGpkb2SIeCexnJFaYtYgIHby+tNVUhBE8A8VOQdRa4OiXNbg+EhO0J7CL - Lhsn5B3jsUp0HAnUrPI8feuwaplzPML/keVE+eIJt+xcXh4znVbclFI3gxNPhMPp - lTjRptzLgPSa0k2+shtF16WA9/zCmFMO338VIEn7wtWPsrtJ2ap6jD9VLA97eas6 - 30aDudXRx/Rg2OyT7K3lfRhgkV+727cbBCYKN5YW+TdQp6LheB5PbWbRGpr6wQbW - phRhgTgSkpjZf2RPCgYLNjI9xlep9lSjBwe4vZW2MdVA1778hvdVb5069n432a8O - A5mPPsfwNi0X+UnFmid397jIFH3ZFoF2YB/otnuRfFA9TdZbayl/lZgXVJvqnGGl - +Zaz74UQiQWxLBYTpmOdh8Cs2eEeo3vQGkOpRr0gw9AXrLbiVYfv+CwT0QGAUC3S - XgGASADjHRKN0sqUwZ6/XI9UeWTMNZq0Y/DPWBGTzT4AehLlJKo9Ju8iZlN9D6Dc - XoIqjpK3F7swjMED+xnK89dWCymPZDGmA9fWtkFnGkMjDWrW62+UNb9f/Oh1sGI= - =8MRO + hQIMA2pVdGTIrZI+AQ//dUnHLEoYSvPewKYvDUZdW0djUpzaq3911lbn/5RJ4YyG + tM7XhBVmgN9Vw3UArrKk9ZRFt4kwTKC5jLAp1c5HmecRBr+T8IP7z/yg6fO7CNP/ + jLO5l6tct2d9YAvNdzPKVM58B1pv6EgDDYV6kIlNIZ5MsZMcC/p1XfOALPIZl0Qk + C/o0+QAco/qYv+cBx+8AkaCcAHSngpf0Y+lqpQkRUShIYGuhuCt88QX9sfAiopJc + oyzNRZqvG2FQT0AXk5xQ1xhLECm5HFVnYiQetCJCieltXqByY8QrWjIKr70N1r0L + Fmr4pvr/2tLGJoaWNqa/6/RdUSj+SkIUkqB0tZVTUyKquCVaSbVHhwnKNLIeg94n + ulDPz4GaKj30Y2WmqZ0Z1+7TizsLFR6iO7PlZ1vsuVoswnbB98Y2e1fCsQsw2hSa + qeP25kdhBA14R0na+4zmXdrmhxjdJ4gGF3iBGyTq5kTVVkfeRZ5mougLzJaATj5l + 5XSgwDO0seix+0z6eALMcTVrO6mARoXjVCkzCslzjqyVKj2kTGxxl4Xktb4KH7tF + Rdicrh6SOBMFOZpqZENM8Vl0nNNzbmA9dKmEyCilun2lit9lz9xYZp8esrkLCbh+ + Mz8bEEk8hCsHCCyfZ4Pfg9wscxruTX/p561SDUYFhAUXUVNUfQpdg3crcwHAs8/S + XgEnr6ig77/vjVN6P1kMUN/XrAE8pbPlFRYX3kxqPB9xKzrNj/SHwjFstjKUcfhY + wEgrFIMGwP/BsDfXnMvPoTHcl+GnOVGBQ2jGW05NG32IvXqU8gedG6Ajfxa1EzQ= + =m5ke -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/pretalx.sops.yaml b/inventories/chaosknoten/host_vars/pretalx.sops.yaml index 9d5082f..b0a4262 100644 --- a/inventories/chaosknoten/host_vars/pretalx.sops.yaml +++ b/inventories/chaosknoten/host_vars/pretalx.sops.yaml @@ -4,217 +4,197 @@ sops: lastmodified: "2025-05-04T14:05:04Z" mac: ENC[AES256_GCM,data:sO7OHejtPDQNt3bfXl+W488vCqaIicE/iZgIw6dClwoHZUHDNlv/V4aubJk89vELCs7JeOYocqZhARrrHERUxLtQMf+YguA2fBYZOVZ37chtfIqYoceq9ygzzzI6/PQlO5oRoe6HkASJK5t9oVWdfWUmBfWWWjBGrsKbUGnlPOg=,iv:p9NZw6HA0oj0PWJYDIjUKzj3DAI4ymI2V7o9knsvjnE=,tag:AbMiE6WQSPkuY2AEIcHAYw==,type:str] pgp: - - created_at: "2025-07-20T18:28:13Z" + - created_at: "2025-10-13T20:10:49Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/9EffdaNUw7+lCgQpIq+ZLSK08NF6VdkSgrB2qBfvdx6K2 - rHNsBWMhfXKJRu42NBKP6v9xuJsNrpS0cJKhBaZB1sZReJ6iFRR6iFv3WfRPODNw - owx0dXP2OTgrrJYr9jbg8s2yUZzRYakEqa9KZkLIjz9klyxclDF6aI1DjRuNJ2iP - almHjD+wjr7KZSPXSCEESfRD+k2wUUk/xMLQ73tdZ+8+Azex5diquEZCXZ4VPeW2 - B8pl3JQlDSSdaxD1YAa10eoIwIVn/ac1phPOwPbegtvhRs05HpaMVD8agP6r2IFe - sLoqAGRlgPAr+a8KDxwxhRirrutOxhvgaCTHqkWBaUsNdgDgWfEC1ujCM6MpzbnP - lu/VQsDEN1nZs1UQ3qjCehh99NBdD01bL3TzTXrT9GhoYxAKb+QN9+7csTKq9LH9 - QAFQOQ3oIZGf3rdpYwxrLYAfA/dSu29xXHcR9qHVOSPDg5r7s1ccLCT/DwtiUfrL - gXzMUMPmcHAKaMhpxGXtnlyZFfSA34EmFFWL180de8fUHW+vD5AQu07RuwbDmX1O - ocYp2GPwyB5j6XsAGKDesyXB3q36qKyHS1A3XeWd+11cSkcorDYTQqjB/6IeA0ym - DSBUTVuRCput5skr2t/UMu41PnA/WTGKHmXU4tAWTCOPF2kIlJJpOcUC2m5M/+bS - XAGh43M0q6QwfXLVpSnbtQhT+FRGj4xgie6A4aL2kKjwbo47hfFtQ2kw3PFk6iXL - yAnLTG+yW0/FOm6Xmk838mO+xuNNHaOMZgCYXmD71l9u3Za5xjDPRQNm1wi6 - =P45G + hQIMAxK/JaB2/SdtARAAm0F/Zw60hawLrD82SGr4spPY+fDKhyHBwenuFLaQsFme + ahf4kedykaTlUbTWODAIcL7KkDhG6RzuUr57nVD8V3i+hO3UPW3Bv+rssrABTex/ + PzKhrfK+oFcE/abvzMfMIhjxpC0htWa3twipxmBANsYER08kftbZc+DS/pvWCYjC + KlzCsaujQyWaWrA/0sUdSe71S0oNSDCUIYQQbuWG+h/FFqCAMJ1yXLbjfeQlwZba + c8RYvh5Zr+fizHiSJsYDwjKYCNocaSygW5I/mpbpjGK7WhleGrcEkt3Ijvb1K1Dn + J0ysspmPZmOhV+uuygcEQxCQHL+0oWp82qu7AwcnYrnYe9KoXFTmx5GBXtLDxOYG + sxc9JQs2gI9cGSaQbVtE4BrNaKuCDFLIAy8RBXC6m126gjG2uIDv626ONx39HCd9 + UBeDXQHRoq8H73pncz0RPb5Q2yKPbnTUw/C3ORbfE4c70oioIvtA6ZRtnGA+bkl9 + x6YR+Vqc08qwe3/qyKEnHZXhY7KEw1L6qK6ox7iLFHmYylNccwZ7Y5qMd0b/QhGz + 4uIIdJEI6TO6KAloSKrATlcqt/vnS/9DGeI6Ad2fwt0SpzHhW/r90cw7aOL0gGl3 + CCqiKOxj5pjIIvUoD4nVoSkvlzMn97TBlir7GQuKMHlhap415N4WNsuLrE06TOHS + XgHUs3CX25PSJSuVk2wyblHrMqsNIdfGDQyxSsgS13huBksWsvlbgNixNSzkFzZS + DDJAksal/P/a7IJWopnR22TonZxPV4bANPtxucBdjiKSmXCfkQuzTjm3QOzW0ek= + =8BaF -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2025-07-20T18:28:13Z" + - created_at: "2025-10-13T20:10:49Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA6EyPtWBEI+2AQ/+PWhuluGgAjqYQpFiTUSUhwWbAwpF8o3pQan4b+cd8a6H - f1jNeA5XsWQlmtzlW91T3vInqRrWzp8JKR213nFm3lA9SkNQmDs+UwcfQO8at2JQ - YMhUWf3ea2TWn6bKb/LNYMdcsKNlaueyQgxSJZP0rhPoI8uX4r9iVvfbK8g8iBnw - 9HErdOHfaf1PNXFQtSh+1/47ocyxiBg0/7+e3C/Y41S53NG/J/d8ldTU0mZs8q9o - 0DC1WDbMt/t0HwKyXN7zLdBoW0qB2M8FFbAyAqSpgDdB6AP513V6ggoXT8vF7tFA - m3Sq+8rNl0JWK2qcBmd2tIKJF0xASTnhQOd5z9PwZ5MlNBJNobB//v2UlDy6Iov3 - lXXbXexOtxuBdrWsQ2fj1ROasTlBTBJ9AAKX2hv/x0bWY627m9sr9wQxv1BrhxzJ - AnPGYEHdpW2gy3dDgq42HsoGAIQlO7fjtPC4LRJ+mVpJNcpAaJgUBzjwyEK2/VZs - tNYnYwhrxeQLQfGsOKGBm/gMUgQI4UPmyHZqEMOziMQu9DX3PQ4lUE8NbMnzhD4A - XVM0XGh/rX86YSRhoqNbubmsWtz6L5HfIfNF385OnM+AVXPorpEJNcDYN0HazLYM - yiUJ2UD9eDTF5Q/lVAQhmi2j9sCbn+cWwBHgAUfBa3sdNhQgt1V3JcoIwvEIru3S - XAHnHd6LlUDdCn1zTOwvyKCz5V1gUDQmF+ocj6Sh5lca0ks7kxTAU0KCTwemDsbz - 1WJwR5NR+gz2YMcGeRRqZzpnSDs4+RyaTf0jCpj8plDecBhzJMoIzX/YcDlq - =W+aT + hQIMA6EyPtWBEI+2AQ//YjtcACzner31t97RDu0LVzJkLfxyZbpAPNth8ZoIdpN/ + HzH3aM4aid4zYc6pE1P0syuvg1iVirTS1Vmh8rxfdelWxGOjuHuPp2ivDxSbf5Ed + U0fgCIFFYPKbimP7Er0Mkcd6hv5hHIv2W1IuZXVgXM+8nvdAnKYeH8mUlqn4OLnf + x6LSxmkKs9qjaliOeg11/wcJZLk1eF4VkjKDIwyxFwI85FnRVUhcZDIOnhp2THuX + RBm9DgyRmd4kFw0OpdktAmfqG3fRlFzrHz84yYjhZ/BqDRA/GGk8Rd7E6Z4EaAHb + mz/0CAYxm02Mh2+TM6OgAtJPImZ+GcHHapnPO0WkcfWSihEGi4MULxhV12pSaRYU + 1hTycZcgVGOjFfahXTnl5ZNh4974vrLcP+8rRkSxZbKNM4P9UXGDgjcM1cTtOIGg + K9X76gVNMdTRt1y6bHRVcovm62uzyHpy4k1prJq9LLMg0rkuDKimOztjplpNrW/I + Dc4ntj7XJDXUBLduvagrxGxezOVwGnM+HNvTL/a13YQggPJaQyJaIxhtA4f48GoN + iHSGS60Je8ycDv49BdwnNmwn/IiwhlyTSD6PJJh0irGsO1H4oho21hdapKdWQmKA + /drz0nopl7afCAqWn+TTE2DXmaF/BbZmrE6Z9YDrtoxzP7E9PnytiL/Slrit2l3S + XgGkI2AKwfuabADWIUt+FuqJp+bVeATW4/vT1TpdknjltE+euKF7T3g3gOxuku4/ + s7hGyK9LKIAwNm0j+urUz2BqyFIW76R4dC2RU5hogKZNtwZFiL4CXIr8qBJKjPo= + =qs6f -----END PGP MESSAGE----- fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC - - created_at: "2025-07-20T18:28:13Z" + - created_at: "2025-10-13T20:10:49Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAArMlCeBgkSZl0QwIU+ahxoq05l5qDc7s3k9iH2i3ZaIsg - ZQezH84ZKbMao+lQrRQLyDR0WzZ/gk4fytylC6zU/F3kCojVO6zsWl6llOmbdvgY - ypBkLT0fQVOKqljEocEpc54MI40r8n/yJrnn4J6ERxHR3VXJBc+m4M7Zqudy1hMx - ugx/wpjenCXRis1S+6WgdJ1XMjkd0yWusI/oLc5leac/PqnVRHufSzAx31bRq/7+ - bjqUUotIbUp6DhOil4or6P51X8BIBlnEQhYjHTQhx3fnUyqeYLW+UTAUYaldOY6q - bBOE5v4q1o79gI7rGfqkSXQl6fIJWUwWcUA+VLtv9hhMiqYOAezm7f8MwXZUefp1 - 5dCLfSoP71cwEHdfAINsxb6OoIMuvsrL39oMreEq8v+wXhLlvxxBfSB9fPg6Blw4 - tyx72DWKcDUvcXlUCVd9AnPPUN2AqBOnuQ4bmzuIOxZHQUr7oTYUsi02H4psEkNa - gQ0yxiEnznnU8noykPUukzYgyfRzHsS1q1o4WLjUcJkFFLt1g5HQHTDIvD1Ebf81 - pi++0CFjcNDZe12S4jpApcl24WTowkfJCVYJufX0cOdmL6Za7MVxllq3PWIhSlgO - vXmkoWhdDlsl0B+xEWeVw4CWQOmbX0J2CUwQRVdwRqhv2ejc+GCFoyjGWsiNmRXS - XAGwkybWT+vU/8Uy9jwdRHPFOcE+ZIPuHO3cy+9TbkH7w7M86YEUdvW6amvG0HiK - cnMWvbol7a4PdN1i+Ov6YzuqIkEcV1Y/RgjOa4zwbXHwX4LDLpeIMS68E8Fn - =mFN7 + hQIMAz5uSgHG2iMJAQ/+JG2zH0EB/fiLvKfC5ZpEhyG8u0Ri37TpNUfVejUAnDu7 + gK19ih7g+DgxRyIoIub5B0wQz1GGMEQ0fhx3yJdLXMhqtwjfRdJYcWV0PWGT09Rf + 5fxcro3KPxyuHgWggsEPEQcrRUBFqHCiNasvsRREIwvk9O0au8WYzD/MW/pMCuJ/ + yHXsbYIYMVEVrRhwsaUhnWoK8pbyYnyKNNKWEf892MOwPpsJLZds/rsqwbTlAHK0 + wRZfSRE9m3IM7LPPih0RwFZv9Acgb6qzXXm5VWpAHpct4C8U0DCZzTF4/jecIRbt + qHh3ZCWuPtQOjggdh+gWeHyxnNfKeT3f0YS6nwQcNXj2FU0bk0L/aiLua6C1ucqI + NMwhGD4oTXCc4O9H5nb7UFfZbr5nYXBs4RWfM9yMEx/6osZjG6Cfskb0vxAn5pCh + tq9zAEnNwBiGgf4toXzg185keD0QR19GwqhJAZfLI4aoX/mTk7siTCE6fqsvnptM + +FG0hqb4hrhynTIYTiLEkJMvQyqVMkz+g5SUl/ARkk1JLw7lizOwq/8lKuASXvKX + nHNwhc/9DOBfBkfjdIH8BsHTDtPL00Wfl5ZlKfTaFvWCtmkv0XCkbhZ4qzwAa69H + QSfxDqjYUCh7O4TUwMZSin2LLpVgivTv9ased109T44eujS2mzLwYxTGlFyNXcnS + XgH92E4iQj2Kkt2hJcRyZEQsvYLQYDjp4qGzim+CAagzAv4bkjXedGJs8VVcyXkL + Q9SP78uiF3jQv40HPRv79aXj2oXtcpaqJln0UGGAZrVbonsbxvGaGPE5hFLzuwM= + =UR6u -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2025-07-20T18:28:13Z" + - created_at: "2025-10-13T20:10:49Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ/7BfThwS2apanA8MrUZOcED+O7zMnYryEUlMwWpBE2sEGd - GR6letvHkCn6ggqzVmbaFtFY6kzWnUiwHJE56rXab8ouoybf539eot1FH2rtDFWG - MFDO6GdJq4JHCIksx6kR5N7qDyhSTiqbuF04NsvoHvxgcpNQhkHoiTopTTnMYH3K - gBy6nMkfFtFZ1QTVUGGtVROUqo91r9Pop8IkBX0o6dP9piUGkQUHkVD0ci09oclA - xNCIO2Qfz3PJbj2EEyVJwLYTZd32kJOn22e014kI9/xOWCHNOP6zqwR5mzyb1cZl - ATDnb27F1JUxpuXPTx8Q6ybI5Wg/l4du4D2ZFElkvSh7xQJSeRK/OvEPpOeNV4vn - UKj4lxg9+AiNCbuVxgZP1uYCDKfcf7YnBhctRpHYK+DWE5DLpCxjYRrMu5/BjW06 - Xi4uYVX9bM82RcnZUeOJA/4GY4epPlF91Kd2ZTdCyu4cV1EPtFi6CQkG4OxuqbQ/ - cURZSmLwJHx7eoqKfpARslqMQF9713GJ3ScrvwwPEPXyEptYn0wwnuvsLSBmLO+y - mxJFKsTUumL4e5RSb+KT39AXRDfgP6dLW3HEYYa+wLfNBt9ObS7u3NZTvAbIqhDP - LExNXOxSg6cMwtXB8i1FYRAkSaOoIg/RMUXFXY5Ozd36hPKRQMz09lvxI6Vc6MzS - XAHKI68c+Bdu0z4LfXEWc6n4ZCLkU52fytX2chWx/SQ9K6SGPxoJ6enz28zXZP7E - GSFYcKW2ZnOagEHRq8ZzPjR6RsaxH9Ge0oR6//55pHQqpPyU5YBe+gq/PXh+ - =Y2np + hQIMAw5vwmoEJHQ1AQ/+N0njIeQTZmbbpRUIVcuFQrFS8h0e3Ov6rpI4lhYxGOcs + cE/BGgVr3TpLI0gOoP5/vuYEPEDG7f8bjvUuJ39D8Ty1MNXbRWxONh/EVUZe3cSF + fzYEVOcagCo4gX9VEV8EFrEnbmnQYXVxGRsvTxA+T6G4JSlOOjXdf/yQGKG7CsSJ + sySr/IJPw75C5NWUbFQ2UvSbfG25Lrfx/SI77V6A0Chs2YkcfRjz6oSV/imb2fnC + zu4NWLNLBCYN/N4XfzDxlzWrDNGV2e2bLa7OZckdofpEmbTlcovOhenJw4xgp3St + sWnUbrXyXcc15Sa1/EyJAH+l6I2zFXEWeR2tmocF+nBqo5708lzpGke1cyTqqYcG + qCUfKl6NJqRUyoNhXpiVK1YtEMbIKhynJVjsupkE6IH5UmXRoEEjTn1XPhLh6IEz + FO9Hylb7uJM+a4WQeE7PpsrwjbR/B9WcYsLsa+byqYg6nIqznwhpzd99afOj11Wo + TfcL2VWCP5jpJx6kAtuhbDlNBPdEwvUnx15dhFcLpM02HVJNnQd8zOjODa3ICY3j + qwR5aCdbLXsxw3xsWWMYt5jYtZdVaytGbzGvuEujbeY/yK85tzg18nTxlVNLTJIb + c2qRAW+SfneubJkXdiMxZYrzD1G/w/ZYljmd7FcPKv6IQBjDqxG93EY9T8GErA3S + XgHQaMSRFV/8eiewoQxAuGkXQ4kphk1989wnCaUWPpZyAlOgSHuPJXkkps9rFZpc + wLcocDXREBReUb4B8+d8K0L+A89XzcUt+offd+qB6S5XEG4XQn3TnS3f4Gstwgw= + =DOdH -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2025-07-20T18:28:13Z" + - created_at: "2025-10-13T20:10:49Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAI/McyCJvJ2mjfuNy5cYD8yerRzaI6hr3DQhym9u2Pz4w - Xmzw8xhS2pLF+9wByaWzPa6wZNhcOw4FuoY/vuX7esfkiy8hOolggOo5N/b5OOtU - 0lwBy2eZXcWslQn0ywspNjRLSCMTvMtgjP+Mj+Yz1RFVuuzbf8nx6KndgghNJLeM - yu37XTzfcq+uoTbeAuZVtHS1JFrHbqFvuRNnqF+DA6xI7VY3TMJMhpS5I5J7dg== - =/a2s + hF4DerEtaFuTeewSAQdABetSMqsBG5cMDIKkpeHIckaUfL5ZkZRYK0bZ72nW/j4w + mEI3voDWxlSEBbJPpqlgUzETLlr7np6xj0B5DRuqpEDNRQ/n7mQCiDLfo5nQzUt8 + 0l4B0bcur0dxaexJ6Yl1UInHVti2E1zKoRZpneKPhMttt/7qv/lRUdyn1rMV622R + Z8ZQEc0E3L1+H86704A3dCXf1TbyBpEUfuN1Bs3Dlx4eyPB7oPxacLq5v8FqhJMz + =eQ2K -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2025-07-20T18:28:13Z" + - created_at: "2025-10-13T20:10:49Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/+OMpABLgtPwY/mKXXbt5ZWlPWc279oVuJfr3MKNAZAeYv - tEwRH8L+/QJ6WVb7eBM0QiYPfykN94lc2ibiH5gU0fYl1s5t8RhfA2+cP3aSKh52 - 8PAuEuvfqV96/rIaZfgdhOkZhyOlB9hGiMxXzrqDSgMiDm86dCokYZSnXMYcS2QQ - mj4vazChKE9BOCRXT3udtHPTJr1P5oy8X9zzJD9zq9cDRimWVc3d1u5UNdTcUnp0 - Lc4SdHImbyzrIw8dbsda9TUv8D38c5f6MCZSjGgCBQ7vH1EVpSfwPDLhvfOak38A - j0f7j5VRPNcYnc/SzFLM9gXpx+K/PjEgwBlZBWqQIo8VJu2j3HT/WePKABmCki/F - 7hvBYF20URGTIwwWvwgEPNYarqkfUsQ4MlQFLeqb/hGZmDJPI45kxA9DeDj17VJU - GDcyVKaU+YLQqNJzlPl2YsC+CVGwnF68+cQ6uDtFVCWYxZuB+8Uza9RWNilT7YsE - FWNjZNPEpURUGzXoWjeD8dsr3d6138Br5lVuGt9bT8rKNIr2icv+C0IIhAGPFn5W - 1mankaftwGtOgQ2kV+vJTHiAoBTWXOsl+ppeYrRYw+dEk17NMOryEmgGARtDOQ+m - 9ZJv0SfoRhH72gc9AyyEb/3vW+zipobRwlrFx6MZ24YsmrF6ktaefwM9qrC1QrfS - XAGdPW5zc3TcUNg1RBv+L/tsi2kgqY+ay4ivqeMBeKqOpaLflfzcPvUagDbyP8Dn - X207VaxYHuPKHkeIPTwYu+dDSUVURxSePZY6dNq4NVAniCA55BcuwpZEtSkY - =A2kF + hQIMAxjNhCKPP69fAQ/+OxlfT+bq47MU/MhjByVcsCrIG+3uDoTBEjm7LkCXUzS5 + 6uOPpqDeTn9u6bkjKr+mpo12kmhGltOpftyskePOxz5qx/AGi1g32FPJafitK8xb + NSM5qxaXB47QKT9MA/DlSn/tzZI0YbZCrv/04Y2r8zxFF5lHZF42NEBD5Q2le2+k + IIC8/f7zYNni1aCPM1k1B9YyJLFgwJmX4CWyEFvdeHeK9NxrFD6z9t1UU0RP1B87 + qbteFxjaYB3KrkdrnDNMyVCVD2dSFzWHpO2uuYoX3RV9fLmvr2gn2jBM5jthkJNI + wSUJveWe5WJi18mRG+L5ST4kHxK1EGi3S9OHeDgBW9tJsAplDyTngscbY0V3tF2/ + eGM7mm5NuxIO1yQoBhpJRZIMFVOMc3I10vZPN4dUNCRtJ7uxN3BVD0ozhuhRCz82 + c+VueWfqCXWj9s/XvrtQu5douMFGlFaK1itpU6wQiLuIbZR2ax+/xwrsDr9lvmNb + CxvJdiLZOuO7SFVFyo18wg/OxGMXIXyxFwt4z1UmzV/fPw5SlFJFRH2pRrIYxdFc + mw6NwFs4WI2h45YqaQDE8bNKIR4xohn+px2TQxEpb3LhuD9R6Ix+3uAaz65yt1P+ + szWbZoMp7rrhU8gWVBlFce9hiuV8mEOfFtcZPhN5LPfDSKwXdLL843Ak11DW4knS + XgFpKd0vjhx61yjkjjpBzF+j7thXnzohmvcwW/HukW67JV6lpifbktgde0QPA1I8 + zIc7XUmJ5efjDh/F/sm1mr09/ofCXFRSnGPbj8joLKWaoeqfGy27M0fLCYKJLX8= + =Bmty -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2025-07-20T18:28:13Z" + - created_at: "2025-10-13T20:10:49Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ/+N2PMc0UUZcMCFJ5r1ighIXI6vdPPKfxD9dO8CLG/d/Jg - 7fnr57VGf9WnDcaDWrInyY3h/dhbVdxwW1Svb+sIvN4h5HNZXT0slMqzF5s3ujQW - R5IKf0LOPoP961pkZvAxdGGaVs2q0KeXwzaQrRpdG5qZoZFukBMjdPlXvooWL9xj - 50fJ5FA9tWsplhexBJpO7gZa9ChM63OwkrMJsEPf4IX2CdAuIUUi4ZCSS9flYXwZ - 0sGKWFIqAdPAlREv4Oj9Yyg/w1JIxOi/FRaGX6w6e8N0ijrde5m03vM+43+oo79J - F/izl83N5/cHUnLsovLkwojcoYWX+lHRBPxaPti0JVtTHxNk2hgY3VJuLbgute3D - QJk9shKlsE1fuRFN9kYeiZH47Jb/GQ63W/W38zGEyDI/P2XFSkoLkK1XMUnv/iaU - BiZ9yyJqC14B5yoeI7fosnpTxbzhEU/Klk4yCjy5m3Btae7oBVrPJs1ksy1vsJVI - 1e0jr2kitK5vnLXntrPHrci1D48WuK8qYO9xnbPb7Y72a/Zs0K3GFaj0bb1xDp6N - 7MdbkpkxZfilj/TRdyFCzWAD7YYaikpdqNVNupK2eT0DiUBLEay7CPggUy4JBVwv - QxjKPIFEuQYKDZyoqaB4aNK7sFi/mnOnhSuiPW/Yj8nWO5cBQN+yV53MZJ+bMT/S - XAGRgwng3ADPdTTWI7059N1ps47zLu+X69EQXQz/XXE81LB4GpV4klf1ZyXCJxL9 - h6NkMOelbQRzo6GmIVH3ZybulBDUEWaGcey/tjc4Nn8nsWLEEK1sZ8vxhgQS - =w16+ + hQIMA1Hthzn+T1OoAQ//TSyMcl09q3mBXtuzxo5BtABtz1LggXzQXiV2+/C5eetG + MybvjjqZouHBWPFfzv+PFxbVkuOkmMj/OfFt0MiZPYnt19EOMW1FxpsNkgyJ7Z8I + lnqtnlVqsO40Brso2FxqP/FgknxTaxMMu5j4pjIaHDSIA2aHZmcEOjPJFdfAZ3qw + LzxM0PrjTxRvzE6rgMayljCegDsCjgse1Tdg4XtvIV5rKINGkfLiOLggMx9sDje6 + XOsQKTIN6P+ESFWOSFe9TytQgs4NQBGH94w7Nwhce3P/Y2CcUqR/Mo4ns1gvS6QU + RA7kzIi35AUUy4r0hymGwaPOGdUF86ceXxHw7nPVrvPl1YL4WRWF6xeuz3UREL1q + dlAJ+REWA1IMw+hEs5/n0kxa9RAl5oAtAGPV1urc3VerBX3MTww1dqEr4UAoggYJ + UE7k4dDS8FQonXFNwKE7n7Y+5cDIgLXiTmwlgOqDO22irwHefuZg7p+LoQIY5mOB + bFNf8s8HLTsZvJBMl7/Dlh1CiK4Y1afjtgQu2SiboxPVoiutV0RoLcfhhsE+brw/ + DndNquaDxG0CK6p1OZjN5CE5RhhgfDy11aAgYkfo4WB6Vsl/HFHJf2BC1GFa+MNy + p2jPEWus2gujvfMa4SriZCTGgO4r2s1OWwiaTZi6X6pk/G4MW8hSaLaI85HAF2nS + XgHab+EbQU5l+7jBFrB7ClLbHun5v8SkUT1E1ZyN3ET3fAsFeTASlqqq3iCBpOQb + TeT6qjXi3IpEUSuZBeWVfM2zSbbaz3txcuwQwXotdI0sDyYzxXHyUp5+aPJoieo= + =y5X8 -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2025-07-20T18:28:13Z" + - created_at: "2025-10-13T20:10:49Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ//eCpH/tm49iFcT7m5Yy9URQh6iumq+qisjewD4I55vfI8 - 3wm66qbVeGqRWdLhsLZ4xajNNe9WBYnO66RcR5QEyKkwsau8IzN7An7qOwsudkFi - Fjm1dGh0n1EvsScDE4CccPlWIgmoTEkI1AlY/bk86I84Xz2I+KKGKMDDt9M9wY4o - kEfqXhTWj0RyYiUWroFDTTUS37qAxj3Gsn0ANrK7fq3KWk5wZY0HxEZqiwohh2IJ - 1IRoPqiweJGXTAdt3XM1KHNj3goMThyW1nPUS3vegSdG36MW7zYgFgr14gEWjwe7 - uz4au71QdsJo2wqrXcblU2KXhxMxgKsfIO6n5SB6n2beC5YB/WXK/4hqvjze+4k4 - gmJ1OaDF+C3/hdNlAxXVYw5duYeQHaWdBnuqc3bYBR4gplCe8sHXVPldBwdBXT8/ - arpbxaTZGGBufpAWpC2zOC/LqriFB8pgBr/WHs2zgRyy2tNB37g5w7CW/1piTxOm - txAkFnvlVHAvA7KJUK7ZlcilxTNhTmJbHbsgax5zol+Azr/NaiI5oCFPfEfIHMi3 - KIFasJsHaClUjoPcoE1qqCxWS9rYcp16JA42tJHQLUTf96EMSy0PI1Gz8s29CUsc - 8sRQyCHg2z8CRYewpgeZPFZ6oB4li/7wk33R8Ygz2rl0v8jGYLLXOS4MKnMzmh3S - XAERrfs67xQE3bgzbrwobNGeTkx2XglSe5m+xK4D8ncaCjt22igKynJCN2VM4h/9 - w17wcA5ptgHDY9FVbdzlVpG5B7k2qOU7ZpZwXxCtcYKsa2ViF8KOiYVWT8VI - =EeJS + hQIMA46L6MuPqfJqAQ/+NNp8TawnZK+TXGCg9lzS+VbYFyLYHYqAxdMnvZwQk0kV + gTh1vLRrtgm1WBSYtZLqAnKKMKyUwRzqMjHjhTiAyEL6pHaiRu9McX7N1cZ6zVr2 + tavNwU5GyflsqPFoxxvjKLDinWv23+LcO75HDAnZ7nQU9cV2M87byb+Yi0kPAorD + vOv8kvxIfbLFh+TRsj/w+a+N1i/EJ1A3EII0aoq9GDPC/LqMjpFJmywqX3iDU2iB + mcJcQAlD7TNiIRi+cEVVhY9AIDjB6VnU+ITzKf2ZRlVkYtSoNATzdEhhcnSR1Ddv + cNoc6GxIN4a8YF5b72FYmDMJNZ0HB+Ttx8Wv1KYTaQZ+9bgmfXMx3ef/bTKxIWov + NXA5bSDmG0jqOpV7E6f8i0OShrjO1SrdCCGjeQLVyuxzvt7PxBKiga7gU/ekznzC + p9M7ixNL6jUURGHeU7VJDX5TTMXhaKCr8vkFGW0PAf0Q79WI5kZFZo6L0nxJB5KR + J9bpCH/9qqmHIq7FmWBSf7URx2Qnq4mNABUkQu5gBCbb3BnA/6Inca6zBp2AddHG + 4b26JOhxK6itCYxzdY8y9GlxgHbUwXts/e22e3C7HPU7D/7PkGXv+ElSM5/grJaJ + ZMyCZGZoYk4xSVlT5Ca3ibxd5R0b11jBU98j4Y3Y1eIBvBp4CFRmuGHgTkrQ3KPS + XgFRZ82TLSMA0AgEYhZx+CBl8C2j7F+LXTcQw7SjZ40CX0Md0Wmj2xQWNM7GxDaF + UYFWpk+dgmTedZnwgHYwqSuO3GlSE5MaTDs90cqXC9qNib+KOxq9TjQQdulSNCs= + =6ejM -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2025-07-20T18:28:13Z" + - created_at: "2025-10-13T20:10:49Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA4EEKdYEzV0pARAAkllD5CHl9ViGIl/9NT0B/w0VXvKdt7Vm2xYAOHTDszhM - ytcLXB9sn1eioRPBBzVBobllNPJW6Pw0udokQtJ+AxGMbWCEiAmFBz8l3UCx5I5Z - UTELpSjUEd0NnUXeEeHqXFoeEgfuXpSl/jrhv5jFWKhosrYROlD62oBOn5GzTPjo - S4f4w/CogJGDCtH29RqknCNGILUkq4REMRkUROVBNNlt1l6u5EJ7WOYGs+8WZjHY - Y6GHnThJcZQdExVkLU/LqI4behM9rMWIfLuvIq9H/0JRaaUFv1HPIk/txpTAiesK - /u4qRzVUSXF7C98NS33qN4aOG1twRz0VcETt0KGSTCdQxQlnAnXw0MUaWIr2Xm26 - NVly12Bfnq5iWzIx2oR0RDuD4k1TWK79+Z2Ne1h06VYTIEqxnjMrXna3aKGG2f0c - 0P6u0Msf8FxUXEl/HtRLZHJ9v8FoSE+qi75dOb5tsjXRCIKLlNetHN1ZIVTPjD2j - 2jftyIBoLe9FVdMkjhAhfkRG3nc1bpDm3Fz7LNHjr7h2TAgskYRctRCQ0sLUm+U0 - VISkoFe5bQgln9igqaVmLOHPXLkAE0pOH0gdyXY4bYUf3CqOgvgdRRHAstup8yRE - TMop8obh1JoYPy+gx2jnHbr01lTAnbOqTBrnq85dh9QiZ8RD57rmmQCn334cfT/S - XAEWF22JjcTJ16SUDzzM/ifU7ZLn0/6S/06mvzzvc5/P1j13HxoQy0tQnYH+hSSx - vYs/JDWdtDOLyveQGdjEBv9DCajNPciCpvIHP8kiEIgXK+eq4ULwgn7qHUA7 - =5J5Y - -----END PGP MESSAGE----- - fp: 9DFA033E3DAEBAD7FDD71B056C7AAA54BE05F7BA - - created_at: "2025-07-20T18:28:13Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hF4DQrf1tCqiJxoSAQdAgrc0PgCemUNp2H9DlYhzx6YOTxe25hl9xXUry1/7UDww - GqWflaDgbQXWAfJ7SRg3/97xvVO2PvRZA0dSfyGZOYdJZI2DQYYmPOP0XBjGmj5e - 0lwBC405oP9jUhH1vqsZ/gNCQfmBF+K7+AZZLs6PMYPMbYqM/UwXYG/1PQ6Nsgjp - WaNDQdhsgdBF/3f0G6dMlon5GsHh74UZr25m6UnH/QXsGUsz99YC3HpYqfZ4zg== - =swyG + hF4DQrf1tCqiJxoSAQdA59wAmAWKpEi2e/6Daw4V96WPthNmQxIXw+H/+/G3LWQw + Rr+WSsmwhzN1x58KolnrfRta55rxBzE8tGqs0LxrEiv51PkWmwQc885M5ViqWTbG + 0l4BVbXKdsaEXjEhn9ccOs9J0WhQe7YdMN+NOwPzRGSV28zD9eDwxs9j1k4v4kX+ + RNgpfp9dgKlck1gYIlTZteiJTkb5fvfQYPZAfQB+L8MawTOtzdKEBUHsC8kWWC5u + =jO4q -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2025-07-20T18:28:13Z" + - created_at: "2025-10-13T20:10:49Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAojcnJZkpCUbE4s+WspGi5Eu7umXR1CdYzHy2PeO3cxQw - AlPyrJ2Yz40wMB193w+7rH/mmtDJ+TQR7JdtUyjFh7qmTGHR3C+PkcxcMZ4f7hNo - 0lYBOsN8HfiXQRUz2OskzM0nohP41Y9+GJd5fZRPHMUDoXuW3vxVYlvHPs+y7b1O - qW9DN3zJPiDh00qpm8bL8Cj1u2XVvg53Yv6FIPbzqwnAWGIAMPY2YA== - =Li+p + hF4DzAGzViGx4qcSAQdAa1I6oIHWuNa5p6nytd5KF6aXy+80v/F4hYyh9h9MWD8w + D9mJKnKztFMkvu3e452vT8KhPXWOKbVVpU4BHW3lrNC0yQGaDIwIEpCsPFQ/W3iB + 0lgBIbmEigpaEP8Edj7xzrs/79Da7Pjl7GtwAB/A+iM+tT3bnr9oG3kYYxhPJSKn + 3VKDoNh565yMFp/8b5hYPA+HPT6hdjuLxfxRmil2eIegEox4i5dPjaWh + =bo9+ -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2025-07-20T18:28:13Z" + - created_at: "2025-10-13T20:10:49Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAA6LhhmYQ2gafJaLJeieaxVcH7cqanMdP+cWIUHU3vSL1s - pm45DvU82PdLot8tXVpiFE1h+Tj1NSFK2HQnyxZZCTp3WVBclPXsDM/cV/j2Ti15 - 1y40CEHCmmNyiXWfe1oknhSd0hhsFXA1XukkTqGJNO3lWLmvxSOHcz2pVhLDZdFg - Sbl4NphVeKSVDthfgxq54MQYSkpQ8ad5Pu6yj+xKog6+vy2kPb4j8OGAxvXufs5b - zehTw6y3v3R4tEWIOhqijzxYEpXfe+CODvos/ktlBu9JRz2FxBhDKynADalgPOmQ - RKBy/UJnb3AQKNCqDPMtdAzYgLbjusgtZCUqNgNwXhosB63Wp2G1lwl6sXpmeBvd - Cwo6Q0XKNMupnYk3bLpveKTJEuGiZGkpvmj0aNEX08JuROYOIcu/8NAxD4ElY28Y - H58qduuiiXKmCz9LAZFmMCll9z93UzQ7G19yG7CXERwLCp+wtftcKks/K5ZMxO3i - suX2kydUi5UiaStLOrgaUCwAGLg2JQtOUlf/nvoxu5YHUbKwbXJ/SHqCngxoyE9U - Y3ZaicfiNyQW5tI6N/PVdeC0cvIp+hiaMvHXRNNehVL2Ac6yNNUF+X5fU1bzNqgQ - QMVIf/UX2ky9mjmxw582oOCASiBxtCQKpVxgRy+ZKqhgcdF0Rn0hp7O5arvYB7HS - XAGe2uopSmnOmDt3L/wOKfiEX42nYqhNgMrgJg9NcLHyE4ofyvEZrOtztSK44aUW - WwsG8izTHGhgUM/0GWRsqy9oZVmDUiNcxzm97n7UGqBZPqj8iHVGHCMqpLST - =+cIy + hQIMA2pVdGTIrZI+ARAA1B8GehpJz0AOrWDaHLzXn8hjVMH6UKwUEwBGd6vaz4PO + EHhkZAqbb4zkCxW/6XLBMf6p1JVf+llvBapB6wZGdqdThWOW/RS2i2sNbON4hAac + nSVnPdiJdQWlN1QEMAZrbFqOrIoXlxVX+he8amQS2WNYPwRWEBdXuhJOe5S6OhRb + lOFM+wGtc+PdBB/DxnOt87FhCF3g4jq2FA9HQXgDaFacA/K5DbZ+Azo0rOGsjRKi + 2CMNAWNwMv1IL+EdqRVajRMPxHg9Krq2VuBric9EtQQhCC6EqyFd6E8LLjp7Mxtz + cy6vhDscrfOL3Kr90o3zyhAJDuLFcz1KQRgYI+iuq8mZ5MGcr0Lb1qu+7JXtlpdR + UtjRwXU9wT6ooSa2jv42z7CnPG2cPKkMpkiCvQNDw3hk5vyOdyNCh9C2KBomPDIM + wtLooHrXgAG31ESMgPZxNvQHN5SQM16xLAj9b0zoIsMdWZNvmFXxtTJtk1GIbgGh + K9bDUa/A9EdSQjZP3ojvsuGjHeyMNSvk2V/qf6xvj/Ud2HYAgzXqh2kEos6N2T9e + xjizBkWGN15XAxjqlb7ffgr4tMymS6O3A1h8P1oq7vyU9SXhDH1jjciJWMXFcNv9 + d7W1XMgWwI1o0iYNBzBNnq73ovOeSPasIsbIwXw84Oe5OSTUed0OLVsRhDkx+kbS + XgE0W8RWzrJywD+o8mEuUACWAxJB48HygYK/cDMM4zuCdF1IoNnmR4yYyffZ7V6w + 6Kj+SibkwjfCuH50XSyLpLTilkFa43/EW0dn02aI988saNfKHZnTnlRX014t//0= + =uo14 -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/tickets.sops.yaml b/inventories/chaosknoten/host_vars/tickets.sops.yaml index 6dfc627..b7f8564 100644 --- a/inventories/chaosknoten/host_vars/tickets.sops.yaml +++ b/inventories/chaosknoten/host_vars/tickets.sops.yaml @@ -3,217 +3,197 @@ sops: lastmodified: "2025-05-04T14:08:33Z" mac: ENC[AES256_GCM,data:gyf0gBed5K3sEk0bTBPbNa83QtWtoLx+NVp78KrxxfyiUuPu/5ziWPKHDd7o9TQvXZnQ8isVy2BaTTwR6tK4AG5+SO2ffV0a0/uNx3/jUvh56zQFwA6LTviEnR3vKvKPa1GH1khojaCkyMpYkb2KbMnbrGIt8qqqDcwc1dMVv4s=,iv:7oPpmfeAcWttEaCOiL2WocbhoBaIh0Y33OlCAYjq98w=,tag:KTN+7sxOYEfxGwB3OXvUIQ==,type:str] pgp: - - created_at: "2025-07-20T18:28:14Z" + - created_at: "2025-10-13T20:10:56Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//ZaLa0jFRdraV+dQbKltTYi3U5RCebaARIe6Zodux1wNF - nwiBpuTmGsv6zlMhisLCuvq7Xi5sjsPgxECeHTa3iO5vFmAI0FZ3edxxqO8hSzg0 - 72C31NGvXxvXOmiPRSE1ICgi2d9QiEo9M/XIoYuH0KvfgsBtsGJizf16qRoZvV4x - mZ+eJhVEnrXhDAMW0KkZnuCA1p2+02ZbldEv1xO9gcDjGlJNlOmFkeQSw7YJMSL+ - 8i8IP8bu+P04vhQ417gnTh+J2FHB3dOGyS/xDkWkvm8eoOGHd/A9iIdYS6U9IXRn - 1cKtuu+1WMy1tZI8NSRrjjCPgA/IKAtRsuvQW8SPD09Ry+PLGmPNDD06xWeruj7i - zGGBSNLudQerlcgI/jXpfa7cY7J041DIuL4LpjU31qfj3LOf38xoncgKWGp9y1Mf - qmPgqjVr1AQL7TaFCBs1RULs05NZh/H/aB5LySGJVDklpAmsNI7EELuQY+uLDul8 - z3RarGJQNHHpgh7bVr/2xnX5wxnPDKTxZOX28cx60xAdoQ3YteN3sz746eVIpLy7 - RknPiPxbLADMTDvWViXV30NBxiRIMZMyTzV8dDVybMP0HVsi60oUmt4dTxNTUwc1 - IkJAsf5B3Gvj5QpxB1t8hhp0VGp9y5xpCIxKH02WsYD46Bk5S5GK3yfI+oWHGhTS - XgEUfid+nmHsdOTwLuIAcg94hpjb/qeNIZTrFu+PLv8jAXM9iZtL80TY3Z47dBDD - TFL5VWwnN7JvtlFAXZfdDF0Z7Ds36mrLkyP5H0HlYySfXzXRaom1X4Zoe7rdOYc= - =irhU + hQILAxK/JaB2/SdtAQ/3YbYFufLkMmPxTkW55MUkNx5UzrCufB7vyf5KJAAPAgy/ + Uh9h2LtkBN+LL82amrCn8++Sv2/4eEY/NGEL2F3yrVtTtpag/ORTjxcRFFdNGWVz + +YpreQ0lNXzMFEvrdg/oN7+9s6QfCUevWpuiWkIPPtROu3aU5VAITrVS09wd2prS + VI/kYNBZ4FSbgGIfms6hPKZ6tsYveKAAYmLNZLGWuRHkKS/oHpKSlIDpKpMZc5Tz + GbRYIukF70/jeo1gGqc6Ksh/nMglq8zxj2v0hQ8ye5RFuyfiKBgVd6uTdAOetUyJ + K4XH7GFFMOEwdei/7ZDh4FtuDqCGguvLuQDomaNIhV+ybWJJfaseBno/p7GwobI6 + 0g9H2RS9GieNilA7yMRkLzqtOy4iwgldSwGbJpL+NzO/d0SpYgbLOYdkRvdaJvyz + E5u7W2dPe3HOgNsaLy1Hb/EWMMBLHbzvysnhe4ynYMYDkKPmpX8W3zshlZ7pgIbi + Z/XyKwPJtmwDboFuL65g+tDqn6nvvTjO0X8hAIa9DAjWenIskzQ/HHrMyVEWoQy5 + 4HEW6VAWSosYbewwt4fpnK8SiTZgWrkU0RDi1WH6DGaATamc9eXZmzxvLVtW8D9t + PGozG0gAlOejuAU8pALoDBETH188Xb9yZEX7Pbj1qXe3t+ZQbS/n49PviIi5VtJe + AWjRF1ng5WY5sjBoUozg0AOshAbDNkbdpqvvwNXtXp2tLCBvDKYBZ0KdeERrTF0u + QYpvyVgg6tLPDEtL0AfcW3SpTrEu9hxQMt/grVJy9P9sCNkGCCNj+jZnCoUd5w== + =9hD0 -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2025-07-20T18:28:14Z" + - created_at: "2025-10-13T20:10:56Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA6EyPtWBEI+2AQ//ewjkGZAOs4fTiGze7L5CheqqNUbpGGC8GGwc7XNWWDTH - MzHw473nF2m47qxDlOPkuPaSiM42306uzLkfVOK78ZF0yR25ksWmbsUMQmjvmiIz - RxhN9se36iui57yTZmgklwCZHCGgH+Z14j1IMyxyjwYnVD/keNT9nyHaTXWkJspb - VH8HDIdUWRTz6i3lQFTU8ihsUYJEDfGq4Z/sfGGdawHCdycq/X77Wks29PkX7dsT - /ZWQ4wDShytB9PZkzYRuQGxe9uyI2ULGzox6DxCLiorjbWvu9XCk0PyGGd6oCYTh - bYwERBateIUGy5MYKye4i6bh+d+OO80jOz3MgG5WhNfmqboywi/sQ9h5/OQStNAi - isY8VKyqgvQMbOf/AMuBeUClecFhDDZnOHspHPMUwnvpJ7cSni+n2fB1Ng/j/sVH - Sjv8CTmbPOqGGSDO/yFXBtWqZa+DwSJog8XUgc08JUfSawKtWGbQyHsRZ9NPF12z - xtILWkYOsetA2rIz+C5L/E1linyj3QuEXueONiducFhC742dDJc9RY1+1ZfLwkoy - kgZuxhItOdBOhjmarK9hlpOErc6d8UiDcknrfHdOs9sZCaM1I7EptJaYMkn1Of0p - 0fukUpolLGAsOOphwJyaF/7qfWXmGmUXD6B/prYo0MggnGYZ7NkY4ja/MnpoYmTS - XgGrkpFRNk7XdrOjyV9+vYHOKegNpoKg/SORi810VyNdY5UrgeuZGRFopwY+hyR8 - ivgndYxqvxLDKJ2IU3LTPn510slUAKrnuaSLF/ATTzIVxBtVWzxNB5LJs+QQiio= - =vF+Y + hQIMA6EyPtWBEI+2ARAAjMwcq9PqOz7fZ/eIFRE8ZqOTdK7xjQw6y80/M/UezCG8 + P9NbzDyXw1O6sTrTAnDmaBuZA/22w0w3pfwbIZ9eIbIKUYLR/79bJqEwFbNYo/gB + Z5HrkdbP9ZtKdWt7rY/zt+gv29z9FlXKqS/G9rIpsXTFL+xJfaymhNVjgdKbebzu + aD1dIC+6ehw8/zSTXJUMGIGlgipDz1ug6NEVAJ5S5hXNSUFenb8pK8tko82+PdFm + X7E1HjBxWktBTjGMAUFweqdGUYskh1D9iZhYPDiaUWOHcnaml78TaD45x7CY4Vx3 + IdnV/48hRwTwaEh78xT/6RxKMJvWWnPBqUE25GjNSNAN1dUZGSSqmGxcDUM4u+tA + YxzNJ5NdJhl5BQC+Dxj0wloaVbMCkCsWdkT9Ewn8s0XqxsNWXTD23SZHfKl6iO8Q + 44YpLo4R4T5XJypuG4hCF3PEuIzL5L4NaPijOMiVrMQLuAbhdUkNWl9i5syjfzfZ + nm+8Vm6NR6ntp9jm+9tIGjidi0dQcYnQvdg6ph2wivYduOxxQOriJNKVFjHGuvhy + HjbOFcbsScj0tDO0jQYLUQVBbKSPEzTLqina6LF6E8aH9N+ZCRZ0kBAskH0OC12V + lj14suIziyl/i0DGO+DDbVeyELPl51V5Cf840ZPnXHTsRf4pRn812i+mX1dKBWDS + XgGy3G4A/yeXMkvZoge9qRvlK8qGysAZVTHd9PzLDOq8oDlaHfF7D8xZ00PtvUmv + ZmpVQbUr6Ou50DqwjQ5y2Zsxtzn6ds9k9n664E5efFU7CtuGRU/sB7H9hr2BgS0= + =QUNG -----END PGP MESSAGE----- fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC - - created_at: "2025-07-20T18:28:14Z" + - created_at: "2025-10-13T20:10:56Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ//R8nCAozvpPk0xalyBdT7rmz5veN1JQmJ56MeNe2YjKVR - h+VlisHyv2s/yblj0bghfK2Q5FsCqaEJu040XVjIh8TnmQSM9Ze3nso9Ey0ai+ba - 42S/4cXQs7WH44n37qyrP6xQoZpFfahx02FuIudQWe4HYzkKBYsKh2izdiWy8ilK - 8AKalfHapVilzmvVKIDXTFPfRLwXdvvqHQ4rX1lDXnaACjvvR/Xvc+G9pWTHhJbp - EP9UOx5au/xXoRoqqLYgoMZmVdWOHHR+tehQIxX1GknC4qjEcBNpsPUCBHPbzP4V - Lqeyi2w5ySxL7KVV3yJ2ftuZcCYQoiiH0FFrT4xUQ4MYdpCscv7goJ0S3XIw/5SM - TQLgIO7NamKob8ib23LbukcZRVK1UJdd42oZkfZQ91JZg8mkH7WusEqSLdwrYi58 - 3HpO7danYAiymcZqjDCMqq2QngzIqfnjUGUFjECDDVzXaD4aChy7ariPKbJY2cSM - q72QkDXPDH5awhRUG/wGVfg34YzM1wBREkjVna1KI71jlCTGJoSFNyJOm/FGxUp8 - KY8Vbd6rPT/bTKa4zr8xaDgMra06sD/19IOFeLYVIA6hRTQFvnid1KHflKmqf6wE - 4DLxpBZ+htwlRSEQBgN9F+BdZV6AhSrsyPB3RTDvcX3/brsPM3qDzSpvnjA2PnLS - XgFSRrF58OpmDVIBNJqhZwk3GJrfHMlJCAESbQhB2Vt2rjYEoJFIezl/+Pd3t6U1 - 4RZF9ztdreWLDTwaBd+Y/emSg5y/35bs79WUroFzLPHfKK2TvSv3kXwmD/agU20= - =zN2U + hQIMAz5uSgHG2iMJARAA23eiDKMKgFZsxbDfCbXHd70e35HPoJPEQdBlXDaFK719 + tfx4ZnZXC8ZFxXr+hNf9YSAb0GXoIOXBGw3w6OG7t9b6nE0wmM4McBFPmiJP8clY + YFXWCEBoX/U7wKbOtO1YS9iPQZXvAwU6vjVGzUrNSJJgIYD64nwxaVmKvWitNt25 + dPzqqskE+JBX/MrzuF9qFu6e1bDR25c8Sz040HCdzoLjHePu9JFJ1jL7ayaT/odk + goe4dY2Ax9cPZKRXAWuzaikLCVMTtchJlyR7BI+SRmEiQlNTYgF+eufVg7djn+kO + 7BEQ5O9o9FvxNVWUXyvExiLcLSJEEGpfrusXwbUz1GMs9bsAVV8q7tlUvT5IW5Nn + UOItNitarzVn501WkPFmyN04myRrPY+F20Vs+3CS7IqwiQe/iK8/51dGH22Hwu9S + ksOSmcjVbBfxG05U0bLJgIr9g7PlG0fhFWjnUO6fQnTAHUljXljSqofcBLK115i/ + fHXc34C2zZ9tbNfeRnCLe448mqlNziH3TLIyQZe+gt4e80J5PZmipgSxHwO8MPiN + iBxS3r6i0Jh6g7vmbCh+JUT9/G/OvOVpF2RB1q2OoavbDOuAW68ptPG0vU5VMKAr + t3m8tBX4fL2h7EjWLewa0aIACK9a5s5UYV9mRW8TDntGyCbw11WTTEtAUUwhD3jS + XgENM90AHk3JOzSvx0a5o5NNZ2zCOishcltheFKhT8hAbXNZ8Jmt98qlmBfqKNSe + qKLUBH/F2J945CSjlFKA1n2BdXZ0NrPqGd5TsSeBAo2N6H3Uqvn16ZQadTbqsvw= + =nOJ7 -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2025-07-20T18:28:14Z" + - created_at: "2025-10-13T20:10:56Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ//YJRu7a84M4Aw4psDj4D1/lgFCP3Iuozn4uIrItau2sfB - UxVHoUmpis4AETkG8m57JkP9x/uL0Rffg4/6dHeWIWBP5ivhPQYT+VhRuTzhXSm/ - MmkgYwjsjhKyMQQoqAoR3D9o2pP7xLojIk3nf3rCIaLTlI2JRepDpGfGJ6NuHYuY - 3tL4c9aUth2S5Nyu2gptzIURtjj4zxvz2H6664WwhOFwGdw6DQFncTWSqCGcF23z - z30yXUhl1/tN28GXKk+94/EFrrOTvmJCkKao7gQuG2kyyY6QmrbHrHB+roxL4B7L - HAAL6YT+bf0HYhDTM3pQQiVkmgnmjn4TnwOID1pm0SH3uAYWrYUQqgHtvCzm0i4h - kGPQW752BD9i0LwiENf9LPR3gbnWuYUu+Y2DZ1NcWnbJlrfwin0xzXALYYKW35ua - 7LtfGcgn1qpvHcEGB6wcCXUwXOf3dxNZD04isnHnXbpIh2lnXhnlWQI81s3IuIMc - HGnEi4/wiHNEVtAcvQ/pgfZJc9zgfPR/qJCHJKbLgni/GjJpBSPvd36FPGwfGKcC - Q/Mvx5nycoNondF8wI0cVmkwhPCXGJ/Qbryd9LAZpJRIGcNBtkxFXm6IEaHdeaf6 - sQcrkhANjs4/dEsd61GTnVOMnGOqVHS88yUmgEZIHz9JyK8Zm2WtflSkGlgIXG/S - XgGN/mFrC0v1oLQwAMrGq2nNrcOZD38uE7UidnN+MRgfz0h8nyS76q07mrlnqh3I - h8wmb3iYgB4x1iSBR97uw+h9Uvpv0pc2oDv2CzKeG+5IcgVs9RCwt6mrRsgt5Xs= - =a2xY + hQIMAw5vwmoEJHQ1AQ//cCTlbsyrbw4RDZq33xVO51ouvfxvY3MSLb16J/orxqGi + b1Du569Hc9da1AXeAgTzBGt3QERJ/rVEMPIrkRaH1dTlOjlpGHZIxsXyTM4Igo4s + R4OjiP3nqh9eJNhcLjsA5tXCqvxTAnm00hMEehWIf7vaOQs3XbMQ6mq/e4RRRHBT + LCGyI1BVb2H+IH3tMPclkn+SqyR2P7sCawS5tdpjxED6l43l2EHrdzb1/XZjXPJH + R3fBzOoAqlvOy6baEsDSmD3CCfuU0POGe3M19krXE3OT+HgprjzK32wfDkKnLp6P + rvNH0KWWMV85ZvLEQREASpbtv8xB1+oYiFQxDdD6b1yH/iPXxXD28kxI/8WDe7OZ + f9pnMS/lQLSXEyQZZEax4d+7ayjBTOTdLcPXVtNY6uT0Ye7vHwwiWxEnCysaFwFk + p0JglvRBW7SXHb5JhCho4B/uLb3jwIOELe/0fPhurd8Fwk4gH9kOA9dj3EbmYnZE + bjEinHdig+P0eMO/GkDtPGcDYtscuxh7ObFuzeaIkD1g4ZaWA71cbPurZUQYOFyW + 0Fp3CjKC2ZCh6nrHolE3L53oaEkydmAGJsbIu7Gtb85HgF/w/173bXzukInBohKR + uFBL9UvzeuHvmCg1kdYR23QY47SbBogJweFezA795dB/X9zFu+ArEawv43GFnWHS + XgEasTZX1nCs5IidUgCI8+gtH51qHjuW1hiayOJweFyl8aLwmCe69y8sEeZqOoVd + BZPKsghNVH2SekJs+aRsuoQwRQJHmExcO6/FOPFiuwxrcramoVCMaexBkuc2ElI= + =PW0k -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2025-07-20T18:28:14Z" + - created_at: "2025-10-13T20:10:56Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdASqL7jPR42Su2gfaIPR7d/yMSKLr7AAiUJMW7jz39A0sw - 86w0HyFUh/fe5DY2VGhYg9Fw90I+tNnSPFxNjgEClosdUs6FBe43UvSxsNtUpg6O - 0l4BqTuQX4R+nTQ1f676JRT6xIoyO+N1NMq7BAWOxrkte4nCAwPjzK12Xo4IwNCD - /hzfJTdYonnihE6AXe9eoURWa71j0ZpVn7G+m44e8j8vXk6Ep0AI9gtYqXo3EQ3A - =KlAv + hF4DerEtaFuTeewSAQdAsmE/t3OobfHFHvL4bwMjRh/QXeE/NzcMG6iFT8h93h4w + oEgzFoLiI0VJhSAwzOahL677vdb8q+CZTyIRK8ODCczPCCxgv1h15XrfYT5+0taG + 0l4BID+1ry9B+PmcDy7p++552+XxRR1sEXjKmy6iprQgODM0/6hvqtal6lUvqNeL + 4JCLFKMAr0TEiyVn9NoR/WPXOnHaPr4vos9XaS911lphttOde1OEiK4mJrtMhxFg + =NnpF -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2025-07-20T18:28:14Z" + - created_at: "2025-10-13T20:10:56Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//YBuWhGfl/V6GvA3J8DvySqzKGDMgnfxh+LTeRBmeEDui - fPh9MOqg9hOUEYjmJMh1WH5G3OI8e886SKZp0YN+A36C8Z7xwRnxeO9dbtFRt6F/ - bgb6RRvZMYdbu/vgJs4OhbL73BhGPbAs4+DRtrmz+Gbrn3Sm0BaJ63zmIzahImqi - 4o9abLPBrB2JJPqTHo5F5PnruhLLsaSqQ+uuTrDrwBpwmPQmPD+K8/T4yWgvcAfs - 8bEtUmRQ7G1GM79nGhdK6IQYCGAn0WE3TAOLJvUxEiv+9hYO0YSYuefR4AivyzQ1 - wmO7qWlqY/hJzylaXEtIyYVfN4F3YtkZwN3wSx6UHg+d5814aUPCLCi7ftdMvwJX - y5n72Hd1qrIIu38MEG+Z+2Z36KKv8ViK0aKG/6BBBw0BpQDktMHJInpaG3LJUCjt - 3ayajKQWl4t8g3jnmwhXrLZf8JFbmGyzjRq/GqOhlJLvh8W451xlI/jPJZcY2oVG - 4jd0x6zkG31fIHJ41qOs+2fJaeh3WUHv2jAgISuqbEoEct+3EzXj7VNSGM1uB8oB - 9pUP1AcoWViHhhVrbnr+aqhyQDiytID0tf+Fvddpbgm2ECDTWeGuIrzoPcYYC19k - 5PuNQP5u9W/zHKOLXSxs/wTpoUr55OLBxd4l/gUTq4mCZ/1YFqSDUNrR28hfWKrS - XgGwy3VspQj1GzFz9zJ44S/tKBI5bRQSslZfOgv226p/XdBLleoagltdHEeFdbJ8 - wuPyOzxqWa3U/iBF+ANHjz4VIzKtObFBf4R4X8hYXSXkbko1k7W8nD/hziP0CTI= - =lsaG + hQIMAxjNhCKPP69fAQ//c0hi4pLLXCKNkD8ue3lb5BKQ1z8FL96JksjSmPwjWDrC + MfOgG9NiusE6dkUfS8pe1kV1ZIpuJ9VO6Hqt2eFzYK1gu92+cERNlgLWMYYzvaIG + s1dwbo9cW4SnrDnplX/NenQ+N+IF/AC2lsj/V1fF3lARXHBi4h0ETzGhFMMybJHr + BfYG4fvcXQ4gZnEDiN9kNM4Gv1tqCYL2His+Wfo3iuPpIg8xWveadpNYJl61d8Gf + c85K8s0EvuTUmJydqB0D0HjUFGgcKKhYXNy+jwTtXiX/iMo4I0XEpQ367d70oCnn + 2dW5OQ43Bt143PQcdXEtpXkwZjX7+azZMSH1InfQ5TQ02Wj5G0EkYKLZ4MInV7bH + /nPUnpHqZSbYqj1ltoeDZylokk2a8zBwAoICLqDam9YgQGFKhNg6748cYhN6janA + Z55Cdp7yLy+n8oMW5ZaXrxo6Rj/idJLSQRGFCRzZyMR5t+xbbmUbPLgKIDJ/VpD1 + inpMFCSfdFOwhZst4wWG9AR2foy5j41khYElcoqYr7UDdmFYb5Dkik0yTE4Q45bZ + ah9eDMas9N2t/fZ7I0OnD4JN4EgayiS0Ga0sngYwhMfoQophTh+3ufzIozNvVBQ7 + rajYeG+cjMAPvE5acHM4WT8qCCG6gIyUOeE5//KE9T/F63lY/pqEzlvz/Lw42WnS + XgFa9qofeWvl8LmkWPkcGCavL5Z7TSieGab9xnzfOX1knAIZZ9r235Klko7lqHyG + 5nGadiOZ2v7NFqTeWSBWUDASj70NloMdbq1lcXlh4tJ8vYEbL15sthmA1Ln/5w4= + =KH6H -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2025-07-20T18:28:14Z" + - created_at: "2025-10-13T20:10:56Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//XZAHFWGJZL5FxHtR+9Q+Mfv+1XYsiEii7TJPFibcNB/X - YDxbuJ84jmueCqCLX67ISVPBYk4rIA7qk6+qWxAqJqbOFVOq7ZXZOIZqVkViD1Wt - GBRq44yT9HFxi60YN/2c9smUQoxMus5VXNUzRUxJiocEFjD3r2QWaE89KDj+gac7 - 7xO/zoqV3msfZe31qmVD3sqk+EtfKTxmkHXtSstl3fZJGak4RPUwu0MMYwzbui+H - q05coDVRgum4kpUSJbK63S58/QkWYGBkNg66r4eXJlg+Hb7SAfS/Sn4X0xJuflmx - OKgl6Z0ds1XsoZN1S9j2/DT6NhlV+5ZoibEyQYLbOIQz74aRt+IRaAX4oTG1UO0p - in4OYtsI+wOnSfP60JW5lF9JUHaOaCDzxWaFyeYpw9ymMyfUL6cFDiMvKQPTONXY - DOKVH7ejCbsX3kq/tWr1glBMeb+5AjQsrkflG5oWbVNmSfGPQXxh8HDDr7zkwdHa - AeNqN+b4kh1HPBohyrocyjXQcRjD3Y+j+HWQIfXFmoNMRWGATM83s8JQoTab9iO3 - S/68vFvfHYw2ijjTBV4giR8Ch3TPh20O01/UK1FbjQmrwWM7Z0WWN2SY0mN3wBdS - jTJPuXW2v84dZPUE1lWtvedaT1VLUI/9x51iXYlHH5obQSRA5Fli1zFXwXEagbzS - XgFMiyXksg42jTdT1UcPrptCeSoiQ5nBXcKfEf6d9PAu75u/MvnVaCDFO/vGwwRd - MyEx54Lpmsh13tXh4NmVW3Pcy0x/4Budu9SS43mBqDkjOcsXWd9jmlPK74+QuIs= - =R/9b + hQIMA1Hthzn+T1OoAQ//fGWqV1GSmhKcyQZqZbkLQl1invlq9v/AZVSoeSrYtKH3 + HoqNl1jd8PqKzda4pD7qu6aGvXzHCuBnRzYh2NZLk6qyV2lzsmrwLY2kYykJyH0b + UFTni2vMPmHAQ++nBawmK3yqmVVSXlA61gWRL5CgsU0DJRVO0PTb+DLBU9+uoYrn + yxqDoaa54PQSfhMxhqsRrMY+GF3JyLOi1IYVIePeJ2D4jRyTuST+9lQ9ITKDGx+Z + xIfu1vPzd/WtnS3O94ZlxfHgcPwnRGa+cvyCwb1TmfF0HeGo755CAZ6Ge4aDM1+V + /gkv0SRt/gV6SEaxPsFIIcN9KDOoREjtJNvvWg0Y59tAUS0udsAcIaYD9XNoEVTg + QTmFKfI416Vqiov9M+DNKds45TiQD1g8K7/dJODzNl4h4nUqdpYH7+/lP6BaojNd + 1mnk4u6Au6uj6Jv/JT/pKsEwaWkZoG7zswpEBeuXfYkp8JfpGDs34P3cpV+4c+8g + Tu3ERPdzM4GkzFs924AIIWvkh5fww1kWCmHiX2zUKhhm0xr9K87qb1/fwTXtPoCc + 610HRvc7c11aCU3Vudk/PTQpPeLx+gvqacPTUxgzHpNl3ut3wj/3Ej8eOE1UL2xa + 3DsMFgg+3XmyQ5LBNE2FECBrVE16n8+eFulMuT0M0ZI8lHW8eKYB03SwWxmFBfLS + XgHbgnZ26IgjVGPzp0hF8Re8nk5Jcn6dXg3dUIiqJWBCvVaenhlFP8EEW8etF15C + Z7OeiIkDlH9bQb0HdAZSdYfDuAMEgYW1DZeivnFdtPjc0hV5yvq/vtz2MvNrhqY= + =kZhk -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2025-07-20T18:28:14Z" + - created_at: "2025-10-13T20:10:56Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ//e089t5UfnD35fbHpRGNboywPjwRxvfAb4qFxZZ2gJ0C/ - lLGgL3R1vDFzJyRJegPBVpYJC4Yx//wN9kyq2sqCWe+ePrtw7f+xNotzmd1UW1tM - mLBSIt7o9JIGWQ2u23u5khKalL1OYzgb/mezGOsvvz/VqGyJbkm7wpy8FZn3408c - d+IiZiMzh+wxaS1CspPwusVy3vNL7/OtA8jiwv+wM0QKsF+BgfUAEU+Le16CE0AW - kbY6Pkymo8mql+gfBOslSM6B3Tn72RjRxez326Us82qKWU/bCcUcCyoL4Ddv5/Nk - SKc0WKWGcQ39XiBuTssModlTGonihi+BqxKlvKT/QAYYroRMC7vFNYqG7inn3c0N - cShjYV+zJPNdlXeiz/ZMs5TpECBIcMEBaLMBAJHkLLjb7PVH88BZIcQ5/odpyOGs - pXqQ6pnIJjg1XlqeEnHRP6WtSZu4U0wtuaxNWNw0CnsGg/meTCKevlzN4OpuoGLK - 4/2vsUzOk6Lq5CwNtG6rg8XhMhb9S869PJOqKIopSCjklcU08SfxwcUZiBKLyhG3 - oNHT59qbSq3CtIoap+VcpnqmpLiLAhUXoc47ISCd3RP2B7LE7j1Ls3OIESKnl6d4 - mvElwAUQE2qtWRr0I6ypW0M2Nf+axY6HpQqTwE4nRBDA0+ZN/Y9LZHW8OEZ8sGPS - XgE1SvXOZsJfR1r4ndxQf2SmahezpSqrO1TT2oz5pVBQ/YnmAp9awZ0B2wEmw1vt - am/9MrBKCXjmMHwa87l6BaqwvnCUPRa9HBwVkGhvCvLAcP8odmhmgjUT0TErkFk= - =c/aN + hQIMA46L6MuPqfJqAQ//SfeMwFnW6CKSqFde8R5qc+wNvcrlcVD4rr+AB+9ewmPI + luCNFCwAg046NfEYGwFP7n4Mv14Wjnv4+en+xmn9Bqjt1skRqthkE/lFjNThaLgU + 75ZqSYRqcXakDyu5wBXQzn8LUuVIDci0w4a8xW/OI1myfk4gdZdw0Ju4uYUr9jjX + ROUf0ccnmIkVLJmMwiYYDwnxKMPachmwIb+WqUksS8GrSsctdYbHzD+ElkzkArcg + cix5M3a/DWS85C2W6yDu57wMEc25zugZqOOt2A1UYbMyOfQE8FPODEZUCth6F85+ + 511lKo1vY7op8lgC0pvUScSiHH5/sYTb2XsCIgQscwbz18PW23fu+FwwhxYCK+n3 + DcdknKw3lHjVKKjkWba3jBXe3ztMYMKs2VIhqymqOXO1O482quXvDkm3r/JdjiMv + Rrh/xT4RtKlUMjULG/CIuufkSzdG890CRFL2lGMEg9a5Th1N+x7SRbD9cLT99JQu + Hla3/nDKlCyVeTKP9mwSzQ3BfHFY+2yuxI5p/1ZLjUrWnz/mkiWnFn0ABjsHwNWR + roOldCiGQt84sa4GfyuLnnA8siBSrL0zpPkpsi7A1Sxq5oNPJIiBxmO71FFESRK2 + MlU2AMccAAEJ4W03tL7DTeqOUMhDQIgYodA4p4P2LGyoIeqn+y8/vRghRMKEkHTS + XgFrUvjyBLOQPgLPfcqceORp8HeviLnXBOn4vxOyJROQCvS2RR85c8zpWlWJzKU8 + UIvzVWlAHXkB27fu+OYD9Ab0Rfa+5JcWq+9reum8eav/zG3tz4RuxYQZ5lvdw0s= + =bAYV -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2025-07-20T18:28:14Z" + - created_at: "2025-10-13T20:10:56Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA4EEKdYEzV0pAQ/+Ojy06RopB8cWxcVn9AXbgX7LA00vUVkbOl7yo0hVXZbo - jY/vvbtd5ju+ggtn9F0H+vunV1ulJidMy4C81wfofoy68Iqok9u5g7JNxK+5k/5u - 3xfz1v15Ino5baSbBKsf5fTDtZkBUOPiYTXJNtIf6RexTaLlveqw7JamSZF7YY0q - pRaxx5XZBY4QBoWliIhuzr0pPSPSM2gBxG4PNOXwEwfVJSJVZKulyDVtUhT0DorG - JAw9qqS/WcyQ905SY+YZV4jlvf9VNRIWjw3Zql2o9IK+MzX7ot7R+E+03k6Pr6kQ - m1SagYKaQXwpViAa5w28X7hIX41Umu6aeEgCi0Piw7cReXxLSDrLVPSaIqT2LSfv - ov09IravRf62rp0axeouUZNTNb/lSWX7T4zv9T9J4m3Pu0sEPB877BPzcJxLCTsg - 9VOIXbZe459Vay4GbVC2Y+8aSbC4HIrReXIlkfPOy9gCSpN9SMMqRlU5Eidmz9md - HlUzeJfGQs/9ZLiEMS7Qk1Ns4U5own8qmf5Q0m7E9Ho7LcV/XZhVk9LO9LzufzId - qoC9r2apZjSLrvAzNU7lVmCbniK0LZ2GhGeSD4mDs2CcSo9Lxwj8Zas+J87vph4T - js0FW7f5cr6PQLfq2wwTtK6PSYmXMM0M3AQ+EGwzFvc5aD9dp45Jbq4Tey+xVqfS - XgG/zmZZnCgHYBqN5zMld1/qleWJpJFxF4pT14fKAioBUUILrAgo+X8Ikz6llDSI - 1byxlPT9q3NgkjrdkegYMIg9rCYNflX54jRfeOgenlMjPzZB2KbdPE7wFmHWl10= - =bKcs - -----END PGP MESSAGE----- - fp: 9DFA033E3DAEBAD7FDD71B056C7AAA54BE05F7BA - - created_at: "2025-07-20T18:28:14Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hF4DQrf1tCqiJxoSAQdAXBiU//ksELwICDAN/c+pT/ujVFTVZ02nCKoGcgtMKVMw - lRcegt+kGVNPIx0h9JstIuLHO44/q6V2yKgsetC/NyCkSJ5tulfpuUnQWUP7rCjK - 0l4B3+ttuIDbAdJ/IidXZIXBlHh84OQDZCz/La8Q1PZm2LFihKCWtmyp2SA2hruX - 1KrzJYRrp5pBGPgga0V75FfFcZrbtyypESDoj0cyRtGnh5TJSB0pMi4RAlhow7k3 - =nE2w + hF4DQrf1tCqiJxoSAQdAMSMUC7luOQYfb/yF30H6IAfWSPcMVcDlCSbMBl1dEk8w + Lma3+Py9wjoUTf4jyONh8PPJxP7Yo2PywQjCLFGuuMdWX47Y7UhBnWdbtaH/SiU5 + 0l4BVp2HXR6wvKNlPj+Jj3GKfL4+lG4/TLacLHA/fNk+ptKwTJaF/4OIePQkT1To + j4mWQzjAUlmKDLc0FJlaolrxGhmXGOn+8N1oWen6JYa0dNuvWWZY17eSerDQJPGg + =OukI -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2025-07-20T18:28:14Z" + - created_at: "2025-10-13T20:10:56Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAuaqVtpUu32jS7+N6XAZgiiO9YZccwXlyVrdtBD0Yhh8w - ieJT+Cel69Ewax4TsMmBhNLGchI+XIGsbGymSjEpXxj48gkW/z/bRwhJddPb3kFz - 0lgBSKVyrRVaG3oRmSBVYrK/RovA+GUoatm1z4eD3twxVKFS9DcPjks51MrAuZ5t - WqV7WAhxXQ/jOAFyNzpV+qWs6hZKotzCc1CUc11ov8Mag0zDnuvMKH3V - =+xgp + hF4DzAGzViGx4qcSAQdAsDSanBfgX/RFnK0ypieGYVXvGSww5Gvr6EsspePrb1sw + pA7N/F8ExFyhP5iNdMCNx5EI4qGGh7aim5+6MyArP7v+yf91KgCn//LixlI5QAea + 0lgBcUQyJ2iwJkko6rxUkCnyB3FfQXdgi9dte72sVLVpft9Nw8/TcRqoe9N1fwRI + rxP76Sd2Fvr1FqfqZozesQvX1XqaW5XWt5fp9UH7ehBF99N4fSdJug+Z + =AmkT -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2025-07-20T18:28:14Z" + - created_at: "2025-10-13T20:10:56Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//UASU3R7l9DtANEukI5MMmxq/voPtDxTprhGhdtvg3RQZ - OD3cfxbNbUypBlPh/CAPpwbmWLeW7ooGPKvkohpDMYb42iyL+MQCVq/dIbMrYcJt - y4Aof+uUJVmeJhPcYj7RDZULjPOvYrk8ONp17BQICy3t2hthcWwF2xvX6x8hzYUR - lPA3Gle2E1VQM+nbT6pkwPGT5mFWlrdGHbm+PpL/nuMGsuUe+VXsXTfZSzKoXEtK - uPIxQBk3dzOo0T2FkpjlZOli83cTFbWi870VyR9ZjxEoXK4xXi+5WmutaRb+J4ya - 3JmWVUTMkVyYozjXBuCVSqpti0tM3c4aGkLhdYDgMl7VCUJQer+K/7pzEhYxRl7m - KjkTNMESdSr/F/6u0ewRTWdeyj5Vtsz9BOHiNpESxS7bP4kiXd6UrxpxisgiiIpK - R2wnPviWUti0Iu9FDzT3m3jxlT+Ku9oiVXXvDnjiN3u6129yhlobPJbRn/OHR6QT - 4czHAJEXEdzG/TVytjRqnPVd8UpfizXte0Ul0awtAFKbC0lgFwQj68b7CN7vc1Er - EmnS/7IO4aLxGoErdKUDZAZElF/ubQNeh9rDfcAX8lWsCVzQQ43xBkVSBmgjF+qX - a/i5U5yLwNs9SlPo16cfSMd5AWJjT65Sp4UKFz5yyfwunIBRnZsgEkBw0FgoUorS - XgH7jq6XOsaVhtljrGFEXgK1i0aeqaj8kEx16U3bM5v4rSmDNSrPSRzvFQ6+fGYs - Nk5Yqfvz7BhR6DJB6DyGXw+b8lWQLOr/pllC7yQagtH2PKYfebciPT8hXYlUfcI= - =c/NG + hQIMA2pVdGTIrZI+AQ/+PySQtMQUJ1Kir6YYRn/lW+CArNN8dmD0ryceVS8OOITO + skIUqVkhuKPnKur/O6U1poyo0EFMOnMZjXEK87EZCTnGZL5sSu7VFGiwPf/h3z99 + ljli8/uidyhoYsQY3yAosCKO594PQA3RzHnNVKWsNwIe6Zo2J3qTwm3H+RK1supE + HOkt4EgvIb2q8UaYD+lZVPGTj+pa0FthIeIixtjauvQJreRiS2b7OsyRL3bpAqc4 + f8Ov5JZP1Ou9V+QFn1buqt2eeUm2SWkwsmC+RD37sAXH2zuUvh5Q5R4iSnc/Ry48 + UJ9+80DBamauQP02vw6a7WccmSku1b0O3lheiiWkzKc1u7RhzVcQEy1SOBJso4xB + g22Kn1E0RzUus4Eoj2M7MQ3Vzlg+hveNHfJJSIteKvAa7505x+y6sxZ1zNmjQSTx + D1AqXIpr3oBkW0LO6tIYbjIKUE/2hSNEpuzJDpB+dsqZPS5p5aOc4y0rLbNlb9Ni + M4w61kcXzxaJxL1pwb/eBetxzQL/3eA8omZR0pwbeqHTxGAGoTGUMDlqK0rq21S+ + hkjpL1VeduGVh+q7+c5yQ9XnS9xRNe7pMm+uKf9Z50OzSFQsQzamm1g5xTX6G4wF + gyjypWKNiPk75vIw9j4zbDONnzvSYRIAKno88LLh7ycdl9SN2776NKLtcrpA+gjS + XgGfFZRKkEM4wG5ShafYLGvesYaBWjoM5upFZklVcHtrSZbZ64PJjSSAQyX8d0k3 + JJ2K7fP5VY7TlZqYXujbNQh8410ARlDuoGVL0s9etx0bbbLHLG1r/kCdSnN26w0= + =+CLr -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/zammad.sops.yaml b/inventories/chaosknoten/host_vars/zammad.sops.yaml index a00ac6d..712730e 100644 --- a/inventories/chaosknoten/host_vars/zammad.sops.yaml +++ b/inventories/chaosknoten/host_vars/zammad.sops.yaml @@ -3,217 +3,197 @@ sops: lastmodified: "2025-05-04T14:11:05Z" mac: ENC[AES256_GCM,data:GNOhRrJkLTjovRO2cZgeiRcqB3TE2sWxD220Z8GynoUV4pWS20vOKvaqwxU9seuD5Msxd05JzLRVTCtP4La6HVSgDekoVYKz3SLmdT2Hev+fscmfr0uojRi/5f+eCqGMBEy8Xs2Y7AzIC60iHqX4VBBn6FgkJuTyS50qn1akoGI=,iv:EIjJbb0adELCNBoRsdjsVvN19v4rKCiVmxcCAcnY7QY=,tag:GzqchqorbDN33+SfspGT4g==,type:str] pgp: - - created_at: "2025-07-20T18:28:15Z" + - created_at: "2025-10-13T20:10:56Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//adiHGDXIz24INvZMytpnO1LF74Xfg6Y7g4namdypRQO4 - fWgaF5dFCEMr8WGbjuk0OXDzUnkAgVtjTSkhZn6TBMgLlUzDabRsG9HYdUeB2abG - q2gwyybBUnbKhetJXdcbEXFlQYWdRhv30GWAI/E/qLUdhhy6v6KON7ZHR+2UB/ob - IlPI02h/q3MDlaa5QObVgttz5OLYRS0v66DVTNTHL5qydnLNjAOOu5v5WNDHL/wI - CvPhnZ2bwiIK/A4XQxGCQQUo1uMSX2CkNkmg3rXK+E9n+kgj8yKmKLm2ckYd6f+z - VOiiKVHJT9M5LDTdzITYu93jrHsYqZDdOBBjk/MVEGHoQ3k1Wmo2ndh92W45eEdR - wpRGkrggpV/Nanil3rEImWOFee+Yhhhw++l7QCF4vQQ0OeGbPM2Gtt6ggnxnKXtT - E22C76DF1Ouljjo56r4G/P9njSN/yJyEpiz0IWytGEGhiVgqMnXdxduNegdLQI6t - FFVIaFz52Q4/oGISbWuvLvlDzNg0XQE+/KNUfDiqj9O0D//UW7+bs337XMfo06Db - eofYq1+uY0c++CBqlBTUW7RAKf4ik80DLy650pMWryOKWU+e49O2wyPl15ZhR1Cw - AdVmL4u4rWYQ5bWUKd1KMBzrF6z9Ijz6xWe8I1JXg0Fw21kqk5qAhvm3Ry05O3vS - XAGk36zIDvIa5oUx5U/hbT4pTiB/rT5PDiFjFrb7V5JVQL02CC7uxqWXk4ioYfGC - DwmygqUzPTr1x/KexvtNVRmCv5kQWmzf6j8Egt0CtSYi2m7JSaVpheM0H79W - =csYx + hQIMAxK/JaB2/SdtAQ/9G6kv/pu3reUUCTVQyPf+vZSEKl1W3plShn5zV1mexSsf + g561L3tA/jKc9xdCFvrzkgq0P5dNHLUoT4GbbdCA7CM1274See2QE294tLrZ6Uww + pkAd2swywKP3bn0j1zYmFxemGaGXPcukSpQ5X4ZhBvDKvM8dgWo6KRUPviQ89kOg + v/9NWaOfbgGF7ZcZd90JAUBMD6X5xABKVIac6qKcBuvz4nm3KJRboFMxgtG3ja/t + fz0LTqwGsqBRcRkZgLudnCCS9uWKee53CqWuStgHP7wfqLasqgNY0TacjyBg9WWg + ZeapLkhv6d0tXsSGAMmiYdXEst2yK/usXbqo88sod40VUJhZG2NUrgWsuU4rijD8 + ukIoZYpie7UyKDf/tfMAvoyI05BS+HXvhgmH1rsUTLsLTe+JnPgC1fmLTLJuvA54 + WgAsrAt1m0FmoPsegcVpaSIBldR9JDMpbE+6OxLfnMthh4b40SEcymodSz5Gb6vl + tLoYlx3+VJpp3+kK6NLxyP77Z8drpNVYdRMI/4XyQe0RCAvudV8nFCzDTjXPNoG4 + Xtd+xTO3So9xpql3hYm08IVxFa+hua7qgyeINt5W2WmZ+MJiGjX0GTTj8Mq++j+1 + 0EnugIqqaTQ4vrITP02ohUq60lmBr6zbH28hZBUHBgnVEut6nA6wDIVT6VTP7B/S + XAHAzMdG+Nhw06jFiH+Lh6BRs76+AFt7O2pDWL8TzSiA60gqvXZiWO7rU7oDsCe3 + 2uC05B+ryAH8WIybxPBlB4eLoHJwQzCdxHsKwWYKtpvnSiuZNnkObuDJg0yG + =b7mo -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2025-07-20T18:28:15Z" + - created_at: "2025-10-13T20:10:56Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA6EyPtWBEI+2AQ/+JoUZC+RkuWmPEIPj3PJkyYBVHaX20gY8jHf6BvUCjoRQ - 8rwhXohbPFbxiJN9bdWdLxuG9tRgg1lQcK4+Q/bq5sQIVCAft0Ulu26BKN+dC8Ka - qv2+7aHws2fe1v7cCv9e4dNkiWTlfu2RHJw00qalxfwOCCrSQfOzx1jCm4xnqreU - LHnzhencBzaYirMMv7J8kzUSlxTHjb4OzV1Dd2Rth8YNZNGGibw9wnJAr4ZTOZjr - PdjN2q8FvX7/xOb0l9hQ++Xx4+iIkyD+WnvlrI7aPZJn1GP1psYIj/n6otIWcsrk - LOmDhvhq6GFMht0ejDyZlNA7ls/JB6WQ4sx4pWF8MGycuh89HZJp/jfPtgob+9Db - Kq/uWElypzNoMIxw8F4TKSs0w3vYV95tPtzxcOJew3Gs0FP8MbyWhU8rjHXG8Njj - Y+KjEVlekl6TZLMdh0lewyQxww83MQLR106iw7kD/iAlgZqnsEcZ1IkCTrD0drKU - +7AyFT2lYQmT+3h2KaIrWnBq28EIKdf0SQ7Ap1w2XlaNz3BFIDrjvfH0Y+NCEkH9 - CKOaIowUyosMO/liQYWmxkJCUsSFEIjHypVKCwP47NeE6JRRpXLE89OgBRpuz27X - xKQmRonQlCvRMOCKr0s/HulQ4wAc0vK6H2BNqBevCDQQOUwG6Xg9I1aFV54OGxnS - XAHy2dhsIXkbvUsnNVynbyw2YaktTKc09Obfu7t1e5AH4DWC0YbRdSHE9LPRq+Pe - 88q6vRz0Wvl6B0iqvzF+ckV5//Mm2bBAzdfCC0HGyriV45FkFwlCP5gh1sRY - =uziZ + hQIMA6EyPtWBEI+2AQ//WL4ttnjERa6PUAoZYyuKnrnFkS6foR3adZhsOynGKVAC + RP9cryOBrLZ4tWf00Nl+wh/hWswJuBWe81dQ0ZyRq0ao2FJAdm9WukNVKinRShbv + bgsRdzjS7W/LYpapNvbJKmxQ+2acah/7VbKsh9S6kdymwJTShRcGjhwiJCXPtyDd + rG3LQ+dguIY3kg2fL9LEtl5Q8xeAtA9RiSAxuu6y9BcUmiz8HJMkaDXFwrleds5L + OFJ3A+DlIO/MgoHwS8T/pQj3L4d7Tr7SqkSPuWKvrX+Au8uLqRM8tVOK7YJiKP0z + ZIayOg7ntTm/jCRSkMuX3oZ97Jbpp0VBX6im9Kgzjj4LPJxM8n7K7/wuZxm+akeL + 7/V+cuySYVfL96hPUINjHe2zrUz6EZ3/oo1EkpWxPd57ksCfTVoy14w1+hF9v0fl + O3sI8f92BvvIKDQHeI05EFweoWUkty34RrOT1zAUj5ir2F7K6Th4m8jWdA3gWevd + oZsVOIOyzTyzHAyFL6XlRphrdRW91CpW6rRoSBgMxaCX4Cso6NWocgU7lSD8sIrD + xTKAPqO9T9qMOKhUKIYnvt9s7FWpDa9xqvdWKX61KUGMfntk7rYEhp3125AW8hBx + HBuZXgLiplOJZEs969JBL3X6vpcMpLJK9C5qHUAi0jW4OU39ktoO9u6elEO0VYDS + XAGs8wOfvnkDlnzeN3E1+o5NjRruLKasBa+6KOnQG4/5XEW7b/LD8po4BuuMy0uG + qLQyWVCDSu0FOYp4GFaGdqN7QZpiUbxnD307xd+MJmlPkP34MRW6Tdx0H9ry + =xCEm -----END PGP MESSAGE----- fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC - - created_at: "2025-07-20T18:28:15Z" + - created_at: "2025-10-13T20:10:56Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAAlY46gigcH73HsaXyUCKr50AVUw82V2x/roiGRkEd60Eh - x/qZzS45jYC8ngpXCusW5UuVcKjfwwoPUSlDU6XYWi6UCQJN3X+AskG8xAx8d/PM - vsgy31LKqD87k9x2um7MgD4MUuKvUzrXyxNpN/fUveXZapzOLSEOWyA0qyB9SkAf - BMuI9NY84WtxzV/C2QWBCoZxAwsexBow95gFybDiqubZZnGQ34sU0M+Kfmuxpwdn - t8AOX+3t61jiU1Vq6ccGhcFHjiSUbb3LAGb/WPzzjyrsk0beMmWDnguLu/xuFFaU - /J2CcPtF7GfJlnwSalB2VVZa4Dmoo7Jp7j+lTVkOf/KTZQqRS0cNr4bF/qdIo3PL - BMxyOQwSoU2qpjc4yyczjNJLaYi3bwTlHmO2JQw+fus8bzvC3JO+ZywGcQG+Qc9D - e/Ajk7r2wnOPy73EvBdlMyL3n4YiCLW0uedtP+dVloa1JZtuI0yYcm+Sitzez/As - U+5zgjVwIIIrbx6Sd2rOG3ffZiweFPO1oWh6QotGyIwaN7ub4bLbjZ4IPEOBFstF - 5knYUvI3i/eIV0VYv6+9mzNHmNrICzVHJrdu7k4t/l89APb2RJQYXbyyPXJYXGEJ - nFtEbPpGaZFdgkbx/51vLRQPr6NATjO0XucfpUlPBmITzm23UNWQZmnwiPQurCbS - XAECbK3k3oFFF+IFrday4yH+bsEBJmb1fZqgNXUfKYi54/e9vvS+h9ZiYeUat6e2 - eunbb8DpLWvoTXbCIdjd1X6ewiRk8HVCW1//hKqZm+q9pq+1qtp6GXrccigY - =keIA + hQIMAz5uSgHG2iMJAQ//V5M/XCLawn6KtqJigp5GEr4j8c4FBgYN/7Vx2ExtvHZz + 635xc/UE9WiMFQAtkiftm5g8cdz44Jx8rIjECsx07Nu2/mNsdzuNJ4JJS1cXSK/3 + o9Iq4wR7iGKAwEk5AazVe5raq/4rlqTvrzXZhiFTHLdKzEpSsvyeWVZb5rJUDgiN + h76iZ7qlSfIeHPWSlfBT8BhFVI1luUhCJpP+UUPrl88ilrgY8NGTQiiYJZuLneED + NdvRdzqOePrK41SlLq5QWqZbhracfDbg1WQZkLiJhJfYE05UuKP+YrRYqm9FeZaz + AvFBB9NKk7zmG2XDjI87IO48vPBge3pujH4Qzh6NYisiPnWWrYUYKuOy1fmVfEjt + /sM0btfqNfQx5P0yvn0E9UurJbhGsI4+mZsFRMWlgMI1yIxpo4DP+rK7l8YJstbZ + OpHloRez3bwZdpAzL2tzJgfK+U7DqSaBWSezWKVTD6mUORNpZVhtMJt/mfktFtuJ + hyLs9KVtCMhFfF0hO/AY8efm6DTJpbCuRAUSw1wPteQvzTxCVf4VE8Fkpm5Ij5bi + TkWPVhfeLkQcQlRTIAq5K/CKn9ck+5apD2ew1kspPQQXVbF5DGtO2ekPGCVzw2mI + kzxNH82ajjHOYQNJVe+L69A0yrJvf27BR+dVkvVnTwo25cKzRLKUTUkt3QQyDCfS + XAFhNN0aRmQNxj1oAViXSp8CEQ/rPifUEdK760ukcwDNEM1y6D1ky3O+yR1TcTFe + 40BoYos2qbEb8Wl6M7+mOem8O8e0/SvE9ktjSUaUEFAn4GaU5kg61Ek5ISwa + =0Uat -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2025-07-20T18:28:15Z" + - created_at: "2025-10-13T20:10:56Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ/+ILCiAWOp+/M8fEmyj1HMIU7eEh9zZJxlVAJtNCs8vBqq - N5nyV2oHGf7s5N1NcGyYYaPEj9A+fTBGsQGNH9vuxdsAv1TzOjCfuJoTaJbS5mGr - w0JwUEi8pFMNrf/IPbFlDTpyOKVFjNJM22hkAU27S2UuL7O29nXkULBRNMChdIJn - 8+9LSPdbrV/ZzNisRvf9UBHN9TCkrUgTxPC/H0IKMFfniAr+O+Tz8jHPIMHYcQTi - 8GcYJBXz9q+oKEGGEoAp6mLGR+qS39aQk9nWMekEAFvxdKrNqNplXRnO7b6UrYNo - ZJuNL8rnb39/tZbTay2+rLWTFrjtaMye0MrMSWF3iYLMMsOiN+AO2e9ij3tRRdrr - S7bO9Z4UUI1et9qlZ7zAPCIMCjzGeY6lCXaQzdV3MRKLW7gUDD0ZAMwHzugQ2NYM - VWEGkn+i9FmQJnF9fMQ+rmbKfprgjEw4ihxux7Sk46pu9THBvz1Tk/oXIVNBaMMV - j8HNbXJSvq8qtBBBpEIvyhkIINYsSxNuQl186CxAkxLKLqXmtmdemYRRCrrhi7C0 - IP2G//QQgmMG+G0TS9xtpbP4v4sb2sl+90ivMaEOFrkBl7EZ14dHt/xVRchbx6fu - 1S1aNo90fFVBd07WJTbRBlWqLPm/tDXgXwaXCzUzxXsushArhV67wgThhkZKHbDS - XAEyJxt0Fi8J29aLfcozFGYyoCouFlWCpO98AX7PL4RRogiClWBsKlZs00t4NsLp - 17Z9+oUR2tMC0GDJJo2KpUShrmhgcVRatxZr+SbtpiTYVLlDludGY2f+tfco - =6cs2 + hQIMAw5vwmoEJHQ1ARAAtZ0xm/ZfBtEbJXB1DyykZmO8+q8+N0ZgKAh8g321nxcM + Z9f1Dvpnq4RsVsqJkP8hibLnu+B44sKcAMN5j0i39k5LwJ3q/unoJZe0vcf0wbg0 + fid7Z9U+D8TJMenS0o1TfyB0bqRZ+INwZYo/q0lxGCyr84RWPqyGGTzgRZh9N33X + EsdwaOhUAS9sFmkwciqFvuNW7Oz5zU0K1SQuK29GEtUoq4EyQJ7wWg/e4sxm8jmU + /yTH+NlyLw8p08YbkrKgVdzgWQ+zzNfkSvadtRs8Xix9XV1GzD7tXIwZIXmWQD+M + CA8gTTAmu7k3V82kN6BhnVYWFlazd5rHLfQCVXV9dlMWXUepnOoGFGq8Fsd9j3Kr + 0OTnLZrZO1+2snMoXMUoqgJpCTrxgC5ix1zYpfCqd8WeAWh88ndxbsR3T9xhrVbz + 3bxpgXa7BgIaL/hA3svTuk+/psJSQK8ZY1z2Ehj2Evg1KEOIz/g3CtIQY2T/8i6E + GBkra0tVUqAbnxhGI+rSONijQbmyXFv6jHFoRkCt8h0e4CRuXxXyGYnegNA/u6PU + ifck5iOy7mSbcLxjLvIKT3AgB7HAyhF9NMaTTruNw1gEaLscySRL5UstuT2bjVk4 + xu5PZUWTBMc4uAnFQdlJlUM7gaIHAreO3tt40B4mWT4em574YGuBkWqS1/vfsVLS + XAFUjgAEUud/yBnM4kGZaEEXVoPTiHXMzzXvqazGXLWdy85yyH8Vc0/G55oIjmka + gp/ae5/WPFQedYSVPmeOCzZYe76V/LdudID8ShbYqmPPyCZNHEwWSQTRYcl2 + =TSxz -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2025-07-20T18:28:15Z" + - created_at: "2025-10-13T20:10:56Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAt0jnb3zKN+/BVpWpm3R9XJuyGmu5fMPFfLGrjex3VT0w - JVs7elFZRTtTI3dRiIgTMnP0FIYu8Kwhr0OjjmnBScfWmu9Tc+wwEbCra9U62Xmf - 0lwB138WLDEtAjBIkqHgoEnGafwEqIAxFotbOfTffcSQU8xr11qSuDkPDEhY0zws - XXpGyCTDGFWOH4l/+OZIp4TFAjyMWwfV22/cnEyz7JOlF0syYSnxYmj3Cn45qQ== - =MFpS + hF4DerEtaFuTeewSAQdAiWvVhgNgXZ1xEKTEvpC0EeSl6RmJ7NPJ2m2/TXwdPxAw + GTWFhnCOpN9yOhnTx01pYBT+DliA8I1DQkzKWcZZLfAWRoNtZt/bY94XnwffJBG2 + 0lwBj/ewRld8z8+qKZRAwg2B6cJODdzp5UlqhM5B25ocH/YOfOFLOEdwj1mv44O8 + tAMopgKi/krCTrm28ceeYl7Y8+iA0EOP72BoS4IaEb1y6WhZT90rXq43J3JaDw== + =UNES -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2025-07-20T18:28:15Z" + - created_at: "2025-10-13T20:10:56Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/+MdxFZ8vm8EqCdNHGUSSQLAzZqvZNPR7PWErLimJwYQKo - JeYngZWNEJShYQSyFeVsunnOH57ZCWHIsvW1CRsueO8tVj0StR9RPm4uzPRjW63j - SYjbd8sCB1jwdOH+bfFP9gbQXB41PxYqFmM7rpnQKUkV+ExToGO+VVGHz4jf3Wio - XYskX0bsSp9L+2rGCJMOS2N/7NmiFliIN55pK8s5DTkvLVezo1z0kdpeey6zrmHH - WCQb5CdBlZyRF8xwidEpZyoeJcbvx3OmwkeM78hY12eLoNUUqUoKnB153EHX9A/N - OCT1vvrbHpUnwhb5qW5JcAJyuV3Vhwo3/cmmInX7smnCfKwwbZdwavuP8cIkv20R - Z0Z0oUp81Oho+C7cp0KKe4iU4dkCfLFsfM93nXvvKFheiPCVCfWl3aT2BvAmqm++ - UpiUeIjCjsyuFwhZRE8st21/GtYfiFF/RMU30UlrtVTn5T31+16Zalbwbsy+syCv - 62ZkVCMRc6mGlcUZ+jj3F8v4afy2CKd9KGRWgOa6SzMNTRL4mA//UvpOIJG+FbBU - QycKvXGFsz28HvIDfDgwPr0ZjowAmmSdNUTqPEZ22PS2r/qHOOsDwkJv4CGuyKuX - Y7YFAEnnzu6Kak9IcHnVAz/KS6w0FMFWENz6irFNNfcnp0JvYty8AXkLdG1FbdXS - XAGz3xQ2kKzb5VTsbakd+MTFccn+B+/FOCnEhkZPL6l1K5AmU12kwIRVKYjwNbGW - Z5K2y1XI5YpaHtWQXk+z56/olkEluKNB9yqEVNCGIZ4X5DzZgf2K/JsEpo+q - =AiTT + hQIMAxjNhCKPP69fARAAlJsKlKsKrONfko5V/yrsITbkZOsZQdwjPv2+BpmjRxI0 + UCN0vl0xhyxhKIVJkuL5nXOzmoW1Vux6cZ60OpdUxccvMaQ8+Y8CuY5jSTNKrA9n + ag232Fm5P50PBbvH9LPtz8DzMaCNG8Xec/QegozAmTeFHdbPvloNpb6kwTYqR5uy + vNRVnN9uX0LUPdR4gRqsQGD6aFJ1oXVAw5G+j30eD998NOrnBBq0zDarjG2ys2/Q + EqYRvqW/wUpNozTdhlB4JUcuFBmNhWaEKriPCXDD+NgEJrapdEK8YFr6PsLkzQ22 + zkFxPItkXbuAoG9KPskMYygeChCQKWy4WfMbFK8t8wnywhXf1zl5yvSKubto8wtD + 9x2LB5R+cW3rHIdd4jWZZuyv/VLbL3SEpVQitMXmz8Jj45yidCiL3xV/t6rNzWzh + E9/PUYEVGKRZV9mte+hiniVYUMHQniAwomaTa7w1EHTE9sziGPrPTqb0xGADsVmd + XBiKhyqwatTgnmsFNTw8gr80hI5CJpkMm8cpAKOXTHP5zzgpidfLTWAnGWPOu2cL + fpTQZ6s6Plxv8341JL8+/FFl7wEeMrMDdDZePkEQXXhmbOlQBbhGCNE5WxZVrU7o + ZYhQd5Gg/q65cTUJfcpmQZLYKy//MYVNsxEi8Gt3boinvq+opbOt3fGoU5b35S7S + XAFVTsQgr6i2aPslkIfbZ7jCK8H1/t5CGckcj38ekkKnc+qFo04BHYpdzrLqjM0o + e16w/tILSlWFz1aGzS88rkhUDjAXJvPVszZziqdoF1Yhui0eeqWX9lwg3AY8 + =VP6H -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2025-07-20T18:28:15Z" + - created_at: "2025-10-13T20:10:56Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoARAAsw9RZx4oRDPdBZtoLBpTyUbyT8iILC/z79D7742MvYwg - X8sqgt0GKVocenn0qcJRa6z4PHRGK0Y9pepmkUthUnzz9NyfLL7hTCzummcTGwsN - eJKuAX6jkfoMTB1yr4B4Ex164oabT6STelTr0fBASBZtn5+GHxa2euQnAhg7JO5l - gexBd1mDABCZiwyCtVH7Fex1c2qFu7nK3bn+eiRvgjBEJdLIA1QKEZIIdcrOL5Eo - JUlvT6g52XvwvHBVjTxPVow83Ewy+Bgg4BY/kJsDZrA/h/hwE+U+kkYwuOzGsKIx - k9V13hcQjluJZMznaljrVC5K02AUcb4V61zisn8ve/2hV+3PURCODbBnT/fp4Lfa - 7d+uXe4pVLIVrY+0oJznvD3Bvog+o+lIdBvB0MEN4XFQ+IOTBUPNAzUpgzseHN9J - vMrJG/xEQY2P2Yk6oIlAuv+PNYCN29b4WzKMAKtSsxcQGKpFuQjXF0j6BQJ9rWeC - 5iZu5UKUOW92LZJPl7HpS5zSMjimjdd5fMfTp5urI1+rksZ7vRbMT3t+61y5lfNT - jxR4M2KCC2W69Et/Kr4MUjPMYKLQEDPxSQD0+eSf+iy/3mnGXzw4fqoN6S2cEsAJ - i1phH7WtQAgWlGYsPTQiYb9jlxOlN8FOZyruuwQ/9iWlJPVBuM8nmZfXH5+LvM7S - XAGt5mqDbySHlqqFKDGbEasXYZufjE+3+R1VSnt/L9ADrwt6YTK4dC6t4qxPj5Bt - GM45JUrRfpWgj/c6HlI+CooRxkkWOfrkKQl60hBCn6LB9u5PoIsRukzXyp0P - =gL5h + hQIMA1Hthzn+T1OoAQ/7B9zToh5Sjx08QIWHvCSU3p9gcs6TEzntEmomSC+f9D2m + HByLrfkTiizvAnoa2m8x7W3hocFGuWiMO2Out2HTpr/wS36mRuTNmgfWb31avhyt + dTKBiPJzL04LG6kT2sVMPlfbhJ8pZ0YEJz9Qwr/HTqYVuQNdnARXu9TMU7WTRlSK + XcyfRU6ioDC4HAidTrq+D9udY9k+UyT/Xx+98azpOpa3bOeHqKmsMEevJ+lBs9BU + bqWFEKxkSNPHnMMVc2Ii76ng1r8qDVWyLDQ8GL+0XmNeWtLA82D6OdASdiUT+Wia + mo8ztvkOOQUNXaBPk7pH0vIVBEq1WrmpIbx7uVJF646DD+MUAPpxpQW4agrsWB47 + YnnAOIY6JRNhwSf7/o52fereFT+CIaHCBTk2tsXPznZt5Y4H6UEZJ77xW5clEiCA + hsY+orVXGkyejpuXb/W3l/hl0vWxhpErDeEF6xa71rGeq4gdNdGVki2zdAWlB3UU + sMNdBKvZcFWcvVQhKC73OUfsDieGS8CdWGn/BsjZQX8Jtz/9D8sTe+KwvIt88NRM + muSrfHPEd6BfDmZcqlqWGXg2CoN1/g8pprYiFrKXuuPy4qA1K5ydarh/mFNyjX6p + btOgsWDy7VdSOq3vv6dVhLaIB7mszVzLfdmkgOr+Hm5pTvHIqZhQznIofvgcoW3S + XAGKeM5Fjrv6nXEW0Xj4zJ4eC11hDSyXeJ7P7+U5KwT0vixELGVpQv0axRNNaPNR + jMku1rVHdYRGNNquiL2oJyY/V8jFJtt40rTEvoALy3pbnrEdE8RG7NxVpPes + =ysNG -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2025-07-20T18:28:15Z" + - created_at: "2025-10-13T20:10:56Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ//cbkZwvDFw6IICbo+Yj2UQlakEbLrs5Uy0/4yC7Cwf/v1 - Xai2ETjCIQNtn6iPSIeBN/u/JaRA4KYyA3qxLrNJdamWOy0J0UuUE4Tia1tvy1fo - VkwH3Hoku0BaLFaU3z3eLXl9rCv02cZHee/8yNSxIoIyH3EpBMpuyelBnpptEW2c - gX93deWNB28KCNxPRT+b/0VMpnHq/LvxOGKmqqYw2ZSp2a640KaxPo6XFlELnrEU - 7+1vrf0d2jGqbv/WIDbK4M1sKV4d07fdCreEfhxgRveWV+PutAM6PZTQ4jXB3Oa1 - kaA7BeDAkr6ZBIzykW/Jqh6xxh+Xa/t8C14i0z81F2V0eoBpbhBla+Y8Rt5sqmcB - g4lHLZaVqqxiK60f4cI2xuNeZPNJImnTYIIsPBBIa0dv1eCQi/wUiZERHOn5F7/m - YPHeWRbBqGPUYLALgsDU4IxLgF42ouYuGMgCLMhlnHL3P7cOhw+D30tlQW53jLs+ - Y5UsU6lv+Gs34O5R7WXpOeL6PADAs9j8kbTEv4UXpZ2gGYMBCMThcJ0PgR9ypkCk - hebdpjRJssBTCcjzwncRXEzsd+jvXZrd1WqJgFALhEAIJjM5B6mmsky+3g5wPHSo - KJ24yCP2OoS8UEce1RpoKHBqHvQRZKfHzZbWVUkOXoiJl3a/MRGoZzVKKvpzzsjS - XAEgUl6lunwbTZyT0zHRjC5Vse0qc6ENIgSp5PEv/Aw14HOEjXYU+sTLUS85UDBe - z4hqrRuYqjrKDVhoFsPUP7Wq5SIF/iTtrgOkbrl3hAAyLO9MZWE0hi2fFFS7 - =nBBD + hQIMA46L6MuPqfJqAQ//Rt/1s0yAosBekTFgIJhDggMHVy+4BSMcX1H6ouv6hYNG + zEFd668fDcpBAq0hAXalxh8vCpZC9CeYzX5a3qlWvsk7sUHNsQALVZLjwN9HHfm5 + 4owzgHbmGd8BINtoirWa0GgqPOMX50uWZvPYXDAjdawywSYxLTj9CwPLw9LKo8GW + b5SBuG0Bz4jWZ591r6g/pvC2Q2ozFUqcbvGylo82rAkgH9lEzepG21Vw7sMdEMwB + 3l0QsAse6Oc9gKgDeqHutoO0vaASvljC6geHBZ39rNHuEjFi3e4OuKFz8RpWRps/ + 3sHwOydT9Ao0cgduUtbzLm/3NHvcH1Hn5zJvNkoEPIhnX0ynJ7GzM5n/A3MW8jRj + I+PX2dcVHEzIhdTcbjB2Cmx2xYpY/CBp1Z5I+IhqnJ0Zo+nwDPldn5rvnO7hofvt + C1adexgMKPGB8zkojRxQErkN95IFaiCbDiwcQWC7ZI7OzDGr12S37OTJrZf6Fqyg + 639k034mFZUR6auDGLqAmzXYmD/VcReepsnl1Eqke7R3w+n7RgBhCAoQjy5mvys+ + Zbe7ooN2vAe8WcdqcCnwwYc1kFNebNQE9L0coLHsZwEZjhYNCPyGI+drGKigezhR + abp2XoLItTiYqbSy3fD0K4Y0aV6kDwFJQiMedZGbqN4nTJcTY1t7V5GTx8pPfSfS + XAGY0zsoT7EX3Cnt34J5YSNRt8hyf6YEpeQHDPyM9Qzlp1ppM8lvmkA2KhcJZzBL + fMBA4S4zs3qi7prrgtNsAF5Smt69XzoyOuo9qofN+776LVWKSyjfQS6ZNe+R + =nlmA -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2025-07-20T18:28:15Z" + - created_at: "2025-10-13T20:10:56Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA4EEKdYEzV0pAQ/8C4yuL9dSIZ+5xd+tFFdIzYNrj8cDGpchHEFQPyOmWqEr - DHCIh0zidqBfFBhYA6aRLXdt8/qILMd+sd/YVDx0Xp+t7vr5NixXGU5L07u32DRK - sk/RD6ftYALp7UNLEVUrQV53zER1hvw/FZerKQaxW4Mf/5s1Ic5OllmTtJgXN+S2 - wFXkKHztpIk325pcyAuWw4L45aLOQsDCXGxtmujPSjuYDN9Cmk6Fzy57J5GL0yUw - uXtKdo0/gRvc5mkOLOSknED0F/wDjHgLp+0X6ul60Z1y0L1zGQOP4TRpokTH9zF/ - XfL6U/fWG6tleneE6usqEhhh9x/mEv0jl+6yqeDaT+h2idXAyQj1ZGtSEZTnCQQr - zO8Ww5JwBprhYTMkgEMqUkBzjHt2HvKUC5BHDCZRo4tV6MIwUHNmWpj8OWZIATsA - qkjaG5dLKIR/y8kiAlFXdaLjZYLwQbvV9o/fV/OjJ1Immr64DWdA4vPxJusFx0+H - 6GWQOqEW1QU2ua2iGjPuU96TxMpk4L5rUrSlPb7HFbMtSXJ98SUgELpX6cK5X1n9 - m7vORvs+2jH6BT9M7nzwDGqLKV0n8FGG5wssmpZkYWG5mHX3Xffl9rZ1KWiThNtb - q5UzZgj1lrZXY4tuDh3tSHY6OtOEsvYAM/Co2cMOYltldBvBUjCIcfp5jMgkuivS - XAGOdaWlLSI8WS0wo20hFMrQ6s6nl5lF7dDA5r15KDyCj7tRDoql34wtGHlcxHVp - fbnvT+vnS8oYSna8pnwUKtBPgJjIQALi1g8u9iOcJcS/k3IjwtYbvTuZDqi8 - =hy1K - -----END PGP MESSAGE----- - fp: 9DFA033E3DAEBAD7FDD71B056C7AAA54BE05F7BA - - created_at: "2025-07-20T18:28:15Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hF4DQrf1tCqiJxoSAQdARTwXkzDANboNyz6TgFouJT5Cn6wkJL8KzrMIdznBoSgw - NuMU4tStbuCfiPYtWDIPCkIb1fN6QsbsFobdoiX3mmjAfZ8zemabizr79CxY9UJM - 0lwBzJvszQdnz637vwhTPbKTNdn4rUYvthofHkyKhtPeM8+Lh1+a1kl7xCgjQ3QV - 3vwR3HYI5aSpkVji1CME/OeN6yydrwRSmD4v0mpRVLz8Q4+jckn65YzfxqLrPg== - =2PZw + hF4DQrf1tCqiJxoSAQdAyO0n+fU1kq4NR2/Zf8SHKx+6zegT/HCgDkpM9DGh/now + db5MRmmINkcRSBE8583KwaSiInuYSqBaw3UxOv1VRZvHnsVVm2AWRtBaYdpnfRLC + 0lwB8TVBhkjNuMRtIiLVdd0IzWaXPmNTW+MGHtjfFocnor+MMU0zIFucRMY8L9jt + eLntMuWw8knwJ7l7kea8So8+bWLlCouxyEWk/+PuLhcWiGBh501yKhkREagRuQ== + =Kos+ -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2025-07-20T18:28:15Z" + - created_at: "2025-10-13T20:10:56Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAVvviZBDa021FiiyOf75HsZOjZeNACkwc4x+G7IqfUzsw - hpC9jPCWXGLxdJ3ME8kXRnnVuK+mO6fP7j+mt+Qq/gnsOwE/tG9xAfgbeN8HtUF1 - 0lYBLhlYSYhrE1XLqxaOY417iX48SQlkn05otmLeDMnz8FVkrKTHPw5A8+NbJH+S - /pUzq/YqYkz482UtIvT2NWxjjCFAq6CIoM3GG0QrWUjMXluTcI9+Fw== - =AIdl + hF4DzAGzViGx4qcSAQdA+EeOaqri8YCU5eC4iwE66pHwS5bJa8UGO5CNi4t7JUcw + 0ZGI75VZydgTRWSaCB1AGyix1oviS5ans6i0KeCtciYTuaFl+jPbnJL9EtnO1OV/ + 0lYB5t6/oT1J+mRr9mocrzaDJOZkv6xy+90QGA+NFF82bKWvQI63hV9bhuC26WKW + CWEALAdCLDo76JrhcqaGjmZrKDWi2y7Ju6rXk8RT86W03y+eUHloYA== + =AqlY -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2025-07-20T18:28:15Z" + - created_at: "2025-10-13T20:10:56Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAAurFFVEyyagsTeCAIJojju6tGOGo9YP/dnNGm2aCdl8+E - AXlvrKFC2syOn+rHTCeseRxWRI0EdBYfGLH2BKKScBOlMK6VtgPV5h8ixqfRozRS - HtlLinWxbhwz2+RcwXQ0i53BLWzv0royywkTIXEyhq0AqwF1LQU44CKzWRSCqpeZ - 2alZWpzTJyqZoT+cus5PlZrvF+GnUbU9JOdZZKjIHKJ9X/Ol9N4H8euDViomKOw6 - UZVqDd1pejzgLwkokVgp+IBw0JwEPAd8Nz+6jFtE3wU+mblm1A1Cb8R0Iwd0DAUE - L3GsJ9ZnNGvxxYMcC/bsBTfjL3Ywt6htCWBC13iX4w2+bwXtJ1/7s5nejTsASVfe - LXJ/viuD9jixjCI9WNbpby/F8MUNv0k9tLTh56CzWJOxRqL+lIgrzXQmMUCkiWLR - u76u4EUMvnbM2hZaNwAYQKTKNC1kOJIcphg4lV4oO6hJdZ+q0Mx69F/qBxYhMvfK - M4R52beywk+bASQgbtSwysKJkwTXfP6bcJuOhkBwIiTfkx8qa3PmzhwQxwaufb0L - xeE+zqaKKufz3h7FiHutIVfWXh9Q6SgoTh2XZix9QAnaQYw5aZWXh/eEIniKoeHP - 97VPR7OUgVw10HpYVkuZlk5Ry/6oLqLPEp2ocIm5wJGP946mZkOd327/kXse0gXS - XAEJO1jxqfgkPVPrrFRZ1xbR8CrW/BapF3ExOWmrNgZ733LGvyo272vK02HKN4iQ - zIUMCpzE4vwRwHVcsd+8h6O2HIuVTbN6FdjVQuFA9dC4Jj7LfO7NILpP6TCh - =TJSr + hQIMA2pVdGTIrZI+AQ//X6diZXCicV3lW5GSRRUG9aR+AmtuZtjDXvqatdVSzYR3 + NeGYYmWwHaPAfQrH2i07c1JeDt3RY/aKo17afSdm3jrnIvfAAFZbPQ6DTA6jvxlJ + eDKJgExHGR2y84EWerQYgKYwQFROiOExNotRKoDP9WEvVO1fEP9JpkxeliRi5+hH + 87uGbhEZGpn5QRF3kkBLvS6zx40wQtdXehXp95eD2LAbgUdlfZJsBsCQ7rvOss6l + CxOceLJPZG2ccPgi9eu6/17+5GyX606/bkzOZefSKlv2ifkIaU900/1Zswn5GU1I + D8xibc1gM6j7l+Tp8hevUiN+lhv8LWiyCk3ph7b9MrXLjcBpeGRZUq/sj+ffZdDH + zxon4BAgYSVw3QvUbi8TrbGv8nH6uxWwd1WOeEf5pHpqSlWpIN+TTXgvroivO93n + bTwkiUH7mmHdZihJUpE18Tp5dipvmKW0t8cz1ahsK4WF/mlIOMTg2xJ7gWMvQO6/ + 8ZpW9lIOzCirYn3L8kG4rtAdaOyk2yhQMBPJGas5udXqn8nfGrHG7wJoR+NgsOxj + l/FkOfc2jYgrVSYxK5DiotWcxgg6lpV8b0YngJF+7+R6wC+E/h1ux+L3y/wH4lCd + ioC0iGeJfHdo6C6dmlHNRzgJOKAQfQFATLvcrlIYm3ejrDYYqMwxxmTkHSuZBljS + XAEaFIbQtogDamtHcrF32E+5GzNeHm5SCNhOZle5KXnHHj1s9+d6YVG8MNLr++N1 + Rjr/RLVjOZOcjzF4eOh3DCqbxaY8YaubH2zAIcBk7H1dhmaVR6tQ1cn8v8u3 + =PYNi -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 unencrypted_suffix: _unencrypted diff --git a/inventories/z9/host_vars/dooris.sops.yaml b/inventories/z9/host_vars/dooris.sops.yaml index b3e5c65..a83a288 100644 --- a/inventories/z9/host_vars/dooris.sops.yaml +++ b/inventories/z9/host_vars/dooris.sops.yaml @@ -4,217 +4,197 @@ sops: lastmodified: "2025-05-29T13:28:08Z" mac: ENC[AES256_GCM,data:SkqMlgJBdM+CMLE/um7m8V0ni04Xi3S9GovNsADrws6VbSWTX+50oc6HtWl+Kj2XugLfp2XpVnlzggCiq3fePsdt1af2+ZfSCue1d+dexjo5Q/gvE/olKlmn6aj5qiosUsLgu7v2bCOIb9m9WiEhlQLKx1wGiqVNQDabiLOJV6E=,iv:NUUOcXtbg+xMHqthipKpRAWLTXda8rup4aCbbP8sVEg=,tag:wyh+hrZreOyT7uQQrghb7w==,type:str] pgp: - - created_at: "2025-07-20T18:28:31Z" + - created_at: "2025-10-13T20:10:58Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtARAAjD1i0lkwUFRgQuo0STOsM9N23W5LdKCuZJliGfVi/Sfo - etQhafe+GsYLMmZy3zTC7JU6KIYB+wTPAn4abAMqrxUFFZ80ij/hcmdj1p/yrgO1 - XNZOd0PEX08RBd25GbIGLGYjvioutm3YDYdYlrR0pMhBvJl7apPLUHIFrmjlk+18 - W/ObOqDvUEXIrm9E3GSaMYrk9b4gI8wtA78Z7JOLRFelKxnnhBPkK+46RLGEo6lo - 4QfN6mA3zp3oVg/dtznQrVtc7mbMvays6M32zRV+TQ/OB8ORqmsEB9lWTpjGgjzL - nWWt6bQVLIEUdp8RKI4kwqOE9ZxTnNAO00cQ4ZmsccsVXuLGQmNeoBynjJrayWXT - zQYpXh7mT2ovCh8TzPsnE3kPtQE7ISgtJxRaaX7KqW9iGq031Z6GW/j/zr1YPD/f - Wve1Z2bkSzHMY2EjbWBMDcIN9JpqOrjRVa4ZJtp4+pcBU/uO0yXaWZLRL+EJIDgk - 68CFGRYAmvEAfca7chv55gGiJWXPONRkDqix0y7Fk5pkfrll2xxkKPoDEU5pb73S - qdHQTDRmrrX4C+c7rSi2Cpv7kk0/azO5bxakREv+vFsiHKkz5cBwz7blBss3jsAX - 6lP+THKJSYDmgK0mU9CUaX6uvU766XS9lBZxp09ZY4lYeexS32ItXzfUTLsx6/bS - XAE829ofDeJ8nGFxCPTbk6mgIJ5tIAAPVBNNzV4Yyb5Q6EKAETEWmnZi7LgkACKL - pSAiQA+Khgy5DXGMnftFSA21KOsZKARhopFoajdnlSlUt3MZlEe0SjTIY4QD - =2QJ5 + hQIMAxK/JaB2/SdtAQ/+P4Y/6oXngawMZSyE8nrizlGEOL+SD1Uc8A0+pqmB5RF8 + RLbDvAMmicGGK3dAj6WaoCEl3F8oP4VvWc6pQC9xaRsaJRH1hstajavI46xv3GCF + ILhitEd6HbDMrVB7QlzRRUwdpJN9/+PSORRK8PejiH22+vIWnMqiYVM5fjoJD8KO + rPZjYnu3b+uV0I1gCQmp11+dBk4sizxr0w0bDNGJ3hMzg/DMOqmJUK1atXg9ooBJ + XwYlVFHj60TS/3so20EG56mYEYyNyds7yY9N1mA1S0SyWoIXtJbEYYriW0y7FOPd + f8kuLp670IJotOglJThq3BP0ch6LxL1DpV4E4dhsxwq4zbujR4H4e4Fl15kNj3Ca + vtCo29yd8at4Hmct+sNyFuX/zGYLZXrl0mKnQq1K22Ot6x0tdQI0kSijg0moUpPp + d/hx6jeSw2TFIhwm2KhnNWOsFSbmREJ0L/rJ2yhunV4UTHfjqq3eKFI30wnC4On7 + qM1u61sEJcULx8Df9yqnRa+PUnltlNuswFBJw5jZ94H2k0CWXAjtfDGO/aVjD7QW + bGngJdxu8+zNhCEyO1QxQQqjY/dFSxwzRlv/jRpD4ragM6AgWgRehqrVwut9yMjx + zf/hq4XeQueVntCZ5UqgusT9zcwZU7cGr4Hl+EeMftNyZ7VzIUfRZ7pv/pBSnwrS + XgHjRqAMR/c+BGmsRUqE7xmwL3YlPCVTXvHg4C2JSruiuYOzeSnKGy2JB4Yq/+wM + auoFgVhOuuwZCerXiTNc/Rj6KF8MmHtpqu3c/NCY2rYsaN3tl6jvm65YDy6ji+4= + =4+eJ -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2025-07-20T18:28:31Z" + - created_at: "2025-10-13T20:10:58Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA6EyPtWBEI+2AQ//aMkP/gaXVNmbRWECzQUxsyVOfE3frnm6jxErV/re/uyv - YWfMZVB0pWrOv/Nj2niQ7JQ663uf2w3d+YdyIAvfazAW7ZA7eQ5dfMj9tOPimofa - 2ciVCdsqDuKxkmR6Ns7MzKk6exdnzt5IEnIJrtekZJ6Q56zkYFhxGjvPKaNRa1N9 - nvVVgp6ovqAA2JZFyT2ay0AxqTWlZF6BsO+uEqub8NSRmuJCmbKvQgfbmI0acqAE - DanFRY5k2ACxed30OSBslvFUmcMGigB0Wv0SvXtqCUmEU061ZcknZgECujoYysYn - Z1txLQEWSFjm6rOCxdKwqRf9DOjB5aM85NOs87jQy1+nZj31+dezEJ+701ROVOCN - hQCQVGqzJYEOwYRDMjtf2fZjc+d/smWv0FijJleWHBB3CEvMZBSHCZaC2n3/jtFK - mRwi5yZDizxGqq3kvDiU/9l/jMUPL7u716o7Gj6Y6AN7QgYjQjmUiXG8DvqMiNQX - eFX2PLjvmDprao8unnJ+Gj3NgwQgXkFJm/jmTjVwX41V1W8n+ayTy3MdaXaa/bYJ - uXXVWDKijRpl1ewqu6A6K9ARbPGmKmUuNIQzhgwav1c3VvQHuO91OoFz5rX/m9cM - iY36OTPiRsNnrNuoqa6aXSDoMZoOd+KCkIo9Z9HV0NiKVH4oerBE9qXxvdCB3nLS - XAGnBTYLEVjMXiWtZxRFXpYD5FUUNjsGWsN2nO/eqPv1FVAjECfiacFWUxu3kXxW - ZCr/WP+vDbexsPPxKNwV4oBO4t4r5miov6mfWnil4mWmvrOvANi29ptQMRKw - =3Lex + hQIMA6EyPtWBEI+2AQ//UYavx7nbBECdEhDefYN1Pk1ydInIBa6MWCA7GGNoVX8P + N/KDvuBwJGSONY9x0/tpoBRYuLdefDIkfnHXAMHCKPDjyTuFHM7WiqJRNUaChnMH + j73ecjWB8kImCNA+OsDwSYzs06t3BOuYPauH0Vaba1jYN5sKx0SeFdQJRZBTPZkO + HVR1DVGvSK1jd8d9synPJ8ltvxo6S+JYM7dOHoVI8i0Shzrn+HFg32s7ZDLbIbau + F7D4BjzTzdDX8FvT0NJO+Yqhk6pdc8586o9bO5wzfTTqsEEwTaXRrImMa3K1pQu6 + 6G/6F946bW70ie0HmNrzt6gUnyCWWM8Oc8gtyNG2+wVyz2Zh5ttCgFkvHF0sIyiS + AV4JNGVs++RZUmEfxkr4ZfMCQjYToG8RFTQQQ8WUDm/t1OJIEo7lnupLuvWadvwO + XBatyEfUNqncY3pFUtEcjWYTafZi+FQteBNUv4c4JNRtG3efFhzvxJNXBfqVXIKe + 7Uke0KkhG+HOIBQvWc/7JGSA8vtmIuGCOD1aDaHfwFxVEYyBnu/m3H4yt4rOaUsd + 61/XY48drYrEVXyv+4xxV7BG+HaX5boKgI2i+iqZdhdf2Bbbp/PA4woUVQMp4pLP + 5c8vidwGtZwS1dhOPoUXuYElkMgFUV+kPfQxTwT9RMsB1uYcsL+2e0TcOUQNbM7S + XgFbt3ySJ32ovWkpu2OqctN1xBtQ3J3FeQhT71Z2mPmnauYUGQwtTPUQVidpJDI5 + KhOwgDYO/ZXxQ6P3faG79gz5cGiKUcbargOISgQrm+gSurxYdg3YCZase8+CwwI= + =cBUH -----END PGP MESSAGE----- fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC - - created_at: "2025-07-20T18:28:31Z" + - created_at: "2025-10-13T20:10:58Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ//WXDYfzt+mSWfgpKU7MSoU9B+VuO6C4g6FNuAXVFUcblZ - 7JOlw0Sikvo7cPm/a2keRTGsimFvf0/BFelGdSmJBizdKE66eAc/KvXfV2RCGLVl - GyBJkSeAOtQvfscyJaDjCxS57E3PtyaRGaWERUJ8mdvs46gfrdrMLjnF+fHSfOOb - BddoGlHwGgqRmPu6jLbv+U19+SuNhI7W0Burl2JQ/vQYxvoc2H0e/r0wGOAX07sH - vqnsYwHMAGgaeyKV+Hz29FAqzcT/svc3P6DR3BjDgDHB6fd0jTSVUvwvzZ4MPC3z - lg4DZjr6V13JFvUZpQ9xi9I38DgEOpqG8jdK7XZ1U7xMfKBW+ZLH8YgB8SvJLHK9 - H7MOLcRpdeXtWgw/S8HQXUaaOUuV/Lxid+W1Q3WDofqwJYCrEY3JdLFBVvgETxvS - 2wckmlBdEEUiCzt4sX1XfanwJwQuPw6NDYYxYsLe2LoFYaiM27wzgjIn6av4m4nT - SRD3RIdcLpOJDlh713ZubfvoPn4PFKWQH4rRnIbnwI143GjvxInuwBSoRS3yPfv/ - GwmW1Qp3voVRgN0lwdoA/ruydYBy0MOcSDDCVm6d2ejE+QdnDLakqKcyK7NB/GNO - Dvg73oNCSFmM7hj3M99X25GeJlte0pEK+/ZuYO0vRa7JCPAWzYluzg1eRpcCVqTS - XAE0c/M1Orkjx2u9YGbEYNEmMAO4g0xgRVJmJPoYex1ZrAasgiXw/KHpPzfen9Wk - QSsH1K6Xudf5U/4Etjqnctjh9ZgPEMmFe0iPbD1FEz9Lzy1vo49ai6+U/rnA - =MyFz + hQIMAz5uSgHG2iMJARAAqo/EQcO7Bxq5ahIqJJKfUWl1fUYqbXDJKUsr7peoHGQd + dHex1kkerSC1HTi1Ua9uLdz61nZkC0gLG9jl5Jfa8hBIHpsygMWdFM8TkbR/rZQQ + 4f+HuiN6ZGmKankMnuSs8nCdqkQFTiMVItBGxGQ3P6cfkZvaxQ0M7U7OVZ1H/rGt + qkvu6IdcMLfuXnfEyI02bH6nhA5cqcuVdXiA7H+av/AgZxHy6RJCbrAhihNiw5zh + HWzYD0vt9o4U/5iOpdpE+0gMdj9N41bWsXcDvmhd74HmXdI4mKwb94MB+CTIddaj + UXTfHeJABVtUSEuq9jnRW5kUKcJl9kZlFbcy0as5tizzQ+g3M9ukglziQU7hm6zJ + EIPOke5GOu74r5V2wg6Dip55Qe2AQaY7fkQz2m1dDmb2dvakaDzdZ1/KYuIQ1Bd1 + PM70wPsliUsO/UAxvmgtGvEDdZvHBX6C5Ib70DkHB8A0zm43/ZIvB7l3mVPoX6TW + ZZyH6hTHvF8NcX0XA2sOaP054GGpBzVBqG3I6NndbOeHVq59rN17c6aSNGE58wq5 + G2M4F2nX1fGILxXeGUJVahaib7ZI6DIr8u6BwFGMLr+Td/fUxMD2qdar892NzeCm + 8gC2v8kwjk0cQp1hv8bn2Vf4TjwR7V5++/qYeXzOd8cQHE55oYZa9GrJ1SLKGAbS + XgE83PddEBkjuaJLjOloXr1M+rykoPlQ1+UtK5XVW+Kp6EC8JcXRJ35XiZ15ScIj + nLZpmjD7FbSr4BthLf370LaClX+iQIfPSaDd0DhPx0cbOzsK4vIsNX8BeoIPa24= + =dRX2 -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2025-07-20T18:28:31Z" + - created_at: "2025-10-13T20:10:58Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ//X8MbQzTrRC2iBk8ioKdLRerWtPXEDZnS0t33MnMb8NSe - jEUb+nlixr0BFK9U6lpF6xpLwAKP2WAzwQjAF0LZp6v5Tn0KJws6MuU73eOlfiXJ - 00lDe80/UpGptmgJzXoCxIPpWA8jn411ZYaHYzKjDI5DWxacwLWJ81LoQ554t6Os - y++haXs7zHKyuVlFOSEJtuDQ7I1BI8kJ3h8Pk0PJZ0pDy5+CgbGJ57OBdOGL+JiM - x+3qitjVdDgtBql969IjZsrU5wlbNoBySvj/pfJTjCw9xifK+L8X6KOJObUa0Ny7 - 2ykINNFIorbgrdW0PGwieUOaxh6/Kp74pS0swBrV+XcsgwLCuHRiW/3SlFpJkbSq - mnJgO71rSL1fWO4woGCjJOgkJ07xIlK0GrX9fzngBRUQzrFu3cO0EAtuq0d0WKwI - SIiwV52YQixiLyKOSOMRmfuwFziuhULGC5wgtc1Q3C7tGNmmFsahGIpKfR1lxxb5 - zsNXkc54EZ+Oj/w6bJn04FoiQh3lr5Osvh8CfFUdXcNogMesY9Q1b5oQ758BQAUd - RKIwL3Drs+dlZaXJo18NMYuG1WQl3ZHXfXjVDqiJMPPVPqkizQC2QJGGYXuRJj1r - DMXbew50XUNTKcOYjrxaZzWTmzN9AiJt5utL7YHcg0Loaq9tUiSJxNSYT5hi/nPS - XAFA3pn89D+Io5Lqznif1FzL9Bp3/3cWfTFtJl+WPE74InDusLNMp7q7ZnQdvRb+ - GLPgrEUR58KeCG7c4j0lI0zMpcCySykWqn+lqzihx7tOzb/A/fbxV+qlYo17 - =/na3 + hQIMAw5vwmoEJHQ1AQ/9HwAW1OlLo2jy47Z+KdRPMMx4EhcYGJKgwxnL0/pzDRod + TDwSgfas+MsDhx0fx+drC8O+mzw79xGmHQWAEHhZ6EpZlHQRsE3Sn/8nCam0jQ7l + LeKCyh5MK3n3K0MPzgis2DxR/Y1LOaBnIyL693MCHy5xdB+kIO4kFipWtGlzbUYQ + /SUUhLXBJv+GzZuEtErgvhViW5cy3xoKoPRzeu6+3tj8rqye2h+GuMl2c171uh5G + jkGZ8RzYK6R50gwPT7J0yVAEvUbilSNi0W4k+cBg14WRFC8CnMtGngV0PsZxbD3+ + nk0FgTeUq/MAPos6blXzny5xKfQ88/eqX9UVB3VW2X2Gqrrd2WA1zGYwJqxcCqS7 + on+VBjsc+uObCJXTyYH5hyJUtoD0Ed+GxvSoGDiwcmhs+6mvVb3sANTLYCXo4J75 + xN03s4UMlgrzyXNhqL12zlshth6EKD5q4SjQI28fOWgsgOlpcDY+QI8dBMDOPm3H + mbd09lbvquSdGTEGkCLOGOAg72Ph/jWf65+yYnC7hPCaRxI9K/bfbVU8HQ+rJgsC + D7ckDKMcTu7uYhFnzEsUqTe0aNS6puuKK+r3XDi+JM3bG7R4AjsYUstj8AD0tOY1 + aEaxnroF18Cr4BrguFjgd8h8waK6DfxAiG53a72v/mNkcXtKOrm7zImpSPEzQG/S + XgEzCBftKE23Xjg9mzl59muw6+L8JMDUAFWmB7npL5DTqGpz31cpVc6gihlrSiMO + HXVCUm/pQAJVCdXTqxsjkQmv9hQQhX0wIK7WVxzqAM5R/YzBP/sGgUeGhuSfJkg= + =AR6z -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2025-07-20T18:28:31Z" + - created_at: "2025-10-13T20:10:58Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAu5t9lSFJ9cRNRTTXH4ix+9jZ51eg4iqw355QQ/IlVwgw - N757g11ymjjHHflK/W/X10BUWHjoAmFYyMCkJaTKL5k6Nn60sNF/3hMd9lRmh34g - 0lwBl1flz80tjLXkCK2xie5fc76tcLIb+tXj7/hvM1WM3oPHAOS1/nZY9stLw98g - yHFwV+g84tL2kxYcFcdF0uck2/akvHYarGVmW+ql9yY4elTEHYl3UrZOG+YlMw== - =QxJA + hF4DerEtaFuTeewSAQdAG+nf0X9XiYVa6T7YWuwocUM2FKyC5ZzkBepUimI3G3Aw + LJ0I40vOoEfRoa/q1lEDuizyA4l9RG8EVwi+c6yAT1OuyqI8QcRCwjrzvQoCKTDc + 0l4BwS5IX4l0/BvSP9F6A98s7HjWwNRInLQNhgOTHgMppnjJIDls9QnKjlnwKReN + 1DwniCgRWCB4UQrP9O4kla74RItxaqJMAjo5Bjwpyi9UsyHppp+hOMLWamMhqT/J + =BL/2 -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2025-07-20T18:28:31Z" + - created_at: "2025-10-13T20:10:58Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/+IWGcOQ49WwlWlHwkQNmJn2mJItPtyEN7WnifbjDPOKZe - fQuh2Qr5UfJth3WRymL734QveVdNLhR6exyi8pC6g94S++KrZa08AlDMvZUQriKu - t4nDlce7wJxlvkAjbOV1rYj1o3ea6iHSNOUcvaA4gHOAG2EdLP7VKnofacoKWYkE - Q8dic+NHVHJlNKkx+TRYX5GyKhEcJouqmj3s3jX4MOzOKqvSb2vgwT9zZsASAtqL - 2P6Jz4tuX7YJS7xEoKCpA/R6y3UAtpEe/qokbGa18jDDwiiojDUWGr4SIp6T+zAn - yCC90P1+9hZLVtCCJVka9MLn9AvGufxqt/d9lJi9u3GdAdgwGA5madXKqmppquI+ - xCbuWUY9EFWAK+F6R9+za722juYCgPCrke37bNF02NfD+fonW++uQmRJiDCmJ/ab - FEPsb6CMvlIk1h94skTNwJuLm63s6nGSrVChTmz21gn98OELxcDDav/Am4okBlpM - dUd4nAZbla3xUu8mDWhYVufnXeUaVy0mPh1oN6LqxMAIFgrFrdzNFQiLzXGzjeO5 - hkZnF4OLzNSTx6OIaSaTG9eFNEldkanWK5uaD79iiJ6HpDBOxIKK76d/IlkSWEo5 - IMzYgT3J6LvuCBIp7jqq3xluarYm3jVL74iJeKd7YrmEJmH44whZzFqLFwXPRhzS - XAH8HQ4Z5Y7UO5V4XYV6LzI8nJzNLMpTH0RrdnDBRHHSjbtWo4coTQA+XkGqaKLC - Tx1NxeES5PfD+8C//8bkyDkddr17H7augKZpl6+qFZEcsnVoM2v1AyuEEa/H - =OJbr + hQIMAxjNhCKPP69fARAAodfqlZG5jgwmQrY55giGV+U+UX7xHSzXhBqZXcj+mMwY + mF656+UizvKgyDQu1IkFJA1Xdqmq59qPwOSDWUpPCxNXUvnWnoQ2klZVLUFcPKd3 + N9851Kd3q7BBcTDqIJvDZaHNnThyc8/x2Z4X6gG0+F6xs2CGsvtgw2CUmlf9y9da + QYVcEZVl86Th6d0GXXM7VtzVxv7NFb9HhGU7XlvP1sF59d7BqST9pl0CMHfevkAa + LmTGlr0wLZtOAvbFIHXdI8j5nPSzEJorBlme0q+8fGFOED3tUstvJ2XPgdqKcsGq + PFZ9hALTTraatZchDhBKusOaEeb/YQ26W/OmU04JVG6CEFjqdsuwee5SubTswYV0 + FNYdivJdVyLiJiRkcWyjOZdbJ845EApPUYap46RHxHDv4p4MionH/v4FsXRrX7KX + Gcp2LEuv5uhJfYsJ0XmiNXyU55YGsRsNbqM7mIR+gmBOA6Cv6/+HiiYaDAPmvv/3 + ZG/AsHfBgxpVSJ3oTB+sNeiC570kdZRDTtNcwcDeozpQiZGKktcrYQzzltvYhE0o + /KdtXScTs/wDOIsfFm2SPj02gFFvpn44SEOu++EAFGEapv0cl7y1vprhMXewW7Fw + H9YW+P/BvjbhI1p8GHY86nBP6UG76uTlb4Dn3GGkTwhTS0ax3iKFJleHGAiskOTS + XgEhbRzzb33cM1LbxMaOM5ap4YowPuymr5EPqF3ZZ+3FrX8gj0OabzpjBGF+aV8o + 6o/fFbMSOTUb+++jmejtnvpl7BsyIDHuAjEmPEswLjYr1P4pI3Cdg70MEZCb2H8= + =FKsS -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2025-07-20T18:28:31Z" + - created_at: "2025-10-13T20:10:58Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//b/ndAkI2OlGJBnsvz/U61ApEwEgqqyEmhF5GBk1T9K58 - RIfeQgJgTOOO1HazOqovOh8++tfnNR4BtthKPXaMRPKXjZIcm0uGjDXkubWJta3P - EPJgJfNKz8KpaFe89dkzb/1TIyk2Nnui8rbEOIgomM0TOcf94N9tfNZru3kXHPuT - cglZtEwsXww/BE9QXDksZWRSDasvydDuQpQn4DCZNatUUYYOFQ9hkHUvZd0v7gL1 - tyrF6XRJi69MHRx2GcNBBCuOCNO6RgWP0LHjD4JYKJdSyy8a9qTPmCT3Ofe9TQrA - FbYYOTTXLDTWmad6GnyAy7ZKUvgosoFSw7jmB5xMwzyjVIuyNnAxLvjnppvaR9Xh - hfgFVWc1QAWO3cLvUKmx2IMTxQP2mX+zWk5MRQqTjuTGARAe+AYKHtAyxszZEr76 - 7uXRB0Eo7WS9uth/62iAtJy0z68pXYzRI7pHiJJueZwhGi5rGdMeDGM9tXFOEdUP - 7d2y8Cbx0cOfRXy6VgzQBc6sZU3wevzNNLK4M73A1urIrx2eBZC9v9itGyz9o5g7 - d2Bs4t27KjFo31dXIM9YhJr04i3DvPq08ImY3MsNJiGFKtpt2wCkzlPLJXmyewL9 - ybmdUieW94PL2rAfkaMbWMjaja+H7p/ItIe/Hz7WEz3R4NJL2+aaaWRKqUPuo8HS - XAFRkJPM17ALht9P5M2qBsdeB9Y6zsJuQySooAtubTmO0SBae2CLfLi7r9G4vh8B - uyaPRJU4VvXftkURyRHXK33Frj+ZJQCyVr16WXF0/klKmb5jED8TC5XwrejZ - =zjZ5 + hQIMA1Hthzn+T1OoARAAsGw0iqjlsDVLy20bFGiyXP4urrmxEys6x4+1/d0zEpuj + mnjkM7MCht4O0i15Qc2OZNFOExwNzAYq1KDeO05MaNW0A8UCi0GmoVTK9RsTy5OA + poUWQAr1pGJ5mCrrGJRCOBdXqxmEskW5HW/43r7TL9X6EnSRyjJNPWjn0/6IGG9Y + OWHBnMWevhWr4Vdj/LSQhgm/3TuSSd+cBN94QjtRsNcscTsGgZ6I9FZIBwSu8QMg + 2R6LZlLpck/Kq6a4k3Yqm3yqh/bCxkHyy4pp0JHmZJs7BMhkmyM+h5riclHN5bjh + cafMw4HmOm2gNprYmWHBkftd+9iDDfjkL0azNs5EZ5A4QFwsFayqGmr+c2bazifb + KmNO7XoABubnlhe8LuI6d//hiMJB7iKeKh3NiAeRv3PeCVo3F0DMXkphtF/POMfY + LiEenCgpuV+S8Yld0hFxxh84abMKyZqasSE7IoU6I++Ti0OsK5ZfEUAdlE2Mx33e + KC6QPA5/eo3i3gvOb3nh5XBys6lInN5Cm/J0RhuahZH2L5R0UEj09at9XmdNck3u + TnW8vSf66p3FYDuEyjNOq5WMwA1rVnuHHIx6cjBl0T2COhRFHk130qfAv5Flzyoo + HkSeUfoM6Rt1Gh7+fLP/BvDG4Jc3PbLVTulAlO7+k300oHrBjXOSkpqO8IM0CATS + XgEAomlCqti55GbMR+lKgxVDJ4kXeFEUg7CCptesHkux3eDFcxmL7XbgIrlJvh1a + DYMDeIK/okQhe/W3mMcF68+xm/Yit6I24KODBxagTCe7ArBy9N67Tg2Wzz//Q/k= + =uZ8i -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2025-07-20T18:28:31Z" + - created_at: "2025-10-13T20:10:58Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ//UDZyyywJC2vZuaAqLv8wvF/7lyzKoqPsXp9OhphMwCag - LZyQ66GkaSx1jsWWAGQjwVOeikr23SO5Sc8tqVtkKDXq26b+S0nPHf+xxnSIqOms - l0kTla8c7PgJadf4YgKbjZwA4PDb4d0yVM5tnpceGZyzHXtOHdojRHBKgm/ed+p1 - bXjx1SeBZJH0F4pp7Pu5BTZrVp/RmlOCCs5SmzpBX151u1C310bIPrlMzyzKJOL2 - SwiP+/DpwxRn1SRyZXQQ7bRzpS/Ax9g/S/+tKP8vIrYJ/07o8xensY5gjrW9Q0Qa - RAQLHacCFeklkqFg32NoOSXjknvITKHSKu83EPq6IWgj7SV6KKxPXAiWmWIPnL5W - TNh40cn2fMPrcs5667h/xTsa0PNOzHEtXf0Vx992JU5bTsOugmdc7e3bYzEiUbdZ - nKQZW5AUV9T1qZdXBqnB1AXwijNnFkhtJrU5e1GZApzgN9GBuJIdWUbna6SSbEiI - /x46YTHOfMSsxu5f8NGi8au9ww/8tonFbR+CSeYZmnG5loqf7Enyj8iGhLiEfG+0 - mQPkxAB3mZEfjVr+TCXUz/x2Z99eO6xv1vJ0HxrQdEHd8MaErgBXsobOPi9cQcb/ - QqfzxRB0xSPlSfcaIDi0iPXzJuNhBmpM4bUqM7RRA7CanfP2xwCNnAc9OYsw1bXS - XAEhWXrz6gMPCMDeqzae3ZWXBvH2aM2jSEcLy6MXz7d+0lgOCCbzBFUIJ6468AR4 - QtDFpOl5r4sC8Lpej1mkZhQk3ngZ0fH+ELs8gliRgBeUz4I5J9prZ0H1YT5S - =hIWB + hQIMA46L6MuPqfJqARAAvL/LzRFhGCXA6G+5aW6fSnR0dPynX5eM5BigDBa8VYAM + x5hbt4GOblXrRVS80YRC+rppuzc+UemzlX6aZVbgWtgARpAJNAh029ZdSJNwhFfB + LGyUxvErTkyJZPTHC7hd1B0kdegPr+ZZOvf/oZVYJ8NRlKAIBk+ahmrz+xpjDI/W + Cy27gShHmNBiuSF0nS50RzE1KBW743ERYmW3qVetWgyQuqHh4h7W1y+YkxgzSDFE + qgQr4t9g7+saq2zTZVq/TmDRH266mGtjOWFxw/R17gR6WRykU8qqPl42NqsvH/mV + 0kDZKZ9YTkDJB5C+vr8AbpexHxYzxYcBudgVTnlrB60QCV0x+bWl8xpgtCZ/Gpxm + 7A52rnA1ZFZi5uj3UQQUA/UyRRLTMdu0w+KkVCxj95OdgG9Ul4D8ex368E1N2JnO + eu2yF1a5atswxKq08RSFiL9ft82PQuh7ZdjA57byOjknb+21gcjoIGp2VYFqxSko + bLQ9uw3oMJu+AWYHZUiA71zeigrEz/pW49BRL4KGTq7Ik6nzduiD06/Td0B+4XEo + xUhsPLnYLlQ5F1IvFPq2FRl3+ZPPR+qdaBR2CCbLoAjSusvAg3z6pQ1D+FkYz2aw + 64W9lYBDrn9hd9sXbVpoNMV8rqEv/lrREueYdZ6doiQn8WVDcfwbq7t9+Y3lawbS + XgEmGkxkpyiVRtjDCSFJpRCA8jRdOQH3+DTzb+LPCrKOs+ibKztXXO2wz8nMENMw + yBBednsNcPNcE/fDXXnRRJSEnsbnROmjnVPWa1VTsaVilGW0dVLCPwtMDpqIQEM= + =68Sf -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2025-07-20T18:28:31Z" + - created_at: "2025-10-13T20:10:58Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA4EEKdYEzV0pAQ//b86yL2Kay7YkWuzeGb6g4uUl89S4H1TJOzCthu7EJIUD - bQG/f58a5J2k1PLq88VTrIo0Ulz0BIGmblguqTAPnr0XzvAbWHpio9tnlB/LRFAk - hj2OKqY57/FOyFXtBTKS9bhI8hqWr3Qn/FSQQV8dbLSrkAZ28htex6egjknVVLg6 - Rf9f8DGENEOV5Bz219NFpKs0D5dxqsXysIiHw7f6vgz4r1bLJO/RKxaNz1kGCw0w - 93aVHL8BJuFSTo4GdaJAWhIWuZtRbiZtrDFrSD38GHRz0KxlNjPXrSFo/wqWYey3 - vq8hgPknEqAiQFJHSxhAKo+PHjPTOn5I97UmgJ0jpDopCWmF/mlUhI0CMMPRtzfy - 9mYTH9isVww7tZq6VClHt9MLtgPQbUtcUYNOTSsqpXuRw5AafH5x45SAaRmgMiZ5 - d7NfhIi6k4kUEmqHgHBiH+MfLMsIu8GAlUJ/biLWEd7VQMgLD6ipLrijoChYvKsz - 1ej8G1cV3wmwT+JkCseqfiH/ju8T5axZOFzTKY1t8faSx8wr0K2GNKySR5Tq0wDM - 3e87vrNjs3oVH8RMBiPQzPUHJFSsNFdjjHpE49FkJUpy2Y6Jlft9kW4nHiZR6KFg - 9D1xK1Yd1kD1wck0Tou/bu6+iaOppRAMYzQkwmbFYCZW6byqwQWz6TZ3b7w5w/TS - XAExGv+29jQHHCR9uPx57ll6sLxFGFt701li7EX6P+ZBz4FYui/tYNOUqw/csGSc - 2BYq31FSg/zq9ejhMFgCbJMdD0D0WwlfGA3wgafk/igDYRDixuEZ1yYKqX18 - =aiH3 - -----END PGP MESSAGE----- - fp: 9DFA033E3DAEBAD7FDD71B056C7AAA54BE05F7BA - - created_at: "2025-07-20T18:28:31Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hF4DQrf1tCqiJxoSAQdAzHZXfaqUFHTaI+zp1Cy4dMgqNHVs/aNnojVL5beS4jkw - Qso98uOePpagNBVnpj6SfuQI5tZHzNETfxHl1k3qRXPS29J+ybEzBQgdbtC3xbnj - 0lwB+uL9zdyS3WTCCm+PJV4J2bhhd3UPgoVXuszUetlX5pqvpJSCHcfH3i50Q5ov - fa4/XYHhH09tfJ3nf+iB7xpJL+JlW2bBAN3v3zlD6+jiIhDxpmBmu33tHdXePQ== - =4m7a + hF4DQrf1tCqiJxoSAQdAyB6EqNKBRibDLjoNJQa0j+H+b3o9kHcqsSyuFIp9ClUw + Wq6E+kPd17DtWt2PstpcmYGfnMl3LnnKvpReObUNQeFHgCG/jMLVCQtqdWcu5YG2 + 0l4BYZMZ0h70SKMX8GD5TcqPmiO9nM19beb3EuGHvAnUHoLryQd82DhTPLQPhJ9Z + o9s7V6B+QH2wlKURcINADZv27EpU1BGQX8hXqdT9vF+JKBuNMv4Y0+svkCB1zJsD + =UPAZ -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2025-07-20T18:28:31Z" + - created_at: "2025-10-13T20:10:58Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdA3M0VvuxztWirQFgVHzqzB2Og5DNTlqEjkN4bmZv313sw - CVDDFafeu4pwh07O1NcbVB6T+O2BkXc3PI2OWCMRWS6v4uMEkygVSZCmxiZ18XGy - 0lYBWY337KT1q+tb3PYDzNUTwYGulx98NBgYHyTzpDECiJ+WQXTnQO5yQ+iQ3rFC - 2AGHc++H5rq53D5tDi9cjqKZs0XHDhuu+D4BLB0DQKwIjAWXJIVJYg== - =pkPL + hF4DzAGzViGx4qcSAQdAyghr3s7Dt4ZC3zZ5J6JQQb/39WeKOiigIMItG0XMwREw + oTRbAgrSD/CWSGTgoMJySH2b7yeJ+bD2nvXHgNwvPS0QaJ199pjUZhxzzOIccwok + 0lgB1/nSHdDSfiO+VzbNdhK+dHgnC77dVbkmjYwfCsDgh0j4I0IiExX6cLixA7n4 + FOvQJmdM5NYOTouAwa0CAIpDC1WkDTZ92jz7HUVuz/OJxQm5RgfDSqdI + =vhg2 -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2025-07-20T18:28:31Z" + - created_at: "2025-10-13T20:10:58Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ/7B92wxRSXHW2dAcmMp72Ll+4GSbjD0QFPincZ85+2D06m - P8vUWeCFfZ5soURASKun2RKa5GKXKSNsDlt75afM95ftsodmuyQ1SVmvbE+6SbAb - IwsqoKJRbBskWeEUm9zGEn7910v0qpzhaI9jwwCi6gT4OB1L6tj3NZKcVQYE801p - MVDf6bOoJ9DhyBFpzmNtASFRw4Je8PwcfrUZSfY5UZOfHTiBRop3l9mBJBpAw6sn - sfn+kx/TvRJ0JVqUQbtQzq6cAIJF3607tB2HkoFnwIswwqWQz2yuoTzMdhQpnUBi - 0lDHThAsu2YKyavbIH7N/sn+hqE2j+aOrQvMZQOiYFk/l4iMLm14It3UY4G48Imv - GohLw+gss5G/stDzeJjiQ+gDKAC9ugDGS+uisyqy7CZtoow/GuBk66GL4TGOpq1W - 26sH/yLBy8PBuRj8zrfgvcSYJwzvRprIcwdNmkmh+k2zf8XGMLcu1nUbb7WKZCmx - n/krDnKbeMyDBRxSHHO27gLmYQnk1T1W2vJc/EVdbEBpmodWlGVuzTKaWfcA0RAL - ldvrKLamWB0sZO/j4i7pOpeUUh6JOgXgOIiyXlMeuNjmh4QkqCWgiKvm+dk7hzoH - dIfQhZRQCL2CUaSxqEEQIG7vsVqkpX/4Fbi3McX1uU2LU93/LpjaMpv/Ou4HFaLS - XAFSkYN08zWc0548MnCXVoeYrX0szPPUmiaRIM6cDL7vI/vVR0uiVCZEY7QiyqlI - Wn2nOk3T44tA057BmjCkxXlnIiuLilzU0dKT+jIwikAZuNM5jF6qpEmyYEhq - =JQVx + hQIMA2pVdGTIrZI+AQ/+Pw+aOaC4FzDEBKFnInfbRJDkJZZcmdmtTYB4L6u71XyO + bQwqjyneXCKK6/qtFSY3P8dTNbXZ6q5H+pB4LDrk2czW25EOYWSlkxP93BR6lB3e + gqsTelVjpH8Qs1B6IG6P/5Yf++7hOu1qKo/fxnqjsCYpmqetwyrxImAR0kp4w/pC + kXtCi9BIpwE++HxvZIYB1oB1+fOWy0Byo8ugjCP+h/LKTjFNDrY8khPRt9uOY6L9 + LAyOFHagyMVxMs+cW2ihObO1ko4f6dIXZvmD99WbkCtK+vBsKX8DWQB7aChbKXFw + L0QnWn1G1Rvlj7uSCu1LVogdZuB6t0hbLFburPAURCRgHiZroDqdJWYQLiB16MK3 + kV8/oD1/PN2H+kZOmy38Wj0UiaFLTn7Q3ejOlahN+7OOhFxGHFw2QDikrh5+xmZv + CvHeThQeCDdDy1pErqTZ9nP68y7+LKpQ/gjyxrfPMJdW4n3kIqihk4yfxnQDHM+w + DwJeRc0tIwV/hdCobWf/hetGw1iguPWQLCc3R4J9INaonj3rXb5yG5HCK+KgqoQa + RUKUjx6hbCR/bMpgGveG8O2xTPezRlXipXrF8wZSp84+3EydO2018z6EZ5A2fKLI + F+34M07zg0sVRQhKJ1qryIsmG89NabH68r2JEEayMrHpisBKnBe3Q/n9hvX6ZDLS + XgFYAgB+TJkdhCZeiwcQ5SSlYpfVlg/a5DJ6MVc+OUfsoRNczCYwqRwpR9mlAJqo + QS0E4qhIIhM9kAtBECPqy0eUay07PauC0O1Abujq8DQeRdFwnYh04j6GSzeSnbE= + =f3En -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 unencrypted_suffix: _unencrypted diff --git a/inventories/z9/host_vars/yate.sops.yaml b/inventories/z9/host_vars/yate.sops.yaml index f5c8f32..19853bd 100644 --- a/inventories/z9/host_vars/yate.sops.yaml +++ b/inventories/z9/host_vars/yate.sops.yaml @@ -13,217 +13,197 @@ sops: lastmodified: "2025-08-02T07:43:00Z" mac: ENC[AES256_GCM,data:Irv3y4/QbofyM5BvE4h/T6zNF3A6oTjDssMOcqmGxUOGpqL11Am1DMHBivkUgEYe4ir9N0kvPUmed1XOyDwImrl06E1mGAT6hOlfVSYKtZP0Pwvi4VVeeP6IAYN56zu8k4X8oIxv7AEfS3Fq94sJ52Fd3xDPPCG4aVtUXxxDuwQ=,iv:HdqbgUVR0lIysZnnPkOkW9gDp9G/EOrHDkwmQH6LVKQ=,tag:amVPLxjvx1Qtv+v27SGtGA==,type:str] pgp: - - created_at: "2025-07-20T18:28:37Z" + - created_at: "2025-10-13T20:10:57Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/9FteCUUAadrhDu5M0uwAT4aSpkhA9+2mHB315uhpNGV8b - frAvjvo/rtnmDYX3QleuyUu8dvsp8lryfde3SnQu38hqt+a/fio6mf1CDWlwuKDb - xlNeuPXAP+x7PHFOXj8h0RhbQoaeYDPwFAwPXLxfgDes7cX2JHKGue7tBvCjLPJS - 3XoSXnbktzu5dFFQM25zuqM+q1QHbn77KyjfTPVJpvLJRiWsJwZNCaYVw+gc0hwk - qqOGGaLN+T0PvmUiCLzY8+3QK37dtru5h+WcDk6/duiI2P8l47EC3k7oiat8hzc+ - dfDDUhlbCK4OtE88ewA6UwT65m++CZlCzT+/VDus6gi200dMgJaT5fF6ebifitST - uqLbdc2qQvR/h6OL+j5CulR20aZd9pbIamCaJgoULBRozUu01CsPKYIpRBONqbmD - bIZkWCBv4KM6jxbW701+x4VosGNa1lVJ72k1++Xg6agEjJnx0rW005csh2jFac+E - dfiJBOjPTMi+LDUPFokPga4vf82tWa7iPLIzmhMLupAQ2NnapBfW1o2Awo3mmUgy - J6psOd0po2XSYjLgB5IuRyNNY3KfzZOXx/A9cB2S46Rp+4RrkyfQMWVy4CWZMNoO - 2911gSnRutgJP3LrE/flR1bXpNsdP1MIx1RMBzTpEqrMB011Ad0ZnmbN42tkVdXS - XAEEtt/OW5TAnBXnl1NASySaIeP8mosYIuWXVRK3382zn29AVM9+KPstSFL/yXtJ - Q02jmaCXt2iJbGG9z7LymLzNbE93h0A3i2VgOQ980mhuAWZFtU7w8EKNz9fF - =ODrF + hQIMAxK/JaB2/SdtAQ/8DrVTO2xvkFg6N4Klvaii4KqEgm5h9Vdqb5RZWXIKXBsA + JyW3EANye3lI3/HKkEztbOTDZ/NuL+4pJR54+KUFq+C768cB+JEZmY9IFOXGN0mX + 0qPYzAbls1v0yDSwBHDXj5Yc59CT7XK8rYudJOVTZQbsf/xM3wfGh4oXmFBmyCkF + zcPyA/L28jmAeKrXIIi52V63/3ipCjAzh2RpfrGxISi5F14mANToHAp6KWsin1E7 + rj2wcq3F+UIf0b1iRlkTAwTA4C9Q8TpzZDEjKuO+Kw62m8wa+mgPDLkxbsUmJs5z + gM1HADpQrb6NtaPgXBTUL38+MPq0Uz6B18YJbSVydJbJ1HXFMpaPJCLE/5V+2+zA + 92XxhYu+fV7NaL9Lw652r4H8ZErZLvVDfdRkipeIh7+sQvBQUb6AmCSKZUo08CtK + HBEeuF6CG2h2jlisj4eRDjbB5ognoCT/kAxOYXN4Vwf+ycAKX7sK0odQ81FgOpsT + psjAkAJLE1l9d95bMSaO5uyMD/uKHbvlHJ/wk8X5AHabSI5Hy5zK3AKkJlgKO/hK + q50BkVaHHZFThAPRSzzBjRsjAJhuMi5sdNaG0Uu7S95+Y+hoX/2y7ZHmdMYcRY9O + XaeQcO+EDxF69GKfiK94yjJL2iGjoIX4b6LlCB1pMrgWulSGey2Z9xbZF6CYTVjS + XAH7OHW6r/Ru3Hat4XTFwDi5Gox7MrAsv3JZTL5r/CD7bRBZ84P7PRHWDFfDxgbJ + 6tAQRD2whP/3GG4XvVs35SJ5vkk0qEdXlvp14ghPfmphbDMN8JJK/efzyyn+ + =5kn6 -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2025-07-20T18:28:37Z" + - created_at: "2025-10-13T20:10:57Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA6EyPtWBEI+2ARAAm2tb78/wI/RgRnuYNUbglF7zDKDUyhFc+36AbDKyB5w8 - VFRp6bTShbV3oUvNZVV5v/7A/TUi4X6p1Nmqnl2vQLnFEs4h5xZwUajuLlsWX9AO - 6Hyr9D7pdBSBRfxypM1WOmzFRiDnFItxYFu5ljoc5OdkyZ7oq4W1UNWnV6dTip3D - c6jfswzuBSR3HtoVL2YSDFIibVDAb8Ph4kuAXDRcxKHh8FZdVaEyk5KhWDBY87aJ - vemqIOrh8GjbWWePNo6eDqRVU2nWZea78M7x0z6rDz6Z+VZsLWcl/cHu5pZMgDZW - nRUUe0JOtncgZ0FJnZu9sAw6BftaVgEk4vVrT9174evkTj1otIXClijTigVRp0Ia - JngM9FsQ0RLSA0dTGuCdEzoFPlUbtLLV+qL7ZGdysbfPsDiP1tlZWwCyxnYJ7gt3 - TgqJPvZ/tuVX/MvwVCA6p13RXb3XqhbjtA2k4eXdeOcWPUYmYvVJ0385ASwQC1S7 - PfmvQwL1f7YQkUvilkzBD/7EGeqJ8OFC4vJqx12tJNeNuqPiw195yBhNT5rml8bc - 2haV+wdpzWScw+eo/xj1a17i0a3SJLpwTcWiwTp0LmZEecOFtxNsaUjnZPn6d8Ms - RPbDVbeZP+kxNbvTuwXtQgC3d/GbcFbcSs//MAYUQLs83mA9XXW9Gzcq6ltexBPS - XAG2M3c5oa/2XonBoQ3X3dggKPWQoabyUVAAsehotCxcMEcdVEMtJLSB0/+CTTP4 - 4+A7rurD5TwegQb3TmsDQRPYjwOoH0dQNXGNJQGGZpRyiVC/z0r3TXYrahze - =jtiP + hQIMA6EyPtWBEI+2AQ//U1w+VzucTyOBNrttljmFoiF81Oh2180qVNwH+PIJZRsf + p9SKR5y/l/EOrQHC1KR1ld+M7fMnXxrDKhKhyvfC9I6w+XNWqHqqVNA7RYTWuSCI + c2AuEyWKWXpchQE2RK7hA5fdd47TmFfXmohSdw0/TJF4LfSG42Lz+Du1b3nyKXqL + leWXC/IP7gsGBmQwSFrecdoQ7HK60w06xiEJSD6XAY+RhuzGK3mOjw62eiBqb4MI + Tiptkmw/wCvsayJqIqAssVOJPprPzBl1i4hfr6SNFPS1GiPpaiCjkbQmqY2bu9pD + Jau8AyRn09UV5VJLmb3lOiWKlyO8VG91Q1R2xqGNp9jQtbrRBr3hVQwsdJC4WGV6 + n3VUKhhJ6AYaZHhcfmf+aYVSD/SfOxTWixAfv5UAVLtNqsVRS0qeCWC+lsd1W+U/ + hXORfrv/tipnnY65leWrePxhdpFoub78pMTpNbipwufZgMPifm54XzEfMTrF/oq3 + rzP8RdHs8+u0gEyn2ovIp1yKOI+b15DTVyt6C5YRLw+JeykcbtMRDDnAKxN2F8j5 + 5iY6Ord2Z2Eg+jBvrG212IroI7yGrXKfRLfCFYM2Lpd82PUx2sV9+xZH4lYJ8flc + oeA48lUGcoVhEEmWrwl7a5mrdST7HGOdZVBFJIr78Qo1FNMn7V53yGbAbLGv4KjS + XAEsOsXNdHVCaBWkm+rFJ/HrQ/6FS2l9jN7eO7SyMUZmceDCjgoI8LUSuZJ4qRI+ + DeD34OHX/nlaN+2iUNq2VSJgTNJVWBIlJndusXuzSKI9TTVVzSYYn8Y8sDpb + =zTis -----END PGP MESSAGE----- fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC - - created_at: "2025-07-20T18:28:37Z" + - created_at: "2025-10-13T20:10:57Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ/+IZeMdpcuIJgNH+sdovb4+CIwiIJozWprKNHOxFOBoYMC - ZBStuhdGS42LhJLlV6kCsWGdT5uFlQVUCjRX7YwmFurSW0NqqzFtgnnbxnHF8UWC - 743JTuh2lApyL5WPeNwj1PXx3xJcJFeCVynWDblvH0MrM8GVy68pZaSsIlmpcnGR - 2jLCdWAv72T0SVffto7qlpQmCXNJSYspykEx7LhylRglf2uOAAq4n0k9QIFFL+2X - EgV9rCOUh7qRpZ8zhd7PahS53o6gvqwFj7xM12u+iNbDE3pw+qThv/LiqfuoNd66 - qHUDzz5VyVlhbZ9wcN9oEPIl2kuUL6WeMO6RGZMx2n4kiI7E6X4rF5YgRGJBQ2Mc - DAWxC3hWiAchyNqk7YoszskwjVR/8ozsvPzSmny1UNNsMsc6zw3BL86FZj12ODCT - lwIR4Wae7sGC4oBITW6Rc5uDvo4hdA58viwOPHcxCNHrLHkJHhje8CMf5AhjBYcy - OWFOD9Vi7c9fBeQwsy8G+LrX/wkcO5N+KoDDGJs/gx6HVAD5Rie2UnVCC4pICUXh - UgIXDvV0WahCv+eOBUlj4gOIpLEO35P0RcX9nNE/5izFlwH0TtG5rCziEHEosqD9 - 9Wl7jqAi3POa7DtCD0DHIn0jxlWyVcBEXqHlgU3d6vRtOXTZMvt/NZxyLi4MUU/S - XAGWywtpd/gxRgiyg+OB8C9HhOioLL/bCWvOE1n0JLRotxnv571oZi0SYYqiyX6I - wk9s181nh4Kyfmf+tOiv4GDSkUfg01y1dx+85s8AzgyT6t5isV9AqlcWVGIs - =c5hi + hQIMAz5uSgHG2iMJAQ/9FYNXETmqENgmxKuHXohSN+WU0/wblJLwQss+d7AJnu1I + JpcglLu3K8w/ghd9I3BfrUDHrYyRaGZ8bsTbPM8/lxV51dWbQd17yYGYtxwamgV2 + EY5b32l4w6Kr+QclO5Z/lmNA5Co2WVLkE3tATO24cfuNcH9JS1paVijaAkNXb/8E + ii56vUYZessPXus8Hbgsy4bF2ot4Y+h4dNHJ0u2l8a0CwZ7pa1TvXqtm8xnt/stJ + lOtpXFyCXZEGvpNGJkJxEJHVo6WibdEhee+GQhGRsh98eZLPE2G8gmMKXpWJx4n4 + 83mEApQGrL4e+Bnxh9XDLs7FXyMtDEcsw4tps2VEQkPQ2PEOEOZXxJc8OxsV1aGA + CWqczWK90/tI+ZNu0y5fEs5jkWnc66Zvu/TkoUpgmZ3cWOewfLNYbbZ2k2/kLUX0 + JVnrNQ41KD1FDVuVHin7AfVjsdC4Pk3QOZQuxumtmhbAi2hpaBB+KJOYcpovs9Sc + 4A6l6ZXVbdgyy6PYqhgEI4A3RnsKoI7Id2t8Urm2kOMAqpqnOa3K+KfsglLyssbW + jNN9rbtDA3Nj0etGGtChE3sybt/G3kDhm8IGDPGlExS0lXuiN9WNBtzxzwgMchVH + PqpvYaHYwFZ34rTe7wy5681Ss04cFsKJs3NiUFAbmZn0gaFWqPEIewbo+PMVMDPS + XAFapF7QhyZwom2515O5m4QqxU63ZIoMRQKBjvsRwyTnJqXXVab81vAhX6iq7cqR + 2QKxuhNIKAvrLbllJi1a1pmKQxtpRBTzLJjplB+QBGgTQZQMpxQ+sbPL9GCc + =nbQL -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2025-07-20T18:28:37Z" + - created_at: "2025-10-13T20:10:57Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ//VRf1w/DVkjth/BZAMx4B3i4O/Sh5vkJE1EQx7XWgpJVY - wX5vN0JujvIwhQ0aQf1nkFEmFTMFuKVMLzsHQ1ejT6od3XTsuD/WZsG9GJfG82Om - jT05mwIqcH1brD4PVqzsEdykG3PGtxVaIcFbnhdls15VxQTgiW1MXkjM+hm5ddti - sopwNLn6q2DbqJ4eGefl2kn88FxwDCv8tU9kQ9v4kR5/qkvtYgf8pyNl5zcQY5nH - y9muGRxt0eVq1Wpc7bzui/9MtZ9XOBWVPevesO2QWRTnK7PLGH23KoS4GHLKB5Tn - OkP1QemC75RjZ5AkfzYtTAInSlFmp9/giQ7ZDVSQMKoXxCsuN6jsVK380jWOPlq9 - tOtXSfGCSdMeM2O0vB/Xqv1qhcqPSGGCib7BnivTUnEfgxGhHGxNOOFZ8fJBXDhQ - F0q7CHRye1EBhT+GpKuraSBpcNMgexj9j+B+17IAW+Riq0l5DiGJ7rgPaRnz+3Az - 2F4y0r2//2iV+Em6n5crVu13SsAWUzYVKyHSswJQByEK0D8ibE8vlsE+LBLwtpUs - 5FEVy8bxmNwbYyKGaiFR5m6njWlI3M6Chn1snzfsaKWpPxFHj/CSpUu4MRpGlNfr - Hc2mJxsi3FpnAUwAUbnLudW9ET72gnfrHHKBYf3DzqQAc9Xrf+dKUuPuBlDm5TPS - XAGNfxvILdjNFX9LvJLDffbPzHfLjKtBDSAAZV0bK8e669nFReBGfTk4RQXY2Huc - NW8hke7+pV4vazwcosDgFRu/XmFyc/G+bxbB1zmzs7DgQ0m2sLxiRdv1xwBX - =C6m1 + hQIMAw5vwmoEJHQ1ARAAxHv4uWEGtDZRrwsX9aiNS8NsQC/1ITIoY9walqGsvhpU + +s4yOo3yGDbjJIrkWDdg7+LAY2Os9acQTxy3589pyDSMUEo/0wKonYfrebBteXiw + wHyu7hXBTdorb3OMHqQxm2/aettqLDHk7H73Hnd/nrFggxpVlYzpShq3vYXCDEH+ + OhrwNzTtKWv5hrvO5L+RLBcKbJKbtGgLnu1ybrWsDGAf5np0NU0ogMQmHjMADjzq + jqvaChv/Pa++57NorJILIUAkb4DWI4m6WvtiAbGBxAad7m36s9kzNyLxjU36B04N + mQNrxF8+F81wuVpGXIEPDX1XxHAiDeQR6a8IOMvy5OhADqoobAFDh+cejzxPt7ml + lqzugaxMqFGWzesgeExwTCTaORr28jXOcLWo7gzZSBzgYkfe/7HASviWgDL3Y+jH + j0NL4hIZ87dCjY5A63qa56gWqWrUjn7CmjcROX57+Y8MNHYoSrGKnuVhetkZriRm + SPvjFox7HGLst7aALxbEyqXj6yQaWXi4moGHImXUA5yWKxTl3ZCC++wq88mBVglm + U3fX81XaZJXNnG7dtaZPk/om7MHA67zuy/FIXSSxVf7wyK+6cvtWoN2HPzleVXie + mK7OcFKmzax1ojgRNLmcbHQcdJoA4nK58AnQbZvRJDw7FQ3b9ainTBe2nmrc9FTS + XAG24SqSunZHTfNPha58wB9Tz8eQ/CmCfodNsClet5Nirj4ZAzm85YC8z4iLw9PN + DEXqWw/GUs6EYGE0QYuqIUiNMEnowcATsXXrTuSVlX/FudZ7nJBuLG5FqwJ2 + =dCvy -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2025-07-20T18:28:37Z" + - created_at: "2025-10-13T20:10:57Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdA47A8oGWP1vDUTI0iRqcliyuGmgPaM8Cmu4kRL64cmVsw - xTzCmlWNzdNa7YpdEGrCrzr2Ml5oE8hvLy1fM/H3m/6VM9+3Vmm6EI0Zq4mYYh6b - 0lwBapQSaiQxUJXIvRHqIbFfd6UvQ2k/l6K9HtnL6wHLNywCl8VqBJyGh+gzrS6p - Uj81QJspZL/XBbaw3vsM27p4I4644BFHVQMApAWWb0s9YTo179eLVl+XXL9/5A== - =hDmG + hF4DerEtaFuTeewSAQdA/J3hvNw2zIKpSydLiXh7RKFHOCKcacZw0xTohfwHPCEw + INXjpmaKQTX1rE6qAEPpy7AAXuwrAID73QZFoOkj6j8fUexq6UIF9ov58MKy2bgo + 0lwBsNGWUkhHBUXXCOs6JfUR4KbVQwLYxWTteFgqDUF7TGvK4sFqjUyhN0MA7LSs + YNxuobepZ0RFxG+yMO4wZ468A6Re/DlM0hsUIDeC1uoLyhJZy+WipS+YQW6jAg== + =1evm -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2025-07-20T18:28:37Z" + - created_at: "2025-10-13T20:10:57Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/9ETw/8YtE14vgYnOWSnGhp8ryTFdt5D2IW8B30mmFlY4e - 0P0ELQ36dn7ZoEe9DxfjYXFEJ9pTElnN8d1mOxOcFvvBA7HXhWYa261PVTUt0Mh5 - sLIcNgLoXJEd35voyqm/PXtGJZmM7iK79FL9L01eVm+zGSdglhvHhLdMnFVea+SC - vF/sjp+9m6DUehKqD3jUr3T31mXf2wuq7864j3DdC+pRC6In4y7kuj0TUbGpZFH8 - rKBCxDLAifp11acgB5B3r0JyBeeZgIw8uTKrrQpFXXIUEUO0g1C6xlo96M3OD7sG - pdvdsKo0l2687kA5uN2/hxAMqQIImLXSStod0KveDcys7UtYIZ5zVoi5KyZgxmBq - wJOatBlH/sKzU2TXOSSTpbQJJBlaxCRk8/3ypfii4xdc3pWBm0Jm0fmZcckYmdWs - bTOFCkg2Bx8gJkMpKSO5sou13j0Py45IHdeeOkYt6K/9+kEqlUCZfJUUj8PSO6Gz - 7kdchGWYcGDGsqDeLlAXOdt8eQxBNs8LL9r+d+Acf4KqL1CYoxYhf6UC4z0Hownf - jWkrs+CUxnF8xSt2WFlxoU7AWkATMkBZrPoZcN8iyTwlQWvTQgXoFJoJ9RBkOwfc - HCSXDd53nogbkOfCUDosmlb/CJft3vS+hTNiLTVMA0J9ixul0HaRRr/w8bE/DgjS - XAEdwJucMGVbFM3DNjrDb5iaVsIugBYGuZDK+/xyVwK1IlP9GDwE617SQNM/LbQo - Fdq9ziI3VwlTFOnwNZ5Lw2IjNzHYMmS7ZTiF1LERWrMjIUtjY9/443ZHGQSE - =a7K9 + hQIMAxjNhCKPP69fAQ//Ts4opuQ2hl82CNDoi0i53p6nXFLJQ2OuozZ0C/8MvqAD + rR8GeLKBBhCcFgMzvzKeQXr5kbPFOMtTFo5+zAMj7m5Dr/WIlCouVRX0xGVBcRgP + 5XtWaLJ66+5X4y5ynI9EfcDD6vgOoTOmu0vp9QYrzMuOzMWzLWdjWuClx4Zz7NCa + dXm3FXJPMl9BIwKlOxDeM7w7LYCbGhj8XivSfMdZFh/855rN9T+PeBPpsalVgw5v + 3PQiFPXLvAq+Dj+NW8UqVKE5GPfZQj5eFiwMgA4gnuYFxKW8haJebXiOP3dqT9EV + 2wRYQQXLhRKBt4Pdl6esZGDz1cw/FDW0G5+aEg295tV3VIYptyeVk+PF3ZZx1ymw + gC46HKXj3MZOhSXBXeHeFGbHoHRFEETHYXgki5zdJvrDh9DUvaXWmx62Luf8u/eV + ao7wXO8zzXFWNQM1C2/bFRlAj41pqMKESeSPrK+BTFTeaNTt/XNQYxBqllcVICA3 + jgvhrPgZaN0DzRs7+5RrDAe0yAc1Zrs8QC1Y81CikxG03PvBIyFXRAXz2BASN+Af + yzfwz1BwEd0sQxYKSKToK86JGD51edvYi7z5nETGBrQheJSU3MnqOO/yFdsZrvtb + HYk77eqHuif6ZzfHylUVHEoS+nyUjgsLeIfMDoQUdLcLAjn44wp0CXRHya5ZsZPS + XAHD2X1aq0vs7qHG3czvG7tRyFK6+aQ6PCWWCF7IiX4fagPMW2eD1li+uqdu1UPM + fanXEfibFnnpPMQG4j+W+r9plwUv1fTP295trXNzKcBldNqp1IJX75gz2MzC + =wsfS -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2025-07-20T18:28:37Z" + - created_at: "2025-10-13T20:10:57Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//TycYGKYZdRgLzgcx7G6un+2OP3HMsXGfAO6Pz8qIkd9I - jhVccyRB02gPRb/8xKyR5LVjeZ+zULmfBNAAwkvSDC2tjn0PlxbQwFW555Mdeg47 - HixFzYVpi12qxqk3Vei9C70VCufyHp2x4YH82LJNKlHybJv5xMFZIFVkPdQQX09M - un2f5Fo6esMe8xfzfHsTbrX2X9TxluP+xwrjQLlqis9Xo1w3PJ8a/U7oGWm7cbOa - 2/7HR1eNQe2CIWRNo22CzvrmWcsid/LblgGgVP/W2lG7cQtXrW6dy5UctIXRYGwf - CjW2KgVova8Ojju7M1gZHjNSjnIEMD4ONNQCe5UiTfHwZbqPQtsfipL6NjY404/g - lG3ab1qtwgUSP3sdl/+gRvDEENSwjk7H/tIlk64ufABnbjqF7vGgh8EWz0u44sI/ - a7RRYZbSjFSWpUivHiF4Z9CRxz+4OFkDFZ8oMyynwnNtXcq+Y1icqggPFN7PjPX4 - FB0W3fxcDvUaC92TeHrbVA6gJ916WwPPf0nDYVkuKbVgBHiDUmTo68WGD3T2IAPJ - tj7ePAG/lreZDhDKH2s67I40Q8lPDIxFXV2u3wJ0wSOUeGvMh/mfaQyCbA1hDgIU - 1PfkoLxXiQ09VfH6AVTJFWEY8NRJug/R5d+6PsXp61jfX8tVT/IFUlmdQD9kRXjS - XAHubuQ/eNItKH9gRTj0eq9YdbzmrVJx88ImtX93Tq8Jrxc11Grlyf7OeJ5tBgin - UYYips2Wf+P8SibwyG+ctV/4qRtNzoo4I7B5PNsKqVkm8bBzBsnvjY5WFV5G - =OwXi + hQIMA1Hthzn+T1OoARAAtM6V34YykAdgHBatDCQOqclPueg6glMsUXqsWacnl1Ui + fOYdy5QWC4Slhr+W+x41svrKDAVncxaYrwpBddi+KYjqh5eWY9S6dxhc/8ni8+Sy + 1TwOB4jPt8U9txPxrRlvenHITXMHfbekjkYT6efK6ougO/Au9hXJOc56dGAoJZOP + KLUGUxES3r69e1FoE7JlFJ0NDVEzF5Ald8l1DqTQEBSvVTPGWTgig0K2BnFg77ip + AK/P42eQktooFH6YEeFmgQ4O0ti15xyEkbMJ/5hg46FI5K/GwjpsYgVsVo3gvrpe + Uw/z0f5Fkm6JJ1YHpycSu6OyK7OmFR3Bft8+57DL0NNadPBlt33oGq4P+r6xSkgZ + 5NSRW98hY8xhnduEPoe09DazeZXxeOY3kpMpSvsYYifAVLwMIAe3oA0USxn7mA3i + igHeyWwkdRDU290h31jkGgyULCXeCoQ8uajF+oknGYTDra4Qn0/pF7igdLEZQvlo + 7Dz+OTiZeECyeIQRuwAv2lQYonCbcTilZEI26RCXOnfIjB4a+nm/6IauovqeEv+4 + LtZQeVTEPhWDBAsTApPZz02WOiok/cYqa20gpBPb4UWLNTFzBRUZHbDsyVuEH3rT + Vgj/QkuVmB/yCje9cNnYZtMkA3L4iNDcLGAqyLzPtuZwleqP24Minu7tzZgipr3S + XAEMuzk/qLMCSCs6sSjP/vKK50y77x873GAfM75cZpSSkXXZPcTFgvmno2YbFDzh + 0/gxocKFefLkXhm4pbrnntAJnnLlnTh7W/tETA22VxbuxUxv2371n6qSwatw + =twII -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2025-07-20T18:28:37Z" + - created_at: "2025-10-13T20:10:57Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ//TO7OWNCZyYgKOGFsoBlCT6rMTCF9ZwL4URHCCc4Yt+56 - MJ2jDB7usZTQfEMm7sAPKo82lJh7BnZR3o9ZQfJWnv1fc+B+v4FCYmHPlxD1/Srj - 8RqCAqcsSRpbAq2B4qdq2kFfh3vuSHewBtCAblwRxuVKhoLUg15Ax+20h+XcXIZm - nAQTUBauyFNxZjEnTPiAO7rEXR7XAtN3XQLnROBiZXRHL6nUy1Ud1fOLj5dWHHl+ - YGlmyy6F8GjG8Bk3G/F5QNp67h9OogW1EYWOIRqnxfYTx5QqYLig9b9Hehf/guT8 - rzifK62TFCqANSPwvsehHH1ucdO+pnDL0a5dLELMzYJstKqOaq9Pdly3HRIWT/lg - UhmN5aQ+v8sw/9suwOKb9ED7ITV50gIedRK3MjtzAb6GwmgeO5PWqcnKaIRarbo+ - PGM85vQkkKMY9wJHHYeYvDvM+fYilmX1H0uFg7KPHqwZ2UM+4XxKp7MfQQTLIl+g - rvEJ2MlVp0xG9biyqB2vFUungS56Y0mDNN4gaRwxGXd21OjI2onquKIDaYXTh2uh - S8UPheiOYHgpX6Xd6FNhVchjd7NDfw2XwiYbBI6YvRqeG8b2RetbUdpH34y7kTTO - rSRx5wJecJJYL62M3DDFQ/JVgsQs2YeyROen32UIZqVZjG35NaUY4gWFvBrXk7XS - XAH2c64NkWvCxrQN+ypAOo1acK7JmVx8KRyJ9SkHBEGXf8u8vrM3mKErSRUdcx87 - O+4RH7EMOnH6/5x6bX2Uwj+WmY8uXtsn1q+zxqMmnt+rQN8y3MlssJ2u3XUO - =Ft9S + hQIMA46L6MuPqfJqAQ/+IURRSEmFhMSIu8rWrVCjkLH5C62eU+B+p0ve3QMJ8/RV + 3e85LT7q+VW+qr1EOUL+WSL6//jlhc0s6Un/yKOgxLbMmZayXbUS70+HjZq1pIFL + uxmVoBYw8vT8dPE4/u6quMTZQZpn2sncrhHaEek/ED+nAE37V6EHI3ubwiQPv0dB + hPFxm2h7qOJ0/QAyZh3M/kGZYRoZDvBWnMnV0cYKZkj4hWQyq27PjqG8grN7Nbc5 + H8tsF3XoWw0wymKKMKTI2g7/MLI5V3yRKHZNR6kiKc0srSLBSuoGoyElUeFW+MG8 + H1l5Rj7LEmTHXYLGj/zA65Fpw4tWwxM567YkQirdEnh2z/uxdX03aJLkU8qHYiGp + ekMxaR9/dqIt5TO1oT0zclue6IMd0jrZGJ70dovpUglfIk9/OHxTDJD1Qzf/qCoW + VefKWhBWhcWzlEHwfwiygilvaCgOVyYwFNeSoF+Y1teVl/qXx48VG3V2y6Z1VOfL + fncuHkbetyQ2BY2QWSJZNIG4mI+oZbp+YWWXJ4z31l3ng9ujt3eUqZB3KSy3hx+O + a/3l+4lKzNTYFvSNmVdubr37x5ygy+2nfk3g2ww0UOOwS6yiJqU2ZqA3OuTYwYu+ + iHApavjPMg9WBE4Td8BYFxi4VyaZ91GrrnL7I1ytZIhUpMGPh8m5PYdVtUug17XS + XAEZ/KriGSAbovs+3DtH22113/oJhqpp25MJl+tTu2HbL00nu10DoLbZXTQixLo8 + XrSN3EwXcJGpn5mgo7qYwVPL151VPdOoFp1g/pfmL5WeLY+avJb4WumMA80v + =0DR6 -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2025-07-20T18:28:37Z" + - created_at: "2025-10-13T20:10:57Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA4EEKdYEzV0pAQ//WMDEOC0jLeKxKCpjMltCQ+jjwtsH/yZOA07o9VHBhNhX - kfJ+fONQb7roYaMFEM8ZRxhVf0IXjrK4vk7+P4x/vKtW0/1cQm7U/uxzUsOUBA4k - UZHgcgrB3s6yDOY9TdwnZnaOlRPmG0AudXOYS/FwNE6OzYeCzf+88nw0VZzXpwvJ - WsPV69lYpwTxcxhO8jCVDPTXjOC0sWOXBe6Ea2X/dbWuwu2KX8AxDp8O3C6Uxa30 - jOrhNtiguMugmKgF7NZlDqgiR3v2KhbVi/ECc3vH1c+GTekT26zAkvvzFqJjkHsb - XS8DyAp2/ExCubtk4h25ObMhghabGqrl9o8hZ+0RlEaWU7oRi+cinIXgAZcubv0Y - /LEfDyJTohmoDdqpC4xYdTMQ8s8RaNRGtQG/3hISD0cgssBHDBKnoNMNB/V1qe+z - EZx/ewgUmlxcO9Q+mPnQG9Eo7sh4WnldbueXtdmp8f4vpt8tJ6zr66x9QLU0IJHW - UwgwaV6EAUdv+O+MsW40Bx/TWEbbKj8am9dymTP1dV1OcPJOLfUbNog7ybFXl6IT - kNnUkwHXfkRUbzZJNB5rBTTt8msuFquJEaZANl5eMKdn5fG9k2hxMpZCdYT0kECb - ErzpV2kUS6Z+QLL2YQzIQ/iBqy82u/pOJ44IvO6JAXYUbc5RTGVOgXNpNiFhOQLS - XAHfwKoAg6apAAcqJcywJ52eFwi2886lHyTcl6Zl8wlOC6FZbK+zkmhFKEcOdZyo - YFVoqmHT3Da/Z4rlw0XwJYR7EFyk/mHlBwdNabv68Ba94zkqXpSSDuJz7Oip - =K261 - -----END PGP MESSAGE----- - fp: 9DFA033E3DAEBAD7FDD71B056C7AAA54BE05F7BA - - created_at: "2025-07-20T18:28:37Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hF4DQrf1tCqiJxoSAQdARUYTLeEeQkoOgHc8ReED3vRzHOa3S648JbH8q9p8s1Uw - 6m+puHJX6nqoLf+TkUfNKfpx1JJpGxgcvsADJTm5Rwi0MxqKvo650DQwHA+UQHd6 - 0lwBQ1aFrpTk+2b5mVgGGLp5dgFSTDSIsBbUBFQOXvuPX/S/n4eCwiq0sWJBNsam - wKTAC7nLnf9O1MX8NGXHQD01doJ2M19o7BoUsifxb0y2XorWDp23NqrSb2U+9A== - =xw0V + hF4DQrf1tCqiJxoSAQdA73jpbxIMcc3GEvix/5TNwqMO2CiLgN4BLuaxU8sFPSIw + /ssO0s5uEpT2V0U5whKQf+CXZRvLZKXJsjcQRXYDi47yAopdg4LNcgv6rPftp/mD + 0lwB9j89HaTDQ0wIPOiAqG9Pv8CHsKxC1XYvNz2hzIxhreoMh5W2Sr3f/5OHQWGl + 2Mi+CmcoIihoV6rp/RgePZIf+7i/zeYqGbdP36rTJr+X7y+beWxNKot6xCfHOg== + =et3H -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2025-07-20T18:28:37Z" + - created_at: "2025-10-13T20:10:57Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAc7DD+ELFXtPiikXroB//qxDovIM8uUVXiY6/bCGDhyUw - 0XqwTBBntTkrxjPXSQIPuLosccZCLcqpawjCAeYKPNZmJSfhQ5ESl/iAD7wofT2V - 0lYBCaD9ciqJhB7nb0vh3Aoa4uphQ3EiS+PYi0Tyuo2r9MsoSv5BLGGHHaQDhvxK - 8FXpCyUk8oqBiJ4TRouaVvDcPUSaqWk9QQtxx1mgD0iIkPNnMXoPJA== - =3GJf + hF4DzAGzViGx4qcSAQdAcwtuk+qh7Bo86gmUU1P96RHBt3TgdhVfZV4aPUO1TGsw + oIZS+b/Tjynr+npZ392TFoS/JrT/j9A/FK4w8eZ+ICdVwplxGlhfTPlooSdywa6M + 0lYBY+QLBsmuRD5bb+p4zH/uX4qTO5MYNpGUvZBnLP3CHYMW8WBwFbBeqFJb3sKA + DOqjQhA0L8G1sI/tGrmyvziNifP8LkpxaBNUKnPScbMjE5F/7KX2Dw== + =8lLB -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2025-07-20T18:28:37Z" + - created_at: "2025-10-13T20:10:57Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//QR/3s7FObKxat5+yCwGERpelhkNVkwwaVl6nnyX1P2od - JrKHwmwgRaOpchQmlkbLwgPs9byiRc29sv8T72qAM0xQohKJq3TXXCGA2Wy4xzmn - tDK4m+kU/WA8qtBsJn+gfV9CkWXVmr1vnrE+oM32qNpDA5wTrEN2ueTnxkc6oiN8 - O+rlJWkbtPBxt3o9OJfJLoidh+Ot+1aiLeg+9lrp7RdnuHcHiklwT3y+dLf2Dpje - SevPq5UDX1C9kbwCtQuvH11wO2Pss9IWfNhqgdltsnaEC02lFaiiZxiZL+lxb5+D - XcVn7o+iZUL5BjNn0Y1D17geXuIwFwOKWsRh59EsMMUU7rzK2WIeGz5eIbGcRHPw - MIOxhzHXH4DN1TIKLa3BoqMCaEa6FY4U5pWNAGcclOqSY5DmlmSgZxOSLijCpLCf - VRyWbDUiMVz6CA1dR5PtnGoIlAMk0W84SxWgjrsg5BE3zt1KeluAPkJbgD3wRTMj - uXq37kbIQvH80ocxjY1DyBkvz5xh21yBlUvQnMLc8gQg2C3Z8gQj9eexqJOt0z/g - DvW6t4ZfGncsqE5nKv+O4FiFc+xUKFt02pPI/hgqYPpXVYc8mmqD8A75dbi3fhEO - 5tTnEszoYZJucAF57aWNzpr+o/I3dP7SxrxbQbq9I4GO1omSkKeNFe/dQWKGzR/S - XAHR6DYe5ej+qdc9lcK/Lx8aA7/4b+O5jSKE0g1sJ2wEZdhNQbLM21YLGt4hFCk5 - a/pJ9m8ShyHgQM5bab9z2MtSD/qL9yVGMfErU/UC9S9GCAvh2COAFx1vVRdv - =L/EP + hQIMA2pVdGTIrZI+AQ//QJytSLyuRPBrBrtirYU2ZTPR22S6FgqI8JUhP6dCdkUA + 8PrZzI2UNJ7mhvXXEq8/nMI2UkZHkr7IwBQuHj0CIqxkxTv3hOK9djGdpD3wtHX6 + 3C7jAEy4LKVUxeDIPv+CFREKNPtxxqbbqtRZHXrxh5+O7+iMS+tQyUb49883DSXc + spxOq25E3X37gAepqKQHSH0A1txpZtMcd87fE3hMJuKblMU/5hW/IiihqDbUyhEz + tYZpSMxUu4QgR5fhf7pIq12yLMM9F3Z4WMtFtU3uh27q//dpLiPfrgBJldTU5e34 + FprGNNyKaLgO2XpQl89x4UXdQ7vTtuH6fMbKJV0TzHdwQXEZyL+XJ4OKG784011e + w0xzuexHpMKrgFekbZ+WwK7otC9QZ5WvPSE6kpIYbh1a6SPESNAEG9BsDNAAYdrd + FWAj7YeO0PtAZkO05oQfq7k0PlAc9kaeJ89K0MtB94QGBdrRcowERJG1cDiND7HY + tlAEHZhizSw45cunI8ICDwNfiO0CPeShVcKh4qzbfKvOaDYZj9bzBCMPF+XgI6w8 + THk3ZwvEIaf7gIEQFUnc3C1JGHwYDBrcCl/cUJ18DxvxjyjWDDR2iXT/86A7foVt + hwmpxuQOSTKujGJtTyIu8n+/lbVbpDo2OLJ28h2TGcXnxD83OigH4cHtpL+7WfbS + XAHuYliyndjEFBvrpEEBkPyIYo8dH3ip6205hAN/wp7cQ7MNjqppGEYN9nrwHxtH + o+leEHXmIDdmvbC5iDbplKISDr0EHtCfxFt1N0IpYQhlwygAv7JWEUpBLGNV + =/LEP -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 unencrypted_suffix: _unencrypted From afceb886dc19d3fcd1485ec28d568e9fec05f3aa Mon Sep 17 00:00:00 2001 From: June Date: Tue, 14 Oct 2025 01:40:46 +0200 Subject: [PATCH 016/160] msmtp(role): introduce msmtp role Introduce msmtp role for setting up msmtp for mail sending. Also add accompanying host group and playbook play. --- inventories/chaosknoten/hosts.yaml | 2 ++ playbooks/deploy.yaml | 5 +++++ roles/msmtp/README.md | 21 +++++++++++++++++++++ roles/msmtp/meta/argument_specs.yaml | 24 ++++++++++++++++++++++++ roles/msmtp/tasks/main.yaml | 14 ++++++++++++++ roles/msmtp/templates/msmtprc.j2 | 17 +++++++++++++++++ 6 files changed, 83 insertions(+) create mode 100644 roles/msmtp/README.md create mode 100644 roles/msmtp/meta/argument_specs.yaml create mode 100644 roles/msmtp/tasks/main.yaml create mode 100644 roles/msmtp/templates/msmtprc.j2 diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index c2ec49f..6ab1c53 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -186,3 +186,5 @@ alloy_hosts: ansible_pull_hosts: hosts: netbox: +msmtp_hosts: + hosts: diff --git a/playbooks/deploy.yaml b/playbooks/deploy.yaml index c11a0e7..dc3a22d 100644 --- a/playbooks/deploy.yaml +++ b/playbooks/deploy.yaml @@ -83,5 +83,10 @@ roles: - ansible_pull +- name: Ensure msmtp is setup on msmtp_hosts + hosts: msmtp_hosts + roles: + - msmtp + - name: Run ensure_eh22_styleguide_dir Playbook ansible.builtin.import_playbook: ensure_eh22_styleguide_dir.yaml diff --git a/roles/msmtp/README.md b/roles/msmtp/README.md new file mode 100644 index 0000000..e333527 --- /dev/null +++ b/roles/msmtp/README.md @@ -0,0 +1,21 @@ +# Role `msmtp` + +A role for setting up msmtp for mail sending. + +The role only supports mail servers supporting either STARTTLS or SMTPS. + +## Supported Distributions + +Should work on Debian-based distributions. + +## Required Arguments + +- `msmtp__smtp_host`: The SMTP host to use. +- `msmtp__smtp_port`: The SMTP port to use. +- `msmtp__smtp_tls_method`: The SMTP TLS method to use. + Possible choices: + - `starttls`: Use STARTTLS to connect to the server. + - `smtps`: Use SMTPS to connect to the server. +- `msmtp__smtp_user`: The SMTP user to use for authentication. +- `msmtp__smtp_password`: The SMTP password to use for authentication. +- `msmtp__smtp_from`: The SMTP from address to use when sending mails. diff --git a/roles/msmtp/meta/argument_specs.yaml b/roles/msmtp/meta/argument_specs.yaml new file mode 100644 index 0000000..84f940f --- /dev/null +++ b/roles/msmtp/meta/argument_specs.yaml @@ -0,0 +1,24 @@ +argument_specs: + main: + options: + msmtp__smtp_host: + type: str + required: true + msmtp__smtp_port: + type: int + required: true + msmtp__smtp_tls_method: + type: str + required: true + choices: + - "starttls" + - "smtps" + msmtp__smtp_user: + type: str + required: true + msmtp__smtp_password: + type: str + required: true + msmtp__smtp_from: + type: str + required: true diff --git a/roles/msmtp/tasks/main.yaml b/roles/msmtp/tasks/main.yaml new file mode 100644 index 0000000..7689ddc --- /dev/null +++ b/roles/msmtp/tasks/main.yaml @@ -0,0 +1,14 @@ +- name: ensure msmtp is installed + ansible.builtin.apt: + name: msmtp + state: present + become: true + +- name: ensure msmtp config for root user + ansible.builtin.template: + src: msmtprc.j2 + dest: /root/.msmtprc + owner: root + group: root + mode: "0600" + become: true diff --git a/roles/msmtp/templates/msmtprc.j2 b/roles/msmtp/templates/msmtprc.j2 new file mode 100644 index 0000000..3c4faa7 --- /dev/null +++ b/roles/msmtp/templates/msmtprc.j2 @@ -0,0 +1,17 @@ +# ansible-managed + +# defaults +defaults +auth on +tls on + +# ansible-managed-account +account ansible-managed-account +host {{ msmtp__smtp_host }} +port {{ msmtp__smtp_port }} +tls_starttls {% if msmtp__smtp_tls_method == "starttls" %}on{% else %}off{% endif +%} +user {{ msmtp__smtp_user }} +password {{ msmtp__smtp_password }} +from {{ msmtp__smtp_from }} + +account default: ansible-managed-account From 17fd71f079ce96a9b0f9edf7fe62f53fcc517c9e Mon Sep 17 00:00:00 2001 From: June Date: Tue, 14 Oct 2025 01:45:44 +0200 Subject: [PATCH 017/160] define common msmtp configuration for chaosknoten inventory hosts Define common configuration as it is the same for all hosts. --- .sops.yaml | 14 +- .../chaosknoten/group_vars/all.sops.yaml | 210 ++++++++++++++++++ inventories/chaosknoten/group_vars/all.yaml | 8 + 3 files changed, 230 insertions(+), 2 deletions(-) create mode 100644 inventories/chaosknoten/group_vars/all.sops.yaml diff --git a/.sops.yaml b/.sops.yaml index bf35e44..637cf45 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -13,9 +13,18 @@ keys: - &admin_gpg_lilly D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - &admin_gpg_langoor 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 hosts: - age: - - &host_netbox_ansible_pull_age_key age1ss82zwqkj438re78355p886r89csqrrfmkfp8lrrf8v23nza492qza4ey3 + chaosknoten: + age: &host_chaosknoten_age_keys + - &host_netbox_ansible_pull_age_key age1ss82zwqkj438re78355p886r89csqrrfmkfp8lrrf8v23nza492qza4ey3 creation_rules: + # group vars + - path_regex: inventories/chaosknoten/group_vars/all.* + key_groups: + - pgp: + *admin_gpg_keys + age: + *host_chaosknoten_age_keys + # host vars - path_regex: inventories/chaosknoten/host_vars/cloud.* key_groups: - pgp: @@ -70,6 +79,7 @@ creation_rules: key_groups: - pgp: *admin_gpg_keys + # general - key_groups: - pgp: *admin_gpg_keys diff --git a/inventories/chaosknoten/group_vars/all.sops.yaml b/inventories/chaosknoten/group_vars/all.sops.yaml new file mode 100644 index 0000000..4cccea4 --- /dev/null +++ b/inventories/chaosknoten/group_vars/all.sops.yaml @@ -0,0 +1,210 @@ +msmtp__smtp_password: ENC[AES256_GCM,data:xcBVBTb6mfr5Ubyfga9ibKWKhrfrEEaDWD98vIbX8fl8lQ4YTovg8Ax1HTK4UQ6AkJGHq2A0D5B67KUTlp9eLw==,iv:TOp1G1LktRPj/KMCRU5CXBUsgKOqGssUvvk5oY0QnPM=,tag:SVBdDQy+fM0xeEToappP+A==,type:str] +sops: + age: + - recipient: age1ss82zwqkj438re78355p886r89csqrrfmkfp8lrrf8v23nza492qza4ey3 + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBsemRxOVROLytjZ0NJazJB + UnRWTmNvb0JxUnhWMGJTOTl2ZVpyYmxZbUdVCnorcTgyY1pNVzNnVWYwNkFITEZl + RmxrZUN4V1BRenBISDVBZ0hVelVqU0kKLS0tIDQ4QlFMajNXQzRDVWd2Skl6QkdK + dEZGZ21qR2ZWT21OYi8rR0svaWJkU2sKND8yz4CSMVjWtGHymzD26Nxlk6leEkCD + XYpGJSyvhaw6Y/oExjzuXYMDXCr/EQFpM8wpU00YA62rZ34FBsyoUA== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2025-10-13T23:45:06Z" + mac: ENC[AES256_GCM,data:QxH4lnNyCAAEJhzbgCrq7QeLs+OAtYgwQP4oFm93NE4Fbz7/Hz2dvL/2SopOdW7nYVeb1scuG1ra+yvgzuQDhg4lcgt9eBJoBiynM3qiHBs+FtcSJoKs16I/ACAadQwClALb4E0xxwKFJI8ewMZu5BAxi5EhYbgNfnKCIbhvgWo=,iv:LRa2vX0HUBugeEAVeOqXbPsMQrfrCpyzGUGjK6+VaQc=,tag:/sfhJM8V1IYBh94ZS/TDxQ==,type:str] + pgp: + - created_at: "2025-10-13T23:43:50Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxK/JaB2/SdtAQ/9Hx48AvlY9g+JVcwqC399JS62WOMmswvmqJIStHCVCEJN + DPAkbabJ6MC9GiN2A65+VNQJ+X9sjbjKt1kjOEujS5xbA4yX2p3GzHBdgQxMEf6p + mZSZtI37N0J8bCkHU9IPbIl7W3l8cKq1f+2ZCvtozveWelZDCvx1TN1HLrRO0a1Z + BINbaSwDs+pQ/3Puu/R9G8Wxti8V5ECXMjB1Olf1Npg1QsyHYOTusketRKbCp1vh + A78U30BUM+asmgg5MaF+9pxuNDnt/kBXf9VjiElU0XOoIoyTZuVSNtJKxcaTim+g + yj0RisLPuH5TRo9ADks600WLwFshLJ8sUA3f1X/jI7gM77MUr3iTLxTdq2bKMXTs + BHo0eiXSi5z5d7FZhWa8nlMDnN6hOiOpXCYG6+5yyt9w2iepAon0U4MBvqfEbe1z + I4q3gYuHyTbTKuwDEQAiULfRQErBHL0jYb9VZmopSyXmdahHJ3weXmVxy6Y2YZat + pzJyRpCA9368stdKQajI5qGhOPKVI94WLVsOfKPJH7YsZTa2sQgpLMU4wzqhkQMm + TzZ0aifl+zB5RCkfdA4vtqnC3t1JuA1Mn05f5OIuGa2v8FIxG4uOtCAOTN7MLesk + bNcxYIwPGukN/OoSyJE6TutAaUOIlsSwWysN8p5elE8jE5Q2f+IMLd0U25JfD3zS + XgE6eJmQB90gSIRG6C2R26UY2onC5LqLDZ9zhOTiorHrzLXvtbYS90XMLtbzX8ft + 7zTsME/nRZpnCSZb97nqGsb6tnhnQLnSCwagmVRtJVi3N60TnxAm6ulizbzTLt8= + =d44L + -----END PGP MESSAGE----- + fp: EF643F59E008414882232C78FFA8331EEB7D6B70 + - created_at: "2025-10-13T23:43:50Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA6EyPtWBEI+2ARAAs6qi0w48EL+4D3HVU7XaTpX7CdYTgYiDvUosVTWEcx2c + pRSTkX2Ai1uIGPd3+zTrindOCJNTgdpAK5PAHPT8nzPJUT8o8xAsFTHfS7sphHVo + RGx4CNHafMAXn734Rzzl6n+tAoW5Bw1Su19+dmeme0o6qrWU4JB9ZWIaZrtqPRP4 + QDWSO7yGLQ0IHyK81x3nCHS5J6VNUyKn7zEn7Ezw8m+G51MK46oymS+c7B5n2bLN + MmmC5GKnmGE3AOnyRN+1O60ZRq8FHN8BM8aADZ+dUx8wPlS2tD2K9I6V/0gOSINH + Yq0FIeh4Fbd3NS2PNZTgLjjiU+OSi4/q3uLTOBOAroPwhZ83I0UhlMfotE6/z++y + mBo+SL2jBnG53J3iFqeXUfHOpEkrItviFyJp2MR+l6+hM9fzzIp+N1+2HB9oUuAA + 8Sa9NeY6htVGH/W1T90LK3kwZNTt7REdbaYAgzBrqLemrGLAQSdOotnaohoCXgst + uf2v7y+8351tPZ2o8cCv7LsuTARGhJWW4Fw2MVfM/hvYq6rBdelfv3GS3hLI5vyW + f5BWWODgE/+DmT8+Flrg09JEvJJfMtPaNG82WLkPmFCNkZPgup5yyOp7sVHmRhZ1 + Yw6azYPiViDlAPItAUaLMHpcU0CIa0zIZ4ND8wk5IopFiXek330imyhB4qVqOv/S + XgHcOQmSGWwvTrxs8/JEwaKlRBYDXVDw6NgO+cIoW7uv8raGHdb7cLZ60FfvtFP3 + i8h4hQcaDGoEGsoehOpIjRtOSgyqT96/UN/slauL8eF9Sjh7zrxS8b0McXvDxRk= + =CEM8 + -----END PGP MESSAGE----- + fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC + - created_at: "2025-10-13T23:43:50Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAz5uSgHG2iMJAQ//fooeHFVDPbuEJ2I8fgbEDpNi+yASN3ERLu3b4SzD1ik0 + byKoqHY6E/+vjC79EPQE31qAapigO8oKz2n09+Qtn2H4oxigJvV9lA0SF+b5OAns + UtuJIiGrTR/aLBcS2Vg368S13WYYdRxfF9nt+HEbjxb8JnwV9nkXx9GnuWYzCe/C + 4dTZva32GKfLHthAb4FqFRgiDoDMg5rdKE4T7W0dllSJ5cHXnYSo3U0KkaOP6EMA + yx9ztKDZUMskiks2xo9pw6bNC8txseuvwIImw1+ep2DzlrR62XpyMeQkfKWaFkEu + ECJH+FZIsb+STE1GtjCfGGP+Aa2mOIXMmde3BZxZIBk1TY5t6ITs4AvAZKTcb3ZZ + vHupolz3cEOcK0vJdiUfnFLAOkQWMKQu7ReZQXuAFpq5BJUF24UupD24P9VKjUSR + 8LkZdD+knQXb5lO6LFybIiLTM+eVBjZ03/RpLF8QRfqKKlRFWawHJ+OJOYHEP9Tu + HZDrhLrgTNyu+R350xlUoduYf8/H6bQ4IyCQdKvjLIvMlDKQ4iADY4Uc9vcqBQKL + LadQ6F2EwaRVEL8+NoRbFeLfAKLCK7N5NzHXK4BX95NhEosXP2194vPRZUkFuE9C + PjceuiG0Ad18X4doCSnRcr4gR8eDoRjar8dNmniVypWeJSwzGbnOc/uD0GPtoC3S + XgGAP3CciOVyXtqwBqZF/jPyE7UI020gSda9qzCD/SZ8BrZwx1hFpqcjfAP3FHme + Tjhv+cQnYKuBdjyLpwVKDfv2fq9lWRKAOBTztJ50Vg65imXFJcjZO4zYzpjBmGM= + =2a4J + -----END PGP MESSAGE----- + fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 + - created_at: "2025-10-13T23:43:50Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAw5vwmoEJHQ1AQ//X92V3Tr6xeWIeF9QUi8xXzyF/jyvXvkRHnfI7YSUsFpW + 0IOiSUVGM5+/kAKTvBfjyTbSTKiYMDgmtEak8Ya3frVAh+oR8IR2p1dKfh4efCP6 + UTUv5SGUnFS1otb8+/HSN2dI4s46djwNSVEellyRHoQOqotFGZa0V+4G56cNEyvy + luk/HRoL8nUDy8pPw4Ea4HJ48snKYLHuzwV5rDQffyfp1ORB2ic5yz5Ooi/XyBV4 + rGLrQWzftMuha0WpUScgPdXmrRTYgE5ikSClgc5t/MBBo8Kn7bUiK5gug7/DHtgL + XtbsMduE+8Ea8YOiu/MYkXX1K00cI7MO8iJCHoI4AcPMXAANmNw1qDtIeNJjrsIJ + Szj9BoHYulmlKnW2/m+Y5OR/NxrwWoXP2lfTFHbqjkh/SwetybDfOrw91AcT0i/q + aJ82RYadQiUBwICAykr5/lPdtgfj+H9WoMRXD854/DLBhJaDByLGu7QYyJSGdl8U + 6RrYQLHlwpzLVApJl708Hu5kLK9hEWNXQnmLTl2KLYIXsrTXamzf+C3KTPpY6d6w + HZ9GzlVCsqGlFdUAWCfuC1/bY4KJOSqORGoMq5Cl1Rg9nO9YlVMPYgfBvdECclT+ + mYuidzlKpWbkVp8iFas1M7yP3seMTJbG0+TIe90Anp2LCQGhRn2FnOzqogxT2GjS + XgFHh1DBVxNeNsYdsycTv7DQFilW+cag0aXXIJbB6PG7YLc+A3fi5FlpvA9+5zOA + g4jeKoltkAOLBs/IwUS9Irep/Qks1aEj8glOtznGWIUwHQIJBSo7pTYgSKHQULM= + =5YCl + -----END PGP MESSAGE----- + fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 + - created_at: "2025-10-13T23:43:50Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DerEtaFuTeewSAQdA2C4sNjhrk1FmX46I8/VI5YDqbWJcyUM+mgsbj0jqVjIw + 5IIGIzKcXoLQbkDnVi74bGYa37EfpxX3Zo447B+i05iqG6Nn5nvBlUvEt4mtajfZ + 0l4BFYglNIp9HDZAEzXEbn8v1xF7+f32AQiWVKtb1VJHTN+TWOtf7QMhha72y7Jc + P3EKJEzADNW/FBXhk911Ezi/vora0CMuAGdj9LUwvjJKgWVc9FgTfs5Q4kp+rkue + =eXCq + -----END PGP MESSAGE----- + fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 + - created_at: "2025-10-13T23:43:50Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxjNhCKPP69fARAAiG57bEoJewA47OYe2GwraqV7ro2x8lzXAW/XSTDcDzyN + LIFpNM30gzTbDKX0EyHAMuzgseNHlxb9SkMtginA0NrfbMIwo/vxQCjosUv2i1S0 + 3SxzTsPXaj4yBfRyOvRnKnQfiLkUevNlAQI+rnoJvdVDcpXM769otiQQaMaa8sBG + +A+D3m74W6WHf2TIdpFZVVnp3sIJ1FFRO5Y1xsyjXSybYTzX8duofaquTN/ZNztB + VBEtHLJtvVKaLmimo40ae+Frg/R8oi8I2owaO/S6V9n4pU27S9vC1IyuyuazMyTC + 6d6rWtyA78sg8j1ru6tmuI04z14hx4UTg3sZFjXT7kM9Lv/57ZyU2ncPR7qokehT + 5mQuTMlk58D+/svJK5aiAQbrP1xDarnCovtFelewOZWCjUF90PC1HuqKLuytr4HR + YWqXPkENhfAaVDUsAkKnY51OcrsLvntxg67nQmmxL3NmaYaf9mXEwuxnCgF1IMvP + Uvw9cQbdVkEdNxR8G/eN53898gcTXnFbaFGIZ1NKvPc1yBWai6Lpx+NQoJuyVE6V + JrT8vzbIHFxEzB/+3zl0/xI59gIPYciswrKpqiMrtR+oAOPxooV196vAYOdJuEZm + 2xSzBp0C2YdQKJnJUlzM9brD1rPp40GPionJZPiV2oNBYxL0Z1aZFiKw2gNgwz/S + XgHdzUJ1PJam3o78wjrwl/zB0qwdkvOpSOrubvJFk83z2c6S6I7HWqHDsOUBjU22 + yf8jKG6Qt5d1I35kYckRyCj8/fnly+70UlN+OjSYAkrvsKpECMvjzSC3ZeyuhOU= + =6R7D + -----END PGP MESSAGE----- + fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 + - created_at: "2025-10-13T23:43:50Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA1Hthzn+T1OoAQ//Zo1bsLgKMrjB3/3VRXyXTo+plRyd5hYzmKc3ecC7XAYb + coo+ct73coyF47hsnLUlyVucNRKdBql0V48mPqpWZAGZIVDVSVeX5laWeKmXeCdz + RiFBTTwBv1jasDQA87rMRPc+XbX5Jb0GCmHLF6RdiCksYIC564BqLwgxCvGCResZ + mHLek07gJpFiYa1Yvjds6kn3+s9jP6kTwbbCBziz8pmifuasqlYb/ZRZPTgO+yGh + vuanXnhFiJZQoY7kCpwOEbjZYTtmt0buqyUsY9wWmwyM8T7tIdq0BsOCSGxr7nQP + KLb0JJ15aQKLeZBQbuLOM6Z4fkcn5mdfsJ/UTackq50OSmUya6cYC3LergvLXf0n + IiyS/+RUzVJ8qlhRBAMvy1Aifmbb60px32TXSD8T6tyed4KxeAuGblDyNVJm2Rdy + Li8/VpX9ZnSxf9SQemw7mi7iyIXiCU0Vl/A2/LEIMN4Hb+0AFKEbN1zZRGSC4vFh + 0JMaiGl4TSTV4NBHRhaKGZvWnWbtR754V6BzgHMdsL5NHo2pgMQ1cwyMPDBAECDw + K+z0pNuIksZTlb08PHsQX/PXvO20QFR210Kd3ObMtBxcEOdi6Wk8g+udVzBCY1WK + m10LA3ocg2VupzO7cAfO6/DfjXcs6QGD3gtJ8LRt+CFTLgi4m3M1KIZJF7FlTqPS + XgEmne9JRZGPY+vblzx2RH8nEfLIsEBnZYMa8eUFC6dYZkK82i8xI9i4lBtyXUBN + f6oQZ5dz69AvJRkdDu8/iVMHtwRXcGYuvn0v2+qJooHuDoAwujk+VFNtzRDJhkM= + =sVQm + -----END PGP MESSAGE----- + fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD + - created_at: "2025-10-13T23:43:50Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA46L6MuPqfJqARAAgWks85bShgeHgNHxjIjRJ4/ytYdHjxj2haIjNABOHjsE + 4HD1bxq2XcH492qsHzCjvGJn4x57H/CnUJOp5TacAt/CyR+rgr5ChuA8pecJaUju + mUenre4zHhu3P8bS8q/Qs9J3WdyVdm0+wE9RTfq2ZoRCFA+d4M7VWg9Dw56UM3i6 + 27Xtkmog5olITjtzWtF/Uuf0dr9sTxSwHVqddUbzoQs/vtCKyUTUEtz46oBXQtC1 + +jKu1Xgj4rbaajEOviQf0DQ6zDkB7ETtuOCDhnQDFG+Yw27mBZ7jAT8l1ykEuMl7 + 897x9RNOOitTYkqKjylEeSMcUUyQrOuLLhuBSnC7/vroZEgNc2Wtj4M7Sq8tVMUm + psSZ9lYVbKNH8JuAVZj3YHhexPVQLuHcnHgG2tdUZ97PB6+yI5pos36ItjkGtM3+ + 5jMCPLAKgrlpAMc4xZmktkXZV4BkrCvN2E5h7HXnsKjQaCsKsn7rD33LNIx/XB25 + 5vDZjxfGHwQrkuq/xTTwhRO1F/S2OK+JBygHcrcdZKMDhMDTYYxf2bwgW2BdLqxZ + DoenMkq5fredvkB5qpoJEM3iXcy+49SNsBBTRWQXoWl0tFAfU5+y9ez8qBw9QY2r + q22UFl3JAR6jEyLpH1pUL3LD3lCop8ZqZdo+7Id4gnNHDbt6njQwSAsSGGDbylXS + XgGronOVF9eWA0dPz7CW1j55MrgbCXAvIPVSMJ2tgxN00u3TkYc1aHhXe644ZLF7 + guNFppFmxmJXVngfWoQhcXxLRJx/dXukIt5TvRCia9ngpNR6EIhL8y6ROlWHpf4= + =aYRJ + -----END PGP MESSAGE----- + fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A + - created_at: "2025-10-13T23:43:50Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DQrf1tCqiJxoSAQdAdw3qzfTgQK3KfmJ/Uatv1fbVqQvR4xTHLssc8Sg9N10w + cDMYAvx9mKVWXwzT7NiZc66a6/juktGAIdbEwXCz2tVAp7rclaiNNUc7G/WXqUMx + 0l4BWPcWxzXmDmZkZzaFRioScTXg/yE2ncbUuouKq3gKZrNErPCD/RG8MMkve9XI + iBOtNwicXX7l3TH8m/7eOSa9sLJH8mUafvVGWG5Ri2HvbU/EpctFi9YrrQCR8mgj + =z8g+ + -----END PGP MESSAGE----- + fp: B71138A6A8964A3C3B8899857B4F70C356765BAB + - created_at: "2025-10-13T23:43:50Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DzAGzViGx4qcSAQdAKEVSFnlcT9WYIhkmOZkLkvwnJcCl4t70AHVvsDzZJ2Ew + Zb1JCI2E5xyeUB61GyAdsTPBCF55bXr5SD2UojCw91QcJ5EgRdZM4lyRpbG4lGud + 0lgBB0VHoP2DKeJI7TltIFsn/5A4vykzGFjM3aK7O4Hs631Mz0qCeEO0hL0psAnw + 0HcmzOKWKTC00BkZIf4I4CovFte6t29Q8BGR1SlPIlf5rrRRl3UshEHo + =6vZf + -----END PGP MESSAGE----- + fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD + - created_at: "2025-10-13T23:43:50Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA2pVdGTIrZI+AQ//QZt4gKKhw1mV9eMCfD2jKSBsanAiAVObv4Qr+D0DyDe2 + lkVaZ9A6l2+jUmcFG7l0FumcsWqbz/GR63m9GbXAQHrIXkT1MtR4LwAK3DWrbuTj + D2qWYwrKYs/Pu72aqqwacWRQxy80eY7tvtaFjXYNso/VIRRqwqKQWwTIYePce34I + E/goG0Dr/bVqTNnPMVoeK2N/JL/n4sMR54tEYzkEhveFCO7SyHaGxpr98vJFioF2 + 9z+inw3lKY3B4QsKsQzKSmNfs2QB4mMqJ+TBDKG3VdwaudFROtJ79wO6+ahzDsoj + 1ct3YbsS8wZUReGxHE6EYHqYg05djr+DjsOvNbX/J5RQK7iFLFfIxx+9ep8/W63C + JNnnq4UmZuolPEDEJsQgv2NOppC++amAxHpSKl9s2s9jy3JrlNKWLov9WOHsihVn + ZTs7Os/UKQ3r3cq94Xa3UJ7xNWI2qMwxw/pRD9Yy5IN8ZJjtcbtO6paaNWxJkNV0 + o3n8UM1Sf3ddauj5GG0BdPZR+NA82bSSjpm+Vnsd5QGwNdWa6NOMW4K5HKj56/xB + 1kjta3TimXnGVGYzt8KTAmkdhChU0LeM3MBvF8/IVuHOyYkf4sN8Mfqoy7YFca4Z + UVw/rvMYRgy4ORMsIDg/ucDoPsF/oPnionQIXmY5GMVsV0VzYuWVP9Mt48+W8InS + XgH7xkrrQno8PqHaPc5C11eJFBxw/p92vp4Y0BwBQzcmt6sfO/kLFYO6FdQ9EQIX + 7ncs9anVdF8Hcy44N+6u0eA1GY5IulkHbsulvW2xek7wT4IqWC6tMwVrWrpq35Q= + =qx+H + -----END PGP MESSAGE----- + fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + unencrypted_suffix: _unencrypted + version: 3.10.2 diff --git a/inventories/chaosknoten/group_vars/all.yaml b/inventories/chaosknoten/group_vars/all.yaml index d6cd2ce..3612ebc 100644 --- a/inventories/chaosknoten/group_vars/all.yaml +++ b/inventories/chaosknoten/group_vars/all.yaml @@ -5,3 +5,11 @@ ansible_pull__inventory: inventories/chaosknoten ansible_pull__playbook: playbooks/maintenance.yaml ansible_pull__timer_on_calendar: "*-*-* 04:00:00 Europe/Berlin" ansible_pull__timer_randomized_delay_sec: 30min + +# msmtp +# msmtp__smtp_password is defined in the all.sops.yaml. +msmtp__smtp_host: cow.hamburg.ccc.de +msmtp__smtp_port: 465 +msmtp__smtp_tls_method: smtps +msmtp__smtp_user: any@hosts.hamburg.ccc.de +msmtp__smtp_from: "{{ inventory_hostname }}@hosts.hamburg.ccc.de" From eadae7a09b12d18b9d7ebc12dcb29c996fa9f79c Mon Sep 17 00:00:00 2001 From: June Date: Tue, 14 Oct 2025 22:20:27 +0200 Subject: [PATCH 018/160] ansible_pull(role): add failure notifications --- inventories/chaosknoten/group_vars/all.yaml | 1 + roles/ansible_pull/README.md | 1 + roles/ansible_pull/meta/argument_specs.yaml | 3 +++ roles/ansible_pull/meta/main.yaml | 3 +++ roles/ansible_pull/tasks/main.yaml | 18 +++++++++++++++--- .../ansible-pull-failure-notify.service.j2 | 7 +++++++ .../ansible-pull-failure-notify.sh.j2 | 17 +++++++++++++++++ .../templates/ansible-pull.service.j2 | 1 + 8 files changed, 48 insertions(+), 3 deletions(-) create mode 100644 roles/ansible_pull/meta/main.yaml create mode 100644 roles/ansible_pull/templates/ansible-pull-failure-notify.service.j2 create mode 100644 roles/ansible_pull/templates/ansible-pull-failure-notify.sh.j2 diff --git a/inventories/chaosknoten/group_vars/all.yaml b/inventories/chaosknoten/group_vars/all.yaml index 3612ebc..b8f13d0 100644 --- a/inventories/chaosknoten/group_vars/all.yaml +++ b/inventories/chaosknoten/group_vars/all.yaml @@ -4,6 +4,7 @@ ansible_pull__repo_url: https://git.hamburg.ccc.de/CCCHH/ansible-infra.git ansible_pull__inventory: inventories/chaosknoten ansible_pull__playbook: playbooks/maintenance.yaml ansible_pull__timer_on_calendar: "*-*-* 04:00:00 Europe/Berlin" +ansible_pull__failure_notification_address: noc-notifications@lists.hamburg.ccc.de ansible_pull__timer_randomized_delay_sec: 30min # msmtp diff --git a/roles/ansible_pull/README.md b/roles/ansible_pull/README.md index f31c552..cf90e60 100644 --- a/roles/ansible_pull/README.md +++ b/roles/ansible_pull/README.md @@ -13,6 +13,7 @@ Should work on Debian-based distributions. - `ansible_pull__inventory`: The inventory to use. - `ansible_pull__playbook`: The playbook to run. - `ansible_pull__timer_on_calendar`: When to run the playbook. This is the argument to a systemd timers OnCalendar. See the systemd.time man page for reference. +- `ansible_pull__failure_notification_address`: The address to send the failure notification to. ## Optional Arguments diff --git a/roles/ansible_pull/meta/argument_specs.yaml b/roles/ansible_pull/meta/argument_specs.yaml index e5c88af..682fdcd 100644 --- a/roles/ansible_pull/meta/argument_specs.yaml +++ b/roles/ansible_pull/meta/argument_specs.yaml @@ -16,6 +16,9 @@ argument_specs: ansible_pull__timer_on_calendar: type: str required: true + ansible_pull__failure_notification_address: + type: str + required: true ansible_pull__user: type: str required: false diff --git a/roles/ansible_pull/meta/main.yaml b/roles/ansible_pull/meta/main.yaml new file mode 100644 index 0000000..25aaf90 --- /dev/null +++ b/roles/ansible_pull/meta/main.yaml @@ -0,0 +1,3 @@ +--- +dependencies: + - role: msmtp diff --git a/roles/ansible_pull/tasks/main.yaml b/roles/ansible_pull/tasks/main.yaml index 53fc219..eff8cb0 100644 --- a/roles/ansible_pull/tasks/main.yaml +++ b/roles/ansible_pull/tasks/main.yaml @@ -15,6 +15,15 @@ virtualenv: /usr/local/lib/ansible_pull_venv become: true +- name: ensure ansible-pull-failure-notify script installation exists + ansible.builtin.template: + src: ansible-pull-failure-notify.sh.j2 + dest: /usr/local/sbin/ansible-pull-failure-notify.sh + owner: root + group: root + mode: "0755" + become: true + - name: ensure secrets directory exists ansible.builtin.file: path: /etc/ansible_pull_secrets @@ -33,14 +42,17 @@ group: "{{ ansible_pull__user }}" become: true -- name: ensure systemd service exists +- name: ensure systemd services exists ansible.builtin.template: - src: ansible-pull.service.j2 - dest: /etc/systemd/system/ansible-pull.service + src: "{{ item }}.j2" + dest: "/etc/systemd/system/{{ item }}" owner: root group: root mode: "0644" become: true + loop: + - ansible-pull.service + - ansible-pull-failure-notify.service notify: - systemd daemon reload diff --git a/roles/ansible_pull/templates/ansible-pull-failure-notify.service.j2 b/roles/ansible_pull/templates/ansible-pull-failure-notify.service.j2 new file mode 100644 index 0000000..fa5d471 --- /dev/null +++ b/roles/ansible_pull/templates/ansible-pull-failure-notify.service.j2 @@ -0,0 +1,7 @@ +[Unit] +Description=ansible-pull failure notifier + +[Service] +Type=oneshot +ExecStart=/usr/local/sbin/ansible-pull-failure-notify.sh +User=root diff --git a/roles/ansible_pull/templates/ansible-pull-failure-notify.sh.j2 b/roles/ansible_pull/templates/ansible-pull-failure-notify.sh.j2 new file mode 100644 index 0000000..fe7dbc8 --- /dev/null +++ b/roles/ansible_pull/templates/ansible-pull-failure-notify.sh.j2 @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +# Ideally we would use --invocation instead of --since, but this isn't supported in the systemd version Debian 12 ships. +ANSIBLE_PULL_LOG=$(journalctl --unit=ansible-pull --identifier=ansible-pull --since=-6h --output=cat) + +MESSAGE="Subject: [{{ inventory_hostname }}] ansible-pull: execution failure + +An error occured during the ansible-pull execution. + +Logs: +""$ANSIBLE_PULL_LOG"" + +To view the logs yourself run: +journalctl --unit=ansible-pull --identifier=ansible-pull -e +" + +printf "$MESSAGE" | msmtp '{{ ansible_pull__failure_notification_address }}' diff --git a/roles/ansible_pull/templates/ansible-pull.service.j2 b/roles/ansible_pull/templates/ansible-pull.service.j2 index 588741c..0f80907 100644 --- a/roles/ansible_pull/templates/ansible-pull.service.j2 +++ b/roles/ansible_pull/templates/ansible-pull.service.j2 @@ -2,6 +2,7 @@ Description=ansible-pull for configuration and maintenance After=network-online.target Wants=network-online.target +OnFailure=ansible-pull-failure-notify.service [Service] Type=oneshot From 1d6d1094bca24a99700d067452deccc855d13a82 Mon Sep 17 00:00:00 2001 From: June Date: Wed, 15 Oct 2025 01:59:29 +0200 Subject: [PATCH 019/160] setup ansible-pull for 7 more hosts Setup for: cloud, eh22-wiki, grafana, onlyoffice, pretalx, sunders and wiki. --- .sops.yaml | 33 ++ .../chaosknoten/group_vars/all.sops.yaml | 349 +++++++++++------- .../chaosknoten/host_vars/cloud.sops.yaml | 293 ++++++++------- .../chaosknoten/host_vars/eh22-wiki.sops.yaml | 200 ++++++++++ .../chaosknoten/host_vars/grafana.sops.yaml | 291 ++++++++------- .../host_vars/onlyoffice.sops.yaml | 293 ++++++++------- .../chaosknoten/host_vars/pretalx.sops.yaml | 293 ++++++++------- .../chaosknoten/host_vars/sunders.sops.yaml | 200 ++++++++++ .../chaosknoten/host_vars/wiki.sops.yaml | 200 ++++++++++ inventories/chaosknoten/hosts.yaml | 7 + 10 files changed, 1453 insertions(+), 706 deletions(-) create mode 100644 inventories/chaosknoten/host_vars/eh22-wiki.sops.yaml create mode 100644 inventories/chaosknoten/host_vars/sunders.sops.yaml create mode 100644 inventories/chaosknoten/host_vars/wiki.sops.yaml diff --git a/.sops.yaml b/.sops.yaml index 637cf45..e640810 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -16,6 +16,13 @@ keys: chaosknoten: age: &host_chaosknoten_age_keys - &host_netbox_ansible_pull_age_key age1ss82zwqkj438re78355p886r89csqrrfmkfp8lrrf8v23nza492qza4ey3 + - &host_cloud_ansible_pull_age_key age1gdfhx5hy829uqkw4nwjwlpvl7zqvljguzsnjv0dpwz5q5u7dtf6s90wndt + - &host_eh22_wiki_ansible_pull_age_key age13nm6hfz66ce4wpn89fye05mag3l3h04etvz6wj7szm3vzrdlfupqhrp3fa + - &host_grafana_ansible_pull_age_key age1jtusr294t8mzar2qy857v6s329ret9s353y4kuulxwnlyy4dvpjsvyl67m + - &host_onlyoffice_ansible_pull_age_key age1a27euccw8j23wec76ls8vmzp7mntfcn4v8tkyegmg8alzfhk3suqwm6vgv + - &host_pretalx_ansible_pull_age_key age133wy6sxhgx3kkwxecra6xf9ey2uhnvtjpgwawwfmpvz0jpd0s5dqe385u3 + - &host_sunders_ansible_pull_age_key age1na0nh9ndnr9cxpnlvstrxskr4fxf4spnkw48ufl7m43f98y40y7shhnvgd + - &host_wiki_ansible_pull_age_key age1sqs05anv4acculyap35e6vehdxw3g6ycwnvh6hsuv8u33re984zsnqfvqv creation_rules: # group vars - path_regex: inventories/chaosknoten/group_vars/all.* @@ -29,6 +36,8 @@ creation_rules: key_groups: - pgp: *admin_gpg_keys + age: + - *host_cloud_ansible_pull_age_key - path_regex: inventories/chaosknoten/host_vars/keycloak.* key_groups: - pgp: @@ -37,6 +46,8 @@ creation_rules: key_groups: - pgp: *admin_gpg_keys + age: + - *host_grafana_ansible_pull_age_key - path_regex: inventories/chaosknoten/host_vars/pad.* key_groups: - pgp: @@ -49,6 +60,8 @@ creation_rules: key_groups: - pgp: *admin_gpg_keys + age: + - *host_pretalx_ansible_pull_age_key - path_regex: inventories/chaosknoten/host_vars/netbox.* key_groups: - pgp: @@ -63,6 +76,8 @@ creation_rules: key_groups: - pgp: *admin_gpg_keys + age: + - *host_onlyoffice_ansible_pull_age_key - path_regex: inventories/chaosknoten/host_vars/zammad.* key_groups: - pgp: @@ -79,6 +94,24 @@ creation_rules: key_groups: - pgp: *admin_gpg_keys + - path_regex: inventories/z9/host_vars/eh22-wiki.* + key_groups: + - pgp: + *admin_gpg_keys + age: + - *host_eh22_wiki_ansible_pull_age_key + - path_regex: inventories/z9/host_vars/sunders.* + key_groups: + - pgp: + *admin_gpg_keys + age: + - *host_sunders_ansible_pull_age_key + - path_regex: inventories/z9/host_vars/wiki.* + key_groups: + - pgp: + *admin_gpg_keys + age: + - *host_wiki_ansible_pull_age_key # general - key_groups: - pgp: diff --git a/inventories/chaosknoten/group_vars/all.sops.yaml b/inventories/chaosknoten/group_vars/all.sops.yaml index 4cccea4..ed3324e 100644 --- a/inventories/chaosknoten/group_vars/all.sops.yaml +++ b/inventories/chaosknoten/group_vars/all.sops.yaml @@ -4,206 +4,269 @@ sops: - recipient: age1ss82zwqkj438re78355p886r89csqrrfmkfp8lrrf8v23nza492qza4ey3 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBsemRxOVROLytjZ0NJazJB - UnRWTmNvb0JxUnhWMGJTOTl2ZVpyYmxZbUdVCnorcTgyY1pNVzNnVWYwNkFITEZl - RmxrZUN4V1BRenBISDVBZ0hVelVqU0kKLS0tIDQ4QlFMajNXQzRDVWd2Skl6QkdK - dEZGZ21qR2ZWT21OYi8rR0svaWJkU2sKND8yz4CSMVjWtGHymzD26Nxlk6leEkCD - XYpGJSyvhaw6Y/oExjzuXYMDXCr/EQFpM8wpU00YA62rZ34FBsyoUA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBNK09ULysvZGZDS2JVQTRZ + R20zVlZvenJRS3loVzhxRUdUcnlTZStJdnpBClUzYXJqeVJObEQ5b09iTTl2bFkr + N2FERk9lZGxyUW9tL04rVkowdHJpaHcKLS0tIDRKKzZ5b1hkR0JsdWJENFpRZTI5 + US9ZZGY3cHJKSWZmaG5raDFMR0x3bFkKjKxc15/6IKi9NVlmHssAPRxrlFFrKmky + KH5jc/eGmGoxfRYmpQd7H4CufVRGCAa5888d1Bzr7wQU7i9vloZrDw== + -----END AGE ENCRYPTED FILE----- + - recipient: age1gdfhx5hy829uqkw4nwjwlpvl7zqvljguzsnjv0dpwz5q5u7dtf6s90wndt + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBocElaeENveXhxZGUvRE9T + RmdCM0c5ZFJ6V2NtelVhWkM5MkEzL2ppd3d3CitSVElRcWsvSnExNjA4Qnk2Q0t5 + Y2dXS1hCUG1nQmh6UWhZMU0vdUF5WVkKLS0tIEZyQVVsS3VSZ3Z3TThhTGFDMk9W + QVU4WjVrT1VqTDJQOVBWLytDYUVUZmMK5mKDBYN6pOJKppdV46tOv9OvnO+dXy8J + i8MysER59sLMUL5M+AI5wnSao1NDxSWLv9X6nxWwRq2xSKkoMJ8nEQ== + -----END AGE ENCRYPTED FILE----- + - recipient: age13nm6hfz66ce4wpn89fye05mag3l3h04etvz6wj7szm3vzrdlfupqhrp3fa + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2SzJIbkVXNlRHOUZnTjF4 + UEpOMFUzaTZxWW1VdDhJMjk0NXdXQ0NZWG1VCldyUC9GeEVkWVBubTZGN0dDOFNs + dWlodGk3ZUgrVjRVSVliZHNiV0VZTkEKLS0tIC9oUUVTdFNYUFo3aFZqbmJjc3NP + ZmxIZ2hxN09DTW9vdjRDcjYvSVRveTQK5xGEO07DoSp7Oi+zYBfeGGRrZ1bzKjPF + +jsduiUQaGX06dFHDy+cESv4hBds/pP5j8UaK16BkzuiClPpjE3SZw== + -----END AGE ENCRYPTED FILE----- + - recipient: age1jtusr294t8mzar2qy857v6s329ret9s353y4kuulxwnlyy4dvpjsvyl67m + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKWEl6L2NuVWp4OHRIelhu + TVRXSEE1eCtrZmJjWkdHY0huL1gyTTJXQWpzCmhDQmRISG1yWmNZZldVRU5wUm1J + NVBySU4wNExNSzJOcUlOT3NrUUhIR0EKLS0tIDJ3a3BpaW9lWGxnd1F5VW5ONUhr + cC9vd0tSSEpGaVA2L2RZM2VqeFVDRE0KYiQ5YH58GkXTpy8mjwGBeRgfy9MW2UlJ + HEtp+OedWZJ0W3kZiGdeAPo4lAXrz3wnhE1pIXs3k+HPCm7Ry8BjCA== + -----END AGE ENCRYPTED FILE----- + - recipient: age1a27euccw8j23wec76ls8vmzp7mntfcn4v8tkyegmg8alzfhk3suqwm6vgv + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAyMVRVWllEWTRFYU9UNkJk + MTk4L3F2Y1NRYU1yZFNUNGYrMFNUVzV1UXhrCk5ZSytOK3ZWeHJ5OTdaRzFEUHN2 + bHNXbEk3c3JvWDFrWHZhSWVvaTJkRVUKLS0tIFZKTmF2MWpaWWg1cm1mSG02NjM4 + K3lsQXd4R0FySC9MMzNBNFNKOS8zMmcKwAh4RaokdmZMsBnjk9ZyRQJPnfT7NoMF + oIrvTp6UYizxI6AjtmLHkcRwla0OS28KGg/iTjJxOvrsTLMUlsUGvw== + -----END AGE ENCRYPTED FILE----- + - recipient: age133wy6sxhgx3kkwxecra6xf9ey2uhnvtjpgwawwfmpvz0jpd0s5dqe385u3 + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzSjhhOFlaTnVvWE1TOGlj + Qkh3NTVicjJvSmFkY2grUGNwNXlVZFBCTWtVCjFTaEhZVE9WMkpWNHFCbkhzUUs1 + UEdGVCtEd3orSzA5Ly8wMzUzcnE5QmMKLS0tIDZtSmkzYzFReGorVW1GdUxLN1VL + b2NTWXRVeFBVd25qVjRRWWxpNHRWTDAKG2BedIyp/GbAOEoKr7ZT44D574uByjK5 + 3p+IZ1XYOyolzgnQYVCJZqIaIzt7syoE0ctA4IrakB6P/1cTM5qGnw== + -----END AGE ENCRYPTED FILE----- + - recipient: age1na0nh9ndnr9cxpnlvstrxskr4fxf4spnkw48ufl7m43f98y40y7shhnvgd + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzVXY5aTJIMDlFcG5MTkRh + UGRwQUw1Z1E4b25NMTVwa0g2dXJHWndBK0VFCnI3NHErMzBpOTdEcTNuTlVRTWFS + OER5eXdUK0theUx3VGUwbmRBaVl0eDQKLS0tIEdVVExLS1VwRkd1dEw5eWVQWTZP + Z1pMeklHRENCdXFzU24yYm9POEYzWVkKkjJyWvusfYp3ZD+Pm7PiZqh/wUjPCaHz + /Kd903nhk6IWO+tnzC4LTM4L3i/p8MONKjRgSOkwI2FRfQby/ECUJQ== + -----END AGE ENCRYPTED FILE----- + - recipient: age1sqs05anv4acculyap35e6vehdxw3g6ycwnvh6hsuv8u33re984zsnqfvqv + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBITzBqbTRlRHg4Zi9pZGFP + dUVuZzFEamFZSnRiMFRIR1FmZWJhU2lFbERNCjlQY0ZJd3FYQ2VjbTB0S3k2Z0E1 + QUJrY0JCNFRCWEljbDZ0ejNNbFZ3TmMKLS0tIFYxVGRjc1ZwbEg2OGR1cWYzcStP + dGVrVnZqUzh3SkxJWHlQZUZxS2s2SVkKYdEo3IdbBfPHjfNfxI8B4HncsWctwi31 + jsRKVDr+tpJLKRFukQTTeyfDpMLGBxNMYtsekST1PPm8NUloJf+qaQ== -----END AGE ENCRYPTED FILE----- lastmodified: "2025-10-13T23:45:06Z" mac: ENC[AES256_GCM,data:QxH4lnNyCAAEJhzbgCrq7QeLs+OAtYgwQP4oFm93NE4Fbz7/Hz2dvL/2SopOdW7nYVeb1scuG1ra+yvgzuQDhg4lcgt9eBJoBiynM3qiHBs+FtcSJoKs16I/ACAadQwClALb4E0xxwKFJI8ewMZu5BAxi5EhYbgNfnKCIbhvgWo=,iv:LRa2vX0HUBugeEAVeOqXbPsMQrfrCpyzGUGjK6+VaQc=,tag:/sfhJM8V1IYBh94ZS/TDxQ==,type:str] pgp: - - created_at: "2025-10-13T23:43:50Z" + - created_at: "2025-10-14T23:47:05Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/9Hx48AvlY9g+JVcwqC399JS62WOMmswvmqJIStHCVCEJN - DPAkbabJ6MC9GiN2A65+VNQJ+X9sjbjKt1kjOEujS5xbA4yX2p3GzHBdgQxMEf6p - mZSZtI37N0J8bCkHU9IPbIl7W3l8cKq1f+2ZCvtozveWelZDCvx1TN1HLrRO0a1Z - BINbaSwDs+pQ/3Puu/R9G8Wxti8V5ECXMjB1Olf1Npg1QsyHYOTusketRKbCp1vh - A78U30BUM+asmgg5MaF+9pxuNDnt/kBXf9VjiElU0XOoIoyTZuVSNtJKxcaTim+g - yj0RisLPuH5TRo9ADks600WLwFshLJ8sUA3f1X/jI7gM77MUr3iTLxTdq2bKMXTs - BHo0eiXSi5z5d7FZhWa8nlMDnN6hOiOpXCYG6+5yyt9w2iepAon0U4MBvqfEbe1z - I4q3gYuHyTbTKuwDEQAiULfRQErBHL0jYb9VZmopSyXmdahHJ3weXmVxy6Y2YZat - pzJyRpCA9368stdKQajI5qGhOPKVI94WLVsOfKPJH7YsZTa2sQgpLMU4wzqhkQMm - TzZ0aifl+zB5RCkfdA4vtqnC3t1JuA1Mn05f5OIuGa2v8FIxG4uOtCAOTN7MLesk - bNcxYIwPGukN/OoSyJE6TutAaUOIlsSwWysN8p5elE8jE5Q2f+IMLd0U25JfD3zS - XgE6eJmQB90gSIRG6C2R26UY2onC5LqLDZ9zhOTiorHrzLXvtbYS90XMLtbzX8ft - 7zTsME/nRZpnCSZb97nqGsb6tnhnQLnSCwagmVRtJVi3N60TnxAm6ulizbzTLt8= - =d44L + hQIMAxK/JaB2/SdtAQ//c+GwPrx0f+VWMvPWb/YmNoQDtDB2UPvFyEQtUAG0AL9S + oqYdDhw9Y1JZ1ZoUOP6N78mRvjb9csmdBmEPr+F2gfcaqRS4ywUKkiyzBgrwZ8Fv + AZUlxI+ftPeIpvhzu4vX53pyPtAKVqbPHivj88N9pVt2raFXYwnZU6P8NaAIS5pr + OPLnbMCrl7ep/BnoAcpwXIk+W44P8ZMm9pbxni/OfaIEHxW06kkGhzeYtQwnVQa6 + NBTQRBjb2drvkEIeaeYNMQ8M2XW/Zul59z/kJV4bGZzSlrS08y9+5ks7wVASb67S + cN18UH1O735qSXTHDnYdLxgOWs+IcmAId3WtMLJJUkaZLC/u+q99S6nFHtklFmlR + fJp6vT0xeHf4HX54L7LewBcRlASKE8uUpzqDSuGCSpVvQe7SBje8D6z9zL7Bolfd + +NhqXCWKuXwB177D3CRLZk0zG7n07j+Vm3qibCONDLbvX+piEz1YmfkbcfuZJtO6 + MFUqta+3UtpSYNeELnAUz5EO3LZ4+WNTj5GGPNkRELMQNvztx6xSTItlhdCQ+Kjj + t73cOY9i4ZXFqU0gUOaXn8BMxtQ4qR6Rab/t6a0nv+nbgCb0fWaKrJZQVzjibT4n + oLQWIL4fNL8sUQfRHihm0QQ8Jp2u/AdLSnQwSMzETmbNFPBVkkCdPYbKbAqOz7vS + XgGUUn8QZEwbC7v2deMFPx/XOxCdiL81KkISsu9HbzSAwZL/SYaKzIFPVMtnokAX + GdfI3zzhL8O6G7pXUCaseGQBCqWJRPKDmhbil7KOVPXRzbajEyVoz3dOmJBVldo= + =8luo -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2025-10-13T23:43:50Z" + - created_at: "2025-10-14T23:47:05Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA6EyPtWBEI+2ARAAs6qi0w48EL+4D3HVU7XaTpX7CdYTgYiDvUosVTWEcx2c - pRSTkX2Ai1uIGPd3+zTrindOCJNTgdpAK5PAHPT8nzPJUT8o8xAsFTHfS7sphHVo - RGx4CNHafMAXn734Rzzl6n+tAoW5Bw1Su19+dmeme0o6qrWU4JB9ZWIaZrtqPRP4 - QDWSO7yGLQ0IHyK81x3nCHS5J6VNUyKn7zEn7Ezw8m+G51MK46oymS+c7B5n2bLN - MmmC5GKnmGE3AOnyRN+1O60ZRq8FHN8BM8aADZ+dUx8wPlS2tD2K9I6V/0gOSINH - Yq0FIeh4Fbd3NS2PNZTgLjjiU+OSi4/q3uLTOBOAroPwhZ83I0UhlMfotE6/z++y - mBo+SL2jBnG53J3iFqeXUfHOpEkrItviFyJp2MR+l6+hM9fzzIp+N1+2HB9oUuAA - 8Sa9NeY6htVGH/W1T90LK3kwZNTt7REdbaYAgzBrqLemrGLAQSdOotnaohoCXgst - uf2v7y+8351tPZ2o8cCv7LsuTARGhJWW4Fw2MVfM/hvYq6rBdelfv3GS3hLI5vyW - f5BWWODgE/+DmT8+Flrg09JEvJJfMtPaNG82WLkPmFCNkZPgup5yyOp7sVHmRhZ1 - Yw6azYPiViDlAPItAUaLMHpcU0CIa0zIZ4ND8wk5IopFiXek330imyhB4qVqOv/S - XgHcOQmSGWwvTrxs8/JEwaKlRBYDXVDw6NgO+cIoW7uv8raGHdb7cLZ60FfvtFP3 - i8h4hQcaDGoEGsoehOpIjRtOSgyqT96/UN/slauL8eF9Sjh7zrxS8b0McXvDxRk= - =CEM8 + hQIMA6EyPtWBEI+2AQ//RLGb5E8yl22yIOwsVZp5Yp0qHMlCQ09toAXzxasLYl/Z + uSDjIsRccMjoRhiMtUR/Wi3eV4kmbtfFp6zt7CT0um5SspTqdlufAd44FotsjCyT + P2BMl+cUTSzJ6rVlZ90zM2djhqi8W70p0YiqVqFV/HqZaswI3dMcpGW+X378QD3C + PtFEpUFD1/Ihnveto307CVPUJp7J8umZKp2l5AFMeXmKBZXXai8KseIbWysH9Obi + xiZ7Pp5s3Cv60GUbQXdTyeRuc4aPMvFjEXYY8MTGGyENLhJq+MtMcAQCYX+nEQ/M + sNoPuei/TTEqct87iWqEEYCdS+fvw9IOCMZHkozQ0H0zViRpSG+yNw1njQhb9Vbv + Gis6rVNlNMNOCXHG01FNqgmq6aMjf2ksG3RmhI4fEV2BZzXvivYDOmsjdapm4x0a + PHe8zNG3BOtbQ7DHMWLITlcuIDDI/tL42+Udf7hXdFyDBr+Umc+G9cP15PNxWuTE + gBbpllupQQTc5we1WiQEvQ1LWWjVRSi6DQWUwByijNj9DiBjmmGfJ992EXmLD5sd + U1Lm9ziyMyjhWdfh9F2V5yNYgX6QA7Qa25SuQSspv9BjmLrOYVd9hXh7E23X/0XF + fAj70wWcFWOpZ7D9H7xPiq6kynMUcetV6VTEk3Qt8kUgNi/RKPb5NY8txH2wZpTS + XgHq0D2I5d7pIIWrbZrabZJWfi3lZXjf+3YBRZ99mDh53hESgazZr5nG9V8BXcyH + d9gmCZ7hjWWOU9AMcF9v5OZLx2V2pVHp4dvKAKPMmn0ldwFGLNp7Gt6bnKh4b7k= + =fyRg -----END PGP MESSAGE----- fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC - - created_at: "2025-10-13T23:43:50Z" + - created_at: "2025-10-14T23:47:05Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ//fooeHFVDPbuEJ2I8fgbEDpNi+yASN3ERLu3b4SzD1ik0 - byKoqHY6E/+vjC79EPQE31qAapigO8oKz2n09+Qtn2H4oxigJvV9lA0SF+b5OAns - UtuJIiGrTR/aLBcS2Vg368S13WYYdRxfF9nt+HEbjxb8JnwV9nkXx9GnuWYzCe/C - 4dTZva32GKfLHthAb4FqFRgiDoDMg5rdKE4T7W0dllSJ5cHXnYSo3U0KkaOP6EMA - yx9ztKDZUMskiks2xo9pw6bNC8txseuvwIImw1+ep2DzlrR62XpyMeQkfKWaFkEu - ECJH+FZIsb+STE1GtjCfGGP+Aa2mOIXMmde3BZxZIBk1TY5t6ITs4AvAZKTcb3ZZ - vHupolz3cEOcK0vJdiUfnFLAOkQWMKQu7ReZQXuAFpq5BJUF24UupD24P9VKjUSR - 8LkZdD+knQXb5lO6LFybIiLTM+eVBjZ03/RpLF8QRfqKKlRFWawHJ+OJOYHEP9Tu - HZDrhLrgTNyu+R350xlUoduYf8/H6bQ4IyCQdKvjLIvMlDKQ4iADY4Uc9vcqBQKL - LadQ6F2EwaRVEL8+NoRbFeLfAKLCK7N5NzHXK4BX95NhEosXP2194vPRZUkFuE9C - PjceuiG0Ad18X4doCSnRcr4gR8eDoRjar8dNmniVypWeJSwzGbnOc/uD0GPtoC3S - XgGAP3CciOVyXtqwBqZF/jPyE7UI020gSda9qzCD/SZ8BrZwx1hFpqcjfAP3FHme - Tjhv+cQnYKuBdjyLpwVKDfv2fq9lWRKAOBTztJ50Vg65imXFJcjZO4zYzpjBmGM= - =2a4J + hQIMAz5uSgHG2iMJAQ/9GeCeHiQEk93SwxjH/Kbr7dxVQZV7stRfLJFDIjPKGiOP + jvJ+MFXNW1g9OQEuhRtS9duo/+YQvm3ZBAwxqyxRyAp14iVLkrzzfQjY+lCgm3BN + t2iNsuyZlNf6xkdoAuRpa4/ga/MjrR2Rx44bOeLVA5UuYZ7ivx9eY+e/h644uPmZ + aBcI5jHpU7fTwGYAomogzY96/xNAjmflUj1dMguuUqhGctFj97gzh3PlV7UcHAtC + t7uTRl9mcNTzJHAAJv2MJKfueEH5E8+Z1aNm2ZwuG55reXvfSLFvfW47n/adHAga + hBj56CXkktVDl5u/hYfOM20qyIbal1F779kBNXq/sqm/tMN7x1H0J4IIfKjwRDux + E9qnrPRzcWmwvI4zWElvbypMwPa/KQsMZ62Wktlt9u8n7ajzRYqmTa3isvyJ7Vfg + YuYBNgetvL5tWd3Nvx9AKOKgWCyJgrHrVRQWnLDaHtTOnbxD+XQRoNTX4SZkub6z + TtjS/r+yGMLRhzGJKAs+1Ow+gcMiI+RiK2dG7DQvhaXneuSkXtasMOmzREYKz0zW + lKwtwDTGf/cdjTfl1M8hjuT7HCj33t8sj78Ad8tEWeVqnOUO1Jlcjh9U3u0FEo6M + A+ekyog0eftIs4VZZfkNnzaBQkCEC2pRR2EpkcqIf7D21BoKvTbDl6wJ9zh1I/bS + XgFJzMH96vpVP2rJDj/HPc57A0x9s/giEezG6qSKu/ZLE5oBg1cilRN3Q6okj9V3 + 4xyptmO4d8WFrf+8KSVph+NIkq1eXTprhEU5LrHQ4PK6IcTjq10+xAlqyvNxbkI= + =8NeM -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2025-10-13T23:43:50Z" + - created_at: "2025-10-14T23:47:05Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ//X92V3Tr6xeWIeF9QUi8xXzyF/jyvXvkRHnfI7YSUsFpW - 0IOiSUVGM5+/kAKTvBfjyTbSTKiYMDgmtEak8Ya3frVAh+oR8IR2p1dKfh4efCP6 - UTUv5SGUnFS1otb8+/HSN2dI4s46djwNSVEellyRHoQOqotFGZa0V+4G56cNEyvy - luk/HRoL8nUDy8pPw4Ea4HJ48snKYLHuzwV5rDQffyfp1ORB2ic5yz5Ooi/XyBV4 - rGLrQWzftMuha0WpUScgPdXmrRTYgE5ikSClgc5t/MBBo8Kn7bUiK5gug7/DHtgL - XtbsMduE+8Ea8YOiu/MYkXX1K00cI7MO8iJCHoI4AcPMXAANmNw1qDtIeNJjrsIJ - Szj9BoHYulmlKnW2/m+Y5OR/NxrwWoXP2lfTFHbqjkh/SwetybDfOrw91AcT0i/q - aJ82RYadQiUBwICAykr5/lPdtgfj+H9WoMRXD854/DLBhJaDByLGu7QYyJSGdl8U - 6RrYQLHlwpzLVApJl708Hu5kLK9hEWNXQnmLTl2KLYIXsrTXamzf+C3KTPpY6d6w - HZ9GzlVCsqGlFdUAWCfuC1/bY4KJOSqORGoMq5Cl1Rg9nO9YlVMPYgfBvdECclT+ - mYuidzlKpWbkVp8iFas1M7yP3seMTJbG0+TIe90Anp2LCQGhRn2FnOzqogxT2GjS - XgFHh1DBVxNeNsYdsycTv7DQFilW+cag0aXXIJbB6PG7YLc+A3fi5FlpvA9+5zOA - g4jeKoltkAOLBs/IwUS9Irep/Qks1aEj8glOtznGWIUwHQIJBSo7pTYgSKHQULM= - =5YCl + hQIMAw5vwmoEJHQ1AQ//dE94ge2nGFLs9nTc+jmktbWa6kkFuNQFT1k+oTI4ZZWi + vn1aBajNjMLS+jgStQEWwjNSkFdRfYMFVJ/S+1NpOF5CDqhycfvCa7e/kt6KNvEc + TPeGco6G06Wnpf6jK8mjXWxEyyLKbY328fEDdTuKkRm3/F2nwJbMX6d+UiZ0Y+Oe + p2DD33YcjfCFtXUtP/c+fwnhS+953cCDng+k6/eyxlCY+LT7gGbcTYZgmMGlsGA7 + eT5F/2SrEDydGfXVUc90syeVXIS3xfGyztylXfYI0vQz1Bz9D48Ek51wXKahzA+r + coIBoYqD4H9OLntBD53To0d0zR4vbB2+w9czsNZJsnK3oPxi0yK+13V6KdvlPvO2 + txwVwu18H290CEg/Zqg/w0cS61NgevOIw6g41ID9emc1qO2ZVMVt46hgNKkrna3R + 984JZGT8KB1lGqVpHU5iTLGDuzPzc4dUDaPJQ4E5KjYUCLCRKW5q2j6zeyNEgRSE + qNJbMOP9+IfoCVE922qI8+9b1ZQ6jT6thIr2rzzagWMcHOXRUxZR6CZzDQLMP1le + 1ePo6BmPm1VPeLC1lWMykAff7t+XvCVecTxyFFzClJY5Byo4XS1MUzRcb+lVYIus + GZTRGCZVoTXJlExkWFfFNbz+46jkfVcQGE/eiY5Es9ZTyHRuHPeBsx0vMQpF6AfS + XgFHOJrVKLuxrkQZZ+gyNreA48Sn2ZzwpoldR0CJrGFzw2IevvYIpK0L4gQZ3jLR + s9MQEj7UfdJ0wCstBfSaGqtGhD4ZbVMcd8L6nh6BJVdTYYPyn5IERyWtM8I/Clg= + =sNNb -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2025-10-13T23:43:50Z" + - created_at: "2025-10-14T23:47:05Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdA2C4sNjhrk1FmX46I8/VI5YDqbWJcyUM+mgsbj0jqVjIw - 5IIGIzKcXoLQbkDnVi74bGYa37EfpxX3Zo447B+i05iqG6Nn5nvBlUvEt4mtajfZ - 0l4BFYglNIp9HDZAEzXEbn8v1xF7+f32AQiWVKtb1VJHTN+TWOtf7QMhha72y7Jc - P3EKJEzADNW/FBXhk911Ezi/vora0CMuAGdj9LUwvjJKgWVc9FgTfs5Q4kp+rkue - =eXCq + hF4DerEtaFuTeewSAQdAZNStGBxNBJJT5PPgxu2HCj1aHvOtDTil2ugNKOd2qE4w + bFqjKTtECnvKaKTUa3mg/qYAAMjh2S7uZDvltwartVzZn4dHa4r8n9vWI9Bc8AJ2 + 0l4BcDk7SfYVYJT9Efcw3aDgj5LFHzH4neQaxQYjormlWSEKaNWnxiyOEQnsjtGm + awIy/HIWdvcNezO2SgRrYAFW1oJknFCEBJYtRVcHH4JOV3VdpxIOj8oVkVbvj9Q4 + =a0wz -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2025-10-13T23:43:50Z" + - created_at: "2025-10-14T23:47:05Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fARAAiG57bEoJewA47OYe2GwraqV7ro2x8lzXAW/XSTDcDzyN - LIFpNM30gzTbDKX0EyHAMuzgseNHlxb9SkMtginA0NrfbMIwo/vxQCjosUv2i1S0 - 3SxzTsPXaj4yBfRyOvRnKnQfiLkUevNlAQI+rnoJvdVDcpXM769otiQQaMaa8sBG - +A+D3m74W6WHf2TIdpFZVVnp3sIJ1FFRO5Y1xsyjXSybYTzX8duofaquTN/ZNztB - VBEtHLJtvVKaLmimo40ae+Frg/R8oi8I2owaO/S6V9n4pU27S9vC1IyuyuazMyTC - 6d6rWtyA78sg8j1ru6tmuI04z14hx4UTg3sZFjXT7kM9Lv/57ZyU2ncPR7qokehT - 5mQuTMlk58D+/svJK5aiAQbrP1xDarnCovtFelewOZWCjUF90PC1HuqKLuytr4HR - YWqXPkENhfAaVDUsAkKnY51OcrsLvntxg67nQmmxL3NmaYaf9mXEwuxnCgF1IMvP - Uvw9cQbdVkEdNxR8G/eN53898gcTXnFbaFGIZ1NKvPc1yBWai6Lpx+NQoJuyVE6V - JrT8vzbIHFxEzB/+3zl0/xI59gIPYciswrKpqiMrtR+oAOPxooV196vAYOdJuEZm - 2xSzBp0C2YdQKJnJUlzM9brD1rPp40GPionJZPiV2oNBYxL0Z1aZFiKw2gNgwz/S - XgHdzUJ1PJam3o78wjrwl/zB0qwdkvOpSOrubvJFk83z2c6S6I7HWqHDsOUBjU22 - yf8jKG6Qt5d1I35kYckRyCj8/fnly+70UlN+OjSYAkrvsKpECMvjzSC3ZeyuhOU= - =6R7D + hQIMAxjNhCKPP69fAQ/+PesL/q6u1ukjsl2LuFcoZdbOPpRXa/0qMbGLvAlisBxd + eeVwJvQ00zBUbxVPIb6N9LXABppZF92p1CaPL7MQD5xz66LvmUsdeUvz/hiJSzcF + qWi54fAaudRB9rVcwQNR5Mnfc6aiD/6cLMHy+SAH93GDCbYsnvW1ZuTzSlJ4tbFo + QzYgVVN1f5TPPdLCU0iyTKA8clbXsA6q/4w3Lz4kWFDUK2/dWyKc+aX+gmmt16MS + JQt3xWzKWU1/91rtbICcrzgjQdZ/CUrLjlVeHH+wrKEiPRbwLkNFcFYE7Oq6K4He + zx4WYb4sVnM1g2yKRUzIw4eI4dhtR/UZXjANWAKGN6XK8tw2IWBlkCCLKGPX/Pa/ + qETONMh9QWTKCIuroXgwzVk5NGavvAmKFdoBYgmHiMIN9+w5GC2tXW9QU6mm4C6j + qTwQSGlX8POMwFt1VR/MM/OZjZ11rWOtAPd9cr21Pm2Bh3TNf33eGdFIzkYlHlb8 + FN84d0zDCplIZ93S6u62+kL6qrgMZ9xv/ZRnxG0oU0L/nYXyqCMbTsx3N2gP8edm + yPcN6rZHZ4reTv6reLrMnR/bDLfweGDGV+KJhhg07+YN0OcDBlkZSyVoHKZp+yj7 + kfbC9p0ImOsMtoDa2W+bcKEfqNlTCz2X61mfJb7WL2X4Kfaa0Mm1v9Urr4a1/R7S + XgEf3KT+SZGW3nCV/S+ofs4JNjKFWB1N1NmqVh53eP8CCBUujt0Z7Ff3iZKVu+1E + 41UshGR6/0E6IHNrAS0DeQ0QyqnoNCTMMhxJhLoDP2jbqiDRqaDwORYeBtiakdA= + =8tLh -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2025-10-13T23:43:50Z" + - created_at: "2025-10-14T23:47:05Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//Zo1bsLgKMrjB3/3VRXyXTo+plRyd5hYzmKc3ecC7XAYb - coo+ct73coyF47hsnLUlyVucNRKdBql0V48mPqpWZAGZIVDVSVeX5laWeKmXeCdz - RiFBTTwBv1jasDQA87rMRPc+XbX5Jb0GCmHLF6RdiCksYIC564BqLwgxCvGCResZ - mHLek07gJpFiYa1Yvjds6kn3+s9jP6kTwbbCBziz8pmifuasqlYb/ZRZPTgO+yGh - vuanXnhFiJZQoY7kCpwOEbjZYTtmt0buqyUsY9wWmwyM8T7tIdq0BsOCSGxr7nQP - KLb0JJ15aQKLeZBQbuLOM6Z4fkcn5mdfsJ/UTackq50OSmUya6cYC3LergvLXf0n - IiyS/+RUzVJ8qlhRBAMvy1Aifmbb60px32TXSD8T6tyed4KxeAuGblDyNVJm2Rdy - Li8/VpX9ZnSxf9SQemw7mi7iyIXiCU0Vl/A2/LEIMN4Hb+0AFKEbN1zZRGSC4vFh - 0JMaiGl4TSTV4NBHRhaKGZvWnWbtR754V6BzgHMdsL5NHo2pgMQ1cwyMPDBAECDw - K+z0pNuIksZTlb08PHsQX/PXvO20QFR210Kd3ObMtBxcEOdi6Wk8g+udVzBCY1WK - m10LA3ocg2VupzO7cAfO6/DfjXcs6QGD3gtJ8LRt+CFTLgi4m3M1KIZJF7FlTqPS - XgEmne9JRZGPY+vblzx2RH8nEfLIsEBnZYMa8eUFC6dYZkK82i8xI9i4lBtyXUBN - f6oQZ5dz69AvJRkdDu8/iVMHtwRXcGYuvn0v2+qJooHuDoAwujk+VFNtzRDJhkM= - =sVQm + hQIMA1Hthzn+T1OoARAAtagPOwKr4RoduzsTmTM0OgRepk5RUsv4k3z8knuF00aJ + VTBcmu/cKlk7P320visRXcoluAV+KaN07cOjWSRaPuBI4cpxMSSUBsIPUZ5pPe2h + RN7Hgyqq7Z8KCuwUDy9VpgJOZXSjDQqlV5DRZUlAABd5D+xGHLE6GwHxlyqUnKDb + 9jxg3KwJOOMqzHHzkqxepI2m5rWKerkC+7b4nvxyiiwcD0k4Y8FipX9+mnrxrnm/ + ypsapV4h6cCuCcN6IG51YL5Vn6cC3rce+fBh/qU8b187gRHJIBBVPsBQPZ/rwQ+r + xb7CSJSF2RFzvg8jh9etDnKSi1SQ3pvnSNOqdc5skjTiVrgWSuY90AFG7nN4F5dk + 3Nazh+wkzNfali00LjCyvO15/U7O3qoRvsNRsLn4t4nTC70yucKAC743CNKby0Vv + +K/ilMD0WlPO/7M28cc4AMnFkY4mqSC8/HuSwDWWdHWAUkNecg1QUvMDTAPp5rAP + JPL7U5qCqVge0CyyVOItNgDdevYIDFx28XktLre1pztN2NCqgLO4GMlKKj3n8QtM + 6ur/DmprRlDz9s+QiDIpwwEeWD3cTC1LHUSxC+ljcZIMmhP60ZcR3CmVJyuKgOYR + xsyCBVY4QsRyUmHJeUqCYUS1afkorNCPd0ZLTkeuQBBUHh96Nv9iAdSI1KaOlTPS + XgG15kimBrkVlbCw52TmYaAOr/5igBm2N0mhfIVSGaaBP8oZKXl4wGk5WdSYcife + tosGufXQquEMRF1v+bKCqIX4jCSMPmsXUy2//WGIks0ZgCAx3hiT9l6KP4fLJbY= + =xLhG -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2025-10-13T23:43:50Z" + - created_at: "2025-10-14T23:47:05Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqARAAgWks85bShgeHgNHxjIjRJ4/ytYdHjxj2haIjNABOHjsE - 4HD1bxq2XcH492qsHzCjvGJn4x57H/CnUJOp5TacAt/CyR+rgr5ChuA8pecJaUju - mUenre4zHhu3P8bS8q/Qs9J3WdyVdm0+wE9RTfq2ZoRCFA+d4M7VWg9Dw56UM3i6 - 27Xtkmog5olITjtzWtF/Uuf0dr9sTxSwHVqddUbzoQs/vtCKyUTUEtz46oBXQtC1 - +jKu1Xgj4rbaajEOviQf0DQ6zDkB7ETtuOCDhnQDFG+Yw27mBZ7jAT8l1ykEuMl7 - 897x9RNOOitTYkqKjylEeSMcUUyQrOuLLhuBSnC7/vroZEgNc2Wtj4M7Sq8tVMUm - psSZ9lYVbKNH8JuAVZj3YHhexPVQLuHcnHgG2tdUZ97PB6+yI5pos36ItjkGtM3+ - 5jMCPLAKgrlpAMc4xZmktkXZV4BkrCvN2E5h7HXnsKjQaCsKsn7rD33LNIx/XB25 - 5vDZjxfGHwQrkuq/xTTwhRO1F/S2OK+JBygHcrcdZKMDhMDTYYxf2bwgW2BdLqxZ - DoenMkq5fredvkB5qpoJEM3iXcy+49SNsBBTRWQXoWl0tFAfU5+y9ez8qBw9QY2r - q22UFl3JAR6jEyLpH1pUL3LD3lCop8ZqZdo+7Id4gnNHDbt6njQwSAsSGGDbylXS - XgGronOVF9eWA0dPz7CW1j55MrgbCXAvIPVSMJ2tgxN00u3TkYc1aHhXe644ZLF7 - guNFppFmxmJXVngfWoQhcXxLRJx/dXukIt5TvRCia9ngpNR6EIhL8y6ROlWHpf4= - =aYRJ + hQIMA46L6MuPqfJqARAAu1SiKGpoufIEENN//UBWWKMXxX6gHzIXVbGhOrcK9Ivg + 9mcLiRNX7Bxlfeuk7Plb8iMxC7GMT8KcSKP7d5cK790mDJC1BraL0CMtdPzbWygk + N3/wQiCzZRCWapdRPjQbYb9jpWAKMdkED38dIb3k3MCkx/OmVqaB5saH8DOG68u4 + tbMsVgzmXfPFBj2BdPwTYHwhclZqzPyBkgNgN6DW/QYiChdDC/9LZso7pXa2drkv + KNrVdc1iHiLNd6pzaxH5gOYYjQeETh17ohQO9oNsq77W+hGlXnyvggxDhcgtJEPH + F2qSsBDVxWEGlhWPhLwrbGTGKwT0SSUWtPfofSnNVmcxEzIDN6sC71ZN/VcIdovu + C/KsbrOXiF4NeOvs+FNXWA3RbvsNzCj/mkb/vGnB06fkkjh2lmpmbMbxkITan8Y5 + D09ByKpoVik9gHVHG4QOTXsRc5PIG+XIaByiRJt9ZEldQ2pvdZro2MlZKmsTf7cP + 1zoN9B2NJ3J49hxGQW6y0tXlLpM4XJeR/adNFv8TE+KlWXYpiTfxyMi58vanRfgn + t3eBnP5Sa79kfynS0LsKla8yNUEIQTgQd+PvbhMCZkv4ufpgSJCaJtsB9hdJxgQo + 1qScxKWzXdwiuDd9b2RfPGyTvTNsuD+UiStFqQhAjklKMsYppfzmL/imdRVZBmXS + XgHG3X/F9Tx/8IVCgC1VQZt1+UFSCnVH8IDiYW6vDWPTkOd8XTgi2+2uAQ6+cFxj + 2pdqjT5yNaUbH5HuzIMTnnD1zcDeFbO/4aF1IabZrObckoHxBhMHoQhf5JF1Xwo= + =KD3t -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2025-10-13T23:43:50Z" + - created_at: "2025-10-14T23:47:05Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAdw3qzfTgQK3KfmJ/Uatv1fbVqQvR4xTHLssc8Sg9N10w - cDMYAvx9mKVWXwzT7NiZc66a6/juktGAIdbEwXCz2tVAp7rclaiNNUc7G/WXqUMx - 0l4BWPcWxzXmDmZkZzaFRioScTXg/yE2ncbUuouKq3gKZrNErPCD/RG8MMkve9XI - iBOtNwicXX7l3TH8m/7eOSa9sLJH8mUafvVGWG5Ri2HvbU/EpctFi9YrrQCR8mgj - =z8g+ + hF4DQrf1tCqiJxoSAQdAyfl010jUvS0NNIlmb+nQWlno0hDFgA+rM0xHYDoqDRcw + NtV7r5Hyi+pXstMoMwgQj5CVP+Mg4xTUfNgDftYp7ov46KjuA8ARlN3/ZLg+qmXO + 0l4BkVlcHhpLW2qnb5MflqOId4ztTiQ/nq7nmsUHEi1IjeFVpWhGdqDVn/QcxLm3 + taYiuziEYqOl6j7ns2DN41nja0NeXpkVXIlwJZIQNPkgScfSGZH/Dx5gy4Ucf0Xt + =r66u -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2025-10-13T23:43:50Z" + - created_at: "2025-10-14T23:47:05Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAKEVSFnlcT9WYIhkmOZkLkvwnJcCl4t70AHVvsDzZJ2Ew - Zb1JCI2E5xyeUB61GyAdsTPBCF55bXr5SD2UojCw91QcJ5EgRdZM4lyRpbG4lGud - 0lgBB0VHoP2DKeJI7TltIFsn/5A4vykzGFjM3aK7O4Hs631Mz0qCeEO0hL0psAnw - 0HcmzOKWKTC00BkZIf4I4CovFte6t29Q8BGR1SlPIlf5rrRRl3UshEHo - =6vZf + hF4DzAGzViGx4qcSAQdAu3dirrC2PUN9uztpg4T4o1nCk1/dhWmldkPRzQrvGnQw + nCJV1QcuVri03+WHukCVPRvyAU5NGeyDaTXoTnTTyuakPn1gNuvjG9HxzRY5yI9w + 0lgB88RjnO00sWFRBysmr/CJMZ6tZlXMlSo+R+ahP9f6kO1qTQT0POgZ9Kp/nzSs + 9Py1Kv38NLbKWh7rDW5Eou5627W/wY/LGVAPuYoQslUC39NcP3Mp4wK0 + =XhtJ -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2025-10-13T23:43:50Z" + - created_at: "2025-10-14T23:47:05Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//QZt4gKKhw1mV9eMCfD2jKSBsanAiAVObv4Qr+D0DyDe2 - lkVaZ9A6l2+jUmcFG7l0FumcsWqbz/GR63m9GbXAQHrIXkT1MtR4LwAK3DWrbuTj - D2qWYwrKYs/Pu72aqqwacWRQxy80eY7tvtaFjXYNso/VIRRqwqKQWwTIYePce34I - E/goG0Dr/bVqTNnPMVoeK2N/JL/n4sMR54tEYzkEhveFCO7SyHaGxpr98vJFioF2 - 9z+inw3lKY3B4QsKsQzKSmNfs2QB4mMqJ+TBDKG3VdwaudFROtJ79wO6+ahzDsoj - 1ct3YbsS8wZUReGxHE6EYHqYg05djr+DjsOvNbX/J5RQK7iFLFfIxx+9ep8/W63C - JNnnq4UmZuolPEDEJsQgv2NOppC++amAxHpSKl9s2s9jy3JrlNKWLov9WOHsihVn - ZTs7Os/UKQ3r3cq94Xa3UJ7xNWI2qMwxw/pRD9Yy5IN8ZJjtcbtO6paaNWxJkNV0 - o3n8UM1Sf3ddauj5GG0BdPZR+NA82bSSjpm+Vnsd5QGwNdWa6NOMW4K5HKj56/xB - 1kjta3TimXnGVGYzt8KTAmkdhChU0LeM3MBvF8/IVuHOyYkf4sN8Mfqoy7YFca4Z - UVw/rvMYRgy4ORMsIDg/ucDoPsF/oPnionQIXmY5GMVsV0VzYuWVP9Mt48+W8InS - XgH7xkrrQno8PqHaPc5C11eJFBxw/p92vp4Y0BwBQzcmt6sfO/kLFYO6FdQ9EQIX - 7ncs9anVdF8Hcy44N+6u0eA1GY5IulkHbsulvW2xek7wT4IqWC6tMwVrWrpq35Q= - =qx+H + hQIMA2pVdGTIrZI+ARAAx8hDxI7flXui9s92kfHGwkPSG8TVszI/IU8hP+PrH6RG + XVkK5WJWDj0ioj9/UO2OVtvWHZEy9QEvaxygUthtHkY+JcaT/XA+1hiDe4DpPDjY + ZbHqVNOjd7zlDrlQGreS4LAmgMmTRYMrQA2ZEbU4tKNDQTsKSnA3ranZPnIhWqZz + 7FRjoh7qYvZGaX066PAtJVAF94we+O4QAb6557NrC/FsM5nk9SGAA0l0iuLaDX0i + 3hTFIq5IhnEOh5dSr0e70LbcaMTLfC3UGhzE7Wd0GRNCvbtWpwqzbcjXFoCoe0iC + OGVFpvdFXZoQ0LuLumM2SfcsqsW9qY4kt2ojY/C4RhVFFsOcSuWakCZ/6edj9ZvQ + N23dywlG9pRc8lnhD2/LDluh/wDKfoq2G0RMFnBK5GvnagaW/IGhOOfvICZo/Ymo + /GGmG4j+10U/dwM3aqUXsL0Af2e1QoSXovbFTY7T0E7Jto/hgPBpPb+dcA0Kg64i + EEVC5Xuwrdi7vwfSutfFxfIozXzq31bowkX/Kkf7dWn+tWIvh+HBJmQYEX6/dQHH + TXV8Q2NNPzDAZQGZ4i9LymIyRU1URTzN0SNt/ZiE/TAhFyn4QabCXjEtBCRQICDL + e2DsA4shE7zSsRIvUZu69JjRCHtRCebkzkAHe7nN7GRep81In4jZy1WLsqgID5PS + XgGUCgmVw/hdImEckcxZynJQuHnN+2Thk9vfhGimF3SbN1vGN2/Qrq274C7/JPmJ + vMZ3tCVEKH9H8UheUDKsQFSv4PhUVDndnNaohf4I7C+vNGNxk4DBGTW4DvktBSI= + =/HKu -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/cloud.sops.yaml b/inventories/chaosknoten/host_vars/cloud.sops.yaml index a74d6f7..a05d7ef 100644 --- a/inventories/chaosknoten/host_vars/cloud.sops.yaml +++ b/inventories/chaosknoten/host_vars/cloud.sops.yaml @@ -1,202 +1,213 @@ nextcloud__admin_password: ENC[AES256_GCM,data:R+6uuaDeQWSgtV1Cp7YWZvF8LYOIhoz1K7WVKerm67NLbLRpD9191DyQH13v7ZQPvIce3JzyrWqoyQigJQIQqA==,iv:chVGvTY1Ge4OwrVbFkU5IMd0aac5HqslddQEdY8F4Es=,tag:slmFXStGVf6eJdPFplqKjg==,type:str] nextcloud__postgres_password: ENC[AES256_GCM,data:GIWhmhiDkOC6mQAqNe8aKQ2TpTTYQJ44jn+P1hnpAxstAWLUTJZdxE2DHdjhZ9tV6kyTb/GXANn1UtgFzxczbw==,iv:lhJAZF4mJ09jVa5DxtVTfMe5FqfjpQojrI15kYuXI6o=,tag:LvzpBXbBQtNvEnCDNphUqA==,type:str] secret__nextcloud_smtp_password: ENC[AES256_GCM,data:9UI+hMDQqM6Ui02fpdscXj5Q+XfN3t/g1MUX4blqd/egoLBtq8R6YpdK8wf6heqXUck6VVDgDLFnpfQzy0cqzg==,iv:dkTN/pj0YhLqEw6Sp252bKmnA1RaF9wfoDE7naGN8Ao=,tag:1Bg/ZoCITh7S9Ps617DKTg==,type:str] +ansible_pull__age_private_key: ENC[AES256_GCM,data:vVTf/4AGnFFWK9W3g5RMeTanmvLmz5NJc3fKZmdm+jALM+sINWbWMXqHj8brb1i27WSotn1bC4RdN9HVvDlhXQClbiYa05yESkA=,iv:PtoBDeh4yxOOHnzK6uEWiqx9ZUCPAkxOhNwcfnRxjm0=,tag:8zoMw+HtxyzqSS5/E6uOgg==,type:str] sops: - lastmodified: "2025-05-04T14:15:59Z" - mac: ENC[AES256_GCM,data:iJcBQZ2Mpa83/bR1BcTPh5PGrsjtyQjtAwr0y/bjOXrpMjoCiE8nHl2vdfZIxGYU+v40nkgYhXS6wCIlBZgO/QgvXwVT3Qm42i4GSx93N+jV8j+iB0a1kPJ/yHAPHD0zvWF6qlNSAeFWPbifLMXHLjijZDud5LxdW2KfJ00JCuA=,iv:BTUVSDYfKJI18GZhiUC/pJ+Gbuzfk3GrJadlOapw5qk=,tag:f15zFqye7O+L1lTp0Z/8jg==,type:str] + age: + - recipient: age1gdfhx5hy829uqkw4nwjwlpvl7zqvljguzsnjv0dpwz5q5u7dtf6s90wndt + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBpL1lWRStKNE96SlFhNXNj + OS9pTnc0TEhMNi9EVi94YXYrOEJMTkZMbTFZClMwc212dUFaTmV2TFMzZzBFWjIy + L2FvUGxnc1JaNUZzT1dtL0ovNXVWNjgKLS0tIEJJNjRDR0JSQ1Z4Y3oxSWNrT0Rm + cVBHL0h1ZTBsNlNJcGV4MUlDM2s2RkUKi/PK5BgQoOhdi7TpXDEdWVpFDxvwrp0t + Xw7FgNhb0tWFWIUIsYbnjw8h6cnAAwpxjpXDNniXkNNFJRJ94Blgxg== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2025-10-14T23:34:26Z" + mac: ENC[AES256_GCM,data:wPkDg2j5sKQqpgXGzJmXLiNbko18FUWKbNoVIWoyj+rtBUiWkBVRBKwvYgt94PIRPoDKumJlsuer+BpQKjCDjVc60lxFFcd2saiiGQg1B/9VrHh0iPD28uNayo9fDxBIYmcx7EZl/CoOAIQ+eRFJ8opQe7SsQLFnxt7WAKbYWt4=,iv:1LhnLySBQa7dNPR3VIelxLRLHip/rtiMOzlX87kJ/1Q=,tag:BpowDN/ZSaeUOldf+FWaNg==,type:str] pgp: - - created_at: "2025-10-13T20:10:53Z" + - created_at: "2025-10-14T23:47:02Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/+PY8+7GETf0WcH1rsbXJ/IJWPCVTxGk8c+ivcgBm6hN7X - ZwE0V+3smhB4kHC+EJ2R3rV3URB1LySrOt8NCVrcH77+GfWIorpcQ2cJpLHpVvd7 - krAyGaG/FpEcLUnLGM/qrfSiStrqaQwAIie+ogl3vls6ZPtDjgdvwclWjCfngesM - nBZhimzXCF65NIqspw+WsfdPWVCoHdSGPFV0uXy3yOa3mE8QAchElnnwYDtjB6Vh - YA0aX/MNDjq3vxrLnH//TSZXJobzgu9ecu6AaR4ZYDuuvIyXc0wajzYyH/js7sxC - 2xjyBrKk+EeojpDH+jcZ+kMTYjJmoxmXUzznQKRW7zYN3pwhTy8bZu57EdKQyabr - SMddY3+DRPEe9gMqbbbaNUn3XdbWCTHCaolmvp+n1g7+u2oIH/oRa0aIe46l5CJH - qEYsPdP60XZ4KJZZMfSejnAwkksWnHJu748PF2IqikSHiHW23nrw2wiL475SAbCx - t3kA9lqUwJHqxc5j8l9mbHF4TlvZV/nEnibQmBqto9IihMCLXwfXfgmRd6eIfJAL - l0feN4c0xeVtl+ulCJoS/MtDbWK5zPnIg0Jtp/q5FPmEBs0T02tX/Hi/rtwH+70c - N/wqCi6UI6HYfR4eZlzIrrnebK0EfZZhvglO8tuOzLFCyrrfIHMHFBlKrB1RiajS - XgHSr48HW2688nsdoaOQ6h1nVAfCSs2dDzvkg6ODfRi8jOsCEYdFOI/4aY+ImKg3 - vBp7LaHOAPsmRHd2mpychyWnzbLakl2qoM2cwZR2hqbQyl68loRtOT+9qtK82vw= - =S5Ao + hQIMAxK/JaB2/SdtARAAlT+0pZifDkjCvoIJ1mMxZoNCxn5PuCypg/grqzn0zPXI + KrF2r4y5pQgZTVqqlmZwlZ4IfBgaAlnmjqpD/WZ6qOTcxt1+DS/w0222tdRGJfKH + t0LgKRQqD96E8Gb8z4CfqnSj40HYuQF9xjrKbvjFemDJ9OmB8a2YXUe9tAE2Q2jm + gjD52gR6645KiTF6keUfQbu5/8WbPjlHldfxRBaLtZ3g/y6SsET6tKzKDtUuyzCP + 7B1KlTpCWjEiyyUlBxozVeEJNRIFqjDmVn8kPO1mfLDkJXtxSZJQEz9y2OxeEAb/ + VVTNTGxbNn2OilUgCfPH/hytOqsQWix4Y9+ObdrzKGtrHGxAn7/9B4wW/mWdAjU/ + jOURc22DKSBJ6pmveX/8MrV1AA/bLMBwtBauJlIGoCCDrOXL4ZeOdgteaVwQon24 + 9pS5PYjftIV1/smIg7nndXnmG2eLwMfNqmhp5klBzsrlCLlcEWnvu4d2trSIdCdp + zusU9QT109lab6mhspckZSyneNpansXU5ZMN9uB44z6g4uWC6rkMlo3AtTjlDk+z + SO9TWT5dCEvMPiLy6YyRTE2GbsLEKVb8rtoe5yNDpoxbV1AVno3zc+nIZNkOtR9+ + bHnMGtau1zXVGhPiVQldhRuW0MMvD9GTFIUj8/0sDVsQoc5pAIBaKrWorMn2wPPS + XgHjqMwzlRMEU7RPTDkVrp5IquZJpTkqx1WlkNYi/uCcsPscLHQ2MSH8f2+n5isv + eUTiotRZ93tRaNJXjRauCEwONZA7LDTa2ESuRY3+MBvNr5JrZvcTMV6VfJBredo= + =o6S7 -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2025-10-13T20:10:53Z" + - created_at: "2025-10-14T23:47:02Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA6EyPtWBEI+2ARAAt8BODeKoqbfIwq0XiauI06ez8SR+ycZVyscg8VQKs4Qj - shCzJkhdA3wS/0JhqF2pAtPHDpkQzrJcZZcetv5h7qfL7QQi13rv+Uz+a5R+Me50 - 2u3HCNQRKF9P9my67gQI32t9Z5UGCE6v6xZHlbETPFXfBq+PJzVi01i9rM5ovfMx - cWS01rn/2x91BW/q8LQ/LD+B7ygMcUsc3ot70gRQIF4AGhzYjOpWApg+2XhhSBr4 - rBA2fG1SqYWus1k/2iODDF0CtoeqHykVOeSfeO3Xb7qP3Sjc/Qz7HGvabBy+BOPz - H1kDbQRFCILBYaeV5SrwkAiMZmrcUDJ5UnYQ6ZhzKro+YaS8d4M5psx8+1vbygsl - xFBGljRKPAR8HkhG8KvLfXs1URQzBu2QgKsjtADsF0avvHKHzZ939pHhYFcPVGmB - 33vf+rPMJwl2g2pDPfXgqevwNlfm7M8bsy5bT8Ugu33E2hCH4Lun4qnFVkqM5Ea3 - 4yk9WVMXxS5kyUflGhvV1Nz2bw0Oyquw1y++odvRfCEha85ksge0sgQ2FimDR04I - ZAgyGdX0Q8gW9ufQLjGa7ewivoACsStf4Zo8/n5PpC7Nv7Z87ysLnZWkin46ey+F - vruU4ewcbKV6JEgxgPgRDBLmzuXhI8qccWOdRz0gECk+/x8MXNKLRqO0XJAhyuDS - XgGGoT0loFbWp85Pg6j6ahDDmfHEUzrA1hV42bicbE30eKinISX4Gzv6j6wCnEpb - A3pe+pvnT3V0o8M0dX5CiIXrcIGjurE5+h+2JPreYiM6Rvv5HKi7Uhoq8ICFQ4o= - =hSIx + hQIMA6EyPtWBEI+2AQ//WOz287F2AbbXuxxvbB63N6BuReZdVAEdWeI6uSLa1zZS + 6+PQuQD8OrzC+IT412w+gNgsz9ZP6pQ/o+cNT7htlsoZgICE3TU6mAaN1UA4Eywn + KuqQj/hyWKVrR4Q6dniFFWWRQORl7OZrkDhG/ybeB8G8Vyi1j1a+jZp41Sen5Y2x + NCLLs5dbxXMEjpcLUogGBLJc/cW6/7O+WPxkoNIKXSKcAiXzB8DocJc9oiUuKywJ + Q2JCR7KdSf+Io+88Tcy8sd98bPZeaAJiIDsDSQ1A7GtpwIAaM5snwb1WBnaG7iuO + Hmt9SthCqaExYZGYbyN/aJoj3KB8hvTyyaUvrL7PQv5P+Jh7MDqfVcBbKuAaGBSa + 0XnrlEDVG9ZcfjQYS1LmHlb+gc0p0vn9nF4mytbewmvJZ+igUEPwMay9VS3esSeR + 9mBtNW1kO46rRJfb1v2Sx+zdl0SNGbFDrR5y+mXPpYAxhdsh9+BUom4zv5nl1kOU + YcEf2XLLt4zUvIyrhzLTbZrJOGzhIFp/KWsSMNK1Ay4acH0Y3wZrK50o5Ni6P+t/ + ENxEcAoqncnGsJ7ZR+BTFcSu9y8vPbDYnG39vDS8JNho8g8goAHwNrV1c3xB78TG + pM0i+1PLmwIzyeh8ftrB8NCyC2NyHpq+xoOsqozfdDQIhHasTQbc8KOAHzk8XoPS + XgH5pBsffUhYoibrMQ6RhweWhUhqQA7B3jLAObGe7hHzHirZdoYlTdslZ8viwzJn + tT9dJmQPdaTJmE/iLXdho79kSNc/CkKkNVLCydLiGYq/w0Apw4CU3yabHKxV3x8= + =OcNV -----END PGP MESSAGE----- fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC - - created_at: "2025-10-13T20:10:53Z" + - created_at: "2025-10-14T23:47:02Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ/6A+OOQLzV5xTWZMxPir0Ue04LG3mzhmHjVOmEoDA/NIx5 - 7Kc3InKN5a/S8HtjEHih5jFhXr3UPm2uik2PxGJp6FoleJrOEA43Rt80bL4kbS6K - BhSijFHBlIOxbJTC3AEsrC5okQqAFo18bJVtcljWupUTGnys3e5UXses+8O0bkOz - hKYH0Tfy+NpqoTMzV+V8O3GUNJ2dGVwdc996IMYwTcWpYchzXp+oAU3ScDmgYIeA - tc3L60M/zgRnj5IE+cjXwDqwkyaq4izI6dsRrr4ciFzoHlTD7lg9jA56qhDGAebt - cvj3ZlBnlSOimVG6PoOTZyjm9YGmm9eN+dm8iDVjigpcqo+KtL02MOSi/d9Gd+43 - 7P+hPALvnmvh6wcaSpUwWalUkFWF9iP5+OEpUfzTtm7rMUhqlVk+cUSBMhkbEzer - wt3bPm+L4mqZaoBnY6jM3DDYgZYZuUg3+nh91II6weTZAvem9gD6AZs2ONQaTHx0 - 0jjvw4veUeahfaM+OPDN5Qx0jG4xJEXp8m9iMgO/djeyXB+jNatfKI8i1UfNZzJj - 0KUHQtNTa6aeq6dQ/suTGj6jAqqMuBBj4eVrsVIXrgk07ae/1gcNTAjFgYRkKa+U - qo2MCR82rPwAgdaKBNxubYHOZ5N2eCjXS5B+b0tPppOSYVsH4TSnZdbBFM6aiUHS - XgEbekTD106zwR23pxF8NshsZQQLEG4voGOjPUxGCkXoQTr5ET3e70a0/WmepdDA - 2zdqv8uh/d7auM3qFKhKGKQRk0Fl8dWCbzBkQdHhfBQkYce18pps99s9cdR6VaY= - =JylG + hQIMAz5uSgHG2iMJAQ/+L3iTru+jy7PTC6+OvIxRarKgw8KyD9ankiMmD5eXkVf5 + 32w+NAWNvG0k54Kk7KKYVVHZedyy3jnFh1ENskDpkLFgtKstIkuCOrsVNl35sE6i + ZFyGWqhR/SAlZQBMuwf2oDswOF1KH+rs5Q+qdPa1o7bJYSlSLGymhaRiBbJcSVOq + do9Bb0s8laTWBV9GYwnXlcYYBpIaHahmxnb5ugHnIfCHRGnDoTUquCKoqo5Ws4bm + LU07fe06Db8C/spB1gjtRF8c26lNhx/JY0UABbV4ezW0gTjszgHCq8einY2nbfwh + mLq5cui6qrwZ09LclO2wB8ymAIy/FDNGTqnMaReBDB7ZLns44xeZOFCahcvk+DfR + PBqczaY2Qtzxn71NUOy42U8qgAOfDvz+K0vD+yqGhzQj8uK6eJ/cMYbx52Bc9AsP + 2OxYMF4+rBJ1KZIW1pLPjTSRrYMD8suqRPek6U4SBWY7SD1WUcHvNYA0+jUyJ8dN + 9NPrTxEbV0hs7xU9SbIIwcH511PzsdsyQiM6Y9v4y2AT/NYE0i+OiyOmgNVvaVEy + BbQOXL57rFZgEtWNtxjtZ6fRQ/D1JNHXSk3GfOFo92eFF8eAlpbg/ifLcpmfrRyB + aKJnSkOguUoocfsqcktxHwXt/Uj4XChJJb0eKzpS7CWrvAFrP6G8yqYLF/vaLDPS + XgF2wixNV6KXeBzp1D+JFDB/nUkGun1ISJFfXalqEzmIYUcq5V438vQaTdd95c2J + jlIWsu47i/a53R6a1q440+FdrDj8e18/7zxZakI8h2Gf82QooNjZJT0f6KI5KBw= + =gvTk -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2025-10-13T20:10:53Z" + - created_at: "2025-10-14T23:47:02Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ//YsTDRh92ztU8kyua+AcF3D5z4t9d+S3zqxTJQG0Xjjid - z5VAHo9kUTQdKZ7CV01m+yslTRcHkOiKoUQm86Af2cDBT+YhJm/DxRVV/E/7kzPA - rORX6uhKeZQQ/nXY6LXvaLIbCNCdC1OWwnd6O4EBOKfWXHziHQCXh4h3RZB748sa - JylL++9mxSkXwsTrrDuWhMlH6dRDF6wAkU9c7B4QbBFnFBMOZjvCMKcC35yrEIXn - 8/uU4bBDyj5PDa3JCfObbAZJgG1zdPBza+lcCz12L60b/5vdy1pGQ5Y7LnJlaWF2 - 4hBwKODwK/Ba4fXjNLrUJULexqg8iDT52ab1zEGii07REIiZJOmbBprGN1qW5BoG - YvZ+rOTE+SG5VwJKHYzPd2n1b+awFcyIb3n2sRtF7TEqthTo+3RwK81I4D444akc - da5NiS2y5BaH3UoRUpS2Rt2uMqbiyq/Ge7Fm3Gj2t3DcHdYjb8ry6HB4SYppRA5B - gGE7EwO4g2mf1ee2D9nicPRaMnba+JeU+y74m2MtAGsxyHWRFX2PuRJcMlTRXULm - nZTAcsr6w1MeMr31tOzOzNIFE+R5HbJ3iccvr1B8NRq//yOAerd8DSVpEQDtCEMZ - dFad+s2x/AMH56eofe4WCchk+x6v2/xnmeq02XFWwVjSt9UFTKt2NDdeDx6vJDLS - XgG8IPwF45ZHLsqrRzc/C9VDqv9h+s3oyPc/UsuSQYGZB3qw3qyXxGAzgIMI2ENO - GHKEDAGYxW0gDW7sFDS9r5I7d3/ulSox6+YPWHtIEIaPnDArKz6ILLG3cAAQjQU= - =/rbM + hQIMAw5vwmoEJHQ1ARAAvBkstXt9xfubAYuIUf1d1tplhrfcR+dfO/YvUIpjVuFY + l60z72dLLmRoZnpm/uTH4h+XRLATKnDj+pUsEbYazH1B+pxAG8UVamzUFy3ghNdZ + JzRxaYaRzyAytNTnQVHQedpsd0fgpcsOgyLafiQZDI6P3uUdiweMdkGe+s3yKmWS + 5pV3NTxeLl7rLIEf9F3AGXHCb50eqDpMUqFL9eMjQ2z4ETrJD+Nxo+KLi9rllqRy + 2YRq6k/Jfa1QDVagidSNg5U7EHEeUdM+95wIIuH/VPvojLuoAudUtlRAYW7D3Cd7 + ZS2El63g5EaPackd8D0WgTe2nZlf2fysnLEwf6Ay5XniaWO7/9VOs5j8clgja3gK + JHoRSB2itiuLR3kJ2eX2HEDWXFu8IaSAa/u2ccULQ0fumIosFD31PnCgzfxgUUX3 + 06QOsXyoeR0rnotM66SgSf2QiWWkQA7HY2uGLMGi8EBouBLzxKOBsJaFaerG+UGo + 1PLQq6LVofPUwJE9pskRMzprFRvNG4knu2hQo/QHVzNdLomvj5kETCLE5ma2SfQ0 + YWNOEs4m4qzaTH/Hm1ECPLpSDpYzeMQMI/m6CT3kJTtwNjt52Of4CTqYO7k6UtBL + c9vkpn+27ra42PHTyuTWK6ghWmlHfeqwvDpinCtnE8ZyQecPDyWaCCnKce6REa/S + XgE1UXBjvxLZfWJpjZBZ9lZj+AhS8lX1bKW3mv970pOZTfL3liq3rk5Sz6MyNEHQ + B/HrdWYhaSz5kme5aBTZmfCGs9eiF3dafnjHxzRhFyLNL/ZpBdDRGlGD1f7M2hU= + =C1fO -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2025-10-13T20:10:53Z" + - created_at: "2025-10-14T23:47:02Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAuA368PGHvZRM8X86voY5pG2xxIMfR1RzhruWL0aa5wow - VCI/bfIVsn+6jusdHZHGgpe97SxszO1sJ0WwNwHr7xm1v6LMGHAYW+VmlokVjGu8 - 0l4B0+KdFfsddFiGkMI1EWxM/9IZuQyo9JanzK4IxLD/VCw6QEihxnyzy8Z39TB0 - XYD3UrsNwBH07dNNiB3CHoZiI7TZZjV/9hTi/4hjh9tMbol58HbIydYe+/gsOEr5 - =fR/o + hF4DerEtaFuTeewSAQdAWdOyUxkvucIvDlcvo5jU09n/xyTaox76UpEkqi5+PC4w + PT3sTJK4LhwKTCDSOKz5yVKdS6vOvCBeXRmJTitlhOUWeKMAD1U7dL5XZElQ3xve + 0l4BrczY8LKy2hnGm7O1RYBaRE9gWh0n+octU09oBszuSamarrLUfzc+mdQ6oLIE + Ubz1oIAhjTgS624+693S1KHP7Y4Rr0DmISDy0+jYcnn3ekYBWfSgvw6d3islnPfh + =MSsP -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2025-10-13T20:10:53Z" + - created_at: "2025-10-14T23:47:02Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/+KDS2/uNgGlSIysNLRBWuTkUrF6hN/hOOjQO9Aw+ZnjJj - vEqG4eMaEB/KObRxA4h+ymYPXJcdybX44uI9/KH0AWqICT4XuekREyZX0rjvFirv - v2snZF78JsV/oDh8zzQNhgVMtgfMlQSF/+5R9RUFhKsuafe+ht0QmXDicKIjH1nY - MmrtXIHXsBWJfKj3Eijan1XCFa8FlApNTJsLIueUNd7rMwOht2Ugfldzfpjsr/qI - lbybq6sTfpszRhYyYXOhD9oxx4hOtiAAlEitiupuoB5YZQV3ulh7UC5o2JOfwEk8 - qiEDiL5qnf/KgHXlnH8sQoM6ePI98VyBQ5uAliObHfYDNSrZO8XMgFezRc/Wqk1Z - 2cCdk8mnEDra5HO6wZVWxGKpFC23tW5jVQC+Yv2mgDzkXKp6BHWjYuFOh3NJNEOX - AMS1/K63MmVud0Eqg+VgYwyFV7AbNSIbfR3VITc3YiHewbzE82WPQW3DUaw6XEKV - ezNI2cHf/m3HUvacTXrKpgKZk/g+6B3t1H3Hw9WhYyZLuyCSZ4kretn1knpf7m6X - uuIsjegZ7o5bX14kjiQ5l/fSRfJEzrifioEFXCUTF3iShseFUnhLwD0bHZGBD2/2 - OPc9PUcV9OLeIdUZWo4/My8Vt+8Mz/n9kVwI1Q8s/dgoEDBaC4fXKhJVsCcGqmrS - XgFh+/S/tJTtpJcsqTSE6CdR+r7ir7Rd1EmkqasWwttN1GENo2pjvU2Q7FLQsiR/ - vwUpEehtOwQY91SpUbQ+zr1gQhxxlLuf3ZarWKDGn0XFjSUh1p39dZx3n93s9vw= - =u++D + hQIMAxjNhCKPP69fAQ//RSsGf6CBDAm56VpXxAfcBM/Egg40IcIfNqRy7WuaHH3i + u6Zu2uB0/Xo0wJeqjFCQ/LbO6GNWLUSzEoLzpCxLjxUIuiv3TLGu7OiDP/QJ6igL + SXhF2KIDJiNdVug1yt6+zZWiB7VIGybfiYGb4mKz94RuefQFoFRWoT1j9g6W+tV+ + 1t+vW2XYAjaCUWq2mWiddfRohIqIMnUUK/sjfliqVO8hkBIxn4sefYl+OtYCcqsY + 9fCSZF3L8fmn7oC6Mnf/Nax/LFvvRsHYkljbrbuEymjhv/3o9KheNpB3nsbwEjm+ + K2rdM7panGgzuzWG7GxC2M/MO5T/tAZB+1nEdi23u4oJB/Qm7Fi3Oo0oxnqPCrkf + EsE9uHoYDXmCrEKGtuV6PYygKjiAQufYGyiAuqxbBX0AbmyQ8LYtZglXHfNwyUqZ + qQOjarS61PUh/iDOhNIwMp3BDwv6yrxReODB9sJ7AWbBQXqcg22yTxRMJqgWyONu + fFyWvzVhF36gdlQej4bHeafuPbL8idI2z9wdSCFrgjzEGV5GlNMvowmCjbbi4zsc + p4M4RmF4JSKODvziG7YoJr9hpmj2mpi5oQktDXFC5IjkYuHZVcDer6nOO4pKFTeJ + XPT7JwX2hPrFYY4woECXloK1FV4jBT4Gpa+QFh5Cki0KA5rarBDjzGyqT7ela2nS + XgGry9VQLN4gmbWS4nSeYUaJNRagx2VpcGE31XQOyM9sJ2yLM+J8fvXLvJQk7kdT + HSf/nYF0YJIE2H1s9pbYsGWnJnefSsFNrbwwrPU0cer+ZvhQ6todIPR2G5HQtcc= + =H1YM -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2025-10-13T20:10:53Z" + - created_at: "2025-10-14T23:47:02Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoARAArTbO3YHUA3a+++vC02evwcpJ5khFMzms4v38qqS3FYBP - D3LKYpgDdccneirenmL5uXdDqw9A0GF/wqNXHg2dz5zz45fARbJVRJSwPwIwx60W - U3rUt04Mpks2WWrithsrP9E7pIP4vJ6urvxFR7nkjm4UuCN9Q3QBvGvlrKolnPNw - GyyOnxh77mkPNVeHdSsVXOFW096FUEWbmZ3VowKIuskb5PHZE18KwsT2fq4Ef6xD - iEvlPafk2Vwtfjd/n7LfnCQfoCCxIJVAJ5zJbQCQhC3j5eRRE/Y8ncklvmFUusue - 2dtmQnaqoOgtcJbRP/UKhu+IvAmC+V5Wl9ZZfyD16/jFrY/v6uw9AHM3LP8cx4fk - 62mxZ9mF7GuGayGVy4tnEha/3+GzWUcANOQx0qy5jtDF7qdA73ElZII2U5XA+eiK - t3iMRcMeKLETaukRlV4/8x48ebPxZT5jG4W5C2bON8zYZVD1ekJq4bW4ZTG1a3Qz - VT/C1LAg2VGmESbkTl92kRafxyOuyS8cdNQaR3L8cljRrH2vts6eDqidxVHdkS37 - JLvqKe46UHLjNglZct0sMugoYk+7h5IwgZs1XJhFxbh33V3XghbmHTgx3i9tmIfw - +S0oGH921n5xwkEguUUPprdMZJHs+D81ouQLmgU3BwkfxSXqk7vMq7YGuxEYR9PS - XgEn2dMxdCwTOCdtWHySos2pgzMBlp4+N3DD2z96TMNhULawQMucCuhD4xMWEfzg - 9OOTH31yuFEEKX+WNGiMcfyuKE5J//5lnaSVUePMazdyP34eIKlLuLR6Xfh6BTE= - =cyds + hQIMA1Hthzn+T1OoAQ//QkbYp/jUkoLETqJmDtSv37Ygj1dtv/RCzXDdSYLoHlgC + LfbRlGBaewM6UIb+UQBV+D90h9/bCh2NBGJLWIEq4OWG7udNhKSCrxujYA3YoiJh + OX15U1rPhuUPKBO+ZO3rg2RcDtATSoLKUtfFRPLJv3HjtDju4FD1pF1D+IbOJv6j + /b/iygSNWBu3mTQhW08SiaRkNNe3BJ5u0wTCtgOiO1QTUgqF1oWuw2wEnSHVbhY6 + kFkSrvyca+PTIOP3cvBMS7ylyRwf+ePtJe1cBM3qAG1FIvFE9APuzz5Y9FER3yx/ + f2InZWsb2z2uU5/J0mEDVg2xy62MJkyw7yvRcQzknUwRRK173yq7ewrNzORBgNI5 + 7E2hbkyI1ILJTQVPltSYH1fL4TMlYKbaO//9kfZbVCCHv1RHjkRk07qEhGIKIUuY + x8RS6BWzJ+WswFDmmyfDu0MysHh21mLkK35cpbEgpHiVz6bOZ3ge+kRf+ckPyIxg + Ymw85apG1GCYfHL+UL3H19UoIWPWyux9ovgySwcPJCxfe5/2PtQc+sJBYiwOFzUF + OGkN/kbArwitnHBar1cDyHBfETSDS+bz09tXgbAhyPFTjWh1YcWAK6B2OWH+h667 + A0QvPZyurODo16P6+oMRef6QMwrWnRL+LOjWfakSCQmQJqNHwcCs016PMyQ+EHvS + XgHd4H9QN7vlRHI0T5jVSTD8c0EjA7/s0PSMNUxghizteSgj1o7RhtzObCRxkJlH + y6wxZ65A32++6cprIeEPkZHu25meM1At7bbZtjLqLQufbOFsgP1M1LxrkkJeoKo= + =b+Eb -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2025-10-13T20:10:53Z" + - created_at: "2025-10-14T23:47:02Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ//Y1DAY406FGCJJUil2U0g/jFYKnKO6itcrZ8VtAW4N/ed - O346a0Hm9UqEERbI31bkgJjT3AtgcpaUY55mWUJG8UUfHitHOhUflk6gmtUY6CrD - KI1NpWyWnC2JzPy6f9Hz6RY/MpBCEECySLdIIrkucy9GHA+Wc+Z8AKsAUcqGfhEW - OD71BH5MbA2JWSWteTnNZPngsRBYS2h8Mdfk86fHP0R2oRk2XppKV9BFSnH7JgFg - yzSPQkFrnfUcrq1sMZCLZBZSLMoQP1NI6fXMSuF7uMlKEgrSY/ajB+9anjs68/7x - q0WmxvlK/UFexZH5LumiXWnxtMsKxjNLVkud6Sq1CQy5xAHID7oQj4GP4m0fKcYx - 5rZbnoOCiTD2QL41G+Yf1gpz6J5o0DspnHIUW7+IGttp7PqjrTfz8HEctWFtaCp3 - 2L1z962594DzZiOKWCzp1bQxZSjId5HA+60OZNAIaRe7/s3dSPNao/H2MUObLBcU - zu6LekR2YdUrWamT0f+BqyFy44C5Phgiz70oNxqRXoeMOTxyV4IXO3o/G/hzlOMf - 1+sIvqVJlut2niuckyUwlVRxi9VqLt/E5IIR00nGQS0KSo/U6zpYaof3obTo9+Xt - ayBvmHHSMNN1W7IqG4VD8WedG8jbzVxMN2DLvK2E50GgwLefrjv1hgh793+1uxDS - XgH5uOcFGcZYejliXBsGFpL7umCil5EPJM40LAmQovjxAfaYMnV8sqN91z/++G+4 - mqnsX/u6INgQ2f59kage22fbdwg4raJohuV65qi1BnImDmW7FJ7TXcbQMCfM7Hk= - =Isfy + hQIMA46L6MuPqfJqAQ//Vngztt7hgbeSRSao3OupiUFCn/5VuvPHnj5gcMQ7VYXK + cinYGi6ay1WRhotR4qPhXR2WTpzKUKnzkKgHsIDMtWPW93Iy4/4J4g78AEnzqHux + AVQDFJdA77bm5tt1IjpvNlALazOTDrixd5AgRZ6nWknBUQcIG6z/Lf0h+71vxKmQ + nyEfqCIdQscVSmGQ1Dn/xrcVFvQdSwWV6WtzrPPHhUKs/kPCjyWa8iPnqp0oJfwp + sV53SLEvD8LwXMDW0qbLxUbSCZAJevqox8qINUfIR5+f+Lblc/V2v77JWpmMDwZf + P891B09awQfZGIUQxJ69zOGIfPbaTCBKaNX/CqU4iNa+QfmcGhum4rILtpC5rs3s + a6e1ZtaI7GvDngdU8BpIn8mKwqwwfqQXNgVjqQqEw6Plwx23eEV2iFuCzO3qgYfe + Kn1eckDQx6gsMY3JX0+8CJ0PjYRtZpZc0dBkvnkeTn97cWg2DSi6l+kHuijrkVc+ + fxqE/mKo7g9CRR0B8OqocWcsSY6UIgfSpVqoWmaXbyijw3F4ZzMzinrV3m7WrFVm + xpTVm0uZwZcceGvgfyg2gyxt69kSdWjsQom7HtwT7T5WuoSD/4g9VhGBDEgoolIQ + 1phNz9QhDIygwOfCbhC1N7wmZpzcnAm296BsvK/ciU9M0XuzustH2E5TUiK2/bPS + XgFB9Uu+yELkE50SKCwxjoedGPK1Piduqf/F/10bTIMUM6GgfqvaZ07DLozYAZx/ + rdITAdWbuUGphaW4kOCqSfvqZpWlch05ShzVP4+Th6nN5jLquSK/NBz3zpVqNq8= + =hxLS -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2025-10-13T20:10:53Z" + - created_at: "2025-10-14T23:47:02Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdA/V+CVyLW0oVHmPyCi/rNqxWveQ4J+nhQ8WyMhSaIJGMw - VQiJjRAhN5pI0TWZ4KN92KThvEFBWgelWWMYSnw+L9tnS96bHw0h591mSUqznR6F - 0l4BszYkX9VJXkzbq+aPQ9Z2K0JK9sjmj9PwC28r8bXJPGPRF7+e+rzCPUwW7R71 - CS33s11YMkhLB3vFQF4I5t9UCYIHB0Ss1VzhjvQXe5tmPmh7ZFxXQD6vtIkLMjz3 - =Bdmm + hF4DQrf1tCqiJxoSAQdAhHLSFJasBZzugQ1XdVpqklmn/52t38wKFGGlv0e7PSYw + tHejTV4qjCWS9VG08CvdkC6vobDvnznrsxY2vEp8S4jxgUg2T/WFRb+2BOLo04Za + 0l4ByKzgXT6aoUOSyOKwGq8LxwaAg+aypQbhLZ2kkUG5Yh+uiRrc3L8yeEtMCJOi + ZgwCBsfazyjLKjOu7nPXvE8DE6HWUk6N3tWkV30t7npVDWGC5qLMAqCz2iAOOKKN + =vSwS -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2025-10-13T20:10:53Z" + - created_at: "2025-10-14T23:47:02Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAZyOE9ALOzrU7lxSS7IfFvRL8m0WS6wzIEM2vBS5nh2Iw - vGJeTxv5ApScEZzSGFruuhKeZWmsa53feCDVaNxH5eumwTBeQrDRAXGZMuSI4Lv5 - 0lgBQ81YtDbZAH46HfG0AEGumO9V9hXwKu3XSW7MoqEqYmZwzB6qn2Y9yPQ/RNRv - yrEFfFJC7Gm0nA42tGPctFJHBnHP1L/a4Sy0g1RZAA2mUiarpsddVEli - =ey5I + hF4DzAGzViGx4qcSAQdA61+dY2/SgWbNcLmjrIW6etaqlWJMVfXvrwi9ob1uhiQw + lfQajGEA0AM3RM6Fjay6Tv8W+WmtSG6A8UmFzxxUqTot+g4wMHFkBfL5V/iYkLcT + 0lgB8aYR6hUKci5dyPmzHCoNkeISln1L7n1CRY99GxVd/kmVZcoHhsqVIlYXN/kM + L1QVYTsyjlBJEanqEwqo9K/TZsJClVg8dkudVrZeuG51+6x77X/Cx20X + =NK8G -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2025-10-13T20:10:53Z" + - created_at: "2025-10-14T23:47:02Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//ef30XL7zPLoHqwl9AHADBWi3cuWJCXzUazSnf5c7UxKO - B+jlwNWhKfLHJsv8JiFdHJ0szBKxVXTZgIPpNIEhT1NwWqYF3aUoMjWYH1jlmbjv - xB4OlGQeRUT+TQY6Ht7RZ0SLKlbN1N7MhzN4b9l0ZIdrXYhCYTHghieiHeSA616B - m+Y2bPil8y7kj3c8qO1fO/hRmUXj8s6rqwN1Umo0JoZmEl5l+/+EOGdAeT8SQMHe - JqbLHF1gQBPrrtsqy+mB/oY7QHm4axxsQtu26UXBcGFZI1Td8CNvdInAc/d5JBjV - Xk6SP7vBZaYR3r3x7yPxo9a43IE1w28Uu/KWcas7NwtGA83QoEltdLIJCgm7SyZg - 8RY6eYbX8vSWXOHqIBfdXtwpMng5c5Da28TpT4kqOXywTpFQ2Ku7034jwBZbwVAQ - wqvCSdOy/SrMT95wF5R2lv7dGKCvR4DaO5GIuYxHN/7o3Ehm3vmlXhDkFnWdz8DV - K8cBL+Y5aMYRaIWxuAbXD3y0v+bnMzqOO4XwVfo7yvuZ3wgjuI6sVpczI613c+FD - nRjizbXpU7hSfDnP0+3I/UcWb9Q7l+zkZGbfB3NcEOzgvhSL84AI9dzMH2GDdoqI - mcEfU2ljXlotkOqWfRRItDjOuOXHbvy6012kArnlY9QaoqaLNLWLB/QoerIB8h7S - XgFhIXJuz3zeWvjVZ4dCGx7lZtc1pvzvlWojokR66qU5oHRJ8hSTItof/KrOJdBe - u0M+fWCy/AN+3fWevbCl2RJuCS6033ZTpGVqShL3Zyd4wMgYVuRcg+s72gP5d9Y= - =FS4s + hQIMA2pVdGTIrZI+AQ/6AhM6ujRGEaRuvGu+kOCbbY8ODTY81tVCxOlC0KZ+8gAn + CnNYbgptlt/Vv0v5z7fSW2Z2NcG93He2ozonRHm1WesgCLtx5SnMHyH4oL7qd8JA + MryMFfdBXzLlAHLzscju2+nfGCXnALEC26oV+dIEuFKmTinm3o3Mj5oGaIf06aE9 + rqWqLkmDFtTYlJKdELsnzbsJNh2bdKfpuIolDs2EcKCtm4MzGvoN4Di1JwD2Neum + nGfH7p0LKTSjwyC6Vz07V+reWgQhfqv0pEkXzs83zHOpQjfiBpN4cbfTgSfEsoF9 + jVehh/nq1yr43HrlNF+tMZG2/BDOyaFxKf4erWHBNLK8zXoqLvh8ZSd9nsWT5R4P + 3Um1e0m5wjt99Nq1RvfEiUCqOWtrF48zCGjEWe1SfU9K0r2tR/lRX+VHYJj7Sym2 + Kk38jyZNN3oVLBCzYPb5Zsyp5UBkkwago9FswmyGeMMSLff8tIX/flm+g1l6MLK1 + hpwk5hsaA6YBEid9zHSBgpIkgFNOVb+IiQ+83NeQx3yIup//X4orqLSMYCRlwW0X + 6JgZK+j/tyzkNnVTw/gNZeKfJHAy5IEvU9ufZrFe5appmfugDSp5Ks2Wck91fItu + Di+GHnxpDdDQG2rTOic30jGips+hDm/LDLXQMoFhFQONqyFI58OkkMuI2Kg/KPLS + XgGn2cxeCQkcU8tm2Ut4rmq9l1qYfI8TAPKBRToiP8KrtfFLn2444fyNmnl+6VSG + KdeGSoGBFNsMFdsDG2tSvm31D6oK1bUITEq+nU6AEM+xSlMvTjcDz8SXaePed9Y= + =nLiV -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 unencrypted_suffix: _unencrypted - version: 3.9.4 + version: 3.10.2 diff --git a/inventories/chaosknoten/host_vars/eh22-wiki.sops.yaml b/inventories/chaosknoten/host_vars/eh22-wiki.sops.yaml new file mode 100644 index 0000000..373c08b --- /dev/null +++ b/inventories/chaosknoten/host_vars/eh22-wiki.sops.yaml @@ -0,0 +1,200 @@ +ansible_pull__age_private_key: ENC[AES256_GCM,data:9KqIeO+anvrbbw/3ixb0H/5IRjGYGrmYG44u7AoSNAKDSxPWImrUtbxRjd+mtTbUbj5hybTJ6T560LIhmz7oM7/fKyWKDHgGOFs=,iv:ONryhnxKe1fh6z+2OqPiYnZgCijRUTKtsEi1AuhE3Iw=,tag:lae+JSvB0TK0TYv7+kUPYQ==,type:str] +sops: + lastmodified: "2025-10-14T23:36:57Z" + mac: ENC[AES256_GCM,data:0UWzDg9rKldTtvBUTMu4sE7WpEJcCOSrdJtGg44H+3NMnkYdjFpwkUWCX7yB8gxkh0fNGpO6ofj85VJsOPpr43QLjsIQt8TvPRHAGsZh7UfEQLRTOkx9hF0qIOY7ZFnFL1LYMsU1kLb1/OUFcGnjMTCWrZzYhg1XZN2by3/paK4=,iv:cXaBdX81ZunvEKuahrblhJZS97pab0nd4uyD2u2/E+A=,tag:hc4W4PUBQA7yvs80aw8GsA==,type:str] + pgp: + - created_at: "2025-10-14T23:36:26Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxK/JaB2/SdtAQ//WEnnu5T88ksTT8TWM0kJAVqyav2UQmF1JW6VzvP3Cz0k + Eos0lqcdSx5AsNifovBbY4Sq76Fmpl183A733lIg94js/Uqu6ZRa4W627ACof3ga + QctgS1T93R+96ybHpUlrJIvGv0y4/lZZ9ajovMQ5obwOKhR01kAs2VKhZrSgZOL7 + bacQ1c+bjg2Sti5FBe7XItzwaA++f9JSGTd4cgka4vR7Lddi6mLB1LwUJCSe7w+G + /i/MWLNGbXhwhjUuT8E+4ReQvlu6Nh7yyT8DeeKc6L/usBpZsf6+pkrjyObi31ca + /oE/R5pEQyXJIVe8iPEhE3VuWdnUSMA8s6nEAhwD5s5N4/DfQHwjKyuPJG7mz9w0 + cLR/8aJw6x3gpXqr1SYiXAOrR2yj2rMnxGrwcolGOs1CoAa5/AWEfAiKdFsH8ShU + 3s0UPTouhTRKbj08O017T/dNIBCygViAM+kiuNGWhz1NcEZ3yYuovfOcuLK47/Oy + Lug6CwcLfcMNToRCfIrRZjnCQSROFBSYF1Ijse0ZQSKphWFaaVUijj/RdTdHncEc + YfgN/vEytxT+hSLJql5K9eQgP+CbJHmN7H8YTLxGEz/z7cXY3q2a9nguXKbKd8Zs + xu86aKncVo4dE2JIWEN24mBOl+t4rFbVENCA7PMu46hlAJ/ZquAOGxNTZBrlZjnS + XgHT0W2pr+BLzPWEMAEmCjSQFHwv9MHicJMHLfWh8XA8ibXNHSP6jupdXnXJDHSj + S8vZFKTNDC0HjUk8KbQBaphZRe/tq7eFhfBZQp4mTF8cNFz7qzM3eE+hbkSraws= + =L7HX + -----END PGP MESSAGE----- + fp: EF643F59E008414882232C78FFA8331EEB7D6B70 + - created_at: "2025-10-14T23:36:26Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA6EyPtWBEI+2AQ//aP1tcHzVSPPbKpqDxuuBZuu1jDROvlzXefkNkOgggprG + ITTcuS9L98TeR+QDhlO976c9pr70UA2bx611EUX5l2tAKSVn5/I4SSqL/a+Olm/m + R2fQkJnjrfbJmjWBvKA+63a/6dPO+rDwvWiBAyJgrc/75MyPwfmJdNNoMUF4nZJF + Cc8SLuxOE7ShDx10C46jFrDS5StF7xvtfKmQGgEpZM9BUkvIknxYWq2mcLKV4VdF + J6QBQ0ryKlLL678oI8p5MYwmYH/BpK5K/Qijm/E7FsBmqMMTkCU5dmptgBuaOcqb + oahhAze9kQTXxKX/4FPp6d3euEnLharj1eJUwa95s1LjUOJYM3JvA//izYaKlb/5 + mRCcn6YRA4Bv4GZ9FugWzwKBVUSG8pkQX234DNqLEDTEkqJsOLMoFo+VihVkTQxs + +Rc00OXUsAchEKsOivh1rm6yh/8BPp7SKiWazIKnBhYwRrOfaYFEiU5QYHvdonez + p3iAAnmr7dp7dV/ZVF/Ov6kpK2d8ujq7cSeMauhpGNBn/pcgm9xF7SYmR1KtbRwC + OXYeKe/BlOcbszhTYAMn28iOfRmHBMt8q5lD7oHlDAZZIG4SQ1Vmb5D9W/NHAdN5 + oLwq+7Ve014/4XUwjWOy0SQElVN3sPD2y+AnQKLTYoj62VZkjMgQrAHDxDkxoe7S + XgGnt3UFXVNTWUQ87FpUZCChSIjAJ/ts0Eh+qopnsRsQ8UknOFBJwOpGLeZK8PVN + 0ssMnowhG7wGlhrsZd4+aYdO2UqqqVJ1fm6JIdJyNAtV4gB5iPBZ6eRWvR6Bfw4= + =BQrw + -----END PGP MESSAGE----- + fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC + - created_at: "2025-10-14T23:36:26Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAz5uSgHG2iMJARAAvk3bUi/znEwPTN/uJkBwbSEHanelydTsZKsLDzr24gKK + 80cyVO5kjP0x+e7JN9nPFjPojhKphTh9p+9n1Ta5rGt5s6ZQOo1GQcJdpLIpyVfK + m3xdkTm7lL1oemDBQCAPoaOQe2iXWoO5EKo4HBCu1DaybNe6vMRVvAQdSqwFM8vF + ED8DFAmkgdrcpsI8OwGQ2UKtEUn8mTgAKzZzJ04MsQJvIf20RwZjui3KawGwz4Fy + CK26Ji0WFEsgn+GtQZwgm78VesWPp2hU/4HEQ2+hKoXWEk3PGMAdbRWHJXPyvy/D + 1+h+xdC1vX+a/A4kzwbw5KT5JEQwqQvEhDP5OjndFyHARbiJYMCALZtLxfsUmFm4 + mXoQfDXmWQeKgnwiCDcpIVVS/KCcnYAB+zq7WJGsxW5+YzaWgyXnzKa3NZ/HvBaq + 0EgjaPt8Wr9qnpN7dG3ftUFpxvPiGAx9mN2b9T2bFd3iWfaF48P5awhopUYq0y5u + zvzla3nWdXDCLgLtSEPP0J9hQ7O7gWQ3bhz/nO7KQduaYMJeHhyCCDGDmItKEtac + ClAcX1swbZmX2is+02dXFY3OnldpD6HNL3PZp5ssit92wWUyJHzKZCP1WGUmQ3Rh + 6XCvclM5bSefNtYsCWSoqb5j7HgTjR62J/Ti2pX2+es3d1+W1cT5aZV9dVg5Nw7S + XgFsVxa6N1uDQbJObNKltPK5hE5U6mOkT8YMWTZbPt5PLZImMUk7cAmk0oyEeNMt + u0RGI074T5wQPSQhspYHU1fGjgd7MF+1QCtCkoQL8hCdazrdKcDILXNoUm9+V1g= + =1DXw + -----END PGP MESSAGE----- + fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 + - created_at: "2025-10-14T23:36:26Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAw5vwmoEJHQ1AQ/8D2f1tGw1yVLd04Wi0PjgCELzSvstd+oZIam1i3OzSton + eNE8CjAn2JszG17YHqxf+xBljYbfgNitUU7DyXuNoivmExfYjAIv/qYpS+3m2YoV + n5NgsXfabGsPhk+GDum/sejLTGrM9S2iy3jLaPVITAm7aMnsVJ0wOPnizE8HiHHI + RvKwiKySofDy0+Y3O85wgZc/ygoCqK4x/wiZxkovDqJbaq+Y8RVcEVePwdL3a4vj + N2uqHgCGL5tYb+e/MK5ZU0XwPkGlw2H6E4Sj/dA3JeVE3ReYtNZ7XHs9RCXFBgcZ + PTgitECeJHkKPQouxBEvx0iH4+h+rCRVcMRXzDv5gCkM+snYUiXgkKDkHVeqSlqL + 8DedLXWAzPdj64e3KboRqO/SfzhgIuJsgg9h3o0nA5ZLy0IwOMcoRJvM0iwAr1HU + Zn7CengVdK+RDGZNqrBc7vIU/+NwxWnzEFV2eE4FKURZgFZgeKkQFIqDuF+KIBLH + Skeggm0fJPprfWWlo31EWjGqsg+ORrvw1In2iFmBzPRk1jiY2xZwhbIbj3Qx7Exc + +WvdeCKnTW+Jd5kbn5i0w1vz8hsTGryKyxmEdWqOPU3l8/wdphywg4/Yul7auhVP + xUB3YQLM5m8w5wl8zTVhq9c7n2wEevdKuYazeTTbqD7U8jRIpOg2nFLr/cBMD3vS + XgEPnjubWEfqCXorB7MeqA3DYmzxDh7bNes306qj0PIZvPoNz7acjZ+5zQW2tmi1 + moJlEPJCVLIKcyLuZYsrUlzlmDm3yXCtivEIALzE4cDTuN5s11YnG2Nf8gl4ABc= + =YKrj + -----END PGP MESSAGE----- + fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 + - created_at: "2025-10-14T23:36:26Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DerEtaFuTeewSAQdAH8d1/KAB87TT5kwehSnylRJuUbbJ8qVnGu0H4D94DH0w + XG7LC0+leYRoLmFxlF7vX1zcZChJNtM7+m3e4QT36IMxPMqK1M+SfMsCSsYsK/2i + 0l4BUkRVL6to1DvMJT4gKN0NX44IdOvOZ3V/IAnLGleAzlJ9ZlLyiIIuhkVb9BpK + YsSyXUhT6yv++hsrNq2A7s5c4QayuzrNGCyS+eTUK85CHWQinoGI7bOaFq9rX9NQ + =ZhVu + -----END PGP MESSAGE----- + fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 + - created_at: "2025-10-14T23:36:26Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxjNhCKPP69fAQ//YVwj7qItewkBrr7w2Ib8Fo7hkKPyDQbBnLudOansbYij + ExQkYsRnVs1xuY63C+eLYOS8Cbu8zEOimdTq4kkpf7hKeMKcFtgro3RGjr+yXWbK + unHK+8a51wol3ZVENqDpTYy1HgiQraGb/fp7On0k0eM9PTFk+HgnAe8mcTbI/MZY + r1SVtU/V9u48/ApIL+k8tI4d+AIf8xRU/VSgNfmCsaww3SXiZFEfWF9i6TfYbfru + yIz52lxFLq/d00qiUL9XKDEg96pnFvjQ4VSMH7Ebpy4IazfPkdVa2m3wAd4denZS + wLbBoSWxhQC3vounzcgubQhgt1zpwF+lSGQjhDtl9YEmNTi+wl1BvUFELtxoNQt0 + NBomFpQPP8WcDEFSTJtZDF8mOJsC6A34cQYdTs9exBDwAHb+72HFL5sdFouhG9KP + 4+rY0Od+5VZ9jkQH8E31mW5M9I90FL7t516C4Z/gjwAmXdlnlkfAdRSqQsv9TsIF + QCayc7tKEWtv0nGCrWdyPPKdLqnfZZ/m/6LAp4FXe4YlrooV5Jrp7CvrALz/7S4c + l5EYKWk0DjROpJsPz80wUrHtMmKSZeH3LCkKkORtZKQ/a+EM49fSO+HYg7fRGK8b + c/g3m1NZmrBaZOM/BXAtTexerjB2GV4neWGEQ0ZepFaxeCz+S6OwhEpCIZXKJMzS + XgEbn/cu+xCQ3F3x/uRFVdPEYpFGbZCFhg5N4an+6ApfgkEmF8oDcaCLpyROthdU + l53UF2FX5yd6fJXQn7ODhX/zGVoZ8n74NhlIuQj2a1mGLDrois07OHZc5KCpLqU= + =t8+d + -----END PGP MESSAGE----- + fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 + - created_at: "2025-10-14T23:36:26Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA1Hthzn+T1OoARAArOos80unlHGRWsIjCg8CXT82W38m/Clx+4myjNztmk84 + eD/eyIJzqKWH8QzwutAwkDDsMUWQbu0/WKQLipkbI35Dg5uflkIfZHen1icjSh3C + 6AKi2vgVezipSZqaUHy0ue4iO+/6QytvZqh1clqrnDzS+PzWbYtqDwP+zkeU9iHg + 6s+KNP3Dtat2OIfM2BWvcbE3HkuHcJnpJbTgHQTD5aWUisDowMVAhOZNJV2/mS4i + MvQsTV1bwEx7GzdKL08OlD15J9q+ActbfktD1NjmyVf+VwN9hBQyczqlmpre1fBu + V6j5x+cLM2gZi/oiFDQ2CYxPvENg51VzZxquXixZmgRYyYGykVxrPgOJonyWaOhk + f3aQeJ2vSU+Oatq6H1T2VtEzn1AlP0TTMrSH8XvodvZVfS2IaR9+6uWmenEL1M7b + wvu0P9PhBYLnoDydl3DU5J2rN+1cGEUhBBVY0Kcri4xEFDq/USndIl8LJvg+ujPl + DqbSlkzXsontPdMcMRSQjvWfY53bFi2Hf/qVtv9kuaq4djFInRHIZ8/FaQnUxuXU + fR4evYfWDK+ztdEa/0FkimDAsl3ZbRdQr5pgwMGA9fV69jO+G/+yL+hDUVwiTkw+ + Gego6ru9vnVRcfTquehOUvG1qe7lOxT3atI5N4yvdJ79ruYGgkhjsI3GFP9CNDXS + XgGVDr7OoZPrLyEkxVZI1zlJsFn3S+e8Suk6MD30qSYYdQuiuoaIcd7D8XXoq7YD + B1r7jipMhZA340zkWQNzWRe7Yg6+VKkuIMx3SxeNFvnN5sJxFCsFTKmTTEYZTlw= + =aiCF + -----END PGP MESSAGE----- + fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD + - created_at: "2025-10-14T23:36:26Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA46L6MuPqfJqAQ//fuyKNqF7nmTYEdcKP2xtBgpW26LeSEMksMaI9yJegF/f + xQbMSqyAUDZb8TI8iEMADzf1feZnhCxN8FdUT2Hm0ZdF++TzYZEhKtVJSnE8bAYJ + zKWaW6LzS0qWzo734IToApOgY4BCMwRaUDYPFH5cx6i0gqKv1f1DUqwsOLOMfcGa + nqleVlNiRuw9d9/Dlm31ST9zZRdGAF+bQoVLEsB9VQTLYVJ7I0tBx02792e5cqb6 + BiknHlJUXNNzm7VEH1b2hbXTxeQmqy0YrDOHimA3Epo2roWw+9yU09teDg9DaxBi + GvSxEDt/B3MtcE9SWatTEGgTFwrWqddHG89N+eS3/CBk4XEtDa4E3s271TCdMRuW + HORXZIFcci6EvfQoxA11loIfS1QS1TION612MHVyhFy/9FSOJjaJrNDA1lJ4G67a + rst2JxoMOZCncT6jQLhR/tlvCI8n2DQb0oCMVEHigTnW3A/ZdmlPkCKHrwGacloq + BZHItpjbKnHyCkdyLmDMlPXZ+gSPLRpr32YlmcI6I4CIIpBPzSP3Wc2BVtEcdhci + YNOkGYLlEB/zE8m/AzEuk0o3ijbmJ5WDKTTcrNoGL6bAu4r2zclA5axOi1++N83+ + Stg1YLVnXDP72JoIF4H71H16t1hZtcBl+8LE5YbHe087eivp8JBV04XkE+dwpk3S + XgHBi0sHtHlQXUGHlrN1ImKfkp++/N9HLnJmWQyxbuvO4tjkwGTt7IpsCsEYgYFN + GRMugn7zEYDOVuPvicq4BAH7lzijfxJ3Ybu94ZDkzBHRB2dxYEUv4j5aNLIZZYo= + =Ov7X + -----END PGP MESSAGE----- + fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A + - created_at: "2025-10-14T23:36:26Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DQrf1tCqiJxoSAQdAEZRkAlo8HrY1Vszgef5uG1hp7+vDZ6ExovseR4EMgX8w + llhLk6HAuc59shMDQRBn3d07Xpm3GgW4nQQsV3XRLftUSUGPNWroBk9Br5H5Te+q + 0l4BMMAc88ku8eRp48XtZxiLZERRIpJeNw8/SsUjoKgcUh930/AJdVB56WRputYb + 0KIppjYCUHe0ZjATkJLZA6Ai/tfdAYTjCyvbVkgVUYzD1T2bkrgdUKvrgQsY16WV + =ovJo + -----END PGP MESSAGE----- + fp: B71138A6A8964A3C3B8899857B4F70C356765BAB + - created_at: "2025-10-14T23:36:26Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DzAGzViGx4qcSAQdAGkBRcYHAXR24aIeAHAnXO14zXaAchHdKxtOl4KQmnwYw + V9rVcSYyiiqsLFqQ2fdRNBTycLuj4NpdpePFIfF7ZUiVa5bED+ogdI7ecgXwXz8M + 0lgBGdrKkkoTsWB4VZk5VBFeEhm3bNVUID1oVsMbgCx09pjYyzUjQiG72cX0WhcX + BZP8/0n758VVGmfTuEp0Hqyo0zv042/DfWu+7drjeYXhb2iuIDEGixeG + =kqys + -----END PGP MESSAGE----- + fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD + - created_at: "2025-10-14T23:36:26Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA2pVdGTIrZI+ARAA573sDvT5u2KFxxdD7b8LDwQDewbIQp6x+UfhEfhkBYAR + Kfvf+SLMm67TTnKK5653CTCsbDI4BripaQMfjYLJ/4bNzittcJtvY5cl+h8l3WyR + gdANMs+5uHCJwE500x5QzDCs5flDeTab4p7j3V3C8V/qGD45mXEI6l+/1+cn885f + lPjLi0jeGEPT3m6VqBocHMB1fw8ofnxyprds21nbqi5/U2o2GT3cKjxjSLbC7AsF + qaRiSrlV+l4qexFR4aTvyhtU9NXA0Sj/ueDN13ZO3ZBbdz+99hxWfA9az14QKAHa + dvoXW9Yg3nZa4nBIJyKUqZlpMwiexKNu0pfkgC2CU9ZT1H9XdTd55fAXfAJgWrmQ + pe83OcpYfFS1uj155nClyM84NHWtRKDdC8ZL9G/mVv4jKSo2FGmUtBkdEFBdOY3l + jNEC43VGZRetfqVW4axaft9VlLmCPkglUOW4voUwR1I74aIxYqVXDaLc3mJkFMb0 + pg/1g/1cgHjQeOD1CyqCLkgtl0wGlbNqIZb8sGACosbULgYa7uHS+aIwT4WpHGOl + GdoZR8UBhnTM9LAdPv1UsVg8TyZwiknh/TxNjae3oV0QoBmCj++vCV/ntrekvHbI + 2RgOtySnNwcNXOdrs4fjvq5PDhmpDAoLOBf1o0ScLzQloPn8nyJBDKv8rhp7iVnS + XgFcFrb50QUJIAmceExpdM0S6tiQRVc5eoUmtqr58tj15z6Z5wkdlvtsWUXnLIhj + QGxUgjY8a/BF7e5OFdpDKvwEmRn3qArpKWJvesnC01NNTAnuZSSjJDTWEqQe3S4= + =to9u + -----END PGP MESSAGE----- + fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + unencrypted_suffix: _unencrypted + version: 3.10.2 diff --git a/inventories/chaosknoten/host_vars/grafana.sops.yaml b/inventories/chaosknoten/host_vars/grafana.sops.yaml index f01092c..3c2372a 100644 --- a/inventories/chaosknoten/host_vars/grafana.sops.yaml +++ b/inventories/chaosknoten/host_vars/grafana.sops.yaml @@ -10,201 +10,212 @@ secret__metrics_fux: ENC[AES256_GCM,data:aV6zeZ/XsVlA3QepSfVd/cOr+tqFVhlAxRO9SHx secret__metrics_fux_basic_auth: ENC[AES256_GCM,data:YL+QLzZyyObzDcz+FcefViMrvdkVSwRhDsBx/AwoDX3RLHCDjg==,iv:GADdMa7FHMM1FnyPp8DUHElpXsJeqD+gN5Slw0R9bgs=,tag:KGCoEud2JLU5s1gurrbywg==,type:str] secret__ntfy_token: ENC[AES256_GCM,data:0tuPJVmxHcdDWOMIo0QQXgIEkJo+p9A5emH+kc+U5tw=,iv:NZcfiz3UFw2fMcMf+q1GRp4Fsxpxbptsx9n8wPR54z0=,tag:SJYFtXccCbPrXjECiKUOUA==,type:str] secret__alert_manager_email_password: ENC[AES256_GCM,data:AsBzn9KJEoMjcrUWiIhR7I/1jaaFEa+cl3gImOQVKrg=,iv:mtQnZqT0taap3+z/L/nMfUvQF3JlTKIdoljmzVr1R3c=,tag:mZrCB597p8LyB61I7ZvHNA==,type:str] +ansible_pull__age_private_key: ENC[AES256_GCM,data:OITNx5IxnrtyNQKrLoY7WKTLYeqjGXHAZ1bkwSrHzqUxXKMWOAGGHQkK5r+poOgGkiYSulNLA0NMgdBkkv7/YRQiu9Kt2di6pt4=,iv:CWGR9z1/KfCVoOOicqfWBu+XXGs6fTXMbk4De4izjcQ=,tag:Qum6h0k2YfWXPyunqFsQKw==,type:str] sops: - lastmodified: "2025-06-10T19:17:41Z" - mac: ENC[AES256_GCM,data:8GGZFGSRXAaLoWUowbxd3RVv7NPMVsbkDttDxC1Aeuwjy6678ddioHTiOWn04noWSPXhVnnpaTHWNW9dT5EcbLHvTl9Vb/ydKq5EnjDi3vAI2hQZ5bJ29rwSIW2YBMwpceqh+2GqDuzebhOKxJ0ZFYsPzbfTGPt8blqOQ1abVR0=,iv:aDbIiH7H72jsBRe0rSDXHMQy6zc1QFrI6ZakJj8zxZ4=,tag:+ARO2ST+1I9gOB/f9V/OjQ==,type:str] + age: + - recipient: age1jtusr294t8mzar2qy857v6s329ret9s353y4kuulxwnlyy4dvpjsvyl67m + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYSWtZeTlMNmFPcmV4RGN2 + K3pET1lHSmRRRWVlRFJtcjdFMkUzdUZleEFvCkIvM2l2NU1QT3V3SFhjNHlhdUcy + Z0RPL1VTYmhBZzhjNUJNazU3cTIvTnMKLS0tIEYvR0kyeFg3SWgvdGV2N2h4blpD + bFdHelh2dklCMXl5aWo5bnJUYURablUKU46qv7mUT6SX7xlX2Dw6Gy4nJAT+dmHG + Y5lVYXV0r+nLejalbXZy6kH/7mZAPXvu3/rkrbeaO1WASQHPxr5tXw== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2025-10-14T23:38:52Z" + mac: ENC[AES256_GCM,data:bKdCkiO3OjBfwsNBOFVrFMti9fXtedYWhKuPFDgNQVYFblZji9UQP8XsX6kTSfzU1DxM+OR14RMgV5xssoB4f9q5tP5FgyhCcwWHCt1cg6lIQzIoOx3o68YmNf5X0C59Q/j5QGeGQiCNDV2eymDYcm/dV8eKEHD0EtmUGNFlOfQ=,iv:7jW4IFcebqx/0N0sqygV9SsvS+m+kQSlEGkixtIMy94=,tag:Eg3Z+blFGyG3lAXacwVPqQ==,type:str] pgp: - - created_at: "2025-10-13T20:10:54Z" + - created_at: "2025-10-14T23:47:04Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/9EvoGHf93vGDL9jnSyPCy9J3cmSBCSHdb+Al2uCcMRJcy - acu2RkssYhPC8h7cL0NqV3MdSVEGbyu695yJjSpO8HeM552q9yCB2VItW1DsuzAL - k5GSoZTLLngQWsoApaVbhUP9/UsLSVTkdnGme7iQcB3zFut3Db4j2RSex0rTN7f+ - JnhZ+77AYxlexvtBEYWvS8COcZ2qYjPW+IUulIjsvEEegrYNOgYRx4SKI1qIkISj - PRfQLMEMcGJvH2IeRQvpADy5v8KIl6jAakwH+C+XZAp/rnUlwRhJ/J7Eyx2JN0hY - fVqhpsw4bD/0QgbiVK/dH7pdPgr7BBNnPGG/+2qlSQfxnCVWbuiptZy4yhhLn/mV - S7+hOfymdl0XFn9bFhwctJd6b9Z2lNEB4VwXfOJwJeTKw7oPJwBhPg8LVfb5yEm4 - /J7IRjqo3THZM2cNMbb+IvhXCD+5rFTO7ichtc1zm3RERygyuk2vh3BGypOqS3Rt - iUcS0WZz647hohCwiXEbHcb6TW6q7n485rwrPHFae/4dFdX9aNSDENO8hV1P1Lxv - 0/FpCscH9OBYFXMIPdZvUmKf3FLcLND9iiC1aoh4PJdv7xbjf7TiJKVfG7yVMIbf - YSbmPllQiCty8vnl9BhycSLWYBd/nKywFFc74yS87Ip5jIf7dUPQ748te/15lijS - XgGgzs+7ZoAtUhcSmp+L03vKA3Lobh9fbnR72LLAA/FmCAUMKQTq12fPSZozCrPW - DfAmS5gtxCCchAsNmFs3C8GWUWzOW8N/KuZsmTLyygcXes3C5MeeoTp+OWtnv08= - =UY1h + hQIMAxK/JaB2/SdtAQ//U7iuPGV/ORWjqLnzICRMwhtI15YgLOlRehuVc5DXU+Nd + rLEiqs6OCOahGFlskF9VqEFlV09P35r8by5k7QxPKvnWo7kdbY3cmI/VyusaJmPe + hQH53/uUU4pBNqLDFnitr04Q9cRklRUfRW8xGerUM86q0FXOer98WhYTHJ7WqrAS + hx4rUsyuUkPTfeLvGcWZ6RrbTM4bLCPT9lGeta0oYPTah2MkP8bdy8bz0rBDE9Vl + Wpw/q5iB+a4YtrkXDsFl/jfqYJJ/hBBDi71/KcS58new7EWwLONuvYxgR3bEv7k3 + N45kFd9CmrBdyIbrAoIjsgLtt0JvOqzXxT63+OzMLOK+6crhsa9roeuJAXNIruSK + ON/3B7TE10FU1ncO9JNX9IRFaM3GtiXSThDz8J95jN/WyqHWeKG6hvDDbGiKAeK6 + 6amr2e/OFLkonto83xncv4p43RPYU58tjolHOsTrUjycqYXJjxaE//Oyl4I0EoY+ + E3lhFZ+fB3hGKjis9DeOoxZbtjpG/+tqPF9RZhLXbf2bA5caaeju543/jaOcpR+L + p3n+bZFi9cE7B8Uyd/XYTL2X/a7nka81CWp2PZGqikFy7oDNTUxEZkKhud8APa9d + Nb+FZ5sAyafVyiN2po10fUUXrbQgBjsrBePrBDUQoReZr4cFNlvMHrV75Sdw9pzS + XgHwYabeUIoAvazkW5bFucSMVrNJWakK/Kstv9d2+4yz1q6FVNy/ZLLqs6EWLAXC + 6vjStMSDIutyc4pzzJ8Xt2CxOO7shECH2xE3DJd+/z/CD1x+CcGNeQvCQWDJxqU= + =9mvJ -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2025-10-13T20:10:54Z" + - created_at: "2025-10-14T23:47:04Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA6EyPtWBEI+2AQ/+PD5ybX+ImMBoEYImXYvqRDPE8GlJhX3MOwufMCWGJgX4 - Y2ygtfSZbzeYadVDLz1CXHmjvcpG2T+xZ8rAI6C2S6X+MQefgiFG2al4/QM51qsX - PIUQa6Q4Nqko1cVPX0TJGTaGwS1Svj2GiJNdpm9Y8lLSj1mfSgHSB2DnGUDtmZsl - 6y9mUN4cgYjNNnwUClvMApj/JZhZoU3mmCA4NN9emMG09AkK/fO/sygkZ4FyFpeD - oihvTw/0xPy9RnhZPFS9f0+4beiZszI1+8GRi/fBXDx2YsImeKSUhDEDipe0tYv2 - 24CqIa30LWyYt/hCzIFU9IOyRB/ZvOR7jB2815pk+MNZDcbaMta21HpvAls2InAH - LS3UF44Xx/8LPAHOkqE6Gmea+nQx5grgQw0sbxBprKtsq4YhZyZ131ID8J/AWyvM - xFnYzX092zceJfu4bS2TYdYMp9SV+7Uy9WYxKTUbyocgJMYVtCSC/kyBQfccT9Sf - McyjHaqVnDb5nUgumS6A96av9SMp+R4CcoL7k8u2sc4PzPwk4QD9nP9/Zd+0iGSR - AsnwJCKrEkEM7tjZgRYqT8jl1Nvkk99iKrq9bwKUaL+y1qTsecLn1egpuR/3qr42 - +PsfcOx1z9Zexp8H7RpcAHbUmq68Y4CRsyPOn/tuXsHKNbQ2dJJ8ifRoAoVpHszS - XgEbvz2w6VoN+l911n0F5n7dBwsgUn0HNRJY90OwH2OI/tTNgeJEOVbNtfqzc/sy - fFPaQrgls5wtO1FZ9Gfh1G6XYfATXisvJAmnpC1EtK3h/EdCy9Z3TQJNx1owBsw= - =H9eT + hQIMA6EyPtWBEI+2AQ/+ITdkdAphlMAL4w0tn+sQGTE3ddOoU7QyMo5S6SBvkBoA + r7cQr1PCXGOB+SdDlnuifD0HJUP4ClrswLZqv0lzpMd0t5OaQraklP9t4zi1DVYD + roW8nK3AoaW4lf1WTOaySxuAQ1/pPvqGMERhnm9U8dVdLJqqNHJaMT/7t3vjlaQJ + L63PDVnov7bG+eDm9U6yMLZnxN+L3X1KsRGC/1XYKJhAkzJ9jwjhdyiRBon7lKQd + yKocR+vvr9uJwMsWuvOZ0Y7J/T9yBgn/pMyK0PU10sSZiTkxVQxIDBOma/kYWIKo + etteamIsi76y4ZW1/G+HYSCMi8YvUxINJIjV4zUq+NkMLqADv8xiZF03QXTnUl43 + dvmefBQUncfFBFo8cnrM0dJ2fDyTy3OfHVkNF8X2RlYfVx0JKf73vsf8Sm2sVx6r + NDlv69RUQULXXoEJZNRyegTkm8YOXasu29ik+SCPP2tAGKIk9qUM6pGtvKMdQRaD + vZ6Y9JAmiWMWUgGeF+NUGQSbN9wXaR4w68gn6SkK1DfGsgRXKBQ4qv2tGGckFAjT + galVfKR13j8wvqmTNSvDSXEDVIf9lCI+NR0RV1pCw9biO95dy/hEf4U6T2SQ3tKk + eieAbpmCwXrJU1Xiil8NPM84nvY4B0LtPnhv3nYVCdAQn9N65EcmvQVidgFvWUbS + XgEoH7GE3urClVq/iTy5hPLyUIr1egx4SmoSS+Vc6DPkEgJ7tuEYbAgnQx/SyJsO + sEeKVK43PbQN+btiYF1j8PiYxFVrX+2xsGlfunqEIrt7ILjQx9QrTcqeuVa5ISk= + =fNv7 -----END PGP MESSAGE----- fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC - - created_at: "2025-10-13T20:10:54Z" + - created_at: "2025-10-14T23:47:04Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAAmldVuSQOWO3rkhOWNuVca1EGr0PKubWDQILdgEw4gAVO - EXaWLoiGOwEkQ+wzkjaL/w4vjMW0cMagQ+QgMHz33KNE+xPGC82ZqydCJVm0YBrg - 6sqzCxrOga03QIk+T2gUOSkocQQ5WeLvFXaGNMYSNmTV6fvECg+uyqTE+h/AjeR5 - 1hJOh6WnSC2pw9ph0WUsNAOhMlC27XJ6Vz6pyB0AQmUcp84vCuaG6Lb78sz1gla1 - pA9vJyIl/SPRR3++RTGI3mqWCEbCn0OQoZ3j+mIsjsVpbFE9JKML2MNx6iTikgiw - uO+kpWXc6j2j+EB09bChwMI1ZJdXgaXsPV6kV1sxj00q6r8mzsnbxjx95UeVKM0p - 63N1Tfy6R2SAWcMcZvCKbNMwok9NiOPkZdHFuH55iwNw8T+SNvq5lV22nyIcbc3Z - +hzDB5aYz2FP+ENafkQGXSuLd5UTGy9+ZXehPi3qc50HvXE+PSCN65XFgxWp9QnP - kumpgtkkjgBe0ESvwKvBDPjmd5OxSj2UOxDZosXBKthw7ugv/uLFrPpjcEgyJhYO - tTJybMIULftgniQLDUs2F+ld8u5NaTyCA7ZZXay5EZBu55xTJ1bLLz2YXWH71DH2 - spHf2TRGoW5eqPw8KE4Jq359Z0WUvKLfNNY704l0pgTDH1Mw2oqWDUTTe+UrPr7S - XgFCRUILWbQ53tzU9SRq5uAWEXxb6wBgYMAP+8K/OsOO8ttcmFbqSw9eLDRm9mh1 - /F31OMNqS4ao9kicW/nOLKdNSeJ1AuMHA7kYCWksOuOmW3KO/imBOo3JLMFkHDg= - =xraW + hQIMAz5uSgHG2iMJARAA1l+iSgYvzloves68ga73Trmn/YOCUToXpEGYWfx/ZMZu + FhWcbhmLGUE2zocIR2eawpWlSARiwJYPh75kUCRNmY4UxA+qLgQi17txdWuWGH39 + +2R3Aa7YTRfRi8APKVu7zrhquPgqzzeUqIwkOY0ta+er+Fzp56BQACbf10OYDeWm + ux1pQVxDQLIelaXTpSo6gF9yQ8dZVvd+3h2HcTmIrdQ5oAJmU/MiZ6VC/KAJTlvL + Q8KlWtBz+4KxBThwz5JOPppuRvtAWKCvXe6KojPJfUcuTxfSSGeE65kMByBe6o+c + YCyC+6ooNrVIrHyzO4YpwbFio+DErgx8U5zwqX5mTsRihXRedZLJv0AOBXkh01Jb + /J9u90HeWG45++K/qpz7ockrAhEkN9/ZWCxbdLQBcEklcNB+VZVduv9HWWhJfD6D + jFzov5CYv3vVsl/SIA1IeLAhYtY08sVhWRQD8Q4BV36mj6qtfmrVf4y6DnhDaqsH + gyiEMCib00jdt6xCJhCCHvu9xcxyE5gUc5oqoNJ3e5GIK3R7LdoX3LecGKJKyq+J + TofTgYyQF1GsGUWQCshSahHFW+89l+aVpv70LtH7nFeUelG4GGobi5J0uq1F71js + n6AITVGk8/UFbJHTdIBiXWOWaPsw0w7G1vUbEz1dosY9obYV5SO0AuP4wkfn8UbS + XgGjaVPqqBIyYOY/4OramutUOnhuZXCDNKsf/WXFiawiEpK64+sWyqDXB2e7K+32 + iRDWxb/tdeiTEj44p0lnywpsT4+LSewAdhLU31yNi69zU4b87g5FiAtUAox/TMc= + =EGO0 -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2025-10-13T20:10:54Z" + - created_at: "2025-10-14T23:47:04Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1ARAAo9HPxkonFM2NZ9XcVA6D1T5qnIEwGmC3F5z4qDNuOqs5 - r4cv6iilp1ev3331I61Qp+58/WAElbWBixgiXUOHh8ES77MrFyexp6TxW3LBN3I/ - RfNV//Ptz2hBLpt89mbSoe+BQOJU0utdO+IbgWsUSU+7/l5b7kOpPdNmFME0znc0 - AGms5UblXYwUY1yL5ALFM93/OtJJoJf4vmBRTEhIXciaQipBMk7a6MH1QjZ9hywK - Oinoo+fmaXHGyaMxMvsnoohNMDluZqQoHgre3+dIyOM0Q1dTBb3zxzSFXJexB/fm - f/1cTpTg1Hh4aXg7Q8K/hHI6mkZLEjS80BE5Wjwme7nJDpmypN4iwM/GwDjjXGE7 - 9zk1nSrThskw8tdHUhzXjEP9wCj1YFddsAELZXFPwBJJrcxKnO6+NvDe4/npt43l - vD0BGxBDlDOufKIdQmuId3fxthPdI1QvlvnlGxq2b2F4l9t+ymlvB0hgmmsU3psE - I8JPZvz8jgx1SSbaOksIePZ5qUTXp/7WRbJrhx2axWj6qAIZhzVCL+5Szuy7TT2j - ZM2jHWXd3xRs5VAtvlDbY74JjOP0gv+ba85vFlYn2fcms1UFJF4DROLkS0qZYWaX - 1l3vPRR/O1e/fTEShffHWAY3ld5sxLsa8OkK5Mxsz4Z8VX6tF55R7ri7xOvEPFXS - XgEK3/eF9JCPunybZ9qWTNtkGOa90SO5YSed3hgIQw8AGF4M0wMHoPMfzfX/e3WF - PvLce+GC+M4rygcfnQh7BuWYFijE2xLqQM06B8FtbQCit4yjmJnknfwoqp0QewE= - =qMHJ + hQIMAw5vwmoEJHQ1AQ/8C4OH0VGhxX68TMIvcxngiHFFm7ewrRBuyEFUeg7Jx2zZ + xhSefZ1mjzOdv7XthL4RE85B/OOexro0Yhg25obGPfevZgOkNeREOr/bfo2NEGY0 + 4bBzttJFrGZnO8r4AbfKXHhSlb6QRseh399VEbcSDl4bM/7dqKiWW3GE2mdzxIOu + /+mGJrOLVugmjNrNr1TvmRrV/hQwga3dTk0dyEMzjA6GNaZNoYLsJUirRyPEJTuC + bIdE02/qaYuNGmaOMMDVnxDabwFl5XzQge8c/JiKOKoSd0fDBURGi59yY6RhvWFC + v3be5cdf86Pe4ei1wLVPxs5PGJtYPq/dLavyEIPN5VrA3eb/Kapt3WRTJ2RBMsZN + MSnTclW0T3CtsuS7rKMXdWxDj2RJSrP627/kMR9TAK0Rb+yud4r+zmSbTkxV7tO4 + Amq/jWFxIbeJfy/FLPc8ZvSR2Wxs0D8MOnAcg11qh8mX4G+2cZWLowIOPaQAqQaC + 5DPugxMScr0ZtW+cYX4b4MvbCdIQJqS31O5Ih5MwGycp5iFDZvp1IJt9kY/dRVef + n88pSCDX2MdECWZx6QAu6mvT7jbB3bEoMVspETqPKj/4V+JZZZqAyQeRrHXmNGwZ + 35+4txbq5E75ZugZlm72CnQaq5c3a9DJ7d/y8xy+SiOzU5+AY0lo1qaoq9AH7mvS + XgHaAlXJ6ChyA/lVI3KEFWYDTtzN5K7qDfxCPwEMSU1GoT85Jk3m+EMvoQhhJUJy + 4ooY2hWSFd8eZyGRPNg2SuFpLGovFbvP5JMmVhpbZR76z1v5Ex3jdT7ECeweu5g= + =GPL+ -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2025-10-13T20:10:54Z" + - created_at: "2025-10-14T23:47:04Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdADqEQ9hxSntxmo/7fb+J59O3w1NpozEHh9egR67lbHBsw - 83EGLOW0JW6Cp+k73zoiipeoS2nogHhQxG09yVqgQERDbcu8C6JlgM4adZ4+f/Eb - 0l4BxTXJpJf+saBXXWUWRaTDQZpi/QkojF2ZgJnaA73RMdufBmGDlvbydebQ3mVe - N1SOD+6ohNuRb2mT1NS4YzO2MHkYaNZG5L3sjhNhmSFxgd5mCiNQ6YsBElDTxk7B - =2cmG + hF4DerEtaFuTeewSAQdADjjTJ70hiKLmxb9BMyvicWlgeO5KNWm7puNb3cPIIWow + ND+b+aFnXNK5pO1Ez/4An+s4czBOMWMXZp18Znll5pisu4ysE/YvUcfwwATv63pM + 0l4BSOkDIMxgKPH7IFEV0b/64uhPfFWQdqFZy1UCsWqUvs3rZLvHlx+mR8OCPNeG + jksysqrY9ctTlKInq3NlobPQlhDcvjX/hkTIs5ePthDPF4fMmIdT0w+Upgi3mvcB + =Ow1f -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2025-10-13T20:10:54Z" + - created_at: "2025-10-14T23:47:04Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fARAAppTC3WqFUiZIq1mX7JP7+ddll8G1nFnbduXfBE9eAOJr - QRobQvwbl2krFAKlmzU1RKTLD8qObkHgzHy8d+Rk2kN00Bqk6hcQZCoeWyEy89nq - FV7pvd4OAFQacWaTWaHGzBq+Qrpg3X5Ywo+sFrgJ1FpJg/0YkBDcEp9WBQF+z3vW - hDzQCQCl9TzgTNMV9X5JkvbptxL+0mw4NiSZffGnrFOSGUnikS7bXGPU1atj+xfN - bwdGsRLwHf92Yo9QbjcM2lws830Caf9uqjLXsK5Xvtp7NuPB+Xmvc0Qx/9aUi2Y9 - l/HgOtXaAgfTF+4DEJh7yn9/BAlDoqt7Hj9PWQlaAygnhEXFZ+1Qiui4qOuTx0k3 - T11faYDyLjgKeBZQvDhi8ZJoICEZn7ysgr6LsBORPSDEoL17Z7s+7hpzEk+3bosA - fEYppu520zUHDGX0lzktK3yvfRzp/qlhf3aJev4Vgl92vQNKweN2KEgu4EutQc3c - /EhINqfk/ibF205dSWudapoQvBu9s1ldalTmiIB93WkPi4jxGKQNYaJZgLIhD66K - 8mmMJ1CCHIo97bFTeltuDaUdP3Js5dKCeiVrTSLuFiX9Jet7ZjCY68kuPqlc461Y - osCN8xrripV+Vw0fBlg1AYq8G/Kffhlv5tnGT/2VEPGiUi6n8Q2eEAbrXu3sf6LS - XgFctsUqefLAUU6eDM4epYn2OkyRZhLX4S374g6oMEyL/OCcMSWsH9OeprwpgXGU - L/egGlhu8ZbmnRcDVAHcp6UulnIDGPVcUQO5jUNACcPIA6K6SMGF1rUz4eJeLj4= - =EMp9 + hQIMAxjNhCKPP69fAQ/8Dv12x2bjxI4lg/v7wRlCqSAhHzLnJ8nnAIlt1Rwqty7M + D9VGEKBoITBvSeX5wHAi7e28gBP9u2MEpTG/aHEoWdRlsNEKYr/YW57gAW4zCSxI + 8DS/MNmyFmQ5JnauPe4mCJFr6uNBpghouH8nenvCiQZlyL4OIiunx63WWViyXehk + x/wC5sYCpaniTgf7WisMK9wlilMKXmZxBAqGtqHZLGKQtl2gqnmkP+svn1Xbg55n + TqkznJixV064rBFTpWLayqrPymrKp9KLzH1Hn70bJ7iZRHWsfMYTuB0TO96ed81+ + 3lH/dY+0yzza4HdlAsnDrZ6NT5pJJwHHbckFtvz2Z6zwKoGu9rVPaS6BxCRaW6Fx + tokrf/6sKH6v2cugvKDdPFbqPnUpUzMhh5U7YtO7qm+w0qtWHJoX9pcZKEmwmqz7 + 9n3zQx9zb60VnzDKGMgTt1Cvm70YcM0tLC05KRaL4vF0IR0LiMJ45fjyH1FKPf5f + xvmLgv58RcdlDeRMyOqYMxwGuj0ATcUGsU5rU5gIuqEiSsZMzukRGkiA3z9vUTDE + yheFsyzlvHHhAZb2FQfJ/p03VUudV6HSriCar5B+6OTzojgdf/fOmTCdKczTBlq9 + 8VxF4UsKWA040ljpLgpuD0oercexN3jhAuotEuXhIZ/yBSzQhsXxovhMY/atkHXS + XgGIic1vUdKVyhCECQfyaKW11dwJedaF3BJXnGQnQfUo54Bj3LcsMdpWYM5TnU7+ + ImyFLICagP3fAH6047JxFykxk6pobxRAMkBcleXILx1u/e6eRLpVR+w4Y8ZZaMQ= + =qlxy -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2025-10-13T20:10:54Z" + - created_at: "2025-10-14T23:47:04Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ/9FG+ZeWpP4WULWoCYTH86qEU8m9sp0JKwoKYdc0LRjNpi - nWr2aiWhhcru6U1yulOF7fVL+M44RbaV6uiPGayWPE1tkZYdIUnzlfKWNOz/ibsQ - euO9VhBicKl5x7eZaQkvrY9CchfqGPD0PQSbNBLFtPhI+sDWnb12sGfJpVejP1HN - ILBRcsAkSFP9d0k4Bba9sT/HIBloHOzB3wWGDM0mUiSdXCU8tx3DQXcHHg+jn4Bs - vCrKvtf9E4ivIPrnKdGeeqDuzvLjS8fvbRKZgHCjfjZaYHD/+ioo/GgVIXxsA4J8 - O/6lau/+MHh4lkEKeWtVaEpXqgrDiOre9YhP9kiegKBtnrGoT5M9Uv12D37VFlww - eGFpVraCG2nbIeA8tKK9PMdKKF+0rGp2rTVecziq6xEs5DzUyYjU8hwxyQCcKZAz - D4JLV3On1GS740sCmos6HXjAIzqoXbaOxgR3rc6EUxy3MA2qwhAfoF4iSR/yCYT0 - senokC+5D9bb/DTRGEfZ5G0KVK4WG6iNq0HOuoLafLvesK7ZRxNJ2xUFUqDMcXu/ - o3ooIawICKaeiU6DTrx4apXLgr9uz6Fyq46G3vB/W46iUY6Q7+9g5fJurcgsBnKi - gHwe6e+TGS0v2T20j1oqkUIHXb7RJBG1hU5aLCdwMxfTKulpEDElb+xclLcol3fS - XgF/CiUR2MXnX3meLzUQk2TdBo4Flxjd/uQLlZIxkWifGi+BLbVtYSm/Ls8kcsho - 61BvrEtRQGe9SflOQpkNE1Bkd7wpx/CHnJVL2BveHEXzihAbgCwhM+mJ4oQIGV8= - =79oA + hQIMA1Hthzn+T1OoARAAsOV7fgbHpVf5ct9yFIIems7wm2fDN2pkmRd/XYT4+D5y + uS5/lFBBSeCvlXKvCJt35reXnY2Ru8urgRaeyyZbLmd5Veq8xyjVlGyOc6TaadQE + 4qPlOoYzNg/dkyC4yT/2Rnq7Gsq1u9NXtKzKjKthmpY9PFDLKLuQUgFRpXlrgz9Z + WoWyIFmJxQPPRVFvDC4g2+jOhF7do5qqvTfENpR9HtFzbnVRzPfKIRW9N9VlchB6 + A+fCNlfWIbP6IJR58/rCyY9qjTT/MScYCR4/bzV6yZNpciVPLLP0f2MDVHoDkbxj + 9xscq2J4JaT7g4HX6xwMuBoUztCODSCBApMwqYiSqB3mcB/uG9bbIBq38pZRbjhB + YLKi+rAVbKy+0TLzJuHZ3KJt2TrFUVch2Bk8EcOxl5vE01GF0Xp2KWbK/eaG6+aP + e9b7WY9fTdJZmAoE3xgIN4DsbUNBBEsfNbEcUfMjeafT8go9WB8XJ1riBkUQ2SXC + hwujd7iFzwsDQtyaEhYFXSy/29q11N8sO98sFeulaHOAV5Za0/C6td0v2/Il9U0A + bnqzxCXA/4kuGQVIQb2x7EaGxBk+6aEq005cvr9HowxI3ULGLxxebJeEssx2iE4o + puKLPHqjhORtlppjjlBpC7bnOisRkIPTGUKLV75J1fPWOSSDsU8nBz90wDNs8ArS + XgHWGBWEGuZkDaeUhNomFB//DYQQyMsDul9s/5+9FKuATr2K3bjuLHb8dU/kHpgC + sZ4mqztBL7tNdh2Spqv/P1n0TS7ktc4ch8hMbzlS75l6RwYPLVL4WcQt36p9tpY= + =e89V -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2025-10-13T20:10:54Z" + - created_at: "2025-10-14T23:47:04Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ/+LMa0/m6NvgFCnQfckQw7HT2aTuwq1Rfmn0sbqzre5PA9 - IzY2v96pmutN53TcAdrlAWt1tAx2+OiAxEBbbes9kdiTCf4OUzsZfF1npnxnYztU - bXBaANw6heAvvPaWJhh/l14ccbVf8S7WT45P1HulRfQQBqKDp3WpwTR0MxGjy88p - cmYRWa6Zl0dvaEgEZ7Avwhvlbi/HNE2gEvPrFfxEsUrWfIKvGKDATPU8+vtxCmg8 - x/X1k0YMR5pWUwwLQkGxTDkR0jQZTeGxHFb5u4mCRO+X/ofxG8YnLrI3Emw8NMpV - 4enSDg9cIITQgxnnArC1mSkGhdTabC7EKPfUjWuDUJTvC4HD2GnrRUbOwC+Dhwup - cU8VdVxOauxe73fne/HqgTgUqiyiRqA8j2VCSyHJs07SSQUS9mfDH4pcXxH26t6q - 505S7wljxaVJaxysiojcPvJjY98jRT31UibZzK2XgjvzjepjBf+brrkdpotV70on - 3TNaT0ILhTj62s3RTlF63YIHkb5tRLndaIImwBFMs3Wg5CaOJuf7oKdAPj8QHy0d - vgWaZcPCmzMPFaq3N23D3xEjJyKYXp0vkDAyNN26auzg1OF4XX/k3ZF+IbXX35R1 - sg9xLGA1PAS1Ug2icnXDR9LGWfKwGB5KBFFtob62ZFxC6vRvM1FQOkYp690ewWXS - XgFHK1Tm2RQd9cN4OSn/NedFGVpWB8IjTp2015OiAcwkEQzbey9nmB2Pf17/6bT+ - SVNSrvAWfMljmpCj7vxOPgJt44GPCTNgRtEIFuOxGtaYU7KDybOrbbuRIKpnFsc= - =ylUj + hQIMA46L6MuPqfJqAQ//UsnfUGvNbHb+Vudh7QjzaGCiWQg1fKfJYyEXOgfJs6Ap + Amagw/sbGE3GSqoMweRnSZNf2jw9Gp7hcnLsU2kI60/i4Gx+LYYwMZ4Xh9gQKdMd + J/SW5WHei2c76Xi83T/BFWgA82DC4k2ncAxLoNGsJPN8yYtiRTXrASriVtwRlOOQ + 6P7FXCJWXt+zAvlN68q7/6GDyesiHfhM7py2kNmmbrX2JU9kLq12jj00ctzpJnGt + x13MNZCB7SeItRFeWa6aUEAwzdeyUizdV9aK7lhS81czN2+SlwRNQhIAKAHAOzWC + 2p/u03LmJvLzi5FZhLy1yY9WTcQIapg9KAjjIIe9zWBIqDZOFXjO+3xqckxUW5GL + btEzysmz0ogpW1iEc2jEFYK5akaq9MixqggrP9cwZapM4EpUvqPboCRm9lu9EDzQ + CPsj/nDm+/fwmw//cXY4UvGG7rqV2j3JnoNBcIj8uU4lI5gUhx9KJsZnkGyfepc8 + LAszENEv9fJW6S2mXW5mla4NOS84ZxuvJDyGamHYUplaUH2vYRzAiqHc6WAz0y3q + Z0eCgGpJUd5hK7VHkkPsFKG0mrX9k21EolRZ38G0KorRG9Y8dN9l5//KYikdZrmx + Jtm6LNAfQ9u1vPZ5WcB0ejVHbXuhiej1l5IQGCgViWxCtJWXwFIpS/2ERxgUwUXS + XgEvwI0PzLSbo4vHeE1trTNW1rSD8sb5DfIc1XVjrGT52WoQXBB72ZsHGWOWyCpr + r3vdTn1RcxzxM4wbtKQ4yTrv0EUT8BNjYGPBcdLN0/PrFmQYvKw2deH6JdGFNGo= + =Bgcy -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2025-10-13T20:10:54Z" + - created_at: "2025-10-14T23:47:04Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAs4mO7jTUP5LsFO0HMlubU53pFFq3jDR7SnhK32frfXIw - m39xWAYu686yBAWKFVebPRh79nhbEzrBwBOXt3JasGPQULU6QcMmSd8NiAi2MPFb - 0l4BySUuU6pOfYtts1VsCYaR4sa6ChJVBywiXO4TSu6wtQ6Hc8SmQKOPNYrytqae - bGFLBZBnBrGXSEYrkYBpDewta3AU1JL3Q+L2x1OOA+jZfrQxlJ08TQs5B2IDizOB - =GTv5 + hF4DQrf1tCqiJxoSAQdAP3YSzvfgRNuXtdYqEMvTDu8jjZAs6PhCDv1k/0RnShgw + BKUuJI06W4oXp3cchwLdc9Uy/ps7U2xbzAEbUGGjRu2/pqN+ETKkxwz8d3ID0Bnv + 0l4B1l/yKulQ1Umt67YFzAxPxdo38qyqkQkV9zP3NbjX7aRTPZOHRnYvDNjodAaL + dcznEAMP+18IvbY2Qohllz84KNREYUYLHWN7WVA8DbMS2KcvJk3YP0xlMXKKuGKm + =9OY4 -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2025-10-13T20:10:54Z" + - created_at: "2025-10-14T23:47:04Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAlnwr4TqIpDBMWOtPYJVUcz/JGHSStXyYqM/YbNRd1zkw - JD9NlCdchX7vKLfo3sgYIh0PhBZ05KuxJQdpKEZi+DmSdDvdE91mKx8kICnMxML4 - 0lgBv1+hkZn0rvxHq28bIKrv6Z6y91ilYos6f0elChyZi9Ah2qhZgoxo6lKr9r3s - mTdMipim/zck5HDfD4Zc2AJP5OlelhozESXRH9aNti02Sxq+v+4GnyIs - =oMbe + hF4DzAGzViGx4qcSAQdASfYc3nVVgO+E3WnggKJ8x1bdgMdTlaTXKI+Mpmhs6www + mgZetbtHTEKDQLGWt3cmIezG3+wcwulrFDWXE8nT2h1Onb2bEYvXxkZlPnb4+kuw + 0lgB29OX0Zj1fWH2kcO6nxwvb/ZtJtoqXOLl2gpeGP8J+q/UdRE8+9dgef4KRK1m + oVbiBy2qHVrk68dTyZnt/kCz4vog/mjt/UMtNdqenywyGs0CuuPDKOyG + =XZU1 -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2025-10-13T20:10:54Z" + - created_at: "2025-10-14T23:47:04Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAAv/E5FKelurIm3WmYknhsdVbxiUWHCWyYeDC159yS+o0T - c+zh44azcmX4gulynZg1LTRiyavc07HdV3cp1+ZbwVmmRnnT1OTNOU+C1RnDfZa9 - s/fCmMzootQlfsBgD21lxmAIzLQGuWVgpSWNZuSHz0W9gNwjNpIbNMu8amS7naMt - k8LlRAQ56C0U9/SFYBUSL901hmO8Y+nlwWkjAc8KyyZoADfHPjm7TAbHpQLgpKiF - Ciouyts04WJzdEjIab3a6cBO6dSskDcxarnTyCI1e04wllXRMXwM5xA47IPMRruc - OK/GxG9YRxiWE5bEJnErdMx+uQapSWc/8f5KmWSUQeeBaXOKz3XMZnnSHyYaV6OU - oV+UdhWoMMXFYF5CV7mtOWmdmI2WMUMs4sDYwpOgp7LrhI/DA5QVoFz23K318PjR - 8oj9joUOPcWN0ExvAd4bQvVXLzflF7RSx119ezNR5HAKChJRoiqI8hoT4fcCHxGC - LZQCWqW5pyi6MKg86TbO8Miy3YUcYzlQ6Uk72zkH3gCf6RLFcdR7YMbt86Kmpx0b - 49qwRbaaWPOrKmeyHpZTnjRSKadk/pM+/T24Q/843mulr1zLiGU1eWdHFwx4+lAb - T2I0Rtl1J6Ny5Cms6HSdHYXaHN4dn13oM09EpdF2J481LyfIFAQyuDwNK/aw0x7S - XgGBZewEDElkJJhI+0OzAWJeV0RrCE1qehlzVwx4matuZTFjiZJFQhYYr/iwamng - AslyRgMOoDxYhLlGc/7TePi22RXVQOj4KEFZrU7NjEbheBi9wodVNNrB4k4je+E= - =XTdL + hQIMA2pVdGTIrZI+AQ//UPYnQ15X6EuiTexyRW1voN4I+Ox3DvhnAZhsCBi17L8Y + MHUwp3BEQksomeiFq/8u7zzNYNUZhrU6VIUmf8oSX+qZYI5RQGAXyMFRXp5Ikls1 + DP31IfVnRO27PNKjGuXrc/jLMjHWI17SMv0DzxdnA/QLARA0UF4CmycIWPiBN5f+ + B5hHqL4JyqdaAxsM/qsUB1SouKJVOo7AqKLW8ueIvVun6SaSGKRu917N7ce7JGy6 + iy128tZZcZTWbXll/SPcINJOOEqaat/rRLVvJ1gV16cqTZHsqfDYn1VjInRhbh77 + 7q4Ci2XN8RtSPXtYUjKtotcZMRYeYxIqeblYa7DFRfyQFluparXH/x4F52S3Uqwu + j8hslqbCU0LoxVHjDF1w0LJHfqaUlgB6BYcl+c9uQeVfSKjdzTqIMy2qD/7ffFpS + vb8/alB9Ga+Yj0TwYC7PjvFuMViVslDgoEtzc0/1aDqTflK7jAFDBBXVfF3KZUo2 + mTAirKNWyA+cwiUrEJBgv3iGbQr5AAovht5LQ3pVbnBUoH3/s+M7yE6M4PbTaUyp + 8bQXhwXNhuEf0g8GwSd9J8tTVcy7YChkjdajH6S/vtWsuvjQJ4Uw2YmqITCqT6Y/ + cOHIZlxIKEsYGAGEql4fxjLl9+lIv2A92lrD/pmHG74WWfAPpGeZB+DTBurKvH3S + XgFP2FY6oBVlFVGRgD84EoEg3bsB3x4OkI5nP0XYCqp4XUi7Ed2xiRmroCDp/2ev + INhl/Wjujd+nijjcpdPYCxXOLHfma9pY5B7lrBOyWZUQO+CErTZ6775ooAJDXKA= + =k1ZB -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/onlyoffice.sops.yaml b/inventories/chaosknoten/host_vars/onlyoffice.sops.yaml index 2c688db..f862adb 100644 --- a/inventories/chaosknoten/host_vars/onlyoffice.sops.yaml +++ b/inventories/chaosknoten/host_vars/onlyoffice.sops.yaml @@ -1,200 +1,211 @@ secret__onlyoffice_jwt_secret: ENC[AES256_GCM,data:x9eRTm9WrEFGdxDb8JfqLYu97NSBRvhknkEBx/zSEQlSfcah+CVNNM6JcS0Y6d9PARcGv2jGUyakuNN1wYmzYw==,iv:33lWNSnQkljr8S9uj+Eab/fItyKAH4/xAeckdpvzl1k=,tag:Ejxzaz9nkGLT/mqKF35M1w==,type:str] +ansible_pull__age_private_key: ENC[AES256_GCM,data:TrdfJFaLUBppAunBatJ25yMy1LuvLZ2rbNVHj04Y1gyFPZXjovvujqnFKjZ3eqWOI31szQrJeliRQSRPhEVuTns3I7pGHRqiUXQ=,iv:U2EWL9lBaz+g2wBnPNmecrKCkMTIXVwdjq0KcvvdhsA=,tag:no/VOkQ7ANf27oFsQdxI2A==,type:str] sops: - lastmodified: "2025-05-04T13:57:24Z" - mac: ENC[AES256_GCM,data:Av9x7PAOBhUoCOCF4al8/4BnpPHmUb1JvCv+PKrBmjPBVxW/sU0w6oYmUNjB4OKxI4615pWpfCsG+kVSEysbXtrRGp2RGqhnSKxS5l21W6Qy+IEkNA/jcA/teUGEOy5Qj1SvgNtWvXEBJgfm9eCQxC+w34JbzoTs2q+6nSxtwmM=,iv:HD3nBwmnOGP6MZdLiYv0hlNcvK5lSxJNaoIkr3Xadkg=,tag:uL01xCeeIbWhsdpyqmUyFg==,type:str] + age: + - recipient: age1a27euccw8j23wec76ls8vmzp7mntfcn4v8tkyegmg8alzfhk3suqwm6vgv + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjWFVFK25CVmFYK0VOQm1h + OXc2TzkxN05CT0thNHJKL2l1RFc2dFg5MTNBCkVuZXlTWEgyVHczN3M5YndaQ2sr + VGxyeEEwREVIQk9STEpjbDMrTmRMcHMKLS0tIExwTkMralA0akJObkVyam40SmhR + WWFjdHptbDBxODhvalBENy9sYkxCYVkKfntDDRBX94zh41MEUKgRjBeMjPXtNWQH + 4KO8Z+f195UmAn1OGC6esThcyvSaAUF6VWw6Tbsweyl8z6mLxzO3GA== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2025-10-14T23:40:23Z" + mac: ENC[AES256_GCM,data:T9laVSnqqQRfRK2zdkw/5d0+JS19o6wJBTLj9BqH/B7snV56BNOJjaOZnYFVudQWhCIqP7S2Gj0FO2TCEa0H8aedtlE8g7HXpakxyP5/p2rt624+HiFQBvW1+r5srlru4ebVKB/HMTos6yjl4au2j5UWJe6LtnE+ww4JSg6lt44=,iv:5Is9/DV3qLo9MnY3WQcJ/NNk0Y5/qII+zztUXUDQN6Q=,tag:oklBHWxacS4RUrdCKegbIA==,type:str] pgp: - - created_at: "2025-10-13T20:10:51Z" + - created_at: "2025-10-14T23:47:00Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtARAAhcYelGfxO4U60gidWjgBoIAc7QK0/pavktBL4gHcq2UG - 2wcNeMRpcwDTASn3r0GMw80a4xD1QXIjOI9knHypQ1Ie2IxM7p4tOEnj9cOaPb8q - LVFb1WsmkDqxWL7PMd/Prg7OSctFhfhbKhUnxYMVWGMppZp0+NR+g6LjgCHDLWPc - 65SbV9nYIOGJ6lZ4RcmC8iQN1vooVI8aunVDSnRGmPeECaO0AQI/idV0wsArbesT - uZ9oLjPLGsr2edjTx/LwzEgZC86zYMvVYrgVpED5ZQz3Rwdp3Mn7k+5kanwvfaIx - P+LJOi4RDBJe9W2K4VFaZ4mMn2qGbKiELoDEa6j8f1GYsQ/DeaTOrknXIYchsTuD - sqa3lHq3pojh6cEId0D7/vRRmlie+2X3waOyV6E0qlnU0odRkCsuoyQizJqwzopT - kHDb04kkj5I3jtOLs8c4xCazpG0uZTyNokwG0hIXzyoPMDHRKmal7LMFTMwcPw+6 - SYTQKyofM9W9G3t1I9Hlto0+RMlS2F9hxuIP6Pyk1gd78pC5RQlp426ZXbebiXHT - TmRFZbVsK/im0htBUZPbR3/p6Sg/aaF6xy8I2kj/9Ef9ioxrTV3C33Yi6V38KOge - NwyX8s2KBSksA6TMaipE2nb15QQ0JFGIsHdlGgzC4U2eVASf9VGNgNvwCTlVVn7S - XgGTL5+U+WKfVQJZ9v2MVKS6K8dDIC2gJagWgkrbVHNxbLDdAJCF294FveXUGP+Q - /JdVNL9CN1+ShaM9v65YOqr3ezZBqif/T5PsA9ldn80F9mNTmGEmnAbTIdobP0M= - =Ui/S + hQIMAxK/JaB2/SdtAQ//WCp5YpylzSylnJXYn8P2yi13/AUHwvGBzLVgmv/mx+wE + +2mNozb9N9xvkCqnsmNSJr8xGAyu1hj3KErXa9+cJ0qzbevzEJhQ16KKPucxWoeg + pP5/WVHWcA4blueEq+hTPxShqagtuvPzvc7ehg6ZRTJGtiXe4LoQ3A5xF0SdY0zK + amKLqWRR7N5uCrNPcfzMcnmUpkEEHqeFm4EEWkVlHePJT9zc8zSSLZeZo+XtJ+E3 + 7zhixDYNi2TKxog8xV0CjnsPopMuMArz441nrCRIDz8mrsDJZ3uCI8QoAC39sE99 + FjLCHchoYxBoqM7spUkXtYFvdCnq+mbdHU1stKWxGFLLUtncmN82yjVLUsw2eHm3 + 4b46BbZilEVSGTv4chWrIs+/z1L5nmKaQG28rtRUxthFKaDcptGBpEqRooI7QSV5 + Ly27+6+umobuN/XX1j5WcRp5NGyFQdcmNcR+HdzLslCav+XmcxcBrH8CjtofhQ0O + 4GXknjF8Sd19OjZUeL3KPfz5ObYWLioHgqYEWHTttP0QsDaHLSud9G68mUGlEe9a + InnZrWvdan0Yv9HJlZ3jeqrulf8IplcbAB8iK0KwR/iECedEmljYQr0xa3NOVT7j + 2e74xMIG73W98earu5SBO0jMRXWfCYuZKC4e2xe1YDRcwkjKtNT2wnVPxKhxILDS + XgEkK+9lqo365zOD7nMzYXAb4V9jwx9CmUoNn2XlHIxJBTdxCCh4EPmwlRYtytm8 + yrlz3ESZJZOOs4bpw315Bohz1iMA/fsTCU++IS+/QLEhpkIgvv0S2kQejnlujJk= + =4OsP -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2025-10-13T20:10:51Z" + - created_at: "2025-10-14T23:47:00Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA6EyPtWBEI+2AQ/5AZ8jtOFLBIT9kvnDqsoBEBgVZMa1NviPs33IgO3qLydT - kxjZ9NG4H/3AuFxN0eI7BI8ppHJeSGsx3UuerVRYMVWt59UhpYUlkhFNMyvnsLGp - LMg5p4XZY3Qrz5Y1zRHw8j/EgtpnH/ZZC2CSMB5Ab7bRMntW13lvEJ/Ku2fr6tTE - XpZBrKv/ArzdOYY+Ydd5HfWBTBo+HlLiKtBUfegx8QrvODjNnqtVZ+B+nXLv/ZzS - N+Krs+SBu9S2NNC+83r980wiP36ogZDYzbwmOgJXvH5XyvT1URq1axpEXK7Y1SUF - cmeiYwJGNIjLogweDALQ1KoerJqhQP9toWt9kvK0a6534wSYJalmw1aav6Crjo9k - sUzc2rFa6no3pMroSseIi2j/gio7Wnc2hRe4JRk5XYRarKWoLDV/1tdESDIBU2ys - kM7E9rQPKd7QnYfZXkohaHtNoRPRc2iqtxv5opu+k6YW9/x1o/0a2GSy98eUG8k3 - kmLZXyoFTDrS1/k4lvF0o7Bj4ng9HMD2MKYSwvlapO7IWWdKjjnoht3UNRC+t2zh - B/fKNUH4E2HjU/aHf6+OQde48pmjj3ZvNdc15TsKZnMXFOeiBgN1XQupkS9dWynv - vvPiPBgb0fLuz12wwuyJX7HH7oJTF5QpDW5U6wdn+7vYmf0qPAJEHqG3uZuRcvrS - XgF4toIKkiMrgC4f24NvfK+ZDPUVo+nVKClN7ezokutTiVo9tLuLgWLpPQn7SCpR - 5SnFt1CN8f0s0y9UrNmxoUf6RVhkay6LP/QB6RVrp8DhxoFTEpHG2Qwg+vPJxVI= - =0BcU + hQIMA6EyPtWBEI+2AQ/+JA5AejEkCmdpMkaQDVb3fQShWh90TpYnPTK5duT7mv1W + jm8RFEe6R+NztQQ02MAUspj/djd7POJrGyQvY5jDG9Tf5xYk0momgKVUWwLrSI5+ + ctRhiJgUCyewtelcLbmCIv7UYCyzFC3LkvNI2IttZ+yUrArESTCdlxy2mnsMRdoZ + lFcXkNFpiOGNn1fc8sPSTaOB5Yvy6NBGPZXUCZMm9tJir7lzGeVNalbU+Pf4zUlR + wZYgzMSJ83H93YFKRHl+MIp16mI2bNdF9BWq4wbjnOGbEVhZq/FV+9NHKPwM6QO6 + sJpRjsWzRbP5peMZLeYpt2hdG3/ejLvR7NQYSPztVvckemA875nNaqFlmP3wzCWQ + 7r+7x5WEk/aBWm8Dv+gHjY52lI+K2wmxDgnPyYGpXXTKsX8kCZzaI4LrN4fUIAw1 + JSRylL55AhCxdpYCkIJgPc+PUeIJ9h89HdaS4pP760iD2y5Mcn8NgYn8X2qSvSWG + zcLSug1yQL+c26zAjCqI7PNhawQm+eEw7OUKxDkexoMDexryBBc/lmk7t2MvNwEj + uEnn5BY3Wvh42tj+Hsk/J8BjZTtrxsRM+guSSCOlyqNfECZ8dmKhBRPNLXLwz/W4 + VunIYQ6e9FWQoBQ92+2ZwFv8UZK/GLprI7tDBjx6Vhr5j0XZxmuce396Aj7CMHjS + XgHb9lm5fm2WkjvJfiXiIbhvnuxPu5UobDRl2qAYC9TTe+rzKKH5Oae5XSbAeQiK + ZJet0m9nh9T5RYK81I6NdYyCStXnkAwIsXtPIVWpoUjOF9w3IAVLa3ow27nqFRo= + =EJTL -----END PGP MESSAGE----- fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC - - created_at: "2025-10-13T20:10:51Z" + - created_at: "2025-10-14T23:47:00Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ/+MhE8xzGB1GQehGHkz3oosrA6WcrNXzI6ZovZrwmFc3Kg - Guc4tDF1BN6Jxej9GU2zW6z/28I8vSeNgaKR4hJMAcMCYxNlCVOSa2kVETsFD0gs - QzMa7gf2Vi05PxBUVlV3NhLaxiMydDJXgSncBb5qI5ye3niPlzjNnWl6dN4LxmGd - JPaCXdIXXGrZo0gVfdz/ef9IbnGGXyUGDrF1ae1r47BGuXRr0c/ax6hcavzsK0tV - ctjwaqOEwQJG0uTA3kyGH284BSRYSQuAIuDVG5GbnFTCNCnw4u4ujP5e1odmfNSq - IOwK25/5/5jtM1Whdu5K5Ti9bhzc2wCwnkzfjzHawwDMkV5YCmz7jDTSAXGbdUK6 - J6ahJ66MaIOp8onFc2UlNuuK5a4O1M302KQLpXAvxFbwGZefG7zPdcURYppPuWD2 - KkTBGxfibM89PArAyp5G025HOubNExZoRQ2eccbo0i+p2hiDpRbGTOraGQPq8h76 - g/q21rYLG/rlkeffU0zh/0hKdOPLWY5GuIHyumFUBll0O1jK8mKi4B1zJrEypcrE - VTUcw6torSPdA2L9rq6EwQA0+Bi9+nPO8+HycALTlN6RKel6ZcSTuYxQ2lx/TRI+ - tRQNRTrZ8ff6pJxtlaFi7yqfwpdsWLMIAv5qwaFXGs1TaONAH+eDZbq6AL5TwKDS - XgEOrMHunsWF4pF7gRGkld7KTfE2X2WjwwlLvEmd54JxSwhUC9jgxsIgDIIklsya - zlsRC5TbXM5FdwQb2Amm1dNvlQxrErSI6Vt2311IzTO09CMnc5TwqXCojGtAyb4= - =rEj7 + hQIMAz5uSgHG2iMJAQ//TWaicqbf8pUtIUVFYz5ENUWyT4N3gDyefSB5Yw4dfO4E + ZVFMMolfStfC5OUSEG8hzMlPTivrbCMtn7M6SYA1JN1XNZSu6BM65YhTZb4kJ9zE + yOsWN3cdPQVNV4R/xKvxCXhs5exaeNFgSLs/fWdyk/qyNlXd7+Hn7rJeZ2kmXlMi + L2SDUIRUCDc6eePuMo3DNsfISah/Mno1K5ExbiWK4GcCTCTS1YsrrufEDj0MXmr3 + hzayA5gLhcF1aCKp0c8Vb1+K+RIsy0QJP37+IsFXIR5IemX6VEy0J6wehRyt1MWR + 0W35EIZWPEmO+y3IB4DJ/1QHwJkmSwSkkVX6Vv7ch9C97lYCeKpLFgm19bT+GqwV + CqdOSKGKNLzcaDHSGwpNxflPSG2kYxwoRoFXE/lrU5IRzI6ngDFu0gabgNXfrBbD + znSF0gCVpRKPw3mzpyNO4ozLftj+SOrI1z8mhh8hd12BgsMHIwnftUs4HJLxuVCm + cL3ONPDqLuOX7yb2BB+x7HO7kHNVueRDlGtnaY6CzBBWLbrr5Cq8xVi6I3oU37Mt + Ng7+b1SgpvHkvLSz21aNwEMHXteyldxPOyLPhdSg09sTu0CzGRm8Z/VbOT1qGcHT + U8cf7n3MUluk/QM8Tt3PKhruGdE2u0NdDpSm5LzRjHcIACo3nvlVJRJ1ED6s/CfS + XgFbFZmodF/YCS5pfITJNr5PnnZ9OD6kQkAdwf34g2MNqt89GpMQjFxp82rXZ2oP + DUiJyXYHrVAP1FTwuSmiU22xC+7SWGHWmxeo6PO27QocGtdmfqduC+FYlnWXRKM= + =yHwA -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2025-10-13T20:10:51Z" + - created_at: "2025-10-14T23:47:00Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ/+OZwSba6kCCMRQ2I//QiqTmrAkX7at0oSta9WqDHuR0rZ - 8KYkF2PfQo+hXfweKPQ5wl3225hwdc9rowW3XNZ8QX3oP3t4bXKciY+wxvMI42ZD - uQHKqhlIsFvC9IhYdIUQaM8xxzCLH6vofjFWKeCTNBhtlR4TAZ9XsMYYqsRwxWJp - VKskajQFDZnHg/qw18MkgQaC0Xbm0fAGMZa3/9ET0qnc/6yL8H8idnCZIRvrxfLP - X7rXh+XXJYtv7uRhJLUYiOm76GrBhjFRA0kSnhFGv76dFftIMbt5UsGfBzde4fMC - oRV2fA6irtv7LdA6hIRK+Wehpet9zkQFeQaXnGmtu5GQWyDGCo1o6PqtQH3+iRUs - CiVJumE0qP+LGQ7SPUYjq+XCYohMak5DnWxgVZac3SaUeNY7Sl6rz538twxfh0OE - k+1O3HkANwoow8mBvDig3UdkvSdmz7ilsc0u/8IcZjGieQ18dmuEjIAuyu8e23kx - hSfQ/P8Ym07NtUmRpB83tM+2MgA6x0NvhVkfcR8MQUTsYLX6cr+llyfu3u9q/OCm - uVMs6BdufsM60yshNP5umEUucS27UwfI2GqnIKzCUt4PG4YtZZs/zhljDKxq/B6Q - udZktQE+X7CBRpBO08qAGi0LUk0ywANHXgJaQvAiotWsxNS35SAhmIrg0pU8DwLS - XgEVbnsVLBPrZ+7g7eleQuCxyZ/hXoRkpC4ZA54R3UOVUuUJqXv5iYTOlz4ktEQm - VmIBOXS83I0XXdtSwzXJLYZFjRhPElYqcQDHz/JPuMrJcfVJ/5XNgmb4rrNh0I4= - =43Ft + hQIMAw5vwmoEJHQ1AQ/9H63NmlEQroQsh59o0StQvIbe4HIEoi4DuzOPlARGlSts + ELak698PHUOAha214Fm1aD9rwUJNQudUc4NmkhZ24qq5ULImofRp7Pc3ja0/eYqg + jD3vW/8/padrh/kD12WIa8vusL/yZmUSTIr2Dyouxk/myQaX3/bT8HX9SUBMNple + +vHEi9+QSWTK+ituhtGoa6O+UEkt1eAPXMGLa46jbuYvdtzHuyWq5pqvokQkfWPd + nm1tR0eRBryN85kM5OzYEBUOrJ2z366T1ItKSY9DwFqF6XNkQm2yykAyKGNAWhmL + iQ0jQl+XdMWxPurW5wA3BPU3E2kvbbY2obk4VadcBbiJWruPRQckRHRbu6au3xyX + j0sr/gZ1FnnGZlKyCA5DmDcfC3zAlftpHJlPn3RCZTjKuN2xqDeGGOg8Sxbp2qBP + JdRQhnypOr21bfipFDtRFUSTzu9AUtbSdbYGBRh+1tWbV47hrpqPuVuF4oLF7/nN + 15Q9OrhDESaOoYaJCx189mk/UPWySGqb26B50+Rqw2qP1MKrlppWi9bODNtO1u4l + w0WkQgZ7lhyDMYNJ8Jw6dNwTZhQewopUZmRPYBnN3U7huNr/+BQeAiF1GsSduuGa + 1Vy2tjnPphRWDZ1gU4mDVZpw8zpamxZooq/YOOhE9FmIWoxjRw2n288IwHfM97DS + XgGtuKZg/e7c6mrWZHTnuqGQmSbjk+Qj/uEzjFrfKk3fdelD38wbM+lY49lXlHXH + 4IDUZOU3e80YyN8S2rNSYR7DaEb7Xk4iexYSoK8ptotw47ZdDTNbT1OBf9olc4U= + =M1Sp -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2025-10-13T20:10:51Z" + - created_at: "2025-10-14T23:47:00Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAJcIypJ1e45UuZQhRrxTwOPWBbCBca46PMSe9m/jECmsw - QbNtYY8BHMiA4xoWh7Mq+IAFSKpBnnC8G03rxWUE11zFAlZoGKhfLC1nlAPHKe1K - 0l4BsNZr0utkNNSzIZVSEuXj4ZeiXlPH0W1ZN2zqzJM14iM+zcE7zoTji64RWpFP - gJI0PnPAfTozJRR01kxkS835P83TA20g5qETCShhfZ2pdfk/NCXjbnWzyrPzRQp3 - =6NS2 + hF4DerEtaFuTeewSAQdAiDe3AmA1YEWBmE0IQDQPUhmazg4sLkvlhQgQdmRIBUow + E2RIHYKMDjHErEOSLEHSUZuuswuVe7sdvEi/sezQT7DgrTppQIAfVoQaWG60ilPE + 0l4BjDaIQj3xJZWRryClVQ6J5O3tizSYB4fuAmx86bK4X4MarpJvXTRgvDA1Qn3v + PPG/5jCheQ/zx19ufDyZdHs8Zsa3SLvxt/J9tryVfaRuAdp4RqvoKwXPtjej6JT/ + =aT0u -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2025-10-13T20:10:51Z" + - created_at: "2025-10-14T23:47:00Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/+OfU/K3KOJETZY+6eok9W5mnSe+CfgY0YNl4U1wV3iWOp - eN8r8oD+cj2L1c/cjB7/AbnYdakUj15JtOIK/sQHgqgMjrt0/Qn85696DV02vhjH - LizofnsD/GdZp10Mr9hVqtldsxZ+2hpv/UVv3ijxCLkbBSeB/urhIspRDRLVclJ8 - FfGUFbXhPZvsf2boNMH3IAsXumUf6X0CXZorVPeUfGEtNp/upEmdJ7RVyKoaNbSh - lDsqcnvez+6AAB8KzkBl3cIcl4RcnniyVjhwCSnrhwj4AFyadhFI367pt85eTnw5 - LzchFBBCu5ptNVaWea9MsSLUT13Mzas4TjzaEyG78oJVbRw7T57HSIJZoNtxVrG0 - hkNTLIvSAC9Hoo2CJYNVmVsmssfxjgmw16DdqMYd/WX4mTt7vfpFD1ESibRnkNGj - hNqfZbQ+j0rhTFUtg4WvWGx5F6CgB8Ap6q12wibTilgT4iVEzJ7y6TfOAOTDZ6cK - 8WImS0+5Sc753XlBi5e4Dhz/DtGNKg3kosACN21AsyJvMztPM+5BDfIj9xkdZ6bT - zmvkYBYJSB0SGkj1DUXdO4tLgA27+X8c+G6pZ8ezSjg33NHR89wlgIeKzMM7Y7Du - cTLfsfmsJRZ41dC4ShiUW7bD29UtBPt3G5xWAym4GyEbaUc+tdad7zonfANBS+zS - XgESquN5xawvfQdXdeTvNlyoJdOrj4jnoQBQ4BFDJsFCPmGW1XJM9SYMy+n/oblQ - 9FND78u1AyQNbYiZR8/XJSQojG3RarERmC95zYfE/v6J9ZePl3IcFrzSFkKMEbM= - =wYBz + hQIMAxjNhCKPP69fARAAlUg5WdEYGT1UG60GMi22Y+jI6Um+QOn9Av4FBUvjm+/N + cfeiVWsXTuufOZWSENtpVWAmo3Lw7tJyfadMacqs/6f6fWQfP4FKaVTn8hXaffIG + 4eycc+SfyC+GRDt+3OS2fnwM+td+by9fIdIfRC3hdSGw8xcBTCAuSl5PIsC2Gx1n + j2V2xWsccanEEdiGQOmFkoG3qLZG+pSEvJW7N/Ree91snFLxO5qWyuPOUNw2oDSN + KH/HZEbjT1uR7XD77PQb6qpIE53wbQRaCsZY+vLu3/R+dng/EyBo4ytEQfR/hSOi + epkX/PU9b84Y+hfdjwtfdzt3q+NOcrtEw2MkBlYatJUfoMBSvF94bz6jXUJFq/75 + OTKVh4i1bcjoD0KLe+umynOBmL2GMehNARGY8YU1yYe8TxkpIbVKRXWs/84qI3OL + 139Rs4zlLPPTcp9/zp/KAQQ8ek0tPOtrYcaAGDLMWdY3jkB9pc5SVl0jn7nsJ/Po + ZtfaBlzjBbqjOEe7DtsFcqIrt8ruE8fa20qKyP4uB3D2ZEvhtUp2wLBQbT3GHwbS + pEPBou9HPmvFE1VZgtS4ZamHgDar3oJnlckB8DEPCbPQ1ui3CfafpHqs9IFI+CVN + XmfRB1nPtdaNlC4ZmiW4wDnGQqGJbAYkhJTu0pPtLvT1WPqFXC4DZ1PJEsUUlKbS + XgEh0ICVLrI39YwUc5rWTiEDomXxttlRu5hzLvXxR3h07oHaNWm0bXyZ/Sqwectn + hq/H58TBsFVRbouH2aZvi5U7OwGa7UkXeECq6LimkKTS+ca/7Dq1UPeXPbkucW0= + =hfDU -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2025-10-13T20:10:51Z" + - created_at: "2025-10-14T23:47:00Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//aUjp3+PSRB/eg9NPc4F0rylFKYrN5wNgBPGqMVIZisfs - 5OsJZv+rp1sLNDoEFF9mShN6sjDgNlESCrC54v05y1YKDoc4v1ByBrmFsOe5SNmH - 4a21LLAhf8AVUgYjsNEumllcKGSoN+a7qpXsXK8eFZaI0twLT875CTfgECKuUwMQ - WckrimOCUEtELOnSXcbX20LK3/SeqFCQP8vmYweMco/bSgduSya8X/I2ccLxFdBn - 3xJVJRfv/U+gHNX1aTS3W7T/hTWrYfdoYS02JcESgs8qwixmdeh9jOSRvyNghzlx - e9FCeoCCl22/hdeAV6/FAGKZf/c1UdCw9iyQcZfss9jbfMHXwb7oUyrHFZWA7cox - 4GE96EIWO13nRiNhuwuZtCvpQNObfNmBQTQCexDsCyWbqf7Ugo/rxK1qZy20GQ5T - kkYXbiUfpw4Dd+tNdWBLuYcwPGzJT9u2UxAIdQ8LMC5q0gPa3BIHOEeQehsFu3/H - WgL8hF0Nlzy2NtVDNBwWoCpC0bHP4eYHjZvHTSYvdm8fuhsYLczeUqozXPTaPVxy - qTjVIe+Iub2GtNTIVbLImfz7suraeEu2EMFykSbABk3Ai7Pr+W9AbwYaSCKNgoBl - UdSZVIVUmK60ir/wX9NFXdasKGcD+9QsNSGEyUrJQlprGa4qK9d+UR3dv/H0RvTS - XgFjVJcrym9yFcMxJ1CyQkOsGeJV8GlxhRo2/sZ28oqmyNAWjCy0+ctuNAKMYzgs - HtbCncFw/dkMT3taMWByxWPo4u3mMDkK9IP9ok60w7tf63xQYmYy90R6H/5js64= - =bM86 + hQIMA1Hthzn+T1OoAQ//egG2BgMMGfN65oNaTJCcQ1AFp+m7J/F5zHHQwK8J5NbE + lTLNPclNCfUXArM64NjHKh1vLVe4yF8TOGh97CmhH27d1eD6dHG0m1EnoOGOawep + +MD7lMqhw3x2qODUB2bbrswmmJbO3C7Y9gh+K2i5UsmdFgv7AwBOBatJsFxv9B0m + eXmekvc/T0rZxRhzPAtlCS6ZGP4JqKELgBDe1NG8upeJW8n4IyYESwnNLoJSta5H + AkVyV5eqv1LnQGyMqyV8YBDguzZe/AABvv51nbVl+HM8iqA+OM6SrPzWfIMorJDj + JJr/xXgJ81d6HWoLisCU7uYMlUyl/B3dCPaWlWtfWb0edf+fiUs/FoZzAlbrzbkf + P03NmYBxvu/dLMrxdqJ/PGnVnW4nr6J3OBRqnxHpz/WMtewZRcli1YXuPgj6uU8m + edejnwz2jkd20Ob8lF5AoPyZ8B21uMsPZndKiNFj2/TjmxzvXUuMbfZUyhYbrRXe + VqvopsuOT/WGjKWiTLQPNN37VMyPIIsxgp3jdSGTom1F9Un//iFjBKOJV6Wo+i9U + 6bawc/44Dzd7FbHlEOe6Y9vSjo95GmE+nM4Us592s6V+nbDDoXUq3+SRzv3R2aeL + 4ks4GVuBl8s1vZzSDO/VIlnoXUmA0S9/AAP+6xsQEhfAB1IrO5qt2fRH8gSd4HrS + XgEHDQayM/vGPnBf5YDYVYS9aQMHzrJm9uEU3zFjoZDK1smV0Kr+TOFT7HvpppLa + 77z5btgan97JOSpq6S5bhZVAkJplbERmXdhfDD1nVDlpXcrdDa8GI+0V92mUYDA= + =Lk9e -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2025-10-13T20:10:51Z" + - created_at: "2025-10-14T23:47:00Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ/9Fd95ys+j2usUMwvOtC5kOxEtEE5oBaQFJ3J3KdFEVhzj - shBjHlWkMJQmbk9DhXPlcop8qQdp0rqF4RX2KbgH77Aulh6MBTQ6GUGWWW13sWW2 - Cv52adz9Yf6V96Waklgp+WtnyLQjGO46QH4vReCjzE/mjy2MTaVaoDEdN1+x+XUJ - kze1DkVLjrOh0UYK1WFwmZdDA2ZbObyMCmgZOKMh+C59GKSe+Vzom3ulnmBpoIIk - 63QdzX4X6C1HlE5l9JOW/09da37hQrCjGvvyq6SByOSsgjAEt7Ib9GTSspVmlcLz - Zv+xTGiMMFMqmnhuBz/2BTFcSR3CXfa5J/bOHS0DJ53hJF4WSsz/1abOiW5VX8ou - 4U/d0iCb3mjieJZS8NEYJBJGrvVm508PriRDm7SiC163ar8yuOewQtnbfXZY2hvv - NnbBmjwHh9nxTVabo9eIoVR5/ZrQ381USPppGCDGtP7KewGsJeyXcOFKFploG0pp - MrBanO/ad2QTvkAR/GmG/23KR9mxwa7GJEZDMsGo3kBWjgf0EMjf2rHm9ODxdvJP - av8pCn0k0f0g3muC6Y4tSB+vnZ2teUi3RruYBCvFNFRLhaMmlSgjLVZsmoMJnAiC - iDHqFWhRbB3ep0T0nyRChsosH4pRCBR/m/rh4JrOndxZrqActMzTd/V3d0UI2mfS - XgFbi4mkURuALFlf+/bKnJnv51NHbG+EIynn4sFjJ2qVaGKThOdJbxOLqOiMN9z3 - TF9LJrPWahIWud6/M8vX9i7u7KfuaXdfp9taC2tw2DSm5WK9uA7+H0AtuY5Fv1g= - =BaqN + hQIMA46L6MuPqfJqAQ/9HFIznjs3/Xk2alVzJBNeVNpNaHVa0XzK2voyw0rgaP5h + qwTJ8p+xWpEsc+el+E7Rw9muGdANA1o/TbdHkimRa7XNTbJW9Typ55THVifJLct0 + 6cOjneKCOv9IBnzF8G98dHGekPK+MBhaRdMrjRUtSeVnZqgZ+emw+CiinxGOn+us + 36dJZiSQxqtGfCR+mo6rPsUacHh8J10HNEAM0aP5Rb+8OppVGFJeU5KqlfbiazNL + 98DznZIupx2mfND3MHzfj6v1t90jh+W+RpiIAKFtPebiBCDOhTHkJSLRjv3KVAtH + 2zca5urU2Whs+ploQVud5k2z0+o97kCWdeFDtnXOzwA8yZOIYcFnRMlH3w8BxMk2 + lPymLvL9rowP9r+HHWHi+b89obCUjeXjZEZHlRFJAV2pE/XMd91LUcgcJVilk0n1 + tbZbS1z4cX8/mkfmQyRMd3Xm1mKh0CjX0YjTXaiTbTgdhMFWUZM01l1mbsw93s/x + i7giC/SnX/b/+HarfrlwWc3mHRDsG895PHphf4Au2pCOq2KzcQlmhXFiIUdZE7tA + t2ND6oEnuzI2LsxW8U2ffBcSthGa5UyURCtR7i3mGvEN8UVVGbNazMAs8jrvb6sC + 6WdlT2MqYve/AAGDrjwi8o0Q6uIXoJOiopzCx2kAndUPMJrKAWCyG8TxV3gaBofS + XgFY5YuiKX04DdWgslS1NbTyIZ/BTAdSuYCujDXxKzx2Q10NOgwNnnE4HB0aVOx+ + SwKN1i7ABHvYGrIL55+fz8eFgLkpv1MV/dPUEAKjMWsEq3emmDfJm/MrEL0Dp14= + =5rI5 -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2025-10-13T20:10:51Z" + - created_at: "2025-10-14T23:47:00Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAnCWM69qHNONCr9s8GS6BCXCtOLFpxeCZfzA7jOZVg1Qw - /nNKYjCP6FbEyy0C1ho30O4zrq48Zto0/qGb3VLn2iXpanlHXN932C+I8rTs6HSW - 0l4BPdB07w+0s3/y2yLFJQ+s8IeWY4y6WmLubNgdFfZizbp4UvfWfRIs0cMpOaCD - UQzChZSP7SvM2laiD+025SQ5ryN3p1DxEmn6BURdg207MInBs4UyzZmAxfl7/8yY - =uZOR + hF4DQrf1tCqiJxoSAQdAJmnvghcmfK64sCnqVjjFj7GpQk2gOu9MCxOcMMgcHRsw + Eavo/MAiHqzuT3lSFfDWhvcjSL+jimgw3yqYMoEzTK6RbNNJHroRAOunuQ/fofMf + 0l4BUf62EBKB7XFIO/Pk/zcvLRtvZZSGIr7qczX4IgFxt9VSPljmDOnSnCKPR+rD + ieSVMMq28nlAOwm1pnyH3X+qQvDvQmyrz40UW72I7i+T1mBPLXqdleu3YypbzgOv + =TcFO -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2025-10-13T20:10:51Z" + - created_at: "2025-10-14T23:47:00Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAudk8kyoAg1AzLdhTIjIPycUgF8I6yYJWs9ox/kLLLmYw - gIVZS1m8gNCe18uoYnNYdLCr8s9HXvOj/c9hg+ZwUnd6pqCSn1nQ4Fc8evURoGYS - 0lgBvVS2bVCTqST0qTrelYtPIfDbKeszGA0kNSVjIgiL8t8mJDg03ZJgm5cw4Lg2 - Zfxyg3699siroPSJ57cPOM3vLYIQQ8JmS832qj+WNRB2s8ggr36fPGXk - =Lnsx + hF4DzAGzViGx4qcSAQdACOXxpkI7QrdFaQjtSs6pjCjH7BWY7oydAWvXewLkgXcw + Xu4rDdYRln9Qu3C9fPcuKPkWGIGQzHRGgxo811iJ6hSx/TawgIekzgpXiORjB10j + 0lgBlem3eflbCRqCLzB/LTBk70nDb36E4hmzlEW7+YvEc7YVv6eB6+M2+ztsYHC0 + qyaOm0oy7IPZz5Wo5Refu4ISa25YH5bvZcrWdmcPMhP1B5OZ4YOZlVGN + =k/e5 -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2025-10-13T20:10:51Z" + - created_at: "2025-10-14T23:47:00Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAAzDme1irtt/6nz5sxWuabWgo6EDqf3eI7bDY0Q3Xatb2g - Pvg/CjB+dLJft56Kte/lnWjVkaaKTK7aIsQ0aI61CvWpmGanPe5U7Z4WTdz86TaZ - aIuxWvS7io/oUILcKk8u76V9cvunfHPUHDdzvQUvoEeAyOl5r13eUxfHGNSXyGly - SsFOkCkUaPCEKdZf6F2PXBdMT76jl7z4iiM0Sj4HnDb+Liw29WtJsVbX75TszF5d - ngDjobt5odFSm3Ea4faZx9ONNHUS73QuDtidBcbA+79tUlHwLICpRZrwI8Ox3prs - t7TKERP0h+lx0t+a5pqqxSNbkoZlDGsrrONaWeXBocrvYwVs58nMu7qrwJjd2rhn - AeME5mY2MIez7R6NYlXdLAFmfFczOVHgVX9mtawNPlgZjhmQFgPiqJWWfIvL8d2v - yAvuSd1SMT3CNYYIQvr7DLc2xqJb3VVrIpG1s8OW9OvtHRA2gFSYssNCmgIFUaxu - nj7eL6wGsZ3BXLZeSmx/LEV4OhXER2YU3H8zljyk/OJ7a5p7fVa++tQXjdLcBh0l - ssh52dML5270t1IgoM/vTZHe9OitqFj8cplSt5DZP6M/L1+/lPjSC32/WJ/aW0cf - FGSHucAYp5Jb9mWIAczLJG04VXGmvgo2qk2UH+VFuHNYX6591oTOpcFXVYRWfTHS - XgEZaJVKSZqJpmE3zCCUMRBLFF52YWSo4bDEiA/6THtTJkOgQ6GFUxrjolv+QFth - c6hNvbX8jRISpXfKYiUavDyT8Rj83/5weEB8c2jTxI8mbx+QYSmG/FNh/upDtLc= - =U5vk + hQIMA2pVdGTIrZI+AQ/+K3BKZ+sNFk8To0r94cCoX/PVjJcmE4GKUyBde0XfuVTK + fzd1lRBBjneuMvkx9RI3F/ZxSniOdA6vuengbFN4nl/Uyi8b/keoMHgnKYt54FtM + YgtWQVd2JqWeJKPWfibaP+DpuU4wRVIKKTrVTIN5pe1YZCDG3Zj2P2an3Aq8xbio + pQorYwf5ilS3YljEkHU3ipKeNXUzbe4zvvHi1MdQT4MCZd68rUECKqQi6KdBVsth + IlIPAIa+Xi1OgZaoV4uFUUh7fBXHggTSYABvUNxcGTilFotTbhxgCO84Km3kw0z5 + I+VfkmmkEuQCQYN0u5k038bs/tkbmWCM5os2FvG2ZWMTni3K434GY2y2cHpol9kI + wiTxJBZhXacKrrT29L0ICHge592rRwFOrEhYA5vANVSrAuyoxURlVtldlFiIB/z/ + dF4NdWCikCNaV6bPe3bqqcB7WBv1K7OVoN213xYGctySu43vyXdVWf/uFuzdh9Jn + 60G5ldk3mIEvz+Obz91kmRr8b0dtxNxlVKbJw4zPxDm8YDm62yuc3N2eE0VMMOYw + loFI03ahj6H2C+aLJIfIffW34BhBxDhkjtaPNE9TZuv5fu67XscEdR1hLgZFC8gQ + JOVrIU/6UMAY1jYkUnyVQbNiYwq7Zc4xIO7LlFGk/yNDyDFyPO6hJMt4QcI/jqvS + XgFcYnU/70kDn+ivmCohGl1TN5odP3DZlUKT3KFvU9U7rtMkVomSrb7dNnrxXPHU + C/R1EDc5cER5nP4tX6VGehEfc6XYGQPaqHDo7dkdWnvGNSWkkpLMrFzMqghW1KE= + =fBgJ -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 unencrypted_suffix: _unencrypted - version: 3.9.4 + version: 3.10.2 diff --git a/inventories/chaosknoten/host_vars/pretalx.sops.yaml b/inventories/chaosknoten/host_vars/pretalx.sops.yaml index b0a4262..f143970 100644 --- a/inventories/chaosknoten/host_vars/pretalx.sops.yaml +++ b/inventories/chaosknoten/host_vars/pretalx.sops.yaml @@ -1,201 +1,212 @@ secret__pretalx_db_password: ENC[AES256_GCM,data:T9qw46sR88tcj4NG1oK3AfjreU4N1cIN0w==,iv:g2rr7PbFN9bFDg/w7vZBiuMB4p2j2uu0eQAyiweuQ6Q=,tag:0coJNAbT5W9gxy2fVOhuoA==,type:str] secret__pretalx_mail_password: ENC[AES256_GCM,data:HJrrmdDKzity4Fzz+JEj/kvddzHpRbw1Yw==,iv:dW15nSyYjzlFdPkQoZmJ5k+poWyJZ7dW5Lo8IFjtfMc=,tag:AZZObQRDMMoQgnPmqo/+Tw==,type:str] +ansible_pull__age_private_key: ENC[AES256_GCM,data:CguBtrNgimXc0dBhIHn6SNYhmHY1z6mHXdb7bmAFUy5FtqAmU/HGTxIsOZdn+GjwHhk3idi4my68qAkyxiuvHno7yQ+HTRgPl4k=,iv:kFLI2ptzZi2UK0MLEyFpYdvJ4o2C0zaQ1K6fowYmG/4=,tag:8hwlDVpu+HBm+hjNAdiVyw==,type:str] sops: - lastmodified: "2025-05-04T14:05:04Z" - mac: ENC[AES256_GCM,data:sO7OHejtPDQNt3bfXl+W488vCqaIicE/iZgIw6dClwoHZUHDNlv/V4aubJk89vELCs7JeOYocqZhARrrHERUxLtQMf+YguA2fBYZOVZ37chtfIqYoceq9ygzzzI6/PQlO5oRoe6HkASJK5t9oVWdfWUmBfWWWjBGrsKbUGnlPOg=,iv:p9NZw6HA0oj0PWJYDIjUKzj3DAI4ymI2V7o9knsvjnE=,tag:AbMiE6WQSPkuY2AEIcHAYw==,type:str] + age: + - recipient: age133wy6sxhgx3kkwxecra6xf9ey2uhnvtjpgwawwfmpvz0jpd0s5dqe385u3 + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBFL0g1ZlpWWmgrcUE1bFhU + L0syN0c5WkxCNXNXcnZoa3docUNBN0xOa1Q0CkhsL01IWElmU2tCSnZ1L2dRTy9w + aUdrbUplVyt1eitqMU9RLy9mWXJ4Tm8KLS0tIGNEYUlLMGdXM2h1M1V5SXkrZVll + dDRBZERmNjhnMDJpRDB6dGN3aWJXS00KGWMfPBbO1YcyLacYRZzn7r2ZdY/6O0rJ + VDP2y05evxOvQLG7wWkuk0tXfYkBglmS5h/jmnBUC32toDv43IRejQ== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2025-10-14T23:41:45Z" + mac: ENC[AES256_GCM,data:tw/zADjnc9mNcT1sEGDeCFr9RuyPsgj6mtcmDwpYdquhdfmjvccUBwly/NFFdHAwUqmL4l5R2xAFaeKxiEO03DT9nx6jujDvgpKaWyiXqgPnzMvft/9SXdjwx1+4COmT15WQ3LfTQbTXAJH3taGDQeRJBPRYFcykscyw3S5/aU8=,iv:kmCUVVT17MPoV4/tGqxKGeXuf1eIzX9qqJt6HL2ygPQ=,tag:+v+TVU4Nr+ZCqLxWvWWjdA==,type:str] pgp: - - created_at: "2025-10-13T20:10:49Z" + - created_at: "2025-10-14T23:46:52Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtARAAm0F/Zw60hawLrD82SGr4spPY+fDKhyHBwenuFLaQsFme - ahf4kedykaTlUbTWODAIcL7KkDhG6RzuUr57nVD8V3i+hO3UPW3Bv+rssrABTex/ - PzKhrfK+oFcE/abvzMfMIhjxpC0htWa3twipxmBANsYER08kftbZc+DS/pvWCYjC - KlzCsaujQyWaWrA/0sUdSe71S0oNSDCUIYQQbuWG+h/FFqCAMJ1yXLbjfeQlwZba - c8RYvh5Zr+fizHiSJsYDwjKYCNocaSygW5I/mpbpjGK7WhleGrcEkt3Ijvb1K1Dn - J0ysspmPZmOhV+uuygcEQxCQHL+0oWp82qu7AwcnYrnYe9KoXFTmx5GBXtLDxOYG - sxc9JQs2gI9cGSaQbVtE4BrNaKuCDFLIAy8RBXC6m126gjG2uIDv626ONx39HCd9 - UBeDXQHRoq8H73pncz0RPb5Q2yKPbnTUw/C3ORbfE4c70oioIvtA6ZRtnGA+bkl9 - x6YR+Vqc08qwe3/qyKEnHZXhY7KEw1L6qK6ox7iLFHmYylNccwZ7Y5qMd0b/QhGz - 4uIIdJEI6TO6KAloSKrATlcqt/vnS/9DGeI6Ad2fwt0SpzHhW/r90cw7aOL0gGl3 - CCqiKOxj5pjIIvUoD4nVoSkvlzMn97TBlir7GQuKMHlhap415N4WNsuLrE06TOHS - XgHUs3CX25PSJSuVk2wyblHrMqsNIdfGDQyxSsgS13huBksWsvlbgNixNSzkFzZS - DDJAksal/P/a7IJWopnR22TonZxPV4bANPtxucBdjiKSmXCfkQuzTjm3QOzW0ek= - =8BaF + hQIMAxK/JaB2/SdtAQ//f6qoqsPpJs3l7V4u0n7kx/0XwSH6oPgAyqjza3ZY3vPx + aAEqhLe3ZzqwLR5nAJ0XexdwqlXv/m1QOLJqvgGK4ryT2cge4mTXkV4zg/5bTHal + DfHah9L9a2HOOj1AxG4aFRgj67NwO8lNvDwn5cAxfj3swAIqst6NaUQdRA2XWscj + FBRKu37avIvcKeEHI1UsjYfrXJlPTmoaYp84+mJYo3PQG3M7k+k9XhNFiEtu/cRB + P9GJRZrWtFaK88x/nfV2/bPXDfjb1ieqXIm4ah6fI/KG+gNL3hSCtdUbC7ShKrAI + CTzCI6O2Bd6fXeeT8lppSUL8A59WXU1Yw4YMrwOr5vThF5Zr2LTo4i0JMWgZYZhB + gA7qizM457Yrsq6Pn4HvorJJC9uiHTzg7Mxv6Q7IrbtHkHL7CP25lOluFh9YgXMZ + rPfRZoCts1LU+XC4n97KxwEpWeasykeb/tW+/elRql//AF7lZMJ+yaUdXRM5JFny + T1tr/eIN2HljrVq1YbVONGmdKoGtJzI5vFh3qjGj5lNilq3u2+gEShway73yQv02 + uTrQcUMgIgIIe7uwxScuQcdVRajpWnXA6nFYMvPXRzZHWng1Hjo2RuKWT1e8qh6d + 0ImE8Y5Ypc3sMVdU33dQHVEPzkbzj48QfjrAo0pmRDA8xD6kbQ60tZPfv2wChj/S + XgHdXrSL48nqO9MJR90s9nKNMtb6Bru0PBohcnwDThH38GmiUWQ/EzUeZRXXtQYL + ja2MnZ8gY7FdVQY1SYirdwX+dAF0SQhxs21dEPComfGmRP9ZbtycKqKIIyFzDto= + =/33I -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2025-10-13T20:10:49Z" + - created_at: "2025-10-14T23:46:52Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA6EyPtWBEI+2AQ//YjtcACzner31t97RDu0LVzJkLfxyZbpAPNth8ZoIdpN/ - HzH3aM4aid4zYc6pE1P0syuvg1iVirTS1Vmh8rxfdelWxGOjuHuPp2ivDxSbf5Ed - U0fgCIFFYPKbimP7Er0Mkcd6hv5hHIv2W1IuZXVgXM+8nvdAnKYeH8mUlqn4OLnf - x6LSxmkKs9qjaliOeg11/wcJZLk1eF4VkjKDIwyxFwI85FnRVUhcZDIOnhp2THuX - RBm9DgyRmd4kFw0OpdktAmfqG3fRlFzrHz84yYjhZ/BqDRA/GGk8Rd7E6Z4EaAHb - mz/0CAYxm02Mh2+TM6OgAtJPImZ+GcHHapnPO0WkcfWSihEGi4MULxhV12pSaRYU - 1hTycZcgVGOjFfahXTnl5ZNh4974vrLcP+8rRkSxZbKNM4P9UXGDgjcM1cTtOIGg - K9X76gVNMdTRt1y6bHRVcovm62uzyHpy4k1prJq9LLMg0rkuDKimOztjplpNrW/I - Dc4ntj7XJDXUBLduvagrxGxezOVwGnM+HNvTL/a13YQggPJaQyJaIxhtA4f48GoN - iHSGS60Je8ycDv49BdwnNmwn/IiwhlyTSD6PJJh0irGsO1H4oho21hdapKdWQmKA - /drz0nopl7afCAqWn+TTE2DXmaF/BbZmrE6Z9YDrtoxzP7E9PnytiL/Slrit2l3S - XgGkI2AKwfuabADWIUt+FuqJp+bVeATW4/vT1TpdknjltE+euKF7T3g3gOxuku4/ - s7hGyK9LKIAwNm0j+urUz2BqyFIW76R4dC2RU5hogKZNtwZFiL4CXIr8qBJKjPo= - =qs6f + hQIMA6EyPtWBEI+2AQ/+Ky1VwXtE6UpmNBZA5yaC4+SPQjLk1xHyLPWbETGhAOVg + rOnDLErDDmD1ND+wHlnkG8mCztyjOS+w02SrDUXr1cjVzUFr4Gz5Ud2H4FmZQlfV + YVixRJzpCCbcqKplk7MPKMJnWJWK9TqKJrqwVEQ2dppf9eGl5Uo6+DyYLJKBi8Q6 + 1SdCDDJO8Fr+DzuGqcUktiWAqTZV623rIe80Ux6eFWtnFzUTRAXaeZ5UjI5n5Z1I + W8bD33ks+5xNi3i7dI6CdZ1nAvrAJns/U3GzRui+3hTsRyUdmWVKAnJv7+ok3YNV + c4asPzNmbduXi7/YIPQm4lkiyH35cUtcOWpEu3BoUlX+4q4fe9vTYRvD/RbToVoO + hoaAVQ8wq/PXfVO6ZM+kT2wjrHGNPi5w14pGXQpYUcqauArWdqGQIZ0q42BWuUTn + RY1CMmdPyp64s1euTMC40tRXi8XJLYTfGni0hQWG7CVHlvwmZpOTWpMKu179zLCG + wpK22T6lTqcMqB0qaDJoODwvXTVyRcvrkTVziUbEmApyiYWwpSabHltLkUfTMVtq + Sy1Lh5Y0ou58tx/sVj+uKJLKEPhAQL9lsSffB19HUT3E69J2xR1kXqyTKggdbgTI + mWdzoAeOnmOfr+GEJWD5w7rgt1TRBuzovLRVwazOzH/78L2w88oKYB4kbCSF9ALS + XgGNO6J0vV+qtMU1R253gRdX1raRM1weMkwviwKBoy6kU9nbzMcXBRzBovPw/FjT + pQjL5nUT8OHrNi8U2Wz1fir9vx2gORGPAvzevoMocKTFkz/n7XgRB5sSLbXRvzY= + =NP6G -----END PGP MESSAGE----- fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC - - created_at: "2025-10-13T20:10:49Z" + - created_at: "2025-10-14T23:46:52Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ/+JG2zH0EB/fiLvKfC5ZpEhyG8u0Ri37TpNUfVejUAnDu7 - gK19ih7g+DgxRyIoIub5B0wQz1GGMEQ0fhx3yJdLXMhqtwjfRdJYcWV0PWGT09Rf - 5fxcro3KPxyuHgWggsEPEQcrRUBFqHCiNasvsRREIwvk9O0au8WYzD/MW/pMCuJ/ - yHXsbYIYMVEVrRhwsaUhnWoK8pbyYnyKNNKWEf892MOwPpsJLZds/rsqwbTlAHK0 - wRZfSRE9m3IM7LPPih0RwFZv9Acgb6qzXXm5VWpAHpct4C8U0DCZzTF4/jecIRbt - qHh3ZCWuPtQOjggdh+gWeHyxnNfKeT3f0YS6nwQcNXj2FU0bk0L/aiLua6C1ucqI - NMwhGD4oTXCc4O9H5nb7UFfZbr5nYXBs4RWfM9yMEx/6osZjG6Cfskb0vxAn5pCh - tq9zAEnNwBiGgf4toXzg185keD0QR19GwqhJAZfLI4aoX/mTk7siTCE6fqsvnptM - +FG0hqb4hrhynTIYTiLEkJMvQyqVMkz+g5SUl/ARkk1JLw7lizOwq/8lKuASXvKX - nHNwhc/9DOBfBkfjdIH8BsHTDtPL00Wfl5ZlKfTaFvWCtmkv0XCkbhZ4qzwAa69H - QSfxDqjYUCh7O4TUwMZSin2LLpVgivTv9ased109T44eujS2mzLwYxTGlFyNXcnS - XgH92E4iQj2Kkt2hJcRyZEQsvYLQYDjp4qGzim+CAagzAv4bkjXedGJs8VVcyXkL - Q9SP78uiF3jQv40HPRv79aXj2oXtcpaqJln0UGGAZrVbonsbxvGaGPE5hFLzuwM= - =UR6u + hQIMAz5uSgHG2iMJARAAzWniYxjHypfhrEOmfkgkM2f+KEEJUSQbE4T5Jj/tcehH + ZQ0K5d9Lj3bwOk4YwOl98+Et62UYTxwSIoZj9afw+oRbhx/3wpUrwIo4yHI9rBBb + TBHccyYB4nTYIc7s7VzwM2IQtr7c3yfZAj0QiynSBbjo3txgys1tTBvojTzjKk8t + LgFjkvj7O7md3I3Kbqy5efQr7OJFjGJUgIK+fv6OqEVmKovFWYRkKFgBAlOJa9gQ + 9BpK0Pt32JpngV3O7UFsV+IMCCjr6r0RSK8e1NETlbCGOFjQt9Tvr4ElhYIq3NeN + ldm2AR+Lu4yDAa/bk9zN1TkEQsFkyV9WbrlYSw2CAwH80yXGdUBuRXRBbN9kkefr + psQ6aPlbfNR1S7zk6NSflJ3ARubRPzKI+o5Zx6QZwqX/ocNSaf5Mg0hZkEZe0c9x + I6CD7fDqL14/3n3RFhpsld1YirxwKazaAstICiPqDnK8Oaaom4T9o8qP0ArH+s9u + TcgXVv+Gpd4NWZLnRM7bR1TdtY21JrkXwb4lMGcIp3RMdlvM0MvdJt37BcAhJ/g6 + Drc/oSBzbodVC0rB0fcEnEY/Qzh/qQFSV3PNCJiDFAnC7GI8hocT5BMKRFXfLu4D + 5YD47fSGjMRVM+d3AAMYPgvacnN5wQ7yr5gyC0CfQ15ZAf5IzwWYKjrU7CbYvGHS + XgEXKHbpwzPdTABe6mYPJpptp+X3RVyBsJIUl30TytcSNtJG++/crv4+vzI22cfZ + GOg7Yucxhv436UnROxki2OQfAeunJogVg6HiwXWEiMByVjRHy0TxM/cV6Uiflsw= + =y04N -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2025-10-13T20:10:49Z" + - created_at: "2025-10-14T23:46:52Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ/+N0njIeQTZmbbpRUIVcuFQrFS8h0e3Ov6rpI4lhYxGOcs - cE/BGgVr3TpLI0gOoP5/vuYEPEDG7f8bjvUuJ39D8Ty1MNXbRWxONh/EVUZe3cSF - fzYEVOcagCo4gX9VEV8EFrEnbmnQYXVxGRsvTxA+T6G4JSlOOjXdf/yQGKG7CsSJ - sySr/IJPw75C5NWUbFQ2UvSbfG25Lrfx/SI77V6A0Chs2YkcfRjz6oSV/imb2fnC - zu4NWLNLBCYN/N4XfzDxlzWrDNGV2e2bLa7OZckdofpEmbTlcovOhenJw4xgp3St - sWnUbrXyXcc15Sa1/EyJAH+l6I2zFXEWeR2tmocF+nBqo5708lzpGke1cyTqqYcG - qCUfKl6NJqRUyoNhXpiVK1YtEMbIKhynJVjsupkE6IH5UmXRoEEjTn1XPhLh6IEz - FO9Hylb7uJM+a4WQeE7PpsrwjbR/B9WcYsLsa+byqYg6nIqznwhpzd99afOj11Wo - TfcL2VWCP5jpJx6kAtuhbDlNBPdEwvUnx15dhFcLpM02HVJNnQd8zOjODa3ICY3j - qwR5aCdbLXsxw3xsWWMYt5jYtZdVaytGbzGvuEujbeY/yK85tzg18nTxlVNLTJIb - c2qRAW+SfneubJkXdiMxZYrzD1G/w/ZYljmd7FcPKv6IQBjDqxG93EY9T8GErA3S - XgHQaMSRFV/8eiewoQxAuGkXQ4kphk1989wnCaUWPpZyAlOgSHuPJXkkps9rFZpc - wLcocDXREBReUb4B8+d8K0L+A89XzcUt+offd+qB6S5XEG4XQn3TnS3f4Gstwgw= - =DOdH + hQIMAw5vwmoEJHQ1ARAAnbCwPtBktZdw4lfQ1OdRhhc6NLEsoOo5/F+cUpld6Hop + c7IZ2Cwwgp1bJAKNKbGg1VCQgZG6VXLi7zrOJ9vimbZL7IWU8bN4Z9OKn6dLk4Ny + 7uYM6CTadLMdjShHSmvTloPdQDNEE/ryTiXu2kDTL8A1/B9mVZe5/S1gMaAgMwNG + 05aowADBHSLKCPH7a7MFcg4Lgv1+Gt+mHU3Jscoy76HIqZAZSSTisMXWbRF2hGt7 + c6fFrLVrh1CLZBXZQotpFEe1CwVP8+4kYAbTAfBFGIKOsFSDlyJgb70QTZEg4qQq + q+TmBZB7fllvrqvZw2rTggggAoN2M9yABBoWbX8Y9THF3E/aSTPTNI01auks1fmN + Pc50sVtlVy8vqJ2Z28whzWDJBkmw7f27bPdKg+iISOCXT+yqt0NTx+YeUAHmZD1Q + mogeSlQ7jrsUFQurlhKdnv5FEm0s1gc2+oZzC9IOADJ8w5R+xV8gWr71feDgHNnY + VnEetmZx4MbBcesO07eUdu7Sy8waY6BJuy6/+9uNRMSM6kTx+RriObd1umwlpCW4 + 0msHtIcJ7vZHVz0RfRtqcKy2rea/BC8A0UjHUn1l2OFmfebExtgZdHQiH9ne41Yz + zonWgQkceZhO2FRW5nqE5yXta+pp/pj0Aeb3/q/kKQ8vZwEU+QZBSmZ9j9qfd0vS + XgF16rfgIgVv3PZIkMeZ4KRhV3zVLCMyMUAsvp6IHIq8vn+z3qbqh3P3mj2bKEx8 + h52BieO56a+Hdb+Sv2J1wTowLD0oOSJhdYtr3EcoCyQWHsfGP2MyyQbUJPh6feQ= + =zrLo -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2025-10-13T20:10:49Z" + - created_at: "2025-10-14T23:46:52Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdABetSMqsBG5cMDIKkpeHIckaUfL5ZkZRYK0bZ72nW/j4w - mEI3voDWxlSEBbJPpqlgUzETLlr7np6xj0B5DRuqpEDNRQ/n7mQCiDLfo5nQzUt8 - 0l4B0bcur0dxaexJ6Yl1UInHVti2E1zKoRZpneKPhMttt/7qv/lRUdyn1rMV622R - Z8ZQEc0E3L1+H86704A3dCXf1TbyBpEUfuN1Bs3Dlx4eyPB7oPxacLq5v8FqhJMz - =eQ2K + hF4DerEtaFuTeewSAQdA8gTHsk6g1gSvlQUmqaf2mCQIHQWApJaS/fBeX1ZR2lQw + nDLf4R06KPbVLpCWNc/3qE5H5T6InWPVzO/NOvz+XKjGj3+cFYj9gdfXNzPeUVsH + 0l4BCr5BOG5puCZK2KmwDbEvoqXWdxMY98uW4hjWNvuQjVmvJIXLVkP6FriTHyoQ + uIFKN4VFLcyuQwbWKhkKQV4Mx13/ZMqNy+/Ujp6t9NWo9RYoZk6peeq4aneXHONC + =7Ovg -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2025-10-13T20:10:49Z" + - created_at: "2025-10-14T23:46:52Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/+OxlfT+bq47MU/MhjByVcsCrIG+3uDoTBEjm7LkCXUzS5 - 6uOPpqDeTn9u6bkjKr+mpo12kmhGltOpftyskePOxz5qx/AGi1g32FPJafitK8xb - NSM5qxaXB47QKT9MA/DlSn/tzZI0YbZCrv/04Y2r8zxFF5lHZF42NEBD5Q2le2+k - IIC8/f7zYNni1aCPM1k1B9YyJLFgwJmX4CWyEFvdeHeK9NxrFD6z9t1UU0RP1B87 - qbteFxjaYB3KrkdrnDNMyVCVD2dSFzWHpO2uuYoX3RV9fLmvr2gn2jBM5jthkJNI - wSUJveWe5WJi18mRG+L5ST4kHxK1EGi3S9OHeDgBW9tJsAplDyTngscbY0V3tF2/ - eGM7mm5NuxIO1yQoBhpJRZIMFVOMc3I10vZPN4dUNCRtJ7uxN3BVD0ozhuhRCz82 - c+VueWfqCXWj9s/XvrtQu5douMFGlFaK1itpU6wQiLuIbZR2ax+/xwrsDr9lvmNb - CxvJdiLZOuO7SFVFyo18wg/OxGMXIXyxFwt4z1UmzV/fPw5SlFJFRH2pRrIYxdFc - mw6NwFs4WI2h45YqaQDE8bNKIR4xohn+px2TQxEpb3LhuD9R6Ix+3uAaz65yt1P+ - szWbZoMp7rrhU8gWVBlFce9hiuV8mEOfFtcZPhN5LPfDSKwXdLL843Ak11DW4knS - XgFpKd0vjhx61yjkjjpBzF+j7thXnzohmvcwW/HukW67JV6lpifbktgde0QPA1I8 - zIc7XUmJ5efjDh/F/sm1mr09/ofCXFRSnGPbj8joLKWaoeqfGy27M0fLCYKJLX8= - =Bmty + hQIMAxjNhCKPP69fAQ/+IFvHpX7YylbazuQvefBZjcXCJ7un0G5cnhdXNAcXZ/JL + HP7Jpj4reMN/g84BCZigN+NocPCyKNhHpSqIL1oRBK7aZMCysB1iFCky621vhs/M + 6U7WnqX/nVQlkqAkzHiqJ1Fdc4p3V2gI0R+M4Q0OTDz3f/V7tBVauDJTlbkNLgg4 + PxT7jsm0YQOQ6Hz05K51YRG0ClN6UY03vLZOQLThHVxqdgqM213GhfE29PfyRyDv + iCLEvFw1uorE2IyNAfLFuOAM1It6a5BWLQ3fjCctW/BI3+tux+eDYthCKuKGcxAS + ZYHGV02U0721Hr6spPhWITzpj0EMkGzMMUjLcBQC96BIaz9jx6xvl92+4wDNTENN + PYjWb8UY40I9WYFudLe4gg8tbe5djoYYwHGzp+R6Mlgy871IbgXQN2j7Ll6w5Fbp + ztF6sfbMZg5xL9E6CC3V5NC306nejiTUevWmbWaZRfe/MKPnoUfrKw7idBj1ax0I + HtYUNBIu1Dya2j53E6Vn0pZQenO0jvnogMeAQWqdHSZ9gfbdCVWumiLFUjyrVTWP + KU4i2jmUYjkh61dO8PyDYmdbxz5OhI2+NPfz2X6my+TgwfmI4FHaTj6yV6qPb6hN + upPps9cpObKFxtvVOclnzKmurW2mCXymEy/Z52ggQtiV4l4IrT4sDD9qlmslwEbS + XgEdub4ZZMFM6IqboRvTls2Od7bfX93Xb70OrpCFhaPq9zpraT9UzZWg9rs1UrhG + tmO5j90uxIijYHpkTtn4R7LJxn6rWr0vUsfrEnCYuVaNPfZ9uzJx/ml8CB4Dgzg= + =n/JA -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2025-10-13T20:10:49Z" + - created_at: "2025-10-14T23:46:52Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//TSyMcl09q3mBXtuzxo5BtABtz1LggXzQXiV2+/C5eetG - MybvjjqZouHBWPFfzv+PFxbVkuOkmMj/OfFt0MiZPYnt19EOMW1FxpsNkgyJ7Z8I - lnqtnlVqsO40Brso2FxqP/FgknxTaxMMu5j4pjIaHDSIA2aHZmcEOjPJFdfAZ3qw - LzxM0PrjTxRvzE6rgMayljCegDsCjgse1Tdg4XtvIV5rKINGkfLiOLggMx9sDje6 - XOsQKTIN6P+ESFWOSFe9TytQgs4NQBGH94w7Nwhce3P/Y2CcUqR/Mo4ns1gvS6QU - RA7kzIi35AUUy4r0hymGwaPOGdUF86ceXxHw7nPVrvPl1YL4WRWF6xeuz3UREL1q - dlAJ+REWA1IMw+hEs5/n0kxa9RAl5oAtAGPV1urc3VerBX3MTww1dqEr4UAoggYJ - UE7k4dDS8FQonXFNwKE7n7Y+5cDIgLXiTmwlgOqDO22irwHefuZg7p+LoQIY5mOB - bFNf8s8HLTsZvJBMl7/Dlh1CiK4Y1afjtgQu2SiboxPVoiutV0RoLcfhhsE+brw/ - DndNquaDxG0CK6p1OZjN5CE5RhhgfDy11aAgYkfo4WB6Vsl/HFHJf2BC1GFa+MNy - p2jPEWus2gujvfMa4SriZCTGgO4r2s1OWwiaTZi6X6pk/G4MW8hSaLaI85HAF2nS - XgHab+EbQU5l+7jBFrB7ClLbHun5v8SkUT1E1ZyN3ET3fAsFeTASlqqq3iCBpOQb - TeT6qjXi3IpEUSuZBeWVfM2zSbbaz3txcuwQwXotdI0sDyYzxXHyUp5+aPJoieo= - =y5X8 + hQIMA1Hthzn+T1OoARAAuROL9h6fxHfaAayEWqm6HZnGT+7E1KgKDeLD5+nqjmT+ + I0oekBaMKnwrkGi5S19fgfae6zi7UaelnrKmJkIvpDTrP3R2CEq2o1MEbus5jziC + FxHRqPZ4+ZLwSSM8yLPI1xSgrR0i08N3+7SIwXIkiluXg9Y+Vr/0xo9OX/PK6JCZ + 2xept3K2tJW5+8Xr1Vo/KlXrirEASvu2DLP5Ol8tcAg89MQTW3zrgCK41RWoyD6T + RnU7bLV+d0Y7w1wdbnbwaHswRQwv06nksWf7ESZNt6rdvIEJlGstErqgx5HkRi1c + jFd8r8L1ODvHAAwEal9RXlSyfWaCquNY+0iXAxx5Mf82dUMSw6ghWVxipn8bBTzq + AvdUEBTsbwOkTdInXFPUHNbSbsADnaiCNsFpDy4IJFhTpFXee1FNTl0zy40Y06Ac + 9nzaFWcQ0QcYVzdb3gHDzlXfasRpM/jePbGxRV+GPVvJeA4aTXHf865ssPBnz6zy + ySu/hvSI0Vs7Knf03BwA8AiQKXas0O0xxs2oxo8FhdryQNjOyR8BAlRG51urDp3d + gmTIrX5YT8jcfQh9gWcGFL9TLpxvw5AJWZczjROxzs0Sz6Sf7a7ii7rRQqsZaOM1 + Hgzt2kqoQmF8p8yplheS2nVMsFTctcMlM/wkWn4QlOMS0A7ciI8q54Eh90o4igLS + XgE4kW+C9CPoDeKOgVBpRltKn0kwE9Og/WRsvHJBXqq/zIwAG93uK4icFNEFesqc + sDBck/n7Vik3vsghDBJnH+NYTGyQHu/sRJ0jT7r/1u5VajiytFhx9581Q3qnwMk= + =I2Rt -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2025-10-13T20:10:49Z" + - created_at: "2025-10-14T23:46:52Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ/+NNp8TawnZK+TXGCg9lzS+VbYFyLYHYqAxdMnvZwQk0kV - gTh1vLRrtgm1WBSYtZLqAnKKMKyUwRzqMjHjhTiAyEL6pHaiRu9McX7N1cZ6zVr2 - tavNwU5GyflsqPFoxxvjKLDinWv23+LcO75HDAnZ7nQU9cV2M87byb+Yi0kPAorD - vOv8kvxIfbLFh+TRsj/w+a+N1i/EJ1A3EII0aoq9GDPC/LqMjpFJmywqX3iDU2iB - mcJcQAlD7TNiIRi+cEVVhY9AIDjB6VnU+ITzKf2ZRlVkYtSoNATzdEhhcnSR1Ddv - cNoc6GxIN4a8YF5b72FYmDMJNZ0HB+Ttx8Wv1KYTaQZ+9bgmfXMx3ef/bTKxIWov - NXA5bSDmG0jqOpV7E6f8i0OShrjO1SrdCCGjeQLVyuxzvt7PxBKiga7gU/ekznzC - p9M7ixNL6jUURGHeU7VJDX5TTMXhaKCr8vkFGW0PAf0Q79WI5kZFZo6L0nxJB5KR - J9bpCH/9qqmHIq7FmWBSf7URx2Qnq4mNABUkQu5gBCbb3BnA/6Inca6zBp2AddHG - 4b26JOhxK6itCYxzdY8y9GlxgHbUwXts/e22e3C7HPU7D/7PkGXv+ElSM5/grJaJ - ZMyCZGZoYk4xSVlT5Ca3ibxd5R0b11jBU98j4Y3Y1eIBvBp4CFRmuGHgTkrQ3KPS - XgFRZ82TLSMA0AgEYhZx+CBl8C2j7F+LXTcQw7SjZ40CX0Md0Wmj2xQWNM7GxDaF - UYFWpk+dgmTedZnwgHYwqSuO3GlSE5MaTDs90cqXC9qNib+KOxq9TjQQdulSNCs= - =6ejM + hQIMA46L6MuPqfJqARAAu1re71AE2SZ+3fLIS6GhCojz8vKkrkgGke+s8F25ThOU + XQgvd0oWKzWApaohcbFvpt7ROw+OWeDuQZWclA5js/i1qaAh/9O8stDPlfEKmWOx + uWzLwD5On+pT8qG9DtJezj9v/A/IUmqKp63pO1eQwWhZk4RKzrVdmcZ99OAcwm+P + 5qvYuT8gvJCEnANA4cOcfR7POmBq0Np3NO5YmRGUNcjNjpBiMdUnjJeewU4/YUmI + glvkc7wzXh8lQ81w3L+bIl5DKpu0jAw8UPs7/jcdQeTPrfrVzEXVzJdK0cb7aZ+J + abNxEDm8YP20WeYHq5bS/fGeWEhoOJlK8e3dZoBeEM2MFnN6qDgKMbuAYtsaqYkf + hsSM33KScHVKJHsY5j23fwubxtWoVpiPNWqs3dR5c9I3i1BvzoYKPQeQU9l/SJmg + cs8j0CIIuangw91Y6JmViJtlm+2vgfvTl4xox+ECDgiRZ+LQizzhodfa3fodDmUG + jXA5s7iJpXSonMLnQeydNim2UwyN5YSUyC+XcIkRBZzKZnyo4iiXINs8dReprZka + T/H4lSNdpCobFu0DPJ2BpSa2Z1laasrKD30OMsLf42xL7jS/Y4w4XJKweTjQD6S4 + 61TKOsNqhgs6IbV/sF1Whcy/zzMovLPIv8vhMmI1XWwdc0Pg5i2PjtKzPnZ1LuHS + XgHE169r4eBvBatgPpP+RQEXG+DtQkTjvScFJiOBJKb4gkTPyPb2lOW54PI4DgT8 + v6qT5/vLY2z2/hqp5rryX7uh3AyQkS/OgIEsSRGs8EGqDD5xTPPb7q2jSoechDQ= + =labo -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2025-10-13T20:10:49Z" + - created_at: "2025-10-14T23:46:52Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdA59wAmAWKpEi2e/6Daw4V96WPthNmQxIXw+H/+/G3LWQw - Rr+WSsmwhzN1x58KolnrfRta55rxBzE8tGqs0LxrEiv51PkWmwQc885M5ViqWTbG - 0l4BVbXKdsaEXjEhn9ccOs9J0WhQe7YdMN+NOwPzRGSV28zD9eDwxs9j1k4v4kX+ - RNgpfp9dgKlck1gYIlTZteiJTkb5fvfQYPZAfQB+L8MawTOtzdKEBUHsC8kWWC5u - =jO4q + hF4DQrf1tCqiJxoSAQdAlzGw7eJ19tl0mlyKY8RX3nbw3YnD+HTDa/MKvTZR7Vcw + rzippnMP3k43C41VEd4li0YsX+y2N1jhagIuH/i7UmCEJRt7Twcv2E/S6cvPLNAb + 0l4B2ZvLw3dgA07vH91SqgXo19O6QVPpQAisUGy86thEl1fS2yFog6WspaiKe7Tf + r0137/wQSxkgnZOOUB4V+HOxf6IO9VYOo6MX8RTvu6w7CMh9kFYwgR0suydi0bRv + =NrMm -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2025-10-13T20:10:49Z" + - created_at: "2025-10-14T23:46:52Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAa1I6oIHWuNa5p6nytd5KF6aXy+80v/F4hYyh9h9MWD8w - D9mJKnKztFMkvu3e452vT8KhPXWOKbVVpU4BHW3lrNC0yQGaDIwIEpCsPFQ/W3iB - 0lgBIbmEigpaEP8Edj7xzrs/79Da7Pjl7GtwAB/A+iM+tT3bnr9oG3kYYxhPJSKn - 3VKDoNh565yMFp/8b5hYPA+HPT6hdjuLxfxRmil2eIegEox4i5dPjaWh - =bo9+ + hF4DzAGzViGx4qcSAQdAVZ6M0UQYg6ou1mm94d88BZDObl1RdEEw2AUlVkywKHIw + Uk1ZPOs+Sk67/yTMQtC4Kx7DFD3u255JQw/OY6GK9Rceu5/vqZUk31D3w0A1FBmW + 0lgBX3sZvCE50V+qRdAlILF0OfeoagfrA3pnOpAME6qjGHrdrzmyzJSlpYsN7aja + 953m7SMAzX15zLs0AjmOoOIIbnf1ctcLjmBxii67SzW4PJUtHzkc3YLO + =+Ubn -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2025-10-13T20:10:49Z" + - created_at: "2025-10-14T23:46:52Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAA1B8GehpJz0AOrWDaHLzXn8hjVMH6UKwUEwBGd6vaz4PO - EHhkZAqbb4zkCxW/6XLBMf6p1JVf+llvBapB6wZGdqdThWOW/RS2i2sNbON4hAac - nSVnPdiJdQWlN1QEMAZrbFqOrIoXlxVX+he8amQS2WNYPwRWEBdXuhJOe5S6OhRb - lOFM+wGtc+PdBB/DxnOt87FhCF3g4jq2FA9HQXgDaFacA/K5DbZ+Azo0rOGsjRKi - 2CMNAWNwMv1IL+EdqRVajRMPxHg9Krq2VuBric9EtQQhCC6EqyFd6E8LLjp7Mxtz - cy6vhDscrfOL3Kr90o3zyhAJDuLFcz1KQRgYI+iuq8mZ5MGcr0Lb1qu+7JXtlpdR - UtjRwXU9wT6ooSa2jv42z7CnPG2cPKkMpkiCvQNDw3hk5vyOdyNCh9C2KBomPDIM - wtLooHrXgAG31ESMgPZxNvQHN5SQM16xLAj9b0zoIsMdWZNvmFXxtTJtk1GIbgGh - K9bDUa/A9EdSQjZP3ojvsuGjHeyMNSvk2V/qf6xvj/Ud2HYAgzXqh2kEos6N2T9e - xjizBkWGN15XAxjqlb7ffgr4tMymS6O3A1h8P1oq7vyU9SXhDH1jjciJWMXFcNv9 - d7W1XMgWwI1o0iYNBzBNnq73ovOeSPasIsbIwXw84Oe5OSTUed0OLVsRhDkx+kbS - XgE0W8RWzrJywD+o8mEuUACWAxJB48HygYK/cDMM4zuCdF1IoNnmR4yYyffZ7V6w - 6Kj+SibkwjfCuH50XSyLpLTilkFa43/EW0dn02aI988saNfKHZnTnlRX014t//0= - =uo14 + hQIMA2pVdGTIrZI+ARAA4sgYlM1jPEatyPSFWcgEnsZ3Eewo9vCJIXtkc/Vwj0ME + Ckf8iuOqhiMEojywmyKwxFMRscr/sDW2iByoJYhsAh/rp3XHG6mZczp2/3NUx/vy + jnZoQnwfjaDBTBKbFztttcgDBc2NB0MnmbmzP3n8Skgay5sTNuimM/f/ePq4oGOF + dZ9eva3saiHNK2HLFgryvqq/CjnhdzeBMJ8ArL8Zg/LYljwFWn5avo0mMsA98f4N + uVUjZ3DLcPKFEEu/Ooh3Sdch7wfIYIZpgo/SOB6GDC544temY9l0i+R3tQQSgd28 + oEBI6z4WWUEjUX6mZ90xUcNs7r8dcPPjGfezOq5wiSNmspc89d5UFyIb84BYkc8H + fG61KMUgTetcxYWbkkoOLPofRapjTuT2hzC8tt84u/UKnDDL/B2RIpbKhzhf4mKq + pWZsTrYaOH5T9xphti7BEceqzvGYGxgybvNV7KtL95+N2bV8NdBaAH97muejDjoJ + fzLUTMf2VWHFOtn6vPNigYBXv+1xOpLfOGwl0SzeuckJuOSutNfxmfylbrRdsJK1 + kAVDQ8cBe9A9idMtKnwCreTt1IbAY/JQFeZ3Qd4A1NLraT0Yw6PlEqdlpOAvOVL5 + wvCTLI/7JIRQLvPrWFGEfvOmAmIRusdycaiMf01if+Z9O9b11YxTKYXEGKtZLejS + XgFShZKa07VBFsaq0+RVjsYQi+izQHvD/uCTr3zZSAqrCt+Iph88gwklNmdAMosd + d+cZXKZK24MaJ2at4IJQK1f5e/I7YdIJKVNvTskMUAEkkG/gK62+ZBLnEy5wXRQ= + =SXzD -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 unencrypted_suffix: _unencrypted - version: 3.9.4 + version: 3.10.2 diff --git a/inventories/chaosknoten/host_vars/sunders.sops.yaml b/inventories/chaosknoten/host_vars/sunders.sops.yaml new file mode 100644 index 0000000..2527b0b --- /dev/null +++ b/inventories/chaosknoten/host_vars/sunders.sops.yaml @@ -0,0 +1,200 @@ +ansible_pull__age_private_key: ENC[AES256_GCM,data:tP84jDYh2zeWjf7wqDoefm9zaeg/Q2TWUyIstOcrjYHgrZdGLk64skLuGyH5q4FxQL9QEhe9qBT+AAxxKE6fU630/M1LVOR4Sls=,iv:I9W6KxIoisJFFMtOrN5u8KgnsmuIgF9RvzWanLNGVVM=,tag:w9bhDahR4Ai4/nLLeR58lA==,type:str] +sops: + lastmodified: "2025-10-14T23:43:05Z" + mac: ENC[AES256_GCM,data:15TRSKlDhjQy3yMcFhz2Den2YorcrpJmCw0BVl10qlG8u9G7Vw/7aV/hJnZdkCz3w1ZkEbNS6DCKxCLs1Qgf2SEPaG/cRraO2mcl+YH7k4gb5LMzu81fRkbCx66B4LG+DY8fsAJeO4mxui2m0ZAHb2SNFIP4Q4vdLav3jTaiwAc=,iv:71qa6JTc+S5MLynGc27tx1WBGrpvTCSCoEv01SZnPF8=,tag:ju4WP1MK1/sWw7TAitzM0Q==,type:str] + pgp: + - created_at: "2025-10-14T23:42:47Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxK/JaB2/SdtAQ//epgi93j/qmdatxdSKVs934quCud5WmDHECz6/DY7qMn6 + Cw5sBvNZu0MljpnpInQMrdHJwUUi54LhYOcOT28EM1DU3eYvRBG65TehWtGU+Hxi + 3dXLyoLoFPfRhDj9F4g6ikQkjd4kKsJCEgIvEMnA4JjupPkzCn3vm5DqsfVdk8SQ + NKLMZ6rcoP/cZlDF4V7q14NWLRy0SUFc9UPor2HSx+nmqjrWIx2qBzkYYsyb6S2+ + E/fhDJe+7xKWpehC8/KD3avd96VdM3ldOEULSloytEIWqByEApWmmsVPn19yawnQ + BEV7IhKAWdRzli7L2OGI0szg7LDeXFQ5lrZwBxNXDIPspWX7FiL+9YspjrLW4CSZ + 5YwUWqr02LM3gRCQm1awtzxprqv2ik2v/Wu/vOK350ebU+t2hxVAPyF8vFFhn/zW + qxb6V66Q6nTq/92wTB2j5ocTVGmuGdwDWphSqtkEAtDhiYtvooimwlxXdi3s+zVA + cnKBym8qwEeTElDxhzOTaKihEI7wTFIbsuQ+J9vdws9N/8T9D9p3yHep/k7Xh5Bl + b00/c5cH9N2dCsodpB5PnrFOUN3EYWPqwCyugxv0rXF//tuAsxTv5jH/iGciU2pf + mZ6lYRKmNAKIRLGb/bbpcr3vSDPYMByiLQX6miSoHo5DRmEZoST3zYyqXI5Ruq/S + XgG216x9E+rGf5hjMg2Wm0klPW8otmEPzRq8+Vt6g/HjxbfZgzOxoQSJWxegMzRY + q7qlaLkCLrKDYdWj8tZKOq1VQSJJ//ydctcVXaBUtPNY5bI7w6db+WWrVY1/2q8= + =+ajH + -----END PGP MESSAGE----- + fp: EF643F59E008414882232C78FFA8331EEB7D6B70 + - created_at: "2025-10-14T23:42:47Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA6EyPtWBEI+2AQ/9G2lWzIEOinsE1jffxwE84mnhPEIkA3CfxI2f2nE4C+K+ + uql+uH7NYRywzm7+KaUD/UWkAlqUhZhR4vVtE6+OXfuo2tzRKXbqOjIU7cFLe+5M + Ii7KiHqhyL49FNcc99UeT704hiFqqn/at9SOnJJ+OVYmeO2WCmhG7g3PXbfw4IVD + fOps8UKy54viVn3ZmDFpUfUUXptazWzaYq50cJeq2AWVPPcjoT+tgrmWV5zg+n7L + sd0RhRvKZpjHPjPGVLW/9umQUOORLqg/FO+rxWndTpOPkczdo7lOPZuk5EFJlSRh + cY4xNTiK01cLFjMW8NxlNx8gNIS4zR8PbjNuhWyy2PFLV31zTuguvvcOWag/eQ0t + 1rz+EB9q/BnL8Cjdx6w/7QnepYy28NS3f7rnkA+l7CsQyma4s3qXytph9KkQCyss + AEceVgpaSMmUJP7OOJVTIJwy2vZLDEJzPYKjH4OVJlX80gJC2p9zKhr9SKy0xAKF + FpWp4xL+KMNxiDLJteOEFpKi8W/cIgq3w5u0ahCYY+xPZZwe1/ZlNqxJm01NMJUo + ImhMu5UnojHXuopPfB5lMakjfJGAVTCm0KhAI2jDbVadea4QnWiqrlqIb6yYySYO + kXpndUrhQUDZ+zpZ+r+1OQHxVPH08d+uXfWRPdL3rYWhfb2cIJ3Cy3Rv3sasPfnS + XgHz1dM9Xm7ss+uros2yow5RYP5RWGgiLWQdOoN1Akv0X5TdCvVlk5W+L/tCJlVP + n564Gu2SmIS0XGo7Drn6TNWtAy7DPtVy0wR41p67e6d69c/tuJOFk2jg4csFviU= + =q5RJ + -----END PGP MESSAGE----- + fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC + - created_at: "2025-10-14T23:42:47Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAz5uSgHG2iMJAQ/+I0yJHYWn25u6Q9x6/TCfzeLErSHWuONLwcyIWm6HA7pd + i6jqxPkQK67PEps5EoPDrvdoqCLOV8I6K6z1hekFKHzR5+dHnckQDf3dYqWuWTOp + relbrYD/ir7XppSB1VUMWng5WG8nDwgtPY4Xw+bXCCuxXKcB+7t7Vat8rc7OkKPd + brobX/fVhu/RikDfrt5yUkjLIXDLtHYJICcFvL0NWWVsSGtXFbD+H8gaNE+pErVz + Ydx6Fn/GnDcSrq39Y+dPQ1Js7F63AjmFFRisVGXFFyP08Agz4jPxM2DEuWo/W/L7 + kNuYC5Y6S9xBv9Q8ck5k0qoNgV/W+aupq4gtk12DLzIC1BjjzC2XLVMqDtMkRusP + G9iWcX6Zma7A8NVuNRN/3/6Xgwf6yjhnpHZboq992z1QaPS1lxhYUjujpq4I0lPV + aHQS2OMj81XAnsxtQH/PAJHpTQigGGhUrYYj5qwegGSQ8mxoRA9nHMToiITSKO7n + MjpQrWsNMArss3p54XyqhmaSuOSNy935Ph/GMn8oT/OcTMjJtpftQmwOplS5HgTk + 5UR6WoOBGs7LP3wg4NMsheKbIxPhNB4Fk07SqNw1Q4ZQ3IWx8DzRK6cEbgQzEpCo + NybZEsb6tKBjnh+2bMuPt6its7YjrJmZrr16KsCNAgatwmZvtfm6+rDX4U6FjijS + XgGVHaQ78aVkwRkDrb40jHLdmIASNfiRi6jmRTBzx98HXdIydws++UmutEljrWEl + Nd6a+HHw8I03Wa6PTDhUHbhQJuLnGoTNuGsdVYWMGXnGGcC3GnqMiuySs+JFfWk= + =fn/Q + -----END PGP MESSAGE----- + fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 + - created_at: "2025-10-14T23:42:47Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAw5vwmoEJHQ1ARAAqT29AodqPmwNNxo4dZrbhIduLYQ9mUzIG/nwBOPyaNub + 8tUXxZMXvgSCvA+73KqeoRP9mZu/7iU6qcLWpjY9bV1Uc2HBfBjFaRGbcRiPs+7h + ygSXG64oDSOLLbJb/5Bku6Muvvec/0BUEmnBlxGKl7C/jGOmvVothWxnDoaK+8nM + 4AdM8cK/+zOhuk50E3mnN1km6v55CuMTxRTKsVtUjmoO+2KVvWri33JPxh0CnIzy + s9IduKDTTzviuGaK/mv7N5SFaXQIwv8lX5TtgHQI2I/e80wf1PVd+/R9lsblLWOm + UvI3QbN5NXUAreqomW/bXo46urx2JeJKLKbbYoadhttmfeUjjrYTUkOSaLSL4uD8 + o9+Iqtzqo8cQj2XWIOLPixJWqJf9SMTi3zQVEhHb7xc3CUgtKEM8z022QY1knz+W + wylR3a7F0za6tCm1jVrZWsMMJe9mnruJPF9LoRduPUzPJ5dyCN6njBHQ2nabKhK5 + S5ntshFMi6PP6X+UzNqR3MIzxw6q9p0gfL07Ko+3q23ZOgzaSJdN9vqhvFd3aBRz + F2OdoqMwqKYohGO4PjPnGhh/3gUURjZATllwTr6dii6ETz66Wa6zpDvqf0228aAy + VYR08q1t+cN72sS7f/Z4NmyhKzGTyxi4Zvi1CFhBc21ZFXdokqVu+Pmw3sS96gTS + XgHQoUiGn438PgirCPSjttc4yrjIGuNk1TPXHo2/8wsUUb04HuhWJm7TW3WZUDS3 + pnejbmOFdbYYNSJy7Ocdmt2oxX1SHvA9lBcTAOp86iBJIG+VOK01S2QC3sXqNLI= + =wFVL + -----END PGP MESSAGE----- + fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 + - created_at: "2025-10-14T23:42:47Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DerEtaFuTeewSAQdAQ6JWnhF64tLpYMQaZC3vCyG9HU5kQdLbRR6NlM2SjgQw + jL/DmQ8J/TrNvcVGcjfDjg0xWTFVMqfs+F7iIFidVzGmngifkQ9iKPlH3N6Cjxxu + 0l4By+S2U5FexT6Nr/zezgtIli7d+sqpbEgYJOhXtpeB7JD+58nIb7HCT37TUwns + QZb68apB5q1qKf989SgDWIKjau+ZjH6PNOYYZiLM8wrIR4OoKPGF4hA6hi5OPWft + =OfL5 + -----END PGP MESSAGE----- + fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 + - created_at: "2025-10-14T23:42:47Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxjNhCKPP69fAQ//VT1OtXWEDfE5nV09hKBfJP7ayKQMdNdONPZgNfFUU6yp + mE9/i9yrjVSnJmOzM2URSt/aRz9lWYB/tMvBFNjOZBJ0UVy0L15eA/UmTW01/uR1 + zCSaveR83bVmCWmdUpNlWtMbBgkFVwlp+IWLxRwKLpUbsrv9yKSuw3Ln4HlBS92b + f4STc3jqghbqQMNRpD9yAWy401FBayQHhHxZr/70sn1sYJNBFhdbucpCP3A+VtqF + huUIHoqr/qK8E8WiBE8OV2R7MhoCXyvo+gKc2E4wjtv/5lX7N7ouZiaPLpTJHOWf + FEL1TAlj9eneKz8JuOa/JQSKyaIYKx7HgGCmgKUx8g05qTVxwm/FnYjms+Az+XIl + UVSAyyh+C+CN5aNi+vetet9/1Beav7NpdJQUPn7T5a/wzkEpby7kdHFtsDJztxtn + LY1ItadcDhbSJ29PIobLuBJEZZNo1qBwMa/4PvRgSQz7d8lbQPdc9axdGCWf4uVe + C9M34HyaT1dd4PtzJ8uUxeJbyrHb0U/I5mgxZkOrmpkapZOJr74VgJg1QL8vr0yF + M4OFVt2pOQXFnhkvMs4bvdh19jv3UCWuI9YlbBReJfiqNmGW1Lv/4UTkrYWzxk3J + UyAMuWvS+qfoQ+nN1lJbuqSNzYbpVJcQ6EDTRU82PtyFl6BAsFOwCiqXS0mFW0rS + XgHmJY558+CoKJ/yPeUF7ZvGCpb+RVprFdYfXdfBVt27MclrWbPLJzwNBQrAO6pm + TrMyjb7rs9dJLNn2Cehmk7o4p/7urOebPuA6swJ8arlWoarfMaEKlQiLzirhetI= + =im8L + -----END PGP MESSAGE----- + fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 + - created_at: "2025-10-14T23:42:47Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA1Hthzn+T1OoAQ//T4GltB+9Kx+DnOxiSje7E3IOK0XtrMrvLvcQKZ7NW1dk + PdemiWO9Zes8cQV2KPOOacK9HLM0UUZ8yLO6JYediyhVUddMdKBsf51e+PagGbYg + Wfdf8YrgwkZKeCULwXpDnhpLTzZfZU9br9sO78EwrX3fXqtCXXP9+7HeMy2VTwNY + 7l7kGLxr88jZmN+lxh9piSoz7up3ts/8MMWW/GF6mZtxYaKpkEWGxzTKELJ82yHy + e5kQUCE9+PE9+dOT98PX2kWfMjhKPu3BLK/yB+ousr7S/SvghuDTcltEtqbpMNWP + c5vB8n7uDVzAFWVKgCbWdjSSjy4NwWXZBy6Wbs5WPcmXldxOkhbNoto3Ew26IIof + A89sqm9bPYgvTa/Y2EhHKHQYUwSEwjFsfprB3HJkyd+rK+7/1E+KZZfRZ4cBI1Sz + vwzJy/UgSnc3rR0iwXGTS/4usUmuzl50a9OdpM/YXYPGZniOW9rcR92kWrQSZB5E + 56WO+qnGM/SmRMadvgKa0XkCHg1F/z8mYG50pwSd5hPRP6YVwwxBkfKAGB0o9Uow + UHID+Az1XTe/XWcLzYCNg+aFKuNCz+g3cVTbX0z4bh+wKpCQbl8LRX+r2PX1+Bxo + ttDxsmM21Pgqqe31KdkrFsAIhNmTsZCx0An/40VZ3lHpKYrgxu11vzEt7ULWumTS + XgHdI4G6AXG3Nt+FneBK9KyU9wT76C4fdzWUNPQn0dLzAgfpCYBm73WxSUyJAsqU + nDB1pIjkoFYX3v8CiYjmZA6zpl4QS4jRYxOuQT0Vo9mkqSGOQbv9b2P1mBQXehg= + =EneI + -----END PGP MESSAGE----- + fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD + - created_at: "2025-10-14T23:42:47Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA46L6MuPqfJqARAArDvktLLpo9M9kl0pXWtSc+DS6DzSdZpUJqhRTlGwtDPN + BtZcV/JtvQ2G9YkaUn3mzbXsWtCmvQgsmZTqreXfydlcUTiQewIceOUpOgPJFiAt + AYpP7+zrkwc6Oux6SQrig8JNRUvN1CST8p6+qoA0aUghebC+I3sUjeE55GA9SvHG + 5Md1r+GxDLFrCCbjgZCIVqW/1mhS1Dh9WoXlMwlePbrgUsSRqTouQetR0Yl3LR4Y + FccIswvMRb/8cEXEcqrs4qCDa3zvDeE/MtvfCCA565I8pPTQC0KyeGrpVHvqP67v + /+3bHxWPvLbkSLQT0rJs4bvcPUdsNq9iTrfZxj0IVP4eaq6ZLYL9x/dfVY6cdDYz + dqyvyn92MUNOadH6/smLxXho92vaRDFJ5y5YAZ1+HLem1nNsV793DJGByZ25LAPL + RGer3Sc8YjRunndDh9q4IsZVlwkJRRThyIFfslgvrBsgHmFMAHrtJhUCqL1fKlm1 + sKgu1STrJDlS5VqD9yiefw7kizOEbvuiyq0ZoSgCho270pq2R5e7NnoQ2MqdTV0r + uoOSHTqq1BMSxOlUwzwa5/KTL2IVa0n7nn4B3lFwq9oA+KGskgQciTIo0xDmaOC2 + oq7KeSxdQwIv8dcx6Wm+9bLArD8o2IhbRYP1GX36aJYpq2H4H+SdQxO9eouCGBPS + XgFe8mJvHfGr5QxEIquGPTIhNGZw99IAxbJZJFxHBIF7ZO6hSn8tvS+fROBZIHu+ + 9KdyTVzWGp67KTU3pxBWrXqhWrnExyPr+5MnpekbAx+CBWTVAFa2Xa2lrnYKchs= + =m/MU + -----END PGP MESSAGE----- + fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A + - created_at: "2025-10-14T23:42:47Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DQrf1tCqiJxoSAQdApymJ4MfjxkPtHhU/g1XAQPPf0nC5xRYa+bP72LmfYAEw + kEKKgvegIn33QKVtOvLAvDNN4J5lsaSxGYy/yMetnOg82sRt9vTZ+TRdyjx0LJrp + 0l4B7eCsvwsrpqoKlu4OHDoG0H/A4GoIXMNMXrTyeEIt4foUoFVl/Pd/aebu1H8O + bpKEal3uwT7pf6B/3MrgGpF3uyb2Wr9imbpCUHdWCncsR1BqWV6WyNqFUZIGkFyM + =Dqsd + -----END PGP MESSAGE----- + fp: B71138A6A8964A3C3B8899857B4F70C356765BAB + - created_at: "2025-10-14T23:42:47Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DzAGzViGx4qcSAQdAJw7Rjkjp8R9yNLlvo+f04NG0eZ9GdUUXau2dxmPubzww + IdzHDeh0umZqzH7K1esncNRC1/AXg4ChvKinzkJVEbcZA7HgHi5UNVweyWzYI18O + 0lgBjl85mZtK6YQmtP2jHtkGAO19WRtEAO3oH9h2d9vUMRcNhj1RaKLRZ/ZHXKNU + V9nB1jCdhGo+UVbNBeM/RPIx1em8UuIeuCMLc90tMd1/wrdxZli34n7q + =kCy/ + -----END PGP MESSAGE----- + fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD + - created_at: "2025-10-14T23:42:47Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA2pVdGTIrZI+ARAA1EmcxnQUAqfbvKYUXvz2abm0Qy8tgL0WehWMBh6AGdwb + z5+DjVJuaPwbD5sYPcodIVCN+cjEkBHRRRpi9VljfIlPk+pNB5o7iMxxke6UWSxJ + 6r8S7erA4iq1H4CNPs6iUkJFNCtUVc46lmS25ZLS7id+bSWBIU+TZLYGcCGqD0hb + EC4T1VFc1noezMhvJnLxgRNaOvwca9+JIMlJMSrqMw0SaAp5uWz9B6XhGN3Sy3hH + 9fr7ewwlwsbPL1fUbAG6G8inQxnRRgDeEp0g8bMB272zNMbp9bTHArseafBdi1zd + 0XcaOsgjD3hB2ennt0dmuAK8uMwKikldVtqsH3MS67Jqw+u3nZ8jsFiZ5Gas/l1L + fYUQe37iubd1Q4NuBSD6kMztLGLskXHtFMJ5Ccuwvv8kdcnWjIkS/vS8Zs3zxV2r + IfW5YiBttgCgsr33C4bj0236+Sg1GfOhdEE7MPnYOi4tdQpq9LJUfrpvSmhx/Qer + N4BI263SlOphox0/zfTw2LuQ7ZAL80H+IVpIhTeGBdPqD2p/ramdgdKlpV0f0w2c + rx7hlse9xQbXiRMkaOCHm21uDsLvfvbtHv/RXxRspXyrt8+/XCDKTum+N6Rge5M+ + THE1paAUMUdvWfrRttTZl61OxQ33H15+8+t1HGNST02Cm68tf20K3g6aPDP879zS + XgGiOf3uSJcHtPF8EHxTPU7LwSC0yT96Vz2LCbDHZz4pnifGzeMtzqEOh0iz5A0T + TIF59GDMgdfYt4hl4MAKx9WUSxQdqmk/JrDt92s9Wd52/tudKcXyBUCliNB3qZU= + =6Zdv + -----END PGP MESSAGE----- + fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + unencrypted_suffix: _unencrypted + version: 3.10.2 diff --git a/inventories/chaosknoten/host_vars/wiki.sops.yaml b/inventories/chaosknoten/host_vars/wiki.sops.yaml new file mode 100644 index 0000000..568f13e --- /dev/null +++ b/inventories/chaosknoten/host_vars/wiki.sops.yaml @@ -0,0 +1,200 @@ +ansible_pull__age_private_key: ENC[AES256_GCM,data:NskytXI3EgNvNGqLunJuKIK42jni/TuRdEkcoGa1ZXObELt5Dd1yiCdEIOmJCHyCxSrXGUU/8wbTciLHfNYYoldx1Gia5LovX78=,iv:aoCUz1xzYr+dZSKwtxiHeq+Hf9ObbC979VRiK1M8vCI=,tag:01VwAOByHn4PRfQNS4oFgQ==,type:str] +sops: + lastmodified: "2025-10-14T23:44:34Z" + mac: ENC[AES256_GCM,data:Q2x63fsUZMuicE70thSVCG/pKAyzTw7FD6f1SVbvBnCv3r2xsNcXczmk0xoke3H3eErf5aiaxzsI50VbEzjLOb3kLfFeHXMCMvT/SZ/DHo1bkMJ1P86Pg6y3VFAflAJRtRvRpNyP4H9rk80Ii25iVZUqwuEcdECTUQuIF9G2Xew=,iv:QMlN4DUcAWQ4I+G0p6R1vEL9lFF9ziRlntEOf8Au6jM=,tag:qUENqPQBJBjul0S9Z7Y0NQ==,type:str] + pgp: + - created_at: "2025-10-14T23:44:21Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxK/JaB2/SdtAQ/+PGJa3c81PL29D4FKgG+s1FTxXvLGUtnh+7SteUyRp4Pe + ChAEnJeWevQbJtUIiYUC4CLw+LImvWB5GtcLVdTWRzP+cLnBCvhPbx2B80metcIP + kJOAJO9fWqAVW1UOkndBS7FJOWZA1Jk/EwFNeGF3f09UsVdS6RXxbPZQWCA4lNh5 + kXuAt2Z8WiNXKrEa4QjG0BXA3d21StKXa8FD2H32XyYmB8Fbip2UXJDxYoBc/36Q + 33ChmvlIKeP8yeAoO9bZAv/CPIyw6r7pMX76kXCjFSy6suDEx8DluU5Y+MNQN7+r + 4hL1JDxsKANDXUKfw3B7R+kgJF/BeoJRXNxDRu71HYo1uHx+zD/c6uoHkI3Afvg6 + M/ZK8teklanwORNGm/LCcUYabjWBq4YyxN9mm6zq5C7WRIJ8RoMlDZUJpKjL6P7I + 614sjmomrGYqRIBnuR2NdFM4G+YUrVE7VmTNh0UxZhNHOzVyir9Xbe6ksPcfpE/+ + ZC0ew5LIx6prMjhFPQ8BDl3HwuXS9IOkQCrjoYIb/lsFeNNTAIsZUs2Z7huHigbt + ike6UjsD55WbrI2584G4L2L844RF4cOpqrOsoqQLXu6+a/5h4UjFfn3fx0pHJ+NM + b5whvvKq/sqysc1J5zrADByy4fAjSrvkMODCpL3TGJwunsSp5OH339kk7EhBM3vS + XgH7wpx/WtVA6skU+lJ8lJbe9fgaKmue7+3nanMDrV1J2dzNT2wX20KNqYNXbE61 + +DQIX6JflelUIYGYQwuArGgV/2fv9IhNOz4ksaItfeofSVfIx+23JL3lIbUnYVM= + =UM+U + -----END PGP MESSAGE----- + fp: EF643F59E008414882232C78FFA8331EEB7D6B70 + - created_at: "2025-10-14T23:44:21Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA6EyPtWBEI+2ARAAgvUNLq3CBy6EVeK9csZUfHG9dCnGJ9tMmtbIrxKs8gwG + ET5fBr1nBDwvOzQanMw9IbvkDA7Aag4c+h3GFNvFz8oX/NuttjKQjjAmHjAu0j+A + w8G9mvtegSgM8LkT+LWclwmF5zXyuMes244wl/CypUX/pC0S9dnJiSw5w10GTYlt + 562VdD14ZFAfHA3NP4WL0yZp4P7EeNBgGaJiGnpedLPA8q995kvNEiVZWqeC4qDh + i9CaxJYgTy5Lcul+HylFU1sNAOdtDijdQdAWCAjCZCUe5GwzTHxXZMK6ur6FArNI + b0zsiTACcSsHwT6XRL4BhqyaAHF7hu0RR/srHkDQAXYyDHdbp5zF74BxgOLc/wJS + OUWjAH6rrjOUQJ5t58DkgujXr63SvKqWnYD0vOv1KODYOjXKEFGjDlYIUZRhJYWi + na4DvhAzmh1CRhTgJlLnDKMfNm73Pcbr/bGz3CRpPHhXlp8E6+hILIDkgdYtXRjN + T+wI8fkZ2o0TfBUhtksHQ10OtIfpMzVo/z5Em8kSAr2+P44gH7VGpZ7VEnT6rLj2 + bk6Mc2yvWWG7bagNj4nEzLkNnEAF9jzVMczvNaYT14Q1d9LgkhIuhFwdtlrPpmqr + 6S/Kl2D9yh55baLfLLEykvAJFucnLB7xQ1O/BHKBgUnENc+CqZQFYxH4KBCpliXS + XgHpQ29FG2O4rZrp5b7/K4YGQBZAZjbJ14TnvUTWmtm7NO5HbjvhJytrMt1efkBl + bHLJ7zEWzyYU2/euxl1xPKvqT03fsfbB4PmQ7B+FFOfJXj2Vft+keMGKTA3l1I8= + =k/71 + -----END PGP MESSAGE----- + fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC + - created_at: "2025-10-14T23:44:21Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAz5uSgHG2iMJAQ//Xllo+700w47+OEgaIQEjr1IH7abj2YotDrTxrcpOQQnG + PGKGJDOg8s9BgyM8kUGU35N2lTyAR7O2d0OZtr1fISJePOO6dmg6NMXBHifA0EDN + G968lRVBu8y8rXVhLqazmCP0DzpxPbFcFS4iQuT5BlXlcEOxMg365PFvmNsVHpwH + KNJQRQiEPd8j5GD1iNek4ngArH727iwPJcO+1xZB+TcqtGk09NtJZoDuvIpw5EKk + h09YIbwL5NR80b4jGSaOUPOudIzS4tLGQdERSg2VWMnw2SvFlA7cyyugwNc84ZYQ + M5t9lKLeOpIArCxG++e+rOMKNpr0t+BG3wyqvOnmxcwCSAXUmLIAMsL6cOj/Vhhy + KDr8ZI00cLCzhi6HdtPpctomQ6jp25+2uv3yVo4wQYS2d8tCJBsUS6q7Z+QJ2PwN + eAqSsFuBPS/JoRIP81gu0HhyFVRYobsUJ7s2M3tWZ2foRXonae8eJsXgOKo1AHgj + cr4FzXsF0D9weTKdwq3Pj3SwKNlN7c6DnDZ0BXtYHAw/Y/+TlGLI1CJqC+Xzz1Kk + loXcYHj0/u/hENP1//R3G8eoS4D+UvNrw3garXtXMcxEitBUwEGVDFzzmVOrlUoA + dT4g4yNRN4yOtmW4zJecFy+846FHv2YeTUK8YlToywPk5CeG8YT3dQp94k1YZMfS + XgGyVNBXAMFVZbL3wQ/9ZuSOmpdeISBA/8JkBqrAq30AzSP4UwQCgOtGpepdI0Ec + diiRS9GJFeNgvTLhaz2snR6g4MPpKgvA4R0CkbDNH49azQItpUugiKNA45bzbd8= + =4T1O + -----END PGP MESSAGE----- + fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 + - created_at: "2025-10-14T23:44:21Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAw5vwmoEJHQ1AQ//W9Dp7ud29sq/Lsug44mb1Fyv2DMx4BmdUoM7JbVnwi3l + AljGKTj4U/mzU1cM6s9XsM/2Fc3JNKeEBohH+E/dcIDjG82gy1yU+vPVMf7DYEQG + rVomy7NeZHKFYPIm3TeiWV4p0UrQrzfo1Iyvf1aDiO1xrIu8Rngww1NUeKJ8z0SN + LrEtwBwagAdndtOLYRxpRYEc2gbUH10UacyGMfds8ZUmx2mfhi4WxrAEH1SOKrgl + 78ITNEXktA1CFSR3ZkAbtWeoqIHjd69daVJPvZb+h1oyZ0e+/WpTAwFYP/Z8UAai + py/xLpJfR4xv2mX5WHHdhYL6uCK8vdEYP8K5CH+GbDR+MZjhKqrnhAhzscVvX+ec + rsE/6KqqT1n8wqITvI6AE1xJ7MrjF4oIEYq85+boH5Dd+qdsXq/QuTEVSC0IOGrX + LE4Ead9S1qy1wlkuN8kKC9CYo/9lq1lO4K2+nV430zxfifOiwfT4xeZAF67KVzKm + 9Q8irwcD9IDc5Xe2ACQhXl0AFAWVbOPRCHBgl1lr2Rs2C0AC2rRPB0cP8KvhGAIv + Phq/5PejXfPCl5Ai6mp8b2q53hFuBCWq0P9NTSF74cThpx4PPXxfeAxi71lJ3Vs0 + jukoobBnuJ1Lahyxx6QB26ZHxtdy83S1Pk3TI4nmUm4tXFtFNXJ8FLwHja3OOifS + XgFhmc+LViycUdXZkKr+HuCAeJokhF+mDVa9wJ39ixMi/qT7wa2B/YRRF6RpOuE6 + o2lBIszwCkdmjDE54Kf1K8btsNZwG6pRidCQpD6VkKvgqiXA6eLl09sxfDxaHOk= + =dn94 + -----END PGP MESSAGE----- + fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 + - created_at: "2025-10-14T23:44:21Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DerEtaFuTeewSAQdACnblId3ENbxSKDIzC+suUttSf7WnVK0F+kl0SV+Z5QAw + iuhnOPulZmvjSMF46SnLOdty7sA+ks19Rxhkq3/bJwA6jZ5ydm/Q4IgBRzg7CRA9 + 0l4Br2VHqPD01ArBVu2lhWN+tK5AsKuF+ObWth8FRUnNNXUu1diUuWPCHvA5G9wP + 6G6F2SbmuSZM6AtAxSJ8Zpe0nr8jS831beyxFtt0a0/UIN/DNAM7LRrLH401iCY/ + =jpaG + -----END PGP MESSAGE----- + fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 + - created_at: "2025-10-14T23:44:21Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxjNhCKPP69fARAAg/rs0FBLGO/Y289ygz8tH3xXx3zL06ropx2pDuxZrwq1 + S3VRXZQlpskIqhOXLZKx/7bPobj8BWL7RdNilicUXuQNjzM2yCgXlFHHJi9sOdgo + rzZuFPnxvLgU7wjqVvaOU0MSB0Fc0CU62jrFa/iUwNRr1xXMUXejoVJb9nUP0IY2 + /vygb+Np4GWnTr/Yq8Yj0odEF2aeyVPWYm+mwEpevFZA6R50nzKUl0QGkpJTsoc3 + 75kiEzHfnh3vt4NDMzUpQyAmGPdgOIhRAgt2NlHhmh9THk9JWtub5SS0Ed9mbMzr + EWhGSpi/rxqEaOXXG+OWbJEL10PIceS81nexe139HX3zb/k8byToAAb3kECtKfR9 + BiRubo/q/8mOjJ7XqW4tiHD+SkWwwbS1BmgamS4yWO0fh+wCTao2mDsSMesI01Oy + tmQT82kLBg+AASKZU3MvdJzBfzwcx008YddVxMlgSiiBc/Y+bx10jVy7KcJ9uR3s + w4re1kfAn6JykYtNeYW5KKDd4tQxwpUw5hlGyVuRyy62jItBbzokAqtSAp5hBPe+ + GA7H6OgRLlr5b2ZUz+IhfkrtX134DVgGZDo72i9hRK+aknmzqCcB4QBaaWNwfG/B + ef0vVsighjKa4mEd7+nX0ZA0615zPk0z4Su7sMFyliaM71aOgS/qCaysSb7zJxbS + XgHuV+ddqKGjEhPjvPhh5LT54eXBWAMf+VEHKzH/mssEgUBF/wIHNczekxZ5VSJX + J3cV4Csrm5q/FRrrYWsQ3m96Nr6DtXldPKZr8UIjjFVrhQwIxhg3cRH2LFj3Mwc= + =FjXL + -----END PGP MESSAGE----- + fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 + - created_at: "2025-10-14T23:44:21Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA1Hthzn+T1OoAQ//Z+N7qV0wmVZ/ikLTClKyYtAMu08gUcPAqqR+UJ/HeZPA + ujOzjdZ/e+34v49LyKfrkS2EEA+rq41tGXstGEzj3dkSWICkIaUf8IeUd4H0+9uT + EoLC0ayTJpFyHIAMQSTQrAHy+XmlhRCig3sOX7A3LemTYx1rdjNLGb6tkWr1GBlV + 12jvmmM5u+4SopBnAsrqBXdogC9jjwk8iymOpT3ZrOkeIWUMBdVXPDaU0zYMRU/l + EOeqrpb+CMGvUltTO9iL5AUlP1BDToeYKPh/8T7XnjYxJiCFIC0d54unZreiJL1V + X6Yv/l1Sm5a7Yk0Q8YnK55KzHgrMgQ8E5qwcZ3CPu3F+yK1OrojJlT13W6SKWx4n + BWmJo4c9TFDmNXxCAMLpvhQXGLrDg+jbngcS3/5B3/DSO7Ovg+ss5pV84GbzibE/ + Mq6IqHghBe6NBtdFrk3piWy8tNt5RM9ncNX6zGsgBuacg2GwIrdxotjvz3WCQOEo + q6Uvz8yVQtazfnH1M1bp0s8YqOwCkjFmrOXtnuudKYfy8kr3Q9Isb9eFgFwPhPfE + f8pz9lsPi1WzZ0KgFuTojF6QiZJVQOGyyLLJF+B2k9Tgags3BoRBDqvUfjLrLdzd + 7VEaA3d23Z0mRyL1M30eU/kC31rDvioWK7Au63vmIwJi5Vo4TrXISr6hYuwMWGjS + XgHFePl0uITiomoRzluHKQ1ulvwzxtTulDacRCfPfaXr2d/mCYDPbSUxHZ8l0FP1 + CWweE8G+5gZfbyo7WPqW9+iIo+8Yy/LBDQrfFM89DWA03WRNJS9mMjjsnb0ksT4= + =Deuk + -----END PGP MESSAGE----- + fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD + - created_at: "2025-10-14T23:44:21Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA46L6MuPqfJqAQ/8DbUA6xWfnxaLzh5EBm+tEWwixKCMje5gzh2P1RnFsRMN + L2c+0dxc20cqNmwTqrRaa6S2IwSbVjTLtCtS+kyssgRwA2PjKcsCrgorU8np7TP4 + NKFLemy7NxO2exkSQzQ0nv0qfubb3aIJciIwG3He5psTNKJXTtNAIqvKnQx+Rtua + zyAdMJjnMnouyahlo27HaqFkitBaOeKRgXkUFLZE5sMK4SAmGrHVEfqkAsFJLp4T + w4VS1b0N5xge+yS3Wo+osIZ9PHHr6ax3Fr6gqCHNE0kTJPcJv7/GTFxJiZuX63XJ + fSpqL3wvRruT9n4T64r/U+kTU3USvHoXjZ7TpSoNXsoOKy1LHeTESDJGG0bwITVs + FvXbtqw7XWAAkA/6n+b5iL9CV1lr88Cq4qWm5u3GHjKkUkVwZ4pVzv+s4ZDbUata + BxOmPZTTlZvNB0X10ZNTk25BD4PMACzhMWc0RNCimie3GvbKXn5FeT9OUUJvQWDg + tiQli4SaNTDycX3qb/oJmiXZwenUi1UjcmBcf0gtxzAi2PRvuZVSvVDt/i02g03k + ASHESPb6jMEYrDeD3mJkNXzIAIEKfJEIFxIdLgr1XHzfdQe1zDdwmtDjmkQSVJMD + ptPPskaA+uDhjcZ+AvpK7eMfRyBEJMZP6ScGb4sgbf8gu7VcFaBtbyQlZBaJA/LS + XgHCRfrPtYIec5kKanq8VzbyeEHsv2QWb5fxP4EYlrUimA3i1evoNAphEX2xZqXQ + 7DV7nxMfmgYnBJPu/VJbdN93Bei7TIr0K4kf7kAuAusPdaGEegaX3W9E1RCPmJI= + =QM4q + -----END PGP MESSAGE----- + fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A + - created_at: "2025-10-14T23:44:21Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DQrf1tCqiJxoSAQdA0oAko6IttcTJ4yxqyLKW0oc+q/iNRAqcqGPp4YNf1lAw + ioCfMPdNwLZnnoQuhawcs60D0hi7ER+yROgXYAu9mq5N60KYRiOFiZCUQWfS6v5K + 0l4BHa9AxHVMrH8CXPhYrWor2urIkvusekDnc/Ylvgxs7Ms+GeV6+rgydN1db/VY + hCm29JHIGfgsIXbXxErPCbtMn+0EByBWlTKvwi4QIAenbJ+OK+uLbwyFopYmKCvq + =JrQV + -----END PGP MESSAGE----- + fp: B71138A6A8964A3C3B8899857B4F70C356765BAB + - created_at: "2025-10-14T23:44:21Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DzAGzViGx4qcSAQdAlJa4SyLb0qNcmZim5/FiFj7m3uOvQ0jaltUWEpzXySIw + qtGTV+9xYV1ihIDFcJs+zUBKW89rXOYqsi0qW8m3U9MhCoW8NRhCt8hzLcg59Gs7 + 0lgBNWkdh5Szhj8YikIIH5129XTYpwtI6jjquGQz8LpbmW6xHPvQ7qjsjBASxVjW + wxpgzT2LvbOh2qdmHc7dps64SXbE8RaM+atvR8TOd7G7CxSYSx3Bwojr + =eKnd + -----END PGP MESSAGE----- + fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD + - created_at: "2025-10-14T23:44:21Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA2pVdGTIrZI+AQ/9EKM6INhCS4qFsETdnUSAi9c7nJW/x1QAKR36jqhWGVux + KeqYoGjiqgUI9fTyEN7OEEZWIRxY4tso5/8o0xfpALLviWADEsffftPTXFL5/Ope + YhZ5hnD+VT/m7/atHzWdIwCMf6iwarn3yIYpELJprRCe/ap0qx+r3Lx+zQ+F+4mn + PfYRRyeW6au3QEDGVVCqtWpnYB8AjyQLVcij1whqYXtVIwyDJ5Mq1Tqn/XHt6aMV + alkrG5QZgyYex8FTzBFQFNOZ155OoyxJ82u2elGhGpcVgG6H38Ipd0S5TOCKsbtF + UFR0neg1UXgiKY86sHy+oXLklibhGpJj9n4awnN9BL4W+y/9vf29nI9p4UX/eiij + zFQTg98+WBRvp6lzmW2Z/ydKtDW/CjWRIn0IzdUCWeFL207bQ+inRj0LSsDaXx69 + 1BUPyiFNldG1e8tvyDAIVLTaFgPRKKw5rHjufmKTPhnDWFY+YXKcIJKOZ79NHCFx + Ee5wWsMiE+svQlDy9j5XIP0M241PWZyihn3xn2kmb10Y/Gv0SxRIWk7WPosIC8mS + XOeqmSWmVD9PIBpp/AxzPVGoJ9/gciERY+qS3MMMNUTMF4IF9dr/qhJ3mt1bpMbI + 60WrWNOKpVV7ncuJ0Tp1mNQ4yZHe2r0XX87zR7KdZXx1hy4CN+TloB4lGG9Q+LTS + XgEOoBrr3Xttpj/XAvwRxWgyFx6t34DyKLlEVsTchq3uC7TycbakxyKvt5We5BtF + +Q4FeFgFEGWU8dCWBQwtgWKQD/55+vcUvDyK9ywBgw3vBuItQdvzYlmSvWmTJQg= + =Rszn + -----END PGP MESSAGE----- + fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + unencrypted_suffix: _unencrypted + version: 3.10.2 diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index 6ab1c53..d40de96 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -186,5 +186,12 @@ alloy_hosts: ansible_pull_hosts: hosts: netbox: + cloud: + eh22-wiki: + grafana: + onlyoffice: + pretalx: + sunders: + wiki: msmtp_hosts: hosts: From 9afbc7180171d8cbfece6dd0e86a31279f3fa6b3 Mon Sep 17 00:00:00 2001 From: June Date: Wed, 15 Oct 2025 02:18:07 +0200 Subject: [PATCH 020/160] ansible_pull(role): ensure role and collection dependencies are present --- roles/ansible_pull/templates/ansible-pull.service.j2 | 3 +++ 1 file changed, 3 insertions(+) diff --git a/roles/ansible_pull/templates/ansible-pull.service.j2 b/roles/ansible_pull/templates/ansible-pull.service.j2 index 0f80907..b344505 100644 --- a/roles/ansible_pull/templates/ansible-pull.service.j2 +++ b/roles/ansible_pull/templates/ansible-pull.service.j2 @@ -7,6 +7,9 @@ OnFailure=ansible-pull-failure-notify.service [Service] Type=oneshot Environment="SOPS_AGE_KEY_FILE=/etc/ansible_pull_secrets/age_private_key" +ExecStartPre=/usr/bin/bash -c 'if [ ! -e /home/chaos/ansible_pull_checkout ]; then git clone --depth 1 "{{ ansible_pull__repo_url }}" /home/chaos/ansible_pull_checkout ; fi' +ExecStartPre=/usr/local/lib/ansible_pull_venv/bin/ansible-galaxy role install -r /home/chaos/ansible_pull_checkout/requirements.yml +ExecStartPre=/usr/local/lib/ansible_pull_venv/bin/ansible-galaxy collection install -r /home/chaos/ansible_pull_checkout/requirements.yml ExecStart=/usr/local/lib/ansible_pull_venv/bin/ansible-pull \ --directory /home/chaos/ansible_pull_checkout \ --clean \ From dea66771e0b928e94bf106ab9665cde6a653f346 Mon Sep 17 00:00:00 2001 From: June Date: Wed, 15 Oct 2025 02:33:42 +0200 Subject: [PATCH 021/160] ansible_pull(role): ensure SOPS is installed Also add the SOPS community collection as a requirement for this repo. --- requirements.yml | 3 +++ roles/ansible_pull/tasks/main.yaml | 14 ++++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/requirements.yml b/requirements.yml index d5ebdfc..e5538cc 100644 --- a/requirements.yml +++ b/requirements.yml @@ -3,3 +3,6 @@ collections: - name: debops.debops version: ">=3.1.0" source: https://galaxy.ansible.com + - name: community.sops + version: ">=2.2.4" + source: https://galaxy.ansible.com diff --git a/roles/ansible_pull/tasks/main.yaml b/roles/ansible_pull/tasks/main.yaml index eff8cb0..e77bfc4 100644 --- a/roles/ansible_pull/tasks/main.yaml +++ b/roles/ansible_pull/tasks/main.yaml @@ -1,8 +1,14 @@ - name: ensure dependencies are installed - ansible.builtin.apt: - name: virtualenv - state: present - become: true + block: + - name: ensure apt dependencies are installed + ansible.builtin.apt: + name: virtualenv + state: present + become: true + + - name: ensure SOPS is installed + ansible.builtin.include_role: + name: community.sops.install # https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html#installing-and-upgrading-ansible-with-pip # https://www.redhat.com/en/blog/python-venv-ansible From f646cc0bf2511883268f3bf743648ded1ac717e0 Mon Sep 17 00:00:00 2001 From: June Date: Wed, 15 Oct 2025 10:45:54 +0200 Subject: [PATCH 022/160] fix creation rules for eh22-wiki, sunders and wiki hosts Also update the keys of the secret files accordingly. This should then fix ansible-pull on these hosts. --- .sops.yaml | 36 +-- .../chaosknoten/host_vars/eh22-wiki.sops.yaml | 286 +++++++++--------- .../chaosknoten/host_vars/sunders.sops.yaml | 286 +++++++++--------- .../chaosknoten/host_vars/wiki.sops.yaml | 286 +++++++++--------- 4 files changed, 462 insertions(+), 432 deletions(-) diff --git a/.sops.yaml b/.sops.yaml index e640810..0b60d0c 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -86,6 +86,24 @@ creation_rules: key_groups: - pgp: *admin_gpg_keys + - path_regex: inventories/chaosknoten/host_vars/eh22-wiki.* + key_groups: + - pgp: + *admin_gpg_keys + age: + - *host_eh22_wiki_ansible_pull_age_key + - path_regex: inventories/chaosknoten/host_vars/sunders.* + key_groups: + - pgp: + *admin_gpg_keys + age: + - *host_sunders_ansible_pull_age_key + - path_regex: inventories/chaosknoten/host_vars/wiki.* + key_groups: + - pgp: + *admin_gpg_keys + age: + - *host_wiki_ansible_pull_age_key - path_regex: inventories/z9/host_vars/dooris.* key_groups: - pgp: @@ -94,24 +112,6 @@ creation_rules: key_groups: - pgp: *admin_gpg_keys - - path_regex: inventories/z9/host_vars/eh22-wiki.* - key_groups: - - pgp: - *admin_gpg_keys - age: - - *host_eh22_wiki_ansible_pull_age_key - - path_regex: inventories/z9/host_vars/sunders.* - key_groups: - - pgp: - *admin_gpg_keys - age: - - *host_sunders_ansible_pull_age_key - - path_regex: inventories/z9/host_vars/wiki.* - key_groups: - - pgp: - *admin_gpg_keys - age: - - *host_wiki_ansible_pull_age_key # general - key_groups: - pgp: diff --git a/inventories/chaosknoten/host_vars/eh22-wiki.sops.yaml b/inventories/chaosknoten/host_vars/eh22-wiki.sops.yaml index 373c08b..c22c882 100644 --- a/inventories/chaosknoten/host_vars/eh22-wiki.sops.yaml +++ b/inventories/chaosknoten/host_vars/eh22-wiki.sops.yaml @@ -1,199 +1,209 @@ ansible_pull__age_private_key: ENC[AES256_GCM,data:9KqIeO+anvrbbw/3ixb0H/5IRjGYGrmYG44u7AoSNAKDSxPWImrUtbxRjd+mtTbUbj5hybTJ6T560LIhmz7oM7/fKyWKDHgGOFs=,iv:ONryhnxKe1fh6z+2OqPiYnZgCijRUTKtsEi1AuhE3Iw=,tag:lae+JSvB0TK0TYv7+kUPYQ==,type:str] sops: + age: + - recipient: age13nm6hfz66ce4wpn89fye05mag3l3h04etvz6wj7szm3vzrdlfupqhrp3fa + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAreThzT1hIei9hM2t1a0hQ + aEJ5SzJ6SjIrc1VxVXlraFJrRStEVFhSWnlvCjQ4SkxlcEVrOFo2RHdvcUljMjY5 + cUt6RVR4UWlrZWZCNmhUZWNrK0kycVEKLS0tIFgxR1hlNU1UalhKNjBab2ZTeDdp + alR6aTdXM2I1alRRTmJYbVBtU0tZYWMKKbukpWMjO712b3xQ4KtzZXTBa12ZLQI0 + Hdoo5vso2gUNO2E92kD7sEXinurE/nS34kpVXzRGr6ecj+CA3Y+SLQ== + -----END AGE ENCRYPTED FILE----- lastmodified: "2025-10-14T23:36:57Z" mac: ENC[AES256_GCM,data:0UWzDg9rKldTtvBUTMu4sE7WpEJcCOSrdJtGg44H+3NMnkYdjFpwkUWCX7yB8gxkh0fNGpO6ofj85VJsOPpr43QLjsIQt8TvPRHAGsZh7UfEQLRTOkx9hF0qIOY7ZFnFL1LYMsU1kLb1/OUFcGnjMTCWrZzYhg1XZN2by3/paK4=,iv:cXaBdX81ZunvEKuahrblhJZS97pab0nd4uyD2u2/E+A=,tag:hc4W4PUBQA7yvs80aw8GsA==,type:str] pgp: - - created_at: "2025-10-14T23:36:26Z" + - created_at: "2025-10-15T08:45:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//WEnnu5T88ksTT8TWM0kJAVqyav2UQmF1JW6VzvP3Cz0k - Eos0lqcdSx5AsNifovBbY4Sq76Fmpl183A733lIg94js/Uqu6ZRa4W627ACof3ga - QctgS1T93R+96ybHpUlrJIvGv0y4/lZZ9ajovMQ5obwOKhR01kAs2VKhZrSgZOL7 - bacQ1c+bjg2Sti5FBe7XItzwaA++f9JSGTd4cgka4vR7Lddi6mLB1LwUJCSe7w+G - /i/MWLNGbXhwhjUuT8E+4ReQvlu6Nh7yyT8DeeKc6L/usBpZsf6+pkrjyObi31ca - /oE/R5pEQyXJIVe8iPEhE3VuWdnUSMA8s6nEAhwD5s5N4/DfQHwjKyuPJG7mz9w0 - cLR/8aJw6x3gpXqr1SYiXAOrR2yj2rMnxGrwcolGOs1CoAa5/AWEfAiKdFsH8ShU - 3s0UPTouhTRKbj08O017T/dNIBCygViAM+kiuNGWhz1NcEZ3yYuovfOcuLK47/Oy - Lug6CwcLfcMNToRCfIrRZjnCQSROFBSYF1Ijse0ZQSKphWFaaVUijj/RdTdHncEc - YfgN/vEytxT+hSLJql5K9eQgP+CbJHmN7H8YTLxGEz/z7cXY3q2a9nguXKbKd8Zs - xu86aKncVo4dE2JIWEN24mBOl+t4rFbVENCA7PMu46hlAJ/ZquAOGxNTZBrlZjnS - XgHT0W2pr+BLzPWEMAEmCjSQFHwv9MHicJMHLfWh8XA8ibXNHSP6jupdXnXJDHSj - S8vZFKTNDC0HjUk8KbQBaphZRe/tq7eFhfBZQp4mTF8cNFz7qzM3eE+hbkSraws= - =L7HX + hQIMAxK/JaB2/SdtAQ//U4q6nD7qTfeix2yKYYH/6teYtUHzIFOlql+pyajnTkkK + to6Em+K96TkJs9uJuLD3L9GE4v8LjSJGGTwO8A+4c6amUFV5vSXD0Xjh0bwupKIu + 9Dqy30/V2bZVcbHuzWpZub1SHq10r2BlWVf+wGvH1SevySpoI+hIbNzJvU858Znq + 0vAwC3VmzkK/cQUko+4iIJRSl81DYwg28mqfXEdRoRPy87Cg3aRrmDTyFp881NIu + fP7SWX9Llna7OvnLdk1drvQam6A3CPNPMV6tWmpZv3tHFavNRriGKgCfpzTy4ICL + iqTRFybSpxiCH/twDGKSXuENPKRSXNu0BGM94JR1rx8l0/fLp6un3Lb+Y1Nh5PcD + XMtDLEEOcFqpqj90w0WgtyTwuPtKOmuoJoC61qj5V+jTqM+RzQVQUazkUjiifaej + MlIqiuLILqKbHrKV/IY1ABt3Ep6ZWB5kMNn09KlcpSAjHYyTjx8Sm4dVjlQ8ORX8 + 2oP/W6g58nEIL4ZIR31M9jpsSDSCRs/XWAJMdCgM7Ori2Ep1pT0XiPF3jfvU8cMv + h5T2nYLLNGk/hlfspb/BEXiPzyvKGCN0JRfHrnje3yN7IXxGmBGp15p6ZXpBRNvj + i2rHxWHZbs79uGDnxB1efmnG1gR5H0UuBP8IUPCGOx8N/DhRf/KbBnwwiwBjLRTS + XgFAk2lR0MEHTh/PxZe0S2ZKvC+ALHnYM3/0LYcSVyYzpju/vdpkBm6MjnMGD3oP + gYsDqd5qJPDK4cBKQDgVsFa0IxcFCTkZiKgkey69nk4kc+gVLXL4J8f8ei9EDik= + =LQxU -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2025-10-14T23:36:26Z" + - created_at: "2025-10-15T08:45:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA6EyPtWBEI+2AQ//aP1tcHzVSPPbKpqDxuuBZuu1jDROvlzXefkNkOgggprG - ITTcuS9L98TeR+QDhlO976c9pr70UA2bx611EUX5l2tAKSVn5/I4SSqL/a+Olm/m - R2fQkJnjrfbJmjWBvKA+63a/6dPO+rDwvWiBAyJgrc/75MyPwfmJdNNoMUF4nZJF - Cc8SLuxOE7ShDx10C46jFrDS5StF7xvtfKmQGgEpZM9BUkvIknxYWq2mcLKV4VdF - J6QBQ0ryKlLL678oI8p5MYwmYH/BpK5K/Qijm/E7FsBmqMMTkCU5dmptgBuaOcqb - oahhAze9kQTXxKX/4FPp6d3euEnLharj1eJUwa95s1LjUOJYM3JvA//izYaKlb/5 - mRCcn6YRA4Bv4GZ9FugWzwKBVUSG8pkQX234DNqLEDTEkqJsOLMoFo+VihVkTQxs - +Rc00OXUsAchEKsOivh1rm6yh/8BPp7SKiWazIKnBhYwRrOfaYFEiU5QYHvdonez - p3iAAnmr7dp7dV/ZVF/Ov6kpK2d8ujq7cSeMauhpGNBn/pcgm9xF7SYmR1KtbRwC - OXYeKe/BlOcbszhTYAMn28iOfRmHBMt8q5lD7oHlDAZZIG4SQ1Vmb5D9W/NHAdN5 - oLwq+7Ve014/4XUwjWOy0SQElVN3sPD2y+AnQKLTYoj62VZkjMgQrAHDxDkxoe7S - XgGnt3UFXVNTWUQ87FpUZCChSIjAJ/ts0Eh+qopnsRsQ8UknOFBJwOpGLeZK8PVN - 0ssMnowhG7wGlhrsZd4+aYdO2UqqqVJ1fm6JIdJyNAtV4gB5iPBZ6eRWvR6Bfw4= - =BQrw + hQIMA6EyPtWBEI+2AQ//R3VOX9Pee/Qhzadq3GCmTuDcgI3UNUTt4Z5lbIN9y1Ee + 1iwcydUCFJh6ArsrxFjhplvaAF/FwKiV4/naDF4dxScDur05LT5LrBLDXMu+yuJy + 2OWuL6m7L0rsgp6CwpWfuO1Oz7qI1qeWDYVTaA+MXfB/nJ9gqZ8j0aW6KsfE8WDo + TD4G4kNekI7Dc51pKeWB3MGW/g04Q1X+IROfmo4sG7G/C+ksNV66QhUsjyWpXE4R + qVIXkmBtxRu8gQ4DCEx69j04ImoFR4laOLzf9/ebUtBUxhxAX7hjiXBc2ml0qh0P + 385eeA0wwSlPE4sPxx6DDKl0/O942b8VfLNAEPv7jepUqQc/ypi7p8/5veJZjLyh + vO5PWfHmFFpZeyTAkoMt0QNFkpHE8UDzOQkoK2mzih6g8/6kR/UrWrACappplpz6 + L7EI3iC6UirspqelpivyYky/22aZnCcmn1rkSEIVMoRtMar0nO3qhdVja33UO9kA + fmStidsrRLjz9Lnt6NV+MG/4kAgp6txJVBEbQ1EJwhkzXaVPXCqwHibcNnesBcrj + XmpNb+SIuRWQiItSJWcgKuQpqtLxDfQ7hPg4Yzs6cZ4+TYXHWhEIjpjxkc1J9goV + DrY8FWc5i2XIYx7caDewbNiM9OBfId6BqT1FM3Ozn5WvbnOKIkc8IzsJgk1JCh7S + XgHExqCwZFRvhM4FpVXAcLb10P5RZ+bB9F4Z6zAym0H7l2+0i9+rjZEem4+6cW8P + PaaNIv7GCcqhR61COTpgnCoFUa7Ko0HBZis5wTWqLG7EN9t8e2NOjP0wq0TcxoM= + =MXEi -----END PGP MESSAGE----- fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC - - created_at: "2025-10-14T23:36:26Z" + - created_at: "2025-10-15T08:45:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAAvk3bUi/znEwPTN/uJkBwbSEHanelydTsZKsLDzr24gKK - 80cyVO5kjP0x+e7JN9nPFjPojhKphTh9p+9n1Ta5rGt5s6ZQOo1GQcJdpLIpyVfK - m3xdkTm7lL1oemDBQCAPoaOQe2iXWoO5EKo4HBCu1DaybNe6vMRVvAQdSqwFM8vF - ED8DFAmkgdrcpsI8OwGQ2UKtEUn8mTgAKzZzJ04MsQJvIf20RwZjui3KawGwz4Fy - CK26Ji0WFEsgn+GtQZwgm78VesWPp2hU/4HEQ2+hKoXWEk3PGMAdbRWHJXPyvy/D - 1+h+xdC1vX+a/A4kzwbw5KT5JEQwqQvEhDP5OjndFyHARbiJYMCALZtLxfsUmFm4 - mXoQfDXmWQeKgnwiCDcpIVVS/KCcnYAB+zq7WJGsxW5+YzaWgyXnzKa3NZ/HvBaq - 0EgjaPt8Wr9qnpN7dG3ftUFpxvPiGAx9mN2b9T2bFd3iWfaF48P5awhopUYq0y5u - zvzla3nWdXDCLgLtSEPP0J9hQ7O7gWQ3bhz/nO7KQduaYMJeHhyCCDGDmItKEtac - ClAcX1swbZmX2is+02dXFY3OnldpD6HNL3PZp5ssit92wWUyJHzKZCP1WGUmQ3Rh - 6XCvclM5bSefNtYsCWSoqb5j7HgTjR62J/Ti2pX2+es3d1+W1cT5aZV9dVg5Nw7S - XgFsVxa6N1uDQbJObNKltPK5hE5U6mOkT8YMWTZbPt5PLZImMUk7cAmk0oyEeNMt - u0RGI074T5wQPSQhspYHU1fGjgd7MF+1QCtCkoQL8hCdazrdKcDILXNoUm9+V1g= - =1DXw + hQIMAz5uSgHG2iMJAQ/9Ei+pUNJI06nf7MJrlXCio2P+AlAbyT+/N6onk9Z2s7JP + iJ54XbWAAqnG5zLDk3JcJeFH23wMDeRflR1iOaSRIDHwIm18WVOEsPH9KHbeb1wV + xPWdNZW4CkhWA+3uM2YZ27lobLSJ6+r2eYCt/oitWWNpaVX9wpgk9Eob+5dYb1fd + tFF5BEW2KKp9pH6CbGQw7TQsp3q/l3bT80kcBOdehtu6fP+SzX9RI0Es4bTVvdVX + 91Cen5YfsGN/8evAi+JiGwIvCAynb1366Xxt+JKVQBLN2JE1e578SCVV0NojgzZB + DwCo85AxVhadj1v9tb4tSsc/wv+zsXNehZ8J731MwIgZ4yqdPRUF4aFA7L30hdv6 + S3AjkWDK9dKy2MK9tlnnflN41v1MDJde3gRTE36DInYPke1V3rPLaR7n7AT5tgSC + WNeSPqdKRZ7KB80fi6PPTXr6+mKXbBuKgqio4n0G5KRx8yut+9/1GhPEpC8zhLGb + frzkec9CAmBNwQ57DVjfu5QMqK2eS4UMpt1P8dVJK/23V6TRHjyRw61SBiGK7UFj + zoYxjmyK7z5eY6Kh18178KBjk8EiO+9hEd1XZQxy/NSshotNH1+1TFJImAgZhual + wAeFKgeXedXLDOjNhwwwW2nZwJWXE9LmgDaafV1Jia18Gd03tLitwzCb0tHKaiTS + XgF6Sz2qdvIP8F49VqWPC6SqIMaUgA51TPjCjQjGXiYDzxf3eX7ogwJ2ltFjpcM5 + Tk+eto19n8dy9kNS85ZEJF3Nh88J0US4sSRiX5adtbox6mTycMSIHBnaQv+pPB4= + =By60 -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2025-10-14T23:36:26Z" + - created_at: "2025-10-15T08:45:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ/8D2f1tGw1yVLd04Wi0PjgCELzSvstd+oZIam1i3OzSton - eNE8CjAn2JszG17YHqxf+xBljYbfgNitUU7DyXuNoivmExfYjAIv/qYpS+3m2YoV - n5NgsXfabGsPhk+GDum/sejLTGrM9S2iy3jLaPVITAm7aMnsVJ0wOPnizE8HiHHI - RvKwiKySofDy0+Y3O85wgZc/ygoCqK4x/wiZxkovDqJbaq+Y8RVcEVePwdL3a4vj - N2uqHgCGL5tYb+e/MK5ZU0XwPkGlw2H6E4Sj/dA3JeVE3ReYtNZ7XHs9RCXFBgcZ - PTgitECeJHkKPQouxBEvx0iH4+h+rCRVcMRXzDv5gCkM+snYUiXgkKDkHVeqSlqL - 8DedLXWAzPdj64e3KboRqO/SfzhgIuJsgg9h3o0nA5ZLy0IwOMcoRJvM0iwAr1HU - Zn7CengVdK+RDGZNqrBc7vIU/+NwxWnzEFV2eE4FKURZgFZgeKkQFIqDuF+KIBLH - Skeggm0fJPprfWWlo31EWjGqsg+ORrvw1In2iFmBzPRk1jiY2xZwhbIbj3Qx7Exc - +WvdeCKnTW+Jd5kbn5i0w1vz8hsTGryKyxmEdWqOPU3l8/wdphywg4/Yul7auhVP - xUB3YQLM5m8w5wl8zTVhq9c7n2wEevdKuYazeTTbqD7U8jRIpOg2nFLr/cBMD3vS - XgEPnjubWEfqCXorB7MeqA3DYmzxDh7bNes306qj0PIZvPoNz7acjZ+5zQW2tmi1 - moJlEPJCVLIKcyLuZYsrUlzlmDm3yXCtivEIALzE4cDTuN5s11YnG2Nf8gl4ABc= - =YKrj + hQIMAw5vwmoEJHQ1AQ//WFYbLIogXZ34JicsNxWN62ZN1OvsX/BreeMLHLZOxwgO + 5mBBvl99IgXmp89CHHiOiWvnrNc1Z0E9hLJoNV31KaabFRT3qcYmLWxA/ZLAiHga + oTfM2ZGAYvitQIB9bKiGdAwG+Z3HqGrlaHPfyXMRd5FFKHfGMnBa5HWG7ECqBcp+ + 6jKvfZgC8I8FPjKobTolsVmZ1Tig13st8qkO9gOfWUU5D/ovKT6UCakOY+vNVqeC + j65pY9d+O3w6LbKjsaPNhzwVRrBj7xJWjTVkhzW8jMaWDnQeMiek2x7mRCkCkfVE + IHpf4Dx0H2HWUKjtZizgpgzYgLqEMhm7QkmB8okUAHo/X0N3I559vbDE4f01CSM/ + YUwwC3g2xESBJVKB9qfcWDI3wAfo1UM/2LpNv4NKYm1wM/xEKJ03XBB5DabDdosJ + ZGM5ykA0ChrmB/s2rmYZlx2ezf3k4n622lZmrnUoz9gITr4fpmiRLNAEGjfD4Rdz + 7TjyLTsyBkHLfTR/L9POFv2rY3NOVrAMzebzvlWzNUPzoG0n3Bgn9EnOKHlzf099 + gir/yHoJla2yO4T7OP5C9uxZoGgo2PtgJiNIGayvafP1HhXJ/pbNXZ9lIeuNqNdL + rMcCof4d1uamf90ujEYhCQHyiG7kMD0jjiLasZqR60mMCazNboj/ujZpEwM+GvHS + XgG4WYMAP/cXPbHE7CyIxIra2Mhk4BjC8nRbwJapiFHJLi5jPbQ/2o2R0I1CTlfC + FzxoQE1CtbtJw00mSI1p6stbH8hiDe6laozSwb7euo3oea9n5hSQ5aV3UidbAuE= + =UZmy -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2025-10-14T23:36:26Z" + - created_at: "2025-10-15T08:45:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAH8d1/KAB87TT5kwehSnylRJuUbbJ8qVnGu0H4D94DH0w - XG7LC0+leYRoLmFxlF7vX1zcZChJNtM7+m3e4QT36IMxPMqK1M+SfMsCSsYsK/2i - 0l4BUkRVL6to1DvMJT4gKN0NX44IdOvOZ3V/IAnLGleAzlJ9ZlLyiIIuhkVb9BpK - YsSyXUhT6yv++hsrNq2A7s5c4QayuzrNGCyS+eTUK85CHWQinoGI7bOaFq9rX9NQ - =ZhVu + hF4DerEtaFuTeewSAQdAY+csMuB0w/u8X7G9jNWercIChlRC20l7Ykv3g7jPmREw + XmAFCB7XQXmn/lz+054r//9pdYtGi0aaHgx9LcK8HkT0tVqDZzouRoAFiloCv8w6 + 0l4Bvdaay3AZUfrELJUe09AoR8IUo/81m2ruz8U3Frfgw+7WVRSOKEDFygbYMh03 + RP4zHcke6z0GnzeyLvDZHzj5DDPJmK6RjvWbU0o2o91JTZhlB2mKkLXDHBmOkzz+ + =vwsN -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2025-10-14T23:36:26Z" + - created_at: "2025-10-15T08:45:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//YVwj7qItewkBrr7w2Ib8Fo7hkKPyDQbBnLudOansbYij - ExQkYsRnVs1xuY63C+eLYOS8Cbu8zEOimdTq4kkpf7hKeMKcFtgro3RGjr+yXWbK - unHK+8a51wol3ZVENqDpTYy1HgiQraGb/fp7On0k0eM9PTFk+HgnAe8mcTbI/MZY - r1SVtU/V9u48/ApIL+k8tI4d+AIf8xRU/VSgNfmCsaww3SXiZFEfWF9i6TfYbfru - yIz52lxFLq/d00qiUL9XKDEg96pnFvjQ4VSMH7Ebpy4IazfPkdVa2m3wAd4denZS - wLbBoSWxhQC3vounzcgubQhgt1zpwF+lSGQjhDtl9YEmNTi+wl1BvUFELtxoNQt0 - NBomFpQPP8WcDEFSTJtZDF8mOJsC6A34cQYdTs9exBDwAHb+72HFL5sdFouhG9KP - 4+rY0Od+5VZ9jkQH8E31mW5M9I90FL7t516C4Z/gjwAmXdlnlkfAdRSqQsv9TsIF - QCayc7tKEWtv0nGCrWdyPPKdLqnfZZ/m/6LAp4FXe4YlrooV5Jrp7CvrALz/7S4c - l5EYKWk0DjROpJsPz80wUrHtMmKSZeH3LCkKkORtZKQ/a+EM49fSO+HYg7fRGK8b - c/g3m1NZmrBaZOM/BXAtTexerjB2GV4neWGEQ0ZepFaxeCz+S6OwhEpCIZXKJMzS - XgEbn/cu+xCQ3F3x/uRFVdPEYpFGbZCFhg5N4an+6ApfgkEmF8oDcaCLpyROthdU - l53UF2FX5yd6fJXQn7ODhX/zGVoZ8n74NhlIuQj2a1mGLDrois07OHZc5KCpLqU= - =t8+d + hQIMAxjNhCKPP69fARAAivNnFmR6CiXdgMM8K3E3+HF2tILIK9u1o1DcvU00Tgc1 + ynwfKG6Vbu7v3XbObQnj00l/aG+3Xdx47XbY3UUQuRAzFQQ2gBPDGli8ZKOr2Ih8 + lWk0d0fwu+Kgp+rSKdipdPb+KNNRamcM0WpJbf1cWEnyXGfYuKDKm63y1CklebjO + Vr0rOHVrf7dii1C6G9z5taVwONfWX8lfJWHsA0wteqSDOQuUJ0fr5HCzMRlkT9No + lxGFlxqOU2zuR5Bg1uUm/Yx18IXIBpYfHusSUOxFXCFUaxny9zl7NQxjGBc1dzSW + XQsbNfjZ1ik0H9PyqKWEqeCyN14cJmDnL19laP/3/TTdamwVIwmYURXwm/tRCH3Q + K/H8vMBs9f+/OKtf66gUMWc3MO2WvYogu1d464ryYfAJ31aVXhCw/YVT+OCdAdag + VSCKA31N1C69Q8kxejcw1ZGaGsslRztd3nB1V4+Xv0Sj+BLopb8f/qXUqqtjOYHI + l6jxBRfshptg0fO2co2UNrRJi/Sr2QYOz69O1SpGLhf6gsl1Cpx5oy+KL3m75cPF + VvMFI1OPoW+B6a+aVILHJ1HJ4vNgjLWzS9rvF1ylJvPMF8nSkUCEIpHLPV7o66mH + nT7KyX+Xpf7UgjroBMY5WytTDoJ2ZUhkdbTrDCmOtxEtZ4mwXwyOBYDD+GZf6o7S + XgGSBxeYvxjgKtlbHtm8r0cbG01dUkS4GN2Db93ocSOCDWWdG8oRjQQb2ecmp9Iz + 8AEgTg2UCW0FsLIUDB3oHUx/lodD26F3Q4/dXO8qw+MHf7sCIpW6NWkvZJmPB6g= + =UJ40 -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2025-10-14T23:36:26Z" + - created_at: "2025-10-15T08:45:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoARAArOos80unlHGRWsIjCg8CXT82W38m/Clx+4myjNztmk84 - eD/eyIJzqKWH8QzwutAwkDDsMUWQbu0/WKQLipkbI35Dg5uflkIfZHen1icjSh3C - 6AKi2vgVezipSZqaUHy0ue4iO+/6QytvZqh1clqrnDzS+PzWbYtqDwP+zkeU9iHg - 6s+KNP3Dtat2OIfM2BWvcbE3HkuHcJnpJbTgHQTD5aWUisDowMVAhOZNJV2/mS4i - MvQsTV1bwEx7GzdKL08OlD15J9q+ActbfktD1NjmyVf+VwN9hBQyczqlmpre1fBu - V6j5x+cLM2gZi/oiFDQ2CYxPvENg51VzZxquXixZmgRYyYGykVxrPgOJonyWaOhk - f3aQeJ2vSU+Oatq6H1T2VtEzn1AlP0TTMrSH8XvodvZVfS2IaR9+6uWmenEL1M7b - wvu0P9PhBYLnoDydl3DU5J2rN+1cGEUhBBVY0Kcri4xEFDq/USndIl8LJvg+ujPl - DqbSlkzXsontPdMcMRSQjvWfY53bFi2Hf/qVtv9kuaq4djFInRHIZ8/FaQnUxuXU - fR4evYfWDK+ztdEa/0FkimDAsl3ZbRdQr5pgwMGA9fV69jO+G/+yL+hDUVwiTkw+ - Gego6ru9vnVRcfTquehOUvG1qe7lOxT3atI5N4yvdJ79ruYGgkhjsI3GFP9CNDXS - XgGVDr7OoZPrLyEkxVZI1zlJsFn3S+e8Suk6MD30qSYYdQuiuoaIcd7D8XXoq7YD - B1r7jipMhZA340zkWQNzWRe7Yg6+VKkuIMx3SxeNFvnN5sJxFCsFTKmTTEYZTlw= - =aiCF + hQIMA1Hthzn+T1OoAQ//Xq1G201XxrV8zZiKYTRstRMOZViTdVdO2EKi8cTdpkbM + L5crA1cyi18P9ZnSemYak5m+YJY/UWh/Nv4RaALQJWLRx12g9e6Ahm9tk9FPy3li + 5MMIZJtkjFmU7HxJnawW6vrLtBwqN+Xs1Pzdi4kZiwdEJXgeSAnJ/JfVYGgSWuXs + BREBvHCBf5wsGvqpIe81OgZZ5+uVTcBfuoqmpXrfXdAf74ehsz7d0Vc2QMoXvTt9 + eSDWWroOZWXOh/8pz0ZjLs/k9v2HdyCGohZ12QmTPe2B+n3pWZwPM/yNUz8a1fRf + 8B13x026N+4AyrcIA9fnUytMjV6BoIFown4nn3e/MAMvroAX+Jh/W5Vm2EBITIgq + l0eziBXyRGuDloeY6gvsGJmMXWEY/xHL6EZ7oEs9yEpuQmyp+PDeyP77GuboYabq + xZQyYq1wFEp/9/WunYXyTEH/IsTM3ZZy929iZMevjRGIAbykQCzo7BlrDl2REXub + RFmcCr8yUgk5XD7wETrp6DrBwGVdg4AFYRlSUzrTe7sLbFR3tx7WToUSZlTRxeGC + xOPpRZ0TqqqXcTh+LZKAhlioXhY8jWxS2GV+5/eRLdGmMhu1DpshrQRV/HyLCh57 + tUY7CJUC+f91MddNmRMVpYcBC5dAqgI1Xr3tGQAXsn9fH3Zq05HijIBr4rFE2m7S + XgFdzNv5deQCByYK23LVWZNUW7CfyZSGGRTyUikvPsG5paOI+1TxMfKHVjstv4wX + VN/qOm7SrDH5gshI+WBMC2aABnW6exbLwgZOlc8M7D9xHMc4ZdEgo4WutlI6Uik= + =lPG5 -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2025-10-14T23:36:26Z" + - created_at: "2025-10-15T08:45:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ//fuyKNqF7nmTYEdcKP2xtBgpW26LeSEMksMaI9yJegF/f - xQbMSqyAUDZb8TI8iEMADzf1feZnhCxN8FdUT2Hm0ZdF++TzYZEhKtVJSnE8bAYJ - zKWaW6LzS0qWzo734IToApOgY4BCMwRaUDYPFH5cx6i0gqKv1f1DUqwsOLOMfcGa - nqleVlNiRuw9d9/Dlm31ST9zZRdGAF+bQoVLEsB9VQTLYVJ7I0tBx02792e5cqb6 - BiknHlJUXNNzm7VEH1b2hbXTxeQmqy0YrDOHimA3Epo2roWw+9yU09teDg9DaxBi - GvSxEDt/B3MtcE9SWatTEGgTFwrWqddHG89N+eS3/CBk4XEtDa4E3s271TCdMRuW - HORXZIFcci6EvfQoxA11loIfS1QS1TION612MHVyhFy/9FSOJjaJrNDA1lJ4G67a - rst2JxoMOZCncT6jQLhR/tlvCI8n2DQb0oCMVEHigTnW3A/ZdmlPkCKHrwGacloq - BZHItpjbKnHyCkdyLmDMlPXZ+gSPLRpr32YlmcI6I4CIIpBPzSP3Wc2BVtEcdhci - YNOkGYLlEB/zE8m/AzEuk0o3ijbmJ5WDKTTcrNoGL6bAu4r2zclA5axOi1++N83+ - Stg1YLVnXDP72JoIF4H71H16t1hZtcBl+8LE5YbHe087eivp8JBV04XkE+dwpk3S - XgHBi0sHtHlQXUGHlrN1ImKfkp++/N9HLnJmWQyxbuvO4tjkwGTt7IpsCsEYgYFN - GRMugn7zEYDOVuPvicq4BAH7lzijfxJ3Ybu94ZDkzBHRB2dxYEUv4j5aNLIZZYo= - =Ov7X + hQIMA46L6MuPqfJqARAAvQvFXD+SIaT3uQmGv0+WO4Y0lrqF6VWETVC3yCnUiTAm + nJsvrNOMUJui/WHiJqwjVmDoT7ilkh33WnF3Rnw2Jw2WNX2bCuG5iXddBKUr3Ogz + ZWMae6eY79KDpWix/iiaNe1dqkBPgdUZDPuXudDkq1cpO8VCrT0vWpjLkh2TegzT + DnqoUAf2zS1cG455XUS1L3Os5aoryFLlB6AsgVuLjEHNoYqsygjyYA4opWBmZTlu + FcuIlp+5JczwK0Lmo7fF0IWD+ujbILFzBOYZsVsTRnOERxdLANX0QKBgljnRLiMm + LE5tlpOvgag+MSFrTIDy3BKlJ9dJrwqIzT2joRRE7+MzFZNZGsAqRjx7o7LlKDrf + xmsFP0u1cCTtZ4yDbhi9x9rKjks8vMCNKvNeACWfli0FWXKRbqvL9uegrN5FMpNU + 5JMegL8ag624IcOCNKExBFQ08Tu6Su9Gmv6IL6oBn/GZE5NH5KaEw6Qgp+kcxXjc + D4d7dLPk4NOc+crvPIEdPOS6QqtB5j0iJAgSe1UBL6Chlk2Jo0toCa8hcznjltLn + zQD55B+y6XfCLinHClmlztQBIcyx18b7BKr6i49LXPZ0sTAQXmIE9CUyJjdFdbUT + 2E0ownpn7e5s61h0fKmY64CVOR0ffQYf/cMYnMo5h4pJLx4VzikvwK6Zge2fF17S + XgFGFcB+3P66RKZrXYxnBEQDUy2SH4z2K8NQ+FwfHk5Xn8lR7oVGBMYiL4wi9mi2 + g3H2mKb1DOXwBPmrH0Hvwtd4WQBxrpk4/L0o9N9Ydj/yXrqe7c0yDb0dPwHx9Wo= + =Yi8M -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2025-10-14T23:36:26Z" + - created_at: "2025-10-15T08:45:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAEZRkAlo8HrY1Vszgef5uG1hp7+vDZ6ExovseR4EMgX8w - llhLk6HAuc59shMDQRBn3d07Xpm3GgW4nQQsV3XRLftUSUGPNWroBk9Br5H5Te+q - 0l4BMMAc88ku8eRp48XtZxiLZERRIpJeNw8/SsUjoKgcUh930/AJdVB56WRputYb - 0KIppjYCUHe0ZjATkJLZA6Ai/tfdAYTjCyvbVkgVUYzD1T2bkrgdUKvrgQsY16WV - =ovJo + hF4DQrf1tCqiJxoSAQdAchTFsCspaX2IvJhVtq9DBvXPOEQ4wScxdrP2knyXfXow + 32iUuXqsTdx00wdbLmrjqgRPNdkpXDELob3dp6VBXZw3Qdnq7Vy/vdCuJKZpF+le + 0l4B+uKiPm/hX6j3+s3kkUASDE2UDlan7JhRY6E9AAazOLz/DbEqDll78DOajPO4 + 5VExDFgRLohMUmiSbEehhTX0fUe7UC06fI+RFit8FTrXQOBNQ2ZxXgzhTh5BL78Q + =iaOe -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2025-10-14T23:36:26Z" + - created_at: "2025-10-15T08:45:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAGkBRcYHAXR24aIeAHAnXO14zXaAchHdKxtOl4KQmnwYw - V9rVcSYyiiqsLFqQ2fdRNBTycLuj4NpdpePFIfF7ZUiVa5bED+ogdI7ecgXwXz8M - 0lgBGdrKkkoTsWB4VZk5VBFeEhm3bNVUID1oVsMbgCx09pjYyzUjQiG72cX0WhcX - BZP8/0n758VVGmfTuEp0Hqyo0zv042/DfWu+7drjeYXhb2iuIDEGixeG - =kqys + hF4DzAGzViGx4qcSAQdAEgM+oWVAskw4+VndKfML5KAMOAIuToqUi39n9vPMBBkw + Uhp4bTCdl6CZsves8JTIo/WWv3TOfrjsbpCfS7KTuT4JjcIXM2lCdGOk8XmgAIKe + 0lgBSyhDGYG977wPYdnTcccUPIOvPuTG241N7pvjrkjlf9ahofzja+9lsx6exieh + OXrDRwvKnqUQi48lxMtOjNg1tZYbNe2EMm01zfTVTN+PWVtRn8UYCYzn + =SpnO -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2025-10-14T23:36:26Z" + - created_at: "2025-10-15T08:45:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAA573sDvT5u2KFxxdD7b8LDwQDewbIQp6x+UfhEfhkBYAR - Kfvf+SLMm67TTnKK5653CTCsbDI4BripaQMfjYLJ/4bNzittcJtvY5cl+h8l3WyR - gdANMs+5uHCJwE500x5QzDCs5flDeTab4p7j3V3C8V/qGD45mXEI6l+/1+cn885f - lPjLi0jeGEPT3m6VqBocHMB1fw8ofnxyprds21nbqi5/U2o2GT3cKjxjSLbC7AsF - qaRiSrlV+l4qexFR4aTvyhtU9NXA0Sj/ueDN13ZO3ZBbdz+99hxWfA9az14QKAHa - dvoXW9Yg3nZa4nBIJyKUqZlpMwiexKNu0pfkgC2CU9ZT1H9XdTd55fAXfAJgWrmQ - pe83OcpYfFS1uj155nClyM84NHWtRKDdC8ZL9G/mVv4jKSo2FGmUtBkdEFBdOY3l - jNEC43VGZRetfqVW4axaft9VlLmCPkglUOW4voUwR1I74aIxYqVXDaLc3mJkFMb0 - pg/1g/1cgHjQeOD1CyqCLkgtl0wGlbNqIZb8sGACosbULgYa7uHS+aIwT4WpHGOl - GdoZR8UBhnTM9LAdPv1UsVg8TyZwiknh/TxNjae3oV0QoBmCj++vCV/ntrekvHbI - 2RgOtySnNwcNXOdrs4fjvq5PDhmpDAoLOBf1o0ScLzQloPn8nyJBDKv8rhp7iVnS - XgFcFrb50QUJIAmceExpdM0S6tiQRVc5eoUmtqr58tj15z6Z5wkdlvtsWUXnLIhj - QGxUgjY8a/BF7e5OFdpDKvwEmRn3qArpKWJvesnC01NNTAnuZSSjJDTWEqQe3S4= - =to9u + hQIMA2pVdGTIrZI+AQ//b+te5kA+Unebbevaf2VUcgblzOAQFpTi194VY/HGulLm + 6310SD3x1w1VYuNoVO87icmnImx+NXbyT+LZlLaCBwXYS4IdZBfCsDJ520aedKY1 + rFixaLHxgRIfCcQ46Hhx+EW5E5PoROGAoE5U+EbEoHRviHvHzir+lwU9nEmB2AXp + o4JLiadGpLYipjNOFx/gIQEkAuPxqGzmglp190AC4V/1BQfnPOxsWhFIZOKgFV82 + tGixkMu8hgviQZV2EAnPuI2OQw9O96VrX7xdyACLdE1aPJvBliJJXuemXg7DdlbU + QtziJiTPhAx8NkrlDiN/L505wpNo9nTfePuWqVgFWtcZN+g3/2OQep7TOHgYKV0S + eU+QaI2FnFgScJ0N8mhOXCgZzrX5pEhoPHLyeZNEWxNcEQ2fU0LRbiZiRnkYrpNq + GWPTxpUee4dSeM6wicYEyMCrZGO8UmsACGWumKZdoerWn2ryqMznzCmLCkzuXEkD + 057jS3H5SPQyL+UWJDPtqNQlerjTX1XxYoCvFxGpASvNfLnyK0m0QmBEWXChg8JK + 2RI6tHbdSzWWH54H7VUSCghAUrF2J6r2aF+OzPah17NHkFZdzIkcv3u5NX0hbZ3u + rZQ8NuH2GrVcArH5CTuvb+OnmXKJlfej8KglDMs77170AZmcJPcjh/zMHVcDtrzS + XgFYC5oAARO1XY4XrH0qxRYSBsEutnfgNyDYI32+1lJo186pFpuPocR6lXGMRJSw + RUNHZm/QsQYMithnbrqSGg+tLc8J4zSXzJXM0RvIX0VFOB4YeTPPx3uhRy87BKU= + =mZsg -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/sunders.sops.yaml b/inventories/chaosknoten/host_vars/sunders.sops.yaml index 2527b0b..98b3917 100644 --- a/inventories/chaosknoten/host_vars/sunders.sops.yaml +++ b/inventories/chaosknoten/host_vars/sunders.sops.yaml @@ -1,199 +1,209 @@ ansible_pull__age_private_key: ENC[AES256_GCM,data:tP84jDYh2zeWjf7wqDoefm9zaeg/Q2TWUyIstOcrjYHgrZdGLk64skLuGyH5q4FxQL9QEhe9qBT+AAxxKE6fU630/M1LVOR4Sls=,iv:I9W6KxIoisJFFMtOrN5u8KgnsmuIgF9RvzWanLNGVVM=,tag:w9bhDahR4Ai4/nLLeR58lA==,type:str] sops: + age: + - recipient: age1na0nh9ndnr9cxpnlvstrxskr4fxf4spnkw48ufl7m43f98y40y7shhnvgd + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGYmdmSjc0U2t6clF0eEVw + eFRjaDNZQ2VrdGdCMTFLd0EzUDN3TG9QVzNJClp5NUZEaCsveitxVmNZd3VkR0JS + NFlWcEd3WlFYUEZaVmVhTE5OMFFLNTQKLS0tIHRFS21OeGJqc2lPTDFuSkRwYll1 + S3NiK3R6UWQ5UU0xUmYwa1hqMUo5c28K4EVQwBcALc6k53CNsemfMy2s6AGO5LJf + 3U1zeFtEcsvEnUfkvFT//M7cB6pUqQF0KIq1VnnFoQF7IpvSN23lxg== + -----END AGE ENCRYPTED FILE----- lastmodified: "2025-10-14T23:43:05Z" mac: ENC[AES256_GCM,data:15TRSKlDhjQy3yMcFhz2Den2YorcrpJmCw0BVl10qlG8u9G7Vw/7aV/hJnZdkCz3w1ZkEbNS6DCKxCLs1Qgf2SEPaG/cRraO2mcl+YH7k4gb5LMzu81fRkbCx66B4LG+DY8fsAJeO4mxui2m0ZAHb2SNFIP4Q4vdLav3jTaiwAc=,iv:71qa6JTc+S5MLynGc27tx1WBGrpvTCSCoEv01SZnPF8=,tag:ju4WP1MK1/sWw7TAitzM0Q==,type:str] pgp: - - created_at: "2025-10-14T23:42:47Z" + - created_at: "2025-10-15T08:45:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//epgi93j/qmdatxdSKVs934quCud5WmDHECz6/DY7qMn6 - Cw5sBvNZu0MljpnpInQMrdHJwUUi54LhYOcOT28EM1DU3eYvRBG65TehWtGU+Hxi - 3dXLyoLoFPfRhDj9F4g6ikQkjd4kKsJCEgIvEMnA4JjupPkzCn3vm5DqsfVdk8SQ - NKLMZ6rcoP/cZlDF4V7q14NWLRy0SUFc9UPor2HSx+nmqjrWIx2qBzkYYsyb6S2+ - E/fhDJe+7xKWpehC8/KD3avd96VdM3ldOEULSloytEIWqByEApWmmsVPn19yawnQ - BEV7IhKAWdRzli7L2OGI0szg7LDeXFQ5lrZwBxNXDIPspWX7FiL+9YspjrLW4CSZ - 5YwUWqr02LM3gRCQm1awtzxprqv2ik2v/Wu/vOK350ebU+t2hxVAPyF8vFFhn/zW - qxb6V66Q6nTq/92wTB2j5ocTVGmuGdwDWphSqtkEAtDhiYtvooimwlxXdi3s+zVA - cnKBym8qwEeTElDxhzOTaKihEI7wTFIbsuQ+J9vdws9N/8T9D9p3yHep/k7Xh5Bl - b00/c5cH9N2dCsodpB5PnrFOUN3EYWPqwCyugxv0rXF//tuAsxTv5jH/iGciU2pf - mZ6lYRKmNAKIRLGb/bbpcr3vSDPYMByiLQX6miSoHo5DRmEZoST3zYyqXI5Ruq/S - XgG216x9E+rGf5hjMg2Wm0klPW8otmEPzRq8+Vt6g/HjxbfZgzOxoQSJWxegMzRY - q7qlaLkCLrKDYdWj8tZKOq1VQSJJ//ydctcVXaBUtPNY5bI7w6db+WWrVY1/2q8= - =+ajH + hQIMAxK/JaB2/SdtAQ//fkLWQ/3OVcu4GKLhg4o2uHTWlqvFQyzpagXsDxM5RcIM + JteCVklioa5qRBZzDnwGs9LxDZmpmlURxCA2QVx9/M79KaFr/qfPupecS+3FLOy7 + 4XJTQhFxNzQgLDepAPj9JJI3Sp1QyChaIwH1SvGX/oGnjazXo7NhthyXaLFIRXqJ + +dwBiVcyjVLuVxopLKALil0K/aq0wRhxBQDA/K3X+rbHsKllo/D3+RhNsaVcz87+ + 4kVB2EjcxMezl6vQeXPvDaMGwhYLohTNng4py9pmA2ihyYLwDuSwVkAQKjO2T3gR + nmvtw0jZ0cgGUkeChBHG6MrvrQepFkgFwpj9S0TzNxAAmOSwp2HVIKorBcSjB+tH + 1C3cjjFEWHlE0kfWRrvsbT/57nsOIWSXOx5gMqRsMo19wP7CpCMYL9p+jSphQbFE + ILBtmmcuzlr1ExLi+F/gfEX3yA0kSswV6BJePUXHECiNuVv8PM7/sUOba2fcFyDx + fKBkD+5CEjr8joUgBE42kLP0aSEwwdqmgzVhIlSY6Zn5QVx6tSPBx6Qi0I19ic9u + 4MldM2cKt4IP1LNcLrtuPNRRWZ704LGVTp1XWtKed7q0cae/k4uOvYwYf1QKWY84 + 50wApyybTl7s9JaNAVIK2bXQoK7ALLiOIDTwPu8B5q05zrjyE5XK+qNi7ueXcQjS + XgH7kGxwfpXKGJpXJ9dDaW+2pmoUU6LTOCm9cuqZEGB3jk+jl2M2A7M9wFKbtrkh + PGcloa0AVlc43dEzqG7tox4fMqToNHwKTpR26D2GCOx2BmovIGC3qaStSbA/jgw= + =/HmI -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2025-10-14T23:42:47Z" + - created_at: "2025-10-15T08:45:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA6EyPtWBEI+2AQ/9G2lWzIEOinsE1jffxwE84mnhPEIkA3CfxI2f2nE4C+K+ - uql+uH7NYRywzm7+KaUD/UWkAlqUhZhR4vVtE6+OXfuo2tzRKXbqOjIU7cFLe+5M - Ii7KiHqhyL49FNcc99UeT704hiFqqn/at9SOnJJ+OVYmeO2WCmhG7g3PXbfw4IVD - fOps8UKy54viVn3ZmDFpUfUUXptazWzaYq50cJeq2AWVPPcjoT+tgrmWV5zg+n7L - sd0RhRvKZpjHPjPGVLW/9umQUOORLqg/FO+rxWndTpOPkczdo7lOPZuk5EFJlSRh - cY4xNTiK01cLFjMW8NxlNx8gNIS4zR8PbjNuhWyy2PFLV31zTuguvvcOWag/eQ0t - 1rz+EB9q/BnL8Cjdx6w/7QnepYy28NS3f7rnkA+l7CsQyma4s3qXytph9KkQCyss - AEceVgpaSMmUJP7OOJVTIJwy2vZLDEJzPYKjH4OVJlX80gJC2p9zKhr9SKy0xAKF - FpWp4xL+KMNxiDLJteOEFpKi8W/cIgq3w5u0ahCYY+xPZZwe1/ZlNqxJm01NMJUo - ImhMu5UnojHXuopPfB5lMakjfJGAVTCm0KhAI2jDbVadea4QnWiqrlqIb6yYySYO - kXpndUrhQUDZ+zpZ+r+1OQHxVPH08d+uXfWRPdL3rYWhfb2cIJ3Cy3Rv3sasPfnS - XgHz1dM9Xm7ss+uros2yow5RYP5RWGgiLWQdOoN1Akv0X5TdCvVlk5W+L/tCJlVP - n564Gu2SmIS0XGo7Drn6TNWtAy7DPtVy0wR41p67e6d69c/tuJOFk2jg4csFviU= - =q5RJ + hQIMA6EyPtWBEI+2AQ//XSwyLenM3YV/KuBSSUy57ungQfU+aujOwfhZLMK4w7dj + iLDNBtSb1rNr3rQ2PSQxX8uqZIKrxW+SQ7YN7dOKhAWXNdRPZIEuPRCfhrgdL57p + VBCHpBSPQqzuDhHXHp+hf5GpAOSeNKgPLYua0hT2jNaHHkaGi1twKDuyJBUtXv+J + oXw1W2DKFLIhhKVLK/p3OqbYplLKRVoCJg0+0A80mAoVwtpIW7CU144jsvM1rMTZ + mLFXBjDXgq1uy034MFBAQod7vcgmfoYwFr9LCHKygAcpFmOhDtNsNTQvjKFmmHdw + m8ykzdEShe4vhzKfH7icKlYcwrrGhT8JoswzzBx6aA8k/e9m8P1Blez5Ief3Et7E + lUiSZBSzgmZDMxaNTLhNmfOmG6BEkM0X0fv6NBtpuO/vl/zn3pcSPUao3LKhXAwy + 91iTRjxpm/pYKZ6RG2Z6eI8mIdNMWcfkOpzYSMjELggvrfkMhdSVSmLPT0Hozx4f + S/2yNb+7QFufrwJw8Fg0Acst7oPU7siMtaJu2MdNJUlDqEHCWFfHM6Lz55jnJNVC + Nmr1lRcTgaaOIMpE5UAJw+ownlCZFMN/pbOJFb9+Hy3GlmciqVYch+0cR/05vNPN + dDnuALTlgsJ3YMv8PhVOAffcxJ3ua61hSCQmHlPxP5MzB96JY9BQ3+3ufLtPA1nS + XgGRXNlyqtW0YwQS/kUctV5n8k5BhnBKgxJHq5+Wztp/o4D2GvxgkmdEdOBK3C5t + an+hSe5PhubEVnd6tWhzmqBQzThTyY0S53RcbAFYRId2VKodlT7yXV0wwewL84U= + =3lT2 -----END PGP MESSAGE----- fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC - - created_at: "2025-10-14T23:42:47Z" + - created_at: "2025-10-15T08:45:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ/+I0yJHYWn25u6Q9x6/TCfzeLErSHWuONLwcyIWm6HA7pd - i6jqxPkQK67PEps5EoPDrvdoqCLOV8I6K6z1hekFKHzR5+dHnckQDf3dYqWuWTOp - relbrYD/ir7XppSB1VUMWng5WG8nDwgtPY4Xw+bXCCuxXKcB+7t7Vat8rc7OkKPd - brobX/fVhu/RikDfrt5yUkjLIXDLtHYJICcFvL0NWWVsSGtXFbD+H8gaNE+pErVz - Ydx6Fn/GnDcSrq39Y+dPQ1Js7F63AjmFFRisVGXFFyP08Agz4jPxM2DEuWo/W/L7 - kNuYC5Y6S9xBv9Q8ck5k0qoNgV/W+aupq4gtk12DLzIC1BjjzC2XLVMqDtMkRusP - G9iWcX6Zma7A8NVuNRN/3/6Xgwf6yjhnpHZboq992z1QaPS1lxhYUjujpq4I0lPV - aHQS2OMj81XAnsxtQH/PAJHpTQigGGhUrYYj5qwegGSQ8mxoRA9nHMToiITSKO7n - MjpQrWsNMArss3p54XyqhmaSuOSNy935Ph/GMn8oT/OcTMjJtpftQmwOplS5HgTk - 5UR6WoOBGs7LP3wg4NMsheKbIxPhNB4Fk07SqNw1Q4ZQ3IWx8DzRK6cEbgQzEpCo - NybZEsb6tKBjnh+2bMuPt6its7YjrJmZrr16KsCNAgatwmZvtfm6+rDX4U6FjijS - XgGVHaQ78aVkwRkDrb40jHLdmIASNfiRi6jmRTBzx98HXdIydws++UmutEljrWEl - Nd6a+HHw8I03Wa6PTDhUHbhQJuLnGoTNuGsdVYWMGXnGGcC3GnqMiuySs+JFfWk= - =fn/Q + hQIMAz5uSgHG2iMJAQ/+OSLzOzAJtSU2JijWvzYhf64CClYDmUXP4nXN6CJs4o1z + iet7JJfruRBLTlQdqbCESg3WHbtjFk639rlCV7d3cPQIHcEQkIv7YAisiM+27v8g + jJ8+gWC75+rtyikVDq5hxf5VktjXmdnhz+xppRU2YyY46tFgp5vRhxsS8wQXcKBD + JgL881OPCz2yZUj2kaqlDf1GipRtwswxuuKj02mTfXiQ50GGYBEd2nSzdtmfdQ83 + TRFLZxhmZFUQ/EVB3wCa+l4y6SThXwpJ6ImTCK4BNxfy8WPm87soTEs3mgvhiBIl + 7q6yCW+6t5oDaxLg/SCZ4lU3HPgUjMF8Ax3SovHqZ210YFZrNpcJ9C+pVrAkZUIm + oHWTbR01G1Yaq7c+e4bGiA34C66gv3UNgA4kDcXt8OcydtCjX38x6Q5kdUB9I/x6 + zwVS/6GXGDvxOodbPpe17LdUDGqswjPZ94UbKPwCbQDosN+5Xnt/XYF/nzP3V0JB + x3fZQbBWI0sTciFRvaMmB+qG/knF42LZOdhVaTASLnNcAfAGesbyH8Z/0zivMa3F + 0Bjw/LCldSS9+wvhJOyyiorV5mR25w9G2IDa9l8f/ZuknHQ4Ht4ptlkddZokgXFv + CF6nKcHBFHMofzs4a953dxJZ/rVTFj8sOY27pKf/+uQZjZLcMI4NtmkTeVhKQX/S + XgFmp1yvDE1KfuqtmZ2UMQtarN9zsaUi9HPcTaJyTuYr2s3f3/i4vtUmAeotfV+O + x9iPs0ttwfi1XxDJgFdxoa1MBFRlUS1sJShxNzC2UYYHKhHlIago0kTMZKHGczQ= + =BtEA -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2025-10-14T23:42:47Z" + - created_at: "2025-10-15T08:45:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1ARAAqT29AodqPmwNNxo4dZrbhIduLYQ9mUzIG/nwBOPyaNub - 8tUXxZMXvgSCvA+73KqeoRP9mZu/7iU6qcLWpjY9bV1Uc2HBfBjFaRGbcRiPs+7h - ygSXG64oDSOLLbJb/5Bku6Muvvec/0BUEmnBlxGKl7C/jGOmvVothWxnDoaK+8nM - 4AdM8cK/+zOhuk50E3mnN1km6v55CuMTxRTKsVtUjmoO+2KVvWri33JPxh0CnIzy - s9IduKDTTzviuGaK/mv7N5SFaXQIwv8lX5TtgHQI2I/e80wf1PVd+/R9lsblLWOm - UvI3QbN5NXUAreqomW/bXo46urx2JeJKLKbbYoadhttmfeUjjrYTUkOSaLSL4uD8 - o9+Iqtzqo8cQj2XWIOLPixJWqJf9SMTi3zQVEhHb7xc3CUgtKEM8z022QY1knz+W - wylR3a7F0za6tCm1jVrZWsMMJe9mnruJPF9LoRduPUzPJ5dyCN6njBHQ2nabKhK5 - S5ntshFMi6PP6X+UzNqR3MIzxw6q9p0gfL07Ko+3q23ZOgzaSJdN9vqhvFd3aBRz - F2OdoqMwqKYohGO4PjPnGhh/3gUURjZATllwTr6dii6ETz66Wa6zpDvqf0228aAy - VYR08q1t+cN72sS7f/Z4NmyhKzGTyxi4Zvi1CFhBc21ZFXdokqVu+Pmw3sS96gTS - XgHQoUiGn438PgirCPSjttc4yrjIGuNk1TPXHo2/8wsUUb04HuhWJm7TW3WZUDS3 - pnejbmOFdbYYNSJy7Ocdmt2oxX1SHvA9lBcTAOp86iBJIG+VOK01S2QC3sXqNLI= - =wFVL + hQIMAw5vwmoEJHQ1ARAAirhhnMsEuxUaDwxgSehvzEeX3WHSYCUPVEoCqnMMMr5T + /6J0cEXitvwmw/l29jpCuJrEfQ6d10syMuSrJvAnwbma4Dt867jQc8Cj7Xn7Z3BC + Tk0s0TPW5hCEBF7Mg4k104yLDK8qIwAMtSuFZ0f9Fw2gEjdHE8+r0y1ZDEUndxQI + jUfTPmcXq8e679VFjhYT6O7ttUgd4asoQeNi2f9c2fqpiOUDlL0hV8yFI+0lhqPA + m99GbCDTnSx4kWNc8HRtffz2v2+/HIvOQo7qPIEf0SS144OebvqYOFEqw+0tNTA5 + 9INouMXBwm5OjyQtjMd8YY5/f7y+e9Gj9KM4EMoNOl3hmLVQAez98ReJEuX2g7pE + 8lPmBmvcUM19UnKiNuofLQyaABUkyrv+gc5NG+8RtyiQIHoe2gBpXrKXa23TuvD9 + PA5AkTTCeFxxnj5eNgPrwTQKfD6pvp//xj4qJTAD/WVkkQRzUmoWdnvzv3OVnFZ3 + iO7Dlco+klnAljzZEmB/sY4W58fo9ltCaCflFHE0iOSp+Hr4yqlDpO9hitq6qf0U + juTQiHJ9T0MjPXzquZftTNy8Icacc4R3myyf/NZ0wLsWg/X/sQcSvr7ldZ1gLSN0 + EpPKEAWMvEwOrc4wPAp74N0BTPsadCaEX08JrvC4Cj7XdmcdZ5i7PLWd+YE1iC3S + XgGIywh3ADFH9wSWOVLcW4KeSLuxl91XFaqc834WaeiQgrRKy68cSj8BPulWn42k + W4A74ndSgyooVfuJPSPrY17QYtnEGiQU9YsqDr4mbuBfExZ0olQYGsBS4bX9uoM= + =i9LM -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2025-10-14T23:42:47Z" + - created_at: "2025-10-15T08:45:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAQ6JWnhF64tLpYMQaZC3vCyG9HU5kQdLbRR6NlM2SjgQw - jL/DmQ8J/TrNvcVGcjfDjg0xWTFVMqfs+F7iIFidVzGmngifkQ9iKPlH3N6Cjxxu - 0l4By+S2U5FexT6Nr/zezgtIli7d+sqpbEgYJOhXtpeB7JD+58nIb7HCT37TUwns - QZb68apB5q1qKf989SgDWIKjau+ZjH6PNOYYZiLM8wrIR4OoKPGF4hA6hi5OPWft - =OfL5 + hF4DerEtaFuTeewSAQdAIoIvHLe5CKp9zHMCCa5+pAa+NSNGuEl0eSC04ZgLHDkw + 1SYTz1t23cM3UjK1lRXkRVaGeM0U5G0v2shY7zb8XomNxPmlXmc05xYLIkM/F/dt + 0l4Bb55iZgJXODO9B89qQXvcPqdd1Du2W+jvWK1uxDzqUQojhfOMLgwtF9UIjV8l + atM1bQTX9413XOMDvSGP3A51iyzYKGBU5Gmm01IM5WsMttJxdY04uzXanHli2ynY + =Xi7e -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2025-10-14T23:42:47Z" + - created_at: "2025-10-15T08:45:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//VT1OtXWEDfE5nV09hKBfJP7ayKQMdNdONPZgNfFUU6yp - mE9/i9yrjVSnJmOzM2URSt/aRz9lWYB/tMvBFNjOZBJ0UVy0L15eA/UmTW01/uR1 - zCSaveR83bVmCWmdUpNlWtMbBgkFVwlp+IWLxRwKLpUbsrv9yKSuw3Ln4HlBS92b - f4STc3jqghbqQMNRpD9yAWy401FBayQHhHxZr/70sn1sYJNBFhdbucpCP3A+VtqF - huUIHoqr/qK8E8WiBE8OV2R7MhoCXyvo+gKc2E4wjtv/5lX7N7ouZiaPLpTJHOWf - FEL1TAlj9eneKz8JuOa/JQSKyaIYKx7HgGCmgKUx8g05qTVxwm/FnYjms+Az+XIl - UVSAyyh+C+CN5aNi+vetet9/1Beav7NpdJQUPn7T5a/wzkEpby7kdHFtsDJztxtn - LY1ItadcDhbSJ29PIobLuBJEZZNo1qBwMa/4PvRgSQz7d8lbQPdc9axdGCWf4uVe - C9M34HyaT1dd4PtzJ8uUxeJbyrHb0U/I5mgxZkOrmpkapZOJr74VgJg1QL8vr0yF - M4OFVt2pOQXFnhkvMs4bvdh19jv3UCWuI9YlbBReJfiqNmGW1Lv/4UTkrYWzxk3J - UyAMuWvS+qfoQ+nN1lJbuqSNzYbpVJcQ6EDTRU82PtyFl6BAsFOwCiqXS0mFW0rS - XgHmJY558+CoKJ/yPeUF7ZvGCpb+RVprFdYfXdfBVt27MclrWbPLJzwNBQrAO6pm - TrMyjb7rs9dJLNn2Cehmk7o4p/7urOebPuA6swJ8arlWoarfMaEKlQiLzirhetI= - =im8L + hQIMAxjNhCKPP69fAQ//WKQgxhiG/KTWv6UTeLNYh7wCFz3SW6LbXCgzwhwesEbv + Pu0gS4Ki+nEW7BjGos3u/Iv6ECwh+4qFZRccGDcU7gbyLt9I3/L4JKh3RA+wiynn + mXW8xtpXLF1FnTBXK0lV/Lnow6oddo3C9UJ0rrr3mM72gNqSFiaObnTMDTA873gh + Gpixud/NQNbhMIkUVbUBYXW1xz6Qm7+g6C1Xlo5F/8CDvIKv7fHRO7ICWKlEKNGF + yC+a+xplDSbgSsfvrafNMFg9RWieHg52bAIu2J3EpTTWcqeTYGbQbBKbpT4aFI5j + fnQxAVFq6AbKX+hEfUfpTqGFju97SggTqR2J5Sfsq6owcuk5snwDY3b9DVJLfxbu + MLYgwDlzHQssL3RkCwwNI2Ov8Og4yMQbNGB+o6/9OaJbfLi6opb31eWB3FLSYM2V + EZdEoXfl43eEpOv/iceSyjbNCRNOXyou8YJ+nTLNRKjwmGvluz8RI6m7C0mreh/D + AFpod9nmFBhBxEO5gwvdYztpY8aJq2Fva0aTvCQ4FCU2Tz8CKJduEFQeSxafBrUu + BSV0VNVCZ1cffWkNbv9VPJ+8kswaMrIkotDHpdouvoGosbICDeEaG5ur+F1qKPxr + nne+sM3+ZjzrqTz7SUrU49ekEGKnhcV6P1nhwv1XSVaRlRin4kF2ApkM1+wXCoXS + XgG696X0SmBm8ifPKWD+HPYsaPThpbdOfSZOPExgPxRIfpqzeqw/YGyoQZ/ZKc4P + xLGoG/NlLBJ7xj37AW90CJEQZ2X4u4WJIwK51MArhHppC888RmuW5DcwMcLd5T4= + =zKAr -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2025-10-14T23:42:47Z" + - created_at: "2025-10-15T08:45:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//T4GltB+9Kx+DnOxiSje7E3IOK0XtrMrvLvcQKZ7NW1dk - PdemiWO9Zes8cQV2KPOOacK9HLM0UUZ8yLO6JYediyhVUddMdKBsf51e+PagGbYg - Wfdf8YrgwkZKeCULwXpDnhpLTzZfZU9br9sO78EwrX3fXqtCXXP9+7HeMy2VTwNY - 7l7kGLxr88jZmN+lxh9piSoz7up3ts/8MMWW/GF6mZtxYaKpkEWGxzTKELJ82yHy - e5kQUCE9+PE9+dOT98PX2kWfMjhKPu3BLK/yB+ousr7S/SvghuDTcltEtqbpMNWP - c5vB8n7uDVzAFWVKgCbWdjSSjy4NwWXZBy6Wbs5WPcmXldxOkhbNoto3Ew26IIof - A89sqm9bPYgvTa/Y2EhHKHQYUwSEwjFsfprB3HJkyd+rK+7/1E+KZZfRZ4cBI1Sz - vwzJy/UgSnc3rR0iwXGTS/4usUmuzl50a9OdpM/YXYPGZniOW9rcR92kWrQSZB5E - 56WO+qnGM/SmRMadvgKa0XkCHg1F/z8mYG50pwSd5hPRP6YVwwxBkfKAGB0o9Uow - UHID+Az1XTe/XWcLzYCNg+aFKuNCz+g3cVTbX0z4bh+wKpCQbl8LRX+r2PX1+Bxo - ttDxsmM21Pgqqe31KdkrFsAIhNmTsZCx0An/40VZ3lHpKYrgxu11vzEt7ULWumTS - XgHdI4G6AXG3Nt+FneBK9KyU9wT76C4fdzWUNPQn0dLzAgfpCYBm73WxSUyJAsqU - nDB1pIjkoFYX3v8CiYjmZA6zpl4QS4jRYxOuQT0Vo9mkqSGOQbv9b2P1mBQXehg= - =EneI + hQIMA1Hthzn+T1OoAQ/7B2ah5eKEwBZDS3U/dN6vEzMW/nQnCxHSX8TwvgpnIyCc + gdlX4yrT9jHv4+ER0t9bV0LdSgRPactHc1UbwQb9IJm8znXKmfl6eo9weD45GKjV + hBdWjTHCC3qyNROPQlny9jvSd+JLi5JadClrXBADzcTtMCygko0JPv5U08+vbmAM + iVHhB/Bef6Dl/76rDrV9uM0TMfENeS951mfuUGe5XbihVB39zTAGHuMIqF3gN0oy + lclHWJn2fUbnOlzfYEMM+xdoyM7w0IrO73GzEUKxXj7zU9AAGMMA0nrA2YvO+i7c + RFgJ3hqqep3bM94a5p5w5Dp2Lu+o7no6/kuhITJ/3xa+hu0UZIpRpRmxfsr+KZy7 + qxrhyAAsJa6OMVOalaeq0MnRU9k//UR8AEXPVV+9W1RpvJNxxtNy+9rtD5T64kFY + /uWehI8zWXZ9Afto08OmVFw1102Lby2xFEYmB+K3tU3v89PFZV1CVPBoDndpW5Cv + l81LqdqvwQC0W0YkEAZUcVOYWf+QT9qBO/x/VrFMJbBEmgUbCqaIlWSFTsCTknoI + LctO9kClYDTIZT3oftwmmvulOIDplXDAt+/ye0Uc89TdPW/UWKso5g9TGx45qiem + aiuglzPPC34UBP72XYtYlgTiTsAQWPdEOdczBX8fNDZHOBMW38k8q3w/hSrSG3bS + XgFCnSnxIyNpbNbqiM/6Wp9wuOB5yIsubRhR6EqsNVqn7KGpZHiM0lE7CJ0L23wJ + v2KceoHICRyXEJ6CCp3ZpctRztZNqqKbnLuixN+TH5H+nscmqYf5M2ycBimjP1U= + =K2Aq -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2025-10-14T23:42:47Z" + - created_at: "2025-10-15T08:45:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqARAArDvktLLpo9M9kl0pXWtSc+DS6DzSdZpUJqhRTlGwtDPN - BtZcV/JtvQ2G9YkaUn3mzbXsWtCmvQgsmZTqreXfydlcUTiQewIceOUpOgPJFiAt - AYpP7+zrkwc6Oux6SQrig8JNRUvN1CST8p6+qoA0aUghebC+I3sUjeE55GA9SvHG - 5Md1r+GxDLFrCCbjgZCIVqW/1mhS1Dh9WoXlMwlePbrgUsSRqTouQetR0Yl3LR4Y - FccIswvMRb/8cEXEcqrs4qCDa3zvDeE/MtvfCCA565I8pPTQC0KyeGrpVHvqP67v - /+3bHxWPvLbkSLQT0rJs4bvcPUdsNq9iTrfZxj0IVP4eaq6ZLYL9x/dfVY6cdDYz - dqyvyn92MUNOadH6/smLxXho92vaRDFJ5y5YAZ1+HLem1nNsV793DJGByZ25LAPL - RGer3Sc8YjRunndDh9q4IsZVlwkJRRThyIFfslgvrBsgHmFMAHrtJhUCqL1fKlm1 - sKgu1STrJDlS5VqD9yiefw7kizOEbvuiyq0ZoSgCho270pq2R5e7NnoQ2MqdTV0r - uoOSHTqq1BMSxOlUwzwa5/KTL2IVa0n7nn4B3lFwq9oA+KGskgQciTIo0xDmaOC2 - oq7KeSxdQwIv8dcx6Wm+9bLArD8o2IhbRYP1GX36aJYpq2H4H+SdQxO9eouCGBPS - XgFe8mJvHfGr5QxEIquGPTIhNGZw99IAxbJZJFxHBIF7ZO6hSn8tvS+fROBZIHu+ - 9KdyTVzWGp67KTU3pxBWrXqhWrnExyPr+5MnpekbAx+CBWTVAFa2Xa2lrnYKchs= - =m/MU + hQIMA46L6MuPqfJqAQ/+JOmH/Rbqq4C7Oh7CeLem3g27BSzZfjfYX8hDzzGNc6D4 + SLtko7TUmrag3tqlgi78li/mBaimsEswug+/N8GYZt2XSOk/rDfUawNlt8Pk51hD + ErX/cS2AWAZd81BNWYnLLeT6+qE6CcIjPpvVJj9qnR0eR/gFoQR2Puu7jH/999PH + kNH7oMYJ2SPdBmeRWl7UbtFW+tlavzYAQspkpKgWzZTZm/d1SVZorFcH+oYSQ3PZ + 7j0vuzCsvn0PLSJbH6rlc4PquhxgHeeV++Asujw0/qcnDy/CwbCoezy6NZ7ay+0Z + p6EaV3zpGK+BdvNud+HKEnEqZvTSmGd3KaaYWIkAGwTMUDj4gfzUGWs0t+QcpxKg + ujb3bllti3/+YBdN+PsUzGpLeODxb38AlDVO7mQqRnsEonlvdEJQBzX7GMrrNLLu + AXNLtGdJyePLkWTIZM7nvA7+lTQfM18gl5KawPm3q0yMpKaCmSDSktymHCqm8iAi + 1eUYNcCU7XwJfdrNmMCpYotVUZoALYCWXeFCxHfVsnuC98jIMWs8//DhaT1DVGkF + xkk4risEdScs855VNmQRW8Dg9fx5NrCSslFqmxNixEET1IhYBP1+5kIv+5O6Qeci + 5jHvhmz/Cg+6RcOn12w0lZO+eHH/p9MH+nhta8uVnJPYXxk+EWwT3YxZC822kWHS + XgGu94yW1Gsu3TsfyG50AgbvG/BGdGZ39EjU47AZZv+r0DBX4zvnQ4BEuvrrA1OU + 69kbfdIN1RqDLsFQRsgT5X9J+oABdekYKsz67BHH9ISDBhgF2BYngMD7zVln8Mo= + =5bU3 -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2025-10-14T23:42:47Z" + - created_at: "2025-10-15T08:45:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdApymJ4MfjxkPtHhU/g1XAQPPf0nC5xRYa+bP72LmfYAEw - kEKKgvegIn33QKVtOvLAvDNN4J5lsaSxGYy/yMetnOg82sRt9vTZ+TRdyjx0LJrp - 0l4B7eCsvwsrpqoKlu4OHDoG0H/A4GoIXMNMXrTyeEIt4foUoFVl/Pd/aebu1H8O - bpKEal3uwT7pf6B/3MrgGpF3uyb2Wr9imbpCUHdWCncsR1BqWV6WyNqFUZIGkFyM - =Dqsd + hF4DQrf1tCqiJxoSAQdAbH64m1QTpsgWwOJpudkwpsaxzoSDEfljEnIiVrzArmww + OMDXywm+1iiRpnbx4IL3LsoHCSe6KJah6ZJdLbohv2AbL8+vcZ7FIUaBbeMXiEGZ + 0l4BpWjzCauPu4IKBbtHN1TVawGljnNHzNbhjdCeiA0YQbeAp55vQufmJcIOEFzV + 42fFXTqa1bGbeOKjCV26mSQX34DOT81gH5dcjHtv8cDTsOsGqmft2faknKqkaHFp + =GvTi -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2025-10-14T23:42:47Z" + - created_at: "2025-10-15T08:45:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAJw7Rjkjp8R9yNLlvo+f04NG0eZ9GdUUXau2dxmPubzww - IdzHDeh0umZqzH7K1esncNRC1/AXg4ChvKinzkJVEbcZA7HgHi5UNVweyWzYI18O - 0lgBjl85mZtK6YQmtP2jHtkGAO19WRtEAO3oH9h2d9vUMRcNhj1RaKLRZ/ZHXKNU - V9nB1jCdhGo+UVbNBeM/RPIx1em8UuIeuCMLc90tMd1/wrdxZli34n7q - =kCy/ + hF4DzAGzViGx4qcSAQdApdQiqrrqkcuXl4ZOORj9xDo9rgqDYfufdm+mcOdOrTgw + amysE1TCgugTEEoQn10VMv6IVJM+AwYsUG3LI4HkrnvzidsUm7YTfDvWBlZPgsar + 0lgBH4wfqCR5orVnsJkSazAS4/AKQHLZuRdlb3LKrxbCLas+sDWR18/lKjSRTWqb + YOJtFUsXcBWgmCsgFBvgLWEPExSLrCWeTKVzcycI3uL20BejUHU9//8C + =XVFg -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2025-10-14T23:42:47Z" + - created_at: "2025-10-15T08:45:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAA1EmcxnQUAqfbvKYUXvz2abm0Qy8tgL0WehWMBh6AGdwb - z5+DjVJuaPwbD5sYPcodIVCN+cjEkBHRRRpi9VljfIlPk+pNB5o7iMxxke6UWSxJ - 6r8S7erA4iq1H4CNPs6iUkJFNCtUVc46lmS25ZLS7id+bSWBIU+TZLYGcCGqD0hb - EC4T1VFc1noezMhvJnLxgRNaOvwca9+JIMlJMSrqMw0SaAp5uWz9B6XhGN3Sy3hH - 9fr7ewwlwsbPL1fUbAG6G8inQxnRRgDeEp0g8bMB272zNMbp9bTHArseafBdi1zd - 0XcaOsgjD3hB2ennt0dmuAK8uMwKikldVtqsH3MS67Jqw+u3nZ8jsFiZ5Gas/l1L - fYUQe37iubd1Q4NuBSD6kMztLGLskXHtFMJ5Ccuwvv8kdcnWjIkS/vS8Zs3zxV2r - IfW5YiBttgCgsr33C4bj0236+Sg1GfOhdEE7MPnYOi4tdQpq9LJUfrpvSmhx/Qer - N4BI263SlOphox0/zfTw2LuQ7ZAL80H+IVpIhTeGBdPqD2p/ramdgdKlpV0f0w2c - rx7hlse9xQbXiRMkaOCHm21uDsLvfvbtHv/RXxRspXyrt8+/XCDKTum+N6Rge5M+ - THE1paAUMUdvWfrRttTZl61OxQ33H15+8+t1HGNST02Cm68tf20K3g6aPDP879zS - XgGiOf3uSJcHtPF8EHxTPU7LwSC0yT96Vz2LCbDHZz4pnifGzeMtzqEOh0iz5A0T - TIF59GDMgdfYt4hl4MAKx9WUSxQdqmk/JrDt92s9Wd52/tudKcXyBUCliNB3qZU= - =6Zdv + hQIMA2pVdGTIrZI+AQ/7BPhkMJhB+qcwqrPBnPKu01R9maR7OHBvcL1gH0QmRPab + YVBjv8gcxjdT+FQquhRg4PAR52A16vijb1rzwC3lMaB85yWNIzBRnKrUZFoDqwAz + 4FdFlw5cV/pLI+QII/eA5HAMPDFDj9UFY+/tyDaSka7LK7J/0nbv8tcTXj2r3m0N + JoSo39Y8x/tRRr5BoiL8TvBJ8GsSsjqKR5ppAQaW0u+csGL5XlcOxP8OjN20yibT + ZosOWMjMLZo29s5eqT7EXuMGspZV4ptf/zRAqBdD22CuQfRwYtVAKwFVi6qneLc9 + VKA09losPSgC9dGMLp0zB5v94SHJJzuq7jXQ6yWp4syco6GtCkx8CONx60p0FAwG + C+IhgxG0zz8c/7Bdg9xeUs0Ml77lFcXM9j+ldSI8+/9pKM3T4gmtydDFHQrLonsv + mZBgO9aGMJVVtx/oJ5aeypu2/lhxsixhxtLCk4var5RNG3Y4HsMYYtWvVbf0Gk2Q + ZFHHMyYg+fnh4Jjjgcw5gC8qtQLJ0lDaYyMNgnDismLTbaPpMbQHeFSNZCM98vjE + TJalalvaYeCZF5kx1J838GoxbdBvz9UDrkVXIjI4inLvv+J+psetC3lpRLpQAHSf + KiCwJAaeRm4jwoaPXPoECpfrdo4OuLGGhmt44JrqmkBJpVCiP5uShRkahwsSZTrS + XgHt+KX/ZL53wC4kd79fs+vhy35cflOTqZcvdQDLyqfUHyuzMlizqxQ3L/tv201C + A8V80upXtVhCiCCDLzMYfMZ4jsBkI27Pbv/YHPcEQgQUd9BuIhKiEOsSbd+8jxk= + =5Eek -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/wiki.sops.yaml b/inventories/chaosknoten/host_vars/wiki.sops.yaml index 568f13e..ea23e8c 100644 --- a/inventories/chaosknoten/host_vars/wiki.sops.yaml +++ b/inventories/chaosknoten/host_vars/wiki.sops.yaml @@ -1,199 +1,209 @@ ansible_pull__age_private_key: ENC[AES256_GCM,data:NskytXI3EgNvNGqLunJuKIK42jni/TuRdEkcoGa1ZXObELt5Dd1yiCdEIOmJCHyCxSrXGUU/8wbTciLHfNYYoldx1Gia5LovX78=,iv:aoCUz1xzYr+dZSKwtxiHeq+Hf9ObbC979VRiK1M8vCI=,tag:01VwAOByHn4PRfQNS4oFgQ==,type:str] sops: + age: + - recipient: age1sqs05anv4acculyap35e6vehdxw3g6ycwnvh6hsuv8u33re984zsnqfvqv + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwTjVMQUduQkdsejFlcklu + eGJvZTJsYmtsc1RaMWxBcGZnSndlLzRwTFVJCmFsd2xWZTVCL1lqd1FWR3ArZ3Va + V3NhdTVuUmh0VFJ0VUtyR2wzTnhoYncKLS0tIG5aSnlBZ3ZGZHZJa2NCLzNPcHg2 + OEV0RHlPV0hPSHd5eFlKRlR1SllXcDAKJ99EvscYIOPV6gKePC+Xo2/9Iz+FplXv + 5pa+7WFlHlw6UjXl3l+6qUqBDQxWpVBegZqZFbKTtYSt473vD+6H1Q== + -----END AGE ENCRYPTED FILE----- lastmodified: "2025-10-14T23:44:34Z" mac: ENC[AES256_GCM,data:Q2x63fsUZMuicE70thSVCG/pKAyzTw7FD6f1SVbvBnCv3r2xsNcXczmk0xoke3H3eErf5aiaxzsI50VbEzjLOb3kLfFeHXMCMvT/SZ/DHo1bkMJ1P86Pg6y3VFAflAJRtRvRpNyP4H9rk80Ii25iVZUqwuEcdECTUQuIF9G2Xew=,iv:QMlN4DUcAWQ4I+G0p6R1vEL9lFF9ziRlntEOf8Au6jM=,tag:qUENqPQBJBjul0S9Z7Y0NQ==,type:str] pgp: - - created_at: "2025-10-14T23:44:21Z" + - created_at: "2025-10-15T08:45:26Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/+PGJa3c81PL29D4FKgG+s1FTxXvLGUtnh+7SteUyRp4Pe - ChAEnJeWevQbJtUIiYUC4CLw+LImvWB5GtcLVdTWRzP+cLnBCvhPbx2B80metcIP - kJOAJO9fWqAVW1UOkndBS7FJOWZA1Jk/EwFNeGF3f09UsVdS6RXxbPZQWCA4lNh5 - kXuAt2Z8WiNXKrEa4QjG0BXA3d21StKXa8FD2H32XyYmB8Fbip2UXJDxYoBc/36Q - 33ChmvlIKeP8yeAoO9bZAv/CPIyw6r7pMX76kXCjFSy6suDEx8DluU5Y+MNQN7+r - 4hL1JDxsKANDXUKfw3B7R+kgJF/BeoJRXNxDRu71HYo1uHx+zD/c6uoHkI3Afvg6 - M/ZK8teklanwORNGm/LCcUYabjWBq4YyxN9mm6zq5C7WRIJ8RoMlDZUJpKjL6P7I - 614sjmomrGYqRIBnuR2NdFM4G+YUrVE7VmTNh0UxZhNHOzVyir9Xbe6ksPcfpE/+ - ZC0ew5LIx6prMjhFPQ8BDl3HwuXS9IOkQCrjoYIb/lsFeNNTAIsZUs2Z7huHigbt - ike6UjsD55WbrI2584G4L2L844RF4cOpqrOsoqQLXu6+a/5h4UjFfn3fx0pHJ+NM - b5whvvKq/sqysc1J5zrADByy4fAjSrvkMODCpL3TGJwunsSp5OH339kk7EhBM3vS - XgH7wpx/WtVA6skU+lJ8lJbe9fgaKmue7+3nanMDrV1J2dzNT2wX20KNqYNXbE61 - +DQIX6JflelUIYGYQwuArGgV/2fv9IhNOz4ksaItfeofSVfIx+23JL3lIbUnYVM= - =UM+U + hQIMAxK/JaB2/SdtAQ//ZxDKUI/QyvpPjVij4av1VxHUmOm1avYBumYremT9O6Lp + r2GeQqTwZNwGqRE+LKKOFjAtoIeOSvw60by+XQQPwpFRBGud+emD1Gku5WZcomxH + vD6YOuRN+Y5PhlQ/Q7asIkh/HTvY4GXK0pyltE9gB+tIPj2RDOaR/BzeCvv9xPro + ZLBWKEnGB/J6Ia93VwGkAzJ0KzdQx75MyAGYaN0l/F5fwZr5UgvwjDrL4+HEGVBK + 1Op8jmJrFdTBgK1YC1MaXQ1/bEI3688InRDqwDigCCfU2x1QB4lfjpw1bbRiBmtU + fAnaOfE74Ym84Lmfpvqyo0V8VaNz93miRHDLj3yTVuDAgoLHBREK5FofkIjBOj9E + NfnMiGaibIQRIWztHSz2/B21lPBT80yyLCPauCqe4N7IUrUnlI+CimMsiTcyniek + Vwrl42DkwPct1N8AbKY9YMTw8RTH3ZUT9JTIqGyGA8kOSgl5VAV4nqb11Wgsd2YR + C1KBAk7xDeQ5ihpVcqBf6tuxI3ES8kQihm6H4y4weTJkmIKDE6webusP6eXL+JX1 + rCsBsBUv0ijD38dWeXPrNKQdSElZ0hLgyttFT0KZuH+4dPgtTMCeYHiQndC81e4J + qdDlYB5f+y0S91qKYMPdm3/n2e0uU2Jzc/vTkTV7wE3/3nOk6zhRIH/0K9IQgGnS + XgGJGambfGpPDxGzmhAxtxI8GAuTsM9az2PD1Y8jMPDRdvbZ3m8shh0QTHad4f5I + qrtoRJLr4EDvQ5wroLFrMizBbVYBobFZewvY2978v5+MzndWF9gmr1RollhqqR4= + =rv7B -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2025-10-14T23:44:21Z" + - created_at: "2025-10-15T08:45:26Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA6EyPtWBEI+2ARAAgvUNLq3CBy6EVeK9csZUfHG9dCnGJ9tMmtbIrxKs8gwG - ET5fBr1nBDwvOzQanMw9IbvkDA7Aag4c+h3GFNvFz8oX/NuttjKQjjAmHjAu0j+A - w8G9mvtegSgM8LkT+LWclwmF5zXyuMes244wl/CypUX/pC0S9dnJiSw5w10GTYlt - 562VdD14ZFAfHA3NP4WL0yZp4P7EeNBgGaJiGnpedLPA8q995kvNEiVZWqeC4qDh - i9CaxJYgTy5Lcul+HylFU1sNAOdtDijdQdAWCAjCZCUe5GwzTHxXZMK6ur6FArNI - b0zsiTACcSsHwT6XRL4BhqyaAHF7hu0RR/srHkDQAXYyDHdbp5zF74BxgOLc/wJS - OUWjAH6rrjOUQJ5t58DkgujXr63SvKqWnYD0vOv1KODYOjXKEFGjDlYIUZRhJYWi - na4DvhAzmh1CRhTgJlLnDKMfNm73Pcbr/bGz3CRpPHhXlp8E6+hILIDkgdYtXRjN - T+wI8fkZ2o0TfBUhtksHQ10OtIfpMzVo/z5Em8kSAr2+P44gH7VGpZ7VEnT6rLj2 - bk6Mc2yvWWG7bagNj4nEzLkNnEAF9jzVMczvNaYT14Q1d9LgkhIuhFwdtlrPpmqr - 6S/Kl2D9yh55baLfLLEykvAJFucnLB7xQ1O/BHKBgUnENc+CqZQFYxH4KBCpliXS - XgHpQ29FG2O4rZrp5b7/K4YGQBZAZjbJ14TnvUTWmtm7NO5HbjvhJytrMt1efkBl - bHLJ7zEWzyYU2/euxl1xPKvqT03fsfbB4PmQ7B+FFOfJXj2Vft+keMGKTA3l1I8= - =k/71 + hQIMA6EyPtWBEI+2AQ/+KsTuWMKbHHrW+bM7vG98Un+9MWCUKl0JbNn+rS4d8G4H + 4lwyT6pEGfAJqJuP7kPu6VxKDYX2+oTaRoZDirjVM6Mvc13tjYmeQGin5QJcRquI + Q1JVoG1sLLckZSnwIDnzgXH9J+JK2JTqfEnF7eKiYE2oWDoQaKL3SsTKdfpzIiRf + kEo6ujik/02/fJ+sIf3GFF5a4s6Ji6N/fMmzQ1pyWYC9udTIIhHxUqaMvrVAkzFq + ETgQkR/nW1FMF52BH6AmgYgPZ/Sp10TRPr/VDsKwI6zvp2Ix91wOY32Kd5sw80Ek + p0J0oyZPTMaJ/REyCSHtiXWsxQiwd8S5+WgJ3D7khmKNbF8O6PybQ5e4Gi4VhysO + CDkGiaHDq3qOD1Bnd01nL6Bjjw7ppgpbw1PoDEHO6EDUoPO8A8RZBkSmEVebmNQ0 + Aw4xXLWsq4A4DHqBHdGi+hnM19zjv4+0bzVMCc+7M4q6zFnMwRPSzZIL6ISd9y8C + A0xXzvl7zX4F+kkOi2tYhauYutEz+GT3/O8J465ckkgwyEAjT+iA/LESk+1ofjnH + dmdMQQOP9Qf5kTtUvxwvQq14ParIDUdHcFa5MSrgMVPRR9SoXOYcqgBsF7tmVDft + 0wXCmnUcq41xONYa8Iau+eFwjJc9WJxU4D3JmVr0nBbofHnbgBEsD9BtW4cTUPrS + XgGeyoONP4ZujhZ54Ikg0czs5o5L/MPiCCHTH3d1wrruoeMCV5kQO4pQ+qfTvmRw + oxp54uMreBXoGNX3mqAaE9dymXPc/9axk6j4w7QYVz5G9fGBE4phqFUB3anTIsk= + =Y5hE -----END PGP MESSAGE----- fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC - - created_at: "2025-10-14T23:44:21Z" + - created_at: "2025-10-15T08:45:26Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ//Xllo+700w47+OEgaIQEjr1IH7abj2YotDrTxrcpOQQnG - PGKGJDOg8s9BgyM8kUGU35N2lTyAR7O2d0OZtr1fISJePOO6dmg6NMXBHifA0EDN - G968lRVBu8y8rXVhLqazmCP0DzpxPbFcFS4iQuT5BlXlcEOxMg365PFvmNsVHpwH - KNJQRQiEPd8j5GD1iNek4ngArH727iwPJcO+1xZB+TcqtGk09NtJZoDuvIpw5EKk - h09YIbwL5NR80b4jGSaOUPOudIzS4tLGQdERSg2VWMnw2SvFlA7cyyugwNc84ZYQ - M5t9lKLeOpIArCxG++e+rOMKNpr0t+BG3wyqvOnmxcwCSAXUmLIAMsL6cOj/Vhhy - KDr8ZI00cLCzhi6HdtPpctomQ6jp25+2uv3yVo4wQYS2d8tCJBsUS6q7Z+QJ2PwN - eAqSsFuBPS/JoRIP81gu0HhyFVRYobsUJ7s2M3tWZ2foRXonae8eJsXgOKo1AHgj - cr4FzXsF0D9weTKdwq3Pj3SwKNlN7c6DnDZ0BXtYHAw/Y/+TlGLI1CJqC+Xzz1Kk - loXcYHj0/u/hENP1//R3G8eoS4D+UvNrw3garXtXMcxEitBUwEGVDFzzmVOrlUoA - dT4g4yNRN4yOtmW4zJecFy+846FHv2YeTUK8YlToywPk5CeG8YT3dQp94k1YZMfS - XgGyVNBXAMFVZbL3wQ/9ZuSOmpdeISBA/8JkBqrAq30AzSP4UwQCgOtGpepdI0Ec - diiRS9GJFeNgvTLhaz2snR6g4MPpKgvA4R0CkbDNH49azQItpUugiKNA45bzbd8= - =4T1O + hQIMAz5uSgHG2iMJAQ/9Exu9vbiDjtU3s/Rtf2gc02l7BGq2/r4qz7xm6MKx9En+ + 4gYmBvTAqCNX9rRW7vyCHlGqM+Unr7zEvpQC29GKqELUAgsmNM78m0Sv0w/PGSB+ + 2m5pOjQ9JxEYpibPebTZ7ulkrZNmGCGtC/JTfPql4QOLHLbor0UdRC8CnC5JUZr7 + z1kKWUFk3Oo/t6U82EcdofdneZU7AH14rRmsyIvUUYSDpHZrz7S9PO+NgkUKbMlT + 1pOzO/zDRzbix3APqaaeq8zo0n0ExraSxxscuFu+5nNzAsO3TsHfX9U+vi66d2xC + 8ksuXONKPy/BMnURouwEVA6iYleGl9fq/mGSNHTJv3WgglmG8W6+nmPuHxuCagd7 + NrimK7ch8Te1VaidLfN+8Rkbs8hElHDUGF/fAU0/ovU1Suzzcu9PX5dLyoDhJxQ8 + v7gmRk1UBxC8xhuNCHn5ZyMMwvpWVCDmCgd5o3STts+1AU0HVN4d/+8d7atkBkoQ + YDUTreUvgxP4+dddBjsn8X0D/pe9OXPfnoyKkSwHD2WhYMPcJvB52Afp1rX3jk8w + AEsiNC7AakEdZO4IOSa2tatOi8z4KvpzEWeEV0VsAjuS01pib72LOKOKJzFClSv1 + dnKGagci8jLYggoT2oJnRnPDav6ZEQeE6G5KNVWYVZTEPkyTRpnKrxYlzkItcGHS + XgHHYsC8OerJFk73RY6uyKx+Gcaaz5NxsS7n+hsA9QU4alXK2UbpErSXhgnnqjUz + u08x+QaBvKpAuwU4q78HqqeE6Brs9ywDMHPZZ3lxffNq9z8y98iP/bHfCfIC/jU= + =w9Zd -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2025-10-14T23:44:21Z" + - created_at: "2025-10-15T08:45:26Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ//W9Dp7ud29sq/Lsug44mb1Fyv2DMx4BmdUoM7JbVnwi3l - AljGKTj4U/mzU1cM6s9XsM/2Fc3JNKeEBohH+E/dcIDjG82gy1yU+vPVMf7DYEQG - rVomy7NeZHKFYPIm3TeiWV4p0UrQrzfo1Iyvf1aDiO1xrIu8Rngww1NUeKJ8z0SN - LrEtwBwagAdndtOLYRxpRYEc2gbUH10UacyGMfds8ZUmx2mfhi4WxrAEH1SOKrgl - 78ITNEXktA1CFSR3ZkAbtWeoqIHjd69daVJPvZb+h1oyZ0e+/WpTAwFYP/Z8UAai - py/xLpJfR4xv2mX5WHHdhYL6uCK8vdEYP8K5CH+GbDR+MZjhKqrnhAhzscVvX+ec - rsE/6KqqT1n8wqITvI6AE1xJ7MrjF4oIEYq85+boH5Dd+qdsXq/QuTEVSC0IOGrX - LE4Ead9S1qy1wlkuN8kKC9CYo/9lq1lO4K2+nV430zxfifOiwfT4xeZAF67KVzKm - 9Q8irwcD9IDc5Xe2ACQhXl0AFAWVbOPRCHBgl1lr2Rs2C0AC2rRPB0cP8KvhGAIv - Phq/5PejXfPCl5Ai6mp8b2q53hFuBCWq0P9NTSF74cThpx4PPXxfeAxi71lJ3Vs0 - jukoobBnuJ1Lahyxx6QB26ZHxtdy83S1Pk3TI4nmUm4tXFtFNXJ8FLwHja3OOifS - XgFhmc+LViycUdXZkKr+HuCAeJokhF+mDVa9wJ39ixMi/qT7wa2B/YRRF6RpOuE6 - o2lBIszwCkdmjDE54Kf1K8btsNZwG6pRidCQpD6VkKvgqiXA6eLl09sxfDxaHOk= - =dn94 + hQIMAw5vwmoEJHQ1ARAAhg4Br/cOdrHdvPsvim4YK188M8tll+bHC1LTkbjSmZQM + 6MRXe4z3Y9s+R9Qi6OFrkedtgb6Jw/p0JssBeAU6Z8GuxEKSJ1tBsi7oplge22Ie + myqAFR1GoTdshj2UXKyWzKXwem5Q9jd6bajg/863m1ItS69DQcSg22Kv6kOyi760 + bje2woAZb0J3G5jzB/jra4Tw0kw20KqkyKqnYXfhLTMcsWB95D69MtkxmmBO0mz5 + 0kPYq4ryyb2hgZi8mYxzKxeEYbW4LhWnmqyt0/BsyaNwIOgnjcsWJHNWQivbQ/04 + dZdBSQEft3dDRE5WbHq3Yu8EtXyk28cOkfpFQNkBqVTfQ9XHQdiPNSxe7RpqjAxG + 6N93EQ/NehN1jD8UW5mVe5OFdOULmyUoX2MhluVHiZsnlD5yNR09FKcZ6FUHOdm6 + 2kKam+vjo6AOkVI3s2gP7dAepRkdxo4fb46Au+DWA4pUCWPor2wYrqxK5h3XXFJ+ + 7tw4oV3o25ZyUrMkU0oGP2amp41MMLMofD3Cr76uoSV7GvVIfyXpiyWUDBI/WbuA + sHKAYpSRO84Ry7AK0Xv7Yu1LfAB8FDJlcw8uifaK9FMSAHRPgRDriaR1QQrVveHu + HypZn2lIqMKKk9MGGruoBLRYDQwL89cSHQwvUcwYmEfgkVjBJ85OQAbB+3UhHnHS + XgFFg3y5qFdyCwqI3vNdl3TSprbqE5Gn99q9tBAlXFAryhHDxDhk2vMSY8e4dkmR + c1vuO4qoQCGxP0hJPTbI0U0qCVRviA3r3z9HzCGoDFIWDk5AR5KVsp2rZTfIaps= + =3m6U -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2025-10-14T23:44:21Z" + - created_at: "2025-10-15T08:45:26Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdACnblId3ENbxSKDIzC+suUttSf7WnVK0F+kl0SV+Z5QAw - iuhnOPulZmvjSMF46SnLOdty7sA+ks19Rxhkq3/bJwA6jZ5ydm/Q4IgBRzg7CRA9 - 0l4Br2VHqPD01ArBVu2lhWN+tK5AsKuF+ObWth8FRUnNNXUu1diUuWPCHvA5G9wP - 6G6F2SbmuSZM6AtAxSJ8Zpe0nr8jS831beyxFtt0a0/UIN/DNAM7LRrLH401iCY/ - =jpaG + hF4DerEtaFuTeewSAQdAMC8JipxJ+7R7EF4Zg+b4B6kRYQ7vQc8GRnlPkMDCcT0w + XzaRfm4FrfiExhb+Cew/vH9l5uGR7OaTyAsplOqduD1sXwrXnr4LmRpbIaH48nuF + 0l4Bx8XjzP4dmCbZF8PyTNn5kqUPo77Hl/B2zHXYU6BXbhHbF79TQAnvkv/RbIyz + EgNs7zMf7HVU5whwU0zwp0e/SZHBpidFtk2lfgfYGaENSRSj74KEAk3SY5oLCeaB + =LeLR -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2025-10-14T23:44:21Z" + - created_at: "2025-10-15T08:45:26Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fARAAg/rs0FBLGO/Y289ygz8tH3xXx3zL06ropx2pDuxZrwq1 - S3VRXZQlpskIqhOXLZKx/7bPobj8BWL7RdNilicUXuQNjzM2yCgXlFHHJi9sOdgo - rzZuFPnxvLgU7wjqVvaOU0MSB0Fc0CU62jrFa/iUwNRr1xXMUXejoVJb9nUP0IY2 - /vygb+Np4GWnTr/Yq8Yj0odEF2aeyVPWYm+mwEpevFZA6R50nzKUl0QGkpJTsoc3 - 75kiEzHfnh3vt4NDMzUpQyAmGPdgOIhRAgt2NlHhmh9THk9JWtub5SS0Ed9mbMzr - EWhGSpi/rxqEaOXXG+OWbJEL10PIceS81nexe139HX3zb/k8byToAAb3kECtKfR9 - BiRubo/q/8mOjJ7XqW4tiHD+SkWwwbS1BmgamS4yWO0fh+wCTao2mDsSMesI01Oy - tmQT82kLBg+AASKZU3MvdJzBfzwcx008YddVxMlgSiiBc/Y+bx10jVy7KcJ9uR3s - w4re1kfAn6JykYtNeYW5KKDd4tQxwpUw5hlGyVuRyy62jItBbzokAqtSAp5hBPe+ - GA7H6OgRLlr5b2ZUz+IhfkrtX134DVgGZDo72i9hRK+aknmzqCcB4QBaaWNwfG/B - ef0vVsighjKa4mEd7+nX0ZA0615zPk0z4Su7sMFyliaM71aOgS/qCaysSb7zJxbS - XgHuV+ddqKGjEhPjvPhh5LT54eXBWAMf+VEHKzH/mssEgUBF/wIHNczekxZ5VSJX - J3cV4Csrm5q/FRrrYWsQ3m96Nr6DtXldPKZr8UIjjFVrhQwIxhg3cRH2LFj3Mwc= - =FjXL + hQIMAxjNhCKPP69fAQ/+KW0CDAFEw6L0gollSiBcywcRuecTE83wlAhleIquum6o + 7XJ4Dpy9tsuadP/sCjLP/CtxUdj9sfnHvj4upMYITe/mnPZXrTMaCp6XsL0RHS5K + QrSGrvuv4zW5/H/2s9cNineQ5PFVBOoYkAos28d6iAmvoQY9X0a9JH3bsFPcyW5i + kz29b0wwEOvHkV+sj4A7h/YuZX8qMrzxbpawdJmjIlgd4gEdkaP8LRhSwgcdx5X6 + ifA9QXgx9C5/3O2KzpDpwGzvy2G1KMglNBrtEKzrxfHdphE6NTJrlly2Hx4XdAx/ + i8SsyFGkjXQv6rZXUs1fGSt/ioNLFxzk8Lqycen4/zPPP7vb0kCM8Zj0qjXapbAs + Xm/LcHolbvj2hU86gMexg+dJ9fxkwrxArh6tJGC0unLoad5HpD9iN5xj7CA4ZxfS + UrgL/ODOs8OO3+pc/zVDl2jWTyc6ybwM1tZ546Zp/7DpzZI3mFbQI/CczT21YH2w + epnmrYwvG096E93Q7/IDNHHTZkBG73ZzRPfProZXRfpJR7b+8llpj4GEHb4EAW0S + adsbNgzaHxl2y64iTlHlis21Nx1CtiLPI5evUckI0yhFX05bwe1iUooIpzWyRvbB + z1lPtx6JpPauNz2Kb6cTRBBQuZOqzSBRU4mk/kc1ANhPlUNcCw2njNyAE4a3DHPS + XgEgviJ1TXZW3P7gJefRTr7RyPL8puf9iw+DkiM4esKMp367eYxvSqhPhNhPRJ6Y + AEZ2FtC5unZ2IwWWgDPH1KpOpTNR5DkvC+8xI3zLACUy0x7GXTHBTEuBq325OWA= + =N5mE -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2025-10-14T23:44:21Z" + - created_at: "2025-10-15T08:45:26Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//Z+N7qV0wmVZ/ikLTClKyYtAMu08gUcPAqqR+UJ/HeZPA - ujOzjdZ/e+34v49LyKfrkS2EEA+rq41tGXstGEzj3dkSWICkIaUf8IeUd4H0+9uT - EoLC0ayTJpFyHIAMQSTQrAHy+XmlhRCig3sOX7A3LemTYx1rdjNLGb6tkWr1GBlV - 12jvmmM5u+4SopBnAsrqBXdogC9jjwk8iymOpT3ZrOkeIWUMBdVXPDaU0zYMRU/l - EOeqrpb+CMGvUltTO9iL5AUlP1BDToeYKPh/8T7XnjYxJiCFIC0d54unZreiJL1V - X6Yv/l1Sm5a7Yk0Q8YnK55KzHgrMgQ8E5qwcZ3CPu3F+yK1OrojJlT13W6SKWx4n - BWmJo4c9TFDmNXxCAMLpvhQXGLrDg+jbngcS3/5B3/DSO7Ovg+ss5pV84GbzibE/ - Mq6IqHghBe6NBtdFrk3piWy8tNt5RM9ncNX6zGsgBuacg2GwIrdxotjvz3WCQOEo - q6Uvz8yVQtazfnH1M1bp0s8YqOwCkjFmrOXtnuudKYfy8kr3Q9Isb9eFgFwPhPfE - f8pz9lsPi1WzZ0KgFuTojF6QiZJVQOGyyLLJF+B2k9Tgags3BoRBDqvUfjLrLdzd - 7VEaA3d23Z0mRyL1M30eU/kC31rDvioWK7Au63vmIwJi5Vo4TrXISr6hYuwMWGjS - XgHFePl0uITiomoRzluHKQ1ulvwzxtTulDacRCfPfaXr2d/mCYDPbSUxHZ8l0FP1 - CWweE8G+5gZfbyo7WPqW9+iIo+8Yy/LBDQrfFM89DWA03WRNJS9mMjjsnb0ksT4= - =Deuk + hQIMA1Hthzn+T1OoAQ/9Flk7XZdzIUdn96HmMeibsZy+zpwmxxFItI/7vRJfu0ro + jh74Mdxf7ycfCxPOpPQlCMj1PfCsyutxu+mPZDfSKu+YnlxaK9uoBlxoqZx/JDZf + tnjyTHqcykEzadDEeJasmz+1kA0Udlyz9/276LVJ+dbHzyHU3FcsGpwYgv1ul/tx + +VRLO2ZK1uVxtIn10KXAKbEKMV87BfjgKcfbdHF66jPAuiZKANj8ZwhpbjJEpozV + fuOzPkVO6SgpUKWVCIZPMgji9ZP2+jD/dllK5PTXPmlaTOtr46ufYkfxkzzyw5sU + q6Us/N0h5EYXBYYvzdgBAGOq7NlW93DW89I0saridv8NC3Q1VSYGCd21aGC8xwrf + +yaU6Fcjggzvt2iH9nUrGpqxB4AwrVvh0MPmS6XPZ5hqsFCNOMLAPqvTVmrh5qAM + cWzfzVLP6LqSZ58Na0MNb3hxTq5py5hZolmfjDbtBashQ4qv7/5o/i9Ntoemcq8i + sQHYYNDHC586EY4GfoU9Igo425VigLzIuvEbcA+PSUnZCX8FTMxCLJ+wo8y6GaU6 + BbJi3QX7pw7XyPmkoQLcGDcmmGkWjHTS0VCj13MWtlk3mce37HH1Y2piftxo36cP + 0cR8c/vP4yr80IRPfZLgrGfJZaeBV+I+gfnSKbKO8+HKzVFtF9NAa2RnSXFqscrS + XgFCqFYfaJ/05gdrA+/My+n4/9Cm44tK2o195uta/xEm69M1KVWOkNYcbW8F+n9D + qHVGdGGH9EEdfEls2QQ5H5UL59Fv93rn9dWlfyGtJOonMvzlNH+Kvw4m6LzO3PE= + =NVhE -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2025-10-14T23:44:21Z" + - created_at: "2025-10-15T08:45:26Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ/8DbUA6xWfnxaLzh5EBm+tEWwixKCMje5gzh2P1RnFsRMN - L2c+0dxc20cqNmwTqrRaa6S2IwSbVjTLtCtS+kyssgRwA2PjKcsCrgorU8np7TP4 - NKFLemy7NxO2exkSQzQ0nv0qfubb3aIJciIwG3He5psTNKJXTtNAIqvKnQx+Rtua - zyAdMJjnMnouyahlo27HaqFkitBaOeKRgXkUFLZE5sMK4SAmGrHVEfqkAsFJLp4T - w4VS1b0N5xge+yS3Wo+osIZ9PHHr6ax3Fr6gqCHNE0kTJPcJv7/GTFxJiZuX63XJ - fSpqL3wvRruT9n4T64r/U+kTU3USvHoXjZ7TpSoNXsoOKy1LHeTESDJGG0bwITVs - FvXbtqw7XWAAkA/6n+b5iL9CV1lr88Cq4qWm5u3GHjKkUkVwZ4pVzv+s4ZDbUata - BxOmPZTTlZvNB0X10ZNTk25BD4PMACzhMWc0RNCimie3GvbKXn5FeT9OUUJvQWDg - tiQli4SaNTDycX3qb/oJmiXZwenUi1UjcmBcf0gtxzAi2PRvuZVSvVDt/i02g03k - ASHESPb6jMEYrDeD3mJkNXzIAIEKfJEIFxIdLgr1XHzfdQe1zDdwmtDjmkQSVJMD - ptPPskaA+uDhjcZ+AvpK7eMfRyBEJMZP6ScGb4sgbf8gu7VcFaBtbyQlZBaJA/LS - XgHCRfrPtYIec5kKanq8VzbyeEHsv2QWb5fxP4EYlrUimA3i1evoNAphEX2xZqXQ - 7DV7nxMfmgYnBJPu/VJbdN93Bei7TIr0K4kf7kAuAusPdaGEegaX3W9E1RCPmJI= - =QM4q + hQIMA46L6MuPqfJqAQ/8DvbHIyGLCH2mznpiipcVfmKrZcTRvnWRkJcljjwZl5q8 + qcI7d47cOV3E8Prmx2Q/0PB6RU5Y3qXcDV3/VMiZCjCC++Hyvk5l8FsCJRPDqe0r + h6YKyIe3sWfW/Pk2Jtqlitws5/biOyCmc54ERSiVmVyqOnJKwjKsibn1S/46uDVS + kemJ3VWzvwNWeL0sJay8kL4fL3uabQg7t9aaNKb8qp9ZEI0jad4dFj+0JbmHckYo + d6d9jCIkkZc1YB9O7qrE/qkb8f/d0mU9rqcZ87nGuINYUYedUnt6f1Ui4pHhUmjY + IDsTry7XvC7JaiEwivmPbaZ9ffe8QyMmtBq5WLvBPJQGRKNl6iCbbnZsp96UzPrE + taHIGF9b9qUocrD5STbQDfRGGjXSamr+V1x2OPwCUkfGB/Ts4EmmPTPsB4K/iAIL + Coi5GWHTl164N5tZ3o1e4ga2sHodka6sDVLbsVTtutlbqr0VvW06bm6aFoC9wOk8 + BLB6pO+R8RjT7RfS0V0/R4YfX8LoaQR0M/B+kC65D2+kn0aou0RYzG50VenH4QQm + FkNKiWJ5vn0kZ0kE4iC1THuiRRNSBkC2TmlRVlshLSLOX05zKX9NU30y+ehWaCNL + XC49stTV0kGYYr8TnB0q0DvxHzgJE4e7YseqhS5irrBVcm/Ltsw/gajT5zJx813S + XgGUstn2BMiSrYYce6WQp573/HZGG8ULlt3acVeRFCs5/QbpJUCMnf8N7CQuw01O + KX8EFWHY7w9A48qFDl6Yw5t1o4mFb0y6rEWIewnIkwnl/FTX6AKi+FObW7WXHHw= + =QGIZ -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2025-10-14T23:44:21Z" + - created_at: "2025-10-15T08:45:26Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdA0oAko6IttcTJ4yxqyLKW0oc+q/iNRAqcqGPp4YNf1lAw - ioCfMPdNwLZnnoQuhawcs60D0hi7ER+yROgXYAu9mq5N60KYRiOFiZCUQWfS6v5K - 0l4BHa9AxHVMrH8CXPhYrWor2urIkvusekDnc/Ylvgxs7Ms+GeV6+rgydN1db/VY - hCm29JHIGfgsIXbXxErPCbtMn+0EByBWlTKvwi4QIAenbJ+OK+uLbwyFopYmKCvq - =JrQV + hF4DQrf1tCqiJxoSAQdAbAPphVEzj6P83i+VBCWW0mvtTNC+BtZF1oSi1qqpOlAw + gKtI+PFAQs1VmcP7LqPlFRe8fXMGCC0gGd6ls6vB+dKeB6mOYRZZf+5/NTErljIc + 0l4BuJxN062P8rKWoxidpkkug9qGzAGss5yehxI7ErmQzAlagnnQ+fg1xCVuOEf3 + NQfplRgI9wN/CMK2X0f0gBLwxcQ4exnC9x+ww/5/cYZ7Nmwq0/z7DYS9HCtD/RZz + =DYD+ -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2025-10-14T23:44:21Z" + - created_at: "2025-10-15T08:45:26Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAlJa4SyLb0qNcmZim5/FiFj7m3uOvQ0jaltUWEpzXySIw - qtGTV+9xYV1ihIDFcJs+zUBKW89rXOYqsi0qW8m3U9MhCoW8NRhCt8hzLcg59Gs7 - 0lgBNWkdh5Szhj8YikIIH5129XTYpwtI6jjquGQz8LpbmW6xHPvQ7qjsjBASxVjW - wxpgzT2LvbOh2qdmHc7dps64SXbE8RaM+atvR8TOd7G7CxSYSx3Bwojr - =eKnd + hF4DzAGzViGx4qcSAQdAXgHEVvWms2IrfU6GEYx5K+OR/YwThlRSlDbna7SkIxUw + n8imZ5Q5X990XNdjj/L2AlXdVvj8wRulS4mdWEuyEv//DSY5nqVKD4BHE93xoqf7 + 0lgBAeIpAei4A5V1kdiuZkkh23tIkjDc+9bsJIGpa9uOilo/f1b/g7we2X5dsslp + 8Q7vwpLD53KbHlEi6ByaGX1unt5Ws4FmARmzV9SF4adzkN5eoGYQknLI + =R94Y -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2025-10-14T23:44:21Z" + - created_at: "2025-10-15T08:45:26Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ/9EKM6INhCS4qFsETdnUSAi9c7nJW/x1QAKR36jqhWGVux - KeqYoGjiqgUI9fTyEN7OEEZWIRxY4tso5/8o0xfpALLviWADEsffftPTXFL5/Ope - YhZ5hnD+VT/m7/atHzWdIwCMf6iwarn3yIYpELJprRCe/ap0qx+r3Lx+zQ+F+4mn - PfYRRyeW6au3QEDGVVCqtWpnYB8AjyQLVcij1whqYXtVIwyDJ5Mq1Tqn/XHt6aMV - alkrG5QZgyYex8FTzBFQFNOZ155OoyxJ82u2elGhGpcVgG6H38Ipd0S5TOCKsbtF - UFR0neg1UXgiKY86sHy+oXLklibhGpJj9n4awnN9BL4W+y/9vf29nI9p4UX/eiij - zFQTg98+WBRvp6lzmW2Z/ydKtDW/CjWRIn0IzdUCWeFL207bQ+inRj0LSsDaXx69 - 1BUPyiFNldG1e8tvyDAIVLTaFgPRKKw5rHjufmKTPhnDWFY+YXKcIJKOZ79NHCFx - Ee5wWsMiE+svQlDy9j5XIP0M241PWZyihn3xn2kmb10Y/Gv0SxRIWk7WPosIC8mS - XOeqmSWmVD9PIBpp/AxzPVGoJ9/gciERY+qS3MMMNUTMF4IF9dr/qhJ3mt1bpMbI - 60WrWNOKpVV7ncuJ0Tp1mNQ4yZHe2r0XX87zR7KdZXx1hy4CN+TloB4lGG9Q+LTS - XgEOoBrr3Xttpj/XAvwRxWgyFx6t34DyKLlEVsTchq3uC7TycbakxyKvt5We5BtF - +Q4FeFgFEGWU8dCWBQwtgWKQD/55+vcUvDyK9ywBgw3vBuItQdvzYlmSvWmTJQg= - =Rszn + hQIMA2pVdGTIrZI+ARAAxLENJeplBhemssg4MdCeeVP7SM3xnx2yFgh1GR8FWPgF + lpkMmZF/POF9lVg1drAxb1GTa7kLxoZKdN+LvrJmp1pfYudasubfCG6xRatNpflZ + SbP0Qvcsxl44PqK1vv6o/KEVc1JNSF6iFmuc3iF2wWepnWejiUpvtd56R7NjXAB/ + RcYSzEoncJdMD9PqLFce8sldHhLAZnHW1rFVHZprV+wJVEycWnXX6LyL6NlIEvC9 + jRQwA+CfG27zoe1eQmrd2bRypZw9eZzqj4g6j7bGdKPfYza/YhWUm0bp0pMM72vP + PqfvMBPNwC+Oe9n4xYq9e9bj1MTabVUMsO7eyh5PhSf0iWWS0nNYoM1iCwRUHm2g + EweEyZlUXhZyCSrVqBKJ5MP5rOkgyPA1RYINkYWESF80FS4qu+QZ9+djRLF+3C+x + t+/3lH5kMnw3jFo1XGdodDyR8z4AQyMgdfBNP0bCNhyN6jROMRzE5SG/uaGzyCAy + 4n185bH90RAau/0s0d/wLtG5OmH9EajOWN69mclWXKeF1hBvrnDPMBYmSmbUeocU + 2MfYTXo3Cq6hlQHI5HjzbH50Ei9PtTA6k12BsZNCQfjKef8FFpWhribFRFo3h0wq + aGf0v4+DvpLAPqIP/44yz38p3vT6bo6bVvREebhPRo2NbEcSpiKuINMvv/iymlvS + XgFdB+W5sN7UOFtINqYyHQQNhTf5ltsfHoaSNqgigEAWhLHSMEnOClVdcFpM43r1 + i4sePHswqH0/4XLf660mglYgmayUiTv9iqEjCfFjwPb2/8JZVagh7tdaFpcLviU= + =fCZM -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 unencrypted_suffix: _unencrypted From dce4e7c4d405d11581e4bd5403953c364c5ec7e9 Mon Sep 17 00:00:00 2001 From: June Date: Thu, 16 Oct 2025 09:40:34 +0200 Subject: [PATCH 023/160] ansible_pull(role): add git as a dependency to ensure is installed --- roles/ansible_pull/tasks/main.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/roles/ansible_pull/tasks/main.yaml b/roles/ansible_pull/tasks/main.yaml index e77bfc4..5abcd10 100644 --- a/roles/ansible_pull/tasks/main.yaml +++ b/roles/ansible_pull/tasks/main.yaml @@ -2,7 +2,9 @@ block: - name: ensure apt dependencies are installed ansible.builtin.apt: - name: virtualenv + name: + - virtualenv + - git state: present become: true From 8388657d336c2a660e042eb85c91597f4c088db8 Mon Sep 17 00:00:00 2001 From: June Date: Thu, 16 Oct 2025 17:42:13 +0200 Subject: [PATCH 024/160] renovate(role): introduce first basic Renovate role Sets up Renovate using Docker and systemd service and timer to run regularly. Also add accompanying host group and playbook play. --- inventories/chaosknoten/hosts.yaml | 2 ++ playbooks/deploy.yaml | 5 +++ roles/renovate/README.md | 11 ++++++ roles/renovate/files/renovate.service | 10 ++++++ roles/renovate/files/renovate.timer | 8 +++++ roles/renovate/handlers/main.yaml | 4 +++ roles/renovate/meta/argument_specs.yaml | 6 ++++ roles/renovate/meta/main.yaml | 3 ++ roles/renovate/tasks/main.yaml | 46 +++++++++++++++++++++++++ 9 files changed, 95 insertions(+) create mode 100644 roles/renovate/README.md create mode 100644 roles/renovate/files/renovate.service create mode 100644 roles/renovate/files/renovate.timer create mode 100644 roles/renovate/handlers/main.yaml create mode 100644 roles/renovate/meta/argument_specs.yaml create mode 100644 roles/renovate/meta/main.yaml create mode 100644 roles/renovate/tasks/main.yaml diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index d40de96..9c7ab6f 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -195,3 +195,5 @@ ansible_pull_hosts: wiki: msmtp_hosts: hosts: +renovate_hosts: + hosts: diff --git a/playbooks/deploy.yaml b/playbooks/deploy.yaml index dc3a22d..d7bacac 100644 --- a/playbooks/deploy.yaml +++ b/playbooks/deploy.yaml @@ -88,5 +88,10 @@ roles: - msmtp +- name: Ensure Renovate is setup on renovate_hosts + hosts: renovate_hosts + roles: + - renovate + - name: Run ensure_eh22_styleguide_dir Playbook ansible.builtin.import_playbook: ensure_eh22_styleguide_dir.yaml diff --git a/roles/renovate/README.md b/roles/renovate/README.md new file mode 100644 index 0000000..f19a458 --- /dev/null +++ b/roles/renovate/README.md @@ -0,0 +1,11 @@ +# Role `renovate` + +A role for setting up [Renovate](https://docs.renovatebot.com/). + +## Supported Distributions + +Should work on Debian-based distributions. + +## Required Arguments + +- `renovate__config`: The Renovate config to deploy. diff --git a/roles/renovate/files/renovate.service b/roles/renovate/files/renovate.service new file mode 100644 index 0000000..ca9f7ed --- /dev/null +++ b/roles/renovate/files/renovate.service @@ -0,0 +1,10 @@ +[Unit] +Description=renovate +After=network-online.target +Wants=network-online.target + +[Service] +Type=oneshot +ExecStart=/usr/bin/docker run --rm \ + -v "/etc/renovate/config.js:/usr/src/app/config.js" \ + renovate/renovate diff --git a/roles/renovate/files/renovate.timer b/roles/renovate/files/renovate.timer new file mode 100644 index 0000000..f7a3a63 --- /dev/null +++ b/roles/renovate/files/renovate.timer @@ -0,0 +1,8 @@ +[Unit] +Description=renovate running every 15 minutes + +[Timer] +OnCalendar=*-*-* *:00,15,30,45:00 + +[Install] +WantedBy=timers.target diff --git a/roles/renovate/handlers/main.yaml b/roles/renovate/handlers/main.yaml new file mode 100644 index 0000000..ada2426 --- /dev/null +++ b/roles/renovate/handlers/main.yaml @@ -0,0 +1,4 @@ +- name: systemd daemon reload + ansible.builtin.systemd_service: + daemon_reload: true + become: true diff --git a/roles/renovate/meta/argument_specs.yaml b/roles/renovate/meta/argument_specs.yaml new file mode 100644 index 0000000..8be0fb1 --- /dev/null +++ b/roles/renovate/meta/argument_specs.yaml @@ -0,0 +1,6 @@ +argument_specs: + main: + options: + renovate__config: + type: str + required: true diff --git a/roles/renovate/meta/main.yaml b/roles/renovate/meta/main.yaml new file mode 100644 index 0000000..cb7d8e0 --- /dev/null +++ b/roles/renovate/meta/main.yaml @@ -0,0 +1,3 @@ +--- +dependencies: + - role: docker diff --git a/roles/renovate/tasks/main.yaml b/roles/renovate/tasks/main.yaml new file mode 100644 index 0000000..f6988ab --- /dev/null +++ b/roles/renovate/tasks/main.yaml @@ -0,0 +1,46 @@ +- name: ensure renovate config directory exists + ansible.builtin.file: + path: /etc/renovate + state: directory + owner: root + group: root + mode: "0755" + become: true + +- name: ensure renovate config + ansible.builtin.copy: + content: "{{ renovate__config }}" + dest: /etc/renovate/config.js + owner: root + group: root + mode: "0640" + become: true + +- name: ensure systemd service exists + ansible.builtin.copy: + src: renovate.service + dest: /etc/systemd/system/renovate.service + owner: root + group: root + mode: "0644" + become: true + notify: + - systemd daemon reload + +- name: ensure systemd timer exists + ansible.builtin.copy: + src: renovate.timer + dest: /etc/systemd/system/renovate.timer + owner: root + group: root + mode: "0644" + become: true + notify: + - systemd daemon reload + +- name: ensure systemd timer is started and enabled + ansible.builtin.systemd_service: + name: renovate.timer + state: started + enabled: true + become: true From a32998d8da398d407c5bec1baffa87dbf1481e56 Mon Sep 17 00:00:00 2001 From: June Date: Thu, 16 Oct 2025 17:44:23 +0200 Subject: [PATCH 025/160] renovate(host): initialize renovate host --- .sops.yaml | 7 + .../chaosknoten/host_vars/renovate.sops.yaml | 210 ++++++++++++++++++ inventories/chaosknoten/hosts.yaml | 7 + 3 files changed, 224 insertions(+) create mode 100644 inventories/chaosknoten/host_vars/renovate.sops.yaml diff --git a/.sops.yaml b/.sops.yaml index 0b60d0c..07a1f14 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -23,6 +23,7 @@ keys: - &host_pretalx_ansible_pull_age_key age133wy6sxhgx3kkwxecra6xf9ey2uhnvtjpgwawwfmpvz0jpd0s5dqe385u3 - &host_sunders_ansible_pull_age_key age1na0nh9ndnr9cxpnlvstrxskr4fxf4spnkw48ufl7m43f98y40y7shhnvgd - &host_wiki_ansible_pull_age_key age1sqs05anv4acculyap35e6vehdxw3g6ycwnvh6hsuv8u33re984zsnqfvqv + - &host_renovate_ansible_pull_age_key age18qam683rva3ee3wgue7r0ey4ws4jttz4a4dpe3q8kq8lmrp97ezq2cns8d creation_rules: # group vars - path_regex: inventories/chaosknoten/group_vars/all.* @@ -104,6 +105,12 @@ creation_rules: *admin_gpg_keys age: - *host_wiki_ansible_pull_age_key + - path_regex: inventories/chaosknoten/host_vars/renovate.* + key_groups: + - pgp: + *admin_gpg_keys + age: + - *host_renovate_ansible_pull_age_key - path_regex: inventories/z9/host_vars/dooris.* key_groups: - pgp: diff --git a/inventories/chaosknoten/host_vars/renovate.sops.yaml b/inventories/chaosknoten/host_vars/renovate.sops.yaml new file mode 100644 index 0000000..8a4b465 --- /dev/null +++ b/inventories/chaosknoten/host_vars/renovate.sops.yaml @@ -0,0 +1,210 @@ +ansible_pull__age_private_key: ENC[AES256_GCM,data:bdqHlOytu9POaLwjA2U3soUvwmcZsd/CZrVcG868AT//DP3uA0doe1foJ7S9P2+7vfO/eBtp3hidYoQRDACDD+KhucFPpjY7aKI=,iv:EUi66ScqjCWrGXaokJjKr+4LUgkHsPcOFQMpyuDXq4A=,tag:RSm2ReudORWzGafm94J8UQ==,type:str] +sops: + age: + - recipient: age18qam683rva3ee3wgue7r0ey4ws4jttz4a4dpe3q8kq8lmrp97ezq2cns8d + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBFOFRua2M4UnEybkEzV0lX + Ung3SGFLbkpuUzFYbGllMVMzT0ZwNjIvcEYwCkVWcnJLUVJ3aUxQYWlrNnNzUGwv + MkIrdSs0Ri9uUVJWbU5NSHZTcW9uS2sKLS0tIENlNE9YUkhvNVJKRzVUQmQ5dGpG + aDZsUFBwbkRtd3FjVHJhdnQ5WTFtOFUKIZzFbaXhG/+a+qtKv0p7YJMhKDqsK8Lr + QSWWWzKH6mYcJcQ4AV0ZH8givdvX67wo9DYF4XKGs4H5vbM3COoBIQ== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2025-10-16T14:04:36Z" + mac: ENC[AES256_GCM,data:2gVjbV1nPZhGj/YmUlX1D7C4tScc3aHhgYd4zyCf3K3/r9iCDHr02QPINM0W5oqrjFE7oqv4FJ2rW1fBnG6seHuRp3K8UtayfHnzepHQWqM8K7UZl+W+MSow8bzHJ0fsUmmyWG68AmDu5qPwEEmhL5VcQi1A5RUzQLpfCwxHbHE=,iv:oEjsk2n5Vqrc17Qz4vJg7IkLHrZ9UVWGEkqw/Z/E4xA=,tag:gWv6yLUU4SYw/Gc381o33g==,type:str] + pgp: + - created_at: "2025-10-16T14:03:59Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxK/JaB2/SdtARAAmntHneUj10baDIMzqLkh9IYnVJv8jDi68HkAVcTNa63V + Uu04D+Hi3E5iUoFvTi4PPOHCa7uqU1fwfTlovCqCGIpXncHYsN6Gs5uZUgFTdWqy + HqwLRNMa3ob3YTYVLkKXKIbu7VtFOYruF7LJK9tiElPAjQVSQoc88BjZEoZnFk0I + EGEJTw1gPern5vAxI7T35TLNajGfQ86oxBOTIIxRxAJNmYynEEt6pX8cOza/IGsY + wdCZo7QHB4yJ7ggOH463sBCJJAvUEypqDstNsYgXbIXkEB0nlgT+ZnabLiW1M+CU + kk0MOL4buorW+7jFguxD6xKDZdKXzx3iPtfzxpZbZsFaCCOYFEkBI4OQF0fZqAoI + ZVNa49seuiW2rbadXYZ3/8pw7h55gJAKMJ24IPm4NZl+ZwzCOTmJS9sRj3Ts42XQ + tqZE0ZGVGqhx8+mjIlVoDuOuMvhUL/VK3YQgUzXev+KlVTZnpSYZJIB7rmPzLq8O + N/+JLKk4QGebEY5bKTG01J1YIXOhJb6Ko3dvC896KIJKnLWQIuEv0vuuSmEtA0KI + lbUNW134gIw0F9M/76z4MqE3chxocutxmTySRs19cZnEXv2ENK3gTG8BKFc/9I3d + NxwyOlbXzzLXSBrknxmCfIXMaXDMyi5WFESn8NEOS2SuS3ASqBJjoBsZn9QywQ/S + XAGDhGo66CnoFBcTdeepROsm5ygJ9GhVMWkMlninZczhpVqOT9s+usmwLA1dO4+a + 5upNB+uqyVfU+xmvu6z5C9GswVACE+7tBVG8PhBA1tUPJk6ImTA+F0OCzOqE + =v1F3 + -----END PGP MESSAGE----- + fp: EF643F59E008414882232C78FFA8331EEB7D6B70 + - created_at: "2025-10-16T14:03:59Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA6EyPtWBEI+2ARAAoo2QhL1qTqvYOgK1OJuVViy0v7Mctc0qudgD5vcZXO1b + Oh32GKl3kPOclfpWPwjAkLLgaf7qeHt/HI/F8uUrpR/Q2NKT+cIlT437J02GRFtW + 1yTDxCXbzUpNBURxbo4HSnAhX79iwSp7MNkZ2ejdGnY7L5hoCxk011dqOZ/6vBW2 + EInQRXL2o+2EuhWFRpXcDY4qXtE50pylYGVK/m/tNEwIK1/PtBOETBAMwrQs64iK + dk0+yg6bD1+F4Cm06IecFbu7p/ZgusGCchd4SQXD2OxKNbSXqC2xeNIUAVwgIQYX + 2k9eU88RnC2U0pPrGzQ3eFVQlAsjx9Rea7NKZkEdkr5EuQE0pyYhTPEaW0JTh2Dm + meqGhqsrCiZkqOwWdoJ+x5T0+k6iKVpdh8GVFtQPki17et6iRglw3Y5T1SB3Lwty + kANuvZerkAjixQt1R+H6iN8U0nTQ1+uJRse1llj4XRN7ccOOQSslbQX0R3DkgS+s + D8BABxR3qLecx1GMgowP8m9h1VEhTtu/IbSDkHmdIg3udc7q95uIsyfBKqSzayIU + rBIugOY2T8nKi6iI9kh7lJzppFTVXUo43hL70WFtzB9/5vCm2dyHkSk3VoBPKm3z + w5WrphNlw+u1VqgJOr59lbRDLktH51OtSkY/hs/ZR6+rz6nb87bsTcPm00wBAmTS + XAFan60iIoJTSlH3jOpPZ2fX+ezSVlvPcC+tC+jKK+xjOeQqSn6y84xuG++jv5+6 + cgorfw2h63wXwP5IhZWftGh2YYI4UdtXtDj3MQWTGgAK+O+r+FMH37RoLLho + =rw7I + -----END PGP MESSAGE----- + fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC + - created_at: "2025-10-16T14:03:59Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAz5uSgHG2iMJAQ//VhpkM7X5pwbH/No3L1tn8XItEm8IzGPCdFHFECUUKcUI + +Xhzzj/AQtKi8o/bC5UKPHEmnvCMdOIn5EyFMwnsmdXOW7HBqbskgET+Pna1GJor + BDAmjZnkjaSRqDObLH/tXhgxLLhGQWD2P0B5l/WmFryElDZK1JlV6/yjVtJJMwDI + lrZ8AKolnlDeVc1HQTcuqwoBJrubL56KGB0ibJBAb0qTCTe+B6WiILlUtS0TUtZH + +aoz6X6MvzHVQjzc59SVv4K+70grSUJ683qR7BD+dfIBCy1pFXfE/k+24cze9Ayf + 1ewPeJLVHhbUZWd3EC6FtvNFoBF7tLY01O/EamAOLFgbS0WM56yF++FMhisdsyk/ + fCTJTZ+cCEABYJvJxpS86O2TZ6euHRYKB0iz5duFBiKmEXNDKPaddxI4kKamtGJr + JlpOdUkaH57L7i8gssoHAPKaXGEOydhEWr9Q67IYTUgj++LHLC8rvX/GjAoN/jPe + tiZSAUvLBkbUP62pX4j9VVvF3hCbv8bwgLF6+itOIJCYsALKNK9aCfOqMgfr7gll + AETp3CtDMqvT8AKxvRZJNYI17YBTj0GEzPgA9WPLvPoiVevfn7Cs0TDwcIm9DkRz + NsGAQ7OeBAlYPlib1qFpwS0jmb63kyX8KOJBGys4yr+p1+t+sfoogckDnB4GCI7S + XAEXxyN56JW1/TbyvR9LwWYPSgYfjASkCmksyYJMxqJqZNGeo9YzoQyvmHiRSV27 + eBTzua70gKwbGlNM/KyIyKgMfDeJVxds+qxoF1PsaZ2Qbg6tW3oGOivgn1SC + =mpsN + -----END PGP MESSAGE----- + fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 + - created_at: "2025-10-16T14:03:59Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAw5vwmoEJHQ1ARAAveReIRx5pGebuFZoJriJ1kbd52W37367ypCErCQd2nKE + Xls31lMFAyZLL1IiNj42imP4ZmAK4CpUr53NcxUEskdc350ZCnJg6En1Wn3SbYhB + D6JQGzgbVEVCk8JrQH9cunRqZP5O/wkH1p6iTsktAaMZX/n9a0gF7sv1hainaRKj + ZHupkQ94hQ6VZLHRrJo6PKsofT+vm/ue8BZVz8grUWa6FcMJrxUz3C1Beytw2q/o + wW+TL7HEGeo0igDC+JRk1sTXDJHiVzrihtdVf6iyEAStOF4SKXqH+e96tHuPv+xh + Lhr7t+wWJEvfmHHmUGNSJaz7hGFffVIAxG023E20AIusn4TDvKZl3SDJnZWUnKv/ + TYn4Op6hKLNKIl8M8IFKqlaqCyuPvFwRSglbvyTuGiq27AeXOOqi0YPwfNpeo0PR + 8WiX79t6g3qykazQyau7kOVPq6st2KEYjntEDNwQqNJGDh6tllA3iUN3aJjQ9tCM + /Bcb07pSfXeSN6AMKbBCvPoweHyuAJApyIALYaioqbJeWZRkYnLf/pJdO+Sb1uM6 + lXdGMJjDZRaASRQ8Itq4q34AI8RW8oo96K8sG98rsow/YxDgpWnHHv0r9y69JS5B + 1rZUTckPG57sFjfGcs9OBEWzuHtE1C0l8cxu93TDyb2atbRdMTl62l86RLFDX3XS + XAGUrZPztS+QnCH+0vwOoEwHN79gxbylfRuT2J5nyzp6UwwVjFk8GUCKTBB1dRac + tpcdlYRNL5X+ybpR1SQ1xgsMiP+Qcu9EURXWc4oK5eRg4qKsr3U9Pn2JxkTP + =eF0q + -----END PGP MESSAGE----- + fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 + - created_at: "2025-10-16T14:03:59Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DerEtaFuTeewSAQdABv1nkvhryXv+RAGgHf2c1tMq79ZXwr+hDXZRHjjBEXgw + rSpWHH+3XNoR7IPBfk3/n/1hRCz1TOoIbs1/yAKHLLsz8z5+wLzeej+WHScx8LjI + 0lwBF5bFWFk4xcfJoO2Fe09G5Hlj63WrBu5W+kV/D2+pUXI4n3etETx9LVZNobWo + TOE7vrtAVUILHT0iv+zZiqflKLmp/xDBWLKXvCnWGBkjhj+nBH9Fqgx2QayV1Q== + =KTPl + -----END PGP MESSAGE----- + fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 + - created_at: "2025-10-16T14:03:59Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxjNhCKPP69fAQ//Zlmb4M1u7i/N5ogBdfdw4iBypChTrv6RBqIMk1sK6r61 + koJsK+3hixZGQH4UAhT/nfC11NdHoAcG4hgPTxfMt2yUOSb+fwZyYXt6ShZ/1GMj + Q95e88df2xS5OvCORcq6pupFh1AfuwsxgP9iaE/BQ6V8uLaN8nsYrL/i4Iq2SI3b + uZsQToB3JYcGqJr+YP7flFcOYNRwBkeweWfXef5ID1Raj+mPjJmpegZLNY6l4zzk + 5avqd9EAMFl3aKzS2nD9+5B525Ze9joGOPAmkToYtDiETXNCeMXylsltVVy9qc9x + X4brC5umiuIDjFVZYupLJ1cGSRfLgVIeiDkGRd6q62gSKQ0x35VnbSDPVBYhSetB + zB0XtIBPg3mCXNypuaSHbo9exiFfpY4juswTuZ/nEK8Xip9v7S6PVLe5EhEojB2N + fEzuQ7MMxdAqJOe4CXmi6dybtSKCEDFK5xYr6VSpEylZQIDgHHWH9zifOUisxtjv + 1uo5aH6bGrMG4UyGjf60Fcnl8G3vOAI+DOqWTtO8brb5NILdyi4+AS5voqr+5pTh + u/wlwhKSKbUzEDFBJk04JDjpdnXEeOdVdKXIor0rGCyU3volUP8cKLHyEW2u02RX + MBhQTOd8s+EuHd7ueJw+EmBZqkQN4WSfUbAilnvTEumaVtJBDr1CMKgzVx0eWC/S + XAExGPmke/j2hG8g+tRjgmQmRvzwOYF46PoUtwFZY4bXaDxAww2YgjRzdqHBXRds + fMpnz+fAtJTj2GIJP2Wk4jOY5fUbaoxOfWcx4Yl2bbGHh/2sg1XN/0rvB0+X + =nm/4 + -----END PGP MESSAGE----- + fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 + - created_at: "2025-10-16T14:03:59Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA1Hthzn+T1OoAQ/+IqdYTsLvMJ7wMf1AWjmBJ5I4IqcW30VeEt4NErMzLa+f + OT3zJAUkOlIv+JtKKq0DFShOnixaqBGZKK3IUt0+1gTpaRGcUT7D0F4jFOwXZMDw + EuSK/LGFDNIh3Ma7aJV1KGJzjf0/IO+OTahXfnhaufDc5a6bR9yb2fkHeAakPLrq + QDbADoTNhmBNA/H8rg974FniX8dENBDWlgOXNJKKnQ+Y4sHrR5dcyavF5DyRKO4l + qAIpVenGFWcqrK4JsklrU6sfrHe3Ho4GUBspcO8lDfy39ZMdb3Ypu4+u6aDicStx + WUwqcHquu4p2s12u8xiz0twQlvd+zJaqqtjhpjjKggH9jgl1nY8i7VhVKi/P4VfK + 3XuBiY9cTtMeJk0lSE0XvIT1WD8L73Em7LaT3Rskxah72mV3v2WdHn6wMuDILpOb + 29/YnGE0BAOY0thq6veuFAWPuywAtGFrmx9RmswEOWh1D8HJW7/+8uBdseFqRbB0 + SZ8UkPDW9Ko1pNGdGHLlTC9UkJXHibiZqNUbDvOat2rcInk4zqjxWs86F0RhPruI + 3wwdMPsYCi7uR7moiZyiCt1hmrcaHJG36zaZBuUkqd486/YxYGt5rS+2OKZn6VOP + 7k8fZskHF69ciAgSEItyOu5hAK0o9vBb/plQONyor15/wXkxeP0/7Vpt0Qy/Ad7S + XAEoYbLf/EYQeVjV2pPmv0ff1lBq95g0pj+vf/1StniCOTv7fSUfjkxQ1K/yFsC8 + z5COp2XhwhVF0xTGu4pzYcHeuR+/KU1pqL+UFFy7sMBkLbsrxoCuyUbLWwNs + =j9gL + -----END PGP MESSAGE----- + fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD + - created_at: "2025-10-16T14:03:59Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA46L6MuPqfJqAQ//Z/HFWjTVat/Rhli4RQXmeKrP7BpHn/z238w2GX4jt78O + /fXDniLCNZk508IpUQ9bGfbMsaRw7bdnewtW+f0nPO/vRVuQe/ADjw9Z5dogDImp + OvOd1gfIRcX8tm4r1BlSWf7A2qg5qZDOcGSxRNSHhv9NhnJJLHzTYG5TCoUCZ2wK + mYpufnpYfpc/siNOW8a5jNRV5sW3+Bp+pd3AqEO4P9tHhOwxWmNju8PyrBCqRI42 + QyQhdG2eMIiUs6YJ4cR60rMqZZ8lq0gLXM5sO3OrxlQEP5FWePLRwq4oq4/oozxd + 9wqGFanYW56LVL5vsKyJVHBFlZfHYjjh12gSvb9O/QyxTRfT46CnWbHD8sYWQbxU + z6bTIhQ8+kELKT56TnAcIxqWmPRbWOKXY+iruECkXqTyKdm8Ux+Q7qhPvjxp/cnC + SZfVS00CJG9T/mJ4jwe+bD7a4fIeU+nZWJ4Y4S38HZlJ759nbn/MebxQXNEnRjgM + z48c0cGb/QHz1Yh0l5xMKMDNMN4Zcp5rDsdmEnRMCtgXUlEGsHPh76a5lNeE74uW + ErgrRG/EEyXDHaC6HK0izp7dUBYcV3NKJrvG8XF4lYCXQjw+IEXz5mGBKLpPfvlN + 0utfEUDp2We6kFUXiDrQgEga9+ZNDhIoaUGHIUKIH9vWV0DYWY+2Tsi5p1XauMjS + XAHP7lbYvp5GQCZ/listotwc0z8YABKrObVRd3xvURQ0PL8UdelIMSBSruYXXMUX + X3whSggk6G59iBJvXTpXioVfPBaRpGH+b1SWIR8wNcd4+yWo+JExFw+OAF8+ + =H9fX + -----END PGP MESSAGE----- + fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A + - created_at: "2025-10-16T14:03:59Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DQrf1tCqiJxoSAQdA+mj8Zet+EX625kPU8Mca1O9QklMKAsDVyerrcpXpkTAw + c7uDpTKWutUj+B3x4LlffmxtABIQV3WEujFmafaXxYvU20B75m+DGfp32A+k/Av1 + 0lwBocEM8tY5X5gT5OVwZKynFxcB7HxB8dYZNPf5YUIUfKXIk+ZDSMUJgOy15BIk + x3FeKugtRrX29+az8LNlsBNcCeqT10U/mMvqtU6xwU5qbOOwkh7DgZZGk25opw== + =tl7N + -----END PGP MESSAGE----- + fp: B71138A6A8964A3C3B8899857B4F70C356765BAB + - created_at: "2025-10-16T14:03:59Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DzAGzViGx4qcSAQdAvHPZfWwZCO2rlfLJx6B/omZNgE/PnFM0ePmqu2L/cGcw + 07lNHTEjOyDnVtuvbL8MbTfZUONVUia6cPL76ae3f0074yzGMSvus+WZGbwq8g5O + 0lYB4JNvI5zyuolaPUIH6RQQzY5+U4Uxex22rkhdZFXHpqyC6a4LkR56PnIYgS0P + /09c5d+q5obcTxFeE9HZDqeY7NaUT62zN02ME1ZVxg/hVSpXPseJWw== + =8dD2 + -----END PGP MESSAGE----- + fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD + - created_at: "2025-10-16T14:03:59Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA2pVdGTIrZI+ARAAoOnxlDH1+B7TXdh70Kvau1/h6KvrYHV8h+Dh1ECFlO44 + GxUXxjZLy61dJb5s3zA8MAJCwuv1tSUjLUUTh7AR7cugDV8XJjFKgXJYz3AtMoVS + aY1J+ifz+i5i2uhvVOTnjiVEtTGIlD9xYdo7t90TCgC2lMxrXEwE/wswzeg9mkag + cz3wDXsFBlA3v9na7VMcJwywy93SbtIS+wmGHriChv7hi54YwG8lPdhLMN25l2iI + sT1eOYbc/NzJpGoU0at/kB1CtELbvD5OmyZZ36eGTyS4meGY1niev407tvOFLHbr + lsCoG2twdfGeBFqj/lRvae1OfA8WkHUtcje7tXq6PH50AqC9iWLrHx5sqWbiia+0 + pIJ1iZB3OvVCQiha/adtFY3gwHXFue6UxpWam+wfkZf/iu2Tzf/R7rZbZEnl+Yp9 + Vt7tUXTB4enOj5DieeeJbDzllPiwCQj69jBZcbxzzoCN8OJUssKyPdmbUSzaAcC0 + YZRjYRDsENk0duvzX6GJQOSOV7jH8QE5Zkut0P3U6yU8nyBvi9jO0ZC9iHqH+i1d + /Fdl9XQP6GwIWd3VXZXJQnhiNyWOv7BGIV+8Hmx/8564xJUiOnip1uDcxfUqyEut + 3JcxI7BBXxUuZYBRI8JM9SOmqQLwz8t419pt4YohEMzcE6NBaDluVTaOvc3VjlLS + XAFVgBuP4Q6V6Fc0ZbEQKFMo/zcVLCcICHf7CxnefF2bnCUXSt2/2mGq17w2RCk5 + apmuIngabTkZi5brZRbRr6QixmIXJ6oOA5WCxSmjbNI08z5pR2+SKj57Zc/v + =d+GD + -----END PGP MESSAGE----- + fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + unencrypted_suffix: _unencrypted + version: 3.10.2 diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index 9c7ab6f..7584b92 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -67,6 +67,10 @@ all: ansible_host: sunders-intern.hamburg.ccc.de ansible_user: chaos ansible_ssh_common_args: -J ssh://chaos@public-reverse-proxy.hamburg.ccc.de + renovate: + ansible_host: renovate-intern.hamburg.ccc.de + ansible_user: chaos + ansible_ssh_common_args: -J ssh://chaos@public-reverse-proxy.hamburg.ccc.de hypervisors: hosts: chaosknoten: @@ -89,6 +93,7 @@ base_config_hosts: zammad: ntfy: sunders: + renovate: docker_compose_hosts: hosts: ccchoir: @@ -169,6 +174,7 @@ infrastructure_authorized_keys_hosts: zammad: ntfy: sunders: + renovate: wiki_hosts: hosts: eh22-wiki: @@ -192,6 +198,7 @@ ansible_pull_hosts: onlyoffice: pretalx: sunders: + renovate: wiki: msmtp_hosts: hosts: From e76c66d74c591f16d499e3d724d858760f51610f Mon Sep 17 00:00:00 2001 From: June Date: Thu, 16 Oct 2025 17:52:30 +0200 Subject: [PATCH 026/160] renovate(host): set up Renovate using role and exisiting config Set up Renovate using role and existing config from current Forgejo/GitHub Actions-based deployment. --- .../chaosknoten/host_vars/renovate.sops.yaml | 6 +++-- .../chaosknoten/host_vars/renovate.yaml | 1 + inventories/chaosknoten/hosts.yaml | 1 + .../renovate/renovate/config.js.j2 | 22 +++++++++++++++++++ 4 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 inventories/chaosknoten/host_vars/renovate.yaml create mode 100644 resources/chaosknoten/renovate/renovate/config.js.j2 diff --git a/inventories/chaosknoten/host_vars/renovate.sops.yaml b/inventories/chaosknoten/host_vars/renovate.sops.yaml index 8a4b465..f481dd9 100644 --- a/inventories/chaosknoten/host_vars/renovate.sops.yaml +++ b/inventories/chaosknoten/host_vars/renovate.sops.yaml @@ -1,4 +1,6 @@ ansible_pull__age_private_key: ENC[AES256_GCM,data:bdqHlOytu9POaLwjA2U3soUvwmcZsd/CZrVcG868AT//DP3uA0doe1foJ7S9P2+7vfO/eBtp3hidYoQRDACDD+KhucFPpjY7aKI=,iv:EUi66ScqjCWrGXaokJjKr+4LUgkHsPcOFQMpyuDXq4A=,tag:RSm2ReudORWzGafm94J8UQ==,type:str] +secret__renovate_token: ENC[AES256_GCM,data:NVyWH/FnAhR0gQ16FZ9h+gOxlSYFAGcKG2VgtNuOupx9e1RrJg8RSQ==,iv:v6auLeQ9TGnQakA/6oqG7gyNK/pRgCpx4foUSYZEZ0g=,tag:2lmTCWYI7N6hNa+5ABO8ug==,type:str] +secret__renovate_github_token: ENC[AES256_GCM,data:XqQrljiUafBf/a/Uq2jc0CtP2LQBHDK2KUYunhwFRv7MDSGg1yogWw==,iv:LNWNKig51wj27KMkrLsGgLnfZiGgf+oefsRTlf6wd4U=,tag:WMK3DBaJnKbMmHn6fZl5Lg==,type:str] sops: age: - recipient: age18qam683rva3ee3wgue7r0ey4ws4jttz4a4dpe3q8kq8lmrp97ezq2cns8d @@ -10,8 +12,8 @@ sops: aDZsUFBwbkRtd3FjVHJhdnQ5WTFtOFUKIZzFbaXhG/+a+qtKv0p7YJMhKDqsK8Lr QSWWWzKH6mYcJcQ4AV0ZH8givdvX67wo9DYF4XKGs4H5vbM3COoBIQ== -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-10-16T14:04:36Z" - mac: ENC[AES256_GCM,data:2gVjbV1nPZhGj/YmUlX1D7C4tScc3aHhgYd4zyCf3K3/r9iCDHr02QPINM0W5oqrjFE7oqv4FJ2rW1fBnG6seHuRp3K8UtayfHnzepHQWqM8K7UZl+W+MSow8bzHJ0fsUmmyWG68AmDu5qPwEEmhL5VcQi1A5RUzQLpfCwxHbHE=,iv:oEjsk2n5Vqrc17Qz4vJg7IkLHrZ9UVWGEkqw/Z/E4xA=,tag:gWv6yLUU4SYw/Gc381o33g==,type:str] + lastmodified: "2025-10-16T15:47:31Z" + mac: ENC[AES256_GCM,data:WKuRfiAZ/Zx/V7pUHRzMNLV9vPA4n8nJcVoXqt93my9K9OdbZvhKfPtHhlAppZr9QTZtxwje1QTWDPDBXL7ZxNCk0eRrAJmRgffSfO/ZCakZp63d0pqkgjMdTG5P8dfWUMSwHG8w7Ssu2K0kSxhpgQ/BXUhGFmXz8gxAHaUXkg0=,iv:5LtDX541wb4kg9m8e4oeA1QrYoz0l/LKmq8sUmmKAUQ=,tag:pSyeX/dxjLL4dRcY8VkzuA==,type:str] pgp: - created_at: "2025-10-16T14:03:59Z" enc: |- diff --git a/inventories/chaosknoten/host_vars/renovate.yaml b/inventories/chaosknoten/host_vars/renovate.yaml new file mode 100644 index 0000000..17b9737 --- /dev/null +++ b/inventories/chaosknoten/host_vars/renovate.yaml @@ -0,0 +1 @@ +renovate__config: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/renovate/renovate/config.js.j2') }}" diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index 7584b92..ebc456b 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -204,3 +204,4 @@ msmtp_hosts: hosts: renovate_hosts: hosts: + renovate: diff --git a/resources/chaosknoten/renovate/renovate/config.js.j2 b/resources/chaosknoten/renovate/renovate/config.js.j2 new file mode 100644 index 0000000..031971c --- /dev/null +++ b/resources/chaosknoten/renovate/renovate/config.js.j2 @@ -0,0 +1,22 @@ +module.exports = { + username: "renovate", + token: "{{ secret__renovate_token }}", + endpoint: "https://git.hamburg.ccc.de/", + platform: "gitea", + persistRepoData: true, + logLevel: "debug", + onboardingConfig: { + "extends": ["config:recommended"], + }, + autodiscover: true, + autodiscoverNamespaces: [ + "CCCHH" + ], + detectHostRulesFromEnv: false, + hostRules: [ + { + matchHost: "api.github.com", + token: "{{ secret__renovate_github_token }}" + } + ] +}; From 4b1c64b6154130f65600c151bce2d0fe75e03520 Mon Sep 17 00:00:00 2001 From: June Date: Thu, 16 Oct 2025 18:08:29 +0200 Subject: [PATCH 027/160] renovate(host): remove deprecated and no longer working logLevel option Remove deprecated and no longer working logLevel config option. Debug output can be enabled by using the LOG_LEVEL environment variable on demand. --- resources/chaosknoten/renovate/renovate/config.js.j2 | 1 - 1 file changed, 1 deletion(-) diff --git a/resources/chaosknoten/renovate/renovate/config.js.j2 b/resources/chaosknoten/renovate/renovate/config.js.j2 index 031971c..5c386c8 100644 --- a/resources/chaosknoten/renovate/renovate/config.js.j2 +++ b/resources/chaosknoten/renovate/renovate/config.js.j2 @@ -4,7 +4,6 @@ module.exports = { endpoint: "https://git.hamburg.ccc.de/", platform: "gitea", persistRepoData: true, - logLevel: "debug", onboardingConfig: { "extends": ["config:recommended"], }, From cad2f036e51c1460026d897aaf951fcd9cecf452 Mon Sep 17 00:00:00 2001 From: June Date: Fri, 17 Oct 2025 01:18:17 +0200 Subject: [PATCH 028/160] renovate(host): replace non-working GitHub token with working one Replace the token with one created from a new CCCHH GitHub service account. --- inventories/chaosknoten/host_vars/renovate.sops.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/inventories/chaosknoten/host_vars/renovate.sops.yaml b/inventories/chaosknoten/host_vars/renovate.sops.yaml index f481dd9..3f00cb0 100644 --- a/inventories/chaosknoten/host_vars/renovate.sops.yaml +++ b/inventories/chaosknoten/host_vars/renovate.sops.yaml @@ -1,6 +1,6 @@ ansible_pull__age_private_key: ENC[AES256_GCM,data:bdqHlOytu9POaLwjA2U3soUvwmcZsd/CZrVcG868AT//DP3uA0doe1foJ7S9P2+7vfO/eBtp3hidYoQRDACDD+KhucFPpjY7aKI=,iv:EUi66ScqjCWrGXaokJjKr+4LUgkHsPcOFQMpyuDXq4A=,tag:RSm2ReudORWzGafm94J8UQ==,type:str] secret__renovate_token: ENC[AES256_GCM,data:NVyWH/FnAhR0gQ16FZ9h+gOxlSYFAGcKG2VgtNuOupx9e1RrJg8RSQ==,iv:v6auLeQ9TGnQakA/6oqG7gyNK/pRgCpx4foUSYZEZ0g=,tag:2lmTCWYI7N6hNa+5ABO8ug==,type:str] -secret__renovate_github_token: ENC[AES256_GCM,data:XqQrljiUafBf/a/Uq2jc0CtP2LQBHDK2KUYunhwFRv7MDSGg1yogWw==,iv:LNWNKig51wj27KMkrLsGgLnfZiGgf+oefsRTlf6wd4U=,tag:WMK3DBaJnKbMmHn6fZl5Lg==,type:str] +secret__renovate_github_token: ENC[AES256_GCM,data:Dw4MBY9HvDRBdyp/hBsKZYeqZ6nLpuMAJAJ98i7ZODxUclMh6X73+g==,iv:kttRN7fG94Za+BN5tVyp2MYJJOnUYX5GrnzmhhKf4sY=,tag:EwYobl1TjwJ2AlVTD/f8bA==,type:str] sops: age: - recipient: age18qam683rva3ee3wgue7r0ey4ws4jttz4a4dpe3q8kq8lmrp97ezq2cns8d @@ -12,8 +12,8 @@ sops: aDZsUFBwbkRtd3FjVHJhdnQ5WTFtOFUKIZzFbaXhG/+a+qtKv0p7YJMhKDqsK8Lr QSWWWzKH6mYcJcQ4AV0ZH8givdvX67wo9DYF4XKGs4H5vbM3COoBIQ== -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-10-16T15:47:31Z" - mac: ENC[AES256_GCM,data:WKuRfiAZ/Zx/V7pUHRzMNLV9vPA4n8nJcVoXqt93my9K9OdbZvhKfPtHhlAppZr9QTZtxwje1QTWDPDBXL7ZxNCk0eRrAJmRgffSfO/ZCakZp63d0pqkgjMdTG5P8dfWUMSwHG8w7Ssu2K0kSxhpgQ/BXUhGFmXz8gxAHaUXkg0=,iv:5LtDX541wb4kg9m8e4oeA1QrYoz0l/LKmq8sUmmKAUQ=,tag:pSyeX/dxjLL4dRcY8VkzuA==,type:str] + lastmodified: "2025-10-16T23:16:54Z" + mac: ENC[AES256_GCM,data:62IDMR52Sno73D8KNBHhXLVAm3TaXYKc0A06Uzi2i7Fw6Zr/mQWk8DTrPsiFVR9THUfX+HrJAo0ChD6hjt+Aeb+KF4nn5iZ7NO1hgnMpjBFc7FtpiLMQyKedWv4PDZafzPq9IERQJP7ThAPcg/1B0FhUw7Q2STkOucFQHWJ/UQI=,iv:ABhwB0GAolUcmJjqWhdwL1+2I22WpWZhaEAe6AOs498=,tag:V+RN4Edj8Z2Fk13RpiSwtg==,type:str] pgp: - created_at: "2025-10-16T14:03:59Z" enc: |- From 8a8fdf5f974ea373c56b6f68ff8dc29edb96a825 Mon Sep 17 00:00:00 2001 From: June Date: Fri, 17 Oct 2025 01:26:18 +0200 Subject: [PATCH 029/160] renovate(host): set platform to forgejo --- resources/chaosknoten/renovate/renovate/config.js.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/chaosknoten/renovate/renovate/config.js.j2 b/resources/chaosknoten/renovate/renovate/config.js.j2 index 5c386c8..5d53a07 100644 --- a/resources/chaosknoten/renovate/renovate/config.js.j2 +++ b/resources/chaosknoten/renovate/renovate/config.js.j2 @@ -2,7 +2,7 @@ module.exports = { username: "renovate", token: "{{ secret__renovate_token }}", endpoint: "https://git.hamburg.ccc.de/", - platform: "gitea", + platform: "forgejo", persistRepoData: true, onboardingConfig: { "extends": ["config:recommended"], From 2aa55770d98b7ed884c4cb4711e8264881a35ce7 Mon Sep 17 00:00:00 2001 From: June Date: Fri, 17 Oct 2025 16:05:04 +0200 Subject: [PATCH 030/160] renovate(host): update keys adding renovate for group_vars/all.sops.yaml --- .../chaosknoten/group_vars/all.sops.yaml | 365 +++++++++--------- 1 file changed, 187 insertions(+), 178 deletions(-) diff --git a/inventories/chaosknoten/group_vars/all.sops.yaml b/inventories/chaosknoten/group_vars/all.sops.yaml index ed3324e..7d03fab 100644 --- a/inventories/chaosknoten/group_vars/all.sops.yaml +++ b/inventories/chaosknoten/group_vars/all.sops.yaml @@ -4,269 +4,278 @@ sops: - recipient: age1ss82zwqkj438re78355p886r89csqrrfmkfp8lrrf8v23nza492qza4ey3 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBNK09ULysvZGZDS2JVQTRZ - R20zVlZvenJRS3loVzhxRUdUcnlTZStJdnpBClUzYXJqeVJObEQ5b09iTTl2bFkr - N2FERk9lZGxyUW9tL04rVkowdHJpaHcKLS0tIDRKKzZ5b1hkR0JsdWJENFpRZTI5 - US9ZZGY3cHJKSWZmaG5raDFMR0x3bFkKjKxc15/6IKi9NVlmHssAPRxrlFFrKmky - KH5jc/eGmGoxfRYmpQd7H4CufVRGCAa5888d1Bzr7wQU7i9vloZrDw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZQUlOQXBqVFBBaG4xUzZa + eHJGYmFtcXF3SU1BWVd0RFlPclVSNno3bm53CjhqU0tiVlZrRkFZZzY5Y3lteVRl + cFhrc0hnK2ZMckhINTE2US8zVGpmM1kKLS0tIFRQQk15ZWpDSTRYcWJ3Skl5NGVq + Q2xOVUY5Z3RDWURKelc5L3l5c01SRkUKcIQWKxeArlUYmyjkCAFP4WrDPXhPFB+E + 2AfHKmtxhwPvIHmP4WqgyguhsO5B93Gv07itg91p/COWPi4gWctuag== -----END AGE ENCRYPTED FILE----- - recipient: age1gdfhx5hy829uqkw4nwjwlpvl7zqvljguzsnjv0dpwz5q5u7dtf6s90wndt enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBocElaeENveXhxZGUvRE9T - RmdCM0c5ZFJ6V2NtelVhWkM5MkEzL2ppd3d3CitSVElRcWsvSnExNjA4Qnk2Q0t5 - Y2dXS1hCUG1nQmh6UWhZMU0vdUF5WVkKLS0tIEZyQVVsS3VSZ3Z3TThhTGFDMk9W - QVU4WjVrT1VqTDJQOVBWLytDYUVUZmMK5mKDBYN6pOJKppdV46tOv9OvnO+dXy8J - i8MysER59sLMUL5M+AI5wnSao1NDxSWLv9X6nxWwRq2xSKkoMJ8nEQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBFcCtWbEc2WVVFMkdBRXVt + Sk1tOU9LbUQxdFowV01ZMURScTdZK3FQYXdBCkJYTk5YaW1ZUVhTQlFKMG1mQ3JP + NG85S1hMM0xtNE04KytuaXlVS3kwZkkKLS0tIGswKzNRV3A2SG1xZlVrYzR6dWhP + ODBUeG5YbEZVTWVqS21MbXlrdm9rZ2MKnTrgkEG93rNzWD+oYOUnvClFMlAVfveh + tgWcg6lPcYQQ1UbL8tMrR6QzN+JuaGPZGB2zIA4pvrkpfxPF315osw== -----END AGE ENCRYPTED FILE----- - recipient: age13nm6hfz66ce4wpn89fye05mag3l3h04etvz6wj7szm3vzrdlfupqhrp3fa enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2SzJIbkVXNlRHOUZnTjF4 - UEpOMFUzaTZxWW1VdDhJMjk0NXdXQ0NZWG1VCldyUC9GeEVkWVBubTZGN0dDOFNs - dWlodGk3ZUgrVjRVSVliZHNiV0VZTkEKLS0tIC9oUUVTdFNYUFo3aFZqbmJjc3NP - ZmxIZ2hxN09DTW9vdjRDcjYvSVRveTQK5xGEO07DoSp7Oi+zYBfeGGRrZ1bzKjPF - +jsduiUQaGX06dFHDy+cESv4hBds/pP5j8UaK16BkzuiClPpjE3SZw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBFMGxlR2VwUExnbU1tZXVO + TE9vWFJvWVp6M3lqRm9mMitMZjBhTndzMlhZCnBWcy9MRzdyQ0oxcGpuWTQ4RU5q + aDRZakFCNjNPY21uVXNJclcxYVA3Zm8KLS0tIFpZSkU2ckxCSUJxV1A3ZEpxQWVs + OFBUSWRZaVYwak1aZzR2azlKZytpZ1UKoszHXvyEHk8biC52z5PuFIH1tKQRohkZ + 60JvO9ieT2bs9+phgDY0xc/6FE/gGQYqgGQ+fLBd+x8MjesZvjVi/w== -----END AGE ENCRYPTED FILE----- - recipient: age1jtusr294t8mzar2qy857v6s329ret9s353y4kuulxwnlyy4dvpjsvyl67m enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKWEl6L2NuVWp4OHRIelhu - TVRXSEE1eCtrZmJjWkdHY0huL1gyTTJXQWpzCmhDQmRISG1yWmNZZldVRU5wUm1J - NVBySU4wNExNSzJOcUlOT3NrUUhIR0EKLS0tIDJ3a3BpaW9lWGxnd1F5VW5ONUhr - cC9vd0tSSEpGaVA2L2RZM2VqeFVDRE0KYiQ5YH58GkXTpy8mjwGBeRgfy9MW2UlJ - HEtp+OedWZJ0W3kZiGdeAPo4lAXrz3wnhE1pIXs3k+HPCm7Ry8BjCA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBFbzVCKzAzcnlmbDNmTHdT + YnFQZzNLZzZWRk8rU09UeDhvVXF0dTRiL0RBCjc3MjEwZTRXUzFkT3FsMG5jUXMv + TkZDTnpuVU93azVtaHIrTTBLaCtwTFkKLS0tIFNpZEpNZHhZTlBVamFibGQvVXM5 + dHluMGZUd0pHTURsbUNSOHVkcVJseU0KHKsHp2PDw/EPdKq2LLJdJ5S2aBoaLGEl + +EfDodl76SQ9XPo7deDgjfirBVjKLrUNu3j+7YMae026LLLGFbgtDQ== -----END AGE ENCRYPTED FILE----- - recipient: age1a27euccw8j23wec76ls8vmzp7mntfcn4v8tkyegmg8alzfhk3suqwm6vgv enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAyMVRVWllEWTRFYU9UNkJk - MTk4L3F2Y1NRYU1yZFNUNGYrMFNUVzV1UXhrCk5ZSytOK3ZWeHJ5OTdaRzFEUHN2 - bHNXbEk3c3JvWDFrWHZhSWVvaTJkRVUKLS0tIFZKTmF2MWpaWWg1cm1mSG02NjM4 - K3lsQXd4R0FySC9MMzNBNFNKOS8zMmcKwAh4RaokdmZMsBnjk9ZyRQJPnfT7NoMF - oIrvTp6UYizxI6AjtmLHkcRwla0OS28KGg/iTjJxOvrsTLMUlsUGvw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBFSW0rWXNYVlRXOFlYRWdG + cUU4OFhSWFdDdXZUZjZXeEhGMFV5TEN1SldBCnZkc0k3dG1YSXBjRmhNY25RcW15 + SnkzZjZQU3VtTUk2NlA4YWNiQmhHMmcKLS0tIFpRQ1VQbmRwS3BiMjcySUV4OTB6 + YTZHZUNHbVBielZUclFVRzhOT3R6NEUKRVOqC/BVEk5JpsT6dIhkschJYl8rNJEf + QbDCfaokN2doW6+HUwz8hRgWpcjEUtxBktVucV66aEpgAHVkYj4D6g== -----END AGE ENCRYPTED FILE----- - recipient: age133wy6sxhgx3kkwxecra6xf9ey2uhnvtjpgwawwfmpvz0jpd0s5dqe385u3 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzSjhhOFlaTnVvWE1TOGlj - Qkh3NTVicjJvSmFkY2grUGNwNXlVZFBCTWtVCjFTaEhZVE9WMkpWNHFCbkhzUUs1 - UEdGVCtEd3orSzA5Ly8wMzUzcnE5QmMKLS0tIDZtSmkzYzFReGorVW1GdUxLN1VL - b2NTWXRVeFBVd25qVjRRWWxpNHRWTDAKG2BedIyp/GbAOEoKr7ZT44D574uByjK5 - 3p+IZ1XYOyolzgnQYVCJZqIaIzt7syoE0ctA4IrakB6P/1cTM5qGnw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0YUtBRmNDTGFsZHYzNzNo + aSt4bWUzaTIxOGZFeFMxY0FXNUZ0SXlzVUh3CnM1WW83am1nZlQrS2dYTTZNMDA5 + a0htcVY4TWFRcjlLWXE5eG1uODIxRjgKLS0tIDVKNVcrY2o2bDAzd1lTeHlVaEFW + TDZ1cGVlQkJmbm9XQlpuOHB0TUZrZUUKjnAyNmFzrkZGAczPwFuZcdH5667tjVvr + BigvqtvYOI0UnYq3uyUUPA+HkVZhzGuuQh74+i0XDGfjE3qcJclWRg== -----END AGE ENCRYPTED FILE----- - recipient: age1na0nh9ndnr9cxpnlvstrxskr4fxf4spnkw48ufl7m43f98y40y7shhnvgd enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzVXY5aTJIMDlFcG5MTkRh - UGRwQUw1Z1E4b25NMTVwa0g2dXJHWndBK0VFCnI3NHErMzBpOTdEcTNuTlVRTWFS - OER5eXdUK0theUx3VGUwbmRBaVl0eDQKLS0tIEdVVExLS1VwRkd1dEw5eWVQWTZP - Z1pMeklHRENCdXFzU24yYm9POEYzWVkKkjJyWvusfYp3ZD+Pm7PiZqh/wUjPCaHz - /Kd903nhk6IWO+tnzC4LTM4L3i/p8MONKjRgSOkwI2FRfQby/ECUJQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWR2RDcnVHbklSMDNDUnNx + bWY0UUNGUW51WEZhT1ZUbTB6MjZHRUFFUjI0Cmt4MFRBQm93eDR6Q1dyTElWVlVV + OW9SMEcxRGJpOU1VTmUrRmhtaUVEZGsKLS0tIEY0U1hnb3gwZElUeFZxSE5xSlp3 + dENIYjZseDdwSmx5aUhTQnk5YWdrSVEK7ew9U2Hg1aajuQjRBgCreOQhIckv3n2J + 0IHi/p2td3PsUjmWg0ZoD/s1Qz9dIl6mrOoT/CouzIGRGY/Lgy9Hjg== -----END AGE ENCRYPTED FILE----- - recipient: age1sqs05anv4acculyap35e6vehdxw3g6ycwnvh6hsuv8u33re984zsnqfvqv enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBITzBqbTRlRHg4Zi9pZGFP - dUVuZzFEamFZSnRiMFRIR1FmZWJhU2lFbERNCjlQY0ZJd3FYQ2VjbTB0S3k2Z0E1 - QUJrY0JCNFRCWEljbDZ0ejNNbFZ3TmMKLS0tIFYxVGRjc1ZwbEg2OGR1cWYzcStP - dGVrVnZqUzh3SkxJWHlQZUZxS2s2SVkKYdEo3IdbBfPHjfNfxI8B4HncsWctwi31 - jsRKVDr+tpJLKRFukQTTeyfDpMLGBxNMYtsekST1PPm8NUloJf+qaQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBnSUFTeGI5c2RXR3g5ZkVj + U0l3aEh1R1BTRjFDR2oxd1JpL2Zvd3Rud1RzCjMzaGlsb2RqQ0ZET1dCc2ZSbm82 + VzhUMHlMMWJ1S0xBUXl2TldNU3RrUUUKLS0tIHlpbjd4bldnSlNXajJEMTlMWUQv + ZkZsWU03QXp1VjRhU1RZS1JMN1VkV3cKn4jmTxx7FVvYhWDPTWnDgsnTLgx/8rc4 + qxs7v7HwP041TgcoQVsmiStPsTOzVIFGXQQWVvM9JXDPOh4IjuFMAA== + -----END AGE ENCRYPTED FILE----- + - recipient: age18qam683rva3ee3wgue7r0ey4ws4jttz4a4dpe3q8kq8lmrp97ezq2cns8d + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBOS1dGVXlqUk1YbUE1LzFZ + cjRyQXhtdktXWXdRcHdGMjhtby9rQ3dnS1RBCnpWU2g1ejJtZ0NLVUdKWFZhLzFi + ZjFpamhPcG1jREF6QytEZzRoc3Zxb0kKLS0tIDNYbnVJaDBWYmg4NEpBNFRBWmFU + djhhY1ZIV3B4T3g0Qkk0QW1jVzkxTUEK3PajUGq6nMEPNVR9JakRy9hsLidG4T6o + peDXUm3hT0srQmK5I9JFdBZ8UNvNe7CgB0RfKzQpLB//3ehPNB8Ncw== -----END AGE ENCRYPTED FILE----- lastmodified: "2025-10-13T23:45:06Z" mac: ENC[AES256_GCM,data:QxH4lnNyCAAEJhzbgCrq7QeLs+OAtYgwQP4oFm93NE4Fbz7/Hz2dvL/2SopOdW7nYVeb1scuG1ra+yvgzuQDhg4lcgt9eBJoBiynM3qiHBs+FtcSJoKs16I/ACAadQwClALb4E0xxwKFJI8ewMZu5BAxi5EhYbgNfnKCIbhvgWo=,iv:LRa2vX0HUBugeEAVeOqXbPsMQrfrCpyzGUGjK6+VaQc=,tag:/sfhJM8V1IYBh94ZS/TDxQ==,type:str] pgp: - - created_at: "2025-10-14T23:47:05Z" + - created_at: "2025-10-17T14:04:38Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//c+GwPrx0f+VWMvPWb/YmNoQDtDB2UPvFyEQtUAG0AL9S - oqYdDhw9Y1JZ1ZoUOP6N78mRvjb9csmdBmEPr+F2gfcaqRS4ywUKkiyzBgrwZ8Fv - AZUlxI+ftPeIpvhzu4vX53pyPtAKVqbPHivj88N9pVt2raFXYwnZU6P8NaAIS5pr - OPLnbMCrl7ep/BnoAcpwXIk+W44P8ZMm9pbxni/OfaIEHxW06kkGhzeYtQwnVQa6 - NBTQRBjb2drvkEIeaeYNMQ8M2XW/Zul59z/kJV4bGZzSlrS08y9+5ks7wVASb67S - cN18UH1O735qSXTHDnYdLxgOWs+IcmAId3WtMLJJUkaZLC/u+q99S6nFHtklFmlR - fJp6vT0xeHf4HX54L7LewBcRlASKE8uUpzqDSuGCSpVvQe7SBje8D6z9zL7Bolfd - +NhqXCWKuXwB177D3CRLZk0zG7n07j+Vm3qibCONDLbvX+piEz1YmfkbcfuZJtO6 - MFUqta+3UtpSYNeELnAUz5EO3LZ4+WNTj5GGPNkRELMQNvztx6xSTItlhdCQ+Kjj - t73cOY9i4ZXFqU0gUOaXn8BMxtQ4qR6Rab/t6a0nv+nbgCb0fWaKrJZQVzjibT4n - oLQWIL4fNL8sUQfRHihm0QQ8Jp2u/AdLSnQwSMzETmbNFPBVkkCdPYbKbAqOz7vS - XgGUUn8QZEwbC7v2deMFPx/XOxCdiL81KkISsu9HbzSAwZL/SYaKzIFPVMtnokAX - GdfI3zzhL8O6G7pXUCaseGQBCqWJRPKDmhbil7KOVPXRzbajEyVoz3dOmJBVldo= - =8luo + hQIMAxK/JaB2/SdtAQ//UEyATvRK+UweQ8kry3E6QuFUEUY/SS4RhD191RRg/lZ7 + jY6JNBTm6qpFfSUZCUid69frtqMoyRUc0qqnbFmJiparvpw+4aNiuYNlddHvC87q + wuGLPKs73lRXzQFTQAut7n9UQh2dZ1P8LZHPxnEji+PmHpbn5UolkxJ1YSRjznOs + 1XQWZDPxPbmjFTFpOe4GN6I+7SVq2tns0O31l63q4Ln0CIxuZETBG5a0Qqw2NrkK + WNmZsXUQGn9C+cUCC+GjkGtSrlUDYmDfz39mLVygQ/fqIkdLoz36cykYMfePAuBn + 5e9aYpxsvDMcthT1mqnl/ZtIrY4qJxo5NvewWT+Y/WZaa9xKBTtL0TUUNYM5HBmo + HF72SkY7QYR94iZL4Y3OZUo0LXSZWrP0/aOgaI1cuDVqkTLxqBTY/+o9kdwIIuvl + z4iyGtemOCBiTOdjKYQ8bR/Ptb0zpTwxBEnZWFrMiSRtGG9HJpMkqIUHTej30ZIM + G19JxVB3CKiL1+pN19D9qj8oIiwsveL8BFIG63Z62T/goUOehB/26LQm7cP/EI3x + buC0qlH5ylH8QFPuj83k9MnaLTvvwaGq6bns0Yp/sM7B4bg6H43ZfNv7toO8p0LJ + XWduABR2ij6You6aYdU1XtezgGLZPTOTxeDfrPcH/4ElDlQ82gKObgeusMDmeejS + XgEtLfRgcUxrVqhB11lOW6B858SZ+36oXig7l1C0JiaQeDAGsF0DXQ6t9ouCN23m + y4kFjiGj2BuxgvuvK6sStSlEfwRGFMAguF0umxmHuS2kXvPp2TDW7W9eMOHfVYk= + =6wn8 -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2025-10-14T23:47:05Z" + - created_at: "2025-10-17T14:04:38Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA6EyPtWBEI+2AQ//RLGb5E8yl22yIOwsVZp5Yp0qHMlCQ09toAXzxasLYl/Z - uSDjIsRccMjoRhiMtUR/Wi3eV4kmbtfFp6zt7CT0um5SspTqdlufAd44FotsjCyT - P2BMl+cUTSzJ6rVlZ90zM2djhqi8W70p0YiqVqFV/HqZaswI3dMcpGW+X378QD3C - PtFEpUFD1/Ihnveto307CVPUJp7J8umZKp2l5AFMeXmKBZXXai8KseIbWysH9Obi - xiZ7Pp5s3Cv60GUbQXdTyeRuc4aPMvFjEXYY8MTGGyENLhJq+MtMcAQCYX+nEQ/M - sNoPuei/TTEqct87iWqEEYCdS+fvw9IOCMZHkozQ0H0zViRpSG+yNw1njQhb9Vbv - Gis6rVNlNMNOCXHG01FNqgmq6aMjf2ksG3RmhI4fEV2BZzXvivYDOmsjdapm4x0a - PHe8zNG3BOtbQ7DHMWLITlcuIDDI/tL42+Udf7hXdFyDBr+Umc+G9cP15PNxWuTE - gBbpllupQQTc5we1WiQEvQ1LWWjVRSi6DQWUwByijNj9DiBjmmGfJ992EXmLD5sd - U1Lm9ziyMyjhWdfh9F2V5yNYgX6QA7Qa25SuQSspv9BjmLrOYVd9hXh7E23X/0XF - fAj70wWcFWOpZ7D9H7xPiq6kynMUcetV6VTEk3Qt8kUgNi/RKPb5NY8txH2wZpTS - XgHq0D2I5d7pIIWrbZrabZJWfi3lZXjf+3YBRZ99mDh53hESgazZr5nG9V8BXcyH - d9gmCZ7hjWWOU9AMcF9v5OZLx2V2pVHp4dvKAKPMmn0ldwFGLNp7Gt6bnKh4b7k= - =fyRg + hQIMA6EyPtWBEI+2AQ/+KBsPTPyAM4uscfXcI/nlYSEMFm/qrA17p2ioVKTQbKLn + qxn/5cE8L8FKP+XGy6ZG2HDMsbK1cLhfIixSi/ojRrXTsKIj/fUEc9KiZB/bNO9+ + WziC2lmhQh2Q5B/5zGM2yacr4BBqLfcmB99KRnVOKA3LpXUqxBfAca3MRpwVi5Jk + cANNq1T7+JjmPNlAPw6wgQ4zqz6wfqhBTzrDw+gZPAFV0DIXTY1a0SWawiIYi0BI + kVwOTPp4/5G+8qsfFgu14HeJZmA3K/owcjLOnM13zz+UkcFPV+hHtxX21V97QfaJ + hTwQ25ZGWZmAUHl3m1swZcxZIf9VhlfIzA+DRMwECfkLr7ktByRlQ3qeIwzg2SP3 + VMy1Fi2zhVFWlx29cdtGha6RybdhZdpUflXA5eGg4L1FrhPCQ6nlhd8YHvTRipof + K+ihskdrXmFrXkKV5ZEOplVFoQjY1LiGaST6yK+iJtkocB6lZ9P7IByi1aj9ipTk + 5nYVBtQ6t/RqqgoDVkukJbFL2aIxu6Pq9Xn5w+Rjl8duzCfv/JjeYkpiB7hLe+lk + MWZUoITOK0J8uiTjqU1VFdMNsULb1pzXtx+kES/AueRX8Ifpal21EtQJC21YJ0Gl + KwMlrvEq38EibVYxi1C5gzXGgLwjUt/ZoKvh5vchYjrgJWfg299xsoH3kstEdvbS + XgFjPe7ed7TCerpLF3Nc/IAL39QcmqPGGQ27GjXxLzBV9vB7wszPUFFz+dVeCYIG + 9PWK3W6AZdOojef5vXrQUi1xP7Y7FbfiEieaoQMgarM6naXTOgxbiE1jT5+dwgg= + =W7Go -----END PGP MESSAGE----- fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC - - created_at: "2025-10-14T23:47:05Z" + - created_at: "2025-10-17T14:04:38Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ/9GeCeHiQEk93SwxjH/Kbr7dxVQZV7stRfLJFDIjPKGiOP - jvJ+MFXNW1g9OQEuhRtS9duo/+YQvm3ZBAwxqyxRyAp14iVLkrzzfQjY+lCgm3BN - t2iNsuyZlNf6xkdoAuRpa4/ga/MjrR2Rx44bOeLVA5UuYZ7ivx9eY+e/h644uPmZ - aBcI5jHpU7fTwGYAomogzY96/xNAjmflUj1dMguuUqhGctFj97gzh3PlV7UcHAtC - t7uTRl9mcNTzJHAAJv2MJKfueEH5E8+Z1aNm2ZwuG55reXvfSLFvfW47n/adHAga - hBj56CXkktVDl5u/hYfOM20qyIbal1F779kBNXq/sqm/tMN7x1H0J4IIfKjwRDux - E9qnrPRzcWmwvI4zWElvbypMwPa/KQsMZ62Wktlt9u8n7ajzRYqmTa3isvyJ7Vfg - YuYBNgetvL5tWd3Nvx9AKOKgWCyJgrHrVRQWnLDaHtTOnbxD+XQRoNTX4SZkub6z - TtjS/r+yGMLRhzGJKAs+1Ow+gcMiI+RiK2dG7DQvhaXneuSkXtasMOmzREYKz0zW - lKwtwDTGf/cdjTfl1M8hjuT7HCj33t8sj78Ad8tEWeVqnOUO1Jlcjh9U3u0FEo6M - A+ekyog0eftIs4VZZfkNnzaBQkCEC2pRR2EpkcqIf7D21BoKvTbDl6wJ9zh1I/bS - XgFJzMH96vpVP2rJDj/HPc57A0x9s/giEezG6qSKu/ZLE5oBg1cilRN3Q6okj9V3 - 4xyptmO4d8WFrf+8KSVph+NIkq1eXTprhEU5LrHQ4PK6IcTjq10+xAlqyvNxbkI= - =8NeM + hQIMAz5uSgHG2iMJAQ//Wx1ah5iT2e8EQb3j6PvFpbdQHoXCKeFNsAGg0MSWoJrU + PfawJfqYSD09G9H+Segq5HmZk4mQl9yz7WBrGxZU+jGxpMjXTLZfaiK3Ond50K6a + ve+XyqaFWSJdjGmfeqMvY3U080fQgeT8JWHD3vDiu8SzuRcpF+Fhzl7khB4g9SD0 + LqBVoWaPmAxwpZg/f7jfEhozdn/HyeFH8jQciSdiqYMd/BTmSmN2v20b9XBcjDwN + CaK0fcmUxL+wZC3CjBteMhM5J3ftS+cKxZ8v5vQLXP7e0/hfcgPYBY1urYPo8rYc + cYqwqaCiWu7qxBwwtI/xSv2P3Hf/qXcYWhvO4V7dAeM8KbEbce6zPq/KNw4YMwNU + gYZHMf40M91G++mbjphXv0sHLhzBHtD0P7WkC67fNHqDLtZv10wt31wa4wbY6+J4 + g4+YUZCDI+pgsUPKb4r24YIm5RREwYqsdvKXcdytGlsTYlNciI4KHtNDAg7Z4SY6 + zZaY+mDbF4bYkY59PhbyQqqDZQWIrMMp6RA1HNtWpYCBAGANy9F/NuPMNHf3MAr3 + FTpxshubpQRCzURbt+g8OyQvzUTInEy7PC4eukqO+g6T8PWXyBQn2apq/pBfv1b7 + K9vh9tEXW70xKHub82/wbP7Fdcx97uk22l+ewGttm/7Bjo9v6MC1ti7Y2J4cvePS + XgHYSb1N/bx5A/QXGUca85B0FiO5GsbJ//UeM3TB+3/ytdXcV4rtRTyR3/Z/ft4W + q7UsiLxyKjG65rYZ5qlbDWsQdsm7F8s52+N+goiuGouNBTI9uXWhmmr3GYi2vo8= + =wcmD -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2025-10-14T23:47:05Z" + - created_at: "2025-10-17T14:04:38Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ//dE94ge2nGFLs9nTc+jmktbWa6kkFuNQFT1k+oTI4ZZWi - vn1aBajNjMLS+jgStQEWwjNSkFdRfYMFVJ/S+1NpOF5CDqhycfvCa7e/kt6KNvEc - TPeGco6G06Wnpf6jK8mjXWxEyyLKbY328fEDdTuKkRm3/F2nwJbMX6d+UiZ0Y+Oe - p2DD33YcjfCFtXUtP/c+fwnhS+953cCDng+k6/eyxlCY+LT7gGbcTYZgmMGlsGA7 - eT5F/2SrEDydGfXVUc90syeVXIS3xfGyztylXfYI0vQz1Bz9D48Ek51wXKahzA+r - coIBoYqD4H9OLntBD53To0d0zR4vbB2+w9czsNZJsnK3oPxi0yK+13V6KdvlPvO2 - txwVwu18H290CEg/Zqg/w0cS61NgevOIw6g41ID9emc1qO2ZVMVt46hgNKkrna3R - 984JZGT8KB1lGqVpHU5iTLGDuzPzc4dUDaPJQ4E5KjYUCLCRKW5q2j6zeyNEgRSE - qNJbMOP9+IfoCVE922qI8+9b1ZQ6jT6thIr2rzzagWMcHOXRUxZR6CZzDQLMP1le - 1ePo6BmPm1VPeLC1lWMykAff7t+XvCVecTxyFFzClJY5Byo4XS1MUzRcb+lVYIus - GZTRGCZVoTXJlExkWFfFNbz+46jkfVcQGE/eiY5Es9ZTyHRuHPeBsx0vMQpF6AfS - XgFHOJrVKLuxrkQZZ+gyNreA48Sn2ZzwpoldR0CJrGFzw2IevvYIpK0L4gQZ3jLR - s9MQEj7UfdJ0wCstBfSaGqtGhD4ZbVMcd8L6nh6BJVdTYYPyn5IERyWtM8I/Clg= - =sNNb + hQIMAw5vwmoEJHQ1AQ/7B1ejBCLSah4L3HLc1k2lGM14a0n36e1CSobC8CxpyiW3 + 9urCBEWQLdhO+eZW2ZAhIp38VchwOlcq91X19f+w3iVdGfk+ULFZ/1tpdQBntXMp + Ky59J4Ba6ipzP9e1SUdwP0md05kVZmmB0MAsum/mp2jgJWkGRZTQxgwjv5V8EDY1 + LepzeIVMNO638VUY92sR1Kv4RU68gdb2BQ+cQGcQuwiZ2qNW9XrCPf5Zm2i+Q87g + 7XPnjVsdEIqtXpg6Y9ASYE/DwFOwR6iWlHdpltPNL5cupC3mibF7i8n//GLjpmAl + WuM01oXK9FFzCFWQBxbE7h6uSHnzqrIURK6hHmhyhoYdT0C9atkSfFxab1bN0RaQ + 5PDMWJGKbvoZmGHy/gI3TZL/qMYP1SItDqptD5rMu1CASwwENw2QpPbEAT9A7mEV + 0Mkw4d0AxH3cHAHXCIkrPudLiK8DxkMQOQR7i5QWYBk5AYh0WwUztM2zTHWDsxx+ + ZPhxOS1S88BR68du6bziaYQhNAglXgpRoYNaIhlNsYSFoh2ReXAwdjD1RlfMjrqD + LUto16cH2L//7wiU9TYc8/nT9smZKddLEunH1XYgzn3n2cC33s26likYlWm07WIw + zdHTnVmmf4tC/HKZWX0KGzA9ZW5B7M9KWOgF2GG1RfVPq44hAORc/+Nngm9TaDnS + XgGex5pePKFP6qoUpqODBFmA6F6GtdkXX0vYEzBnRks83OZ0tV5yTN+1NXNEX6Z/ + e5zP2yOHWLVSj6cDkdmdF4VYmZ5Eae/yVn1dPOW7O6cU54eMZMrHQEFAGMTSdDk= + =D8SD -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2025-10-14T23:47:05Z" + - created_at: "2025-10-17T14:04:38Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAZNStGBxNBJJT5PPgxu2HCj1aHvOtDTil2ugNKOd2qE4w - bFqjKTtECnvKaKTUa3mg/qYAAMjh2S7uZDvltwartVzZn4dHa4r8n9vWI9Bc8AJ2 - 0l4BcDk7SfYVYJT9Efcw3aDgj5LFHzH4neQaxQYjormlWSEKaNWnxiyOEQnsjtGm - awIy/HIWdvcNezO2SgRrYAFW1oJknFCEBJYtRVcHH4JOV3VdpxIOj8oVkVbvj9Q4 - =a0wz + hF4DerEtaFuTeewSAQdAqehQr+4rn7euL6byk0MrNoU0bf7bZEW2iH8Uvl18aXsw + yHLEM8oheYIQ9ZokI6pKkOLS3ZegJol4D4LZzjV0yYQw/64tbUMiz1+ypgssZ4G1 + 0l4BAYazCYdM0RbKqJnRGm8q7fpbo6Y0gVLGdhb/gd94PxhpNl+jfxwETma8z6Pe + aG2fBaKlZYiGRnz0RGtFXvgjFK0w5DsdtHftBSHA64MSQp5hRjjv4udNuRhYTJNT + =3wwp -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2025-10-14T23:47:05Z" + - created_at: "2025-10-17T14:04:38Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/+PesL/q6u1ukjsl2LuFcoZdbOPpRXa/0qMbGLvAlisBxd - eeVwJvQ00zBUbxVPIb6N9LXABppZF92p1CaPL7MQD5xz66LvmUsdeUvz/hiJSzcF - qWi54fAaudRB9rVcwQNR5Mnfc6aiD/6cLMHy+SAH93GDCbYsnvW1ZuTzSlJ4tbFo - QzYgVVN1f5TPPdLCU0iyTKA8clbXsA6q/4w3Lz4kWFDUK2/dWyKc+aX+gmmt16MS - JQt3xWzKWU1/91rtbICcrzgjQdZ/CUrLjlVeHH+wrKEiPRbwLkNFcFYE7Oq6K4He - zx4WYb4sVnM1g2yKRUzIw4eI4dhtR/UZXjANWAKGN6XK8tw2IWBlkCCLKGPX/Pa/ - qETONMh9QWTKCIuroXgwzVk5NGavvAmKFdoBYgmHiMIN9+w5GC2tXW9QU6mm4C6j - qTwQSGlX8POMwFt1VR/MM/OZjZ11rWOtAPd9cr21Pm2Bh3TNf33eGdFIzkYlHlb8 - FN84d0zDCplIZ93S6u62+kL6qrgMZ9xv/ZRnxG0oU0L/nYXyqCMbTsx3N2gP8edm - yPcN6rZHZ4reTv6reLrMnR/bDLfweGDGV+KJhhg07+YN0OcDBlkZSyVoHKZp+yj7 - kfbC9p0ImOsMtoDa2W+bcKEfqNlTCz2X61mfJb7WL2X4Kfaa0Mm1v9Urr4a1/R7S - XgEf3KT+SZGW3nCV/S+ofs4JNjKFWB1N1NmqVh53eP8CCBUujt0Z7Ff3iZKVu+1E - 41UshGR6/0E6IHNrAS0DeQ0QyqnoNCTMMhxJhLoDP2jbqiDRqaDwORYeBtiakdA= - =8tLh + hQIMAxjNhCKPP69fAQ//edN00LiyIdt3X35vF5KNcHlWYUL5iYqxzi9VnaAxiYI3 + dr2Cp4xROIcNEZbNL99COiNm/fJ2+vCY3qJh3d+4TYBSA8ubJT/HDlQmNNb/Ra36 + GCEjJ8bF7Fwz48Tl0jtPA/BCLs8RmF8Q1uQixGBRNPq2e7wzadl13qC2KKQMPH9m + IS8YOnX0Pr9TqEvYR9BA8jx5+41buZczzlb/GzYnYXwO4n3uVn0zDRLqYlqfFYso + epJ+GH/g1YHJeNLMfQ0DsQLL4zDOTHpCX6kIqKDdKExi1aR2u3fPHNrGcKrkOgo6 + tc5XuWPoMe8UYg2OKnX1YYXkvhQ0lSPirHSPm/tbK+XWPIELL47esTgOMx+D/LVw + NSvGl6VZN6bCHazNp4I90EUokwUrX+RVsZ7BtPDRoP1Kbb31hYKg71LVqpbmRrRt + lxkqGR378bx22nlFBMaxhPaJGGVZ5fgrZzWiXxHjTp44CdX1Pe4VbTqYtVHzc6bq + hC+E4M5d12i+duP6PbzwO/xzN/6+IUGu/pR6vYWVKBITX1p94emMZ/4Wbu48L1ae + UUbZfHSUBIzJkIwft/AUjhGP8DESesZi2sO8lmVWQoBtdRR27X7oRAoler4eFpGB + pAfHYxHm0Cq/GcuWUnG32nfhHKJsl1ZC6xIS6dXJDPaqfa5aPfo9v6yGx++2ixnS + XgHHxv7R9I8bLyLearP9tdU47oJMvWcykNbJxEo0ay8MpsRtKxO5KTWolKonWjpu + 7Soa5Rrnw9lJww9e8TGlYmhEMw6R7nCsJzUduy9BA06PYDj7cvV+oIpM9Jq8Ldg= + =s7wE -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2025-10-14T23:47:05Z" + - created_at: "2025-10-17T14:04:38Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoARAAtagPOwKr4RoduzsTmTM0OgRepk5RUsv4k3z8knuF00aJ - VTBcmu/cKlk7P320visRXcoluAV+KaN07cOjWSRaPuBI4cpxMSSUBsIPUZ5pPe2h - RN7Hgyqq7Z8KCuwUDy9VpgJOZXSjDQqlV5DRZUlAABd5D+xGHLE6GwHxlyqUnKDb - 9jxg3KwJOOMqzHHzkqxepI2m5rWKerkC+7b4nvxyiiwcD0k4Y8FipX9+mnrxrnm/ - ypsapV4h6cCuCcN6IG51YL5Vn6cC3rce+fBh/qU8b187gRHJIBBVPsBQPZ/rwQ+r - xb7CSJSF2RFzvg8jh9etDnKSi1SQ3pvnSNOqdc5skjTiVrgWSuY90AFG7nN4F5dk - 3Nazh+wkzNfali00LjCyvO15/U7O3qoRvsNRsLn4t4nTC70yucKAC743CNKby0Vv - +K/ilMD0WlPO/7M28cc4AMnFkY4mqSC8/HuSwDWWdHWAUkNecg1QUvMDTAPp5rAP - JPL7U5qCqVge0CyyVOItNgDdevYIDFx28XktLre1pztN2NCqgLO4GMlKKj3n8QtM - 6ur/DmprRlDz9s+QiDIpwwEeWD3cTC1LHUSxC+ljcZIMmhP60ZcR3CmVJyuKgOYR - xsyCBVY4QsRyUmHJeUqCYUS1afkorNCPd0ZLTkeuQBBUHh96Nv9iAdSI1KaOlTPS - XgG15kimBrkVlbCw52TmYaAOr/5igBm2N0mhfIVSGaaBP8oZKXl4wGk5WdSYcife - tosGufXQquEMRF1v+bKCqIX4jCSMPmsXUy2//WGIks0ZgCAx3hiT9l6KP4fLJbY= - =xLhG + hQIMA1Hthzn+T1OoAQ//ZqqiF6f5irgJuDwGkjKbbCVYOMcmW9sW6aD/I5XTl0Tz + WfNFLWjezxJpwFdSeYa8ioYsAdGx+zXiXfQs5pKozC3a8pEa6Ck6jMiPBQpOrDgg + CkchMA+D6FjQXkVbc+1xkeI0mON3JRPVasAsScLOEMzGjFogKqtVxQOYhjcdleuG + ytim51IPPzOPZLAM+BMBDfZqwdHhd47onTNxI14kMlGH1JyBRapEsLmOD9VmLFQ/ + jfPMsxkFYFU/xO9TejBEqlZwWT6LsdaDZzewSUyIhVlkuJNeEafnC6qpI9lCjcti + gFqfCotO+mnKxNjJ+FArJTY+D9Zlh32yzaRtOMRqhfllFzkxd7roIGZR/8aZV0n5 + iPjpH2x2B3bW4Fb/CLvPYjGAMYO1nHdF7+FWsJey2bceF4c2hSgHWvDltaV0HEFh + dEG3dtHq8UHT2ycHPJb2DHQ3q5APapsqmXi9c+0weu4pNgYSvnLPqA6R972uTb/h + Yc1VHOKTQHKXPF99nci8ggdLVL5XIeWbQ4ZcyNrGFBNmHWHkwPSZ+ILfpAUSIrG3 + hWcofNTRIRoJqKSXwc2BAONlrzR2CKSdKmt0tbU+rEQGMYF5O/2JmmjxUBpSe9BC + kvqXflq9nbv0e1DlcmepTK2Y3QabvaRL5edy2j3Pe270W1XRJUZZxlVD68eYofDS + XgE1QvaSE3CMxm2pvVm96VM0e2dr+tRPcPk907Ps/EibQsS5GQcXLGVdr+KDS1Be + cJvXQ+iob86IRtUzPYduSkt6mt45xGId4L3gSLF9+MTbXpf7JHG6AxE3BBZpnUo= + =5nps -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2025-10-14T23:47:05Z" + - created_at: "2025-10-17T14:04:38Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqARAAu1SiKGpoufIEENN//UBWWKMXxX6gHzIXVbGhOrcK9Ivg - 9mcLiRNX7Bxlfeuk7Plb8iMxC7GMT8KcSKP7d5cK790mDJC1BraL0CMtdPzbWygk - N3/wQiCzZRCWapdRPjQbYb9jpWAKMdkED38dIb3k3MCkx/OmVqaB5saH8DOG68u4 - tbMsVgzmXfPFBj2BdPwTYHwhclZqzPyBkgNgN6DW/QYiChdDC/9LZso7pXa2drkv - KNrVdc1iHiLNd6pzaxH5gOYYjQeETh17ohQO9oNsq77W+hGlXnyvggxDhcgtJEPH - F2qSsBDVxWEGlhWPhLwrbGTGKwT0SSUWtPfofSnNVmcxEzIDN6sC71ZN/VcIdovu - C/KsbrOXiF4NeOvs+FNXWA3RbvsNzCj/mkb/vGnB06fkkjh2lmpmbMbxkITan8Y5 - D09ByKpoVik9gHVHG4QOTXsRc5PIG+XIaByiRJt9ZEldQ2pvdZro2MlZKmsTf7cP - 1zoN9B2NJ3J49hxGQW6y0tXlLpM4XJeR/adNFv8TE+KlWXYpiTfxyMi58vanRfgn - t3eBnP5Sa79kfynS0LsKla8yNUEIQTgQd+PvbhMCZkv4ufpgSJCaJtsB9hdJxgQo - 1qScxKWzXdwiuDd9b2RfPGyTvTNsuD+UiStFqQhAjklKMsYppfzmL/imdRVZBmXS - XgHG3X/F9Tx/8IVCgC1VQZt1+UFSCnVH8IDiYW6vDWPTkOd8XTgi2+2uAQ6+cFxj - 2pdqjT5yNaUbH5HuzIMTnnD1zcDeFbO/4aF1IabZrObckoHxBhMHoQhf5JF1Xwo= - =KD3t + hQIMA46L6MuPqfJqAQ//Zq8e+mgILYMqFtvl4SJn1OlffKzXMRvUVJbdnjN1oTGq + PQbnx3uf/RpkcnQiHNqUJuSsmATLkfEQk33VhmtbH+qhv9PM2PUujmEB2meM3GwK + AZV8Okpzvp8sJdyWMbydIw2SFEaYWOEDbsoSYGWnMcH9rp8LUkIGQvFlDgu+Ljqh + EaB0yb/p24zrJbOHWiDnYSBpEdH6wmv73rd0fn1c5PN7PkLEtznG+W1ghjq1kT3b + V6VdoUSY1/hqCFkcU7VWv7mkI/iGDy3SWsOomy1aF9WOPznEv7Cx0I2V0atL+w3E + 7D/t8RxcfyMP/ECao0XvFk9crx4tRVUtZ5jePfmGOQBWwc200w89FLyIeCZWWYIO + 2EdIJp7Rizb7sNt1CqLhYwX2gdEsqOZ1QVCXMSaTAQ5vQjMbQKp0+7iog4YILoYF + ALm93Q9s5zyi/vUadYrGOKUxUDRNvYb4TbKoE4ByfEXUCQmX/YQ18DsanGB+i2B3 + /RMRcZlLVzUnvh6h77qWFv4DnTqMH1yvQCL92Jw67SHL91xcTbpmBVKzb/oR2f13 + pd5aON9LpKlamuLb/wXy9Q94m8ubjo7nYLHVOTYuLzaskV4PSwY4XcfaH+50uJ0n + 4s97LkqMBWrdWZB3u5Nxo3Y+fB8+BytBFLuc1jmKkxVkRTY2e4C0isZKQ+jSzvrS + XgEjAK55FfLPQjCNKuBTxUC+9eQYy2Je+tONP7//L10H1ute2spIgFgUAUAwwNS1 + H3W5nMQm8hE3KDkdlMBHy3AoZikznYfZ7cJogUoVkWuRaolMV33RhE0SNXekI5c= + =kfAk -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2025-10-14T23:47:05Z" + - created_at: "2025-10-17T14:04:38Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAyfl010jUvS0NNIlmb+nQWlno0hDFgA+rM0xHYDoqDRcw - NtV7r5Hyi+pXstMoMwgQj5CVP+Mg4xTUfNgDftYp7ov46KjuA8ARlN3/ZLg+qmXO - 0l4BkVlcHhpLW2qnb5MflqOId4ztTiQ/nq7nmsUHEi1IjeFVpWhGdqDVn/QcxLm3 - taYiuziEYqOl6j7ns2DN41nja0NeXpkVXIlwJZIQNPkgScfSGZH/Dx5gy4Ucf0Xt - =r66u + hF4DQrf1tCqiJxoSAQdAkCNu+AdyJswEVj0CL7q2GcCuCUhxJrWD7HEkx/iCFl8w + Rk/eT0BZsOkqq0c/u3vG/w6Uv1Y+x8bZBQNHJJwNC/6z95L7YjDrUpLebqEy0WEn + 0l4BfM+Ktwd+ZsDG2AHRMrihBziBknDKM6bR+3MECcczYSJUfwS9w3NDsW7hnnN/ + AcLzdB4V5xi9ypOMlWHn5bADyA3UyKX1QFxdZbWae1+K+3JunFywB9Hqy4mubTFD + =hd/6 -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2025-10-14T23:47:05Z" + - created_at: "2025-10-17T14:04:38Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAu3dirrC2PUN9uztpg4T4o1nCk1/dhWmldkPRzQrvGnQw - nCJV1QcuVri03+WHukCVPRvyAU5NGeyDaTXoTnTTyuakPn1gNuvjG9HxzRY5yI9w - 0lgB88RjnO00sWFRBysmr/CJMZ6tZlXMlSo+R+ahP9f6kO1qTQT0POgZ9Kp/nzSs - 9Py1Kv38NLbKWh7rDW5Eou5627W/wY/LGVAPuYoQslUC39NcP3Mp4wK0 - =XhtJ + hF4DzAGzViGx4qcSAQdAQQZzi8JdsmW/Z96CPChncBevqO8upKUu/JbcFa0gJm0w + w8KgmH22eaFH5ckXAa7PYxb818A+qT3ODostYWB+jybaX7tvJRkoFcVFt3+r3dtD + 0lgBsNmGk4FZD8uk+2B9mEHt8o5wjp01yb/IyG/e0b9xGM1lWzXXxIVgWKO0/745 + YWwNdroYwv5SfW1nKcPY94Hd9T2L3860RDrGZjwJLkg6vb8SVTYGwaaZ + =iW7K -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2025-10-14T23:47:05Z" + - created_at: "2025-10-17T14:04:38Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAAx8hDxI7flXui9s92kfHGwkPSG8TVszI/IU8hP+PrH6RG - XVkK5WJWDj0ioj9/UO2OVtvWHZEy9QEvaxygUthtHkY+JcaT/XA+1hiDe4DpPDjY - ZbHqVNOjd7zlDrlQGreS4LAmgMmTRYMrQA2ZEbU4tKNDQTsKSnA3ranZPnIhWqZz - 7FRjoh7qYvZGaX066PAtJVAF94we+O4QAb6557NrC/FsM5nk9SGAA0l0iuLaDX0i - 3hTFIq5IhnEOh5dSr0e70LbcaMTLfC3UGhzE7Wd0GRNCvbtWpwqzbcjXFoCoe0iC - OGVFpvdFXZoQ0LuLumM2SfcsqsW9qY4kt2ojY/C4RhVFFsOcSuWakCZ/6edj9ZvQ - N23dywlG9pRc8lnhD2/LDluh/wDKfoq2G0RMFnBK5GvnagaW/IGhOOfvICZo/Ymo - /GGmG4j+10U/dwM3aqUXsL0Af2e1QoSXovbFTY7T0E7Jto/hgPBpPb+dcA0Kg64i - EEVC5Xuwrdi7vwfSutfFxfIozXzq31bowkX/Kkf7dWn+tWIvh+HBJmQYEX6/dQHH - TXV8Q2NNPzDAZQGZ4i9LymIyRU1URTzN0SNt/ZiE/TAhFyn4QabCXjEtBCRQICDL - e2DsA4shE7zSsRIvUZu69JjRCHtRCebkzkAHe7nN7GRep81In4jZy1WLsqgID5PS - XgGUCgmVw/hdImEckcxZynJQuHnN+2Thk9vfhGimF3SbN1vGN2/Qrq274C7/JPmJ - vMZ3tCVEKH9H8UheUDKsQFSv4PhUVDndnNaohf4I7C+vNGNxk4DBGTW4DvktBSI= - =/HKu + hQIMA2pVdGTIrZI+AQ//aLghwm1amWw+lF60ZjG7I2jhrjkbV8Db6UguA6zT+TIy + RWh97UI9wEIDKw2c1wYDTkkgfYKAV2S9aiUVgsT2ivxbDp3SuYa7AhOskmAAit64 + VZrFsBtlPbIgWu8Rn5lweFMTd0FpbY4Io9Bfo/ZUIB0PjgSHhQftjnxNRvD0q1/k + ghn7pVV2bz1S3Dw2jLWoMEaxOlzTyyFzXcHnMrgE6Z/i8ZYg0YRgWWVyHRht+OKm + ZzFIEOm91TMx5V374e8WyBTmBrOMhvt1yNOnDn1PgNsGtJV5DgGwtvuWkbg3+Sl8 + LU+akmvAmP+HoOY/KixpTBGMf9RyIFGEP82+1u39T9Tng4Qnc7J55e3yXhKgrlJj + 8H4Mz4KFu6wT4+OuNWp8cE+CbTwSwisDzEbmyU9qWnMih50Q8fv4K2F/gYlV7Zuw + WkRWPvptTI5HnDOppDtxXucubKaFesSWcAvlXeZ5vIzfVGKuKObD3EClLJphpgW9 + EQxS4UXz8hfXAlUL33gi/63h4KEq9M1q04squj58fBkvJjU8BJo+vvMuANN10LfX + MGbokcDDSy0ewouoEhi8b5cEwQF3BRhh2Sqh8l3t1PPTplk3uL4tUTQdKHINvxR0 + teV+h/ap/sp/BGDM9SQQj3rgyWvh22zz0jJTmhaaiAZo3lScsLHw1HFNLEl58w7S + XgFnCIdmzNfUd1mnSk385kY0FCBt+haTWXGA/gahnZh3+gSaUQ2hyLpkzNzUSgeB + QV0kGEKXlQ5JJMPWjL4+Y9+tSaBFG5pj4Z1Hx22gF0ii3ku+exNue/UspW7eVtY= + =WJXM -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 unencrypted_suffix: _unencrypted From b46747d251af0359eb543ebf7d6b1bd84dcde049 Mon Sep 17 00:00:00 2001 From: June Date: Fri, 17 Oct 2025 21:27:29 +0200 Subject: [PATCH 031/160] deploy_ssh_server_config(role): add Debian 13 sshd_config reference --- ...oud_2025-10-17_default_etc_ssh_sshd_config | 125 ++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 roles/deploy_ssh_server_config/docs/Debian_13_cloud_2025-10-17_default_etc_ssh_sshd_config diff --git a/roles/deploy_ssh_server_config/docs/Debian_13_cloud_2025-10-17_default_etc_ssh_sshd_config b/roles/deploy_ssh_server_config/docs/Debian_13_cloud_2025-10-17_default_etc_ssh_sshd_config new file mode 100644 index 0000000..4ab41aa --- /dev/null +++ b/roles/deploy_ssh_server_config/docs/Debian_13_cloud_2025-10-17_default_etc_ssh_sshd_config @@ -0,0 +1,125 @@ + +# This is the sshd server system-wide configuration file. See +# sshd_config(5) for more information. + +# This sshd was compiled with PATH=/usr/local/bin:/usr/bin:/bin:/usr/games + +# The strategy used for options in the default sshd_config shipped with +# OpenSSH is to specify options with their default value where +# possible, but leave them commented. Uncommented options override the +# default value. + +Include /etc/ssh/sshd_config.d/*.conf + +#Port 22 +#AddressFamily any +#ListenAddress 0.0.0.0 +#ListenAddress :: + +#HostKey /etc/ssh/ssh_host_rsa_key +#HostKey /etc/ssh/ssh_host_ecdsa_key +#HostKey /etc/ssh/ssh_host_ed25519_key + +# Ciphers and keying +#RekeyLimit default none + +# Logging +#SyslogFacility AUTH +#LogLevel INFO + +# Authentication: + +#LoginGraceTime 2m +#PermitRootLogin prohibit-password +#StrictModes yes +#MaxAuthTries 6 +#MaxSessions 10 + +#PubkeyAuthentication yes + +# Expect .ssh/authorized_keys2 to be disregarded by default in future. +#AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2 + +#AuthorizedPrincipalsFile none + +#AuthorizedKeysCommand none +#AuthorizedKeysCommandUser nobody + +# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts +#HostbasedAuthentication no +# Change to yes if you don't trust ~/.ssh/known_hosts for +# HostbasedAuthentication +#IgnoreUserKnownHosts no +# Don't read the user's ~/.rhosts and ~/.shosts files +#IgnoreRhosts yes + +# To disable tunneled clear text passwords, change to "no" here! +PasswordAuthentication no +#PermitEmptyPasswords no + +# Change to "yes" to enable keyboard-interactive authentication. Depending on +# the system's configuration, this may involve passwords, challenge-response, +# one-time passwords or some combination of these and other methods. +# Beware issues with some PAM modules and threads. +KbdInteractiveAuthentication no + +# Kerberos options +#KerberosAuthentication no +#KerberosOrLocalPasswd yes +#KerberosTicketCleanup yes +#KerberosGetAFSToken no + +# GSSAPI options +#GSSAPIAuthentication no +#GSSAPICleanupCredentials yes +#GSSAPIStrictAcceptorCheck yes +#GSSAPIKeyExchange no + +# Set this to 'yes' to enable PAM authentication, account processing, +# and session processing. If this is enabled, PAM authentication will +# be allowed through the KbdInteractiveAuthentication and +# PasswordAuthentication. Depending on your PAM configuration, +# PAM authentication via KbdInteractiveAuthentication may bypass +# the setting of "PermitRootLogin prohibit-password". +# If you just want the PAM account and session checks to run without +# PAM authentication, then enable this but set PasswordAuthentication +# and KbdInteractiveAuthentication to 'no'. +UsePAM yes + +#AllowAgentForwarding yes +#AllowTcpForwarding yes +#GatewayPorts no +X11Forwarding yes +#X11DisplayOffset 10 +#X11UseLocalhost yes +#PermitTTY yes +PrintMotd no +#PrintLastLog yes +#TCPKeepAlive yes +#PermitUserEnvironment no +#Compression delayed +#ClientAliveInterval 0 +#ClientAliveCountMax 3 +#UseDNS no +#PidFile /run/sshd.pid +#MaxStartups 10:30:100 +#PermitTunnel no +#ChrootDirectory none +#VersionAddendum none + +# no default banner path +#Banner none + +# Allow client to pass locale and color environment variables +AcceptEnv LANG LC_* COLORTERM NO_COLOR + +# override default of no subsystems +Subsystem sftp /usr/lib/openssh/sftp-server + +# Example of overriding settings on a per-user basis +#Match User anoncvs +# X11Forwarding no +# AllowTcpForwarding no +# PermitTTY no +# ForceCommand cvs server +ClientAliveInterval 120 From 425d302fa91d54ae4380a6f6bb97019d3fccf6a5 Mon Sep 17 00:00:00 2001 From: June Date: Mon, 20 Oct 2025 01:36:00 +0200 Subject: [PATCH 032/160] zammad(host): fix compose by using different elasticsearch image Also execute manual update steps as outlined here: https://github.com/zammad/zammad-docker-compose/releases/tag/v14.0.0 Note that this is updating only a part of the compose file and other parts still are out-of-date and should be updated (like the Postgres). --- .../chaosknoten/zammad/docker_compose/compose.yaml.j2 | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/resources/chaosknoten/zammad/docker_compose/compose.yaml.j2 b/resources/chaosknoten/zammad/docker_compose/compose.yaml.j2 index b2e8f4d..ab1ed85 100644 --- a/resources/chaosknoten/zammad/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/zammad/docker_compose/compose.yaml.j2 @@ -4,7 +4,7 @@ https://github.com/zammad/zammad-docker-compose Docker Compose does not allow defining variables in the compose file (only in .env files), so we use Jinja variables instead see https://github.com/zammad/zammad-docker-compose/blob/master/.env #} -{%- set ELASTICSEARCH_VERSION = "8" | quote -%} +{%- set ELASTICSEARCH_VERSION = "8.19.4" | quote -%} {%- set IMAGE_REPO = "ghcr.io/zammad/zammad" | quote -%} {%- set MEMCACHE_SERVERS = "zammad-memcached:11211" | quote -%} {%- set MEMCACHE_VERSION = "1.6-alpine" | quote -%} @@ -80,10 +80,14 @@ services: - ./scripts/backup.sh:/usr/local/bin/backup.sh:ro zammad-elasticsearch: - image: bitnami/elasticsearch:{{ ELASTICSEARCH_VERSION }} + image: elasticsearch:{{ ELASTICSEARCH_VERSION }} restart: {{ RESTART }} volumes: - - elasticsearch-data:/bitnami/elasticsearch/data + - elasticsearch-data:/usr/share/elasticsearch/data + environment: + discovery.type: single-node + xpack.security.enabled: 'false' + ES_JAVA_OPTS: ${ELASTICSEARCH_JAVA_OPTS:--Xms1g -Xmx1g} zammad-init: <<: *zammad-service From f3902b43b1bf603d37ef8eb84a9de1aee0f3d548 Mon Sep 17 00:00:00 2001 From: c6ristian Date: Mon, 20 Oct 2025 21:11:28 +0200 Subject: [PATCH 033/160] update keycloak and nextcloud --- inventories/chaosknoten/host_vars/cloud.yaml | 4 ++-- resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/inventories/chaosknoten/host_vars/cloud.yaml b/inventories/chaosknoten/host_vars/cloud.yaml index 0aaf92e..35fb162 100644 --- a/inventories/chaosknoten/host_vars/cloud.yaml +++ b/inventories/chaosknoten/host_vars/cloud.yaml @@ -1,5 +1,5 @@ -nextcloud__version: 31 -nextcloud__postgres_version: 15.13 +nextcloud__version: 32 +nextcloud__postgres_version: 15.14 nextcloud__fqdn: cloud.hamburg.ccc.de nextcloud__data_dir: /data/nextcloud nextcloud__extra_configuration: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/cloud/nextcloud/extra_configuration.config.php.j2') }}" diff --git a/resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 b/resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 index 227db64..be30a73 100644 --- a/resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 @@ -22,7 +22,7 @@ services: keycloak: - image: git.hamburg.ccc.de/ccchh/oci-images/keycloak:26.2 + image: git.hamburg.ccc.de/ccchh/oci-images/keycloak:26.4 pull_policy: always restart: unless-stopped command: start --optimized @@ -46,7 +46,7 @@ services: - "8080:8080" db: - image: postgres:15.13 + image: postgres:15.14 restart: unless-stopped networks: - keycloak From 94e19203888face44bc3dce48763ae9e0a67c396 Mon Sep 17 00:00:00 2001 From: June Date: Mon, 20 Oct 2025 21:05:04 +0200 Subject: [PATCH 034/160] setup ansible-pull for all Chaosknoten hosts Additionally setup ansible-pull for: ccchoir, tickets, keycloak, lists, mumble, pad, public-reverse-proxy, zammad, ntfy --- .sops.yaml | 39 ++ .../chaosknoten/group_vars/all.sops.yaml | 447 +++++++++++------- .../chaosknoten/host_vars/ccchoir.sops.yaml | 293 ++++++------ .../chaosknoten/host_vars/keycloak.sops.yaml | 293 ++++++------ .../chaosknoten/host_vars/lists.sops.yaml | 210 ++++++++ .../chaosknoten/host_vars/mumble.sops.yaml | 210 ++++++++ .../chaosknoten/host_vars/ntfy.sops.yaml | 293 ++++++------ .../chaosknoten/host_vars/pad.sops.yaml | 293 ++++++------ .../host_vars/public-reverse-proxy.sops.yaml | 210 ++++++++ .../chaosknoten/host_vars/tickets.sops.yaml | 293 ++++++------ .../chaosknoten/host_vars/zammad.sops.yaml | 293 ++++++------ inventories/chaosknoten/hosts.yaml | 9 + 12 files changed, 1854 insertions(+), 1029 deletions(-) create mode 100644 inventories/chaosknoten/host_vars/lists.sops.yaml create mode 100644 inventories/chaosknoten/host_vars/mumble.sops.yaml create mode 100644 inventories/chaosknoten/host_vars/public-reverse-proxy.sops.yaml diff --git a/.sops.yaml b/.sops.yaml index 07a1f14..98aaf3c 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -24,6 +24,15 @@ keys: - &host_sunders_ansible_pull_age_key age1na0nh9ndnr9cxpnlvstrxskr4fxf4spnkw48ufl7m43f98y40y7shhnvgd - &host_wiki_ansible_pull_age_key age1sqs05anv4acculyap35e6vehdxw3g6ycwnvh6hsuv8u33re984zsnqfvqv - &host_renovate_ansible_pull_age_key age18qam683rva3ee3wgue7r0ey4ws4jttz4a4dpe3q8kq8lmrp97ezq2cns8d + - &host_ccchoir_ansible_pull_age_key age19rg2cuj9smv8nzxmr03azfqe69edhep53dep6kvh83paf08zv58sntm0fg + - &host_tickets_ansible_pull_age_key age16znyzvquuy8467gg27mdwdt8k6kcu3fjrvfm6gnl4nmqp8tuvqaspqgcet + - &host_keycloak_ansible_pull_age_key age1azkgwrcwqhc6flj7gturptpl2uvay6pd94cam4t6yuk2n4wlnsqsj38hca + - &host_lists_ansible_pull_age_key age17x20h3m6wgfhereusc224u95ac8aj68fzlkkj5ptvs9c5vlz3usqdu7crq + - &host_mumble_ansible_pull_age_key age1wnympe3x8ce8hk87cymmt6wvccs4aes5rhhs44hq0s529v5z4g5sfyphwx + - &host_pad_ansible_pull_age_key age172pk7lyc6p4ewy0f2h6pau5d5sz6z8cq66hm4u4tpzx3an496a2sljx7x5 + - &host_public_reverse_proxy_ansible_pull_age_key age1p7pxgq5kwcpdkhkh3qq4pvnltrdk4gwf60hdhv8ka0mdxmgnjepqyleyen + - &host_zammad_ansible_pull_age_key age1sv7uhpnk9d3u3je9zzvlux0kd83f627aclpamnz2h3ksg599838qjgrvqs + - &host_ntfy_ansible_pull_age_key age1dkecypmfuj0tcm2cz8vnvq5drpu2ddhgnfkzxvscs7m4e79gpseqyhr9pg creation_rules: # group vars - path_regex: inventories/chaosknoten/group_vars/all.* @@ -43,6 +52,8 @@ creation_rules: key_groups: - pgp: *admin_gpg_keys + age: + - *host_keycloak_ansible_pull_age_key - path_regex: inventories/chaosknoten/host_vars/grafana.* key_groups: - pgp: @@ -53,10 +64,14 @@ creation_rules: key_groups: - pgp: *admin_gpg_keys + age: + - *host_pad_ansible_pull_age_key - path_regex: inventories/chaosknoten/host_vars/ccchoir.* key_groups: - pgp: *admin_gpg_keys + age: + - *host_ccchoir_ansible_pull_age_key - path_regex: inventories/chaosknoten/host_vars/pretalx.* key_groups: - pgp: @@ -73,6 +88,8 @@ creation_rules: key_groups: - pgp: *admin_gpg_keys + age: + - *host_tickets_ansible_pull_age_key - path_regex: inventories/chaosknoten/host_vars/onlyoffice.* key_groups: - pgp: @@ -83,10 +100,14 @@ creation_rules: key_groups: - pgp: *admin_gpg_keys + age: + - *host_zammad_ansible_pull_age_key - path_regex: inventories/chaosknoten/host_vars/ntfy.* key_groups: - pgp: *admin_gpg_keys + age: + - *host_ntfy_ansible_pull_age_key - path_regex: inventories/chaosknoten/host_vars/eh22-wiki.* key_groups: - pgp: @@ -111,6 +132,24 @@ creation_rules: *admin_gpg_keys age: - *host_renovate_ansible_pull_age_key + - path_regex: inventories/chaosknoten/host_vars/lists.* + key_groups: + - pgp: + *admin_gpg_keys + age: + - *host_lists_ansible_pull_age_key + - path_regex: inventories/chaosknoten/host_vars/mumble.* + key_groups: + - pgp: + *admin_gpg_keys + age: + - *host_mumble_ansible_pull_age_key + - path_regex: inventories/chaosknoten/host_vars/public-reverse-proxy.* + key_groups: + - pgp: + *admin_gpg_keys + age: + - *host_public_reverse_proxy_ansible_pull_age_key - path_regex: inventories/z9/host_vars/dooris.* key_groups: - pgp: diff --git a/inventories/chaosknoten/group_vars/all.sops.yaml b/inventories/chaosknoten/group_vars/all.sops.yaml index 7d03fab..ebc53b7 100644 --- a/inventories/chaosknoten/group_vars/all.sops.yaml +++ b/inventories/chaosknoten/group_vars/all.sops.yaml @@ -4,278 +4,359 @@ sops: - recipient: age1ss82zwqkj438re78355p886r89csqrrfmkfp8lrrf8v23nza492qza4ey3 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZQUlOQXBqVFBBaG4xUzZa - eHJGYmFtcXF3SU1BWVd0RFlPclVSNno3bm53CjhqU0tiVlZrRkFZZzY5Y3lteVRl - cFhrc0hnK2ZMckhINTE2US8zVGpmM1kKLS0tIFRQQk15ZWpDSTRYcWJ3Skl5NGVq - Q2xOVUY5Z3RDWURKelc5L3l5c01SRkUKcIQWKxeArlUYmyjkCAFP4WrDPXhPFB+E - 2AfHKmtxhwPvIHmP4WqgyguhsO5B93Gv07itg91p/COWPi4gWctuag== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1S0d6cnB5UGJEZlNKcEpD + NGQyYTNwS0E1TjZTbkdaNXlTVHFyendtT3g4Ck0xRkJhZHR2a1RJVDd3bUE5RTl6 + SVZrN0NIR2VKeTl6Qk9oTUd6VDdQYlEKLS0tIE82YXFoVkQ4bk1SRTU2YTZ0eVF4 + akdQTFBoY1B1aVZHSGw4bXJPZTd0MHMKnchC61XZk3cPfe7QjijW5uBlDkf2Sjc3 + /Spp+9cuf9jIJvFg+h3EY7CLAMVyAK59WnODM0HvQNhreXRg8CgK2g== -----END AGE ENCRYPTED FILE----- - recipient: age1gdfhx5hy829uqkw4nwjwlpvl7zqvljguzsnjv0dpwz5q5u7dtf6s90wndt enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBFcCtWbEc2WVVFMkdBRXVt - Sk1tOU9LbUQxdFowV01ZMURScTdZK3FQYXdBCkJYTk5YaW1ZUVhTQlFKMG1mQ3JP - NG85S1hMM0xtNE04KytuaXlVS3kwZkkKLS0tIGswKzNRV3A2SG1xZlVrYzR6dWhP - ODBUeG5YbEZVTWVqS21MbXlrdm9rZ2MKnTrgkEG93rNzWD+oYOUnvClFMlAVfveh - tgWcg6lPcYQQ1UbL8tMrR6QzN+JuaGPZGB2zIA4pvrkpfxPF315osw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSWW1ScXNWSEo3S1RpYitK + aEVsWklvS3Ryc2pqakpUc05mejIwWi9GaG1ZCk90UXdKVVZzdXBuTXowTURDekhM + NlJEbU5teThWaCs3R1ltUHBRMWVncGMKLS0tIGszeDJ0ekJIK2FYUW9Xdjcyc0Rl + Rlp0RXNhc1N5UXdmMG1NMkNoYkZZNkEK96GpdskKEXHK/ZQFSN+Y//wygKmnxP2b + ukFolURV7qlQVamWuDoUC/ToQtl3bU0jce/STQjGY67OwG5kecxEKw== -----END AGE ENCRYPTED FILE----- - recipient: age13nm6hfz66ce4wpn89fye05mag3l3h04etvz6wj7szm3vzrdlfupqhrp3fa enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBFMGxlR2VwUExnbU1tZXVO - TE9vWFJvWVp6M3lqRm9mMitMZjBhTndzMlhZCnBWcy9MRzdyQ0oxcGpuWTQ4RU5q - aDRZakFCNjNPY21uVXNJclcxYVA3Zm8KLS0tIFpZSkU2ckxCSUJxV1A3ZEpxQWVs - OFBUSWRZaVYwak1aZzR2azlKZytpZ1UKoszHXvyEHk8biC52z5PuFIH1tKQRohkZ - 60JvO9ieT2bs9+phgDY0xc/6FE/gGQYqgGQ+fLBd+x8MjesZvjVi/w== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBVYzlXY0FvUEtIa3BVTjUv + MzI3cE8vbVd6WWF3Q2J5RlRISW5kOU1XZEJjClFsS3VlbXZHVDlWMWZMUGwzdTFC + K0xpV3FjRGJmWThDbklNbFByLy9FTXcKLS0tIGpMYlM5S3dodTBhWDY0TjNkT0p4 + WWpCdVN4cjIwMCtRZXJCR0kvWmV2TDQKeAE9hmGim0wdG7AC9Ypk1/zAOvpWEc9w + B5j3MGmJiDV5vqZ6YDJ158fkB3s3XDIohaTP0XT5Y1zEDnn0ee62zA== -----END AGE ENCRYPTED FILE----- - recipient: age1jtusr294t8mzar2qy857v6s329ret9s353y4kuulxwnlyy4dvpjsvyl67m enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBFbzVCKzAzcnlmbDNmTHdT - YnFQZzNLZzZWRk8rU09UeDhvVXF0dTRiL0RBCjc3MjEwZTRXUzFkT3FsMG5jUXMv - TkZDTnpuVU93azVtaHIrTTBLaCtwTFkKLS0tIFNpZEpNZHhZTlBVamFibGQvVXM5 - dHluMGZUd0pHTURsbUNSOHVkcVJseU0KHKsHp2PDw/EPdKq2LLJdJ5S2aBoaLGEl - +EfDodl76SQ9XPo7deDgjfirBVjKLrUNu3j+7YMae026LLLGFbgtDQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA1cXdneDFCNUxZR2VYVXpo + RzhwNFZnYnhzOXBrTmQ5NlNhUThsbjA4ZENnCjRWVXpzb1lZcjNQeUVoY0lkZTRj + bVU1S2thNzg4T2UyaGFqdDlvLzRJVFEKLS0tIFBIMEIvaWtPU08vR1crSGxUSklx + Ujh3bDFVdktOOVdvbVNrRGEvM0ZiczgKDAvWbY515jRhcWEkZrNNmtBsSwchclVz + FvnQB3G8ZIxJliJCkOHrFokvRskCHt9KJNZogqPtGF9a5OWcKkWgNQ== -----END AGE ENCRYPTED FILE----- - recipient: age1a27euccw8j23wec76ls8vmzp7mntfcn4v8tkyegmg8alzfhk3suqwm6vgv enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBFSW0rWXNYVlRXOFlYRWdG - cUU4OFhSWFdDdXZUZjZXeEhGMFV5TEN1SldBCnZkc0k3dG1YSXBjRmhNY25RcW15 - SnkzZjZQU3VtTUk2NlA4YWNiQmhHMmcKLS0tIFpRQ1VQbmRwS3BiMjcySUV4OTB6 - YTZHZUNHbVBielZUclFVRzhOT3R6NEUKRVOqC/BVEk5JpsT6dIhkschJYl8rNJEf - QbDCfaokN2doW6+HUwz8hRgWpcjEUtxBktVucV66aEpgAHVkYj4D6g== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBvdkpuODFJZ2xPT3NOT3ZP + MmVuSkx1UmdwWVBEZzJQOUNodUpvUlJrSlNnCjJBT1AyNzZmNC9sZytNaGpEOUZT + Tmx3VkdRVGNHOGJkZzgrZmFmRFFFY3cKLS0tIDZONHQ3SUh1bXM0LytmYUVZSmRZ + VmEzUkRqdnUvc0s3SmRNcmpZRndvVUUKHRo25oFVNtzJlTqkQ03znzH+Ce8j2rgO + Bt/HQ2tJC/0PL67zjCr4oyxWs2RfSuswM6pGh3TXmSkUawzzyMAPTA== -----END AGE ENCRYPTED FILE----- - recipient: age133wy6sxhgx3kkwxecra6xf9ey2uhnvtjpgwawwfmpvz0jpd0s5dqe385u3 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0YUtBRmNDTGFsZHYzNzNo - aSt4bWUzaTIxOGZFeFMxY0FXNUZ0SXlzVUh3CnM1WW83am1nZlQrS2dYTTZNMDA5 - a0htcVY4TWFRcjlLWXE5eG1uODIxRjgKLS0tIDVKNVcrY2o2bDAzd1lTeHlVaEFW - TDZ1cGVlQkJmbm9XQlpuOHB0TUZrZUUKjnAyNmFzrkZGAczPwFuZcdH5667tjVvr - BigvqtvYOI0UnYq3uyUUPA+HkVZhzGuuQh74+i0XDGfjE3qcJclWRg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMd3dwQ290Q3JCclBPbS9X + S1pnNVU5YlJjZkkzTEtuWWhlcmh6cEtMZmd3Cis2MW5henJ0dWZwNnpTcy9ia3Uz + QThPMlpBN0lkZVI3d1RqQ1pGeDkwTVkKLS0tIElGYWR6QXdkTS91cGRQVUZPZWVE + aXNhWGFQWncybG5ycTF3bGUxUEdRYlEKXMlP+iC1L+lCeFB9rnyDE6tKMNiqFAQQ + lvQKLGvZVRMk7RNR/OWb2IsZNtK3yGAgqjGpb8UwZKjUwYwgBzkklQ== -----END AGE ENCRYPTED FILE----- - recipient: age1na0nh9ndnr9cxpnlvstrxskr4fxf4spnkw48ufl7m43f98y40y7shhnvgd enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWR2RDcnVHbklSMDNDUnNx - bWY0UUNGUW51WEZhT1ZUbTB6MjZHRUFFUjI0Cmt4MFRBQm93eDR6Q1dyTElWVlVV - OW9SMEcxRGJpOU1VTmUrRmhtaUVEZGsKLS0tIEY0U1hnb3gwZElUeFZxSE5xSlp3 - dENIYjZseDdwSmx5aUhTQnk5YWdrSVEK7ew9U2Hg1aajuQjRBgCreOQhIckv3n2J - 0IHi/p2td3PsUjmWg0ZoD/s1Qz9dIl6mrOoT/CouzIGRGY/Lgy9Hjg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0enhNVHF0eHZkTlB3bTZN + ZWJaVDc5TUkrSHFFTnJ0UE9hTEg0Tkt0OVNFClFCNTlsTUJlQ1MySkdFa2o0WGRB + VWUzbkxFTkxQMVBqTXJtNEVCb2ZPYW8KLS0tIDR6ZXdoOWNwbjdNcmtxS2FBd1Zx + dWVLVUlZWEh0UWRXTlhYV3ZTT01ZQXcKz/ughevubxHCk315eL6WV0JETo4tblck + t2b4h0kcDpFO6aPCHBSX69QOLJpBCBnKI8ZBlxgTdTDLFlScG/8HRw== -----END AGE ENCRYPTED FILE----- - recipient: age1sqs05anv4acculyap35e6vehdxw3g6ycwnvh6hsuv8u33re984zsnqfvqv enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBnSUFTeGI5c2RXR3g5ZkVj - U0l3aEh1R1BTRjFDR2oxd1JpL2Zvd3Rud1RzCjMzaGlsb2RqQ0ZET1dCc2ZSbm82 - VzhUMHlMMWJ1S0xBUXl2TldNU3RrUUUKLS0tIHlpbjd4bldnSlNXajJEMTlMWUQv - ZkZsWU03QXp1VjRhU1RZS1JMN1VkV3cKn4jmTxx7FVvYhWDPTWnDgsnTLgx/8rc4 - qxs7v7HwP041TgcoQVsmiStPsTOzVIFGXQQWVvM9JXDPOh4IjuFMAA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA5MGlobGt4MG5YbXhYVWM5 + SDlraHdnR0srZDF2T1FicVFGR3IvNzBhMkVFCm9Nc1JnZ2toOGUzbDZ6cTRTajc3 + SVk0U2JlSStWQXFYY3htOTh2Uy80aDQKLS0tIHRkRkNwb1Q5dTZ5cDVoVXIwcmVi + MXBDdzdWZi84OXRRMUt2Mnh5QStLZWcKR/1GROkmyQWyY2GcZGplX8vYqHoeqvvX + ioWRF+QaK3GpgHOaSFybFt3r8wfeILbQ7zMs9qMARTg0kVMVvE/8pA== -----END AGE ENCRYPTED FILE----- - recipient: age18qam683rva3ee3wgue7r0ey4ws4jttz4a4dpe3q8kq8lmrp97ezq2cns8d enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBOS1dGVXlqUk1YbUE1LzFZ - cjRyQXhtdktXWXdRcHdGMjhtby9rQ3dnS1RBCnpWU2g1ejJtZ0NLVUdKWFZhLzFi - ZjFpamhPcG1jREF6QytEZzRoc3Zxb0kKLS0tIDNYbnVJaDBWYmg4NEpBNFRBWmFU - djhhY1ZIV3B4T3g0Qkk0QW1jVzkxTUEK3PajUGq6nMEPNVR9JakRy9hsLidG4T6o - peDXUm3hT0srQmK5I9JFdBZ8UNvNe7CgB0RfKzQpLB//3ehPNB8Ncw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSByeGV1VTA3R0FsMkdKYWo5 + K0VFK3VFR3Z5bmdmS2QzR0hRTWRvOEFEclgwCm9MQUZQSjZqVXJVQ3FoUTMzWjU4 + Q0luVDE0RUhUNmZGSlZXYWEwNHprS2cKLS0tIHBRQnZibGkrUmU3OHNHVjcvelVF + UEtad0g0T1JZRFYxUnpiblNIV0VybE0KVCw68UXleN43Qi/MSFpyGjrbwZS/EtWw + tbfZMPLalJ52pv4cxT4nrPfipoUyX7tHxEEd2f1SDzt5RUk0TO7ojA== + -----END AGE ENCRYPTED FILE----- + - recipient: age19rg2cuj9smv8nzxmr03azfqe69edhep53dep6kvh83paf08zv58sntm0fg + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB4QXVVSlZ2QXA5NWN6Zllh + REQ3UE05eWkrUHdyL3FRUHJMTkE3QWtwbENnClBGdnFhT3NzWEJKM0YzT3RpS2FY + cnNaczRIRUEzSDgxejNjbTdoaERiRkEKLS0tIEdOOHdISkF0YnNpcFNKekVLYWVN + allIenQ4OFoyaEdCK1YrM0tpM0FHRjAKwrOJS9RGCHS7lcPX+eufZnEjaIvO3f73 + RWThSP0d2iy/vul18hdLF8PqKE2Hy0j6lvs9qhvwI1EQa53zHAWRDg== + -----END AGE ENCRYPTED FILE----- + - recipient: age16znyzvquuy8467gg27mdwdt8k6kcu3fjrvfm6gnl4nmqp8tuvqaspqgcet + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwYmNHaUcvMitRcklkbkU3 + VDRyQnhhak82d2I4MnRKMk1qdTU3bDRzdlUwCnBzSEJHZmRTazZ3Rktmc2FKaXJC + cnJiMU9oUW03Q3dlbGtTZWNtZXZqZk0KLS0tIHVTNU1QU2dRQ3JMclhqQjN1VjBK + dHgrU2EyT0FHUng2L0R6dFFZSU1kU1UK2x72pMCRGCz/cyekHrTY/vXhxACPGjYn + PxEXKoi70Dq9ox3ggknmE6JLZqMvFoudLoE2GAzvimFomYWb4e3NmQ== + -----END AGE ENCRYPTED FILE----- + - recipient: age1azkgwrcwqhc6flj7gturptpl2uvay6pd94cam4t6yuk2n4wlnsqsj38hca + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSArMVhJOFh6TTg5RFkybnBy + T3ozZ2MvZ2lCVFBvWW1jRElmNFBIUU05MkdjCnZZR0FjUUJlQXR1bnBGU3NPc2t2 + a3hKVzJZbzNWMkd3dENMUzQ3bk14YTQKLS0tIG5kSEdYS3dLcXdlOXBmWTVzNDFt + ekdmK0Zid3A0aUNHUHhmeHp2NHFZMlEKb6116XqAHYMl7P4RFRcz0IlZfx1/buby + V8y9TiECFZfWhuY3XaES99wjPw06nGszn/U29C1XtZZ0pc5Soc3dxw== + -----END AGE ENCRYPTED FILE----- + - recipient: age17x20h3m6wgfhereusc224u95ac8aj68fzlkkj5ptvs9c5vlz3usqdu7crq + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBhMVZWQlRZVnY2ZnZweW0x + VmswdHpRUjVrNytaS2lZNHdsYXM3WHVCVGlNCmJ0ME9LYjFWTkVrZ1QwOHdtempG + dEJ4NGpPcHZabGxJdFJNNStxTm9nREEKLS0tIFB5NkZnZTZjL29YRlZVZEJJOHNu + ejRmc0V5RzVwY3BtVGpIY3lqVGt3SGMKvSFU/FZw3CeOrkbVKqz9Nsfmw/DU/obE + 6bIs15L7m9hOzqj8PeQYv09NO83WCfYj4cjh+Jsdtlvtz8Fz7yt2eA== + -----END AGE ENCRYPTED FILE----- + - recipient: age1wnympe3x8ce8hk87cymmt6wvccs4aes5rhhs44hq0s529v5z4g5sfyphwx + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQUVhSY2JnZUFjS1lySGlC + MUdVdTF1S2xLdDlVODk3Qm1FZ0RxQTdkQ3pnCmFPYVg1dDN0amtoOUdKQWFRNVJS + ZkhCM3VFbUc5RHJHS1ZJbit1N05OLzgKLS0tIEhCMmRFN3hLNDFlTkpzUWYvR2R3 + Y0RZSHZrbnJ1SEc3aCszeG5tTkNvNlEK4pUz8bk/tDKYIxu6dCG/DTk8OtTTYJaL + qKNNZ1COhPtVTCHaIbRSPWu8MqFy9+9nf7Hoc9fEE8aM+Yohs4sySw== + -----END AGE ENCRYPTED FILE----- + - recipient: age172pk7lyc6p4ewy0f2h6pau5d5sz6z8cq66hm4u4tpzx3an496a2sljx7x5 + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaUERGWmwvRW5tQzJleExq + VXhmQ0dkMFJuWEwzbHlGMTNudE9UbUwrNEc0CmdMK0hCb0h3NjRuSVZRNEFwYlVl + L3VnTnpad2tJL0dCamVrT082ZmUxWUEKLS0tIGJFbG5ZU0Q2b0xQNFNjT3NBTE9I + Z2MwSm95Vy9XUDkrWDZMZUEvY3VHcDQKJanzV+qzgfuBpNzHLl2DS1GvXLV+UEKa + wD/2s/EkL4RR4F9mV/9+1vwFTNw6Lc8T8ezzxl3/Iu+VpziFgx8ypg== + -----END AGE ENCRYPTED FILE----- + - recipient: age1p7pxgq5kwcpdkhkh3qq4pvnltrdk4gwf60hdhv8ka0mdxmgnjepqyleyen + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHVXdkSHNOSHZmZ3pLWC9B + emc2S0NpenVZSW5GMWZha2ovS1VsbGs5OGhBCmZIWDBDaGVYMDhHRDR0bFgzbDN1 + MlBnOW43Ky9PV0VwZ3VlekJPa2xwMTAKLS0tIGNEVUVkbWIwVmFzaS9vdGhPU2s4 + a09LaU05VnVBa3ZGcUNMdFFZRXdaYkkKp1TYQXMSlZoGWgfSK9s4WXFu9xG7VFXP + 3O+FYTXTRTVVnZCPE5V0P0/v3H/BRgdbM2yuIiXTtmz69J8DNjFaNA== + -----END AGE ENCRYPTED FILE----- + - recipient: age1sv7uhpnk9d3u3je9zzvlux0kd83f627aclpamnz2h3ksg599838qjgrvqs + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtcUJ3cTNUZGp6Q29wTEgx + UjQ1RU1uSHREVEhwZGtmbUV0azJEQmtGbG1jCkQxbGZhSmRXTE1uUURaSUhZTlNF + U2loMmR5ZExXS2Y4eTBybGFsNFp0WGsKLS0tIHJjRDhDelB5N1BvbHFydW84ak1Z + YndpUERJbDJSZlBLQWdnVXpUU3dLdUEKQYddtnDd4U7bkjBeMnCQuYVddCCApnzQ + L/LgjBXfUav5ipWWUjW/loZJiHBsxrG5NkCYEyf72WMyDusd8mCN+A== + -----END AGE ENCRYPTED FILE----- + - recipient: age1dkecypmfuj0tcm2cz8vnvq5drpu2ddhgnfkzxvscs7m4e79gpseqyhr9pg + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBOei9SYzNGMjAyUVJGYlJy + QlFBVnV0cDN1TmI4VEt3aGNtbWtvZHJFcXg0CkltM1V4UVp1THFrZEswOEZUUTJy + WVVPUDU2emNabFBDek9jMkhScUh4cjQKLS0tIGgrSytmcTZkbTJuUVE3Snp2RERn + SnUrSUlvMXhnY3JrbER0TkxBcGJucmsKdBDkRY5FUtOo8zQ0QtfPFGJn0O2Fg5xn + mSloxLaFwdXAR9L1QfUdsW+9Vgez4s5bxMJtn8hkwqIfyJc25FEEcA== -----END AGE ENCRYPTED FILE----- lastmodified: "2025-10-13T23:45:06Z" mac: ENC[AES256_GCM,data:QxH4lnNyCAAEJhzbgCrq7QeLs+OAtYgwQP4oFm93NE4Fbz7/Hz2dvL/2SopOdW7nYVeb1scuG1ra+yvgzuQDhg4lcgt9eBJoBiynM3qiHBs+FtcSJoKs16I/ACAadQwClALb4E0xxwKFJI8ewMZu5BAxi5EhYbgNfnKCIbhvgWo=,iv:LRa2vX0HUBugeEAVeOqXbPsMQrfrCpyzGUGjK6+VaQc=,tag:/sfhJM8V1IYBh94ZS/TDxQ==,type:str] pgp: - - created_at: "2025-10-17T14:04:38Z" + - created_at: "2025-10-20T19:03:07Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//UEyATvRK+UweQ8kry3E6QuFUEUY/SS4RhD191RRg/lZ7 - jY6JNBTm6qpFfSUZCUid69frtqMoyRUc0qqnbFmJiparvpw+4aNiuYNlddHvC87q - wuGLPKs73lRXzQFTQAut7n9UQh2dZ1P8LZHPxnEji+PmHpbn5UolkxJ1YSRjznOs - 1XQWZDPxPbmjFTFpOe4GN6I+7SVq2tns0O31l63q4Ln0CIxuZETBG5a0Qqw2NrkK - WNmZsXUQGn9C+cUCC+GjkGtSrlUDYmDfz39mLVygQ/fqIkdLoz36cykYMfePAuBn - 5e9aYpxsvDMcthT1mqnl/ZtIrY4qJxo5NvewWT+Y/WZaa9xKBTtL0TUUNYM5HBmo - HF72SkY7QYR94iZL4Y3OZUo0LXSZWrP0/aOgaI1cuDVqkTLxqBTY/+o9kdwIIuvl - z4iyGtemOCBiTOdjKYQ8bR/Ptb0zpTwxBEnZWFrMiSRtGG9HJpMkqIUHTej30ZIM - G19JxVB3CKiL1+pN19D9qj8oIiwsveL8BFIG63Z62T/goUOehB/26LQm7cP/EI3x - buC0qlH5ylH8QFPuj83k9MnaLTvvwaGq6bns0Yp/sM7B4bg6H43ZfNv7toO8p0LJ - XWduABR2ij6You6aYdU1XtezgGLZPTOTxeDfrPcH/4ElDlQ82gKObgeusMDmeejS - XgEtLfRgcUxrVqhB11lOW6B858SZ+36oXig7l1C0JiaQeDAGsF0DXQ6t9ouCN23m - y4kFjiGj2BuxgvuvK6sStSlEfwRGFMAguF0umxmHuS2kXvPp2TDW7W9eMOHfVYk= - =6wn8 + hQIMAxK/JaB2/SdtAQ//QVwiv+sO4ibaxO8UMPFnMnLuNfaTJ+Nry109XkTwLkvp + +6I2TW9nAhL+M6cWBcWTJIm8Q9/EAKu0jFrmsmlJg1g7am2DcARoyDTXA2W7RM8x + kSshBHJxCjQn15cwWpMcGboKJDnn5uGqfdf1rbFLiJxWlFlIstO8Bia9YF2qSYXe + z/w5PQot7GDKa9AFC77I/I0k6hJduVX3jC88N0GZZO7oz017yit24QyOwTSaQtmO + J0NgoyC6uN50buRJ6cXbONwU1rOGYvMBc+I7mZrEBho8RbQObkNy8ndQpDbpMqSy + /FVECVfhAo1KOGsTSS/i8z+maBcFNnia2+hbOZTpq1gCJ7sgE/pJG9CKWltD8U0G + DkgO086x2xuuXGAksJpeiRelbjM4C3ScvFuQu0p+pbsG+0f2pNnkCm3Fi9zFYpqo + xzlOKxwwcBRpy76jWIQbVRodnaN8thinT/ySIfuIisfn8TgM6O0IA83jJEMy/CBc + QGwWiLFWOED864OOV4kFTBO2rGAi0rLPBoAfWPCpP/z5vpRHICCg35i+Y/Mg9tDJ + ToFbH/Q8ZpWaN3kM2J6wNKY58/AoVutODbJkC3ZydLA+m++fKsD122Sk4er335Ev + MH2txLTAcBXq6CAUTIYvEb1vSurIxh4vbgC1lN/Sg/b1p5IWKYmOx3onq0kUa7PS + XgFmbb6fq6VVS8GOD4bMCDheVGAwYG1z/1utYoiLcuyp3YKAWtwGB3WdawglzRWt + ceLfKBRuHl+CnMyMjdTNcRq9ATpupHPniCaoYMRpNy7GuLGHXgRybqxnqSySj0E= + =68mZ -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2025-10-17T14:04:38Z" + - created_at: "2025-10-20T19:03:07Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA6EyPtWBEI+2AQ/+KBsPTPyAM4uscfXcI/nlYSEMFm/qrA17p2ioVKTQbKLn - qxn/5cE8L8FKP+XGy6ZG2HDMsbK1cLhfIixSi/ojRrXTsKIj/fUEc9KiZB/bNO9+ - WziC2lmhQh2Q5B/5zGM2yacr4BBqLfcmB99KRnVOKA3LpXUqxBfAca3MRpwVi5Jk - cANNq1T7+JjmPNlAPw6wgQ4zqz6wfqhBTzrDw+gZPAFV0DIXTY1a0SWawiIYi0BI - kVwOTPp4/5G+8qsfFgu14HeJZmA3K/owcjLOnM13zz+UkcFPV+hHtxX21V97QfaJ - hTwQ25ZGWZmAUHl3m1swZcxZIf9VhlfIzA+DRMwECfkLr7ktByRlQ3qeIwzg2SP3 - VMy1Fi2zhVFWlx29cdtGha6RybdhZdpUflXA5eGg4L1FrhPCQ6nlhd8YHvTRipof - K+ihskdrXmFrXkKV5ZEOplVFoQjY1LiGaST6yK+iJtkocB6lZ9P7IByi1aj9ipTk - 5nYVBtQ6t/RqqgoDVkukJbFL2aIxu6Pq9Xn5w+Rjl8duzCfv/JjeYkpiB7hLe+lk - MWZUoITOK0J8uiTjqU1VFdMNsULb1pzXtx+kES/AueRX8Ifpal21EtQJC21YJ0Gl - KwMlrvEq38EibVYxi1C5gzXGgLwjUt/ZoKvh5vchYjrgJWfg299xsoH3kstEdvbS - XgFjPe7ed7TCerpLF3Nc/IAL39QcmqPGGQ27GjXxLzBV9vB7wszPUFFz+dVeCYIG - 9PWK3W6AZdOojef5vXrQUi1xP7Y7FbfiEieaoQMgarM6naXTOgxbiE1jT5+dwgg= - =W7Go + hQIMA6EyPtWBEI+2ARAAgWVVIYSzPJeeRYdO7SHudkxO1miNVhEaTa6ArJXhvj9X + f7Onb+kPRJ2H45O06+k4QUBN//Jl2wsAayHGvGKb9NmlO1wT8cd8yAe4AllebcTA + FGBhWpgD1f8RNyhU6s9YQEmUMFFuze3Frkf5pF36KmSO9Kb0yXNgQebURbUKIwt7 + W6KVBdlh9+y/8liH78X+QXFMneb8RA50mFvkSp4NxPyHGLV/S74jKaMv28q70ukC + 3ExtiLu22ACzA3jdn+BGTh/0bp/WRRYEt1TBmt3HFnVcKDkdgxOub2cwYug6YeYt + dvA61xnK0mmkt39WfR3wFtmrnMQywJn0r9cRZZwdjfuuKzWmkDGKoaiX4oXcq8hl + GJsljraNnRdSZsYCWKeQwM9VnQdTumZZpeyzH99AgbPanNEocLNG3s3WB1MOTBMC + SdktojCvHSKg2HBykxApLY1wUOLiYdVGNuTjNyTg8lo8IlNgeEEIa/8MxtPN1U57 + GDPXDvE9oJy3SvP7Tf0j4KVC7B30UYhb/jwqsG2wzjGKw3JMYucDX2JjgoTEXFxj + YqGDr+4/Vfd8bEadcQ8XJnoeCr/cUykflqO7EJnXt7kigQ8P5Jo+Vwu7oRFFlxRW + H9YZV0dOeVi3ux5Tw8ft5BRtYym7k0GP5ypQFzSSTeTTUa6QnZMWPssHMHQ+8xbS + XgEARDjMMwp6cl8adFfGJnuQmTC8pGCzOPLEhPY00t3Paz/WYvEwhioS6Lz2IsrF + QMgw8d2RrOZPJAAv9wq2ztTKk07aFxrQ8WYT9gscYPEgIpPmMUFR4nJ/fzSeiZ0= + =1N3o -----END PGP MESSAGE----- fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC - - created_at: "2025-10-17T14:04:38Z" + - created_at: "2025-10-20T19:03:07Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ//Wx1ah5iT2e8EQb3j6PvFpbdQHoXCKeFNsAGg0MSWoJrU - PfawJfqYSD09G9H+Segq5HmZk4mQl9yz7WBrGxZU+jGxpMjXTLZfaiK3Ond50K6a - ve+XyqaFWSJdjGmfeqMvY3U080fQgeT8JWHD3vDiu8SzuRcpF+Fhzl7khB4g9SD0 - LqBVoWaPmAxwpZg/f7jfEhozdn/HyeFH8jQciSdiqYMd/BTmSmN2v20b9XBcjDwN - CaK0fcmUxL+wZC3CjBteMhM5J3ftS+cKxZ8v5vQLXP7e0/hfcgPYBY1urYPo8rYc - cYqwqaCiWu7qxBwwtI/xSv2P3Hf/qXcYWhvO4V7dAeM8KbEbce6zPq/KNw4YMwNU - gYZHMf40M91G++mbjphXv0sHLhzBHtD0P7WkC67fNHqDLtZv10wt31wa4wbY6+J4 - g4+YUZCDI+pgsUPKb4r24YIm5RREwYqsdvKXcdytGlsTYlNciI4KHtNDAg7Z4SY6 - zZaY+mDbF4bYkY59PhbyQqqDZQWIrMMp6RA1HNtWpYCBAGANy9F/NuPMNHf3MAr3 - FTpxshubpQRCzURbt+g8OyQvzUTInEy7PC4eukqO+g6T8PWXyBQn2apq/pBfv1b7 - K9vh9tEXW70xKHub82/wbP7Fdcx97uk22l+ewGttm/7Bjo9v6MC1ti7Y2J4cvePS - XgHYSb1N/bx5A/QXGUca85B0FiO5GsbJ//UeM3TB+3/ytdXcV4rtRTyR3/Z/ft4W - q7UsiLxyKjG65rYZ5qlbDWsQdsm7F8s52+N+goiuGouNBTI9uXWhmmr3GYi2vo8= - =wcmD + hQIMAz5uSgHG2iMJARAAl+0vmB2+PBg2aAZHZ1Fa9r/4zByhvLrjZ+5yWWcyf7fS + T/1Q2VbnDFvUwsEdbDs2RJYVejGxs5cyIge2ptn/9rnp1aMTu+FG1uQrY3lhGP6L + vpyDZWa2e1+bapttkrBBe79TZGZ4ABv+FCqHqWiH2HJ3V6ELXaooNhTrtlURCDqT + Cqgs8gH1qdVgISI9kvsxS8uGa58assuM/WW2+jATIoxBzUG9iHTugr75HWJw8xb7 + R4Xbtfpev5exXicbbAvO8b3scnBU3Y1OUERo7xPxxskVSCu8q2gDtyeckOY9SN0i + V4sr+bUBfvPChlfoIq9kifZPo4Pv2yP8EhH6D5pVRqO/aiBYr9l0XtxDaHB+d1Dj + Q2f7azUuM5MDRotUM8mhn09hd61haag4R6dVAOq3mL9rxXLj8sdHS4A4ufkjn+dc + PI/Q93gL+sFy9N0wgCvHZEhY1QoKssSBCu03q2ZVlLFuYfcXWEIQU3XpbzyCmAA6 + VkCvwXEA8xRs2ClrBpMOj7wRKzYoS3ATc3nFx0XL5pL74rUE68yiRlsZLccRB+9/ + nJSY72QzR9FFUhFFv0/DxUFs4OVCUzLwQVVUT+Wi8EZen0aY4zFG1u59F6E03Pre + wC9TIxDCR5MY6/SGgYPep5qheeYVdXw7a0TQWrwXpaTPSj7tm2FFQES5DRkVNN3S + XgEMoELXGpBjzixYKSsQ0/yT5qX9v7vjrZ/a3EuXtkdh7MAfMbRV+YDl2hlN9IJM + vpAo/V/vH1AyWqBL0oQ00xZzNvxi4RiPk0KPZg2zH1C4aokELI7i8D4Dz3L83Tc= + =LofD -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2025-10-17T14:04:38Z" + - created_at: "2025-10-20T19:03:07Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ/7B1ejBCLSah4L3HLc1k2lGM14a0n36e1CSobC8CxpyiW3 - 9urCBEWQLdhO+eZW2ZAhIp38VchwOlcq91X19f+w3iVdGfk+ULFZ/1tpdQBntXMp - Ky59J4Ba6ipzP9e1SUdwP0md05kVZmmB0MAsum/mp2jgJWkGRZTQxgwjv5V8EDY1 - LepzeIVMNO638VUY92sR1Kv4RU68gdb2BQ+cQGcQuwiZ2qNW9XrCPf5Zm2i+Q87g - 7XPnjVsdEIqtXpg6Y9ASYE/DwFOwR6iWlHdpltPNL5cupC3mibF7i8n//GLjpmAl - WuM01oXK9FFzCFWQBxbE7h6uSHnzqrIURK6hHmhyhoYdT0C9atkSfFxab1bN0RaQ - 5PDMWJGKbvoZmGHy/gI3TZL/qMYP1SItDqptD5rMu1CASwwENw2QpPbEAT9A7mEV - 0Mkw4d0AxH3cHAHXCIkrPudLiK8DxkMQOQR7i5QWYBk5AYh0WwUztM2zTHWDsxx+ - ZPhxOS1S88BR68du6bziaYQhNAglXgpRoYNaIhlNsYSFoh2ReXAwdjD1RlfMjrqD - LUto16cH2L//7wiU9TYc8/nT9smZKddLEunH1XYgzn3n2cC33s26likYlWm07WIw - zdHTnVmmf4tC/HKZWX0KGzA9ZW5B7M9KWOgF2GG1RfVPq44hAORc/+Nngm9TaDnS - XgGex5pePKFP6qoUpqODBFmA6F6GtdkXX0vYEzBnRks83OZ0tV5yTN+1NXNEX6Z/ - e5zP2yOHWLVSj6cDkdmdF4VYmZ5Eae/yVn1dPOW7O6cU54eMZMrHQEFAGMTSdDk= - =D8SD + hQIMAw5vwmoEJHQ1AQ/+Pr/ATDoZJGDuIOTI2RgXFefWN0/iz3KeI8n/8F9/1vkY + 1G/Bs0X9NkuzT6A/oIjBDa3630DMMvfdbY5Gclqrdwobft9dqhP05naf7BujX2DY + oL2SbTnfB06NUPiSsZ9aE/2yyzvnZjAxRczXZCi9DmhBhaXicILiJpJMUReldGtB + zbGtRzMUojwXqc1Fi52mXvn8XVTgrD//jX1IOUnpXmaFKa7zJCHe7Qfl0P7LMCw/ + vTDAXSazVFqvgyASPPHgVFw9oFdJ9Na02ML4jynRnIIra9WoBe+9+aPoaNG5WePP + Lqxmaj3uz5Uh2S4Lr8Qr+n7swjPUlYkZKSRY0WDfhoi+aCC1ejtysZaAwH32+CQA + sbnh4m+/qnEiNZlgy2vS/6yQKMAQ6HnLkBfkXYTseI4egVw2X7byMFpmAlqo1pwl + kr4cKaYGYDBT7/fDDrB8AAdXUq+guABm+8UO4GHvvSCzWY+8ie2/wrTSB4O9rLnQ + WQABESou4c/w2hKordim25w1UWWPhiX6TdumBjtep/SPNMrVNShn8s+G8uh+eAwQ + blNH7H6EwHW1b7gvSmKrlczW5/TXsi5URl+cuel0C5/ckdWej+jIIbfCPd+D3BbH + pFkQWZR0vFpvUZcUfU5kSTUz8N6jh/nGvOuOKZ07645ZFAKHjxE1JqjhqcJEqDDS + XgFphkUBFPhmz2FJdIQvfkyl6/CCj+MUfNLsB1hZAd4GRxcBPFyLB1rAkB0kV1QY + RdIXX5ahmk6JmtkwJsO+m5aAWu0ft5xpsX3jJKqAyoVWcRO/3kER8b1K9IL57nA= + =I4Bv -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2025-10-17T14:04:38Z" + - created_at: "2025-10-20T19:03:07Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAqehQr+4rn7euL6byk0MrNoU0bf7bZEW2iH8Uvl18aXsw - yHLEM8oheYIQ9ZokI6pKkOLS3ZegJol4D4LZzjV0yYQw/64tbUMiz1+ypgssZ4G1 - 0l4BAYazCYdM0RbKqJnRGm8q7fpbo6Y0gVLGdhb/gd94PxhpNl+jfxwETma8z6Pe - aG2fBaKlZYiGRnz0RGtFXvgjFK0w5DsdtHftBSHA64MSQp5hRjjv4udNuRhYTJNT - =3wwp + hF4DerEtaFuTeewSAQdA3oIk2sfUn8ZzJf8T1xFQ/gSWqIoOXZvpAf8R88A5+2ow + kM6YFiCCShgt2qGZi1k9xNxoRO1aRmSdEqdwMHAwpFRtEr+tOcE1pq0o1HQUzqqR + 0l4BUDcJXeyrY44ufOXKRVd9J9LuwSf0GHfvSzGxCfFGQVKAtRx69TUwyo25Xwdb + mN/mmVecb+atPqdB5uMSvsMC2Tw+F313Y+uvgjK6B54iK9wjTiudD1TvzrTeaOPY + =QmFT -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2025-10-17T14:04:38Z" + - created_at: "2025-10-20T19:03:07Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//edN00LiyIdt3X35vF5KNcHlWYUL5iYqxzi9VnaAxiYI3 - dr2Cp4xROIcNEZbNL99COiNm/fJ2+vCY3qJh3d+4TYBSA8ubJT/HDlQmNNb/Ra36 - GCEjJ8bF7Fwz48Tl0jtPA/BCLs8RmF8Q1uQixGBRNPq2e7wzadl13qC2KKQMPH9m - IS8YOnX0Pr9TqEvYR9BA8jx5+41buZczzlb/GzYnYXwO4n3uVn0zDRLqYlqfFYso - epJ+GH/g1YHJeNLMfQ0DsQLL4zDOTHpCX6kIqKDdKExi1aR2u3fPHNrGcKrkOgo6 - tc5XuWPoMe8UYg2OKnX1YYXkvhQ0lSPirHSPm/tbK+XWPIELL47esTgOMx+D/LVw - NSvGl6VZN6bCHazNp4I90EUokwUrX+RVsZ7BtPDRoP1Kbb31hYKg71LVqpbmRrRt - lxkqGR378bx22nlFBMaxhPaJGGVZ5fgrZzWiXxHjTp44CdX1Pe4VbTqYtVHzc6bq - hC+E4M5d12i+duP6PbzwO/xzN/6+IUGu/pR6vYWVKBITX1p94emMZ/4Wbu48L1ae - UUbZfHSUBIzJkIwft/AUjhGP8DESesZi2sO8lmVWQoBtdRR27X7oRAoler4eFpGB - pAfHYxHm0Cq/GcuWUnG32nfhHKJsl1ZC6xIS6dXJDPaqfa5aPfo9v6yGx++2ixnS - XgHHxv7R9I8bLyLearP9tdU47oJMvWcykNbJxEo0ay8MpsRtKxO5KTWolKonWjpu - 7Soa5Rrnw9lJww9e8TGlYmhEMw6R7nCsJzUduy9BA06PYDj7cvV+oIpM9Jq8Ldg= - =s7wE + hQIMAxjNhCKPP69fAQ//QqFgN/hbCgpEB/KyJ+5uc8Nmi1FLWFBEPhnstvIlGx34 + rPkmO+mLxa39ikwNg2bAwFxDRdwFREj/5lcdEPaKMgyxNxngS4PSs7TtHroNvyXk + jEsNsyanhaajctcBJNSEcDWNFItTn2gLGmHOuribULXBdixI3sXCjrrDKceNs5YS + XUIw4SIl4NS2nCUQcFlMqVlKOiw5d5aNfPND0UzFI2CFGo1740F/G9wugOIzsLwP + C69o2JZDmsvs7rwgfWYbS5prxD0hHzXrjuHnONyPD9NdtIRVU0jDEPrcmxJfbj4D + nzkTqeEyNmcIGnVhCCM0ysk54e/VxI6Xl3upp8qgz21h0vBu88liJFeQo+uegNsa + ozLyvzsFSdbxbIzcqnXxMurWIoDZW59d0AsitmACez1PFHXmC4KEH28bxFNek0/u + hpxFiPRvr4hxPouCTSx1pP7HnDGUfJtNOu4BLigO9hjU2K628WBkZt95L4wprBIm + kgt/st3Bk96EC6bWLtn4n6Zb6l7+mdv+6qg1XBzbLFDxcu+L62qtd4j7BjI3ckGY + hO5tkGroSyRdOkqw9IJ7KoDyk90IE4Q0xy/XM5dqAXQz59sPhIOPBxje1FursyaV + RY7tZARigq/JEWwwTLlbOYPd3XGdbw6N5LfDZoXe2Lz+isHsxL2cAqJ+wgYgfb3S + XgEIk9UCAztF21PD6IC4E4OkK1ARhpwIGwdluazSGzYeTqKEB2g7N9iowAlp+bcG + aZ2DU/R6XYdU5jch6fiU0zz421Li5gngNwg3FOVdZzhdrSiWdjRUFCJEbituyvs= + =Msjh -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2025-10-17T14:04:38Z" + - created_at: "2025-10-20T19:03:07Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//ZqqiF6f5irgJuDwGkjKbbCVYOMcmW9sW6aD/I5XTl0Tz - WfNFLWjezxJpwFdSeYa8ioYsAdGx+zXiXfQs5pKozC3a8pEa6Ck6jMiPBQpOrDgg - CkchMA+D6FjQXkVbc+1xkeI0mON3JRPVasAsScLOEMzGjFogKqtVxQOYhjcdleuG - ytim51IPPzOPZLAM+BMBDfZqwdHhd47onTNxI14kMlGH1JyBRapEsLmOD9VmLFQ/ - jfPMsxkFYFU/xO9TejBEqlZwWT6LsdaDZzewSUyIhVlkuJNeEafnC6qpI9lCjcti - gFqfCotO+mnKxNjJ+FArJTY+D9Zlh32yzaRtOMRqhfllFzkxd7roIGZR/8aZV0n5 - iPjpH2x2B3bW4Fb/CLvPYjGAMYO1nHdF7+FWsJey2bceF4c2hSgHWvDltaV0HEFh - dEG3dtHq8UHT2ycHPJb2DHQ3q5APapsqmXi9c+0weu4pNgYSvnLPqA6R972uTb/h - Yc1VHOKTQHKXPF99nci8ggdLVL5XIeWbQ4ZcyNrGFBNmHWHkwPSZ+ILfpAUSIrG3 - hWcofNTRIRoJqKSXwc2BAONlrzR2CKSdKmt0tbU+rEQGMYF5O/2JmmjxUBpSe9BC - kvqXflq9nbv0e1DlcmepTK2Y3QabvaRL5edy2j3Pe270W1XRJUZZxlVD68eYofDS - XgE1QvaSE3CMxm2pvVm96VM0e2dr+tRPcPk907Ps/EibQsS5GQcXLGVdr+KDS1Be - cJvXQ+iob86IRtUzPYduSkt6mt45xGId4L3gSLF9+MTbXpf7JHG6AxE3BBZpnUo= - =5nps + hQIMA1Hthzn+T1OoARAAlYlRUFLenIg5rQuMsq6Qd/3V1L+EomZcDTeVWUlvNBhJ + wdh58x2OqaXRbujPT7ekJY1xDg3S541yG+7al5eR3Sv4zcE5ZgNoM/rY/Ik4hnWr + 03+a/jIRQxoFeIVKAhAMcj9hxjBUCaQeNwvfYRrkWRC2fKAe9X26oTRlk0oEobMI + 5EZTi558D8ZVxIlK+LCBk5jGFepGkts0FlPjzH0+S43FLtFOqRVV5UGGahbUZ6aq + mF8ULy6+V0LxIqOaDYRwfUhX+BvPdCiBRf14yhkMIWKDpDa3lVuKWAzSF/CKk2z6 + lO12dlpI3+50zwEuG5hyei0UlMPV9rR7nLL4kG7cjIaJKCeXtbgt6Qf9Ml3uAF+t + xBjsQmnPstsBJZlj3cBlo+U6RKktkfeiU2Fg2OGUxf+iER6rBfGwBiPLME6RPiXc + 26RiEMMyIMqzgaM+2I0GL/cMEcsYj3OR/Q3q34EIFFTQXjz7dsWFjuRIELg3lxB2 + hNJfn8JnDYsP/yw7GMZM9TQCHOcLL2+vzh/GhIy6kBEeI6DSbnMR92REezSUclHi + g1292f8mDidAmb7aVFkMPnVkTFrriKiXDMO7Lh6qkIWmnGfcecsLONGif2olW9e4 + /PZb4d44UrHdG7FIn+iuTqWcwkIY0AuOZg0eDa6qi0pcePPG1IaGnF34R8amkYHS + XgFP1eurU9GajS2HDU5Ghd4KMFncCiibP5xA22inFdGwHK0Rc0JH5LbOwWugU/yC + 5a60wP3Sg7LIxYriI4a4kpmKpqE7+ZhfuqQ10wC3eCXmca5bkqIOFd91X7gfnFc= + =m//a -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2025-10-17T14:04:38Z" + - created_at: "2025-10-20T19:03:07Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ//Zq8e+mgILYMqFtvl4SJn1OlffKzXMRvUVJbdnjN1oTGq - PQbnx3uf/RpkcnQiHNqUJuSsmATLkfEQk33VhmtbH+qhv9PM2PUujmEB2meM3GwK - AZV8Okpzvp8sJdyWMbydIw2SFEaYWOEDbsoSYGWnMcH9rp8LUkIGQvFlDgu+Ljqh - EaB0yb/p24zrJbOHWiDnYSBpEdH6wmv73rd0fn1c5PN7PkLEtznG+W1ghjq1kT3b - V6VdoUSY1/hqCFkcU7VWv7mkI/iGDy3SWsOomy1aF9WOPznEv7Cx0I2V0atL+w3E - 7D/t8RxcfyMP/ECao0XvFk9crx4tRVUtZ5jePfmGOQBWwc200w89FLyIeCZWWYIO - 2EdIJp7Rizb7sNt1CqLhYwX2gdEsqOZ1QVCXMSaTAQ5vQjMbQKp0+7iog4YILoYF - ALm93Q9s5zyi/vUadYrGOKUxUDRNvYb4TbKoE4ByfEXUCQmX/YQ18DsanGB+i2B3 - /RMRcZlLVzUnvh6h77qWFv4DnTqMH1yvQCL92Jw67SHL91xcTbpmBVKzb/oR2f13 - pd5aON9LpKlamuLb/wXy9Q94m8ubjo7nYLHVOTYuLzaskV4PSwY4XcfaH+50uJ0n - 4s97LkqMBWrdWZB3u5Nxo3Y+fB8+BytBFLuc1jmKkxVkRTY2e4C0isZKQ+jSzvrS - XgEjAK55FfLPQjCNKuBTxUC+9eQYy2Je+tONP7//L10H1ute2spIgFgUAUAwwNS1 - H3W5nMQm8hE3KDkdlMBHy3AoZikznYfZ7cJogUoVkWuRaolMV33RhE0SNXekI5c= - =kfAk + hQIMA46L6MuPqfJqARAAlOnbIDuRQI95foLsmVkTz3iBPoAGWP4T+BmwRXbBzchI + xnb2bVuSp2XS8ndofmqwPVfIA/XzQeS6+R1wE8z7IxBZEr25Oe+l/vnz/iIHfoMy + LpJYqP4dAMf/VLQ0h2X/WfN0QYkxbBEHj4vwR8NIjYxb1iygIcZuBEl28/ZqNAAs + 0CogIZpD057gX+SUdnL4HmpZJu1VcduOxEQq+4TBZELPw7yQ+obCtalncubnXGOh + COyjN4DkMeLNyZ5B8JKnsCCEzssn6/gI3nNzR8gTozvVdiPqmItix/lWgNZlxxnD + yxHtqs+RRxQrZxMBrVo7Z/2hNm15rT2XmpOYvs6eIKn0NILs46erKSFHi5Vbgu0f + rNshtzt8zwPsrGS2gyMauXBq4vB11hXMuOS1zgi9gA/mIzGbLLPl8JYVKjpZdRXj + BelPHOpEVEI+6Rk02+QuEGjN5XJnnLOshEt7Gg+be6APCpDsf9KhoxIPeG1e1MV0 + W5yfykmCC4E059Q7jJp7npNzAk8Xnk6zkScUT1zibXi+DYcaN3sSKqB7UgmjpqJ6 + vBn17pmhJYCa7CwlJif9abliw6mHt5qN8Xrg2064I3cPwJpzOSaTI/G+kl73Wn4Q + x4G2l2XTHAMnvAoL7I4r2F0I1MpmDiubj4BnKp3/C2YhICDOpsCE7e6ceuYI4HHS + XgHNkVi8iHF/02oV2nLDAfPASomsCTDQYRE6/dLbt4d38BaGJ6iIIcNMxGbUByMj + nAEWtH7+8crR42yJp/OxVPLlXLHKoDEd0IydLpFl9dnsaYAqdPYUqCQ8merJlPg= + =5z9a -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2025-10-17T14:04:38Z" + - created_at: "2025-10-20T19:03:07Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAkCNu+AdyJswEVj0CL7q2GcCuCUhxJrWD7HEkx/iCFl8w - Rk/eT0BZsOkqq0c/u3vG/w6Uv1Y+x8bZBQNHJJwNC/6z95L7YjDrUpLebqEy0WEn - 0l4BfM+Ktwd+ZsDG2AHRMrihBziBknDKM6bR+3MECcczYSJUfwS9w3NDsW7hnnN/ - AcLzdB4V5xi9ypOMlWHn5bADyA3UyKX1QFxdZbWae1+K+3JunFywB9Hqy4mubTFD - =hd/6 + hF4DQrf1tCqiJxoSAQdATdhehHCg+P5ryd+GcDKRDMHgwv5c88CHXI+L/6meUSEw + EXNK49Y4NeLrDllZuDdS8Xd/U3BJtdw/Ef744lhv/CvSCEIBOVu0n7hsHZ6E+MQd + 0l4BFNDMgxj51IVlf/vNyWKHrcf3iYLLJdDL31sSHiRk/zTElaM2W3s2zujSOgiB + cveF2p4/0TZ1lt+kzSWPdKZ7gixngC1vKtb1uok7sAzStAM3wdvpBjvouti/yduQ + =Nvpr -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2025-10-17T14:04:38Z" + - created_at: "2025-10-20T19:03:07Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAQQZzi8JdsmW/Z96CPChncBevqO8upKUu/JbcFa0gJm0w - w8KgmH22eaFH5ckXAa7PYxb818A+qT3ODostYWB+jybaX7tvJRkoFcVFt3+r3dtD - 0lgBsNmGk4FZD8uk+2B9mEHt8o5wjp01yb/IyG/e0b9xGM1lWzXXxIVgWKO0/745 - YWwNdroYwv5SfW1nKcPY94Hd9T2L3860RDrGZjwJLkg6vb8SVTYGwaaZ - =iW7K + hF4DzAGzViGx4qcSAQdAVM1+fV0H62T2slKovp8/rIF6CBYl28z6hbbAyixUQFYw + 0qeyMu6ujpCHiSx9xps+FHYONtfEcjxpZHPk4C9fP6h3D+l4xnfGtzVXo7t1budp + 0lgBJZCP7JuE7omAuo00L3hjTSaYpa6UWE8cZEbwkOGsm47m1xzMlEzSExBZ61wj + dKkSNVFLd7z/5SlKFgFJgbgwuAl7umjDVQjItyrqRNnhuPBUmZbYBEEJ + =Xu7e -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2025-10-17T14:04:38Z" + - created_at: "2025-10-20T19:03:07Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//aLghwm1amWw+lF60ZjG7I2jhrjkbV8Db6UguA6zT+TIy - RWh97UI9wEIDKw2c1wYDTkkgfYKAV2S9aiUVgsT2ivxbDp3SuYa7AhOskmAAit64 - VZrFsBtlPbIgWu8Rn5lweFMTd0FpbY4Io9Bfo/ZUIB0PjgSHhQftjnxNRvD0q1/k - ghn7pVV2bz1S3Dw2jLWoMEaxOlzTyyFzXcHnMrgE6Z/i8ZYg0YRgWWVyHRht+OKm - ZzFIEOm91TMx5V374e8WyBTmBrOMhvt1yNOnDn1PgNsGtJV5DgGwtvuWkbg3+Sl8 - LU+akmvAmP+HoOY/KixpTBGMf9RyIFGEP82+1u39T9Tng4Qnc7J55e3yXhKgrlJj - 8H4Mz4KFu6wT4+OuNWp8cE+CbTwSwisDzEbmyU9qWnMih50Q8fv4K2F/gYlV7Zuw - WkRWPvptTI5HnDOppDtxXucubKaFesSWcAvlXeZ5vIzfVGKuKObD3EClLJphpgW9 - EQxS4UXz8hfXAlUL33gi/63h4KEq9M1q04squj58fBkvJjU8BJo+vvMuANN10LfX - MGbokcDDSy0ewouoEhi8b5cEwQF3BRhh2Sqh8l3t1PPTplk3uL4tUTQdKHINvxR0 - teV+h/ap/sp/BGDM9SQQj3rgyWvh22zz0jJTmhaaiAZo3lScsLHw1HFNLEl58w7S - XgFnCIdmzNfUd1mnSk385kY0FCBt+haTWXGA/gahnZh3+gSaUQ2hyLpkzNzUSgeB - QV0kGEKXlQ5JJMPWjL4+Y9+tSaBFG5pj4Z1Hx22gF0ii3ku+exNue/UspW7eVtY= - =WJXM + hQIMA2pVdGTIrZI+AQ//R6I646qRFql6ouszDIf24Jc1HU49sWK00jfEgfDAMXVX + FcHyARVKbjq+4Luzf0ut/KrHaGC17iEcohvfaWVds/j8fOA40RWXXG5wkiqmrXQ9 + xgPpV418jCpLhrE85W5emNVH8a0sX746sulslm5NhCBbYsKgmvWB0NW/kSmPBAD7 + xnx6ZysaDEt2kgFy+GhCBMjm+WUOEypF1xoH8YlOO8rtJPVwTX3QPkgEYxrEtloJ + T7cScRPJo66y5ne1E4FKFUApH5cDlD4et9/TpJKR76y1hml+geCM9S7oOD1LmHIM + PxQFfNVL8/RWUSxNtkA+4ixlERitMbW3x4rqq864m1MnZEyYGOiUgF4uU8t7VruJ + bE+qbqOdy+HROi5vBgB7NZ3S1k7iBweGll7xcEfRHWd+lIunezzb/V/lJoShuSBL + WEetGEijGGDLPwTWG2ZSGQQsrPZH0VoA2rRS/aZ75Bau3ctIFAEPuNLS2+AnSh1C + hWMCXsGu3JVwq53TS0Lg5scquaXWPcuEQPJ6ZEmQOGfq+zjJKCp0Wq3W1GqkMAR+ + 9WFvAeh8/fLFTuDnqGLqHoeO9YQ3AK8uraMRf+hVco7RjXOAYks1JvbGDCijlUhv + pUrmkELbYnZgnVvAy/uwpYhVdJkQq4Hev+ELFFfTjcX5i3lO9V9iZJ2UUrXj5cnS + XgEBs+srIKZqr9mNQlfc6t3+JfaRtRPs5ozaSgJIJx+K9x2e7Guci+ZSAoEP7kn6 + 163uoxaZiP3W7vW/fVe8IDnPsPAc2FuvI0MbpDlEmUcoHWU/s3aY6foYtwg+w0I= + =/9CT -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/ccchoir.sops.yaml b/inventories/chaosknoten/host_vars/ccchoir.sops.yaml index 23cc272..b6a907a 100644 --- a/inventories/chaosknoten/host_vars/ccchoir.sops.yaml +++ b/inventories/chaosknoten/host_vars/ccchoir.sops.yaml @@ -1,201 +1,212 @@ secret__mariadb_root_password: ENC[AES256_GCM,data:bevk9PiMUAP0YBYqpVw9PLEz9ITKVRQ44Q==,iv:Qjr3pOWzcDWUpJAakrn31OCcvcaciJLgS1Zp+YZPWPA=,tag:DB1l6lsy+aHa+U+QLAM3tg==,type:str] secret__wordpress_db_password: ENC[AES256_GCM,data:QsvJ6NH4ySsfSsP3pWEx04vxjIph1Wk/jA==,iv:AnocV/jXawXPxQ0dLSw05b38ULQuU/RN2G21/1GpTmo=,tag:QlSCnuaQxCmJ3XO5jjX0zA==,type:str] +ansible_pull__age_private_key: ENC[AES256_GCM,data:D/DuvRa02zvwD9+mLzAWBFF0cZOwMcidGvz8hTYP2QtDAMUwPhcG7WuJdHDY52eZpeyoD3zIfd903n1YT+tNYmWe0Y/jFbunyOw=,iv:apgU6HqH5vIfi7dIPDTUrsxirEeQw7GUJSaM2AAbZwc=,tag:RdvtS2F0N588wrmojKZmQA==,type:str] sops: - lastmodified: "2025-05-04T14:15:03Z" - mac: ENC[AES256_GCM,data:Za+XnpDu+WTMEUgZ3jnG9/4FOd/emfdiaLSGX+hfkuBSurlqFzVHpXqs4kyl96goOASevkiqCSXwk+DGGNTvSRDCoAH2jMfwUHh5mGHFwXKZFjraVnLidxyOkEg+YJ+tzJ9EHJ7MpQLYlHgGi8Xrc27n3+gpjni6+VhVYiLj4eQ=,iv:fQuTnJbsyNyphHZF6T9UF62jtA2wDrOxlPzW6XwsdNk=,tag:T8P100qKnYhNqr7oJaY6yQ==,type:str] + age: + - recipient: age19rg2cuj9smv8nzxmr03azfqe69edhep53dep6kvh83paf08zv58sntm0fg + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKVlJYaXNVTE16UEIydGNH + eE9GRGNscnZTMHJ3YkttVVF3aFRSZzdWUmtVCnNhYWh4RnVYUVBZWnhwRjYvR2pG + bi9kRUlzRGtucVhENWFmdVJwUUpiWTQKLS0tIGYvZ0FtSXErdVdFVXp2Y1dKbkVY + amtOS2g2UGNkeERIbmpOVGZRcWFGckUKkwNAAKfzrXq2Hp4bveIGqDJGEcfkec3H + XO73uTKSFAOs1vevdhZqgz+xNbLRo/0ALAARZGq4ULhKfX5eTEo4gw== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2025-10-20T18:55:05Z" + mac: ENC[AES256_GCM,data:2psRwsVlJLLhxNJq5ilGaQ+q/07eQKQbxzq2xzM+HevwwvhMAeXsHnn8kkkP+YOaWrkv7QLQNnjtpoV+34bF+8OsIFlAp8sZRNGyKdJ9NVAY53EhWlabsLP9rXN2IC9EPTpaWBI5F++LEFNHhc7mpfnC0D9fJZd5AiiNO0ARVJE=,iv:G4eTrwBfrlw8FTrEDm3pSHXIoG+8qrfXxAe4H/UIb7E=,tag:BilFyvyQspxEeqT7FDbw6w==,type:str] pgp: - - created_at: "2025-10-13T20:10:35Z" + - created_at: "2025-10-20T19:02:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/+IosfvaYuM7bZdXUtdanSZDkss7wW0McZYkFUZOjeersP - EFkcPo7fvcpQ40GHL2Q0hbPiSLFnoTIVXxZnYtP32OJaz59CCfGc8pm/UjP/mQ9k - LqyfsmpSHtQA5as7EYpq5fMsQVDizW+8Ie/xEzbsrrlv83YeEqtcVIhMGcCcJi9R - ZJB4UtiyPq47Zlo/5Jcaa+xyOJn/Uzqkpz2byKYWacGjsLuuC0Tjp5jAXh/KARcM - lobUcm747MxXihHUnaFxLVE+8DSM49axILPZ6E5gPMDT3PLRKryxbLyCYQMQkEds - AQNaXTPAJU3B6WnNP9/dOX2dsspgHvLpQVDCTTjI0jXXrJCcdbOTlG9UyyUZEDbx - h2JqlecBQ06FSiA0ON+DJy2Xg1LwzcQXpf+nLpZqYi7wab/celcn1EpQXI2C87Hv - rgWO1tnAAh152QYaX/sBKiC1QbomCViOwA3e8UGBC+WgBNCDWtpFce25kgRFOs6A - zdiGO5NzJsmdVF3moW6f2v+nSZs31ziQeNDzIY3moJTbwebXZ5EMfK0g51nwAp4a - fhiTTu7Bb85VJyGzpQcWvkauUOMlYMTFenLXj3jr6QzFGy+OuGcuJyE7MSIK4pdw - hO69qGidvepjHI+nc+8+VV4t3xau8hsPM+6LFFd+X/ol1YBlcy0Cp2edmJveOX3S - XgFFVnOdot7zxsYDAYQjRtrSVP6lvingK7cYnMnou/3d1csuj2KnUmg93IX5veRm - ln56AwW2LE2L1DWBJblXX0FlA4j+s8Vz1mSaTRQAb2fH8miBjFXYhfo6Ts+GPuk= - =kbe2 + hQIMAxK/JaB2/SdtAQ/+KHJ8ENkANIBaQ9Xh1qXP2d0U3NlLa4pzH4c1/Hscv8fF + yKjJgioDsBh0b3zTnz/kimnmoOyLZ9GM5QYPv7yqyd5CF5uZdMjnkpLjdFxDkmOu + vK3BDDjPPFGBGOVdNzTZQQGQ2B74B7IB5smTFjY9/BZcRdokM/y7kAljxXvgIFMV + +B2+0hsTgYJVy3sK+gNBzaJiDzWGgXW7lP58Ulh3kV8rNgBau9ur/kh2CDW9VSJq + 6eWrXHne2I0PAbkqeOq7VZiOL1BcGUFi6n9XG3tNER74J+ps4yq1/QIPTM/xfWjd + 8wT6MwDczKxgcnCD1Iyl64jB0r/DAim7M8fstR8z0SgUSi76CIE7RejSeTx1y9kS + cCAsnqAwhOuO5WY4J/Mcq+k7CwwzxF/EzBklYE+ndAFbp4cvU1jLqssgXeh80eXx + 4eghrYA2Hm6jXyCA6qiZ1MfTNtLv6BPPyFcC5TbDN07m02mo/AblR2fnkM1nbH6e + T8UTvevCtzNJrfUb/IErOu0dsy4yOKj9WZhrYc7WbZQoKGbtUFG2HP1SXP71SPgd + Obzm+Iya1TaegtiDc7glnhQcJSPpwNIU8VrrS/KPneIle/6R7MAdtwOZ3f3Rz7sO + KZ2I5vTCMh2UWQ9MFHGtDvkXTWd6PvjCiFfySfxpi2dd9JyD7QM5g2ef9jXYUq3S + XgHflGRyTFphfRa5rqxOa1CQnP3+IzVt6v7lkcsrrI28WP4peq6gyjuJmB3x0NOn + Me2tAe0iFJhWyJRp1eSF3fKETbE9VVhrrkLd7pfCa3pWNRXi/P6z1emcPFO3U+Y= + =uqtA -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2025-10-13T20:10:35Z" + - created_at: "2025-10-20T19:02:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA6EyPtWBEI+2ARAAr5dNAp2mqlJHRBMy88OX5mAU9ZL48HaxwtAApGRcqzdP - JL3MhhUMEsrk44o1ypQBEf1d+F6qqtEpbbdwYkonfIZsLtwQit3f+yhCI/o2GROi - tP+0Nhj/4SJh1r4c6qcbAO1j1/E6wopK3TIPs81jvao3au1lTNgkw52Yhz/tF9Rs - Gn2RWFW+ivpb2DJPL4KMw6HJC3CN5b2sP81vdxFxT/Wf+lx0JQWjSSot4wo5bgIC - xMkwrNbN+agAm5mOv6ra3it9+CzhX/4XnAhSL56Irx6vjy6JudHPre5eUR3ZZ5Vw - bbIwJBSUCk/rLzdJak2BpjOfqjIw4PcIdFD5aWH6KIE59pPEbJ31eZEqBiRX7rcY - mH3guxkgvAV2nMpQa1UrMSNZa7Pu9fawEA6GMzqRhy8uL8EnCl63nOE83JVh/fgg - 31zYRvrMfgbwNcr3bvOB7cCH95iEJV26B+2oBp8r733EPHc6ZA4/j5dvebXTwxwn - /95D2XvRiOZPu0Et7I7GYOJobfL6tD43T+n4V1oFRqvjJUc99hNw+n3BpGiFR4/L - qFi8jkasE8i6DgLqU0pHGnVZxEyZkSr/fqFBpOx3vW4U0J6qgjVHZvZq9+ChHWDM - 2vHB6JQHOAZv7g1arlH+OZErE7GanTVZsiwB3rll4FFhR7HVIFtXknR5ie5qsDPS - XgEkB65zknz+Ra5mTtvSN59epuPeJLpN6OHSSEfI5wJXfRzxgtVjgEIhF1UhDaEp - Eai4vv/sD5dX++55/jUEOwKP1AslcrwxdPWQL3Mn0RDdpt1ZlbkdKfofrGuR++M= - =SxKy + hQIMA6EyPtWBEI+2ARAAi9TKbDyjuz2CQCK/mAEBst4h0gARRT8nTudG1oH0W6ic + 0T3CK2pWuBS7ZkNNCs3xoHXQZfmtmpbX52V0m3lls7Ev3XmWUPq1ig1O+6fS1QAv + I0+zxRYaRX+uMOBvI5Gw0GZWadTF3Y3IUDiCCGGAJWWXYS0DlTbZvBG1Xjv1Pjem + b1VGXriqt7TC1LMyEwKlQiR9moUjAT6GrtSaC3cvKgWQ2h1zpXIb7o+ffYpLl6qY + 1KiTLHXe9g1K9aO4R2S38CETY/9u3Ftk1CucIbqshQWnDLldKBEHEpF9oX3k8a57 + yvcfgS0pUQVJGKsz2k/NAlUuf0p+oMDIVTEfx9ELc6JOTff4U0feC819KuTe34Wy + BNz2zZ4v4w2reCO/RL4o78wPpd/gHp3yOeLOvBFoDJr0PXzchi/KMcAWclLJNyh4 + L38JdNJL0KDXhRvjFlF139ZoNghP7gvaOhKbztIAtM3BSGjJqX5+mmBCKcYLEItN + Q+Ij3m1cKANajF84Dd5lV6w7FHiTplEDmSO1NS6Norv+4Jc0R9Z1uOMRsjX+W/va + cOUQEn9KYMoFQp1uY+OZBZizOZE3EOnUNbXMNbtWtjOKTwTn5cWyBX3niGqSuHaw + a34D7SX4AO7djrHDkY67t/yE2ZaOBEy31ZUyFmYnDgSApGnnuC3EE7tcZMQsShrS + XgHz9tgI545+6hUHe02hSWemeev/evymzkKZno8jj2NN+lT1fDaGBsytqvOb3i+3 + t3MXPNpZeAj0SE9FoUblJgabrVlVT22mVZUDzzT5IUaTFB3PLJZ20kDxVwZ9DcQ= + =M6QG -----END PGP MESSAGE----- fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC - - created_at: "2025-10-13T20:10:35Z" + - created_at: "2025-10-20T19:02:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ//We4uBivofpNlzGUgviNEKCRaySb7BOyWauQ4ovSB9xBM - 5k2G/7eC4JdZlmCWztDQAzsOwauzrusIz5ZvCSWuW38ydsOFp1iDQZylx5khDBh7 - gubv8lQcr1I3FC2SX5JOzhVRaVqLjh4/3k3OnpaIGm6KJHjLCd31X6Juas9xVWoH - IHxhSVaoQK9GWXjESSNf9GDP9yh18GibVlQ02X8V9G7MkDz3ttGW3xXMXrGdkPOu - uhYlr+GeoAbQ+fcBLk7Cre5my9VyUHhIz+WAxFkxEbab9wqUDUnXuFgcxHOynfoM - TJa0PdlHeUy2Qh85TI1Fo0SxErHmNgDXQhLulLDSJbiXoUN9TuyAiQW8qnnQk6O7 - KH05ahvrK5vOXeBv/QIddbZ/TbB3tRIEVF+rDaJVZK6VuZwoSvOg7trO14Wjn4+y - mAH/fBKSbDTO8cFfYVJn0ZubCIsealOGhCCaaS4z2/m1/kzqE50hCtcagESbJQYk - v7zI1fM81CUUiQVZB8RKmwgQrs1IEk9Y9E2Bve3AuFAJQVx5u6teklgJXtr51Iw9 - 7H+y/t2R2J6Z/mQhZ7QcKdezkrqaWtWJox3ZMjKCjrzePXX394DXuvnz/6QAVue7 - 6ycKBQA7B1EH7GhUfBjtEncqxWmg+Hn+8mIAjDtk9HK5tIDAj+tnpgtdC9w38QjS - XgHC+3QjA6QxE6k0Wm9Hg9NFUdXNUAJP4Ok8MqT7DdwkVFtXJExxgJUhpCHrRA5t - ryeh6TU3lpxMsePFo/s9DZ2wJ+xrTKV0oiYL0D2oD9tJ0weF39feQDoDicqwVqY= - =e4lK + hQIMAz5uSgHG2iMJARAA0dd4OK7rynEz9Txj8P5oN0e6bMFEMgLr+vGswjmczZy/ + bkE+x3SLLS2K39zWJb2Jg3SM9AV77eZkQlsjG2DEdlhvCLniBdJGlOtVRKKYTq00 + siIymRi0e7ZcDLprGQnEkqv0TXxrhcW+YjtuqitkHmrJYrySspMnjqdoxz2vc5QZ + uUUtrRJYIb5UgO/L+jn4CugoloPXmJiuGAKyzwUgPiHEGm+il+/buOwM2RHEvaZj + I86lxYImSlCLmXvV6emte08eaasP8eSwyZVBFPCvwEsYCXKEiySifd/JRXX6xjh2 + 61YM57SowmKGuuX1iySYyM+wB/Q/v8oTbJAcZ8f62V8PkGi89Yt2HmzKIMJMvlmx + GT7APrldNE31mf7CYccsBw8smZaec5z7maXPwCSMH2ufUYp7Vwjy5dYpcZD1jPUv + gAYfBIcLzgrhTB2k6fh5Suqn8gbF51xOhl7dVaFABH7bqn04epUiFVhIVE8hKdw0 + wDNZataAkVnB+wXM4NIS2i/MGbZ7RUwOaWC0+fwXMRhMPVWnqlY9FV5kBKEFRacn + pFBLwmfcZIeO0kNq7KeF4QoYGV3jm5cVX4Ah8LCAy7GqwpeLapx4VYiuDWtK/QPA + ajqHeM0BPA6IcA9iShRj8tiTRU+VSyU0+PaWKDdkNBNngRx0unRaV+pEq+Q0ZeDS + XgER/b9ENkhrf17XsIUWF6ifNxGTf/KRhZ0HTKoI+t94ZGXSWR0ZHsent29LcwzD + ZiaVGD5vZ+lai39UqCFhuySw39uH2O8MSvb9BpZN51xo+XaRoejSZvZysVo6FKo= + =cdUW -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2025-10-13T20:10:35Z" + - created_at: "2025-10-20T19:02:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ//UNWJ+gFT3vUo3uST5HzxBh2odFv89z39XG6BTjf5zSLs - uUuwyjzwNniguaHff9vU0s5EXY55D6IA9Q34hNMPDG9TRettwDY+pNkvHF56zx1B - pZkRKqEW2czwM2CYRufLjkaI8Z4dysMss0itLCgY3ip/fwZ/91qQmZ0UsNw/w8Y4 - C6V4cJD2o9PyaO60iEMB4QTvCRtyJjDe9pArWnGQyR6hbH7b6wI1voWP2IA1TGXZ - GsWQR4+JGdew1o92NDLmbyOLcw1aUZ1WvtuVAljwHuSwm/Atl2uFVlntTJ6YI57K - tgKi8afbXBiGG4Y5KjyoViJIkXQsGyqN9NBoRUEfUtf9+iFY0blTIeE+077WKhUY - Ql83rMMMDy5NyU3H64WfkUMJbDk6FVhVHEsBrib0OhGGCacHgrB45raj69O4ixR8 - PBXEAPbE+8mchMYLsQEG7Zu/qLFiybPKF683WHsHQM3WGiC1YaIv37WmyHLEZEQe - icJ75ZlsMWWvmF0BT+Fx+JoC80f8kh4EMTqiVFcqXMtvye5XS1/nwdb92k1QGnyw - HhcmqnkmE/cso9le9Iqjqf9AOVkFN7Ul/P+husp7Kl3CXAsL4jy1yAPi6sOPlgGv - yBYsOzYs7UAAfbydZV/mafx1/LGd5dt47HvQu3FOlAZ6AQQLqHmndJLLMD1AP6LS - XgEDk5ll/yQTuHRd+4170gQb6gOORrCVCJW7aDQ8ShU/FdGsMgm23RlLO/85/yo2 - Qp7SqAtnUwZfFvDs+3gHpoGE94Rkp9N2D2eirn+yZ0uk7Ak76JafPNZ9QANQL7w= - =LrpK + hQIMAw5vwmoEJHQ1AQ//bthRQejszW2v+xe8OsL3doJ3XcAOBVpjhgLDDxq9Lcqt + ewqJT+u4V0FTlQKRca3auyVIKkPX5lXUQf6KnNkmqmHQRpS+APyl4jagGA5+U8d+ + d3cWfYn3b+tB2GCw4RpxRudlDZozE52ZfNbUjaEMrFrpZVBrWevS24Ql0CqWqQ2i + 64HJJnkQwQ6Mi6BFIgxToWH/VV0BZdd70QdRKfNVl5thcoxa4GAhrS2e3ds0KpZL + wIneNj3yOU5hHfSJH8mZrszZKUeKZjDm6hjsZ0HrbS7e+7xD9zEIjppGUq4Tl69p + pVDCZouevY+rSYMWi0yeb4E4kknnJOwJ8tAhkmpriJTRS+K2+7p1jMRQYAqe4gEk + sIXCwMAaDneQyleiM3kiyA1Qsh/pniRh6k1H9qzmvn1ELTUe3tw9A0sOb/GCD4So + ypVGLlJe/J1/oqhF0uwUMYVBt9QvgR1w0ZoPWBwiEG9Y+uJAimGf6trRTeTlpOF1 + V87Ok9XQNyV2vQ3mzVQ9JK1tNQp4x84j41h7sJRfgk52k8ZKbJT9baPUXcheWiuz + nYkdrOo65rHq6Vnf/qd0cZIhMPmmsk8lb++L93X7egEOeOMFASJyunClP1uZVGuo + GlGUycvy6VR6vxC+VPL2ZB4pIyYasIInDGEDx11VOR0l/5Hlx7XEv/yVt0AQ+xDS + XgG5V5kJKqgkl94oW9sF05izRA0gS16HrFDZEXNyw9Uz4AVwPNmsryWiQ2LgLVhS + YO5NLAttl+AiaBrXbcAZp/O/trWW9q4D0752tFTxhPs75Xo7Q7SabaSTrFqzCUM= + =3aWX -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2025-10-13T20:10:35Z" + - created_at: "2025-10-20T19:02:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAe+GkmU8o7XoHMyntQtPEbV5zNqUgrcoWvcZ+MFuajQ8w - 7lyJarLC/f2j/HZ3+lZlULrMjFjXgBf2bNXcOhF1nwO11R8+NfV0xwcpvRVSuo1m - 0l4Bpti3RneLHjS9OcRdIz/TzcTq53L8JtD6F33f1NnrbE4Sxg6HvLbchuWCaXh2 - FNQ319tjWrfndWkLCFa/UlFhA/kv7H8JcISn48pmFv8WGGzlb0zr9LS3Gh3Rfk/G - =c3IE + hF4DerEtaFuTeewSAQdAP7lfX19jnpSpCRnxmkCi40V9p5bb+kEkaOB9FgDAMDcw + oKaSrWVj5bKUaR5PlCTsEHpUEbrMW+9/tGVxmDnFSVao1yAk4hgfPpoFPekznc1v + 0l4BTiP/B0V4HlRF3Q9WGYUjAZ0zNmldqe2zUVU1sG0DTc5y21jio+vf7Fa+vMiS + hZiAVopN84wz36065XEoiUxuOsR6JkUP5Y17IgpYzJQ//iK9OmN1/jhh/Ccb6p5w + =6L1k -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2025-10-13T20:10:35Z" + - created_at: "2025-10-20T19:02:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/+JOKaKiQeu7RN+zUvKcsg6N+IIOnPM+5+5KUqum4bYHGX - gGQK86Q997gUr8jj5RVd7Nx1iX+XZZwl9248Ou+mnGcl3C2lBK0figPftKrZBvAv - AMdKxBWImfPoyggoLLcRdOQB1CXWohBkvIz5bwF+lBNTweR0FCa+sJXyp5Yhgdnz - axgHkEP0QWIDK6w5T4ZFxwtuOMmL1T22MRvDllMuv7TMD1vXESOaMlKXbFUXrKC1 - +/+nVLNgwL4RmClGZJqMAyO1rzquui//EW4yiF2k9G/oI+2Ewa7/E3/Ln837rExE - 520P6BNPD4oUZBOES50IQU2JvZuzWkBOuOAERt43PlpxT7psGEFnGnOyvBxL4BM4 - UVh2FKzo8oTrLsueLLe55VolmjecT3GGnJT5u3aK/MWjxEVrZaFz7aabC5mnVZlC - EEDOl0RzSNsnhEW/QkPGmlEjkoufORoNFF0Ezsustc3HlymVh4Ar//QBYvQcigQe - gjSb5gXhMiLVTZF50Z30Bss8uAr3zQVjoSQWMnoatt64/CDztKVN5dZwx7qMG4V0 - m3VDV2WqGotOiI3Uc82COQnRvUw9dTC7qf9/xvsm8I3EBUbMqVELScDA5C6hY4cz - obzK4t6AbwOR8nFSdIWucbw8FT5/ENoZz+ZiqQCz7fPN7/PzUDJOt6IpgGNFp0bS - XgF+XHxIfU03AbOwdEU9Tv/NOv/s9AE80fk1BBDNeFJr5ggnnDLq6p73zcJkMLxa - BzXJrO+VUQ5NJ44mIvZGO7nnOd90pqSevBvpTiu+1W6867nMgdCVPjaC4qQ3L0A= - =aofb + hQIMAxjNhCKPP69fAQ//YX7mBdQg8yO1DknAB0H8DSm3sx3W+cyy+NXe6jYsRitq + Z5rztGA30GecT4E7vZKtQTqBzPe70R/Oy9m8KwrPpCDoqZvb3cBtWa9XV48D2BYN + 0eT9oWI4Yomqix2upXlBqzleJ9Lvc625Ib1lrggHzD6JBJ5GpcU6ovBsUjIRBc1/ + osWOpGe6jQI/8o/rL0zy2713+gmSGI4zHXVPelip3aucC+7AvbdMnjT4/qJrrvnD + QQs9Y2oF/YF3K8kowsXBRM6qQZiP602CVgInmuiCkubSxn9tTVlHEWaAGc9okWMz + kjb0M7s7SYgIJGOfM+Wt7eqODg/q+dr2LRN+9swMVNA5W9XDpEExf1oKyxbohiZQ + R8IgPk0X+HhaO9hAw2PH1K9/sT/NszGDBFH82Vc9+e/VpTKHmWQWwN7xK/31AtWB + VsOjLQq9YIopoFltYYQBtlm/ygLpGFgq6NHamdMXXecVbWualNYYVTIfekzejDgY + RYo59hnI4Lb5ajylvcqnGaCQNG2OkqVOVUX6OMnQ4wTp6/VfSzIXN0os4jpMbb0A + UvdbuRYA60eRoCfzNP0s9orhbJpdFW8fuM6VqLJidR1n/Ebszz0ixH1UHNQm62Nv + X5DShNQ1Q62ZFjKSb9nspM2FhSkBdLHX37gNEUjUvDKLOtQXcs6E+JJDr+n3a8vS + XgEQ7R29Oc5iiOGboyrUsEd19GYrFGuo5OYvV0he9YYXWTTHIDFKkewJksBw4IB3 + uqZMN6SKUTxZp5yeiAcFo5R0PXfUEGJ9Msm1WSrZBamBsga0EOwBLOUxkYPBBqE= + =Wp5w -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2025-10-13T20:10:35Z" + - created_at: "2025-10-20T19:02:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoARAArCEwTYQAguomjEj8jk3byLQvcFbtnGHHVLGPXu+OGmfR - roh8xGoOTurgb20uGVH0z1aYuROnTkZoBKuxKJvZl6r+2Dkk+HIVwtH/OpLgLNpl - SF3FyygJInzZ7WjXAEltwCR5Eprp26k2VMDOXPQ4SxtcGEwwvYpZ9svB3tK88gnr - veWjgsrSwDD2wrz+LNo4vWMal9GcoF8efarx41IapR1201ptvEjWWJL5NE9Ze22i - 7wnxtVB/H6BP9f9P/yzfjW/KMyEAdkBbbpSWCzO8iVVv20j3Tq/stDb6gXDqC7w5 - ft1zxyxdWk7+eSC/n72zLYF94bO3WwMOr+2ofSs2i/m2yfxdmK7t6cm86D8auY9j - 1CJn6lQcS8uy/HruWksc66xWUTMaF57DWOHB+qUK8MfEcLSJTfQdrpVHE5S0gD84 - pgJv7DxI/UY5M/GVf71ZdSu78Rkcq6l6cYzEdUqQ0/qk8x9llUZmxQz+KJOlntY3 - RTx8AvHT2Jc98eS0jxpVRzs7TrSjSZJ5ZBzCaE44TbW+YHsdyErvy0M5bOFFnnNo - 8EopvHpGHKzcIWBPbBO1oWxEmDfTPlPQQAjTeK+y3ugQoqevmyHbBZRFL/22mhRE - +wboV90XAgzMZUSh878AWvaUoT0g5hY0D7AjYOTkNVBHcTFzjdq8txcbXM8nCQvS - XgEittw3PSSyvbygsPoogLaWkWJKeBPEFAFW2ZhjNrfXGKAi26PZzTtyM6ZIOKmK - O4f1wgAET7As+EmU+1tcsRpJf0WCpc9MAZOqqwiQ94eAZikt2ARc9psv01mH/AM= - =Lza0 + hQIMA1Hthzn+T1OoAQ//Sq7PqpXna0HA3KyoMZ9BIfQA8wsD/NYVS7bEXem7ORy9 + DSk2DNJclLwL4JTTj1pKjj4cf9tNz8hkku5ZPXKBVHNOzs7ss0HfpwxGHhw5npFx + IrydEPVgbHusbtLBYHIxwWKTHjX43wDEm7oY9wMHe8IszlwvnmozeBEWUaV7uhpG + 8UXqwx9UKzKv958NNNxqXvbwIKGNW8eTyHa/vtUvh5mNrW1zLhg2E5anLX+M928L + +TpwEs0ioWrOlbuZs6T0NmcUC6HdtkRJIjTWaq1pVD2dPZwHJpKbOS0kgzkxZ6/+ + 4Qudfu3Y6F1UgA6B8A45FjwSVIN+Lq6FKQvfS4uG1ida8lV4mWQllC9FYinFEBJg + XG7/uxW/EU+1YvcuS1s9LzrQxoUFO9fvhgSgzTQR8tsO2VW9Gp8FkAPDhihHDfgx + qpSF1Al8bMZCEWOSOHh32b2z2e+uOX6wL7bNdoL+/RFEgG/iNBKxCsQq/PZFl0qe + 5FFP+jbB7Ju5htsJtlzJju+07Aq7KNIjSgWg6T69+S7ovTvMQDud9WxHCc1Z7vaV + QpCMzMjrb+66rozEAUl3tttyd+N8JqWSSA8xI/juTfHU1+0WASP81Yvpe6tIp4A3 + 1CUBFVNl8XLI++WJNV+U7Ld9/+7jrrRMSPGY3zw+JzOEJJu4PDSVLEuLrKiWpCjS + XgE0uQG6Q/knk5rCcqcabEUW5YTH6eNg1eIP/95kbinL0Nt2mK1f5p+1VahI3+Vs + 739/t3RU9fhCEXB9fZj1QDiUiEZ+prHB43J1Y+MraU26/YUW82qvlgytmSg7+Vk= + =h1xt -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2025-10-13T20:10:35Z" + - created_at: "2025-10-20T19:02:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ/9HdV9WgUpLimmc8bxANWzIWryCRxLRoyj3Mo61VX5bz00 - fHDltJBQDCfPqEL0sTLGXTFhVMEQOnxWX6EE5xiCD7+Ys5uTjbNQrNcG2b12Ja0v - hPB3IoApcMAwffD8qF05VNOnMqB/yHdcqOHjL0xh/KtkfdcWjqhNqwLtQb+1Dtez - mRjaC8EwnzDAEdIkDOAIX+hhYcGXXLMNY0fNlWhecztzJCejcCt8YqIaR/IlVNhh - /nMpL5rWIWf6iR/+/5UHUqaSmFwKkPkvmzXaitIN5h9OuSIMDjnMpsHmU+IOR8HH - Da82Z1O2hVE0fbVOMM34d3DproEtyFpkU207kqFVGudLX9Ok+r9gEsMJVAOi3+j5 - ysgke1xNAXLSO7tg7sGXpOLYb48/offwTBVrETKjlAr6nWtd0sxLJBGPiXBTofX7 - 15uwtT0zSt1uH3v93O6SeNLdGvxet2dHukgM8+h1SUxOmSpdKGScJhCd3X+mzloh - JUlr4pBW2XV7ulH2WOv4izZEbRh+PGPvUbebYaCpVfEAxHbqISZUTO+yG2Z+4iMQ - 2bE0I2ZOxsZt0UK5nFnq9YG4sAjPnroh2mXMRp35EUT0yo16i5h0ZkeWEUyuDfhh - I0YK9rD7e9ZjA5No1MSjIAKWReR0VrLJSnGqorbjDmNW+D8KlIlXTKKN6/2hZSnS - XgGQwg0XCTsS6QOHIL1e66zC9pZ0K9osxW5Rpqd76Foq08/xY0oZKpYPnH3caTdC - j/ghGkzN12Z76L1OSDVWbgwImQgHaX4VsYiMG8NxB/6MzY/aVUAXgOsjm0htvxI= - =pvas + hQIMA46L6MuPqfJqARAAnNfcfYe+6tdLO/3YOkOywk3D8VKIUamqTqu6ECWJAvQP + G8HTKTao/5M9yuue1guceE81se9kmw1sPGgKizOUln8k2Spf2r5wBRKXZJuaUBLj + 09Otl5X8vP+aQ6txmw2mu5AnfHNMIOLf5ynw7sNwsppdhWlJP44uQ/IVM6D6K2v6 + IMUQVXQkJNLkYFjA3vHjpj5B+Hb3f4lZG5jmPilmLHckWyYXXkMiLdkIngzMKXu4 + y+lMTYwcjVWWF1O+DxVM3IEAKoBZjCUL5JWZ15/V79KkJTvtR4WnoRAFbebZ8eKf + infJfNh4IwqmnlWiwR9Ur9HQDt6Gyb7VC/OdyNj0aUX37DHvP5hv+cFYvB764+9a + OwA6vRpJ9QynqMdJo8LIysw0Xu9rTDy4Tc718XkMg9sAYWhne9/h19NHz3cCyz7c + OOLlT/khQSHzKh9RCw+4Ql36EJe/S+v2o+aH67jM4PKgqx06A01e/1wbSfbHT099 + tdGfyy0LFyJjnY6up5OTYZReUsG/6HxkDB8xk8nyrkQIzX3N7+Uzz5gHGdQv0EsW + AYGY4MwyiP4Dd4bY25wcMejct+0StlM7w3bE7Zm5S3rafgMycl4ZqV1WyrF8k2Yi + lR51WdB8b6c004/JHJtELYbwr44ZZ7mv70KWWTX09fTP6AaEi4Fl8fA8RoNzp7LS + XgFEPiGH2J8bWh3B3GxpZlC0B5QQbFtj9QWNNwxKl22gGMQbu46PQPOPqVgXnJpV + jU3MOjGW7JOdFfvtW0HDiPJcAlJEwt0XXN1y+lCKMSAf2Gx5/3+4DP0ZwOJKGSs= + =Gpaq -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2025-10-13T20:10:35Z" + - created_at: "2025-10-20T19:02:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAARpxP1zmv3LqcHwAQCW9vYNfk4DR8PLZb9TwTA7Vtw4w - 7UpJLEhacSaDrgEhlNI3kTe0VgBGOX+7xp7JLwg+OGT/3O1nHo/cHLuXAZIBmMFa - 0l4BLIf4+vmvYQvG3blC3F9aeL8SfZE0sWxA+V0GojQgV84LOxb0UnjUYEQWLXQ9 - eZ/nWgOPwsbcurnW/WtHpsrqrQQ7a24q+w+0kRS2LaJaNtJtT6lPWtl/WL2+AQc5 - =UyYR + hF4DQrf1tCqiJxoSAQdAArcUCDD30QwF7maUAmX29Aa+l1T1/6NqE5+0niLV42Yw + sjGl8g7yW8A0vLBWXP5nlVvgwK1PoE6bef77m9FozDw3j2koG/gt80tqgG1pCiUA + 0l4BHZuEAaFjgG2AhZSzYj7OJk09gGEgvGYPDzESYrwaUgTCXO9T2HmhwR0Mr+08 + sMrp57xGYY/J/pw+vYNBNjXxrfKnr96w2UfDPG2U5P3qFugUqzNsIImeoxiWD/dT + =MzMp -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2025-10-13T20:10:35Z" + - created_at: "2025-10-20T19:02:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdA6CEqFJge03j/S1dkej8ji8uiiwYI8e2C3DNzSZ4lZkow - 6xAbHyeLLU3MYwq0w8WIX3H6oPv53VFo8IF1dyh6LdcpZhrQmwxFgy6A/hs95WRJ - 0lgB/NhT4QrJb1EOASmKjTbcaUgibCflVZwCjmLC7SH3cKPvNeVhStTm2WGOPHwR - PWrv7UxFByIgB/itd49BLayex3V7kqYqZevKfbxgycFMA9O9fLHtVrJU - =A1O+ + hF4DzAGzViGx4qcSAQdAa7MoTcb6GvQid9iDS19VWCjRamlLSaCiEqs+OnCvMxsw + vdFUC4txiChg+CzeIKC1wv6AORdRRGKRvav9MZhO1rX3J4PKVkQ0m/E9jmMW/LLe + 0lgBc+vXNMn4nF/vqolz+CxRFpDnCKGyqF7iTqPbW/3yF07/mTe5aawHLrnrL2nL + AOzEYdB3e9Gglyh/beUiC6KTCCeGWjSTPHskXGU7/e5Q2mljcy5q+UFp + =2h8E -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2025-10-13T20:10:35Z" + - created_at: "2025-10-20T19:02:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAAxv8X+QbxGoOISPxHZFDJefo61SKQDXKSY8Mm7LlGG6b7 - +6d1hwEUdg6QshLPtLzKWzfnXQrcFFO9ri48/kwro4zlSAok4pXKB21OZwd8fKMu - rSvroEibSul1wN++sya60sMJI3Ia7lXBEKGygjE+iNZ4oHXKSecpO59fEQvg2hv5 - WrNqn77Y7OSyIUhnaP0WETuhy/iGuXNGyHLCdimcIkhj3fi/rliycLIravBrQ7vy - lI940fPkuv9iKOvoHah28geVdGIRAe9uHv1D3dygy6aGBZltP7ewuy5TKCoQ65CX - h5GJqq02ACnOQhKm8vS4c6/7vDxCcZW+OBgb0w2a8bBvzm9OV8ISIxwApJBSW4Rn - 86xCqKKygcZP35lwGGc7DQFFcZIhtHbSAOz8LLXbcNPxKsgMcWZwASobNgDPlSPW - BHAr3ytdHcpHXh9oK3rlOzuPcr30LcEhDXY/5OwD3vhG7tvs2RBpxYzQD98p3lPR - 3Y7AcyvUDY40B5nN6IFr28585M+9GH+IpklIvxE4FOVbTDLYcMD8tZVFMRqjt9DR - s2JqacCkztxYjTkqgurbIppfv4hNz2JsBKk7RQf0UT+R3Mj/NaO6H0Zxw36+RI9C - GA51Dcxvrzqt4gZhWwbcF4NCialAjx+ZVX5Gj/llP5He4Z6g6ovEXwVoZtf/yvPS - XgG7JTpjoLM4pAIRakxhmzQJuxmyE2xU8MZXNL65NW5c0KNtoZGATw2q/9BxCUjl - ef//IDnCsHgWYuPTmtte30BoxqJiR3wDQKRfl2jqR+pjN4JJeMOwH/t98XDhZvs= - =Esah + hQIMA2pVdGTIrZI+ARAAqV1W2mgHAQKKvKL80HB5oHBo5DRoDkRaYlIQtH2HetJf + pHrIVXWskAYP439kQDUDGhOsQszJl1O3jYnuiM/lr99K3oNNwjngjlb5IloGZbG7 + F4doJc3l6HWE8kmvD2frH1NBVB8yLVbUW153+oors2KXX7J8IDSR6FcYlvnL5T8y + 82LC0IJOE05rHyVngXYJUOz1JO5f8Yf8V5fcltOa1IX4dJ4vG3kJEtV8BTWL9+8S + dOhwXKkM3AhN022BXkr74bgQmgWNDcjtNJuSxsNbhF9FNJbjkAGveYrux1lFR5/Z + 8myeZTKfe/OoCG41BvgZfFch4hDO3KUSaRg52sveqzPayDjW82wxHvBL/WQXwy3I + 0CZMAC9t061u+iYX7GPrVqxi34Vs91Ypjd1U1eUZaaAjd4aabCdYz0HlHy+eKW9j + tiQZM8zvi/R1svdn/HdC+uh03uZ8i2Vf0ci2EP+yhcO9fvEEd6NJ5krm6AHORelI + hifReVMZ4HW/y3HcNwPDF2TvxCKMeYuzgsicbU+bv86z+pVY3Kulk7efxcfgrcPP + l6ROfasoLUOAEvGfe/N8qTMexV53ADHhCDcoXrLMLkVX60NmKhg6EcZ2HQEalOwd + bndJuMMu+nW+hVmUt0pp2i1vytbg0ak4qyqtNa3zMgkexZQ5SinnpwcLvoAAfPnS + XgFo+F8mppMuJXm/GarENxvJU90pl02/iJ5ZvYKt9BZqfDqCWtvez+3i+LTd1Piw + om874prhdrpGKucYd9YPkam1fSBmrCaFzsCLI3KwUuvTpnw7YhdemWeGPDidGwk= + =Ttu2 -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 unencrypted_suffix: _unencrypted - version: 3.9.4 + version: 3.11.0 diff --git a/inventories/chaosknoten/host_vars/keycloak.sops.yaml b/inventories/chaosknoten/host_vars/keycloak.sops.yaml index af4dfce..73026b3 100644 --- a/inventories/chaosknoten/host_vars/keycloak.sops.yaml +++ b/inventories/chaosknoten/host_vars/keycloak.sops.yaml @@ -4,202 +4,213 @@ secret__idinvite_token_secret: ENC[AES256_GCM,data:FC9LqUf6wDijaH6JIde9u1Lc4qcqi secret__idinvite_client_secret: ENC[AES256_GCM,data:ImweU1aPI0G9Lf5+TXvVmZwGhoigSJoHMLCuq6MxxP0=,iv:GSGqpMVHq31U+IYtnHnu9RuMt985y2N1PRvrlWFicg4=,tag:NKuqLcb3xPzna6t2VVuIog==,type:str] secret__idinvite_admin_password: ENC[AES256_GCM,data:fVb+vCHzPLvsQ44wWxfAwx5vRpoycJxBLA==,iv:Co53uRh5fG4pEVxnC6uWaXRrCLGH2Celg/XC+idiWSY=,tag:AWUn99jtuJCqXww/2dSS8g==,type:str] secret__id_no_reply_smtp: ENC[AES256_GCM,data:Sqc/UkQq/2F78G8LP92YrA==,iv:ObEdXhzHp5aDCWq3r7aUBhOEJ1sJ6lYiYC0pmWmwML8=,tag:1rtneYPlKS+uDzFWev6A4g==,type:str] +ansible_pull__age_private_key: ENC[AES256_GCM,data:do68bbNEpLJsuVTYbxsVsP/9AjnqANPIzC0VIC9QRvWPiuQlteCR7OQPX+uTrjVn6dYMpzi/G32AsX6X5gEx5paSh8XNl5rmdlY=,iv:gdCxC6WFxuhMbusFcwCVT1hdxoXbzhtyHW3ASh+N5ww=,tag:WgXzfOAL8r5ge37JwdRvwg==,type:str] sops: - lastmodified: "2025-05-04T14:21:10Z" - mac: ENC[AES256_GCM,data:EgeLza2JhJZmuNase/63KyoVwR33eFRqxHqSSaJDlr8YHQ0Vx6OTGQJTUGzgdQiC5y/AE24Mesbg1iT1+qufeOwv4V9spW3F0Ci3GOBcKrqBZxnnuHNn6tiRe3R0eeu6PLRcat/HSWY4NFz3RvUposC5YaATP78JXgDuJg/wRoM=,iv:FnxDapA+BUfSMVBrTYb9mcSYz5cZ5Qof/PZo44UTXrA=,tag:2FH63YT8Z54G/o/n8s57yA==,type:str] + age: + - recipient: age1azkgwrcwqhc6flj7gturptpl2uvay6pd94cam4t6yuk2n4wlnsqsj38hca + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBLSnpFTUxpS1YrblZsOE5i + VzluS280cnFmYk52c1RGaHN6eG04MlQ1a1NvClFoeWV5cm9pVHVsbTFuNDM4d1Rt + T3ZvSnJCU0hkZEpnS1hFV1F2cmJRVkUKLS0tIGZ3T1BvWW04U1VKTk1YNmdtekZx + ZnI2cjhQTXJMSkZBeDF6OWl1VllkV2MKx1u2B72DW0ylpoa7YFVxmcmWCvejf83P + U6bzAUyqpNoTVfH1MNti0KDXntV3/xfie4V+uBdHlJoM4wWgwfpxsA== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2025-10-20T18:56:43Z" + mac: ENC[AES256_GCM,data:zuJ5oJfVma8DH2f+Gh9cSBFFiPjSpP4tJcBc1Rvb8jW+rLgxQWLcmScvHzNS6Yj0h3vINnV1oG+pYb0S4rnUxdH5tyYvI0M+DxMuC4zodxGEkvMcg/r1mf+cHUS2evDOJbKzOrNQ6oXTXu7ByBtug4x8SmJ026ul8qUJFJTucAQ=,iv:sJ8oLM1c9Jf3vqKqMbcLUyO8wubhshj/AgfYL3bjn7I=,tag:dwwktlJDiEg9/TSmkcfupw==,type:str] pgp: - - created_at: "2025-10-13T20:10:52Z" + - created_at: "2025-10-20T19:03:02Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/9F+8yUqNVGb0IZSig9Vzwgk47vXOGpJ3A30JpHpJGXrpn - 8dzPP+pCnCBpdfCep7LapfOUBJz0NY6J2QFe7R/R5h8shlirsO041i9gxqyXiIkR - bqpD5+mGs8hmwiflPK5dVVG5eoDBorGPm98G+M1P0k7mBVwgzaTgjm3OjGeCt1ox - v60zbnslzbQkX/pnKxKGrN7VKt0rxOv1LrQRFwC3y0ReZxu1c7/MHCkH4fdeD5SA - xh1GucV/IHiq7XsAbIaD7wuS8GfuJlXblrstKiJJIUOnrwIDH09bAogk+pahYT7h - zbczVhNjedd2fokX0UYtmpzorkSAgWFX7nSMZTgOtstW+nUNGSxePcif6KwPLwr3 - I9jnBxui/UF56u7+IkfbQ8jlKLf/nw14g8PzhR5OW0mj/dbJGXcOmqvtkd8Nr0I+ - yYLrkjrjbJq2UC8IjzmBT2/zPc8Vs+Y1LKVHCHAji9FiXCEjrQSl9L/svRRxcU/n - bh5kwRC4k4cJ20B3ALYlUspAOake7oYKEmD+sa9IRi4H47ocU4PASnMWmA0AakRS - rIn5/RgNaRMkZBQqUgagPkwGf5IqKpa2BrzY3dAGm6NGQrLDYRbO5BjFIOqfXhpE - BPguAikJb43FX1FLQkgQo6rmDtzrgUVL5zETVvjbHJdPq+KIa5yPQNacaaUzoe/S - XgHRkq4ZylSE5fA4R/aQkEV6ASkBm9Z0O8ggcbxIdr/sBy2U+fKTA1ixnVGjh08s - OafN9s42/Ex4XN2dnQVQRrI49PU6okWEX8Lhc49fi0g6pJGAxyDiD5wafvVJNG8= - =mSqm + hQIMAxK/JaB2/SdtAQ//YN2BM0cAL8+W4bKnOgJpws9PmVTLVb45xBjuljQpwMhp + aXIihHyl/594wq8HDfLkTNeiPCLPtwsyUghGxO2K0JtlByVrZqb4ou9I5MiFrNID + 30I1lV+KfUK/l0RxtOwk0u5r2T1eaUsonnW/D19ypBPP9GivW3Mr0tU8eorwwMRp + fVKO6Tx6JsZM6Ta+RjsTD/XsGA3hz7Fhikg9WWJAxFXtSmUFH/cOLzywqUqfoVJZ + 9fiJ0ddr9ZIduUPUJeCr4Rk5Neym2ixNONk4EB/+C8EglEcuq0iFlu5MWcHYPsWF + TFAFRMXPC4iA0iwNLBq7GtT+PlGZ0nGHghDfWfNzN6w0CrAQOKbU+X3rq/A9l107 + YVhH/qqsITN3DWBS/XzqTvLkoF26kFfPsJx+zPOZSwvNFg7AtoA1gKsM03SZu4ws + NARtkVEPUvpuEmZpvNgl5oFh3GcB2upUZy2G7hZGiOveYzzJ8kSm4xi2Dm9aRAZA + IoXUTN7IJbvvmFIzgt8zdxHOq7O+6NNsmuXkIoPe3U+vpXU/MFqO9DrW6VNp1DDA + hMZK46AiaNqYaikoSG5QT6T7deW92eRla182nQMM3vwQXINyttxSQwsO+9aID8H5 + SagAMnmNwyre9zybqqh1te6yxGEN3gytrFpOVVFekenMwr47Us02jsl8gT6nErXS + XgHBrsQdxFal8aqQm4dk4n1cngXcW3/stdEDGiHS16hOFtRA5gk4Wh46lccgrkA+ + yYXz5jrLUN1Day0JslWLLARPHr09Y1Mw0xhuOwTCrrXMigmWl4lN+e8QsxvNA1I= + =Towe -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2025-10-13T20:10:52Z" + - created_at: "2025-10-20T19:03:02Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA6EyPtWBEI+2AQ//fWg3KSKdi5HPiBed+BuYyyYYMNMnzlQdUSye4XgSUBZG - bsjAMgUrBZ6hICfjKxcKMwF7BTYVv8GwOTvqQ/rNJ/URAwRsiOZ0M9LuP/zoOzW/ - 8asV7p145qfRoS6jf+O8a3iD1bwGWwrbd93MR3yFONRfTDF+YksMwK5yBOYruodg - G3NTeKcYVgd3TA22wXer2U81VUdvxnyWYL+5/vczuCnGC1hBGf2Q9DfKtC0KAwxB - DBKuYG4Gzx7yjN81tEk4AoAegN2nptUyKEYzGQrSfINtru0EurGqxCeCBS8MU5Kd - hstcGcTZdtSjBMojCrq1pqhJYgzTEgbcbdPZf5hiczJU7rYnz6SfzmGrIcgJuS0+ - d/F1Ig7Yux6Wkf0UthMTw1eu1WDQc9DnozzAfhDBU1+V5P6sDmgQVmTJguk6qAry - ii2fTIDuWRtfcsehFMi7SA5SdzXqupCkrbfmmpSXjSGUjZoHAsHySnCecayDMNhI - +p9Me2xBOxaPPqWIu8tNHMkBaJKCAi1b241lN02K47y7HFk/zkatvs4173Ww+zQS - rzgsKjDu0dQ/Rpn2nAHZ8O7Z8gw9vnpc4oWR6bbIXj4AU507nSnRnnzTC8IdCK6Z - W+eHT4/cZ2bvCluaP9Rj0MkBBj4mThAbOVqNNVMijQG7Wt5N7+X9bcrs2mLLO8PS - XgE9sqigZVvVh6KCDxFgTzSh6aHH6hjBF3D/ThjJnNmYYF58Q7LgsLyQtcr40g3u - nb7BYVggETiQ3x7P/ZOfhrtuAoh67lfOI3T5wDt9+WcdcpXuD6+iuPspAiXoeGc= - =Wrky + hQIMA6EyPtWBEI+2ARAAt8fzgHEAREmswy5LbVkYEUcE4gZ6/MGplykbsmqHhVTn + 2RfbM2DtIk23R9SFo3y1YPwoTtr++YM797TttEKfMAf3jEm8xcDosGw/he1bBM9r + wyvYI///usr87O+IiVuk8F0NYk4UCpDzYuyUANiIPPml+D3I2rskg+WohMoeBSAN + pVOkdqayR1BZzENoMRN5SJEamoMQ922b7jVeKedg/gT9GmcOB0zn36ktnhOQaonQ + yLS9D0SU+da+NWQMxu2uY3XNjtrmqc+n189SQixAB5x7SlnnnUFMHBJh0GA5xvD1 + Xtox+8YiRdHhIbUNeXSOTm0YfAmL2YKxalUBAWyiAcKg0UnDU8ZNsQNTYJcMP3bz + 5QPmkGcV3Ge3Qvr63CUA4qQPQXdXIy8dIl8ETiyGi9oStvsSjcpOKyEG8LE+bGli + aOCtdsi5cvnmMt9D3UCyeYqLhQdDZ34z/N35cUohMBmfWV55rdBioZu6Q9a09YVg + 1JyoxF70bZ2aFfYAQoKGD9TzR7Uehyf9moFSjp9gHXIVtoq9w1Du3nzzwk1H42U9 + Qp5Jiof3WIQ/1OjPGuhxyA6f2cXEg/iwVqpcDgzaloW49wtEaVmINummxnCJX9Ud + TqzKidbKUQhuBYdNhLemnmsLflym7ohgUhqt9a4PuBl4WwuAEoFGAZ6z5uEaM5DS + XgG6J9Y52oSne2pIw96Wmdtv/BdujPWoGCeeRMHYwuxE2cZ1wNoFWq8RoB74PoqY + LGfp9U3tI7LVyn/Zs12UNVAs1zZtZmplcqTBvIbZun2ToAMzEfrGeVK0T54M9CE= + =r5XD -----END PGP MESSAGE----- fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC - - created_at: "2025-10-13T20:10:52Z" + - created_at: "2025-10-20T19:03:02Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAAmqWDD5gRqXIdYmUS3Nv2PQJf6g7gN+P7AFay2YQmDrxE - K3Lef6fbA/wuHieq374guin/BhGvr47OC+yZh/R2UC3V1+tNfIe99uFr/T/fOyNz - /FQSORhkoghhR75iggh4T2F3KvlopFOQLqW1Zb3Qwf7e9xwsCvl0MVhOtJyeA4yC - KU6ros1fvDkrLo6N7DWdKGP9GpZwk2twWKAnnnm+gbZMFAKMOBavcJeoYe+hcVSg - vs7SO0aU0YtHZ/O+js0DpIv07WznogCUm3GRS7RpOfV7jswsZYIVQD5vOcPPn56z - 2oiPUnJsdM6RwxjXM7mbpxb6ttAqNP9pnbD4QcTTZTWDb/ylJVu9TDrg+dtTrGW2 - eqajsRXogpvS3wcDMVityT81NxvBHzhY4ymIKiCPaD7ANk4TFi6fDv7Qc7S8Z9eh - qOWHFSsj2LSzsZZ6FF65kg+kAIpzClkSHjL8rNETQ+UKySNKvNjivOfCm7cgDwfX - Ezeggm+kHTDaFnWjOnk53uoPhCEY3X7J+95lZHQabLMDumXUzabVXBZaTPGGZytk - dr7oyHTPWUa4qOOEnBlwnee0pEAw620bJbkzOQsUPfT5KCRq4vxLWniIy4M1g0/E - NA2JmvOIF1QgbEwLVkSLsGmoUoP+WbFgdKmSKkRIiKEEyUuEhlkG/1eQu9W6cE3S - XgF83WWU8iR4wvXUz0CeGytv6MoF2r03BQE1lU6WpTFN4+7d6Xy+lZhRcoLIQfpb - 6qNuHPwA5hWyRiV/j7Mard1pcfVEllZj2qd0JsSK5otTKN9xTQN2J9jDZKfJXtQ= - =szy1 + hQIMAz5uSgHG2iMJAQ//ScnbrArByH6JmtM2gnT4MHxXfjJ1hOSrmv0Bw3oj23ec + jFA7kueGGtDPhEcKHZRPVR9oWRj1Ll8G0Utl5p9dtuTWr3Tmkprnwg53KP/2EAOI + Ih5/oJ9RtJmIfkfJCy0uPRpP0dC8FLcAOB5gBGgUqYsz7DKQXXnfUcpEmW7Bu6SW + DFGBsxNsSqQOiKUlUD2Y+s5KvQYzjYWz0grAao5OZ9cjdrhkmtdfeeTgphrFPBbG + TJBeBjrrjA40fHTiS+QETITaywYXuNe2QsL3Mj2Ww6cl1P/+b+yBsU2kWb34XUzE + 70oEvLM8rOzqV98ihLZM6XQEYpAmo9I4up+sMicXTPn+QU97XhxMxPaJBttC/AeM + aWzLcSKncZoHP/QE4bVBNuVfS5lF+nTDuCAMXDqsmkSEnLSV5P+eTV2hcCdpjT6R + fKJAlkpkjJsGzr+UhgxveUqGvRpuLQdL/o8zo/tV1++hCjS2rqRsSrG9wOBNypcS + fIymigIeuYnC29osYqsnU/oUrBDFFN7/gjdQkuviWsYH3tAAYlN3byNxkqLFB8dM + yq7xXnkmgM3cZDpUsoAk9776ovKGw9Ho7o2nH7/Ztqguvue03aTcAWvMwZV66Met + tmzjHDg7LQ53I5YCWJ16PRu7MonSbhpG1FAhzTd/MC0ycDZvsh6MUTkvlmHG7E/S + XgG7H7QPOhcvxXNrMkwvlpTWz6Hrzb/RrSgnuepzxUJ4ZspxbFcg7u2VdSS15BkO + alZ53MQiF8FOyXoXPTuVOvftxfJlNs7kFejN+m3M0ObIsglLQZrB/nmWdkfmEr4= + =9FFb -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2025-10-13T20:10:52Z" + - created_at: "2025-10-20T19:03:02Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ/9GRDvEs6I4NwkGon7+N4kbi3l4qFxkRCrqN/EWANwI9EY - af6kNt3Px2+30Y8UsnZjHFmW4S2u6YrpEANuD8pWszLbSuvCY5JINBdFmfu9T/n0 - LS22NK7hsMyW20Unj1Yl2DKQyTBvLsB/m129bx/RwuxLv8Zv+WGHUu/amF68+/Tb - SuLLYfjsDYeyLVOVJVOPAcrXBQykf2dCgQwhBFpgmPkZzX5SPwfGEYY+Lm4f+aiD - kobyhGmKCSYY4N2UzSNRvJpoiROjVfgm1ujtRctbw+8VdwKzIwiaA+ex1a/oxEcn - PQPq1lzM/CpPCFxk4niNG9fG+NhFsSfxbo5K5squcLiYUsev5a3dhXUHt8OEFTzB - Q/hlhw9V/aTzy7ILxEHndSKznjauknnshG14mvzv2CdJBFURE8KFL111meijDk2y - M0b2pTO2ggu1GgZsY09mRZCYn4L+HTMq9eKT3LenqL6G/vgWrsnTZbZXuTmvNmWh - jTkq5tCtUodwKY/vB6JCdk8HL4lzVsLExCViBeqZifUyrDAfaijJ5asNnyg+kRw7 - owm0H+LikhWiucQiI3wDFDaGCXLAfZC4k/Wpc5wOC4T0tCmHbv0yAwvoG48SG1eV - M3VnbemkFwfjTYnOoRU0+JCvwWTqR8ICRWuEnMu/4aRkMGTli7qbJ8hodbzaZT/S - XgHSasMVkmmD2DDOumcPj7FamYRyRMqEjKsvDki/EeHUvpOgyMhVQ/pRLl0v2fsg - uIjAzSJgUsaGkSM9s18AArSDRUX+ueByp0p7jyOQeqY67p9ELRt4REk5M89DLks= - =Ngwt + hQIMAw5vwmoEJHQ1AQ//aFsuLbi6Ko141qRzvVNa5+d+QVKlOgaDg1DUU7L8eOB8 + qJQr+pLg+5DfQ0JKaYICvG5AJUXYZ3eW2OnIr+1I917G9X/4zk8XjfPRxda6lOBf + lX/NZsFplcxzASamIQtwlKdaA/rNZ23JgVNZn/EnnKxTCTDAd3wpVeKqPAgJUY6m + jSvuYJ9NzWBG2Qd5bdvX18YUZSra6NXalJRpqU3jgRV++AKBUVIPxAU9KthwScuH + yxB2K0Nd9l45Jhg4SyQxi22MN849iYrlOohIi6q9ykYUAEdy4wImxEP86k/pIgbA + 0JdV4+UqbV0+A8PU8yx1ZZGA6YMwrj4zVpvOJokn3rbMOHMuj9TwGpNXe9cMdhJs + di52jGoCEgeWEcm67j6EBq3LZjMjnFfjoUozNT4O6zKg0rYD9Db4cSMmsveIkjpk + d80gv9TEGhDN/8BwKu8fpMGKX9sCEuxmZHh7W8teSTrEerXOt3Elov76pYdk50dW + Fc9hYdAhNS7Brkb0hLl2FWDV9rFB0j7SUUEMMfcTGCJNQsVTIFpKPpRDRyJ3f3ne + KmOG19BL2q01/Kb5hrfsNvRx2/apj5CV3VlFNubVXRqTVR3AK2nAyXImiTh2Pb5r + wEiWhC382Rt5B9ePV7LLte0DsOi67QY7cAzaZ7xq2DljVTu96dO/qauNOjllDzrS + XgEo9UEndszKuuQbHQNP7UWmfoX5Xld1aj7QY7+hbjYw8cdQ0kxDn1iu+ePla8T4 + XO4egiG8ZUWY149hbAvej/eKM+vimPEyHMHJqINjg3o0cgoFmodhWidGXupYZ9E= + =4faq -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2025-10-13T20:10:52Z" + - created_at: "2025-10-20T19:03:02Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAtDsOQOeWE70hZw+0Du7uqAF+OHFLHDLZAuZrmr5ggSIw - p8mUVqd5eqS69gKLgJQ80vPYD1laU8MAhdS8DzAqTsER/EKZtSMX4ANiruNve278 - 0l4ByfC7bS5/1DLWqYTQ0M3bsw7X5H1qR0hFJm14XjjgbBuObzz1V7IOO97ZAPZZ - XT27F+lSE8pX99AkkjPtgYq0refbw6A/BIQXH6f8fPqgZh/OYAAIj6ynQf59pGgu - =HKjV + hF4DerEtaFuTeewSAQdA/k+VqkHz5pYFUppWY3oV9YTayH3jeHOzQhGz4fIqiUow + N9DXVNvXoHyOVmH4EW+AIrDcunUFh3JZL2OLw8zSmwXw2vdw6wfCEP7TuG/xtpmG + 0l4Bo3JAPGe48qDDPxUQke8CAYuMLeAMo7i+yAajGOzB17wv1kyfI6gjOE1YN1Zz + TVpn0QL9dBoU3l1zdxueo3IX3EnVGvmDWx0ZOD6IYBqCI9ywYVfUBSRnU0hTvnmb + =0xE5 -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2025-10-13T20:10:52Z" + - created_at: "2025-10-20T19:03:02Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/+JLkWIztQmdTjmgpuXU+hJe6IEMzJXjdhGJWBGX1t/MKt - oi2/Tk2HmEXdemtNdKpiphFHZfsfeqnQb0gzJUucTFPDScw+3D31xUX1ygczmxiM - M/WyNsyUJFsQ/J5RnDyJvYvFXqEAboF/frk25c8gBoe5HLmfhi5YWje8n0oG1nZ/ - x2mAhuYYen7r5AT03ZaS7Ke2WPcKzfhs5uXx1gc1jm7SnTR+MKrf9S3pzH3rapPw - UoJNHW6nkg0FOOOg7aczJbt17r3luup5pYzu2RoBlx18JzS6uCnen3yEjwuqKW+N - jEDaMpD1HyPKYD7Af2yfUDtyGcB9TOdrLKbERoPU4ytL6megzopeIGdpP9cnY3Ak - HF/94x4If/Q/zxbXZJGoFmbC0xzEwNdtD/sqw+oLTaApYYp0gJigkSbhj/5xzDZf - duRIzkLvfbzrDRf7Y10OJuKblRmF9dDwn13SxpGA+/zgS+817wkkCKs58sNx5DPh - zVjfnlMiKkzPRGQt43lbOUYbP5eD6nLqO3+P1YPE7TH60umkFYv6X35Z7nnHv+lm - oseNCseb4xV8a9+QOwaTvlbQ3OblCYDyEm5RDmqc6fiMy1L1kq3DYDEsCToFAGWF - JJ27BsfU9NTcUo4+rruIkb1NSHpkhbl2EYCzneKdKcQVLzrimwtWTrDtvahfT3nS - XgFxSYX3q73DESUyay/AXzpOmebLXNPSLcB8ay0+yDcELs4E/JXQwCPn24egh9oj - 3pmTa5DWMBFF6/hWEWjjPFYkQmBdIO/SsBPvrYjJVUJQzmbmsjOf6mKCQyr83+Y= - =cA2w + hQIMAxjNhCKPP69fAQ//e0JAmDrwi7CZZTAPeJf/ulgbX0Mjr7T38CKLMjv8ACQX + ZEGV9Uw+JiJkSqVMKR0I5BlqoZjCEyKDsO6YI25Gg8ques45mDdEv/1XJUrm/SUN + nVgk6cQZY+9RlNUb7iRQuA9C9PHQdR2r1vpZaBNNQac8lYXLnAIntKsYk7ahQIdl + zASKaqADkKG46lftwskNixd3y3FLundIQ4pHOnG4w1ibOnCVHeX3CI5DTCptWr9/ + G9D8gblpU47bvRe1o1chfQWulelDcqs6UpCKkWBZ3VlN/ky4kgRby7OfGDeWZ7pB + 5qhpeabgG/OUItj9WwM2EiU5hRjec8G9f3ZoGgMU1iEzy0Fn0iMNUwVq0X+0mTXU + MDFJR7OuU5fttwnV/ZbscZsnr2Bg0TJtJ1LqswXqfTSYoRQjIgq3TZgOojgRfWMB + T3xB6PjmsH4JemZop8/MTWeaNVhU26T3to+B0YitTWZiutUyvxONS6rk3d8mPIun + 1uufVhv/ElmlsKj2JOpISGhJ7HWdkVfwzbLHDXHquroF7rqQnYSLesqmTqet6WEV + ZNv3c1H0R+Le+dMIAyzufxil3xeFfAzZARKw1cdr+h3/WMQ9Ew5Wqc+YMzj7NebL + EtKik2RW5kismM8CaFCPAaeGhT1hQObSFn3+07cAzs25vFdA17p5tjE6830BHqrS + XgHWmEYCnQLmY6VHJLcRNN93Kuh9HzaRVlHru/44xX41j9MOXn5G7gUi64FVwa4h + 2L1N++c9UNmpshELP2tt4c3Bc1r3leGs4SabpqJ6VUpwiHJmO6zNGG9scnFdLKk= + =lKcM -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2025-10-13T20:10:52Z" + - created_at: "2025-10-20T19:03:02Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ/6A0DvwSv1bLOcctpoPdHFtYADLNWtXMbFKakmaUuSoAxX - 1Fr4BLOPJ9QvUoHoEfEDhtL6CJ1p5BLB0Isrnm9gvoNM0PfOlHSl7nbFZ1nngZL1 - y5c7hnI9GY2ZzBT638pba+G7CUPSalfyFG/OZRCeSf4Rdek52uNMiI99XKqPTefN - Pm0hVsNY0DN5iyRUDka8eswRCQ4pwxZuxrGRPuNAnPMnZkj668H5wqgi76YceISl - 53HMD+MQmYtdePupcFhqOvCd8sumpD3xkhzrcpqqyRVSQM48Z9kBVsqdljZN5G9Z - 7VxabSfyZTG7igliAqvSJUk0Eei6OXjrqRMKT4JTHRVMteeI0pmmNPLiWm7YaSOP - ZfsSNHfX/JR6PuAR936HazDJuS8xZWS3vT6uSksQmvkO6NzMhsUTv55z24ZQUO4X - PBBo8jbjgu0ty0HdPVnvhGNtqSzDhgNqSBM4j7HerdRz1w/yUvwN37UKlz4tbnON - oQr++nnK+M+u0JKrx+GUobbu7cGsqVsWGq4ZgkOrYYn/bTJvUUEvVgae5bGUdKnz - CMOgJIn6PrsWN7SvcBUl9A02P8NrVRIur2sd/8rrWnan1k112HCnjMNtFhENIfX5 - vSeC8H+CSP7oUL5yWP2nymo4E9bCD6aVDG502umtAdsjmOJdTwWOE+pa6XMXs+3S - XgHEGvwU3oommS9JvbLirC1ght4tyoTsEKR87aljqt8YxDdx3uzln/0zGmQOV5Wl - RlUj6IvdcpOg4EEIV5j9lk1LThud5LzLOf7y5YMDWa6weokxPFyalBNBFCw8kmM= - =LLyl + hQIMA1Hthzn+T1OoAQ//XqzOZvpif1cnn2vcwbigLFxqSgQ2f20NGCu1sNuCxqMi + C6b4X3BYTysb2hp2n9fHo6VdLEO/O8qi8e/22nI/A3C+8cLQyXNR03GPN75xoQgC + cXvnOdsACQvtPorrsbJhzKqxDVP7offWNeBxNyQB6UPiFEOXtKBtaiG1OwiBNI5K + PpaW72M2QW/oha1DwIvwA0Am8Ge9xze7KjamKZEl19pplLVGdSkxPY2Q2lB0l6sw + zrn1rZOrH0y6X7d3AYajdxs+3ERscfRFBBck55h7MZXDRNLECZGpRG9/6EOosoMf + zVk+ANxoEiPGnvs3f9LLcNSj8PlwOdfrwghG8J5DKUUy4gzPpvx6QiYuohYt0mRQ + IA2KPi3EaytJvYrB1dwWrEMXk+xV5AJN3XiVtPHaag5fv2lL89ZxPxG1zGIRCX4d + 0VxFk5HDYDu0n4QwtaGkg337l9XLtW48nfnI+5Vu0a6ACDyNGBwlP+iDWpp2KplM + KYwLe9Iw6OjhwUDxZygZYppo6gJ/3zItqc3CNI18WyDNKZbW5HXbJuXwU9CHGyff + qt6pqLdsdZ07hdTKHKheE3QKPYu/3sxHX5H0wjZeLil0FVjQGg+UQ1Z5vDBOxdOW + Up+j0DdRdguThffY10U4UIJulmY0L8YkCgUcNQWlaJSg4Rz1Ebmapg5ETtwQtg7S + XgGq+qimi0YqNYDpDKX23ormKuOUD9RoBaZW5LdSAjXux8hCABh/EOud/J1yvUnQ + 7RXxNvN+jB34Fq6RoZnAmC0ZyZ1baqQsXUEKt7xQ/XVc/ouK3GTIKmeFrdlkKSQ= + =iFsx -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2025-10-13T20:10:52Z" + - created_at: "2025-10-20T19:03:02Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ//TIT5XZeSOpfXWv+C+9n/GnVRFI80u1AsaUb7u1ykzXeD - 9Ca6o5g+MDXP1KfuaS0783vpN+DgxGbKl+yPTJ9y0gfTYXu+gppyNVJD5mGBMpMq - BS6ueX64mQ3wVcpoM/TjRZhQ8ZfUkAh5QPBoGMpQZwqVMgurojt1Xb6VmdVHmaUj - qJis6dzoO6vLwbBfjqmCyHN734UboWNZhmhq3Fz8G4U+3hoaLdhVZfj2hJQRQ7kl - HVul5ZT1dmYP9ZzSCU9Tmz/ucjJsAO27vtXGCpBRLz8XYj5+ZEw2fDhzuHESGumj - hZFgC/nJl8t4h7U4EHgysVOCVPWKFda/sfbNsArrAqBGq86Gens/UbS9upU1maVz - qits/r0srrfI5kdK91gXgaYWOgjlfgZ0sahEHAofKlpcZ/eNCtPRZ6U9IBFJ+PFW - fz0cceMw0JbuAR9ArxcR2ylTJOtMRAGKHvNFwxShaYegcMktI0KtMqZYO9yvms8x - lmKwkB5swaAQhaIMm4/9XwQWE/talLTqFs0DePwUHekhgNZDSbyi/C8DP6BLnelj - 1kSDa4HT8P0oXQ0Wom+1zIq8rZOs4418fri2X4YrexeKWDEc/rnXNoNacoL/NxKU - 3hOrhfYz0hgQraC8+v64pe/W3P4sySKXPh0pm759PQtyBMP+FbsLg5BBaLGeYCXS - XgG5u2M/sOoH2/2QkZjbzR29hZxTzOXEcLeJOPyhakNXQejrahM29QQWgtrA2768 - 5wFXbVKi82VJ8xeuCcU8PllgOY3Yyb2qehBM2cBFMcsmYk8D7iEzyc2GUtVqgK0= - =GI1c + hQIMA46L6MuPqfJqARAArTCJBi/ajhB5IgD2rphY9CT78lpf3Fhap0Ra0wVjej6q + X1nOa8KenH9GAiVj5VcL5Po1SXVCXf/aMAnkSVZ28k12JrjdBXe4wKr324tUTXFq + VrhaLTxCV0sCB+RMoh1kVowRnyNrGUskw9NdEfKmnFC/o9NixkFrQHDDG0m5QNvi + W4wTFKlyp+GgkZ5Q3VJnpS5c0wEbS+JHv6mXG02be9IvKEOc6T3Os50JrKvxeDX9 + 7DM/sT7JCUepjrXFJrBVCv0H6NnZi2fhM7gKBK3dF+9X5E2X8lqSzl1V4ad46YRt + UNUR2ALZ9f646uxMTEfrpH6eICgdv/k0N5pHPmsC6FdyaG9b20rLyXaCnvNvT57y + Xy2xXjO+QnkkUFoy8q2Z4lIEvAoiINIrxJr19aamG7EBKA1EnTgD+Ug+z4wHgdlV + gfg89nPxIrM0yHikSeKZOU5HI7DKz37vVwAZANjFNqqVUKvCnIu0EAhMOtlmj08C + db3PdorygJD6oP118dzOToYlNgKhtNjPeVL7qmMf9mN3oK+fcLQgpv83gG9AAVxa + 2nmev5eEAVDULrHXJjplMTZG+5NgJy0Zr4gdrc3n1uzYuQjbw7ucYuSoR/fjpxlK + 2qE3xoGzAP3FMmVaYbedJUas/RdKh6xM0ZQAF2MhLgMt7cZF6ay8rbHeJ1uGB7DS + XgGOitJbiD5hNJH1PLTl1vplMi+GGI6VvsdArzoAdPBuXlUseyoLaNQBLQJ9tlYv + 16J6/mCZrUjVRoXe8XAZ6PEQW9Z35DXsFwAtnBQIzpG3Ww7kf+mVBHQ5ElkNDE4= + =yj/J -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2025-10-13T20:10:52Z" + - created_at: "2025-10-20T19:03:02Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAjxxja4+aqH9LtBaFsqIC7xU/AWLx11pQeAfKeFtg/1cw - BcwQZcjlmEPpO3KVvQJ9pF+SDB4mj7+MlzZZe332CRSDIRS+JruUB1fY3kzw2wrh - 0l4BRIjIuU6eveaH5r3EoAieCO8Fie/v90HBnhqj5EHk9sb9RIrsQtcB1j0ISWx+ - N2vhfLt41VjDf0EA77XPWWA73ULadGjtaf5fY2T/CYdpZn+dXlp1LJ0rJsM8Yd/P - =p8Kw + hF4DQrf1tCqiJxoSAQdA6LlIV/tP2myea1X8BGHbF0OdTkLRPk2M659U+Z4zAigw + g/OspH8USPFrJQf4OdvoOASv4mIUlr6XiZ98WdgSR47TdEmfLInaJMN5BxZ0PRPf + 0l4BJ7gyU1pjxibIMm3cJz33+AfL7st3F0p/aWsbneytlGF+GWRLQpnEjt2pO+Y6 + tjRVCIbZ52zdZKu8p4HCo8YlGujWuyLDoxs5Ra2k8MvZ8wn+2vwQ9rldWqRKxikA + =OHMy -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2025-10-13T20:10:52Z" + - created_at: "2025-10-20T19:03:02Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAUUdcZJnQn1EcfuAqp9BafmuUbOSq+Ppj51XcQnw/NB8w - XajucpNlzRvDLqnOh0XyaHU2Tqe5DWMD7db0xzd9uax/PElp6u7yvgESdV3ZQCJy - 0lgBtwU0dvgD901znlFhmNFwDjS5ViWqtDgDhJ2gRZD5ICJyiClB8T8DZgln5lun - ETJp5OM+J38e7lGI1xWPDDzsI20/Ee2ELDytHlg4bPqdInkNoZ+vkQGl - =F0pd + hF4DzAGzViGx4qcSAQdAQUT3qNMP0m9l9ZNUzE2QI957/0Cb8ocQLFg7PGsR4Tgw + 60xK6O5zxpTpRMWu2iddr4ducvsEHvZxOykmY0fFrLmmkZDp99ac1wd51YJTAcms + 0lgB73iny5g+GUvM/s9dgbJwnFvoGcHOJapbhVBl0QpT4HylDtdbskNK07lTNqys + cf2Qj+2wvYtVCciHirXNUhOHEtY7IoJDQk7SubPBEZpMoAj6zstqhhLi + =4ph8 -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2025-10-13T20:10:52Z" + - created_at: "2025-10-20T19:03:02Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAAuWO/F0/utrDSBlt/zIz5EeQ+AD/t2LNIJXDemlwQBYW8 - 6c098Sb8rgi4wY07ZVdxCukv5ApcGqf1o++akMHyfd1z756HVjPTVmBGPPP1yPFF - 6iPKkNwfDJVD3oHLqq3rczwYQbVUR1ri+CibuHfhdvMXI05MqL7VUNlhbt9R6IqY - vZk+3X0ikllZf8AuSfWXXzRkuAkpg2fWF//trWkaKlZbl6reVZuHTGIWgtjk+VEP - t1tV+0tYdP73dG/2u6/8EJQ+iZ3LrRJn+/1ALEOD6eFhHZS7Dzgz/I14qxyX/5Fn - imxH3gV3BaNxPMUFw0D6V3jzfJB00wcuXQkm72Ef2mtemjhZudiOd5U2buIgtb/h - wqySS1XNxT1IWikOdz3OVpmGW0kD82ResYO31qh43xsO35ZjCSzLjbkzXqeqImsn - Qj2+xtbtc4Tu5u1r7CSeZzGdk0ZrneUuztSu2dBnEFukYmmHq78sj84GBBbpvkNG - TWLnFB+VQO4o1EaNR5GrIlBo3zBMaftJj8EEGcoAuIgjc/b6iWrOlL5aQcEteqKP - GPCEmtZN5ET9tW8qg6G8ue6W4+KVmG6V4WYh7ftN/YhqO35dXeviRLKst0Z0Rh5r - 7UqaY4NYS7CmCDi09+b19C2X9R/Y8Z6dEex6gSzG4Ze2+NgpvdS0zPhNb1FTJJPS - XgFc77guJSHqZ40hrh6NLafevW74kzGJSsyMm7U98gyVzt3daRK0Kb6OkAfDDnbE - kVTVeunEDWDxLQUFldVZwjzruIGi7nkqQMDh1RfGqdN6XIBbL0kAdJBfwIfqv2I= - =U36g + hQIMA2pVdGTIrZI+AQ/9FTUO0mkPUFLv5cFLhsNibSoVh4L0Gnd/cIFhjcI6onkT + mS6A6xLmPJn/tpEZUeyxw7HfE9VGzGvkmd6PCxKq9C3Yyd/CCoCPjIsIOpd9nw/B + rOBwmsQLyIOWKkx6PQ1A4aEoRHb9RnPWTJLd4CWTOGauRkrM9tZ0n9uO3L98cRUl + NAwwzH+Ztg9ihj1CUJoX0i0njOvrhg2Qrl5diCE40g91b5Uk5rCmJfy/+Frn6iIw + JuG2FphhvdN9mbhw3afL26YwlYYGbvKI31CpZX9Jl+k04PqTm3S/rxX1LDr9PDUj + Xm016D183mqQHM/Tr3KPTkdOg/pyIvR0w71MSC3VrIv1z8EoojF9QwOxiSlxXX1y + KY2/tT86HKBPtzXKbAXyguuSdrMzjBCubOjRJRZj9QdMArQwL+7Q+nXGLQ2faKaK + f/axEZBXu1A0z179QkBfIn78tznw7E7chmnABQeyOpLCfCuoyjJJDgiWOKSozIWk + 7SrAVjO2WLKJcyVeLdO4KZapSumE2mIBBH6xxZKFAHPGeWTkd7Tlcsk2D25lcdPE + /i+jzSyBSTPDzF0Kg9of0BmfkbvRg8/3Yjapr3gfmZVAyjLPqzAoyqi4d2o626Tn + s577vgIdafAiS+iMTa9QtS5hyHwcD+dqmJWv9J8Oexb8R+9Xi3XlN6exiQaolD3S + XgFoGy4Lvce9j0zJJxWp+jN38brNsrRkTZ0VYtow6wUMPK7J5RPlXpOTI/0hHxDv + ULJ3lIj9paK2rlnSDEGv3jCfM88OXC8GSiIAN4618vyk9QOy9sWfMTq12BzvESs= + =nzfQ -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 unencrypted_suffix: _unencrypted - version: 3.9.4 + version: 3.11.0 diff --git a/inventories/chaosknoten/host_vars/lists.sops.yaml b/inventories/chaosknoten/host_vars/lists.sops.yaml new file mode 100644 index 0000000..0f17dd2 --- /dev/null +++ b/inventories/chaosknoten/host_vars/lists.sops.yaml @@ -0,0 +1,210 @@ +ansible_pull__age_private_key: ENC[AES256_GCM,data:pUFhg492OUXVIlDZ3Z9A/H0doJCuTX0zh9qLU88nz18jMzWmzXhc2kbQkk4QeSTnZ12juiTbpUFW+1cE1bOontIu5qiQgpe3c8s=,iv:bONSyFUibcszUcxBt749aiVVnqLKBuEJmfege0dGaM8=,tag:cvapTnTN62XTR6tQBSe+IQ==,type:str] +sops: + age: + - recipient: age17x20h3m6wgfhereusc224u95ac8aj68fzlkkj5ptvs9c5vlz3usqdu7crq + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBnZ0xCY2M1aTR1aHI4blZW + RStrN3czUnNaZUIrMGwzR3VyTGFGaUNNN2lvCjVEc1FOUmJKcEgrUisva1lUQ2FU + TjRzbDBoSkZIZHVDMVJtZGNQVU1aYkUKLS0tIDZsMkFva2ZlTS95cTIzRXpHaE8w + UjhNS0lWelJ3WjlTT0s5UlhOMlExN3cKRmzaekpinaXNml8Dq6Doqok+vn2cmBgu + iv5wPriaTHkfrMg+4vbGzTldIjuMhrXdEq7luF37grN9dgyEDn6Z5A== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2025-10-20T18:57:27Z" + mac: ENC[AES256_GCM,data:IAM6vn4rI1l6qvPWEcDJ5xoD3I8/GWOr+PmRQ0QdkVMD9Pt7cHtMhHPpYvH3e8MfDPhC2g2uwt9FHsPqpcOXpflme0aF4E9PndGi1Pzi+yh40FSBAzLT3MEQ50vZ2rifzqUe5KSrXByF1WAnZxLTMST+xIlvEZOV0gx6y0G/iHQ=,iv:15MZsyClZ+WLBZgcRSq740LgDakuHAXAb3hAQyLKVSU=,tag:7+lRz4XKKVlkSeDVs4Jy9g==,type:str] + pgp: + - created_at: "2025-10-20T18:57:10Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxK/JaB2/SdtARAAiVpVbDyneSRJEUF2n6Szwfc6aHzYsldZpid297JEPuMm + YtqUcZmb1rCLs8F2reLKq1HUoHKvxgtC8IaiJH5EB1a2JYRr3zlu0Cq2D7DwpePK + cJHcoCzkVIcSonV2ojj+ay+L3T2mwEZEjVO9lJuXQuiupPC5fo0+qyMOeyfmQnWT + FLF8C1WiYIQPw5gy+p1VykYNrcGQa2mRPGTU4JwlZc5IiDJ3DDXduwcsg7bj6aA7 + hVR7UPDjGRmGSr5vV1d8M4EB0JEKES/e9nbUfJuEoYE7jeRbPs0RoSYiNmSi3q3J + YuUMw/rneZ3vBUm2HPP1X94MH+MeECIqL/T1Q0+lXPNEWjw/S6X7q6+N+5rkRj54 + urmNo/x5ruDf3Xap0vSObHwFTzfpYZYoAXwLofkT01Dtkhj9Nr8PxVMNNYkkKNmh + nPvfcDvwfr7wCCqtEigzK0cN0rWQJaDr+Cyu56yoRl1s0vnr+fAuvqNHsT1kq2WY + E+ep1lbyqvTb56ep/d6a+gFH1G4IcsmmVoFzOwBuGB9xFN5zhulQPSbyk6/eTGTZ + v6BGhQbQf/XLkYZLFv4I2v2WSYgiJcmBBqi61dpnPtOtdblth4yj+SsYXiddY7m7 + UitDQ9uOiRpFmABq5jSQN+WaZryrmqKpDDqfK9XJbTB9XTJsWGaeenzPhvzwaoLS + XAGxhAvtQsqH934jMtUZCQrhN4DbZXlyyMo+h2FYa3BGQkb0gYE/eFB7PwuMYCmI + ANVDs7Qzxl7GMfNz8tm7juj/wXGfr2B/I1Gw0j0M5ytWkKf2d7BWabM1aLxX + =jM/Q + -----END PGP MESSAGE----- + fp: EF643F59E008414882232C78FFA8331EEB7D6B70 + - created_at: "2025-10-20T18:57:10Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA6EyPtWBEI+2AQ//c/sAL4NHAWYI4SVDP/F6q9CelDGuBK/oUlH7DY2kgBuD + hyFnjYC5ypLTFm3iV/5Ctpfb5ypFyAdMKkdgvt84VRV9XqLi4Qda+H4xprg3JMFA + oQfsuMYSlXfVYGC5ppL8TaI4jmMS9juz8dUenZGNK6y19VrinbbjU6+pPy9X8U5+ + gMq3rcCuzhigUBoQ55dSbw53FN/lFCGyq2cST1wgfthJIB3mxQmjq2kl6kSrtQdL + +5etkk25wLOWPZGCQzsyzF7IkHEpKcqQdWuEyVV1jZT/CoOiPGbKFmH8TDPX2i8b + rOnCAlCSJqm7w9vIqiZz4h09ZDlUQBq7RKK2YCcLTtfv8LwPr5HvSX4ffBgF6G38 + roZUG/o3FKbhRHn2MriS6YsqdVtNaX4svkiFQ4DBuyCuLLZXaQVGfIYwuna3X1hY + ZrkgtpJHYgenO6TadQj3mbe4PbwJKnU5iFosizSUV9Y1vgoSasqpxkCbqvxYPqF9 + 8nZbUfyoaLpuiZo+j+c+3fj/uQ44OJre8wFSsUPt6uLSQQ9HqSX9o3OPM5IRepg5 + aNmPq9rZkxLQrI6mlwx7nmkA41Cy3hmbP7einbpFVG/tno1ZMgzT4laMZsDuA8hL + OjYGX3e3NJZJ1lQZVMWkAsvMcXsVe5HZrH6DhPeZjuEHmcAWMWuhUUW5/a2Sy+zS + XAHSQtBIXhr+DWVrL24ZNZ9dfTkyOofnQwYUqEPdn95lMFvIhfwB7vnL0UK4kI7D + JWGYM7fPADgMxjG0Avd9m1IJuzMPzvk1SoYoRXoAjLN39nY9sZsabbKrQ0Ct + =rXgv + -----END PGP MESSAGE----- + fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC + - created_at: "2025-10-20T18:57:10Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAz5uSgHG2iMJAQ/+L3+oHRYY2uN95HfPSHk/gZ4WMuqNwPcIMyCm2kAiSLS1 + KC9wKpTSWEkAf43EdG3DbzOtxbfBoMwfufm4wORnixQdpTwSk5GrvxyjBxR5GtCZ + oTGepcT72wUxJ9wMp1kC1txqCJtH/sqxQJ058lRP5EsYQSfbijc3Ardn8FRUcNzY + K/MJ2vkJnq0wsOrg3HrURdrIEvLKI/np///py11NicP//l9Onde5Pqds6Yk7VCtW + 7WADEnGclDtrSwvvXcRD0mMo2tAy1j8Id+EL2vwGMkGIydpPvGF19Ef345IsT/ES + Fn3+xzi/KdOISUktYc+RTRegwtE8v36XtWJnqDsYs6jdwKXM3tyYvqoCm1u3ZySU + GTli+rxDxqkacXT8bTJ+N9+3untZwcSyYgetbT8psSiqR26N11klh42tnjtfF4tx + R0UkNcIj23EhinpvZXrPiOgSrddgX7hZzYNdrx8rkxudIM94neS24c9jKpXxmO1N + GZ63TdZnUfIW4jQ36Zsb7VbGclGEwIxC19x6RUCGUgZHqWKyEG+Jl/8jwP7bbjw2 + NBY7tI57CLqx4UkiadYq+vT68oV+R581gpkC/uzLjqOoVVzWkStoNag5lCbxhvvS + J8gwqyCamNQpq5n6vArqUEHDGE7dC/4kxBdx3knRmJ8UhtOdE1qd8VJmGlSgrkLS + XAGKBGsRUmNZK5QULK43RJFGJnYJABMZEbW0LncsDRpwPELgb5HvqFIgxsVj1J4t + jQDkMgY4jUajqSQvCIzQlzvhxoVYUydimDEhUFW3ElzeqvvDiXhy8wk8jzUk + =1AVp + -----END PGP MESSAGE----- + fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 + - created_at: "2025-10-20T18:57:10Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAw5vwmoEJHQ1AQ//TwaiFsGmDJ1O7zQZ6OWgfpl6Im9Db4lluy4ztcSFJB// + SpyoTlxSLJrGREVMIcWEWpTcTVoUaqIEBDRsdgMoBrdEv/uL6rU1Ix94YWPmLsDO + U8BZ+SmOGPuHpyTFKPibe/kdpKraWeqi4d/cDOcnnxbtX8mWTONZQLViVhlHS2JN + 9jsXzvNLuhii8AQdVOqB2TtXeD2IUrK3CpeMELrMxQO8Vj/11ycF1SvoM6UxyJD4 + Js5dH5FkysB+nJxeUwMjDUSa5GTGABwTz46Gy6e2gDdi2p7ofFW/z1GL0RPcuD2g + VjAgkxKJLtOVWHbSRkWBEYpD/t45ZYFDqJonbbTjKG9+asmbcKDXqUvn2I1vdo9E + s1B3XvGVtlVkeCpwpzKli+UxB9LyQLa9QQnbGGoxBCuySGdc9t7hokdG+mO0ulpy + hSqMtM0g3EuNLOLL0H0OdlGoaS41BXsCCd/E1W0l+JcVbCEwm/BFjrOFDvDp7BGS + ZAMJQE2zOaxqFkQ6HqkSugmUZdWIqflO8lC3vOlDU69Vv4BSqZjuC593JuHkSGZn + /az8dIKPJI4PSbU13twz4JHSxPk6RJsLCsFeAqZCmgAu0nD8Yw/xMORZCALM6dUz + kZC9eguLywU/cEJyHI1l9RiFqlwfNK2lPtxax0Lo7LKCMEsTtuSFcvLvxl1Xev7S + XAFkHw+9fkzrWf+gLc050EFpY0k4kMBP3at75KWb/Sl4LSE0+ZGKeyWGgyVPDWAj + l2sJbf4GXHjHl/M/Uph2uDmcmNtlECJO07LylHcdOPkiF+Qf3JBBavOtpTLw + =KnHm + -----END PGP MESSAGE----- + fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 + - created_at: "2025-10-20T18:57:10Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DerEtaFuTeewSAQdA/jTg8rl1ZMl9rSubQTyoyNGpowlbqPTwaykbESi9Dxow + mrdhmIK8FJibVGbhL5y+upDQP61JWbQVL7Jn7HvmjQ0UkOMjB+lBZwRxqD56bkMk + 0lwBkOc0ICDT0ieiYEaacNPsK/xgW4W0/M/QE8943nNGxZbzJwCBLD0iT7sFU/FU + E+UWISiGWskH8ND+IJTMLjCkz8efLbppKk8e2qaCogzbfnrwNc++N+0zb6HycQ== + =FlIT + -----END PGP MESSAGE----- + fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 + - created_at: "2025-10-20T18:57:10Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxjNhCKPP69fAQ/8Dx/PoYg/fB0SsOF+o0/5ihVXzbs0pUcFnOvR8VdSXHhu + X/+pRu1j1h36BU9tWbDoinU2p5P2GKdirlCPpNxIm4Fke7n4OjtUC+lIfNTg0K4K + pDLLXBhLZd24sD1zs86CVYMH7tJXxJk29q5Cq7YRnhRHc2RmF0bXLIjeyNRI73I3 + Np0NDfrTLiOlpKwjnX2G4lXIm75R+D4E7rJFxs20OSvl4lkk6n6/BLdo8pP7OpCd + kVNqrIF/UQwdkbg0FJFlt21+QstwVHrE22HmLVzVXNcAXt7tPNcMXhIwZU7gGpxZ + 2Z/hWhdozI4bvDPDd67gN5Svz9ERM+sshkdkIKmaCO8NIzOYLbfVTSeXtlPG6xfQ + CdNmwGALncXv1F6QoxcEw0PeuJhUqx+ZnIiRTLT2FGBJXZkT2eG5YwhtaQJeTJKB + zIP83j0lJK2/+I8x8kxDSKHMTQfnskUHbSZ5GFfaG3TXFLM2HRh16msQZFQMDZOX + zXR9uJmXaaO2WVm5Xg6YuJ/yzPdeDN4+FaWoGHKR8TlDpn/FtbkE3yllMFmwg6jF + 0iQRAVWhruDAFlVOsIENnyPd3FmTlk47WiA2juFUP1rBShDal6qPJ9HMPIwe4XVN + 4kjmji736kdoW8TgwwHe4h7gUx7SP8jjOVPvx7Rkh9hOKziQXUVuPjxXjR2Wp53S + XAF9NEzsFAoR45xmjJRqCBWZBx5HKASSp4XmFz0IZWtX8nVghzL8d2X8f+RmEHCf + /tV/dddUdjulNY1ZdSciXYZ5ev7TYJbKQ6vWdYu5s/JyLs8dXgIv/xr/o6IA + =ikuf + -----END PGP MESSAGE----- + fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 + - created_at: "2025-10-20T18:57:10Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA1Hthzn+T1OoAQ//WTe7k3NYS+8aLr1DS9icHnrHtF6ksULdGnuFbcO6C0R1 + H6EfIDfZgWLUhGc9hNDGMtSEIgj4umQCdTeqDpQS4utvefKdrgcLBv6LzxJ90I2/ + i6jbb95ruJi/MxYCDF9NPCT1M34tN50rPr6octPZ51mfj9zvTCJcJhwLfB0MK+mh + sNMoVNUsBm+EN9u1Mg2plJ9cxIgGxHV3+GyoYNm3s8KRQNJYskvh7OvkK+IRbiT8 + PKtbAdhn81yk9vbjlGx9AFy0VRzvpqIO1twGdPWaCdPsKuWlAEcNYEFFIr7Qiz4n + 0h6UQcjc2VpvXZruPwXByuiSAWv/+UJXbBZ3BZ6KaMOhP0la45DPY+UAqC4nXFmv + Ma3USBkhtIEC2A4TjTLQGdPEfAF640Xi73nTSX82we82hB4Iv8A0R4M6DLBnrPhN + rR7C5AffOTFiunqTG0QpE9jCHfr11ZXcf1qmyi7l2K9Tl9m+R1NubNEUIVIjaHf0 + FKaJsvUdCrE7B3egLUJW+xGCg6Cwng/pM0dZJ0vNp8M/VMQ5pBFOXKQV7pH94sBA + G9+QVPXRNZFhin0cPvI1+FNLHtznzN/Avx3rLQtMFcwZdqFLG0Sh/ai6nsKdjBPG + xE/RygNqHRiB+5wuig/WZcMEkqpElD6zottMdTY9ByZascrKLtuGbjBeh4+A6BrS + XAEiuvXkLOQD8kKhezCS5rWtMyh5o7xcAGcii4g/mABMZ2TMu+Rl1O5mX0Jomv4H + mf5zIu0yBMvVjkxX33Vh8hbgBWN2f1zvX9bEiqs6lLBBNOI2eMort2hqQyVc + =4DjK + -----END PGP MESSAGE----- + fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD + - created_at: "2025-10-20T18:57:10Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA46L6MuPqfJqARAAmqBvEPLdMy19MCzc7u51J9izozkxy19lABUlyRHYJyyo + UiWpY/DXmZMx3MyCLTctUFUb+MQv6eNC97jvTC7i36BUQWoPcck1S9HvEotwH+DF + N+cJrVjFyF01N9fn0FaGRlT2wh72QW0ZJMr9b7QbfO+cKngGXTm79HulBY42CSVa + 2OYFSaXUkmp7t3+1A+4U2V6+v1kfZ5KASb4GVGG8QSvKjIMGHLvWsEOUQb/2k+jw + 9rzyCjfqENvvkxdNOrS15ZBFOR0Mye7ubbRzHFk0rUH4fZrNtp9FY0JrT3sNe4M2 + onRkjsVWcCybkSAuRQQU8CG7I4/lcsUoK3Bj5Hq6zbit0XuZnmgciPF4hjuzbngg + Z1pWHfbCNhz9JqhHvXG9CZAFfQJV0fFEfvn1HfB579uSX9+WD0UYJLAWgEUfkSKP + 0BDH0HEO/wuUkr8WntKDhFMDMowbcCecwe/pYvuUWUYoi7boghHXuKHHsR1uGk9h + d7s1Hbx7Sk+dliVrVrk/gQCLsFcSXlH7z4SLmN7lRn2hO+rh5WlQ5u8ML/xoVV+U + t08566Fo2QoMyDl9R/fL/kgl96/JGl7rajsPpjPGBDcA8I9Roe7QS449Fa2XZIkJ + ZnbmlvpMnZqFapPss5S8sMiXCxLYbbZSazwvZ3HA5dXMiRVSLK5fM3MqOat9dzTS + XAEASS7AMxF+TXACMSMQuGmf00blIT6LDdZrZSPrdcUUc9ECMtaJbV1HuC6G1OEB + yfu+SIjVtSd+6yx6AgCBFpCCDAl17duYEVwskRWbjTih4FJA/1U4iQmB1wY3 + =eH4e + -----END PGP MESSAGE----- + fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A + - created_at: "2025-10-20T18:57:10Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DQrf1tCqiJxoSAQdALkMupeBQcs+Pno/Cf2NdeJ/ka5Y5VQnxiU3JmrPaYXcw + 0IocsrdKZROgxzQKrNZVqZiWiM79IzInI1sClRPNdjfNB36sLVtX1dU/ocRyrgtm + 0lwBOX+kEseLmOHKncalLDG+J16wIOhmJMhBeze4zFrohjfQgtiXqixMjjTHeJ2l + A2TjtKPv9hhceLUKAkN1dI9TuAjFsgIDpxZMdWeGzvPEe7QpVIPjJf3umELgwQ== + =OnVX + -----END PGP MESSAGE----- + fp: B71138A6A8964A3C3B8899857B4F70C356765BAB + - created_at: "2025-10-20T18:57:10Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DzAGzViGx4qcSAQdAqqgpaDHHwoU3lOy7PaPJq2efK9Qac+/MF9T5CLNHznAw + wff1KBo/NkeNN+bX9tP3W5ZpAhXElARDqR4G9R50GgC6/ENHo7RkiUSwKpQp2Wdj + 0lYBPgMWH985eMpwVB8NAHXQAL+Ar/eiXahk4XMviPjRhRViFVjoHWs5ubSHlnL/ + 8nZweTOlqbCrDGeZWkYexXrSV89HP7k2Gt19y+Oz7jisjjLBuN4R3w== + =th0k + -----END PGP MESSAGE----- + fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD + - created_at: "2025-10-20T18:57:10Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA2pVdGTIrZI+ARAAzdC66g9n52nWLcl+baPnLlFLgjjIkUA0D/lZW2ZhDyID + 6XSBQ3eia0F0cesGBusa2TYHifgvz26UfxnGrnIAVX0HSDTF+9rZ3cMSfkZK3Piz + O19XIrYJIHogDbbG91EXI9aw/V4gn+boq+hz4LfJLz+t6jVa67i+7AXMn5FNDgb/ + +S+GHEBqSCbHTujZEoWeW92ZfyBRxCTvwsA00IGQoEswe/HDdfPOjWj3TuGSJrL6 + ffGW5GuFmwxbEhCuXyvC8I4ixUBeOv/0f9UArchLOsNZrnaU+/OQ4JxWOa16WSVE + IEo5exoHdhtPINV9p0CKV1xxbT2cFirVwQPOJH7Puh4aY+a3DtY4DSaZ1aU9AKks + 8dJd2+k/gC9j+qjSQ9DZPEbVlj3Pi134wK3QT/U+2LgWYR+VqkZr8Aef50AYPGXU + n/81ykuJFmHkDywfYddkjeQGYoTppgRKnHZguFzhZeqoELYlZSGmc9fG0aNcKYmm + hXf4zWGv+gUTgtQ/ybZuvLoNIT6ngTS8nJ8XrPaARfLyTty6BvRT+4kFKGer5koJ + B1kQZZV7/nPCRmJmQJdhTMQVI0+E2LX/UaezfngtCZFjdJ9x5tL3sw5vrq0Hxp/x + U//lw/H0YnxjbiGbQyVybWuRxtkRonaIM2bm/VL1ZH1B2nJiE3AZEcxK3vHakF3S + XAEsg/OjB4UT0ZvWfb+Y+qeVb94AM2d6vAeifCaBCinzm9wH2ak7dcgNEa9eES1X + +JrnARO1TnIxch44B06zg2jfAq0AJpmwOKCvqJic0uw4hBYq3kezosfL81K4 + =Nl9Y + -----END PGP MESSAGE----- + fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + unencrypted_suffix: _unencrypted + version: 3.11.0 diff --git a/inventories/chaosknoten/host_vars/mumble.sops.yaml b/inventories/chaosknoten/host_vars/mumble.sops.yaml new file mode 100644 index 0000000..e7024f3 --- /dev/null +++ b/inventories/chaosknoten/host_vars/mumble.sops.yaml @@ -0,0 +1,210 @@ +ansible_pull__age_private_key: ENC[AES256_GCM,data:D5QKEPEMrbVQH8bWqFGASVn14AFt+oe3Texpld/K493gtc6v1gsIMukykXQanGlVN6uacv1g+MWg9KFhbMlINiNahIx6mnJbjIs=,iv:NorEEfNpzrPHWDRFmoY8+AcHDn/KmeXnSMa4Iykfs5c=,tag:IvP0COjaq82ZcgXPr9bA4Q==,type:str] +sops: + age: + - recipient: age1wnympe3x8ce8hk87cymmt6wvccs4aes5rhhs44hq0s529v5z4g5sfyphwx + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzZ1NvVVVsWTZ6L2VibWJN + RmJaL29rdE9JSnBScS9Ra0txMUNPMFFkUjJNCjN3MVNQVk5ObG1NSyt6RFVVd3FJ + ODZlTjFtRWRhajdXYXZUYkZETXRJZU0KLS0tIDJwNHNKVG5lS1ZPWlRIaE1ubFEy + TDhDbHlJTFFkSkh3cVRRblZ5WS9nYm8KSIxaGYZBlX+uAxMHt+pO6rgVb0fO+j9P + zgrFlUZPpxVGx7opsmGcdSLKwFciyzep7TI0FrNS8pXovjLQ5GNNPg== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2025-10-20T18:58:08Z" + mac: ENC[AES256_GCM,data:8to2Az5MbQ7KjshRpOwQZq/qclSAjmGvIM5n9ANudP/kCRsxu9r+Dq+XB1wczxG1qFdvgEaBpUNp/VKKCpFCo3OtcAfm40IVU6hySNa/NDmcGNz1LbpULgw3nKyX7YxLr5d88yAPDH9yPiXxEjQ9xkSY7iweeiT+dH05cca1aEQ=,iv:rYs+85IVSEMylG8mSfkFKSV4RktUTBWoQkxo3+PRBBw=,tag:tv/RoMVDMdU2DBx/xsQTaQ==,type:str] + pgp: + - created_at: "2025-10-20T18:57:52Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxK/JaB2/SdtAQ/9FtgphjgMkrekylJTWUEK7v86QkuO8W/gEGTWBNAfyj+b + uT5aSZl8Bzrpkv9SWGZFlxXoXRYuVVLkOEnNE/f+A4NJic27WxlcGzUHQz/Z8bJb + rkrubWFJJuUL2EUlkUBzGj+pQ7mY3GZUjmfW7WCQ6RXp3Vs+Bw76UKCs+cGiXiHL + Gr/zWKf/XIzQDlUoPnHoullEzm8WDqexRVqZNTi/yTMHyP732zeigv6f9OxWzCjp + ODVl4nJQDJSrdVRCT6/H9drEsLfE17RnyCVVSBgukmve9hiEAkttUADTEMp1CGmf + Yb7uA24JSlvrPZg8eZklRhS9Dr8G4A7LIh4p6ilAuxp/Lo1eZB7lMZrTvlhjA7dr + F0mDWpbkV/LIT3wZFtS7Db3fXmDIuKF9VfTqc9tUQVRyiJUVwkboppmcYvqup8Bo + FbKRflsSxeXnotM1/Oo7GN0HrZCL3ma7ZBP1Fopcn/dreXptVUrYzUJrFtoDsf24 + XO6Sg1Gzpw46HIjE6lppQr1DTOuXLjs9VQbbTi+2x2+H+cmo/8qELMw4VDzecC36 + grxfFw9l6r0FKBGKBhopQeR3kQWnQA459+bMIofn0orcfg7fsuX6VOTuNX1hoac2 + AuLxWWfNEsowK0SuYEjEeJt2yjMnZITmNtWann+AhKgJKDmzKfosexbYTR5Jf8/S + UQFBfd7ah5Ga38BLX1ai5TIscccuqnk3zZZVVwrcc/WHuwPF1KpBa6kpxWKy8xrA + iFv/lj8FEzT2gQVvtXtjRIn2ZAi4LR7Kp2qukbXbaCwgCQ== + =Nxy+ + -----END PGP MESSAGE----- + fp: EF643F59E008414882232C78FFA8331EEB7D6B70 + - created_at: "2025-10-20T18:57:52Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA6EyPtWBEI+2AQ/+LzX+QBZ/LPm8TvLxI1ZT/mU24S6s3CwksVV3iYrzx+JK + uuOFO57c1J4mu1q9tehPV/VAHEYA++6svDnZWnztNL61IUq0ixalTCBMtvg+/Z5u + ZdEJkMLZOiVo/JQoroRjhh9LqyDi2pQ4k6mU5DcXJ1hXsoQ/wvlBXOqAlakMky8C + j4gqfK8XPCJ8LyNbXvlmPwUrrC+8P5pXbhKPoGIm6q94Y/wcC3VwdCQn+RgSuIWf + uhuFUV6mCS5yEmBpEeL+KiPq+uZOt5PLWf9MASUTT+RroDDlRwKhcR03fwRt7JTV + 3yW2OiixQtekYepHdMGo2n4nL76Cf92/wlhupAg3NMUoghhg9CkN5hzdUPBjUuVa + tIKBf8n7DCvjf9EH+JtuDBnhqNUUac+2fRXCI5i4xLwIckZVAXpNLoDIhxpjy+D1 + 9t1Fg0oX86H69vcD1xZGGOFFbC22ce3mZri3WtEMTxeYD/7K1McKBiZK3bRx054P + AkhFivKVOf6gKhiyttKAG9fPB2loRlU8b8tQvJ0O8IBaKwrWh9xgO29ykmpF3/dg + hjWK5k/DVIfMpR0ZRwxrMQ4kFAfThjvVDH3Czfs1JTLmwU+tsVJOKVmmO2DcgahI + 83zMFFajGw4LwztqFWlH7JoSpyZBiEBNCx9x7DbdCHnbXST3tef6Ct3GwXgKX83S + UQHSy9LQekeGBdsfa2AnDXNRETBcemV3WKeiPzBWc0IXlSVO58t8q9K8OTivkVkA + AScBR2Ddq1dezLZo/bLVyO0z8uSJGFQUXA19Kvpb0/PpjA== + =V3Bi + -----END PGP MESSAGE----- + fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC + - created_at: "2025-10-20T18:57:52Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAz5uSgHG2iMJAQ/+PJjifaZHBS1/YYjduFPQFQ/iU7BLq3cFmj967g8f2JDg + 3b/8M07JtMrkbMBSUfIXmKfHJRKan6239jESwhF6g3PjXcbQsiZV9mg1qU1TEloV + I1XrtkNUqkwckGt3T4fhEwQSCMYZtaiQQLKyUhNdrmg+hHr98LjNxRgrnsWXLFdQ + OnxDjDwXG4ngb4tDea+IDqEkDDSjWINmvLRhxU5cvDqwaJja9d6eXwh35M+NrU5m + XGCxHMQKMiDftIRW6mIxk6CWAGA4PCOJ533q3pdbA6+zRpbnSy/OW100FlpK1mkj + 3mCJZRTsik/DETu/utOUKP1RIgKTDrNQe9Dngj1bt1EZjnXm395ubrYoIVarDWJu + WvD4kDjonamnWIudk7F9mptkjcvFaWx1b5vSHjY9VjTrUx+muITZzBHhQy4qidXp + rr3Q3cfZ6qHp1sB+EnX8FiMSmsIt16wGCtgigleXkubcoiMcvHiQkgk0NUhg7EBk + UOwlcewRyfo9qgMz5PSuuO0zsIaJf7e4/DNeVwnTKQGwdKSfd2rVxJQ/8fm4zJdD + uoQW822AjN3woJW1EOx8Fo76oZq9uceAsFcOt+2KLi0mXaFlp+G20JnzDVwZwyFE + YovaKD/d022s8Ij3U3an0+JSy6wTYLI71VTwSL8o889FZxW7KMl4FW5Wkbao5VrS + UQEbGa1yCYaMRcAP2eZbkZpmo28SukHB/VdnHDpDZM6Ur/X2FPwCOHvPZbcFw2ma + Dk1Gbn0dTSqoCFwA4K2ss3PPdGi+eyWu2Z9Zy1ErRrHTwg== + =xdLl + -----END PGP MESSAGE----- + fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 + - created_at: "2025-10-20T18:57:52Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAw5vwmoEJHQ1AQ/+PwWdBJXteHfl1dav4XpVxibvMJP6FlDunCdqnvNm40CL + hYjm94Ll0g70++B7pzhy39xco3vzmgY29Evyl7CWseZdAdoeRf4bYzZai6rUjg3w + ZXlq9x3cXhgiYOEE38mbHL8NJjgTiv12YNNG0FESiAYTyVf5n8/8q/Gl94XuiCkf + 3apMas5ce9N6hXCceD/3EoX+2mVcLB0tPxK6RqNJIxT61fdpQy9izJ8mmTbofjuc + jzhbMQ5L44A8MkRDG4zoUfCXs/IOV3tL432RAPfkkU9Q+GzlXk4ZuPXZMdVBnmJl + PlxLFeUWSML7tt+3cYRTzA5DQUrv5O/sCbOG7SpdFEuqgL50cztnig3aCqFWbsoI + tFuVf/cCIbwC6T4kW+/cDE6xYWFkB2+j1sJFhGlHqBmnHl8XHBcVQVew3KvthpBw + xZu10G8NjqKgQpCXP+aumcboLPWNj1RZ3kuO0De6iIRiWamkkKFE62WrsPKarEcz + jCPJl8XUlU7Td7egU/4JHKdH+GZAauewElTFgrhQGGkhwlcb/QrG8i2zPPMu4ufp + jwKvIdfc31tU2vvZ8qEWjnu6V8k3KjO+Vg2G9Nzn3ggeQhbWeGNphnqiyvs7+6tY + 3LboSbTYOhmKOxGpNFTWKh/OmJizPskhTPhQ7uXWLLig/YXnCdd+U6ArQRAyTsnS + UQFiq9sXtBZdVYDFAI3Q9HGZjgGwdQXB6cL3mKyCicAVkmbxeHpjSR8YcGZ1R2K0 + 2kph8Q1V6llwQnyz2EcqDMaWJNJNAgSlDKAxYaUhZeFvwA== + =GAJT + -----END PGP MESSAGE----- + fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 + - created_at: "2025-10-20T18:57:52Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DerEtaFuTeewSAQdAJT2dnLY3x+H5e8BRQJ9+S326foc6x63bfE/NPXuai2gw + WhKINqOp4v7lEog9qmWjV6LpWB394MnJ7fd506SSJjmcgZmzbLlDYNyN+ZcVLNvc + 0lEB1+BFEjGOV7OwBy5nNrjUqVuSFfh7+6fpzeBke600jRQMjfx6guZf37LUA9gE + +mt/KYVTcWNFqnhGckke0w4a8Z6ep4Rf1QF8zABk6lPDSpg= + =skWm + -----END PGP MESSAGE----- + fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 + - created_at: "2025-10-20T18:57:52Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxjNhCKPP69fAQ/+K+uo/N2Wf/H8mAQLtK12w9Wwi8Qm86zTkFBV+w2pn7GJ + ZDkKx7ICrUnTwjfHIH+GWW4SzHF9N9eZWL8nbdd3GqbFd5Cmm7U3okxlNkTlQURc + L1ptCTWCLco2XwV6iw5qGpRW1q41AKlJF5WFkZa77H9kddRYYu0i0+uZJCkprdBQ + ZqtEcFcJ82UxWLhROJRMoDG57INoPtOrrdcFVo1Vzp9Mv1/igKuAifkPHf4GFd10 + VPxw9WKgByENke5s1e821NOjWY/MmL3HwqLzu6ndNDzd4A4XxIyUUb58sygUwl3J + Q/ImYpnNQHN72N9af8bVwdNFJlVUzugRRR5ubF/ccNtdpZOg42n5pd3tbITpe+pr + kkRZ1ipM7/BtkN2BoHPBZBwpyyRdSLbTaX9+6THk3i8ECVgoe5kOQ7JzRQ7OSyuS + paJbbjsr8jd36hPxYq3ggKT6DSdB+CzcLHQo2ncQ9gRS6rC6Lve7OXVYhjhEznvV + j3qDZVGkKFe3juyTsLRARVYDzUwoLTrguEtvCAkUsMy5jfy9P9uBkmin+DiDZM1n + LWYsEy7X+7kLhDUHuYIUr7LuT6hK31XnftvrPzOFKW46mSflF+zBP24oySBKkcw1 + W5PTUE4tHgg1h4f7kXZgR3gwEgWwimA3FZj5I7KsfwuijMO215MZdn6T07M+hLXS + UQGcb1n7QW3iCez+Kiz1zm48/N4ld3NBDBwQ9HUmaHLau/zfmlRH67Whd7clwAGL + Ry9+aVqNy/H8/kSJ8BvSikhdZQeqI1NFQKrm6xeMpadnJg== + =ACfG + -----END PGP MESSAGE----- + fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 + - created_at: "2025-10-20T18:57:52Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA1Hthzn+T1OoAQ//e0Sn0WEOtOLDhZkWdJBp6Uy7/w4nSt72LCpP+gSzNLkr + 7WxsSa38eMLYpVKMfBsIut/qVSTMqKrKJG5fKs86Lx/ekrZEbK2qtGzhAlXPVLVG + wHO7vKnyZkUC1gSpTZCuPKxsF35hsA4djaxrh8BmyltQEPCBh2fqsP3xOHt+OyEa + TW2itW7hJzj2+oF0+84RWwpbAOhzb0Hyk40adHutEZL8jInx2Z+loXMp2c97R4kL + paxZls/DQIP4J9lnMd39HhQhoTe0jaI8f0x3FzFCkuiI1V4q/I24PUypgzJCsazB + wuXksAmaQuZBHqEhgDk9wgf1dtOQumoxFSFvD3ryfovS8bgfL7HNJ/Opi+S3J7p3 + prZhv+NhXD6i+FpcZzrnHzB9WIZBOBfTtKxeRIUuU5NjizZFQ2T/RuGnrnaCk3Za + JMrLMcxKfMTiPusBwMTzJGf+cSJGNxp39WXqcKCeYx1+L7GGNwfqhWxULevg13jB + voxRsZqat7MNTPLfvaKl8DprkYmGWW4wMIzDhJmgT7OOuzOrLqAmt4U6CJtnG5ae + G5MhtHpvl9pRBbfdQ3qkaDxeBKUY8X8gdxJlkUpmaJ6fxontO2tsV7xo0DvQRFeY + GHi7FOeghvss2zLiWeZxFLG7EmGrfD5foZ1DqQVUkcvx26Vk2gX4E9r9r7uau2jS + UQHxGDiSRhJnUZk9CoCMwwRgT5Yadag5ylYHSMKPBpQXOp63nylR/vjw9hwx/y1P + Ft8SGHrOOKZkWjlWUPAGZAke1jYRVKAdkw9+oy1eDpytRQ== + =KQMV + -----END PGP MESSAGE----- + fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD + - created_at: "2025-10-20T18:57:52Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA46L6MuPqfJqARAAmraxSuqAKqWBVVhssWxKl7F8DmQcm4PY5MYNIuyP8dMI + qUyV7HvBArK6C1H8QDnuYOSdGUp62RR3IL2GxVQ1EDFnJ4BFjy5LbahbJWeuLTQV + UeYFom9dNfZW7j6TP/CMrcydBFtLrtXL4zq8j9vIBHsQGvbTLXqag+am0UiOwmDA + mNApcM2eAetXNykbBmxm1citwmufo0sfvTozMQA5/MYiHL5c5JFgcxD+P7R7ynD0 + U9xWQNdFQO8xo+dSbyu0bKPG1lcGXenvxKKHjs+BjLTjyghOXDpMg0twWAlxvz/y + HhNlbxSa/13mRtGcj3Q5iLCPmikkbcL5ehadlSl32Hirvg8D3TngdHEZNRaWQacO + ppI9s6869EVtC389/q32E0knKI6qHJPrc8Hw543C4q4yQDfMFkBlRNg1+0x4oizl + KUGa/gGgKlA98a45m+fWadEOTjEZAKfdTDXaNCFgeDW5+grcKcsL3PxuCUo9cAmO + 46/tlqL/XaZtAD0YrKgAV6zC8mRb9Xr444ucer4t42cdKCLc9shrD/mpnCKcJkKP + LZcTJAQirQ9uaZSSAY7YhwnmkZSUDq6uLhWRHcTXTWD830E5usn4HqTLnmxGVLIa + 4574E3pD6U1eZ34GSp6aj2abeul+6giw47tpnZ6O1PowfZr7izxT9nus783dyl/S + UQF4SptWIcXtYvqj8uHCInr80bAFx0UcxR2mZMI5Uq4uKBBlGKdtLHfyfxfow3lm + x8fehZVtkB12Y4ipkbqkxYH1sUuDHB9Y3gm2s1/Y3HjPag== + =l8n0 + -----END PGP MESSAGE----- + fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A + - created_at: "2025-10-20T18:57:52Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DQrf1tCqiJxoSAQdAIIVQi9RufgWWixnU6SVnsH97GyNm+cGZsJoSu3tzBSkw + uBErsKxC8Dj+jI5Mac/Q+KQ+B9q1NHFJJsE7PJG2LSCe0SrN93hnfZR4ebkgSKUl + 0lEBWlbiYvvdPapOn4wF1cZyzk6QmXmCLBby78Yg8re0dqWY5NOtOE7sWFcAI1xM + TDAF9ywrxHHDtcMySC9MqumApLUPLCPgcutyZFVCeG0TuuM= + =o7+t + -----END PGP MESSAGE----- + fp: B71138A6A8964A3C3B8899857B4F70C356765BAB + - created_at: "2025-10-20T18:57:52Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DzAGzViGx4qcSAQdAeUS4LlzoSf1HNWkI4NxJTs0xCeUmpMzEhH65jiu6hEEw + /s4sPh/oADqaybe+dcoL4KcJl8mnpHBEDN/DSORV6Nc64IlmFZG7STQ/+ZhPwSwv + 0lEBiqJiBK5wZld3GiheneIPVp4ULEK3SwFfxD6Am9cSCIWc7QTZxpBRS7lm8727 + 99qQ2qmRGOl48w77HqTRtA+7lk99ORnFQZjOA5UGSM+XszA= + =eokJ + -----END PGP MESSAGE----- + fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD + - created_at: "2025-10-20T18:57:52Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA2pVdGTIrZI+AQ//cK9ViXUHIPk0b2fXQtVDYyugjIdBrQUoyBKYxTJbzYFm + CTmnnYIdvNCvD2VZtu1TL2b6ZVXrzSSMJO0lZJfKu9SE5/JTpXFbpr7V9bLSd3Fl + n4eDU/9rF0p9g/6ApSg8IbMsl4JUJmPgG2/A5tkVBr35iS4zeW6t1si6hzJy1blp + rtjrqXLtdmK9zhvLtCHazIiY2TIFqMCH+i4NLJDX/pNQ5eFudS6rnkphLajHXxIH + xDIHTOQVNf+pGyZvmVFiygtUzxviNI/QeEUbv1XdKqahIyYRHBKsuNTeOpeGKplT + Re1s7qhCgUSC29U36niySGHC/deQboniW9/3U1+m95DxMt0R3SdOXrax50jyS5s2 + 2AuG7QruNXHcEfxVXxkvmunnqaFPplwglionB4/pZjy4Z4QmqmxeFN3bNJyL6QI3 + rAs5j5abuYF+Uf/6k1XF3YwqeBbv+wT7rXvp0930BcElNFT3fgd3bXnIqgBgwsXU + u/VoHe53xF9cK6KoNYGf4rfIRntbRMTjWEP9Jti5eyf+58JwSm17GiP4QUF0zzUu + V53lCOFzPzJ/zHZlLElbL5n7i9WndqY/OOsOGaz8eRTRJJMOkoLLaGAPfGvOaKvr + 9pgUMvpcjQqhGSlVlT1smHxksWh4pLnlDRBj60b6EscNLrRD9FIosJn+JuqsbRbS + UQGhlimbbbaMc11g/BBEUHTeFDMg8gd2Ix/HfHc7yrnZaTb2YOgvbOJgXG6i+QUb + FHeaHynxAQCK12itmIqxu6uQjYgTcCCj3Bm19dT1FEWV1g== + =vCLV + -----END PGP MESSAGE----- + fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + unencrypted_suffix: _unencrypted + version: 3.11.0 diff --git a/inventories/chaosknoten/host_vars/ntfy.sops.yaml b/inventories/chaosknoten/host_vars/ntfy.sops.yaml index 8958585..e860cca 100644 --- a/inventories/chaosknoten/host_vars/ntfy.sops.yaml +++ b/inventories/chaosknoten/host_vars/ntfy.sops.yaml @@ -6,202 +6,213 @@ ntfy: admin: ENC[AES256_GCM,data:kwGLrQXBiqKRoHkStGzYiC0fbcGgQHdZrrk9NyZtcZcI4nrKTGx1sxrHOMI=,iv:ACrBFMOP6rkfshOgB+a32TFWH1OKhQaoHcYgwHx+tao=,tag:2QTWmH/vAzIWAjaOHOkrXg==,type:str] uwrite: ENC[AES256_GCM,data:Jijz+zCPpzSaIEo0xhicKlMhWSewJNJ9GXJGYuohq1E=,iv:gnjEX3N0txcBIkJm5bOs4JfKVsdi5URgoMAmquCMqKQ=,tag:Fip0hA52NeaMODb9XxjInQ==,type:str] uread: ENC[AES256_GCM,data:ZODLyYx15c/rPzKexoLURwA=,iv:WqUrXexY/RBAseUwiLPBVYpA5zqJeYBW8mmcvPvjtyI=,tag:SjB4OaTgIaVKHDe4JjDN3Q==,type:str] +ansible_pull__age_private_key: ENC[AES256_GCM,data:zdb3BMrvrCBJpzAbIFYfeDY8jFB5UyOHO3LFcW7oP1jQ9lHNcz+KrIBdorEiLmrpup3qCCB4YGhrmsPC0lFxtTzvalHYiNyZbYQ=,iv:OeaB1/fvm+nePi0kooWlYnoELmZgftDJyYaV1e8w//k=,tag:XOqH+lUHroCVDnxO6p7iJg==,type:str] sops: - lastmodified: "2025-06-12T17:19:27Z" - mac: ENC[AES256_GCM,data:mlJuYT16bx9nEFw9IRm/Tf1y0HF1aVzx8BXhf0VKWkrBQCyzx/qbjIBXIXl22wzMrz/KCZ/diNRx0Wdq2J2u3n92NQtziiDZKwK+t/zz68+cCZAgktmO0vYc+BJ5GoJPuSmeMwHkaJqt3zYGQNzOJAYK9DPrK2AIbo+O21FgtvM=,iv:c5AmWi89ZLR00LqG+bKnbW3WfmIYsyz0X9A5r91Rar0=,tag:x3vf2WTu7naRdwQbKfrJCA==,type:str] + age: + - recipient: age1dkecypmfuj0tcm2cz8vnvq5drpu2ddhgnfkzxvscs7m4e79gpseqyhr9pg + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSMjNibWJDNDVGbmFObWQ2 + Sm5zZ3hkdllGVjRHSGk0MU5XbWU2L2ppZ0dZCnNMRHRHUFpPdlhyZmZ1RGZaL3RO + MU9BcW04VHE1T0RCSlpKTm9YTU53VzAKLS0tIHNHYmVPTy9SdTkwZmJ3b2RhcG9a + bUhGdEFwOEVxUzVZdERReVF6cmcxeDgKDlO+jacsYgWXqjoxAIKJiB8mCHZ8U7TM + sGD3oaCi9x6Uvse7hq0BaUe/LaJt2tDaqve9nm3n06V93HNcR9/cdw== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2025-10-20T19:01:39Z" + mac: ENC[AES256_GCM,data:a87jRAGBIypZfYCILYCOM+H8KCVUBgb2/1sG05wDbPmLe9IfDT6rzlljbRFOUozq9xsqxpFLsPQx1wPVDi1lhaRT+5oE/NDgVH8aQCofA96DQd3SeB8fWn3LhYjOpmo9ZsFSemvGcXYk/SjVvoU9aN8KG4DHYCOOseGIBTa/a2Y=,iv:5Atem3ACdfdCPUp184cAf/EI9BEXQ1i719l+sIlOnUY=,tag:LWQCxrsZ3660UCcOjY4gMQ==,type:str] pgp: - - created_at: "2025-10-13T20:10:55Z" + - created_at: "2025-10-20T19:03:04Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/+OtDGnGLt6wALS/6XENEpmsRU1WRqgHfQFFuTTcejZ7IH - EnN/t7vgI/Rh0f06ty6yZaklEdYhtgRtEBG/yXt5Cn02WgxH6FCUiDrTEgA+Ig0b - O3xncqMei06ImmFW0kfuP3zAgrGSxmfR5JwLbsKXBdjClG7YSJBfeyn73w7JdQxQ - mWuQCaDrc84mbQPeKUKnApkEOdUOKnoW54el4bgSc/e/eZqMfiRiAwkpDev6j8Gr - WDQeHoXBnx9h/GdyD3rxzcoXVqzV02rB4uZS2lXJVRwh3bA1hO9oP5FsTLY4d4yE - 0FcnbeTKDc/aJ+H48+Wq7KY0Zhs+mb1fhIuA5qjlW3rBcmKD2+X75YYXeCRMX7q/ - Hzc5ZNK35g5IV5WMzpXZaQunFHt36EXP4j+WqC/ZQQx3oSZ/2AQUiMlFcIwnmvVx - m1c4TCF8EGzxoJBKtLpF/simuEf9XBYJeuZ+IQ5w2/dxb4c21whMAE0PRguzS/wB - IzMIDv9ra/iVKRH9FikrzBk0b73CHohF2tBvGEH4R9NOaWjCYBC1+f6Wzs77uEs+ - SplLBLlEGne1x5aH8ZMcEElIxvNds38RzpBkEJkR+1TgEr9DLUocFeTKI1yVokAL - 031NHMY7CYR8M7hJEaw3Q19FuxaKuCZ9KmlUnS4yGhpKpBALqQwPO88RW9I0nTvS - XgHS1MKkbVRk6OFnke2wb6xyEEzYnOGVi1WclpEXRHPbTp34G8ELSfdcN0DnSUuw - +2pVOBJZwx0YSYEuVHOEUDyP+TXHGBiv6Vg4HMlXccwekzPHAAoLJ8GAouThtys= - =il1S + hQIMAxK/JaB2/SdtAQ//SwpVlClYGns3aG6XVAtsyLIIOrHAaPgNVy5F/JrFhTAp + sG5acnkNeNKzvenHV8HZNnhYF3SITBnRH+D+PSFArdFuxLJGfhhR74CXKQIwjHLU + qYAyBPVHEGXSlBg3k+5qCgp2GsoLCr8qeB+TFjSB7u3Ujc7JCvlTLtzbMOWz8+M7 + Wu/NxA8NvMjy6pE4F6OzDOIyD9BpE6jPW20kSBfsFsGicUA967W8ZRhy7jvTTYlW + wkcKA5IULqo+DbOBwbXFXWcrwKBQBX+7m08ul+8/2plSavh1gevdX5Gqkhnp10zo + 0O/YfIS9umbHOnXA+TJ3xDKxGg0BKKdL0GrzaIsG5UUNmHwf3HhlFYYcQnaOIt3W + y56IdFkiBuVo01FggUOlx97k6M94xrKbPvocWNcs3BW4oJl9329OHo9AJHlhzzeq + gzl1Ft+vtLDghzt29feljG3zWVD/U7uOStPWFdU5QDs+7CfQ6Ahnsux1D1zb1qNv + nT5FHRv9L8HjRuthI5+Z/rmixiM0xPRWHYwkpHKP9Tml6xj1HaEUf3SSS1LjAfzg + tMCa0H6EqAPrkZtLMCzItbqTIBvzWnAmdanE4h+kLzn9aj1kqPGzzt50bFbxZ9pd + FTaupAGlIkbS0U6jiwTdyfFSnm9Rjmp0L28J16rSk6n/uTruwbkJfF5sCDvJInzS + XgERl0iwzoa53nG5thQ0L8fWT8oIxXl9hmenVpZolweKZSFJw0rgtzXcY7WL7uII + QsuVJeHoacJLnG/g68rIq/AGstdIJjYHqD3We2rZ+9fzu/DTR/JInIxYHeMwfkQ= + =kdsd -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2025-10-13T20:10:55Z" + - created_at: "2025-10-20T19:03:04Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA6EyPtWBEI+2AQ/8CHF7Nw8PguNoqxb4CEuWOVyp0lQ65+LaUP0RO6seZ2ru - YWcQDiVM94zXAbu4yhzFANnBboXXYEhXkkG6X7VRDuyPwyGC1ScDE495+3PUIo8w - VPrBf1jpzla2qy6qYWuEbfBt8sjHWLS+Yc4Hw3xyYJeBXlOkPt5JDnMc5jNwGpj/ - 6BUvbNqWfqdPGa4iNeCNaKIntJOVvHAQtK0muu/GsDT058bxpnbLQ1FBcpRI5f4x - HcibMmiswHcCLbqUei3KgtUXCriMUSP8Vcc3oH53tm+2g5imLDHz2ZDVjRoWHqJS - Mn3dDLvb+s+WW3heh+6cN52tmw205doljPfAS/8XKak/6PyHlUiTk2BaYeBibURi - qLt+hCFmlqvO0vMDsABY053m/9zgjP6sAYcum1pd8vxhSi+aZnC3TNJpGPWYLEdu - nwDA98qag170emAgXQwwi5D2HA/Zay0MMU9Iqj/+FCN24iiJ4pv8fUsY0r5cXL7A - 6EYN7u1cUwC5tsjF9H9RLo4NV3u+Nbwkvl3NLWH0Osj8WXCUqpG3Bags6eKkAJty - hiSQGfWVYTu4PKV83+upgvfOTaI8mDY7Rh+iYdSeIxLBG2efNvKD6CAgRnWHZxMB - 0C+mqmL/R2iZtUS+BftYFHPpStXmlHk4pNLJph70FpdRqo66YyqnRudtSC94XvXS - XgFISA2DDfSnQdjPK07lvQeVfasYLtNcPyCUNYNftG0EOXo6gyu26JGtdlfr3aMj - 6I0rSaUBtiDhW2DZuyqD1XApSi5WowoiU1CAeNI0+PgTSeUvoJnxfLSmkieakOw= - =1sDn + hQIMA6EyPtWBEI+2AQ/+Jwnnh4eeV1u90tsWsb0R80M9arke5wQLqm9y96U5U70w + vI944olkc+6uTctfyfLHgiTbLyIwYSCRvYxfQc6ULl6ZNcQXwVROV3qo3HzsjPE8 + jXIAMECVb9G1TYQOEnUq++Bn1ziABONWcEK6Ysh7td5GjjlS/72CtjUvawY53Xhi + 8XFbAolBUDpiwdwKtTZcloajNz2No7Xze40BFb8A/RJrdBUxmB7et6CMoXKqfnvN + ipksQRwcadezvq+mVHiKwkAwaplUQu9m8xLbntpq2sYy6LTkyud8xnvQ4uf3RfSd + CaDalyyRI9FL0SOGURcHoLvLbFM2ug6nN5jZa3V7aLRzFcj6SP2lh7/AW3U6mdOy + XL2ULG4cYFLPrz11FQb3cabq591XEdi1GLzdXuewRRX/neytGBYgcUXY5+Fh3iRR + yVXp//mMfIM6sZarV/pRjFY3+ks4liWhThak81Ma/PQ6u0lsblGNKPFtDaMdgcsI + i/h4P/VXDwp+kb2Lx7ige12T9wQUeR/mvxqz2xVhPxypI7Q4iac2cz5xLMeFpf/g + 18uTWarTTYZYN5M54ecl1oc7BkZC0LaTymud1BR0oZVu+1/l129PamFlx2dvI/1U + DehrtduYeufopLT6z7l00/N9kS+73DF7Ynuo9lXN+eVZCcjYHxaZDU4SRne839jS + XgHoc4bH4a9z5qExI2TjuzDWvouCmuf1JvhG09baUgpP/DqHQtEHJ2diPulhNB4U + eWSSGAUhNy3/fTX6P6tBOVe6kD+qdWpTaRXEX2E9CFKBwTljFta9CdKYZ6RKS3g= + =itLQ -----END PGP MESSAGE----- fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC - - created_at: "2025-10-13T20:10:55Z" + - created_at: "2025-10-20T19:03:04Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ/9HMYrcviZAeuoNHBMEG3vmDe+auJaPZ2I28+CLzEMYrD+ - 0AIQJhkgdB4RdOesH66ymQlqm2IOOod3ukRfQlWHnm+xhuro+vZdBsdpZmZ5Gflz - tUOOcCrQMC2+ZANwDsZGuwdES0Mv0bUPPWJ0ymA7dx2pMxcw0sZkyBTEgtLPjePG - /SNkIEByOZQeuTcD1XCQAZwVxpr2X7F8DPUpiN2UI4FIHm6CXgSUIaAumEQ/iRmU - JeYi+bPHgAGWTIpahRDUb55X14VCVByldaOOjis2xTlwFivscBNPQyGeD18w2XaA - 68FL0Oz6RLyNxWyO1PSEoHf8bRJaOFWr0GdqriQ/DopFgpRDLA/Zhodg8uXylo+P - 4j3SjX+B1sPTtDalHeE00PeBPphF6tFqCJem6jJyVfW2XojhA//GJvHA4U5kjC3K - ZewlCKQFQeMiWe0roLidEom632Nwu4SSPGSoLjVwf7RCgwLEDECZefSa15liRCUL - YfnG/2qNAovDePwiy3NH4K25iUEbd15Qt6GjlqwTPw0UKLcWFdwN7eYxeANONDYl - eo3s65NjfxJPxhkENefVSQPGz5OOjR1hQd7bK0d2zdygT0fgYFp1AFGMGVzzE7Vf - I0ZacKO+2qUwTsiRB3Q89Tj3q/h+1zPBx/5eCsFEmy9EC+o4+zIiw4rVLhFWe+LS - XgEg5O7VX1jUhh8e1Sf+o+LvL959kG9JWCjkito+RWPk6ZJIMf+q//1SuDHq43ZC - /NZ9yHUL1wMt+I8vW8aoWiumdMMAlExOWe0bPm5o2E+rFKGlfSrDkTewt9hdMgw= - =eGdQ + hQIMAz5uSgHG2iMJAQ/+OJ8C7E/T7Y+55zjUCdo8UpPwSbB6MvhRWQQnn9pWkL57 + aVa7uLMsgqkgJhbJxqp3fABKb8eBF23feJYdjKhDbCDKfV82tzIh17XYbPa5A81c + m4s03DBIptmFAbnH5MscTNEW8Yaysx3dYuHaHDuM82q9tS7ruzVMkSQe4ZsP9zhH + p3FkQthrLj+TICI39lhN83ytDt9cDCR/z4mH7cY61AOCZ7WjNXLHuU7ESwnoFiV2 + R7SDmtnjS+NndcsK5PBcAwGvcjIbAF3JiaQYAtrNJAvcmGN55GsgHcUprKn9reIX + fRh6dWlK1EhIKyxuLojRnx2sJ8BQeB8+bg/JfW4iqhhlXbUAv7nWFgJeIvjc6urb + xsjCHleMVy23c34gy713mAFEC/2XuMd+85tWEaWO1S2smbpvrP/OkECsx2PW+Zus + TMSRRyDmRSKZenyMdIJU7mBxaJ9dwsJ0b2qImfiNC5EBlj/CF4R75kmxrDdSPEvP + YJ/1XWYZFlhQ7CtoSn1YA4uJYgtUMXJgHF7HEjDzblFys+NSxwZHgPT32v88zg/N + A9JMyhiY/faLpDZ0KIHKs+hD5umF9Gir6a25L76ACGlBRk6Ib/FjFDUOVfhU8yPF + Q6fmCyUWBQzUMxx5gw3GRvuzHSKloZ4v9iVS7lTtP+rDwsz193ZA/qek+fas0yDS + XgG02CtGuKDCNdtXUJoqLuoBcWURnn77o1gkTdqqK1HOqbgH8MHhLRHXinvTmQC4 + 7NC7rhp5/O0TTcglHhp9uUVv85ANGZXqk2g5joB34pRYTxe6yAUMquycKIJP6FE= + =I1xQ -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2025-10-13T20:10:55Z" + - created_at: "2025-10-20T19:03:04Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ//Xgqm1urvBP6Ox1BH4tjNSXrU477byrpdMOPsUycbZVci - bugfc/xl1AX2x6BSDuRYMwXNgn09w0i0NlppnU14Nk4zO6Bd6srTOntZ9VCupW6u - X+CSHP6Q732aW81nQdsYgQ/43ma1sF9Mg/RHucDQhDW9NQyQVNfLyjLXIeM1eNg8 - UFf4RWDkku4AT8oA0vhNN0ICUp5lMY8YASSAF2qUj/6xmARgCW01m6YYi5xuRg+B - u0KVn+59h/Dk+CpHrldnCdQ0jB9e9wsneaai/mGvQA0XeIKSXa4XPt4ke7/xjBbB - OX72ElaQ9LjIaRbE8wyO2PR+ojP+Rotdg1upYa9Y+PXlfYq6iaZ9+Ngom8qMVJY8 - xJO/gJd6ofvdZ0eG4GQjAnZ3Tg241V+ZzZQ4ikG2d4ZA077Uut8etUMvc+A3SR03 - PQ68sBlVEwzix16h4igDSmDfrNOI33uFhvwICs1HZeFQU6yDPgfFUYVg5CParqTX - e19fxExYJq+0GzVUSaFrA5N+k2mrNB3LRzHJhAFyQHm6CjzH2DUQWnGN+4dIjIWa - L03RhgqtmRh+yU+FY8SDDopsUCbTqAB/ryiPeI6IoQJEHgi3Bjw6aVho6qFg86Zs - 03qfgqo1HrwOvOXpGQab/I6KJm4Ch0BJLtBbr+UyJQVb1F4s38GpfFvTl4CqTsfS - XgEc93bvGAb1H3O7sWJA6AgFatVRCO8uYc59P3JtrUprSqVLups8wO2qJN/5kpTY - 5dbbLLoPhODa5S/KeuSLQE6m67d0wwhaOtB4DYFDstb8rR9OnEKzDqFf0QSYX3w= - =nSRC + hQIMAw5vwmoEJHQ1AQ//Q72yKgMp8HTvhXxnVs6/jy/64oeWLamhUbUUFfusvGRv + ZZ0ZlInH9pCn/qoCQOMyxSGbfp/fcj0j8BKOI6f/AOOAxAh6KKiPsasaY1LhqhOy + TfBM81aUis/0TEed7S4JTKsLlkP24lZnLm4uVHPoZgWkfikW7kPjY2wMVdrc9lTL + iqbddmOJhue5HGGAcgWUtXtqLYsYOk78viDn+a9xXcYT7pHnPIrdOhFKI9uOTwoP + CjUapguMzniqsVZjWVshq1hms2XlOaTA557IeE/EF6338h1frA+ZE4mwt/6hZmW3 + z8L8Y9Y0m9qDr8KsnlygYLFQOYyCLVfnn3m5GnUn6p9A7S+S6pkPRi9an4cDHk8O + fWO1w8V4msbveno0YzAguysWQ2kk1PHHbPlwhZdOPM3k8tuIHslvucLWoYEv5jeo + k+M6QuDvcR8P91CW1Uhpfw/OpDMzaF5TNyLEXvIfI6BUwS0C39SY0kHKcPppdvnG + 09AfdJrf895viORcssU+VBrxtX75Toj561ENE1mAns5IOk30vuB+no+MCu8oAwEy + rUzJX/bwl4wcDQ3pXAjz+dweL0aiyaFtvJAcv3FOOVinvn9W+yUaCPSAwysVU/YR + By3qOMqcNBcvBHCElzd1P9EiRQhrv/sxKOXO77u/jW8SvjCYkitkRJIDDxMR7/zS + XgFdGisfXHBHTeF97mUH1m8tFX29RDImF+4fFWoKs2fy+aRccmeTW/8gbcOYd37l + Aum9uCHzFhrn4zAED3Fvg2lM6xuRCzgV3/uwbSUvRhkxihLZNq7RSOFoHtM06kM= + =LIQ7 -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2025-10-13T20:10:55Z" + - created_at: "2025-10-20T19:03:04Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAzV1pxVVB++XYkZXR/VxbDn4KCGv2q0qwfvHq78tQelww - ejgqEdFSd4lpD9rPPljp0ZRwD0C9ZZeJJaiNKO3PJNtfmYXbGZXng6SgB0sehs3Z - 0l4BnePG0fCcb6YKlfoXcp4JUc/hlnok5Ftt6H6UapaSnghJvoaqz1x4uHFewTVk - 4uLT5OGzx23xB+nQR9Zu//1MH8JdCiZ3DAOKyoXa52pMD1kt8T9a+26rdZgpfsXA - =du9s + hF4DerEtaFuTeewSAQdA3h6kExo61dH6kzd/MEACy9ObjPq7Pd/5uOHAP5iqxV0w + rFjatsAuot3hYdCt0tAXcO1lmS7VEpyw7oPQC26FYigOymsG3TRJR0VNcael6xvi + 0l4BIRwRuSyXhy2A/67MWMK4WvfOHufBZg+8qvlhIFoa969ik0LWkaRNokOaiLr0 + e3SbOipBlJFyzbtMNHVnmNuFLEmYWdXTC7nw9roE/h7H1ngtFKSXFweJRWbX2JvJ + =hYiQ -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2025-10-13T20:10:55Z" + - created_at: "2025-10-20T19:03:04Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/9Go4ytWtrKrWK5daXLBhqAEOinCKekQpjcW5CC2bhTR/r - TZoJYphkGxHYzAy8DFE2EnM5mPLvLeJHh96+WbcDLB0VPHvQ2tLlOJgyANgGBcuE - c5gHmHYbdN+TKkku/hCPXCui9S0xYvAEQUOw9tul4oZmy48CEf8f6okXTEiDZHwD - VqfCAvrN264t4qB+IT7ZzkfcZzvkSVBblRwX3dmNEK+sYT2UdWojWlq1HS2aurd2 - Dp5WRkDu/eVUVv99f2E7aDFTy8wBT3c6O9I1Qr8ROMpwQs2+Urc3mEXc6pHQy0FT - pSDhKsmjUuCNvbr07HxiYDiKYVXDoVh1koLWNlJy2zHl5SwiJ/vefXULGLcFDtiD - VSaeok41RVfKCACZd06BtgbVtHBRX0UrYfek2ngNZFUqVv1596du6Q8DjM6+NZgj - bisLPcPLvaY98mheUgpb/apX+FSnTysxlmJes3d8OHD2trG5tyDqp5uQHjmU1uCN - jfLxuMlxTd9ogNBIfvwMJ+TfkDAL8MvRRHL9n7MbHgZ7PhAwvtaQgNxyRYPKUHrS - MloWHrW8bWggW1KhR7e/AQmF/zWELM67rZ+mhATvh63aqGz7+AGD/XfJzXot2ApF - xwSMrz1096yKau+zPv4i7bXk2xM1bPYL41V0wTk4JkHyPCNZwx9DRu3kDl1pDALS - XgGl5/wueV/EjAYImOQ/QFT9LcQtPKrzHgWr3YT7sjUdgRxF8UZki/DY4nY/J44x - pXXG8cgYG/AIWkQULbNYacG5Xe/ipcR4F/s56Xn+jmD9uvqxx5ZDSMUf1EGmSqs= - =VnID + hQIMAxjNhCKPP69fARAAoX8Q+2hBLXwiOKmAyH4h2//VYwZeXNnsd5pI2Re79gsc + kZEEyiL5MuzcPvT8SdatXbJu+ISjAz6HJpzWp4CgdUajV8rxOBbjRPtX/COcoUdB + UO8cDkx+drOG2Uq1Pi030lz+uFwTEVAM1CUjLTjjBSs1g+Ira6Z32vGWnU2nmPk7 + 7VqNl/AvOlreVpe8LS26HcmwKjoyfabY1AZN7eX8Mz/p/FOg2eotJ02fESNlLkN0 + Fm1oc7RbGTP7kON0ZLPHrh/B25JA/28aV+DO8qB1BC6Q1RQzozU9xIdVBEoZb11d + +vs26uIvG+CwQ42KxMnLDPR6DGRDIBaWl/m3vhWAJ0MUmn3ZJZOOwtzwc+HjrdDE + cwlyrCwVYaMNPkUzk6nJl3tLGtoBFXkvQlqR6wJ6Gpn3W+u5XeWgkFXFBhqdjylb + YTg40kXc97u0KEU2MPref9fJQkfdviIh013+RzXC9Ts4sQ7nsdFeUyPf2ZZiu2jh + qNnf9SRNXLMdeAPmGvR7R0ng7y8TNw2dOAeODFtg9uRYZukFBxDoN49jGmnSR0Ci + 649AjpmltKqWkvw9sPJt9CpBP+OzUakTX9/NWIkKn7nZHiCGNxApW0CuU7UiYrau + qCwmbgFDqidpBbYs9zTTSkJbTCrVAfQjCMXRCJ7MptFTA+PG6dFcL52li7sqTRTS + XgGl4ksdewaA9g4XlRF5pbcmVSquBh9b3HiIhSoZlz7XreFFX8QObEnYdt7EzqaR + +ZO+1vJnkEovMSiqGECDF+gZLaaVwWu9xY67Eot4c0RVCtueIA3ykCOrtukEuq0= + =ANgm -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2025-10-13T20:10:55Z" + - created_at: "2025-10-20T19:03:04Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//aeSxtONmkn37ZD4R85kwupF++d+F5OiRF4z2QvEeWGwS - kOby+TqYXlDBZj/3/8K/mM0JKxWA8Nz+xXM+2yiqsHmZKJMXtXMo45jC6bJ5Q5a1 - 0mEAD6UPX8ORJkxDoxlzpZ+ghWQUGNwyTSeXFzhSW5ikN1KkFOhT+rZS4CBXvPEf - YQVA5Yf3QIAuocw10mIiPso8SFWd35b78LdGQv6fUkxHcqwZj9sdNsVIC7UZCZXG - G3KHV01KmWtgTk/8XjQT7SVWl1O3/48d8DW5KRFopLHyC6j6n2NdF8t+nNaR4d1z - 1CIfjdnvPrd6F3WuKg94gXqgot6yhxv9hocDte2Mf8IR8SqTlXoXqVW654NClxHN - vanZwwYY1gakQDoLzubJamC0hd11ilX8UeX1suF0gXy0TGjyT1VSzDfCF70J8I7q - pj61aXjTt7nQJBVoebvXuW42ZI0NMvQZb7s611Ld3scpTe8Xkxb8bKxDTKpaoY6n - Gs7UMhn5WHD9pCjkfknsa6C8H+NHY5Srt0JM6Ec/2FlD52ZK5AwQjM6VKZhyqQHh - tXsZwHi+el3Hv9jayAF9+Qv14iPn5807vdCLR1ErnefsB5hZcM6rPfhI/BqPuJnn - Rn7OaqzXuHaNi7TVE8RhruSr667AXdoH1dYd4JMsRYH268CPvmP8cmMufEfJ6/TS - XgGB3+MkHwXhLzPDtobCE/ZqA5b2vIbxeMEUNH09FaJhQLejXc2XkNWlQIm1BO34 - aEmVHOwvOFZEND4cDkJKdoFKHx6W39jWwMJy7SvxCY6OZTGY1zTBHqwLHptZs8Q= - =tRKC + hQIMA1Hthzn+T1OoAQ/9H+qP3QpG5Cb4KoDJk7RLE9OsasPhXxlyASt1OY2wJ5FD + Xkj4yPw71jy9qN7iNDGLpTw3FBYsW6rY4v/7cagJvn2qZWq2KYk8tVcolIPAEtdT + lXKH9IpcQENU+W2BnbD6944hINOOamNSmXOcpZUadMLi98kTyaxbEuxiBdEL/79j + hquJykWQFgatRQezzLFHi8+Dro47uYonLi+9iPzX9tC4vcCal9q/hJ6w6kLR2N4+ + Y6CfUdzxKxa4KIlLZ4NfBOuyFLLv1jGYVc6lwEPcRI3StTFwLkjOKKQ3baRheuHT + SJ6GQ33Bhw59BNJ59/x7gCKUc0yPZJnuHfrrf8j6LC8vVCN2x3eraAKsDUwKDUOP + 2aTZ0PNn8quIeUzOJlic0Gtmhumwt8hu3urHq7TNJ+4mJx23iYLRxCpleLTMWZ/z + NaKKxkSRHjoeOATa3YY2thk6e8mHKpoINUVua3xJ3U8ntfmVIPUf6MDztYzoy3zJ + b2pFvTlDHHyNm6Ky+XC222C/k2yC/b2wCS29PaM/ZMNl2tHT1SywM6LoQiJb8dIG + LWaqBbQxizUgopbhHjT6JfQ55l89xDaCf958pcG5MwmHZ8qj5QgUJ4fVBOCKYv/N + coWjm5NGMlZpSg9Q3b7qZAR1rpyKmEl2IwjDyJiMotklU46xcXfM5HhYFVZinWvS + XgEe9SwQmlz/4TyxFQLzek7cTHN62MKLnYYMCIr4GYntWUsUf+pI9Wy4LjvdO+dV + +2qbMuryBtC5f5WItg1YGdUKNXcw1fR08wOh/Kkp/RcOw/n4EHbHaYe11trbKDE= + =dfVt -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2025-10-13T20:10:55Z" + - created_at: "2025-10-20T19:03:04Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqARAAmgQWepRi9uxL1Bc67Bq12/fvQlk34xnZRgWUnrRNkHeC - pmE81tXMZT7pUVCG7FRWnEkkdy/nbcR1z3ogv6MKc4M86Hw2CMGQFXGp5QNjHEm1 - uTtQ56tnrou3x714Zy1JaGbzt2og+tCH3JisgZSpGI8hZPqak8bGF35dHylw4iD3 - y77/8VyDAeB5BMqOgtQvhbhUe/k09KoNxG4N86bbuib1mPVe+GkwEaZs4SQAeige - 9UQNOaogvZhf9QZQAvkB/9AKre8OEWAIFXZQWiuMK0qDm5T0l7QjjehsgXtiNNOq - FoVn/KPhZ0W7VfWE80jFtCykxzC9tUiDQdeO+AX4KtMbWN72GtMvXLAzC3OZnFAb - 1DRzcaOQMG9+I36JALTwSvKZfJu54mZlt9fdMIk1AwQ/BAXIKQdxBRGCQFeO18ac - Nas93tSox0sm0W3MwmyhfqONJgEJpEu/cPqCdi5TDcaOXuyM1Rkd3DR97xieXdrG - qNOLlm9cICeC3ZF+8TcxWqaSQoO0v08Ky2eL1W3g8z2llFZLsddlnB7iOx/gFRB+ - bbNdwZLvz637SZNlFOxf8F+Oii5wv2Dd5szTJ3WsNcaFiT8sCgiPpOeLbKtE+cG6 - 8ElwNICA9Wz36MK3nNesfI2Qo3X+GW9/NKNQT+tr0EYCOkVj7drPdf/0nWThLbnS - XgGqDga/2tLpJWVxGlrrBebbd0egZgSQKrEAWIQf/CMqWVga6uEiNxnuR377KuLq - pyyml1Fg0rLZEcyCOEEtqBuQSUqtetzF5HMPiWQbK8HAVAipn2Wglz37/9uw6eQ= - =AYMr + hQIMA46L6MuPqfJqAQ//XTD4bslFjaymzokJ4KSRLjH411UWqCCEMklwrqrNH2AL + LxhpaGHRWOp6+0UGuwEtX3valFJ00GrS3QPBbh2Gd8c4+fKv3eGChvjIhqCdDhGH + iML2AMKDDAnUEYWfTX/AyaJgFBFaL8KCei042mZgoMIsFSdLGqfFSbYuR+xBGezA + 6SaeieuxFIoQdvFkEb/W9acoCkMybS08xDRbvKbvXx4G8hVhW2aDSUUTWNcZg4QW + bDVlxV4viptyrn7jMxBdSoogW8heNuECI4po43vlpzo1q2f/+sDGRLnY4Sif0eDL + AEOnn4Rnines+onDk79jvMAUqVRBL5dc/LABQmLXw5uhwKIVhY/YqAbvdBHm73p+ + PxiZOyvqq0y37JhFXHoUDkLXaOak7bBAlUpgYQfdqfH2svU3tlYKLMDvx8t88ajr + 6+zFUOMVcV/9d9lUMLGxXrKz+ubonwPNCHswOFgWxBb8ODYK23v8g0V3vA0xI2Rb + BAZzmZ5KxbERhDTcIY/fTgE1Isms1Z/vfRttULHP54fEbLe0Y4DPs4XMOk1z5P2Q + xJzUZQzgCt1RgD/hI+HZvtWuSlhw6o0sU+3DWaM/zM68WvGzQVx1xXbiW44mcIR9 + KLK5Ccrk4fkybKf4RnKHdCNqYi8FH8bi9ys1MBxTq/HmOjfw/B7Sjkh6QnRnw5/S + XgFFxksAOCbeKGFiC5stkgzEYs1vD+70f/8xEe8ZLhto9VdsMS4qzhMTZP2pEGvH + qzBcjQyviALdRj8QUVX/cdpr/fyJyWtOfMh5kPwBa81A5JZy+Kf9pKAPhJvz0zU= + =2nU7 -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2025-10-13T20:10:55Z" + - created_at: "2025-10-20T19:03:04Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdA7ygaB17SxzcWIG3zaGElxBpYnlOVvQSH9NBHboF3sXow - 7oLhRFY8fj4cw3+dSBmspZOVySRUZEtP0ttvTrQjcGny8yKi8rLQXuMu+YbbcwL+ - 0l4BKeJOzNVgtJCLDbkWIion6UwLLjDnxZyDbyyi1fV3CHnJsANaB87Puj49eJUd - Dw38YkWGApDWqjUJYpABgYHuKeIhEzI1bxdrHdblTYQKtEsDmBaPdyuEyVXIQgLg - =YgFd + hF4DQrf1tCqiJxoSAQdAcT6G39wB3Ev2Ygwqr5Grt9vZOzASGQA+ikmZwiXgomUw + 5+EbqDaGbHUu7WQKxcqTn33HADL36GUJkdbJSDrBZZxFlEM10z6MYhEwqKaXKTno + 0l4BVxsRuwpvgBkQbNDUd/lLj9VfWqkAqkaarDeTYp4Ypb4KJrwdq0E3S2dT5RKK + kusbNAZhVfHbnV9p6u7II4mSXykzFd6yiyULU7m3VYh0mzWGp1rD7zoKa1aJanXm + =ej6v -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2025-10-13T20:10:55Z" + - created_at: "2025-10-20T19:03:04Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAhbVz0+bmLjF+/I68+hr5U8Mv7PfCXoenoxzIElAoqCAw - 3FbXM1hOlcDWlvpgB8gXag5qrJk26SlkWO7Zd9kxqSbYX7kFnnrpbkQUqo34cvDN - 0lgBOF62rdXPHPX8FiTUKMmZRcE+OPgAEx0Ztm1kKJxM4AZsPeYumKFT4oAjuT1t - taZe+BsC/LcH3bRthWFzY5WpNb04z/7iPsN0DGQmW2Uk3tO/zBtf9o42 - =T8Wd + hF4DzAGzViGx4qcSAQdA8PCFPQ53k9ff1PZgbIjZjjiQ7NC/Lz99FMBDm6JXd2Uw + mzu84dVlowjWhal2Nhv+Ll5CX1da2hAsn2EfHUms9lVVvjvLgckQrTz8xqtdsMj7 + 0lgBhjbiSrz+4pAzNhkQiQEdLrxPuo3L3z19lc+f/U8HHy/nnDMNgB6Y2ptJaaPP + hk1apratKJXwUl2X70O7O2Muyt/xwbSGRWaTrZS4X7OVK0ONsgn6Ctl6 + =0cNg -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2025-10-13T20:10:55Z" + - created_at: "2025-10-20T19:03:04Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAAmB/8gFVaILor5kyCXkvRgc3ZiFQ18aR6xHcfeWnJHfO/ - I75Havml75ArY3J2c+deEkyDKlJv0d6+u2i/xHOG+OQuy0CPKZyoztFdyXcA6lA7 - WURTkcDMrCZG9izvvxdXZs7blX7ViiSY6XCrBi+J2VePf9S8RG+CIuP3waUN3/Ma - et02KZkwJGAWeHvwEgV0sX0iJLBROtjpBkC3XuvjY0pP715ci9dOs9mBh8ISR724 - X6luhbwIZ9xXXfdevaiWyNb3+Mv4W9n94A3CqQ06Zq0DFx/2/XQBIt8KRWBuMW1B - b2356X+HUMEtzzsRN19eklZZ7eF0MPNJCHdmLq/l5KXUBThUiCb1X8zrc0y+Hrdf - 3roJ0iuVLI0ZTWI6o7YXERFvtg42E+FjL+SPHBzzyPn/9m9uEggiGsn4ya2sZx+U - OXZVqEuKHzaRfvhH6UzzN6SQPOm1T+zdqcVTX5aCUJzJhrUBXZewa3F1Hj+clOsC - MGAeDofHr1j2Ww/zpQgq9FGHNa7EeJEQOWAJeH7YYg2oX/6kP1KAZQaF6aX/wtgq - XN8n1wdlF7GPJYLY5bKpaPxm8Es7B6nhtdzpey/dakfEEGjDWkR4VP7rTwp1AWVf - c1erNtkb2paFpuVqsu2yWTwEY2D8erCNVTJio32aAip4IqGoB6HfJBiA7Lkb1r/S - XgGEOrYxOZ9zwdnek61HxklAjfORwOuS/0pzsUrYF5KvqzrYgOdn/Pp4Z2eSDsx7 - iWpzbFMXDcVUwjS6TuL3UCr10Nj7fn6STGxSULv/pYgO2lXAeRxsCO2jfKS63GI= - =jH2X + hQIMA2pVdGTIrZI+AQ//Sh/t17msk1UHJO4Qr2BPa8miw68ZFfx+L8yMO2JaLAjM + I3xjjSnQkNJPnNWstn8xcqVnVSwZuhXhuweqM40OeHV0OYB48VR2qW1Ac3FlzZQn + WAdaX2sHtvcNQQL8zDhzyluJyUF7ZIQZc+pgsFgA5XP1G529aRit5NPNNs8heUeV + hlX+HUwq8pcCW6ec7VHo02hncZk2w56+MNvJSwpztG98vL9lCWeQm2t4Yh9kh5f/ + vDZXnoQtNlcpwgMJlVuhEzCn/D6rXr30YSJZwM6Lx2d+8bj8ExYjYRhalpja6XFt + 0Ra1hrkmtqQHBRP0OGlQ5HbbLCHxR6y23lrS4btkqEKwSFpbxpi9moo/j2Li1p8w + YE/fPHMcxeWo6N+3qKxWo00VTXgMg16XuRIHxZ4J6JG3MuK0uXyk1FDdQAROokTC + Yn+FXskUTYd8wfuYR1VJQaWtSd9NhQVnUzkiarokSOxq1YHvTLtUgZ4/UCJoUyMc + gOTielnWVe09EFelBSkhC6NBOYYdGqKl8sYHIjt2wRhFJKClkakIyDYFzFSdZOI1 + BEBR7Ww0SA5U0FYqa7f3So/K0MIFGld8IvdxtsDEreXdQTdHks/5l9oEk/HpUYeZ + fNETuC10ZdznBeCft7jfw5O+gFUPaixN0hEavx10iaty2SLS9P/ZWXXOgPsoYGnS + XgFuSH4jztLWZGW/G4Se4XRfLuhaiOYW1GvnnggViSFAVrpHPptwodcFaIA9cB8B + dzNCv5qzsu0b+SCrooFwyNoAmDFdiwX0MuEQPnGcZLxWsLnNXiLDelXUAzHdouU= + =t+fx -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 unencrypted_suffix: _unencrypted - version: 3.10.2 + version: 3.11.0 diff --git a/inventories/chaosknoten/host_vars/pad.sops.yaml b/inventories/chaosknoten/host_vars/pad.sops.yaml index cb6c88e..f1ceb75 100644 --- a/inventories/chaosknoten/host_vars/pad.sops.yaml +++ b/inventories/chaosknoten/host_vars/pad.sops.yaml @@ -1,202 +1,213 @@ secret__hedgedoc_db_password: ENC[AES256_GCM,data:5Pw0orOTzb1xCefwx/n9h9m8gmEY6irE,iv:nZvnPSb6sXjS6k4wNUoo2PCJyOcwjm36gs9l0mxwAeo=,tag:0seJlVi9qTfBiol7mP6DQA==,type:str] secret__hedgedoc_kc_secret: ENC[AES256_GCM,data:7RyM9jfKnaaP7kJ1JwucPa/IAwaRc7Hhe9VYIKGEmlc=,iv:RvtaWLsf/X/y8s+DLANcyVgagJqGB7EkvQ2nYm2Xo24=,tag:amdgqknDGeZxUBmXsd1ksw==,type:str] secret__pad_smtp_password: ENC[AES256_GCM,data:msnYZYl8vP+OeISI5OOglQsCQ8vxMZ0gig==,iv:oqov/myWJNzUoAn4BSX6hN1fWyab5vud8NmT+z4ECqs=,tag:0T3Xm2zw5k5WmC9Ks03XhA==,type:str] +ansible_pull__age_private_key: ENC[AES256_GCM,data:r9j1ikemQXl+Fq3D141P/MVltGLR27UyHxCCWnZphOLyGhyhQgqcuFqwPy1kZhnbg/mj5DclJ8rzqyH65T0XQu9h8d/vh7Apm4c=,iv:xOmxBTVIOTRt3rzWM8wHKVD7UHeuPj2+NSHJnCvU4xo=,tag:CA9dR+/rB/wfcPuU/+zwsA==,type:str] sops: - lastmodified: "2025-05-04T14:02:14Z" - mac: ENC[AES256_GCM,data:h9E+eIum7jyIx78zJh65c/4QMZRq+stNklGuBGo8afYpicLPG/A9LZz1UeBSxyEoMOV/jHAIuoU5u1wmijcsZSBBjI0LZsBTnGLORWEZCoVTEVCUp9CJHZ8zQEVj4Gt+V/moR+pD4s3YLuywamjquvghwtOMYt1JzsePGcCkHUI=,iv:wxhwDM9hmALuX9Ko4izSQ270X1aaLH5Z1iu93/D/Kls=,tag:j0+XqgV43A6ry6hbHhGj2Q==,type:str] + age: + - recipient: age172pk7lyc6p4ewy0f2h6pau5d5sz6z8cq66hm4u4tpzx3an496a2sljx7x5 + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDeU0vdWM5N29uQlBjMmtr + RGQ0STVzaFJHKzNiOEdTWFVvZkVPbXdCYm5VCjBkcWJPbnBKLzVQdnVKTXFPYmlJ + cHYwenBBN3Zjd1FNRkpScGhxcytoLzgKLS0tIGU2YUN3bGZKaE5WOGZ6dDY5Qkpk + QmYxMFVRRjYxTTVJTjgyWmZUcUp4UDgK0WghiJ7qqE9Scq343SjkZ0zDQI/FFJsd + 6cJ/+X0LRg0pzlCHa7K7amaYUAHSlmjv25LNIJR61Xhn4kGuLBCosg== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2025-10-20T18:59:09Z" + mac: ENC[AES256_GCM,data:3BwneKrw8YKmfwIoDyNRo+SG6i6VMW5tECQrhMXiq/mB/14xHHrUcrWRanFknm6JB518Ohv5HEjeHsrYdUehwpzsl1vtCji95osa8JdZY5moAt+4f06viRFTYa6GrfnNKToUR9obZFiPAHlMXcTTx6y0m/nPrtFZhuNtFssOdxg=,iv:4fElvIvapfqSqxRLE/NSiWyun5hAA8JLsai/Eoa5K68=,tag:mPKOquAMj43I0WhK6budLQ==,type:str] pgp: - - created_at: "2025-10-13T20:10:43Z" + - created_at: "2025-10-20T19:02:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtARAAkolIEsdplQJcA8+qj1QblUlBFtNdBkAN/uR2DsJUeA1K - u79l9bmOv2/gQNDU5VHNQvbklU4uqjZh3wEfTd4E1ywEjKNzA62njYAg+2/t2tM7 - +0a3I3SsnXI6+BVRiLOqclIZ0/D3h9y5vGrIyBMG4P1kaB7c+5aPR8d2lP58Dxkn - wJA81U8JaAhjSYstzgSUUfsp9dNCQj6hax4YaHrXVq17ToJIftMa9TgAyUCZCqRW - 7DAILy+D0J0h9mvZL8++Sl+mkQqF4FpOlN1kphEz5itmOJ3LrGPDa8HalJMaHaJH - UZ4GPlZY5kAqmMffZPArQD1aMbgRiF9kN1FBfI2Xvkp7PRxuCzj/cxyiyPY2EsVV - cfSSdBot60WS0GyH8pVPW2Yi1UWNjDEazq9Lrp80q1F4SA9NC56spfDgji3V5EMe - D25LwSXB4zhgb4S9/iAYgJjz6dXvm9pVi1q1GBo5PrfBeX1cS47H9ULYtVTvYFSd - CKTZlOvolBrdMwSUMCD2UEa8hO2cxlf/nD/E0PY4CWHVhXwzcxBWXE7MIiNwlnzg - lJ2uBM05xEVzZq23Gc3wCMLA7042VDMKlq3jp0rrtMoCa4AzcHdmGB3vcR5WeeuW - uWjgWTOjWdd8P1TDzkvrOOA64RAKI5kyOPehWreCuVefmhQjIUCKJdZ6/0X+48jS - XgHBHrjRDE2GIJ4KmwmRH6A/npul74ABhFpZz+TioTOLABvGjN+vv/aSaKOf1yVM - busIpxXSDX57Ku8i3zOMjGq0PNUM687h06ySTRx2GtCK9OxoyNJWpiPlpw6gnNc= - =P+Ya + hQIMAxK/JaB2/SdtAQ//ULps+cAGPArP6TiSvqD2TpEcvSmMiGpyQM1wgVzoTAvQ + NFOa1Ayrnt4T3xCiYcIubYp0/on6hU1mlNV81VtfpVq1pcAo9MCLQL0ggkXvOb0g + pSSe+7wl2rBz0uH5yqR9cUmiKI6YM80X9Qg7RuF6UkfZespQ51YkdEUwNHVb0avn + ytc2+1c3YXZJsqypxs28gos5YhlvLS/RUENr7tJQQfhQyzmZyRF7gVjgI6+K3l78 + skGXZeCiQX1Hqc73NvRkz8/GW3/eFTGooJXFgervmi9siEwcGhoJjNh0cSGaYAIY + nBXMk0NvU55ix9HOz5quS6GkIBvH4nTQHT3EoLA1N4ePJkpjSYVli7gf8BdJlegb + CHvf2Czzrs7lmKNeyNa0q8B2W2J1VShQw3sF2TRWZpQcsIb/gKdC9pCWsw9fbQO6 + MJLGTPczoDGWuE3hlpZQXzTJOpgg+qLoHzFqhfL7EhUJhYBZcTSvg4HcHtlWbEZ9 + NDcVBdifIhgKgH7icbt9BIonoGOi/Ggv6nC7L8RGaJ3B5IRclTxslbxtdPgBY2CK + e5v4rGUgpBwX1ziaNCXrYufKDRKz2PtUWhY9L9y/SkxEqoi+snNrYQFwDlAqzVsV + 1JAaySGpg0027kgvmUs0VQSgTxcKzCjswQirwUAQ9/FcEYcDgCFg3MJFyERJw8rS + XgHgPPTsb0+kgHD92YY6Ns/Jw5baEKnjuyqp5xt9zU/vXJqmx6TelQ+GkWrSZDuJ + eENiInxjCbtBcHY+p6FeMncnozr5NTMnAj+xpCievtHfK6/1lw23z7qYGFs7+hc= + =33TL -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2025-10-13T20:10:43Z" + - created_at: "2025-10-20T19:02:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA6EyPtWBEI+2AQ//WoxZP4T54kwqz+0Z30UCYfdIYUjuL1g/D7fiuXbMSZHe - cIY6hNfok4gAhfgarrEImIPo82gfTlDGj1m7TdciEMvPS4wOrcwO9PUMhlYPGePd - nHZFlWe58p6H8uKY7TSb4oxklWQ6eDvROuTEFK2fjnKeFFatVjbVrbE12D4iXfSY - L6Qtf+Vadh8GV8BiDWA/eHLLwlK/Z8/6sBXFrp/7iA/aavp2cEYm7YZHWwMXaErB - UbEa5hzV97l9pYtepukE+PbnY9Z9n6uNOy/0+bdjy8aF2QKFMYwjfpyAlfJyz0qf - MrdMnsaYWdYTI07q3FRHtrELSoOektTx9Ln+jELDHG0RWsIpVX+k0SBPaMFE8mMZ - DgiAE+zfQ0qiY/LFuL0Lb9hC/ksdT7RIUbVD1PYyWvi4LriynUv9s+rRNoUNVscr - JnZEeD/HCtH2GaJK/7TtpZGyobWSFr3Mr1d0GMQX2NmnNqCeRCOeLzKB5jaGx/gw - OjMq2QrTGW61oa71l15MpWGNTfPNDAGF3KjZ8IBDUfadY1qjb0TzTGrXBx0SB/L+ - cxaMmCTQJ8ixqs2c4eAFJ9VFiLPN7ABYj84zEmeO6MhCTMrNOxEFco/go3+Iow5Z - XgeyjiUK8MwI8i3OG49sNgtmAPLumris322InYzbSX1OSFVW0gfLadfhE6lXxRLS - XgFMdQnnNa5fQOpPa7RfrVj/1u6G1kRq4vgvZqJUCEcZmKpXidl1vnYrwOBf/0MD - xDO7LsKK5UvN3jHNAQJKMZXOBk076LcJPQQ3G9WsmtsZc6+1KsrHev0irXgokNQ= - =f0+4 + hQIMA6EyPtWBEI+2AQ//ffDofAam8JzM2BkXLtth9oS5eocIrDe/PVXWdeRrSCcP + pbuBaOGCAAjAam+x1t5bTI4r1sCEnVq3xHDxm9tK/CPzwC/Ha6RRZSLbJISOt2lG + QVFtYptRJGxtbAtl6L7YhsyZs2of1KOnRQ57nLi/q+Ho/eKZShaGr1VB/nkRpHTB + 8qg3qJ+sGL3tjqPLzh37lQzW+3MBRRLoAty3js3KrY63VJgrmy0xZM6BX355F5zQ + ArelBoowccbdjE/Tiw/ymlcPXBd9DLlKDPQA7kRV3MuB4/6xd2hcg//dAi5kavN5 + +zgF1O0xbPfDGDLIpfnAB2EFNHgTXXQ3mxyjLg8ZtoHjv0/rSrcOdgTj3qmOrDZU + ImvP4DTGIPYwxypk6gxkQvCWvyoBELa1oDKxyI3TqAM/IvSxBx5DVIsotNv5p7Hi + lCbXuiuwoO4zg2Q507d3BKvwbpeZVLHdX1eFOGF9PXEcisouxakHE+Eq971bSej/ + WhvZT86S5Tkzrek3ykVpmpdNp9EjkDoJ6eXyuVLVC7egiGlmvgVgw9BashutsYhL + 9uB9oePgHD+TQ+Pe2LjkjTTVM7J6zm0P4HUxkGUw27JYJ75DAix9wXBhPQvwtZDH + og8zJi7nzLmu1ntUEFCLyBlbxgeWt10+WMxwLHkrQZZFEJFMUpfMsLFZIkSXaibS + XgGJPLIcFKc95WPEEX5dG5uIR3zx18WjCZpFgviuWT0h2UWUlhLoUoHJzuKTuhTf + JuF4kbTnw4Gz4aJ8btSTzO9iq7Y0i2qdevWNgZi1/o6jQgxnfJv55UlgIOyDGz0= + =STPQ -----END PGP MESSAGE----- fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC - - created_at: "2025-10-13T20:10:43Z" + - created_at: "2025-10-20T19:02:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAAuukdEMZwSNDit2YQMbyBCBGGTqQtcHndjKCfRKMMqDTA - T+ANtxWuL1YB6kXaZpRurCYBKOMlFC7un8/GIDUiJNep4DOcSY8zBYIuPbjSpuQ7 - hCBziiCQhAZMBDB7piHxFTbn03BXFBeTXLR5oz7VPFQ69uJcOCytLYjLz5J483VH - VvJfMKPhIA1i8teesgPcQlkgOlFWP5NxPAUMyNkOrz6G83snsSa1FYS5X1su5YKo - vd3EqQVhv1FO+2s0X1S0am5BK0GWZDMOuzHbMVKTbY/Wizz9KhicXtsCDSq493VX - bXziWQ80rYYOfVOEWHqsgfXWe1OuLzT4JMCp5nx50g7qmKFRw73kMJdyDfijgIjX - NYqvRI+LD6D/sAXGrMvP/CPW0+HxXWfwja2LI4v1cKeI15qVOGvqkrT0X0J+L/xi - ef68zqXQ62M9ICOVJzynV508ZZmrYxM1uLLQfgf2oYM5TlJP+uITPgwB9bELGuIa - h1mGpquxUcbcwmtRKnhJhGmIoEf5t5jyX2wLbdPRGj9S5NzAL7fRGwypgprL5vGR - 18jJY6x6yzyB30DZnxEJyjnwnq3fvbZOuONt55rIKD9v0m11ogYNSMU+X6TTfURz - D7XYmqU2gbvP2g+pS6MmwFIjxwV2r30bmWyGtmOosmvBid9hSkXBNEE9jppN5azS - XgGe4vpkmFNPySNTazuFYHXLFg/wWB8N6ZZIRPXFKtBLmSptJm22YWiiLqpcb/Am - D0onXEHPu0gOBoYhh+dbz2u5ELqfnay/CVOc3WvqegSJvr85mHKX5sXlZGdHFSg= - =A3kB + hQIMAz5uSgHG2iMJARAAyhjh84qJ3nVpKu4Z9hWUlUHpNbYVxpIb4w388qMaONB2 + +lK5EuQ3w9Oxec3rvN4tH658S76ciur2MZK/CLAkA43JY1tsKLXgYSVMwNFm2B18 + PobkuTTI40n9u1iFYlI3bBjq8KeVTHFoQVnMzbl1c2y5VfhNRvJSn6OVMROE/PW3 + Vdhl46DQJkjz0DQYub/L3AMssFwFdOUotP8W0lVXv0IaRiB4Ud6BM9P+A+4t5c07 + ZiUZ58qyT+eJxvDI1SFDoVAOlSAkBSw4+ZgOdbdfSl9AyQ3kmGsSjkfFCz5vcSsH + CsTTpiKuRmbNwpef6ufnjexNUXzFQv7YFMlbkKbbA+tYD++RptWGPv7QhC7wrZXD + Y43HIvk9itwU8dtZA0XKG9fZdNe29yeoDWWKP75HI/7N3rNvXXAZ5Q6eiWtkiAfq + iDDdYMfelcsCBK2W9zTw4wFNhzh2tiTl0rFk6BtkHqcAIKmqViOGfvd6H7/KHusR + C70hYMIm5J9aKXzKhNMO/TwzdRh6tKETD5PDtJI34e3lzQrmDQbc+llxSfyINkGR + l8T2sXRLPUwWZaFrlj0K6IaudzgQ3HORlpJ3rXsmcsdWVWLeWUWhFkXyafvKk/Fl + aPfJ8VVqBt0r4MDvkqq7+8SpowoZAynST3RrXyj3/zIJXUN8yh/+59PWI499nB3S + XgHPl7vKAly8bChR9Le0lQhdiwtMxipRUlaowkh41QMZRsKKNJPETFbwN5TRr+nh + KPwlwfGNAlgsFd0wFgdw3R5I3/9JZxaJ2YRHg6F0CQpoTTDGDLGfSFhDfXPQtoM= + =4yn6 -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2025-10-13T20:10:43Z" + - created_at: "2025-10-20T19:02:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1ARAAoN2q5jd5EXQCcZ5m9dS9iuoofusrHNBwx3rxC63AuE+I - SEhOV7QRTzzzyTmmqb/OFmzKgJiy5epCFkT3nkS4lNAZdiw3qBNTS7L1xC6ireeo - 1DMquTVOy/DQ11Zj77oKGRX5DWuXCLAq2mkB89pcglKK2vXGQs16eTuR9tRpNwAS - L8qRBLN1zTJQUTUCyI7+CCBMFkQ3SUFFZG4nfrka08n4O59OubcmkkpYHa262s29 - u5wdgkxI+3GyXvMLku/hLr8kGK76YpvduEM6oMpYC+5k53RMBfekilfWFnyW8cpm - 9CN6Z/BS+TNFH/xrC5MlsV9PwgDXAltXs2CpolpOx2WtZjspPzIrQWqw0I1unocQ - GF4Vlu6S1f/sKKe3y7AMPNq/tZ77vakwELc7zpP2GOoJQTR9eSaK91s70BkO/2il - 0DXc9sT7ecW574NyJ8Qiy9UYHrlmdHZZwtFypZIDRO6bGh8wzhr7mpug6NeQNJpk - Y4zkpoLEdksJ0BeyeUbVS26HHEHe0tAXK04Q9euG6Rs21qJLEkPbpzx4P4oq6z7s - Zj3IBPUn0155GwxrmDdA7l+bnet0XYJt3O+NIyKh3tZXZEBqxs6APhSZsyrbMfm2 - dkDGa1aYM9PICHfsu5gYGZSodAiuu1LDe9foZAWnX8Bqv2GdAg28Z7p84b3zO8zS - XgG7R0YcKoe9Ene1lOe95QSqg1t8Mc4HkNDHd4lH8dVw4KckNKgPYsI8eOB2ilCS - YhPxRLXhUSbb/D0dsbkvuTvNjuvUPyBWPRRoqcmE0A6An1XMCEuOpKwwyr3T1hk= - =dGri + hQIMAw5vwmoEJHQ1AQ/+IiCAkI8bT/0oPS1nkWYYDivXR7EC0YAPOPW4WvjQbpGP + 9jtMDVbTTAVCOdPRjW/ewhY4Ul7aL+8kt5b9Zg/RzHk9KZO43X8+/O9vBZz3iv73 + SkcRrQVoFff2cb5JstfIz/pIPV/NZvMmNn9twxiZgIMYL+DKo8eCNxj4GREOLvIi + o4aHQJZFFukuaFPZDtZjfPDVhz/WGLy+/e2XxxSw4hXPf380ELEBIls0YMiEcwjn + m9uWn/hxY10wV+aZvIkRKWZMKB1SWWRklF1ZSDlVGJOLAbBGbry3VfcLhAIIzEun + x5kf6elgwnwXonZkz4ualAdu5xEgVXGr0IPhaO+79TwlJr+1c2UhCKbxWun5jswu + ioxvTYw60SDFSvKjPEAB6ANGS3bL6t09LTc1//pQnElW7s7TSwSUdG270XcZGaJd + wYMYCrFRA6rYmQU03AQJLnze/fiRoJs47SPtGF0LFHvcAWS3Dqb/R8AIRmciliJy + SAMwUD7PixhN5YTo+t91utGLV2yi24fFFlxfH6LgWDXsmvjm8mBJ0xuM+RyfmrIe + Iq/zDGgpzXz5qfJz1QiH3MnGiHrQqG7u6j0sutkw5SJIdXn4FBwMq8mEwWu2KB08 + xbUtlIv+6W8BgfHtOwBqxRJdGau2jesY5ALYXf5IbKXQquRNTYaJDBYUDZlgdgPS + XgGlBl08PvNVmh511c0pojHm9PRHdk8eLJJgyOm6L2L4ZoQCU3lZvJtMnhsyBVAu + 99TReQ40oCKEpwwOsrHwmEuaTOi7I1lgUhsMKrop3HdrCxVdBVRf1tjdoQ/vSgA= + =JCRR -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2025-10-13T20:10:43Z" + - created_at: "2025-10-20T19:02:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAMOYfq13YmUmzXgRSFo+/+vTTrQ6c7NFscvUXvyWeeDQw - uBjdC2BK1e7ZXtzdLe+8lCMEL873lYUP85JZicE84J9DKD4KJ4JdyhobbAtKC5Q+ - 0l4BYTEO99Dt6fSWPpnh9FAWqM77RTgv/5+polMBNvAEJVgHaOl068BZJj9ZlILa - ReLmOzff0TA773KOh9JlXHCTf/AtMdPSOIOK4AcfccOe5m3muRVkpTH/goENlvnP - =Nnkb + hF4DerEtaFuTeewSAQdAc9abZ7m+uvp/RNWkoOIo369V5WsuNtAVs0A1ktTctwkw + xUSaofi3bI6UJcwoITA0eAc6cv7FwQnYp537kZgHrUhoo8TVbVEa2CTSiiJTlf2k + 0l4BRQWRZSsXT8K+7ohukFB5UGzXAcbJHxxVb9oLkgmVJmkTsR9U+Vhce1t+4kvk + x4EXxgBpyCIBx0ZEW0TIG80UvYnX+ny40RMg03oAg965hH14GeQnLYgby6VDlCCf + =8d6o -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2025-10-13T20:10:43Z" + - created_at: "2025-10-20T19:02:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fARAApvCZ7Y4Eg6jo4I77/gR7o1cBNVk9y7SO8txYXFzzIUX/ - CYooi5WAne2a0PZAXbxwvoSv4hQ4vf59tCYJugu08IRnDWHwlHtQabX7Mg4pGYyC - gJIl/P7XTb7/4C11wm8KH9BleQcbwVt247h9dAdW9nP29MUY707dqos8Snl+0AcA - TnVfC4FJced3jbrgkrJrprYfj853xDdFhDQnoRA2ICRf6X7e2jkwwsPRYtyEphIr - msHBfXtzVbNf+elYU8Elya1YekxUre9fKQDZIYr3Nr7DywEIVSu2oAu+m8M/kn/t - 5tYAOw0uTQ8ToHFIyWGuiYxVDMtwcEFIXznGT4VFebgAqYWhc1U+rSV0oE3VW/rf - GS/ehWoN07MwTWNYm4B04ChywR43czkKeutPqnRPO+LiaDFfEv5n6gwgS+aghBCf - 82Npprkazjun8QkPh4rATOhmp96VPCQKlUIP2N0hYF5Tj30kiKioj9ei/0+K91c/ - +Rg9XUe7zj73qOFGKnu3/c+pWMvX2oTG6RtdkKG5Ah/3xD3PdmTRBA8Zy815cSCF - IkdBbfCNiiNG0miXlij0o7t5/h1z5yBLr7WuhdM4g+l/ms35oWpV57StWbfZZh6p - OP+0UFxm1XX7VkZKxZWOAj/paW2X0OBHS9QoPwSVP7k1Z0+5QkrNhwpIBPWpr13S - XgF5h/yHujI71bqg+qsuaEutUicf72XhC4l7QzC8hngvn3yVwJdVeuMsTzpdf8FX - pVG5TlVwyEiCCyELV23FgW0XCluX7NQaiRVI7A/p18AbSqkwMt9sYBNZlAVVDRo= - =2yt1 + hQIMAxjNhCKPP69fARAAg/M9aWO8pV66I+x/BoNAbJpmJseKDmDscLLUmOgroSSu + M8YNZdKkEswU+3PQzEM6JoE8OxPdqA7g2HQqLm+pswEk4aYX3uUbcmqiHeJd7Nb2 + BtVNbGsm2p2+8wBe38PSNtbGzIkgD573EPeZgtKwy+Xdg6vl9+q2O1EUsWMafInH + T1y7BGT+gY1HdBiZrbnjg0krw3ZSdHRUIZWfJ+Hpgw4XHJul8mOMPfbUzhnFw1+t + ji0sFYsGZZZSTc2rhOwt+cchc2CR1w3Kjx8TiZdpDlclpjmCOvGu6uIKjcpWRygA + h00Tyih3quSDzCDQGd9JQVSU3TaSCbZPxv6zgX7PeSBOS5E0zcNI6pv+O3i6xDIf + ZvT9/pKLRw2aEIVjAMTMMbTi9fy/oCyXS/JTaY4VbYnkW6UEWxhP3YiXdNHIqoLd + 2nooNOh/3fHfWTuOVahuiip3aJLfoQDQj8UcOY2iOnVRFig+YSG8b+zwtV6NN+KF + DpzoUaEoyFM0DZ7uCY9sE5SuCpv7k57QdH6+TqBxrQsV0WdmSlNKf8QdIPmBXK5p + DIEom+KZ+ALoryvqnv2mbAVpmWGs3X/V+YjyLQJz3TPzhmotz0+eOtSNpy8tShgR + qYKCXOQZHeOK30fUg53I6orQs7GdheUOf0AaP+CuXVIi00CnFT57Oe2tJKaYL4vS + XgHgZL77YDp5C4iWmdx7l3yivkv/4thHdLf+y+u1CZDbYe+Gu3CiN9s/3FwvB9or + v3WSq28wmRUUgP5PCRJJcBZas4FFvZyGl24orL8ZC+AAHIpWOiJW4rynNp5kvrY= + =TP+V -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2025-10-13T20:10:43Z" + - created_at: "2025-10-20T19:02:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//Xon6qrBk1OukKuTGzyz0LrNGkJrBLZC5FpQ4KWVVuTGO - UakD1V4tSliQ01PxjdwVluyCVvMA7Cs4XsrMQPEnJKXcJukl0tK6qNpQtGExU4Yt - SUslVxSjdfcVa+zJYTSQcNivtJUnd05nX/CeRFkJbqGMLYWVI59GZ6R8gLD2J5iI - plWnncxDaV9Wcnsos3DEiamA5qlGY4YUUUx+Cf1tPZtStkuueGq1Ir0uGxn101W2 - Rf3yC38bk3N93yNyka2Bm/KvPVE1fPZovpsyc+Y4gh5UzkI2VCBSnjiKgD4ZbFC4 - lLmobWJgKzIQmP1b8xfjsN83fEeX556J23IVV5H7Q9zCvBWCpXu43MtrbkHhZ53d - oVevbq1lc+J8lMarQNM6UPGXecrlMGCG2wZncD+0SIeLFOJBogTNVxV4hk6f/llt - f0pX/Kd5zZmEOhE3cBXrlDOHaaEMQVXwn2Hv+zpPvnhNZekH0CK0+Z83rC3Uer1G - lLUJdzO3lIy58edAQPrwfeodo2eBxyqKRPoggaB30N659qOBiFWy+OCN9gkVhKYV - sgEVXYdsw0/07OG8shEJz8h8PZIMRzYnxvUMae97UfV02TsyBtB0K0IS9n6uBWZB - u3v8Gicm/n6fN4CTIinGNvRkTLuNTfHrDkxLuRNgvNyuy+09/7UjzleIwqhC+pPS - XgGUVQy+K+OiGLkzjhmtvvKwpbngUXlkz4t4yn8Gf9AeZfiT4CMN5pj+A+C6Bwjx - frjQ7d3eCgo7aOhjD1BU77HIBYELLXHnqBT3MGu5n7FAFFBT1Kfs+lODRszY2p0= - =ZBB5 + hQIMA1Hthzn+T1OoARAAgR/ac4NfKm1SNgn+OTrAD3uNwAEyAbuOEpWJU9GImpnO + jH7tM/in4MAc5p8s4VextAaOZMUZ9xO/ecV1kjygcOjHtROv163Q5RJjmdkv7YOd + 84M5xg0OtHYVfmlRo6nAxEXtkQlMAbOHKOL45BBzlGs6lCq3hywbyZlolZ24Wbd2 + uojGAH0yuLIYRAXgir68hralvlaUfNt41iWIvFvfO6R/Ja/3Dok2U8wSqdQQcPr3 + lwldHmbrIcz8eLpuGMuBKe6/2aNrkOuBRExRnW+wV/FV7qjFISBiLjekrd42HJ/c + uY/5SllVrA1UwWx7IUGLtb0XUQ/9U9VlhcpFB7dwCb3CCmpNO7+UuQb/U5TZ7uKe + ML1sebXmrV/GRRV2/rb5ZAOq6Dzqo95xrCJAQ8y2Dp0kjkYLfjhVSfuELxhzemZF + 58Xwx7OuSgQw6nXlr7vZ0kdvKaAa5WTQNkGbLnC6UXz4IBgTEGn+Svv60xKgUm2e + n8eUBp1VCxwnhUbF31XpE4SE29ZLmo+D7Vdw86irMWvuBMU2cTxAi13Z0OQCGYWs + kNS37+E6js3LvnwPWhA2zXDE+DXx4LSWdfJVoSTmVW5lVnyc04LXkXNJ87LV9Pv1 + JhrAAmXC3wlLfn/aPrPfdR9XGjnwyNojRYpvJJFpT6j/nK5mb4FGorqtFtQR5m3S + XgHj1QJGtTwSQNvs3kOfB241bxGZV75YAJPi+af6v4pZGtdyqVLlj+EIgFjHFd93 + wjeGKfA9wtrKeTkl9LQ6/uq+x1CnLpejCvz1MiOiYLoU+Hab3/X2jrzIN5mY1+Y= + =uuXv -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2025-10-13T20:10:43Z" + - created_at: "2025-10-20T19:02:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ/9F4N+HC55MyvYJEADJ7HoFyb1KqqKjq1ZRJkO8DEaA2+m - x47pNAX1qBHSnR2vDHMtKI6c103MQ56gP8FjPe56yXIFSYipM2Z0vsID2jMjed85 - 7SpZ1hSmcyP8xYxjVQ83uvYKZ1DVNTn72u89FCEpLBSIXvWHoxXFZ9lANaDoyzGa - jcpFdgVFo65R8offS36lSz19ErpEXzlhiyS0qwCZsT+BXctrybxo3HHgafjrvZqf - oDwsN65a3skhFkph5kE3/3Y3sF5Q6t5maq3TGpenRtsS613avVkWwqw/X9/nmd1t - jik7Rkccx507MZvj6TSny9nCIkEGmew/Vbj1JLA38DCkdRIUWjUhWZBE4QtwtqnA - rGhAt7tr9B/SIeOyQy+TtdICRT398h3GpyrqwlOmheCyunk/ns6rnhvKc06yhs+S - 5uMkuUhvTi7qUcGHjX3cj6N16BknUrSz5kGoiv3U0JM1gz0oP55iDWCfFw6K9TNZ - ROObvZzzCcrwF4o0YxhaEJTf4jAH1O01dL7iRBYa8EVEv9DigmIJNSI1ZBZh31Jc - Oa/D34UIw8TpAAbtNPXY6kovbcADZVbpaXEAa9NDfM94TfLX5tx0l4++W23ZB9GB - aUGTn78SWlSNBLR83u4aJ/sHvIZ6gmCL3LeT0JfRZ8Ryt0H1mLpunJ4lDXNktuPS - XgHxdfkx2FJMsiqK8ygfeeJUvSx8AVRDHycLPALyjIvOQW6E1kgpZf3fLGPcwoY2 - +EDYy3fG0wQ7O67pWL+hMxuYr4A1L9O4Xdb3dmFEYntmVEr1w3YNJRecRy5ihPw= - =to6D + hQIMA46L6MuPqfJqARAAn4LRudcrjLTCjqQnjRTzqMbnzDui823FQpSYFZ4mASuk + NiyX7Fyu5UV7sHkVq198oN4wFOeZXO4941ZTYJGhtOxQlWIuPed/TJQ/L2+tIPcf + gljfyubYvL4IRKMxVMpiMDbsTMvFoDEk3tcjRT5ZWPKjPaR9LMqP/dbQU6AzfEbF + nUaoxIUv0gJ+chDyHccdx2rys4KwV/ez+Y2DfPOfG5Y002pdGF0wOACwUWAY5+tj + 6Wt4n12RENGA8c3CRhIQ8Q4ZKb9uTA6LVUznC6z7+8xSmMPWDWIKAGKiSP9hpcIc + hoM/EMqu6WS51I/do8MuPusuxLKDYoL0uMQPiYnI28twJr1AWneQL24priuEEGin + gaZ1f170GHFbHMbJoKZ/BKuRRg7jx6DTPOmayXSEgtU7GyeoV7Go276A7yj6whb9 + qD7QF0FQ44Pm66IT4NaC2O3xBw8e1gn6RVurHodkPOLP15/5g+i9NDfQsdDQRFHE + LQ+VYF5Sn5vmie8RZvk4fwQATQR59FPMd28chYBPp8r/94ejMdPr6HFKYqGsu7RM + MTcSskZRL6pR7uJbrHS99IpT3demUXJUwE02V2vmd+LELVPyKrC0LKYzFSx+uYCB + Ozk8I+qHTb94tY/D9dvfHabp6W4FQRNnnNQBeWqQzu/LysfaSNBA5VYOKRu1g5jS + XgFzp7nAHdBXH2dnibevh2RgHnc/MKQr3mfDFERkxKphDuj51w7/lSs2r9iQsGp5 + xQMx6P8UGxAeOVvYogYqflLkQD+ybtk3YBsxvRQ0Y4YYtZw303+5C99XB2kaLoE= + =XWp8 -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2025-10-13T20:10:43Z" + - created_at: "2025-10-20T19:02:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAgJIqr9tgiyPy0TLAOk0htl6gARxNr7ARDXllXNusblAw - jzCtJ/u4EPAu+ZFPLe2KsdKgEAvhOsx9VH1wG8/bhd1aJd4SjPy2O1db/TuZ/v9c - 0l4BmAINKLonChboizDJrQICD6axZ0kEVC9zZcvY1dXAgKlmTkDwgjkKmU6dFL9Y - I7HBtKXGO3DXtc+QsjUpOCGVcst+Or7ME+iBDmz73yfWRTbBPmEUOGoWRFRrPERX - =Ogqm + hF4DQrf1tCqiJxoSAQdAtH7dYUPIUbkcD1k/qOkBUW/xrIizSLzwO1z2a8QC0Cww + RVl835uxs+sv761WBO0q/N1ZJSQ7I+K8HwBD5zI+0mq0Qy3hqFKwA1l2lwhLcDfe + 0l4B9WdrtK2c4DSS4AwZ81Xih5+6orMejRWAjRQ3H+IPNo8ox6u6CQ2ewfFQgqxX + 2BdyCvcYdfJAbOj4lHDVLOZrv/926ulTWoPozzQjZcxUuyAXIFFY4sJ0wUSY+4OI + =qnuh -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2025-10-13T20:10:43Z" + - created_at: "2025-10-20T19:02:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdA4oOJ4bW4yP7Pk2AMH0CtRRVxqxUmT1571X7DiBhG/2Iw - AIj8yxWAAIuoLifLPcbFNosVuhMqxAHU/sDoMQOJ6bWixYQnpVJXQmgmCiaF8sbS - 0lgBwfQtjHG4BQ9gDXZ+9O0vEkmxAebt6C+Y4x+HvzQsXlGGdZRxrsWsiEFubHO7 - qghONWmqTh3mdt83OtD9l1lR5KpDTZG5D7z9Mxxbd+44s+cPORcJX4bd - =bp0D + hF4DzAGzViGx4qcSAQdASPQhebBJb6SL/p1DOH/lBRcRr48+YRp6gjqEbWwBhHQw + OaYqBiWsSxJ+YS4Wcy6aqJvbqgVoMY0ZcyI3PfzwIaNsjKqaw0U6KXK+lXA0DfJP + 0lgBUcPBBIAKatz5IRX8zFMdhR0HxfAIe+0pwMwW39FnT1HXkPy1s6ccqSgDEnH/ + Arwr0Iz6pAzMdJzDfpRDaXLrI4+x6jmZCAm0rXaeDXohOFs2C2y/lzrW + =9QK9 -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2025-10-13T20:10:43Z" + - created_at: "2025-10-20T19:02:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//dUnHLEoYSvPewKYvDUZdW0djUpzaq3911lbn/5RJ4YyG - tM7XhBVmgN9Vw3UArrKk9ZRFt4kwTKC5jLAp1c5HmecRBr+T8IP7z/yg6fO7CNP/ - jLO5l6tct2d9YAvNdzPKVM58B1pv6EgDDYV6kIlNIZ5MsZMcC/p1XfOALPIZl0Qk - C/o0+QAco/qYv+cBx+8AkaCcAHSngpf0Y+lqpQkRUShIYGuhuCt88QX9sfAiopJc - oyzNRZqvG2FQT0AXk5xQ1xhLECm5HFVnYiQetCJCieltXqByY8QrWjIKr70N1r0L - Fmr4pvr/2tLGJoaWNqa/6/RdUSj+SkIUkqB0tZVTUyKquCVaSbVHhwnKNLIeg94n - ulDPz4GaKj30Y2WmqZ0Z1+7TizsLFR6iO7PlZ1vsuVoswnbB98Y2e1fCsQsw2hSa - qeP25kdhBA14R0na+4zmXdrmhxjdJ4gGF3iBGyTq5kTVVkfeRZ5mougLzJaATj5l - 5XSgwDO0seix+0z6eALMcTVrO6mARoXjVCkzCslzjqyVKj2kTGxxl4Xktb4KH7tF - Rdicrh6SOBMFOZpqZENM8Vl0nNNzbmA9dKmEyCilun2lit9lz9xYZp8esrkLCbh+ - Mz8bEEk8hCsHCCyfZ4Pfg9wscxruTX/p561SDUYFhAUXUVNUfQpdg3crcwHAs8/S - XgEnr6ig77/vjVN6P1kMUN/XrAE8pbPlFRYX3kxqPB9xKzrNj/SHwjFstjKUcfhY - wEgrFIMGwP/BsDfXnMvPoTHcl+GnOVGBQ2jGW05NG32IvXqU8gedG6Ajfxa1EzQ= - =m5ke + hQIMA2pVdGTIrZI+ARAAk8AbqfdQPREQV/uyz3awAq1u2tXykXWzjs6DarQoxA6o + DlY2tAr/7DvmPGvk+1ZTxf7D0n3sAbhhRkpRtlr6mguzByKEQtf5rXxrURyTe+mi + dsRtOdSZwJpgdDE805IiC0Q4dYYOLiFzlouYMBqc3nhqEee4q5X3xJjq6qaJ1QcZ + bACvKFfVfr5VraWEGn6+JCsmqDNcc+5MGfDiFzo42I0nnAd09k5+ymyZ+de1NqJ8 + BVq/+z0TsUigCR+vlm7TMno9DCIonaSHFuxE2tdO1SXzQwBvno3q1kkrhvKVA5PI + nZWwRF3s7wv4QXqp0fmsD6KMf+jyMY2N2udY61jOa0b4z8PSRFxzaIg3iOz21Z4r + uJ7lUtgqL1KoLX9Y+Odkmyj+Wg4VqqcfI/qcr8VMK7bW50dO+ueYTrFGh3mxs5zs + 72XGjnuZC9niXbxPenMdvN82eoVXY370yYyoC/Mk0aVTGkoCC02OsDb6+GAM+HEM + GT6IObIp6N7AYrZSHzFAAAFafD0UNqmXV+b2mTlsHLgJenK7SL7Mv5vA0l4cNTgD + F9ykx5oJxHnDoMEum8hHs+RltDLNGKT3x0ELnyeTTqR9gIPy9pKYsTdVNZxtQmRx + WMWV5XAo7sTBTiuOvKZCYgoAglhCcRpF04VtmgcatVgkieZqP3Af0Vuiw24pmBrS + XgHnt/XLzOTwRAIcdLr7CR4kB7FHTk9ae5HlV/kl2R/O5kGS7L4XixEaBvgf8TQY + dqw86sjSzCVpQp1lukxr4jUhZLwkug8+wuTePyUPO/iTmWzxYl4iOgMsC773J5M= + =ihdo -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 unencrypted_suffix: _unencrypted - version: 3.9.4 + version: 3.11.0 diff --git a/inventories/chaosknoten/host_vars/public-reverse-proxy.sops.yaml b/inventories/chaosknoten/host_vars/public-reverse-proxy.sops.yaml new file mode 100644 index 0000000..c256d90 --- /dev/null +++ b/inventories/chaosknoten/host_vars/public-reverse-proxy.sops.yaml @@ -0,0 +1,210 @@ +ansible_pull__age_private_key: ENC[AES256_GCM,data:5kj/2+uVwXpGdyqnmH8Aihh0bj7st2KT+huBD3bdPTLN5aztNpLfbz/IvI3O6ABDNPagrgnT/0RamU87RnOnofT5VzjsVIbxYa4=,iv:zQ2z6J5g2onxBfiN56oFu21zvrcuoD3mV5w/HXbzOWI=,tag:HORT10RIqmtRVx+rrUkjcA==,type:str] +sops: + age: + - recipient: age1p7pxgq5kwcpdkhkh3qq4pvnltrdk4gwf60hdhv8ka0mdxmgnjepqyleyen + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBpbG82aWZrdW5VUTZJcThT + dUl2OW9oaU9lR1BYY2lha0dGdWkzQ3ZjK0drCi9MQW5VTmVlQzViVDN6cW12TVFm + ZmZuVjNwVWxqSi9zN0ZNYkoxNHZ5VjAKLS0tIGVkR3g1TFczRGM5My9QbUdRWGlh + RmRzdUdNYUY2SFVmOWtvVUU1TFBHdncKJIdqp6bjfQ4ofzhreMJUXIrEnLAe6Ept + YmKe0G5vTOxzkpdFmKs4Ymr8BmmhTyVIWx5SF7OGIirmcJ0nvPvqsA== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2025-10-20T18:59:56Z" + mac: ENC[AES256_GCM,data:t+6pVWsdm3aSU7nwXjr9Uf4KRj8ibBEPemfyz+CT1kr+x22TJ97PmHGOag+sQwAl8s4EUCx2O+T1XuhVQ+iB//ZEhbtl+qtqnf/Vxpb4WGGH7gMUrYOqJEWhOxHK/itjttNicG3wAUoBTwbSuGEE9G9YCYVLGAC8UPuKoykwsOg=,iv:U9MrJJwUZ4jrIfonK60JlIToD+00Q1mTtKeFtA7TJew=,tag:bKdtyNrvOk33DbB5r0HcVQ==,type:str] + pgp: + - created_at: "2025-10-20T18:59:43Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxK/JaB2/SdtARAArnNDRas6J8JZI0z0uJuGm+fLraRGbEVNbMS1UPZXXX/k + eBKTcx2bkKLJFWLcL2pAYeFu2gfjz2RaDLCwCMQ2+l+z/UGpqF5iIu6etkpsn2rd + fD1r+hCjFKpVAVecqUCtGuQjAGIecD9p21m7bRfX0fgmhQYNs2ZNrVn5cu1vDJVd + cRSGT7/j81CSfphXmD9b0dK6QTmTltZtf22KOO6WrE3dDvBbTrI/7Q8Fur6nl3d1 + GgUEm3Xbf8Qgkj9CVBZ5mz/7LkkGxjiYhZXsH3oXxQ08eDMhP9p/qmmwF79jp22a + LMkk9Pg51zvK+8eB0bIzF7WCmNPfgKGMo3dq1qvb1i26AITO/v3MrVVgHBGGTs8/ + emZarwQjYUv+ByQHs/57JbsY8JD0ohiFFJfK5yCG1+H4Si6MtjqFc1d9512Ty64v + 8SzeQX7fu6LetoWCcJ5LURE85vX9zoL7hlLwCgNxi6exKDxqoAk1ASwZyL1tqb2+ + l4gP89T2hAF+cg00+4+zRz4klukNVk+SKsH95+mE0ZWpeFen0kBBEROjAiMtyZS9 + 2P/mIRK0ICYTF6gkq4ucPd62FxxXwWoJ3hXW/CNURikPFTpX6O7WnnDmprCA4oR9 + 3ah34pStwGaN+MZqXpeDHu6LqJPI6jy8ftu9nAdPzuzXZeh1Vv+A+nuehE06JmTS + XgGZRn5yzzRUmp9z7o7mpXmO0DudCUQ/y7A+S3xD69pszLZRvw5sE+obyQZnVva3 + CFCYInGvkA1N06OcgIK/i5pWTUmBtMDBaHLK64zOx3poTAv0sLZMa4LoItiIUZI= + =tGOp + -----END PGP MESSAGE----- + fp: EF643F59E008414882232C78FFA8331EEB7D6B70 + - created_at: "2025-10-20T18:59:43Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA6EyPtWBEI+2AQ//bSprsTehuGajMHCYmt8mhZHR2T1kkCB6sM7tYs+uqx4Q + IfaUG5LhETNSS/2zutenVDxOC4sC+aNyA2l7SKpu5iyZ2l78I8CorE1VcDwkDcNu + S/euhRbLEMYyT1GZaWia6l2f5dKD93QjyKI28t5oQapUrChU4PKSkWxkDX82ZcJM + Gf0TxdJqFBankjUlwVGz7BDxTplBr8E9bwxyjwY85CadcfClRFurs5nmuwA22OWD + /XRz2p4s8uWJtCvyL9RSQZa/jGh8dm8ly+Z7m6sGZfXKx+WFK/7s8bRoD/b9ut35 + geiSVhwyetR2tCDPN/KKEnOx3ln1A6qO8ROF/ZJl7SqwbAgKXkR7sWdmxhUcLnME + 5EDdnQFnTEW/0E4QtNvEw9YuwtPMZ99yjkpP0IeA4veJS3o6ru/pFiLKSYG4fAfS + oJsTy/Wi8NnjauqyEaIdv3Y5DCvZ8KAXzrmfa5h4CA8MU5VomjiZ0X7IkBhBn3Gi + 1hT5JlIfq/Vg6L0yfnguQIRQRNb45LEu6SqJkk0OleAqMObbh3vPf2uQYDRB4ReN + qoUvTeHE3F4NXrrW/4I3Q29cXkVe2KVzNsHlQTmlUsVMimmWWyBsjyzfVWrhaOiR + /rN872VvfbDs1MO9YululhhFxpONEVlDHNLcnpEFQPKwqJ4Yf1fIaEBSQBDx92PS + XgHqIDQnO6Ntj14JtWop0saCd7Q0ztCphLG2RvinxeP2R8ie7VzlMZf4kA99GUuU + xL97kVWMiqh1UV+BTDxpbJOzYgJcSXXetWARML9Mi1jGNPV1bOz/Ij3aZ7yB6aU= + =K1Ro + -----END PGP MESSAGE----- + fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC + - created_at: "2025-10-20T18:59:43Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAz5uSgHG2iMJARAAzpjYvVUka1qd3VLbw9aghIeJvJeA0oQUOtQkTl7kgLIe + c5tDJWHC2qVea+z3jKns+2Yb9hldahNMdka86OAQCnNRHHu7peTTLiVNHeoQYelv + 3aEB5Ww3DZueBeosKuCSzS+8Hp+rzrmYBwUPw+bgbxn+CifDyiaCWh6X7fYL7o1n + Z1Cm2H+fkRhOCfhVxWr7ju6G6H0BKqI+ZcAXwibXnt1AZxP0kepIvm3M5U3jFKsO + fs26yOqYqtfKTV6VRySP+ArcvsNqk8t1BRYiKuWPqo2ogvPLT4QQ/NUJFLlw604I + BEERo1Ope8jZcjkFDEFSEa82Oorg00IZOM5l2TLzCAn7P1klam/MzQjZdD4AxMUu + nxhXf06Sk3fh3LgM4gcLoXdaCpC4JgheY3kS4EqDLH7UBACWcgnHvk8oRuDqzmiT + AnYFevAl/qILMqF0YPG8aYFqGfsQ/pmFS/rFsTkrFwQDlBbjurMuq1n1/HhSiQTu + rhKrJstsj7eknne6qTFxTMXYwoHpEBHGk4odkELjqG5tlngzt6VL6PU21cVy/SwW + 3/26HTXKkD2r96mtzyJ782SfXETUKO081CTE1EfvpK79Qq2PQMY4DUeM/gN2RJdW + DmgezETSvCgVOU/CFEJRCCHoRDJuTladmv57R90N5GsupJbOqxhKqQmVxPxgagrS + XgFiwVmVkUHiX9ajGT3QZXCOCZi/dSR6u82VR+wCa0c2gvdzOAOkCf8u9PgHzHGe + Ixq0TTvgpV8F6lTyXrsbKr2eo4nb4ZVyD73Xya5yifjrtrOXwzZZTCmJya4fYRY= + =4Lug + -----END PGP MESSAGE----- + fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 + - created_at: "2025-10-20T18:59:43Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAw5vwmoEJHQ1AQ/+KX8kz0jH1IbSUMhMHcWdKFJm0iWkVn9KfJt6tKwHTvPb + v7XLZiNoJBcdQinBlSssYMRIyvp0YkquReID/TmNyQjqelww17ncF3tjxZ6Ta2g0 + Ap2VMR2nK43wuLhDKboSxM9VZYU/UZVex5AiBjyxA8Xb298YSZzL05/wKSJrshkK + EYiHM7gzO0uSH/eHSCB3FGbyplgzre9m9cfdtjS1uFWjGH54VXdLicei7MmBrl61 + 47rCeN4tq0gNb6CQf0oMKO13ZADk43sGs7QQ7WRrU9iO69XYXtsod1/rW1PjaH8P + fQV1f/9X9nrhJfRHDVytmgDmrnkdap06RGnKA5dJ//0M0bYTqpMf1pOM14LbG+H8 + fal0pO+FX7UvhjNBeEdz0jlzpVz8rWV27a6Xz4FHCosqDmspi06EsI74xg+OnhZh + 1G7d2rMP8X24g09rnED7PNyGGoUwytqlvyc4lnDaHCwbRhU6y9Q9tRAFdBE41xVM + AEucVCCj20B/vJySJgW4Tn9YPCZqx4YRUNswr58cqbC4EOks+MI1xhqs2E/VHOIl + Zy3ymkfLdjE7FlQcjbwuCZaaBgM1ailEjAYB8WpeVPjfdp5PzLDKXQUD8eBwjrK6 + sPcFF0F+m1S/Dls0NYJ3crPBiaUn3oxebZKYfqRPz7M3YexjTwjkxOyhdf8waxLS + XgELsgdqhiUZzS5jtPXWRQDTpLUgVTDKyX1hG5vr+7mHfPaRRLJG8P4Qum4DY0lN + aW0HIL6naKBANNKlnke5CnJEPThpY5c+P4f6e+3lu6vSliwO2arjd6pEHh5x5KU= + =ja4z + -----END PGP MESSAGE----- + fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 + - created_at: "2025-10-20T18:59:43Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DerEtaFuTeewSAQdAqzM5vG79MA8EUsKYUYZfjso4zRAlqJaaa0+vdEaFqXsw + jfsd4YA85e3G4ZkRIrMViJVbJM0r6ARvEgTr+t8E1Zs2jKT1TJJtvkLEVw0hFjqh + 0l4BS2+6jAewLKyUbT8nxE5R3wVSYNgU5xW+Kh9wW1xsJJbjKSKAn0QglF81RBXd + 47q2AHPVRtUHoKVUuU9nU7Fw074xbUr8RyNJd6euoPiKnOf9DE/c8SyGP8iPppcK + =zhDO + -----END PGP MESSAGE----- + fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 + - created_at: "2025-10-20T18:59:43Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxjNhCKPP69fAQ/8D7V8PkNYAt8m9paXMyqx53m5wNznAIVR8PKUaJ6v4K1I + xq0ZfXzgQROVlSlNJ1IOKLPSyj4X+JkzccO8sAmJX4qp/1zSbjy5y+MUSz54qPpD + zbIw/iP1V2pyeObgt44yPRcsiAabUG0YqoRAJQH5x91h3RklA1JYGgEn9m6pO9bk + YGkR8+zjstAx9Oq2LKQor8nSG+7RHxcRrbsDUSNCb/fC+PhmlDSlbcXXdYh3U3zi + Pu6eItWH7bIGGAYQC6cmXGFxflW7LT1Fr02KwVAYl2ycW6PIq6DwegH0ZsTc4zt5 + /lkeKX7yNorQx+fMdsm4sqdGijeLWv6RiA4tHYQ9WGV/YS0YuEI3aLdybUtnsL7B + V0PYgdmPb+hcgb6WxMrr5unCsqouTOvUj07ucrAKfzLmeUh21edKbGT5+XsqoC/6 + ii7BHgqX1ej5FE1F5PFvA4j+f3vlVjh85ivCJppyzk4wSk+qSVF1nc3Wpe6Rskpf + KjdzaPSNKT34lTZ+SN+HG7Vgo8vRoUbe4G97m3id8iYgy8l4tkvXvrSggPHs7rXF + TJQ4l+FlR5ZVJ0OLJJdNsLym4JARv9VQ4XzmQYJwf4oe9s0UjcUBzmTh0ICVHYQE + z6iVoYvWOnqLJWdEwBMDMqxL68VnBCPIXogaKhUpMfGndzo+WHsxFOiCC9KYWQTS + XgFWoU507I1wfTpBMlYjAZffVvLrI5tGPbHuDm3X2MaHxq1gdkGlls534opWuU3c + I4PnAAJOLBizVlNLq+GpBXGCzsM06ChpekhMiZlNJy+Rs8ozMqfIG15dtx82v3E= + =hFTi + -----END PGP MESSAGE----- + fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 + - created_at: "2025-10-20T18:59:43Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA1Hthzn+T1OoAQ//WXlEfd1k2QL9LOmOQA+21TMQr81u/GxVRspVoD34TgMA + 7gnwWY5gBUuZHGMqLDwkxno+819Y5sSPKfsS5OWKoYSV21R6cpME6IMcb96qdwNU + 4/2GaN6m+My0zqPs4/WR1c/COkCMqgjbV90GMMRAl485YzVmjCY9eqQigr1/pxPS + uPUfjiSScfKJ6uCA0Z/Hx+Xux801nYAwNxC8zfzHIjutNPCauGKZgP7i3I/nEpnJ + LDwD74CLPm4FsAPNp0WRrITLIV7QuheFpAAdpo6DvH+8iz7cHGp0iHRua8jWMlzY + /0zDYIYBh3BSft37krmvMID98kC00O1WRmzq5Ut0QZe8MONFEFXoxIVN6Hl/35uK + 5RIR33ZD56euf+p+rm3dahEYGZ21SR4XAq+q367AbGY9sK4DszPuATZ2dTisOWpu + 3ICqDdzF+3u2a5FIJzU84ff7pmNJLMNtBrJrqDA3TVwAI56bTF3RS5wwL5wg2pSl + Utnn6BNwG4TP5Uepik3uBzXnEpdxHOOuayzGuNFQ/JVFqHX6BzYCUVh8jYWZg13N + G0WNKfipZgrhVV749yw4n3wT5l2tV5UNsV39nTcgZZgRo4oMwkegCcNQN5tmCUz0 + Xxx3OuD/GOnbat+V8ABFh+O7QXSBMCZKeQZEIOl5UuWKo5hPodu3wAj1gSj9Y0rS + XgGZyQEdbLvo4QQuw9tUExxiLx7CsWmlT41lX/DRou66wOr4DwjW0ya3US4HWQF0 + RWHRPoIwmo7L7UFQG7h8K50xyDKzx9Puhh7IAeXo1xj4tgcOrKV5aKbseb0lNhY= + =25qo + -----END PGP MESSAGE----- + fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD + - created_at: "2025-10-20T18:59:43Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA46L6MuPqfJqARAAt6ChifeYBwZ/9zKinfjOnwKD9CpgyrbOA8MheG0AGyVB + MF4VOl/jm7J9j1w1oY85N1oXHjRETeAIeLDG3ygn29bMSs1qy0hMZFmzrAWt3HTa + KwGjEqz3ml5YN50+6BrJp4gglwrfJeMfvP4bNZhKZA8HDpaoqOJUaPBj/NB/osdq + HAiMLXEYccYcB5HK/lGmg96LT8+0HxLWTqjwWtBUmpRLICcmr580Pzzm7tcKAVUF + 532dvLYzguPXXh2GePT+DU1I3YlFAfvG8LWkJVFE8cUBH2FTdTyAHpxsXQM/6R3b + dJlepztNMR24GsGK5htzVjIs1Cp09NvXwKTI/+KMtc9JNW3k3XJc06mdu0C0gsBU + sBA6j8GWfobxd2jhI3g/20ZNhyu4UWqHglvAOZnKdnqYWvfTXoB+p/guVVkFw8cR + U1eKCX5MuqeNLaZ8KGJfoXAx+G1fYufbC652t59MCHhog9lVGQk79lqCcGe9BptV + 6SMgrVr309L4nsdt3bympdiNQHYBN4iqMqPldq4SAlIffds7bmnWdunWYv8uqMAI + 3CivU86SD52yUFFR1LFZtWFUWFB2PRglBR6I/5yXdq9+VWVjdNsgo+yT5yZaR8x3 + CAhApICzf7acPovWzUYfL0t4lVxoaVivOXkh8PbaLeMNyWnaXIU1/CMd+Lh5DMLS + XgHimRgOmNn4xAutA+CyLW0cR3y3NqJgHftx/r2kbs4+gfCTMrDgKzW6ssIGIKbF + HDm83gheAAVoVW9p1wvti1pG4yuKSasGzMaVB7gmBtmpGmpvCdXNmOYeDQCNA0g= + =bIiS + -----END PGP MESSAGE----- + fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A + - created_at: "2025-10-20T18:59:43Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DQrf1tCqiJxoSAQdAX4Eh1NRx1dVWh00AVlB7w8N9YqCujehKR1ik5g9LNmMw + XBshAVAzq4nIcloVC10ARzpCUULoPJxwGTFgZvmIbMMMzcoY6KqRFfn2EOzh5RdT + 0l4BE75QWcnxA/CBxr/2gZmkYbITQ6RoCw7cnBdR98T1S78EUc+T+lEBanXAK0vp + Td1qBZioxzARmIcDVPGyn0COAqFpRX4S1SZ2+/vaRcwFXhD5LwVH5/i9MLUQqaU3 + =ZfVZ + -----END PGP MESSAGE----- + fp: B71138A6A8964A3C3B8899857B4F70C356765BAB + - created_at: "2025-10-20T18:59:43Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DzAGzViGx4qcSAQdAgGIqC9mjErTwNhDtUn8qKtNsCdQHUJkcSQ1s9uK/7Hkw + UeDzIP3V5i+PQnFMhq9cYNP0GIsWSa1VXWx+NpB5OZ/OavcaD8tgu+f+tFQGQHJ6 + 0lgBNh97It82aI+AGxYO7y/QOOaMBsHB8kBdKtSj8/3U9fZpJBWni34TjcNLf8be + s1SUY9ba3BRg2IbdPDLeVr0wvw0UfAXa2+f7/EsULvDH9GxXJim5RihO + =ITOc + -----END PGP MESSAGE----- + fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD + - created_at: "2025-10-20T18:59:43Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA2pVdGTIrZI+ARAA5M+n9C4Sxq68KAhnNs+GKF2YHZG0l3J+Szd5PV/Ma4Br + GC+rB00mHmNJugp3Mw4Wvrh38pZNbRcr1cDtJwRhuCNqT+odP78WECkCqTPoWML3 + B8EX9aQVOZv9wk/Xeok3NTtU94vF11+JScsMUQAPyYRE8TH3frK/SgnwyQ7ntTfq + T3dZz/HFdiGfrRil7Ev9yofZyUNtMcRxNcDjcKMUUjB7ih4yK4ggZZv5TmVlb4ln + LnCn39wf9gNCPWOHPJW2Ib7Iwfb7VEc02LAD52quRavpKn7onJhwLPSJsSVMscHX + mlYnnHC3gFZsqDR67VSZg2uRG8L+86usXA03IWEHy2AGDYFDw2u6kGVuYyezU4xL + pEWRIYTtyB7IJvOoSXJ56I9XOJwfRE886gESHbJKgwrOR2K2ePBjOVIsn6p9W+jE + 76qVusEjEZw4SIiXmGaSR6z8eNePxcknG1+37YMtTzdMv3zWUeHtdsLNLi7zA5jF + cGvUXhuYvsjgjevD0Kk7N2oO8QrkXVhITx15m9n4GGFxNMJEJKP5VRPFJGXHjPvH + 4skowy5MTC5WLQW24P8hw+fHvXTr7A1l6kS6Wj4alB7jjA1nY9nUYeG8y43zQko5 + DZJ4VypcsJYZUm0mF2dBxrgWetHqHMiWwvELB/Ka248ORvFA8jbjH3tzzqiDDvHS + XgGBDeKq89WmMQMUL6MR9caGQrROtl6LxD2Jea5ocBqrJuSJInIIwjJWZEIRf039 + A/jucUvJrDXAzWW9wm2Q1n/zqRrks/DVDdh4jH6qjBPZTOgLgYyHvuDqFepoXu0= + =qKHE + -----END PGP MESSAGE----- + fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + unencrypted_suffix: _unencrypted + version: 3.11.0 diff --git a/inventories/chaosknoten/host_vars/tickets.sops.yaml b/inventories/chaosknoten/host_vars/tickets.sops.yaml index b7f8564..9b44b1e 100644 --- a/inventories/chaosknoten/host_vars/tickets.sops.yaml +++ b/inventories/chaosknoten/host_vars/tickets.sops.yaml @@ -1,200 +1,211 @@ secret__pretix_db_password: ENC[AES256_GCM,data:kAOUjT7gw0FDqO+xt8m3wAhOGuZTS6zEIQ==,iv:oPAxDzz4ellT5MxUqw8/iBYyiTMf1b/Lddj5E0iIhWE=,tag:r3OTmcSjNUETEmOzxsMhxQ==,type:str] +ansible_pull__age_private_key: ENC[AES256_GCM,data:Bhtx7X1ae0pWpxNwHSUJhe2aTO6k27+cEePOs3BBMWdAPFYHtcKUJakq07BTF5tnlvY4Hex0YsO3/l45e+zEfzo5U7FezdYbUPY=,iv:7z8Iy+vdnpfc9TspkH3KMKNGGsHzbxSjERwRP9JQyeM=,tag:AWx4xVf2YmC9giLS/mD1Sw==,type:str] sops: - lastmodified: "2025-05-04T14:08:33Z" - mac: ENC[AES256_GCM,data:gyf0gBed5K3sEk0bTBPbNa83QtWtoLx+NVp78KrxxfyiUuPu/5ziWPKHDd7o9TQvXZnQ8isVy2BaTTwR6tK4AG5+SO2ffV0a0/uNx3/jUvh56zQFwA6LTviEnR3vKvKPa1GH1khojaCkyMpYkb2KbMnbrGIt8qqqDcwc1dMVv4s=,iv:7oPpmfeAcWttEaCOiL2WocbhoBaIh0Y33OlCAYjq98w=,tag:KTN+7sxOYEfxGwB3OXvUIQ==,type:str] + age: + - recipient: age16znyzvquuy8467gg27mdwdt8k6kcu3fjrvfm6gnl4nmqp8tuvqaspqgcet + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA2OVFaYWpkbzlQZkZKZms0 + SW5KT2lKbkREMnZiRm9EV0ZqalJpK21RcDNrCjcrUGhybSthZVplNFlxaE1TQkRX + SmpRY05Vdk0xU0hXWDZ3SDVCV2xQZzAKLS0tIHBPWS9HejhLaGZVTEVkNHY5aXdC + amM5cE9iTUUwRzlLbzNzdzdGYldDZnMK2KFxt+LlezSECxqOsaGVLjizmngsO62h + pVJK8C/c5EzN5tX5aAhOWStNLHNRt9XjcNAUhi8EFls2Gl+yXGH11A== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2025-10-20T18:55:55Z" + mac: ENC[AES256_GCM,data:8OYQB3sIlIStuKPIkDRkeOcIPNEsMYENgyQ44DvvQNkR3lU8lHzyR2zL6HiO/zXF4hXeLUZSqcyH2jU61mEKr1kNFpA49BlYsxuPSOADJURhG2P9oUrc9hi2JL6KtwdRtvTcQB16YRVmhXgt0MLAmyAFc8V3CI6O5wfuEKLkmM4=,iv:dpJCVGga5FnTkCQlouUh0de+6wSW9Dif5Ft/aCf2mCk=,tag:/9m3rCWIhd5jyXXpmIb4jA==,type:str] pgp: - - created_at: "2025-10-13T20:10:56Z" + - created_at: "2025-10-20T19:03:05Z" enc: |- -----BEGIN PGP MESSAGE----- - hQILAxK/JaB2/SdtAQ/3YbYFufLkMmPxTkW55MUkNx5UzrCufB7vyf5KJAAPAgy/ - Uh9h2LtkBN+LL82amrCn8++Sv2/4eEY/NGEL2F3yrVtTtpag/ORTjxcRFFdNGWVz - +YpreQ0lNXzMFEvrdg/oN7+9s6QfCUevWpuiWkIPPtROu3aU5VAITrVS09wd2prS - VI/kYNBZ4FSbgGIfms6hPKZ6tsYveKAAYmLNZLGWuRHkKS/oHpKSlIDpKpMZc5Tz - GbRYIukF70/jeo1gGqc6Ksh/nMglq8zxj2v0hQ8ye5RFuyfiKBgVd6uTdAOetUyJ - K4XH7GFFMOEwdei/7ZDh4FtuDqCGguvLuQDomaNIhV+ybWJJfaseBno/p7GwobI6 - 0g9H2RS9GieNilA7yMRkLzqtOy4iwgldSwGbJpL+NzO/d0SpYgbLOYdkRvdaJvyz - E5u7W2dPe3HOgNsaLy1Hb/EWMMBLHbzvysnhe4ynYMYDkKPmpX8W3zshlZ7pgIbi - Z/XyKwPJtmwDboFuL65g+tDqn6nvvTjO0X8hAIa9DAjWenIskzQ/HHrMyVEWoQy5 - 4HEW6VAWSosYbewwt4fpnK8SiTZgWrkU0RDi1WH6DGaATamc9eXZmzxvLVtW8D9t - PGozG0gAlOejuAU8pALoDBETH188Xb9yZEX7Pbj1qXe3t+ZQbS/n49PviIi5VtJe - AWjRF1ng5WY5sjBoUozg0AOshAbDNkbdpqvvwNXtXp2tLCBvDKYBZ0KdeERrTF0u - QYpvyVgg6tLPDEtL0AfcW3SpTrEu9hxQMt/grVJy9P9sCNkGCCNj+jZnCoUd5w== - =9hD0 + hQIMAxK/JaB2/SdtAQ//WF711Lgt2ls8W1xD6yS4RSQ/mrdG8ae8ZNPv8GfvGRFW + X456rSDSyI0y2Nx5M0J2JOnmDyNCZhwXZsRJVjYyLsvtZWjPwgHwG2NO0ivkXZcD + mCXWLG4pgb3vET21LO+mYtD+WDrmgRIL4soSIEu9q5AsFO/D1LNjVCC4knmSb/Uo + bwUe5AHKTh52lvWN0Rwn3u7pNyavHfx0RasoQ2dHrwCuYw6twt2p2LfZybPABPxI + X2FoymRqRNwec8CZnPe1MEjFAYS2h/HnriIMRF/m8TYUMalwb/ESn3eWrI1KOUsS + UJ0zw/JdjLdEnEkK+gDzOBUg9pVto3jjWWkp90Zy676fIuFMdRd5WSQLgpBSP/hp + BYVIDb0PcfekDo82ItXKxp8/pniaMYDGrP0Wqy2VgBvQltonAv5P/J9W1luaQFnA + gF6pa8q48h7ptjqkcpSFuH0Tdoafr4Q8q3ubEUrHlyNp5cGXYI+MUv6pn1xPhVq4 + kMcFTISOZwSUYLM1yvz8CwHQd6R9S1iLMSH/EKOWDKGIGzKvqkFWsyWSa4V2vbr+ + X7Yi4/wN4ucXPwI5hnrevwaEpqvnL8eZ3nLhCbFPtZPaay+IxNMySuLY6r2cfPxF + zME++5FdXNseV57i7KkChooF7vLyc7hkN8fxmoc/r81m8EVr/tsFzsZMLyQDSErS + XgHGbVJ789+6IpV1Ph1jQ7SJQm8+ADtDqOy/BF5hlmjN9sI5vhy0k4BeyQk2zgT0 + w7iMZ4hyn0A0uXajtg+RiQRkE+0tJOIj7Yb99y6TfFkYrtBc1Ln2QnLH6a4ETbo= + =enot -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2025-10-13T20:10:56Z" + - created_at: "2025-10-20T19:03:05Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA6EyPtWBEI+2ARAAjMwcq9PqOz7fZ/eIFRE8ZqOTdK7xjQw6y80/M/UezCG8 - P9NbzDyXw1O6sTrTAnDmaBuZA/22w0w3pfwbIZ9eIbIKUYLR/79bJqEwFbNYo/gB - Z5HrkdbP9ZtKdWt7rY/zt+gv29z9FlXKqS/G9rIpsXTFL+xJfaymhNVjgdKbebzu - aD1dIC+6ehw8/zSTXJUMGIGlgipDz1ug6NEVAJ5S5hXNSUFenb8pK8tko82+PdFm - X7E1HjBxWktBTjGMAUFweqdGUYskh1D9iZhYPDiaUWOHcnaml78TaD45x7CY4Vx3 - IdnV/48hRwTwaEh78xT/6RxKMJvWWnPBqUE25GjNSNAN1dUZGSSqmGxcDUM4u+tA - YxzNJ5NdJhl5BQC+Dxj0wloaVbMCkCsWdkT9Ewn8s0XqxsNWXTD23SZHfKl6iO8Q - 44YpLo4R4T5XJypuG4hCF3PEuIzL5L4NaPijOMiVrMQLuAbhdUkNWl9i5syjfzfZ - nm+8Vm6NR6ntp9jm+9tIGjidi0dQcYnQvdg6ph2wivYduOxxQOriJNKVFjHGuvhy - HjbOFcbsScj0tDO0jQYLUQVBbKSPEzTLqina6LF6E8aH9N+ZCRZ0kBAskH0OC12V - lj14suIziyl/i0DGO+DDbVeyELPl51V5Cf840ZPnXHTsRf4pRn812i+mX1dKBWDS - XgGy3G4A/yeXMkvZoge9qRvlK8qGysAZVTHd9PzLDOq8oDlaHfF7D8xZ00PtvUmv - ZmpVQbUr6Ou50DqwjQ5y2Zsxtzn6ds9k9n664E5efFU7CtuGRU/sB7H9hr2BgS0= - =QUNG + hQIMA6EyPtWBEI+2AQ/6AtwxjLj7/MfCwnbY3YjPXp4Yh56foOt4J6PQm8oYGTAM + YooEOFit0lx9zYhhJuZ5UWE2+3NZxzBguvx6OJWoGBDsY/VuSHjD/55YlgH6Mnhc + 2kjENMi4vdOpcVuCYr7U8+dQVOO0CTmxFevcaH1KQBQr7h1QCkH3v3QRR2BPvdwX + OYiy0+bertHzRYvscAFxr+knf0a92LGC4J0k3gWVVy2EkixJ5LdEg66LRxNo+XTX + kTZE1RGznHXQw37dWAPzQdiNg+4WQcfDXob2VJFSRXm0Yjc91XtwCyEUQtbDvLwD + +wLgLekcxvUceohFA2cj+wMZV1yzp4xzHZ1wm0olGvqsVuPxAO5bLHt7KDUybBue + W3eA8x/U9amKhwOzEACHbEdVNE9thfaqpJr0HnauPCPl5CYSpCv91Teq4702WDGK + 3z1WhK8uWzYcgdmDkRZYTWtqcIHSPoy6U9k3/vpJ6lJ341NslW63thg1MU+JOV24 + z/hBXVq1y8M9EGVgKS9MyzY/KKxrTwIRFh8AJ9H7dN2BHKRKJIzK3TYUwKh8EQTv + prki6BwVvP5NQ5Q9wASJwiGvqfcWsthBZvDjrg+4kGc6fz27OiNK+dA46Spk3mHu + XKEkhhVnZpuWTOv9rt1B3q3XQusqxs7ozGtvyH1TRGEJ11L8MpYJbRlBd8iCsSvS + XgFEwjGXROS5nSYxUBZG9JetWW1tHZy+PB2goqHGiV0vQSgUa+x9m2Ya46k6FtTg + L4+wLEz7DLZythAGFM6CQxhSB2fBdaUTecN1zHaD1UP/+xjQ1SVGmYx0FAsUAVI= + =mQuW -----END PGP MESSAGE----- fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC - - created_at: "2025-10-13T20:10:56Z" + - created_at: "2025-10-20T19:03:05Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAA23eiDKMKgFZsxbDfCbXHd70e35HPoJPEQdBlXDaFK719 - tfx4ZnZXC8ZFxXr+hNf9YSAb0GXoIOXBGw3w6OG7t9b6nE0wmM4McBFPmiJP8clY - YFXWCEBoX/U7wKbOtO1YS9iPQZXvAwU6vjVGzUrNSJJgIYD64nwxaVmKvWitNt25 - dPzqqskE+JBX/MrzuF9qFu6e1bDR25c8Sz040HCdzoLjHePu9JFJ1jL7ayaT/odk - goe4dY2Ax9cPZKRXAWuzaikLCVMTtchJlyR7BI+SRmEiQlNTYgF+eufVg7djn+kO - 7BEQ5O9o9FvxNVWUXyvExiLcLSJEEGpfrusXwbUz1GMs9bsAVV8q7tlUvT5IW5Nn - UOItNitarzVn501WkPFmyN04myRrPY+F20Vs+3CS7IqwiQe/iK8/51dGH22Hwu9S - ksOSmcjVbBfxG05U0bLJgIr9g7PlG0fhFWjnUO6fQnTAHUljXljSqofcBLK115i/ - fHXc34C2zZ9tbNfeRnCLe448mqlNziH3TLIyQZe+gt4e80J5PZmipgSxHwO8MPiN - iBxS3r6i0Jh6g7vmbCh+JUT9/G/OvOVpF2RB1q2OoavbDOuAW68ptPG0vU5VMKAr - t3m8tBX4fL2h7EjWLewa0aIACK9a5s5UYV9mRW8TDntGyCbw11WTTEtAUUwhD3jS - XgENM90AHk3JOzSvx0a5o5NNZ2zCOishcltheFKhT8hAbXNZ8Jmt98qlmBfqKNSe - qKLUBH/F2J945CSjlFKA1n2BdXZ0NrPqGd5TsSeBAo2N6H3Uqvn16ZQadTbqsvw= - =nOJ7 + hQIMAz5uSgHG2iMJARAApxKnEr+oYp+hdWaUWFS+VLI3j8kIDbBHmwfPMeG8NWFq + acknfjnyXRuXYgLRx+MIrcdg6wMSdjhB5D0lpbjvtOPnTfcaACAGBlJ1jJPmPC3X + pj/dX62EHR7ckJG43Dc2jzCVwPGy+vjketc2gjvpbMtgQY5TD3fMoGKh+L7+EDH7 + C5qUdAm718PIWTh1B4Rj8VH6yiAWC722XJHAHDyJpq3OKLKOYqk7Omrr0PC1A/Wc + aHinfF+4isyxPctBgsbg+KM6zAbdoUMO473pgRh7mtZ5dEersQ9TqI+pvqI1iQQG + jUS+39bZeNeBEi0gKb5d5LkkzGo/ugtZMZw3Uk/xEd1FI1Z3n/9UF574Czl47sCf + feR3f6sCww7SsJYM84PBJjfXekOH6eSsdQVd2nh2sgiL2mkuU7biXjHqxNGuJegs + QjslvYR8vYCaLp7mI1+Q2ICFzqBT4Vd7F6nIIArbkMKeAACg7EcD7RjvIrKnZw8r + fz8rS7+SQ2PrxVW2mYNlZbDlcGOph2kLDNOgmeDckz3KxJYEhaa6noVsRw4HHP+M + 2BFc7p56716QTgeNKL/x6+NynHQlxpY9LENNAnxQTE1i5Tw8PoHXF9yIETxPXFbu + F2AKQTKR6GBUeP5w6szYLVm4WLzOwO1DZAumPhxwodA82Dyfq+Xgynwfl5QYgy/S + XgGgPZ1k4wqoG+keqrmtq6i9/hRjNSfgcngS/D25BU5o0+CdCSNCe96ECrtfb5Ml + TjE/0+B4em+m9vCmcaEcgYicgH9/gYDCIFUl5KhpLQ1UPQRolVSYD2kSM9JYmtU= + =RZDM -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2025-10-13T20:10:56Z" + - created_at: "2025-10-20T19:03:05Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ//cCTlbsyrbw4RDZq33xVO51ouvfxvY3MSLb16J/orxqGi - b1Du569Hc9da1AXeAgTzBGt3QERJ/rVEMPIrkRaH1dTlOjlpGHZIxsXyTM4Igo4s - R4OjiP3nqh9eJNhcLjsA5tXCqvxTAnm00hMEehWIf7vaOQs3XbMQ6mq/e4RRRHBT - LCGyI1BVb2H+IH3tMPclkn+SqyR2P7sCawS5tdpjxED6l43l2EHrdzb1/XZjXPJH - R3fBzOoAqlvOy6baEsDSmD3CCfuU0POGe3M19krXE3OT+HgprjzK32wfDkKnLp6P - rvNH0KWWMV85ZvLEQREASpbtv8xB1+oYiFQxDdD6b1yH/iPXxXD28kxI/8WDe7OZ - f9pnMS/lQLSXEyQZZEax4d+7ayjBTOTdLcPXVtNY6uT0Ye7vHwwiWxEnCysaFwFk - p0JglvRBW7SXHb5JhCho4B/uLb3jwIOELe/0fPhurd8Fwk4gH9kOA9dj3EbmYnZE - bjEinHdig+P0eMO/GkDtPGcDYtscuxh7ObFuzeaIkD1g4ZaWA71cbPurZUQYOFyW - 0Fp3CjKC2ZCh6nrHolE3L53oaEkydmAGJsbIu7Gtb85HgF/w/173bXzukInBohKR - uFBL9UvzeuHvmCg1kdYR23QY47SbBogJweFezA795dB/X9zFu+ArEawv43GFnWHS - XgEasTZX1nCs5IidUgCI8+gtH51qHjuW1hiayOJweFyl8aLwmCe69y8sEeZqOoVd - BZPKsghNVH2SekJs+aRsuoQwRQJHmExcO6/FOPFiuwxrcramoVCMaexBkuc2ElI= - =PW0k + hQIMAw5vwmoEJHQ1AQ/+K31CsFsZubkgbe71xE3+KKz56JNihazfz31kc1yFe0MA + OAyURpzCnI3nb1vrfzTt6H5OdeM1nj1jSU0848XQaSVp0FSVnBwz1Hwx2TX4rN/J + W0hNmMZX6DEsyYdOyDX9cdVLm0psmmsLArjjKD2nF4B+or2GaCwkPCyae3Apd/8v + Ho7jRahT7YBNjuk3KpWLjkZ7jbcnvxphmFXP0uQbVyvF0MfiEWVWCaG+dHD//PCD + f+Rh3AfovjYF6XdJccNHyCWCW7aKsBNn5P5Lm1kRqWlWdU3qjdhLDYgtllIIRuFR + H4Nv3wabPSakkVhQNnnO7br+weKXjgBJpRIJQGB34WW90eHYkPqR2agpR4bLYxBo + n+IuGDvnsEflx4hgk5iFvUkx/GMF1npuDnzWvhrCzmsYlodajrWkAfc1hdzmJ7mR + M+0XJ++AlRYkDQmq1lor+2NEICNRO4a47WHwYQVhS1FNuEBtlPxxavqC7d3BLktk + fN1OmhyasZhZ/KOagKBF0UoXsDugWlySwQN7Uk3oWRAlP0B5GMn7vqh6I/+sOEhz + h5tJBZ+Bgj8GFhUNqZbJTjHqVWfz7DR8JYxk/G9E7RFh3vgKuAbSqJ50jcgu9qPA + NDgtm8Ze3aq4ujCwUIgljIV9dYKmZt/KplrQ5HpoQ5Q+nzP2uXdubwtYYr8gA6XS + XgGrLg5b0vMoUvyCU8+FDkKP3AqD9JbglZ1QzRns1y87rzoMqgwRfk2C8Gt/XL95 + j1dRQ+V+8CFCiMZjoXk++0Hb/CzFURp83RkppcMaCPi6tZN2vs9RmpguNPuo0T8= + =JHZL -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2025-10-13T20:10:56Z" + - created_at: "2025-10-20T19:03:05Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAsmE/t3OobfHFHvL4bwMjRh/QXeE/NzcMG6iFT8h93h4w - oEgzFoLiI0VJhSAwzOahL677vdb8q+CZTyIRK8ODCczPCCxgv1h15XrfYT5+0taG - 0l4BID+1ry9B+PmcDy7p++552+XxRR1sEXjKmy6iprQgODM0/6hvqtal6lUvqNeL - 4JCLFKMAr0TEiyVn9NoR/WPXOnHaPr4vos9XaS911lphttOde1OEiK4mJrtMhxFg - =NnpF + hF4DerEtaFuTeewSAQdAqL3NkB1/n4A6ndC6r/eOi30F6MYugUg2Hh1T/8cu3R8w + wDBDY07FGgoRWQuZdvWDHIfRcGOsjMCrNS2sUZQd4uc8epP3+G+nZ2haWR6dyNqO + 0l4BcMvfD0E4DSDd3LUTZuOBknUkko3zASDNTSHdULb/bLN1wMcXhwq0i6z9yw/M + Bj/+k3/mQyjwisg1wVdazdtOU1lJiUz7+XSrUYu/f7UgkVjxs/MfglaW0uvEgFoq + =srkq -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2025-10-13T20:10:56Z" + - created_at: "2025-10-20T19:03:05Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//c0hi4pLLXCKNkD8ue3lb5BKQ1z8FL96JksjSmPwjWDrC - MfOgG9NiusE6dkUfS8pe1kV1ZIpuJ9VO6Hqt2eFzYK1gu92+cERNlgLWMYYzvaIG - s1dwbo9cW4SnrDnplX/NenQ+N+IF/AC2lsj/V1fF3lARXHBi4h0ETzGhFMMybJHr - BfYG4fvcXQ4gZnEDiN9kNM4Gv1tqCYL2His+Wfo3iuPpIg8xWveadpNYJl61d8Gf - c85K8s0EvuTUmJydqB0D0HjUFGgcKKhYXNy+jwTtXiX/iMo4I0XEpQ367d70oCnn - 2dW5OQ43Bt143PQcdXEtpXkwZjX7+azZMSH1InfQ5TQ02Wj5G0EkYKLZ4MInV7bH - /nPUnpHqZSbYqj1ltoeDZylokk2a8zBwAoICLqDam9YgQGFKhNg6748cYhN6janA - Z55Cdp7yLy+n8oMW5ZaXrxo6Rj/idJLSQRGFCRzZyMR5t+xbbmUbPLgKIDJ/VpD1 - inpMFCSfdFOwhZst4wWG9AR2foy5j41khYElcoqYr7UDdmFYb5Dkik0yTE4Q45bZ - ah9eDMas9N2t/fZ7I0OnD4JN4EgayiS0Ga0sngYwhMfoQophTh+3ufzIozNvVBQ7 - rajYeG+cjMAPvE5acHM4WT8qCCG6gIyUOeE5//KE9T/F63lY/pqEzlvz/Lw42WnS - XgFa9qofeWvl8LmkWPkcGCavL5Z7TSieGab9xnzfOX1knAIZZ9r235Klko7lqHyG - 5nGadiOZ2v7NFqTeWSBWUDASj70NloMdbq1lcXlh4tJ8vYEbL15sthmA1Ln/5w4= - =KH6H + hQIMAxjNhCKPP69fAQ//dHgHPIH2E/e75AAtrSPhLOcfqp+VJqoVat8VU9bbDZgD + zlsZDuofmCH95ikyLSK2BTJUSv7dtQDaeKMbnVBrCPgRNidVtZICE9tPSxCuAAB9 + Qh++1WivziiX5aW+t/KC8tuZLB8MwkD1V2xdabJNxfAyu4117hRzLxG5ODNj8l10 + l0H2DkulvM9njQorgf20QD9BdTLSVLVgzgwfkEe+R8t62azCE5pNrKo5GBJcHO4k + vuZe+PIsMHSBUceNQILTt4fVCT7Mi0mNJ0NgyMWuZrLhZaLNLE2HspCYyVrc+9r/ + /tl+dXMV620EWq08cSzsxijxM459aIO8H1WktnNaIw9SlCXHmK7V4EHskk+H3KNY + cpebQ8sOx8bkHD3L6osbquad2QlKvt3w7BV5AIhMDIMNY0/dlIbeKhYL+v8QFvyy + jywo/QfAIZ5l20RAHpGTNZmZdaLXG5v4TJK04AI0Iu1VfymltxQrBxCM2ItBzZ0h + KQnB219os3SSM2NNE7bfAgkME1lqHAAwqLwF20Oq2Bh4+GI1TC2K5q6pbM2xmzXB + bCNh5sD6FeEbTxktWZPgs/7JFYyLvNLyWQTYnBP965JISRRta/pqrATGFWEpPzY8 + A0IzqiVVCILS2F5zO+bOB0oLdTLaDqWiNQv2wJjuIMQkjNai8ShIxfHrdpdDxs3S + XgES+zZWhNU0BkClLSqVSDuZWMcnrTSb71oumeKP+WY4elG6DQF7M2Mbxm5tPd/5 + 0QXGU35iUpUV5umvJTp2tXA7fsYjDA1ixu6CbwS6YQ6rjl49FthvGNMHCp7VZuM= + =uy25 -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2025-10-13T20:10:56Z" + - created_at: "2025-10-20T19:03:05Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//fGWqV1GSmhKcyQZqZbkLQl1invlq9v/AZVSoeSrYtKH3 - HoqNl1jd8PqKzda4pD7qu6aGvXzHCuBnRzYh2NZLk6qyV2lzsmrwLY2kYykJyH0b - UFTni2vMPmHAQ++nBawmK3yqmVVSXlA61gWRL5CgsU0DJRVO0PTb+DLBU9+uoYrn - yxqDoaa54PQSfhMxhqsRrMY+GF3JyLOi1IYVIePeJ2D4jRyTuST+9lQ9ITKDGx+Z - xIfu1vPzd/WtnS3O94ZlxfHgcPwnRGa+cvyCwb1TmfF0HeGo755CAZ6Ge4aDM1+V - /gkv0SRt/gV6SEaxPsFIIcN9KDOoREjtJNvvWg0Y59tAUS0udsAcIaYD9XNoEVTg - QTmFKfI416Vqiov9M+DNKds45TiQD1g8K7/dJODzNl4h4nUqdpYH7+/lP6BaojNd - 1mnk4u6Au6uj6Jv/JT/pKsEwaWkZoG7zswpEBeuXfYkp8JfpGDs34P3cpV+4c+8g - Tu3ERPdzM4GkzFs924AIIWvkh5fww1kWCmHiX2zUKhhm0xr9K87qb1/fwTXtPoCc - 610HRvc7c11aCU3Vudk/PTQpPeLx+gvqacPTUxgzHpNl3ut3wj/3Ej8eOE1UL2xa - 3DsMFgg+3XmyQ5LBNE2FECBrVE16n8+eFulMuT0M0ZI8lHW8eKYB03SwWxmFBfLS - XgHbgnZ26IgjVGPzp0hF8Re8nk5Jcn6dXg3dUIiqJWBCvVaenhlFP8EEW8etF15C - Z7OeiIkDlH9bQb0HdAZSdYfDuAMEgYW1DZeivnFdtPjc0hV5yvq/vtz2MvNrhqY= - =kZhk + hQIMA1Hthzn+T1OoAQ//WRUBChaoYbkkqv/6bud2NwjpHnmFaCsvlQaDp5o4dwWg + gpMzlTiltGy9/Co+BMZOh1Q+15jDlFEajLcLNhQhAsCry23VYquhqeMo9rR+yqHq + DwuWui+EKHuwD3ZAzW4rBIVNRzPAFz6KgkBYCXJNg3ZbVZaCWnTGriEt7yTuYa6u + 8lD0nCdVWsWYakoImN7mujMwR//coVTa+7a35fbXVmncc8DIsfTgeqAUkursFgLK + pb8k8bPMnt1MbL9JE33RBqVEIDh/du4SjERveI6QhyRg7KXxrU6nncOQOODRB+wO + yCgKi8vUMumlFDDo3tPu6EiYg142qCfXr4+W6uKTjzzxiKDrG2piEElsiAWauLLy + Cpm/G0EURz58EX6hXviuc9vRKmOxla/1uF2pAvmh6KLhovX79pSmIxd8LHJQDwz+ + bmtudvtMcQz50LwE8wkACsy7Lm884q1K21VuytFqwVH+7fzLnpumEUMPtcAwMSh6 + KaoygewS/CzR1HnwvMCmOS8nByk+U865b3c02APxLr/EwX16IdMnxukdh6ZdtjYg + K/ww4nFZ85sIcS/vqLsxIXrhZ5Xam71e9Aky6yJVo2JFBj0Zz6rJtdhh9SnH0xOm + Kq59fVf0iyiIRlTJOl1nBxNtrMU6T5qaH6X1iS3pAWAlXPuI6nqN1skhRdi2dG/S + XgHLODNQ1CfGxflNcrySpAi5eQ2Fv4ls1CrMhyKfgUAhVSeJdFiHssA5z9FMNCZ4 + ujbWAviWw9mmnFDDGwdgUoktWpnJSH65y/UOZCnmlafePW8EsHsBYn8IQQ9a8Rc= + =604Z -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2025-10-13T20:10:56Z" + - created_at: "2025-10-20T19:03:05Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ//SfeMwFnW6CKSqFde8R5qc+wNvcrlcVD4rr+AB+9ewmPI - luCNFCwAg046NfEYGwFP7n4Mv14Wjnv4+en+xmn9Bqjt1skRqthkE/lFjNThaLgU - 75ZqSYRqcXakDyu5wBXQzn8LUuVIDci0w4a8xW/OI1myfk4gdZdw0Ju4uYUr9jjX - ROUf0ccnmIkVLJmMwiYYDwnxKMPachmwIb+WqUksS8GrSsctdYbHzD+ElkzkArcg - cix5M3a/DWS85C2W6yDu57wMEc25zugZqOOt2A1UYbMyOfQE8FPODEZUCth6F85+ - 511lKo1vY7op8lgC0pvUScSiHH5/sYTb2XsCIgQscwbz18PW23fu+FwwhxYCK+n3 - DcdknKw3lHjVKKjkWba3jBXe3ztMYMKs2VIhqymqOXO1O482quXvDkm3r/JdjiMv - Rrh/xT4RtKlUMjULG/CIuufkSzdG890CRFL2lGMEg9a5Th1N+x7SRbD9cLT99JQu - Hla3/nDKlCyVeTKP9mwSzQ3BfHFY+2yuxI5p/1ZLjUrWnz/mkiWnFn0ABjsHwNWR - roOldCiGQt84sa4GfyuLnnA8siBSrL0zpPkpsi7A1Sxq5oNPJIiBxmO71FFESRK2 - MlU2AMccAAEJ4W03tL7DTeqOUMhDQIgYodA4p4P2LGyoIeqn+y8/vRghRMKEkHTS - XgFrUvjyBLOQPgLPfcqceORp8HeviLnXBOn4vxOyJROQCvS2RR85c8zpWlWJzKU8 - UIvzVWlAHXkB27fu+OYD9Ab0Rfa+5JcWq+9reum8eav/zG3tz4RuxYQZ5lvdw0s= - =bAYV + hQIMA46L6MuPqfJqAQ//Rr/YlJmilbwe19pdUZmKuIdCk4+1BtOpf5xqfx+UqF9x + EM+UFlWmvbvi0g+CB/rsmZccPqu40A3PBcMa0BajLLAtoXB8F6MGiIS9Nk+p6Q5+ + Y5FAn7txhcAMb9VX4YSykav9KGlwICNM89ItG2CgLVgJFJNvWOuWby+vA7MLq7zb + WC+4vRmFo7tik1NyJOoSEUuVdFaR6bgy4PX8LSqgA6HkwJQ28eTrmdAp1xcVo5xF + VzvlmmsXg62gCoVyfu0tGo4x/pTc8d189lxpuK90PTmlQByBrmYUDPv579xupugS + X5wySB7FXSdvDKVkR2PiEXOI4AqooWFLWeiP+khwV0bTebyleYxYHVx1NqNSA3Yi + LCtq/ve82pLWOYndJw/cjUGS9KaVGb0juxEq5gGj2FGdD0J6zNfDCUTfbJbQ5mhk + z21Uo8E9pdHxygy9jQtLhby0HJIOwyt55vhZKaWvho56CYa7K5IsUnamrnOGjCMv + FZyq/9oe1dKY4qvwGABTpGqyxiGmFbo/5bUN8gRZ55Ad8kEUczTOPtFghNH6CHzz + 5nX+hgH9dgJYhWq/Gh30Ncr1mUP+mp7Wu7+ICFX3bBMZ3CMBHohMuBCjqT9mRA6n + sVc//UHJfhwOZtvojXRLg3ml8UB7uR0UadVq0EDH4E2r8xB9bNRw+stcau03RPnS + XgF4See3E+DIK1pDQQiPJhpusG1zJNkmmucv9bx7d1Ml9AB4cEGYKtS46KHfhGmj + bUCH5635aok2OIY5PBOEaGO52HJmjmKISosour5jYkY/Xxu5lDNyKBc10W7quuE= + =33rF -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2025-10-13T20:10:56Z" + - created_at: "2025-10-20T19:03:05Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAMSMUC7luOQYfb/yF30H6IAfWSPcMVcDlCSbMBl1dEk8w - Lma3+Py9wjoUTf4jyONh8PPJxP7Yo2PywQjCLFGuuMdWX47Y7UhBnWdbtaH/SiU5 - 0l4BVp2HXR6wvKNlPj+Jj3GKfL4+lG4/TLacLHA/fNk+ptKwTJaF/4OIePQkT1To - j4mWQzjAUlmKDLc0FJlaolrxGhmXGOn+8N1oWen6JYa0dNuvWWZY17eSerDQJPGg - =OukI + hF4DQrf1tCqiJxoSAQdA009TV7DH++wcvU+3nwA3Romc+DPa2QbF9QAQpLTV7j8w + XCT0y3auPS26f6+1VoyKEVCcbbJj04WfS6LpQgFzh0zcveW9eCPmyfJUQexsslCV + 0l4BxxywC4sThDoU+x/SjsX9Ux5s8Jxt+p+6meXIBN2r5uZ6UOvnbV0GLd9Y/IeG + oZuyB+KFwgWEGkdVskNe0LQ9fv7EMiklGOqeu1KeBP7dJyQp4ch0IctG4lX1bnOP + =qfjj -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2025-10-13T20:10:56Z" + - created_at: "2025-10-20T19:03:05Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAsDSanBfgX/RFnK0ypieGYVXvGSww5Gvr6EsspePrb1sw - pA7N/F8ExFyhP5iNdMCNx5EI4qGGh7aim5+6MyArP7v+yf91KgCn//LixlI5QAea - 0lgBcUQyJ2iwJkko6rxUkCnyB3FfQXdgi9dte72sVLVpft9Nw8/TcRqoe9N1fwRI - rxP76Sd2Fvr1FqfqZozesQvX1XqaW5XWt5fp9UH7ehBF99N4fSdJug+Z - =AmkT + hF4DzAGzViGx4qcSAQdA45UHDodM8FtfD3VgrYVRzfPgDrBqBYGJC8OOgULKbAMw + vyPiROW5sWFc2ghokzeSQqOOfRAwKFCgGHirI00IIdBdeDVGIV0m2MNmnd4uBGfS + 0lgBSUFt3MFTUMqc0yI7Jqae5a9cOXTRoR8Lt+W0KaEkciMBbdDHJktQbQHZ77Uj + 3d/NB9tW56YuP7UzAm3xm6dM6I/qehQo0bL7hOfbyNy+PuxUZglFCsh8 + =N1ud -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2025-10-13T20:10:56Z" + - created_at: "2025-10-20T19:03:05Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ/+PySQtMQUJ1Kir6YYRn/lW+CArNN8dmD0ryceVS8OOITO - skIUqVkhuKPnKur/O6U1poyo0EFMOnMZjXEK87EZCTnGZL5sSu7VFGiwPf/h3z99 - ljli8/uidyhoYsQY3yAosCKO594PQA3RzHnNVKWsNwIe6Zo2J3qTwm3H+RK1supE - HOkt4EgvIb2q8UaYD+lZVPGTj+pa0FthIeIixtjauvQJreRiS2b7OsyRL3bpAqc4 - f8Ov5JZP1Ou9V+QFn1buqt2eeUm2SWkwsmC+RD37sAXH2zuUvh5Q5R4iSnc/Ry48 - UJ9+80DBamauQP02vw6a7WccmSku1b0O3lheiiWkzKc1u7RhzVcQEy1SOBJso4xB - g22Kn1E0RzUus4Eoj2M7MQ3Vzlg+hveNHfJJSIteKvAa7505x+y6sxZ1zNmjQSTx - D1AqXIpr3oBkW0LO6tIYbjIKUE/2hSNEpuzJDpB+dsqZPS5p5aOc4y0rLbNlb9Ni - M4w61kcXzxaJxL1pwb/eBetxzQL/3eA8omZR0pwbeqHTxGAGoTGUMDlqK0rq21S+ - hkjpL1VeduGVh+q7+c5yQ9XnS9xRNe7pMm+uKf9Z50OzSFQsQzamm1g5xTX6G4wF - gyjypWKNiPk75vIw9j4zbDONnzvSYRIAKno88LLh7ycdl9SN2776NKLtcrpA+gjS - XgGfFZRKkEM4wG5ShafYLGvesYaBWjoM5upFZklVcHtrSZbZ64PJjSSAQyX8d0k3 - JJ2K7fP5VY7TlZqYXujbNQh8410ARlDuoGVL0s9etx0bbbLHLG1r/kCdSnN26w0= - =+CLr + hQIMA2pVdGTIrZI+ARAAxLqs/FhUjRL0Qk966pCx75xHSyhW8W7EAOITdHZaU2RF + Tr1YzMHF/nUD/1YQ3XmnUp/b+EEds2JWV/Obt4lZbeK5EoQHMkBDA7O/ZBWQ95+B + ubbkqDEW08l0jT7B51i5EIaLxs3802xLfnW2ZDoyTy67Y6Sv/nb5JNoTLB3Ts1x8 + x7r56v4fnq2O26SkHrhsNWDajDdjtREYNiyTQ1bxGlWFmSInWTKaYE9gvCNoAele + rFFjCyD826gR2Uk0kgJHD0zQrrIPu3TugUdYVjEtTfAuqTimGuurQX5ZbK04xZ2O + f++XouOWFFnJ3xadFJce5Wg8Lw4VJ7/FaSq5YFN3DXkFR5CnQc5su+cf9AN5GNoL + gMHnlomTg/1kf9MrOzd0geFaKRwx7OLhsieFmTJw2KoZ67xc5W3t4OrehkLHb3UR + nJMrm3qpHD6ypkcD8/ooWak/EGNQ6yrihiqW0Wli3Cp+EWyxrJ9I2UDfJPT4osrY + iIS9wK3/d7mNXJb6SnGeKQcjPtuozNhxyzUkLeQuh6h8ziwsxzpI3v+4/GhrTuM/ + uGojgZqMl9nRQ8VjEZ1BSfGD9TU6aUctZd+pzvtA+29wMwekTopCR+CCPYXCHsq/ + 6QsJg0ge2l+7Ei25WzlIlFYj72MEWecdGLeqaM2o+S/OKNACE+EpO6zJGoiJX8/S + XgEJ41AoYZwHtvGEVWfw/wlw7zTlXlwjU7mjJ/NLDs9TEYM1J20tQT9bbWXC77yV + fPRP/u5MR2uZEPr20YAghHLFPumqpK4laHmYqJDNvNiGibVmksz3jAYS7tgItl4= + =8bqP -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 unencrypted_suffix: _unencrypted - version: 3.9.4 + version: 3.11.0 diff --git a/inventories/chaosknoten/host_vars/zammad.sops.yaml b/inventories/chaosknoten/host_vars/zammad.sops.yaml index 712730e..91906fa 100644 --- a/inventories/chaosknoten/host_vars/zammad.sops.yaml +++ b/inventories/chaosknoten/host_vars/zammad.sops.yaml @@ -1,200 +1,211 @@ secret__zammad_db_password: ENC[AES256_GCM,data:ThtJngNvMc817rvbjMjjbnp1tBlXPdAg,iv:GcQHc7p5jFcyxpTcYsUOA8PvD1Qy5HxVZXHcAuL19Uk=,tag:UjVxYkU26/zkBL1eKDfreQ==,type:str] +ansible_pull__age_private_key: ENC[AES256_GCM,data:1GDuO2fe4n0qDxBHbMZleLr5EeEtBs5Vlh6PZsJJ4HWA+yTc6q0QtLuuMkBywKhCBPThGrBaUTPSOzVAQzLu2WdNhGmdQ4KoWE4=,iv:UWr2LMoLfLPGOZA0Pne38NDUql/Mh7dHslYr/1SicIU=,tag:npddFnsbRQIDhotK80EtlQ==,type:str] sops: - lastmodified: "2025-05-04T14:11:05Z" - mac: ENC[AES256_GCM,data:GNOhRrJkLTjovRO2cZgeiRcqB3TE2sWxD220Z8GynoUV4pWS20vOKvaqwxU9seuD5Msxd05JzLRVTCtP4La6HVSgDekoVYKz3SLmdT2Hev+fscmfr0uojRi/5f+eCqGMBEy8Xs2Y7AzIC60iHqX4VBBn6FgkJuTyS50qn1akoGI=,iv:EIjJbb0adELCNBoRsdjsVvN19v4rKCiVmxcCAcnY7QY=,tag:GzqchqorbDN33+SfspGT4g==,type:str] + age: + - recipient: age1sv7uhpnk9d3u3je9zzvlux0kd83f627aclpamnz2h3ksg599838qjgrvqs + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0RUtTamQ0ZHVubnc2VjZt + YzZyeCs2b1NuY01DZm91amZvVitiVmpDNjBVCkdPTVFUUE01TFJWOUlDTENIcDlI + T1ZlV2JuZDJCQWJkcjhkS29nM3UvYWcKLS0tIDV6bkU5U3dZR0d6QVp1bG9mamov + c3ZRRDVWTDYrclJERVZEdXZYSGxBRGcKJGGOHHqqHAZxxhLY5X5nW8jvzRlIewwD + luVs0Edqf06uxdntEbDlDWnXthpnx0nypokxgPWEMaQp1vhSqTmVqA== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2025-10-20T19:00:44Z" + mac: ENC[AES256_GCM,data:Wb4wcEmSj1n5dINoeNR3wyXk+7Ukmw0EivRk7dOJ2jpg80LShB26nemoH/KR38f+9lCRG95vfX2LHbK92/yzJnrVi8cbdmR3Nbc7EvJtwaRM/tzuSR4KQXtt7Xh1rwbJaofdlEtF6yPvjjKLHsioijOSDwlI6+aZy2//Xxt21+g=,iv:k+daocz9naGwdIH585zR2ilN9PJaSQ3p7hsQWHkh8Nk=,tag:8ljEybJqu2dFdIOvbO1JOw==,type:str] pgp: - - created_at: "2025-10-13T20:10:56Z" + - created_at: "2025-10-20T19:03:06Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/9G6kv/pu3reUUCTVQyPf+vZSEKl1W3plShn5zV1mexSsf - g561L3tA/jKc9xdCFvrzkgq0P5dNHLUoT4GbbdCA7CM1274See2QE294tLrZ6Uww - pkAd2swywKP3bn0j1zYmFxemGaGXPcukSpQ5X4ZhBvDKvM8dgWo6KRUPviQ89kOg - v/9NWaOfbgGF7ZcZd90JAUBMD6X5xABKVIac6qKcBuvz4nm3KJRboFMxgtG3ja/t - fz0LTqwGsqBRcRkZgLudnCCS9uWKee53CqWuStgHP7wfqLasqgNY0TacjyBg9WWg - ZeapLkhv6d0tXsSGAMmiYdXEst2yK/usXbqo88sod40VUJhZG2NUrgWsuU4rijD8 - ukIoZYpie7UyKDf/tfMAvoyI05BS+HXvhgmH1rsUTLsLTe+JnPgC1fmLTLJuvA54 - WgAsrAt1m0FmoPsegcVpaSIBldR9JDMpbE+6OxLfnMthh4b40SEcymodSz5Gb6vl - tLoYlx3+VJpp3+kK6NLxyP77Z8drpNVYdRMI/4XyQe0RCAvudV8nFCzDTjXPNoG4 - Xtd+xTO3So9xpql3hYm08IVxFa+hua7qgyeINt5W2WmZ+MJiGjX0GTTj8Mq++j+1 - 0EnugIqqaTQ4vrITP02ohUq60lmBr6zbH28hZBUHBgnVEut6nA6wDIVT6VTP7B/S - XAHAzMdG+Nhw06jFiH+Lh6BRs76+AFt7O2pDWL8TzSiA60gqvXZiWO7rU7oDsCe3 - 2uC05B+ryAH8WIybxPBlB4eLoHJwQzCdxHsKwWYKtpvnSiuZNnkObuDJg0yG - =b7mo + hQIMAxK/JaB2/SdtAQ/7B7FKN/EC9k1+me9liDPJ5dRGH5jy6Bwovr+SoAN3xOWu + xASqd8sp+amXQOP0MH3aQM58JFEfMNVo7qLYjfaAHg4I4OqA3KLM9NpnmdU/j4gb + DsOeHkA/WbSHUCH/j3pKv3uFE/s52OhKTrIZz4N9n507uWa3giYGupkCKqgHO7ZO + hw3HmCfmySaY/gowuGlApLaF9f0HmEKP6/horx1GD1ulEL8YyHEuMEqXyj8zwUYH + 0dKJvUsSPzeUdAy+uMs+seEEBkWOgVHZGqvVOINaf5Bj4cKQXF5CEPiB7gOWy1K1 + 4omLwmmQj8B0nNg2Xw5U35pri6ciLpbhRfSqYKV91sLty/svZ7Gk2eZV4gOCw2bK + HTJitD5G9sa7TFdSO8OnvYNPKAv8p0lQ1iVfKL+7dxp910kPXdaHpiMuHuAZbDnJ + 7PlZ/+DlrZ6aajzHJGV9XuGQQ9iWsgWFmSWIi3P0qMk9DYHuwhNoWcsQnfWDpQc0 + IibL8wZcRHi6OjU1RrUoYYGu+YW9ljyJosdousbp+nOnGlQFghUJZqcgySHhfvnt + sVGGSsYk5W2w3UQ9LwGdDvUl2KwJ33Peac+QWsgyYEIeFWx9oYREOW0h6tqBsgC4 + xHjBQwLU4A1iExwlBWup6xvL4to11GN7MLLwhBdS5XoNP/SSrEniY2/qP3bMBXjS + XAGTa53J/PhRwYjnNBsBDIAUE9rp8AP7mDsyzTZ/5mbm/ajx3Gk96/vu2UL0iXK0 + HwjQsgIBCX9UP6hqXigGr0UFRBkD49ITJymBRqusuisnL+nJrOzwhOds87Ec + =vSC/ -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2025-10-13T20:10:56Z" + - created_at: "2025-10-20T19:03:06Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA6EyPtWBEI+2AQ//WL4ttnjERa6PUAoZYyuKnrnFkS6foR3adZhsOynGKVAC - RP9cryOBrLZ4tWf00Nl+wh/hWswJuBWe81dQ0ZyRq0ao2FJAdm9WukNVKinRShbv - bgsRdzjS7W/LYpapNvbJKmxQ+2acah/7VbKsh9S6kdymwJTShRcGjhwiJCXPtyDd - rG3LQ+dguIY3kg2fL9LEtl5Q8xeAtA9RiSAxuu6y9BcUmiz8HJMkaDXFwrleds5L - OFJ3A+DlIO/MgoHwS8T/pQj3L4d7Tr7SqkSPuWKvrX+Au8uLqRM8tVOK7YJiKP0z - ZIayOg7ntTm/jCRSkMuX3oZ97Jbpp0VBX6im9Kgzjj4LPJxM8n7K7/wuZxm+akeL - 7/V+cuySYVfL96hPUINjHe2zrUz6EZ3/oo1EkpWxPd57ksCfTVoy14w1+hF9v0fl - O3sI8f92BvvIKDQHeI05EFweoWUkty34RrOT1zAUj5ir2F7K6Th4m8jWdA3gWevd - oZsVOIOyzTyzHAyFL6XlRphrdRW91CpW6rRoSBgMxaCX4Cso6NWocgU7lSD8sIrD - xTKAPqO9T9qMOKhUKIYnvt9s7FWpDa9xqvdWKX61KUGMfntk7rYEhp3125AW8hBx - HBuZXgLiplOJZEs969JBL3X6vpcMpLJK9C5qHUAi0jW4OU39ktoO9u6elEO0VYDS - XAGs8wOfvnkDlnzeN3E1+o5NjRruLKasBa+6KOnQG4/5XEW7b/LD8po4BuuMy0uG - qLQyWVCDSu0FOYp4GFaGdqN7QZpiUbxnD307xd+MJmlPkP34MRW6Tdx0H9ry - =xCEm + hQIMA6EyPtWBEI+2AQ//cTscdt7T2Xuc0y1fKqRbSEuPfFzFCuWSdYeY4lm4SpC3 + r0/U6+vHpXxVdtRQXc7NIW+GT+8OGd0uNz6rNFdQa7sOs05bo8PUWGXgLKEnn5XR + wp6Abz+SDuGCDyA3HKbkhDozubgq3EBpvziMU5Pgszp3PJeonofw2ZyIWVv5cH7W + /oemH8556PBwC5rMOw0hLPT0heT3TrV7X9IUkYhs63VjsnUkFeAw4v07VkapPVWK + wmDov8kS08USm4xa5Kzj64BVTuX8GK7OoLfbc1VJTzsxpS8seN6aBz+0dxExCx9G + GPX37iqdwdPjol6HcrmLs2lg5Gp0bQtE9uf2OZgIAu8LTFriTT+szSSLStuQyuVn + CmgGmFL1V14u7be6HGJdlHOxZ8lcEZzyu4hFDS+EvcEsVsVIkEr8exMF6AcCVUmu + 0dz3Ybe0BR4LyFB0pYpA8Y/ZrPf8nhrSp6Mz+uA5EJBuetfpyVpSGQzlVHI/AmWk + 0dbhoKITKvh3cesIOg8xvj+HK8t7LI2ENRLvQthWrDsxQqVnk/IE1KpVqH+B+i+c + lr2QQYDQRBARnHCFQXNfoTwLBpBIc9I9dy+b7bfXO2ELZ9aovRpoglwKWIRvwJTB + Wns6wjhiBGS//6gcY97Tc/XFIVBIbBLE7KovzTmSIhwoXd2jWdTyTvnbGrBoqSrS + XAGDU9Zvp4+BShpMNPAG3kHcO2cGEbAuYjyZ4fM1slbqOJgGcPZZ7BgQUIS588fk + jwUpSs4IGtfI/h4IOSy+KeIrLfWRNhTevyi8SSPOUuMLkrZ31/5goq4uridk + =mc+s -----END PGP MESSAGE----- fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC - - created_at: "2025-10-13T20:10:56Z" + - created_at: "2025-10-20T19:03:06Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ//V5M/XCLawn6KtqJigp5GEr4j8c4FBgYN/7Vx2ExtvHZz - 635xc/UE9WiMFQAtkiftm5g8cdz44Jx8rIjECsx07Nu2/mNsdzuNJ4JJS1cXSK/3 - o9Iq4wR7iGKAwEk5AazVe5raq/4rlqTvrzXZhiFTHLdKzEpSsvyeWVZb5rJUDgiN - h76iZ7qlSfIeHPWSlfBT8BhFVI1luUhCJpP+UUPrl88ilrgY8NGTQiiYJZuLneED - NdvRdzqOePrK41SlLq5QWqZbhracfDbg1WQZkLiJhJfYE05UuKP+YrRYqm9FeZaz - AvFBB9NKk7zmG2XDjI87IO48vPBge3pujH4Qzh6NYisiPnWWrYUYKuOy1fmVfEjt - /sM0btfqNfQx5P0yvn0E9UurJbhGsI4+mZsFRMWlgMI1yIxpo4DP+rK7l8YJstbZ - OpHloRez3bwZdpAzL2tzJgfK+U7DqSaBWSezWKVTD6mUORNpZVhtMJt/mfktFtuJ - hyLs9KVtCMhFfF0hO/AY8efm6DTJpbCuRAUSw1wPteQvzTxCVf4VE8Fkpm5Ij5bi - TkWPVhfeLkQcQlRTIAq5K/CKn9ck+5apD2ew1kspPQQXVbF5DGtO2ekPGCVzw2mI - kzxNH82ajjHOYQNJVe+L69A0yrJvf27BR+dVkvVnTwo25cKzRLKUTUkt3QQyDCfS - XAFhNN0aRmQNxj1oAViXSp8CEQ/rPifUEdK760ukcwDNEM1y6D1ky3O+yR1TcTFe - 40BoYos2qbEb8Wl6M7+mOem8O8e0/SvE9ktjSUaUEFAn4GaU5kg61Ek5ISwa - =0Uat + hQIMAz5uSgHG2iMJARAA2ImP7YdTd5nJ0EPCmirI6m3XoWNHje/UtVJgzy1H6AP6 + aFK6fXPFTXAzSYsl3IeHhcVrhANolbJGQWBuUq9LsJ0gwGAkF09haOkYi4Y/ljr3 + JqygviUjwk/Uz69/U5hCxMT+l/9YmkeHFN3QSY9OYaMcoaKorWSObT3z0ADAVwLt + P3Pm3S6KYss7B/3NH7z9qJUp/+95RR0fNm5HLZipqlTLVBdXNY9LrOylEPjuLPEf + fMAuOLj3xaUzawr0RgatQWB66aoPeFvMzTMSqLx+isnYFpzFUfcikYuDZeN+bRw8 + zT0JVP3xyFRKr9pNQDa/lXXOfQOW8gbSRYJE8zAai8D4tmFVbqQKlOWCxst1BNv0 + TVos0yQJrW8+snSNp9Irt+VCwBtOxLzoI8cjakAuG85Mx3xJ5lYT/Itt40L+M1UM + KkGzxXOZmm57b86jrKu+0lnAm9hvwIP95qxJupBzTJT4BfPLIeBMQ8AOV79CLaoI + vAjpTRatN1mpNWHYWFWYWNVkyNG/fZXqSB/oAAmHUvPD78tPdKlibpI57R1qa6f3 + ArL8Se8tnTHeF6od0VMk64cLKMnHBCJsu4dagMRpoSLPHXz61+846FHUb+AcJOaX + uPlie6GI2rSsMNCaAXP7cpz3IRQq4IK5Mpgst66MOyDexX3RLhf3dObQTZ4MmL/S + XAF1MlW1r/8h9rvVWOkFmz0BSz+qPWbGDssku1eJTs7BrZKCl9kx3MkHfPuUtLYt + lE+vE2nL7Qy/Miruf6voF6BYlvsBwx5h0BrZqgGo5Yv/d6smJ+U8tTJtcR/m + =V91f -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2025-10-13T20:10:56Z" + - created_at: "2025-10-20T19:03:06Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1ARAAtZ0xm/ZfBtEbJXB1DyykZmO8+q8+N0ZgKAh8g321nxcM - Z9f1Dvpnq4RsVsqJkP8hibLnu+B44sKcAMN5j0i39k5LwJ3q/unoJZe0vcf0wbg0 - fid7Z9U+D8TJMenS0o1TfyB0bqRZ+INwZYo/q0lxGCyr84RWPqyGGTzgRZh9N33X - EsdwaOhUAS9sFmkwciqFvuNW7Oz5zU0K1SQuK29GEtUoq4EyQJ7wWg/e4sxm8jmU - /yTH+NlyLw8p08YbkrKgVdzgWQ+zzNfkSvadtRs8Xix9XV1GzD7tXIwZIXmWQD+M - CA8gTTAmu7k3V82kN6BhnVYWFlazd5rHLfQCVXV9dlMWXUepnOoGFGq8Fsd9j3Kr - 0OTnLZrZO1+2snMoXMUoqgJpCTrxgC5ix1zYpfCqd8WeAWh88ndxbsR3T9xhrVbz - 3bxpgXa7BgIaL/hA3svTuk+/psJSQK8ZY1z2Ehj2Evg1KEOIz/g3CtIQY2T/8i6E - GBkra0tVUqAbnxhGI+rSONijQbmyXFv6jHFoRkCt8h0e4CRuXxXyGYnegNA/u6PU - ifck5iOy7mSbcLxjLvIKT3AgB7HAyhF9NMaTTruNw1gEaLscySRL5UstuT2bjVk4 - xu5PZUWTBMc4uAnFQdlJlUM7gaIHAreO3tt40B4mWT4em574YGuBkWqS1/vfsVLS - XAFUjgAEUud/yBnM4kGZaEEXVoPTiHXMzzXvqazGXLWdy85yyH8Vc0/G55oIjmka - gp/ae5/WPFQedYSVPmeOCzZYe76V/LdudID8ShbYqmPPyCZNHEwWSQTRYcl2 - =TSxz + hQIMAw5vwmoEJHQ1AQ/9GPe2+qZxMOc+znXm5uV9tQMORKfVHLZQG2L6xP7I+bkn + z7TMKMfz4RFzwONn80dxzbvYSXWy1EnzZ3dAkxXR+Kzm+LoPU7TXLPNv66h13MHs + SVFh0beeQbtdAZ9+8KDB+8K+ee4gwlO8jzZcsd2kL9fxL74mEcTbhg8U82+PL4v4 + 1+W48sIhvETv5vknW+1elouCwTxWw5lUGqjiMpdb7xif4BNTrILLqjfmdjOhTM2K + 5tkNdlAh07mMXU/yMPaD8C3Z4AoeoXET2Z0z0lIpyNn1nN8blBU0IDNjq1Kt+ROn + 8IHvB8hwmkj4Nh5hDhOP3rBiAE/2SPUT2+vKmoEDxmjuvKNqIPRc/Cs0FYETpJNT + YfykD7w/PXg7tXISg6iXfgu15FrlBKnimHcihjjstl/GARqKdgcuY79gztOySj9e + uv9Ur0fkpajee72azIrW8mGz1J1U0iCPq5MbiT3mddzxzMWl9olYWm/Y5WB1oX4j + //U5CwOTeoXWkk+JvL9IyWP3llUO+N4qOIcfA8j9aaxyQkfCg8kcnyfJy3+iYzbY + 2DuIjW6Cz4oYVIUclfM2NqTQKDOcZbssDFQn0L1O8RISQ2sDw5Yd41BVy6DFe4E4 + Ozl5cWHPhvbgFLy4f4meQY5r8EerRfeW1Eof3lp/1UOPwTI5vRQgdy7NAewNUFXS + XAFJA1bB5Gz12EcUwAa2DrUWNMqs4HmQwnFPhY2EpC3sZH12L1oVmMIa1AQzm/Mj + vuhm4yD/SYwpbAlimxDPnMyaeNG1NCLNUHcHR/hgjbzpzXNiRA3plot73+82 + =WFVE -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2025-10-13T20:10:56Z" + - created_at: "2025-10-20T19:03:06Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAiWvVhgNgXZ1xEKTEvpC0EeSl6RmJ7NPJ2m2/TXwdPxAw - GTWFhnCOpN9yOhnTx01pYBT+DliA8I1DQkzKWcZZLfAWRoNtZt/bY94XnwffJBG2 - 0lwBj/ewRld8z8+qKZRAwg2B6cJODdzp5UlqhM5B25ocH/YOfOFLOEdwj1mv44O8 - tAMopgKi/krCTrm28ceeYl7Y8+iA0EOP72BoS4IaEb1y6WhZT90rXq43J3JaDw== - =UNES + hF4DerEtaFuTeewSAQdALpcxVqWAeHmiCiRbICOxovMiwCzNGTTs4qbala850yow + r1ZKkG8HIJOybZtEs9DA3PVMMU2hMCrmsrbYbisZSn8TeCzchNc04kfLU4TdOSHl + 0lwBs3ScY2EgYHIe3WOcBvy6r96da8XLfDMfxYlP4QGkbp1spurrcQe7H7V99guB + TxoubvEgtJ8eMlfXkWjxdOWEq9aUd0dr6x0nwAvivW0ApuNx01WCTYuscgsKxQ== + =QcOA -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2025-10-13T20:10:56Z" + - created_at: "2025-10-20T19:03:06Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fARAAlJsKlKsKrONfko5V/yrsITbkZOsZQdwjPv2+BpmjRxI0 - UCN0vl0xhyxhKIVJkuL5nXOzmoW1Vux6cZ60OpdUxccvMaQ8+Y8CuY5jSTNKrA9n - ag232Fm5P50PBbvH9LPtz8DzMaCNG8Xec/QegozAmTeFHdbPvloNpb6kwTYqR5uy - vNRVnN9uX0LUPdR4gRqsQGD6aFJ1oXVAw5G+j30eD998NOrnBBq0zDarjG2ys2/Q - EqYRvqW/wUpNozTdhlB4JUcuFBmNhWaEKriPCXDD+NgEJrapdEK8YFr6PsLkzQ22 - zkFxPItkXbuAoG9KPskMYygeChCQKWy4WfMbFK8t8wnywhXf1zl5yvSKubto8wtD - 9x2LB5R+cW3rHIdd4jWZZuyv/VLbL3SEpVQitMXmz8Jj45yidCiL3xV/t6rNzWzh - E9/PUYEVGKRZV9mte+hiniVYUMHQniAwomaTa7w1EHTE9sziGPrPTqb0xGADsVmd - XBiKhyqwatTgnmsFNTw8gr80hI5CJpkMm8cpAKOXTHP5zzgpidfLTWAnGWPOu2cL - fpTQZ6s6Plxv8341JL8+/FFl7wEeMrMDdDZePkEQXXhmbOlQBbhGCNE5WxZVrU7o - ZYhQd5Gg/q65cTUJfcpmQZLYKy//MYVNsxEi8Gt3boinvq+opbOt3fGoU5b35S7S - XAFVTsQgr6i2aPslkIfbZ7jCK8H1/t5CGckcj38ekkKnc+qFo04BHYpdzrLqjM0o - e16w/tILSlWFz1aGzS88rkhUDjAXJvPVszZziqdoF1Yhui0eeqWX9lwg3AY8 - =VP6H + hQIMAxjNhCKPP69fAQ/9F1xkOwiQoCYwXsSxpwVMlbN2svqSey0i3KV38fboNs5X + XB62Ry7rB5X7LTw2+5MOuPMAMsHk5KNFah25mipuMYD4UiXqh77emNfeB52MF70r + t8hnmj6CtaaVSnWnHeMOlF11br2d8ZGdwnHhn5En78Cz+W69+u75goPR0YqXJaar + 7hfm/oouSQk+ankVJYEvreO6WKr46+XGd2FWcxYZQw8PVW9iDE5+JhOZM//NVlzv + vylrYmLK9nhswXeEfq2EP7yWUeUClLEIQY2SuMA/VWK8wf48oQTd7eiXWb7pd/Ls + U82Viqn3+/Y7QMt31JnPhrMLaLCDwuPphxMuOzrncGjNig3mVcyE388gWSpkVHRT + 4nm/lHsVbFyvJdj9pDgxXNTsSe3fViMvs8kd6ZIn5WyU2W8NymcFbptySt9iy02R + hJaC+7Wbmjfw1Nq52HljcPNqRml93Z2nJaQZCeJEaLo9I4mz/MrGLBrQ+5lQ2Dwp + PPSYDQpJUmZRa6QkGFceQ4sC+SQp8hQBwyQ/sVNDWF3ocaxIU/erS8eDZrP2Zve0 + z7ZZDrjIfx+ArGDLOxlaADr8PyNRCnEX40HgZXGyyjbK3jnwoRkdkp6dx56IJTWr + smIWH82eQQ6JSRsfeERcCWQF605pNVrnGMYx5kj8VVgNPpimRdvUrPsdwYz5WnHS + XAEt/U8izWISfq+DFbwaZhnLAQRZ3VJ3QIjqSoBRGU/UfRqmTLpOspnndK2hL/6k + 260An3SyQea917a+WmEIlI8RtPh0Mfpq0+ao5Q6okGECdjwXhJm0LPQ32pUk + =rZNp -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2025-10-13T20:10:56Z" + - created_at: "2025-10-20T19:03:06Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ/7B9zToh5Sjx08QIWHvCSU3p9gcs6TEzntEmomSC+f9D2m - HByLrfkTiizvAnoa2m8x7W3hocFGuWiMO2Out2HTpr/wS36mRuTNmgfWb31avhyt - dTKBiPJzL04LG6kT2sVMPlfbhJ8pZ0YEJz9Qwr/HTqYVuQNdnARXu9TMU7WTRlSK - XcyfRU6ioDC4HAidTrq+D9udY9k+UyT/Xx+98azpOpa3bOeHqKmsMEevJ+lBs9BU - bqWFEKxkSNPHnMMVc2Ii76ng1r8qDVWyLDQ8GL+0XmNeWtLA82D6OdASdiUT+Wia - mo8ztvkOOQUNXaBPk7pH0vIVBEq1WrmpIbx7uVJF646DD+MUAPpxpQW4agrsWB47 - YnnAOIY6JRNhwSf7/o52fereFT+CIaHCBTk2tsXPznZt5Y4H6UEZJ77xW5clEiCA - hsY+orVXGkyejpuXb/W3l/hl0vWxhpErDeEF6xa71rGeq4gdNdGVki2zdAWlB3UU - sMNdBKvZcFWcvVQhKC73OUfsDieGS8CdWGn/BsjZQX8Jtz/9D8sTe+KwvIt88NRM - muSrfHPEd6BfDmZcqlqWGXg2CoN1/g8pprYiFrKXuuPy4qA1K5ydarh/mFNyjX6p - btOgsWDy7VdSOq3vv6dVhLaIB7mszVzLfdmkgOr+Hm5pTvHIqZhQznIofvgcoW3S - XAGKeM5Fjrv6nXEW0Xj4zJ4eC11hDSyXeJ7P7+U5KwT0vixELGVpQv0axRNNaPNR - jMku1rVHdYRGNNquiL2oJyY/V8jFJtt40rTEvoALy3pbnrEdE8RG7NxVpPes - =ysNG + hQIMA1Hthzn+T1OoARAAmiRGmQDxdiJV66w2dm5wTUtfjTEzy+GI16b2C+kkjF/r + iW7VridRtVo+3wmhAXIVokFB7JMaDcCWSesg68jf/pKfrB8uSdeXRisKthD/gO5O + CeqUNWXV+rD9LUbuHpNBJfwen/6CaGZiw4Ww01miUBPODjtr7ljaYbgRdN9Wi8s7 + 8cRAoQSh6J/bfWx1zA1sMA9l/EO2bLmFlt+Q5YTEY1yAISuih5fXO45QW4Fxn69k + MSZUywyp9+n/wssCnGb7JUvXh+t2fa/1fTYgl6OI75Hb5BfAJfG2JnF7dUyt4RRn + 8il4qsrAvxG60HC84NYxR2j4h62wK6v1806bgMLEF1enXnwUWjrLOmgQPqhdEHFq + rNjPtv85P2vgFVEYPovaZ7Cv2Gfbqw48wI6L5uBoqcRtkMzJgUQOHpSZSpjF71HM + 2Qtnj3SOYeufGnipIQL+XQarQK9Q7FgcKhqlTFveSuBG1uNyhQRiAVpPiBWZsaQk + 98QrazESu1NAB3Q4Hp3oAa26adUrPz5wEF8mGY+EpZkBO+GeD9fAxFzxQxkaHGkh + rCFJ6fbGIdrhZil/03T85EbUSR+SoDeo7UB6Lyug2xq3XR5FPAYWAxyx3V//XoSO + zerEQpN/COVCMXs10GBxPLfZgPHkj7hXKJQxhIP7WaxWmV5M+5VjUHYge7obfW/S + XAERv41J599iu7hqiisdGmWOoPhPLD2rjztKoF8XizYbTFIRH2/5g/4OJU9+vYPq + 1Dh90GVvugJ025BFhb13HUuy+9yNP2c3A2uzi20ELjqfrzlFZ/yo6a+fQH8y + =tprY -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2025-10-13T20:10:56Z" + - created_at: "2025-10-20T19:03:06Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ//Rt/1s0yAosBekTFgIJhDggMHVy+4BSMcX1H6ouv6hYNG - zEFd668fDcpBAq0hAXalxh8vCpZC9CeYzX5a3qlWvsk7sUHNsQALVZLjwN9HHfm5 - 4owzgHbmGd8BINtoirWa0GgqPOMX50uWZvPYXDAjdawywSYxLTj9CwPLw9LKo8GW - b5SBuG0Bz4jWZ591r6g/pvC2Q2ozFUqcbvGylo82rAkgH9lEzepG21Vw7sMdEMwB - 3l0QsAse6Oc9gKgDeqHutoO0vaASvljC6geHBZ39rNHuEjFi3e4OuKFz8RpWRps/ - 3sHwOydT9Ao0cgduUtbzLm/3NHvcH1Hn5zJvNkoEPIhnX0ynJ7GzM5n/A3MW8jRj - I+PX2dcVHEzIhdTcbjB2Cmx2xYpY/CBp1Z5I+IhqnJ0Zo+nwDPldn5rvnO7hofvt - C1adexgMKPGB8zkojRxQErkN95IFaiCbDiwcQWC7ZI7OzDGr12S37OTJrZf6Fqyg - 639k034mFZUR6auDGLqAmzXYmD/VcReepsnl1Eqke7R3w+n7RgBhCAoQjy5mvys+ - Zbe7ooN2vAe8WcdqcCnwwYc1kFNebNQE9L0coLHsZwEZjhYNCPyGI+drGKigezhR - abp2XoLItTiYqbSy3fD0K4Y0aV6kDwFJQiMedZGbqN4nTJcTY1t7V5GTx8pPfSfS - XAGY0zsoT7EX3Cnt34J5YSNRt8hyf6YEpeQHDPyM9Qzlp1ppM8lvmkA2KhcJZzBL - fMBA4S4zs3qi7prrgtNsAF5Smt69XzoyOuo9qofN+776LVWKSyjfQS6ZNe+R - =nlmA + hQIMA46L6MuPqfJqARAAkqzpoQx7t/2mz+3IdpMQ2bpR6RMtR66e5Qw6x50iyx5I + viDVixTbe79ksRGQg/qBE2L4lNZ5m72+QcMwrv0SOylDEi0ne5U4OCwAsjM7vZl0 + gJzCFkIZkGwOWBkszdBHOE0uQfgRh38VMnXBcq7Ju+wJZYHoq63QPp81965dYHBB + P4GNGOI/XMMYs1KUGhk7MPQsY8fAbH34VaJ/E7k3ahMYYHQ0c/J+2OSKb15W61T5 + MQ/ry7iZPNiLR9dCMzKAYf+ImR9PBDyVMtANrcgFJzpFn1RSgKThMTBjmgGYAjJg + ESyjrhrbhWbvte1WeK6bgu/bebDXYm7DH/bt+N7oB2OUbsg5fQ94a0xXJeR0/3jH + fMhKWThdGga6+Bp2exoBduXVy/GFtlZ2BKYVUWOdSimbpK8EMjqWgja8dpzmdamc + VVQxNHhjPz4UV/SsedMBrK3E6Vx2F+jf0LYui7+ShLR2KuKievtHXbnNASCgZFfI + 1pSQXpWVDRRkhIHT0eL3nNaw8un23E40q+e+KJ42u8Os/TKHii/BsBotsfbMGo0X + d5lL494HAOjK9U/3JV9x+Vmvf2D9VNP37j66OqUqqmTre+XE4WtQcjMNonO4y7pS + e8D6D+7ILZFQRf87JKQmObLDBHCvHLGibjgiNxmF7fZIBeuWNo0YVY/j8CHGQjvS + XAHoTbOoqSgPvOS5751EHpj0eLtk39izLil1eNkH6hdj3I5j95pttH9daDslwDuB + Fyack3iGns7TDEqcmbxHOf9yklqsMkKtUMVA4mdhDQMnxe7KwmBeD764QP5D + =eTmd -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2025-10-13T20:10:56Z" + - created_at: "2025-10-20T19:03:06Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAyO0n+fU1kq4NR2/Zf8SHKx+6zegT/HCgDkpM9DGh/now - db5MRmmINkcRSBE8583KwaSiInuYSqBaw3UxOv1VRZvHnsVVm2AWRtBaYdpnfRLC - 0lwB8TVBhkjNuMRtIiLVdd0IzWaXPmNTW+MGHtjfFocnor+MMU0zIFucRMY8L9jt - eLntMuWw8knwJ7l7kea8So8+bWLlCouxyEWk/+PuLhcWiGBh501yKhkREagRuQ== - =Kos+ + hF4DQrf1tCqiJxoSAQdA5BohdesewCWjbpIcOC262ZgqLAdYtqQcyJUND3GcKmUw + TqK7WKIfk8yGVuTF9cSQMqc8fURCt6Zfd+P1ITOh7Hs+QlbycxfLJZTS0Y+PE+sv + 0lwBdeZImzCIG8Z0y9fMRdcrEcZnjXykCP67o5QusyF1/xllkGdDPIUh1YHWq1ST + Jadqvwo6Z0toJLHbk2DY5Dz/eDi3BP1Oq0p9YxlB39rvRkaSIvA2Y3lba3bGPw== + =4c4A -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2025-10-13T20:10:56Z" + - created_at: "2025-10-20T19:03:06Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdA+EeOaqri8YCU5eC4iwE66pHwS5bJa8UGO5CNi4t7JUcw - 0ZGI75VZydgTRWSaCB1AGyix1oviS5ans6i0KeCtciYTuaFl+jPbnJL9EtnO1OV/ - 0lYB5t6/oT1J+mRr9mocrzaDJOZkv6xy+90QGA+NFF82bKWvQI63hV9bhuC26WKW - CWEALAdCLDo76JrhcqaGjmZrKDWi2y7Ju6rXk8RT86W03y+eUHloYA== - =AqlY + hF4DzAGzViGx4qcSAQdAl9xzEuj3J+553qb7AYJMh/gl6cg7kCOOmuslG8lf9QMw + FWSFlSIUIVrerNf8eYnORu+ERTjGN7a52sVM695bR0EQCHVMkLH7HoNiVPZIgxvs + 0lYB3ENG1NtUCaAf1LRbTJdz/rfmciczPWF+FCGWy+H8/d9dy0VMEyS0HFWYdb8h + wTP38dybO5KEPLQo7nibGaqx7uYQtRcR/i8PLe4NF3THEnCAf4kOaQ== + =cRSb -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2025-10-13T20:10:56Z" + - created_at: "2025-10-20T19:03:06Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//X6diZXCicV3lW5GSRRUG9aR+AmtuZtjDXvqatdVSzYR3 - NeGYYmWwHaPAfQrH2i07c1JeDt3RY/aKo17afSdm3jrnIvfAAFZbPQ6DTA6jvxlJ - eDKJgExHGR2y84EWerQYgKYwQFROiOExNotRKoDP9WEvVO1fEP9JpkxeliRi5+hH - 87uGbhEZGpn5QRF3kkBLvS6zx40wQtdXehXp95eD2LAbgUdlfZJsBsCQ7rvOss6l - CxOceLJPZG2ccPgi9eu6/17+5GyX606/bkzOZefSKlv2ifkIaU900/1Zswn5GU1I - D8xibc1gM6j7l+Tp8hevUiN+lhv8LWiyCk3ph7b9MrXLjcBpeGRZUq/sj+ffZdDH - zxon4BAgYSVw3QvUbi8TrbGv8nH6uxWwd1WOeEf5pHpqSlWpIN+TTXgvroivO93n - bTwkiUH7mmHdZihJUpE18Tp5dipvmKW0t8cz1ahsK4WF/mlIOMTg2xJ7gWMvQO6/ - 8ZpW9lIOzCirYn3L8kG4rtAdaOyk2yhQMBPJGas5udXqn8nfGrHG7wJoR+NgsOxj - l/FkOfc2jYgrVSYxK5DiotWcxgg6lpV8b0YngJF+7+R6wC+E/h1ux+L3y/wH4lCd - ioC0iGeJfHdo6C6dmlHNRzgJOKAQfQFATLvcrlIYm3ejrDYYqMwxxmTkHSuZBljS - XAEaFIbQtogDamtHcrF32E+5GzNeHm5SCNhOZle5KXnHHj1s9+d6YVG8MNLr++N1 - Rjr/RLVjOZOcjzF4eOh3DCqbxaY8YaubH2zAIcBk7H1dhmaVR6tQ1cn8v8u3 - =PYNi + hQIMA2pVdGTIrZI+ARAA11KAP7tpUgq1qXT3+H8L3tcYt7vUlbN13UGYpIgcGDKs + 9TBBWB5sSult2CygmankqX9IKatm0jRhXYbGwI1kvBmyjF8dtBfvjFNAKUQ8oEUm + C4IanxjTceyT1KKnSsiVomCs7LCoc7ZM4wFQSCNthl6g969mJHQNVRtgTJf4ezKY + 6ZaPXrECxbnzf0TvPBVHZuDbjAVcIyzRkbkknuysAWMDEh2TChoiz1Rv8g/r6EV9 + 0z6Oyk2DLqc9mCj8hyWjezIi/nUFwRcokh2fWrW/GZ9weCEit9EULJ2nBZEsvuV9 + evDfFFAjmMFm255VB4T0brzp6XMbwW3sGNYJ1xcw1sFQmnZrp0l73XQD5gU/60MG + JvEQ8KmJrMSuqxN20g4S+Gl3iaRE5UvMxiPOdCpL7KDDs/cW1++iOdtklAt+8WAX + hBut0O3tgstddlsRpU/U4fY6IHWpOChSisWx/PlK6yJ8XMMl1D0Ho97gC+niktWa + Zwp0mzSk/dYIvzxPMdscjCaed3Cf6zQ1KNKnZIR8rw8OSd7JkEdDymk7Ihkbx1Oj + YO+7shxgj99mkVxwbA1GdgmXKnlz5PURTMW7T28562SqqcOSXY371k0BKXfObm6P + x2eD0StUa/m0jpi13KnNrO2wYx2MLCeMYrCsu396Td8Bk1m1iEam9QBU5ssInQPS + XAFWSMzR1Efn6iXwXbnPmnHzRgfevYWCDqwzqwoy6j1D4/1QLwB314wEk4jf/jvW + r5J4LwPDJRiupClobgruW7qMaz5Rkn8853F78oafkmaQ+D5GATEDddlusBNX + =XooS -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 unencrypted_suffix: _unencrypted - version: 3.9.4 + version: 3.11.0 diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index ebc456b..1f1445c 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -200,6 +200,15 @@ ansible_pull_hosts: sunders: renovate: wiki: + ccchoir: + tickets: + keycloak: + lists: + mumble: + pad: + public-reverse-proxy: + zammad: + ntfy: msmtp_hosts: hosts: renovate_hosts: From 7de516dc432fcb87660180079a92af3c57ca8fda Mon Sep 17 00:00:00 2001 From: June Date: Tue, 21 Oct 2025 02:37:10 +0200 Subject: [PATCH 035/160] introduce first Renovate configuration Introduce pretty basic first Renovate configuration with a package rule for grouping all stable non-major dependency updates together. --- renovate.json | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 renovate.json diff --git a/renovate.json b/renovate.json new file mode 100644 index 0000000..230c845 --- /dev/null +++ b/renovate.json @@ -0,0 +1,24 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": [ + "config:recommended", // Included in config:best-practices anyway, but added for clarity. + "config:best-practices", + "schedule:daily", + ":ignoreUnstable" + ], + "packageRules": [ + // Create a package rule for grouping all stable non-major dependency updates together. + // A combination of/inspired by: + // https://docs.renovatebot.com/presets-group/#groupallnonmajor + // https://docs.renovatebot.com/presets-default/#automergestablenonmajor + { + "groupName": "all stable non-major dependencies", + "groupSlug": "all-stable-minor-patch", + "matchCurrentVersion": "!/^0/", + "matchUpdateTypes": [ + "minor", + "patch" + ] + } + ] +} From f842723e9a2fe51e806164a4aa5bc83576d12d51 Mon Sep 17 00:00:00 2001 From: June Date: Tue, 21 Oct 2025 23:03:02 +0200 Subject: [PATCH 036/160] remove daily schedule for Renovate (for now?) --- renovate.json | 1 - 1 file changed, 1 deletion(-) diff --git a/renovate.json b/renovate.json index 230c845..a92bd3a 100644 --- a/renovate.json +++ b/renovate.json @@ -3,7 +3,6 @@ "extends": [ "config:recommended", // Included in config:best-practices anyway, but added for clarity. "config:best-practices", - "schedule:daily", ":ignoreUnstable" ], "packageRules": [ From 282e82728b88cd507dd7c2983523a08cee6180f8 Mon Sep 17 00:00:00 2001 From: June Date: Tue, 21 Oct 2025 23:12:34 +0200 Subject: [PATCH 037/160] renovate: match file compose jinja2 templates (.j2) as well --- renovate.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/renovate.json b/renovate.json index a92bd3a..1766469 100644 --- a/renovate.json +++ b/renovate.json @@ -19,5 +19,10 @@ "patch" ] } - ] + ], + "docker-compose": { + "managerFilePatterns": [ + "/(^|/)(?:docker-)?compose[^/]*\\.ya?ml.j2$/" + ] + } } From 43fac32424fa32a2c10fd72ba6d4e305de99558f Mon Sep 17 00:00:00 2001 From: June Date: Tue, 21 Oct 2025 23:59:56 +0200 Subject: [PATCH 038/160] use full image source and set version for all Chaosknoten compose images Use a full image source and set and explicit version for all images in Chaosknoten (docker-)compose files. With Renovate now set up, it is feasible to explicitly set versions. --- .../grafana/docker_compose/compose.yaml.j2 | 18 +++++++++--------- .../keycloak/docker_compose/compose.yaml.j2 | 2 +- .../lists/docker_compose/compose.yaml | 6 +++--- .../ntfy/docker_compose/compose.yaml.j2 | 2 +- .../onlyoffice/docker_compose/compose.yaml.j2 | 2 +- .../pad/docker_compose/compose.yaml.j2 | 3 +-- .../pretalx/docker_compose/compose.yaml.j2 | 8 ++++---- .../tickets/docker_compose/compose.yaml.j2 | 4 ++-- 8 files changed, 22 insertions(+), 23 deletions(-) diff --git a/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 b/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 index 1683b79..228382b 100644 --- a/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 @@ -2,7 +2,7 @@ services: prometheus: - image: prom/prometheus + image: docker.io/prom/prometheus:v3.7.1 container_name: prometheus command: - '--config.file=/etc/prometheus/prometheus.yml' @@ -18,7 +18,7 @@ services: - prom_data:/prometheus alertmanager: - image: prom/alertmanager + image: docker.io/prom/alertmanager:v0.28.1 container_name: alertmanager command: - '--config.file=/etc/alertmanager/alertmanager.yaml' @@ -31,7 +31,7 @@ services: - alertmanager_data:/alertmanager grafana: - image: grafana/grafana + image: docker.io/grafana/grafana:12.2.1 container_name: grafana ports: - 3000:3000 @@ -45,7 +45,7 @@ services: - graf_data:/var/lib/grafana pve-exporter: - image: prompve/prometheus-pve-exporter + image: docker.io/prompve/prometheus-pve-exporter:3.5.5 container_name: pve-exporter ports: - 9221:9221 @@ -58,7 +58,7 @@ services: - /dev/null:/etc/prometheus/pve.yml loki: - image: grafana/loki:3 + image: docker.io/grafana/loki:3.5.7 container_name: loki ports: - 13100:3100 @@ -69,7 +69,7 @@ services: - loki_data:/var/loki ntfy-alertmanager-ccchh-critical: - image: xenrox/ntfy-alertmanager:latest + image: docker.io/xenrox/ntfy-alertmanager:0.5.0 container_name: ntfy-alertmanager-ccchh-critical volumes: - ./configs/ntfy-alertmanager-ccchh-critical:/etc/ntfy-alertmanager/config @@ -78,7 +78,7 @@ services: restart: unless-stopped ntfy-alertmanager-fux-critical: - image: xenrox/ntfy-alertmanager:latest + image: docker.io/xenrox/ntfy-alertmanager:0.5.0 container_name: ntfy-alertmanager-fux-critical volumes: - ./configs/ntfy-alertmanager-fux-critical:/etc/ntfy-alertmanager/config @@ -87,7 +87,7 @@ services: restart: unless-stopped ntfy-alertmanager-ccchh: - image: xenrox/ntfy-alertmanager:latest + image: docker.io/xenrox/ntfy-alertmanager:0.5.0 container_name: ntfy-alertmanager-ccchh volumes: - ./configs/ntfy-alertmanager-ccchh:/etc/ntfy-alertmanager/config @@ -96,7 +96,7 @@ services: restart: unless-stopped ntfy-alertmanager-fux: - image: xenrox/ntfy-alertmanager:latest + image: docker.io/xenrox/ntfy-alertmanager:0.5.0 container_name: ntfy-alertmanager-fux volumes: - ./configs/ntfy-alertmanager-fux:/etc/ntfy-alertmanager/config diff --git a/resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 b/resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 index be30a73..9fde708 100644 --- a/resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 @@ -46,7 +46,7 @@ services: - "8080:8080" db: - image: postgres:15.14 + image: docker.io/library/postgres:15.14 restart: unless-stopped networks: - keycloak diff --git a/resources/chaosknoten/lists/docker_compose/compose.yaml b/resources/chaosknoten/lists/docker_compose/compose.yaml index 232627a..cdfd70a 100644 --- a/resources/chaosknoten/lists/docker_compose/compose.yaml +++ b/resources/chaosknoten/lists/docker_compose/compose.yaml @@ -1,7 +1,7 @@ services: mailman-core: restart: unless-stopped - image: maxking/mailman-core:0.5 # Use a specific version tag (tag latest is not published) + image: docker.io/maxking/mailman-core:0.5 # Use a specific version tag (tag latest is not published) container_name: mailman-core hostname: mailman-core volumes: @@ -25,7 +25,7 @@ services: mailman-web: restart: unless-stopped - image: maxking/mailman-web:0.5 # Use a specific version tag (tag latest is not published) + image: docker.io/maxking/mailman-web:0.5 # Use a specific version tag (tag latest is not published) container_name: mailman-web hostname: mailman-web depends_on: @@ -56,7 +56,7 @@ services: - POSTGRES_DB=mailmandb - POSTGRES_USER=mailman - POSTGRES_PASSWORD=wvQjbMRnwFuxGEPz - image: postgres:12-alpine + image: docker.io/library/postgres:12-alpine volumes: - /opt/mailman/database:/var/lib/postgresql/data networks: diff --git a/resources/chaosknoten/ntfy/docker_compose/compose.yaml.j2 b/resources/chaosknoten/ntfy/docker_compose/compose.yaml.j2 index 625e02f..9fe2a7a 100644 --- a/resources/chaosknoten/ntfy/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/ntfy/docker_compose/compose.yaml.j2 @@ -1,7 +1,7 @@ --- services: ntfy: - image: binwiederhier/ntfy + image: docker.io/binwiederhier/ntfy:v2.14.0 container_name: ntfy command: - serve diff --git a/resources/chaosknoten/onlyoffice/docker_compose/compose.yaml.j2 b/resources/chaosknoten/onlyoffice/docker_compose/compose.yaml.j2 index 85ce7d2..f3444ac 100644 --- a/resources/chaosknoten/onlyoffice/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/onlyoffice/docker_compose/compose.yaml.j2 @@ -4,7 +4,7 @@ services: onlyoffice: - image: onlyoffice/documentserver:latest + image: docker.io/onlyoffice/documentserver:9.1.0 restart: unless-stopped volumes: - "./onlyoffice/DocumentServer/logs:/var/log/onlyoffice" diff --git a/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 b/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 index ca29f1b..455caa3 100644 --- a/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 @@ -13,8 +13,7 @@ services: restart: unless-stopped app: - #image: quay.io/hedgedoc/hedgedoc:1.9.9 - image: quay.io/hedgedoc/hedgedoc:latest + image: quay.io/hedgedoc/hedgedoc:1.10.3 environment: - "CMD_DB_URL=postgres://hedgedoc:{{ secret__hedgedoc_db_password }}@database:5432/hedgedoc" - "CMD_DOMAIN=pad.hamburg.ccc.de" diff --git a/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 b/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 index 1eca33b..7b733cb 100644 --- a/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 @@ -15,7 +15,7 @@ services: - pretalx_net redis: - image: redis:latest + image: docker.io/library/redis:8.2.2 restart: unless-stopped volumes: - redis:/data @@ -23,7 +23,7 @@ services: - pretalx_net static: - image: docker.io/library/nginx + image: docker.io/library/nginx:1.29.2 restart: unless-stopped volumes: - public:/usr/share/nginx/html @@ -33,7 +33,7 @@ services: - pretalx_net pretalx: - image: pretalx/standalone:latest + image: docker.io/pretalx/standalone:v2025.1.0 entrypoint: gunicorn command: - "pretalx.wsgi" @@ -78,7 +78,7 @@ services: - pretalx_net celery: - image: pretalx/standalone:latest + image: docker.io/pretalx/standalone:v2025.1.0 command: - taskworker restart: unless-stopped diff --git a/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 b/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 index d00a454..6509a99 100644 --- a/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 @@ -11,9 +11,9 @@ services: networks: backend: restart: unless-stopped - + redis: - image: docker.io/library/redis:7 + image: docker.io/library/redis:7.4.6 ports: - "6379:6379" volumes: From 78a6be6f5d6fdf0d992a50f766ab4d605a8aa70f Mon Sep 17 00:00:00 2001 From: June Date: Wed, 22 Oct 2025 00:47:05 +0200 Subject: [PATCH 039/160] renovate: disable semantic commits --- renovate.json | 1 + 1 file changed, 1 insertion(+) diff --git a/renovate.json b/renovate.json index 1766469..9e6fe64 100644 --- a/renovate.json +++ b/renovate.json @@ -5,6 +5,7 @@ "config:best-practices", ":ignoreUnstable" ], + "semanticCommits": "disabled", "packageRules": [ // Create a package rule for grouping all stable non-major dependency updates together. // A combination of/inspired by: From d0d517d97dd32aa1644006bdaab101808de3257f Mon Sep 17 00:00:00 2001 From: June Date: Wed, 22 Oct 2025 16:42:02 +0200 Subject: [PATCH 040/160] renovate: add custom package rule for pretix calendar versioning Add custom package rule accounting for pretix calendar versioning to not have Renovate classify month updates as minor version updates, but major version updates instead. --- renovate.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/renovate.json b/renovate.json index 9e6fe64..9cd0c82 100644 --- a/renovate.json +++ b/renovate.json @@ -19,6 +19,11 @@ "minor", "patch" ] + }, + { + "matchDatasources": ["docker"], + "matchPackageNames": ["docker.io/pretix/standalone"], + "versioning": "regex:^(?\\d+\\.\\d+)(?:\\.(?\\d+))$" } ], "docker-compose": { From 8f612d1d9c80d88c957802b1417209e7410f9f51 Mon Sep 17 00:00:00 2001 From: June Date: Wed, 22 Oct 2025 19:42:20 +0200 Subject: [PATCH 041/160] renovate: add persistent volume for base (and therefore cache) dir --- roles/renovate/files/renovate.service | 2 ++ 1 file changed, 2 insertions(+) diff --git a/roles/renovate/files/renovate.service b/roles/renovate/files/renovate.service index ca9f7ed..6cb8f16 100644 --- a/roles/renovate/files/renovate.service +++ b/roles/renovate/files/renovate.service @@ -7,4 +7,6 @@ Wants=network-online.target Type=oneshot ExecStart=/usr/bin/docker run --rm \ -v "/etc/renovate/config.js:/usr/src/app/config.js" \ + --mount "type=volume,src=renovate,dst=/tmp/renovate" \ + --env "RENOVATE_BASE_DIR=/tmp/renovate" \ renovate/renovate From a60946b3b8b84641a1192862e65be4c0f6790ad4 Mon Sep 17 00:00:00 2001 From: Renovate Date: Wed, 22 Oct 2025 21:50:08 +0000 Subject: [PATCH 042/160] Update https://github.com/ansible/ansible-lint action to v25 --- .forgejo/workflows/lint.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/lint.yaml b/.forgejo/workflows/lint.yaml index 1002532..3b09d8b 100644 --- a/.forgejo/workflows/lint.yaml +++ b/.forgejo/workflows/lint.yaml @@ -24,7 +24,7 @@ jobs: # work in our environmnet. # Rather manually setup python (pip) before instead. - name: Run ansible-lint - uses: https://github.com/ansible/ansible-lint@v24.10.0 + uses: https://github.com/ansible/ansible-lint@d7cd7cfa2469536527aceaef9ef2ec6f2fb331cb # v25.9.2 with: setup_python: "false" requirements_file: "requirements.yml" From 2f8897751b646fc26c44ddf32a06f8bbc1500629 Mon Sep 17 00:00:00 2001 From: Renovate Date: Thu, 23 Oct 2025 12:15:38 +0000 Subject: [PATCH 043/160] Pin dependencies --- .forgejo/workflows/lint.yaml | 2 +- .../ccchoir/docker_compose/compose.yaml.j2 | 4 ++-- .../grafana/docker_compose/compose.yaml.j2 | 18 +++++++++--------- .../keycloak/docker_compose/compose.yaml.j2 | 10 +++++----- .../lists/docker_compose/compose.yaml | 6 +++--- .../ntfy/docker_compose/compose.yaml.j2 | 2 +- .../onlyoffice/docker_compose/compose.yaml.j2 | 2 +- .../pad/docker_compose/compose.yaml.j2 | 6 +++--- .../pretalx/docker_compose/compose.yaml.j2 | 10 +++++----- .../tickets/docker_compose/compose.yaml.j2 | 6 +++--- .../z9/dooris/docker_compose/compose.yaml.j2 | 2 +- .../docker_compose/compose.yaml.j2 | 2 +- .../z9/yate/docker_compose/compose.yaml.j2 | 2 +- 13 files changed, 36 insertions(+), 36 deletions(-) diff --git a/.forgejo/workflows/lint.yaml b/.forgejo/workflows/lint.yaml index 3b09d8b..a0fd1d8 100644 --- a/.forgejo/workflows/lint.yaml +++ b/.forgejo/workflows/lint.yaml @@ -10,7 +10,7 @@ jobs: name: Ansible Lint runs-on: docker steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4 - name: Install pip run: | apt update diff --git a/resources/chaosknoten/ccchoir/docker_compose/compose.yaml.j2 b/resources/chaosknoten/ccchoir/docker_compose/compose.yaml.j2 index c2108d8..4c9d491 100644 --- a/resources/chaosknoten/ccchoir/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/ccchoir/docker_compose/compose.yaml.j2 @@ -3,7 +3,7 @@ services: database: - image: docker.io/library/mariadb:11 + image: docker.io/library/mariadb:11@sha256:ae6119716edac6998ae85508431b3d2e666530ddf4e94c61a10710caec9b0f71 environment: - "MARIADB_DATABASE=wordpress" - "MARIADB_ROOT_PASSWORD={{ secret__mariadb_root_password }}" @@ -17,7 +17,7 @@ services: restart: unless-stopped app: - image: docker.io/library/wordpress:6-php8.1 + image: docker.io/library/wordpress:6-php8.1@sha256:d93a391bc1ba9d2db3e53c8c8421a88d6beadb7b654235ba83ccf9ea93ecdcd5 environment: - "WORDPRESS_DB_HOST=database" - "WORDPRESS_DB_NAME=wordpress" diff --git a/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 b/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 index 228382b..436669a 100644 --- a/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 @@ -2,7 +2,7 @@ services: prometheus: - image: docker.io/prom/prometheus:v3.7.1 + image: docker.io/prom/prometheus:v3.7.1@sha256:ff7e389acbe064a4823212a500393d40a28a8f362e4b05cbf6742a9a3ef736b2 container_name: prometheus command: - '--config.file=/etc/prometheus/prometheus.yml' @@ -18,7 +18,7 @@ services: - prom_data:/prometheus alertmanager: - image: docker.io/prom/alertmanager:v0.28.1 + image: docker.io/prom/alertmanager:v0.28.1@sha256:27c475db5fb156cab31d5c18a4251ac7ed567746a2483ff264516437a39b15ba container_name: alertmanager command: - '--config.file=/etc/alertmanager/alertmanager.yaml' @@ -31,7 +31,7 @@ services: - alertmanager_data:/alertmanager grafana: - image: docker.io/grafana/grafana:12.2.1 + image: docker.io/grafana/grafana:12.2.1@sha256:35c41e0fd0295f5d0ee5db7e780cf33506abfaf47686196f825364889dee878b container_name: grafana ports: - 3000:3000 @@ -45,7 +45,7 @@ services: - graf_data:/var/lib/grafana pve-exporter: - image: docker.io/prompve/prometheus-pve-exporter:3.5.5 + image: docker.io/prompve/prometheus-pve-exporter:3.5.5@sha256:79a5598906697b1a5a006d09f0200528a77c6ff1568faf018539ac65824454df container_name: pve-exporter ports: - 9221:9221 @@ -58,7 +58,7 @@ services: - /dev/null:/etc/prometheus/pve.yml loki: - image: docker.io/grafana/loki:3.5.7 + image: docker.io/grafana/loki:3.5.7@sha256:0eaee7bf39cc83aaef46914fb58f287d4f4c4be6ec96b86c2ed55719a75e49c8 container_name: loki ports: - 13100:3100 @@ -69,7 +69,7 @@ services: - loki_data:/var/loki ntfy-alertmanager-ccchh-critical: - image: docker.io/xenrox/ntfy-alertmanager:0.5.0 + image: docker.io/xenrox/ntfy-alertmanager:0.5.0@sha256:5fea88db3bf0257d98c007ab0c4ef064c6d67d7b7ceead7d6956dfa0a5cb333b container_name: ntfy-alertmanager-ccchh-critical volumes: - ./configs/ntfy-alertmanager-ccchh-critical:/etc/ntfy-alertmanager/config @@ -78,7 +78,7 @@ services: restart: unless-stopped ntfy-alertmanager-fux-critical: - image: docker.io/xenrox/ntfy-alertmanager:0.5.0 + image: docker.io/xenrox/ntfy-alertmanager:0.5.0@sha256:5fea88db3bf0257d98c007ab0c4ef064c6d67d7b7ceead7d6956dfa0a5cb333b container_name: ntfy-alertmanager-fux-critical volumes: - ./configs/ntfy-alertmanager-fux-critical:/etc/ntfy-alertmanager/config @@ -87,7 +87,7 @@ services: restart: unless-stopped ntfy-alertmanager-ccchh: - image: docker.io/xenrox/ntfy-alertmanager:0.5.0 + image: docker.io/xenrox/ntfy-alertmanager:0.5.0@sha256:5fea88db3bf0257d98c007ab0c4ef064c6d67d7b7ceead7d6956dfa0a5cb333b container_name: ntfy-alertmanager-ccchh volumes: - ./configs/ntfy-alertmanager-ccchh:/etc/ntfy-alertmanager/config @@ -96,7 +96,7 @@ services: restart: unless-stopped ntfy-alertmanager-fux: - image: docker.io/xenrox/ntfy-alertmanager:0.5.0 + image: docker.io/xenrox/ntfy-alertmanager:0.5.0@sha256:5fea88db3bf0257d98c007ab0c4ef064c6d67d7b7ceead7d6956dfa0a5cb333b container_name: ntfy-alertmanager-fux volumes: - ./configs/ntfy-alertmanager-fux:/etc/ntfy-alertmanager/config diff --git a/resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 b/resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 index 9fde708..398d814 100644 --- a/resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 @@ -22,7 +22,7 @@ services: keycloak: - image: git.hamburg.ccc.de/ccchh/oci-images/keycloak:26.4 + image: git.hamburg.ccc.de/ccchh/oci-images/keycloak:26.4@sha256:65d65fa0e858a608fd3e7d16ecfd7a5ced2fba4ab22a8fd3b86f3742ecec0a83 pull_policy: always restart: unless-stopped command: start --optimized @@ -46,7 +46,7 @@ services: - "8080:8080" db: - image: docker.io/library/postgres:15.14 + image: docker.io/library/postgres:15.14@sha256:9541969afa16d1ac724e16d1cf3c26ddd0c5bae5dd1c230118a7f5b9c14cde1f restart: unless-stopped networks: - keycloak @@ -58,7 +58,7 @@ services: POSTGRES_DB: keycloak id-invite-web: - image: git.hamburg.ccc.de/ccchh/id-invite/id-invite:latest + image: git.hamburg.ccc.de/ccchh/id-invite/id-invite:latest@sha256:ba011f410bc1d2e112135857c236412f65b727f15197dbea1fffd955e0487a6a command: web restart: unless-stopped networks: @@ -84,7 +84,7 @@ services: - "BOTTLE_HOST=0.0.0.0" id-invite-email: - image: git.hamburg.ccc.de/ccchh/id-invite/id-invite:latest + image: git.hamburg.ccc.de/ccchh/id-invite/id-invite:latest@sha256:ba011f410bc1d2e112135857c236412f65b727f15197dbea1fffd955e0487a6a command: email restart: unless-stopped networks: @@ -99,7 +99,7 @@ services: - "SMTP_PASSWORD={{ secret__id_no_reply_smtp }}" id-invite-keycloak: - image: git.hamburg.ccc.de/ccchh/id-invite/id-invite:latest + image: git.hamburg.ccc.de/ccchh/id-invite/id-invite:latest@sha256:ba011f410bc1d2e112135857c236412f65b727f15197dbea1fffd955e0487a6a command: keycloak restart: unless-stopped networks: diff --git a/resources/chaosknoten/lists/docker_compose/compose.yaml b/resources/chaosknoten/lists/docker_compose/compose.yaml index cdfd70a..8537ead 100644 --- a/resources/chaosknoten/lists/docker_compose/compose.yaml +++ b/resources/chaosknoten/lists/docker_compose/compose.yaml @@ -1,7 +1,7 @@ services: mailman-core: restart: unless-stopped - image: docker.io/maxking/mailman-core:0.5 # Use a specific version tag (tag latest is not published) + image: docker.io/maxking/mailman-core:0.5@sha256:cb8e412bb18d74480f996da68f46e92473b6103995e71bc5aeba139b255cc3d2 # Use a specific version tag (tag latest is not published) container_name: mailman-core hostname: mailman-core volumes: @@ -25,7 +25,7 @@ services: mailman-web: restart: unless-stopped - image: docker.io/maxking/mailman-web:0.5 # Use a specific version tag (tag latest is not published) + image: docker.io/maxking/mailman-web:0.5@sha256:014726db85586fb53541f66f6ce964bf07e939791cfd5ffc796cd6d243696a18 # Use a specific version tag (tag latest is not published) container_name: mailman-web hostname: mailman-web depends_on: @@ -56,7 +56,7 @@ services: - POSTGRES_DB=mailmandb - POSTGRES_USER=mailman - POSTGRES_PASSWORD=wvQjbMRnwFuxGEPz - image: docker.io/library/postgres:12-alpine + image: docker.io/library/postgres:12-alpine@sha256:7c8f4870583184ebadf7f17a6513620aac5f365a7938dc6a6911c1d5df2f481a volumes: - /opt/mailman/database:/var/lib/postgresql/data networks: diff --git a/resources/chaosknoten/ntfy/docker_compose/compose.yaml.j2 b/resources/chaosknoten/ntfy/docker_compose/compose.yaml.j2 index 9fe2a7a..07e8d9e 100644 --- a/resources/chaosknoten/ntfy/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/ntfy/docker_compose/compose.yaml.j2 @@ -1,7 +1,7 @@ --- services: ntfy: - image: docker.io/binwiederhier/ntfy:v2.14.0 + image: docker.io/binwiederhier/ntfy:v2.14.0@sha256:5a051798d14138c3ecb12c038652558ab6a077e1aceeb867c151cbf5fa8451ef container_name: ntfy command: - serve diff --git a/resources/chaosknoten/onlyoffice/docker_compose/compose.yaml.j2 b/resources/chaosknoten/onlyoffice/docker_compose/compose.yaml.j2 index f3444ac..5c9a42a 100644 --- a/resources/chaosknoten/onlyoffice/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/onlyoffice/docker_compose/compose.yaml.j2 @@ -4,7 +4,7 @@ services: onlyoffice: - image: docker.io/onlyoffice/documentserver:9.1.0 + image: docker.io/onlyoffice/documentserver:9.1.0@sha256:34b92f4a67bfd939bd6b75893e8217556e3b977f81e49472f7e28737b741ba1d restart: unless-stopped volumes: - "./onlyoffice/DocumentServer/logs:/var/log/onlyoffice" diff --git a/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 b/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 index 455caa3..014b8af 100644 --- a/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 @@ -3,7 +3,7 @@ services: database: - image: docker.io/library/postgres:15-alpine + image: docker.io/library/postgres:15-alpine@sha256:2e50ad404aead120409575d21758230cc295aec52dfa05ece9b4d0429bc38636 environment: - "POSTGRES_USER=hedgedoc" - "POSTGRES_PASSWORD={{ secret__hedgedoc_db_password }}" @@ -13,7 +13,7 @@ services: restart: unless-stopped app: - image: quay.io/hedgedoc/hedgedoc:1.10.3 + image: quay.io/hedgedoc/hedgedoc:1.10.3@sha256:ca58fd73ecf05c89559b384fb7a1519c18c8cbba5c21a0018674ed820b9bdb73 environment: - "CMD_DB_URL=postgres://hedgedoc:{{ secret__hedgedoc_db_password }}@database:5432/hedgedoc" - "CMD_DOMAIN=pad.hamburg.ccc.de" @@ -46,7 +46,7 @@ services: - database hedgedoc-expire: - image: git.hamburg.ccc.de/ccchh/hedgedoc-expire/hedgedoc-expire:latest + image: git.hamburg.ccc.de/ccchh/hedgedoc-expire/hedgedoc-expire:latest@sha256:9be261712a8ee57ff89068c3926a8c5d7c96ff80aa629f98eec239786c6158b1 # command: "emailcheck" command: "cron" environment: diff --git a/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 b/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 index 7b733cb..66f6172 100644 --- a/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 @@ -3,7 +3,7 @@ services: database: - image: docker.io/library/postgres:15-alpine + image: docker.io/library/postgres:15-alpine@sha256:2e50ad404aead120409575d21758230cc295aec52dfa05ece9b4d0429bc38636 environment: - "POSTGRES_USER=pretalx" - "POSTGRES_PASSWORD={{ secret__pretalx_db_password }}" @@ -15,7 +15,7 @@ services: - pretalx_net redis: - image: docker.io/library/redis:8.2.2 + image: docker.io/library/redis:8.2.2@sha256:4521b581dbddea6e7d81f8fe95ede93f5648aaa66a9dacd581611bf6fe7527bd restart: unless-stopped volumes: - redis:/data @@ -23,7 +23,7 @@ services: - pretalx_net static: - image: docker.io/library/nginx:1.29.2 + image: docker.io/library/nginx:1.29.2@sha256:029d4461bd98f124e531380505ceea2072418fdf28752aa73b7b273ba3048903 restart: unless-stopped volumes: - public:/usr/share/nginx/html @@ -33,7 +33,7 @@ services: - pretalx_net pretalx: - image: docker.io/pretalx/standalone:v2025.1.0 + image: docker.io/pretalx/standalone:v2025.1.0@sha256:fb2d15f11bcae8bb15430084ed81a150cfdf7c79705450583b51e352ba486e8e entrypoint: gunicorn command: - "pretalx.wsgi" @@ -78,7 +78,7 @@ services: - pretalx_net celery: - image: docker.io/pretalx/standalone:v2025.1.0 + image: docker.io/pretalx/standalone:v2025.1.0@sha256:fb2d15f11bcae8bb15430084ed81a150cfdf7c79705450583b51e352ba486e8e command: - taskworker restart: unless-stopped diff --git a/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 b/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 index 6509a99..057da55 100644 --- a/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 @@ -1,7 +1,7 @@ --- services: database: - image: docker.io/library/postgres:15-alpine + image: docker.io/library/postgres:15-alpine@sha256:2e50ad404aead120409575d21758230cc295aec52dfa05ece9b4d0429bc38636 environment: - "POSTGRES_USER=pretix" - "POSTGRES_PASSWORD={{ secret__pretix_db_password }}" @@ -13,7 +13,7 @@ services: restart: unless-stopped redis: - image: docker.io/library/redis:7.4.6 + image: docker.io/library/redis:7.4.6@sha256:a9cc41d6d01da2aa26c219e4f99ecbeead955a7b656c1c499cce8922311b2514 ports: - "6379:6379" volumes: @@ -25,7 +25,7 @@ services: backend: pretix: - image: docker.io/pretix/standalone:2024.8 + image: docker.io/pretix/standalone:2024.8@sha256:110bac37efa5f736227f158f38e421ed738d03dccc274dfb415b258ab0f75cfe command: ["all"] ports: - "8345:80" diff --git a/resources/z9/dooris/docker_compose/compose.yaml.j2 b/resources/z9/dooris/docker_compose/compose.yaml.j2 index 38db85a..b722aa7 100644 --- a/resources/z9/dooris/docker_compose/compose.yaml.j2 +++ b/resources/z9/dooris/docker_compose/compose.yaml.j2 @@ -2,7 +2,7 @@ services: dooris: - image: git.hamburg.ccc.de/ccchh/hmdooris/hmdooris:latest + image: git.hamburg.ccc.de/ccchh/hmdooris/hmdooris:latest@sha256:a895989b0955936cbe0641de0309bcb343a9da9c2c8d6184d906a66bf1151303 environment: HMDOORIS_ALLOWED_IPS: "2a07:c481:1:c8::/64 2a01:170:118b::/56 172.31.200.0/23 172.31.202.0/27" HMDOORIS_CCUJACK_CERTIFICATE_PATH: false diff --git a/resources/z9/waybackproxy/docker_compose/compose.yaml.j2 b/resources/z9/waybackproxy/docker_compose/compose.yaml.j2 index b6752fa..52d57df 100644 --- a/resources/z9/waybackproxy/docker_compose/compose.yaml.j2 +++ b/resources/z9/waybackproxy/docker_compose/compose.yaml.j2 @@ -1,7 +1,7 @@ services: # https://github.com/richardg867/WaybackProxy waybackproxy: - image: cttynul/waybackproxy:latest + image: cttynul/waybackproxy:latest@sha256:e001d5b1d746522cd1ab2728092173c0d96f08086cbd3e49cdf1e298b8add22e environment: DATE: 19990101 DATE_TOLERANCE: 730 diff --git a/resources/z9/yate/docker_compose/compose.yaml.j2 b/resources/z9/yate/docker_compose/compose.yaml.j2 index e3d6614..c39afa4 100644 --- a/resources/z9/yate/docker_compose/compose.yaml.j2 +++ b/resources/z9/yate/docker_compose/compose.yaml.j2 @@ -2,7 +2,7 @@ services: yate: - image: git.hamburg.ccc.de/ccchh/yate-image/yate-image:latest + image: git.hamburg.ccc.de/ccchh/yate-image/yate-image:latest@sha256:66f77d63dc52c9aeb09481e48b9d62f5f95439f86eab3766fce94daea7b2e26a # command: # - sh # - "-c" From a13d23c7eafd03bb2f2d7b4d87243f4fab583fad Mon Sep 17 00:00:00 2001 From: Renovate Date: Thu, 23 Oct 2025 13:45:41 +0000 Subject: [PATCH 044/160] Update actions/checkout action to v5 --- .forgejo/workflows/lint.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/lint.yaml b/.forgejo/workflows/lint.yaml index a0fd1d8..a867c13 100644 --- a/.forgejo/workflows/lint.yaml +++ b/.forgejo/workflows/lint.yaml @@ -10,7 +10,7 @@ jobs: name: Ansible Lint runs-on: docker steps: - - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4 + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5 - name: Install pip run: | apt update From b2961c5664aeecef4d90ed5b6c2f4fb2602d41ec Mon Sep 17 00:00:00 2001 From: June Date: Fri, 24 Oct 2025 18:59:58 +0200 Subject: [PATCH 045/160] renovate: disable rate-limiting --- renovate.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/renovate.json b/renovate.json index 9cd0c82..2975de6 100644 --- a/renovate.json +++ b/renovate.json @@ -3,7 +3,8 @@ "extends": [ "config:recommended", // Included in config:best-practices anyway, but added for clarity. "config:best-practices", - ":ignoreUnstable" + ":ignoreUnstable", + ":disableRateLimiting" ], "semanticCommits": "disabled", "packageRules": [ From 658a50d19bdce7d8c66e06d95c98b8ee40542fc0 Mon Sep 17 00:00:00 2001 From: June Date: Fri, 24 Oct 2025 19:18:04 +0200 Subject: [PATCH 046/160] renovate: use rebase stale PRs preset to rebase once base branch updated Use this configuration to always have the fast-forward option. https://docs.renovatebot.com/presets-default/#rebasestaleprs --- renovate.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/renovate.json b/renovate.json index 2975de6..56d20ff 100644 --- a/renovate.json +++ b/renovate.json @@ -4,7 +4,8 @@ "config:recommended", // Included in config:best-practices anyway, but added for clarity. "config:best-practices", ":ignoreUnstable", - ":disableRateLimiting" + ":disableRateLimiting", + ":rebaseStalePrs" ], "semanticCommits": "disabled", "packageRules": [ From 37cedb1ad0954b63a4d6509286897ce5639778a5 Mon Sep 17 00:00:00 2001 From: June Date: Fri, 24 Oct 2025 19:28:49 +0200 Subject: [PATCH 047/160] renovate: label all PRs with the "renovate" label --- renovate.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/renovate.json b/renovate.json index 56d20ff..13774e4 100644 --- a/renovate.json +++ b/renovate.json @@ -5,7 +5,8 @@ "config:best-practices", ":ignoreUnstable", ":disableRateLimiting", - ":rebaseStalePrs" + ":rebaseStalePrs", + ":label(renovate)" ], "semanticCommits": "disabled", "packageRules": [ From 839a9b2c0a8e0213aa4ac88a4ecabe0230d777e7 Mon Sep 17 00:00:00 2001 From: June Date: Fri, 24 Oct 2025 19:59:35 +0200 Subject: [PATCH 048/160] renovate: group all digest updates together https://docs.renovatebot.com/presets-group/#groupalldigest --- renovate.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/renovate.json b/renovate.json index 13774e4..f72babb 100644 --- a/renovate.json +++ b/renovate.json @@ -6,7 +6,8 @@ ":ignoreUnstable", ":disableRateLimiting", ":rebaseStalePrs", - ":label(renovate)" + ":label(renovate)", + "group:allDigest" ], "semanticCommits": "disabled", "packageRules": [ From 3840553f9d2231d2c36d5a44dee63f252c63f956 Mon Sep 17 00:00:00 2001 From: June Date: Fri, 24 Oct 2025 22:05:54 +0200 Subject: [PATCH 049/160] docker_compose(role): add support for deploying optional .env file This is needed for situations, where one wants to use a vendor-provided compose file and configure it using environment variables. Like for example: https://github.com/zammad/zammad-docker-compose --- roles/docker_compose/README.md | 4 ++-- roles/docker_compose/meta/argument_specs.yaml | 6 ++++++ roles/docker_compose/tasks/main.yaml | 11 +++++++++++ 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/roles/docker_compose/README.md b/roles/docker_compose/README.md index d407a62..d3204ec 100644 --- a/roles/docker_compose/README.md +++ b/roles/docker_compose/README.md @@ -1,8 +1,8 @@ # Role `docker_compose` A role for deploying a Docker-Compose-based application. -It deploys the given Compose file as well as configuration files to the specified hosts and makes sure all services are up-to-date and running. -The Compose file gets deployed to `/ansible_docker_compose/compose.yaml` and the configuration files get deployed into the `/ansible_docker_compose/configs/` directory. +It deploys the given Compose file, an optional `.env` file, as well as configuration files to the specified hosts and makes sure all services are up-to-date and running. +The Compose file gets deployed to `/ansible_docker_compose/compose.yaml`, the `.env` file to `/ansible_docker_compose/.env` and the configuration files get deployed into the `/ansible_docker_compose/configs/` directory. A use case for the deployment of the additional configuration files is Composes top-level element `configs` in conjunction with the `configs` option for services. ## Supported Distributions diff --git a/roles/docker_compose/meta/argument_specs.yaml b/roles/docker_compose/meta/argument_specs.yaml index 81ce504..c588ba0 100644 --- a/roles/docker_compose/meta/argument_specs.yaml +++ b/roles/docker_compose/meta/argument_specs.yaml @@ -7,6 +7,12 @@ argument_specs: `/ansible_docker_compose/compose.yaml`. type: str required: true + docker_compose__env_file_content: + description: >- + The content of the .env file at + `/ansible_docker_compose/.env`. + type: str + required: false docker_compose__configuration_files: description: >- A list of configuration files to be deployed in the diff --git a/roles/docker_compose/tasks/main.yaml b/roles/docker_compose/tasks/main.yaml index af7f717..7b01304 100644 --- a/roles/docker_compose/tasks/main.yaml +++ b/roles/docker_compose/tasks/main.yaml @@ -17,6 +17,17 @@ become: true notify: docker compose down +- name: deploy the .env file + ansible.builtin.copy: + content: "{{ docker_compose__env_file_content }}" + dest: /ansible_docker_compose/.env + mode: "0644" + owner: root + group: root + become: true + when: docker_compose__env_file_content is defined + notify: docker compose down + - name: make sure the `/ansible_docker_compose/configs` directory exists ansible.builtin.file: path: /ansible_docker_compose/configs From 747e5b2d4c1d3286fc4636180000b0d7bef2f658 Mon Sep 17 00:00:00 2001 From: June Date: Fri, 24 Oct 2025 22:15:48 +0200 Subject: [PATCH 050/160] zammad(host): change to .env configuration Align the compose.yaml to upstreams v11.2.0 version. This is a first step to hopefully then just use the upstreams version directly and not vendor it. --- inventories/chaosknoten/host_vars/zammad.yaml | 3 +- .../chaosknoten/zammad/docker_compose/.env.j2 | 15 +++++ .../{compose.yaml.j2 => compose.yaml} | 67 +++++++------------ 3 files changed, 42 insertions(+), 43 deletions(-) create mode 100644 resources/chaosknoten/zammad/docker_compose/.env.j2 rename resources/chaosknoten/zammad/docker_compose/{compose.yaml.j2 => compose.yaml} (61%) diff --git a/inventories/chaosknoten/host_vars/zammad.yaml b/inventories/chaosknoten/host_vars/zammad.yaml index 88ad99c..65ea352 100644 --- a/inventories/chaosknoten/host_vars/zammad.yaml +++ b/inventories/chaosknoten/host_vars/zammad.yaml @@ -1,4 +1,5 @@ -docker_compose__compose_file_content: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/zammad/docker_compose/compose.yaml.j2') }}" +docker_compose__compose_file_content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/zammad/docker_compose/compose.yaml') }}" +docker_compose__env_file_content: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/zammad/docker_compose/.env.j2') }}" docker_compose__configuration_files: [ ] certbot__version_spec: "" diff --git a/resources/chaosknoten/zammad/docker_compose/.env.j2 b/resources/chaosknoten/zammad/docker_compose/.env.j2 new file mode 100644 index 0000000..85a848b --- /dev/null +++ b/resources/chaosknoten/zammad/docker_compose/.env.j2 @@ -0,0 +1,15 @@ +ELASTICSEARCH_VERSION=8.19.4 +IMAGE_REPO=ghcr.io/zammad/zammad +MEMCACHE_SERVERS=zammad-memcached:11211 +MEMCACHE_VERSION=1.6-alpine +POSTGRES_DB=zammad_production +POSTGRES_PASS={{ secret__zammad_db_password }} +POSTGRES_USER=zammad +POSTGRES_HOST=zammad-postgresql +POSTGRES_PORT=5432 +POSTGRES_VERSION=15-alpine +REDIS_URL=redis://zammad-redis:6379 +REDIS_VERSION=7-alpine +RESTART=always +VERSION=6 +NGINX_SERVER_SCHEME=https diff --git a/resources/chaosknoten/zammad/docker_compose/compose.yaml.j2 b/resources/chaosknoten/zammad/docker_compose/compose.yaml similarity index 61% rename from resources/chaosknoten/zammad/docker_compose/compose.yaml.j2 rename to resources/chaosknoten/zammad/docker_compose/compose.yaml index ab1ed85..55446e1 100644 --- a/resources/chaosknoten/zammad/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/zammad/docker_compose/compose.yaml @@ -1,33 +1,16 @@ --- -{# -https://github.com/zammad/zammad-docker-compose -Docker Compose does not allow defining variables in the compose file (only in .env files), so we use Jinja variables instead -see https://github.com/zammad/zammad-docker-compose/blob/master/.env -#} -{%- set ELASTICSEARCH_VERSION = "8.19.4" | quote -%} -{%- set IMAGE_REPO = "ghcr.io/zammad/zammad" | quote -%} -{%- set MEMCACHE_SERVERS = "zammad-memcached:11211" | quote -%} -{%- set MEMCACHE_VERSION = "1.6-alpine" | quote -%} -{%- set POSTGRES_DB = "zammad_production" | quote -%} -{%- set POSTGRES_HOST = "zammad-postgresql" | quote -%} -{%- set POSTGRES_USER = "zammad" | quote -%} -{%- set POSTGRES_PASS = secret__zammad_db_password | quote -%} -{%- set POSTGRES_PORT = "5432" | quote -%} -{%- set POSTGRES_VERSION = "15-alpine" | quote -%} -{%- set REDIS_URL = "redis://zammad-redis:6379" | quote -%} -{%- set REDIS_VERSION = "7-alpine" | quote -%} -{%- set RESTART = "always" | quote -%} -{%- set VERSION = "6" | quote -%} +version: '3.8' + x-shared: zammad-service: &zammad-service environment: &zammad-environment - MEMCACHE_SERVERS: {{ MEMCACHE_SERVERS }} - POSTGRESQL_DB: {{ POSTGRES_DB }} - POSTGRESQL_HOST: {{ POSTGRES_HOST }} - POSTGRESQL_USER: {{ POSTGRES_USER }} - POSTGRESQL_PASS: {{ POSTGRES_PASS }} - POSTGRESQL_PORT: {{ POSTGRES_PORT }} - REDIS_URL: {{ REDIS_URL }} + MEMCACHE_SERVERS: ${MEMCACHE_SERVERS} + POSTGRESQL_DB: ${POSTGRES_DB} + POSTGRESQL_HOST: ${POSTGRES_HOST} + POSTGRESQL_USER: ${POSTGRES_USER} + POSTGRESQL_PASS: ${POSTGRES_PASS} + POSTGRESQL_PORT: ${POSTGRES_PORT} + REDIS_URL: ${REDIS_URL} # Allow passing in these variables via .env: AUTOWIZARD_JSON: AUTOWIZARD_RELATIVE_PATH: @@ -40,7 +23,7 @@ x-shared: ELASTICSEARCH_SSL_VERIFY: NGINX_PORT: NGINX_SERVER_NAME: - NGINX_SERVER_SCHEME: https + NGINX_SERVER_SCHEME: POSTGRESQL_DB_CREATE: POSTGRESQL_OPTIONS: RAILS_TRUSTED_PROXIES: @@ -48,8 +31,8 @@ x-shared: ZAMMAD_SESSION_JOBS: ZAMMAD_PROCESS_SCHEDULED: ZAMMAD_PROCESS_DELAYED_JOBS_WORKERS: - image: {{ IMAGE_REPO }}:{{ VERSION }} - restart: {{ RESTART }} + image: ${IMAGE_REPO}:${VERSION} + restart: ${RESTART} volumes: - zammad-storage:/opt/zammad/storage - zammad-var:/opt/zammad/var @@ -71,8 +54,8 @@ services: BACKUP_TIME: "03:00" HOLD_DAYS: "10" TZ: Europe/Berlin - image: postgres:{{ POSTGRES_VERSION }} - restart: {{ RESTART }} + image: postgres:${POSTGRES_VERSION} + restart: ${RESTART} volumes: - zammad-backup:/var/tmp/zammad - zammad-storage:/opt/zammad/storage:ro @@ -80,8 +63,8 @@ services: - ./scripts/backup.sh:/usr/local/bin/backup.sh:ro zammad-elasticsearch: - image: elasticsearch:{{ ELASTICSEARCH_VERSION }} - restart: {{ RESTART }} + image: elasticsearch:${ELASTICSEARCH_VERSION} + restart: ${RESTART} volumes: - elasticsearch-data:/usr/share/elasticsearch/data environment: @@ -102,8 +85,8 @@ services: zammad-memcached: command: memcached -m 256M - image: memcached:{{ MEMCACHE_VERSION }} - restart: {{ RESTART }} + image: memcached:${MEMCACHE_VERSION} + restart: ${RESTART} zammad-nginx: <<: *zammad-service @@ -119,11 +102,11 @@ services: zammad-postgresql: environment: - POSTGRES_DB: {{ POSTGRES_DB }} - POSTGRES_USER: {{ POSTGRES_USER }} - POSTGRES_PASSWORD: {{ POSTGRES_PASS }} - image: postgres:{{ POSTGRES_VERSION }} - restart: {{ RESTART }} + POSTGRES_DB: ${POSTGRES_DB} + POSTGRES_USER: ${POSTGRES_USER} + POSTGRES_PASSWORD: ${POSTGRES_PASS} + image: postgres:${POSTGRES_VERSION} + restart: ${RESTART} volumes: - postgresql-data:/var/lib/postgresql/data @@ -132,8 +115,8 @@ services: command: ["zammad-railsserver"] zammad-redis: - image: redis:{{ REDIS_VERSION }} - restart: {{ RESTART }} + image: redis:${REDIS_VERSION} + restart: ${RESTART} volumes: - redis-data:/data From df32e1cac87262bdda6f4aaa24816e6b4f8e110f Mon Sep 17 00:00:00 2001 From: June Date: Fri, 24 Oct 2025 22:57:03 +0200 Subject: [PATCH 051/160] zammad(host): move to latest upstream compose file version (v14.1.1) It hopefully fixes bugs we had in the past, so removing the workarounds and it also comes with default values now, so removing all variables set to those defaults. --- .../chaosknoten/zammad/docker_compose/.env.j2 | 11 -- .../zammad/docker_compose/compose.yaml | 110 +++++++++--------- 2 files changed, 57 insertions(+), 64 deletions(-) diff --git a/resources/chaosknoten/zammad/docker_compose/.env.j2 b/resources/chaosknoten/zammad/docker_compose/.env.j2 index 85a848b..adeeb48 100644 --- a/resources/chaosknoten/zammad/docker_compose/.env.j2 +++ b/resources/chaosknoten/zammad/docker_compose/.env.j2 @@ -1,15 +1,4 @@ -ELASTICSEARCH_VERSION=8.19.4 -IMAGE_REPO=ghcr.io/zammad/zammad -MEMCACHE_SERVERS=zammad-memcached:11211 -MEMCACHE_VERSION=1.6-alpine -POSTGRES_DB=zammad_production POSTGRES_PASS={{ secret__zammad_db_password }} -POSTGRES_USER=zammad -POSTGRES_HOST=zammad-postgresql -POSTGRES_PORT=5432 POSTGRES_VERSION=15-alpine -REDIS_URL=redis://zammad-redis:6379 REDIS_VERSION=7-alpine -RESTART=always -VERSION=6 NGINX_SERVER_SCHEME=https diff --git a/resources/chaosknoten/zammad/docker_compose/compose.yaml b/resources/chaosknoten/zammad/docker_compose/compose.yaml index 55446e1..66192da 100644 --- a/resources/chaosknoten/zammad/docker_compose/compose.yaml +++ b/resources/chaosknoten/zammad/docker_compose/compose.yaml @@ -1,70 +1,83 @@ --- -version: '3.8' +version: "3.8" + +# Taken from: https://github.com/zammad/zammad-docker-compose/blob/master/docker-compose.yml +# Version: v14.1.1 +# Update from new tag by replacing all content. +# Configuration should be done in the .env.j2. x-shared: zammad-service: &zammad-service environment: &zammad-environment - MEMCACHE_SERVERS: ${MEMCACHE_SERVERS} - POSTGRESQL_DB: ${POSTGRES_DB} - POSTGRESQL_HOST: ${POSTGRES_HOST} - POSTGRESQL_USER: ${POSTGRES_USER} - POSTGRESQL_PASS: ${POSTGRES_PASS} - POSTGRESQL_PORT: ${POSTGRES_PORT} - REDIS_URL: ${REDIS_URL} + MEMCACHE_SERVERS: ${MEMCACHE_SERVERS:-zammad-memcached:11211} + POSTGRESQL_DB: ${POSTGRES_DB:-zammad_production} + POSTGRESQL_HOST: ${POSTGRES_HOST:-zammad-postgresql} + POSTGRESQL_USER: ${POSTGRES_USER:-zammad} + POSTGRESQL_PASS: ${POSTGRES_PASS:-zammad} + POSTGRESQL_PORT: ${POSTGRES_PORT:-5432} + POSTGRESQL_OPTIONS: ${POSTGRESQL_OPTIONS:-?pool=50} + POSTGRESQL_DB_CREATE: + REDIS_URL: ${REDIS_URL:-redis://zammad-redis:6379} + S3_URL: + # Backup settings + BACKUP_DIR: "${BACKUP_DIR:-/var/tmp/zammad}" + BACKUP_TIME: "${BACKUP_TIME:-03:00}" + HOLD_DAYS: "${HOLD_DAYS:-10}" + TZ: "${TZ:-Europe/Berlin}" # Allow passing in these variables via .env: AUTOWIZARD_JSON: AUTOWIZARD_RELATIVE_PATH: ELASTICSEARCH_ENABLED: + ELASTICSEARCH_SCHEMA: ELASTICSEARCH_HOST: ELASTICSEARCH_PORT: - ELASTICSEARCH_SCHEMA: + ELASTICSEARCH_USER: + ELASTICSEARCH_PASS: ELASTICSEARCH_NAMESPACE: ELASTICSEARCH_REINDEX: - ELASTICSEARCH_SSL_VERIFY: NGINX_PORT: + NGINX_CLIENT_MAX_BODY_SIZE: NGINX_SERVER_NAME: NGINX_SERVER_SCHEME: - POSTGRESQL_DB_CREATE: - POSTGRESQL_OPTIONS: RAILS_TRUSTED_PROXIES: + ZAMMAD_HTTP_TYPE: + ZAMMAD_FQDN: ZAMMAD_WEB_CONCURRENCY: - ZAMMAD_SESSION_JOBS: - ZAMMAD_PROCESS_SCHEDULED: + ZAMMAD_PROCESS_SESSIONS_JOBS_WORKERS: + ZAMMAD_PROCESS_SCHEDULED_JOBS_WORKERS: ZAMMAD_PROCESS_DELAYED_JOBS_WORKERS: - image: ${IMAGE_REPO}:${VERSION} - restart: ${RESTART} + # ZAMMAD_SESSION_JOBS_CONCURRENT is deprecated, please use ZAMMAD_PROCESS_SESSIONS_JOBS_WORKERS instead. + ZAMMAD_SESSION_JOBS_CONCURRENT: + # Variables used by ngingx-proxy container for reverse proxy creations + # for docs refer to https://github.com/nginx-proxy/nginx-proxy + VIRTUAL_HOST: + VIRTUAL_PORT: + # Variables used by acme-companion for retrieval of LetsEncrypt certificate + # for docs refer to https://github.com/nginx-proxy/acme-companion + LETSENCRYPT_HOST: + LETSENCRYPT_EMAIL: + + image: ${IMAGE_REPO:-ghcr.io/zammad/zammad}:${VERSION:-6.5.2} + restart: ${RESTART:-always} volumes: - zammad-storage:/opt/zammad/storage - - zammad-var:/opt/zammad/var depends_on: - zammad-memcached - zammad-postgresql - zammad-redis services: - zammad-backup: + <<: *zammad-service command: ["zammad-backup"] - depends_on: - - zammad-railsserver - - zammad-postgresql - entrypoint: /usr/local/bin/backup.sh - environment: - <<: *zammad-environment - BACKUP_TIME: "03:00" - HOLD_DAYS: "10" - TZ: Europe/Berlin - image: postgres:${POSTGRES_VERSION} - restart: ${RESTART} volumes: - zammad-backup:/var/tmp/zammad - zammad-storage:/opt/zammad/storage:ro - - zammad-var:/opt/zammad/var:ro - - ./scripts/backup.sh:/usr/local/bin/backup.sh:ro + user: 0:0 zammad-elasticsearch: - image: elasticsearch:${ELASTICSEARCH_VERSION} - restart: ${RESTART} + image: elasticsearch:${ELASTICSEARCH_VERSION:-8.19.4} + restart: ${RESTART:-always} volumes: - elasticsearch-data:/usr/share/elasticsearch/data environment: @@ -79,34 +92,29 @@ services: - zammad-postgresql restart: on-failure user: 0:0 - volumes: - - zammad-storage:/opt/zammad/storage - - zammad-var:/opt/zammad/var zammad-memcached: command: memcached -m 256M - image: memcached:${MEMCACHE_VERSION} - restart: ${RESTART} + image: memcached:${MEMCACHE_VERSION:-1.6.39-alpine} + restart: ${RESTART:-always} zammad-nginx: <<: *zammad-service command: ["zammad-nginx"] expose: - - "8080" + - "${NGINX_PORT:-8080}" ports: - - "8080:8080" + - "${NGINX_EXPOSE_PORT:-8080}:${NGINX_PORT:-8080}" depends_on: - zammad-railsserver - volumes: - - zammad-var:/opt/zammad/var:ro # required for the zammad-ready check file zammad-postgresql: environment: - POSTGRES_DB: ${POSTGRES_DB} - POSTGRES_USER: ${POSTGRES_USER} - POSTGRES_PASSWORD: ${POSTGRES_PASS} - image: postgres:${POSTGRES_VERSION} - restart: ${RESTART} + POSTGRES_DB: ${POSTGRES_DB:-zammad_production} + POSTGRES_USER: ${POSTGRES_USER:-zammad} + POSTGRES_PASSWORD: ${POSTGRES_PASS:-zammad} + image: postgres:${POSTGRES_VERSION:-17.6-alpine} + restart: ${RESTART:-always} volumes: - postgresql-data:/var/lib/postgresql/data @@ -115,16 +123,14 @@ services: command: ["zammad-railsserver"] zammad-redis: - image: redis:${REDIS_VERSION} - restart: ${RESTART} + image: redis:${REDIS_VERSION:-7.4.5-alpine} + restart: ${RESTART:-always} volumes: - redis-data:/data zammad-scheduler: <<: *zammad-service command: ["zammad-scheduler"] - volumes: - - /ansible_docker_compose/zammad-scheduler-database.yml:/opt/zammad/config/database.yml # workaround for connection pool issue zammad-websocket: <<: *zammad-service @@ -141,5 +147,3 @@ volumes: driver: local zammad-storage: driver: local - zammad-var: - driver: local From 01890fecbdcd98628b6b375fff78fe4d3d99a6f6 Mon Sep 17 00:00:00 2001 From: Renovate Date: Wed, 29 Oct 2025 00:30:36 +0000 Subject: [PATCH 052/160] Update all digest updates --- resources/chaosknoten/ccchoir/docker_compose/compose.yaml.j2 | 2 +- resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 | 4 ++-- resources/chaosknoten/pad/docker_compose/compose.yaml.j2 | 2 +- resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 | 2 +- resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/chaosknoten/ccchoir/docker_compose/compose.yaml.j2 b/resources/chaosknoten/ccchoir/docker_compose/compose.yaml.j2 index 4c9d491..ffe491b 100644 --- a/resources/chaosknoten/ccchoir/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/ccchoir/docker_compose/compose.yaml.j2 @@ -17,7 +17,7 @@ services: restart: unless-stopped app: - image: docker.io/library/wordpress:6-php8.1@sha256:d93a391bc1ba9d2db3e53c8c8421a88d6beadb7b654235ba83ccf9ea93ecdcd5 + image: docker.io/library/wordpress:6-php8.1@sha256:75f79f9c45a587b283e47fd21c6e51077d0c9dbbba529377faaa0c28d5b8f5a4 environment: - "WORDPRESS_DB_HOST=database" - "WORDPRESS_DB_NAME=wordpress" diff --git a/resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 b/resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 index 398d814..92a6afb 100644 --- a/resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 @@ -22,7 +22,7 @@ services: keycloak: - image: git.hamburg.ccc.de/ccchh/oci-images/keycloak:26.4@sha256:65d65fa0e858a608fd3e7d16ecfd7a5ced2fba4ab22a8fd3b86f3742ecec0a83 + image: git.hamburg.ccc.de/ccchh/oci-images/keycloak:26.4@sha256:06bfa760dfa40bd3d4305a67ce02e9dc70113151f09820a3bc6c75f5f7ece855 pull_policy: always restart: unless-stopped command: start --optimized @@ -46,7 +46,7 @@ services: - "8080:8080" db: - image: docker.io/library/postgres:15.14@sha256:9541969afa16d1ac724e16d1cf3c26ddd0c5bae5dd1c230118a7f5b9c14cde1f + image: docker.io/library/postgres:15.14@sha256:424e79b81868f5fc5cf515eaeac69d288692ebcca7db86d98f91b50d4bce64bb restart: unless-stopped networks: - keycloak diff --git a/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 b/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 index 014b8af..5513381 100644 --- a/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 @@ -3,7 +3,7 @@ services: database: - image: docker.io/library/postgres:15-alpine@sha256:2e50ad404aead120409575d21758230cc295aec52dfa05ece9b4d0429bc38636 + image: docker.io/library/postgres:15-alpine@sha256:64583b3cb4f2010277bdd9749456de78e5c36f8956466ba14b0b96922e510950 environment: - "POSTGRES_USER=hedgedoc" - "POSTGRES_PASSWORD={{ secret__hedgedoc_db_password }}" diff --git a/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 b/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 index 66f6172..081aa2a 100644 --- a/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 @@ -3,7 +3,7 @@ services: database: - image: docker.io/library/postgres:15-alpine@sha256:2e50ad404aead120409575d21758230cc295aec52dfa05ece9b4d0429bc38636 + image: docker.io/library/postgres:15-alpine@sha256:64583b3cb4f2010277bdd9749456de78e5c36f8956466ba14b0b96922e510950 environment: - "POSTGRES_USER=pretalx" - "POSTGRES_PASSWORD={{ secret__pretalx_db_password }}" diff --git a/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 b/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 index 057da55..deb9f50 100644 --- a/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 @@ -1,7 +1,7 @@ --- services: database: - image: docker.io/library/postgres:15-alpine@sha256:2e50ad404aead120409575d21758230cc295aec52dfa05ece9b4d0429bc38636 + image: docker.io/library/postgres:15-alpine@sha256:64583b3cb4f2010277bdd9749456de78e5c36f8956466ba14b0b96922e510950 environment: - "POSTGRES_USER=pretix" - "POSTGRES_PASSWORD={{ secret__pretix_db_password }}" From a03ed9a362603dd8102ecff4c044c94c56d520a6 Mon Sep 17 00:00:00 2001 From: Renovate Date: Wed, 29 Oct 2025 23:45:38 +0000 Subject: [PATCH 053/160] Update all stable non-major dependencies --- resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 | 2 +- resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 b/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 index 436669a..d739b2f 100644 --- a/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 @@ -2,7 +2,7 @@ services: prometheus: - image: docker.io/prom/prometheus:v3.7.1@sha256:ff7e389acbe064a4823212a500393d40a28a8f362e4b05cbf6742a9a3ef736b2 + image: docker.io/prom/prometheus:v3.7.2@sha256:23031bfe0e74a13004252caaa74eccd0d62b6c6e7a04711d5b8bf5b7e113adc7 container_name: prometheus command: - '--config.file=/etc/prometheus/prometheus.yml' diff --git a/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 b/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 index 081aa2a..243a468 100644 --- a/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 @@ -23,7 +23,7 @@ services: - pretalx_net static: - image: docker.io/library/nginx:1.29.2@sha256:029d4461bd98f124e531380505ceea2072418fdf28752aa73b7b273ba3048903 + image: docker.io/library/nginx:1.29.3@sha256:f547e3d0d5d02f7009737b284abc87d808e4252b42dceea361811e9fc606287f restart: unless-stopped volumes: - public:/usr/share/nginx/html From a979fccd12de1bcd1c2ea8c7eb11e7e379101a89 Mon Sep 17 00:00:00 2001 From: June Date: Thu, 30 Oct 2025 04:47:10 +0100 Subject: [PATCH 054/160] renovate: add custom regex manager for inventory vars dependencies Inspiration taken from/documentation: https://docs.renovatebot.com/presets-customManagers/#custommanagersdockerfileversions https://docs.renovatebot.com/modules/manager/regex/ --- renovate.json | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/renovate.json b/renovate.json index f72babb..9dc45bf 100644 --- a/renovate.json +++ b/renovate.json @@ -30,6 +30,18 @@ "versioning": "regex:^(?\\d+\\.\\d+)(?:\\.(?\\d+))$" } ], + "customManagers": [ + // Custom manager using regex for letting Renovate find dependencies in inventory variables. + { + "customType": "regex", + "managerFilePatterns": [ + "/^inventories/.*?_vars/.*?\\.ya?ml$/" + ], + "matchStrings": [ + "# renovate: datasource=(?[a-zA-Z0-9-._]+?) depName=(?[^\\s]+?)(?: packageName=(?[^\\s]+?))?(?: versioning=(?[^\\s]+?))?\\s*.+?\\s*:\\s*[\"']?(?.+?)[\"']?\\s" + ] + } + ], "docker-compose": { "managerFilePatterns": [ "/(^|/)(?:docker-)?compose[^/]*\\.ya?ml.j2$/" From 83fd86897796e66e1ea59a188efbb582c83fb7ae Mon Sep 17 00:00:00 2001 From: June Date: Thu, 30 Oct 2025 04:49:44 +0100 Subject: [PATCH 055/160] docker(role): use full image sources --- roles/nextcloud/templates/compose.yaml.j2 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/roles/nextcloud/templates/compose.yaml.j2 b/roles/nextcloud/templates/compose.yaml.j2 index 4644d8b..9e28735 100644 --- a/roles/nextcloud/templates/compose.yaml.j2 +++ b/roles/nextcloud/templates/compose.yaml.j2 @@ -32,9 +32,9 @@ services: OVERWRITECLIURL: "https://{{ nextcloud__fqdn }}/" OVERWRITEHOST: "{{ nextcloud__fqdn }}" OVERWRITEPROTOCOL: "https" - + db: - image: postgres:{{ nextcloud__postgres_version }} + image: docker.io/library/postgres:{{ nextcloud__postgres_version }} restart: unless-stopped #ports: # - 127.0.0.1:5432:5432 @@ -48,7 +48,7 @@ services: POSTGRES_PASSWORD: "{{ nextcloud__postgres_password }}" redis: - image: redis:alpine + image: docker.io/library/redis:alpine restart: unless-stopped networks: - nextcloud From f7918e7b6ff92529ba8cc7de02b3e217a1dcb32b Mon Sep 17 00:00:00 2001 From: June Date: Thu, 30 Oct 2025 05:01:02 +0100 Subject: [PATCH 056/160] add renovate comment for custom regex matcher to inventory version vars --- inventories/chaosknoten/host_vars/cloud.yaml | 2 ++ inventories/chaosknoten/host_vars/netbox.yaml | 1 + 2 files changed, 3 insertions(+) diff --git a/inventories/chaosknoten/host_vars/cloud.yaml b/inventories/chaosknoten/host_vars/cloud.yaml index 35fb162..0cbcd4d 100644 --- a/inventories/chaosknoten/host_vars/cloud.yaml +++ b/inventories/chaosknoten/host_vars/cloud.yaml @@ -1,4 +1,6 @@ +# renovate: datasource=docker depName=git.hamburg.ccc.de/ccchh/oci-images/nextcloud nextcloud__version: 32 +# renovate: datasource=docker depName=docker.io/library/postgres nextcloud__postgres_version: 15.14 nextcloud__fqdn: cloud.hamburg.ccc.de nextcloud__data_dir: /data/nextcloud diff --git a/inventories/chaosknoten/host_vars/netbox.yaml b/inventories/chaosknoten/host_vars/netbox.yaml index 4726885..fb99f0e 100644 --- a/inventories/chaosknoten/host_vars/netbox.yaml +++ b/inventories/chaosknoten/host_vars/netbox.yaml @@ -1,3 +1,4 @@ +# renovate: datasource=github-releases depName=netbox packageName=netbox-community/netbox netbox__version: "v4.1.7" netbox__config: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/netbox/netbox/configuration.py.j2') }}" netbox__custom_pipeline_oidc_group_and_role_mapping: true From 23ea6669065fc73237297182de672a0e9119a10c Mon Sep 17 00:00:00 2001 From: June Date: Thu, 30 Oct 2025 05:13:23 +0100 Subject: [PATCH 057/160] renovate(role): always pull and use full image source Ensure we're always running the latest Renovate version. --- roles/renovate/files/renovate.service | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/roles/renovate/files/renovate.service b/roles/renovate/files/renovate.service index 6cb8f16..52e64f5 100644 --- a/roles/renovate/files/renovate.service +++ b/roles/renovate/files/renovate.service @@ -6,7 +6,8 @@ Wants=network-online.target [Service] Type=oneshot ExecStart=/usr/bin/docker run --rm \ + --pull=always \ -v "/etc/renovate/config.js:/usr/src/app/config.js" \ --mount "type=volume,src=renovate,dst=/tmp/renovate" \ --env "RENOVATE_BASE_DIR=/tmp/renovate" \ - renovate/renovate + docker.io/renovate/renovate:latest From ea5b4b8d69bad8c14102daf01699a0b18763bf3c Mon Sep 17 00:00:00 2001 From: Renovate Date: Thu, 30 Oct 2025 04:17:13 +0000 Subject: [PATCH 058/160] Update dependency netbox to v4.4.5 --- inventories/chaosknoten/host_vars/netbox.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inventories/chaosknoten/host_vars/netbox.yaml b/inventories/chaosknoten/host_vars/netbox.yaml index fb99f0e..60dd94a 100644 --- a/inventories/chaosknoten/host_vars/netbox.yaml +++ b/inventories/chaosknoten/host_vars/netbox.yaml @@ -1,5 +1,5 @@ # renovate: datasource=github-releases depName=netbox packageName=netbox-community/netbox -netbox__version: "v4.1.7" +netbox__version: "v4.4.5" netbox__config: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/netbox/netbox/configuration.py.j2') }}" netbox__custom_pipeline_oidc_group_and_role_mapping: true From 0f4fb68c97c22a3913cc45cb2f52f6cfa467d8da Mon Sep 17 00:00:00 2001 From: June Date: Thu, 30 Oct 2025 05:25:26 +0100 Subject: [PATCH 059/160] netbox(role): don't try to deploy removed housekeeping service and timer https://github.com/netbox-community/netbox/releases/tag/v4.4.0 https://github.com/netbox-community/netbox/issues/18349 --- roles/netbox/handlers/main.yaml | 8 -------- roles/netbox/tasks/main.yaml | 14 -------------- 2 files changed, 22 deletions(-) diff --git a/roles/netbox/handlers/main.yaml b/roles/netbox/handlers/main.yaml index fd7eb62..427569a 100644 --- a/roles/netbox/handlers/main.yaml +++ b/roles/netbox/handlers/main.yaml @@ -14,11 +14,3 @@ loop: - "netbox.service" - "netbox-rq.service" - -- name: Ensure netbox housekeeping timer is set up and up-to-date - ansible.builtin.systemd_service: - daemon_reload: true - name: "netbox-housekeeping.timer" - enabled: true - state: restarted - become: true diff --git a/roles/netbox/tasks/main.yaml b/roles/netbox/tasks/main.yaml index dffa746..87f249e 100644 --- a/roles/netbox/tasks/main.yaml +++ b/roles/netbox/tasks/main.yaml @@ -108,17 +108,3 @@ - "netbox.service" - "netbox-rq.service" notify: Ensure netbox systemd services are set up and up-to-date - -- name: Ensure provided housekeeping systemd service and timer are copied - ansible.builtin.copy: - remote_src: true - src: "/opt/netbox/contrib/{{ item }}" - dest: "/etc/systemd/system/{{ item }}" - mode: "0644" - owner: root - group: root - become: true - loop: - - "netbox-housekeeping.service" - - "netbox-housekeeping.timer" - notify: Ensure netbox housekeeping timer is set up and up-to-date From a11ccaf16ca77cdb93d05a07ce7bf3e54f87220b Mon Sep 17 00:00:00 2001 From: June Date: Thu, 30 Oct 2025 05:50:42 +0100 Subject: [PATCH 060/160] disable digest pinning for our images, since Forgejo cleans them up Since Forgejo seems to clean up older tag versions, so older digests, disable digest pinning for our images. While generally resulting in undeployable config, with ansible-pull the breakage is especially noticeable. --- renovate.json | 6 ++++++ .../chaosknoten/keycloak/docker_compose/compose.yaml.j2 | 8 ++++---- resources/chaosknoten/pad/docker_compose/compose.yaml.j2 | 2 +- resources/z9/dooris/docker_compose/compose.yaml.j2 | 2 +- resources/z9/yate/docker_compose/compose.yaml.j2 | 4 ++-- 5 files changed, 14 insertions(+), 8 deletions(-) diff --git a/renovate.json b/renovate.json index 9dc45bf..7e604c1 100644 --- a/renovate.json +++ b/renovate.json @@ -28,6 +28,12 @@ "matchDatasources": ["docker"], "matchPackageNames": ["docker.io/pretix/standalone"], "versioning": "regex:^(?\\d+\\.\\d+)(?:\\.(?\\d+))$" + }, + // Since Forgejo seems to clean up older tag versions, so older digests, disable digest pinning for our images. + { + "matchDatasources": ["docker"], + "matchPackageNames": ["git.hamburg.ccc.de/*"], + "pinDigests": false } ], "customManagers": [ diff --git a/resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 b/resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 index 92a6afb..d91a254 100644 --- a/resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 @@ -22,7 +22,7 @@ services: keycloak: - image: git.hamburg.ccc.de/ccchh/oci-images/keycloak:26.4@sha256:06bfa760dfa40bd3d4305a67ce02e9dc70113151f09820a3bc6c75f5f7ece855 + image: git.hamburg.ccc.de/ccchh/oci-images/keycloak:26.4 pull_policy: always restart: unless-stopped command: start --optimized @@ -58,7 +58,7 @@ services: POSTGRES_DB: keycloak id-invite-web: - image: git.hamburg.ccc.de/ccchh/id-invite/id-invite:latest@sha256:ba011f410bc1d2e112135857c236412f65b727f15197dbea1fffd955e0487a6a + image: git.hamburg.ccc.de/ccchh/id-invite/id-invite:latest command: web restart: unless-stopped networks: @@ -84,7 +84,7 @@ services: - "BOTTLE_HOST=0.0.0.0" id-invite-email: - image: git.hamburg.ccc.de/ccchh/id-invite/id-invite:latest@sha256:ba011f410bc1d2e112135857c236412f65b727f15197dbea1fffd955e0487a6a + image: git.hamburg.ccc.de/ccchh/id-invite/id-invite:latest command: email restart: unless-stopped networks: @@ -99,7 +99,7 @@ services: - "SMTP_PASSWORD={{ secret__id_no_reply_smtp }}" id-invite-keycloak: - image: git.hamburg.ccc.de/ccchh/id-invite/id-invite:latest@sha256:ba011f410bc1d2e112135857c236412f65b727f15197dbea1fffd955e0487a6a + image: git.hamburg.ccc.de/ccchh/id-invite/id-invite:latest command: keycloak restart: unless-stopped networks: diff --git a/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 b/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 index 5513381..70dc7e6 100644 --- a/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 @@ -46,7 +46,7 @@ services: - database hedgedoc-expire: - image: git.hamburg.ccc.de/ccchh/hedgedoc-expire/hedgedoc-expire:latest@sha256:9be261712a8ee57ff89068c3926a8c5d7c96ff80aa629f98eec239786c6158b1 + image: git.hamburg.ccc.de/ccchh/hedgedoc-expire/hedgedoc-expire:latest # command: "emailcheck" command: "cron" environment: diff --git a/resources/z9/dooris/docker_compose/compose.yaml.j2 b/resources/z9/dooris/docker_compose/compose.yaml.j2 index b722aa7..38db85a 100644 --- a/resources/z9/dooris/docker_compose/compose.yaml.j2 +++ b/resources/z9/dooris/docker_compose/compose.yaml.j2 @@ -2,7 +2,7 @@ services: dooris: - image: git.hamburg.ccc.de/ccchh/hmdooris/hmdooris:latest@sha256:a895989b0955936cbe0641de0309bcb343a9da9c2c8d6184d906a66bf1151303 + image: git.hamburg.ccc.de/ccchh/hmdooris/hmdooris:latest environment: HMDOORIS_ALLOWED_IPS: "2a07:c481:1:c8::/64 2a01:170:118b::/56 172.31.200.0/23 172.31.202.0/27" HMDOORIS_CCUJACK_CERTIFICATE_PATH: false diff --git a/resources/z9/yate/docker_compose/compose.yaml.j2 b/resources/z9/yate/docker_compose/compose.yaml.j2 index c39afa4..562b318 100644 --- a/resources/z9/yate/docker_compose/compose.yaml.j2 +++ b/resources/z9/yate/docker_compose/compose.yaml.j2 @@ -2,7 +2,7 @@ services: yate: - image: git.hamburg.ccc.de/ccchh/yate-image/yate-image:latest@sha256:66f77d63dc52c9aeb09481e48b9d62f5f95439f86eab3766fce94daea7b2e26a + image: git.hamburg.ccc.de/ccchh/yate-image/yate-image:latest # command: # - sh # - "-c" @@ -17,4 +17,4 @@ services: - ./configs/accfile.conf:/opt/yate/etc/yate/accfile.conf - ./configs/regexroute.conf:/opt/yate/etc/yate/regexroute.conf - ./configs/regfile.conf:/opt/yate/etc/yate/regfile.conf - - ./lib-yate:/var/lib/yate \ No newline at end of file + - ./lib-yate:/var/lib/yate From dc6c7cbfb78de0e66205030d19233ccd2647688e Mon Sep 17 00:00:00 2001 From: June Date: Sat, 1 Nov 2025 17:53:08 +0100 Subject: [PATCH 061/160] sunders(host): deploy sunders using docker compose https://git.hamburg.ccc.de/CCCHH/sunders --- .../chaosknoten/host_vars/sunders.sops.yaml | 9 ++- .../chaosknoten/host_vars/sunders.yaml | 13 +++++ inventories/chaosknoten/hosts.yaml | 3 + .../nginx/acme_challenge.conf | 1 + .../public-reverse-proxy/nginx/nginx.conf | 1 + .../sunders/docker_compose/compose.yaml.j2 | 57 +++++++++++++++++++ .../sunders/nginx/sunders.hamburg.ccc.de.conf | 42 ++++++++++++++ 7 files changed, 123 insertions(+), 3 deletions(-) create mode 100644 inventories/chaosknoten/host_vars/sunders.yaml create mode 100644 resources/chaosknoten/sunders/docker_compose/compose.yaml.j2 create mode 100644 resources/chaosknoten/sunders/nginx/sunders.hamburg.ccc.de.conf diff --git a/inventories/chaosknoten/host_vars/sunders.sops.yaml b/inventories/chaosknoten/host_vars/sunders.sops.yaml index 98b3917..559bc80 100644 --- a/inventories/chaosknoten/host_vars/sunders.sops.yaml +++ b/inventories/chaosknoten/host_vars/sunders.sops.yaml @@ -1,4 +1,7 @@ ansible_pull__age_private_key: ENC[AES256_GCM,data:tP84jDYh2zeWjf7wqDoefm9zaeg/Q2TWUyIstOcrjYHgrZdGLk64skLuGyH5q4FxQL9QEhe9qBT+AAxxKE6fU630/M1LVOR4Sls=,iv:I9W6KxIoisJFFMtOrN5u8KgnsmuIgF9RvzWanLNGVVM=,tag:w9bhDahR4Ai4/nLLeR58lA==,type:str] +secret__sunders_db_root_password: ENC[AES256_GCM,data:m3Xt6dOKibRflon/rWG9KmdBPHEBbqE/GIpKdFI1Di7Lpl/THxzrgx12mTK6aZnwDrM=,iv:hD/UGwo88ye9CxyTCEQ0SVon2+ipPjeA9NF2/OhYwmc=,tag:DRdQ5hvTgUO5FVae/ul7kQ==,type:str] +secret__sunders_db_camera_password: ENC[AES256_GCM,data:tOt4ImpedgfGvRpcThPO30YyEl/bP244ruJQzAYodJIsEhFuk5LxHpPASEnsqlN6m3M=,iv:rQXBjiYWZlzeUdaqDdTlrdbSSqGaPDeZOPhUaMjgcjU=,tag:lkSlIdJWFowyPfWEjpC/Zg==,type:str] +secret__sunders_db_camera_select_password: ENC[AES256_GCM,data:PveGcD2WmvpMc8bafGY1c45aQ2XH/ym2yj5YacauQPeZO6Xem3kaxU0kwjs0Wd26ugc=,iv:tk288L9i0lxsJbTFq5ET5IiKkJfMQwc6uKNFXILcD7o=,tag:hOIivp3mOtDNBCsKvrSrBw==,type:str] sops: age: - recipient: age1na0nh9ndnr9cxpnlvstrxskr4fxf4spnkw48ufl7m43f98y40y7shhnvgd @@ -10,8 +13,8 @@ sops: S3NiK3R6UWQ5UU0xUmYwa1hqMUo5c28K4EVQwBcALc6k53CNsemfMy2s6AGO5LJf 3U1zeFtEcsvEnUfkvFT//M7cB6pUqQF0KIq1VnnFoQF7IpvSN23lxg== -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-10-14T23:43:05Z" - mac: ENC[AES256_GCM,data:15TRSKlDhjQy3yMcFhz2Den2YorcrpJmCw0BVl10qlG8u9G7Vw/7aV/hJnZdkCz3w1ZkEbNS6DCKxCLs1Qgf2SEPaG/cRraO2mcl+YH7k4gb5LMzu81fRkbCx66B4LG+DY8fsAJeO4mxui2m0ZAHb2SNFIP4Q4vdLav3jTaiwAc=,iv:71qa6JTc+S5MLynGc27tx1WBGrpvTCSCoEv01SZnPF8=,tag:ju4WP1MK1/sWw7TAitzM0Q==,type:str] + lastmodified: "2025-11-01T16:32:10Z" + mac: ENC[AES256_GCM,data:8Q6DBSFtzwHuVxduRlZYxlRWO0trSoesNGUR8r/dWnp9ashFBSZqVyffXb4Vq6DB5thANJ6/b3PCNsHdiAKn6Ai2UT8G0HimFjUUgNpZxo4xoNGmDhDvfdBgUL6O2pHhY+ojjguUXDYeYc99+eaxfKqZ3w+PAPaySltKm99foz8=,iv:ILOErdiWbUjk9kovXXZYcAqZFQp2Wo1Tm14sgK3niWg=,tag:Q2gT6wbQyhDXjoQEG2Lngw==,type:str] pgp: - created_at: "2025-10-15T08:45:25Z" enc: |- @@ -207,4 +210,4 @@ sops: -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 unencrypted_suffix: _unencrypted - version: 3.10.2 + version: 3.11.0 diff --git a/inventories/chaosknoten/host_vars/sunders.yaml b/inventories/chaosknoten/host_vars/sunders.yaml new file mode 100644 index 0000000..b3d50d8 --- /dev/null +++ b/inventories/chaosknoten/host_vars/sunders.yaml @@ -0,0 +1,13 @@ +docker_compose__compose_file_content: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/sunders/docker_compose/compose.yaml.j2') }}" + +certbot__version_spec: "" +certbot__acme_account_email_address: le-admin@hamburg.ccc.de +certbot__certificate_domains: + - "sunders.hamburg.ccc.de" +certbot__new_cert_commands: + - "systemctl reload nginx.service" + +nginx__version_spec: "" +nginx__configurations: + - name: sunders.hamburg.ccc.de + content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/sunders/nginx/sunders.hamburg.ccc.de.conf') }}" diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index 1f1445c..b9e6358 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -106,6 +106,7 @@ docker_compose_hosts: pretalx: zammad: ntfy: + sunders: nextcloud_hosts: hosts: cloud: @@ -126,6 +127,7 @@ nginx_hosts: wiki: zammad: ntfy: + sunders: public_reverse_proxy_hosts: hosts: public-reverse-proxy: @@ -145,6 +147,7 @@ certbot_hosts: wiki: zammad: ntfy: + sunders: prometheus_node_exporter_hosts: hosts: ccchoir: diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf index 790ca77..165e166 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf @@ -29,6 +29,7 @@ map $host $upstream_acme_challenge_host { wiki.hamburg.ccc.de 172.31.17.146:31820; www.hamburg.ccc.de 172.31.17.151:31820; tickets.hamburg.ccc.de 172.31.17.148:31820; + sunders.hamburg.ccc.de 172.31.17.170:31820; zammad.hamburg.ccc.de 172.31.17.152:31820; eh03.easterhegg.eu 172.31.17.151:31820; eh05.easterhegg.eu 172.31.17.151:31820; diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf index 87b5408..4a449f5 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf @@ -43,6 +43,7 @@ stream { staging.hamburg.ccc.de 172.31.17.151:8443; spaceapi.hamburg.ccc.de 172.31.17.151:8443; tickets.hamburg.ccc.de 172.31.17.148:8443; + sunders.hamburg.ccc.de 172.31.17.170:8443; zammad.hamburg.ccc.de 172.31.17.152:8443; c3cat.de 172.31.17.151:8443; www.c3cat.de 172.31.17.151:8443; diff --git a/resources/chaosknoten/sunders/docker_compose/compose.yaml.j2 b/resources/chaosknoten/sunders/docker_compose/compose.yaml.j2 new file mode 100644 index 0000000..a5cfc5b --- /dev/null +++ b/resources/chaosknoten/sunders/docker_compose/compose.yaml.j2 @@ -0,0 +1,57 @@ +# Source: +# https://git.hamburg.ccc.de/CCCHH/sunders/src/branch/main/docker-compose.yml + +services: + db: + image: mariadb:12.0.2 + command: --max_allowed_packet=3250585600 + environment: + MYSQL_ROOT_PASSWORD: "{{ secret__sunders_db_root_password }}" + MYSQL_DATABASE: camera + MYSQL_USER: camera + MYSQL_PASSWORD: "{{ secret__sunders_db_camera_password }}" + volumes: + - mariadb:/var/lib/mysql + healthcheck: + test: ["CMD", "mariadb-admin", "ping", "-h", "localhost", "-uroot", "-prootpassword"] + interval: 10s + timeout: 5s + start_period: 30s + retries: 5 + + web: + image: git.hamburg.ccc.de/ccchh/sunders/web:latest + environment: + MYSQL_HOST: db + MYSQL_DB: camera + CAMERA_SELECT_USER: camera_select + CAMERA_SELECT_USER_PASSWORD: "{{ secret__sunders_db_camera_select_password }}" + DEFAULT_ZOOM: 12 + DEFAULT_LAT: 0 + DEFAULT_LON: 0 + DEFAULT_LANGUAGE: en + IMPRESSUM_URL: https://hamburg.ccc.de/imprint/ + ports: + - "8080:80" + depends_on: + data_handler: + condition: service_started + + data_handler: + image: git.hamburg.ccc.de/ccchh/sunders/data_handler:latest + environment: + MYSQL_HOST: db + MYSQL_DB: camera + MYSQL_USER: root + MYSQL_PASSWORD: "{{ secret__sunders_db_root_password }}" + CAMERA_USER: camera + CAMERA_USER_PASSWORD: "{{ secret__sunders_db_camera_password }}" + CAMERA_SELECT_USER: camera_select + CAMERA_SELECT_USER_PASSWORD: "{{ secret__sunders_db_camera_select_password }}" + depends_on: + db: + condition: service_healthy + restart: true + +volumes: + mariadb: diff --git a/resources/chaosknoten/sunders/nginx/sunders.hamburg.ccc.de.conf b/resources/chaosknoten/sunders/nginx/sunders.hamburg.ccc.de.conf new file mode 100644 index 0000000..04cc006 --- /dev/null +++ b/resources/chaosknoten/sunders/nginx/sunders.hamburg.ccc.de.conf @@ -0,0 +1,42 @@ +# partly generated 2022-01-08, Mozilla Guideline v5.6, nginx 1.17.7, OpenSSL 1.1.1k, intermediate configuration +# https://ssl-config.mozilla.org/#server=nginx&version=1.17.7&config=intermediate&openssl=1.1.1k&guideline=5.6 +server { + # Listen on a custom port for the proxy protocol. + listen 8443 ssl http2 proxy_protocol; + # Make use of the ngx_http_realip_module to set the $remote_addr and + # $remote_port to the client address and client port, when using proxy + # protocol. + # First set our proxy protocol proxy as trusted. + set_real_ip_from 172.31.17.140; + # Then tell the realip_module to get the addreses from the proxy protocol + # header. + real_ip_header proxy_protocol; + + server_name sunders.hamburg.ccc.de; + + ssl_certificate /etc/letsencrypt/live/sunders.hamburg.ccc.de/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/sunders.hamburg.ccc.de/privkey.pem; + # verify chain of trust of OCSP response using Root CA and Intermediate certs + ssl_trusted_certificate /etc/letsencrypt/live/sunders.hamburg.ccc.de/chain.pem; + + # HSTS (ngx_http_headers_module is required) (63072000 seconds) + add_header Strict-Transport-Security "max-age=63072000" always; + + proxy_set_header Host $host; + proxy_set_header X-Forwarded-Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Port 443; + # This is https in any case. + proxy_set_header X-Forwarded-Proto https; + # Hide the X-Forwarded header. + proxy_hide_header X-Forwarded; + # Assume we are the only Reverse Proxy (well using Proxy Protocol, but that + # is transparent). + # Also provide "_hidden" for by, since it's not relevant. + proxy_set_header Forwarded "for=$remote_addr;proto=https;host=$host;by=_hidden"; + + location / { + proxy_pass http://127.0.0.1:8080/; + } +} From c3f71b1f0801ddf0f1265dbf057ebf295ed73acf Mon Sep 17 00:00:00 2001 From: ViMaSter Date: Sun, 2 Nov 2025 20:24:55 +0100 Subject: [PATCH 062/160] sunders: replace password in healthcheck with dynamic secret https://git.hamburg.ccc.de/CCCHH/ansible-infra/pulls/55 Co-authored-by: ViMaSter Co-committed-by: ViMaSter --- resources/chaosknoten/sunders/docker_compose/compose.yaml.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/chaosknoten/sunders/docker_compose/compose.yaml.j2 b/resources/chaosknoten/sunders/docker_compose/compose.yaml.j2 index a5cfc5b..fbec258 100644 --- a/resources/chaosknoten/sunders/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/sunders/docker_compose/compose.yaml.j2 @@ -13,7 +13,7 @@ services: volumes: - mariadb:/var/lib/mysql healthcheck: - test: ["CMD", "mariadb-admin", "ping", "-h", "localhost", "-uroot", "-prootpassword"] + test: ["CMD", "mariadb-admin", "ping", "-h", "localhost", "-uroot", "-p{{ secret__sunders_db_root_password }}"] interval: 10s timeout: 5s start_period: 30s From 8cefd07618b575ce41ddecae05890a48a62bfa0a Mon Sep 17 00:00:00 2001 From: June Date: Fri, 24 Oct 2025 23:59:38 +0200 Subject: [PATCH 063/160] docker_compose(role): remove distribution check The distribution check isn't really needed in our setup anyway and just adds unnecessary noise. --- roles/docker_compose/README.md | 4 +--- roles/docker_compose/meta/main.yaml | 7 ------- 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/roles/docker_compose/README.md b/roles/docker_compose/README.md index d3204ec..14d0107 100644 --- a/roles/docker_compose/README.md +++ b/roles/docker_compose/README.md @@ -7,9 +7,7 @@ A use case for the deployment of the additional configuration files is Composes ## Supported Distributions -The following distributions are supported: - -- Debian 11 +Should work on Debian-based distributions. ## Required Arguments diff --git a/roles/docker_compose/meta/main.yaml b/roles/docker_compose/meta/main.yaml index b9a6980..cb7d8e0 100644 --- a/roles/docker_compose/meta/main.yaml +++ b/roles/docker_compose/meta/main.yaml @@ -1,10 +1,3 @@ --- dependencies: - - role: distribution_check - vars: - distribution_check__distribution_support_spec: - - name: Debian - major_versions: - - 11 - - 12 - role: docker From e390b7c20249b0eed56bf34ff3360f91f26958fa Mon Sep 17 00:00:00 2001 From: June Date: Sat, 25 Oct 2025 00:00:58 +0200 Subject: [PATCH 064/160] docker_compose(role): remove unnecessary hosts section from README The hosts section isn't really relevant for that role, so remove it. --- roles/docker_compose/README.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/roles/docker_compose/README.md b/roles/docker_compose/README.md index 14d0107..7246899 100644 --- a/roles/docker_compose/README.md +++ b/roles/docker_compose/README.md @@ -13,10 +13,6 @@ Should work on Debian-based distributions. For the required arguments look at the [`argument_specs.yaml`](./meta/argument_specs.yaml). -## `hosts` - -The `hosts` for this role need to be the machines, for which you want to make sure the given Compose file is deployed and all services of it are up-to-date and running. - ## Links & Resources - From 9f8d2d89cd8e17c2c23230764696410e2c9061d6 Mon Sep 17 00:00:00 2001 From: June Date: Sat, 25 Oct 2025 00:07:36 +0200 Subject: [PATCH 065/160] docker_compose(role): move argument documentation to README Do this to match newer roles and since reading documentation from argument_specs is quite unergonomic. --- roles/docker_compose/README.md | 9 ++++++++- roles/docker_compose/meta/argument_specs.yaml | 11 ----------- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/roles/docker_compose/README.md b/roles/docker_compose/README.md index 7246899..c0a7a93 100644 --- a/roles/docker_compose/README.md +++ b/roles/docker_compose/README.md @@ -11,7 +11,14 @@ Should work on Debian-based distributions. ## Required Arguments -For the required arguments look at the [`argument_specs.yaml`](./meta/argument_specs.yaml). +- `docker_compose__compose_file_content`: The content to deploy to the Compose file at `/ansible_docker_compose/compose.yaml`. + +## Optional Arguments + +- `docker_compose__env_file_content`: The content to deploy to the `.env` file at `/ansible_docker_compose/.env`. +- `docker_compose__configuration_files`: A list of configuration files to deploy to the `/ansible_docker_compose/configs/` directory. +- `docker_compose__configuration_files.*.name`: The name of the configuration file. +- `docker_compose__configuration_files.*.content`: The content to deploy to the configuration file. ## Links & Resources diff --git a/roles/docker_compose/meta/argument_specs.yaml b/roles/docker_compose/meta/argument_specs.yaml index c588ba0..664496e 100644 --- a/roles/docker_compose/meta/argument_specs.yaml +++ b/roles/docker_compose/meta/argument_specs.yaml @@ -2,31 +2,20 @@ argument_specs: main: options: docker_compose__compose_file_content: - description: >- - The content of the Compose file at - `/ansible_docker_compose/compose.yaml`. type: str required: true docker_compose__env_file_content: - description: >- - The content of the .env file at - `/ansible_docker_compose/.env`. type: str required: false docker_compose__configuration_files: - description: >- - A list of configuration files to be deployed in the - `/ansible_docker_compose/configs/` directory. type: list elements: dict required: false default: [ ] options: name: - description: The name of the configuration file. type: str required: true content: - description: The content of the configuration file. type: str required: true From ae60d6fea6305f6719d33042373eea40d121e597 Mon Sep 17 00:00:00 2001 From: June Date: Sun, 2 Nov 2025 23:13:20 +0100 Subject: [PATCH 066/160] docker_compose(role): use community.docker.docker_compose_v2 module Use the community.docker.docker_compose_v2 module as it supports proper changed handling out of the box, making the roles code more straightforward and work. Also just do a docker compose restart instead of having the custom docker compose reload script. https://docs.ansible.com/ansible/latest/collections/community/docker/docker_compose_v2_module.html --- inventories/z9/host_vars/yate.yaml | 1 - requirements.yml | 3 ++ roles/docker_compose/defaults/main.yaml | 1 - roles/docker_compose/handlers/main.yaml | 18 +++++----- roles/docker_compose/tasks/main.yaml | 46 ++++++------------------- 5 files changed, 21 insertions(+), 48 deletions(-) diff --git a/inventories/z9/host_vars/yate.yaml b/inventories/z9/host_vars/yate.yaml index d2dc518..fecacb1 100644 --- a/inventories/z9/host_vars/yate.yaml +++ b/inventories/z9/host_vars/yate.yaml @@ -6,4 +6,3 @@ docker_compose__configuration_files: content: "{{ lookup('ansible.builtin.template', 'resources/z9/yate/docker_compose/regexroute.conf.j2') }}" - name: regfile.conf content: "{{ lookup('ansible.builtin.template', 'resources/z9/yate/docker_compose/regfile.conf.j2') }}" -docker_compose__restart_cmd: "exec yate sh -c 'kill -1 1'" diff --git a/requirements.yml b/requirements.yml index e5538cc..6011bda 100644 --- a/requirements.yml +++ b/requirements.yml @@ -6,3 +6,6 @@ collections: - name: community.sops version: ">=2.2.4" source: https://galaxy.ansible.com + - name: community.docker + version: ">=5.0.0" + source: https://galaxy.ansible.com diff --git a/roles/docker_compose/defaults/main.yaml b/roles/docker_compose/defaults/main.yaml index 1312972..76831d6 100644 --- a/roles/docker_compose/defaults/main.yaml +++ b/roles/docker_compose/defaults/main.yaml @@ -1,2 +1 @@ docker_compose__configuration_files: [ ] -docker_compose__restart_cmd: "" diff --git a/roles/docker_compose/handlers/main.yaml b/roles/docker_compose/handlers/main.yaml index 49e064c..2aff0fe 100644 --- a/roles/docker_compose/handlers/main.yaml +++ b/roles/docker_compose/handlers/main.yaml @@ -1,13 +1,11 @@ - name: docker compose down - ansible.builtin.command: - cmd: /usr/bin/docker compose down - chdir: /ansible_docker_compose + community.docker.docker_compose_v2: + project_src: /ansible_docker_compose + state: absent become: true - changed_when: true # This is always changed. -- name: docker compose reload script - ansible.builtin.command: - cmd: /usr/bin/docker compose {{ docker_compose__restart_cmd }} - chdir: /ansible_docker_compose + +- name: docker compose restart + community.docker.docker_compose_v2: + project_src: /ansible_docker_compose + state: restarted become: true - changed_when: true # Mark this as always changed (for now?). - when: docker_compose__restart_cmd != "" diff --git a/roles/docker_compose/tasks/main.yaml b/roles/docker_compose/tasks/main.yaml index 7b01304..bea3f4f 100644 --- a/roles/docker_compose/tasks/main.yaml +++ b/roles/docker_compose/tasks/main.yaml @@ -59,7 +59,7 @@ state: absent become: true loop: "{{ docker_compose__config_files_to_remove.files }}" - # notify: docker compose down + notify: docker compose restart - name: make sure all given configuration files are deployed ansible.builtin.copy: @@ -70,45 +70,19 @@ group: root become: true loop: "{{ docker_compose__configuration_files }}" - # notify: docker compose down - notify: docker compose reload script + notify: docker compose restart -- name: Flush handlers to make "docker compose down" handler run now +- name: Flush handlers to make "docker compose down" and "docker compose restart" handlers run now ansible.builtin.meta: flush_handlers -- name: docker compose ps --format json before docker compose up - ansible.builtin.command: - cmd: /usr/bin/docker compose ps --format json - chdir: /ansible_docker_compose +- name: docker compose up + community.docker.docker_compose_v2: + project_src: /ansible_docker_compose + state: present + build: always + pull: always + remove_orphans: true become: true - changed_when: false - register: docker_compose__ps_json_before_up - -- name: docker compose up --detach --pull always --build - ansible.builtin.command: - cmd: /usr/bin/docker compose up --detach --pull always --build --remove-orphans - chdir: /ansible_docker_compose - become: true - changed_when: false - # The changed for this task is tried to be determined by the "potentially - # report changed" task together with the "docker compose ps --format json - # [...]" tasks. - -- name: docker compose ps --format json after docker compose up - ansible.builtin.command: - cmd: /usr/bin/docker compose ps --format json - chdir: /ansible_docker_compose - become: true - changed_when: false - register: docker_compose__ps_json_after_up - -# Doesn't work anymore. Dunno why. -# TODO: Fix -# - name: potentially report changed -# ansible.builtin.debug: -# msg: "If this reports changed, then the docker compose containers changed." -# changed_when: (docker_compose__ps_json_before_up.stdout | from_json | community.general.json_query('[].ID') | sort) -# != (docker_compose__ps_json_after_up.stdout | from_json | community.general.json_query('[].ID') | sort) - name: Make sure anacron is installed become: true From d690f81e3df40f85665d3c52ddc8d8f4418aebe1 Mon Sep 17 00:00:00 2001 From: c6ristian Date: Wed, 5 Nov 2025 23:08:08 +0100 Subject: [PATCH 067/160] deploy_ssh_server_config: setup ssh pq cryptography --- roles/deploy_ssh_server_config/templates/sshd_config.j2 | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/roles/deploy_ssh_server_config/templates/sshd_config.j2 b/roles/deploy_ssh_server_config/templates/sshd_config.j2 index eefafa4..307f213 100644 --- a/roles/deploy_ssh_server_config/templates/sshd_config.j2 +++ b/roles/deploy_ssh_server_config/templates/sshd_config.j2 @@ -17,7 +17,15 @@ HostKey /etc/ssh/ssh_host_ed25519_key HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_ecdsa_key + +{% if ansible_facts["distribution"] == "Debian" and ansible_facts["distribution_major_version"] == "13" %} +KexAlgorithms mlkem768x25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group-exchange-sha256 +{% elif ansible_facts["distribution"] == "Debian" and ansible_facts["distribution_major_version"] == "12" %} +KexAlgorithms sntrup761x25519-sha512,curve25519-sha256@libssh.org,ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group-exchange-sha256 +{% else %} KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group-exchange-sha256 +{% endif %} + Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr From cffe5c2b1642c14839baf750e82d65bbe141d8fe Mon Sep 17 00:00:00 2001 From: June Date: Thu, 6 Nov 2025 18:25:29 +0100 Subject: [PATCH 068/160] dooris: use hostname instead of IP --- inventories/z9/hosts.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inventories/z9/hosts.yaml b/inventories/z9/hosts.yaml index 9d5bb09..9f4a692 100644 --- a/inventories/z9/hosts.yaml +++ b/inventories/z9/hosts.yaml @@ -4,7 +4,7 @@ all: ansible_host: authoritative-dns.z9.ccchh.net ansible_user: chaos dooris: - ansible_host: 10.31.208.201 + ansible_host: dooris.z9.ccchh.net ansible_user: chaos light: ansible_host: light.z9.ccchh.net From aeec08fce8573b0625e60f9bee4027b575933fbe Mon Sep 17 00:00:00 2001 From: lilly Date: Thu, 6 Nov 2025 21:16:36 +0100 Subject: [PATCH 069/160] remove distribution checks Signed-Off-By: june --- roles/foobazdmx/meta/main.yaml | 8 -------- roles/ola/meta/main.yaml | 8 -------- 2 files changed, 16 deletions(-) delete mode 100644 roles/foobazdmx/meta/main.yaml delete mode 100644 roles/ola/meta/main.yaml diff --git a/roles/foobazdmx/meta/main.yaml b/roles/foobazdmx/meta/main.yaml deleted file mode 100644 index 386685c..0000000 --- a/roles/foobazdmx/meta/main.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -dependencies: - - role: distribution_check - vars: - distribution_check__distribution_support_spec: - - name: Debian - major_versions: - - "11" diff --git a/roles/ola/meta/main.yaml b/roles/ola/meta/main.yaml deleted file mode 100644 index 386685c..0000000 --- a/roles/ola/meta/main.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -dependencies: - - role: distribution_check - vars: - distribution_check__distribution_support_spec: - - name: Debian - major_versions: - - "11" From 63917722ff0a9d292aa012eaa2dfcc6baf15fcae Mon Sep 17 00:00:00 2001 From: lilly Date: Thu, 6 Nov 2025 21:16:36 +0100 Subject: [PATCH 070/160] fix foobazdmx role poetry is available via apt now so we install it that way --- roles/foobazdmx/tasks/main.yaml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/roles/foobazdmx/tasks/main.yaml b/roles/foobazdmx/tasks/main.yaml index f6e6097..33197b5 100644 --- a/roles/foobazdmx/tasks/main.yaml +++ b/roles/foobazdmx/tasks/main.yaml @@ -7,11 +7,7 @@ - python3 - python3-pip - python3-setuptools - -- name: Ensure python peotry is installed - become: true - ansible.builtin.pip: - name: poetry + - python3-poetry - name: Ensure foobazdmx user exists become: true From 6fea98ffd219395e206f227d9ebb47a8e9aacae9 Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Fri, 7 Nov 2025 20:09:02 +0100 Subject: [PATCH 071/160] Redirect to 39c3 instead of eh22 --- .../chaosknoten/tickets/nginx/tickets.hamburg.ccc.de.conf | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/resources/chaosknoten/tickets/nginx/tickets.hamburg.ccc.de.conf b/resources/chaosknoten/tickets/nginx/tickets.hamburg.ccc.de.conf index 40882d8..9e2ca26 100644 --- a/resources/chaosknoten/tickets/nginx/tickets.hamburg.ccc.de.conf +++ b/resources/chaosknoten/tickets/nginx/tickets.hamburg.ccc.de.conf @@ -38,11 +38,7 @@ server { location = / { #return 302 https://wiki.hamburg.ccc.de/infrastructure:service-overview#tickets_pretix; - return 302 https://tickets.hamburg.ccc.de/hackertours/eh22ht/; - } - - location = /hackertours/eh22/ { - return 302 https://tickets.hamburg.ccc.de/hackertours/eh22ht/; + return 302 https://tickets.hamburg.ccc.de/hackertours/39c3ht/; } location / { From 5f6000adcadb0be3dc917f2b5aaf55b15a7f5d9d Mon Sep 17 00:00:00 2001 From: c6ristian Date: Tue, 11 Nov 2025 22:47:42 +0100 Subject: [PATCH 072/160] ssh_config: also enable sntrup761x25519-sha512 for Debain 13 tldr: PQC algorithms are complex but sntrup still is not brocken --- roles/deploy_ssh_server_config/templates/sshd_config.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/deploy_ssh_server_config/templates/sshd_config.j2 b/roles/deploy_ssh_server_config/templates/sshd_config.j2 index 307f213..c967502 100644 --- a/roles/deploy_ssh_server_config/templates/sshd_config.j2 +++ b/roles/deploy_ssh_server_config/templates/sshd_config.j2 @@ -19,7 +19,7 @@ HostKey /etc/ssh/ssh_host_ecdsa_key {% if ansible_facts["distribution"] == "Debian" and ansible_facts["distribution_major_version"] == "13" %} -KexAlgorithms mlkem768x25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group-exchange-sha256 +KexAlgorithms sntrup761x25519-sha512,mlkem768x25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group-exchange-sha256 {% elif ansible_facts["distribution"] == "Debian" and ansible_facts["distribution_major_version"] == "12" %} KexAlgorithms sntrup761x25519-sha512,curve25519-sha256@libssh.org,ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group-exchange-sha256 {% else %} From 80acd5fdc62366260a8d88113ed46963fe2616a7 Mon Sep 17 00:00:00 2001 From: c6ristian Date: Tue, 11 Nov 2025 23:03:59 +0100 Subject: [PATCH 073/160] grafana: store date for up to 28 days --- resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 b/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 index d739b2f..c5b8f2d 100644 --- a/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 @@ -8,6 +8,7 @@ services: - '--config.file=/etc/prometheus/prometheus.yml' - '--web.enable-remote-write-receiver' - '--enable-feature=promql-experimental-functions' + - '--storage.tsdb.retention.time=28d' ports: - 9090:9090 restart: unless-stopped From ddab1576007b222cf9b1ff752626d7d979b47d5a Mon Sep 17 00:00:00 2001 From: June Date: Tue, 18 Nov 2025 14:24:21 +0100 Subject: [PATCH 074/160] don't pin digests anymore The benefit of digest pinning isn't that great for this project really and it comes at the cost of more issues and additional renovate noise, so just don't anymore. Adjust renovate config accordingly as well. --- .forgejo/workflows/lint.yaml | 4 ++-- renovate.json | 18 ++++++++---------- .../ccchoir/docker_compose/compose.yaml.j2 | 4 ++-- .../grafana/docker_compose/compose.yaml.j2 | 18 +++++++++--------- .../keycloak/docker_compose/compose.yaml.j2 | 2 +- .../lists/docker_compose/compose.yaml | 6 +++--- .../ntfy/docker_compose/compose.yaml.j2 | 2 +- .../onlyoffice/docker_compose/compose.yaml.j2 | 2 +- .../pad/docker_compose/compose.yaml.j2 | 4 ++-- .../pretalx/docker_compose/compose.yaml.j2 | 10 +++++----- .../tickets/docker_compose/compose.yaml.j2 | 6 +++--- .../docker_compose/compose.yaml.j2 | 2 +- 12 files changed, 38 insertions(+), 40 deletions(-) diff --git a/.forgejo/workflows/lint.yaml b/.forgejo/workflows/lint.yaml index a867c13..23bf6d2 100644 --- a/.forgejo/workflows/lint.yaml +++ b/.forgejo/workflows/lint.yaml @@ -10,7 +10,7 @@ jobs: name: Ansible Lint runs-on: docker steps: - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5 + - uses: actions/checkout@v5 - name: Install pip run: | apt update @@ -24,7 +24,7 @@ jobs: # work in our environmnet. # Rather manually setup python (pip) before instead. - name: Run ansible-lint - uses: https://github.com/ansible/ansible-lint@d7cd7cfa2469536527aceaef9ef2ec6f2fb331cb # v25.9.2 + uses: https://github.com/ansible/ansible-lint@v25.9.2 with: setup_python: "false" requirements_file: "requirements.yml" diff --git a/renovate.json b/renovate.json index 7e604c1..711c627 100644 --- a/renovate.json +++ b/renovate.json @@ -1,13 +1,17 @@ { "$schema": "https://docs.renovatebot.com/renovate-schema.json", "extends": [ - "config:recommended", // Included in config:best-practices anyway, but added for clarity. - "config:best-practices", + "config:recommended", + // Parts from config:best-practices: + // https://docs.renovatebot.com/presets-config/#configbest-practices + ":configMigration", + "abandonments:recommended", + "security:minimumReleaseAgeNpm", + ":ignoreUnstable", ":disableRateLimiting", ":rebaseStalePrs", - ":label(renovate)", - "group:allDigest" + ":label(renovate)" ], "semanticCommits": "disabled", "packageRules": [ @@ -28,12 +32,6 @@ "matchDatasources": ["docker"], "matchPackageNames": ["docker.io/pretix/standalone"], "versioning": "regex:^(?\\d+\\.\\d+)(?:\\.(?\\d+))$" - }, - // Since Forgejo seems to clean up older tag versions, so older digests, disable digest pinning for our images. - { - "matchDatasources": ["docker"], - "matchPackageNames": ["git.hamburg.ccc.de/*"], - "pinDigests": false } ], "customManagers": [ diff --git a/resources/chaosknoten/ccchoir/docker_compose/compose.yaml.j2 b/resources/chaosknoten/ccchoir/docker_compose/compose.yaml.j2 index ffe491b..c2108d8 100644 --- a/resources/chaosknoten/ccchoir/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/ccchoir/docker_compose/compose.yaml.j2 @@ -3,7 +3,7 @@ services: database: - image: docker.io/library/mariadb:11@sha256:ae6119716edac6998ae85508431b3d2e666530ddf4e94c61a10710caec9b0f71 + image: docker.io/library/mariadb:11 environment: - "MARIADB_DATABASE=wordpress" - "MARIADB_ROOT_PASSWORD={{ secret__mariadb_root_password }}" @@ -17,7 +17,7 @@ services: restart: unless-stopped app: - image: docker.io/library/wordpress:6-php8.1@sha256:75f79f9c45a587b283e47fd21c6e51077d0c9dbbba529377faaa0c28d5b8f5a4 + image: docker.io/library/wordpress:6-php8.1 environment: - "WORDPRESS_DB_HOST=database" - "WORDPRESS_DB_NAME=wordpress" diff --git a/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 b/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 index c5b8f2d..74d7916 100644 --- a/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 @@ -2,7 +2,7 @@ services: prometheus: - image: docker.io/prom/prometheus:v3.7.2@sha256:23031bfe0e74a13004252caaa74eccd0d62b6c6e7a04711d5b8bf5b7e113adc7 + image: docker.io/prom/prometheus:v3.7.2 container_name: prometheus command: - '--config.file=/etc/prometheus/prometheus.yml' @@ -19,7 +19,7 @@ services: - prom_data:/prometheus alertmanager: - image: docker.io/prom/alertmanager:v0.28.1@sha256:27c475db5fb156cab31d5c18a4251ac7ed567746a2483ff264516437a39b15ba + image: docker.io/prom/alertmanager:v0.28.1 container_name: alertmanager command: - '--config.file=/etc/alertmanager/alertmanager.yaml' @@ -32,7 +32,7 @@ services: - alertmanager_data:/alertmanager grafana: - image: docker.io/grafana/grafana:12.2.1@sha256:35c41e0fd0295f5d0ee5db7e780cf33506abfaf47686196f825364889dee878b + image: docker.io/grafana/grafana:12.2.1 container_name: grafana ports: - 3000:3000 @@ -46,7 +46,7 @@ services: - graf_data:/var/lib/grafana pve-exporter: - image: docker.io/prompve/prometheus-pve-exporter:3.5.5@sha256:79a5598906697b1a5a006d09f0200528a77c6ff1568faf018539ac65824454df + image: docker.io/prompve/prometheus-pve-exporter:3.5.5 container_name: pve-exporter ports: - 9221:9221 @@ -59,7 +59,7 @@ services: - /dev/null:/etc/prometheus/pve.yml loki: - image: docker.io/grafana/loki:3.5.7@sha256:0eaee7bf39cc83aaef46914fb58f287d4f4c4be6ec96b86c2ed55719a75e49c8 + image: docker.io/grafana/loki:3.5.7 container_name: loki ports: - 13100:3100 @@ -70,7 +70,7 @@ services: - loki_data:/var/loki ntfy-alertmanager-ccchh-critical: - image: docker.io/xenrox/ntfy-alertmanager:0.5.0@sha256:5fea88db3bf0257d98c007ab0c4ef064c6d67d7b7ceead7d6956dfa0a5cb333b + image: docker.io/xenrox/ntfy-alertmanager:0.5.0 container_name: ntfy-alertmanager-ccchh-critical volumes: - ./configs/ntfy-alertmanager-ccchh-critical:/etc/ntfy-alertmanager/config @@ -79,7 +79,7 @@ services: restart: unless-stopped ntfy-alertmanager-fux-critical: - image: docker.io/xenrox/ntfy-alertmanager:0.5.0@sha256:5fea88db3bf0257d98c007ab0c4ef064c6d67d7b7ceead7d6956dfa0a5cb333b + image: docker.io/xenrox/ntfy-alertmanager:0.5.0 container_name: ntfy-alertmanager-fux-critical volumes: - ./configs/ntfy-alertmanager-fux-critical:/etc/ntfy-alertmanager/config @@ -88,7 +88,7 @@ services: restart: unless-stopped ntfy-alertmanager-ccchh: - image: docker.io/xenrox/ntfy-alertmanager:0.5.0@sha256:5fea88db3bf0257d98c007ab0c4ef064c6d67d7b7ceead7d6956dfa0a5cb333b + image: docker.io/xenrox/ntfy-alertmanager:0.5.0 container_name: ntfy-alertmanager-ccchh volumes: - ./configs/ntfy-alertmanager-ccchh:/etc/ntfy-alertmanager/config @@ -97,7 +97,7 @@ services: restart: unless-stopped ntfy-alertmanager-fux: - image: docker.io/xenrox/ntfy-alertmanager:0.5.0@sha256:5fea88db3bf0257d98c007ab0c4ef064c6d67d7b7ceead7d6956dfa0a5cb333b + image: docker.io/xenrox/ntfy-alertmanager:0.5.0 container_name: ntfy-alertmanager-fux volumes: - ./configs/ntfy-alertmanager-fux:/etc/ntfy-alertmanager/config diff --git a/resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 b/resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 index d91a254..9fde708 100644 --- a/resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 @@ -46,7 +46,7 @@ services: - "8080:8080" db: - image: docker.io/library/postgres:15.14@sha256:424e79b81868f5fc5cf515eaeac69d288692ebcca7db86d98f91b50d4bce64bb + image: docker.io/library/postgres:15.14 restart: unless-stopped networks: - keycloak diff --git a/resources/chaosknoten/lists/docker_compose/compose.yaml b/resources/chaosknoten/lists/docker_compose/compose.yaml index 8537ead..cdfd70a 100644 --- a/resources/chaosknoten/lists/docker_compose/compose.yaml +++ b/resources/chaosknoten/lists/docker_compose/compose.yaml @@ -1,7 +1,7 @@ services: mailman-core: restart: unless-stopped - image: docker.io/maxking/mailman-core:0.5@sha256:cb8e412bb18d74480f996da68f46e92473b6103995e71bc5aeba139b255cc3d2 # Use a specific version tag (tag latest is not published) + image: docker.io/maxking/mailman-core:0.5 # Use a specific version tag (tag latest is not published) container_name: mailman-core hostname: mailman-core volumes: @@ -25,7 +25,7 @@ services: mailman-web: restart: unless-stopped - image: docker.io/maxking/mailman-web:0.5@sha256:014726db85586fb53541f66f6ce964bf07e939791cfd5ffc796cd6d243696a18 # Use a specific version tag (tag latest is not published) + image: docker.io/maxking/mailman-web:0.5 # Use a specific version tag (tag latest is not published) container_name: mailman-web hostname: mailman-web depends_on: @@ -56,7 +56,7 @@ services: - POSTGRES_DB=mailmandb - POSTGRES_USER=mailman - POSTGRES_PASSWORD=wvQjbMRnwFuxGEPz - image: docker.io/library/postgres:12-alpine@sha256:7c8f4870583184ebadf7f17a6513620aac5f365a7938dc6a6911c1d5df2f481a + image: docker.io/library/postgres:12-alpine volumes: - /opt/mailman/database:/var/lib/postgresql/data networks: diff --git a/resources/chaosknoten/ntfy/docker_compose/compose.yaml.j2 b/resources/chaosknoten/ntfy/docker_compose/compose.yaml.j2 index 07e8d9e..9fe2a7a 100644 --- a/resources/chaosknoten/ntfy/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/ntfy/docker_compose/compose.yaml.j2 @@ -1,7 +1,7 @@ --- services: ntfy: - image: docker.io/binwiederhier/ntfy:v2.14.0@sha256:5a051798d14138c3ecb12c038652558ab6a077e1aceeb867c151cbf5fa8451ef + image: docker.io/binwiederhier/ntfy:v2.14.0 container_name: ntfy command: - serve diff --git a/resources/chaosknoten/onlyoffice/docker_compose/compose.yaml.j2 b/resources/chaosknoten/onlyoffice/docker_compose/compose.yaml.j2 index 5c9a42a..f3444ac 100644 --- a/resources/chaosknoten/onlyoffice/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/onlyoffice/docker_compose/compose.yaml.j2 @@ -4,7 +4,7 @@ services: onlyoffice: - image: docker.io/onlyoffice/documentserver:9.1.0@sha256:34b92f4a67bfd939bd6b75893e8217556e3b977f81e49472f7e28737b741ba1d + image: docker.io/onlyoffice/documentserver:9.1.0 restart: unless-stopped volumes: - "./onlyoffice/DocumentServer/logs:/var/log/onlyoffice" diff --git a/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 b/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 index 70dc7e6..455caa3 100644 --- a/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 @@ -3,7 +3,7 @@ services: database: - image: docker.io/library/postgres:15-alpine@sha256:64583b3cb4f2010277bdd9749456de78e5c36f8956466ba14b0b96922e510950 + image: docker.io/library/postgres:15-alpine environment: - "POSTGRES_USER=hedgedoc" - "POSTGRES_PASSWORD={{ secret__hedgedoc_db_password }}" @@ -13,7 +13,7 @@ services: restart: unless-stopped app: - image: quay.io/hedgedoc/hedgedoc:1.10.3@sha256:ca58fd73ecf05c89559b384fb7a1519c18c8cbba5c21a0018674ed820b9bdb73 + image: quay.io/hedgedoc/hedgedoc:1.10.3 environment: - "CMD_DB_URL=postgres://hedgedoc:{{ secret__hedgedoc_db_password }}@database:5432/hedgedoc" - "CMD_DOMAIN=pad.hamburg.ccc.de" diff --git a/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 b/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 index 243a468..3de7eac 100644 --- a/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 @@ -3,7 +3,7 @@ services: database: - image: docker.io/library/postgres:15-alpine@sha256:64583b3cb4f2010277bdd9749456de78e5c36f8956466ba14b0b96922e510950 + image: docker.io/library/postgres:15-alpine environment: - "POSTGRES_USER=pretalx" - "POSTGRES_PASSWORD={{ secret__pretalx_db_password }}" @@ -15,7 +15,7 @@ services: - pretalx_net redis: - image: docker.io/library/redis:8.2.2@sha256:4521b581dbddea6e7d81f8fe95ede93f5648aaa66a9dacd581611bf6fe7527bd + image: docker.io/library/redis:8.2.2 restart: unless-stopped volumes: - redis:/data @@ -23,7 +23,7 @@ services: - pretalx_net static: - image: docker.io/library/nginx:1.29.3@sha256:f547e3d0d5d02f7009737b284abc87d808e4252b42dceea361811e9fc606287f + image: docker.io/library/nginx:1.29.3 restart: unless-stopped volumes: - public:/usr/share/nginx/html @@ -33,7 +33,7 @@ services: - pretalx_net pretalx: - image: docker.io/pretalx/standalone:v2025.1.0@sha256:fb2d15f11bcae8bb15430084ed81a150cfdf7c79705450583b51e352ba486e8e + image: docker.io/pretalx/standalone:v2025.1.0 entrypoint: gunicorn command: - "pretalx.wsgi" @@ -78,7 +78,7 @@ services: - pretalx_net celery: - image: docker.io/pretalx/standalone:v2025.1.0@sha256:fb2d15f11bcae8bb15430084ed81a150cfdf7c79705450583b51e352ba486e8e + image: docker.io/pretalx/standalone:v2025.1.0 command: - taskworker restart: unless-stopped diff --git a/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 b/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 index deb9f50..6509a99 100644 --- a/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 @@ -1,7 +1,7 @@ --- services: database: - image: docker.io/library/postgres:15-alpine@sha256:64583b3cb4f2010277bdd9749456de78e5c36f8956466ba14b0b96922e510950 + image: docker.io/library/postgres:15-alpine environment: - "POSTGRES_USER=pretix" - "POSTGRES_PASSWORD={{ secret__pretix_db_password }}" @@ -13,7 +13,7 @@ services: restart: unless-stopped redis: - image: docker.io/library/redis:7.4.6@sha256:a9cc41d6d01da2aa26c219e4f99ecbeead955a7b656c1c499cce8922311b2514 + image: docker.io/library/redis:7.4.6 ports: - "6379:6379" volumes: @@ -25,7 +25,7 @@ services: backend: pretix: - image: docker.io/pretix/standalone:2024.8@sha256:110bac37efa5f736227f158f38e421ed738d03dccc274dfb415b258ab0f75cfe + image: docker.io/pretix/standalone:2024.8 command: ["all"] ports: - "8345:80" diff --git a/resources/z9/waybackproxy/docker_compose/compose.yaml.j2 b/resources/z9/waybackproxy/docker_compose/compose.yaml.j2 index 52d57df..b6752fa 100644 --- a/resources/z9/waybackproxy/docker_compose/compose.yaml.j2 +++ b/resources/z9/waybackproxy/docker_compose/compose.yaml.j2 @@ -1,7 +1,7 @@ services: # https://github.com/richardg867/WaybackProxy waybackproxy: - image: cttynul/waybackproxy:latest@sha256:e001d5b1d746522cd1ab2728092173c0d96f08086cbd3e49cdf1e298b8add22e + image: cttynul/waybackproxy:latest environment: DATE: 19990101 DATE_TOLERANCE: 730 From 0eaaf9227c730d0c0efe9f60381ecd38fee1d0ef Mon Sep 17 00:00:00 2001 From: Renovate Date: Wed, 19 Nov 2025 13:30:39 +0000 Subject: [PATCH 075/160] Update all stable non-major dependencies --- .forgejo/workflows/lint.yaml | 2 +- inventories/chaosknoten/host_vars/cloud.yaml | 2 +- inventories/chaosknoten/host_vars/netbox.yaml | 2 +- .../chaosknoten/grafana/docker_compose/compose.yaml.j2 | 8 ++++---- .../chaosknoten/keycloak/docker_compose/compose.yaml.j2 | 2 +- resources/chaosknoten/ntfy/docker_compose/compose.yaml.j2 | 2 +- .../chaosknoten/pretalx/docker_compose/compose.yaml.j2 | 2 +- .../chaosknoten/tickets/docker_compose/compose.yaml.j2 | 2 +- 8 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.forgejo/workflows/lint.yaml b/.forgejo/workflows/lint.yaml index 23bf6d2..d29fb6e 100644 --- a/.forgejo/workflows/lint.yaml +++ b/.forgejo/workflows/lint.yaml @@ -24,7 +24,7 @@ jobs: # work in our environmnet. # Rather manually setup python (pip) before instead. - name: Run ansible-lint - uses: https://github.com/ansible/ansible-lint@v25.9.2 + uses: https://github.com/ansible/ansible-lint@v25.11.0 with: setup_python: "false" requirements_file: "requirements.yml" diff --git a/inventories/chaosknoten/host_vars/cloud.yaml b/inventories/chaosknoten/host_vars/cloud.yaml index 0cbcd4d..fc4e23c 100644 --- a/inventories/chaosknoten/host_vars/cloud.yaml +++ b/inventories/chaosknoten/host_vars/cloud.yaml @@ -1,7 +1,7 @@ # renovate: datasource=docker depName=git.hamburg.ccc.de/ccchh/oci-images/nextcloud nextcloud__version: 32 # renovate: datasource=docker depName=docker.io/library/postgres -nextcloud__postgres_version: 15.14 +nextcloud__postgres_version: 15.15 nextcloud__fqdn: cloud.hamburg.ccc.de nextcloud__data_dir: /data/nextcloud nextcloud__extra_configuration: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/cloud/nextcloud/extra_configuration.config.php.j2') }}" diff --git a/inventories/chaosknoten/host_vars/netbox.yaml b/inventories/chaosknoten/host_vars/netbox.yaml index 60dd94a..3be8bdd 100644 --- a/inventories/chaosknoten/host_vars/netbox.yaml +++ b/inventories/chaosknoten/host_vars/netbox.yaml @@ -1,5 +1,5 @@ # renovate: datasource=github-releases depName=netbox packageName=netbox-community/netbox -netbox__version: "v4.4.5" +netbox__version: "v4.4.6" netbox__config: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/netbox/netbox/configuration.py.j2') }}" netbox__custom_pipeline_oidc_group_and_role_mapping: true diff --git a/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 b/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 index 74d7916..2d598f9 100644 --- a/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 @@ -2,7 +2,7 @@ services: prometheus: - image: docker.io/prom/prometheus:v3.7.2 + image: docker.io/prom/prometheus:v3.7.3 container_name: prometheus command: - '--config.file=/etc/prometheus/prometheus.yml' @@ -19,7 +19,7 @@ services: - prom_data:/prometheus alertmanager: - image: docker.io/prom/alertmanager:v0.28.1 + image: docker.io/prom/alertmanager:v0.29.0 container_name: alertmanager command: - '--config.file=/etc/alertmanager/alertmanager.yaml' @@ -32,7 +32,7 @@ services: - alertmanager_data:/alertmanager grafana: - image: docker.io/grafana/grafana:12.2.1 + image: docker.io/grafana/grafana:12.3.0 container_name: grafana ports: - 3000:3000 @@ -59,7 +59,7 @@ services: - /dev/null:/etc/prometheus/pve.yml loki: - image: docker.io/grafana/loki:3.5.7 + image: docker.io/grafana/loki:3.6.0 container_name: loki ports: - 13100:3100 diff --git a/resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 b/resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 index 9fde708..a260ab1 100644 --- a/resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 @@ -46,7 +46,7 @@ services: - "8080:8080" db: - image: docker.io/library/postgres:15.14 + image: docker.io/library/postgres:15.15 restart: unless-stopped networks: - keycloak diff --git a/resources/chaosknoten/ntfy/docker_compose/compose.yaml.j2 b/resources/chaosknoten/ntfy/docker_compose/compose.yaml.j2 index 9fe2a7a..50df05d 100644 --- a/resources/chaosknoten/ntfy/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/ntfy/docker_compose/compose.yaml.j2 @@ -1,7 +1,7 @@ --- services: ntfy: - image: docker.io/binwiederhier/ntfy:v2.14.0 + image: docker.io/binwiederhier/ntfy:v2.15.0 container_name: ntfy command: - serve diff --git a/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 b/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 index 3de7eac..dda67bb 100644 --- a/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 @@ -15,7 +15,7 @@ services: - pretalx_net redis: - image: docker.io/library/redis:8.2.2 + image: docker.io/library/redis:8.4.0 restart: unless-stopped volumes: - redis:/data diff --git a/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 b/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 index 6509a99..938883b 100644 --- a/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 @@ -13,7 +13,7 @@ services: restart: unless-stopped redis: - image: docker.io/library/redis:7.4.6 + image: docker.io/library/redis:7.4.7 ports: - "6379:6379" volumes: From df3710f0196206bbfae0996dcbc1ed7b9d8f09bf Mon Sep 17 00:00:00 2001 From: c6ristian Date: Tue, 2 Dec 2025 22:55:29 +0100 Subject: [PATCH 076/160] grafana: set alloy to version v1.11.3 1.12.0 is buggy --- inventories/chaosknoten/host_vars/grafana.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inventories/chaosknoten/host_vars/grafana.yaml b/inventories/chaosknoten/host_vars/grafana.yaml index 2e3672e..0037fcc 100644 --- a/inventories/chaosknoten/host_vars/grafana.yaml +++ b/inventories/chaosknoten/host_vars/grafana.yaml @@ -53,7 +53,7 @@ nginx__configurations: - name: metrics.hamburg.ccc.de content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/grafana/nginx/metrics.hamburg.ccc.de.conf') }}" - +alloy_version: "1.11.3" alloy_config: | prometheus.remote_write "default" { endpoint { From c39cb0e3909ca53df08e6389603cfbb77e32da2b Mon Sep 17 00:00:00 2001 From: c6ristian Date: Sat, 6 Dec 2025 22:11:53 +0100 Subject: [PATCH 077/160] we dont need to set a specific alloy version --- inventories/chaosknoten/host_vars/grafana.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/inventories/chaosknoten/host_vars/grafana.yaml b/inventories/chaosknoten/host_vars/grafana.yaml index 0037fcc..ecc942c 100644 --- a/inventories/chaosknoten/host_vars/grafana.yaml +++ b/inventories/chaosknoten/host_vars/grafana.yaml @@ -53,7 +53,6 @@ nginx__configurations: - name: metrics.hamburg.ccc.de content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/grafana/nginx/metrics.hamburg.ccc.de.conf') }}" -alloy_version: "1.11.3" alloy_config: | prometheus.remote_write "default" { endpoint { From 766aa125c4da85009ae7d3023be55dbc37c47d65 Mon Sep 17 00:00:00 2001 From: jtbx Date: Sun, 23 Feb 2025 18:49:19 +0100 Subject: [PATCH 078/160] router(host): introduce router --- inventories/chaosknoten/hosts.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index b9e6358..e668d49 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -51,6 +51,9 @@ all: public-reverse-proxy: ansible_host: public-reverse-proxy.hamburg.ccc.de ansible_user: chaos + router: + ansible_host: router.hamburg.ccc.de + ansible_user: chaos wiki: ansible_host: wiki-intern.hamburg.ccc.de ansible_user: chaos @@ -88,6 +91,7 @@ base_config_hosts: pad: pretalx: public-reverse-proxy: + router: tickets: wiki: zammad: @@ -173,6 +177,7 @@ infrastructure_authorized_keys_hosts: pad: pretalx: public-reverse-proxy: + router: wiki: zammad: ntfy: From d6ba70523cd45b95845acb49741bbaa699703994 Mon Sep 17 00:00:00 2001 From: June Date: Sat, 20 Sep 2025 20:05:02 +0200 Subject: [PATCH 079/160] systemd_networkd(role): introd. role for deploy. systemd-networkd config --- inventories/chaosknoten/hosts.yaml | 2 ++ playbooks/deploy.yaml | 5 +++++ roles/systemd_networkd/README.md | 11 +++++++++++ roles/systemd_networkd/meta/argument_specs.yaml | 6 ++++++ roles/systemd_networkd/tasks/main.yaml | 14 ++++++++++++++ 5 files changed, 38 insertions(+) create mode 100644 roles/systemd_networkd/README.md create mode 100644 roles/systemd_networkd/meta/argument_specs.yaml create mode 100644 roles/systemd_networkd/tasks/main.yaml diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index e668d49..51d2b56 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -98,6 +98,8 @@ base_config_hosts: ntfy: sunders: renovate: +systemd_networkd_hosts: + hosts: docker_compose_hosts: hosts: ccchoir: diff --git a/playbooks/deploy.yaml b/playbooks/deploy.yaml index d7bacac..ec7db50 100644 --- a/playbooks/deploy.yaml +++ b/playbooks/deploy.yaml @@ -4,6 +4,11 @@ roles: - base_config +- name: Ensure systemd-networkd config deployment on systemd_networkd_hosts + hosts: systemd_networkd_hosts + roles: + - systemd_networkd + - name: Ensure deployment of infrastructure authorized keys hosts: infrastructure_authorized_keys_hosts roles: diff --git a/roles/systemd_networkd/README.md b/roles/systemd_networkd/README.md new file mode 100644 index 0000000..3297c47 --- /dev/null +++ b/roles/systemd_networkd/README.md @@ -0,0 +1,11 @@ +# Role `systemd_networkd` + +Deploys the given systemd-networkd configuration files. + +## Support Distributions + +Should work on Debian-based distributions. + +## Required Arguments + +- `systemd_networkd__config_dir`: Directory with systemd-networkd configs to deploy. diff --git a/roles/systemd_networkd/meta/argument_specs.yaml b/roles/systemd_networkd/meta/argument_specs.yaml new file mode 100644 index 0000000..81b046a --- /dev/null +++ b/roles/systemd_networkd/meta/argument_specs.yaml @@ -0,0 +1,6 @@ +argument_specs: + main: + options: + systemd_networkd__config_dir: + type: path + required: true diff --git a/roles/systemd_networkd/tasks/main.yaml b/roles/systemd_networkd/tasks/main.yaml new file mode 100644 index 0000000..f88ed14 --- /dev/null +++ b/roles/systemd_networkd/tasks/main.yaml @@ -0,0 +1,14 @@ +- name: ensure rsync is installed + ansible.builtin.apt: + name: rsync + state: present + become: true + +- name: synchronize systemd-networkd configs + ansible.posix.synchronize: + src: "{{ systemd_networkd__config_dir }}" + dest: "/etc/systemd/network" + archive: false + recursive: true + delete: true + become: true From a9e394da063211b91f6c120dfa5a30f52aac64ad Mon Sep 17 00:00:00 2001 From: June Date: Sat, 20 Sep 2025 20:03:30 +0200 Subject: [PATCH 080/160] router(host): add systemd-networkd-based network config --- inventories/chaosknoten/host_vars/router.yaml | 1 + inventories/chaosknoten/hosts.yaml | 1 + .../router/systemd_networkd/00-net0.link | 6 ++++ .../router/systemd_networkd/00-net1.link | 6 ++++ .../router/systemd_networkd/00-net2.link | 6 ++++ .../systemd_networkd/10-net0.2-v4_nat.netdev | 7 +++++ .../10-net0.3-ci_runner.netdev | 7 +++++ .../router/systemd_networkd/20-net0.network | 12 ++++++++ .../router/systemd_networkd/20-net1.network | 14 +++++++++ .../router/systemd_networkd/20-net2.network | 14 +++++++++ .../systemd_networkd/21-net0.2-v4_nat.network | 23 +++++++++++++++ .../21-net0.3-ci_runners.network | 29 +++++++++++++++++++ 12 files changed, 126 insertions(+) create mode 100644 inventories/chaosknoten/host_vars/router.yaml create mode 100644 resources/chaosknoten/router/systemd_networkd/00-net0.link create mode 100644 resources/chaosknoten/router/systemd_networkd/00-net1.link create mode 100644 resources/chaosknoten/router/systemd_networkd/00-net2.link create mode 100644 resources/chaosknoten/router/systemd_networkd/10-net0.2-v4_nat.netdev create mode 100644 resources/chaosknoten/router/systemd_networkd/10-net0.3-ci_runner.netdev create mode 100644 resources/chaosknoten/router/systemd_networkd/20-net0.network create mode 100644 resources/chaosknoten/router/systemd_networkd/20-net1.network create mode 100644 resources/chaosknoten/router/systemd_networkd/20-net2.network create mode 100644 resources/chaosknoten/router/systemd_networkd/21-net0.2-v4_nat.network create mode 100644 resources/chaosknoten/router/systemd_networkd/21-net0.3-ci_runners.network diff --git a/inventories/chaosknoten/host_vars/router.yaml b/inventories/chaosknoten/host_vars/router.yaml new file mode 100644 index 0000000..b181c0a --- /dev/null +++ b/inventories/chaosknoten/host_vars/router.yaml @@ -0,0 +1 @@ +systemd_networkd__config_dir: 'resources/chaosknoten/router/systemd_networkd/' diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index 51d2b56..d3217ab 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -100,6 +100,7 @@ base_config_hosts: renovate: systemd_networkd_hosts: hosts: + router: docker_compose_hosts: hosts: ccchoir: diff --git a/resources/chaosknoten/router/systemd_networkd/00-net0.link b/resources/chaosknoten/router/systemd_networkd/00-net0.link new file mode 100644 index 0000000..0c55d13 --- /dev/null +++ b/resources/chaosknoten/router/systemd_networkd/00-net0.link @@ -0,0 +1,6 @@ +[Match] +MACAddress=BC:24:11:54:11:15 +Type=ether + +[Link] +Name=net0 diff --git a/resources/chaosknoten/router/systemd_networkd/00-net1.link b/resources/chaosknoten/router/systemd_networkd/00-net1.link new file mode 100644 index 0000000..ef04d04 --- /dev/null +++ b/resources/chaosknoten/router/systemd_networkd/00-net1.link @@ -0,0 +1,6 @@ +[Match] +MACAddress=BC:24:11:9A:FB:34 +Type=ether + +[Link] +Name=net1 diff --git a/resources/chaosknoten/router/systemd_networkd/00-net2.link b/resources/chaosknoten/router/systemd_networkd/00-net2.link new file mode 100644 index 0000000..2a56f72 --- /dev/null +++ b/resources/chaosknoten/router/systemd_networkd/00-net2.link @@ -0,0 +1,6 @@ +[Match] +MACAddress=BC:24:11:AE:C7:04 +Type=ether + +[Link] +Name=net2 diff --git a/resources/chaosknoten/router/systemd_networkd/10-net0.2-v4_nat.netdev b/resources/chaosknoten/router/systemd_networkd/10-net0.2-v4_nat.netdev new file mode 100644 index 0000000..a46afb4 --- /dev/null +++ b/resources/chaosknoten/router/systemd_networkd/10-net0.2-v4_nat.netdev @@ -0,0 +1,7 @@ +[NetDev] +Name=net0.2 +Kind=vlan + +[VLAN] +Id=2 + diff --git a/resources/chaosknoten/router/systemd_networkd/10-net0.3-ci_runner.netdev b/resources/chaosknoten/router/systemd_networkd/10-net0.3-ci_runner.netdev new file mode 100644 index 0000000..0cd60db --- /dev/null +++ b/resources/chaosknoten/router/systemd_networkd/10-net0.3-ci_runner.netdev @@ -0,0 +1,7 @@ +[NetDev] +Name=net0.3 +Kind=vlan + +[VLAN] +Id=3 + diff --git a/resources/chaosknoten/router/systemd_networkd/20-net0.network b/resources/chaosknoten/router/systemd_networkd/20-net0.network new file mode 100644 index 0000000..a32d75e --- /dev/null +++ b/resources/chaosknoten/router/systemd_networkd/20-net0.network @@ -0,0 +1,12 @@ +[Match] +Name=net0 + +[Link] +RequiredForOnline=no + +[Network] +VLAN=net0.2 +VLAN=net0.3 + +LinkLocalAddressing=no + diff --git a/resources/chaosknoten/router/systemd_networkd/20-net1.network b/resources/chaosknoten/router/systemd_networkd/20-net1.network new file mode 100644 index 0000000..c8bffc1 --- /dev/null +++ b/resources/chaosknoten/router/systemd_networkd/20-net1.network @@ -0,0 +1,14 @@ +[Match] +Name=net1 + +[Network] +DNS=212.12.50.158 +IPForward=ipv4 +IPv6AcceptRA=no + +[Address] +Address=212.12.48.123/24 + +[Route] +Gateway=212.12.48.55 + diff --git a/resources/chaosknoten/router/systemd_networkd/20-net2.network b/resources/chaosknoten/router/systemd_networkd/20-net2.network new file mode 100644 index 0000000..b3f497d --- /dev/null +++ b/resources/chaosknoten/router/systemd_networkd/20-net2.network @@ -0,0 +1,14 @@ +[Match] +Name=net2 + +[Network] +#DNS=212.12.50.158 +IPForward=ipv6 +IPv6AcceptRA=no + +[Address] +Address=2a00:14b0:4200:3500::130:2/112 + +[Route] +Gateway=2a00:14b0:4200:3500::130:1 + diff --git a/resources/chaosknoten/router/systemd_networkd/21-net0.2-v4_nat.network b/resources/chaosknoten/router/systemd_networkd/21-net0.2-v4_nat.network new file mode 100644 index 0000000..880dd1d --- /dev/null +++ b/resources/chaosknoten/router/systemd_networkd/21-net0.2-v4_nat.network @@ -0,0 +1,23 @@ +[Match] +Name=net0.2 +Type=vlan + +[Link] +RequiredForOnline=no + +[Network] +Description=v4-NAT + +IPMasquerade=ipv4 +IPv6SendRA=yes + +[Address] +Address=10.32.2.1/24 + +[IPv6SendRA] +UplinkInterface=net2 + +[IPv6Prefix] +Prefix=2a00:14b0:42:102::/64 +Assign=true +Token=static:::1 diff --git a/resources/chaosknoten/router/systemd_networkd/21-net0.3-ci_runners.network b/resources/chaosknoten/router/systemd_networkd/21-net0.3-ci_runners.network new file mode 100644 index 0000000..6f73beb --- /dev/null +++ b/resources/chaosknoten/router/systemd_networkd/21-net0.3-ci_runners.network @@ -0,0 +1,29 @@ +[Match] +Name=net0.3 +Type=vlan + +[Link] +RequiredForOnline=no + +[Network] +Description=ci-runners + +IPMasquerade=ipv4 +IPv6SendRA=yes + +DHCPServer=true + +[DHCPServer] +PoolOffset=100 +PoolSize=150 + +[Address] +Address=10.32.3.1/24 + +[IPv6SendRA] +UplinkInterface=net2 + +[IPv6Prefix] +Prefix=2a00:14b0:42:103::/64 +Assign=true +Token=static:::1 From d0618e382050aeabb4d50942df03d89bfb16f91a Mon Sep 17 00:00:00 2001 From: June Date: Sat, 20 Sep 2025 21:38:39 +0200 Subject: [PATCH 081/160] nftables(role): introduce role for deploying nftables --- inventories/chaosknoten/hosts.yaml | 2 ++ playbooks/deploy.yaml | 5 +++++ roles/nftables/README.md | 11 +++++++++++ roles/nftables/handlers/main.yaml | 5 +++++ roles/nftables/meta/argument_specs.yaml | 6 ++++++ roles/nftables/tasks/main.yaml | 15 +++++++++++++++ 6 files changed, 44 insertions(+) create mode 100644 roles/nftables/README.md create mode 100644 roles/nftables/handlers/main.yaml create mode 100644 roles/nftables/meta/argument_specs.yaml create mode 100644 roles/nftables/tasks/main.yaml diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index d3217ab..55ab696 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -101,6 +101,8 @@ base_config_hosts: systemd_networkd_hosts: hosts: router: +nftables_hosts: + hosts: docker_compose_hosts: hosts: ccchoir: diff --git a/playbooks/deploy.yaml b/playbooks/deploy.yaml index ec7db50..f416b91 100644 --- a/playbooks/deploy.yaml +++ b/playbooks/deploy.yaml @@ -9,6 +9,11 @@ roles: - systemd_networkd +- name: Ensure nftables deployment on nftables_hosts + hosts: nftables_hosts + roles: + - nftables + - name: Ensure deployment of infrastructure authorized keys hosts: infrastructure_authorized_keys_hosts roles: diff --git a/roles/nftables/README.md b/roles/nftables/README.md new file mode 100644 index 0000000..81d8871 --- /dev/null +++ b/roles/nftables/README.md @@ -0,0 +1,11 @@ +# Role `nftables` + +Deploys nftables. + +## Support Distributions + +Should work on Debian-based distributions. + +## Required Arguments + +- `nftables__config`: nftables configuration to deploy. diff --git a/roles/nftables/handlers/main.yaml b/roles/nftables/handlers/main.yaml new file mode 100644 index 0000000..3b72c54 --- /dev/null +++ b/roles/nftables/handlers/main.yaml @@ -0,0 +1,5 @@ +- name: Restart nftables service + ansible.builtin.systemd_service: + name: nftables + state: restarted + become: true diff --git a/roles/nftables/meta/argument_specs.yaml b/roles/nftables/meta/argument_specs.yaml new file mode 100644 index 0000000..aa56223 --- /dev/null +++ b/roles/nftables/meta/argument_specs.yaml @@ -0,0 +1,6 @@ +argument_specs: + main: + options: + nftables__config: + type: str + required: true diff --git a/roles/nftables/tasks/main.yaml b/roles/nftables/tasks/main.yaml new file mode 100644 index 0000000..46ea18d --- /dev/null +++ b/roles/nftables/tasks/main.yaml @@ -0,0 +1,15 @@ +- name: ensure nftables is installed + ansible.builtin.apt: + name: nftables + state: present + become: true + +- name: deploy nftables configuration + ansible.builtin.copy: + content: "{{ nftables__config }}" + dest: "/etc/nftables.conf" + mode: "0644" + owner: root + group: root + become: true + notify: Restart nftables service From 183b91b9f2d289fcbde59687f476632cef024250 Mon Sep 17 00:00:00 2001 From: June Date: Sat, 20 Sep 2025 23:34:17 +0200 Subject: [PATCH 082/160] router(host): add nftables config for basic router functionality --- inventories/chaosknoten/host_vars/router.yaml | 1 + inventories/chaosknoten/hosts.yaml | 1 + .../chaosknoten/router/nftables/nftables.conf | 73 +++++++++++++++++++ .../systemd_networkd/21-net0.2-v4_nat.network | 2 +- .../21-net0.3-ci_runners.network | 2 +- 5 files changed, 77 insertions(+), 2 deletions(-) create mode 100644 resources/chaosknoten/router/nftables/nftables.conf diff --git a/inventories/chaosknoten/host_vars/router.yaml b/inventories/chaosknoten/host_vars/router.yaml index b181c0a..134d29f 100644 --- a/inventories/chaosknoten/host_vars/router.yaml +++ b/inventories/chaosknoten/host_vars/router.yaml @@ -1 +1,2 @@ systemd_networkd__config_dir: 'resources/chaosknoten/router/systemd_networkd/' +nftables__config: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/router/nftables/nftables.conf') }}" diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index 55ab696..e592d23 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -103,6 +103,7 @@ systemd_networkd_hosts: router: nftables_hosts: hosts: + router: docker_compose_hosts: hosts: ccchoir: diff --git a/resources/chaosknoten/router/nftables/nftables.conf b/resources/chaosknoten/router/nftables/nftables.conf new file mode 100644 index 0000000..6bc6cbe --- /dev/null +++ b/resources/chaosknoten/router/nftables/nftables.conf @@ -0,0 +1,73 @@ +#!/usr/sbin/nft -f + +## Variables + +# Interfaces +define if_net1_v4_wan = "net1" +define if_net2_v6_wan = "net2" +define if_net0_2_v4_nat = "net0.2" +define if_net0_3_ci_runner = "net0.3" + +# Interface Groups +define wan_ifs = { $if_net1_v4_wan, + $if_net2_v6_wan } +define lan_ifs = { $if_net0_2_v4_nat, + $if_net0_3_ci_runner } + + +## Rules + +table inet reverse-path-forwarding { + chain rpf-filter { + type filter hook prerouting priority mangle + 10; policy drop; + + # Only allow packets if their source address is routed via their incoming interface. + # https://github.com/NixOS/nixpkgs/blob/d9d87c51960050e89c79e4025082ed965e770d68/nixos/modules/services/networking/firewall-nftables.nix#L100 + fib saddr . mark . iif oif exists accept + } +} + +table inet host { + chain input { + type filter hook input priority filter; policy drop; + + iifname "lo" accept comment "allow loopback" + + ct state invalid drop + ct state established,related accept + + ip protocol icmp accept + ip6 nexthdr icmpv6 accept + + # Allow SSH access. + tcp dport 22 accept comment "allow ssh access" + + # Allow DHCP server access. + iifname $if_net0_3_ci_runner udp dport 67 accept comment "allow dhcp server access" + } +} + +table ip v4nat { + chain prerouting { + type nat hook prerouting priority dstnat; policy accept; + } + + chain postrouting { + type nat hook postrouting priority srcnat; policy accept; + + oifname $if_net1_v4_wan masquerade + } +} + +table inet forward { + chain forward { + type filter hook forward priority filter; policy drop; + + ct state invalid drop + ct state established,related accept + + # Allow internet access. + meta nfproto ipv6 iifname $lan_ifs oifname $if_net2_v6_wan accept comment "allow v6 internet access" + meta nfproto ipv4 iifname $lan_ifs oifname $if_net1_v4_wan accept comment "allow v4 internet access" + } +} diff --git a/resources/chaosknoten/router/systemd_networkd/21-net0.2-v4_nat.network b/resources/chaosknoten/router/systemd_networkd/21-net0.2-v4_nat.network index 880dd1d..c7fd9a7 100644 --- a/resources/chaosknoten/router/systemd_networkd/21-net0.2-v4_nat.network +++ b/resources/chaosknoten/router/systemd_networkd/21-net0.2-v4_nat.network @@ -8,7 +8,7 @@ RequiredForOnline=no [Network] Description=v4-NAT -IPMasquerade=ipv4 +# Masquerading done in nftables (nftables.conf). IPv6SendRA=yes [Address] diff --git a/resources/chaosknoten/router/systemd_networkd/21-net0.3-ci_runners.network b/resources/chaosknoten/router/systemd_networkd/21-net0.3-ci_runners.network index 6f73beb..9caca86 100644 --- a/resources/chaosknoten/router/systemd_networkd/21-net0.3-ci_runners.network +++ b/resources/chaosknoten/router/systemd_networkd/21-net0.3-ci_runners.network @@ -8,7 +8,7 @@ RequiredForOnline=no [Network] Description=ci-runners -IPMasquerade=ipv4 +# Masquerading done in nftables (nftables.conf). IPv6SendRA=yes DHCPServer=true From 66ee44366b5e08b2368b82a25c1b1b4cd0882ff5 Mon Sep 17 00:00:00 2001 From: jtbx Date: Sun, 14 Dec 2025 15:39:03 +0100 Subject: [PATCH 083/160] public-reverse-proxy: New IP of wiki VM --- resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf index 4a449f5..de8ebdd 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf @@ -27,8 +27,8 @@ stream { invite.hamburg.ccc.de 172.31.17.144:8443; keycloak-admin.hamburg.ccc.de 172.31.17.144:8444; grafana.hamburg.ccc.de 172.31.17.145:8443; - wiki.ccchh.net 172.31.17.146:8443; - wiki.hamburg.ccc.de 172.31.17.146:8443; + wiki.ccchh.net wiki.hosts.hamburg.ccc.de:8443; + wiki.hamburg.ccc.de wiki.hosts.hamburg.ccc.de:8443; onlyoffice.hamburg.ccc.de 172.31.17.147:8443; hackertours.hamburg.ccc.de 172.31.17.151:8443; staging.hackertours.hamburg.ccc.de 172.31.17.151:8443; From 5f98dca56c258b10c58c7efced616867f56de551 Mon Sep 17 00:00:00 2001 From: June Date: Tue, 16 Dec 2025 19:03:36 +0100 Subject: [PATCH 084/160] router(host): expose public v6 networks Also prepare for exposing public v4 networks later. --- resources/chaosknoten/router/nftables/nftables.conf | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/resources/chaosknoten/router/nftables/nftables.conf b/resources/chaosknoten/router/nftables/nftables.conf index 6bc6cbe..6d04a4c 100644 --- a/resources/chaosknoten/router/nftables/nftables.conf +++ b/resources/chaosknoten/router/nftables/nftables.conf @@ -13,6 +13,8 @@ define wan_ifs = { $if_net1_v4_wan, $if_net2_v6_wan } define lan_ifs = { $if_net0_2_v4_nat, $if_net0_3_ci_runner } +# define v4_exposed_ifs = { } +define v6_exposed_ifs = { $if_net0_2_v4_nat } ## Rules @@ -69,5 +71,9 @@ table inet forward { # Allow internet access. meta nfproto ipv6 iifname $lan_ifs oifname $if_net2_v6_wan accept comment "allow v6 internet access" meta nfproto ipv4 iifname $lan_ifs oifname $if_net1_v4_wan accept comment "allow v4 internet access" + + # Allow access to exposed networks from internet. + # meta nfproto ipv4 oifname $v4_exposed_ifs accept comment "allow v4 exposed network access" + meta nfproto ipv6 oifname $v6_exposed_ifs accept comment "allow v6 exposed network access" } } From 8b94a49f5e3255377f349087b1e224903696329a Mon Sep 17 00:00:00 2001 From: June Date: Tue, 16 Dec 2025 19:23:33 +0100 Subject: [PATCH 085/160] wiki(host): move to new network and internal hostname --- inventories/chaosknoten/hosts.yaml | 4 ++-- .../public-reverse-proxy/nginx/acme_challenge.conf | 4 ++-- resources/chaosknoten/wiki/nginx/wiki.ccchh.net.conf | 4 ++-- resources/chaosknoten/wiki/nginx/wiki.hamburg.ccc.de.conf | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index e592d23..a43e940 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -55,9 +55,9 @@ all: ansible_host: router.hamburg.ccc.de ansible_user: chaos wiki: - ansible_host: wiki-intern.hamburg.ccc.de + ansible_host: wiki.hosts.hamburg.ccc.de ansible_user: chaos - ansible_ssh_common_args: -J ssh://chaos@public-reverse-proxy.hamburg.ccc.de + ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de zammad: ansible_host: zammad-intern.hamburg.ccc.de ansible_user: chaos diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf index 165e166..dabf4aa 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf @@ -25,8 +25,8 @@ map $host $upstream_acme_challenge_host { pretalx.hamburg.ccc.de 172.31.17.157:31820; spaceapi.hamburg.ccc.de 172.31.17.151:31820; staging.hamburg.ccc.de 172.31.17.151:31820; - wiki.ccchh.net 172.31.17.146:31820; - wiki.hamburg.ccc.de 172.31.17.146:31820; + wiki.ccchh.net wiki.hosts.hamburg.ccc.de:31820; + wiki.hamburg.ccc.de wiki.hosts.hamburg.ccc.de:31820; www.hamburg.ccc.de 172.31.17.151:31820; tickets.hamburg.ccc.de 172.31.17.148:31820; sunders.hamburg.ccc.de 172.31.17.170:31820; diff --git a/resources/chaosknoten/wiki/nginx/wiki.ccchh.net.conf b/resources/chaosknoten/wiki/nginx/wiki.ccchh.net.conf index a564fc2..c393dd1 100644 --- a/resources/chaosknoten/wiki/nginx/wiki.ccchh.net.conf +++ b/resources/chaosknoten/wiki/nginx/wiki.ccchh.net.conf @@ -7,7 +7,7 @@ server { # $remote_port to the client address and client port, when using proxy # protocol. # First set our proxy protocol proxy as trusted. - set_real_ip_from 172.31.17.140; + set_real_ip_from 2a00:14b0:4200:3000:125::1; # Then tell the realip_module to get the addreses from the proxy protocol # header. real_ip_header proxy_protocol; @@ -21,6 +21,6 @@ server { # HSTS (ngx_http_headers_module is required) (63072000 seconds) add_header Strict-Transport-Security "max-age=63072000" always; - + return 302 https://wiki.hamburg.ccc.de$request_uri; } diff --git a/resources/chaosknoten/wiki/nginx/wiki.hamburg.ccc.de.conf b/resources/chaosknoten/wiki/nginx/wiki.hamburg.ccc.de.conf index ccdd224..255dc0a 100644 --- a/resources/chaosknoten/wiki/nginx/wiki.hamburg.ccc.de.conf +++ b/resources/chaosknoten/wiki/nginx/wiki.hamburg.ccc.de.conf @@ -7,7 +7,7 @@ server { # $remote_port to the client address and client port, when using proxy # protocol. # First set our proxy protocol proxy as trusted. - set_real_ip_from 172.31.17.140; + set_real_ip_from 2a00:14b0:4200:3000:125::1; # Then tell the realip_module to get the addreses from the proxy protocol # header. real_ip_header proxy_protocol; From b72dee0d6d9e0cfe9c3aea5143fe8c8cfe463604 Mon Sep 17 00:00:00 2001 From: June Date: Tue, 16 Dec 2025 19:52:24 +0100 Subject: [PATCH 086/160] wiki(host): actually have nginx listen on v6 --- resources/chaosknoten/wiki/nginx/wiki.ccchh.net.conf | 1 + resources/chaosknoten/wiki/nginx/wiki.hamburg.ccc.de.conf | 1 + 2 files changed, 2 insertions(+) diff --git a/resources/chaosknoten/wiki/nginx/wiki.ccchh.net.conf b/resources/chaosknoten/wiki/nginx/wiki.ccchh.net.conf index c393dd1..472236a 100644 --- a/resources/chaosknoten/wiki/nginx/wiki.ccchh.net.conf +++ b/resources/chaosknoten/wiki/nginx/wiki.ccchh.net.conf @@ -3,6 +3,7 @@ server { # Listen on a custom port for the proxy protocol. listen 8443 ssl http2 proxy_protocol; + listen [::]:8443 ssl http2 proxy_protocol; # Make use of the ngx_http_realip_module to set the $remote_addr and # $remote_port to the client address and client port, when using proxy # protocol. diff --git a/resources/chaosknoten/wiki/nginx/wiki.hamburg.ccc.de.conf b/resources/chaosknoten/wiki/nginx/wiki.hamburg.ccc.de.conf index 255dc0a..b4eab7f 100644 --- a/resources/chaosknoten/wiki/nginx/wiki.hamburg.ccc.de.conf +++ b/resources/chaosknoten/wiki/nginx/wiki.hamburg.ccc.de.conf @@ -3,6 +3,7 @@ server { # Listen on a custom port for the proxy protocol. listen 8443 ssl http2 proxy_protocol; + listen [::]:8443 ssl http2 proxy_protocol; # Make use of the ngx_http_realip_module to set the $remote_addr and # $remote_port to the client address and client port, when using proxy # protocol. From 5a476f21034dd48c3a6b17758be92d3dfe9f62f0 Mon Sep 17 00:00:00 2001 From: June Date: Tue, 16 Dec 2025 20:47:44 +0100 Subject: [PATCH 087/160] cloud(host): move to new network and hostname --- inventories/chaosknoten/hosts.yaml | 4 ++-- .../public-reverse-proxy/nginx/acme_challenge.conf | 2 +- resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf | 2 +- roles/nextcloud/templates/nginx_nextcloud.conf.j2 | 1 + 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index a43e940..5aa1363 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -7,9 +7,9 @@ all: chaosknoten: ansible_host: chaosknoten.hamburg.ccc.de cloud: - ansible_host: cloud-intern.hamburg.ccc.de + ansible_host: cloud.hosts.hamburg.ccc.de ansible_user: chaos - ansible_ssh_common_args: -J ssh://chaos@public-reverse-proxy.hamburg.ccc.de + ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de eh22-wiki: ansible_host: eh22-wiki-intern.hamburg.ccc.de ansible_user: chaos diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf index dabf4aa..9fdf0fc 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf @@ -6,7 +6,7 @@ map $host $upstream_acme_challenge_host { staging.c3cat.de 172.31.17.151:31820; ccchoir.de ccchoir-intern.hamburg.ccc.de:31820; www.ccchoir.de ccchoir-intern.hamburg.ccc.de:31820; - cloud.hamburg.ccc.de 172.31.17.143:31820; + cloud.hamburg.ccc.de cloud.hosts.hamburg.ccc.de:31820; element.hamburg.ccc.de 172.31.17.151:31820; git.hamburg.ccc.de 172.31.17.154:31820; grafana.hamburg.ccc.de 172.31.17.145:31820; diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf index de8ebdd..84c1187 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf @@ -20,7 +20,7 @@ stream { map $ssl_preread_server_name $address { ccchoir.de ccchoir-intern.hamburg.ccc.de:8443; www.ccchoir.de ccchoir-intern.hamburg.ccc.de:8443; - cloud.hamburg.ccc.de cloud-intern.hamburg.ccc.de:8443; + cloud.hamburg.ccc.de cloud.hosts.hamburg.ccc.de:8443; pad.hamburg.ccc.de pad-intern.hamburg.ccc.de:8443; pretalx.hamburg.ccc.de pretalx-intern.hamburg.ccc.de:8443; id.hamburg.ccc.de 172.31.17.144:8443; diff --git a/roles/nextcloud/templates/nginx_nextcloud.conf.j2 b/roles/nextcloud/templates/nginx_nextcloud.conf.j2 index c15a653..1beeaf3 100644 --- a/roles/nextcloud/templates/nginx_nextcloud.conf.j2 +++ b/roles/nextcloud/templates/nginx_nextcloud.conf.j2 @@ -4,6 +4,7 @@ server { # Listen on a custom port for the proxy protocol. listen 8443 ssl http2 proxy_protocol; + listen [::]:8443 ssl http2 proxy_protocol; # Make use of the ngx_http_realip_module to set the $remote_addr and # $remote_port to the client address and client port, when using proxy # protocol. From 570600fce31e2df5fe2f11beedbe56cabffe377f Mon Sep 17 00:00:00 2001 From: June Date: Tue, 16 Dec 2025 20:58:05 +0100 Subject: [PATCH 088/160] eh22-wiki(host): move to new network and hostname --- inventories/chaosknoten/hosts.yaml | 4 ++-- resources/chaosknoten/eh22-wiki/nginx/eh22.easterhegg.eu.conf | 3 ++- .../public-reverse-proxy/nginx/acme_challenge.conf | 2 +- resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index 5aa1363..c18788e 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -11,9 +11,9 @@ all: ansible_user: chaos ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de eh22-wiki: - ansible_host: eh22-wiki-intern.hamburg.ccc.de + ansible_host: eh22-wiki.hosts.hamburg.ccc.de ansible_user: chaos - ansible_ssh_common_args: -J ssh://chaos@public-reverse-proxy.hamburg.ccc.de + ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de grafana: ansible_host: grafana-intern.hamburg.ccc.de ansible_user: chaos diff --git a/resources/chaosknoten/eh22-wiki/nginx/eh22.easterhegg.eu.conf b/resources/chaosknoten/eh22-wiki/nginx/eh22.easterhegg.eu.conf index d3ed959..8c801fe 100644 --- a/resources/chaosknoten/eh22-wiki/nginx/eh22.easterhegg.eu.conf +++ b/resources/chaosknoten/eh22-wiki/nginx/eh22.easterhegg.eu.conf @@ -3,11 +3,12 @@ server { # Listen on a custom port for the proxy protocol. listen 8443 ssl http2 proxy_protocol; + listen [::]:8443 ssl http2 proxy_protocol; # Make use of the ngx_http_realip_module to set the $remote_addr and # $remote_port to the client address and client port, when using proxy # protocol. # First set our proxy protocol proxy as trusted. - set_real_ip_from 172.31.17.140; + set_real_ip_from 2a00:14b0:4200:3000:125::1; # Then tell the realip_module to get the addreses from the proxy protocol # header. real_ip_header proxy_protocol; diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf index 9fdf0fc..290dbad 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf @@ -38,7 +38,7 @@ map $host $upstream_acme_challenge_host { eh11.easterhegg.eu 172.31.17.151:31820; eh20.easterhegg.eu 172.31.17.151:31820; www.eh20.easterhegg.eu 172.31.17.151:31820; - eh22.easterhegg.eu 172.31.17.165:31820; + eh22.easterhegg.eu eh22-wiki.hosts.hamburg.ccc.de:31820; easterheggxxxx.hamburg.ccc.de 172.31.17.151:31820; eh2003.hamburg.ccc.de 172.31.17.151:31820; www.eh2003.hamburg.ccc.de 172.31.17.151:31820; diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf index 84c1187..076618a 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf @@ -56,7 +56,7 @@ stream { eh11.easterhegg.eu 172.31.17.151:8443; eh20.easterhegg.eu 172.31.17.151:8443; www.eh20.easterhegg.eu 172.31.17.151:8443; - eh22.easterhegg.eu 172.31.17.165:8443; + eh22.easterhegg.eu eh22-wiki.hosts.hamburg.ccc.de:8443; easterheggxxxx.hamburg.ccc.de 172.31.17.151:8443; eh2003.hamburg.ccc.de 172.31.17.151:8443; www.eh2003.hamburg.ccc.de 172.31.17.151:8443; From b9add5bda3957778dba8b3b5849a82e625ce0609 Mon Sep 17 00:00:00 2001 From: June Date: Tue, 16 Dec 2025 20:59:15 +0100 Subject: [PATCH 089/160] cloud(host): set correct new proxy protocol reverse proxy ip --- inventories/chaosknoten/host_vars/cloud.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inventories/chaosknoten/host_vars/cloud.yaml b/inventories/chaosknoten/host_vars/cloud.yaml index fc4e23c..b6cf771 100644 --- a/inventories/chaosknoten/host_vars/cloud.yaml +++ b/inventories/chaosknoten/host_vars/cloud.yaml @@ -7,5 +7,5 @@ nextcloud__data_dir: /data/nextcloud nextcloud__extra_configuration: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/cloud/nextcloud/extra_configuration.config.php.j2') }}" nextcloud__use_custom_new_user_skeleton: true nextcloud__custom_new_user_skeleton_directory: "resources/chaosknoten/cloud/nextcloud/new_user_skeleton_directory/" -nextcloud__proxy_protocol_reverse_proxy_ip: 172.31.17.140 +nextcloud__proxy_protocol_reverse_proxy_ip: "2a00:14b0:4200:3000:125::1" nextcloud__certbot_acme_account_email_address: le-admin@hamburg.ccc.de From 1ca71a053e4f554ae8e1e53bc2accbe124afe78e Mon Sep 17 00:00:00 2001 From: June Date: Tue, 16 Dec 2025 21:12:21 +0100 Subject: [PATCH 090/160] pad(host): move to new network and hostname --- inventories/chaosknoten/hosts.yaml | 4 ++-- resources/chaosknoten/pad/nginx/pad.hamburg.ccc.de.conf | 3 ++- .../public-reverse-proxy/nginx/acme_challenge.conf | 2 +- resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index c18788e..3d67707 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -41,9 +41,9 @@ all: ansible_user: chaos ansible_ssh_common_args: -J ssh://chaos@public-reverse-proxy.hamburg.ccc.de pad: - ansible_host: pad-intern.hamburg.ccc.de + ansible_host: pad.hosts.hamburg.ccc.de ansible_user: chaos - ansible_ssh_common_args: -J ssh://chaos@public-reverse-proxy.hamburg.ccc.de + ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de pretalx: ansible_host: pretalx-intern.hamburg.ccc.de ansible_user: chaos diff --git a/resources/chaosknoten/pad/nginx/pad.hamburg.ccc.de.conf b/resources/chaosknoten/pad/nginx/pad.hamburg.ccc.de.conf index 53d0a0d..6c453d1 100644 --- a/resources/chaosknoten/pad/nginx/pad.hamburg.ccc.de.conf +++ b/resources/chaosknoten/pad/nginx/pad.hamburg.ccc.de.conf @@ -3,11 +3,12 @@ server { # Listen on a custom port for the proxy protocol. listen 8443 ssl http2 proxy_protocol; + listen [::]:8443 ssl http2 proxy_protocol; # Make use of the ngx_http_realip_module to set the $remote_addr and # $remote_port to the client address and client port, when using proxy # protocol. # First set our proxy protocol proxy as trusted. - set_real_ip_from 172.31.17.140; + set_real_ip_from 2a00:14b0:4200:3000:125::1; # Then tell the realip_module to get the addreses from the proxy protocol # header. real_ip_header proxy_protocol; diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf index 290dbad..6899c57 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf @@ -21,7 +21,7 @@ map $host $upstream_acme_challenge_host { element-admin.hamburg.ccc.de 172.31.17.151:31820; netbox.hamburg.ccc.de 172.31.17.167:31820; onlyoffice.hamburg.ccc.de 172.31.17.147:31820; - pad.hamburg.ccc.de 172.31.17.141:31820; + pad.hamburg.ccc.de pad.hosts.hamburg.ccc.de:31820; pretalx.hamburg.ccc.de 172.31.17.157:31820; spaceapi.hamburg.ccc.de 172.31.17.151:31820; staging.hamburg.ccc.de 172.31.17.151:31820; diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf index 076618a..d884bc1 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf @@ -21,7 +21,7 @@ stream { ccchoir.de ccchoir-intern.hamburg.ccc.de:8443; www.ccchoir.de ccchoir-intern.hamburg.ccc.de:8443; cloud.hamburg.ccc.de cloud.hosts.hamburg.ccc.de:8443; - pad.hamburg.ccc.de pad-intern.hamburg.ccc.de:8443; + pad.hamburg.ccc.de pad.hosts.hamburg.ccc.de:8443; pretalx.hamburg.ccc.de pretalx-intern.hamburg.ccc.de:8443; id.hamburg.ccc.de 172.31.17.144:8443; invite.hamburg.ccc.de 172.31.17.144:8443; From 366456eff8f5280b14d755aefbf8c0abda567fc0 Mon Sep 17 00:00:00 2001 From: June Date: Tue, 16 Dec 2025 21:50:40 +0100 Subject: [PATCH 091/160] keycloak(host): move to new network and hostname Also just listen on port 8443 for keycloak-admin proxy protocol. --- inventories/chaosknoten/hosts.yaml | 4 ++-- resources/chaosknoten/keycloak/nginx/id.hamburg.ccc.de.conf | 3 ++- .../chaosknoten/keycloak/nginx/invite.hamburg.ccc.de.conf | 3 ++- .../keycloak/nginx/keycloak-admin.hamburg.ccc.de.conf | 5 +++-- .../public-reverse-proxy/nginx/acme_challenge.conf | 6 +++--- resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf | 6 +++--- 6 files changed, 15 insertions(+), 12 deletions(-) diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index 3d67707..dfa841e 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -23,9 +23,9 @@ all: ansible_user: chaos ansible_ssh_common_args: -J ssh://chaos@public-reverse-proxy.hamburg.ccc.de keycloak: - ansible_host: keycloak-intern.hamburg.ccc.de + ansible_host: keycloak.hosts.hamburg.ccc.de ansible_user: chaos - ansible_ssh_common_args: -J ssh://chaos@public-reverse-proxy.hamburg.ccc.de + ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de lists: ansible_host: lists.hamburg.ccc.de ansible_user: chaos diff --git a/resources/chaosknoten/keycloak/nginx/id.hamburg.ccc.de.conf b/resources/chaosknoten/keycloak/nginx/id.hamburg.ccc.de.conf index 303b052..939e1da 100644 --- a/resources/chaosknoten/keycloak/nginx/id.hamburg.ccc.de.conf +++ b/resources/chaosknoten/keycloak/nginx/id.hamburg.ccc.de.conf @@ -4,11 +4,12 @@ server { # Listen on a custom port for the proxy protocol. listen 8443 ssl http2 proxy_protocol; + listen [::]:8443 ssl http2 proxy_protocol; # Make use of the ngx_http_realip_module to set the $remote_addr and # $remote_port to the client address and client port, when using proxy # protocol. # First set our proxy protocol proxy as trusted. - set_real_ip_from 172.31.17.140; + set_real_ip_from 2a00:14b0:4200:3000:125::1; # Then tell the realip_module to get the addreses from the proxy protocol # header. real_ip_header proxy_protocol; diff --git a/resources/chaosknoten/keycloak/nginx/invite.hamburg.ccc.de.conf b/resources/chaosknoten/keycloak/nginx/invite.hamburg.ccc.de.conf index 4a9cfe6..de1e9d6 100644 --- a/resources/chaosknoten/keycloak/nginx/invite.hamburg.ccc.de.conf +++ b/resources/chaosknoten/keycloak/nginx/invite.hamburg.ccc.de.conf @@ -4,11 +4,12 @@ server { # Listen on a custom port for the proxy protocol. listen 8443 ssl http2 proxy_protocol; + listen [::]:8443 ssl http2 proxy_protocol; # Make use of the ngx_http_realip_module to set the $remote_addr and # $remote_port to the client address and client port, when using proxy # protocol. # First set our proxy protocol proxy as trusted. - set_real_ip_from 172.31.17.140; + set_real_ip_from 2a00:14b0:4200:3000:125::1; # Then tell the realip_module to get the addreses from the proxy protocol # header. real_ip_header proxy_protocol; diff --git a/resources/chaosknoten/keycloak/nginx/keycloak-admin.hamburg.ccc.de.conf b/resources/chaosknoten/keycloak/nginx/keycloak-admin.hamburg.ccc.de.conf index 2b0d919..cd56b98 100644 --- a/resources/chaosknoten/keycloak/nginx/keycloak-admin.hamburg.ccc.de.conf +++ b/resources/chaosknoten/keycloak/nginx/keycloak-admin.hamburg.ccc.de.conf @@ -7,12 +7,13 @@ server { ##listen [::]:443 ssl http2; # Listen on a custom port for the proxy protocol. - listen 8444 ssl http2 proxy_protocol; + listen 8443 ssl http2 proxy_protocol; + listen [::]:8443 ssl http2 proxy_protocol; # Make use of the ngx_http_realip_module to set the $remote_addr and # $remote_port to the client address and client port, when using proxy # protocol. # First set our proxy protocol proxy as trusted. - set_real_ip_from 172.31.17.140; + set_real_ip_from 2a00:14b0:4200:3000:125::1; # Then tell the realip_module to get the addreses from the proxy protocol # header. real_ip_header proxy_protocol; diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf index 6899c57..4d6d4c0 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf @@ -13,9 +13,9 @@ map $host $upstream_acme_challenge_host { hackertours.hamburg.ccc.de 172.31.17.151:31820; staging.hackertours.hamburg.ccc.de 172.31.17.151:31820; hamburg.ccc.de 172.31.17.151:31820; - id.hamburg.ccc.de 172.31.17.144:31820; - invite.hamburg.ccc.de 172.31.17.144:31820; - keycloak-admin.hamburg.ccc.de 172.31.17.144:31820; + id.hamburg.ccc.de keycloak.hosts.hamburg.ccc.de:31820; + invite.hamburg.ccc.de keycloak.hosts.hamburg.ccc.de:31820; + keycloak-admin.hamburg.ccc.de keycloak.hosts.hamburg.ccc.de:31820; matrix.hamburg.ccc.de 172.31.17.150:31820; mas.hamburg.ccc.de 172.31.17.150:31820; element-admin.hamburg.ccc.de 172.31.17.151:31820; diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf index d884bc1..de99d40 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf @@ -23,9 +23,9 @@ stream { cloud.hamburg.ccc.de cloud.hosts.hamburg.ccc.de:8443; pad.hamburg.ccc.de pad.hosts.hamburg.ccc.de:8443; pretalx.hamburg.ccc.de pretalx-intern.hamburg.ccc.de:8443; - id.hamburg.ccc.de 172.31.17.144:8443; - invite.hamburg.ccc.de 172.31.17.144:8443; - keycloak-admin.hamburg.ccc.de 172.31.17.144:8444; + id.hamburg.ccc.de keycloak.hosts.hamburg.ccc.de:8443; + invite.hamburg.ccc.de keycloak.hosts.hamburg.ccc.de:8443; + keycloak-admin.hamburg.ccc.de keycloak.hosts.hamburg.ccc.de:8443; grafana.hamburg.ccc.de 172.31.17.145:8443; wiki.ccchh.net wiki.hosts.hamburg.ccc.de:8443; wiki.hamburg.ccc.de wiki.hosts.hamburg.ccc.de:8443; From 944c8cde8249673566e2e5bf20699e6c58a93049 Mon Sep 17 00:00:00 2001 From: June Date: Wed, 17 Dec 2025 03:34:39 +0100 Subject: [PATCH 092/160] onlyoffice(host): move to new network and hostname --- inventories/chaosknoten/hosts.yaml | 4 ++-- .../onlyoffice/nginx/onlyoffice.hamburg.ccc.de.conf | 4 +++- .../public-reverse-proxy/nginx/acme_challenge.conf | 2 +- resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf | 2 +- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index dfa841e..1028deb 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -37,9 +37,9 @@ all: ansible_user: chaos ansible_ssh_common_args: -J ssh://chaos@public-reverse-proxy.hamburg.ccc.de onlyoffice: - ansible_host: onlyoffice-intern.hamburg.ccc.de + ansible_host: onlyoffice.hosts.hamburg.ccc.de ansible_user: chaos - ansible_ssh_common_args: -J ssh://chaos@public-reverse-proxy.hamburg.ccc.de + ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de pad: ansible_host: pad.hosts.hamburg.ccc.de ansible_user: chaos diff --git a/resources/chaosknoten/onlyoffice/nginx/onlyoffice.hamburg.ccc.de.conf b/resources/chaosknoten/onlyoffice/nginx/onlyoffice.hamburg.ccc.de.conf index 2471525..8a9a486 100644 --- a/resources/chaosknoten/onlyoffice/nginx/onlyoffice.hamburg.ccc.de.conf +++ b/resources/chaosknoten/onlyoffice/nginx/onlyoffice.hamburg.ccc.de.conf @@ -3,11 +3,13 @@ server { # Listen on a custom port for the proxy protocol. listen 8443 ssl http2 proxy_protocol; + listen [::]:8443 ssl http2 proxy_protocol; # Make use of the ngx_http_realip_module to set the $remote_addr and # $remote_port to the client address and client port, when using proxy # protocol. # First set our proxy protocol proxy as trusted. - set_real_ip_from 172.31.17.140; + set_real_ip_from 2a00:14b0:4200:3000:125::1; + # Then tell the realip_module to get the addreses from the proxy protocol # header. real_ip_header proxy_protocol; diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf index 4d6d4c0..409b5c6 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf @@ -20,7 +20,7 @@ map $host $upstream_acme_challenge_host { mas.hamburg.ccc.de 172.31.17.150:31820; element-admin.hamburg.ccc.de 172.31.17.151:31820; netbox.hamburg.ccc.de 172.31.17.167:31820; - onlyoffice.hamburg.ccc.de 172.31.17.147:31820; + onlyoffice.hamburg.ccc.de onlyoffice.hosts.hamburg.ccc.de:31820; pad.hamburg.ccc.de pad.hosts.hamburg.ccc.de:31820; pretalx.hamburg.ccc.de 172.31.17.157:31820; spaceapi.hamburg.ccc.de 172.31.17.151:31820; diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf index de99d40..97e0e3c 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf @@ -29,7 +29,7 @@ stream { grafana.hamburg.ccc.de 172.31.17.145:8443; wiki.ccchh.net wiki.hosts.hamburg.ccc.de:8443; wiki.hamburg.ccc.de wiki.hosts.hamburg.ccc.de:8443; - onlyoffice.hamburg.ccc.de 172.31.17.147:8443; + onlyoffice.hamburg.ccc.de onlyoffice.hosts.hamburg.ccc.de:8443; hackertours.hamburg.ccc.de 172.31.17.151:8443; staging.hackertours.hamburg.ccc.de 172.31.17.151:8443; netbox.hamburg.ccc.de 172.31.17.167:8443; From 25db54b8ad8314aeb35af0d7775e87c40a9239a5 Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Sat, 3 Jan 2026 14:02:56 +0100 Subject: [PATCH 093/160] Make sure pip is installed --- roles/ansible_pull/tasks/main.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/roles/ansible_pull/tasks/main.yaml b/roles/ansible_pull/tasks/main.yaml index 5abcd10..61a2635 100644 --- a/roles/ansible_pull/tasks/main.yaml +++ b/roles/ansible_pull/tasks/main.yaml @@ -3,6 +3,7 @@ - name: ensure apt dependencies are installed ansible.builtin.apt: name: + - python3-pip - virtualenv - git state: present From a328e9297102af66721951500cd90bedabb385a5 Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Sat, 3 Jan 2026 14:03:26 +0100 Subject: [PATCH 094/160] Should be compatible with trixie/13 --- roles/certbot/meta/main.yaml | 1 + roles/docker/meta/main.yaml | 1 + roles/dokuwiki/meta/main.yml | 1 + roles/nginx/meta/main.yaml | 1 + roles/prometheus_node_exporter/meta/main.yaml | 1 + 5 files changed, 5 insertions(+) diff --git a/roles/certbot/meta/main.yaml b/roles/certbot/meta/main.yaml index b4a1c6f..9b678e9 100644 --- a/roles/certbot/meta/main.yaml +++ b/roles/certbot/meta/main.yaml @@ -7,3 +7,4 @@ dependencies: major_versions: - 11 - 12 + - 13 diff --git a/roles/docker/meta/main.yaml b/roles/docker/meta/main.yaml index b4a1c6f..9b678e9 100644 --- a/roles/docker/meta/main.yaml +++ b/roles/docker/meta/main.yaml @@ -7,3 +7,4 @@ dependencies: major_versions: - 11 - 12 + - 13 diff --git a/roles/dokuwiki/meta/main.yml b/roles/dokuwiki/meta/main.yml index b4a1c6f..9b678e9 100644 --- a/roles/dokuwiki/meta/main.yml +++ b/roles/dokuwiki/meta/main.yml @@ -7,3 +7,4 @@ dependencies: major_versions: - 11 - 12 + - 13 diff --git a/roles/nginx/meta/main.yaml b/roles/nginx/meta/main.yaml index 02b00ac..78bb770 100644 --- a/roles/nginx/meta/main.yaml +++ b/roles/nginx/meta/main.yaml @@ -7,3 +7,4 @@ dependencies: major_versions: - "11" - "12" + - "13" diff --git a/roles/prometheus_node_exporter/meta/main.yaml b/roles/prometheus_node_exporter/meta/main.yaml index 02b00ac..78bb770 100644 --- a/roles/prometheus_node_exporter/meta/main.yaml +++ b/roles/prometheus_node_exporter/meta/main.yaml @@ -7,3 +7,4 @@ dependencies: major_versions: - "11" - "12" + - "13" From 80ddb2efc927c894074558f0a8f13377bb934cb4 Mon Sep 17 00:00:00 2001 From: June Date: Wed, 7 Jan 2026 17:25:27 +0100 Subject: [PATCH 095/160] router: enable a DHCP server for the v4-NAT network as well As the hosts don't really need a static v4, just do DHCP. --- resources/chaosknoten/router/nftables/nftables.conf | 2 +- .../router/systemd_networkd/21-net0.2-v4_nat.network | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/resources/chaosknoten/router/nftables/nftables.conf b/resources/chaosknoten/router/nftables/nftables.conf index 6d04a4c..3375bfb 100644 --- a/resources/chaosknoten/router/nftables/nftables.conf +++ b/resources/chaosknoten/router/nftables/nftables.conf @@ -45,7 +45,7 @@ table inet host { tcp dport 22 accept comment "allow ssh access" # Allow DHCP server access. - iifname $if_net0_3_ci_runner udp dport 67 accept comment "allow dhcp server access" + iifname { $if_net0_2_v4_nat, $if_net0_3_ci_runner } udp dport 67 accept comment "allow dhcp server access" } } diff --git a/resources/chaosknoten/router/systemd_networkd/21-net0.2-v4_nat.network b/resources/chaosknoten/router/systemd_networkd/21-net0.2-v4_nat.network index c7fd9a7..b15259d 100644 --- a/resources/chaosknoten/router/systemd_networkd/21-net0.2-v4_nat.network +++ b/resources/chaosknoten/router/systemd_networkd/21-net0.2-v4_nat.network @@ -11,6 +11,12 @@ Description=v4-NAT # Masquerading done in nftables (nftables.conf). IPv6SendRA=yes +DHCPServer=true + +[DHCPServer] +PoolOffset=100 +PoolSize=150 + [Address] Address=10.32.2.1/24 From fbd3ea54962e7b0348c9ccb4471f493c26002322 Mon Sep 17 00:00:00 2001 From: June Date: Wed, 7 Jan 2026 18:09:48 +0100 Subject: [PATCH 096/160] base_config: disable cloud-init ssh module to avoid hostkey regeneration It should run once on first boot anyway and since it apparently runs for every change in the Proxmox cloud init config, disable it, so it doesn't, since it's annoying to have "random" hostkey changes. --- roles/base_config/tasks/main.yaml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 roles/base_config/tasks/main.yaml diff --git a/roles/base_config/tasks/main.yaml b/roles/base_config/tasks/main.yaml new file mode 100644 index 0000000..cd8affd --- /dev/null +++ b/roles/base_config/tasks/main.yaml @@ -0,0 +1,13 @@ +# Ensure the ssh module is disabled, so a cloud-init config change doesn't regenerate the host keys for no reason. +- name: check if cloud-init config file exists + ansible.builtin.stat: + path: /etc/cloud/cloud.cfg + register: base_config__stat_cloud_cfg + +- name: ensure the cloud-init ssh module is disabled + ansible.builtin.replace: + path: /etc/cloud/cloud.cfg + regexp: " - ssh$" + replace: " #- ssh" + become: true + when: base_config__stat_cloud_cfg.stat.exists From 40b67c6bc3cec86c72f7efe52f12b939d0db4291 Mon Sep 17 00:00:00 2001 From: June Date: Wed, 7 Jan 2026 18:46:16 +0100 Subject: [PATCH 097/160] sunders(host): move to new network and hostname --- inventories/chaosknoten/hosts.yaml | 4 ++-- .../public-reverse-proxy/nginx/acme_challenge.conf | 2 +- resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf | 2 +- .../chaosknoten/sunders/nginx/sunders.hamburg.ccc.de.conf | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index 1028deb..082a76a 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -67,9 +67,9 @@ all: ansible_user: chaos ansible_ssh_common_args: -J ssh://chaos@public-reverse-proxy.hamburg.ccc.de sunders: - ansible_host: sunders-intern.hamburg.ccc.de + ansible_host: sunders.hosts.hamburg.ccc.de ansible_user: chaos - ansible_ssh_common_args: -J ssh://chaos@public-reverse-proxy.hamburg.ccc.de + ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de renovate: ansible_host: renovate-intern.hamburg.ccc.de ansible_user: chaos diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf index 409b5c6..f02a657 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf @@ -29,7 +29,7 @@ map $host $upstream_acme_challenge_host { wiki.hamburg.ccc.de wiki.hosts.hamburg.ccc.de:31820; www.hamburg.ccc.de 172.31.17.151:31820; tickets.hamburg.ccc.de 172.31.17.148:31820; - sunders.hamburg.ccc.de 172.31.17.170:31820; + sunders.hamburg.ccc.de sunders.hosts.hamburg.ccc.de:31820; zammad.hamburg.ccc.de 172.31.17.152:31820; eh03.easterhegg.eu 172.31.17.151:31820; eh05.easterhegg.eu 172.31.17.151:31820; diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf index 97e0e3c..90ec655 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf @@ -43,7 +43,7 @@ stream { staging.hamburg.ccc.de 172.31.17.151:8443; spaceapi.hamburg.ccc.de 172.31.17.151:8443; tickets.hamburg.ccc.de 172.31.17.148:8443; - sunders.hamburg.ccc.de 172.31.17.170:8443; + sunders.hamburg.ccc.de sunders.hosts.hamburg.ccc.de:8443; zammad.hamburg.ccc.de 172.31.17.152:8443; c3cat.de 172.31.17.151:8443; www.c3cat.de 172.31.17.151:8443; diff --git a/resources/chaosknoten/sunders/nginx/sunders.hamburg.ccc.de.conf b/resources/chaosknoten/sunders/nginx/sunders.hamburg.ccc.de.conf index 04cc006..ceb9b2b 100644 --- a/resources/chaosknoten/sunders/nginx/sunders.hamburg.ccc.de.conf +++ b/resources/chaosknoten/sunders/nginx/sunders.hamburg.ccc.de.conf @@ -2,7 +2,7 @@ # https://ssl-config.mozilla.org/#server=nginx&version=1.17.7&config=intermediate&openssl=1.1.1k&guideline=5.6 server { # Listen on a custom port for the proxy protocol. - listen 8443 ssl http2 proxy_protocol; + listen [::]:8443 ssl http2 proxy_protocol; # Make use of the ngx_http_realip_module to set the $remote_addr and # $remote_port to the client address and client port, when using proxy # protocol. From a622f21b54461ec4db77f3496212c55389621104 Mon Sep 17 00:00:00 2001 From: June Date: Wed, 7 Jan 2026 18:46:27 +0100 Subject: [PATCH 098/160] renovate(host): move to new network and hostname --- inventories/chaosknoten/hosts.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index 082a76a..58b6c1a 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -71,9 +71,9 @@ all: ansible_user: chaos ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de renovate: - ansible_host: renovate-intern.hamburg.ccc.de + ansible_host: renovate.hosts.hamburg.ccc.de ansible_user: chaos - ansible_ssh_common_args: -J ssh://chaos@public-reverse-proxy.hamburg.ccc.de + ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de hypervisors: hosts: chaosknoten: From 49e3ecb9865ebc0de70b4757b0f2d05a7b8c3da4 Mon Sep 17 00:00:00 2001 From: June Date: Fri, 9 Jan 2026 03:05:29 +0100 Subject: [PATCH 099/160] netbox(host): move to new network and hostname --- inventories/chaosknoten/hosts.yaml | 4 ++-- resources/chaosknoten/netbox/nginx/netbox.hamburg.ccc.de.conf | 2 +- .../public-reverse-proxy/nginx/acme_challenge.conf | 2 +- resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index 58b6c1a..14fe23a 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -33,9 +33,9 @@ all: ansible_host: mumble.hamburg.ccc.de ansible_user: chaos netbox: - ansible_host: netbox-intern.hamburg.ccc.de + ansible_host: netbox.hosts.hamburg.ccc.de ansible_user: chaos - ansible_ssh_common_args: -J ssh://chaos@public-reverse-proxy.hamburg.ccc.de + ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de onlyoffice: ansible_host: onlyoffice.hosts.hamburg.ccc.de ansible_user: chaos diff --git a/resources/chaosknoten/netbox/nginx/netbox.hamburg.ccc.de.conf b/resources/chaosknoten/netbox/nginx/netbox.hamburg.ccc.de.conf index 5550686..533c9d2 100644 --- a/resources/chaosknoten/netbox/nginx/netbox.hamburg.ccc.de.conf +++ b/resources/chaosknoten/netbox/nginx/netbox.hamburg.ccc.de.conf @@ -2,7 +2,7 @@ # https://ssl-config.mozilla.org/#server=nginx&version=1.17.7&config=intermediate&openssl=1.1.1k&guideline=5.6 server { # Listen on a custom port for the proxy protocol. - listen 8443 ssl http2 proxy_protocol; + listen [::]:8443 ssl http2 proxy_protocol; # Make use of the ngx_http_realip_module to set the $remote_addr and # $remote_port to the client address and client port, when using proxy # protocol. diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf index f02a657..06595e3 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf @@ -19,7 +19,7 @@ map $host $upstream_acme_challenge_host { matrix.hamburg.ccc.de 172.31.17.150:31820; mas.hamburg.ccc.de 172.31.17.150:31820; element-admin.hamburg.ccc.de 172.31.17.151:31820; - netbox.hamburg.ccc.de 172.31.17.167:31820; + netbox.hamburg.ccc.de netbox.hosts.hamburg.ccc.de:31820; onlyoffice.hamburg.ccc.de onlyoffice.hosts.hamburg.ccc.de:31820; pad.hamburg.ccc.de pad.hosts.hamburg.ccc.de:31820; pretalx.hamburg.ccc.de 172.31.17.157:31820; diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf index 90ec655..78a91ff 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf @@ -32,7 +32,7 @@ stream { onlyoffice.hamburg.ccc.de onlyoffice.hosts.hamburg.ccc.de:8443; hackertours.hamburg.ccc.de 172.31.17.151:8443; staging.hackertours.hamburg.ccc.de 172.31.17.151:8443; - netbox.hamburg.ccc.de 172.31.17.167:8443; + netbox.hamburg.ccc.de netbox.hosts.hamburg.ccc.de:8443; matrix.hamburg.ccc.de 172.31.17.150:8443; mas.hamburg.ccc.de 172.31.17.150:8443; element-admin.hamburg.ccc.de 172.31.17.151:8443; From ff550cbd8ad8cfd9be7bbc9d5f4c620172e5d90f Mon Sep 17 00:00:00 2001 From: June Date: Sun, 11 Jan 2026 00:00:18 +0100 Subject: [PATCH 100/160] tickets(host): move to new network and hostname --- inventories/chaosknoten/hosts.yaml | 4 ++-- .../public-reverse-proxy/nginx/acme_challenge.conf | 2 +- resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf | 2 +- .../chaosknoten/tickets/nginx/tickets.hamburg.ccc.de.conf | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index 14fe23a..fab9127 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -19,9 +19,9 @@ all: ansible_user: chaos ansible_ssh_common_args: -J ssh://chaos@public-reverse-proxy.hamburg.ccc.de tickets: - ansible_host: tickets-intern.hamburg.ccc.de + ansible_host: tickets.hosts.hamburg.ccc.de ansible_user: chaos - ansible_ssh_common_args: -J ssh://chaos@public-reverse-proxy.hamburg.ccc.de + ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de keycloak: ansible_host: keycloak.hosts.hamburg.ccc.de ansible_user: chaos diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf index 06595e3..b8b44b5 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf @@ -28,7 +28,7 @@ map $host $upstream_acme_challenge_host { wiki.ccchh.net wiki.hosts.hamburg.ccc.de:31820; wiki.hamburg.ccc.de wiki.hosts.hamburg.ccc.de:31820; www.hamburg.ccc.de 172.31.17.151:31820; - tickets.hamburg.ccc.de 172.31.17.148:31820; + tickets.hamburg.ccc.de tickets.hosts.hamburg.ccc.de:31820; sunders.hamburg.ccc.de sunders.hosts.hamburg.ccc.de:31820; zammad.hamburg.ccc.de 172.31.17.152:31820; eh03.easterhegg.eu 172.31.17.151:31820; diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf index 78a91ff..e540f13 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf @@ -42,7 +42,7 @@ stream { hamburg.ccc.de 172.31.17.151:8443; staging.hamburg.ccc.de 172.31.17.151:8443; spaceapi.hamburg.ccc.de 172.31.17.151:8443; - tickets.hamburg.ccc.de 172.31.17.148:8443; + tickets.hamburg.ccc.de tickets.hosts.hamburg.ccc.de:8443; sunders.hamburg.ccc.de sunders.hosts.hamburg.ccc.de:8443; zammad.hamburg.ccc.de 172.31.17.152:8443; c3cat.de 172.31.17.151:8443; diff --git a/resources/chaosknoten/tickets/nginx/tickets.hamburg.ccc.de.conf b/resources/chaosknoten/tickets/nginx/tickets.hamburg.ccc.de.conf index 9e2ca26..8d36244 100644 --- a/resources/chaosknoten/tickets/nginx/tickets.hamburg.ccc.de.conf +++ b/resources/chaosknoten/tickets/nginx/tickets.hamburg.ccc.de.conf @@ -2,7 +2,7 @@ # https://ssl-config.mozilla.org/#server=nginx&version=1.17.7&config=intermediate&openssl=1.1.1k&guideline=5.6 server { # Listen on a custom port for the proxy protocol. - listen 8443 ssl http2 proxy_protocol; + listen [::]:8443 ssl http2 proxy_protocol; # Make use of the ngx_http_realip_module to set the $remote_addr and # $remote_port to the client address and client port, when using proxy # protocol. From a41b07949cd6ffda5b334065c7b8ce362e11af16 Mon Sep 17 00:00:00 2001 From: June Date: Sun, 11 Jan 2026 00:22:37 +0100 Subject: [PATCH 101/160] zammad(host): move to new network and hostname --- inventories/chaosknoten/hosts.yaml | 4 ++-- .../public-reverse-proxy/nginx/acme_challenge.conf | 2 +- resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf | 2 +- resources/chaosknoten/zammad/nginx/zammad.hamburg.ccc.de.conf | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index fab9127..1b88df6 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -59,9 +59,9 @@ all: ansible_user: chaos ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de zammad: - ansible_host: zammad-intern.hamburg.ccc.de + ansible_host: zammad.hosts.hamburg.ccc.de ansible_user: chaos - ansible_ssh_common_args: -J ssh://chaos@public-reverse-proxy.hamburg.ccc.de + ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de ntfy: ansible_host: ntfy-intern.hamburg.ccc.de ansible_user: chaos diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf index b8b44b5..d976089 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf @@ -30,7 +30,7 @@ map $host $upstream_acme_challenge_host { www.hamburg.ccc.de 172.31.17.151:31820; tickets.hamburg.ccc.de tickets.hosts.hamburg.ccc.de:31820; sunders.hamburg.ccc.de sunders.hosts.hamburg.ccc.de:31820; - zammad.hamburg.ccc.de 172.31.17.152:31820; + zammad.hamburg.ccc.de zammad.hosts.hamburg.ccc.de:31820; eh03.easterhegg.eu 172.31.17.151:31820; eh05.easterhegg.eu 172.31.17.151:31820; eh07.easterhegg.eu 172.31.17.151:31820; diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf index e540f13..c4d1fbc 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf @@ -44,7 +44,7 @@ stream { spaceapi.hamburg.ccc.de 172.31.17.151:8443; tickets.hamburg.ccc.de tickets.hosts.hamburg.ccc.de:8443; sunders.hamburg.ccc.de sunders.hosts.hamburg.ccc.de:8443; - zammad.hamburg.ccc.de 172.31.17.152:8443; + zammad.hamburg.ccc.de zammad.hosts.hamburg.ccc.de:8443; c3cat.de 172.31.17.151:8443; www.c3cat.de 172.31.17.151:8443; staging.c3cat.de 172.31.17.151:8443; diff --git a/resources/chaosknoten/zammad/nginx/zammad.hamburg.ccc.de.conf b/resources/chaosknoten/zammad/nginx/zammad.hamburg.ccc.de.conf index c1f9182..5bb2435 100644 --- a/resources/chaosknoten/zammad/nginx/zammad.hamburg.ccc.de.conf +++ b/resources/chaosknoten/zammad/nginx/zammad.hamburg.ccc.de.conf @@ -2,7 +2,7 @@ # https://ssl-config.mozilla.org/#server=nginx&version=1.17.7&config=intermediate&openssl=1.1.1k&guideline=5.6 server { # Listen on a custom port for the proxy protocol. - listen 8443 ssl http2 proxy_protocol; + listen [::]:8443 ssl http2 proxy_protocol; # Make use of the ngx_http_realip_module to set the $remote_addr and # $remote_port to the client address and client port, when using proxy # protocol. From bb30e88404d9e3d6c2325a2572b45aac10113041 Mon Sep 17 00:00:00 2001 From: June Date: Sun, 11 Jan 2026 00:29:16 +0100 Subject: [PATCH 102/160] router(host): allowlist only certain icmpv6 types --- .../chaosknoten/router/nftables/nftables.conf | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/resources/chaosknoten/router/nftables/nftables.conf b/resources/chaosknoten/router/nftables/nftables.conf index 3375bfb..ca62a97 100644 --- a/resources/chaosknoten/router/nftables/nftables.conf +++ b/resources/chaosknoten/router/nftables/nftables.conf @@ -39,7 +39,23 @@ table inet host { ct state established,related accept ip protocol icmp accept - ip6 nexthdr icmpv6 accept + # ICMPv6 + # https://datatracker.ietf.org/doc/html/rfc4890#autoid-24 + # Allowlist consisting of: "Traffic That Must Not Be Dropped" and "Traffic That Normally Should Not Be Dropped" + # Error messages that are essential to the establishment and maintenance of communications: + icmpv6 type { destination-unreachable, packet-too-big } accept + icmpv6 type { time-exceeded } accept + icmpv6 type { parameter-problem } accept + # Connectivity checking messages: + icmpv6 type { echo-request, echo-reply } accept + # Address Configuration and Router Selection messages: + icmpv6 type { nd-router-solicit, nd-router-advert, nd-neighbor-solicit, nd-neighbor-advert, ind-neighbor-solicit, ind-neighbor-advert } accept + # Link-Local Multicast Receiver Notification messages: + icmpv6 type { mld-listener-query, mld-listener-report, mld-listener-done, mld2-listener-report } accept + # SEND Certificate Path Notification messages: + icmpv6 type { 148, 149 } accept + # Multicast Router Discovery messages: + icmpv6 type { 151, 152, 153 } accept # Allow SSH access. tcp dport 22 accept comment "allow ssh access" From 2fbb37db18c0cb3c01f00d83666524f6c5cc887e Mon Sep 17 00:00:00 2001 From: June Date: Sun, 11 Jan 2026 00:59:52 +0100 Subject: [PATCH 103/160] grafana(host): move to new network and hostname --- inventories/chaosknoten/hosts.yaml | 4 ++-- .../chaosknoten/grafana/nginx/grafana.hamburg.ccc.de.conf | 2 +- resources/chaosknoten/grafana/nginx/loki.hamburg.ccc.de.conf | 2 -- .../chaosknoten/grafana/nginx/metrics.hamburg.ccc.de.conf | 1 - .../public-reverse-proxy/nginx/acme_challenge.conf | 2 +- resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf | 2 +- 6 files changed, 5 insertions(+), 8 deletions(-) diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index 1b88df6..f72e4ac 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -15,9 +15,9 @@ all: ansible_user: chaos ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de grafana: - ansible_host: grafana-intern.hamburg.ccc.de + ansible_host: grafana.hosts.hamburg.ccc.de ansible_user: chaos - ansible_ssh_common_args: -J ssh://chaos@public-reverse-proxy.hamburg.ccc.de + ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de tickets: ansible_host: tickets.hosts.hamburg.ccc.de ansible_user: chaos diff --git a/resources/chaosknoten/grafana/nginx/grafana.hamburg.ccc.de.conf b/resources/chaosknoten/grafana/nginx/grafana.hamburg.ccc.de.conf index c5b68e1..a6dcdc1 100644 --- a/resources/chaosknoten/grafana/nginx/grafana.hamburg.ccc.de.conf +++ b/resources/chaosknoten/grafana/nginx/grafana.hamburg.ccc.de.conf @@ -2,7 +2,7 @@ # https://ssl-config.mozilla.org/#server=nginx&version=1.17.7&config=intermediate&openssl=1.1.1k&guideline=5.6 server { # Listen on a custom port for the proxy protocol. - listen 8443 ssl proxy_protocol; + listen [::]:8443 ssl proxy_protocol; http2 on; # Make use of the ngx_http_realip_module to set the $remote_addr and # $remote_port to the client address and client port, when using proxy diff --git a/resources/chaosknoten/grafana/nginx/loki.hamburg.ccc.de.conf b/resources/chaosknoten/grafana/nginx/loki.hamburg.ccc.de.conf index e2bf4a7..8a509be 100644 --- a/resources/chaosknoten/grafana/nginx/loki.hamburg.ccc.de.conf +++ b/resources/chaosknoten/grafana/nginx/loki.hamburg.ccc.de.conf @@ -17,7 +17,6 @@ server { server_name loki.hamburg.ccc.de; listen [::]:50051 ssl; - listen 172.31.17.145:50051 ssl; http2 on; @@ -59,7 +58,6 @@ server { server_name loki.hamburg.ccc.de; listen [::]:443 ssl; - listen 172.31.17.145:443 ssl; http2 on; diff --git a/resources/chaosknoten/grafana/nginx/metrics.hamburg.ccc.de.conf b/resources/chaosknoten/grafana/nginx/metrics.hamburg.ccc.de.conf index 2c52523..ef2fe07 100644 --- a/resources/chaosknoten/grafana/nginx/metrics.hamburg.ccc.de.conf +++ b/resources/chaosknoten/grafana/nginx/metrics.hamburg.ccc.de.conf @@ -18,7 +18,6 @@ server { server_name metrics.hamburg.ccc.de; listen [::]:443 ssl; - listen 172.31.17.145:443 ssl; http2 on; client_body_buffer_size 512k; diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf index d976089..7af3beb 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf @@ -9,7 +9,7 @@ map $host $upstream_acme_challenge_host { cloud.hamburg.ccc.de cloud.hosts.hamburg.ccc.de:31820; element.hamburg.ccc.de 172.31.17.151:31820; git.hamburg.ccc.de 172.31.17.154:31820; - grafana.hamburg.ccc.de 172.31.17.145:31820; + grafana.hamburg.ccc.de grafana.hosts.hamburg.ccc.de:31820; hackertours.hamburg.ccc.de 172.31.17.151:31820; staging.hackertours.hamburg.ccc.de 172.31.17.151:31820; hamburg.ccc.de 172.31.17.151:31820; diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf index c4d1fbc..42120db 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf @@ -26,7 +26,7 @@ stream { id.hamburg.ccc.de keycloak.hosts.hamburg.ccc.de:8443; invite.hamburg.ccc.de keycloak.hosts.hamburg.ccc.de:8443; keycloak-admin.hamburg.ccc.de keycloak.hosts.hamburg.ccc.de:8443; - grafana.hamburg.ccc.de 172.31.17.145:8443; + grafana.hamburg.ccc.de grafana.hosts.hamburg.ccc.de:8443; wiki.ccchh.net wiki.hosts.hamburg.ccc.de:8443; wiki.hamburg.ccc.de wiki.hosts.hamburg.ccc.de:8443; onlyoffice.hamburg.ccc.de onlyoffice.hosts.hamburg.ccc.de:8443; From 372f264bcbc7de743c6cda57126395f7df906b47 Mon Sep 17 00:00:00 2001 From: June Date: Sun, 11 Jan 2026 01:29:15 +0100 Subject: [PATCH 104/160] ccchoir(host): move to new network and hostname --- inventories/chaosknoten/hosts.yaml | 4 ++-- resources/chaosknoten/ccchoir/nginx/ccchoir.de.conf | 8 ++++---- .../public-reverse-proxy/nginx/acme_challenge.conf | 4 ++-- .../chaosknoten/public-reverse-proxy/nginx/nginx.conf | 4 ++-- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index f72e4ac..4b8e388 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -1,9 +1,9 @@ all: hosts: ccchoir: - ansible_host: ccchoir-intern.hamburg.ccc.de + ansible_host: ccchoir.hosts.hamburg.ccc.de ansible_user: chaos - ansible_ssh_common_args: -J ssh://chaos@public-reverse-proxy.hamburg.ccc.de + ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de chaosknoten: ansible_host: chaosknoten.hamburg.ccc.de cloud: diff --git a/resources/chaosknoten/ccchoir/nginx/ccchoir.de.conf b/resources/chaosknoten/ccchoir/nginx/ccchoir.de.conf index ff37e48..a8d71a9 100644 --- a/resources/chaosknoten/ccchoir/nginx/ccchoir.de.conf +++ b/resources/chaosknoten/ccchoir/nginx/ccchoir.de.conf @@ -2,12 +2,12 @@ # https://ssl-config.mozilla.org/#server=nginx&version=1.17.7&config=intermediate&openssl=1.1.1k&guideline=5.6 server { # Listen on a custom port for the proxy protocol. - listen 8443 ssl http2 proxy_protocol; + listen [::]:8443 ssl http2 proxy_protocol; # Make use of the ngx_http_realip_module to set the $remote_addr and # $remote_port to the client address and client port, when using proxy # protocol. # First set our proxy protocol proxy as trusted. - set_real_ip_from 172.31.17.140; + set_real_ip_from 2a00:14b0:4200:3000:125::1; # Then tell the realip_module to get the addreses from the proxy protocol # header. real_ip_header proxy_protocol; @@ -43,12 +43,12 @@ server { server { # Listen on a custom port for the proxy protocol. - listen 8443 ssl http2 proxy_protocol; + listen [::]:8443 ssl http2 proxy_protocol; # Make use of the ngx_http_realip_module to set the $remote_addr and # $remote_port to the client address and client port, when using proxy # protocol. # First set our proxy protocol proxy as trusted. - set_real_ip_from 172.31.17.140; + set_real_ip_from 2a00:14b0:4200:3000:125::1; # Then tell the realip_module to get the addreses from the proxy protocol # header. real_ip_header proxy_protocol; diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf index 7af3beb..0c62760 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf @@ -4,8 +4,8 @@ map $host $upstream_acme_challenge_host { c3cat.de 172.31.17.151:31820; www.c3cat.de 172.31.17.151:31820; staging.c3cat.de 172.31.17.151:31820; - ccchoir.de ccchoir-intern.hamburg.ccc.de:31820; - www.ccchoir.de ccchoir-intern.hamburg.ccc.de:31820; + ccchoir.de ccchoir.hosts.hamburg.ccc.de:31820; + www.ccchoir.de ccchoir.hosts.hamburg.ccc.de:31820; cloud.hamburg.ccc.de cloud.hosts.hamburg.ccc.de:31820; element.hamburg.ccc.de 172.31.17.151:31820; git.hamburg.ccc.de 172.31.17.154:31820; diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf index 42120db..b3f3636 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf @@ -18,8 +18,8 @@ stream { resolver 212.12.50.158 192.76.134.90; map $ssl_preread_server_name $address { - ccchoir.de ccchoir-intern.hamburg.ccc.de:8443; - www.ccchoir.de ccchoir-intern.hamburg.ccc.de:8443; + ccchoir.de ccchoir.hosts.hamburg.ccc.de:8443; + www.ccchoir.de ccchoir.hosts.hamburg.ccc.de:8443; cloud.hamburg.ccc.de cloud.hosts.hamburg.ccc.de:8443; pad.hamburg.ccc.de pad.hosts.hamburg.ccc.de:8443; pretalx.hamburg.ccc.de pretalx-intern.hamburg.ccc.de:8443; From 1971598e71379ed967b8790353dd2ac6dc854712 Mon Sep 17 00:00:00 2001 From: June Date: Sun, 11 Jan 2026 03:22:11 +0100 Subject: [PATCH 105/160] pretalx(host): move to new network and hostname --- inventories/chaosknoten/hosts.yaml | 4 ++-- .../chaosknoten/pretalx/nginx/cfp.eh22.easterhegg.eu.conf | 4 ++-- .../chaosknoten/pretalx/nginx/pretalx.hamburg.ccc.de.conf | 4 ++-- .../public-reverse-proxy/nginx/acme_challenge.conf | 2 +- resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf | 4 ++-- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index 4b8e388..d5dea1c 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -45,9 +45,9 @@ all: ansible_user: chaos ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de pretalx: - ansible_host: pretalx-intern.hamburg.ccc.de + ansible_host: pretalx.hosts.hamburg.ccc.de ansible_user: chaos - ansible_ssh_common_args: -J ssh://chaos@public-reverse-proxy.hamburg.ccc.de + ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de public-reverse-proxy: ansible_host: public-reverse-proxy.hamburg.ccc.de ansible_user: chaos diff --git a/resources/chaosknoten/pretalx/nginx/cfp.eh22.easterhegg.eu.conf b/resources/chaosknoten/pretalx/nginx/cfp.eh22.easterhegg.eu.conf index 0fa99e7..a4f5bb9 100644 --- a/resources/chaosknoten/pretalx/nginx/cfp.eh22.easterhegg.eu.conf +++ b/resources/chaosknoten/pretalx/nginx/cfp.eh22.easterhegg.eu.conf @@ -2,12 +2,12 @@ # https://ssl-config.mozilla.org/#server=nginx&version=1.17.7&config=intermediate&openssl=1.1.1k&guideline=5.6 server { # Listen on a custom port for the proxy protocol. - listen 8443 ssl http2 proxy_protocol; + listen [::]:8443 ssl http2 proxy_protocol; # Make use of the ngx_http_realip_module to set the $remote_addr and # $remote_port to the client address and client port, when using proxy # protocol. # First set our proxy protocol proxy as trusted. - set_real_ip_from 172.31.17.140; + set_real_ip_from 2a00:14b0:4200:3000:125::1; # Then tell the realip_module to get the addreses from the proxy protocol # header. real_ip_header proxy_protocol; diff --git a/resources/chaosknoten/pretalx/nginx/pretalx.hamburg.ccc.de.conf b/resources/chaosknoten/pretalx/nginx/pretalx.hamburg.ccc.de.conf index f12067a..d66e977 100644 --- a/resources/chaosknoten/pretalx/nginx/pretalx.hamburg.ccc.de.conf +++ b/resources/chaosknoten/pretalx/nginx/pretalx.hamburg.ccc.de.conf @@ -2,12 +2,12 @@ # https://ssl-config.mozilla.org/#server=nginx&version=1.17.7&config=intermediate&openssl=1.1.1k&guideline=5.6 server { # Listen on a custom port for the proxy protocol. - listen 8443 ssl http2 proxy_protocol; + listen [::]:8443 ssl http2 proxy_protocol; # Make use of the ngx_http_realip_module to set the $remote_addr and # $remote_port to the client address and client port, when using proxy # protocol. # First set our proxy protocol proxy as trusted. - set_real_ip_from 172.31.17.140; + set_real_ip_from 2a00:14b0:4200:3000:125::1; # Then tell the realip_module to get the addreses from the proxy protocol # header. real_ip_header proxy_protocol; diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf index 0c62760..71f0290 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf @@ -22,7 +22,7 @@ map $host $upstream_acme_challenge_host { netbox.hamburg.ccc.de netbox.hosts.hamburg.ccc.de:31820; onlyoffice.hamburg.ccc.de onlyoffice.hosts.hamburg.ccc.de:31820; pad.hamburg.ccc.de pad.hosts.hamburg.ccc.de:31820; - pretalx.hamburg.ccc.de 172.31.17.157:31820; + pretalx.hamburg.ccc.de pretalx.hosts.hamburg.ccc.de:31820; spaceapi.hamburg.ccc.de 172.31.17.151:31820; staging.hamburg.ccc.de 172.31.17.151:31820; wiki.ccchh.net wiki.hosts.hamburg.ccc.de:31820; diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf index b3f3636..d7cd97e 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf @@ -22,7 +22,7 @@ stream { www.ccchoir.de ccchoir.hosts.hamburg.ccc.de:8443; cloud.hamburg.ccc.de cloud.hosts.hamburg.ccc.de:8443; pad.hamburg.ccc.de pad.hosts.hamburg.ccc.de:8443; - pretalx.hamburg.ccc.de pretalx-intern.hamburg.ccc.de:8443; + pretalx.hamburg.ccc.de pretalx.hosts.hamburg.ccc.de:8443; id.hamburg.ccc.de keycloak.hosts.hamburg.ccc.de:8443; invite.hamburg.ccc.de keycloak.hosts.hamburg.ccc.de:8443; keycloak-admin.hamburg.ccc.de keycloak.hosts.hamburg.ccc.de:8443; @@ -90,7 +90,7 @@ stream { woodpecker.hamburg.ccc.de 172.31.17.160:8443; design.hamburg.ccc.de 172.31.17.162:8443; hydra.hamburg.ccc.de 172.31.17.163:8443; - cfp.eh22.easterhegg.eu pretalx-intern.hamburg.ccc.de:8443; + cfp.eh22.easterhegg.eu pretalx.hosts.hamburg.ccc.de:8443; ntfy.hamburg.ccc.de 172.31.17.149:8443; cryptoparty-hamburg.de 172.31.17.151:8443; cryptoparty.hamburg.ccc.de 172.31.17.151:8443; From 255327952e3b1e718e7d0e53c0c189a6e6f13052 Mon Sep 17 00:00:00 2001 From: June Date: Sun, 11 Jan 2026 03:57:11 +0100 Subject: [PATCH 106/160] ntfy(host): move to new network and hostname --- inventories/chaosknoten/hosts.yaml | 4 ++-- resources/chaosknoten/ntfy/nginx/ntfy.hamburg.ccc.de.conf | 4 ++-- .../public-reverse-proxy/nginx/acme_challenge.conf | 2 +- resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index d5dea1c..93c61be 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -63,9 +63,9 @@ all: ansible_user: chaos ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de ntfy: - ansible_host: ntfy-intern.hamburg.ccc.de + ansible_host: ntfy.hosts.hamburg.ccc.de ansible_user: chaos - ansible_ssh_common_args: -J ssh://chaos@public-reverse-proxy.hamburg.ccc.de + ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de sunders: ansible_host: sunders.hosts.hamburg.ccc.de ansible_user: chaos diff --git a/resources/chaosknoten/ntfy/nginx/ntfy.hamburg.ccc.de.conf b/resources/chaosknoten/ntfy/nginx/ntfy.hamburg.ccc.de.conf index e7d404d..ebae48d 100644 --- a/resources/chaosknoten/ntfy/nginx/ntfy.hamburg.ccc.de.conf +++ b/resources/chaosknoten/ntfy/nginx/ntfy.hamburg.ccc.de.conf @@ -2,13 +2,13 @@ # https://ssl-config.mozilla.org/#server=nginx&version=1.17.7&config=intermediate&openssl=1.1.1k&guideline=5.6 server { # Listen on a custom port for the proxy protocol. - listen 8443 ssl proxy_protocol; + listen [::]:8443 ssl proxy_protocol; http2 on; # Make use of the ngx_http_realip_module to set the $remote_addr and # $remote_port to the client address and client port, when using proxy # protocol. # First set our proxy protocol proxy as trusted. - set_real_ip_from 172.31.17.140; + set_real_ip_from 2a00:14b0:4200:3000:125::1; # Then tell the realip_module to get the addreses from the proxy protocol # header. real_ip_header proxy_protocol; diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf index 71f0290..82e596a 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf @@ -73,7 +73,7 @@ map $host $upstream_acme_challenge_host { design.hamburg.ccc.de 172.31.17.162:31820; hydra.hamburg.ccc.de 172.31.17.163:31820; cfp.eh22.easterhegg.eu 172.31.17.157:31820; - ntfy.hamburg.ccc.de 172.31.17.149:31820; + ntfy.hamburg.ccc.de ntfy.hosts.hamburg.ccc.de:31820; cryptoparty-hamburg.de 172.31.17.151:31820; cryptoparty.hamburg.ccc.de 172.31.17.151:31820; staging.cryptoparty-hamburg.de 172.31.17.151:31820; diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf index d7cd97e..489dda5 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf @@ -91,7 +91,7 @@ stream { design.hamburg.ccc.de 172.31.17.162:8443; hydra.hamburg.ccc.de 172.31.17.163:8443; cfp.eh22.easterhegg.eu pretalx.hosts.hamburg.ccc.de:8443; - ntfy.hamburg.ccc.de 172.31.17.149:8443; + ntfy.hamburg.ccc.de ntfy.hosts.hamburg.ccc.de:8443; cryptoparty-hamburg.de 172.31.17.151:8443; cryptoparty.hamburg.ccc.de 172.31.17.151:8443; staging.cryptoparty-hamburg.de 172.31.17.151:8443; From 968e29ccb8fa144c7ec3ebd56d8d38adb4416397 Mon Sep 17 00:00:00 2001 From: June Date: Mon, 12 Jan 2026 03:02:09 +0100 Subject: [PATCH 107/160] do v6-only for internal proxy protocol communication Since we want to do v6-only internally, only listen on v6 for proxy protocol. This is also needed as we only have set_real_ip_from pointing to a v6. --- resources/chaosknoten/eh22-wiki/nginx/eh22.easterhegg.eu.conf | 1 - resources/chaosknoten/grafana/nginx/grafana.hamburg.ccc.de.conf | 2 +- resources/chaosknoten/keycloak/nginx/id.hamburg.ccc.de.conf | 1 - resources/chaosknoten/keycloak/nginx/invite.hamburg.ccc.de.conf | 1 - .../keycloak/nginx/keycloak-admin.hamburg.ccc.de.conf | 1 - resources/chaosknoten/netbox/nginx/netbox.hamburg.ccc.de.conf | 2 +- .../chaosknoten/onlyoffice/nginx/onlyoffice.hamburg.ccc.de.conf | 1 - resources/chaosknoten/pad/nginx/pad.hamburg.ccc.de.conf | 1 - resources/chaosknoten/sunders/nginx/sunders.hamburg.ccc.de.conf | 2 +- resources/chaosknoten/tickets/nginx/tickets.hamburg.ccc.de.conf | 2 +- resources/chaosknoten/wiki/nginx/wiki.ccchh.net.conf | 1 - resources/chaosknoten/wiki/nginx/wiki.hamburg.ccc.de.conf | 1 - resources/chaosknoten/zammad/nginx/zammad.hamburg.ccc.de.conf | 2 +- 13 files changed, 5 insertions(+), 13 deletions(-) diff --git a/resources/chaosknoten/eh22-wiki/nginx/eh22.easterhegg.eu.conf b/resources/chaosknoten/eh22-wiki/nginx/eh22.easterhegg.eu.conf index 8c801fe..d213d61 100644 --- a/resources/chaosknoten/eh22-wiki/nginx/eh22.easterhegg.eu.conf +++ b/resources/chaosknoten/eh22-wiki/nginx/eh22.easterhegg.eu.conf @@ -2,7 +2,6 @@ # https://ssl-config.mozilla.org/#server=nginx&version=1.17.7&config=intermediate&openssl=1.1.1k&guideline=5.6 server { # Listen on a custom port for the proxy protocol. - listen 8443 ssl http2 proxy_protocol; listen [::]:8443 ssl http2 proxy_protocol; # Make use of the ngx_http_realip_module to set the $remote_addr and # $remote_port to the client address and client port, when using proxy diff --git a/resources/chaosknoten/grafana/nginx/grafana.hamburg.ccc.de.conf b/resources/chaosknoten/grafana/nginx/grafana.hamburg.ccc.de.conf index a6dcdc1..98f7f40 100644 --- a/resources/chaosknoten/grafana/nginx/grafana.hamburg.ccc.de.conf +++ b/resources/chaosknoten/grafana/nginx/grafana.hamburg.ccc.de.conf @@ -8,7 +8,7 @@ server { # $remote_port to the client address and client port, when using proxy # protocol. # First set our proxy protocol proxy as trusted. - set_real_ip_from 172.31.17.140; + set_real_ip_from 2a00:14b0:4200:3000:125::1; # Then tell the realip_module to get the addreses from the proxy protocol # header. real_ip_header proxy_protocol; diff --git a/resources/chaosknoten/keycloak/nginx/id.hamburg.ccc.de.conf b/resources/chaosknoten/keycloak/nginx/id.hamburg.ccc.de.conf index 939e1da..82ba082 100644 --- a/resources/chaosknoten/keycloak/nginx/id.hamburg.ccc.de.conf +++ b/resources/chaosknoten/keycloak/nginx/id.hamburg.ccc.de.conf @@ -3,7 +3,6 @@ # Also see: https://www.keycloak.org/server/reverseproxy server { # Listen on a custom port for the proxy protocol. - listen 8443 ssl http2 proxy_protocol; listen [::]:8443 ssl http2 proxy_protocol; # Make use of the ngx_http_realip_module to set the $remote_addr and # $remote_port to the client address and client port, when using proxy diff --git a/resources/chaosknoten/keycloak/nginx/invite.hamburg.ccc.de.conf b/resources/chaosknoten/keycloak/nginx/invite.hamburg.ccc.de.conf index de1e9d6..ecb7e2d 100644 --- a/resources/chaosknoten/keycloak/nginx/invite.hamburg.ccc.de.conf +++ b/resources/chaosknoten/keycloak/nginx/invite.hamburg.ccc.de.conf @@ -3,7 +3,6 @@ # Also see: https://www.keycloak.org/server/reverseproxy server { # Listen on a custom port for the proxy protocol. - listen 8443 ssl http2 proxy_protocol; listen [::]:8443 ssl http2 proxy_protocol; # Make use of the ngx_http_realip_module to set the $remote_addr and # $remote_port to the client address and client port, when using proxy diff --git a/resources/chaosknoten/keycloak/nginx/keycloak-admin.hamburg.ccc.de.conf b/resources/chaosknoten/keycloak/nginx/keycloak-admin.hamburg.ccc.de.conf index cd56b98..b2e7eec 100644 --- a/resources/chaosknoten/keycloak/nginx/keycloak-admin.hamburg.ccc.de.conf +++ b/resources/chaosknoten/keycloak/nginx/keycloak-admin.hamburg.ccc.de.conf @@ -7,7 +7,6 @@ server { ##listen [::]:443 ssl http2; # Listen on a custom port for the proxy protocol. - listen 8443 ssl http2 proxy_protocol; listen [::]:8443 ssl http2 proxy_protocol; # Make use of the ngx_http_realip_module to set the $remote_addr and # $remote_port to the client address and client port, when using proxy diff --git a/resources/chaosknoten/netbox/nginx/netbox.hamburg.ccc.de.conf b/resources/chaosknoten/netbox/nginx/netbox.hamburg.ccc.de.conf index 533c9d2..0c2a3be 100644 --- a/resources/chaosknoten/netbox/nginx/netbox.hamburg.ccc.de.conf +++ b/resources/chaosknoten/netbox/nginx/netbox.hamburg.ccc.de.conf @@ -7,7 +7,7 @@ server { # $remote_port to the client address and client port, when using proxy # protocol. # First set our proxy protocol proxy as trusted. - set_real_ip_from 172.31.17.140; + set_real_ip_from 2a00:14b0:4200:3000:125::1; # Then tell the realip_module to get the addreses from the proxy protocol # header. real_ip_header proxy_protocol; diff --git a/resources/chaosknoten/onlyoffice/nginx/onlyoffice.hamburg.ccc.de.conf b/resources/chaosknoten/onlyoffice/nginx/onlyoffice.hamburg.ccc.de.conf index 8a9a486..f3e77f1 100644 --- a/resources/chaosknoten/onlyoffice/nginx/onlyoffice.hamburg.ccc.de.conf +++ b/resources/chaosknoten/onlyoffice/nginx/onlyoffice.hamburg.ccc.de.conf @@ -2,7 +2,6 @@ # https://ssl-config.mozilla.org/#server=nginx&version=1.17.7&config=intermediate&openssl=1.1.1k&guideline=5.6 server { # Listen on a custom port for the proxy protocol. - listen 8443 ssl http2 proxy_protocol; listen [::]:8443 ssl http2 proxy_protocol; # Make use of the ngx_http_realip_module to set the $remote_addr and # $remote_port to the client address and client port, when using proxy diff --git a/resources/chaosknoten/pad/nginx/pad.hamburg.ccc.de.conf b/resources/chaosknoten/pad/nginx/pad.hamburg.ccc.de.conf index 6c453d1..cf49d23 100644 --- a/resources/chaosknoten/pad/nginx/pad.hamburg.ccc.de.conf +++ b/resources/chaosknoten/pad/nginx/pad.hamburg.ccc.de.conf @@ -2,7 +2,6 @@ # https://ssl-config.mozilla.org/#server=nginx&version=1.17.7&config=intermediate&openssl=1.1.1k&guideline=5.6 server { # Listen on a custom port for the proxy protocol. - listen 8443 ssl http2 proxy_protocol; listen [::]:8443 ssl http2 proxy_protocol; # Make use of the ngx_http_realip_module to set the $remote_addr and # $remote_port to the client address and client port, when using proxy diff --git a/resources/chaosknoten/sunders/nginx/sunders.hamburg.ccc.de.conf b/resources/chaosknoten/sunders/nginx/sunders.hamburg.ccc.de.conf index ceb9b2b..185c005 100644 --- a/resources/chaosknoten/sunders/nginx/sunders.hamburg.ccc.de.conf +++ b/resources/chaosknoten/sunders/nginx/sunders.hamburg.ccc.de.conf @@ -7,7 +7,7 @@ server { # $remote_port to the client address and client port, when using proxy # protocol. # First set our proxy protocol proxy as trusted. - set_real_ip_from 172.31.17.140; + set_real_ip_from 2a00:14b0:4200:3000:125::1; # Then tell the realip_module to get the addreses from the proxy protocol # header. real_ip_header proxy_protocol; diff --git a/resources/chaosknoten/tickets/nginx/tickets.hamburg.ccc.de.conf b/resources/chaosknoten/tickets/nginx/tickets.hamburg.ccc.de.conf index 8d36244..e93ff93 100644 --- a/resources/chaosknoten/tickets/nginx/tickets.hamburg.ccc.de.conf +++ b/resources/chaosknoten/tickets/nginx/tickets.hamburg.ccc.de.conf @@ -7,7 +7,7 @@ server { # $remote_port to the client address and client port, when using proxy # protocol. # First set our proxy protocol proxy as trusted. - set_real_ip_from 172.31.17.140; + set_real_ip_from 2a00:14b0:4200:3000:125::1; # Then tell the realip_module to get the addreses from the proxy protocol # header. real_ip_header proxy_protocol; diff --git a/resources/chaosknoten/wiki/nginx/wiki.ccchh.net.conf b/resources/chaosknoten/wiki/nginx/wiki.ccchh.net.conf index 472236a..d89b5b8 100644 --- a/resources/chaosknoten/wiki/nginx/wiki.ccchh.net.conf +++ b/resources/chaosknoten/wiki/nginx/wiki.ccchh.net.conf @@ -2,7 +2,6 @@ # https://ssl-config.mozilla.org/#server=nginx&version=1.17.7&config=intermediate&openssl=1.1.1k&guideline=5.6 server { # Listen on a custom port for the proxy protocol. - listen 8443 ssl http2 proxy_protocol; listen [::]:8443 ssl http2 proxy_protocol; # Make use of the ngx_http_realip_module to set the $remote_addr and # $remote_port to the client address and client port, when using proxy diff --git a/resources/chaosknoten/wiki/nginx/wiki.hamburg.ccc.de.conf b/resources/chaosknoten/wiki/nginx/wiki.hamburg.ccc.de.conf index b4eab7f..5065c1d 100644 --- a/resources/chaosknoten/wiki/nginx/wiki.hamburg.ccc.de.conf +++ b/resources/chaosknoten/wiki/nginx/wiki.hamburg.ccc.de.conf @@ -2,7 +2,6 @@ # https://ssl-config.mozilla.org/#server=nginx&version=1.17.7&config=intermediate&openssl=1.1.1k&guideline=5.6 server { # Listen on a custom port for the proxy protocol. - listen 8443 ssl http2 proxy_protocol; listen [::]:8443 ssl http2 proxy_protocol; # Make use of the ngx_http_realip_module to set the $remote_addr and # $remote_port to the client address and client port, when using proxy diff --git a/resources/chaosknoten/zammad/nginx/zammad.hamburg.ccc.de.conf b/resources/chaosknoten/zammad/nginx/zammad.hamburg.ccc.de.conf index 5bb2435..b94cb5c 100644 --- a/resources/chaosknoten/zammad/nginx/zammad.hamburg.ccc.de.conf +++ b/resources/chaosknoten/zammad/nginx/zammad.hamburg.ccc.de.conf @@ -7,7 +7,7 @@ server { # $remote_port to the client address and client port, when using proxy # protocol. # First set our proxy protocol proxy as trusted. - set_real_ip_from 172.31.17.140; + set_real_ip_from 2a00:14b0:4200:3000:125::1; # Then tell the realip_module to get the addreses from the proxy protocol # header. real_ip_header proxy_protocol; From 70461c98babcddd87dd208aa4041aee5f1fa2546 Mon Sep 17 00:00:00 2001 From: June Date: Mon, 12 Jan 2026 03:29:06 +0100 Subject: [PATCH 108/160] first run ansible_pull for router, then for all other hosts Do this to avoid a restarting router affecting playbook runs on other hosts. --- inventories/chaosknoten/group_vars/all.yaml | 2 +- inventories/chaosknoten/host_vars/router.yaml | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/inventories/chaosknoten/group_vars/all.yaml b/inventories/chaosknoten/group_vars/all.yaml index b8f13d0..60349e0 100644 --- a/inventories/chaosknoten/group_vars/all.yaml +++ b/inventories/chaosknoten/group_vars/all.yaml @@ -3,7 +3,7 @@ ansible_pull__repo_url: https://git.hamburg.ccc.de/CCCHH/ansible-infra.git ansible_pull__inventory: inventories/chaosknoten ansible_pull__playbook: playbooks/maintenance.yaml -ansible_pull__timer_on_calendar: "*-*-* 04:00:00 Europe/Berlin" +ansible_pull__timer_on_calendar: "*-*-* 04:30:00 Europe/Berlin" ansible_pull__failure_notification_address: noc-notifications@lists.hamburg.ccc.de ansible_pull__timer_randomized_delay_sec: 30min diff --git a/inventories/chaosknoten/host_vars/router.yaml b/inventories/chaosknoten/host_vars/router.yaml index 134d29f..5e9c832 100644 --- a/inventories/chaosknoten/host_vars/router.yaml +++ b/inventories/chaosknoten/host_vars/router.yaml @@ -1,2 +1,4 @@ systemd_networkd__config_dir: 'resources/chaosknoten/router/systemd_networkd/' nftables__config: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/router/nftables/nftables.conf') }}" +ansible_pull__timer_on_calendar: "*-*-* 04:00:00 Europe/Berlin" +ansible_pull__timer_randomized_delay_sec: 0min From c6387908198c477178d59ea4e798600ffb201dc8 Mon Sep 17 00:00:00 2001 From: Renovate Date: Mon, 12 Jan 2026 02:30:47 +0000 Subject: [PATCH 109/160] Update all stable non-major dependencies --- .forgejo/workflows/lint.yaml | 2 +- inventories/chaosknoten/host_vars/netbox.yaml | 2 +- .../chaosknoten/grafana/docker_compose/compose.yaml.j2 | 10 +++++----- .../onlyoffice/docker_compose/compose.yaml.j2 | 2 +- .../chaosknoten/pad/docker_compose/compose.yaml.j2 | 2 +- .../chaosknoten/pretalx/docker_compose/compose.yaml.j2 | 6 +++--- .../chaosknoten/sunders/docker_compose/compose.yaml.j2 | 2 +- 7 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.forgejo/workflows/lint.yaml b/.forgejo/workflows/lint.yaml index d29fb6e..b1168c9 100644 --- a/.forgejo/workflows/lint.yaml +++ b/.forgejo/workflows/lint.yaml @@ -24,7 +24,7 @@ jobs: # work in our environmnet. # Rather manually setup python (pip) before instead. - name: Run ansible-lint - uses: https://github.com/ansible/ansible-lint@v25.11.0 + uses: https://github.com/ansible/ansible-lint@v25.12.2 with: setup_python: "false" requirements_file: "requirements.yml" diff --git a/inventories/chaosknoten/host_vars/netbox.yaml b/inventories/chaosknoten/host_vars/netbox.yaml index 3be8bdd..2c68c17 100644 --- a/inventories/chaosknoten/host_vars/netbox.yaml +++ b/inventories/chaosknoten/host_vars/netbox.yaml @@ -1,5 +1,5 @@ # renovate: datasource=github-releases depName=netbox packageName=netbox-community/netbox -netbox__version: "v4.4.6" +netbox__version: "v4.5.0" netbox__config: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/netbox/netbox/configuration.py.j2') }}" netbox__custom_pipeline_oidc_group_and_role_mapping: true diff --git a/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 b/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 index 2d598f9..90952ee 100644 --- a/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 @@ -2,7 +2,7 @@ services: prometheus: - image: docker.io/prom/prometheus:v3.7.3 + image: docker.io/prom/prometheus:v3.9.1 container_name: prometheus command: - '--config.file=/etc/prometheus/prometheus.yml' @@ -19,7 +19,7 @@ services: - prom_data:/prometheus alertmanager: - image: docker.io/prom/alertmanager:v0.29.0 + image: docker.io/prom/alertmanager:v0.30.0 container_name: alertmanager command: - '--config.file=/etc/alertmanager/alertmanager.yaml' @@ -32,7 +32,7 @@ services: - alertmanager_data:/alertmanager grafana: - image: docker.io/grafana/grafana:12.3.0 + image: docker.io/grafana/grafana:12.3.1 container_name: grafana ports: - 3000:3000 @@ -46,7 +46,7 @@ services: - graf_data:/var/lib/grafana pve-exporter: - image: docker.io/prompve/prometheus-pve-exporter:3.5.5 + image: docker.io/prompve/prometheus-pve-exporter:3.8.0 container_name: pve-exporter ports: - 9221:9221 @@ -59,7 +59,7 @@ services: - /dev/null:/etc/prometheus/pve.yml loki: - image: docker.io/grafana/loki:3.6.0 + image: docker.io/grafana/loki:3.6.3 container_name: loki ports: - 13100:3100 diff --git a/resources/chaosknoten/onlyoffice/docker_compose/compose.yaml.j2 b/resources/chaosknoten/onlyoffice/docker_compose/compose.yaml.j2 index f3444ac..8bc37e9 100644 --- a/resources/chaosknoten/onlyoffice/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/onlyoffice/docker_compose/compose.yaml.j2 @@ -4,7 +4,7 @@ services: onlyoffice: - image: docker.io/onlyoffice/documentserver:9.1.0 + image: docker.io/onlyoffice/documentserver:9.2.1 restart: unless-stopped volumes: - "./onlyoffice/DocumentServer/logs:/var/log/onlyoffice" diff --git a/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 b/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 index 455caa3..790cf95 100644 --- a/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 @@ -13,7 +13,7 @@ services: restart: unless-stopped app: - image: quay.io/hedgedoc/hedgedoc:1.10.3 + image: quay.io/hedgedoc/hedgedoc:1.10.5 environment: - "CMD_DB_URL=postgres://hedgedoc:{{ secret__hedgedoc_db_password }}@database:5432/hedgedoc" - "CMD_DOMAIN=pad.hamburg.ccc.de" diff --git a/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 b/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 index dda67bb..835ed50 100644 --- a/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 @@ -23,7 +23,7 @@ services: - pretalx_net static: - image: docker.io/library/nginx:1.29.3 + image: docker.io/library/nginx:1.29.4 restart: unless-stopped volumes: - public:/usr/share/nginx/html @@ -33,7 +33,7 @@ services: - pretalx_net pretalx: - image: docker.io/pretalx/standalone:v2025.1.0 + image: docker.io/pretalx/standalone:v2025.2.2 entrypoint: gunicorn command: - "pretalx.wsgi" @@ -78,7 +78,7 @@ services: - pretalx_net celery: - image: docker.io/pretalx/standalone:v2025.1.0 + image: docker.io/pretalx/standalone:v2025.2.2 command: - taskworker restart: unless-stopped diff --git a/resources/chaosknoten/sunders/docker_compose/compose.yaml.j2 b/resources/chaosknoten/sunders/docker_compose/compose.yaml.j2 index fbec258..1df2bca 100644 --- a/resources/chaosknoten/sunders/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/sunders/docker_compose/compose.yaml.j2 @@ -3,7 +3,7 @@ services: db: - image: mariadb:12.0.2 + image: mariadb:12.1.2 command: --max_allowed_packet=3250585600 environment: MYSQL_ROOT_PASSWORD: "{{ secret__sunders_db_root_password }}" From a92e144cfcdfb0813403b2e7b649d1fdeb641722 Mon Sep 17 00:00:00 2001 From: June Date: Tue, 13 Jan 2026 00:08:57 +0100 Subject: [PATCH 110/160] base_config(role): ensure base set of admin tools is installed See: https://git.hamburg.ccc.de/CCCHH/nix-infra/src/branch/main/config/common/admin-environment.nix --- roles/base_config/tasks/main.yaml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/roles/base_config/tasks/main.yaml b/roles/base_config/tasks/main.yaml index cd8affd..7f0281e 100644 --- a/roles/base_config/tasks/main.yaml +++ b/roles/base_config/tasks/main.yaml @@ -11,3 +11,23 @@ replace: " #- ssh" become: true when: base_config__stat_cloud_cfg.stat.exists + +# Ensure a base set of admin tools is installed. +- name: ensure a base set of admin tools is installed + ansible.builtin.apt: + name: + - vim + - joe + - nano + - htop + - btop + - ripgrep + - fd-find + - tmux + - git + - curl + - rsync + - dnsutils + - usbutils + - kitty + become: true From 951ec7ebcd9ea693f4f4c40b9ca1052b4bc0abf1 Mon Sep 17 00:00:00 2001 From: June Date: Tue, 13 Jan 2026 02:25:06 +0100 Subject: [PATCH 111/160] netbox(role): fix oidc integration by no longer using is_staff is_staff got removed in 4.5.0. See: https://github.com/netbox-community/netbox/releases/tag/v4.5.0 --- .../netbox/files/custom_pipeline_oidc_group_and_role_mapping.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/roles/netbox/files/custom_pipeline_oidc_group_and_role_mapping.py b/roles/netbox/files/custom_pipeline_oidc_group_and_role_mapping.py index 470f388..79bd247 100644 --- a/roles/netbox/files/custom_pipeline_oidc_group_and_role_mapping.py +++ b/roles/netbox/files/custom_pipeline_oidc_group_and_role_mapping.py @@ -40,7 +40,6 @@ def remove_groups(response, user, backend, *args, **kwargs): def set_roles(response, user, backend, *args, **kwargs): # Remove Roles temporary user.is_superuser = False - user.is_staff = False try: groups = response['groups'] except KeyError: @@ -51,5 +50,4 @@ def set_roles(response, user, backend, *args, **kwargs): # Set roles is role (superuser or staff) is in groups user.is_superuser = True if 'superusers' in groups else False - user.is_staff = True if 'staff' in groups else False user.save() From 3e0fdfa8de7e0cbc97ef7d3a089c7db6b2885b92 Mon Sep 17 00:00:00 2001 From: June Date: Tue, 13 Jan 2026 03:43:28 +0100 Subject: [PATCH 112/160] pretalx(host): roll back to pretalx v2025.1.0 as v2025.2.2 doesn't work --- resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 b/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 index 835ed50..f61d6f7 100644 --- a/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 @@ -33,7 +33,7 @@ services: - pretalx_net pretalx: - image: docker.io/pretalx/standalone:v2025.2.2 + image: docker.io/pretalx/standalone:v2025.1.0 entrypoint: gunicorn command: - "pretalx.wsgi" From 92601ab9ea4cceb6daa8b7c36c9a202a6ae9e30b Mon Sep 17 00:00:00 2001 From: June Date: Tue, 13 Jan 2026 03:48:34 +0100 Subject: [PATCH 113/160] renovate: add package rule for pretalx reclassifying major updates So that v2025.1.0 to v2025.2.2 counts as a major, not a minor, update. --- renovate.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/renovate.json b/renovate.json index 711c627..0e2bd7f 100644 --- a/renovate.json +++ b/renovate.json @@ -32,6 +32,11 @@ "matchDatasources": ["docker"], "matchPackageNames": ["docker.io/pretix/standalone"], "versioning": "regex:^(?\\d+\\.\\d+)(?:\\.(?\\d+))$" + }, + { + "matchDatasources": ["docker"], + "matchPackageNames": ["docker.io/pretalx/standalone"], + "versioning": "regex:^v(?\\d+\\.\\d+)(?:\\.(?\\d+))$" } ], "customManagers": [ From 428b5c70bc3d02be51283a69105cf36ce44139ff Mon Sep 17 00:00:00 2001 From: June Date: Tue, 13 Jan 2026 14:19:57 +0100 Subject: [PATCH 114/160] pretalx(host): roll back to pretalx v2025.1.0 for celery as well --- resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 b/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 index f61d6f7..091d113 100644 --- a/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 @@ -78,7 +78,7 @@ services: - pretalx_net celery: - image: docker.io/pretalx/standalone:v2025.2.2 + image: docker.io/pretalx/standalone:v2025.1.0 command: - taskworker restart: unless-stopped From 51bbdd42a2504f0b3045349b0b08e3bb75b55fce Mon Sep 17 00:00:00 2001 From: June Date: Tue, 13 Jan 2026 16:55:22 +0100 Subject: [PATCH 115/160] dooris(host): make certbot work --- inventories/z9/host_vars/dooris.yaml | 4 +++- resources/z9/dooris/nginx/http_handler.conf | 12 ++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 resources/z9/dooris/nginx/http_handler.conf diff --git a/inventories/z9/host_vars/dooris.yaml b/inventories/z9/host_vars/dooris.yaml index 5813e3a..8ae5287 100644 --- a/inventories/z9/host_vars/dooris.yaml +++ b/inventories/z9/host_vars/dooris.yaml @@ -7,9 +7,11 @@ certbot__certificate_domains: - "dooris.ccchh.net" certbot__new_cert_commands: - "systemctl reload nginx.service" -certbot__http_01_port: 80 nginx__version_spec: "" +nginx__deploy_redirect_conf: false nginx__configurations: - name: dooris.ccchh.net content: "{{ lookup('ansible.builtin.file', 'resources/z9/dooris/nginx/dooris.ccchh.net.conf') }}" + - name: http_handler + content: "{{ lookup('ansible.builtin.file', 'resources/z9/dooris/nginx/http_handler.conf') }}" diff --git a/resources/z9/dooris/nginx/http_handler.conf b/resources/z9/dooris/nginx/http_handler.conf new file mode 100644 index 0000000..8572664 --- /dev/null +++ b/resources/z9/dooris/nginx/http_handler.conf @@ -0,0 +1,12 @@ +server { + listen 80 default_server; + listen [::]:80 default_server; + + location / { + return 301 https://$host$request_uri; + } + + location /.well-known/acme-challenge/ { + proxy_pass http://127.0.0.1:31820/.well-known/acme-challenge/; + } +} From fe52127e825b27693c56dc5f0620679fe12829c0 Mon Sep 17 00:00:00 2001 From: June Date: Sun, 18 Jan 2026 01:26:52 +0100 Subject: [PATCH 116/160] status(host): configure external status page and uptime monitoring host --- .sops.yaml | 22 +- inventories/external/group_vars/all.sops.yaml | 210 ++++++++++++ inventories/external/group_vars/all.yaml | 16 + .../external/host_vars/status.sops.yaml | 212 ++++++++++++ inventories/external/host_vars/status.yaml | 27 ++ inventories/external/hosts.yaml | 24 ++ .../status/docker_compose/compose.yaml.j2 | 36 +++ .../config/easterhegg-websites.yaml | 303 ++++++++++++++++++ .../status/docker_compose/config/general.yaml | 25 ++ .../config/services-chaosknoten.yaml | 264 +++++++++++++++ .../status/docker_compose/config/sites.yaml | 23 ++ .../docker_compose/config/websites.yaml | 174 ++++++++++ .../external/status/nginx/http_handler.conf | 14 + .../status/nginx/status.hamburg.ccc.de.conf | 33 ++ 14 files changed, 1381 insertions(+), 2 deletions(-) create mode 100644 inventories/external/group_vars/all.sops.yaml create mode 100644 inventories/external/group_vars/all.yaml create mode 100644 inventories/external/host_vars/status.sops.yaml create mode 100644 inventories/external/host_vars/status.yaml create mode 100644 inventories/external/hosts.yaml create mode 100644 resources/external/status/docker_compose/compose.yaml.j2 create mode 100644 resources/external/status/docker_compose/config/easterhegg-websites.yaml create mode 100644 resources/external/status/docker_compose/config/general.yaml create mode 100644 resources/external/status/docker_compose/config/services-chaosknoten.yaml create mode 100644 resources/external/status/docker_compose/config/sites.yaml create mode 100644 resources/external/status/docker_compose/config/websites.yaml create mode 100644 resources/external/status/nginx/http_handler.conf create mode 100644 resources/external/status/nginx/status.hamburg.ccc.de.conf diff --git a/.sops.yaml b/.sops.yaml index 98aaf3c..3b728e2 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -33,15 +33,25 @@ keys: - &host_public_reverse_proxy_ansible_pull_age_key age1p7pxgq5kwcpdkhkh3qq4pvnltrdk4gwf60hdhv8ka0mdxmgnjepqyleyen - &host_zammad_ansible_pull_age_key age1sv7uhpnk9d3u3je9zzvlux0kd83f627aclpamnz2h3ksg599838qjgrvqs - &host_ntfy_ansible_pull_age_key age1dkecypmfuj0tcm2cz8vnvq5drpu2ddhgnfkzxvscs7m4e79gpseqyhr9pg + external: + age: &host_external_age_keys + - &host_status_ansible_pull_age_key age1yl9ts8k6ceymaxjs72r5puetes5mtuzxuger7qgme9qkagfrm9hqzxx9qr creation_rules: - # group vars + ## group vars - path_regex: inventories/chaosknoten/group_vars/all.* key_groups: - pgp: *admin_gpg_keys age: *host_chaosknoten_age_keys - # host vars + - path_regex: inventories/external/group_vars/all.* + key_groups: + - pgp: + *admin_gpg_keys + age: + *host_external_age_keys + ## host vars + # chaosknoten hosts - path_regex: inventories/chaosknoten/host_vars/cloud.* key_groups: - pgp: @@ -150,6 +160,14 @@ creation_rules: *admin_gpg_keys age: - *host_public_reverse_proxy_ansible_pull_age_key + # external hosts + - path_regex: inventories/external/host_vars/status.* + key_groups: + - pgp: + *admin_gpg_keys + age: + - *host_status_ansible_pull_age_key + # z9 hosts - path_regex: inventories/z9/host_vars/dooris.* key_groups: - pgp: diff --git a/inventories/external/group_vars/all.sops.yaml b/inventories/external/group_vars/all.sops.yaml new file mode 100644 index 0000000..06eeb17 --- /dev/null +++ b/inventories/external/group_vars/all.sops.yaml @@ -0,0 +1,210 @@ +msmtp__smtp_password: ENC[AES256_GCM,data:0vb2d0BMSiG4DLwNeKk52/kGYM9rQpfRrtYiarbyVW9YOP/WIdpwesUZuad+o6XSODkAGqnU2RQZFs1h,iv:a/LwVf+tQKviYR4mIoSDiEgmsVyCl2v1vWXVFQkn6M4=,tag:bNf+N1bTIk8ppMEabcC6jg==,type:str] +sops: + age: + - recipient: age1yl9ts8k6ceymaxjs72r5puetes5mtuzxuger7qgme9qkagfrm9hqzxx9qr + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBkL1F2VVhGTGZ3QWlrZi8w + c2JVMVlnNGVHdUxJQVRZeDBlSkJjR3V4NHowCmdQVVJRVEZlWWVHZjdSYzRlcnRN + clVuRU1rRXdDSUJ6Tk4rajl1R3U3YzAKLS0tIFg0QXBieXdjYmRab2duckNsNWRQ + aGdmdDcwY3RPc28waGt0cm1salpNRkkK+X6LF1lCpxIS8P8nEUE7t3VxB817jm4Y + mXjKqdaM39MR3CyXWq8bVQ/QRxg1xA6MV7mLrQpJCSpr6uDJD84iJQ== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2026-01-15T21:28:28Z" + mac: ENC[AES256_GCM,data:Z9uyXhnckrVJ0LZM1aT8cSUZCPdQ0ufBC1HYxpzAGb6FS/p3Jni5tFfgijaCT3/T3yDGiV1zQqoSDLwjd48UaMjCtJYCUCAiVo7i4YJ3+aZfS87b4h4VsOFlTLFlBklNYxHd4pcPFl5X9fZGdD10Tvmtm6TlJ33Ma7gmuFs3Og4=,iv:tNeG2I9qNAgzbGwxTbCrrN7KorCneJtFildGvtPVX88=,tag:e0rXgetLFenA3zNBNe631A==,type:str] + pgp: + - created_at: "2026-01-15T21:28:06Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxK/JaB2/SdtARAAlJ6HHQZKe3t86f1Y/DsKmO4f+xaMRd9mw9sNlxvmuX3I + b8Tvyl1abbJSEf+6SV3SXxlu+05DZEzerMQHdSNHCpO6oSMBH/fEBbtJh3mxYzwY + /fS09/CPpq1HYcaOUEB8YHKGDY7okN8ZCHYFF2fWmWsPNLq38nmtCQY3lKPdhKDu + Jg8w+9XT/kHJEjQRPjlJG0iRk90cMMBLaR5ToJVzpM3rOSkK/dFALP9PUGhjDVT/ + e27KW0OQERCxoc401DXFPJg5xrGMJaDpMlDxm+kzNC2/rt/OhhFd1pqMEMGHwZ8B + inHjCL8SNy4w3jKs3xvpE38vEUmKgbHavjjd4j8PU/z8PnIAKBCZClTbBARevMYw + P1qgwbAXEv0LwN6/Eu4mN6ogbREFk671PTabJ1O9zWFZBPKSOWVjvs6ka/5nRdow + RMobY/t6FDOe1i4eQM90QKyTcyBzyFZCl3piBKDvpG9tTEVHriX4bTXNtnGw3h1W + XoMUz27G0IZmKZRcYFkqSNPeg3yLXBgsL6by+euw/OwOXuxcR3G/5HpiO4XgWdDn + gYvOGvVa4WbG3yASWPJNJZ6ivtLhAgts44ClMIk5mjDgHz0yL2iwx93g6bUzmswV + HcpCLSy7wm5XNl4l5p4l90iy6/K32Zp0a7ftobA7U7VyeWfPalE3IYE3s6b+1gTS + XAFWL49B69eVA4YJ/iRSZcfqEPMkKzQUplODPUfaHHtLRwR7BhpFX/u3lly/YNQH + tCN+vKShpC2PM/Jw8+UxDZXoXNiGCtTIDFq5+VaifkYsEAIVqEFv5noY95/a + =Xw0f + -----END PGP MESSAGE----- + fp: EF643F59E008414882232C78FFA8331EEB7D6B70 + - created_at: "2026-01-15T21:28:06Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA6EyPtWBEI+2ARAAqcJfa4paWWvQxKnNQT230iT2iRCCskzkzrG9z9rnSbR+ + U4BO0QVcKZ06+4/WatZC6HuxIPyajAQthNsmMMBr83OFiT8FPHnOOGHc9lemO0/L + eshneJhJ7LeYUh3dOeN5lVwCQuw2Hy4MXmKJgdt2Nr5dXmRD8ypKxD/i5Nc4nkXW + TY61C/Q9QJF+HZG4toHt+zq+ROjdsTbIhNceRWnt4mIGvqIzhRwk65o5WILbCFQc + OL7R+JyyqouN579tO1O6bRT594ufnyQ6oxLRDQqKMdTHYwWijRuA/FyzieuYGbmo + b7e6tZeJzlm3H8sSz1WwAD6RoA/O3yyCw1gL9UWFLSfF7iwEKmr+oSN+mEUPJdhR + 8zZqSQUH3n59IVNdD4UyJB/I5AHmGW6QV3ZF42lwmmstIoY3uDzgf3US+ZvPPsem + Scg3PIDSxg+SV9G/53TJM+Og7V2XAA02EWIemiIaJZ7rPiySq1RmQOjnx4ZX+ORk + +PDF0gDpA10sTPXQM5NoN8YSilIV1VENjUnESfo+36BlCepmbC88Yr6oexIK2xoq + 5SnDYNOkVClYcEV6/URo0zr6Eh6+pWaK1MqruyZpRrZFbribK+5t65eIq0fc8oNb + ip7VfArpcpYINfL1GuWoFMI0Uj/IMevlN64Ci/Ub9NddCWCQy5WF7u8lAVNMoVbS + XAE70ICHJqH9SqHe/dchwYcsLIPwX7r2KoaI23XkK7iROX1NL6LC2nISh/Y5P+X7 + RX5sBhgiaSwY8L6QseSQzyqTmwxCaq7e/f/+grSUYKmf1FSJe+VxGsJ6Ji0u + =k6m5 + -----END PGP MESSAGE----- + fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC + - created_at: "2026-01-15T21:28:06Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAz5uSgHG2iMJARAAzD/3ycZW/qMLjjSG2T/7378ogylYenCyV5r97m7//MTJ + z2jCtWiAPDkiuDDfcqt5LxthPxCr3A/WSTaSsfZQ/zWedQlm/U/RBMEs30DBIUQr + AIckqIrJUrgPEo8A0/SnCBNS116BVspI+9n/u7PBPVb70JX3j4Xp3dRGrEYHVpwX + EGSk4GirHwutIRE6xP9fnvQxyK64jYTDCfo4t6cIUf2/we0LyK+fU4zrm6wRffzd + txiEu4YXvsGbxWeAV3/7/BRo2HJBc/Xqb7mzTnfScltC7hiRD2McmFJs1Hfv0Lg3 + CGaMOJ5w6Gk8Q+9pgg6R2MQu8DZA7PILm51Bc98ZdiVwg0i8l24ndswUx9+WIWeX + AeOxvIVvF0XtQK/JJAkoyoVssIQSFI1OjTDnSHWjFw0Vgev8hRzwqS6HKJUfCrnt + KeuGuUOa9QBf3bnbIINyL8QEj9/cnNDCQGoXSZIqPXUs7tIqcLgNryGVnrEn4dDf + 53Tudml438QRgzV1d87jEKSmUBtqzUDRNQdZqNbzOdaCQaQgkgZlQvWQtbZNMSdQ + iQ+v3Hz7pI4yKHhqxXrWrxPwC3KdGTA5qymUS1d1G0BwOWSr+cU6xJBeSqRc6fZn + Q8rBKS/gL2Lm3BAVhHBVWGwtbdBhV5ZL/bdT436pJd5ku3cWFTuiMY2SEC1ZvNXS + XAFb+jgjB5XzlRZhRosWl1X/qyWO4GXN4aypi14eAQDsbCjGnFZh6utoV3rNmNFX + OJ3kRhyHmF+gbp/e0YRq/BnWu+5uzTZQso4fzepgjui+rF/qk/2Oe1nODtM0 + =seAB + -----END PGP MESSAGE----- + fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 + - created_at: "2026-01-15T21:28:06Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAw5vwmoEJHQ1AQ/+J9MXLZrMucsbcgdZ/yflnA7Ai2WynSZ9NEzLX24NybGZ + ynq9daa+61w5S5thnEV1Be4YEyFXIXfD0bs9KEO2kv41HUySD9FR5QXXSiad5Ij7 + vPzZMMwjCfNg/JvGQ9p4h2Syc5LYtJ+4BNnl52zjKCJdp1scJqAist3aWbaHoCAh + GiJCjv/02NP25WoVShw9pNvvYPEhtPbvO1j3bnvUARXT8IzhblNbfntDwPb+fK4R + ksMBIvAN1171l530s0zPzzkJTkxRBohyCixvtgZKoEnYeUAAHk5Clah6GrLGErvA + q0XUAEridgDwe4xG+WpzFWwTaGzQPBLR5NPqtph13/02CdaABctbr80WQPoch5vN + F1BnObne8ZE+do30v0KYNTkFKhK5ek+w4RS/1rlBEgQMaNyGHsjUtoO1/6JfFXyT + 968gsga/YR/shZwLaxLQePi5qTcvUzGNgNvFLjy4sRlbWiNCrtZo0JpMmRc1YTXb + Tq7KhivgEB3gCYLdzWTCeYw3aZXsTFUFM8MpH0BMABpfpNCdiDrd+RZmgDa2KShH + RlpqvN1cXPVY4niGqb0TjQJGbmCrMfSbEXCCYLMP+T+jH+MUs0Br4IVcuXIV9EWM + WrYY/r2tCblU9DaVbgzLlIIu/2BtKV0/Iu4KLV2vWBocLPNlKnbhS8NxnIf1eHbS + XAFxlY0r1uOCI7d55ZRpih3NnccBWYKmxs/WZavFdooPcRS6QKV6d2ByZtjqlO0T + X8xmDpyoxkNahauxi3Vw4o78HyxEqQz2u0HNBJlFC6iFQJnylkOyitIyNCTt + =t5WG + -----END PGP MESSAGE----- + fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 + - created_at: "2026-01-15T21:28:06Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DerEtaFuTeewSAQdArBEh0/AnTDRmDT2r74ejRgmbbZpWjVBmvC7mgFdEq0gw + OdEsqFl/ihieW3XkAC0UWxUhacc03Vq3FTY4Fpj7eQTQdfDdn8X10YQcH94XGLxu + 0lwBvUseBCslA8gjyzFEtFp4TnDEi2JZV3nhfQg8SxrYIQ2Uo6vlsTzvYBvikwaD + kLu7fV7lxV09qoROlSpXVm6II6sIk0nmiajb49HM15md3ZElulGZf7A+6d86Wg== + =8Qs3 + -----END PGP MESSAGE----- + fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 + - created_at: "2026-01-15T21:28:06Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxjNhCKPP69fAQ/7B2zWxGFqZr98hAyQwNaXp+/T534xRU63dXkYV15EL9q2 + SlmbEWhl5iVwWoZHl3r7yqy4zXZJkH0XX7g/MlwMTHIu/Sslvb+9ME+QmpI26Awm + +0pQN6gZXEhQ4RFtDMSc3PIZYgaJ5AdEk1p/nMwYsQ17Gu6RZeuSL/5b4oXEsIwB + nc8kqskd846KDspSoa4HprP3QUyfwChy5+d3/S/SMak/iY97UgYm3iyHXWr+sbAm + ykXGQo6Y/QpSiBBc9Z8hyekBQBjiftTpH5T/nzSn5O1p2G56NqK837SZj8CgyanH + xOIy1JZYbSfYiEzqXVSj7KGs3aNFFUi9H+Fy+wzDaOWeEYt76koTWZnutOg+JwCP + 2N5DiDOhoYGygh5aO+dAIoGLQufoTDrlMO9FWnNXXCPIwCUoyH5daiMyn7G9jfwv + 4rTkXe2mHXXkoNCDHzjNcAEpndpczdUO0CbDNyOuaZzyEYWObJMOdBP0+fmwhaRP + AWd0OSbUUkl6RTI7R9l+3wBC0A/be7kOvqvTru0RSZaY4Ba7zokZaNJsoUTvjjL5 + fjT5MhV/93wEvaHNmGy+IiXipS7ItTmW0xckaFkEbQUbw9p+9UZMxNqF3l5pw8hV + J5tTo+rlHda5KBDpTEEz3vUK7MgbgAzzERqqDaUqzWTJy4KeOjYCUfvNyQiT7m3S + XAFxCx0poAo6GCoNMhjyQT00iBfpjvUhDrWSHezKW/J/U+Z+TkcICC3Orsxy35uD + QtOZIayVIF5scDAIQa31zETB/Jjaq7YeUZvTzUv7Shhq+sJhVUQ7iUEVEXZn + =NJUn + -----END PGP MESSAGE----- + fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 + - created_at: "2026-01-15T21:28:06Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA1Hthzn+T1OoARAAsc5cxMwr0YCwJq1j5EcQ2AF2LvyxH4dvwuCkyrqxuV33 + rTxOt40kqHcatZgHLfHt1qvfR/lGisUyvvtJ7Gdw/MEzunqwux6cKisRoyTB0dSU + b0DBQdNAxujVuBng6v2aoZDXAZNZ9I0epuGnBRcq2+FRAWjRH3YtwuRuChd/VtqB + VJJjUJDczermc0kvdrZ6AZ8bSemOIFOYWfZ1iw7qXMiuIXKJqY23KzWSpYC3F9S6 + z1XKviqJlWcb7VyCA7LDLfjYCAb6/yvj1mB0+fxYJJps6DWsbxvoZWF5mdh5f4oc + y74XZehQZTHp4JMs0uSdsuMV3w8zMGUXvFPEJXB1mvPlYAsyjwusf2fqeAJk3JZk + pPF/hkwR+LpbVNKk9KbauQLkt+p6E5YWDir1pzeIN6rsl0Carau0TRT9EEn04f/6 + DL1nF7crXl+7KTgEOt+ih4VuHpXz9lrboUD/WnUpjVu6XwmMH4wrxJggTq+tJzdS + 55PAZ0qiTGwnxtOn8NGa+01JGcrmtLnfwRUGUO6xxpyy4AtcyyHwEvBSjKRlBvV2 + Yx6v6l6OlpBdYdlKjEeOLPnQqn+iRolQtUTWWk1Hu/a2sfJjZPMpXNSKbgN9tMOS + 2zGLe8OOU1M9V9ESdD6He49GRCWNXD00Yv+IUdqFuY7laqxBQCcyIthGA2wfLITS + XAGKF54TE7VkuCQ2vw0HZG4TgQtmw7W/hBMcbSatGwFwyPSs2+9wsJFmJUniArCZ + e7RUz4C1MIFP97ZSFtfLd8tsIO0zTyK9fRAOUwh8wdAZhvS9Fv5/Mwmctj9h + =gUj7 + -----END PGP MESSAGE----- + fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD + - created_at: "2026-01-15T21:28:06Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA46L6MuPqfJqAQ/8CKPe91CQYybuRlIb4bRl3sZ2nXYw0OS2p8NYo3sawcsw + YFwgwT4GHMAMviZ3U/Dm1VVtUEH0dSZ/tYoPFE0pCOLWYrVjqLY69uM23ZHV1IX4 + W7A+jzNTv3ODj/lc/azjgBcBVZpSxgAQG2wiyX1Dq4Lx5cpOCYQm4KYp9hD6ddly + m6zk8vH3MBRvPAlacg3C6PSy1PV7sTgBZMBIE3DY/HIjv4nzV3/itIPZcf27dYTl + AEjiI6eGH6sUWTFRF5mCP4sRycaU2g8iZ471nZdHe7PpldginWJEN9SD06oewZJB + QjvXpVNjVu+RQ/hOl5LwIllAAkk0ghK2bRsh7gVB5b5Kjv+mKKNe8yjKxKcpZuVW + fUEaRpyILTCwe6aFnmUa6vUtpgU2QRKzv2ycqO1FGil1yZJ/RPVCc0RQoLSpZRsT + XvrZzw/OVfLespNRPcC/PTvNwhIhBYyIDvEAgQOnEnRCGoijnPAOE4Z5zA6Rtxfw + Kxw+E5s+xV1ff+qo5Dm0J/LyC90FR3vstzSkM5n2HEy5OkbACi9CiLRaIiYxlDfv + v5H3Gc0hdVRELkK1T9ND3I2RAyJVdDq0WvxjWRIfdRULLsk86pFoFjus0acx3ukt + zotRh1wI1o319j517B06v+Jn49bLx81ipeHfsiz69P0sDSRKyOcN/i4TA/Tj0OfS + XAFfmEOJHnhD1WOlbJO2EiGY3QD9PIV/lipja4lQKv7ROWlIPVtdvgBnaaNYAvUb + YLIA3oTcZB43vm5QW3hXsTz2cn/w/JvnuojtD0kKzT643dR5BC3D2XsWpHWV + =pL2f + -----END PGP MESSAGE----- + fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A + - created_at: "2026-01-15T21:28:06Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DQrf1tCqiJxoSAQdAxf+RXofQmgst0qgbY34RgfqVKCCYHHH3mbCdGKbfXiQw + 0307FFijrW2i+wHW/Ugob489EH46zUENkmEjxPcOao+p5TWqOhryWOmj+5K5iKin + 0lwBDuM+y3AsogL5PAerDRGMIqmUO9AAuRlKJb67O+n31fA0CSlRdYIlR/0IiXk8 + KmagDpdTyNWD0M8PRohazoKEiB6OrEuLfRiDwyMhyuRtIXRnckwZ8anC2B2cLg== + =slU2 + -----END PGP MESSAGE----- + fp: B71138A6A8964A3C3B8899857B4F70C356765BAB + - created_at: "2026-01-15T21:28:06Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DzAGzViGx4qcSAQdAYTkme6X4+jr7/5qNidpUZjiwQzR9nhJMHU9ALot5mQkw + bVYbs+lqddtYRVKLh4jhqFb9WGjC05JMnb8o/OVqgvOV516WqCzg9qmn2JMn5CvL + 0lYBtBwzrQfqM7RbckekoQcabirca/67RzCAqB9O7Lud85+aQxBR/GB9qE/7FLfp + JVT42+KjcKSQBYWS+lyjgfXs7H4WhNYsai8OFn+JzqswG+MpWPQ+Fw== + =1DIj + -----END PGP MESSAGE----- + fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD + - created_at: "2026-01-15T21:28:06Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA2pVdGTIrZI+ARAAvoshi1af/mG21B9x8XOtYn2CmsjZCLWYWuhdM+oMe204 + CJglTK8C8CzuJcXu84IKrdV8nx5Yk0VvtgtSXiKSouDKWeQDHHqhKEsPlc6+FL99 + e95uzp8ozvODxch4xaBP3FZkbgGgFHDZSF47NIC9AkyyGe4GARq+OvtADUMjpb4R + 6WXCzqaH976KRMcgH4PXlWIUiYvFJz+6k+chbLfcf+uJxWL02mvPV+ArSbGc1Ns1 + M2kRYdEPZ4c6FCU6DYaneJp22ywPNgJm3dL8WU7Nn5uv7iYGDyceh3dnGtF0p0jN + Mo5TT8MzobIGgD2RtsP4NrufV56+Y4G5oqk9jPMofC8QUeVR1j2GHDfHrls2N/2L + vt0VX1wsv7ToAY9bUUNDLutLnwQlpHNP/sacudw0VpYDl55ULa1dLC97qG/4va8G + k3wdzqwNwgzIOPDIiQ3P8xkn4RZ9b4SwPNFb9BRqufFaA+neZcNelfpTqsT3WNfm + MYdzDQtQdTNi9u0ADsuZ2JIX2uUVsB1ol5Wgw9D5+yksTeC3n89TTmbmt4PYkCZ/ + 3MH3gLGGlPLfc9w/q9JqfQ8idiPgWc6CMO83gGXUWbe0SkDCBY4evyP41s9ojSdF + XrkZQycNoardD+co14Se4d5g0oxYfhNUCIYEo2JwLkuE11iMXG1bjt8JB+F514vS + XAHzAelcyBaqqwZqKw1OKWz1Vr+hy9S+uOs+8Qg5G/H0nxa7BG+PhUB+O5i8x4Dn + 96Eq2r2OsVJ3z8YeLcH2FbnVECX+/nj8a4z8yqfpajmoKswOfhp2b2G49aYz + =IYeC + -----END PGP MESSAGE----- + fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + unencrypted_suffix: _unencrypted + version: 3.11.0 diff --git a/inventories/external/group_vars/all.yaml b/inventories/external/group_vars/all.yaml new file mode 100644 index 0000000..80d3efc --- /dev/null +++ b/inventories/external/group_vars/all.yaml @@ -0,0 +1,16 @@ +# ansible_pull +# ansible_pull__age_private_key needs to be defined per host (probably HOST.sops.yaml). +ansible_pull__repo_url: https://git.hamburg.ccc.de/CCCHH/ansible-infra.git +ansible_pull__inventory: inventories/external +ansible_pull__playbook: playbooks/maintenance.yaml +ansible_pull__timer_on_calendar: "*-*-* 04:30:00 Europe/Berlin" +ansible_pull__failure_notification_address: noc-notifications@lists.hamburg.ccc.de +ansible_pull__timer_randomized_delay_sec: 30min + +# msmtp +# msmtp__smtp_password is defined in the all.sops.yaml. +msmtp__smtp_host: cow.hamburg.ccc.de +msmtp__smtp_port: 465 +msmtp__smtp_tls_method: smtps +msmtp__smtp_user: any@external-hosts.hamburg.ccc.de +msmtp__smtp_from: "{{ inventory_hostname }}@external-hosts.hamburg.ccc.de" diff --git a/inventories/external/host_vars/status.sops.yaml b/inventories/external/host_vars/status.sops.yaml new file mode 100644 index 0000000..e300459 --- /dev/null +++ b/inventories/external/host_vars/status.sops.yaml @@ -0,0 +1,212 @@ +ansible_pull__age_private_key: ENC[AES256_GCM,data:u0tluAG5YmXTs71/F6RjuTITCrEoJco0K7+o/F7An4OMdOAwJVBvvMCnEaYsKhLhdesnMIoA24oz2j22lKRFgZUNtkF08ZwH9gw=,iv:oqTTeOi8l6ig4vvqOKict5bqxjmiBW+kwlZhbozoCSU=,tag:ZL2wuIczCHguGJIhbY0NuQ==,type:str] +secret__gatus_db_password: ENC[AES256_GCM,data:fwtdWmXVTA7odBsKnlxH7mKKGtplAt/rQqscFBAxbDky6DNqgk6PP2OsqbIEpnpzs9Yn7Kd2VAxzfJfK,iv:ox/Lm+LlxxRcssOPc++nRp6nVa2DF3/46eEsGzTOBmA=,tag:i1e71Gm01ojHr5pGy0S9rA==,type:str] +secret__gatus_matrix_access_token: ENC[AES256_GCM,data:wp6C2E/LM3grawu8oW5CZZU0Y2+3qnuEbcKmgZr16e8P1KG/v2kfxRQ=,iv:S96oyGg6hI2Co7PJ8BFtrzZag82PTfp2IyIgTbxfdiM=,tag:JROk5PdoaMzXq1qXGgaH7g==,type:str] +sops: + age: + - recipient: age1yl9ts8k6ceymaxjs72r5puetes5mtuzxuger7qgme9qkagfrm9hqzxx9qr + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA2Y0Vib1U3ZGpyZTlBNWMx + UEtCbnArRzAvZ0o1dmdJL0hSZERTR241RlNrCjZ6QzlJSEFhWk0wazlwRVlDeUlq + M0syWDZlc0o2d2NDYmVyUmJpWUdwdzAKLS0tIGR5NUVwMkprRnkxZnI0TmlGUGVk + RFl1MnI1K0h2MUhvYk40d2JjbDRaUmMKNlPo1s06hVdxAamKhJy4HhNDX8PKQlq2 + 13PjdTJub64fydGEJng5NigcnNcPo7goGLz5QV7vE+6bO0gNZxBmmw== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2026-01-17T23:54:35Z" + mac: ENC[AES256_GCM,data:K/uLPclyRgFOMhSxPpFOiH1fQF0EQHKUNnqI/LW0o6+ON07r+UWv9mXaT2M7xUNhgHkv4lVu/qfLAKXZUVGlDga5ufH3A6xbcArqtQ5oyPoE5HX0nbcU4QF1f8JyYLVKCQdI0pBQkLU2cpAFHrGVLI/8+RY/uqrtNee9f7fd4cM=,iv:WRfTSWo4cfJOvjQqeSrSUCOstCf0FggTv2W4eGRcTF8=,tag:GE9cLzmJZt3F11BZd82HFA==,type:str] + pgp: + - created_at: "2026-01-15T21:23:56Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxK/JaB2/SdtAQ/+ORxsmaobaTVCnVlaaTlvG3GRPlL0G1NG18eF3Mra2FU/ + HSY4/QTu4BjGRzwOlKJt3NBMGlFZucwklIecAl1cCDXPSvIRnwuIsAI8gxNnjmVW + w7URAscgfVobWxpLqFhlnQ+8ozMPXW7D0ZDLe4wKPa5wNuE/kdzM5ZCl3NB4q3fi + o0C8uSnsTAp8clay/xnTtnJxOsyzyJ29JVsinxAyg64m6AYNa53yNZoy5kL6VIIr + dnNx4DtOsxFuNhKuvENePoGjuB68i0NWitsfei3G+GLUp+CbPisrzElM6vsXQ0wT + QAu2OpTnrQSv/YWi8Dv+1YXIKu6nOuMc+avQGLsiuZ6hagrvfRTmoQirbx6THDB+ + 97N/ZZUoGVdCtb5BRoBxzl7prwYGXsW+fP7B/PlBBBM5pI/s5jasFMOBfrrlJiDE + dyBcE2rjcehmZ0DN0YddZoo1UMYzsn6HEMH+kFp/VD3+y4A47Kk9Ou0d9+Q7ufsf + j8ThNihOBrwz8DlvOb5/5HacBFOH5T9b42j6yOmyrlAXnC8sQwFDMDERs7XcVSXT + B9SlX6OVZ6/xgG1UjkY5aqYiWkIBUO/9k1OP3OMoZM7WPitIJS0a92u8EASX4zT9 + cJjyym8oDojsM4+/GWMCHcEA5QVSEFsz5JBONiEJkv9UCYXOWj375SH6WjTHQyPS + XgFA0rCYobVrmH4oQ3EzmbqTGwBuejwcDVA++KiUePb6jhK9DGrETHEOzUyOonpI + tNfgyohULH3eDRjC/4gR9JDr+UCC2t31Rx5kNmonz4H3KQlgm/5UulKZZfFk6VQ= + =HCWY + -----END PGP MESSAGE----- + fp: EF643F59E008414882232C78FFA8331EEB7D6B70 + - created_at: "2026-01-15T21:23:56Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA6EyPtWBEI+2AQ/+Is5OSeCOwUDFocaFiGIpKKicsRkF5WJXcV0eTquCvn3M + UeDpYww0CatCOmx0u5/ELzyvr2NhLGwoblLxwwb2HA+dTWRzRiTGZrpGJ3DUwEK6 + KvqFgrOIDttnSCqrGiPsNBkGP3oIH/WIYXF4SJl5stlnujTOW+wNP8f+9gZspyY4 + JdDXIGL7cbvzEzionilKbroKgDTNCm/o/ATWnlvsd5qv8lsIVkZlaJqldRR+xXuu + RLHz9Mav9NgzzFERA0YY0Z56jpGikoywB7iBCbozXvPO5oY9YcuvdLoXELi3Rimf + LoqIyGv/dHepZvIIy/d+E7ltlQHLXdH0LMNyBRartVChR/p0G/YAzXDAgnARJm+J + SB7vUPBqFwFpkiIE0bRRDVDYW8VlNZta4V+hxb3iXuVHljuYUrIDh77VW3xNQyi5 + YfKxO9c9PRhq7sfeBj3iB2qAGoODOU1whdaWXJeNIvYmkQJw81eu2rzHT6NHsbrD + CcUGvbVAO7cx8xZxLiT2jZlbeRrTM68Uq8zC0ujzHavrLUWvCcAcFdk8Un8UJbaF + W4B5La8ZAQUg0HwDavrOEXFbbdkuMT0BIMIxysxrcetqMdRcMjQlbjHz7RuROp4q + melLD0F7L8cXAafDRXXkTTpDmaLN8s9v2j953/RzY7lS1FPQMTduWbn4Pg75HrbS + XgEWsmhgtxSNSgtg/c+VyS9VAykAaP0J4mVWUJZtpw3T8wtkAVeb2zFjmOWay98e + GC9m9N32zdg6MZDLnAABIEhDCGhuB0QjHJaXHcQxbuy8T0mgG081s8spTZnU/74= + =v7Jf + -----END PGP MESSAGE----- + fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC + - created_at: "2026-01-15T21:23:56Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAz5uSgHG2iMJAQ//f4YuazCNqBuU6RxLg7gbh2RQ7KQ9QDIPSh+YIBr2k9RJ + zSjTIR2cPu4JX7Bf9w378oyExhxe6bU00DKvfmQv+CPwjR/4NfzB+/UjmrOEmZqv + y/Gc/2ciT2csHiuAgmck/tKCdVLyXmlMpR+ru3LBVpXLc0wRqDLze9RKM22L5o5Y + Tkf5LCoj77ixhVWZJ/MUm1GlCKmtAJ5tZpSOUenSApSZ0mbRUMI6SEmLhf7ApmNo + FInztB8eMcgyV7vhEmhAiLTkB29kGh8Oe/TtDSmywhn/pTcs4tlY7fRfcxkJaYgw + sZFaF3b7/xhF04kJNEugKemTZTCOoXuPvjvDKQ0glojQQ36P5S01uyH1FOHAbItz + 8xilRiU5lHuu7BsZcb8rU8qNYnpEzY3DX/Ccpl0AoPWjY925XB7C8H8z1kk8UxR1 + +b3XXMktUugeTZeiFG2pJsp9dhiRqyuzvW73yJSdHjqZW+Tq4U2D9Je1WeZT4+Au + qTQh1uC2dRgQ0PMafX50aTxIK7lPxva+cOPgYeALXP58TCUqeNUyYQmvAGba7yyU + yec3Hz/SNLqEhSnOqCx+TXZOhV4PM8fTzpnNhqZQ2RX2uUXwXjuyAZ8fv3v5se8F + HvQGW8EvJaDSvLD5GjKblQqwNlFWf0HOPUf5UZSXV3MHsHLzYHKlOE4cJ778ih7S + XgGY+6q602ciOETbXexRAK4G0AaAY06iQqIvjqzTRmRgkftMI/8HAV2mfjfRuTXF + 9DClJje/SpRp/fS6jXFyRCc1MysABsxcyopIhHPxf2iy4UiipC1c15Z9VVK4cL4= + =l9vN + -----END PGP MESSAGE----- + fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 + - created_at: "2026-01-15T21:23:56Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAw5vwmoEJHQ1ARAAr6u7xDPFlylAf002AQkjASgSyCdLMD0LxXmTEihOxBnp + +ZcJN9cpuyCuDaIfSqGdDLUqZ6TuAfVaixtXbxT6Odl2q1DN/GaVkZbDVwGk/W3w + +lSjBz4miAcU9kaSFeeJ9BDEdqROduj8/fFc8jLyxpa51nnp6ON7wI3Uup3uNZN1 + oEwcav8u9hrbE5glS6IMFpGQAhJmvzWH9mHWCQT7A3GGK3DsYBWPH685vVk80VBw + 8IO35N2SMVD+ebvFbSnitBSOmSNUzHgv8DaBgJkcHb5EM8bCiZNI3VkbGdi8AmRx + wvuAclYkemq/bNu5I0sjpt/uxEOVqsymdPs+gOVgKceEy458ZfyRUPxV0Xp5Yi26 + MzAas8LCL+m561L8MTt01CfXJKllIh1aeNJEWYKyTtIxnWfhHnhAfiwiRaX+sAdK + ApLFSCtwAf2fvpqaUY0PvAwKUNKyEBrncu9cBuqK6EDx5YVQul6Mo2nx6W64G7mj + IUGQOoRATZP4y9bJJJMNU5BfK9j7Fdhh/VirB1XSSWSlkUduv8PVx99iLejfnknB + b0LVS0RW0W+XgbM0yvjRhDATalrcuBX4R7voQPeGFlw//fdg0qepSe9OeAPA+RNm + YTjWVWqXOmGJQ46sms4P1Fhd5NKgyv7qAaZDVf2lDZOensbhwWFKw1R65PSbi4DS + XgEDIaRdmRPMHOGoHzcSieR+sxDvklEAWyfUMn8D8u8dkgs1u8WL3gGixDaPMvcF + JgS3PA6hl0JOi3+UgBWGh6gx+C/mr+6jly+IhWd78HAsbsJcGIrs4Zlu54T8jV4= + =8IWz + -----END PGP MESSAGE----- + fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 + - created_at: "2026-01-15T21:23:56Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DerEtaFuTeewSAQdA7STwRBnvhKhEh9mdHz/GWujTMli/vbMrXv8WnZ1boUkw + 9Qtj+soJcdr8XxDREm//Q7wgGZJSJe6dBdxW5NC10H7bYDFc9aNkbT0/ceMj0tBM + 0l4BNU1LT9rZrkhGUTqA3Gs+bzP4xazBGuiucCkM1mbSvRAjWO2abLb17GKUWODr + 1uDStVFrPOTqN/0/O1lAfk/Xv5LQO2X/xVMDD42i9txP9G8+rCF42gKdODWF+DsQ + =FVIu + -----END PGP MESSAGE----- + fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 + - created_at: "2026-01-15T21:23:56Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxjNhCKPP69fARAAkUEvumeteWHZ31xbvLAWezQr75Q45DVzBAX6MJIPnCcz + ofMYuDjz/ujOES7UtAYrRekCW4R+PZQ2pcC3tbNHxKQjdxsA6cY68mBQLj+TJ0+F + 15jlkAkL7utwOxOh8P1/yxO+hr3qZl6rmncQwiynRnyiAJa6FHK8dvAHVKhLWcRN + pxx2O5m8I/+sF2/XgVs0iq0KWG+WbwJWUlvWKJ+2LNvXDoPYD0sdo8G1hkuQGOLW + Lmc1xN4hbTzvgjTBoUt1HUEOgohau8TMWnT7x1jpMLBNqm0hQfcyNmBuK4vA3NYR + PjtMUvEuucjOrFvF1g+OaTQ3ZSkd431yqTHRbktZDXdCvhYhSfxJ2TKdqX5U+3p+ + 27hPOX5cVISd36T8Oxm7LTt2GSZp5JZJ2gzRuSn8HDEHHBa39+jmdsqmGMFjAJfU + amK3TNpLx9U/AGw9CYVyQxfnrRPArjuPXE+nVmuZVJhgOcex+5SAA6YRpzPLj5/I + bHv0zOQ+84ghaIPvA7OlehgE2DYQjFC7qMGV0Q/jEomzHmwaFLlbDiSX97SQM4+P + dwe2gbz5EfgVdXeSwyPH03W5Uq/D8GiNFASxe6ctfwY6G9cUJaY7gj+br2/WSjzc + bSQxbyA36q6tSR8sty4lOkRqfhvCsopnACe3UaPDD9aUPu5dkrPFD2DwGZqALjrS + XgGQM27HAK2eAWtmQk7wWZcK8EyeO4bPl/JX8hMU8xSnbHrFpY26RNY1C4mjqcnD + QoyU68TbPmGX522sseuygCNmEEM/5rhx6wwePH1X+C8WRHMmXyLjKD3eVkFJ3tA= + =EPrs + -----END PGP MESSAGE----- + fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 + - created_at: "2026-01-15T21:23:56Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA1Hthzn+T1OoAQ//arOC3Dpt+X+GzGZFPngYFGl8SHgx9vrbNcNdRQBEBhX0 + RmkT3rBbXRNbJvZHW6YPzoMRzhDMHEs9osbr7RwpTQxpL4owFd1hx8bhDjZYQplC + Gfj1xNjL1iFsQV1kWx7dagpkDEoPVlPaDyTDyHkj/fmgg/aU4y5GVUHc6l7iClN9 + fn5HL8/sCROAPteReXnwxIWmn/03lldh7VMYwKaVIpiTf3QZzEsHAOYT0EdEcapC + 3d5ZhTDmOvOwy2PMfx5w5RpKXKe2cbhoS1N3KEHaZIochlvnvQHpVJ3jhn8YG8j9 + bJ5tklEauoi1YHsnj5vzm8sgQMj/p5DJHALfVKxzAMCCe0AqcVpVGTW9SR1ZMUXW + p0UZOmeNBfqhcOIbKXW+Hj2oSZ25KGxiXZwydF51xnUT8rsau7nPYOgg+9YARAVl + USZd85OX/dZcDqhfK1YZjdV3GPiTHGFUrTz53sW/nHrcCCKXL17uADLr1Z/rk3Dm + dayNuUVhlqgV6Z0ts0Z9blz2X/Bz2c95TUTze+pUoXCP6oKcxGbrEfHBzJrhqeFa + PYGRyna1t96c3Az94bz2orX69Ij3QPyd2p2B0nlv+qYNk55J/aVPIfioZSamnDk9 + NAQJksb2M7KIq1rjheWsf/CLZYHC1rcrhUnz5SYIXVDe8f3+uNc0JFGYPYZuF7DS + XgEa4Lw21RwQs3Es0wAZSnkku+yg1Lg2YJ6/d5xSZJs0c5mCYvvW3q9oTc8u+D3n + H1/Lu8HvZtHtGARagLqHw2MORNvoJXoCT0EhcPBK4PlJKSNye96U1ooNfwxbUMo= + =0Nal + -----END PGP MESSAGE----- + fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD + - created_at: "2026-01-15T21:23:56Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA46L6MuPqfJqARAAlYT9Xqnfvd7uWr/V8Ca5oKJ003yWKGwAMd06zyPmIYOK + ErTHC98r7LXuGaMcIUrJ+oLf6YipYB7PyHwfz+zpxhDRTPAxXTqkF1ecLi7qg2AV + Ez3Q1hpPJv1DWASrVfJgpnlQnQtnpqXQsInL7klGc10mtbgc2zHUndWFqjxtkAhl + IinLZHZVFaijFw10W+e6T0UUZ9WfIPdCOChcqVp5/86DDyl3S9dBLmAd7wywzbuH + i0y1uelIxLyYmzLxYTNgJwEHKzQvF6jrj40AjT8HtUD473ILD5M4p2vdvNCUANu9 + 1iF4q7YM5g6cgjGC29Y31wOAM4YzdkwNXJsUhn4ACzYNBAItXK7Aw0I8WK9AnUfq + lwmSirx5hi870GIfu/OYeNt4I3fWjm4qY1aFwoJJRWrUdH94I4P1O6xXZyTVqpmG + m0Ich3O16Ir1vS9oFLdFSFGP7UZgU7D5314OKXNsEGpFLGa9U7AG1ZPHGSb6tAQi + 9Df7TsWxYVWKBU2PbI/D9StVlWDVilt2QiKtIcRwLs3/3JrzTPJd9tvUtw6Tyjw7 + N12/SE3yHwWxVPUXF2AsopmOoHGh67Ki+6oc7xTmxtcJWSITUhBL16ZjMEEXFeHy + FMODciBLrXO1jWz65mkB32ttV+oPQuCdtFPTzuKneDhVBybuMJrx7DEIFaf5CmvS + XgFrqRe9fua4zRd9r9tJE4RSosQOAhmVgRVCJIg5B+qUGC0l2AwO4ro1+a02t6o7 + uBGGRHeQYrGv6HVUd/xfirUj/mtrguiSSpOy3UZ5SHIlPxuj/2jf3WxVkU0QP5k= + =e4Qe + -----END PGP MESSAGE----- + fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A + - created_at: "2026-01-15T21:23:56Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DQrf1tCqiJxoSAQdAqRvfYgKUyKqP1jy9+s3UQ+vqUWQVxC/zXkcXOs/G3kQw + 27MDd3dcADzCI4qrHxc0umrFegUizTg9UmseMgSJnr7oWXtuh6ocjuEe+irXw0Di + 0l4B7cvZtRObjrOUf0lupPAp2xPIIKekUcVSxiecn6z7zVUVUwpYvPmS8MBCFc5h + 7ad0LWml36Rj5UkBE/ph0YgLvz7ZDoC1yiagBGVX59MTjjZsZBVpRecxZ+ztuaci + =68na + -----END PGP MESSAGE----- + fp: B71138A6A8964A3C3B8899857B4F70C356765BAB + - created_at: "2026-01-15T21:23:56Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DzAGzViGx4qcSAQdA95lt4L0inJjhMwQ2v5lvhW74zuvdpgktHsp5BSycbxcw + oUR2v3CcCHtNzWzgeWPm8L6JHRUJQWdg+XHsLujlZXsoqKirGI67NvToOk+yttsK + 0lgBW9AG8bUVUdXNNPfhc/FN8OJbQ2cj3E2z5kI05ZrkcOoZVXaRfXJiZPQDg1Kz + LhuKymMDmXXsSVd/VdLbSXpfeEqMJjTsDS+bU/TZAcRRPKxj9PPDJIWQ + =Kpzf + -----END PGP MESSAGE----- + fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD + - created_at: "2026-01-15T21:23:56Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA2pVdGTIrZI+ARAA2IaYLn8z593Kh+wAw2ecOXkW+B3qhi/x0qQLVw7Jc1hO + rVhrcTQoabL3elIIPZtxyTYIXq6EpPkSBMOBHO+tmqI8YsB5GvWtcGV1OBpRaZ3I + hgKjnxkJtaQizSZqZLgGUVXjMjcdkzTlIQfu7oGeTu8Ke1cwtOE1lvleDpHHK6gc + yRLJWsUfHdv3rCOmRCDtguc3NG7qzUUYcknPiFGx66hfnIaA0aJav2pqS3uuRwSD + Ay78U2PB7kYVg//Omz9BEuiUVhYsA0sl3hFVpJuKv7FQ9OcJOevQddfq90m2KGyo + 2Lpligwtj3evPfPReLR1D16HaGuzknoB9883jD027+fGr4/IFWx7ieVZ9iGeD3jR + yw/GdHCMueq1pdtyw8ArREspGmZldEKY3Qw6sfRdd71DAeTkD1zzWORCEk6OQefY + YX5ByUAOTUHvTey4Uy5WCj3HOUMW71CnVpsU6lDSuqBUnFlMvELtcjlmEAwvscXz + WFpTzphaX1fIqruS4BAzMxpKVTI1V3bnrb6wFRFnsErVjrty24R2auaoHvgslROu + 1QUTInC7JpFUpxiK9ke8xbhYlZ5JEhcxOXlfrZcVwlxziEZEqp429L/4gVz+IGVv + YQ4wU8ARBcXiEDEOmEl3tCxiprDlCeLpdSrqhq57/y7IMs6Fo7QrkA5XZG+mnfPS + XgHFg3iMBk0qKb6AiWiN8g3SHJtcehJgmAZsRxFRP329QKGGa+azQqT7Vp066keY + rOsmP8iwl+4KS71+cN9rLx/3U8EcSxRuMU6KtIKvhp7yfr2bhYo8P9JH2vrPTlk= + =lbdI + -----END PGP MESSAGE----- + fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + unencrypted_suffix: _unencrypted + version: 3.11.0 diff --git a/inventories/external/host_vars/status.yaml b/inventories/external/host_vars/status.yaml new file mode 100644 index 0000000..c2c26b3 --- /dev/null +++ b/inventories/external/host_vars/status.yaml @@ -0,0 +1,27 @@ +docker_compose__compose_file_content: "{{ lookup('ansible.builtin.template', 'resources/external/status/docker_compose/compose.yaml.j2') }}" +docker_compose__configuration_files: + - name: "general.yaml" + content: "{{ lookup('ansible.builtin.file', 'resources/external/status/docker_compose/config/general.yaml') }}" + - name: "sites.yaml" + content: "{{ lookup('ansible.builtin.file', 'resources/external/status/docker_compose/config/sites.yaml') }}" + - name: "services-chaosknoten.yaml" + content: "{{ lookup('ansible.builtin.file', 'resources/external/status/docker_compose/config/services-chaosknoten.yaml') }}" + - name: "websites.yaml" + content: "{{ lookup('ansible.builtin.file', 'resources/external/status/docker_compose/config/websites.yaml') }}" + - name: "easterhegg-websites.yaml" + content: "{{ lookup('ansible.builtin.file', 'resources/external/status/docker_compose/config/easterhegg-websites.yaml') }}" + +nginx__version_spec: "" +nginx__deploy_redirect_conf: false +nginx__configurations: + - name: status.hamburg.ccc.de + content: "{{ lookup('ansible.builtin.file', 'resources/external/status/nginx/status.hamburg.ccc.de.conf') }}" + - name: http_handler + content: "{{ lookup('ansible.builtin.file', 'resources/external/status/nginx/http_handler.conf') }}" + +certbot__version_spec: "" +certbot__acme_account_email_address: le-admin@hamburg.ccc.de +certbot__certificate_domains: + - "status.hamburg.ccc.de" +certbot__new_cert_commands: + - "systemctl reload nginx.service" diff --git a/inventories/external/hosts.yaml b/inventories/external/hosts.yaml new file mode 100644 index 0000000..435a9bf --- /dev/null +++ b/inventories/external/hosts.yaml @@ -0,0 +1,24 @@ +all: + hosts: + status: + # TODO: Manually set up ufw on the host. Create a role for ufw. + ansible_host: status.hamburg.ccc.de + ansible_user: chaos +base_config_hosts: + hosts: + status: +docker_compose_hosts: + hosts: + status: +nginx_hosts: + hosts: + status: +certbot_hosts: + hosts: + status: +infrastructure_authorized_keys_hosts: + hosts: + status: +ansible_pull_hosts: + hosts: + status: diff --git a/resources/external/status/docker_compose/compose.yaml.j2 b/resources/external/status/docker_compose/compose.yaml.j2 new file mode 100644 index 0000000..04abf95 --- /dev/null +++ b/resources/external/status/docker_compose/compose.yaml.j2 @@ -0,0 +1,36 @@ +# https://gatus.io/ +# https://github.com/TwiN/gatus +# https://github.com/TwiN/gatus/blob/master/.examples/docker-compose-postgres-storage/compose.yaml + +services: + database: + image: docker.io/library/postgres:18.1 + volumes: + - ./database:/var/lib/postgresql + environment: + - "POSTGRES_DB=gatus" + - "POSTGRES_USER=gatus" + - "POSTGRES_PASSWORD={{ secret__gatus_db_password }}" + networks: + - gatus + + gatus: + image: ghcr.io/twin/gatus:v5.34.0 + restart: always + ports: + - "8080:8080" + environment: + - "GATUS_CONFIG_PATH=/config" + - "POSTGRES_DB=gatus" + - "POSTGRES_USER=gatus" + - "POSTGRES_PASSWORD={{ secret__gatus_db_password }}" + - "MATRIX_ACCESS_TOKEN={{ secret__gatus_matrix_access_token }}" + volumes: + - ./configs:/config + networks: + - gatus + depends_on: + - database + +networks: + gatus: diff --git a/resources/external/status/docker_compose/config/easterhegg-websites.yaml b/resources/external/status/docker_compose/config/easterhegg-websites.yaml new file mode 100644 index 0000000..87feb4c --- /dev/null +++ b/resources/external/status/docker_compose/config/easterhegg-websites.yaml @@ -0,0 +1,303 @@ +# Easterhegg Websites and Websites (Redirects) +# (hosted on public-web-static) +# One could probably also generate this list from the public-web-static config. +easterhegg-websites-defaults: &easterhegg_websites_defaults + group: Websites + interval: 5m + alerts: + - type: matrix + failure-threshold: 3 + success-threshold: 1 + minimum-reminder-interval: "12h" + send-on-resolved: true + +easterhegg-websites-redirects-defaults: &easterhegg_websites_redirects_defaults + group: Websites (Redirects) + interval: 15m + alerts: + - type: matrix + failure-threshold: 3 + success-threshold: 1 + minimum-reminder-interval: "24h" + send-on-resolved: true + +endpoints: + # Websites + - name: eh03.easterhegg.eu + url: "https://eh03.easterhegg.eu" + <<: *easterhegg_websites_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*Easter(h)egg 2003*)" + + - name: eh05.easterhegg.eu + url: "https://eh05.easterhegg.eu" + <<: *easterhegg_websites_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*Easterhegg 2005 - The workshop weekend*)" + + - name: eh07.easterhegg.eu + url: "https://eh07.easterhegg.eu" + <<: *easterhegg_websites_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*Easterhegg 2007 - The Workshop weekend*)" + + - name: eh09.easterhegg.eu + url: "https://eh09.easterhegg.eu" + <<: *easterhegg_websites_defaults + conditions: + - "[status] == 200" + - "[certificate_expiration] > 48h" + - "[BODY] == pat(*Easterhegg 2009*)" + + - name: eh11.easterhegg.eu + url: "https://eh11.easterhegg.eu" + <<: *easterhegg_websites_defaults + conditions: + - "[status] == 200" + - "[certificate_expiration] > 48h" + - "[BODY] == pat(*Easterhegg 2011*)" + + - name: eh20.easterhegg.eu + url: "https://eh20.easterhegg.eu" + <<: *easterhegg_websites_defaults + conditions: + - "[status] == 200" + - "[certificate_expiration] > 48h" + - "[BODY] == pat(*EH20 - Back to root*)" + + # Websites (Redirects) + # eh03.easterhegg.eu + - name: eh2003.hamburg.ccc.de + url: "https://eh2003.hamburg.ccc.de" + <<: *easterhegg_websites_redirects_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*Easter(h)egg 2003*)" + + - name: www.eh2003.hamburg.ccc.de + url: "https://www.eh2003.hamburg.ccc.de" + <<: *easterhegg_websites_redirects_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*Easter(h)egg 2003*)" + + - name: easterhegg2003.hamburg.ccc.de + url: "https://easterhegg2003.hamburg.ccc.de" + <<: *easterhegg_websites_redirects_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*Easter(h)egg 2003*)" + + - name: www.easterhegg2003.hamburg.ccc.de + url: "https://www.easterhegg2003.hamburg.ccc.de" + <<: *easterhegg_websites_redirects_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*Easter(h)egg 2003*)" + + # eh05.easterhegg.eu + - name: eh2005.hamburg.ccc.de + url: "https://eh2005.hamburg.ccc.de" + <<: *easterhegg_websites_redirects_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*Easterhegg 2005 - The workshop weekend*)" + + - name: www.eh2005.hamburg.ccc.de + url: "https://www.eh2005.hamburg.ccc.de" + <<: *easterhegg_websites_redirects_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*Easterhegg 2005 - The workshop weekend*)" + + - name: easterhegg2005.hamburg.ccc.de + url: "https://easterhegg2005.hamburg.ccc.de" + <<: *easterhegg_websites_redirects_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*Easterhegg 2005 - The workshop weekend*)" + + - name: www.easterhegg2005.hamburg.ccc.de + url: "https://www.easterhegg2005.hamburg.ccc.de" + <<: *easterhegg_websites_redirects_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*Easterhegg 2005 - The workshop weekend*)" + + # eh07.easterhegg.eu + - name: eh2007.hamburg.ccc.de + url: "https://eh2007.hamburg.ccc.de" + <<: *easterhegg_websites_redirects_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*Easterhegg 2007 - The Workshop weekend*)" + + - name: www.eh2007.hamburg.ccc.de + url: "https://www.eh2007.hamburg.ccc.de" + <<: *easterhegg_websites_redirects_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*Easterhegg 2007 - The Workshop weekend*)" + + - name: eh07.hamburg.ccc.de + url: "https://eh07.hamburg.ccc.de" + <<: *easterhegg_websites_redirects_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*Easterhegg 2007 - The Workshop weekend*)" + + - name: www.eh07.hamburg.ccc.de + url: "https://www.eh07.hamburg.ccc.de" + <<: *easterhegg_websites_redirects_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*Easterhegg 2007 - The Workshop weekend*)" + + - name: easterhegg2007.hamburg.ccc.de + url: "https://easterhegg2007.hamburg.ccc.de" + <<: *easterhegg_websites_redirects_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*Easterhegg 2007 - The Workshop weekend*)" + + - name: www.easterhegg2007.hamburg.ccc.de + url: "https://www.easterhegg2007.hamburg.ccc.de" + <<: *easterhegg_websites_redirects_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*Easterhegg 2007 - The Workshop weekend*)" + + # eh09.easterhegg.eu + - name: eh2009.hamburg.ccc.de + url: "https://eh2009.hamburg.ccc.de" + <<: *easterhegg_websites_redirects_defaults + conditions: + - "[status] == 200" + - "[certificate_expiration] > 48h" + - "[BODY] == pat(*Easterhegg 2009*)" + + - name: www.eh2009.hamburg.ccc.de + url: "https://www.eh2009.hamburg.ccc.de" + <<: *easterhegg_websites_redirects_defaults + conditions: + - "[status] == 200" + - "[certificate_expiration] > 48h" + - "[BODY] == pat(*Easterhegg 2009*)" + + - name: eh09.hamburg.ccc.de + url: "https://eh09.hamburg.ccc.de" + <<: *easterhegg_websites_redirects_defaults + conditions: + - "[status] == 200" + - "[certificate_expiration] > 48h" + - "[BODY] == pat(*Easterhegg 2009*)" + + - name: www.eh09.hamburg.ccc.de + url: "https://www.eh09.hamburg.ccc.de" + <<: *easterhegg_websites_redirects_defaults + conditions: + - "[status] == 200" + - "[certificate_expiration] > 48h" + - "[BODY] == pat(*Easterhegg 2009*)" + + - name: easterhegg2009.hamburg.ccc.de + url: "https://easterhegg2009.hamburg.ccc.de" + <<: *easterhegg_websites_redirects_defaults + conditions: + - "[status] == 200" + - "[certificate_expiration] > 48h" + - "[BODY] == pat(*Easterhegg 2009*)" + + - name: www.easterhegg2009.hamburg.ccc.de + url: "https://www.easterhegg2009.hamburg.ccc.de" + <<: *easterhegg_websites_redirects_defaults + conditions: + - "[status] == 200" + - "[certificate_expiration] > 48h" + - "[BODY] == pat(*Easterhegg 2009*)" + + # eh11.easterhegg.eu + - name: eh2011.hamburg.ccc.de + url: "https://eh2011.hamburg.ccc.de" + <<: *easterhegg_websites_redirects_defaults + conditions: + - "[status] == 200" + - "[certificate_expiration] > 48h" + - "[BODY] == pat(*Easterhegg 2011*)" + + - name: www.eh2011.hamburg.ccc.de + url: "https://www.eh2011.hamburg.ccc.de" + <<: *easterhegg_websites_redirects_defaults + conditions: + - "[status] == 200" + - "[certificate_expiration] > 48h" + - "[BODY] == pat(*Easterhegg 2011*)" + + - name: eh11.hamburg.ccc.de + url: "https://eh11.hamburg.ccc.de" + <<: *easterhegg_websites_redirects_defaults + conditions: + - "[status] == 200" + - "[certificate_expiration] > 48h" + - "[BODY] == pat(*Easterhegg 2011*)" + + - name: www.eh11.hamburg.ccc.de + url: "https://www.eh11.hamburg.ccc.de" + <<: *easterhegg_websites_redirects_defaults + conditions: + - "[status] == 200" + - "[certificate_expiration] > 48h" + - "[BODY] == pat(*Easterhegg 2011*)" + + - name: easterhegg2011.hamburg.ccc.de + url: "https://easterhegg2011.hamburg.ccc.de" + <<: *easterhegg_websites_redirects_defaults + conditions: + - "[status] == 200" + - "[certificate_expiration] > 48h" + - "[BODY] == pat(*Easterhegg 2011*)" + + - name: www.easterhegg2011.hamburg.ccc.de + url: "https://www.easterhegg2011.hamburg.ccc.de" + <<: *easterhegg_websites_redirects_defaults + conditions: + - "[status] == 200" + - "[certificate_expiration] > 48h" + - "[BODY] == pat(*Easterhegg 2011*)" + + # eh20.easterhegg.eu + - name: www.eh20.easterhegg.eu + url: "https://www.eh20.easterhegg.eu" + <<: *easterhegg_websites_redirects_defaults + conditions: + - "[status] == 200" + - "[certificate_expiration] > 48h" + - "[BODY] == pat(*EH20 - Back to root*)" + + - name: eh20.hamburg.ccc.de + url: "https://eh20.hamburg.ccc.de" + <<: *easterhegg_websites_redirects_defaults + conditions: + - "[status] == 200" + - "[certificate_expiration] > 48h" + - "[BODY] == pat(*EH20 - Back to root*)" diff --git a/resources/external/status/docker_compose/config/general.yaml b/resources/external/status/docker_compose/config/general.yaml new file mode 100644 index 0000000..c67811a --- /dev/null +++ b/resources/external/status/docker_compose/config/general.yaml @@ -0,0 +1,25 @@ +storage: + type: postgres + path: "postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@database:5432/${POSTGRES_DB}?sslmode=disable" + +ui: + title: CCCHH Status + description: Automated uptime monitoring and status page for CCCHH services. Powered by Gatus. + header: CCCHH Status + buttons: + - name: Website + link: "https://hamburg.ccc.de" + - name: Git + link: "https://git.hamburg.ccc.de" + - name: Kontakt & Impressum + link: "https://hamburg.ccc.de/imprint/" + default-sort-by: group + +alerting: + matrix: + server-url: "https://matrix-client.matrix.org" + access-token: "${MATRIX_ACCESS_TOKEN}" + internal-room-id: "!jG755onbGAH-lZsZo8SRKtlsncSMvq7nzPhwCi5CgdQ" + +# A bit more than the default 5 concurrent checks should be fine. +concurrency: 15 diff --git a/resources/external/status/docker_compose/config/services-chaosknoten.yaml b/resources/external/status/docker_compose/config/services-chaosknoten.yaml new file mode 100644 index 0000000..0792e95 --- /dev/null +++ b/resources/external/status/docker_compose/config/services-chaosknoten.yaml @@ -0,0 +1,264 @@ +# Services (Chaosknoten) +services-chaosknoten-defaults: &services_chaosknoten_defaults + group: Services (Chaosknoten) + interval: 1m + alerts: + - type: matrix + failure-threshold: 5 + success-threshold: 2 + minimum-reminder-interval: "6h" + send-on-resolved: true + +endpoints: + - name: CCCHH ID/Keycloak (main page/account console) + url: "https://id.hamburg.ccc.de/" + <<: *services_chaosknoten_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*JavaScript is required to use the Account Console.*)" + + - name: CCCHH ID/Keycloak (ccchh realm) + url: "https://id.hamburg.ccc.de/realms/ccchh/" + <<: *services_chaosknoten_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY].realm == ccchh" + + - name: ccchoir + url: "https://ccchoir.de/" + <<: *services_chaosknoten_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*The Choir of the Chaos Computer Club*)" + + - name: Cloud (status info) + url: "https://cloud.hamburg.ccc.de/status.php" + <<: *services_chaosknoten_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY].installed == true" + - "[BODY].maintenance == false" + + - name: Cloud (main page/login) + url: "https://cloud.hamburg.ccc.de/" + <<: *services_chaosknoten_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*Sign in to CCCHH*)" + + - name: cow (main page/login) + url: "https://cow.hamburg.ccc.de/" + <<: *services_chaosknoten_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*mailcow UI*)" + + - name: cow (SMTP port 25) + url: "tcp://cow.hamburg.ccc.de:25" + <<: *services_chaosknoten_defaults + conditions: + - "[CONNECTED] == true" + + - name: cow (SMTPS port 465) + url: "tls://cow.hamburg.ccc.de:465" + <<: *services_chaosknoten_defaults + conditions: + - "[CONNECTED] == true" + + - name: cow (SMTP with STARTTLS port 587) + url: "starttls://cow.hamburg.ccc.de:587" + <<: *services_chaosknoten_defaults + conditions: + - "[CONNECTED] == true" + + - name: cow (IMAP port 143) + url: "tcp://cow.hamburg.ccc.de:143" + <<: *services_chaosknoten_defaults + conditions: + - "[CONNECTED] == true" + + - name: cow (IMAPS port 465) + url: "tls://cow.hamburg.ccc.de:465" + <<: *services_chaosknoten_defaults + conditions: + - "[CONNECTED] == true" + + - name: Design/penpot + url: "https://design.hamburg.ccc.de/" + <<: *services_chaosknoten_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*Penpot - Design Freedom for Teams*)" + + - name: EH22 Website/Wiki + url: "https://eh22.easterhegg.eu/" + <<: *services_chaosknoten_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*Easterhegg 2025*)" + + - name: Git + url: "https://git.hamburg.ccc.de/" + <<: *services_chaosknoten_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*CCCHH Git*)" + + - name: GitLab + url: "https://gitlab.hamburg.ccc.de/" + <<: *services_chaosknoten_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*Moin beim Gitlab des CCC Hamburg!*)" + + - name: Grafana + url: "https://grafana.hamburg.ccc.de/" + <<: *services_chaosknoten_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*Sign in to CCCHH*)" + + - name: Jitsi + url: "https://jitsi.hamburg.ccc.de/" + <<: *services_chaosknoten_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*Jitsi Meet*)" + + - name: Lists + url: "https://lists.hamburg.ccc.de/" + <<: *services_chaosknoten_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*Mailing Lists*)" + + - name: Matrix + url: "https://matrix.hamburg.ccc.de/_matrix/client/versions" + <<: *services_chaosknoten_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "has([BODY].versions) == true" + - "has([BODY].unstable_features) == true" + + - name: Mumble (tcp) + url: "tcp://mumble.hamburg.ccc.de:64738" + <<: *services_chaosknoten_defaults + conditions: + - "[CONNECTED] == true" + + - name: Mumble (udp) + url: "udp://mumble.hamburg.ccc.de:64738" + <<: *services_chaosknoten_defaults + conditions: + - "[CONNECTED] == true" + + - name: NetBox + url: "https://NetBox.hamburg.ccc.de/" + <<: *services_chaosknoten_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*NetBox*)" + + - name: ntfy + url: "https://ntfy.hamburg.ccc.de/" + <<: *services_chaosknoten_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*ntfy web requires JavaScript*)" + + - name: OnlyOffice + url: "https://onlyoffice.hamburg.ccc.de/" + <<: *services_chaosknoten_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*ONLYOFFICE Docs Community Edition installed*)" + + - name: Pad + url: "https://pad.hamburg.ccc.de/" + <<: *services_chaosknoten_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*HedgeDoc - Ideas grow better together*)" + + - name: Pretalx (main page) + url: "https://pretalx.hamburg.ccc.de/" + <<: *services_chaosknoten_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*pretalx*)" + + - name: Pretalx (EH22/Easterhegg 2025) + url: "https://cfp.eh22.easterhegg.eu/" + <<: *services_chaosknoten_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*Easterhegg 2025*)" + - "[BODY] == pat(*pretalx*)" + + - name: SpaceAPI + url: "https://spaceapi.hamburg.ccc.de/" + <<: *services_chaosknoten_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY].space == CCCHH" + + - name: Surveillance under Surveillance + url: "https://sunders.hamburg.ccc.de/" + <<: *services_chaosknoten_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*Surveillance under Surveillance*)" + + - name: Tickets/pretix + url: "https://tickets.hamburg.ccc.de/" + <<: *services_chaosknoten_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*pretix*)" + + - name: Wiki + url: "https://wiki.hamburg.ccc.de/" + <<: *services_chaosknoten_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*CCCHH Wiki*)" + + - name: Woodpecker + url: "https://woodpecker.hamburg.ccc.de/" + <<: *services_chaosknoten_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*Woodpecker*)" + + - name: Zammad + url: "https://zammad.hamburg.ccc.de/" + <<: *services_chaosknoten_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*zammad*)" diff --git a/resources/external/status/docker_compose/config/sites.yaml b/resources/external/status/docker_compose/config/sites.yaml new file mode 100644 index 0000000..7b0ce82 --- /dev/null +++ b/resources/external/status/docker_compose/config/sites.yaml @@ -0,0 +1,23 @@ +# Sites +sites-defaults: &sites_defaults + group: Sites + interval: 1m + alerts: + - type: matrix + failure-threshold: 5 + success-threshold: 2 + minimum-reminder-interval: "6h" + send-on-resolved: true + +endpoints: + - name: Chaosknoten/IRZ42 + url: "icmp://chaosknoten.hamburg.ccc.de" + <<: *sites_defaults + conditions: + - "[CONNECTED] == true" + + - name: Z9 + url: "icmp://185.161.129.129" + <<: *sites_defaults + conditions: + - "[CONNECTED] == true" diff --git a/resources/external/status/docker_compose/config/websites.yaml b/resources/external/status/docker_compose/config/websites.yaml new file mode 100644 index 0000000..e54337a --- /dev/null +++ b/resources/external/status/docker_compose/config/websites.yaml @@ -0,0 +1,174 @@ +# Websites, Websites (Staging) and Websites (Redirects) +# (hosted on public-web-static) +# One could probably also generate this list from the public-web-static config. +websites-defaults: &websites_defaults + group: Websites + interval: 1m + alerts: + - type: matrix + failure-threshold: 5 + success-threshold: 2 + minimum-reminder-interval: "6h" + send-on-resolved: true + +websites-staging-defaults: &websites_staging_defaults + group: Websites (Staging) + interval: 5m + alerts: + - type: matrix + failure-threshold: 3 + success-threshold: 1 + minimum-reminder-interval: "24h" + send-on-resolved: true + +websites-redirects-defaults: &websites_redirects_defaults + group: Websites (Redirects) + interval: 5m + alerts: + - type: matrix + failure-threshold: 3 + success-threshold: 1 + minimum-reminder-interval: "24h" + send-on-resolved: true + +endpoints: + # Websites + - name: branding-resources.hamburg.ccc.de + url: "https://branding-resources.hamburg.ccc.de/logo/sources.txt" + <<: *websites_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*file: ccchh-logo.png*)" + + - name: c3cat.de + url: "https://c3cat.de" + <<: *websites_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*Cat Ears Operation Center*)" + + - name: cryptoparty-hamburg.de + url: "https://cryptoparty-hamburg.de" + <<: *websites_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*Digitale Selbstverteidigung in Hamburg*)" + + - name: element-admin.hamburg.ccc.de + url: "https://element-admin.hamburg.ccc.de" + <<: *websites_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*Loading Element Admin*)" + + - name: element.hamburg.ccc.de + url: "https://element.hamburg.ccc.de" + <<: *websites_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*Sorry, Element requires JavaScript to be enabled.*)" + + - name: hacker.tours + url: "https://hacker.tours" + <<: *websites_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + # Once suites support alerting, we can also monitor the target as well. + - "[BODY] == pat(**)" + + - name: hackertours.hamburg.ccc.de + url: "https://hackertours.hamburg.ccc.de" + <<: *websites_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + # Once suites support alerting, we can also monitor the target as well. + - "[BODY] == pat(**)" + + - name: hamburg.ccc.de + url: "https://hamburg.ccc.de" + <<: *websites_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*Wir sind der Chaos Computer Club der Hansestadt Hamburg.*)" + +# Websites (Staging) + - name: staging.c3cat.de + url: "https://staging.c3cat.de" + <<: *websites_staging_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*c3cat.de Staging Environment*)" + + - name: staging.cryptoparty-hamburg.de + url: "https://staging.cryptoparty-hamburg.de" + <<: *websites_staging_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*cryptoparty-hamburg.de Staging Environment*)" + + - name: staging.hacker.tours + url: "https://staging.hacker.tours" + <<: *websites_staging_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*hacker.tours Staging Environment*)" + + - name: staging.hackertours.hamburg.ccc.de + url: "https://staging.hackertours.hamburg.ccc.de" + <<: *websites_staging_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*hackertours.hamburg.ccc.de Staging Environment*)" + + - name: staging.hamburg.ccc.de + url: "https://staging.hamburg.ccc.de" + <<: *websites_staging_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*hamburg.ccc.de Staging Environment*)" + +# Website (Redirects) + - name: www.c3cat.de + url: "https://www.c3cat.de" + <<: *websites_redirects_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*Cat Ears Operation Center*)" + + - name: cryptoparty.hamburg.ccc.de + url: "https://cryptoparty.hamburg.ccc.de" + <<: *websites_redirects_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*Digitale Selbstverteidigung in Hamburg*)" + + - name: staging.cryptoparty.hamburg.ccc.de + url: "https://staging.cryptoparty.hamburg.ccc.de" + <<: *websites_redirects_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*cryptoparty-hamburg.de Staging Environment*)" + + - name: www.hamburg.ccc.de + url: "https://www.hamburg.ccc.de" + <<: *websites_redirects_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*Wir sind der Chaos Computer Club der Hansestadt Hamburg.*)" diff --git a/resources/external/status/nginx/http_handler.conf b/resources/external/status/nginx/http_handler.conf new file mode 100644 index 0000000..c989ede --- /dev/null +++ b/resources/external/status/nginx/http_handler.conf @@ -0,0 +1,14 @@ +server { + listen 80 default_server; + listen [::]:80 default_server; + + server_name status.hamburg.ccc.de; + + location / { + return 301 https://$host$request_uri; + } + + location /.well-known/acme-challenge/ { + proxy_pass http://127.0.0.1:31820/.well-known/acme-challenge/; + } +} diff --git a/resources/external/status/nginx/status.hamburg.ccc.de.conf b/resources/external/status/nginx/status.hamburg.ccc.de.conf new file mode 100644 index 0000000..510966a --- /dev/null +++ b/resources/external/status/nginx/status.hamburg.ccc.de.conf @@ -0,0 +1,33 @@ +# partly generated 2022-01-08, Mozilla Guideline v5.6, nginx 1.17.7, OpenSSL 1.1.1k, intermediate configuration +# https://ssl-config.mozilla.org/#server=nginx&version=1.17.7&config=intermediate&openssl=1.1.1k&guideline=5.6 +server { + listen 443 ssl http2 default_server; + listen [::]:443 ssl http2 default_server; + + server_name status.hamburg.ccc.de; + + ssl_certificate /etc/letsencrypt/live/status.hamburg.ccc.de/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/status.hamburg.ccc.de/privkey.pem; + # verify chain of trust of OCSP response using Root CA and Intermediate certs + ssl_trusted_certificate /etc/letsencrypt/live/status.hamburg.ccc.de/chain.pem; + + # HSTS (ngx_http_headers_module is required) (63072000 seconds) + add_header Strict-Transport-Security "max-age=63072000" always; + + proxy_set_header Host $host; + proxy_set_header X-Forwarded-Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Port 443; + # This is https in any case. + proxy_set_header X-Forwarded-Proto https; + # Hide the X-Forwarded header. + proxy_hide_header X-Forwarded; + # Assume we are the only Reverse Proxy. + # Also provide "_hidden" for by, since it's not relevant. + proxy_set_header Forwarded "for=$remote_addr;proto=https;host=$host;by=_hidden"; + + location / { + proxy_pass http://127.0.0.1:8080/; + } +} From 744dc00ae5f6209481df3b1b0cd42fec4fa194f4 Mon Sep 17 00:00:00 2001 From: Renovate Date: Sun, 18 Jan 2026 03:01:35 +0000 Subject: [PATCH 117/160] Update https://github.com/ansible/ansible-lint action to v26 --- .forgejo/workflows/lint.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/lint.yaml b/.forgejo/workflows/lint.yaml index b1168c9..588d38c 100644 --- a/.forgejo/workflows/lint.yaml +++ b/.forgejo/workflows/lint.yaml @@ -24,7 +24,7 @@ jobs: # work in our environmnet. # Rather manually setup python (pip) before instead. - name: Run ansible-lint - uses: https://github.com/ansible/ansible-lint@v25.12.2 + uses: https://github.com/ansible/ansible-lint@v26.1.1 with: setup_python: "false" requirements_file: "requirements.yml" From 0b6847493cfe44d03c645efe0bf54e6b2b2941a9 Mon Sep 17 00:00:00 2001 From: Renovate Date: Sun, 18 Jan 2026 03:30:42 +0000 Subject: [PATCH 118/160] Update actions/checkout action to v6 --- .forgejo/workflows/lint.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/lint.yaml b/.forgejo/workflows/lint.yaml index 588d38c..5113e9f 100644 --- a/.forgejo/workflows/lint.yaml +++ b/.forgejo/workflows/lint.yaml @@ -10,7 +10,7 @@ jobs: name: Ansible Lint runs-on: docker steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - name: Install pip run: | apt update From d7b463ecb9a1d4cf3d13d0ad9d3c3f064c271235 Mon Sep 17 00:00:00 2001 From: June Date: Sun, 18 Jan 2026 04:53:14 +0100 Subject: [PATCH 119/160] status(host): fix token not working by using a new one --- inventories/external/host_vars/status.sops.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/inventories/external/host_vars/status.sops.yaml b/inventories/external/host_vars/status.sops.yaml index e300459..4dd3471 100644 --- a/inventories/external/host_vars/status.sops.yaml +++ b/inventories/external/host_vars/status.sops.yaml @@ -1,6 +1,6 @@ ansible_pull__age_private_key: ENC[AES256_GCM,data:u0tluAG5YmXTs71/F6RjuTITCrEoJco0K7+o/F7An4OMdOAwJVBvvMCnEaYsKhLhdesnMIoA24oz2j22lKRFgZUNtkF08ZwH9gw=,iv:oqTTeOi8l6ig4vvqOKict5bqxjmiBW+kwlZhbozoCSU=,tag:ZL2wuIczCHguGJIhbY0NuQ==,type:str] secret__gatus_db_password: ENC[AES256_GCM,data:fwtdWmXVTA7odBsKnlxH7mKKGtplAt/rQqscFBAxbDky6DNqgk6PP2OsqbIEpnpzs9Yn7Kd2VAxzfJfK,iv:ox/Lm+LlxxRcssOPc++nRp6nVa2DF3/46eEsGzTOBmA=,tag:i1e71Gm01ojHr5pGy0S9rA==,type:str] -secret__gatus_matrix_access_token: ENC[AES256_GCM,data:wp6C2E/LM3grawu8oW5CZZU0Y2+3qnuEbcKmgZr16e8P1KG/v2kfxRQ=,iv:S96oyGg6hI2Co7PJ8BFtrzZag82PTfp2IyIgTbxfdiM=,tag:JROk5PdoaMzXq1qXGgaH7g==,type:str] +secret__gatus_matrix_access_token: ENC[AES256_GCM,data:4qfXOyp+wAyYKw+KslCvE+6GxxdVfykkHJQUvaYBAebvdHlkRtIlyaI=,iv:axS2IRonJpZR2eanFBfc/LWc7Uhc2bi9eQAebsobtPc=,tag:TkaVZLgJzDz1UHDcDfsJ2A==,type:str] sops: age: - recipient: age1yl9ts8k6ceymaxjs72r5puetes5mtuzxuger7qgme9qkagfrm9hqzxx9qr @@ -12,8 +12,8 @@ sops: RFl1MnI1K0h2MUhvYk40d2JjbDRaUmMKNlPo1s06hVdxAamKhJy4HhNDX8PKQlq2 13PjdTJub64fydGEJng5NigcnNcPo7goGLz5QV7vE+6bO0gNZxBmmw== -----END AGE ENCRYPTED FILE----- - lastmodified: "2026-01-17T23:54:35Z" - mac: ENC[AES256_GCM,data:K/uLPclyRgFOMhSxPpFOiH1fQF0EQHKUNnqI/LW0o6+ON07r+UWv9mXaT2M7xUNhgHkv4lVu/qfLAKXZUVGlDga5ufH3A6xbcArqtQ5oyPoE5HX0nbcU4QF1f8JyYLVKCQdI0pBQkLU2cpAFHrGVLI/8+RY/uqrtNee9f7fd4cM=,iv:WRfTSWo4cfJOvjQqeSrSUCOstCf0FggTv2W4eGRcTF8=,tag:GE9cLzmJZt3F11BZd82HFA==,type:str] + lastmodified: "2026-01-18T03:53:06Z" + mac: ENC[AES256_GCM,data:yCgEtVm+HZfCL2sYg1+2cePBXg5xKoPX/fXln5NLLRJu5hUnsMOTa1VT41rAc6jJKFwbE4GWECkvjwfFReVjplwSJ4jvaY5usWvKjDLG7c8wPqgogR2vRNwxkI9aHU2VtBh7ArjCfmbY9++uWx577OPEdzUmup0TLlHxP68ueAw=,iv:YJjrm1HxCOakgm3c0JhlFfAb/MVi/ykQ1oeomeyQBus=,tag:UFFR6Fy9smzgzOef3NZlOA==,type:str] pgp: - created_at: "2026-01-15T21:23:56Z" enc: |- From d514688574e84f8da76aa357782953fce5e4cb0c Mon Sep 17 00:00:00 2001 From: June Date: Sun, 18 Jan 2026 19:21:33 +0100 Subject: [PATCH 120/160] systemd_networkd(role),router(host): support global config to fix forw. With the router upgrade to Debian 13 the systemd version got upgraded as well breaking the current configuration for IP forwarding. Add a variable for global systemd-networkd configuration and use that to enable IPv4 and IPv6 forwarding on the router. The systemd_networkd role could be a bit nicer, not deploying/deleting the global configuration, if the variable is empty and reloading/restarting systemd-networkd at appropriate times. But as is works for now. --- inventories/chaosknoten/host_vars/router.yaml | 1 + .../router/systemd_networkd/20-net1.network | 2 -- .../router/systemd_networkd/20-net2.network | 2 -- .../router/systemd_networkd_global_config.conf | 3 +++ roles/systemd_networkd/README.md | 5 +++++ roles/systemd_networkd/defaults/main.yaml | 1 + roles/systemd_networkd/tasks/main.yaml | 18 ++++++++++++++++++ 7 files changed, 28 insertions(+), 4 deletions(-) create mode 100644 resources/chaosknoten/router/systemd_networkd_global_config.conf create mode 100644 roles/systemd_networkd/defaults/main.yaml diff --git a/inventories/chaosknoten/host_vars/router.yaml b/inventories/chaosknoten/host_vars/router.yaml index 5e9c832..adbc8d9 100644 --- a/inventories/chaosknoten/host_vars/router.yaml +++ b/inventories/chaosknoten/host_vars/router.yaml @@ -1,4 +1,5 @@ systemd_networkd__config_dir: 'resources/chaosknoten/router/systemd_networkd/' +systemd_networkd__global_config: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/router/systemd_networkd_global_config.conf') }}" nftables__config: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/router/nftables/nftables.conf') }}" ansible_pull__timer_on_calendar: "*-*-* 04:00:00 Europe/Berlin" ansible_pull__timer_randomized_delay_sec: 0min diff --git a/resources/chaosknoten/router/systemd_networkd/20-net1.network b/resources/chaosknoten/router/systemd_networkd/20-net1.network index c8bffc1..5c14d8d 100644 --- a/resources/chaosknoten/router/systemd_networkd/20-net1.network +++ b/resources/chaosknoten/router/systemd_networkd/20-net1.network @@ -3,7 +3,6 @@ Name=net1 [Network] DNS=212.12.50.158 -IPForward=ipv4 IPv6AcceptRA=no [Address] @@ -11,4 +10,3 @@ Address=212.12.48.123/24 [Route] Gateway=212.12.48.55 - diff --git a/resources/chaosknoten/router/systemd_networkd/20-net2.network b/resources/chaosknoten/router/systemd_networkd/20-net2.network index b3f497d..39d1f03 100644 --- a/resources/chaosknoten/router/systemd_networkd/20-net2.network +++ b/resources/chaosknoten/router/systemd_networkd/20-net2.network @@ -3,7 +3,6 @@ Name=net2 [Network] #DNS=212.12.50.158 -IPForward=ipv6 IPv6AcceptRA=no [Address] @@ -11,4 +10,3 @@ Address=2a00:14b0:4200:3500::130:2/112 [Route] Gateway=2a00:14b0:4200:3500::130:1 - diff --git a/resources/chaosknoten/router/systemd_networkd_global_config.conf b/resources/chaosknoten/router/systemd_networkd_global_config.conf new file mode 100644 index 0000000..2d3d8a3 --- /dev/null +++ b/resources/chaosknoten/router/systemd_networkd_global_config.conf @@ -0,0 +1,3 @@ +[Network] +IPv4Forwarding=true +IPv6Forwarding=true diff --git a/roles/systemd_networkd/README.md b/roles/systemd_networkd/README.md index 3297c47..ac7f115 100644 --- a/roles/systemd_networkd/README.md +++ b/roles/systemd_networkd/README.md @@ -9,3 +9,8 @@ Should work on Debian-based distributions. ## Required Arguments - `systemd_networkd__config_dir`: Directory with systemd-networkd configs to deploy. + +## Optional Arguments + +- `systemd_networkd__global_config`: systemd-networkd global configuration to deploy (see `man 5 networkd.conf`). + Defaults to `` (the empty string); diff --git a/roles/systemd_networkd/defaults/main.yaml b/roles/systemd_networkd/defaults/main.yaml new file mode 100644 index 0000000..e84ed28 --- /dev/null +++ b/roles/systemd_networkd/defaults/main.yaml @@ -0,0 +1 @@ +systemd_networkd__global_config: "" diff --git a/roles/systemd_networkd/tasks/main.yaml b/roles/systemd_networkd/tasks/main.yaml index f88ed14..cc8f4d9 100644 --- a/roles/systemd_networkd/tasks/main.yaml +++ b/roles/systemd_networkd/tasks/main.yaml @@ -12,3 +12,21 @@ recursive: true delete: true become: true + +- name: ensure global systemd-networkd config directory exists + ansible.builtin.file: + path: "/etc/systemd/networkd.conf.d" + state: directory + owner: root + group: root + mode: "0755" + become: true + +- name: ensure global systemd-networkd config is deployed + ansible.builtin.copy: + content: "{{ systemd_networkd__global_config }}" + dest: "/etc/systemd/networkd.conf.d/20-ansible.conf" + mode: "0644" + owner: root + group: root + become: true From 28f80a85f33413cd0de40708623f281c93c78c76 Mon Sep 17 00:00:00 2001 From: fi Date: Sun, 18 Jan 2026 19:47:19 +0100 Subject: [PATCH 121/160] status(host): Switch to nekover.se user for personal token As access token now apparently expire with matrix authentication services, use a nekover.se user where we can get a long-lived personal token. --- inventories/external/host_vars/status.sops.yaml | 6 +++--- .../external/status/docker_compose/config/general.yaml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/inventories/external/host_vars/status.sops.yaml b/inventories/external/host_vars/status.sops.yaml index 4dd3471..366b641 100644 --- a/inventories/external/host_vars/status.sops.yaml +++ b/inventories/external/host_vars/status.sops.yaml @@ -1,6 +1,6 @@ ansible_pull__age_private_key: ENC[AES256_GCM,data:u0tluAG5YmXTs71/F6RjuTITCrEoJco0K7+o/F7An4OMdOAwJVBvvMCnEaYsKhLhdesnMIoA24oz2j22lKRFgZUNtkF08ZwH9gw=,iv:oqTTeOi8l6ig4vvqOKict5bqxjmiBW+kwlZhbozoCSU=,tag:ZL2wuIczCHguGJIhbY0NuQ==,type:str] secret__gatus_db_password: ENC[AES256_GCM,data:fwtdWmXVTA7odBsKnlxH7mKKGtplAt/rQqscFBAxbDky6DNqgk6PP2OsqbIEpnpzs9Yn7Kd2VAxzfJfK,iv:ox/Lm+LlxxRcssOPc++nRp6nVa2DF3/46eEsGzTOBmA=,tag:i1e71Gm01ojHr5pGy0S9rA==,type:str] -secret__gatus_matrix_access_token: ENC[AES256_GCM,data:4qfXOyp+wAyYKw+KslCvE+6GxxdVfykkHJQUvaYBAebvdHlkRtIlyaI=,iv:axS2IRonJpZR2eanFBfc/LWc7Uhc2bi9eQAebsobtPc=,tag:TkaVZLgJzDz1UHDcDfsJ2A==,type:str] +secret__gatus_matrix_access_token: ENC[AES256_GCM,data:adNtFvg2LXwRiNE7mvTZNO1hXxN3qasWZrDEQOGk5mYEVH0t9pglNrM=,iv:30xXR31qmrywLP3M34u6YgsyQY348zVvt9RM4/bGhtY=,tag:vhgpON0IdQ+FS4uQ/0TpsQ==,type:str] sops: age: - recipient: age1yl9ts8k6ceymaxjs72r5puetes5mtuzxuger7qgme9qkagfrm9hqzxx9qr @@ -12,8 +12,8 @@ sops: RFl1MnI1K0h2MUhvYk40d2JjbDRaUmMKNlPo1s06hVdxAamKhJy4HhNDX8PKQlq2 13PjdTJub64fydGEJng5NigcnNcPo7goGLz5QV7vE+6bO0gNZxBmmw== -----END AGE ENCRYPTED FILE----- - lastmodified: "2026-01-18T03:53:06Z" - mac: ENC[AES256_GCM,data:yCgEtVm+HZfCL2sYg1+2cePBXg5xKoPX/fXln5NLLRJu5hUnsMOTa1VT41rAc6jJKFwbE4GWECkvjwfFReVjplwSJ4jvaY5usWvKjDLG7c8wPqgogR2vRNwxkI9aHU2VtBh7ArjCfmbY9++uWx577OPEdzUmup0TLlHxP68ueAw=,iv:YJjrm1HxCOakgm3c0JhlFfAb/MVi/ykQ1oeomeyQBus=,tag:UFFR6Fy9smzgzOef3NZlOA==,type:str] + lastmodified: "2026-01-18T18:40:32Z" + mac: ENC[AES256_GCM,data:7bP0fmn6TJKA8zLuXE8F47sHn1qqX33z/078KkCJx5yRSKBGyLnTeKNha8EODEBkMG0eXQ2BEQDPfNB892R5OW69xCInCa0+sEPONd3YELMvFVoM7/+avDi94X/tdJKCHVPnF/kpqnGhKlwikKlCFLIcbkfEAHJgDlze32C0QKU=,iv:1Q5dsJP2FToAYDJYWXJufHuIlXGfj93NaBWHfZ5rhHk=,tag:dFNYdMJOwUwr6/zwlRollg==,type:str] pgp: - created_at: "2026-01-15T21:23:56Z" enc: |- diff --git a/resources/external/status/docker_compose/config/general.yaml b/resources/external/status/docker_compose/config/general.yaml index c67811a..0b30725 100644 --- a/resources/external/status/docker_compose/config/general.yaml +++ b/resources/external/status/docker_compose/config/general.yaml @@ -17,7 +17,7 @@ ui: alerting: matrix: - server-url: "https://matrix-client.matrix.org" + server-url: "https://matrix.nekover.se" access-token: "${MATRIX_ACCESS_TOKEN}" internal-room-id: "!jG755onbGAH-lZsZo8SRKtlsncSMvq7nzPhwCi5CgdQ" From ddaa069204bb49b8d1033e42292019ce9b594da8 Mon Sep 17 00:00:00 2001 From: June Date: Sun, 18 Jan 2026 21:39:23 +0100 Subject: [PATCH 122/160] status(host): configure Gatus to store more results and events Also see: https://github.com/TwiN/gatus?tab=readme-ov-file#storage --- resources/external/status/docker_compose/config/general.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/resources/external/status/docker_compose/config/general.yaml b/resources/external/status/docker_compose/config/general.yaml index 0b30725..fb1c3ed 100644 --- a/resources/external/status/docker_compose/config/general.yaml +++ b/resources/external/status/docker_compose/config/general.yaml @@ -1,6 +1,8 @@ storage: type: postgres path: "postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@database:5432/${POSTGRES_DB}?sslmode=disable" + maximum-number-of-results: 240 # Default are 100. 240 are 4h for 1m interval checks. + maximum-number-of-events: 1000 # Default are 50. Let's keep a long history here - 1000 should suffice for a year with around 3 events a day. ui: title: CCCHH Status From b492472179f8f56a6f46dd0aad0fdc036e99cdde Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Sun, 25 Jan 2026 12:12:30 +0100 Subject: [PATCH 123/160] Explain how to add age key for ansible pull --- ...ng_up_secrets_using_sops_for_a_new_host.md | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/docs/setting_up_secrets_using_sops_for_a_new_host.md b/docs/setting_up_secrets_using_sops_for_a_new_host.md index c88315f..df7b024 100644 --- a/docs/setting_up_secrets_using_sops_for_a_new_host.md +++ b/docs/setting_up_secrets_using_sops_for_a_new_host.md @@ -2,19 +2,29 @@ Because we're using the `community.sops.sops` vars plugin, the SOPS-encrypted secrets get stored in the inventory. -1. Add a new creation rule for the hosts `host_vars` file in the sops config at `.sops.yaml`. - It should probably hold all admin keys. +1. Create a new age key for Ansible pull on the host. + ``` + age-keygen + ``` + Then add an entry to `keys.hosts.chaosknoten.age` +2. Add a new creation rule for the hosts `host_vars` file in the sops config at `.sops.yaml`. + It should probably hold all admin keys plus the host entry. You can use existing creation rules as a reference. -2. Create a SOPS secrets file in the `host_vars` subdirectory of the relevant inventory. +3. Create a SOPS secrets file in the `host_vars` subdirectory of the relevant inventory. The name of the file should be in the format `[HOSTNAME].sops.yaml` to get picked up by the vars plugin and to match the previously created creation rule. This can be accomplished with a command similar to this: ``` sops inventories/[chaosknoten|z9]/host_vars/[HOSTNAME].secrets.yaml ``` -3. With the editor now open, add the secrets you want to store. +4. With the editor now open, add the secrets you want to store. Because we're using the `community.sops.sops` vars plugin, the stored secrets will be exposed as Ansible variables. Also note that SOPS only encrypts the values, not the keys. When now creating entries, try to adhere to the following variable naming convention: + - Make sure to put the prive age key in here under `ansible_pull__age_private_key`. - Prefix variable names with `secret__`, if they are intended to be used in a template file or similar. (e.g. `secret__netbox_secret_key: secret_value`) - Otherwise, if the variable is directly consumed by a role or similar, directly set the variable. (e.g. `netbox__db_password: secret_value`) -4. Now that the secrets are stored, they are exposed as variables and can simply be used like any other variable. +5. Now that the secrets are stored, they are exposed as variables and can simply be used like any other variable. + +## GPG Keys + +In order to edit encrypted files, you need all the GPG public keys imported into your GPG Keychain. You should be able to find the necessary public keys in https://git.hamburg.ccc.de/CCCHH/password-store. From 664b9115b8d4e01ae774bf33e041855ed10de585 Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Sun, 25 Jan 2026 13:01:52 +0100 Subject: [PATCH 124/160] Fix warning --- roles/docker/tasks/main/01_repo_setup.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/docker/tasks/main/01_repo_setup.yaml b/roles/docker/tasks/main/01_repo_setup.yaml index aa77521..63bdb91 100644 --- a/roles/docker/tasks/main/01_repo_setup.yaml +++ b/roles/docker/tasks/main/01_repo_setup.yaml @@ -9,7 +9,7 @@ - name: Ensure Docker APT repository is added ansible.builtin.apt_repository: - repo: "deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/docker.asc] https://download.docker.com/linux/debian {{ ansible_distribution_release }} stable" + repo: "deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/docker.asc] https://download.docker.com/linux/debian {{ ansible_facts['distribution_release'] }} stable" filename: docker state: present become: true From f887de25c521e52375ae828cab59dd6a17f3b258 Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Sun, 25 Jan 2026 13:26:20 +0100 Subject: [PATCH 125/160] make building and pulling configurable --- roles/docker_compose/defaults/main.yaml | 2 ++ roles/docker_compose/tasks/main.yaml | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/roles/docker_compose/defaults/main.yaml b/roles/docker_compose/defaults/main.yaml index 76831d6..621ee7b 100644 --- a/roles/docker_compose/defaults/main.yaml +++ b/roles/docker_compose/defaults/main.yaml @@ -1 +1,3 @@ +docker_compose__build: always docker_compose__configuration_files: [ ] +docker_compose__pull: always diff --git a/roles/docker_compose/tasks/main.yaml b/roles/docker_compose/tasks/main.yaml index bea3f4f..a706ab2 100644 --- a/roles/docker_compose/tasks/main.yaml +++ b/roles/docker_compose/tasks/main.yaml @@ -79,8 +79,8 @@ community.docker.docker_compose_v2: project_src: /ansible_docker_compose state: present - build: always - pull: always + build: "{{ docker_compose__build }}" + pull: "{{ docker_compose__pull }}" remove_orphans: true become: true From 0c782caee7a9e68e9b5247f681cf7222b1703ca7 Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Sun, 25 Jan 2026 14:03:34 +0100 Subject: [PATCH 126/160] Explain what all needs to be added for a new host --- docs/create-new-web-service-vm.md | 79 +++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 docs/create-new-web-service-vm.md diff --git a/docs/create-new-web-service-vm.md b/docs/create-new-web-service-vm.md new file mode 100644 index 0000000..76eca21 --- /dev/null +++ b/docs/create-new-web-service-vm.md @@ -0,0 +1,79 @@ +# How to create all necessary entries for new (web service) VM + +Let's assume that you want to add a new web service `example.hamburg.ccc.de` which is going to be hosted on the VM `example` on chaosknoten. These are the steps that you need to take to create the VM and add it to the Ansible repo. + +## IP, DNS, VM + +1. Allocate a fresh [IPv6 in Netbox in the 2a00:14b0:42:102::/64 net](https://netbox.hamburg.ccc.de/ipam/prefixes/47/ip-addresses/). This will be the management address for the VM. +2. Add an entry `example.hosts.hamburg.ccc.de` with that AAAA to the name server (`ns-intern`). +3. Add an entry `example.hamburg.ccc.de` as a CNAME for `public-reverse-proxy` to the same zone. +4. Commit and reload the zone. +5. Create a new VM on chaosknoten, for example by cloning the Debian template 9023. Give it the name `example`. +6. Edit the ethernet interface to be connected to `vmbr0`, VLAN tag `2`. +7. Configure the IPv6 address in the Cloud-Init section. Leave IPv4 set to DHCP. +8. Make sure the VM is started at boot (options). +9. Adjust any other VM parameters as needed. +10. Boot the VM. +11. Add the [VM to Netbox](https://netbox.hamburg.ccc.de/virtualization/virtual-machines/). Make sure to enter the VM ID. +12. Add an Ethernet interface to the VM; we typically use `eth0` as a name. +13. Add IP for that interface, then choose "Assign IP" and search for the IP you've created. Make it the primary IP of that interface. + +## Ansible Basics + +As the first step, we need to make the host known to Ansible. + +1. In `.sops.yaml`, add an entry for the host. Follow the other entries there. + 1. `keys.hosts.chaosknoten.age` needs an age public key (the private key is needed in the host-specific YAML) + 2. `creation_rules` needs an entry for the host, referencing the age key. +2. In `inventories/chaosknoten/hosts.yaml`: + 1. Configure basic connection info: + ``` + example: + ansible_host: example.hosts.hamburg.ccc.de + ansible_user: chaos + ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de + ``` + You typically will want to use router as a jump host so that you can run Ansible on an IPv4 only connection. + 2. Add the host to the desired roles. As a minimum, you'll want `base_config_hosts` and `infrastructure_authorized_keys_hosts`. For a typical web service based on Docker Compose, you'll want `docker_compose_hosts`, `nginx_hosts`, and `certbot_hosts`. + 3. In the directorry `inventories/chaosknoten/host_var/`: + 1. A file `inventories/chaosknoten/host_var/example.yaml` with the host/service specific configuration. + 2. A file `inventories/chaosknoten/host_var/example.sops.yaml` with the encrypted secrets for the host/service. Run `sops inventories/chaosknoten/host_var/example.yaml` to edit/create that file. Entries there should generally be prefixed with `secret__` to make it easier to see where that variable is coming from in templates etc. + +## Service-specific config + +From here, we go into the details of the web service that you want to configure. For a typical web service with Docker Compose, you will likely want to configure the following. + +Make `inventories/chaosknoten/host_var/example.yaml` look like this: +```yaml +certbot__version_spec: "" +certbot__acme_account_email_address: le-admin@hamburg.ccc.de +certbot__certificate_domains: + - "example.hamburg.ccc.de" +certbot__new_cert_commands: + - "systemctl reload nginx.service" + +docker_compose__compose_file_content: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/example/docker_compose/compose.yaml.j2') }}" + +nginx__version_spec: "" +nginx__configurations: + - name: example.hamburg.ccc.de + content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/spaceapiccc/nginx/example.hamburg.ccc.de.conf') }}" +``` + +This will create `compose.yaml` from the template `resources/chaosknoten/example/docker_compose/compose.yaml.j2'`, and the nginx config from `resources/chaosknoten/spaceapiccc/nginx/example.hamburg.ccc.de.conf`. Of course, depending on your service, you might need additional entries. See the other hosts and the roles for more info. + +## First Ansible run + +Before you can run Ansible successfully, you will want to make sure you can connect to the VM, and that the host key has been added to your known hosts: +* `ssh chaos@example.hosts.hamburg.ccc.de` +* `ssh -J chaos@router.hamburg.ccc.de chaos@example.hosts.hamburg.ccc.de` + +Then run Ansible for `public-reverse-proxy` to add the necessary entries: `ansible-playbook playbooks/deploy.yaml --inventory inventories/chaosknoten/hosts.yaml --limit public-reverse-proxy`. + +Finally run Ansible for the new host: `ansible-playbook playbooks/deploy.yaml --inventory inventories/chaosknoten/hosts.yaml --limit example` + +# Commit your changes + +Do not forget to commit your changes, whether it's a new host or you are making changes to an existing host. + +And always `git pull` before you run Ansible so avoid reverting anything! \ No newline at end of file From cee1fe970aa629d5b2f9bf58de2a8ed18b1726c9 Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Sun, 25 Jan 2026 14:03:54 +0100 Subject: [PATCH 127/160] Add spaceapiccc as a replacement for erfafoo --- .sops.yaml | 7 + .../host_vars/spaceapiccc.sops.yaml | 215 ++++++++++++++++++ .../chaosknoten/host_vars/spaceapiccc.yaml | 16 ++ inventories/chaosknoten/hosts.yaml | 9 + .../nginx/acme_challenge.conf | 2 + .../public-reverse-proxy/nginx/nginx.conf | 2 + .../docker_compose/compose.yaml.j2 | 39 ++++ .../nginx/spaceapiccc.hamburg.ccc.de.conf | 42 ++++ 8 files changed, 332 insertions(+) create mode 100644 inventories/chaosknoten/host_vars/spaceapiccc.sops.yaml create mode 100644 inventories/chaosknoten/host_vars/spaceapiccc.yaml create mode 100644 resources/chaosknoten/spaceapiccc/docker_compose/compose.yaml.j2 create mode 100644 resources/chaosknoten/spaceapiccc/nginx/spaceapiccc.hamburg.ccc.de.conf diff --git a/.sops.yaml b/.sops.yaml index 3b728e2..bb83e39 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -33,6 +33,7 @@ keys: - &host_public_reverse_proxy_ansible_pull_age_key age1p7pxgq5kwcpdkhkh3qq4pvnltrdk4gwf60hdhv8ka0mdxmgnjepqyleyen - &host_zammad_ansible_pull_age_key age1sv7uhpnk9d3u3je9zzvlux0kd83f627aclpamnz2h3ksg599838qjgrvqs - &host_ntfy_ansible_pull_age_key age1dkecypmfuj0tcm2cz8vnvq5drpu2ddhgnfkzxvscs7m4e79gpseqyhr9pg + - &host_spaceapiccc_ansible_pull_age_key age1mdtnk78aeqnwqadjqje5pfha04wu92d3ecchyqajjmy434kwq98qksq2wa external: age: &host_external_age_keys - &host_status_ansible_pull_age_key age1yl9ts8k6ceymaxjs72r5puetes5mtuzxuger7qgme9qkagfrm9hqzxx9qr @@ -160,6 +161,12 @@ creation_rules: *admin_gpg_keys age: - *host_public_reverse_proxy_ansible_pull_age_key + - path_regex: inventories/chaosknoten/host_vars/spaceapiccc.* + key_groups: + - pgp: + *admin_gpg_keys + age: + - *host_spaceapiccc_ansible_pull_age_key # external hosts - path_regex: inventories/external/host_vars/status.* key_groups: diff --git a/inventories/chaosknoten/host_vars/spaceapiccc.sops.yaml b/inventories/chaosknoten/host_vars/spaceapiccc.sops.yaml new file mode 100644 index 0000000..4f06e92 --- /dev/null +++ b/inventories/chaosknoten/host_vars/spaceapiccc.sops.yaml @@ -0,0 +1,215 @@ +ansible_pull__age_private_key: ENC[AES256_GCM,data:ZQJCVOcc2UTH/3tZRZEZAig2A7Vc/zBBz5IY+gKYMYpIKhLZN9S/OGrRdCc8VbXkN7pmZhzDL531PapI54cmFeCKr2yFJMlfXdE=,iv:1ilb+njcqgYVdownNiMNcAcG/TNpyRnLtAjEUGsCsl0=,tag:Od7kvNn8ZBl1LUnMyFwxpA==,type:str] +secret__spaceapiccc__shared_secret: ENC[AES256_GCM,data:0foffl4HF1SeL9rE3g==,iv:GzRTZAmr7zSBs1W+Vhyv6sMGhPnSy/SUZOSO39lzWHk=,tag:8IAS6Lt9vfpsJQwQfcunXg==,type:str] +secret__spaceapiccc__doku_ccc_de__username: ENC[AES256_GCM,data:fbrZROQz8Fzg/vI=,iv:LaR5UmkS3IhtroJp3C3xNF4ja7IhIiPRzGBHAfQbQGw=,tag:/VCNMKkw5qRbnRNHDnPj/w==,type:str] +secret__spaceapiccc__doku_ccc_de__password: ENC[AES256_GCM,data:mwkjOjRT7gOv,iv:wBzSeLzSWWe0j3LJesN/wnZ0tmUmXMVkRIBnp00qRhg=,tag:JSsbq1+qs2yA9BM2LouG1w==,type:str] +sops: + age: + - recipient: age1mdtnk78aeqnwqadjqje5pfha04wu92d3ecchyqajjmy434kwq98qksq2wa + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCY1Z0Slg4UmpQQUhGKzJX + S0ROZ2owdmNVRUFzbDhjWEJpNkxGQnF1RFFVClgrZDlZRDNCbllWeElEWFN4Uy95 + YXNzUGptcU9adjdJQVphSS9NQ1NaVTQKLS0tIEtQUlIyTURXK2lDbWtmMXU2OWtx + TnNtQjVpMUIzZjgzQnZicHV6OXE3ZlUKtChQKJlUmTV42FEpO2S1sTAI2+K/mro+ + C3cvwiqydpOlbH6tulcP6HSeDVExAAMeDZMfjebg/5cfq7Yfh6xa5Q== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2026-01-25T11:18:43Z" + mac: ENC[AES256_GCM,data:4s5GiYhU/+kieEGUY9bS5W0MAQ/AUS3TbvLezSypH8Div5HRoM7YfMeqgLq4jC+TjUL9d+ZfusjAmsOEG9PjHbIH051gg8U5TvB38wzmw3RpJxnpDtmiFrRh9QbXl+Fz8V/Oigf6hhXbgu01zZpZY9jy6YLNtUZc6AoqAQh27us=,iv:YUS/vGXcbgQPM1CKcK8YjOH5+KPlzBXcOtx3jmUblqA=,tag:jYzqaMfHv4Tyv2NelSSVvQ==,type:str] + pgp: + - created_at: "2026-01-25T11:17:03Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxK/JaB2/SdtARAAoP0ZuYWL+Z9vrnMN+ISg6/yx8Z3Oq2GufmYMowk/nQ7A + wk+xQQcywn7zLCweaTNtNb8CXtAcInnLhXZNRjviOecyAexZdFxcX+SIiT9x32aZ + xk2M3Bgnrtf9GQMV9q/mr7fgn+iaILyRjWTQMjUYFGuA5Hu7PNICxZZtA1y6p3G8 + iBDROt1vZS2M6WorA5n3FGSwCRFUCqWnRsBR+AkR0vjb/0xEmS4YpDZCdsqWVITq + fBxDZntznqQpmlTH9AxJV48QlfYMLAYFV7seHxp5VSjgDxaPJD4QIiNZMOylRa/y + 9hx1S5VN8KIfT9eW5piOeyNikE3Wv7hdwd4zOQ/ObESADh/QWFN582Smk+fxf76Q + /KlP7BM8JW7afjkvTHXg7cvc1qo9+GilWcWX9pK04v9bZtXTbO6H+uOhydlSmtUe + FGoHgQsMi52S4vHTFF1A8o76pvpQAIYNC2Zif2zZYq9ERvbLeAcgoIoo7bQihttc + lY8ZOqxQj9KbkFNbyLTlyekebNhfa512XjJij14YkYUVU2Y65kxtimZ3WpwKvLO2 + JcDWHOJduhUC+21TGTq6QFo1LNhpowyC447eybi8T0/WxMCBms/fhW+m4Mkt4bRi + ByjgQe8makgLqw2/EUlFl1qyF4zU0zjn+97pISvg0YBfQYhPIb5k8AWWkUF4mHHU + aAEJAhDMVlvoC4bopmVlgoCrCejX5wb+ULW9hle6S69440PVK4uN94Ral+NSH99o + CU4gmqngD9N6sw8SBp8lFFUzjhoqfcNwJ9cv8T9PIPgHLriPnRqwPsy4dHSYSsv1 + wWY4KUeOqk6Y + =Wm7O + -----END PGP MESSAGE----- + fp: EF643F59E008414882232C78FFA8331EEB7D6B70 + - created_at: "2026-01-25T11:17:03Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA6EyPtWBEI+2ARAAh2b51c4cFL0wOPTuQtxjthkEZGVv0sQC19PiDOWAy/zi + 457Ix+QPA31Wmun4uGQF8E+vJC9StDXvOuEku2639wK7Gx8UVHSJM+QhFt+f9tiI + df5mVRPz4R1tVMU6P/f2rTOqqQyugR2pi3wCcwntnZplEuL/Gxw2SI4gGAq9B1Kb + FVVdMkJOxhx33QWFhIEOqLLfMU+gdvGPtRaDPkMA5KJD5FDO0xYzgd+5j6wKLsdb + rY7MVvaP3HWbmsMOpJD+8zo3ONBeaG3OwdhhF8KgbHxGP/49r25WwI5YWqXI44K9 + xIQvtBJFTLaisO3q5rTOZgqKEvWAAX3e82cY3tCUG4aDyKEeF8dOqQ9GbI+KWaKh + kqTFDz3gh9sWI3Ex2/JHxq4xGJE433x4ArxHgSmXxfKWfc9zhiDuhtE1GBfEWP8t + a+07FWvsG8TCbS8pzFu40z/6we2O/VGXnZBa+vlc/9YPyLBN+zmAH3+jfhgYzV22 + oF0HPQTzLdd6FoUx771ETTOqDgwg2H8Lqv+cC5MjPgxUPyScP4G7t0r9TMSydxFv + 85Yo7ZWiBjo5TgdiU7agCCLKYct1C1R+9M20uRyrttDBhrVSjDlsIKmuStIdI7jk + k/PPLjxUKf5osTw8KKsSLvHTxt0G+rRzt38HgOCsOPBSoE6zlMTn79rgy+Ipm7fS + XgHPPTT78/y2Xvx3QGx9C2X9YqPDGhs12uzQ7HdcRlUu3Ay9akrSiV99CKCFb6ZZ + lDzOZrWvuWHcOLLqykhK3x8uhieMmwsM5WCNopr1j7i74b8UlVCmItXFXCaTRqg= + =ytkN + -----END PGP MESSAGE----- + fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC + - created_at: "2026-01-25T11:17:03Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAz5uSgHG2iMJARAA7Wenq30iYLUH7qTgwPJyIyPz0blUzqEpEeDyVjfLVxee + VzXUfrxL8ybD+1JNISQNogDRP+gi4Sa/kTwAwEudqg9nv8DTff2l+Ge7YRifTgoO + tK1yjPKpl/iH33s2tIRRPI9DJ38NKtIN7pFrZ9Icyinyx8O+Tx0U/rVOs+4I4i0K + eIhsjG2tD6z5AvDkTqJ70S16LWdlr+hrHfEFmZ9NDbesoVj6YlDjx8yXr6UAdBAd + nx4aVjy2vygBJFZHN3iqitD6pnBvFC6QM1SZTRfe1l0lb1NXiVbT42ir7hsQ1/Di + MKRw/GuD+5jwHWLAzFbmMeirLY1hw418AzMPmCUqg3xJxmm53v4abD/j6cnHaM8h + vkSEsO9iA9exDjM9RPqS5GXCGx3E2MdBzgBMZIdvRmEV8G7FTqBZAJZsElAA/wTl + WhCEB3iDqdTSuDUnEj2FHIrUGNG4IDKOm9mIexqkpdvF6ByXYHeOAVbeb0ByJmgO + 3QIYGsOYiWW2Uq1OCT2F+sP9ogn2GxInfMgPK7shFcUiXUbUKSnfBh4b5DbKPcJJ + wFtuJA4NbWgXbDPn0k2Lwbv33tMVuwQBRbCjseXD5JYUA+wEbNg341oNEl7gIBCp + oNyNJ0y2rkp8rxvf5mYLjk6VsMs0VO4vgRItg8oi78cZMmSrk2zdCda9yZA+JeHS + XgGnSemRkXBLcDcZMa1M178H/YTxispkRvsGyscxn7sjBRUgrFHnWM9j9P0GHtHE + RzBflQuBiG60jDb14l0SBEGDAm3Dp1bT5Up8attUJ0+03ta6E4G6iAR+fMXiBJA= + =LEoh + -----END PGP MESSAGE----- + fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 + - created_at: "2026-01-25T11:17:03Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAw5vwmoEJHQ1AQ/7Be0MaQ6HSb4N2DW+z2ALOuKSljRhSHLiLXt6bmhot+2Z + RRMsfsPGHWwDFzy5WWL6117ViPsxdFy88ZC8IhfT2ysf9d7IsNqBAj/W/a1kUXBg + b3PLPGXT3yHRitmRA0PxBWjmKBHuiKJgpj2AvKPBqmpJOpyWU8Yr0yu+fdPgHHmO + 9gMPwmoeDKCuVUQMtg78cxx3b9v3WzBXbx+VuhPepVPPUr7/iTWYnLWy8+s55hOV + A6qQS8f6JH9rhS7dqoSCMQ3wrqkSVzXhluhjfUXa/FW/EVp0g1r+lLMXHARA1Gtp + EGQS2SfwDB95xl6uLfqKblezzxt52yPvGp+hisAhgkCyoLonhL27fMTmtZ0+q9RX + FJoT2pPNTSP/zoLxfEJzsa9MgTCDKQL55215hTGHS2I/2ZeDtfINyc+/4LE/AhSc + 4OOdPSbgG7bIPkCepphBAccjbCVmPOQqaEOk5C9TfLbZREEBv0mQA7pzWVIsa6Gc + xep0qJGMSmRT5rmqs9pFFISAx57H7w91cRaEtwtGkg9/90+wTW2kIvnHMLXV/T6z + wxVG4RHn7eXlDdh9oz0ncpA1uh2A4fvEJN5dAbQHawiAUaOokm8cmv42LQ1zTF0x + 4EcZPQ1VAFzKsZE7/3TnCWoLPOUSNSOG+uJm2Gaps8P1DzIfgUAcSybaB+3cbGjS + XgEVALzLzyRrFB48McT/fU4l0dMiQ49OdFmWm5oWgOWDCCrHBomxPmWRQ5cUzVSV + wvgo/MrfGVOLrwinfeu/izoy9U0LxFcJtqiVLyxtUTARDlDcjv6OYWoRzvb0DzA= + =KudR + -----END PGP MESSAGE----- + fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 + - created_at: "2026-01-25T11:17:03Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DerEtaFuTeewSAQdAlSeQVBNgJ8WxD85XYmcCHmlNXIyIkAJPEu0coBpNpVQw + mGZKY6j0WkQSmHdCVAeh8/z6LOEgXMphP2jn0ZpZHiMu3FGNJJtWFloRKxOvOxr5 + 0l4BXq0oVpIYhcxeVxS1prF1F2EJf/OuRX8Zz9ngZuL7UlMoToBYHksPMaBfLlKB + iFcXPURafpmhvWpRaqD9CRqM3XRagm1nYPS6Zg8Yae9cfSmU7UnYMtJZwdMmJ+x4 + =gfNC + -----END PGP MESSAGE----- + fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 + - created_at: "2026-01-25T11:17:03Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQILAxjNhCKPP69fAQ/4mdGngFM8WhiX5P5RFo679yRMp5iHtiPqD0V1dE1byyje + d7WzceQwOYfYq/UEEw2ruiqIPhUjHlzB/GQ6wqFbj0+1tm7+/X2B42tO7vkO9gQf + 2mvG0gCGB1iykMnfARQ6EH1s90oAHCBcPFamjBZ3oawS0sI34aSInQGqLl7Ss+O+ + UgoOc2fbhYmRriZW7Elyx+8DuQg4RZ6/oPs18mtwQdLfKB8dwrt1TQrJvBx7iPh4 + RQWrRf3id+C8EeysmWPtMotukh1FgvBtBFEXIL66wntJTDC65AlNU1c2xkgUTATI + rA6ucSoyROTGDOTAWhBdwA+yV9Tf2zw5hzu8G2vT1nFLU+DFQiuQWj6TNn1s5xzc + 63bQ9bFzY/0pKKB2T1TLdeU6xoSt9QoJukagFS86Tgh3NcoMi69dFSSlchldgeX2 + wiJwpUjl8DgeJFEXcQES1vbn+MNJHYZHSSAcZecQX5rauSj6EmTFTXxYg7Vp98D9 + S4lVnXl6P7OByxqRJyQUzBmSD21KYeVXs6O4hY4cAxKx+pXYXqlGMmSpQi4SqJKF + xyD0f7Iz1FjB1u3dpcJmf5/71wLkZWc9smKfJICLaFZzYKfbfrF32xbAPGRuTq50 + Fv5d3R1YJKA9afQUI3HT0PpCEOnsI44WPqgnoOPHyT032gruZt9geL7yM1sRj9Je + AfCwLc18oeiRWhnZLw/K1YMTnDACVhMMRufyoE7MEEixsV3xhuG54+5FIufERSO3 + aW2vmDt65mLjqGVcepqbEz/Ip4hfGeMOnPfNbNil79Hc6TV1SzTcPnem40QPAA== + =7Qbv + -----END PGP MESSAGE----- + fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 + - created_at: "2026-01-25T11:17:03Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA1Hthzn+T1OoAQ//QizKfdVMoIVzretcwqPNQPhXnKYbHNI/AHhpsK2AeOFw + N2pP+8itgzpoJ+l3qYc1s7HnUYqN69cVXNOkuB9+EKUmEoubj9oLJEJQdfr1apux + wrqgvIfeXuQZWp4E4aI/02ndyWzzedfVV3/qf+JC0ZColccmKFReSsMedz7dOmWK + BM2bieM1PajS65leCAO2VVFTrwayKiHWpURMUY8HvrMk8N6GQkXqe1XDdxXNJqFr + irXgWtBaKbl/KJgrxnT9HwlH9YkCebsyCi2sZKmJEqyIi78SOrhmWzeoTs5Mgg/M + EqZLWrGhOOD2/ineOxiDhFPOEDVjgoprghxei2Ef0i9pYITJmGMuB76KayMW3nbY + mEJgASKsWFN10zTiZK5DjxJoDEq4fyqtzFhYhRenwcvZqiklr2JudSzBWkKfx4Y/ + TOoLwwn93TQDLoIIEsOlLaWMBxm3LsAe4MAr2k9/gAkGGMzeOiTRISHJeFtaNRPe + xPv2hJBKqAJJkWu5nlcn5FEtAqdG8hPRPqEZWDyWRmQDlk0Rx286UFIS+BKSfwvo + Ak52YxruVlkwxn4lRJ8yCrIneZocLFlBgTNoqbr0uYSHkg6XHwzniN+qGRHxjrm8 + hDYcnVeAnLCDGEwPpMcx7KYVtLeEcr2Tm5btAlHugpQ1pNrUuZ3Lf47AdneMSY7S + XgE32gbAcEaZVQRl1fnehRIwqqNIuFDxjhFpDYpvX1Rep2NEUtEaxd50aqMh3PKm + XE6ZBkKbhSylRnOs8dgVZK3nqEe1xDsdcx5hFAoyyhs1QhWVT/MHUtfuB2PBcjo= + =T4dN + -----END PGP MESSAGE----- + fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD + - created_at: "2026-01-25T11:17:03Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA46L6MuPqfJqAQ//SZac3kFkPkHZ4CveGECwnJLKA/UJO/XoV44mjiQDtY4Q + tFJ+YauR7GHK3CYMvpx8uWejiW6PzMkuqVuKwk5QMBsRA7q/6SmQeLUNNIPx8AAm + s1Lo1Cdjv5Ku8AnR7gAJ9w3O+qM635xo7zgtvEv5qJuPrwbqy8kstvS2fnxg9Zb3 + Dl4J+Wp1kRs8hHsFIkECKPqKNB0LfP57s63Vwd5tI2TltDMlMkvKvjgsQSPhUqQl + z0AIPT+zON37P4EW5buJ5NKvojYZ/QyzoqJ+Zb+2jn3uyMRDo4lqaT+uiVDcmB6w + jg2yBGKgU5XGAU5NyCSldBGW3yQfNHAEjTPHWIvcplfUOUQ2mKIV31c3ci8cBWa5 + zfA4K2UOFPSHSraohaT770Ani/qvm5XH9HvAA2HOI50LuIh4t8cWGocbW1f5PfvZ + gMIuA27UfWWD10tz+J3qvz2RGcfBPV+3BS8BJUh2SRC80ba8nDM/VSuQUkxQA1go + AHogKohH7v5vIPEN6ggRxZ3yCroQ3zfdABekrP8sfKXU652/vhw5MFPtqp8ow5hU + uJ3S3lCoKQCKE8tc+288WuJXIGaYG4LKhaVlFWFqQDib+0jfm8RfwqqxV5vis7np + mbPMIyl/MTAeevsQC2yqbHeZ+nDXhrb8b4lfWCnn5jpNwZFpP+RZpJT6XxFbONTS + XgGQowdDlIEa1Hs1klR8lPOScW3VyhWbTyfWkhg4cI6js21/0MMsC22myhjxjZKU + rCn8k0mgZw+HyB9qfm3eM4fYXHs+CXQM22eBQK+IK2VvzT9jbpSBIoJEDW0B47c= + =PbAZ + -----END PGP MESSAGE----- + fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A + - created_at: "2026-01-25T11:17:03Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DQrf1tCqiJxoSAQdArbiHTkrjSYBSPIIgSNnEoAWkU43Zn8/6rtksEivhPVgw + ik9/LvTH3VUSS1pDtLNoJq3wfE8aCoGTVXHjCtaEQqp7PJ9c83afZuT0/jSs20vo + 0l4Bbp+AopvK8wlLakYZM0rbXzJw7LyW7hyA3wSN/gL0MwT8sW6hb08BB3+zRY+f + dQGtPMDNZ0aJ8nzJ/WLVxi4GdC3pAWxqw/1AX0SwwMb0PEf9kdYSgnrmYQsqx9KU + =Cbzj + -----END PGP MESSAGE----- + fp: B71138A6A8964A3C3B8899857B4F70C356765BAB + - created_at: "2026-01-25T11:17:03Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DzAGzViGx4qcSAQdAQKsWq8NPJbW2SBhKhlgkW1gzYnx9baL8spEk1Wv31Asw + fuq75JZ/m8yR6+jnchE8ikuWrVQ1IRwyQBB2qlaArrdwnVpkF5HG/ggpDy4l5UYK + 0lgBhuKG36g1P7G0incMXR+S+UswYQhzm+19LqoB247HvZZoyIT4m0k7XndHBpUw + fzQyFTKdwQpmWyQWsbkW/ycvxkKyKcEce6xkga0e8UbB8w1fJ0P6gErz + =g5Ck + -----END PGP MESSAGE----- + fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD + - created_at: "2026-01-25T11:17:03Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA2pVdGTIrZI+AQ//X0eMLW5Con7f2J4S15RwQX/uMc+p0tabrfSYAT8cg1oR + X8qyFgBWL4EK/VAcgS+Loe6cOCO8pDv7R81nn18wg2D6hVN3BOcotgLtLpqWEdMz + FguVIc++/Nh5+s+H1oDxqfwO6LbcuewBvvNS9xvBUtHBMuoAGVO0mUu7jpxrg+4k + dh2QeA/YWc4hGly/lO6eOhq61arAY4tukqs1K4JRY7z1vZYb2658HamfruLcRP1j + kM6yvJ9bgrg3hIEPG48lWX3SATRpKDP4ukyTYMFPN5rePUu67rnkwCvXwvBzWV4v + fvjmDZ4U2AD6Ihn5Be3ThZyQivZJPmxBlgit6uQOdu08Q5/S0DDWSS/MnbRnElQt + caQMnIcSbwLJfum2/0AS/dcl6f36vOl5t9eiy3nnrgufFEUcAMgJ2bJk8+6nPRli + MImBTXLMor97XD4DS+xyQ8NjYzf8XxEDduCzWA/EQborLkkaXj5J9ZmQSKDfv6bb + wcGfxt0+JGEPmOuOD/BwZHhEcd6eV8k3cM6k4oQ3k9cMGele+dtSkrlkyFKnnBNV + NrZVBE5j62sgnUUgKCesbKPfauETE5Z+R2uvOK5Y0gqjTfaw8hV1YF2q+x2qRWig + 6NjHheUtjigCgF61OK4x1a5WDJmVeuAe03JnwKYMujN4H5Oi9YMhSX65lX1+fhrU + aAEJAhCV01dJAuYksyvp+F5Dx62eKZj7gL/MHL3zHw97WbONvI7ApC3/Q7fkupYm + oPfYKQD5ov77V3u+Y8nVOoYM+Hb4thFQdEV01r90g9WUj8LrXvxd08j3GwAnzDMG + xU5hdDPzz/jT + =zb8A + -----END PGP MESSAGE----- + fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + unencrypted_suffix: _unencrypted + version: 3.11.0 diff --git a/inventories/chaosknoten/host_vars/spaceapiccc.yaml b/inventories/chaosknoten/host_vars/spaceapiccc.yaml new file mode 100644 index 0000000..377b909 --- /dev/null +++ b/inventories/chaosknoten/host_vars/spaceapiccc.yaml @@ -0,0 +1,16 @@ +docker_compose__compose_file_content: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/spaceapiccc/docker_compose/compose.yaml.j2') }}" +docker_compose__build: never +docker_compose__pull: never + +certbot__version_spec: "" +certbot__acme_account_email_address: le-admin@hamburg.ccc.de +certbot__certificate_domains: + # - "spaceapi.ccc.de" # after DNS has been adjusted + - "spaceapiccc.hamburg.ccc.de" +certbot__new_cert_commands: + - "systemctl reload nginx.service" + +nginx__version_spec: "" +nginx__configurations: + - name: spaceapiccc.hamburg.ccc.de + content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/spaceapiccc/nginx/spaceapiccc.hamburg.ccc.de.conf') }}" diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index 93c61be..6246119 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -74,6 +74,10 @@ all: ansible_host: renovate.hosts.hamburg.ccc.de ansible_user: chaos ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de + spaceapiccc: + ansible_host: spaceapiccc.hosts.hamburg.ccc.de + ansible_user: chaos + ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de hypervisors: hosts: chaosknoten: @@ -98,6 +102,7 @@ base_config_hosts: ntfy: sunders: renovate: + spaceapiccc: systemd_networkd_hosts: hosts: router: @@ -117,6 +122,7 @@ docker_compose_hosts: zammad: ntfy: sunders: + spaceapiccc: nextcloud_hosts: hosts: cloud: @@ -138,6 +144,7 @@ nginx_hosts: zammad: ntfy: sunders: + spaceapiccc: public_reverse_proxy_hosts: hosts: public-reverse-proxy: @@ -158,6 +165,7 @@ certbot_hosts: zammad: ntfy: sunders: + spaceapiccc: prometheus_node_exporter_hosts: hosts: ccchoir: @@ -189,6 +197,7 @@ infrastructure_authorized_keys_hosts: ntfy: sunders: renovate: + spaceapiccc: wiki_hosts: hosts: eh22-wiki: diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf index 82e596a..0a6a70d 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf @@ -78,6 +78,8 @@ map $host $upstream_acme_challenge_host { cryptoparty.hamburg.ccc.de 172.31.17.151:31820; staging.cryptoparty-hamburg.de 172.31.17.151:31820; staging.cryptoparty.hamburg.ccc.de 172.31.17.151:31820; + spaceapiccc.hamburg.ccc.de spaceapiccc.hosts.hamburg.ccc.de:31820; + spaceapi.ccc.de spaceapiccc.hosts.hamburg.ccc.de:31820; default ""; } diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf index 489dda5..2ad5dc4 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf @@ -96,6 +96,8 @@ stream { cryptoparty.hamburg.ccc.de 172.31.17.151:8443; staging.cryptoparty-hamburg.de 172.31.17.151:8443; staging.cryptoparty.hamburg.ccc.de 172.31.17.151:8443; + spaceapiccc.hamburg.ccc.de spaceapiccc.hosts.hamburg.ccc.de:8443; + spaceapi.ccc.de spaceapiccc.hosts.hamburg.ccc.de:8443; } server { diff --git a/resources/chaosknoten/spaceapiccc/docker_compose/compose.yaml.j2 b/resources/chaosknoten/spaceapiccc/docker_compose/compose.yaml.j2 new file mode 100644 index 0000000..67e4b58 --- /dev/null +++ b/resources/chaosknoten/spaceapiccc/docker_compose/compose.yaml.j2 @@ -0,0 +1,39 @@ +--- +services: + frontend: + #build: ./frontend + networks: + spaceapi-network: + ipv4_address: 172.16.238.10 + image: gidsi/spaceapi-ccc-frontend:saved_from_old_host + restart: always + expose: + - "80" + depends_on: + - backend + backend: + #build: ./backend + networks: + - spaceapi-network + image: gidsi/spaceapi-ccc-backend:saved_from_old_host + restart: always + environment: + SHARED_SECRET: "{{ secret__spaceapiccc__shared_secret }}" + DOKU_WIKI_USER: "{{ secret__spaceapiccc__doku_ccc_de__username }}" + DOKU_WIKI_PASSWORD: "{{ secret__spaceapiccc__doku_ccc_de__password }}" + depends_on: + - database + database: + image: mongo:saved_from_old_host + networks: + - spaceapi-network + restart: always + volumes: + - ./data/database:/data/db + +networks: + spaceapi-network: + ipam: + driver: default + config: + - subnet: 172.16.238.0/24 diff --git a/resources/chaosknoten/spaceapiccc/nginx/spaceapiccc.hamburg.ccc.de.conf b/resources/chaosknoten/spaceapiccc/nginx/spaceapiccc.hamburg.ccc.de.conf new file mode 100644 index 0000000..f060996 --- /dev/null +++ b/resources/chaosknoten/spaceapiccc/nginx/spaceapiccc.hamburg.ccc.de.conf @@ -0,0 +1,42 @@ +# partly generated 2022-01-08, Mozilla Guideline v5.6, nginx 1.17.7, OpenSSL 1.1.1k, intermediate configuration +# https://ssl-config.mozilla.org/#server=nginx&version=1.17.7&config=intermediate&openssl=1.1.1k&guideline=5.6 +server { + # Listen on a custom port for the proxy protocol. + listen [::]:8443 ssl http2 proxy_protocol; + # Make use of the ngx_http_realip_module to set the $remote_addr and + # $remote_port to the client address and client port, when using proxy + # protocol. + # First set our proxy protocol proxy as trusted. + set_real_ip_from 2a00:14b0:4200:3000:125::1; + # Then tell the realip_module to get the addreses from the proxy protocol + # header. + real_ip_header proxy_protocol; + + server_name spaceapi.ccc.de spaceapiccc.hamburg.ccc.de; + + ssl_certificate /etc/letsencrypt/live/spaceapiccc.hamburg.ccc.de/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/spaceapiccc.hamburg.ccc.de/privkey.pem; + # verify chain of trust of OCSP response using Root CA and Intermediate certs + ssl_trusted_certificate /etc/letsencrypt/live/spaceapiccc.hamburg.ccc.de/chain.pem; + + # HSTS (ngx_http_headers_module is required) (63072000 seconds) + add_header Strict-Transport-Security "max-age=63072000" always; + + proxy_set_header Host $host; + proxy_set_header X-Forwarded-Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Port 443; + # This is https in any case. + proxy_set_header X-Forwarded-Proto https; + # Hide the X-Forwarded header. + proxy_hide_header X-Forwarded; + # Assume we are the only Reverse Proxy (well using Proxy Protocol, but that + # is transparent). + # Also provide "_hidden" for by, since it's not relevant. + proxy_set_header Forwarded "for=$remote_addr;proto=https;host=$host;by=_hidden"; + + location / { + proxy_pass http://172.16.238.10/; + } +} From d35f1cc779b9ed4a23ddc8e376c393cf1c33f2e7 Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Sun, 25 Jan 2026 15:31:42 +0100 Subject: [PATCH 128/160] GPG must be installed for the docker role to be able to add the repo --- roles/base_config/tasks/main.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/roles/base_config/tasks/main.yaml b/roles/base_config/tasks/main.yaml index 7f0281e..ab737b7 100644 --- a/roles/base_config/tasks/main.yaml +++ b/roles/base_config/tasks/main.yaml @@ -30,4 +30,5 @@ - dnsutils - usbutils - kitty + - gpg become: true From c285694aaadd49374745c9749d54b2ece5c7afaa Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Sun, 25 Jan 2026 15:47:41 +0100 Subject: [PATCH 129/160] Add age private key --- docs/create-new-web-service-vm.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/create-new-web-service-vm.md b/docs/create-new-web-service-vm.md index 76eca21..1f5874d 100644 --- a/docs/create-new-web-service-vm.md +++ b/docs/create-new-web-service-vm.md @@ -37,7 +37,8 @@ As the first step, we need to make the host known to Ansible. 2. Add the host to the desired roles. As a minimum, you'll want `base_config_hosts` and `infrastructure_authorized_keys_hosts`. For a typical web service based on Docker Compose, you'll want `docker_compose_hosts`, `nginx_hosts`, and `certbot_hosts`. 3. In the directorry `inventories/chaosknoten/host_var/`: 1. A file `inventories/chaosknoten/host_var/example.yaml` with the host/service specific configuration. - 2. A file `inventories/chaosknoten/host_var/example.sops.yaml` with the encrypted secrets for the host/service. Run `sops inventories/chaosknoten/host_var/example.yaml` to edit/create that file. Entries there should generally be prefixed with `secret__` to make it easier to see where that variable is coming from in templates etc. + 2. A file `inventories/chaosknoten/host_var/example.sops.yaml` with the encrypted secrets for the host/service. Run `sops inventories/chaosknoten/host_var/example.yaml` to edit/create that file. Entries here should generally be prefixed with `secret__` to make it easier to see where that variable is coming from in templates etc. + * Add an entry `ansible_pull__age_private_key` with the age private key you generated above. ## Service-specific config From 0939771d0812e71fad69074420223a706353ec98 Mon Sep 17 00:00:00 2001 From: June Date: Sun, 25 Jan 2026 20:22:44 +0100 Subject: [PATCH 130/160] public-reverse-proxy(host): add entries for cpu.ccc.de --- .../chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf | 2 ++ resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf | 2 ++ 2 files changed, 4 insertions(+) diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf index 0a6a70d..71ae729 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf @@ -80,6 +80,8 @@ map $host $upstream_acme_challenge_host { staging.cryptoparty.hamburg.ccc.de 172.31.17.151:31820; spaceapiccc.hamburg.ccc.de spaceapiccc.hosts.hamburg.ccc.de:31820; spaceapi.ccc.de spaceapiccc.hosts.hamburg.ccc.de:31820; + cpuccc.hamburg.ccc.de 172.31.17.151:31820; + cpu.ccc.de 172.31.17.151:31820; default ""; } diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf index 2ad5dc4..bdf7184 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf @@ -98,6 +98,8 @@ stream { staging.cryptoparty.hamburg.ccc.de 172.31.17.151:8443; spaceapiccc.hamburg.ccc.de spaceapiccc.hosts.hamburg.ccc.de:8443; spaceapi.ccc.de spaceapiccc.hosts.hamburg.ccc.de:8443; + cpuccc.hamburg.ccc.de 172.31.17.151:8443; + cpu.ccc.de 172.31.17.151:8443; } server { From 652aa32e217fe21f864d9e24d2c80ccd520776c0 Mon Sep 17 00:00:00 2001 From: June Date: Sun, 25 Jan 2026 20:49:39 +0100 Subject: [PATCH 131/160] docker_compose(role): document new build and pull arguments --- roles/docker_compose/README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/roles/docker_compose/README.md b/roles/docker_compose/README.md index c0a7a93..6f2c841 100644 --- a/roles/docker_compose/README.md +++ b/roles/docker_compose/README.md @@ -19,6 +19,10 @@ Should work on Debian-based distributions. - `docker_compose__configuration_files`: A list of configuration files to deploy to the `/ansible_docker_compose/configs/` directory. - `docker_compose__configuration_files.*.name`: The name of the configuration file. - `docker_compose__configuration_files.*.content`: The content to deploy to the configuration file. +- `docker_compose__build`: Whether or not to build images before starting containers. + Defaults to `always`. +- `docker_compose__pull`: Whether or not to pull images before starting containers. + Defaults to `always`. ## Links & Resources From a5d291cea8829f7098929b3da0640c5effdc06c4 Mon Sep 17 00:00:00 2001 From: June Date: Sun, 25 Jan 2026 20:58:57 +0100 Subject: [PATCH 132/160] spaceapiccc(host): setup ansible-pull --- inventories/chaosknoten/hosts.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index 6246119..2a95ba8 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -232,6 +232,7 @@ ansible_pull_hosts: public-reverse-proxy: zammad: ntfy: + spaceapiccc: msmtp_hosts: hosts: renovate_hosts: From 1523b15952987cc23f87a7845d480be9bf89327c Mon Sep 17 00:00:00 2001 From: June Date: Sun, 25 Jan 2026 21:11:07 +0100 Subject: [PATCH 133/160] docs: improve formatting and wording a bit to make things clearer --- docs/create-new-web-service-vm.md | 55 +++++++++++++++++++++---------- 1 file changed, 37 insertions(+), 18 deletions(-) diff --git a/docs/create-new-web-service-vm.md b/docs/create-new-web-service-vm.md index 1f5874d..da8293b 100644 --- a/docs/create-new-web-service-vm.md +++ b/docs/create-new-web-service-vm.md @@ -5,36 +5,47 @@ Let's assume that you want to add a new web service `example.hamburg.ccc.de` whi ## IP, DNS, VM 1. Allocate a fresh [IPv6 in Netbox in the 2a00:14b0:42:102::/64 net](https://netbox.hamburg.ccc.de/ipam/prefixes/47/ip-addresses/). This will be the management address for the VM. -2. Add an entry `example.hosts.hamburg.ccc.de` with that AAAA to the name server (`ns-intern`). -3. Add an entry `example.hamburg.ccc.de` as a CNAME for `public-reverse-proxy` to the same zone. -4. Commit and reload the zone. -5. Create a new VM on chaosknoten, for example by cloning the Debian template 9023. Give it the name `example`. -6. Edit the ethernet interface to be connected to `vmbr0`, VLAN tag `2`. -7. Configure the IPv6 address in the Cloud-Init section. Leave IPv4 set to DHCP. -8. Make sure the VM is started at boot (options). -9. Adjust any other VM parameters as needed. -10. Boot the VM. -11. Add the [VM to Netbox](https://netbox.hamburg.ccc.de/virtualization/virtual-machines/). Make sure to enter the VM ID. -12. Add an Ethernet interface to the VM; we typically use `eth0` as a name. -13. Add IP for that interface, then choose "Assign IP" and search for the IP you've created. Make it the primary IP of that interface. +2. On `ns-intern`: + 1. Add an entry `example.hosts.hamburg.ccc.de` as an AAAA pointing to the allocated IP. + 2. Add an entry `example.hamburg.ccc.de` as a CNAME for `public-reverse-proxy` to the same zone. + 3. Commit and reload the zone. +3. On Chaosknoten: + 1. Create a new VM, for example by cloning the Debian template 9023. + Give it the name `example`. + 2. Edit the ethernet interface to be connected to `vmbr0`, VLAN tag `2`. + 3. Configure the IPv6 address in the Cloud-Init section. Leave IPv4 set to DHCP. + 4. Make sure the VM is started at boot (options). + 5. Adjust any other VM parameters as needed. + 6. Boot the VM. +4. Add the [VM to Netbox](https://netbox.hamburg.ccc.de/virtualization/virtual-machines/). + - Make sure to enter the VM ID. + - Add an Ethernet interface to the VM; we typically use `eth0` as a name. + - Add IP for that interface, then choose "Assign IP" and search for the IP you've created. Make it the primary IP of that interface. ## Ansible Basics As the first step, we need to make the host known to Ansible. 1. In `.sops.yaml`, add an entry for the host. Follow the other entries there. - 1. `keys.hosts.chaosknoten.age` needs an age public key (the private key is needed in the host-specific YAML) + 1. `keys.hosts.chaosknoten.age` needs an age public key (must be generated; the private key gets added later in the host-specific YAML) 2. `creation_rules` needs an entry for the host, referencing the age key. 2. In `inventories/chaosknoten/hosts.yaml`: 1. Configure basic connection info: - ``` + ```yaml example: ansible_host: example.hosts.hamburg.ccc.de ansible_user: chaos ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de ``` You typically will want to use router as a jump host so that you can run Ansible on an IPv4 only connection. - 2. Add the host to the desired roles. As a minimum, you'll want `base_config_hosts` and `infrastructure_authorized_keys_hosts`. For a typical web service based on Docker Compose, you'll want `docker_compose_hosts`, `nginx_hosts`, and `certbot_hosts`. + 2. Add the host to the desired roles. + 1. As a minimum, you'll want the following roles: + - `base_config_hosts` + - `infrastructure_authorized_keys_hosts` + 2. For a typical web service based on Docker Compose, you'll also want: + - `docker_compose_hosts` + - `nginx_hosts` + - `certbot_hosts`. 3. In the directorry `inventories/chaosknoten/host_var/`: 1. A file `inventories/chaosknoten/host_var/example.yaml` with the host/service specific configuration. 2. A file `inventories/chaosknoten/host_var/example.sops.yaml` with the encrypted secrets for the host/service. Run `sops inventories/chaosknoten/host_var/example.yaml` to edit/create that file. Entries here should generally be prefixed with `secret__` to make it easier to see where that variable is coming from in templates etc. @@ -69,12 +80,20 @@ Before you can run Ansible successfully, you will want to make sure you can conn * `ssh chaos@example.hosts.hamburg.ccc.de` * `ssh -J chaos@router.hamburg.ccc.de chaos@example.hosts.hamburg.ccc.de` -Then run Ansible for `public-reverse-proxy` to add the necessary entries: `ansible-playbook playbooks/deploy.yaml --inventory inventories/chaosknoten/hosts.yaml --limit public-reverse-proxy`. +Then run Ansible for `public-reverse-proxy` to add the necessary entries: -Finally run Ansible for the new host: `ansible-playbook playbooks/deploy.yaml --inventory inventories/chaosknoten/hosts.yaml --limit example` +```sh +ansible-playbook playbooks/deploy.yaml --inventory inventories/chaosknoten/hosts.yaml --limit public-reverse-proxy +``` + +Finally run Ansible for the new host: + +```sh +ansible-playbook playbooks/deploy.yaml --inventory inventories/chaosknoten/hosts.yaml --limit example +``` # Commit your changes Do not forget to commit your changes, whether it's a new host or you are making changes to an existing host. -And always `git pull` before you run Ansible so avoid reverting anything! \ No newline at end of file +And always `git pull` before you run Ansible so avoid reverting anything! From c6c02724487ab278aa9904483d66efb8d4872d64 Mon Sep 17 00:00:00 2001 From: June Date: Sun, 25 Jan 2026 21:16:38 +0100 Subject: [PATCH 134/160] docs: add section on conf. monitoring with Gatus (status.hamburg.ccc.de) --- docs/create-new-web-service-vm.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docs/create-new-web-service-vm.md b/docs/create-new-web-service-vm.md index da8293b..57a1e81 100644 --- a/docs/create-new-web-service-vm.md +++ b/docs/create-new-web-service-vm.md @@ -97,3 +97,16 @@ ansible-playbook playbooks/deploy.yaml --inventory inventories/chaosknoten/hosts Do not forget to commit your changes, whether it's a new host or you are making changes to an existing host. And always `git pull` before you run Ansible so avoid reverting anything! + +# Monitoring + +## Gatus (`status.hamburg.ccc.de`) + +After you configured a new service or website, add it to our status and uptime monitoring. +Take a look at the configuration in `resources/external/status/docker_compose/config` and extend it to cover the newly added service or website. The configuration should probably happen in either `services-chaosknoten.yaml` or `websites.yaml`. Taking the existing configuration as a reference should give guidance on how to configure new checks. Additionally there's also the comprehensive [Gatus Documentation](https://github.com/TwiN/gatus?tab=readme-ov-file#table-of-contents). + +After you've added some checks, the configuration can be deployed using: + +```sh +ansible-playbook playbooks/deploy.yaml --inventory inventories/external --limit status +``` From 8f7990acc0240123d2d488c334ba2904060ece12 Mon Sep 17 00:00:00 2001 From: June Date: Sun, 25 Jan 2026 21:17:28 +0100 Subject: [PATCH 135/160] docs: add ansible_pull_hosts to the desired minimum roles/groups --- docs/create-new-web-service-vm.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/create-new-web-service-vm.md b/docs/create-new-web-service-vm.md index 57a1e81..46ff19f 100644 --- a/docs/create-new-web-service-vm.md +++ b/docs/create-new-web-service-vm.md @@ -42,6 +42,7 @@ As the first step, we need to make the host known to Ansible. 1. As a minimum, you'll want the following roles: - `base_config_hosts` - `infrastructure_authorized_keys_hosts` + - `ansible_pull_hosts` 2. For a typical web service based on Docker Compose, you'll also want: - `docker_compose_hosts` - `nginx_hosts` From 11779ab21d742da75e4ab13e001be29ee74ccd52 Mon Sep 17 00:00:00 2001 From: chris Date: Sun, 25 Jan 2026 21:41:20 +0100 Subject: [PATCH 136/160] grafana: get alertmanager to be more chill a bit of help to deal with alert fatigue --- .../docker_compose/alertmanager.yaml.j2 | 23 +++++-------------- .../grafana/docker_compose/compose.yaml.j2 | 4 ++-- 2 files changed, 8 insertions(+), 19 deletions(-) diff --git a/resources/chaosknoten/grafana/docker_compose/alertmanager.yaml.j2 b/resources/chaosknoten/grafana/docker_compose/alertmanager.yaml.j2 index 51aeb63..10fb346 100644 --- a/resources/chaosknoten/grafana/docker_compose/alertmanager.yaml.j2 +++ b/resources/chaosknoten/grafana/docker_compose/alertmanager.yaml.j2 @@ -7,7 +7,7 @@ route: group_by: [ "alertname", "site", "type", "hypervisor" ] group_wait: 30s group_interval: 5m - repeat_interval: 6h + repeat_interval: 26h routes: - receiver: "null" matchers: @@ -16,49 +16,38 @@ route: matchers: - org = "ccchh" - severity = "critical", - repeat_interval: 18h + repeat_interval: 26h continue: true - receiver: ntfy-ccchh matchers: - org = "ccchh" - severity =~ "info|warning", - repeat_interval: 36h + repeat_interval: 52h continue: true - receiver: ntfy-fux-critical matchers: - org = "fux" - severity = "critical", - repeat_interval: 18h + repeat_interval: 26h continue: true - receiver: email-fux-critical matchers: - org = "fux" - severity = "critical", - repeat_interval: 36h + repeat_interval: 52h continue: true - receiver: ntfy-fux matchers: - org = "fux" - severity =~ "info|warning", - repeat_interval: 36h + repeat_interval: 52h continue: true - - receiver: ccchh-infrastructure-alerts - matchers: - - org = "ccchh" - - severity =~ "info|warning|critical" templates: - "/etc/alertmanager/templates/*.tmpl" receivers: - name: "null" - - name: "ccchh-infrastructure-alerts" - telegram_configs: - - send_resolved: true - bot_token: {{ secret__alertmanager_telegram_bot_token }} - chat_id: -1002434372415 - parse_mode: HTML - message: {{ "'{{ template \"alert-message.telegram.ccchh\" . }}'" }} - name: "ntfy-ccchh-critical" webhook_configs: diff --git a/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 b/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 index 90952ee..c2c312c 100644 --- a/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 @@ -19,7 +19,7 @@ services: - prom_data:/prometheus alertmanager: - image: docker.io/prom/alertmanager:v0.30.0 + image: docker.io/prom/alertmanager:v0.30.1 container_name: alertmanager command: - '--config.file=/etc/alertmanager/alertmanager.yaml' @@ -59,7 +59,7 @@ services: - /dev/null:/etc/prometheus/pve.yml loki: - image: docker.io/grafana/loki:3.6.3 + image: docker.io/grafana/loki:3.6.4 container_name: loki ports: - 13100:3100 From 995dbb06e2ea547177b00566b64b4fde595456cb Mon Sep 17 00:00:00 2001 From: June Date: Sun, 4 Jan 2026 19:32:42 +0100 Subject: [PATCH 137/160] wip: alloy --- roles/alloy/tasks/main.yaml | 48 +++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 roles/alloy/tasks/main.yaml diff --git a/roles/alloy/tasks/main.yaml b/roles/alloy/tasks/main.yaml new file mode 100644 index 0000000..2bc308a --- /dev/null +++ b/roles/alloy/tasks/main.yaml @@ -0,0 +1,48 @@ +# https://github.com/grafana/grafana-ansible-collection/blob/main/roles/alloy/tasks/deploy.yml#L124 +- name: ensure alloy user exists + ansible.builtin.user: + name: alloy + system: true + append: true + create_home: false + state: present + +- name: ensure the `/etc/alloy/` config directory exists + ansible.builtin.file: + path: /etc/alloy + state: directory + mode: "0770" + owner: root + group: alloy + become: true + +- name: synchronize the additional configuration files directory, if present + when: alloy__additional_configs_dir is defined and alloy__additional_configs_dir != "" + block: + - name: ensure rsync is installed + ansible.builtin.apt: + name: rsync + become: true + + - name: synchronize the additional configuration files directory, if present + ansible.posix.synchronize: + src: "{{ alloy__additional_configs_dir }}" + dest: /etc/alloy/additional + delete: true + recursive: true + use_ssh_args: true + rsync_opts: + - "--chown=root:alloy" + become: true + +- name: delete the additional configuration files directory, if not present + when: alloy__additional_configs_dir is not defined or alloy__additional_configs_dir == "" + ansible.builtin.file: + path: /etc/alloy/additional + state: absent + become: true + +- name: Setup Alloy + ansible.builtin.import_role: + name: grafana.grafana.alloy + become: true From c7d51af5b428b7b1fe065c23fbfa1d1b6bd51980 Mon Sep 17 00:00:00 2001 From: chris Date: Sun, 25 Jan 2026 20:03:13 +0100 Subject: [PATCH 138/160] rollout Alloy to replace prometheus_node_exporter With the new network we need to deploy a push based solution in order to get metrics into prometheus --- .../chaosknoten/group_vars/all.sops.yaml | 7 +- .../chaosknoten/host_vars/grafana.yaml | 42 +-------- .../chaosknoten/host_vars/ntfy.sops.yaml | 6 +- inventories/chaosknoten/host_vars/ntfy.yaml | 86 +------------------ inventories/chaosknoten/hosts.yaml | 16 ++-- playbooks/deploy.yaml | 11 +-- .../grafana/docker_compose/prometheus.yml | 35 -------- .../grafana/nginx/metrics.hamburg.ccc.de.conf | 1 - roles/alloy/defaults/main.yaml | 44 ++++++++++ roles/alloy/tasks/main.yaml | 2 + roles/prometheus_node_exporter/meta/main.yaml | 10 --- .../prometheus_node_exporter/tasks/main.yaml | 14 --- 12 files changed, 69 insertions(+), 205 deletions(-) create mode 100644 roles/alloy/defaults/main.yaml delete mode 100644 roles/prometheus_node_exporter/meta/main.yaml delete mode 100644 roles/prometheus_node_exporter/tasks/main.yaml diff --git a/inventories/chaosknoten/group_vars/all.sops.yaml b/inventories/chaosknoten/group_vars/all.sops.yaml index ebc53b7..0c5762d 100644 --- a/inventories/chaosknoten/group_vars/all.sops.yaml +++ b/inventories/chaosknoten/group_vars/all.sops.yaml @@ -1,4 +1,5 @@ msmtp__smtp_password: ENC[AES256_GCM,data:xcBVBTb6mfr5Ubyfga9ibKWKhrfrEEaDWD98vIbX8fl8lQ4YTovg8Ax1HTK4UQ6AkJGHq2A0D5B67KUTlp9eLw==,iv:TOp1G1LktRPj/KMCRU5CXBUsgKOqGssUvvk5oY0QnPM=,tag:SVBdDQy+fM0xeEToappP+A==,type:str] +metrics__chaos_password: ENC[AES256_GCM,data:al234VSAH7oxka8X0hTvEJKVLD6O/WCrCKfVLLvm,iv:+TmA+0hXMV4OxvK7RH2g1dIzm88Lpm3zevxSZxK23QQ=,tag:txCVr5SEW3dVHgNFInR94g==,type:str] sops: age: - recipient: age1ss82zwqkj438re78355p886r89csqrrfmkfp8lrrf8v23nza492qza4ey3 @@ -163,8 +164,8 @@ sops: SnUrSUlvMXhnY3JrbER0TkxBcGJucmsKdBDkRY5FUtOo8zQ0QtfPFGJn0O2Fg5xn mSloxLaFwdXAR9L1QfUdsW+9Vgez4s5bxMJtn8hkwqIfyJc25FEEcA== -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-10-13T23:45:06Z" - mac: ENC[AES256_GCM,data:QxH4lnNyCAAEJhzbgCrq7QeLs+OAtYgwQP4oFm93NE4Fbz7/Hz2dvL/2SopOdW7nYVeb1scuG1ra+yvgzuQDhg4lcgt9eBJoBiynM3qiHBs+FtcSJoKs16I/ACAadQwClALb4E0xxwKFJI8ewMZu5BAxi5EhYbgNfnKCIbhvgWo=,iv:LRa2vX0HUBugeEAVeOqXbPsMQrfrCpyzGUGjK6+VaQc=,tag:/sfhJM8V1IYBh94ZS/TDxQ==,type:str] + lastmodified: "2026-01-25T18:06:26Z" + mac: ENC[AES256_GCM,data:plHNLOgGWwNWbakKG6X5EOxwERE3rvYO4EOAzY/sz+uM7cZBEnqU5LZwjlD8B75hgRHqpnDBF0JbHgsEwVxfJJRL1phkeMJFOapQMjZVWMz6j7eb1hOwpdktd+bpuimy4XCD1aOxOoInKpFSK33usxLfyqSxjFDM5+i6D22qBTs=,iv:/iOIfNuSIDsa/UKLP0d63tpOrYMFO3Bk1qPssY0AzuI=,tag:k+824MXD+r0lNUcuvisudw==,type:str] pgp: - created_at: "2025-10-20T19:03:07Z" enc: |- @@ -360,4 +361,4 @@ sops: -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 unencrypted_suffix: _unencrypted - version: 3.10.2 + version: 3.11.0 diff --git a/inventories/chaosknoten/host_vars/grafana.yaml b/inventories/chaosknoten/host_vars/grafana.yaml index ecc942c..b87a198 100644 --- a/inventories/chaosknoten/host_vars/grafana.yaml +++ b/inventories/chaosknoten/host_vars/grafana.yaml @@ -53,16 +53,7 @@ nginx__configurations: - name: metrics.hamburg.ccc.de content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/grafana/nginx/metrics.hamburg.ccc.de.conf') }}" -alloy_config: | - prometheus.remote_write "default" { - endpoint { - url = "https://metrics.hamburg.ccc.de/api/v1/write" - basic_auth { - username = "chaos" - password = "{{ secret__metrics_chaos }}" - } - } - } +alloy_config_additional: | loki.write "default" { endpoint { url = "https://loki.hamburg.ccc.de/loki/api/v1/push" @@ -98,9 +89,9 @@ alloy_config: | } rule { source_labels = ["__journal__hostname"] - target_label = "host" + target_label = "instance" regex = "([^:]+)" - replacement = "${1}.hamburg.ccc.de" + replacement = "${1}.hosts.hamburg.ccc.de" action = "replace" } } @@ -111,30 +102,3 @@ alloy_config: | format_as_json = true labels = {component = "loki.source.journal", org = "ccchh"} } - - logging { - level = "info" - } - prometheus.exporter.unix "local_system" { - enable_collectors = ["systemd"] - } - - prometheus.relabel "default" { - forward_to = [prometheus.remote_write.default.receiver] - rule { - target_label = "org" - replacement = "ccchh" - } - rule { - source_labels = ["instance"] - target_label = "host" - regex = "([^:]+)" - replacement = "${1}.hamburg.ccc.de" - action = "replace" - } - } - - prometheus.scrape "scrape_metrics" { - targets = prometheus.exporter.unix.local_system.targets - forward_to = [prometheus.relabel.default.receiver] - } diff --git a/inventories/chaosknoten/host_vars/ntfy.sops.yaml b/inventories/chaosknoten/host_vars/ntfy.sops.yaml index e860cca..1328d66 100644 --- a/inventories/chaosknoten/host_vars/ntfy.sops.yaml +++ b/inventories/chaosknoten/host_vars/ntfy.sops.yaml @@ -1,5 +1,3 @@ -secret__loki_chaos: ENC[AES256_GCM,data:LWFTOyER+m021ogmXYBrcr/2fUe3XuZhs5ho0KbM,iv:808LWnSUAPeclhsIgOyR6SutTvJGOu7mrGaVayo7v8M=,tag:f2WCPyUESfMiGDQ4Km5Dyw==,type:str] -secret__metrics_chaos: ENC[AES256_GCM,data:lAepzCI4pwkF8KiGYzGnC4dPASdHDn+LfbJTFSvt,iv:EUW+CGeYUqhY4G1kb2bbU16j9iLwABHfRCdn2vac5gY=,tag:IcyscB9lZuZgC04XTxDb5w==,type:str] secret__ntfy_web_push_private_key: ENC[AES256_GCM,data:YqNEYa1Ln3NFpNoIuBUN1V/WRzod5HAtYueBJYHOwyM59cCaYhQR1S9aQg==,iv:t8bEs5ZAEe6pqbbOb0mpJdfgruX1P9Jd+sbNurGqkng=,tag:Cdy5HKkvb55V6AeRt+MVHg==,type:str] ntfy: user: @@ -18,8 +16,8 @@ sops: bUhGdEFwOEVxUzVZdERReVF6cmcxeDgKDlO+jacsYgWXqjoxAIKJiB8mCHZ8U7TM sGD3oaCi9x6Uvse7hq0BaUe/LaJt2tDaqve9nm3n06V93HNcR9/cdw== -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-10-20T19:01:39Z" - mac: ENC[AES256_GCM,data:a87jRAGBIypZfYCILYCOM+H8KCVUBgb2/1sG05wDbPmLe9IfDT6rzlljbRFOUozq9xsqxpFLsPQx1wPVDi1lhaRT+5oE/NDgVH8aQCofA96DQd3SeB8fWn3LhYjOpmo9ZsFSemvGcXYk/SjVvoU9aN8KG4DHYCOOseGIBTa/a2Y=,iv:5Atem3ACdfdCPUp184cAf/EI9BEXQ1i719l+sIlOnUY=,tag:LWQCxrsZ3660UCcOjY4gMQ==,type:str] + lastmodified: "2026-01-25T18:41:48Z" + mac: ENC[AES256_GCM,data:2+628ZxPIto0AUhRExTB0UF/XKD7l0qz/NVncKbk+E5nZ5IRGwnhvY5DPiaDNWxskngaYhSYaQZTJTuvC1TuflCr8+IsZRYobj22mYEsrK2KWbozQvYsuooK2HdSWAkE2U5xKKodev2KqxMT+ZY0AIq8ifCo033ro6t0rnIEVQI=,iv:ncKxlhfZ+04rylNmMtOaWyonCJO4gbsuABMAJfVDDIQ=,tag:6c141UrWXNuGM5giTS7Ecw==,type:str] pgp: - created_at: "2025-10-20T19:03:04Z" enc: |- diff --git a/inventories/chaosknoten/host_vars/ntfy.yaml b/inventories/chaosknoten/host_vars/ntfy.yaml index cab4e76..2d68bfa 100644 --- a/inventories/chaosknoten/host_vars/ntfy.yaml +++ b/inventories/chaosknoten/host_vars/ntfy.yaml @@ -15,90 +15,8 @@ nginx__configurations: - name: ntfy.hamburg.ccc.de content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/ntfy/nginx/ntfy.hamburg.ccc.de.conf') }}" -alloy_config: | - prometheus.remote_write "default" { - endpoint { - url = "https://metrics.hamburg.ccc.de/api/v1/write" - basic_auth { - username = "chaos" - password = "{{ secret__metrics_chaos }}" - } - } - } - loki.write "default" { - endpoint { - url = "https://loki.hamburg.ccc.de/loki/api/v1/push" - basic_auth { - username = "chaos" - password = "{{ secret__loki_chaos }}" - } - } - } - - loki.relabel "journal" { - forward_to = [] - - rule { - source_labels = ["__journal__systemd_unit"] - target_label = "systemd_unit" - } - rule { - source_labels = ["__journal__hostname"] - target_label = "instance" - } - rule { - source_labels = ["__journal__transport"] - target_label = "systemd_transport" - } - rule { - source_labels = ["__journal_syslog_identifier"] - target_label = "syslog_identifier" - } - rule { - source_labels = ["__journal_priority_keyword"] - target_label = "level" - } - rule { - source_labels = ["__journal__hostname"] - target_label = "host" - regex = "([^:]+)" - replacement = "${1}.hamburg.ccc.de" - action = "replace" - } - } - - loki.source.journal "read_journal" { - forward_to = [loki.write.default.receiver] - relabel_rules = loki.relabel.journal.rules - format_as_json = true - labels = {component = "loki.source.journal", org = "ccchh"} - } - - prometheus.exporter.unix "local_system" { - enable_collectors = ["systemd"] - } - - prometheus.relabel "default" { - forward_to = [prometheus.remote_write.default.receiver] - rule { - target_label = "org" - replacement = "ccchh" - } - rule { - source_labels = ["instance"] - target_label = "host" - regex = "([^:]+)" - replacement = "${1}.hamburg.ccc.de" - action = "replace" - } - } - - prometheus.scrape "unix_metrics" { - targets = prometheus.exporter.unix.local_system.targets - forward_to = [prometheus.relabel.default.receiver] - } - +alloy_config_additional: | prometheus.scrape "ntfy_metrics" { targets = [{"__address__" = "localhost:9586", job = "ntfy", instance = "ntfy", __scrape_interval__ = "120s"}] - forward_to = [prometheus.relabel.default.receiver] + forward_to = [prometheus.relabel.chaosknoten_common.receiver] } diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index 2a95ba8..5c114c9 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -166,11 +166,10 @@ certbot_hosts: ntfy: sunders: spaceapiccc: -prometheus_node_exporter_hosts: +alloy_hosts: hosts: ccchoir: eh22-wiki: - tickets: keycloak: netbox: onlyoffice: @@ -178,6 +177,15 @@ prometheus_node_exporter_hosts: pretalx: wiki: zammad: + grafana: + ntfy: + tickets: + renovate: + cloud: + public-reverse-proxy: + router: + sunders: + spaceapiccc: infrastructure_authorized_keys_hosts: hosts: ccchoir: @@ -208,10 +216,6 @@ netbox_hosts: proxmox_vm_template_hosts: hosts: chaosknoten: -alloy_hosts: - hosts: - grafana: - ntfy: ansible_pull_hosts: hosts: netbox: diff --git a/playbooks/deploy.yaml b/playbooks/deploy.yaml index f416b91..fe0cf78 100644 --- a/playbooks/deploy.yaml +++ b/playbooks/deploy.yaml @@ -64,11 +64,6 @@ roles: - nginx -- name: Ensure prometheus_node_exporter deployment on prometheus_node_exporter_hosts - hosts: prometheus_node_exporter_hosts - roles: - - prometheus_node_exporter - - name: Configure unattended upgrades for all non-hypervisors hosts: all:!hypervisors become: true @@ -83,10 +78,8 @@ - name: Ensure Alloy is installed and Setup on alloy_hosts hosts: alloy_hosts become: true - tasks: - - name: Setup Alloy - ansible.builtin.include_role: - name: grafana.grafana.alloy + roles: + - alloy - name: Ensure ansible_pull deployment on ansible_pull_hosts hosts: ansible_pull_hosts diff --git a/resources/chaosknoten/grafana/docker_compose/prometheus.yml b/resources/chaosknoten/grafana/docker_compose/prometheus.yml index fd59034..7f94ab0 100644 --- a/resources/chaosknoten/grafana/docker_compose/prometheus.yml +++ b/resources/chaosknoten/grafana/docker_compose/prometheus.yml @@ -82,41 +82,6 @@ scrape_configs: target_label: instance - target_label: __address__ replacement: pve-exporter:9221 - - job_name: hosts - static_configs: - # Wieske Chaosknoten VMs - - labels: - org: ccchh - site: wieske - type: virtual_machine - hypervisor: chaosknoten - targets: - - netbox-intern.hamburg.ccc.de:9100 - - matrix-intern.hamburg.ccc.de:9100 - - public-web-static-intern.hamburg.ccc.de:9100 - - git-intern.hamburg.ccc.de:9100 - - forgejo-actions-runner-intern.hamburg.ccc.de:9100 - - eh22-wiki-intern.hamburg.ccc.de:9100 - - mjolnir-intern.hamburg.ccc.de:9100 - - woodpecker-intern.hamburg.ccc.de:9100 - - penpot-intern.hamburg.ccc.de:9100 - - jitsi.hamburg.ccc.de:9100 - - onlyoffice-intern.hamburg.ccc.de:9100 - - ccchoir-intern.hamburg.ccc.de:9100 - - tickets-intern.hamburg.ccc.de:9100 - - keycloak-intern.hamburg.ccc.de:9100 - - onlyoffice-intern.hamburg.ccc.de:9100 - - pad-intern.hamburg.ccc.de:9100 - - wiki-intern.hamburg.ccc.de:9100 - - zammad-intern.hamburg.ccc.de:9100 - - pretalx-intern.hamburg.ccc.de:9100 - - labels: - org: ccchh - site: wieske - type: physical_machine - targets: - - chaosknoten.hamburg.ccc.de:9100 - storage: tsdb: diff --git a/resources/chaosknoten/grafana/nginx/metrics.hamburg.ccc.de.conf b/resources/chaosknoten/grafana/nginx/metrics.hamburg.ccc.de.conf index ef2fe07..195b99d 100644 --- a/resources/chaosknoten/grafana/nginx/metrics.hamburg.ccc.de.conf +++ b/resources/chaosknoten/grafana/nginx/metrics.hamburg.ccc.de.conf @@ -9,7 +9,6 @@ server { allow 2a00:14b0:4200:3380::/64; allow 2a00:14b0:f000:23::/64; #CCCHH v6 bei Wieske, geroutet über turing # Z9 - allow 2a07:c480:0:100::/56; allow 2a07:c481:1::/48; # fuxnoc allow 2a07:c481:0:1::/64; diff --git a/roles/alloy/defaults/main.yaml b/roles/alloy/defaults/main.yaml new file mode 100644 index 0000000..92bc960 --- /dev/null +++ b/roles/alloy/defaults/main.yaml @@ -0,0 +1,44 @@ +alloy_config_default: | + prometheus.remote_write "default" { + endpoint { + url = "https://metrics.hamburg.ccc.de/api/v1/write" + basic_auth { + username = "chaos" + password = "{{ metrics__chaos_password }}" + } + } + } + + prometheus.relabel "chaosknoten_common" { + forward_to = [prometheus.remote_write.default.receiver] + rule { + target_label = "org" + replacement = "ccchh" + } + rule { + target_label = "site" + replacement = "wieske" + } + rule { + source_labels = ["instance"] + target_label = "instance" + regex = "([^:]+)" + replacement = "${1}.hosts.hamburg.ccc.de" + action = "replace" + } + } + + logging { + level = "info" + } + + prometheus.exporter.unix "local_system" { + enable_collectors = ["systemd"] + } + + prometheus.scrape "scrape_metrics" { + targets = prometheus.exporter.unix.local_system.targets + forward_to = [prometheus.relabel.chaosknoten_common.receiver] + } + +alloy_config_additional: "" diff --git a/roles/alloy/tasks/main.yaml b/roles/alloy/tasks/main.yaml index 2bc308a..5e3cd64 100644 --- a/roles/alloy/tasks/main.yaml +++ b/roles/alloy/tasks/main.yaml @@ -45,4 +45,6 @@ - name: Setup Alloy ansible.builtin.import_role: name: grafana.grafana.alloy + vars: + alloy_config: "{{ alloy_config_default ~ alloy_config_additional }}" become: true diff --git a/roles/prometheus_node_exporter/meta/main.yaml b/roles/prometheus_node_exporter/meta/main.yaml deleted file mode 100644 index 78bb770..0000000 --- a/roles/prometheus_node_exporter/meta/main.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -dependencies: - - role: distribution_check - vars: - distribution_check__distribution_support_spec: - - name: Debian - major_versions: - - "11" - - "12" - - "13" diff --git a/roles/prometheus_node_exporter/tasks/main.yaml b/roles/prometheus_node_exporter/tasks/main.yaml deleted file mode 100644 index c138f18..0000000 --- a/roles/prometheus_node_exporter/tasks/main.yaml +++ /dev/null @@ -1,14 +0,0 @@ -- name: make sure the `prometheus-node-exporter` package is installed - ansible.builtin.apt: - name: prometheus-node-exporter - state: present - allow_change_held_packages: true - update_cache: true - become: true - -- name: make sure `prometheus-node-exporter.service` is started and ansibled - ansible.builtin.systemd: - name: prometheus-node-exporter.service - state: started - enabled: true - become: true From 5693989c384646d260ad8b37f85d45aa5d5827b8 Mon Sep 17 00:00:00 2001 From: chris Date: Sun, 25 Jan 2026 20:58:14 +0100 Subject: [PATCH 139/160] add alloy to the z9 hosts and some cleanup --- .sops.yaml | 4 + inventories/chaosknoten/group_vars/all.yaml | 43 +++++ inventories/z9/group_vars/all.sops.yaml | 200 ++++++++++++++++++++ inventories/z9/group_vars/all.yaml | 43 +++++ inventories/z9/hosts.yaml | 6 + roles/alloy/defaults/main.yaml | 12 +- 6 files changed, 302 insertions(+), 6 deletions(-) create mode 100644 inventories/z9/group_vars/all.sops.yaml create mode 100644 inventories/z9/group_vars/all.yaml diff --git a/.sops.yaml b/.sops.yaml index bb83e39..0b9c245 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -51,6 +51,10 @@ creation_rules: *admin_gpg_keys age: *host_external_age_keys + - path_regex: inventories/z9/group_vars/all.* + key_groups: + - pgp: + *admin_gpg_keys ## host vars # chaosknoten hosts - path_regex: inventories/chaosknoten/host_vars/cloud.* diff --git a/inventories/chaosknoten/group_vars/all.yaml b/inventories/chaosknoten/group_vars/all.yaml index 60349e0..76147d8 100644 --- a/inventories/chaosknoten/group_vars/all.yaml +++ b/inventories/chaosknoten/group_vars/all.yaml @@ -14,3 +14,46 @@ msmtp__smtp_port: 465 msmtp__smtp_tls_method: smtps msmtp__smtp_user: any@hosts.hamburg.ccc.de msmtp__smtp_from: "{{ inventory_hostname }}@hosts.hamburg.ccc.de" + +alloy_config_default: | + prometheus.remote_write "default" { + endpoint { + url = "https://metrics.hamburg.ccc.de/api/v1/write" + basic_auth { + username = "chaos" + password = "{{ metrics__chaos_password }}" + } + } + } + + prometheus.relabel "chaosknoten_common" { + forward_to = [prometheus.remote_write.default.receiver] + rule { + target_label = "org" + replacement = "ccchh" + } + rule { + target_label = "site" + replacement = "wieske" + } + rule { + source_labels = ["instance"] + target_label = "instance" + regex = "([^:]+)" + replacement = "${1}.hosts.hamburg.ccc.de" + action = "replace" + } + } + + logging { + level = "info" + } + + prometheus.exporter.unix "local_system" { + enable_collectors = ["systemd"] + } + + prometheus.scrape "scrape_metrics" { + targets = prometheus.exporter.unix.local_system.targets + forward_to = [prometheus.relabel.chaosknoten_common.receiver] + } diff --git a/inventories/z9/group_vars/all.sops.yaml b/inventories/z9/group_vars/all.sops.yaml new file mode 100644 index 0000000..7c25351 --- /dev/null +++ b/inventories/z9/group_vars/all.sops.yaml @@ -0,0 +1,200 @@ +metrics__chaos_password: ENC[AES256_GCM,data:seOU504dZ9K21+NK1MBf9isee2L2rueP6Bl0F66R,iv:ZtQ516gzJQSSgvOOAzPF9MuarXqHSLXy37/9z85KoQ8=,tag:dIal6OxPLli+7DbzhjNFsA==,type:str] +sops: + lastmodified: "2026-01-25T19:52:03Z" + mac: ENC[AES256_GCM,data:6JXc+K8fmANf22puWyllV5wVSxZSVnN+U7GM9lNhkxbUBM4AaIedIHOXz9zDaZh/nT6onrW2nhKNC00kWziaddOnBxBUCWUk7bDGea6qJMIk4GfyU0f/xX7mHpgYorF/KmQP1uvNNAryn7zeSfS8Vk27GFDPbBO3GvYlOZFUJD8=,iv:6X6uf9obhNix/qLrpiP3bw1CWM7dY+XAEdfhuTTmuVc=,tag:KJHK1Hc/uV8DOw/7txHfEw==,type:str] + pgp: + - created_at: "2026-01-25T19:51:13Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxK/JaB2/SdtAQ/9GKyJ+6SzK5xucxIxUKPRdsxirJwd6LHuIDkVTr7JTjfi + sXQZKVtQ7ZXbbVgZKURLtsdbhayZoU/8xYCQsX4vzDeAKc4bS6X25PLxs2oBKCYB + 2oWl/jhKSAtVjtgnPnxljiEGxkDKW2sKlfjdjMj9yOYyif35AoQ8pIr2Tg4U8Z9C + ofaWBejvqxgaIShXe4jio3SIiOLYwTnaYmkoSY3QEA3RjckzNmqRE4aX+csB27cI + Vt8aGrcNzM8gCfi8IM1ypLHLw7Fg0OntF91RAUExG9OZJm2rGZabUixxhOCf/ttk + UOq7Eq29xFr9mTzyoZC2zmaOt7O+PIu8FDOvkvCgNv89ewn00DjT7DYSXB0AnPRD + VahAi4VAjKU2RXXbfZArdCXJpCTM2OPnXBh8Bfx/7eTnu2O8EK8OFbWuOWja8Ogr + 7z9bgsoK4Uva6F3BQcLlZppKmkLk0P8detZihvwNbS55kkkdsA9LiyYEoHpasWpG + HW4dcQOqyuKwGjLE7FsqPtlxmWD6psCK3GdHzKGQR9fbXfUyD+c0DmPgPh6roFW8 + XzvRGw6YUrP7/wtvUH4zSLQbB6kqz6nO88isPoLpClyQ/3Khj9QLljCDQB+yRBIu + p3a2HISwt4HQzuckk8W4yKIDdzf86dXVEMqUe4JTe+vW9PPobnUEXrPgRBNZYD7S + XgHOfGiWknFPa8s4KCHZK9sLB2joWAJTtQnk4cuaXoIgamiXB0qgiArc43PsjstE + N6kvVXrFVgQ9Xlrp8XDJHOsUYAy8admA8KNQF+XQ+KeHgQGKKX1RjbBFunIkaOc= + =1Rdp + -----END PGP MESSAGE----- + fp: EF643F59E008414882232C78FFA8331EEB7D6B70 + - created_at: "2026-01-25T19:51:13Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA6EyPtWBEI+2AQ//QgGTp9DYSoNWI5n0+9gMUP7asTRdRl7T+xT88k7cCO9Z + lNi86qeqiGGkqTffARBJNaq+ut/D7EKc6ivp+ewfySimM5E3ape3C6rulHybE/j8 + 3EpP4VW+5yA4Nq+CbZvzQb60oXR8LnGzVX1gePWwyQozVzRS72/hnxyecQYsc1IJ + OTQPSfclZXJO3k6fK+BrfHsjJkOpHYoLAnI/9ty9JBSuwGfzI+ur2Jimn0Y783Ou + orZNzxrRKfkIPjdFnWGY3i31nW9tnkEXLdsdOHfOu8Ahtdi2NhwReSv5hMKPXbOw + lxhL/Y1bG4ChgAAFVG5QYZ69tuzSov8XP2Wv6auVA7HC3H+689fNeO0C6GhDcVgc + LBF1nK/zJq95uxlSNy5dpTSzKqwlwRzvLOCPByXc3pLcDDW9Zp194bS/iDGfnfqe + UUPK9e0gX8TYOeQhF3K+H6JMdFO/uYbiaeVZWmvOV6jSiii0CXoGe4oVZqcfcfA3 + RScUjLx0f2w4xQwU60ZmHsmvs2PmdBsNDPeQXrqeyAfgFReDoI1RLo+k+3khoAJE + LzzNFg6bVBx3rRazWoASlHYK8i6dTHpMBompPC+kmjorZnoqnTRX4bix0atsFY7g + vt8CVfqy8YKrVIGPZnDAsrZ3ecShIQFB6OfxgSb6nqN1K3NwFcjXWH05SJOfFR3S + XgGrU49/hKqHTmAGHbWoe54qkPj+WvRkeGccEnvtum8yrPpDpmYg+wyEm3JeQf1S + gCHS/j0pJS/CnnfgoUgkYCMokGvtSoTJgIE/2XTA/BFNRg0vc1Dgk/WonG33PDU= + =ev2Q + -----END PGP MESSAGE----- + fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC + - created_at: "2026-01-25T19:51:13Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAz5uSgHG2iMJAQ//SxqxshraAR0pQf1lzhtZ5RHoNZJnaZKwic/pvJvIDUCA + 6zotOpu478rK4w8zWdX1gfjve+iu4BkaB16lZqvsV6lLq80dT3yfeil9ETFElKuA + womIEdAafq8W71eTffUZ3Klrg/WjDVjeDRRKqz8vv9pd9MQbYmDhrjRG/ySP5qgZ + +/apRAOrYnbtzgjlPAfLIGD65jvS3JRE3gbZfpzzkLB8P5M1JVOUf15FxAZ2tyhO + PZ3FYC2JbCzftp0Iiksq8sl42Fl0FzOTLFQb0GhQ60tJatFVWhG31NeXdRRuLnQU + 5bmanb2nJBroQJWM/8piG8npG8jhzRzeMTHboW5TezYAXBLxRQJct7pR9ZwDje2U + 5j9VkNyKQ+wMJ2vMiyshserEe6gjc2/E+XYDheAPrFPqwGNklb6OSemm4vWwd6GK + HNqDxA/C0du1b1vm9CTLgk7utbEpspnNQnZh32iifSfiQ3Zl7FwTxnA/2Bj0csQ/ + xrck7T2gzY39tOqXbq0QqIQA31BW4ukmxcAKn8pmJpguW0cBxDTaGNXQ4jo+8YtQ + MYYT4dR9S95MsOKWGREvMA0GMxzwbA2eMwZ7yUARCLVGD48MMiiDZcYqd03cnOO3 + hGj+vy0FbsVdknztBDeGttUYHOtjb+XO4gF4sHdpaWxdF7kVVknNUtciWa+Kw4LS + XgGqWekdWhsKZ+bPboinUPY9e5vkgLueSWrQ0aqi5Pte9lQ3pYPqT2U51fJG5G9/ + tYiofc0K7CB/qyxB7LpF5rtUla9oQQJd36xC0eO7laSapWiag2rzuIsMxR+4egA= + =a2qJ + -----END PGP MESSAGE----- + fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 + - created_at: "2026-01-25T19:51:13Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAw5vwmoEJHQ1AQ//U6R7Cb1kfojFwzVy9ky+y7Puhk7Jyog+jLabWhurkV30 + RO4EeTXMEJ1gVU9qJDeHn7Fr1HbYr9cdTf1yw5Y23p+pBZA1wRTkxHctEk1KNDRW + 8QdCmQOu8jTDc5cq0F6d6lD6vJpfjaQez5cT7dN9Eqp0jUsmQCSLmqmXvbNEv3fW + n+o/VsvtaqMTjhlPUHvhe/d0/YWvkp4xPycDVW/oYh2KE3QUV5AKUJSOLuSIFENy + f0hjnoz8xmY7eA20uXvTWPgUU9J+KCSgmy87wM/WkM3kjKWOUkijDFCsCWSEIx4W + E2iY6N7yaYBkKfQ6s+f77xg+vc7g1plheK3pdyYkYvgfeqg27QFV/3m80f0gULS4 + bNrZKNRrMD+grgjB75cj14PRHGQcaZEouE7l2uCUNbR/hFIF1M2F91HAW61mVLv6 + ZNluofRYqHf+YWUO4KtJwpfgfh0gsCF3KaeHnAA/Xy9e+7KRgWbAbsDIQr40Nqm1 + Cbv/HqjHCeS7ylw3TmYcwFoGO1XoL/toSQQ4/y0JPMCae+MGslDm2o/1X1VqAnIZ + sdhcTKY8HJWxn8uc5MFG4Mr0PhMIXirhBBQLYXdVJ/tOj9yVU+gJZe3lv64uQgDZ + Ey1KESfJu98uwrPS3Dzy2YPbT7Gh58sOfHeaDoeZAu+YzQMOQ7V260vu0XXMgSfS + XgE3PiMBjbW4eypClEK6H5iSL4SjEm+NweQNkwGaxqLSsb7LuOtSkiEmf4mdQEnI + SI14d0nNv7ki0T59Ssmi65A49SXjvLzsCBE1DgeqVD8IwKCewma0dgkNErdyG4s= + =rV/a + -----END PGP MESSAGE----- + fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 + - created_at: "2026-01-25T19:51:13Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DerEtaFuTeewSAQdAdDLPgKw0A+eoKiYGIKxOFZHYVg0V4UmuIti0XC5RJCIw + IPu2/Y45X9L40RRhH8N9lazjLeJv5Lbo08hMlo/CgshZ0BJVot8mBAiH/R2DsVRC + 0l4BL6ctQ/xivjWQBBhy/DCYVtDRv8JXIEXNJgU/+UjkSE8Auh4NASANg9GTcBBn + lukzOBGYF9nH69fAkVtZbNL5+dFoPLDPUzZTU19D15J6IJkt+gKPSzjbtWaJqIsQ + =dGU4 + -----END PGP MESSAGE----- + fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 + - created_at: "2026-01-25T19:51:13Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxjNhCKPP69fAQ/+LQ3yEzhjYXoDkE9olsl0lVxQ9FdCbqDHFJZAIReI0jqg + WF+0GmoMuG4kFZu+ju3vCWpT5kH84SUxOFXyaXp1TCfcJ1zCUno93fVssOL/9Sma + vVPVIXpTqJqFBOWJNOe7wNjvQiDE4TxjGC/FXr+hOoLZXrf7gdNaUXxZOb+vPZih + t79eZhxALGwmwsMdZxkA8ERCmNJet1/wn7s5vUjwrDYRZL2zGf4yocSCjwGYHOCs + j+DcrYG7Cd5J+CS8rKu2Yh5KEAfMhgMxGjK0HKUVPk1cQxOgronnM1vrij30S4+9 + avNlOwAerg3RaFhXPj9UY7FGV+rZQY1CQKEWqr4AANkdDXb/LnLalwMBMcm+EDwT + zHxBhJ69QJmsZUP3Z5WQqxmyAux9+oodgehWKkY4sCR2huHuysbJNEStuI1HaTRj + ZJafiniHkFyQyTqc4wwJrRxkwJM6mVvcZdXuV7+QaEWr3FEF0t7tyEYUIRkUlJOQ + IUPDClDRLJnQGq11XT/QOlGfxET9fGoAkij1LrPqpvHxJ6IEGLMOPN4kw1yg02yO + u0HiB2wIUzKHJJ6vMR6zK3WY4MXCQISTZXpK7mILleRIIOWhw7C7gvlfuYkMT3fM + dXUQRhTblZXaeTxRuCUPqa0eGzac4UJBVoRAWXYiZWhdKxNJbyCMRQDcaOeho9/S + XgGENH9zFjI//pveCrlxx5BKDxTdqIn9R3iskbKbZRhVr+pU3IK4uCsUQlOBG3++ + zxQinHgNbqA22clcuRMZ1NeDrzDfBLndsWuSeyWaAA9qEG9XjmjCRRzPGACoDLs= + =dywj + -----END PGP MESSAGE----- + fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 + - created_at: "2026-01-25T19:51:13Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA1Hthzn+T1OoAQ/+P4h9d4LPElJbVr4L3cE+6/9mhLF6n1hre14cCTSxTe20 + HqpY7U9yE4G/1IfAE3pueOgc5FsLRPn8VnHAzy6ygt4/xXXzH6aACDiUtweqyExE + K39J9PLjczWb7XGbZc3YKoz5x0Q/93s+CdjK7piamb41bMRVbmffNtEceH8Gld9u + t8SI18F1yrRtXpK8FvzFLvA1jEt9sduPVq51bWG2LjMFaMrsm7hXt1ArUGsOoGN3 + 36E4VrVp6gp8BVa+apsUY3mHBi3hUE0h2tO4iEsi1qYr1OTn3v4Dn9oxKrYIIom2 + hHszqVSq0fnIqoKOZbyUe2AdXtnTGpQQRxCBvtIEBNB1FS/CKCe7ceXVBZujU2Kd + JD3Lg5uXgkolfyjFCPzOp292xvJ83i7QMoTuVEw14PSjux3jAa4K3wpKUvF80ja2 + ugGj3zTLAHdAV37lKO2WYZuMMJLKWKX1p9yKZqteJdiLQHH8f24dFZ2Vtoly/GKM + KzGJ1fimB6divQ8TOHVFAr1qDksk8zf1PBJ/IlWoBKv5IWwoikf42IOL/P2c/nk7 + 4pYwHrlk8y71Cgjw50K9/T/Ul0Ov6ay4FK+0vy+zbokSVczZKsrL4/Tc6s0S9ty6 + SVKm7yL+BSGgZWmDNesYoRzboBT2mSb1N45ThUaeW7AwMo3hDJPjEkaFtZN3bqzS + XgEIFYvxWH6OEIl+VZ/J5qxxmi3Cz6XVzTliCnoTFUoVxHyOxN6HX0Jn/qRqmmlN + mJX4OT1FJ3WnqOHQ5Cm4403bm2H79mGCBKYiXPQeO/bVBh0mTbeYKRr8bjsm+rc= + =lIEt + -----END PGP MESSAGE----- + fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD + - created_at: "2026-01-25T19:51:13Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA46L6MuPqfJqAQ//Ue74vm+2K7chQcfdrY5GR0rPUKNiX9MMw9zgHpdyHlXa + FfL0NQbG8Rfc/6Yf7LH1sWMGED5Yvci3z+YkTWg8Fcv1pYQGj6Kul2L0aL4tvq/a + tdIJi+Ajp92jr+5jdae+GvJZedaHZYxykyeSe4/nk1j6k4u3TiVMBczk7z9701F+ + ZFtG1SBRcqjZ/Vx36B6s+10f9ft7TWCIJfeTimBJV3fFt7r698vTQ+S1/uxo5Ik0 + kQOtYDxsigBBeE0OX2ZBDyeGhfl/PZgN7GD7bgpjnfzDi+8kMXEMu4z88tOQulhk + qj+63irEydFCsMEC22XhLaqW8bjld0VAnkXv7DfoEbMt84XN6SejjDy6aXK9C0Qd + BIyQwTvsmgbInluw8Qu+GJPLLbY9qYjjuo5BbwUeBfiVxQaBYcm5lmPSKM0lq+Uq + fUYowpMS417L5kkp2yE/NmKOzi2ZuiFWMCpvPIvKea9zJxvEtIjohwtM86b4LH+j + 7yie9gWu0bhBw9keKtIbRmgbsilp8E5OUHXgOT0sNWTLenQDsWQ9dmgvtpeEb9ax + 6mw1QUpFz4CcHhuQixoI+q4y0SXcWxyN0U78U8igaELUtwpaRR7yf4VUJOEid+m1 + Rzu5jLCuhlLmmW03W6Y/Vl+n0QOyEl0uPCRiRgYeUzKiYw6NRYHPezbJnmNAeKnS + XgFCdzLc5Jl6OqJfy4V0yJucGq72oKK1wdJi74PqTNs44CaeEW8tDhxVWm367e5b + Ve88LJyDhOrMi57aKcAJ12HoL8pI5hambJ0qSs9RKpnQIJH7U60MBBTCBHN3H4k= + =az/q + -----END PGP MESSAGE----- + fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A + - created_at: "2026-01-25T19:51:13Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DQrf1tCqiJxoSAQdA04/sIHLMEFJO8wCB5+N5QWPzwyefW49JuNr/O2A+tTcw + Rm/CybmXPnSCx7p8QLruOG0tz8kM+YoSthSWlC9/B6TZgKLyrMOvx1U/fSNjKC4Q + 0l4BDFhVCnXKTQmfZtj5Qpwuj3H5fZ7QzKUQz542pvqN/fJVnc0Q4rQapKcU4AOx + JTdXpu6gP3FRGviA342GHJU0gq220vSzPu889dsdmtgNfAEQWPLVKKwjigDQN+SV + =2Eki + -----END PGP MESSAGE----- + fp: B71138A6A8964A3C3B8899857B4F70C356765BAB + - created_at: "2026-01-25T19:51:13Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DzAGzViGx4qcSAQdAxLZsKVzF30df0Zk7Eg9u7fLJzApid00aEcZVxHQnZ0kw + 5SDeSOzzTue71lKcCyunbO1/e20jMrNVvYKQp0kKkNHpTWgjN0hW3vZt6zeLcrSo + 0lgBTOoJykoj24Y9WvIaQbae2K6M35drO2c7nhVmTzibUe7XEJ3C+vbUySdSTd+0 + WL1IjqZUGSUL4SUIW6kW0WFdSJ01O6vbXhw1gw7KwKMfBHgIUAzpENTW + =S45t + -----END PGP MESSAGE----- + fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD + - created_at: "2026-01-25T19:51:13Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA2pVdGTIrZI+AQ/8Dd/YnYUP9OA6qxJcerf9mCkQkC5PLehCPAOLOn4sNV5x + DnpdfAvgej1Vuy0CHK8//PAiEC7idLN+ictIdQgy0RaObp50tca44U2ssQOkmxcd + j5WpKKunHsKomksr7bRpwm/vtN4LoldQc7g1qaBlsaJE7iEOrB8I3n3fFhWD6xBG + TUzRe8r/M2/c25Agky9caILYvjm/etCsf/gZq3RwVvV48912JNqb+7o04vpj3MbO + AOsiEBCTNSZqN5XuRi/jCpQNe0p18M9irYkFWVe2be6Cb4wE2cdg904rC3K+v0QA + nwD6/bXWGI7WAF6nhvuiAS0vxmbvOePNI3KZ1CdEDeScqnAWUdkFuuAwmw0K7tHt + UJe/SlML6strnnjOGR6p3eeIjoDKtGBiqEjXYyEcXPVi8vFSd7muGcjLieyJUmfH + FVGA7bF+a6c4iTFSM2GNpANFV0qzZ/wa4aj9MqzOATTglQnr2LZJP7chnzoLyzx6 + 7cjTcWHsb3E+D7X37yF+mZAT6yvOoxaQNqTY6u1ZoY9NrGdJ1reudAlzg6k10cpf + O4Zww2Jjz5yEhvS9cTh8+bKOJYgKnbg/LLty/ade+rio4E0jn+a6VgRCqIMbGwgx + vf9ATU8S10/Es2cT6f99EpPgV0w9QCfhAGel/sjXk/zIT8rF2SbIlXf0/GK3yaXS + XgGrocZNe2RNZd3ZjsvtU6bBsPd9tekQLjC1vE6U/WXXPKapb6aOq2eL7Qb7QFu7 + XSGN+YA/c9OwmtJLP3y5mGBowa6vWT1Uf6NweamPYJBpNG27Bt5yLlnEnaDZokw= + =9ri7 + -----END PGP MESSAGE----- + fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + unencrypted_suffix: _unencrypted + version: 3.11.0 diff --git a/inventories/z9/group_vars/all.yaml b/inventories/z9/group_vars/all.yaml new file mode 100644 index 0000000..9a31251 --- /dev/null +++ b/inventories/z9/group_vars/all.yaml @@ -0,0 +1,43 @@ +alloy_config_default: | + prometheus.remote_write "default" { + endpoint { + url = "https://metrics.hamburg.ccc.de/api/v1/write" + basic_auth { + username = "chaos" + password = "{{ metrics__chaos_password }}" + } + } + } + + prometheus.relabel "z9_common" { + forward_to = [prometheus.remote_write.default.receiver] + rule { + target_label = "org" + replacement = "ccchh" + } + rule { + target_label = "site" + replacement = "z9" + } + rule { + source_labels = ["instance"] + target_label = "instance" + regex = "([^:]+)" + replacement = "${1}.z9.ccchh.net" + action = "replace" + } + } + + logging { + level = "info" + } + + prometheus.exporter.unix "local_system" { + enable_collectors = ["systemd"] + } + + prometheus.scrape "scrape_metrics" { + targets = prometheus.exporter.unix.local_system.targets + forward_to = [prometheus.relabel.z9_common.receiver] + } + diff --git a/inventories/z9/hosts.yaml b/inventories/z9/hosts.yaml index 9f4a692..f88f106 100644 --- a/inventories/z9/hosts.yaml +++ b/inventories/z9/hosts.yaml @@ -49,5 +49,11 @@ ola_hosts: proxmox_vm_template_hosts: hosts: thinkcccore0: +alloy_hosts: + hosts: + authoritative-dns: + light: + yate: + dooris: ansible_pull_hosts: hosts: diff --git a/roles/alloy/defaults/main.yaml b/roles/alloy/defaults/main.yaml index 92bc960..09c99ee 100644 --- a/roles/alloy/defaults/main.yaml +++ b/roles/alloy/defaults/main.yaml @@ -4,26 +4,26 @@ alloy_config_default: | url = "https://metrics.hamburg.ccc.de/api/v1/write" basic_auth { username = "chaos" - password = "{{ metrics__chaos_password }}" + password = "chaos_password" } } } - prometheus.relabel "chaosknoten_common" { + prometheus.relabel "common" { forward_to = [prometheus.remote_write.default.receiver] rule { target_label = "org" - replacement = "ccchh" + replacement = "noorg" } rule { target_label = "site" - replacement = "wieske" + replacement = "nosite" } rule { source_labels = ["instance"] target_label = "instance" regex = "([^:]+)" - replacement = "${1}.hosts.hamburg.ccc.de" + replacement = "${1}.hosts.test" action = "replace" } } @@ -38,7 +38,7 @@ alloy_config_default: | prometheus.scrape "scrape_metrics" { targets = prometheus.exporter.unix.local_system.targets - forward_to = [prometheus.relabel.chaosknoten_common.receiver] + forward_to = [prometheus.relabel.common.receiver] } alloy_config_additional: "" From 6a92aa68c1846d4c3713a2f81487894ba57fcfc1 Mon Sep 17 00:00:00 2001 From: chris Date: Sun, 25 Jan 2026 22:36:30 +0100 Subject: [PATCH 140/160] light: fix tls cert expiring and not renewing --- inventories/z9/host_vars/light.yaml | 14 ++++++++++- inventories/z9/hosts.yaml | 1 + resources/z9/light/nginx/http_handler.conf | 10 +++----- resources/z9/light/nginx/light.conf | 29 ++++++++++++---------- 4 files changed, 34 insertions(+), 20 deletions(-) diff --git a/inventories/z9/host_vars/light.yaml b/inventories/z9/host_vars/light.yaml index 0336d22..0c7e11d 100644 --- a/inventories/z9/host_vars/light.yaml +++ b/inventories/z9/host_vars/light.yaml @@ -50,10 +50,22 @@ ola__configs: content: "{{ lookup('ansible.builtin.file', 'resources/z9/light/ola/ola-usbdmx.conf') }}" - name: ola-usbserial content: "{{ lookup('ansible.builtin.file', 'resources/z9/light/ola/ola-usbserial.conf') }}" + nginx__version_spec: "" nginx__deploy_redirect_conf: false nginx__configurations: - name: light content: "{{ lookup('ansible.builtin.file', 'resources/z9/light/nginx/light.conf') }}" - name: http_handler - content: "{{ lookup('ansible.builtin.file', 'resources/z9/light/nginx/http_handler.conf') }}" + content: "{{ lookup('ansible.builtin.file', 'resources/z9/dooris/nginx/http_handler.conf') }}" + +certbot__version_spec: "" +certbot__acme_account_email_address: le-admin@hamburg.ccc.de +certbot__certificate_domains: + - "light-werkstatt.ccchh.net" + - "light.ccchh.net" + - "light.z9.ccchh.net" +certbot__new_cert_commands: + - "systemctl reload nginx.service" + + diff --git a/inventories/z9/hosts.yaml b/inventories/z9/hosts.yaml index f88f106..319f817 100644 --- a/inventories/z9/hosts.yaml +++ b/inventories/z9/hosts.yaml @@ -20,6 +20,7 @@ all: certbot_hosts: hosts: dooris: + light: docker_compose_hosts: hosts: dooris: diff --git a/resources/z9/light/nginx/http_handler.conf b/resources/z9/light/nginx/http_handler.conf index d9b336c..8572664 100644 --- a/resources/z9/light/nginx/http_handler.conf +++ b/resources/z9/light/nginx/http_handler.conf @@ -1,14 +1,12 @@ server { listen 80 default_server; listen [::]:80 default_server; - server_name _; - - location /.well-known/acme-challenge/ { - autoindex on; - root /webroot-for-acme-challenge; - } location / { return 301 https://$host$request_uri; } + + location /.well-known/acme-challenge/ { + proxy_pass http://127.0.0.1:31820/.well-known/acme-challenge/; + } } diff --git a/resources/z9/light/nginx/light.conf b/resources/z9/light/nginx/light.conf index 9f70cf8..6217e04 100644 --- a/resources/z9/light/nginx/light.conf +++ b/resources/z9/light/nginx/light.conf @@ -1,15 +1,16 @@ # partly generated 2022-01-08, Mozilla Guideline v5.6, nginx 1.17.7, OpenSSL 1.1.1k, intermediate configuration # https://ssl-config.mozilla.org/#server=nginx&version=1.17.7&config=intermediate&openssl=1.1.1k&guideline=5.6 server { - listen 443 ssl http2; - listen [::]:443 ssl http2; + listen 443 ssl; + listen [::]:443 ssl; + http2 on; server_name light-werkstatt.ccchh.net; - ssl_certificate /etc/letsencrypt/live/light.ccchh.net/fullchain.pem; - ssl_certificate_key /etc/letsencrypt/live/light.ccchh.net/privkey.pem; + ssl_certificate /etc/letsencrypt/live/light-werkstatt.ccchh.net/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/light-werkstatt.ccchh.net/privkey.pem; # verify chain of trust of OCSP response using Root CA and Intermediate certs - ssl_trusted_certificate /etc/letsencrypt/live/light.ccchh.net/chain.pem; + ssl_trusted_certificate /etc/letsencrypt/live/light-werkstatt.ccchh.net/chain.pem; # replace with the IP address of your resolver resolver 10.31.208.1; @@ -25,15 +26,16 @@ server { } server { - listen 443 ssl http2; - listen [::]:443 ssl http2; + listen 443 ssl; + listen [::]:443 ssl; + http2 on; - server_name light.z9.ccchh.net ; + server_name light.z9.ccchh.net; - ssl_certificate /etc/letsencrypt/live/light.ccchh.net/fullchain.pem; - ssl_certificate_key /etc/letsencrypt/live/light.ccchh.net/privkey.pem; + ssl_certificate /etc/letsencrypt/live/light.z9.ccchh.net/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/light.z9.ccchh.net/privkey.pem; # verify chain of trust of OCSP response using Root CA and Intermediate certs - ssl_trusted_certificate /etc/letsencrypt/live/light.ccchh.net/chain.pem; + ssl_trusted_certificate /etc/letsencrypt/live/light.z9.ccchh.net/chain.pem; location / { return 307 https://light.ccchh.net$request_uri; @@ -41,8 +43,9 @@ server { } server { - listen 443 ssl http2; - listen [::]:443 ssl http2; + listen 443 ssl; + listen [::]:443 ssl; + http2 on; server_name light.ccchh.net; From 2cd0811b2965a62c9b073ac03e66edc5e30cfd83 Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Sun, 25 Jan 2026 22:21:25 +0100 Subject: [PATCH 141/160] Fix warning --- roles/nginx/tasks/main/02_repo_setup.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/nginx/tasks/main/02_repo_setup.yaml b/roles/nginx/tasks/main/02_repo_setup.yaml index eaaec30..b4720c1 100644 --- a/roles/nginx/tasks/main/02_repo_setup.yaml +++ b/roles/nginx/tasks/main/02_repo_setup.yaml @@ -15,13 +15,13 @@ - name: Ensure NGINX APT repository is added ansible.builtin.apt_repository: - repo: "deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/nginx.asc] https://nginx.org/packages/debian/ {{ ansible_distribution_release }} nginx" + repo: "deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/nginx.asc] https://nginx.org/packages/debian/ {{ ansible_facts['distribution_release'] }} nginx" state: present become: true - name: Ensure NGINX APT source repository is added ansible.builtin.apt_repository: - repo: "deb-src [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/nginx.asc] https://nginx.org/packages/debian/ {{ ansible_distribution_release }} nginx" + repo: "deb-src [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/nginx.asc] https://nginx.org/packages/debian/ {{ ansible_facts['distribution_release'] }} nginx" state: present become: true From c33ae36af326b2649f74424ad32364b7d9e7ea9c Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Sun, 25 Jan 2026 22:21:45 +0100 Subject: [PATCH 142/160] Enable IPv6 by default --- roles/docker/files/daemon.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/roles/docker/files/daemon.json b/roles/docker/files/daemon.json index 49d4108..d55e4cb 100644 --- a/roles/docker/files/daemon.json +++ b/roles/docker/files/daemon.json @@ -2,5 +2,13 @@ "log-driver": "journald", "log-opts": { "tag": "{{.Name}}" + }, + "ipv6": true, + "ip6tables": true, + "fixed-cidr-v6": "fd00:1::/64", + "default-network-opts": { + "bridge": { + "com.docker.network.enable_ipv6":"true" + } } } From 0f3cd2c70ab2a937327280adec5194402247aa2b Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Sun, 25 Jan 2026 22:40:22 +0100 Subject: [PATCH 143/160] amcedns to enable Let's Encrypt DNS-01 challenges --- .sops.yaml | 7 + .../chaosknoten/host_vars/acmedns.sops.yaml | 214 ++++++++++++++++++ .../chaosknoten/host_vars/acmedns.yaml | 23 ++ inventories/chaosknoten/hosts.yaml | 10 +- .../acmedns/docker_compose/acmedns.cfg.j2 | 27 +++ .../acmedns/docker_compose/compose.yaml.j2 | 22 ++ .../acmedns/docker_compose/index.html.j2 | 63 ++++++ .../docker_compose/oauth2-proxy.cfg.j2 | 13 ++ .../acmedns/nginx/acmedns.hamburg.ccc.de.conf | 83 +++++++ .../nginx/acme_challenge.conf | 1 + .../public-reverse-proxy/nginx/nginx.conf | 1 + 11 files changed, 463 insertions(+), 1 deletion(-) create mode 100644 inventories/chaosknoten/host_vars/acmedns.sops.yaml create mode 100644 inventories/chaosknoten/host_vars/acmedns.yaml create mode 100644 resources/chaosknoten/acmedns/docker_compose/acmedns.cfg.j2 create mode 100644 resources/chaosknoten/acmedns/docker_compose/compose.yaml.j2 create mode 100644 resources/chaosknoten/acmedns/docker_compose/index.html.j2 create mode 100644 resources/chaosknoten/acmedns/docker_compose/oauth2-proxy.cfg.j2 create mode 100644 resources/chaosknoten/acmedns/nginx/acmedns.hamburg.ccc.de.conf diff --git a/.sops.yaml b/.sops.yaml index 0b9c245..60da9eb 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -34,6 +34,7 @@ keys: - &host_zammad_ansible_pull_age_key age1sv7uhpnk9d3u3je9zzvlux0kd83f627aclpamnz2h3ksg599838qjgrvqs - &host_ntfy_ansible_pull_age_key age1dkecypmfuj0tcm2cz8vnvq5drpu2ddhgnfkzxvscs7m4e79gpseqyhr9pg - &host_spaceapiccc_ansible_pull_age_key age1mdtnk78aeqnwqadjqje5pfha04wu92d3ecchyqajjmy434kwq98qksq2wa + - &host_acmedns_ansible_pull_age_key age16pxqxdj25xz6w200sf8duc62vyk0xkhzc7y63nyhg29sm077vp8qy4sywv external: age: &host_external_age_keys - &host_status_ansible_pull_age_key age1yl9ts8k6ceymaxjs72r5puetes5mtuzxuger7qgme9qkagfrm9hqzxx9qr @@ -57,6 +58,12 @@ creation_rules: *admin_gpg_keys ## host vars # chaosknoten hosts + - path_regex: inventories/chaosknoten/host_vars/acmedns.* + key_groups: + - pgp: + *admin_gpg_keys + age: + - *host_acmedns_ansible_pull_age_key - path_regex: inventories/chaosknoten/host_vars/cloud.* key_groups: - pgp: diff --git a/inventories/chaosknoten/host_vars/acmedns.sops.yaml b/inventories/chaosknoten/host_vars/acmedns.sops.yaml new file mode 100644 index 0000000..2e728ca --- /dev/null +++ b/inventories/chaosknoten/host_vars/acmedns.sops.yaml @@ -0,0 +1,214 @@ +ansible_pull__age_private_key: ENC[AES256_GCM,data:R0FZVQXrUgqW04VltXpYhEuI8Q8i0gE4K1EI05NTZyTO+9QOynMVzfLOzOOT1Yh+oQNLsE0MFELX8eo3EFKyXIrkE/wr2ECgFqY=,iv:m4N6t03tklKRaRZ9eVl2vv9T8WUy6AiPQDNuyU0UEtI=,tag:XJMnT5GZthv9RPQFZTWZaA==,type:str] +secret__oidc_client_secret: ENC[AES256_GCM,data:UHbIuftvyPHxtHGRvH+ydMetiCRu3z3JL+zFzLwVaSQ=,iv:1/KKB9IHZEWgEULoab1aVwbPIW7mxfRK7NABiSP2yIQ=,tag:8g3ej7ZJwAuPk9eGdPGyog==,type:str] +secret__oidc_cookie_secret: ENC[AES256_GCM,data:epKralmaga5W0TK0njjTBP0GIlkUK2ogKEbWQ/zlIhQ=,iv:rDBiSE+DPkX2I2i2fJQ/SrkltlCnPOEyeMfud2xXbFA=,tag:SOGIJHiaKq1t+Dg0NJGnxA==,type:str] +sops: + age: + - recipient: age16pxqxdj25xz6w200sf8duc62vyk0xkhzc7y63nyhg29sm077vp8qy4sywv + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA5SDJ0NHZkK3hvUSt2K2hV + TWNKUkFlUFVkaEFlM1lDVTdnZU5EeURiOURzCnQzcWE2RnpiZ3BmRzIwbFRDdkRr + VmcreVJvdTl2Z3lBVFJTNmNLZWdyMWcKLS0tIEkwcXAwY0NoNmhCZm9JUDMyRjVC + bUM2WC9QeWFrdm43a2N1eStEOFFXVGcKCCqwLQ67aEEjTAyXXabZ2AoBag/QY4HW + WwgmI8KNYpC0YXzDJ3fUUL6g4oiSqMxTGvQ+0oABOk+XFnVx+++aoQ== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2026-01-25T16:16:15Z" + mac: ENC[AES256_GCM,data:dBBAJIXeVUXXPXB8Eq4gH5F/0jTpvb79hdu4KD9gV5RL36Tr3iU92SKAZdMcw3/+8zq5L32YWWpYR5HFVPXaSdgls3wtWdrz/1j/C/zRxup+Y8DSOdiebCtz1lJJvglQMZNznRvo7N58lTdF/XqJA4tY51xZZi/krsJXDxtlTgA=,iv:yhwXbXu1MKl4sSYaCKPVUK9aedmIMnt/rzXTcGqmqpk=,tag:hZX6YZrzkrr1mPe6FOs7Xw==,type:str] + pgp: + - created_at: "2026-01-25T14:20:25Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxK/JaB2/SdtARAAi+qxfJ++qxSRxZLZiJ6njtlaOvrmE3uDCxbBwK5/lc7K + rt1liJ3Ue1hR1Bt6ozbH72shd5EOQzDuwQiRLZSR/7q6dcM0wdGRrfXuNvsRbQFf + Mb1D5L5Md1zOH4HuUx38+GGoB1CchpQwdZpjzcU2+MI5O5YIw3DDcKOAAMa+Nfpy + m0aezDSM6zDYYrYKjZUrMCXZFn0cnWAosod1ZJDz+rNMfFaVCPUlcUO4/p8cPzvr + rz+B5MV6Nyft3FUpHntFAgGjwlt31ZANZoWeJxJ5/zFlmieXMihjC4x1QPBs42E2 + den7NPprSZX1ynGdImaZfTHwuwP1bpLrVFegG1EPrMIUwjRbSZDdmWxaR0uvajgM + GcbJLRFdvOcc7g7NWh2n4AwjpjcPN0cNrAit5/S0PG7JYdZFi4abfxTur12p9BPk + xJacN4ZVnT5qRRnqinPDCCiR4MLg/L9fxG6Dap6xboBTnHS5GksuLiDFMjsSAVh7 + /63SOn6/Po1BUiiZPRHkvlm1uhkP7k5iDT/cP+gV1QDjdrXbD27D3c2eJveBaX03 + oLhXi+2/tmitsRw5vp+jTwHP3RDC9ZsORdEoshaGJ7Axbmai1wmUAabaz60vbTzV + W5KHaEAdC97YsUFUn4ZgqORJ5MlPRUGUGGmlYJq6peihLYx/wdCLw9DywhZAYiTU + aAEJAhACPP4YiVUAbMaXB3q7AJWnoF20oJVBcGD7nvAVIaJJL0zuYe3lsujo2O2L + wqzIw80YE0tSaHx9GWJorF3vQQ1/jxrgiZofZNrsrQ5mzVADGO5+JLuU1THyDWXV + PPvkTEc7AdD6 + =GWYV + -----END PGP MESSAGE----- + fp: EF643F59E008414882232C78FFA8331EEB7D6B70 + - created_at: "2026-01-25T14:20:25Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA6EyPtWBEI+2AQ/+KKOoBqMu5MXGmEM70WGKs7qGiqcJ4jizWaf2BjO8JtcU + DUJ31xy+KOnZh4pNP3bYptBtv/FehKHfaC1HB+sXBqT7hhAT5k2WyNo6Y1EdsGeG + HuccJ8rEMxwRSp3rdpca/53mtFzYHFHDT2nOEc5wkl0KqPITIJAiaGVVeS/ANy6X + qijabdecK8Ekb0Ev7OHwxFQT92DdtN7xdQns4bUoxSy9j/7SDUII7btG3alhlH2Z + XF+aZ4Fo+P/O8yavyTuwm6GlKWaWtGn9xRhNXvMkpBXIa4rwHC0re3DJNlMqN7EV + gW2sxnAxBShNU/ZtpqaQ2ku8L7FPB4Y8hhbk08PVlqz6F1xFm9x5PEriuaIPd1pp + 0TQtekvntBWiRAQ8QPmrfg96BaLqvL+Hffb3PlIRvnXHmaJY/5Ci0HGgoUjodKIT + 0tZzP0xcElbm3Mf5z/uyRzCwpx7oLn+q9xiJ2yoYwn4IkMWd2VaJZJlVcKH1RRXS + A4OUERkDSV3Fz6VjnI0VQ/hpfLDLCaQp8TzUOtNy4MqzsB0fQbDWnPR1KFrmNmSv + SSkS04tSt9CMNDFllrwQg6fbaZMmS97JeXb723mfUrPa0o3MeTxa9EuB/NQvWYuS + iBqC+NxIAvUw/IJtKg3unA9ysigCDUTbi6P7F69NMJM9qHet7PSLgqsM9RPdPlLS + XgH+T9DivFMWNnGvAS+wMckvKcTtskHWnQMCYdx62VsXzS/LU3iWq+OBz/xf8yhD + 2vS25oi54fQKz6diOrq/TgO0Cx2/1LXqOYL5m/6+Qvv7wxHHZHeLcdwCRVceLZs= + =5SxJ + -----END PGP MESSAGE----- + fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC + - created_at: "2026-01-25T14:20:25Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAz5uSgHG2iMJARAArv3KHUknyw89o/HA+T9vv1orrq0uztAOtOYLXIxF0mPL + S+Yrqs8uT0UmIJ/vdNZpf6HYw7Cmk4XErSsT4l15/5JbGfvqbc1ECdoz6j6kNfID + eHP3iJkySKbxSqflZ/3Hs8UXV65RU4F1HHK2SsQVvb0FCl03KNqkNAMicqiYZyzH + CAKOje7fnCHQ2oClUXakwXDQMnQwboXmhC26ghTvCYHIcb/VD8z91TSjxNitA1nG + 7Ky1VvBWTuC0qcfaxkrkkwDPcxdfA2BXyxwm7b/w2IwmQX1cce25MCgIhMCFuf0C + rvw8GgfJEQ/qI3Rk1R87cpyRte4itrl1cCJI1UgS088+eHhmeS8XOZL860Eiqho4 + tQJLUCr0P+LSBgOxj6/hnzY56bpPxa1NjRjqCGh+WF9XzeM8vY1MkzIjqHXxq9bD + 9yGnFujzTcFbpEzdigPfAt6VgMe3jAEWqnr9fTK/f4qKWdXfycEHAJgL9UqHCtR0 + DMy2+ZsHy5Hn9S5hmXLWpKo579FEWMLeCRA2DZvCHKIWUPhv3O4BAGovh8px9wRR + V7HeNK0efhiPm80alIQUGn+JEyNOaBrjAQmS0+ELF1S1AaHzXoLNrxfBCQJJCHd6 + BvZIC6mVWF9DSeD+s/twk6qGNwAl17OAi3fyahunefODNqMcW73RI6x0BhkBfvnS + XgGEHYtdIiwWW+nCWBCrlXHrZ2AqgFKqNInB8lR5t7GtSjVxF6blysWXyv4JtegX + A3gMULNrOAZiPMe5Q1DDMNJ34jEnveojMIAOb/j+w7bvcgh7wbrUIUhNQSDgoaY= + =H3mo + -----END PGP MESSAGE----- + fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 + - created_at: "2026-01-25T14:20:25Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAw5vwmoEJHQ1ARAAqbv66yl/dyRf3f1ejNWsZxwD5oo99rHvbfWDCjTEFpzo + QUHgi7h+uF3GfRqkbE8YK7oFmTdxDS7DEkiQHw3jbJwI2+K1umubwq5sL1IMhSyG + SHZL+3r4ytBj6kuraXoTGqBFjNNht+3rRUEvgK8eXAixp8aHbx2LAVzjhxGTa9WY + yT9H4XJgEac5ODiyhyu3wxzZFmcr9VVNpja7C3iJ5PymjKPnzMFHzdhYflVG4ptP + lscRsl5TakEL7p4wsjLszeXTSq38ueaH3Bhvts3Kl72BU2rICDzlBOzGszq3gI2c + o97Vydku1MBsIwbUdKAOdhjA4BFyPAg1z1VkeEOrH1ThaZ0cfalN6TxBfCeKftSv + VAn9ErK6cRjM5peyJPSHUjpXZEcomtZonhAIBUfDeFW3Sk4lE7+SnIvJkLtrvSZy + QDgbA4dE19d8MUL0uu+fyp85+OkXI+e1QOOoZX+7/Mco3wKbCbP5T21T/+SLsH0N + oNrQpQlDch5YB+vLISUE7+buFdlMpIlcHAnL9scjgIdU0Z/X75p/5t7g99D/0nc/ + WGu4l2n9fbrvimnqc6wWzBHgQZVcPKr5tMB6jVQu4WCdHX9VkI+Ru2IfCFsQ09TD + RQMybPT3tTdYODVCeoE3NmilqE+igEzFYRDwFdKjR2eLnuli5mI7GlXrboPGjWPS + XgEpnUxHg7oik0vO8YsyRldQ2Vyw1vIskRq9cdUY0Ix3u0gyqUF56aWhA+4fhr3H + Q8RsT8OXXswSozzkw3AvKi3VaGjwDr1Wasq6YVRtV5pjS0Rx/ILo85grKi5vgpk= + =bY3Q + -----END PGP MESSAGE----- + fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 + - created_at: "2026-01-25T14:20:25Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DerEtaFuTeewSAQdAh8vUqXwXAq615cIswD1e2FbDgcFp4pDKWP4Of9bDRWYw + 5UMSvrCgWei0lytGCaApC6J+Ppd5o9D34fux8X0/ztoRopIV1RlrcepPr9jo3ROk + 0l4B4T+mFz+FNrO79ldBuysOEo6qX7kSfJ63cpy48nDNVi0pTDr87OiJTQQD3gfx + wQdkqjYs204YvFP8Zp/+Ow+52z0W2ecLwgByVxsiusf8JLlYQMHOL9QisPxWMErr + =C2Ii + -----END PGP MESSAGE----- + fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 + - created_at: "2026-01-25T14:20:25Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxjNhCKPP69fAQ//YH0pZvxXkXYi9tRWPSVllAsKgwzZsKkXS2LrfysCvnNS + LmcLrWNV8upH8g6ubHwwq1Q6WcpaoraIGB2Pw7OPKvynqqhMamk6jAzuYF1hMsd/ + efGlsIF/wE/MLo0AizDZ5H/k6g/BfdSm3VFvAYbdHObQld/+uEMdotBrUjtXJlA/ + lare1GFxSt+P9J+h5U0kf8VFWbgzf7SkViWBvEpyUaBa0VLgyOc59e9BZzWX8h2R + FjNX40MkZHxdbqBx3Bw8MZmQz+Q1O8w7uNcf6YZxl7+tYka99DSoK2T6YxTqqqrt + FtqDAUAS+yweg4hP7CwUK05VzmH/y6S4brVJz73NzahVNUBRpPXJUWs8QsR96xx/ + hUMRGOrfd0qJ/jv2P+oMJipGsWZ5b6rkj/LX9ZAyGW7TgWbelr4zwM2C/n5xDkKf + LSQFH1Nx9QG0Aq6JT6staq+xiw/w1ipn0IDL18YPvX5kkO3KNUZk1F7zF6rbXRXa + LQIY+lhDnslkOMHmUIvqPSFWDQT/a/ttg0jVazz9IHnCz/+ShCh8nwiXXa6swlGC + XFzJS0Lyz55JfRcEN2h4lc6U7sE7MN9WEo8DWNv2UJwIZtu5dHBI9PjFSAxm73KJ + FSQDFxqlR7a7BXKw+KfvHUzWcRInWLE3bMQlg9ECJX1sQf2Bu8/YxU9bFT2fzfLS + XgHsHSJqqcZ3gwwUPNeQMadRylccXoPOCns3rf3W+7zKRBb8poRpj0hK2J2eIkGG + M5kRRudGy07hLV2wQGitucekIFUStxumRSQqpcUhk+RKTOyTMIqT4o6ykVBgke0= + =/EHL + -----END PGP MESSAGE----- + fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 + - created_at: "2026-01-25T14:20:25Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA1Hthzn+T1OoAQ/+IxC99h9NXy1lKs8K3O6zNPE4vvoUdlHyU7MngSUe7FID + cfVoJmqumGJ2VL052PyGNuJl4wwI0Bk4GJ1B17sDiROM21BgV2xJN44I8DzU/s2i + 1P/WOcpofsng7xBPib5vETo2ypfiNzurNwKidID6rc8k3TL2Eq3U9gPajdgaHWTx + jCBEiBs4B2H0Jv0teH7NK7VY21v/GQ6wCATUdFugjOocWT/Up9SbIKgvzXgxmoB7 + glmOZGtqMsorMw7Rr9fy5qdL6HK50dYbzQ8IppZFG7PrFLyLsp//S7fReFbtp8oD + yCBbhOfywLuhyWmLu78F32l5upv4Q/RPfsOEQVRd13+4XeYIYqbVlBRI4c38iA8k + sKgN/l5mH4FPmFWhRfeMOQn51tTDiq/n8G86EJETJJxC2kAhfLXi5YLECH693Vzw + Mad81jxssJP5pTTUDBzog6oMNyCvs9paRgb0O4Bt0Zpox+BFdQcTNJahj9wDyfZV + TjV6lUtuQ7QvHDYyujxhkJWUOyd2Urfk9Ku8A/xeCGwLRJS9BKYgwvatc49zL5zZ + 3GZ59gBGERbBCBPoFZgpVh73ZF/riAMHbgh+ZzUlFxJNY4fVvCk79bMitsihAbp8 + NAELn1kiDPjlW1SsiiIzkdq87ttJ7aVtR1vQBYWapWmU9eSkn8XZcX4PxFot68zS + XgEvZxgH4TgGrPuTYusDaopSObkq19jiEJ/A44Jiy2yvU9hXeOn8CeXHTJnwcSeQ + ey3QV0vu+gYPL26T5M8fp3DwgZYr+dtAX2jydweT9MKjgeUyZAZmIieY1gdguIw= + =WwLj + -----END PGP MESSAGE----- + fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD + - created_at: "2026-01-25T14:20:25Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA46L6MuPqfJqAQ/9FcgBwOTVqwohN7+iNCiq13Na/qcvFvFxymSo5ZhtjB/q + rMfLaSwsVAZuN9ishdip+a9tFb4oBPpwZjztvsgetoVNvLOrP/ZQag9SDy1fe8KH + DDlPFFRjTYtPdS+5ScHc8pGTLmyQzYDfieD0FCdZsNwz5PpAtUu7itvpZKtNWMXr + k/N3Mjena5iv79ngDsRlc9O/YXWsAPf8scgApwi+lVilJ7E/jTkrXxiku0knrlfl + NnNJKqh5iT2NWXB3Dgw0fQMLbAuDUOlkvrdwxnaJsIyjo8D5g/gh9rXBCJsMMFCp + 1qppPBTV2f/gZb1gKFpnlBJAiDhmBWoBhlgbmFXv0E/V7F/7bFtsHagb50nEHZlA + QH0JjRHN83eGCR9ZBUttxMh0FWV2ND3YlxnCNb43TEoCx9f5ml7L5GbGqu0+8Yrc + fHCGPW8DSUh7zTrmB0bn6R60hXcWchNcPdorPopROhGTSC4pkAKn+mt3jvEkyLsW + TGqNCEbFbMBJlhhn9w5fxT7vEX0Rt/vO4gXKIzPfcyzsgORIW1YxwtaGyRQErlqo + ITnLtowfgrlvU1hI+hwivD9kQ32kmEyYKa9J8fBx07XArYRR64+Eyaaq4lOeZbE4 + 1l0zskD5i1R8NO3yzxpIAqi+H7VPhYLwidjXT54QT8vyqrkmvksANR8UqydYUgnS + XgGuO1O1pKkiHHLcb8EydlgW61sLIZZjlkYynMRM5MjgPD5Z3ikeD6VaNSYnOw6c + gkisHXqY9EFSPfw8EHnGspyD/mvzDUz63GrylUO+wXgMKdByrsYRaj93j7vfYZ4= + =Bk3g + -----END PGP MESSAGE----- + fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A + - created_at: "2026-01-25T14:20:25Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DQrf1tCqiJxoSAQdADv1xBEY68JQ6Xo2ZT1FV2BJgeB7Yaahi9OQ/aypT0i8w + FJRRTtmWVBRtOecoG6SrHLtmYozuLyNFG8/ZFOU7jTSZL6lXr5NV6GIyNZPFTjvE + 0l4Bqjjh871cqN4Cq5CF3kDibHTyZYsvcQ0BmxSZy2v+moYqZGFPEjNiniS6JrK/ + Ch+cZvlsGIjTmP96IZfHbO3+hL+tVhO78bmixnN6SE6UDOzdmWcMkQ9DHSZp+p4j + =xd/t + -----END PGP MESSAGE----- + fp: B71138A6A8964A3C3B8899857B4F70C356765BAB + - created_at: "2026-01-25T14:20:25Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DzAGzViGx4qcSAQdASnWlOX4oItUMy2BNF+UdGfSkijvIKK1WohLp2rJmQGMw + /rpiFcCiX7rZNyn3f+eOULjCPbNtfwqG5Ji6YzGJPEaLg9J/CCYDP7eZ0M13tK9V + 0lgBjTZZwa7SYs+c49UkhUN92Jrt439mTud3Sa6hvfQTntISOUF3QsMyQO+2h0EH + zvaV7dmtiLZZ6ukp9vJG2asPcA1McYBHABUUcjlmFkQ74CYhPFU03/kb + =9oyC + -----END PGP MESSAGE----- + fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD + - created_at: "2026-01-25T14:20:25Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA2pVdGTIrZI+ARAAvugr3SudoqZm6B9o/a2bYVlR8eee3Cxtqb/SDfFKJ42J + /KIJHOpfs0iyoJzeq4GXn89RU08EHz+1/rAqIHN/cMGc/IjOOXcqKcKVBqhb68+I + OyEyxx0YAV939Jc+L9rxb4FnqV/HFJuA087jqP43NgPWySoUzWZshK57Yw/VJNxd + U5zDMAciWNVISL/ArcJFroK0n9dvRRsHHHx3/OgQ9Lnl73X5JEAleIPJVb1SDV4e + HgmBrlRFpp9e/Mu94Gp9yFd9PqziSA47lkdMwjMYHntTwbT3dqUGOJLF1D1oqC9V + +t+5FO5fP+LbnmuFQIGRGqdPpCy4S60d2EqocwBl6q6xn/DLQw1j9hGNpMl3GwBI + O7zquV2MyXJR9JqyklWoCmKldLIhpsnPtTx/AhIsMLWq2hvNfbBBNA41sMkofcvl + H2Hggi+TkpOh6bre1/uPkr8T3MLsiZIUB/1uHcgYO3FH13K2Ow9ChxmkeLsW6Afu + hbQcG7SKr0sCHAmvzbTsIRCpryORDRw4vwrsKuVVgA7neD8HtCItJ/Vk1JmV2xYZ + 96ilVPPpDs0tmQ/6dZZosoXLGi37Hs+FRgcAUuAdZ3bzb65e+CxtSVjRALG7hz9R + XPKmsD6tTgdLpau/zugxdKx3yKMCHzC+AouD+esea8GNuoeGug58IEoglLXDctbU + aAEJAhC0Js4STROmS43wGXP2v4umeLw9iF3Wp9L6o12BL3FZXi121py2ogosjAY2 + 30wzFU2KJGqS25/pnXw6r9ycgxdXeKsddR94Q4TOulO3SSEdjs7B+iOKwUkGKoBq + 9iHTzz6Gpajo + =bBZ5 + -----END PGP MESSAGE----- + fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + unencrypted_suffix: _unencrypted + version: 3.11.0 diff --git a/inventories/chaosknoten/host_vars/acmedns.yaml b/inventories/chaosknoten/host_vars/acmedns.yaml new file mode 100644 index 0000000..364aa9a --- /dev/null +++ b/inventories/chaosknoten/host_vars/acmedns.yaml @@ -0,0 +1,23 @@ +--- +docker_compose__compose_file_content: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/acmedns/docker_compose/compose.yaml.j2') }}" +docker_compose__configuration_files: + - name: acmedns.cfg + content: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/acmedns/docker_compose/acmedns.cfg.j2') }}" + - name: oauth2-proxy.cfg + content: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/acmedns/docker_compose/oauth2-proxy.cfg.j2') }}" + - name: html/index.html + content: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/acmedns/docker_compose/index.html.j2') }}" +docker_compose__pull: missing + +certbot__version_spec: "" +certbot__acme_account_email_address: le-admin@hamburg.ccc.de +certbot__certificate_domains: + # - "spaceapi.ccc.de" # after DNS has been adjusted + - "acmedns.hamburg.ccc.de" +certbot__new_cert_commands: + - "systemctl reload nginx.service" + +nginx__version_spec: "" +nginx__configurations: + - name: acmedns.hamburg.ccc.de + content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/acmedns/nginx/acmedns.hamburg.ccc.de.conf') }}" diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index 5c114c9..395b154 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -78,11 +78,16 @@ all: ansible_host: spaceapiccc.hosts.hamburg.ccc.de ansible_user: chaos ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de + acmedns: + ansible_host: acmedns.hosts.hamburg.ccc.de + ansible_user: chaos + ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de hypervisors: hosts: chaosknoten: base_config_hosts: hosts: + acmedns: ccchoir: cloud: eh22-wiki: @@ -110,7 +115,8 @@ nftables_hosts: hosts: router: docker_compose_hosts: - hosts: + hosts: + acmedns: ccchoir: grafana: tickets: @@ -128,6 +134,7 @@ nextcloud_hosts: cloud: nginx_hosts: hosts: + acmedns: ccchoir: eh22-wiki: grafana: @@ -150,6 +157,7 @@ public_reverse_proxy_hosts: public-reverse-proxy: certbot_hosts: hosts: + acmedns: ccchoir: eh22-wiki: grafana: diff --git a/resources/chaosknoten/acmedns/docker_compose/acmedns.cfg.j2 b/resources/chaosknoten/acmedns/docker_compose/acmedns.cfg.j2 new file mode 100644 index 0000000..4f3b49c --- /dev/null +++ b/resources/chaosknoten/acmedns/docker_compose/acmedns.cfg.j2 @@ -0,0 +1,27 @@ +# https://github.com/joohoi/acme-dns?tab=readme-ov-file#configuration +[general] +protocol = "both" +domain = "auth.acmedns.hamburg.ccc.de" +nsname = "acmedns.hosts.hamburg.ccc.de" +nsadmin = "noc.lists.hamburg.ccc.de" +records = [ + "auth.acmedns.hamburg.ccc.de. CNAME public-reverse-proxy.hamburg.ccc.de.", + "auth.acmedns.hamburg.ccc.de. NS acmedns.hosts.hamburg.ccc.de.", +] + +[database] +engine = "sqlite3" +connection = "/var/lib/acme-dns/acme-dns.db" + +[api] +ip = "0.0.0.0" +port = "80" +tls = "none" +corsorigins = [ + "*" +] + +[logconfig] +loglevel = "debug" +logtype = "stdout" +logformat = "text" diff --git a/resources/chaosknoten/acmedns/docker_compose/compose.yaml.j2 b/resources/chaosknoten/acmedns/docker_compose/compose.yaml.j2 new file mode 100644 index 0000000..8976852 --- /dev/null +++ b/resources/chaosknoten/acmedns/docker_compose/compose.yaml.j2 @@ -0,0 +1,22 @@ +--- +services: + oauth2-proxy: + container_name: oauth2-proxy + image: quay.io/oauth2-proxy/oauth2-proxy:v7.14.2 + command: --config /oauth2-proxy.cfg + hostname: oauth2-proxy + volumes: + - "./configs/oauth2-proxy.cfg:/oauth2-proxy.cfg" + restart: unless-stopped + ports: + - 4180:4180 + + acmedns: + image: docker.io/joohoi/acme-dns:latest + ports: + - "[::]:53:53" + - "[::]:53:53/udp" + - 8080:80 + volumes: + - ./configs/acmedns.cfg:/etc/acme-dns/config.cfg:ro + - ./data/acmedns:/var/lib/acme-dns \ No newline at end of file diff --git a/resources/chaosknoten/acmedns/docker_compose/index.html.j2 b/resources/chaosknoten/acmedns/docker_compose/index.html.j2 new file mode 100644 index 0000000..02216da --- /dev/null +++ b/resources/chaosknoten/acmedns/docker_compose/index.html.j2 @@ -0,0 +1,63 @@ + + +ACME DNS Register + + + +

Register an Entry in ACME DNS

+ +

This is the page where you can create an entry in ACME DNS. Please only do so when you need a new entry; there is currently no way to remove entries once they have been created.

+

See the ACME DNS service entry in the wiki for further details.

+ +

+ + + + + + + + + + + + + + + + + + diff --git a/resources/chaosknoten/acmedns/docker_compose/oauth2-proxy.cfg.j2 b/resources/chaosknoten/acmedns/docker_compose/oauth2-proxy.cfg.j2 new file mode 100644 index 0000000..f11eadf --- /dev/null +++ b/resources/chaosknoten/acmedns/docker_compose/oauth2-proxy.cfg.j2 @@ -0,0 +1,13 @@ +reverse_proxy = true +http_address="0.0.0.0:4180" +cookie_secret="{{ secret__oidc_cookie_secret }}" +email_domains="*" + +# dex provider +oidc_issuer_url="https://id.hamburg.ccc.de/realms/ccchh" +provider="oidc" +provider_display_name="CCCHH ID" +client_id="acmedns" +client_secret="{{ secret__oidc_client_secret }}" +redirect_url="https://acmedns.hamburg.ccc.de/oauth2/callback" + diff --git a/resources/chaosknoten/acmedns/nginx/acmedns.hamburg.ccc.de.conf b/resources/chaosknoten/acmedns/nginx/acmedns.hamburg.ccc.de.conf new file mode 100644 index 0000000..b360d40 --- /dev/null +++ b/resources/chaosknoten/acmedns/nginx/acmedns.hamburg.ccc.de.conf @@ -0,0 +1,83 @@ +# partly generated 2022-01-08, Mozilla Guideline v5.6, nginx 1.17.7, OpenSSL 1.1.1k, intermediate configuration +# https://ssl-config.mozilla.org/#server=nginx&version=1.17.7&config=intermediate&openssl=1.1.1k&guideline=5.6 +server { + # Listen on a custom port for the proxy protocol. + listen [::]:8443 ssl http2 proxy_protocol; + # Make use of the ngx_http_realip_module to set the $remote_addr and + # $remote_port to the client address and client port, when using proxy + # protocol. + # First set our proxy protocol proxy as trusted. + set_real_ip_from 2a00:14b0:4200:3000:125::1; + # Then tell the realip_module to get the addreses from the proxy protocol + # header. + real_ip_header proxy_protocol; + + server_name acmedns.hamburg.ccc.de; + + root /ansible_docker_compose/configs/html/; + + ssl_certificate /etc/letsencrypt/live/acmedns.hamburg.ccc.de/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/acmedns.hamburg.ccc.de/privkey.pem; + # verify chain of trust of OCSP response using Root CA and Intermediate certs + ssl_trusted_certificate /etc/letsencrypt/live/acmedns.hamburg.ccc.de/chain.pem; + + # HSTS (ngx_http_headers_module is required) (63072000 seconds) + add_header Strict-Transport-Security "max-age=63072000" always; + + proxy_set_header Host $host; + proxy_set_header X-Forwarded-Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Port 443; + # This is https in any case. + proxy_set_header X-Forwarded-Proto https; + # Hide the X-Forwarded header. + proxy_hide_header X-Forwarded; + # Assume we are the only Reverse Proxy (well using Proxy Protocol, but that + # is transparent). + # Also provide "_hidden" for by, since it's not relevant. + proxy_set_header Forwarded "for=$remote_addr;proto=https;host=$host;by=_hidden"; + proxy_buffer_size 8k; # needed for oauth2-proxy to work correctly + port_in_redirect off; + + location /oauth2/ { + proxy_pass http://127.0.0.1:4180; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Auth-Request-Redirect $request_uri; + # or, if you are handling multiple domains: + # proxy_set_header X-Auth-Request-Redirect $scheme://$host$request_uri; + } + + location = /oauth2/auth { + proxy_pass http://127.0.0.1:4180; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-Uri $request_uri; + # nginx auth_request includes headers but not body + proxy_set_header Content-Length ""; + proxy_pass_request_body off; + } + + location = / { + auth_request /oauth2/auth; + error_page 401 = @oauth2_signin; + + index index.html; + } + + location = /register { + auth_request /oauth2/auth; + error_page 401 = @oauth2_signin; + + proxy_pass http://127.0.0.1:8080/register; + } + + location = /update { # no auth by proxy required + proxy_pass http://127.0.0.1:8080/update; + } + + location @oauth2_signin { + return 302 /oauth2/sign_in?rd=$scheme://$host$request_uri; + } +} diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf index 71ae729..feacfa7 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf @@ -82,6 +82,7 @@ map $host $upstream_acme_challenge_host { spaceapi.ccc.de spaceapiccc.hosts.hamburg.ccc.de:31820; cpuccc.hamburg.ccc.de 172.31.17.151:31820; cpu.ccc.de 172.31.17.151:31820; + acmedns.hamburg.ccc.de acmedns.hosts.hamburg.ccc.de:31820; default ""; } diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf index bdf7184..fc62a89 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf @@ -100,6 +100,7 @@ stream { spaceapi.ccc.de spaceapiccc.hosts.hamburg.ccc.de:8443; cpuccc.hamburg.ccc.de 172.31.17.151:8443; cpu.ccc.de 172.31.17.151:8443; + acmedns.hamburg.ccc.de acmedns.hosts.hamburg.ccc.de:8443; } server { From 42b23eb1817995f2fa5edef34980382aace7a84d Mon Sep 17 00:00:00 2001 From: June Date: Sun, 25 Jan 2026 23:55:48 +0100 Subject: [PATCH 144/160] get collections from repos directly instead of using Ansible Galaxy As Ansible Galaxy is currently down, switch to using the repos directly. This avoids reliancy on Ansible Galaxy in the future as well. --- requirements.yml | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/requirements.yml b/requirements.yml index 6011bda..8f48358 100644 --- a/requirements.yml +++ b/requirements.yml @@ -1,11 +1,13 @@ collections: - # Install a collection from Ansible Galaxy. - - name: debops.debops - version: ">=3.1.0" - source: https://galaxy.ansible.com - - name: community.sops - version: ">=2.2.4" - source: https://galaxy.ansible.com - - name: community.docker - version: ">=5.0.0" - source: https://galaxy.ansible.com + # debops.debops + - source: https://github.com/debops/debops + type: git + version: "v3.2.5" + # community.sops + - source: https://github.com/ansible-collections/community.sops + type: git + version: "2.2.7" + # community.docker + - source: https://github.com/ansible-collections/community.docker + type: git + version: "5.0.5" From ca20721f04b46d49b423d61cecd0e88fc7090e78 Mon Sep 17 00:00:00 2001 From: June Date: Sun, 25 Jan 2026 23:55:57 +0100 Subject: [PATCH 145/160] add missing grafana.grafana collection dependency --- requirements.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/requirements.yml b/requirements.yml index 8f48358..dffe9d3 100644 --- a/requirements.yml +++ b/requirements.yml @@ -11,3 +11,7 @@ collections: - source: https://github.com/ansible-collections/community.docker type: git version: "5.0.5" + # grafana.grafana + - source: https://github.com/grafana/grafana-ansible-collection + type: git + version: "6.0.6" From c8edde4d113d30f3a71ea383b525e55646766c6b Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Mon, 26 Jan 2026 00:20:27 +0100 Subject: [PATCH 146/160] Pretty up --- .../acmedns/docker_compose/index.html.j2 | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/resources/chaosknoten/acmedns/docker_compose/index.html.j2 b/resources/chaosknoten/acmedns/docker_compose/index.html.j2 index 02216da..1170cec 100644 --- a/resources/chaosknoten/acmedns/docker_compose/index.html.j2 +++ b/resources/chaosknoten/acmedns/docker_compose/index.html.j2 @@ -4,14 +4,21 @@ @@ -24,19 +31,23 @@ th { - + - + - + - + + +

Note: there is no way to delete registrations. Each registration is small, so it's not an immediate problem, but please do not click register unless you are planning to really create a new entry.

+