From 4a617ce50a908126416a3389d2053d9224b5877f Mon Sep 17 00:00:00 2001 From: Sophia Date: Thu, 14 Aug 2025 22:39:43 +0200 Subject: [PATCH 001/417] [role] add kitchenowl --- roles/kitchenowl/README.md | 39 +++++++++++++++++++ roles/kitchenowl/defaults/main.yml | 10 +++++ roles/kitchenowl/handlers/main.yml | 18 +++++++++ roles/kitchenowl/tasks/main.yml | 41 ++++++++++++++++++++ roles/kitchenowl/templates/docker-compose.j2 | 24 ++++++++++++ 5 files changed, 132 insertions(+) create mode 100644 roles/kitchenowl/README.md create mode 100644 roles/kitchenowl/defaults/main.yml create mode 100644 roles/kitchenowl/handlers/main.yml create mode 100644 roles/kitchenowl/tasks/main.yml create mode 100644 roles/kitchenowl/templates/docker-compose.j2 diff --git a/roles/kitchenowl/README.md b/roles/kitchenowl/README.md new file mode 100644 index 0000000000..2edaf163a0 --- /dev/null +++ b/roles/kitchenowl/README.md @@ -0,0 +1,39 @@ +# Ansible Kitchenowl deployment with docker + +## Introduction + +KitchenOwl is a smart self-hosted grocery list and recipe manager. Easily add items to your shopping list before you go shopping. You can also create recipes and get suggestions on what you want to cook. Track your expenses so you know how much you've spent. + +- Native Mobile/Web/Desktop apps with a great design +- Add items to your shopping list and sync them in real-time with multiple users +- Partial offline support, so you don't lose track of what to buy even when there is no signal +- Manage recipes and add them to your shopping list +- Share recipes with friends and family +- Create a meal plan to always know what you'll be eating +- Manage balances and track expenses of your household + +Checkout more: https://github.com/tombursch/kitchenowl + +## Why docker + +Whilst I try to refrain from using docker, especially together with ansible, it is the recommended way of installation: https://docs.kitchenowl.org/latest/self-hosting/ . + +One could also decide to build from source, but I fear that the chance of brakage is higher than just using docker. + +### Notice + +This role does not care about creating a rootless docker installation and should primarily used inside a vm. + +Checkout https://docs.docker.com/engine/security/rootless/ or https://wiki.archlinux.org/title/Docker#Rootless_Docker_daemon for more information on rootless docker. + +## Variables + +See [defaults](./defaults/main.yml) for needed variables. + +### OIDC + +OIDC can be used as decribed in https://docs.kitchenowl.org/latest/self-hosting/oidc/ by enabling `kitchenowl_oidc` and using the respected variables. + +### Secrets + +Please use secrets as described in [README#Secrets](../../README.md#secrets) \ No newline at end of file diff --git a/roles/kitchenowl/defaults/main.yml b/roles/kitchenowl/defaults/main.yml new file mode 100644 index 0000000000..ad69fcc8db --- /dev/null +++ b/roles/kitchenowl/defaults/main.yml @@ -0,0 +1,10 @@ +kitchenowl_dockertag: "latest" +kitchenowl_port: "80" +kitchenowl_path: "/opt/kitchenowl" +kitchenowl_jwt: USESECRET +kitchenowl_oidc: + enabled: false + front_url: + oidc_issuer: + oidc_client_id: + oidc_client_secret: diff --git a/roles/kitchenowl/handlers/main.yml b/roles/kitchenowl/handlers/main.yml new file mode 100644 index 0000000000..63eda54e9c --- /dev/null +++ b/roles/kitchenowl/handlers/main.yml @@ -0,0 +1,18 @@ +- name: docker compose down + community.docker.docker_compose_v2: + project_src: "{{ kitchenowl_path }}" + state: absent + +- name: docker compose up + community.docker.docker_compose_v2: + project_src: "{{ kitchenowl_path }}" + +- name: docker compose stop + community.docker.docker_compose_v2: + project_src: "{{ kitchenowl_path }}" + state: stopped + +- name: docker compose restart + community.docker.docker_compose_v2: + project_src: "{{ kitchenowl_path }}" + state: restarted diff --git a/roles/kitchenowl/tasks/main.yml b/roles/kitchenowl/tasks/main.yml new file mode 100644 index 0000000000..530d468325 --- /dev/null +++ b/roles/kitchenowl/tasks/main.yml @@ -0,0 +1,41 @@ +- name: Install latest docker & docker-compose package + ansible.builtin.package: + name: + - docker + - docker-compose + state: present + +- name: Start and enable docker service + ansible.builtin.service: + name: docker + state: started + enabled: true + +- name: Ensure kitchenowl directory exists + ansible.builtin.file: + path: "{{ kitchenowl_path }}" + state: directory + owner: root + group: root + mode: '0755' + +- name: Ensure kitchenowl docker-compose.yaml + ansible.builtin.template: + src: docker-compose.j2 + dest: "{{ kitchenowl_path }}/docker-compose.yml" + owner: root + group: root + mode: '0644' + notify: docker compose up + register: output + +- name: Ensure latest kitchenowl image pulled + community.docker.docker_compose_v2_pull: + project_src: "{{ kitchenowl_path }}" + notify: + - docker compose down + - docker compose up + +- name: Show results + ansible.builtin.debug: + var: output diff --git a/roles/kitchenowl/templates/docker-compose.j2 b/roles/kitchenowl/templates/docker-compose.j2 new file mode 100644 index 0000000000..10ad91f3ff --- /dev/null +++ b/roles/kitchenowl/templates/docker-compose.j2 @@ -0,0 +1,24 @@ +services: + front: + image: tombursch/kitchenowl-web:{{ kitchenowl_dockertag }} + restart: unless-stopped + ports: + - "{{ kitchenowl_port }}:80" + depends_on: + - back + back: + image: tombursch/kitchenowl-backend:{{ kitchenowl_dockertag }} + restart: unless-stopped + environment: + - JWT_SECRET_KEY={{ kitchenowl_jwt }} +{% if kitchenowl_oidc['enabled'] %} + - FRONT_URL={{ kitchenowl_oidc['front_url'] }} + - OIDC_ISSUER={{ kitchenowl_oidc['oidc_issuer'] }} + - OIDC_CLIENT_ID={{ kitchenowl_oidc['oidc_client_id'] }} + - OIDC_CLIENT_SECRET: {{ kitchenowl_oidc['oidc_client_secret'] }} +{% endif %} + volumes: + - kitchenowl_data:/data + +volumes: + kitchenowl_data: \ No newline at end of file From 592afdced9bd996eb25e4f4a0267cd4f4738eac3 Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Sat, 6 Sep 2025 11:39:05 +0200 Subject: [PATCH 002/417] add waybackproxy --- inventories/z9/host_vars/waybackproxy.yaml | 7 +++++++ inventories/z9/hosts.yaml | 6 ++++++ .../z9/waybackproxy/docker_compose/compose.yaml.j2 | 10 ++++++++++ .../z9/waybackproxy/nginx/waybackproxy.ccchh.net.conf | 5 +++++ 4 files changed, 28 insertions(+) create mode 100644 inventories/z9/host_vars/waybackproxy.yaml create mode 100644 resources/z9/waybackproxy/docker_compose/compose.yaml.j2 create mode 100644 resources/z9/waybackproxy/nginx/waybackproxy.ccchh.net.conf diff --git a/inventories/z9/host_vars/waybackproxy.yaml b/inventories/z9/host_vars/waybackproxy.yaml new file mode 100644 index 0000000000..18540eefe4 --- /dev/null +++ b/inventories/z9/host_vars/waybackproxy.yaml @@ -0,0 +1,7 @@ +docker_compose__compose_file_content: "{{ lookup('ansible.builtin.template', 'resources/z9/waybackproxy/docker_compose/compose.yaml.j2') }}" +docker_compose__configuration_files: [ ] + +nginx__version_spec: "" +nginx__configurations: + - name: waybackproxy.ccchh.net + content: "{{ lookup('ansible.builtin.file', 'resources/z9/waybackproxy/nginx/waybackproxy.ccchh.net.conf') }}" diff --git a/inventories/z9/hosts.yaml b/inventories/z9/hosts.yaml index 4d847bf69e..62cacf1702 100644 --- a/inventories/z9/hosts.yaml +++ b/inventories/z9/hosts.yaml @@ -11,6 +11,9 @@ all: ansible_user: chaos thinkcccore0: ansible_host: thinkcccore0.z9.ccchh.net + waybackproxy: + ansible_host: waybackproxy.ccchh.net + ansible_user: chaos yate: ansible_host: yate.ccchh.net ansible_user: chaos @@ -20,6 +23,7 @@ certbot_hosts: docker_compose_hosts: hosts: dooris: + waybackproxy: yate: foobazdmx_hosts: hosts: @@ -32,11 +36,13 @@ infrastructure_authorized_keys_hosts: dooris: light: authoritative-dns: + waybackproxy: yate: nginx_hosts: hosts: dooris: light: + waybackproxy: ola_hosts: hosts: light: diff --git a/resources/z9/waybackproxy/docker_compose/compose.yaml.j2 b/resources/z9/waybackproxy/docker_compose/compose.yaml.j2 new file mode 100644 index 0000000000..b6752fafbc --- /dev/null +++ b/resources/z9/waybackproxy/docker_compose/compose.yaml.j2 @@ -0,0 +1,10 @@ +services: + # https://github.com/richardg867/WaybackProxy + waybackproxy: + image: cttynul/waybackproxy:latest + environment: + DATE: 19990101 + DATE_TOLERANCE: 730 + ports: + - "1999:8888" + restart: unless-stopped diff --git a/resources/z9/waybackproxy/nginx/waybackproxy.ccchh.net.conf b/resources/z9/waybackproxy/nginx/waybackproxy.ccchh.net.conf new file mode 100644 index 0000000000..7c616c7da5 --- /dev/null +++ b/resources/z9/waybackproxy/nginx/waybackproxy.ccchh.net.conf @@ -0,0 +1,5 @@ +# TODO: set up caching proxy + +# server { +# listen 1999 +# } From 1355d4d83419ee0964323ea49961c3e4642b721d Mon Sep 17 00:00:00 2001 From: c6ristian Date: Mon, 1 Sep 2025 01:25:11 +0200 Subject: [PATCH 003/417] 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 1ca6b1bb97..2e3672e29f 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 3e51e55c3a..51aeb63ed4 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 c9c4cca7fd..1683b798a7 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 632ad1cbba..3cb6995ceb 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 0000000000..6d1187cefb --- /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 aa20a42f70..4a2bc6f155 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 004/417] 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 6d1187cefb..b1836a3c4e 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 005/417] 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 93ea984e4e..e0da92f3fd 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 006/417] 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 e37ae7a7a8..9aa87f8af0 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 4fcc86b783..db184b931b 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 007/417] 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 9aa87f8af0..790ca77224 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 db184b931b..87b5408ca4 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 008/417] 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 001bbe48ca..4af18be3cb 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 0000000000..1aaa6a6ad0 --- /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 0000000000..dbcdd1bf35 --- /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 0000000000..7bad88f4b9 --- /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 0000000000..791bf73805 --- /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 009/417] 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 e0da92f3fd..03d93f65a6 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 62cacf1702..9d5bb09c9d 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 952aeeca56..c11a0e7618 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 0000000000..f31c55218b --- /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 0000000000..3b9acb2726 --- /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 0000000000..ada24261a2 --- /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 0000000000..e5c88af081 --- /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 0000000000..53fc219e5f --- /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 0000000000..8a171903ea --- /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 0000000000..24bc8ba99b --- /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 010/417] 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 0000000000..d6cd2ceba6 --- /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 011/417] 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 d19954a725..7a79c76b8f 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 3ae3b55e27..8c08ac3f89 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 03d93f65a6..6c89582569 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 012/417] 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 8a171903ea..588741c2f8 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 013/417] 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 6c89582569..c2ec49f0d3 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 014/417] 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 f68da3848c..6b5f8aaabe 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 b73cfa634c..d2dc5180bf 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 4350790c08..dbbf76e90b 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 7c083ba808..1312972685 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 f97433524d..49e064cdae 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 015/417] 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 7a79c76b8f..8f42083a65 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 016/417] 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 8f42083a65..bf35e44230 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 be571a4c36..23cc272a9a 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 3c53a9b34b..a74d6f7316 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 d9675a2485..f01092ceab 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 1436f8a4ff..af4dfcea03 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 8c08ac3f89..a9b5362865 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 a839591fcd..89585850b3 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 f2a74e6cc4..2c688dbd7e 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 5c46042ca9..cb6c88e33e 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 9d5082f360..b0a4262ce0 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 6dfc6275a2..b7f85640b3 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 a00ac6d72f..712730e18a 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 b3e5c65ecb..a83a288bc1 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 f5c8f327a0..19853bd45e 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 017/417] 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 c2ec49f0d3..6ab1c537f8 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 c11a0e7618..dc3a22dfcf 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 0000000000..e3335279aa --- /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 0000000000..84f940f976 --- /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 0000000000..7689ddc211 --- /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 0000000000..3c4faa70f8 --- /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 018/417] 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 bf35e44230..637cf45847 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 0000000000..4cccea48ee --- /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 d6cd2ceba6..3612ebc93e 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 019/417] 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 3612ebc93e..b8f13d0a24 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 f31c55218b..cf90e609bc 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 e5c88af081..682fdcd16d 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 0000000000..25aaf90a24 --- /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 53fc219e5f..eff8cb0798 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 0000000000..fa5d471d63 --- /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 0000000000..fe7dbc8de6 --- /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 588741c2f8..0f809071b4 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 020/417] 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 637cf45847..e640810dd7 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 4cccea48ee..ed3324edae 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 a74d6f7316..a05d7ef4e3 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 0000000000..373c08b20e --- /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 f01092ceab..3c2372a784 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 2c688dbd7e..f862adbd45 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 b0a4262ce0..f143970fad 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 0000000000..2527b0b610 --- /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 0000000000..568f13e291 --- /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 6ab1c537f8..d40de96922 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 021/417] 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 0f809071b4..b34450541e 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 022/417] 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 d5ebdfc9ba..e5538cc95e 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 eff8cb0798..e77bfc42ea 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 023/417] 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 e640810dd7..0b60d0c1b2 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 373c08b20e..c22c882799 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 2527b0b610..98b39179c3 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 568f13e291..ea23e8cd0e 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 024/417] 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 e77bfc42ea..5abcd10e64 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 025/417] 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 d40de96922..9c7ab6ff5c 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 dc3a22dfcf..d7bacac23e 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 0000000000..f19a45818a --- /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 0000000000..ca9f7edc50 --- /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 0000000000..f7a3a63caa --- /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 0000000000..ada24261a2 --- /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 0000000000..8be0fb1ecd --- /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 0000000000..cb7d8e0460 --- /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 0000000000..f6988ab973 --- /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 026/417] 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 0b60d0c1b2..07a1f142f5 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 0000000000..8a4b465d07 --- /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 9c7ab6ff5c..7584b9263d 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 027/417] 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 8a4b465d07..f481dd9def 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 0000000000..17b973752c --- /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 7584b9263d..ebc456bf32 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 0000000000..031971c3fc --- /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 028/417] 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 031971c3fc..5c386c8369 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 029/417] 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 f481dd9def..3f00cb0b46 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 030/417] 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 5c386c8369..5d53a078c3 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 031/417] 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 ed3324edae..7d03fabb5e 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 032/417] 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 0000000000..4ab41aae23 --- /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 033/417] 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 b2e8f4d37e..ab1ed859af 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 034/417] 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 0aaf92e2e5..35fb16209d 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 227db64d82..be30a73ab3 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 035/417] 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 07a1f142f5..98aaf3cdbe 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 7d03fabb5e..ebc53b75ff 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 23cc272a9a..b6a907ae8a 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 af4dfcea03..73026b3184 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 0000000000..0f17dd25f8 --- /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 0000000000..e7024f3f37 --- /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 89585850b3..e860cca582 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 cb6c88e33e..f1ceb75147 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 0000000000..c256d90be3 --- /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 b7f85640b3..9b44b1ee1f 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 712730e18a..91906fa6f6 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 ebc456bf32..1f1445cfa2 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 036/417] 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 0000000000..230c84510e --- /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 037/417] remove daily schedule for Renovate (for now?) --- renovate.json | 1 - 1 file changed, 1 deletion(-) diff --git a/renovate.json b/renovate.json index 230c84510e..a92bd3a6b5 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 038/417] 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 a92bd3a6b5..17664698bd 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 039/417] 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 1683b798a7..228382b89c 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 be30a73ab3..9fde708352 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 232627a262..cdfd70a2ed 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 625e02fc93..9fe2a7a66b 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 85ce7d280b..f3444ac818 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 ca29f1b784..455caa39c9 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 1eca33b0c7..7b733cb775 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 d00a4543b9..6509a99c0f 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 040/417] renovate: disable semantic commits --- renovate.json | 1 + 1 file changed, 1 insertion(+) diff --git a/renovate.json b/renovate.json index 17664698bd..9e6fe64158 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 041/417] 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 9e6fe64158..9cd0c824f9 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 042/417] 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 ca9f7edc50..6cb8f1634c 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 043/417] 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 1002532f0e..3b09d8b6d3 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 044/417] 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 3b09d8b6d3..a0fd1d8c1e 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 c2108d8abb..4c9d491197 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 228382b89c..436669a234 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 9fde708352..398d814fc4 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 cdfd70a2ed..8537ead06e 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 9fe2a7a66b..07e8d9ec34 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 f3444ac818..5c9a42a3ff 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 455caa39c9..014b8afa7d 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 7b733cb775..66f61723a5 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 6509a99c0f..057da55262 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 38db85affa..b722aa7b40 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 b6752fafbc..52d57dfdd5 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 e3d6614c81..c39afa40c3 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 045/417] 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 a0fd1d8c1e..a867c1396c 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 046/417] renovate: disable rate-limiting --- renovate.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/renovate.json b/renovate.json index 9cd0c824f9..2975de6b90 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 047/417] 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 2975de6b90..56d20ffa46 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 048/417] 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 56d20ffa46..13774e49f0 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 049/417] 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 13774e49f0..f72babb213 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 050/417] 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 d407a62b31..d3204ecff1 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 81ce50469c..c588ba001d 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 af7f7177fe..7b013048ab 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 051/417] 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 88ad99c9f0..65ea3527c2 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 0000000000..85a848b96a --- /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 ab1ed859af..55446e1589 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 052/417] 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 85a848b96a..adeeb4836f 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 55446e1589..66192da5c0 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 053/417] 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 4c9d491197..ffe491bd31 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 398d814fc4..92a6afb113 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 014b8afa7d..5513381d8a 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 66f61723a5..081aa2a51d 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 057da55262..deb9f50948 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 054/417] 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 436669a234..d739b2fa3a 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 081aa2a51d..243a468d7d 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 055/417] 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 f72babb213..9dc45bfed2 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 056/417] 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 4644d8b3a2..9e28735608 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 057/417] 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 35fb16209d..0cbcd4d160 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 472688569f..fb99f0e541 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 058/417] 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 6cb8f1634c..52e64f5200 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 059/417] 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 fb99f0e541..60dd94ad76 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 060/417] 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 fd7eb62340..427569a380 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 dffa74695a..87f249e733 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 061/417] 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 9dc45bfed2..7e604c1c76 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 92a6afb113..d91a2549ed 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 5513381d8a..70dc7e6a62 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 b722aa7b40..38db85affa 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 c39afa40c3..562b31820d 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 062/417] 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 98b39179c3..559bc80e61 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 0000000000..b3d50d8815 --- /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 1f1445cfa2..b9e6358b5f 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 790ca77224..165e1664b2 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 87b5408ca4..4a449f5b0a 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 0000000000..a5cfc5b8df --- /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 0000000000..04cc006c35 --- /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 063/417] 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 a5cfc5b8df..fbec258364 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 064/417] 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 d3204ecff1..14d0107ed7 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 b9a6980e5f..cb7d8e0460 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 065/417] 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 14d0107ed7..7246899b4c 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 066/417] 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 7246899b4c..c0a7a93d5e 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 c588ba001d..664496e1e2 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 067/417] 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 d2dc5180bf..fecacb1e18 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 e5538cc95e..6011bdab12 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 1312972685..76831d6c79 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 49e064cdae..2aff0fefeb 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 7b013048ab..bea3f4fb25 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 068/417] 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 eefafa46d2..307f2133e5 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 069/417] 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 9d5bb09c9d..9f4a69208e 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 070/417] 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 386685c33b..0000000000 --- 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 386685c33b..0000000000 --- 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 071/417] 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 f6e6097403..33197b5c1d 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 072/417] 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 40882d8fec..9e2ca26b3d 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 073/417] 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 307f2133e5..c967502cae 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 074/417] 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 d739b2fa3a..c5b8f2d615 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 075/417] 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 a867c1396c..23bf6d2dc3 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 7e604c1c76..711c6273e4 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 ffe491bd31..c2108d8abb 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 c5b8f2d615..74d7916623 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 d91a2549ed..9fde708352 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 8537ead06e..cdfd70a2ed 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 07e8d9ec34..9fe2a7a66b 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 5c9a42a3ff..f3444ac818 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 70dc7e6a62..455caa39c9 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 243a468d7d..3de7eacaa7 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 deb9f50948..6509a99c0f 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 52d57dfdd5..b6752fafbc 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 076/417] 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 23bf6d2dc3..d29fb6e138 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 0cbcd4d160..fc4e23c2f9 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 60dd94ad76..3be8bdded8 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 74d7916623..2d598f96e6 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 9fde708352..a260ab113d 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 9fe2a7a66b..50df05d561 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 3de7eacaa7..dda67bb063 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 6509a99c0f..938883b0df 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 077/417] 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 2e3672e29f..0037fcc032 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 078/417] 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 0037fcc032..ecc942c8cf 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 079/417] 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 b9e6358b5f..e668d49858 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 080/417] 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 e668d49858..51d2b5624e 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 d7bacac23e..ec7db509da 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 0000000000..3297c47ed0 --- /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 0000000000..81b046a594 --- /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 0000000000..f88ed1468d --- /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 081/417] 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 0000000000..b181c0a6c7 --- /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 51d2b5624e..d3217ab614 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 0000000000..0c55d133bb --- /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 0000000000..ef04d04334 --- /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 0000000000..2a56f72884 --- /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 0000000000..a46afb49f4 --- /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 0000000000..0cd60db52f --- /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 0000000000..a32d75ea09 --- /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 0000000000..c8bffc1eb0 --- /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 0000000000..b3f497dde3 --- /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 0000000000..880dd1dfac --- /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 0000000000..6f73beb201 --- /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 082/417] 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 d3217ab614..55ab6967d6 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 ec7db509da..f416b914af 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 0000000000..81d8871a98 --- /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 0000000000..3b72c54cd6 --- /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 0000000000..aa5622394d --- /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 0000000000..46ea18dc7d --- /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 083/417] 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 b181c0a6c7..134d29f9b9 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 55ab6967d6..e592d2358e 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 0000000000..6bc6cbe397 --- /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 880dd1dfac..c7fd9a7e82 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 6f73beb201..9caca86c9d 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 084/417] 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 4a449f5b0a..de8ebdd9a0 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 085/417] 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 6bc6cbe397..6d04a4c427 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 086/417] 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 e592d2358e..a43e94086c 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 165e1664b2..dabf4aafca 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 a564fc2fa5..c393dd123a 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 ccdd2247cd..255dc0a6ff 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 087/417] 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 c393dd123a..472236ae0d 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 255dc0a6ff..b4eab7ffb9 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 088/417] 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 a43e94086c..5aa1363c48 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 dabf4aafca..9fdf0fc691 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 de8ebdd9a0..84c1187e94 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 c15a65391e..1beeaf3f9f 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 089/417] 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 5aa1363c48..c18788ec87 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 d3ed95928e..8c801fe769 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 9fdf0fc691..290dbad1a9 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 84c1187e94..076618ad2b 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 090/417] 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 fc4e23c2f9..b6cf77155d 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 091/417] 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 c18788ec87..3d6770745d 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 53d0a0df20..6c453d1b90 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 290dbad1a9..6899c57ad3 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 076618ad2b..d884bc119d 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 092/417] 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 3d6770745d..dfa841e755 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 303b052c42..939e1da515 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 4a9cfe6543..de1e9d6f94 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 2b0d919adc..cd56b98fe4 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 6899c57ad3..4d6d4c0a4d 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 d884bc119d..de99d40c29 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 093/417] 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 dfa841e755..1028deb8d5 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 24715254c5..8a9a486abc 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 4d6d4c0a4d..409b5c6030 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 de99d40c29..97e0e3c9d7 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 094/417] 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 5abcd10e64..61a2635f13 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 095/417] 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 b4a1c6f7a5..9b678e9f14 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 b4a1c6f7a5..9b678e9f14 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 b4a1c6f7a5..9b678e9f14 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 02b00ac36b..78bb770583 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 02b00ac36b..78bb770583 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 096/417] 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 6d04a4c427..3375bfba5a 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 c7fd9a7e82..b15259d6cd 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 097/417] 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 0000000000..cd8affd801 --- /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 098/417] 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 1028deb8d5..082a76afda 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 409b5c6030..f02a6579f0 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 97e0e3c9d7..90ec655e66 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 04cc006c35..ceb9b2b792 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 099/417] 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 082a76afda..58b6c1a895 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 100/417] 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 58b6c1a895..14fe23ae86 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 5550686648..533c9d21b0 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 f02a6579f0..06595e3faf 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 90ec655e66..78a91ff23c 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 101/417] 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 14fe23ae86..fab91277fc 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 06595e3faf..b8b44b5dbf 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 78a91ff23c..e540f13459 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 9e2ca26b3d..8d36244c0e 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 102/417] 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 fab91277fc..1b88df6c69 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 b8b44b5dbf..d976089010 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 e540f13459..c4d1fbcd59 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 c1f9182776..5bb2435237 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 103/417] 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 3375bfba5a..ca62a97280 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 104/417] 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 1b88df6c69..f72e4acadf 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 c5b68e1ad8..a6dcdc1eab 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 e2bf4a7883..8a509bee7e 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 2c52523964..ef2fe07987 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 d976089010..7af3beb0c1 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 c4d1fbcd59..42120db74c 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 105/417] 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 f72e4acadf..4b8e3881f4 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 ff37e48749..a8d71a99d2 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 7af3beb0c1..0c6276032f 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 42120db74c..b3f3636667 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 106/417] 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 4b8e3881f4..d5dea1c56c 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 0fa99e7fd8..a4f5bb931d 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 f12067ab08..d66e977026 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 0c6276032f..71f0290eac 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 b3f3636667..d7cd97ea77 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 107/417] 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 d5dea1c56c..93c61be869 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 e7d404da21..ebae48d178 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 71f0290eac..82e596aa9b 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 d7cd97ea77..489dda558e 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 108/417] 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 8c801fe769..d213d61535 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 a6dcdc1eab..98f7f40bb7 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 939e1da515..82ba082d5e 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 de1e9d6f94..ecb7e2d430 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 cd56b98fe4..b2e7eece58 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 533c9d21b0..0c2a3be085 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 8a9a486abc..f3e77f177b 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 6c453d1b90..cf49d23260 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 ceb9b2b792..185c005aa0 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 8d36244c0e..e93ff93539 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 472236ae0d..d89b5b889d 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 b4eab7ffb9..5065c1d7a8 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 5bb2435237..b94cb5c2c3 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 109/417] 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 b8f13d0a24..60349e08af 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 134d29f9b9..5e9c832546 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 110/417] 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 d29fb6e138..b1168c9cc3 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 3be8bdded8..2c68c1718d 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 2d598f96e6..90952ee887 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 f3444ac818..8bc37e93b4 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 455caa39c9..790cf952f0 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 dda67bb063..835ed5015c 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 fbec258364..1df2bcae0b 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 111/417] 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 cd8affd801..7f0281eb7c 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 112/417] 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 470f388dcb..79bd247aa6 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 113/417] 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 835ed5015c..f61d6f7267 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 114/417] 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 711c6273e4..0e2bd7fba5 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 115/417] 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 f61d6f7267..091d113317 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 116/417] 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 5813e3a569..8ae5287f68 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 0000000000..8572664d6f --- /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 117/417] 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 98aaf3cdbe..3b728e2d5a 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 0000000000..06eeb17c6d --- /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 0000000000..80d3efc211 --- /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 0000000000..e3004595ec --- /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 0000000000..c2c26b309b --- /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 0000000000..435a9bf854 --- /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 0000000000..04abf953eb --- /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 0000000000..87feb4c07e --- /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 0000000000..c67811a352 --- /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 0000000000..0792e9510b --- /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 0000000000..7b0ce828e7 --- /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 0000000000..e54337a373 --- /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 0000000000..c989edee21 --- /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 0000000000..510966a8f4 --- /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 118/417] 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 b1168c9cc3..588d38c957 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 119/417] 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 588d38c957..5113e9fbac 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 120/417] 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 e3004595ec..4dd3471c69 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 121/417] 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 5e9c832546..adbc8d95c4 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 c8bffc1eb0..5c14d8d861 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 b3f497dde3..39d1f03fb2 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 0000000000..2d3d8a3424 --- /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 3297c47ed0..ac7f115dbb 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 0000000000..e84ed280d1 --- /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 f88ed1468d..cc8f4d9b9f 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 122/417] 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 4dd3471c69..366b6410ae 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 c67811a352..0b30725d6b 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 123/417] 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 0b30725d6b..fb1c3ed0f3 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 124/417] 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 c88315f918..df7b0247fd 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 125/417] 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 aa775212ae..63bdb9188b 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 126/417] 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 76831d6c79..621ee7b30d 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 bea3f4fb25..a706ab2392 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 127/417] 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 0000000000..76eca21690 --- /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 128/417] 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 3b728e2d5a..bb83e39420 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 0000000000..4f06e92a3d --- /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 0000000000..377b909752 --- /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 93c61be869..62461192a0 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 82e596aa9b..0a6a70dd40 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 489dda558e..2ad5dc4d27 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 0000000000..67e4b5816a --- /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 0000000000..f060996a98 --- /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 129/417] 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 7f0281eb7c..ab737b762a 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 130/417] 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 76eca21690..1f5874d7d4 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 131/417] 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 0a6a70dd40..71ae729219 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 2ad5dc4d27..bdf71846af 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 132/417] 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 c0a7a93d5e..6f2c84132d 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 133/417] 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 62461192a0..2a95ba871b 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 134/417] 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 1f5874d7d4..da8293bca7 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 135/417] 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 da8293bca7..57a1e81c5c 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 136/417] 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 57a1e81c5c..46ff19f13d 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 137/417] 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 51aeb63ed4..10fb3463e5 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 90952ee887..c2c312c246 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 138/417] 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 0000000000..2bc308ac4a --- /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 139/417] 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 ebc53b75ff..0c5762de2a 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 ecc942c8cf..b87a19891f 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 e860cca582..1328d6646b 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 cab4e761ee..2d68bfaa07 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 2a95ba871b..5c114c9f92 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 f416b914af..fe0cf78e7c 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 fd59034a54..7f94ab04d2 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 ef2fe07987..195b99dc27 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 0000000000..92bc960f07 --- /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 2bc308ac4a..5e3cd64c7a 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 78bb770583..0000000000 --- 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 c138f18e67..0000000000 --- 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 140/417] 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 bb83e39420..0b9c24592c 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 60349e08af..76147d88ce 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 0000000000..7c25351b02 --- /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 0000000000..9a312517ed --- /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 9f4a69208e..f88f106193 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 92bc960f07..09c99ee44d 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 141/417] 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 0336d2201a..0c7e11d77b 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 f88f106193..319f81756e 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 d9b336c5c5..8572664d6f 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 9f70cf8708..6217e04586 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 142/417] 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 eaaec30eee..b4720c1419 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 143/417] 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 49d410835a..d55e4cb4a3 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 144/417] 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 0b9c24592c..60da9eb92a 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 0000000000..2e728ca5fc --- /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 0000000000..364aa9afe1 --- /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 5c114c9f92..395b154fef 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 0000000000..4f3b49c587 --- /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 0000000000..89768523b3 --- /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 0000000000..02216da4ad --- /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 0000000000..f11eadf5cd --- /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 0000000000..b360d40e77 --- /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 71ae729219..feacfa7e40 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 bdf71846af..fc62a8924a 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 145/417] 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 6011bdab12..8f483589fe 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 146/417] add missing grafana.grafana collection dependency --- requirements.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/requirements.yml b/requirements.yml index 8f483589fe..dffe9d35c4 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 147/417] 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 02216da4ad..1170cec7de 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.

+ + + + + + {% block additionaljs %}{% endblock %} + + \ No newline at end of file diff --git a/resources/chaosknoten/lists/docker_compose/settings_local.py b/resources/chaosknoten/lists/docker_compose/settings_local.py new file mode 100644 index 0000000000..fd90fa9c0d --- /dev/null +++ b/resources/chaosknoten/lists/docker_compose/settings_local.py @@ -0,0 +1,34 @@ +# might need to copy (some) code from https://github.com/maxking/docker-mailman/blob/main/web/mailman-web/settings.py + +import os + +BASE_DIR = os.path.dirname(os.path.abspath(__file__)) + +HYPERKITTY_ENABLE_GRAVATAR=False +FILTER_VHOST = True + +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [ + BASE_DIR + '/templates', + ], + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + 'django.template.context_processors.debug', + 'django.template.context_processors.i18n', + 'django.template.context_processors.media', + 'django.template.context_processors.static', + 'django.template.context_processors.tz', + 'django.template.context_processors.csrf', + 'django.template.context_processors.request', + 'django.contrib.auth.context_processors.auth', + 'django.contrib.messages.context_processors.messages', + 'django_mailman3.context_processors.common', + 'hyperkitty.context_processors.common', + 'postorius.context_processors.postorius', + ], + }, + }, +] From 08101ccef1b79f7cb600eaa542366f70d8758f70 Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Sun, 22 Feb 2026 18:37:01 +0100 Subject: [PATCH 179/417] Fix permission --- roles/docker_compose/tasks/main.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/roles/docker_compose/tasks/main.yaml b/roles/docker_compose/tasks/main.yaml index 04c2baa907..5883716864 100644 --- a/roles/docker_compose/tasks/main.yaml +++ b/roles/docker_compose/tasks/main.yaml @@ -76,8 +76,11 @@ ansible.posix.synchronize: src: "{{ docker_compose__files }}/" dest: "/ansible_docker_compose/files" + archive: false + recursive: true delete: true become: true + notify: docker compose restart when: docker_compose__files != "" - name: Flush handlers to make "docker compose down" and "docker compose restart" handlers run now From ac013ca8a1735d05d7ab3e411ecf09091e6b3e88 Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Sun, 22 Feb 2026 18:37:16 +0100 Subject: [PATCH 180/417] Fix template syntax --- .../lists/docker_compose/files/templates/postorius/base.html | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/resources/chaosknoten/lists/docker_compose/files/templates/postorius/base.html b/resources/chaosknoten/lists/docker_compose/files/templates/postorius/base.html index af4c297439..1b447e58f0 100644 --- a/resources/chaosknoten/lists/docker_compose/files/templates/postorius/base.html +++ b/resources/chaosknoten/lists/docker_compose/files/templates/postorius/base.html @@ -25,9 +25,7 @@ - {# - {% trans 'Mailman logo' %} Postorius - #} + {# {% trans 'Mailman logo' %} Postorius #} CCCHH   Mailing Lists {% if not user.is_authenticated %} From 3e3cedd35770d358ea523559853d7440e834040a Mon Sep 17 00:00:00 2001 From: lilly Date: Tue, 24 Feb 2026 16:28:58 +0100 Subject: [PATCH 181/417] add www2 and www3 hosts --- inventories/chaosknoten/hosts.yaml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index e7f0559c28..7bf45449ca 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -86,6 +86,14 @@ all: ansible_host: acmedns.hosts.hamburg.ccc.de ansible_user: chaos ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de + www2: + ansible_host: www2.hosts.hamburg.ccc.de + ansible_user: chaos + ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de + www3: + ansible_host: www3.hosts.hamburg.ccc.de + ansible_user: chaos + ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de hypervisors: hosts: chaosknoten: @@ -113,6 +121,8 @@ base_config_hosts: renovate: spaceapiccc: mjolnir: + www2: + www3: systemd_networkd_hosts: hosts: router: @@ -158,6 +168,8 @@ nginx_hosts: ntfy: sunders: spaceapiccc: + www2: + www3: public_reverse_proxy_hosts: hosts: public-reverse-proxy: @@ -200,6 +212,8 @@ alloy_hosts: router: sunders: spaceapiccc: + www2: + www3: infrastructure_authorized_keys_hosts: hosts: ccchoir: @@ -221,6 +235,8 @@ infrastructure_authorized_keys_hosts: renovate: spaceapiccc: mjolnir: + www2: + www3: wiki_hosts: hosts: eh22-wiki: @@ -253,6 +269,8 @@ ansible_pull_hosts: ntfy: spaceapiccc: mjolnir: + # www2: + # www3: msmtp_hosts: hosts: renovate_hosts: From 41dc9c8529a3ec2c768afa0754a5bf819a33a6d7 Mon Sep 17 00:00:00 2001 From: lilly Date: Tue, 24 Feb 2026 17:01:25 +0100 Subject: [PATCH 182/417] configure www2 nginx --- inventories/chaosknoten/host_vars/www2.yaml | 5 ++ .../chaosknoten/www2/nginx/diday.org.conf | 80 +++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 inventories/chaosknoten/host_vars/www2.yaml create mode 100644 resources/chaosknoten/www2/nginx/diday.org.conf diff --git a/inventories/chaosknoten/host_vars/www2.yaml b/inventories/chaosknoten/host_vars/www2.yaml new file mode 100644 index 0000000000..a8a9ce893e --- /dev/null +++ b/inventories/chaosknoten/host_vars/www2.yaml @@ -0,0 +1,5 @@ +nginx__version_spec: "" +nginx__configurations: + - name: diday.org + content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/www2/nginx/diday.org.conf') }}" + diff --git a/resources/chaosknoten/www2/nginx/diday.org.conf b/resources/chaosknoten/www2/nginx/diday.org.conf new file mode 100644 index 0000000000..8cc655cd6e --- /dev/null +++ b/resources/chaosknoten/www2/nginx/diday.org.conf @@ -0,0 +1,80 @@ +server { + listen 443 ssl; + listen [::]:443 ssl; + http2 on; + + server_name diday.org; + + # use our router as resolver + resolver 10.31.208.1; + + # configure the ngx_http_realip_module to set $remote_addr and $remote_port to the + # information passed through from public-reverse-proxy.hamburg.ccc.de via proxy-protocol + set_real_ip_from 2a00:14b0:4200:3000:125::1; + real_ip_header proxy_protocol; + + # configure tls trustchain + ssl_certificate /dev/null; + ssl_certificate_key /dev/null; + ssl_trusted_certificate /dev/null; + + # + # configure site + # + root /var/www/diday.org; + error_page 404 /404.html; + index index.html; + add_header Referrer-Policy "strict-origin-when-cross-origin" always; + + # return a redirect based on the map loaded from the webroot + if ($did_redirect_target ~ ^301:(.*)$) { + return 301 $1; + } + if ($did_redirect_target ~ ^302:(.*)$) { + return 302 $1; + } + + # deny access to the redirects config file + location = /nginx-redirects.conf { + deny all; + return 404; + } + + # dynamically redirect the user to the language they prefer + location = / { + set $lang "de"; + if ($http_accept_language ~* "^en") { + set $lang "en"; + } + return 302 /$lang/; + } + + # configure decap-cms content-type and caching rules + location = /admin/cms.js { + expires -1; + add_header Cache-Control "no-store"; + } + location = /admin/config.yml { + expires -1; + add_header Cache-Control "no-store"; + types { } + default_type text/yaml; + } + + # configure asset caching + location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff2?)$ { + expires 1y; + add_header Cache-Control "public, immutable"; + } + + # we are using the Astro Image Pipeline, therefore DecapCMS can't access image previews + location /admin/src/ { + log_not_found off; + return 404; + } + + location / { + try_files $uri $uri/ =404; + } +} + From fcc0d615a7ff4dde2d78867ebf36bc97099cc781 Mon Sep 17 00:00:00 2001 From: lilly Date: Thu, 26 Feb 2026 18:01:50 +0100 Subject: [PATCH 183/417] configure diday.org on public-reverse-proxy --- .../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 dac2ecc51a..6f7a57d197 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf @@ -83,6 +83,7 @@ map $host $upstream_acme_challenge_host { lokal.ccc.de 172.31.17.151:31820; local.ccc.de 172.31.17.151:31820; acmedns.hamburg.ccc.de acmedns.hosts.hamburg.ccc.de:31820; + diday.org 172.31.17.151:31820; did.hamburg.ccc.de 172.31.17.151:31820; staging.did.hamburg.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 2fc542085f..b126fc3055 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf @@ -102,6 +102,7 @@ stream { local.ccc.de 172.31.17.151:8443; acmedns.hamburg.ccc.de acmedns.hosts.hamburg.ccc.de:8443; did.hamburg.ccc.de 172.31.17.151:8443; + diday.org 172.31.17.151:8443; staging.did.hamburg.ccc.de 172.31.17.151:8443; } From 7ca446457a227874d4c20fb46b279145d74e0f38 Mon Sep 17 00:00:00 2001 From: June Date: Thu, 26 Feb 2026 23:00:53 +0100 Subject: [PATCH 184/417] onlyoffice: support custom fonts and add di.day fonts --- playbooks/deploy.yaml | 3 ++ playbooks/onlyoffice_fonts.yaml | 54 +++++++++++++++++++ .../onlyoffice/docker_compose/compose.yaml.j2 | 1 + 3 files changed, 58 insertions(+) create mode 100644 playbooks/onlyoffice_fonts.yaml diff --git a/playbooks/deploy.yaml b/playbooks/deploy.yaml index fe0cf78e7c..e032782258 100644 --- a/playbooks/deploy.yaml +++ b/playbooks/deploy.yaml @@ -54,6 +54,9 @@ roles: - certbot +- name: Ensure OnlyOffice custom fonts + ansible.builtin.import_playbook: onlyoffice_fonts.yaml + - name: Ensure Docker Compose deployment on docker_compose_hosts hosts: docker_compose_hosts roles: diff --git a/playbooks/onlyoffice_fonts.yaml b/playbooks/onlyoffice_fonts.yaml new file mode 100644 index 0000000000..00ad32e2b9 --- /dev/null +++ b/playbooks/onlyoffice_fonts.yaml @@ -0,0 +1,54 @@ +- name: Ensure custom fonts are added to OnlyOffice + hosts: onlyoffice + tasks: + - name: ensure the `/ansible_docker_compose/fonts/export` directory exists + ansible.builtin.file: + path: /ansible_docker_compose/fonts/export + state: directory + mode: "0755" + owner: root + group: root + become: true + + # Relevant volume added in onlyoffice compose.yaml. + + # Add di.day fonts. + # See: https://codeberg.org/DI-Day/creative-identity/src/commit/864876576996394cec34fd54e739c8b1236ab4c8/assets/README.md + - name: (di.day fonts) ensure source is present + ansible.builtin.get_url: + url: https://codeberg.org/DI-Day/creative-identity/archive/864876576996394cec34fd54e739c8b1236ab4c8:assets/fonts.tar.gz + dest: /ansible_docker_compose/fonts/diday_src.tar.gz + checksum: sha256:b343593b86df46b559b592b49b6f07a864b3435b8b202f2f52e31c27fc0dbedb + mode: "0644" + owner: root + group: root + become: true + register: onlyoffice_fonts__diday_src + + - name: (di.day fonts) ensure export is absent + ansible.builtin.file: + path: /ansible_docker_compose/fonts/export/diday + state: absent + become: true + when: onlyoffice_fonts__diday_src.changed # noqa: no-handler + + - name: (di.day fonts) ensure export directory is absent + ansible.builtin.file: + path: /ansible_docker_compose/fonts/export/diday + state: directory + mode: "0755" + owner: root + group: root + become: true + when: onlyoffice_fonts__diday_src.changed # noqa: no-handler + + - name: (di.day fonts) ensure export has content + ansible.builtin.unarchive: + remote_src: true + src: /ansible_docker_compose/fonts/diday_src.tar.gz + dest: /ansible_docker_compose/fonts/export/diday + mode: "0755" + owner: root + group: root + become: true + when: onlyoffice_fonts__diday_src.changed # noqa: no-handler diff --git a/resources/chaosknoten/onlyoffice/docker_compose/compose.yaml.j2 b/resources/chaosknoten/onlyoffice/docker_compose/compose.yaml.j2 index 8bc37e93b4..5f3478d369 100644 --- a/resources/chaosknoten/onlyoffice/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/onlyoffice/docker_compose/compose.yaml.j2 @@ -11,6 +11,7 @@ services: - "./onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data" - "./onlyoffice/DocumentServer/lib:/var/lib/onlyoffice" - "./onlyoffice/DocumentServer/db:/var/lib/postgresql" + - "./fonts/export:/usr/share/fonts/custom:ro" ports: - "8080:80" environment: From 983584a510551ea293fe0cc23ae4abf8841cae62 Mon Sep 17 00:00:00 2001 From: lilly Date: Fri, 27 Feb 2026 21:48:47 +0100 Subject: [PATCH 185/417] configure reverse proxy map explicitly for hostnames --- resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf index b126fc3055..cbefa75c44 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf @@ -18,6 +18,7 @@ stream { resolver 212.12.50.158 192.76.134.90; map $ssl_preread_server_name $address { + hostnames; 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; From bc9e76b8ed14005ace989c36feb3247016329986 Mon Sep 17 00:00:00 2001 From: lilly Date: Fri, 27 Feb 2026 21:48:47 +0100 Subject: [PATCH 186/417] remove did.hamburg.ccc.de from public-reverse-proxy --- .../chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf | 2 -- resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf | 2 -- 2 files changed, 4 deletions(-) diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf index 6f7a57d197..d79f299070 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf @@ -84,8 +84,6 @@ map $host $upstream_acme_challenge_host { local.ccc.de 172.31.17.151:31820; acmedns.hamburg.ccc.de acmedns.hosts.hamburg.ccc.de:31820; diday.org 172.31.17.151:31820; - did.hamburg.ccc.de 172.31.17.151:31820; - staging.did.hamburg.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 cbefa75c44..be5dd52100 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf @@ -102,9 +102,7 @@ stream { lokal.ccc.de 172.31.17.151:8443; local.ccc.de 172.31.17.151:8443; acmedns.hamburg.ccc.de acmedns.hosts.hamburg.ccc.de:8443; - did.hamburg.ccc.de 172.31.17.151:8443; diday.org 172.31.17.151:8443; - staging.did.hamburg.ccc.de 172.31.17.151:8443; } server { From 165487884ccfda30a7836278b74ed0bcf33ac51f Mon Sep 17 00:00:00 2001 From: lilly Date: Fri, 27 Feb 2026 21:48:47 +0100 Subject: [PATCH 187/417] setup reverse-proxying for *.staging.diday.org --- resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf index be5dd52100..01edbfec6b 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf @@ -103,6 +103,7 @@ stream { local.ccc.de 172.31.17.151:8443; acmedns.hamburg.ccc.de acmedns.hosts.hamburg.ccc.de:8443; diday.org 172.31.17.151:8443; + *.staging.diday.org 172.31.17.151:8443; } server { From 711f2f1c64739039e0889a73bfd8041551e247d1 Mon Sep 17 00:00:00 2001 From: June Date: Sun, 1 Mar 2026 20:08:49 +0100 Subject: [PATCH 188/417] certbot(role): don't use certbot__version_spec anymore as its not used --- docs/create-new-web-service-vm.md | 1 - inventories/chaosknoten/host_vars/acmedns.yaml | 1 - inventories/chaosknoten/host_vars/ccchoir.yaml | 1 - inventories/chaosknoten/host_vars/eh22-wiki.yaml | 1 - inventories/chaosknoten/host_vars/grafana.yaml | 1 - inventories/chaosknoten/host_vars/keycloak.yaml | 1 - inventories/chaosknoten/host_vars/lists.yaml | 1 - inventories/chaosknoten/host_vars/mumble.yaml | 1 - inventories/chaosknoten/host_vars/netbox.yaml | 1 - inventories/chaosknoten/host_vars/ntfy.yaml | 1 - inventories/chaosknoten/host_vars/onlyoffice.yaml | 1 - inventories/chaosknoten/host_vars/pad.yaml | 1 - inventories/chaosknoten/host_vars/pretalx.yaml | 1 - inventories/chaosknoten/host_vars/spaceapiccc.yaml | 1 - inventories/chaosknoten/host_vars/sunders.yaml | 1 - inventories/chaosknoten/host_vars/tickets.yaml | 1 - inventories/chaosknoten/host_vars/wiki.yaml | 1 - inventories/chaosknoten/host_vars/zammad.yaml | 1 - inventories/external/host_vars/status.yaml | 1 - inventories/z9/host_vars/dooris.yaml | 1 - inventories/z9/host_vars/light.yaml | 3 --- roles/certbot/meta/argument_specs.yaml | 9 --------- roles/certbot/tasks/main/install.yaml | 10 +--------- roles/nextcloud/meta/main.yaml | 1 - 24 files changed, 1 insertion(+), 42 deletions(-) diff --git a/docs/create-new-web-service-vm.md b/docs/create-new-web-service-vm.md index f6ccf4af0a..b91d9fab93 100644 --- a/docs/create-new-web-service-vm.md +++ b/docs/create-new-web-service-vm.md @@ -59,7 +59,6 @@ From here, we go into the details of the web service that you want to configure. 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" diff --git a/inventories/chaosknoten/host_vars/acmedns.yaml b/inventories/chaosknoten/host_vars/acmedns.yaml index 364aa9afe1..5c9cf56b96 100644 --- a/inventories/chaosknoten/host_vars/acmedns.yaml +++ b/inventories/chaosknoten/host_vars/acmedns.yaml @@ -9,7 +9,6 @@ docker_compose__configuration_files: 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 diff --git a/inventories/chaosknoten/host_vars/ccchoir.yaml b/inventories/chaosknoten/host_vars/ccchoir.yaml index 93e49b0a86..7b7d572aa9 100644 --- a/inventories/chaosknoten/host_vars/ccchoir.yaml +++ b/inventories/chaosknoten/host_vars/ccchoir.yaml @@ -1,7 +1,6 @@ docker_compose__compose_file_content: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/ccchoir/docker_compose/compose.yaml.j2') }}" docker_compose__configuration_files: [ ] -certbot__version_spec: "" certbot__acme_account_email_address: le-admin@hamburg.ccc.de certbot__certificate_domains: - "ccchoir.de" diff --git a/inventories/chaosknoten/host_vars/eh22-wiki.yaml b/inventories/chaosknoten/host_vars/eh22-wiki.yaml index 4b7ce47f30..5e0ca522d8 100644 --- a/inventories/chaosknoten/host_vars/eh22-wiki.yaml +++ b/inventories/chaosknoten/host_vars/eh22-wiki.yaml @@ -3,7 +3,6 @@ nginx__configurations: - name: eh22.easterhegg.eu content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/eh22-wiki/nginx/eh22.easterhegg.eu.conf') }}" -certbot__version_spec: "" certbot__acme_account_email_address: j+letsencrypt-ccchh@jsts.xyz certbot__certificate_domains: - "eh22.easterhegg.eu" diff --git a/inventories/chaosknoten/host_vars/grafana.yaml b/inventories/chaosknoten/host_vars/grafana.yaml index b87a19891f..f259ad7169 100644 --- a/inventories/chaosknoten/host_vars/grafana.yaml +++ b/inventories/chaosknoten/host_vars/grafana.yaml @@ -25,7 +25,6 @@ docker_compose__configuration_files: - name: ntfy-alertmanager-fux content: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/grafana/docker_compose/ntfy-alertmanager-fux.j2') }}" -certbot__version_spec: "" certbot__acme_account_email_address: le-admin@hamburg.ccc.de certbot__certificate_domains: - "grafana.hamburg.ccc.de" diff --git a/inventories/chaosknoten/host_vars/keycloak.yaml b/inventories/chaosknoten/host_vars/keycloak.yaml index a8fbc999a4..c288da521d 100644 --- a/inventories/chaosknoten/host_vars/keycloak.yaml +++ b/inventories/chaosknoten/host_vars/keycloak.yaml @@ -1,7 +1,6 @@ docker_compose__compose_file_content: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2') }}" docker_compose__configuration_files: [ ] -certbot__version_spec: "" certbot__acme_account_email_address: j+letsencrypt-ccchh@jsts.xyz certbot__certificate_domains: - "id.hamburg.ccc.de" diff --git a/inventories/chaosknoten/host_vars/lists.yaml b/inventories/chaosknoten/host_vars/lists.yaml index 99acde35b3..0e53178019 100644 --- a/inventories/chaosknoten/host_vars/lists.yaml +++ b/inventories/chaosknoten/host_vars/lists.yaml @@ -4,7 +4,6 @@ docker_compose__configuration_files: content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/lists/docker_compose/settings_local.py') }}" docker_compose__files: resources/chaosknoten/lists/docker_compose/files -certbot__version_spec: "" certbot__acme_account_email_address: j+letsencrypt-ccchh@jsts.xyz certbot__certificate_domains: - "lists.hamburg.ccc.de" diff --git a/inventories/chaosknoten/host_vars/mumble.yaml b/inventories/chaosknoten/host_vars/mumble.yaml index 3f3a06ea4c..fe44b17645 100644 --- a/inventories/chaosknoten/host_vars/mumble.yaml +++ b/inventories/chaosknoten/host_vars/mumble.yaml @@ -1,4 +1,3 @@ -certbot__version_spec: "" certbot__acme_account_email_address: j+letsencrypt-ccchh@jsts.xyz certbot__certificate_domains: - "mumble.hamburg.ccc.de" diff --git a/inventories/chaosknoten/host_vars/netbox.yaml b/inventories/chaosknoten/host_vars/netbox.yaml index 2c68c1718d..8982a22df1 100644 --- a/inventories/chaosknoten/host_vars/netbox.yaml +++ b/inventories/chaosknoten/host_vars/netbox.yaml @@ -8,7 +8,6 @@ nginx__configurations: - name: netbox.hamburg.ccc.de content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/netbox/nginx/netbox.hamburg.ccc.de.conf') }}" -certbot__version_spec: "" certbot__acme_account_email_address: j+letsencrypt-ccchh@jsts.xyz certbot__certificate_domains: - "netbox.hamburg.ccc.de" diff --git a/inventories/chaosknoten/host_vars/ntfy.yaml b/inventories/chaosknoten/host_vars/ntfy.yaml index 2d68bfaa07..0cc9433c58 100644 --- a/inventories/chaosknoten/host_vars/ntfy.yaml +++ b/inventories/chaosknoten/host_vars/ntfy.yaml @@ -3,7 +3,6 @@ docker_compose__configuration_files: - name: server.yml content: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/ntfy/docker_compose/server.yaml.j2') }}" -certbot__version_spec: "" certbot__acme_account_email_address: le-admin@hamburg.ccc.de certbot__certificate_domains: - "ntfy.hamburg.ccc.de" diff --git a/inventories/chaosknoten/host_vars/onlyoffice.yaml b/inventories/chaosknoten/host_vars/onlyoffice.yaml index aa39788fa9..51308d4692 100644 --- a/inventories/chaosknoten/host_vars/onlyoffice.yaml +++ b/inventories/chaosknoten/host_vars/onlyoffice.yaml @@ -3,7 +3,6 @@ nginx__configurations: - name: onlyoffice.hamburg.ccc.de content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/onlyoffice/nginx/onlyoffice.hamburg.ccc.de.conf') }}" -certbot__version_spec: "" certbot__acme_account_email_address: j+letsencrypt-ccchh@jsts.xyz certbot__certificate_domains: - "onlyoffice.hamburg.ccc.de" diff --git a/inventories/chaosknoten/host_vars/pad.yaml b/inventories/chaosknoten/host_vars/pad.yaml index 6625415616..ecb8a2750b 100644 --- a/inventories/chaosknoten/host_vars/pad.yaml +++ b/inventories/chaosknoten/host_vars/pad.yaml @@ -1,7 +1,6 @@ docker_compose__compose_file_content: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/pad/docker_compose/compose.yaml.j2') }}" docker_compose__configuration_files: [ ] -certbot__version_spec: "" certbot__acme_account_email_address: le-admin@hamburg.ccc.de certbot__certificate_domains: - "pad.hamburg.ccc.de" diff --git a/inventories/chaosknoten/host_vars/pretalx.yaml b/inventories/chaosknoten/host_vars/pretalx.yaml index 3bdad13a8c..12610b6344 100644 --- a/inventories/chaosknoten/host_vars/pretalx.yaml +++ b/inventories/chaosknoten/host_vars/pretalx.yaml @@ -1,7 +1,6 @@ docker_compose__compose_file_content: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2') }}" docker_compose__configuration_files: [ ] -certbot__version_spec: "" certbot__acme_account_email_address: le-admin@hamburg.ccc.de certbot__certificate_domains: - "pretalx.hamburg.ccc.de" diff --git a/inventories/chaosknoten/host_vars/spaceapiccc.yaml b/inventories/chaosknoten/host_vars/spaceapiccc.yaml index 3689be7e02..0a894e8ca5 100644 --- a/inventories/chaosknoten/host_vars/spaceapiccc.yaml +++ b/inventories/chaosknoten/host_vars/spaceapiccc.yaml @@ -2,7 +2,6 @@ docker_compose__compose_file_content: "{{ lookup('ansible.builtin.template', 're 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" diff --git a/inventories/chaosknoten/host_vars/sunders.yaml b/inventories/chaosknoten/host_vars/sunders.yaml index b3d50d8815..4563a461ad 100644 --- a/inventories/chaosknoten/host_vars/sunders.yaml +++ b/inventories/chaosknoten/host_vars/sunders.yaml @@ -1,6 +1,5 @@ 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" diff --git a/inventories/chaosknoten/host_vars/tickets.yaml b/inventories/chaosknoten/host_vars/tickets.yaml index 7a36bb6da4..63fa90f393 100644 --- a/inventories/chaosknoten/host_vars/tickets.yaml +++ b/inventories/chaosknoten/host_vars/tickets.yaml @@ -3,7 +3,6 @@ docker_compose__configuration_files: - name: pretix.cfg content: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/tickets/docker_compose/pretix.cfg.j2') }}" -certbot__version_spec: "" certbot__acme_account_email_address: le-admin@hamburg.ccc.de certbot__certificate_domains: - "tickets.hamburg.ccc.de" diff --git a/inventories/chaosknoten/host_vars/wiki.yaml b/inventories/chaosknoten/host_vars/wiki.yaml index 3d5fbb969a..716547ddaf 100644 --- a/inventories/chaosknoten/host_vars/wiki.yaml +++ b/inventories/chaosknoten/host_vars/wiki.yaml @@ -5,7 +5,6 @@ nginx__configurations: - name: wiki.hamburg.ccc.de content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/wiki/nginx/wiki.hamburg.ccc.de.conf') }}" -certbot__version_spec: "" certbot__acme_account_email_address: j+letsencrypt-ccchh@jsts.xyz certbot__certificate_domains: - "wiki.ccchh.net" diff --git a/inventories/chaosknoten/host_vars/zammad.yaml b/inventories/chaosknoten/host_vars/zammad.yaml index 65ea3527c2..8a0e7955be 100644 --- a/inventories/chaosknoten/host_vars/zammad.yaml +++ b/inventories/chaosknoten/host_vars/zammad.yaml @@ -2,7 +2,6 @@ docker_compose__compose_file_content: "{{ lookup('ansible.builtin.file', 'resour docker_compose__env_file_content: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/zammad/docker_compose/.env.j2') }}" docker_compose__configuration_files: [ ] -certbot__version_spec: "" certbot__acme_account_email_address: le-admin@hamburg.ccc.de certbot__certificate_domains: - "zammad.hamburg.ccc.de" diff --git a/inventories/external/host_vars/status.yaml b/inventories/external/host_vars/status.yaml index c2c26b309b..9af1eaa702 100644 --- a/inventories/external/host_vars/status.yaml +++ b/inventories/external/host_vars/status.yaml @@ -19,7 +19,6 @@ nginx__configurations: - 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" diff --git a/inventories/z9/host_vars/dooris.yaml b/inventories/z9/host_vars/dooris.yaml index 8ae5287f68..3bfd55da34 100644 --- a/inventories/z9/host_vars/dooris.yaml +++ b/inventories/z9/host_vars/dooris.yaml @@ -1,7 +1,6 @@ docker_compose__compose_file_content: "{{ lookup('ansible.builtin.template', 'resources/z9/dooris/docker_compose/compose.yaml.j2') }}" docker_compose__configuration_files: [ ] -certbot__version_spec: "" certbot__acme_account_email_address: le-admin@hamburg.ccc.de certbot__certificate_domains: - "dooris.ccchh.net" diff --git a/inventories/z9/host_vars/light.yaml b/inventories/z9/host_vars/light.yaml index 0c7e11d77b..a5957e2825 100644 --- a/inventories/z9/host_vars/light.yaml +++ b/inventories/z9/host_vars/light.yaml @@ -59,7 +59,6 @@ nginx__configurations: - name: http_handler 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" @@ -67,5 +66,3 @@ certbot__certificate_domains: - "light.z9.ccchh.net" certbot__new_cert_commands: - "systemctl reload nginx.service" - - diff --git a/roles/certbot/meta/argument_specs.yaml b/roles/certbot/meta/argument_specs.yaml index 5e2da33432..b2b3f3252e 100644 --- a/roles/certbot/meta/argument_specs.yaml +++ b/roles/certbot/meta/argument_specs.yaml @@ -1,15 +1,6 @@ argument_specs: main: options: - certbot__version_spec: - description: >- - The version specification to use for installing the `certbot` package. - The provided version specification will be used like the following: - `cerbot={{ certbot__version_spec }}*`. This makes it possible to e.g. - specify until a minor version (like `1.3.`) and then have patch - versions be installed automatically (like `1.3.1` and so on). - type: str - required: true certbot__acme_account_email_address: description: The E-Mail address to give to certbot for the ACME account. type: str diff --git a/roles/certbot/tasks/main/install.yaml b/roles/certbot/tasks/main/install.yaml index 895ef81591..40ccf751ea 100644 --- a/roles/certbot/tasks/main/install.yaml +++ b/roles/certbot/tasks/main/install.yaml @@ -6,14 +6,6 @@ - name: make sure the `certbot` package is installed ansible.builtin.apt: - name: certbot={{ certbot__version_spec }}* - state: present - allow_change_held_packages: true - update_cache: true - become: true - -- name: apt-mark hold `certbot` - ansible.builtin.dpkg_selections: name: certbot - selection: hold + state: present become: true diff --git a/roles/nextcloud/meta/main.yaml b/roles/nextcloud/meta/main.yaml index 34f476a01b..2e71e8f860 100644 --- a/roles/nextcloud/meta/main.yaml +++ b/roles/nextcloud/meta/main.yaml @@ -2,7 +2,6 @@ dependencies: - role: certbot vars: - certbot__version_spec: "{{ nextcloud__certbot_version_spec }}" certbot__acme_account_email_address: "{{ nextcloud__certbot_acme_account_email_address }}" certbot__certificate_domains: - "{{ nextcloud__fqdn }}" From 0331c77d558b04d2cc449fac55e6b6dd09730ce3 Mon Sep 17 00:00:00 2001 From: chris Date: Sun, 1 Mar 2026 21:32:10 +0100 Subject: [PATCH 189/417] grafana: fuxnoc macht mehr internet mit ipv6 --- resources/chaosknoten/grafana/nginx/metrics.hamburg.ccc.de.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/chaosknoten/grafana/nginx/metrics.hamburg.ccc.de.conf b/resources/chaosknoten/grafana/nginx/metrics.hamburg.ccc.de.conf index 195b99dc27..5f4fbd63d3 100644 --- a/resources/chaosknoten/grafana/nginx/metrics.hamburg.ccc.de.conf +++ b/resources/chaosknoten/grafana/nginx/metrics.hamburg.ccc.de.conf @@ -11,7 +11,7 @@ server { # Z9 allow 2a07:c481:1::/48; # fuxnoc - allow 2a07:c481:0:1::/64; + allow 2a07:c481::/36; deny all; server_name metrics.hamburg.ccc.de; From 3820a97584daee667556bfc8648a285cf4ab444e Mon Sep 17 00:00:00 2001 From: June Date: Mon, 2 Mar 2026 20:01:09 +0100 Subject: [PATCH 190/417] certbot(role): move arguments documentation into README Do this to match how it's done in newer roles. --- roles/certbot/README.md | 10 +++++++++- roles/certbot/meta/argument_specs.yaml | 8 -------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/roles/certbot/README.md b/roles/certbot/README.md index 4cbd465d6c..ccb687bfc1 100644 --- a/roles/certbot/README.md +++ b/roles/certbot/README.md @@ -8,7 +8,15 @@ Also see the following documentation for a full How-to on how to get certificate ## Required Arguments -For the required arguments look at the [`argument_specs.yaml`](./meta/argument_specs.yaml). +- `certbot__acme_account_email_address`: The E-Mail address to use for the ACME account. +- `certbot__certificate_domains`: The domains for which to obtain a certificate. + +## Optional Arguments + +- `certbot__http_01_port`: The port number the bot listens on. Should be `80` if directly exposed to the internet. + Defaults to `31820` (for the public-reverse-proxy setup). +- `certbot__new_cert_commands`: A list of commands to execute after getting a new certificate. Will be added into a bash script. + Defaults to the empty list (`[ ]`). ## `hosts` diff --git a/roles/certbot/meta/argument_specs.yaml b/roles/certbot/meta/argument_specs.yaml index b2b3f3252e..c8b45ddf38 100644 --- a/roles/certbot/meta/argument_specs.yaml +++ b/roles/certbot/meta/argument_specs.yaml @@ -2,25 +2,17 @@ argument_specs: main: options: certbot__acme_account_email_address: - description: The E-Mail address to give to certbot for the ACME account. type: str required: true certbot__certificate_domains: - description: The domains for which to obtain a certificate. type: list elements: str required: true certbot__http_01_port: - description: | - The port number the bot listens on. Must be 80 if directly exposed to the internet. - Default is 31820 for the public-reverse-proxy setup. type: str required: false default: 31820 certbot__new_cert_commands: - description: >- - A list of commands to execute after getting a new certificate. - Will be added into a bash script. type: list elements: str required: false From fee18bd34925411b47f8e1be059ff2c1fbf8c7b7 Mon Sep 17 00:00:00 2001 From: June Date: Mon, 2 Mar 2026 20:07:12 +0100 Subject: [PATCH 191/417] certbot(role): allow empty list of certificate domains Also explicitly document that they are used with the HTTP-01 challenge. This is in preparation for adding a new option with DNS-01 challenge support. --- roles/certbot/README.md | 2 +- roles/certbot/defaults/main.yaml | 1 + roles/certbot/meta/argument_specs.yaml | 3 ++- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/roles/certbot/README.md b/roles/certbot/README.md index ccb687bfc1..3ad35bf683 100644 --- a/roles/certbot/README.md +++ b/roles/certbot/README.md @@ -9,10 +9,10 @@ Also see the following documentation for a full How-to on how to get certificate ## Required Arguments - `certbot__acme_account_email_address`: The E-Mail address to use for the ACME account. -- `certbot__certificate_domains`: The domains for which to obtain a certificate. ## Optional Arguments +- `certbot__certificate_domains`: The domains for which to obtain a certificate using the HTTP-01 challenge. - `certbot__http_01_port`: The port number the bot listens on. Should be `80` if directly exposed to the internet. Defaults to `31820` (for the public-reverse-proxy setup). - `certbot__new_cert_commands`: A list of commands to execute after getting a new certificate. Will be added into a bash script. diff --git a/roles/certbot/defaults/main.yaml b/roles/certbot/defaults/main.yaml index 9b20634816..9e6551e564 100644 --- a/roles/certbot/defaults/main.yaml +++ b/roles/certbot/defaults/main.yaml @@ -1,2 +1,3 @@ +certbot__certificate_domains: [ ] certbot__http_01_port: 31820 certbot__new_cert_commands: [ ] diff --git a/roles/certbot/meta/argument_specs.yaml b/roles/certbot/meta/argument_specs.yaml index c8b45ddf38..b895b5fd89 100644 --- a/roles/certbot/meta/argument_specs.yaml +++ b/roles/certbot/meta/argument_specs.yaml @@ -7,7 +7,8 @@ argument_specs: certbot__certificate_domains: type: list elements: str - required: true + required: false + default: [ ] certbot__http_01_port: type: str required: false From 05d8c39b75e00a3df17a61b690371c44d930e880 Mon Sep 17 00:00:00 2001 From: June Date: Thu, 5 Mar 2026 15:26:51 +0100 Subject: [PATCH 192/417] wip: test renovate --- renovate.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/renovate.json b/renovate.json index 41787b7aa1..0231949243 100644 --- a/renovate.json +++ b/renovate.json @@ -30,7 +30,8 @@ "matchUpdateTypes": [ "minor", "patch" - ] + ], + "matchJsonata": ["isBreaking != true"] }, { "matchDatasources": ["docker"], @@ -40,7 +41,8 @@ { "matchDatasources": ["docker"], "matchPackageNames": ["docker.io/pretalx/standalone"], - "versioning": "regex:^v(?\\d+\\.\\d+)(?:\\.(?\\d+))$" + "matchUpdateTypes": ["minor"], + "isBreaking": true } ], "customManagers": [ From 4f3caaf5edb96955dc6e442daa374035e135af7c Mon Sep 17 00:00:00 2001 From: lilly Date: Thu, 5 Mar 2026 20:18:51 +0100 Subject: [PATCH 193/417] add bitwhisker to sops --- .sops.yaml | 3 + .../chaosknoten/group_vars/all.sops.yaml | 489 +++++++++--------- .../chaosknoten/host_vars/acmedns.sops.yaml | 289 ++++++----- .../chaosknoten/host_vars/ccchoir.sops.yaml | 289 ++++++----- .../chaosknoten/host_vars/cloud.sops.yaml | 289 ++++++----- .../chaosknoten/host_vars/eh22-wiki.sops.yaml | 289 ++++++----- .../chaosknoten/host_vars/grafana.sops.yaml | 289 ++++++----- .../chaosknoten/host_vars/keycloak.sops.yaml | 289 ++++++----- .../chaosknoten/host_vars/lists.sops.yaml | 289 ++++++----- .../chaosknoten/host_vars/mjolnir.sops.yaml | 289 ++++++----- .../chaosknoten/host_vars/mumble.sops.yaml | 287 +++++----- .../chaosknoten/host_vars/netbox.sops.yaml | 289 ++++++----- .../chaosknoten/host_vars/ntfy.sops.yaml | 289 ++++++----- .../host_vars/onlyoffice.sops.yaml | 289 ++++++----- .../chaosknoten/host_vars/pad.sops.yaml | 289 ++++++----- .../chaosknoten/host_vars/pretalx.sops.yaml | 289 ++++++----- .../host_vars/public-reverse-proxy.sops.yaml | 289 ++++++----- .../chaosknoten/host_vars/renovate.sops.yaml | 289 ++++++----- .../host_vars/spaceapiccc.sops.yaml | 289 ++++++----- .../chaosknoten/host_vars/sunders.sops.yaml | 289 ++++++----- .../chaosknoten/host_vars/tickets.sops.yaml | 289 ++++++----- .../chaosknoten/host_vars/wiki.sops.yaml | 289 ++++++----- .../chaosknoten/host_vars/zammad.sops.yaml | 289 ++++++----- inventories/external/group_vars/all.sops.yaml | 289 ++++++----- .../external/host_vars/status.sops.yaml | 289 ++++++----- inventories/z9/group_vars/all.sops.yaml | 279 +++++----- inventories/z9/host_vars/dooris.sops.yaml | 279 +++++----- inventories/z9/host_vars/yate.sops.yaml | 279 +++++----- 28 files changed, 4111 insertions(+), 3863 deletions(-) diff --git a/.sops.yaml b/.sops.yaml index ca386a6253..c659d62bf2 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -12,6 +12,7 @@ keys: - &admin_gpg_c6ristian B71138A6A8964A3C3B8899857B4F70C356765BAB - &admin_gpg_lilly D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - &admin_gpg_langoor 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + - &admin_gpg_bitwhisker 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 hosts: chaosknoten: age: &host_chaosknoten_age_keys @@ -39,6 +40,7 @@ keys: external: age: &host_external_age_keys - &host_status_ansible_pull_age_key age1p546j6whqsyfkjuf674lawrnk2ex653fuvwhcwt46gkrspkq59sqzm5y87 + creation_rules: ## group vars - path_regex: inventories/chaosknoten/group_vars/all.* @@ -205,6 +207,7 @@ creation_rules: - key_groups: - pgp: *admin_gpg_keys + stores: yaml: indent: 2 diff --git a/inventories/chaosknoten/group_vars/all.sops.yaml b/inventories/chaosknoten/group_vars/all.sops.yaml index 3ceb078ad1..ecd50b0258 100644 --- a/inventories/chaosknoten/group_vars/all.sops.yaml +++ b/inventories/chaosknoten/group_vars/all.sops.yaml @@ -5,384 +5,393 @@ sops: - recipient: age1ss82zwqkj438re78355p886r89csqrrfmkfp8lrrf8v23nza492qza4ey3 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxcjFhemorVCtNNkNBWjJB - cURhcml4QmlxY3E2Yjl2OCtaN1c1K2RrMVVZCndPK2xpZnNjWjZscEs0YW1rUVNw - bkhJZXNSaXV5dGhyNXdVUEE1K25WekEKLS0tIGtramYwUmUxcm1PNnJDcWdVcFg2 - UEMyTWMzOGlIbWFlK3pweWRKMHdZSVEK11TseMwMQeecPDBnbJxYscFj0XvIVBvi - pBeHf7yk+RsHLCf3odkdyuIckV0xaCkt+eeMRJ3aAb6gWDKGuc1PtQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZYTlQQVpSclBaYkJvWWgr + MnlYNjdLc0JJbmRKMXd1d1RDVFlyWVNCcEFvCldkK2NLbjJRVkxvNlNFanpEejJH + MzVUSWdGVGYvS2VtQlBPL3JLVk8rTU0KLS0tIE01c04vUDZ6eUdlbzh4WG1ET0ly + ejJnRk9URUFOK25xZElkaiszZ1YvN2sKJAlXWEE+omwd3lmHlVBJ2iGAd+yeaP73 + Wdloun8Rj7bDvRzC7CTNzittIZdgS0+rcAH5mCqEt8+yJIzSo30cRg== -----END AGE ENCRYPTED FILE----- - recipient: age1gdfhx5hy829uqkw4nwjwlpvl7zqvljguzsnjv0dpwz5q5u7dtf6s90wndt enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBFVnpOdGdiZDMxcFBRQUpV - bGhWR0ptMnFndmQ2b3UxTnphV2VPZjNWZmlBClpRQlJzblFWUGp3blZVaEEzTnR5 - bXVrazhmaG1PdHBSR015TjVmWS9wNFEKLS0tIHdLOVFJWm90MDRKSmxTTWxaWWVB - SG5wRklna2crOGxTamcrLzdQTmlrd1kKTA+QF3St4Yo46Ssua+8dbB62+csXKuDV - to201vxK1R2kVhiDKq+mZztSQlf+Tidn+x3TSJ7VjmgmRNFCxoc72A== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKWUVPRUZ2YjhReU4zZHpD + MitPV3BSVTZ1YjVFaCtuemhrVVFBOXhsSEVZCm1TRTQ3dEhDSXRmWWtwYmVOWkln + azRRc2ViVTA2cEJXT1g3Q0FsR292akkKLS0tIFQxMXBIUzVTK3owVU5KNEJqTk9W + cFZrcWpBQmhDTWR0bHV5YnVLSnVTelEKisrIuQq6l3NAXFoK+PY7d5zG/czYLuxO + UBsj99orjWSv/yIfOvbone+EG6Pi2jQdRwYLD2sxguJJg4ALqtpuwQ== -----END AGE ENCRYPTED FILE----- - recipient: age13nm6hfz66ce4wpn89fye05mag3l3h04etvz6wj7szm3vzrdlfupqhrp3fa enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBPZ2tKSkNIek8rVk0zenBr - aXN6TWZMMjBkMWpIbGxhY3ZQQmFyb3ZiRkZVCjdZeURKcUNiejltc2NZVnozMUVG - cGN3RHVrL2V1eGdqUkxPc1cvbHFRc1UKLS0tIHNBY2dlMkhScDRRTTFJdkpZL3d5 - QUpObmVzUStHRHRGM1BtWXNteFVER3MKirZY9CQKAn/eg2eEndSFXr42xfVVr844 - ndhaCEEpgwQfycToPc6fHrYi3p8zxd2dY8C1tOTRj6zHXK1Fh8SoTg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBmcU9xSnJnalhzQU56RE9w + V3NFaVAvZ1p4T3UzTWxhb2pWWS8wM2dhVlhVCnVUM3NaYXl0T3ovRTcvQnNOVnJV + VncxUFF5cmZVZGwyd29SMnpuQitGMzAKLS0tIExLU2p0elR2ZjFjdm9PN2hKVGlv + QzBCNTlaSEE1U1E5cUExd1ZxN1dkYU0KcmXCpLzqMXrJvT24W8vjrGUPcbnAem/A + SF2xiAnFpxN3f+sk6fX+e5ulMD42YFDU8PKzxLCWsToH9dUzKJJFlg== -----END AGE ENCRYPTED FILE----- - recipient: age1jtusr294t8mzar2qy857v6s329ret9s353y4kuulxwnlyy4dvpjsvyl67m enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1RFUvZlNMc1Rjd1NaRXo4 - MURMaHBER3kxeUorNS9uQnRkRHZJMkozb0VRClpCS29PbHpWUmY1ZXJQLzJ6WW95 - VjBnOXdwQjlTTjdLc3d3UHZPV3cxTmcKLS0tIG5OcS91clBWWDFoQkZWSk1DSUVW - Y2xVcGNvV01Za2lZYzc1RzBONzl5ZG8KxZkxNniwxcOls/jnGcGQTe1hqirBAlR9 - c4QQrUeV+3PaESQiqxaRSGv/xkva/sMrcIA9n+TkdZugGJxV1I1Caw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxMi9NTnd1SEFtbkllRVdk + Q09ENTJPWmVLN3ZuR2RFWUxMTGlCbVdBQ0g0CjdWdUQycENZaUorRlQ3TzBiVjZO + NjlrSm5zYWFNTThSMEpLcnR1TGVQZ1UKLS0tIFZQUDlJSkg1VnY5VUF6ZGRodEpx + RFg4THN0OFJNSXFCNjk2MTJ5TGliNnMKXxAdH8n9PUUsabMi4r6JVZ+HLGPGu9nL + h0ytq2d/gJXOUVhEDXKWPQckCJiymHbR6msRlbQXqzJCE7utoVhRCQ== -----END AGE ENCRYPTED FILE----- - recipient: age1a27euccw8j23wec76ls8vmzp7mntfcn4v8tkyegmg8alzfhk3suqwm6vgv enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0QkdlMGoxdm1xRjcrZ2wr - dG80MjF2VTlXQ29sZHFEQ3hqMFh6dzB3TUVBCmdDV25wNVBJVzFWTFhqbTY3YllE - MjhTeUVlVWl5bVdBSk1ldkthaUlGVU0KLS0tICtTNU9MRW1qd0pzZ3dTeC9tRHZ2 - VDNQZXcwK0s5T3c2V1NkdmF4OWtoN1kKcVHI9A/dIkS3mjCUR5e/4D883xKuFrL9 - CSpjWkuasrep7i2k/996zovt2/CEl05iC7o1zrxHSQIZBZHHz+gpgg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBpZXFYWVVTdHdvOURkZnhr + RTVRZVpIV2srbVpTR1RvdnlJKzJ3S3NpU0NNCnc3bGpiVjFkZ29zYTN3ZlNaa2Ux + UTRsaEt2d05qcExsdWt5NTduTXpmQnMKLS0tIE1CK1NhaDhUVEh1NEQ5MnQ2a3o2 + UWlPN2RRYjNBODdxYVNZZ1pVdklkV1EKWeArjzFczLg11VwbWPTgjBm0584OH0Ww + 4uuDaPhgDOTLbaOlUW+s4S6PYUL6ox5L+FzRuYWtQiIpeLEQH/AQVw== -----END AGE ENCRYPTED FILE----- - recipient: age133wy6sxhgx3kkwxecra6xf9ey2uhnvtjpgwawwfmpvz0jpd0s5dqe385u3 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGNzVQK29abmFnSm5ZUU1L - aGJrd1NYcDNrOVprSUN1VDIxU2JOZTRvVW5RCmM2VEZNY2lPaUdZTHBhNkZmSitu - Z1NsaHZuQ2NlWm8rZ0pCT04xS0lkdkEKLS0tIFJoeXBraGpXWTJ6OTc3Zm1HUko2 - MThBK29BaEJUT24zSlhKS1R6cjlsTWMKIHWdRctYML9g8GO5+Au/NMaNSAVXu37T - qPNiGZph18SWuUTwZHWQIt8WRgNN1FwxOBWKFS+qwLcE/eH93By1bA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0U2hFM21IeVcwb0ZZZDA3 + dFQvcDV2cHRaTW5wOVNMTlluUmo1bUd1YjNJCnVkTTE0M2MyNzMvNlc2MVJBNzVh + QkN4eXlWemg1UzVqL0Y5OUpVenYzOVUKLS0tIEZlcUF4L3ZlVXRYTTZML1dBNzBj + c0J6YU1jeFIwN1M3NmRFVFRUMlFZQkEKIXseDzKDcmtJn5oHbr61/0Hb/MjHaHwa + mlMK1oDI4SSf1nklLawbo4Bi5l7GZumzftwYLUnK+Er5poJnKoagGw== -----END AGE ENCRYPTED FILE----- - recipient: age1na0nh9ndnr9cxpnlvstrxskr4fxf4spnkw48ufl7m43f98y40y7shhnvgd enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHTXFic0txbVZIbm55OXZW - VHV0NEVlREcyeDhsMUJTdnRqRXhTOUhadUhJCkpwdURFUDVrWVdkSVhFTGJyNDVO - YnprOVNxSXRWSG42VnhBRXBlbjJ6WU0KLS0tIGpZUklqUWwrZ05tVGY5ellZUjYr - M0d1aW5ZTVVVb1QxQWtNZm5jZDRDYW8KPC5ddvXuQ4Y9psjWd62pJRLUI75hIAJR - mfOsFKa+OOze36fFwAr/dgFNcb1ZfUPQxVUpKL9sQNjVWEbLQjX52A== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBPM1pNaFNkM1kzU1RvVnFK + WmIxcmswUDVSN25McUdkdjljcmJFNlJXc2hJCjl3MytxU041SndxSUF6K2gybmJp + Z1FvWmVhaGIyUjdPOE9qRDNFMXlzSlUKLS0tIEEyKzk4QzdNWHkwMWxEQlVNMXZZ + SWx5ZzJoeVpjU2VLTFp5bXVYczBqeVEKgvRSnWceBUDn07ebGO3MlUzQwirPnGh0 + q44FjPTMg/NmEMvLga33dNK8Np0zU7hbdUhNI0Sy+zZca3ulGsadNQ== -----END AGE ENCRYPTED FILE----- - recipient: age1sqs05anv4acculyap35e6vehdxw3g6ycwnvh6hsuv8u33re984zsnqfvqv enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAvcWEwL1RnVzJBV3E0a3k1 - Y2U4TkpZdGtkT1B0ZUlNV1ZIWGVFM2NjcmlBCndyZ1hZVVk5M3RUOXNSSktzUDRh - OTNBYndWWUhsTmRSN29mWGNBRlE0SlkKLS0tIGhIWW5CaDRlWGxVU3o3QWtiQ0RM - NlZlWC9Gd2Y2SDNRdG5rMnlEY0tEeVkK58X2gMSb4IDUH63FC85oF1mkaK2LZxKr - K/kgGp93aF96QVmfTl/Tw931OLXogVIeu1+JWSLGhfrUoaZmjvFU/Q== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBZWFVWEhSc2VNczFGQTMr + VXdJOGtnWThDK0hLVHNhZSswNVBYM2RLa0VZClN2eGJqRDZHSUF4VDNaVUpQWlAx + OE5XU1p0MWx3R29VM21aSlBOaldISWsKLS0tIEM2Z0hZMjAvNklkcWVMQTBDeUZv + WnlQZy8wcG1QOEV2b0JHL3RWaEs2b0kKnMPU8Y2UUixfa0TWAkkeMI2e6sM2fR/6 + KDCCoJpwBMhUEBPBpxjDuNRL+/rmQa7OSfslAP9ZJTabY36kTNA3fA== -----END AGE ENCRYPTED FILE----- - recipient: age18qam683rva3ee3wgue7r0ey4ws4jttz4a4dpe3q8kq8lmrp97ezq2cns8d enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBbFBqSHY5VThBMjI5ZUpz - cEZjcXh1YmxzKzBxblFVbVQyTGhXRlJsRW13Cjh2WVlxSUN4SFdXQlJlRzhEV0Q1 - dkhOVWp3blhVZXZMdnF2dmRRTExLRnMKLS0tIGVabEVnRk5rWmJpbXRZMDFES1lK - dzViOFdGNWthVm5VY003OUd3eEI0ck0KT/sxNPN2ucushJoBoi5mBSyrBAJlB3cU - C1FZI/Ui6caicGLmbPOfhflTRUzeKGjyZEBf3AFg+KkahTh2Xq4piw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHMzd4QVRQTHhQQnVISzZx + OS9TSm5sWGpidkVsWitndDB1Uk12elB0bG1FCm1tRXBoRlprK0NhMDNCR1VwS1d0 + YlV0QXJBbG9qY2ZIZldaY3djRWUzdlEKLS0tIEFnRHJNcDN0bkE0WU9JUURIQ1VN + d05kZm0zWGY5VGt1S3ltYVp6TFlTeGcKCZmtyrtptxxMkA2aHIhrPnMvc9K533tP + M7x/KcS9jyT5DAdcoqy/WWHS/TW8QqmKHtFKQnmJdr5s4RNIJXa05g== -----END AGE ENCRYPTED FILE----- - recipient: age19rg2cuj9smv8nzxmr03azfqe69edhep53dep6kvh83paf08zv58sntm0fg enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0bW03QXI2anJUMUNHL2t5 - TlhlS29xeWhReW1kVkNhOXF3SG9xanRwUkZFCjNoZDFhTW9pcE0vOHU1NXlYVFZI - ZC9xVURYNVhQV1FYSlVoMVdQaGRvT1EKLS0tIERDcXE1cEMvRnpUcGhwNVBoYXVi - cVVqR3EvUkZaV3dLUmF1cldsM3pDcmMKQLHzcOSODSxMuaK/mBTpKIi5grfvrFAs - q1dDw7AcjJ7pGJRot87vE/7vznUqypG7F9tiM1ycIIMnU/8vfwwvog== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBpVHZnQnRaNEJkSFlDOHNm + dWJjWTZYYzNya3J0S1F4L2o0SmFETEhlc3d3Ck5yNk5OaU5SZEViT0QzeVJnazhm + MXE5R1ZDT0s0N1g1RE9ackM1RUc4aVEKLS0tIENUV21XUFJQVERiMUtTaFlqOFll + QjZ3ZFpIVDFyVjJSa3RDYVBFVXZjRzQK9OrYYIs+h7F+0QCbKzdfan+SJo4HpDKC + VCtJBW4hV2SJr2kX/b3OIsqz+GM1xJ1WN/NSX/qRIYFZRgYUC4hKwQ== -----END AGE ENCRYPTED FILE----- - recipient: age16znyzvquuy8467gg27mdwdt8k6kcu3fjrvfm6gnl4nmqp8tuvqaspqgcet enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCOVRmWFFMZkR4LzM0bStq - blZaSXM2SE03bkxoMmU5c2xmSmk4a281Y1hrClNib1REajdPOXJYT2ZucG5zQ3lB - WnJkWEVuYnBOT0RMQzM4MnJMUGtRYkkKLS0tIC9qRjcrMGFyWlRMMFFZNHhoUjYz - cE8yd1VZcVRjZU1XQytxTW9seHh3cEEKSpJp1NnaDvOlv08uPuqE2GU+0L7GLi3a - z8cvQhSDVg/26r8VHZ6Bd9coQzy+hEF2hqLKvzn8F0sS13oCqIe+Ng== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBoc3FXUEM4TnZZaEQzY0VK + T05sTVlxRk56Y3dqV0UwUzViV1JWUmNDK0E4Cjd5QUNxYVZrNlVjMWh6OUhlQVpL + dkUxWHNEUkh1VkkvMVRYVXF5Z1JldHMKLS0tIDFNcjZwRDZvSDFVUVpHRkRXdGZF + VWVMdVRobXYwZWpjbzNBdndQTU5WTkkKROyTGW3B7oZ+SwsoE4hcoFDlY3/RmP7g + GFZ9rX4h6hLZl1iFKTTbJ46G7uc7akqjSckjqmzQZv3hOC0INw9EqA== -----END AGE ENCRYPTED FILE----- - recipient: age1azkgwrcwqhc6flj7gturptpl2uvay6pd94cam4t6yuk2n4wlnsqsj38hca enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBVS2tFSEphK3RRWHprNzBT - SW9BMC9SOGovS0VkZ000MWVnaWNiU2ovWHdBCk1rTHZaUmJ0NHUzVk1lZXpQb1Uz - MllyT29YOFJPMlB5bGdINEpOZUZJcXMKLS0tIEZBcXBhdUJ1ckFycGZ4WHkrRTBQ - UUF2cm5KV0wxc2tvUFAwK2p5QkYzNVEKYfugBqFSKTaVr1thWzVL/fO9wE5VgMLP - kl4Nc59xWMCcDOpN5LjHvIhgXS3IlqXnCq24VDcvNa7DfbUGwk3e3w== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA5TlhtUG54SFlxSVRNZ2tk + NUh2bERPT2RvNDY3Z3h5dTJkaU5aSHlLNG44ClBQWlIxNFhqd2NiSFE5RmJRWHhj + dEJReStLZm5wNFlQUGMyRU9pVjBtN1kKLS0tIG91WFdZRzN2SXRabkkxZGk0UlBi + RDZCdDZscXMzWGlTL05NTzVnN2ZEUHcK+Z3HF7+r7LsKhSV1mUmHx6ncceh8xzbh + KHWDdEyicQlKpMjBcN1yyZ2KFbSMRn3HyQIBcXoUnYv/glCQnRnBfA== -----END AGE ENCRYPTED FILE----- - recipient: age17x20h3m6wgfhereusc224u95ac8aj68fzlkkj5ptvs9c5vlz3usqdu7crq enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrZW9UUm1tNHNEUHgxb01x - RFpPb05Gc2NBbTRBbG9vUW1jblltN0NJOGhJCmxvR092SnZFb0ZkS3dtMURjclFv - UEQ1VE9QSEhhSXg5ODRMaUFsaFEzWm8KLS0tIDJRWW9BZ0RxNS9iekJZREVRVlZU - cE5kblBKOXViVWNsa2duWElxMjNRejQKyrJJpTsLVW1tbfF8b27G912pwrzpWjtI - OwvF6a4wt/Ys7sq7mH3NJaoGRXr02sD41R6vtVOeImgFyffiRfto8g== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBvcVRLNjh1WEhpNXc4NU0w + d1h6bHYzVFI1NXZCaUlpTUh6YkJ6L0dISUJjCnhOYmoreGN3bHJnMW1aQ3N4RXo0 + RTNhVWd6ak1ESExSVzFVZE95b2ZtOTgKLS0tIDBsa2s0Y1NTaytoWDhveEdQd1Ev + YzcvTkZCU1hxdzZKKzR6N3N1WlhOR1UKELTa8FpcdumoMPUoKOPgaoCNWBHkKkh7 + VfBv/Ab/5W5qCYocFV+aTjj0iufNCv3/Cq9OjcXSbZTv1oXAm9oKnQ== -----END AGE ENCRYPTED FILE----- - recipient: age1wnympe3x8ce8hk87cymmt6wvccs4aes5rhhs44hq0s529v5z4g5sfyphwx enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGT3JoRDhPQWVFRytTdE1k - NHZ2SkdpWVpVMmxVN2NxQW1ka2x0alJrd2w0CnVkZUcyVzM0Q3dEbllneGFUNDZw - Nm1uOGQvb0M0ZUFNT2MxSDQ5YzV3dncKLS0tIFIzdEc5WktrVWxhSDJjeW5PNjFs - eExMN1dzMlBGRlRJS0hncUNiWndJT0EKEDA1psXNi9uPSV1TypiuWSl1VbwCGP/t - n02Qhn96+ad1OSd2NNINwEEm+f19REcJDpxuOGESfGD5mfm9JuJYCw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDMjRuUm9TQU9OVy9pWTRM + bUVnbC82T3BXbTRPdnpoNkdCc0FQb1pJNkVjCllob0dGZUpPNmtmb1VpUXkvbjJJ + N21uUGZRREVpMVVqS3F3OHNmOWhRcUEKLS0tIDJ1SFA1dVNTZFRpVTdBYjczRTVs + YmVqNjIzSEtzaElkOXIrWTAyQ211MWcK/47B6wyxAL58FkKUj7/qX9gISV3BnmP2 + Q07HVr7v3fJIJKzVByTI5FUpdVkrbbf5nqRUUi1Iylm41qUggH8b5Q== -----END AGE ENCRYPTED FILE----- - recipient: age172pk7lyc6p4ewy0f2h6pau5d5sz6z8cq66hm4u4tpzx3an496a2sljx7x5 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrUk1RNi9wQXBxQXFHY1pC - MCtEcGRpeHJHQUxUall3dk93c2pNQXZKMkVnClBZUVhVOEVaK2lLQzgwalQ4RXUx - ZWNnWkhyUXVPeWIzZHBWbWVnTnNFTEkKLS0tIFJySTRXZDZzYjRjSzFMMXdYbm9H - Z1RQMTBqVFJzSlRVSTByUHZSZjlhdncKgVBeVyhPQLHM+RFIdw386No7+cvLspak - wrKKti2vPegLvOvisGCXu95SO0WjYYBjjuXaCWruUlnUnV280nZnww== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA1cmV2NnFvSDJUWERqZHJY + M0hNNEJZcFlnelgxYlhHUmM2NGNtdFBYbzE0ClJiaENaVW1aR2wvb3I2aWtQM3VQ + QXNLVXY3bjZXTEF4bGZJS3RkMm5XUjQKLS0tIGtackZybkcrZ25tT1oveEgwb0Jq + V2p1NXBqM3Nac0Z2ZzRUNlVBTFRSOEUKMlubiDYlqv2SZr+yMrZAOVXbO4UiIWH+ + az3wjgvelc2nhPoqlt67XP6RdjHsAdGO2RldlnV50x5SBJrdAy/OnA== -----END AGE ENCRYPTED FILE----- - recipient: age1p7pxgq5kwcpdkhkh3qq4pvnltrdk4gwf60hdhv8ka0mdxmgnjepqyleyen enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQWFc5bjBRYUVMdk1MZzg5 - SGJUSENhQWVxdGNzTUhWRVFRbnczenI5M3kwClZNMEh1NHVINzREWUtnWEhWTDRy - Q1JWUUNNSExCR3VDajY5SFp4QmlPY2sKLS0tIDRVSFpPSSttWmw1RHd0MXg4aHZP - aHFRb2hNOHVzQU8wTVZKMGxPUjVFVmMKnN3oQtx0sCAZ/i/v0APjh77Cb52XIUb/ - 26UdtJQUfefLRaIxOyh9Dqr2fUREZB8ky7M9BOL9a0/xFGb4wp1q2w== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCcGVLZTdvQnVYTndIZFJw + RXc2R0hzakpsbVR0enZzMzA1U3JGU0hyN2h3CnpkNTNmV0V2ZzVmV1ZxODA5SCtT + QkZNcExqc29RUFN5Qzg3Q0c1OUI2K0UKLS0tICtUVlZNVzFZNnJZVThNby8vQ3BC + RTlqR3BDVmxQME9sZ055ZVk5WHl4Q2cKJ3/Ae3XLPmMrf9GPZCTK/6Q2latQOHtR + cXdPdTFnJ6C2egv7V+9ln0MEN4Ge6AP82LyOIZ9WFEqM98+gd7ztaA== -----END AGE ENCRYPTED FILE----- - recipient: age1sv7uhpnk9d3u3je9zzvlux0kd83f627aclpamnz2h3ksg599838qjgrvqs enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBpRkl5V0FEUUgzaTQrK3Qr - enVNTkJBMWh2NFlxMm44NnIwRUtMbEVUSTFNCnYrRkVvVmxzVnYxa28weW84ZHoz - V2RuTXkrTnRTbVpvQVFMQmJDVGhDSkEKLS0tIFhZN0lNeFNMWWduamdrZzZ6WmQy - cU5NcVhMeFlzY05NWE5Uc3BERng3QVUKhu4E8mUBrePpeSqbEKMfu8PVDhFnEQC4 - uRXF2Zv4LpVnSTlHCNiL8hWPcup85UucCx+sM2ZA/GdHOC4tTNGj1Q== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBsRlB3c2x1anVEaDdoRXRs + by93SEU5TmZ1YXhUUjVKd1V1RG51WXMzeG1rClAzdU42Ui94UVJOOTJ5RWxkZFAy + QkdBaUp2bklIU3NLNTVDNGpyLzBVKzQKLS0tIGxwYVN1Y1hSUHVpU3NFVjVrdCtI + QVlDUjMyQ21NYWlQYk9qYUxpNG1kdHcKCc4gqtMg9ZiN0uN/FbnVEBESCXHCvPY5 + hzWP0/56uxjBhDp3RRH6TdeF4/oly8rxm1PcYVVqF929UyWVPFJqCg== -----END AGE ENCRYPTED FILE----- - recipient: age1dkecypmfuj0tcm2cz8vnvq5drpu2ddhgnfkzxvscs7m4e79gpseqyhr9pg enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzcTdGYTU1TXpvOGNEOU4w - L0R3U1dmWUZjR0dHYjltT0g3Wk9ZbC9jWGhNCnB3WlR5WWtWbXZhQXRKUWMrUFpJ - Y3I2ZXJFdjBQUkpTZDBPUlN0L1VjcEkKLS0tIE8yZjhqS0hISi8wZmhhdDd1TjZm - Y0J2L0VmSnIwaTZ0cXBDUWNCTW1La28K31/CJ3SSygTjeUWjHJvYdbTL7Vb+GMbL - CfF+kwMxqeLW4mhoS03l4ztfpLox3jE9qZNOzifPcOu0A/SpNwtwIQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBncGwrelJRYjVEdFVTRC8w + ZlRzSklaUTVIWU13dEIyOHJnM1BnNDZ5TmtNClZVZjc0N2tVbGtnMEIwbTFsb1g1 + NW5IVk5aR201R2syWUE3OWxtOTN3Yk0KLS0tIE1KMDJVWnBRbk0wV0k0VlRlbXNY + MmpBdUNSWnFNdTVyMC82VGpqWGM5cU0K10XczLAgbo5pT9UhLIr79biVx05bYig8 + Ekphbhi4HLHSn4RGwOpdpFK0NdiAO50Zqoryscuk7e2zi9DPEoUozw== -----END AGE ENCRYPTED FILE----- - recipient: age1mdtnk78aeqnwqadjqje5pfha04wu92d3ecchyqajjmy434kwq98qksq2wa enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBid0k4d25FQk5JRTJYUnVq - bUhJRWdweWtvVDlibHZzYkpjTDZmbGgvakIwCk16Qjg5QU02RFdldWRrUmJnUnp3 - c0NVVlVoVHByRWtidkZOemJjMVZqRDgKLS0tIHlUQWdlbnV3K1laRUZDbFlySHdR - Z3VsUUFWNWt2cnVjdkJjRE5uejBPM00KbZ7SIBK+v2R5WwENsAfALaNNcZWcyjcg - AqcyweIk+9OwGsP7QN3uL2UaDF31revbGcWLyVuOPd4vpM8X7ifiAw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA3WTBGNXpiZWMxdDZEc3hH + VkpXQTBQcFp5eVBLd3hON3lHazBCd1F0S1VRCm9mUGNZNDZqUElaY25wMXlHeURV + L0Q1K0NPcVVEa2ZZWElZbmI5b3NmcWsKLS0tIE9ReUV2dnZCQ205SGFuVXRqcStS + NUdLbDlRYXo4NW5oNU8yU1oyQzRLK1kKRIJgHNFGxVrMEwzHbeFKkyZLVzYo1YL5 + bHsgL+dInZERlXJAwJrOcB+GIlJf2tcTQqPOmzmQiD96eXmdgKeyYQ== -----END AGE ENCRYPTED FILE----- - recipient: age16pxqxdj25xz6w200sf8duc62vyk0xkhzc7y63nyhg29sm077vp8qy4sywv enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBaVZsRENPUmpCUFRGNWJE - SE40VUdZOFV4SzgzNWkrRUwxOUw0bVNUSlFrCk5LWWpHb0pCM2FLMGpzazExanp1 - ZEFZS2hqT1NITjE1cU9HbmVTNlNqRG8KLS0tIHNKVGJidE9tanZOSytIR0VBMFJw - dElnbUNLUFZKc3MxQVA2emIwdlBrMEUKkIz7O8sCaj3PBz4hDOumS87mE8//evRE - H1Lkv4cNkZlVVdmiQSuGCVvFmDZjeEMzPLyJu4SPG5gzL18izH/ZDw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXOUNpUklBdU50UXNsb05m + dC9QcGpySVkxTXVWb3c4RkF5TmpQZzBKUUhBClVNWXZMR29YUVBzdnJ2bGdBUWZW + TkFsRElrYXZQWmNoTENsMHFYejlISVUKLS0tIDg0QXl5N1dPcVdad2dqbjRCNVNC + cGxGd3Q4cFh0Z2pkYW1lSnk0SlJ5dFEKgOnmce7B3puHLjtIjpoaU6nDy/cLxpqf + O5orF5Cn+PC7W4Viqr3heY8Nf62JMglzpC5h/y2YsVr89v4JOOTVlQ== -----END AGE ENCRYPTED FILE----- - recipient: age1hv7m3xypesdfm0dfzwgctde8v307g9xaunnfu2687y0lagcs5q7s3eg0kj enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZNFB2M2sxYnZVS0t2MzQy - UGJhWFI0aW1CN08zRDl6aW5weWtCYWwwVGdNCnVHeWczRUFJQ3FnZ3cvZmV4Mjdh - dGorLzFJWmVqZVIwa2thZ2JJRHJvdlUKLS0tIG96VGprY1d2MEZXL0J5SU1MaVVH - L3RhUC9ZMEFXN2Qyby84cTZlQnZtUmcKJeJEhlkhQ5r1tbruPPETo9kgzRArTFeS - 93wucRCN1SSAM9ATeJ4On9xLHLcRMjF74/SaLLgp631pHd5hgj1eNw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHN2xPbWtaTmhGbm82ejdW + MXg3eXlWOFNhVC8yMEl5K0pPS3Z6eFpTZ0hzCmtWTUN5UXZkRHg4Mnc4eFprMFAx + TE1XOGNHTll0cjU0cDcrWmcxSy9sYTAKLS0tIDd5Zml3Wk5vVjJpT0ZEVWtTc05o + enFEYWJjcWFaajRWOXAwN0ZBc1dlTzgKL2aoMfNCJUNeWY6qhpnNUZbo7K6IkfZl + R0kH3Co3PthwMI16BuBGCXkRBwEA7AY8MI6gWg6pVeuM35cf9K2evA== -----END AGE ENCRYPTED FILE----- 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: "2026-02-18T08:31:29Z" + - created_at: "2026-03-05T19:17:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/+PUYqauKhPFT8MaZZhcCGuC8LRQh8VSEvtudxuSZiirow - aJRAu07m91j5KgAWocyDOjfVngAXb17wL4fBED7bFjrZRAWz0BI9j925tw4bQv5G - TCfzrzYvNsdzuelCMI1ZHz+B1zBwpfWK5VBYf1Thwze8zhRpbuCnjuRe0wXvpz24 - /HHmPqq0su6o4Vrxvpo37uuUPfCBS9Skf5bdUajKlVaovHQ5iSDYLJujQjpHTbtI - tl7+qDQShN3Uk7Gt86h6Tj6hZ7BaE6cKY+lx5XPW942739En7qgIzFkNeJUrhrLS - 0qc/bLiFOmPasbKKKH5QA7cjDEyPz9rGJ7GpAQpBKQR4Q+/UJtG/Vb87ObHE4KZt - Ib0KTUWJz2zdAGao7icgZ/vfHv7Mib8vyNGHzxniHSOLFC6BIbhgwVPVGowq1qBg - 9byzpbbCoUSMS0eP6EDHo7DOPD9DzuS+fwuI85T9yVdrl2vYIMTyFBcyK3o4UcWK - rey4eKjbjVSvRaZQWv1UN0zdrfbIT053N2LbilQJUUJORpkcF9sQIyXfvJcl5S/L - 5q/hzOE7kDeQsWJHGl+4BuYo9tOCLywgQMPzXpwAuQNWi8e+Z7LuiKkpMvhe8KJB - 90y+xOmtdZySaINhd2Ok6IjSd+LYfYDMQmgkNmgVXOLL+dcVePaCAiMwWos45lrU - aAEJAhCwIzsnuIcTpEGHFAK+374rw+YiqTP+kqImnpOZp3J1IpusNDGQ5/2F8CI5 - uWii4qe+kcj7Fy8Y8J5Gav9iZZwn6FqlJG6431+kQpb4FkyhF4BYeO3kic64XBvC - RBMnF2QS8jjJ - =Mpvw + hQIMAxK/JaB2/SdtAQ/5AV3YQcYm3Q7IDXrq5bYMdvLN1oE09XC0qyOFWmH6ZG/O + 1tfI3q8qaCV541x6pbE41PABXs0xpG+vRczs8yZkXs8D/m3uPH6eQrAy4P0YpLK9 + fujbSB6go3dKhFd8dh/NncIRyGtatRSYWs9vYs/8eSevxj1jIEksKpz3QOSBbnuV + f0ScW797+3SCV9/Esa6GaA9Ti2GInCJyQ5CQHqRoc8kapl38Uzk1947qBVlcavrG + EaV1Nu0aN4STgpbOYUJOqAOAWna3b+OJ/RJ3XS08IQZJ/6jjQcbotXjCTIiro1Af + hqFb+ovyfbbeqVLP1H3iFwuNLOQCVzTJQoY8nw6e04V/hHfD6Lwn9QEhjX/tssQ0 + vffVNeuVgGQaDajJCc8TYc2Vpq2XSw6q9OeFvT8rQFTT5OSp0GVXDMmr/uRVp498 + 6QMr/R/sPMUsDdc3Rgo2KZmHnYRrcpxfyGFNlS8yl4yATr25oKbs64AXYY0Gx80h + RDWwnEcl0F+lG5Udat0K3tJ+dJglDANdLWE0GK9DFdFEyaUdZBJiT+ixfYtHE8Hg + DpD+9m3y7TSIfjPJZQU6K4YOAP48mcwO4Hbt31Jzt/GgbORueA2GtyGos4cwRM0m + whbOQ1Xz/fVrLmgolG1rTzHL+3gYGe9cdl844k8Hq0yolm72o5AOQxAZ7qllv1TS + XgFXYDJaeXYQmSs36IPBByErcvGrrkpoaRLL/hIp7nSfY6FAwn63noYeq5W21SnV + hjb3pxhjkhq9VmWpgszjG9BJ16rjIqQhenFKn0qEohAPTeGtMmE9A8wmaapuMxI= + =Em1l -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-02-18T08:31:29Z" + - created_at: "2026-03-05T19:17:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQgApH8TXAAE4Nc43RbvjblK/oEK+plXYg2+vTf5ExPkhsBz - Pw91mDd6LeL/Y5FnlrA5VdasGynBL8J3gmdx9DbX+TjV+kvIV+n9KB7v0kkQB7VX - +CeA9vmlnCDPe1ifilkHiTp7Q9uYTT/hjFLkgimBZ5HsHuBTr5nsPmNEZBOBkayb - uwr+bdYoYTYJ3SmPmE5mqERIEIlevZxtLiRnzcGrVCPV7rnWlOYct9CBvAm9M4AG - ww3Ymvlwi2fUB72OiVraKSbjw+jAbmP6paLQcbTMjtsidK2xzj3DozMAAA5CBjf6 - Xb5N/t/eT79l01+KBM+x5wD8J2jgHmjRlY/T+53m/tJeAXjHcwvUSGfRh/e+W/GO - uK0iE33MqqwD4dimA0uNFTsKfiMUSqnqngAW1Q0DgrdbcpOht3vxHgiQtBKGkt2e - uT+rwDsM1yyI4p7tQrkIxPxIZW6nz6UgtCwVQkbgww== - =K/Yj + hQEMA1QflAioE8i3AQf/VLQFQEoj6x4YujK8e4rGXm48Ajj7HQ6nWfozToU/xv4v + Ug4j5gFQNj32GBoyCyDaz3iGNO1jIrdb/OoVsJRd7E9V4zCCIXLlWtuMwEPfRCTp + a9K0R7Hrk2LP0MIpr93CwJjf3oP/LyVEr+/hb3W+RM87Lujsd/6DYFq4BXUHNgA/ + vT66F3/BFH8rPEiRUlXpZe6+ykgjybG/T3uusxXawAvhD7u5e4fLN2wQ7epdRvk3 + 98fZOvVnMAb/2rhGsQb4rCLMRIf2ZNUVBKyEdO7eRvE5a6tQGRaPECv91M6ExnYY + 9FS+ZZidrSc0XnD87titf6jirNnAH3ZVbCdzLwSs39JeAdj1o5nONIHKgc9LWF63 + a/X60R+sYO4EYDCUowzmiV2HirxIV9HzlY7skDczH8gcFq+aRPHbxaEY4gcGVWrL + o3anatwseO+5eB/pFI1PPUjqP/xy8kSvONWExy2ixA== + =Z889 -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-02-18T08:31:29Z" + - created_at: "2026-03-05T19:17:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ//X6sphh/kEpzJqAyoq3s35yvO8euuzl0SW5QGAY2GBqrM - U5JrDKK9K+fEotj2TRnce9y7o7diaJzlQXLAsHt4uZ8l4Es6CiBDmjcEn86QXmvz - Yp8F4cxKohfLnWHSBX6Vs4meZIWALEfbgLCUr271P+SuMCpLXFSNSjLDXcRUzrRg - gYHHJtgCPDWWh/YHyLsfxfVNyt8rXpQjQ+Y08EBwztKBfmdvQFQDiIrrukgqoT52 - hhJg/S3hraRk1DeD5Y1Tpw69sQvgXYkUyzq7FQE68ZjvnLWlm1wdxiFhp3AquiCi - yQGGK+F4QxnzLT694wjWfvDLfiURgl7UAGOVu/I/KiUo0gMnND3ELrLJ/2vvNDh6 - U5WUI6HjgQD2DWwhqzdc/5IhBafc7BMeqVRrIVNhN2M05osZ22AZ7pVWmIyVSiOC - sNdfBYJBpQEd8EpE414qBE39GLt+m3Upk6rYAnTql5adukNdyCtKPCsXM8+8OaMK - sTzUEJKA7O7YD54CvmSkw31xCQwKWbIQ4Mg6l6RIlqXyJjo49SU5PKnXtM2o/Loo - 9Q8IXsaT3rH4cAJcmm/Y2bCSvgL74yHGomEM3UFMdL0l3mmDbqJLRHPBzz/ISXjq - ThrkjF6Ko0PI6i7vN0toBDjEAoZSAHtu/KnMklSIUKMLBlMx77+IzwDM8yVHRfXS - XgEyJoEfmig2KCOLZcPmwyo7TpylNWnSKc/jUOKqOO8vj1q1pOP1rERjRtMd3x0S - SK5Cf0x+sK5TXAOR8bpRQEDySv+6oGxB0F8GnRlamGDSRIMf8xKCceCLh8wVibU= - =uq/T + hQIMAz5uSgHG2iMJAQ//cZi0yzRs93r3pZ/f2XHms068sKJcRT9t8qTjjuEeJy+F + ITYn14JWTwgztfU9F+nBZim0wNuc9uZmqGuLBy6ILCSrC161HsoabLQrxfTLROG1 + F2Cqs7ilygurHfOqDljQZ8Mfl4bKzVaPzw3ROH9ATN9BJRmvXwDBSaBEIwzS4fmN + FR+dedC7dKtK6RG/xXnshhLk1gMhaSyW2dT4JD20Lu1DK6eUTjNyQQUrh8E9pYUi + T1u6L3/hscnL4QkWmj4aw6d/T/seceGtkr7q/WfzFIKAOJ+9OvBvQi7EdZMiAQi6 + 1SE0hgf7zYVUWg8H+Q3+6GGmmM/eh2AJxH4TVQVyc5Y8fHxhhorUwiyLSwZ+SanJ + SYXePO37+MEKJtKu1nKoMK2EgOTXDVuMmMM6C7o76rtIuZaV1Lcl/idzxvedYO4s + VfnMDB/1iQ8sUDtAWl31nnygZjZ1C1+0XyDhBeC4FXwnS3OTzpZtNhqW+aOCqOgv + XoBXIozJme1365Sd7LA4cFJnv5Z2LJJbgXjSaK2TwnCgFpTKyTeHaVMiQAV92Xoj + M1MDK+e/BeiTOROMAr/EbfV8HOja2+8YIm8/QaAOrYcDi0BJm34VFJf58+3gbpIW + ieiIIsoXrT3s3FasiQX8jcEJryEp8duGhMJp8GgnJfHzSk7T1krN9naJWCo+edTS + XgFOBKi30sJXW45A78KwHh73Qa8IAeGsFf57taLThtIa1pkO5Qq1keMH/TVHm2YM + Dz4FrOLDoLabAgeD2m0xWAEp0lOeRjJzmvzXrnkxAfisFXiN6PzWIHEWW+Ns9eo= + =Kv3Z -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-02-18T08:31:29Z" + - created_at: "2026-03-05T19:17:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ//R9bnzixQsimi7NBmtQHD31uAQ07BOsFup626YaGZ4FUc - XszBt9Gw4CyxqGVvy3IouLJuv3ad8BT9sD1JBDy93Z3EIEiVV+lLiCZMBVEqLntE - kWJ9NDfu4bmvIiP9aCoo5ZzJV3t/dHvueiWwV/lEsjvUA8m7J+XeMafOkcaJ0Dg+ - ngYzBqs08iqvaPqEHgVE5iDZoDYRi3qXN+W2IBNlyAJHqKWLnbYRhLoJ2B+idK44 - dO2Dnsraav5Rzg+Ai2AS34QTKxhK8uM+GfBQ9+eV41Vcavhzl/TiptqYUZpwyBIl - lk8wgHhFzDpi81D2AqONHjwk1G/+9TQXl4hQxQC6AAZEiS6UJXrf/qCngqsJ16FC - 6bCSzpKxfmOmnV8thH+5CL6EF4eXffHN3oNfO3dy86+QrOlFwjB4BC2lCM3p8q5z - Ji3WO/VCkevLoR+hq7rJbF2dqRiQ1xqcBAtvFINdsQZlmllWJFsNEKW6dxFddu6+ - SbOQjOBteySYwgaRqPUma1Eoy/+hPkZ+ONQr4f2BWJIbptDg/cIhaFftXxZkVCPP - ulseWnQDBEzWhrGGqdiXrLdeGFE2ncPMEzWMaMql/sQrsoIAMWK+g8R61Dbai5Y6 - dy0s52DzZdmaUPdoTPqnrZRxjtDDWi4t32+ITqrDY/2fhSJS/urNQB1NHjtmSQbS - XgFlebGty8/O8xzpfq6rO+qgCQGuAuWweeadwoG862vmtmbL73UVrqJWldb/n5H2 - bQtxGCpceZQnV2f7tT4D230v2ETz4NLIj3//INQgg4K6WKAUpecjHwW+dWgQXm4= - =cPv6 + hQIMAw5vwmoEJHQ1AQ//SPc7dXhI5fYU7h8EcIjTeFBZx7N3XxXiNtP97nou1+GD + MI/+Nm/Sb4Y2vXGP0N/LZPB8j1Egm96P3BQM6Y/s0F1eYUHIG4rmEQQgDFK45Z4V + x1NqfobD5h7wuY5A5ZPELU4qJdFULmouwbNGZdNrk/GC1aLCOPI8Xb4ACWBoMDmX + rjJsvHIo3G7pc9qnd4kjUO2CtOAeGtGM3vgbcKtwS53x2+EzZbtJ0/QCUS4PoBvQ + vJXcEMoJ6+kKiIZdxWyAqmm5P5NxFISQTQpogOi30b3TcFNOmPdwh6+kNqM4jadn + L2LY8JhNW7nnmHJ/Z/aB29pebgpd7dwwGMBMhh2qhT0utGE3LI2T//S2qsOOXrNt + W7eZI4QtU95ByUN4oSBhxMnOd+uPhAXOKPXNZ/ZrVGEy+H0Qvfw6Im4fqsMKEvK8 + XM2bM+iH2h2IeEbsehjWcti6u4EapVhg95bG+jLH9irrHOhWfHRo1nk3ZU2O9d/d + XCafQfUM92Ee8P5S66V+QwLHRprF4Prq/RgBgXvBE7In1TPqYnGSZbYmFKBU4YGW + yfbrySe6Ta6glH5GNpN2359yGieUSMzFtn6AVJQJiISgUR39yLwAW4LDp5mJTXXc + YnucQD67Kwo+g0IJcvn/NQe3NmcW6O4SzmAo4+9u6ZbqL871pQLqQ16Ge+4qC1HS + XgGP2h+hdd9Ujv/qyAGCJPYXyaeqQgNrUCl/wYsBwKpti882cp+ibLSefyksSNrL + YKwkTO4OU1Os3WAsLKCm2teFikIZNuGRpll/LUdJ1lebcgrDYksi4BCbfmJos5Y= + =xzzU -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-02-18T08:31:29Z" + - created_at: "2026-03-05T19:17:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAohNT02X2wZNQxLcca5SraqeMStMaWaOgEzmmRpI6JVkw - t0A+ESTVyqbf1khbl0lOnIWzwePVwuVYEcYDgAy3jRVVVycy3c+Zm73dRFtBxGgh - 0l4BfHMMFEseBgp32V3sRBM4gAdW40jokaZXPTXOFxtNziA2M17RW/k6178lfAX1 - 8ioIW98qHUEYsHE4q4VjqNcmqOqtWeCw8GxkqChjf6cQj4nKhp45Jt3lSlovLNkl - =Nxf8 + hF4DerEtaFuTeewSAQdAqWKRSe4mXOoISfxgFTCrz8z/Hnf8Tr4QhK24q1wgXT4w + 4KRxQZXkkMT1t4CrSDqfb0EAMmVoy4wZ56t8gIjhKFeVWkpnsTPvbLw5s0X8yuur + 0l4Bm2KGkal0jkeufePCLRjIEIceNacsoYjr0MAEnbjaW7Fz5Pgx57EnCcXeTc6T + XRlZeVnldD8MVkDd+DRQ5xbpdRVuy8C6dF6Ilq4gaCjtS1cawvVDGtLE5MswJ05j + =EhTC -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-02-18T08:31:29Z" + - created_at: "2026-03-05T19:17:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hQILAxjNhCKPP69fAQ/3dJq8Y6uaZmZsQgzwdyxFnZqB/uClepzdyq1QuNrG+kE4 - qxR12z/aaN3hWYjv0zrF9eHLKud3dtG6Mt6/qEw7meAvPwanLWqd3KAnYnOBuu11 - sil/bNUWagMt51u2fz3/dx84UCUkAfWcRd0noPGHekv1ZULVdR+z6HWWN+0Cn0+Y - HB7qCXPDIFwF2hVY5jMnuNABLoh6DbymZWpJAUy5nS06rN1F/NI53xjdFcV1HX33 - DTsRx6BhD/OcbO+ew8fvFjBRtubJsvKT17qUcTf8e2AXWc71iYiZ+r+RUgzBLKQF - K11X9FMW0do6h/Gldd6ny7VNty6w5+jywaDpa9iat2iQ3RKrVWsw58E88uiMfv7R - CFYkKCez0CS95isvk3M2QIeFAyZJrRcAgiAlO3UCnTVP4On7hQIA0K2/KIXBOcMm - 523p9u1W06jo6uvy656yVCPyZ5hXDnnjneAWQxOaxpoOacxgFVMr08+Ouq8NmnuC - aAMGIN+JvkR+Xf+PFXrEK9Al8DjwqPhI8HDIsOlER0q7WdYwe1zJPRscTl3MajAm - feKHZtW+yDxyTvn82Hfx1FHtPs+I8HzgnodSVooN/uB4CyyrwXPDWO/PhGiEgTZJ - yLrY0HqgaZjlyztP6M5tEsPt2GW9gx88/fRFuF/8Sfh/xQEyt3BZh6tmChtSONJe - ASgWW1szUeg10GtrQy+t3Hexyh1xE2HPB3101A6tR4BEcQNk6w/bGn3Eg2aDezA1 - imHHmmrmLBbfxFNvKu0lCtppPumfyI3TwRboOJk2phE13v3H/B7DgXQZmffN2Q== - =mUK1 + hQIMAxjNhCKPP69fARAAgpGMlPyVL1EfmrjANbdjzi6eWrQEmxY3KgHfCYQrfEMz + aR3btFrlMURn8HUx1CpB4DytT8pWDNeEWCyIsb95HGy/JzvZzeCFXjTJyrhLckv8 + hpjbyy9h13fivIp1u9w0/+OE0ATuEQPOFBwRp/h45tudSxzy4NkuIR9tNZuxavZt + Dx2MqFyXKs+BRE5Lz76ZYg89F+jdM/c+rA0jIsJ7mbW3o99zWAqERn/mE1s4FNAF + 7Z1rGkOUnRHOUEDQsf4yN7bAJ3XBUDmA4xEIKBCXGP6+jbdzCMsDmcMPWfE66cRu + vpi5DLOGJp99BdBBFk0YDcLdH1eU7UZvxhquG1ZP/jSRr/GKc8+20tXgeG78SeyH + bSQ2qgdkt0UXwx3k7YRQ+JkhzpZ6gJ2l/hHAP+TctEWOL6DTayp+9einEWJhUBgY + Pcg6c6ZwBN5m1YsfdKoRzuW1BaMDzCROG7zwtAAyJpnzSGyHLGW+Sj+7ReHMzj0B + GWy6xgiLIL8fO5FCEEM4oRYbP7urwDjK5EvqtydVXJjNb19sDuzlMzRaiesjYx+5 + xFoeM2a1gMO88oa6Wapmeed78OuCxisTRDjAo4OXvR0pX/53FtyfOBXh22l1+DmN + EMQTp6iNBGWoUxfmxPg3PfDRh+EzxOxt8+KWoIp0QrgRr8Dqnsi1/2G5hJHq8avS + XgGVpqBtVre0KFZThJyj107r0u6YubMkcWIkSvhO+lStJ903yr5s9RdPkk2S49fn + ms79HFuqQQAsT/foOxfdt27c61Vyk/muQEOW17b/xEeGDRVJ0hLwf8jMo/6fe5k= + =nqL5 -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-02-18T08:31:29Z" + - created_at: "2026-03-05T19:17:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ/+PjJIooojyEiS1YjLOqf0nyxu1IJKjjX4TByjwMr0JGSc - TQcafu0guz4C0NqZErmbEi+5plSIfNVEJTwH+CWQNmblD39fhO7rdyOVf8DCbjbL - 2jTx5hK4bd8TZFOqYA6KXu148sHMtltSt9S/6Po57ucBkVkUK7OVPCoc2JYp+E+D - BBBxEhMbnARZBjyNvyvEioFFEK4uddo8/XNlZW3gk2pC+ZQqHfvSfIHDulMOqPH5 - E8EnT2HjoImzK12uyPqeocpxtgGmDtv0xSimvOkaRBqiHm0Gz5uFHwGd3CV7/3TM - 9fNgIZ9hu02Im7GPxZUr7QSYQMTNzZjyxmh3bXQwvOWPmhg0CJiy5Dd05kMlz/uB - wAjyjW91FCq4GABA79BV+Gcg9pp1MrHc1Yqbrqa4oIiyuSm+SqGu2Zao6A2Hc9Y2 - 9R/NVagExgc91a6e4aC56KLc8P/3+fBi2XIXupkRvB8OcvFBWL138jjQ+r0jojA8 - r//2QwBQRUbo1j6AmYw2KDxGXKvxpr1bWEC/aKHtJX5YoWzptPMZGDB1zc1jobk9 - oyJSuJIyZ82mZ23NXD4SUwLfVZseTwsrd8igoMBCsjnbq8/RoWoJ5xV1MUnEPEGy - w0QwWxEE77oCPTsMSM8quxduwGL8ILnHwSg51xld8dbwasDZm03A67QlB7OJuNvS - XgHLOmP7pm/p9jyiq8bS1ILQu63erFzQC/Qs4HHA0kTGcpReJyWpKpe53vw4zRXH - gQg8FBkCSwaNq8T4AYO2W5gWN3HArmR9pPr9sJZ1SUTZuZvlgImo+GYWkb67120= - =xwHJ + hQIMA1Hthzn+T1OoAQ/9HNZYGm0BEAACffBHZLfVNgNhj1k9PhPjKPhk6jq0/TF4 + 1Q0sF+NL4n0oivIx7BRsIYiVuBbblelO7pV+i2iem+X1J1LO2dQsYqt1d0Iui2YI + SZ7bcuw1y7ZZuaWbrxDdOj2ExImMRyQUTSfN/kZMmdPnl8pgfFh3DO8lbATAt7Aw + AHTXLtyqJ25891K/P7mR2yP7sHKCZUqXAY5VAYAqBN/b4f2CxmyJSsnZlf8/l3rO + m9wbuqs0Ofp77eoJYqhiSlfXecQ/mnoJ17n9O4uf49xPMJf0UTvzLzl0GKkZGjTZ + htNfiQ9azeLPmPeCCqp2030Nf7rd+Nc5fLSkmgs7xI5Aw/1FyiVlV79aNhdv6MBD + AGJOEvd716KWJPsQUwchT3AdLypbFdDndvrw+Gf/Nzz6R3bZn3DQpC+tGKxteN/X + K2vItobCGTXgPuRNFv/p/J3I+dkmXQ7uYtJLD8ik02QV0E/sOHzJrO8xKIUbFv5x + vmRoh8K5s1ccYS25ZWo047vOuMVjDYLnruMJvGVVjsQpBhGr2xgPJOR/59QGA5lx + tQcRSeRyHq8wL+I7R83wykK7927rprnvZ1vzc2qDPW9S4hkJuKiIb05+6RS7eqJ8 + 5D/4SkFw4OiMpYthwukYAeBe3wZ9SKMAiPyjyRIGPZIriWGI9PX0UAtUSIzOB4HS + XgHr+m7jT5PRi01X2MWyV1OYzLFtvm+GiR/udGR1lDqGJyMQQiojjXNntGi5TG9e + 8Q2T21zximAuQ6Bmly8JjP2Ma5fAVw0CmsAP83W0K6syiedutCK2xkTUes6tzEU= + =w2YK -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-02-18T08:31:29Z" + - created_at: "2026-03-05T19:17:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqARAAmYbGFxAvY8ter5cpbnGnWlUgcY23bmbMWiQMAJJ/F+qi - NZ0tJe49aetMa1PwQxb1EnRvPhBq5ltDO4+xmgoFlpWGS40vTYiCKXlow83iU4q7 - BvjwDDgE7WIVqyWDOrfXiifiisPC9x81Z3XlbW5LTmgjGZcnriTwS/ocKcB23lXz - OFw1G3rmp8ewr5KYEP7+MZDxCbxMpAldq071lzLfxbLvnkmPTa+vE72yE3R38FbB - H4drCc8lNsw1Fks1qWr1vaj5erevzBO2xMru8WqOp9we+cle2bmsTEG0o6TCisWL - UFMBblAUTSgyPtLlQq2k3NF5b8tzvI1z/bh1OgX6GGigdODL59IGQV4QBUmeriHH - WSAm1TsBRoYf0IMaJ9al1oJkV8JTwY+MMHf3YQC0WJ3N4zoZJ9OxrQGTmn73q5o4 - Ju2fi0ABOGaTQPTN9LL98Jb22TS/ex3v8f54mSxwZ4g6vG6ejxAONmwSGED85+uM - HvpyphFar/aT2gE7EVx8V3+Zg+dhZ2GsJ5hqHkuesztb4Q22kamYqwZrNeHZrPGB - yq/ebx7L9q4KuTtyHi13OyX6YJlIBiNkpnnQTmvhpIrHCCiTD8EHcPEhYPW7ePKo - 3zox3LBSUca9Ne2qfipOoRi0tTTgx5Y1ktGyWzqbvzz9sNTdqD+ymf1IrHHix7HS - XgGvhBz3WJ6XwbH3q6Uiq0lSipl6H+f5Uk3JiOv2UXU0ceiZDDqZwXVS5c1VtJZY - Rd9xQ0tBHVgVnc0bnb5xWYcaWkZkVtdNlgJggFN+HSCdFpNSIM8u7lIe7HDv4gU= - =IvWR + hQIMA46L6MuPqfJqARAAm7YTMjwTEeF4PikDcXGX6I/vfNNKLs1PxVN4xLbv0Ihh + vX4JOEqR5gDckqSbcY1A1dosPtXuAQJCcy5S1DAnpWombI47vYvQp5s2Vkz0PMov + 6S6sxppCYJr3c+akkwyE8fakVp/wG1RCMcAicSeX6vrDwMSJhNLSa8QY+sImcJhz + f23zDkzGCGMCPow9MzINbGHv6bUWyB8FlqXCeSvIbthNEdJj41IsHSMDI/rLtCH9 + kXIWnsPC6NcXbaT1p9BISbfdT7OFvjOraMuO4fBioSZVCZ2CLGIVKB1+EbzuhnLX + LyN2yBnFbmCo5l649VQpeO2dEmXIvKBL6uwrle0qk0ZzTgEOgF97X0YOdG2MCtxo + /fpNdnRrbPO0L530zLNZG4stREY3Y86CJzscJN+m4sttQrcGuqZqg4cgESl+fuxq + XkBhPGI0jCnOlffnIi+BvLo7zx/R6gR1cf+yEOOFfUbIejfgpwjurBxOI1R6m6Dg + LtFrTnEJ+fmQDjElE9AMeeoDjcLmNOKSx8qWSY2or+oP2YHzDXjzR2shqyYbY7Nq + fHGFw6bbzCLSQI/JgQLJfZs0kR1O1dNhgTKPdaZCdRTRSw+giCLUiUCBwYggZYkb + Kz7J7ZJs9SimJhEWmfA4XCjK2TIAg0H0EEwK1dZ/tXGADRe42Fn1L5A4MBCNMVzS + XgGKoHe5lw9FasHOXxKYYBwn3dzM0LnOelyk+uAN2u3A4jQMpBOVeUsZsrnNZHiS + Qouycj7Z2E5SFmTUP+q0OM0/4cSrso5YtQFe76j91pyqtxUOW4bgOnMjgHp+1E8= + =HCLE -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-02-18T08:31:29Z" + - created_at: "2026-03-05T19:17:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAYXm0H0+je3Ro9HnQTO2q8nB4DhzUxyE3X/cHmGnDUx0w - FAoqjvnQemh5dW6DeqhMy3xe8stpJ9F5vPu4hNWvCfM5umYvD4UaqlwcT14fJbpV - 0l4BXAsyqgL06SPF4fsBSMXsjt+5LnyaqZITFbfNUoGK6GigJ5w6aZUVqxKdcLoA - CZgn5ZCrfdXKtDPDwv8WpjpzicoaXKZDzzv8AZmHIYtZEFFEOPy3tAmgivJhmKi/ - =GjZe + hF4DQrf1tCqiJxoSAQdAZ8GC2AtUHUdDTRMqzId7B6/iw15ocFVnf7pxMw1ehUYw + yFfpvRSJ9ldSrOSdI/oKCevblM6kVj9czt15tKlW0Wh2d1iMLCErt6Dn7Jyw/dow + 0l4B45LqT1Cy5fCQpINitwqc0YXzyL46BeB32u4Iu6P3eNHhkKtona6ryfl5u9We + k7w0tQSab3+rO71oLUOB0v8ZS+rs58BWYQMwD1ejalk42nVq3NqbvxEhDpTZlvaQ + =BE+8 -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-02-18T08:31:29Z" + - created_at: "2026-03-05T19:17:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdABI3zgwzoHKeCb9YeH6dD15uZ0Z0/gJf/6N3OaJiLVB4w - tsluLkTo0Ez72SqVsUASiKczUEwgQKJ4jyCrafkSuqMKRkVgnZTAI+VRhvjniTuL - 0lgBLxZUBkWVmx8Ht1aa1PXczGkoj6JFM1en6BOIBVWC6n0aX5jQ/bl0PypAKCxf - yaHGONUmOEQJYD5DyLNrFPKndL3/qKZeu8K4Afybta7W2aKOj6z7CC5/ - =YGqj + hF4DzAGzViGx4qcSAQdAH2RIfUwLIFXMWolneyQQ74MOolRMXfPjifyj8+4JBh8w + SHeh1wr9yo8JkQyKIf4X5lpE9V2ZLuUU8rz6s+37/0cDqP05U5G94MDnkAttI6ZY + 0lgBZsHwOzEZv3h0XVWQpIaMykHa2z//VOKsCXPnyFomBlbQC8NsHvHuyzan1ISv + GNRK5i1TJW6P3+FkSbL8Sxt+TxyMR66mFsjrqJ5nEX9x1B74VS7J1Z6X + =Yz+R -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-02-18T08:31:29Z" + - created_at: "2026-03-05T19:17:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//dELE4hqKkNENtgQE7lQtFeYBBJiWi+zUL+EnTyV4fHUL - oMTJQYQP9JsI5xXaJQq2GDQSaAnVq+gam1n1E4E8vkbClCBU0VCfJMsk59i5szYx - bh/ndzfZig6PpMZ0h1u3Rg3NDlWUiBtsJZvwkFFL2mf80Jm0BNfEowmCr99CuSP3 - jnR9FdZI1Db2QZQVfK4UDZTsE8aG/guPpJs2LX7PgjAJqyRvYa/BJM/+jMKCyHio - n70cdkiF2wihOHC7rL41kNv30Blljope4T30VYaSPZCB9m9j5U+al6H0jOcs9jnG - taaZSag7U74Vx9o763b18wqPW3YqfxWj93PpiRYxOmqKJvgOjWySolY1avD7da2i - 0PYkSGwRIH0jsW8UsO81cG4sim6Em6qgwoMxMu4vL/NBJIUGMuedUk2kPGG/DXlu - bYs4p7uSYEBrYKxV8QZ4yuhBDl8NZacN3HUZEg5v4/TNLzpwHFVsR8R1ZUEUzbG+ - Q5D1xCUn/Ek02ZFAUkgdMEFkfBsByEwixTWs5lIsT2+nEWNhFScqZRiZ1iNHEsVw - ZHWrvb9TeS2cu6Cds/J+2AzXAL86vEhC6a64NgLbFbULezkElRsuhKt5SZM4LKTb - f3LvbXEORP3M9y9SlqraE8h+O+F6FuDTxctuh50emwvDYE0whKGDpMkPFsn76yPU - aAEJAhBpT7MSEl0jKPHwkkUoR37x11Bx8v1eLLq+sMZbp2kJ6mPAfajLQlljklXD - EGocyLzGdVcbO6PJd+LGQKbPjfN0cUbMWBuXgbJzm9DWYPIE+TNxrWUlM8+fSj47 - Coyogs3OmU7A - =s5ml + hQIMA2pVdGTIrZI+AQ/+KucSbdKlfAvLmorZWcbWkFzOw8KNcUmMcxN+gtv0poSs + BD6cl+qymNnyDDiL2nzBiZFXpgMmkLmHAWKTZ4WE2OBpogO6A4Yfwv2vy1WXlm2O + MmSvff9ul8CBFVvr6kemnfqahIfKqac2zZiLo3BIKitZKGa87dLW1b5UU0v+k9sz + Ze2gdOLhQibnzaD1/OawW8O2QK/R8YJgNw7mbm3MWdHwZz/ZXo4Q8f2UbtrzLF2X + 7Hk+fllOh+ocn4OvpFMKSaqZJwBlXGtn/vM1sbQcamj6UNPg3/rpgUa2owsrL5Ep + 6tScHFSRVaWJDwtytWIgcEqkPiN2OB83MTfdDtkxkq7nih16d+yd3G/uCy5VfLVs + UtBi7IqDjNH0hWZZkbPSSXO2i97pq8HD8swTsU1qDTWGHcivDVdhufBtqiObjxDC + dEvjjYzKxe4hFkPyY3fppPpj9vrKpcqTuxucrjT/zNXh6L0+N0+C3dMO1bncD1Sf + 8T1Olst1qLhYKcig+82gccdfJoOXhbS6eQI+p8sxs6rotTj7FKh+LllDC0P4ytZM + ImpVaV01Psicni4dDSZUOy6zxRr2It+IPh7jNf0MjRnoR7cLZaP3r5/la7/ZFNbC + ZcT9B3X2RmR9WchFnr/GY4qWDR2WiqmaPjZS71FVX4fVDnrftk6Upq6cURmWyFnS + XgE4cwCi/5qMlhb5SzH8QVwseL8e9r17zFnaiVkb2Tihg3GdymAag6iWqn3gAKnV + 7ib/SzB+Fup3gff4u+ZH+LkpWEHKBbRcSvWwzc9089Rb4Zde8VJkGvRhfpie7F4= + =+liV -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + - created_at: "2026-03-05T19:17:51Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DKKbvh61jX5USAQdAzunWJnqHZjkNNtpPaUx4ihT9Jh2HT6wfPwElBj3AMTww + GxGR0nha3++prJjpcN75s1A82/Qxtrp3gbHAHgRFqch6YQTQ7ebsQX2+seuXDnSd + 0l4BFJN4FQ+pZiv4AkBtrwnD30+wvJlgZ9QfIam5+sTN4YlvTjD8TpFg0gnC1KtG + RQM++yI7KBGOgRej89gnRekds0oNXyBKuzKxqOydiCgfLDKICvL81K89ow79jXcF + =VqKk + -----END PGP MESSAGE----- + fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted version: 3.11.0 diff --git a/inventories/chaosknoten/host_vars/acmedns.sops.yaml b/inventories/chaosknoten/host_vars/acmedns.sops.yaml index f1e18f56cd..8e8a40c454 100644 --- a/inventories/chaosknoten/host_vars/acmedns.sops.yaml +++ b/inventories/chaosknoten/host_vars/acmedns.sops.yaml @@ -6,204 +6,213 @@ sops: - recipient: age16pxqxdj25xz6w200sf8duc62vyk0xkhzc7y63nyhg29sm077vp8qy4sywv enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2WUtoVlV5WHBNcE82aWhK - bmJhVTV3UkpkMWFNZEpNTkc4L3BlS0lTalZZCnhvdHRoTDJJRk9JbjRVUitrWlRv - eUx0bENNMlFjMmpGcXZvS0k1YmUwcVUKLS0tIDFQdFpkL3lnQktmOUxrSTVzcUd6 - a3F0akp3VnI2czFGMXQ2OHFXMXhlVlUK3heQaBIXAbB771wF51s+mYkdyw/Z8HiM - xJAOcVaqcnkFuBu8h6hlOAL97Q7lf13228aRwNoj4cyzn6N5qh3aOA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBVdWVwLzNPT3Y3cVhOdGhG + cFI5VW9ZYThYeGZPL2lrKzRneFlpcnRSZVVVCk03UnozZDkySXhNSUN5QWJQaHZM + MXBkaGRRWXliQ1lVbmdlblRnT2VHK28KLS0tIHJaMnQxZlpKVjRDdi9mVzhReDBK + b3FkT0xYcjNDYmtUN0ZtSkQxbHprK2sK9dghe+Lh6yePoRCrtjsKcEeawGZbFDx/ + aMZBpLhntqE2WBDByvkTpJY4wp0ScOGNCgMiZjOHZu05ae6EVZ7RIQ== -----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-02-18T08:35:12Z" + - created_at: "2026-03-05T19:18:11Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtARAAlHZkW2GRrZkyUnHVzDIDfj1fyUez8dZA3BofQRHeJCXS - j8VeM5+2IkTUzlL9+HJstXeJW71ZdLegOdnpPqYNFr+OVhCKMhZBSRu3tpOInQzB - 801l0zyOGnhlyEw7xiQTs2+V5+SpUBWnnfhAAQn64C0vApvhlUvd++zQGTV3eAfw - /EcTzQmR7ms3mK5ff/SEarocXXO5ZMcVDwjm12BLueAv5Atf0I7omt2nDZ94EWr9 - VAbiCpT1lU2MZ8a7zFAy9GNJ5H4/AOUc3L0xONdEiQRwwNCeva9UPqzZXPI4lJiT - Bn58B/T+t1POoBrh9UN3EMz4UVgVfZ6LoX7dR2ygqZjbarw8dUeeAL9FePccQ3pf - sufK4IVQHCAvTKbsM6JhoYxPCQRxyndOK4Wq3p+WvxiWl5WA8vCO48LBph7YPsgM - j5nqins4LEWG1Bulknf+1v6E99RATl8dcv7YWWsm5mIEfl3sQskCf1XFvyeNFlj4 - /n+7XQ4DGG0jrfTKtqZOYNSUUYLxPeTpHGR/sC5Lk9gYU/QZ7szWwvKnuN12ij3W - pWV+bF21GuAH+SngeA3gmsxVtVa59aY1STjNQ3FL7JiU133yslbzTe70EntfituG - +aVfzBRefjs6BF039bQ0N6/EEMP1KlNtui3TfqPxGkqrTgk0sizJMBrTuoQCgm3U - aAEJAhCls7q9b/fo3Mpy0jopsHHiuoKTxN4OJgIZyeSR0YAbf4XXno0Cxif7Rfi8 - q+KsiZbWXLRa3Bm9Gst7a7HMegAR41oxoDjUGoeEV6PE8FHCfdA9sLZ4cZSFjMHM - GuWLc0NEK1pb - =cu/l + hQIMAxK/JaB2/SdtAQ//Sov5pYJ7yO0NbbyhJR3XifaFyQtrPjlRnwCCdtye6oaR + uqA0/HX9vSnMEmD95nbjfajV4wYZcAMCbIEW1PhE9WfuyvSwE1rSRTPxSQVFAuVq + u+wPXHJRnCizby6uffgUnr/ABn55MPMB6VnwMdztso/gJpI+JqXizVVFSVLOxS36 + nps+ghDVTTuuNFZ/YyJJqhvq1wvpV7YnTwn54j/UVE7sydfG4KW9Rws0+es+n00n + YOGckk9UlSdqfvnFzBvIHqpMol7StElGbj4bNJ6MmtDWkI2v1zD+hxxZ+bmBcqgI + vCEv42X2gMF00oO096AT7/32BaCDBPayzkpfY4w5CYCgqcvTeo7PIy7dJQDJXNO2 + M8DbvYBNom+fWUPfMIdkWUzZAv6+612ncZ7S+mBCH57O60ygazvZCZX/8W9cBO3f + oqeTvUwZVEQJqiiy15Hvd65Bs3f3VyGEURwRl5cdL6sJQYjhPNRy+Qp24b1YN68n + nhucsnHl/dx4xVHRjvQYFwKnL3dmbF12C03+ACqo5aDZqwuy2ji5IHMFCW4MlP5K + LRCwbiRaeFUoVqzeVSLYJGx6WJY/Ti2OZyR6IyQgDw07RlDtIgJLB/QhH+TGuqxj + 9Lo6wIqCEn/tzjv7mrIockQ1MdCSnr7srO7WDG+YRgHTFSEMaClh2RiyGcF7a7zS + XgEAay4JZQ7IeoIe0gIc8lQgrJsTl3sl+vxpMsVuNo+TJDwQ6cybJ3nDyHLKfDmb + lCQQ1reDSPDVuldMhICdgZ3gKW69q6AZKeQZr6Tvh4k1PMeOvsPAKHzZdQXKj1g= + =/V9d -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-02-18T08:35:12Z" + - created_at: "2026-03-05T19:18:11Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf+PErzSL61mV62zSDQPRKcyLV6o9kEd8jC8CF15+VVy1pO - VYPqsjZfHJQVyZ5vny/KbOeknjoo+gnpj4QPSQxxUkX1+TQ7D5jxBIQLlLMc3Eu6 - 2JlqU+9b1bB2wz2RPn9TpdzBmzqm8xd00iC5uG86IRVlyCIoDxdQFFQzzLHZ7CZf - CsDowkitLHrYRnlna4xUy32+KnQ589cHXC6v606uv9eMUZ1S7TBcMJiVHwL6c62p - 0eXafpQqHe7spNQoE2KWWLp4yHixs2ETodP36kfpjBmQcB6ST9LsKmRkiGoVa+/C - UV50X5c4HcVzDCLKsmoJT+qmmznsdpWlMFAHuJGH+9JeASB5eVoH6Qyq4DUktX8b - TiMuY6LD+VbTuTtpiAeyaCpjUc52dhu9XP1jkQKytpifc9xKWyu4ovOW1FIukSLU - xQmEeQc4h9NYa7AYFhGj7PfSYBr20Ab1PyOTyvb0ZQ== - =2QuL + hQEMA1QflAioE8i3AQgAr5zTIh+RBFytje2DbziKmS3Oz+Vhcq98qeB1BH2r6EC3 + Qs3ccjxiWBoPZVurp/UAV4qZmC6cvQzStW2MiKof6JsUzlWmGwAlSWVHQSoW9uON + jGb8YomW+xqhxCJ96wnX7LXul66pmAAQpTF91Qvd3Qm9nB2im/Nm0Vt0mZdG51Zt + oFY3Fyz2v/3n/uDmxWlHvudOSk0zcznbUgMX3w/hvZeVv5KUx0Xjd0L8c2NhpSJ7 + fM9QSX8DAu2gFIcoJ06OkbYzQatsBM+zRpuf80m0KbHL6k4zKIXWT3KRWJqwIgUK + bmzqWAPCleeP24+UZjbzg/MhgOWSv27b/DXAkQSMQNJeAfdmrIGGMzioIxYTMFGU + ieoX9NRJOZO8VQojwU5NOtH7z50Ua+4FZtCtQGa0ICaArGRTZPCoKjmNca6VV3Kb + jVfI7Wt6kcKvtiGiXdR3g1AkXUKZkflvIMCBtiiiBQ== + =Jh5q -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-02-18T08:35:12Z" + - created_at: "2026-03-05T19:18:11Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ//fgmiXqpGHBlVxH0DNmqZuNI9J3HDmuxlQBcGkyrzGMa/ - TwMbLmEqWrk/EG2er3IxUQCmVeoIXyRzcNYmNbcVtYhTcNjH0sX9naMy3tOJYeFh - 1PD56qBmyzQ8cgBJxzmQ9Wln2Sj6zEZieAUdQvnKh5QjvDnr8HIx9dTKwPhluT5T - auQ+s2aEYSabJ1RQW0hVJuxyp4GDoe3H/JDhriWNWr1WiwC/1QG0VKjRNeO9Y+xA - caMw89qTb9XMa3fL7MnMpOPL+m7JYZovwoFFXXTyeLyShC9T+5GXJafcC6g2lcOa - W0DRIR+e2BPf8F+J5JJpE4FDXsIg56o6tJ+hUuc4phKUTfhJvqdyKAwszWZ+DYwP - d7m1KKrqmTvvTCmGYBep5FW98aAOixpdGP0tgAFCkBc/UxaT4HV4iS2kVPp8Y2vW - yIXPq7ZLgRLA/jgdW0XF0vLKkftwGoH75Aamad/Vj7g9qW3n8eHtELSUw7V8lvz3 - foe5iEfQdDK7BFtqhgCeAUFPJQ1h596ApNMeIqtvcSQwZUTSbnU+bX/lLkzbLk+r - RjRFZsRI0niTkj3lxP2Zfzx+45aUFIYwD7Wb13jVxX+QQ5XbbT3n6zKENGRXBuw4 - 6O4M7hiuxuDMr2nzZHK06N5GX9sJC8ZYOL+HakfzDpl+thszNq1I+9pe2b2OJjHS - XgE2eIFFYYJqeOmoEeK7yhVpUF5pS+aLNfejZavXHbh+YJhF1tvzWujtY0mg6Tv4 - 2DTXiTIpzuC0g/0tvAiqDCGR4M8ZsRbFIkTIBfLU9FSorZONLr3EiUR29eLNYwk= - =WQ7O + hQIMAz5uSgHG2iMJAQ/+KHwHTvuBLweOfGnpOST9aAxDuEF7sSXwmDIxF2ETjLB4 + jayN9nlyN38h9AIl8uMOfe6z7jPc8EgEC8ggLkksXDJRuerhWZ+aGxI5zrgGrwFd + o0IBoKmdystL/qMb/94ZcQmrq5iB6TwzcmryXsKpP2ULzvHv8GsU2PnWJY6TGoty + Y7KgREsWlTFTMzZv9e7zUyb6cXaqMmuvRePocl6TKDETWvIfrsS4k3PZ/TGJMS8G + 6XZIfjGxpQe2nOlN4hMRTiJY97YX2sObyMGTFy0WSVshAYuky3CgJhXZY4Hke6We + 2F9DibiYOpIWNvNZHMo7PqyGV4q+KMAeGB0INYBs2h1Lk/A0BLNBlh7QxubxboRR + 7R4xB7ymAfA7vo2aEBO0Sljk5ourFYZFhWOCyXAwZRxtJjUJYwdRK0uG6XX85cml + JPMsoahMEu6F91GUXLy+OpAgMPZ9psT69KzNOspmzWoN4+lXO9nTuSMgV+YKtJyG + 6cMHAOPVUWgYNHJEUpGfI3rTqgegg/yDsvmCrwePt/kkGkvRDEbO6LYJLd3vbIcy + 7tq87YKj0cZ8mawB4c+Jw+u9EOViFrb48usrTHNN3FhSVr0t+srvCqIz7ozxU3mi + +mWJ4c0fBwSNgsRFDbNzFDsk7gepW2JPJtYRW0AOMSDFSUqVKa7yYNPAHLXsihDS + XgEqWykEpABHimMcxM2K/aw6nvseiY1mkTtjKAucBZWGG1ObYcFg51OH7Odgrfvk + Z5PTsZ80+yTMRTvLP+j2RQ1xGwywHX6c1dMd3ybuV8iLDJg7dyEsq1GGGXiSWUQ= + =bm4S -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-02-18T08:35:12Z" + - created_at: "2026-03-05T19:18:11Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ/+Nu/msPzhTCdd4tNhmCoYof3Fmhqetq22/bApmx+7xzeC - AUp0+ySO9NQOsnzGhjkmnMT4JfoLa5lzQQ6uKl+uU9HVAc53mEJEj/Sjk8M6U73b - GjdHn7dGqqNNjizGiETaE+abOSGNpymEPRQHFAZB8kYfT5Gc7DgVz2NzHoWbqcQu - xlnnWmfX8r52fQyZYlL9KA/wC7RZW1PKoX0WTdZ81K6HLcRPGmYiGEOB2VfE5fx9 - twF3uZZyqHgkAoaB67BAKcPyfFXIiRb5rg6o7WAfXYG/BGr0dAIZfzcsbeCvWe5J - kkuCgL1fWDAeTbBjimtWeWMCCHBQ953J08zriMLlNEp3xmRdTPg+dBC0EGoB//0U - uvz4XtgQzkKuM/tu9bEB9onB4JQOUuQISfM9/ikac7OWuPZGlSYL4EaPHgx0yF2V - XZAbgHiq5cv9Qcv+UVb4dL6j7DvoMF1912cqX6Av7lEd1wlxyYWn0vto2r8zQ5wk - 638REAdbHu4pmIscar60brEp6WwAqHinbv48yOJpodMUfExWXH0iii76geuTjswv - HUpK4Hb6sURmOvtdK3HDpWuDnFvo0vFtzW1DhQlLInEedfkp/wVX/YGwoAUzh6px - bZ9KNpMeXQt9wgKzPIchHiZXnw1U1Tj5XO+I8veb4ap/yI0M0wQsopjqjkW0KQbS - XgHwnPXBr/cSIrHNpv0X2v5hYmYa4yvCm3opWoV+cvPtsd8o12EqIo996P2sePAz - tNp4P4iK8LJZMZjxafNPfJ/EmSA/6hyOD0Soy4Zo+ngphhdeBOM03vphJO+iFk4= - =i1k0 + hQIMAw5vwmoEJHQ1ARAAu1/Ss+giFqYgCtp0w8rQ80l7X3gmrMp4ULRr771OYa0o + KA7lzMVLZM5FxKx5bvi5CGj0q7t8b/GiFrWix6OiY7UdbUsQzSgMNrAO6BglZfWX + 5qJxhh/cVX0kxMAgeF6xvPhCXEzmgmCs6CFnCA/GKo3EBmYQBYBP1TRoX9nfxFHw + SbYgIJ6XYaHfs6Oxz2994pocHSe4QLrNIq8Htb7BtN4RaKuWSrTz5uYHu0W5/+rs + /i1TJazsYImF6c7yVOUxOlILl0i2sM3BTl/K8xwuL6uJnwLNjhIir9WcZMylXUH3 + hDhsaIf+gDm/kpJ/lF9BIyOVemyLFk4u4xH25uGpYalYWZGPRSmpdCmpVS4X+DuF + bZapguattOAGsUCfjEc2XbYj+Ra9lvAmzhuOzDyyknI2bSyvXTJHECQ0jV7mqq2W + 3gEDquYSaOw5L9HhmN9DaHvKPMlhxW+1ylao0KefKRSa6i12SC842zn4bPz8rTeg + wWtIyubuo36uqJpzEceoI8ooQIj1SVHyhfHOR1ciG9KAkV8l7ufrfGPfKRQ7GZeZ + FXBs8sTOqcTN44tDNYjuGfdmERKM+ZPi/xfkQOqIcXJDP54a61rBRB1Y+iY/9A8T + 2eSjA2+gHz9hTYl4yJAmfWe25qiX8mFImo1sKbxd/HdMom4hyJgpDM37nvGCHH3S + XgESyaNBuHlupA+4+tRBIefkc8McC+I6r/LSfZH+J9fBQhzRTA3G2MIw2s5bNoiy + 6IGvZOui2iv0VmJp2OV9xnCXUu3xQSddf+2uGqfwwbanUIpe5L8BNKNP4zl9xbo= + =7FGH -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-02-18T08:35:12Z" + - created_at: "2026-03-05T19:18:11Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAjU0EL6IEe7rIRLdRpKXlXnj0KZJKV9jqRqpJZyqljxIw - EPwmBESdw1I4thzOI2KdLJnfgfFnqcgsJ2UdYwqzrW0GUwRJZh0BGXGXZz2OsNCu - 0l4Bxf3mIPK2qub5+rGV1svSIcx4UAIgVQWe/5cEQRyqKaDqIcmqBEy2Ec5QghUR - AjJHYE/6jbgPvGK0JOtEfKtrJuTSD626KGkMdRE+pIF5WdMReTTcULzBblETHZIt - =oS3D + hF4DerEtaFuTeewSAQdA5XdFOtqbGVcupcCuSj5NM+DcVT4OeHoMLzGYxws6AgUw + zWDXFsOqmXIzzPd5bQlGD5uTsqsTskkO8c50UgrECwblC4K4TALErv0lP1TQBfHs + 0l4B2hD0AO+9qIdkoiZ6aDzBLAfriU7+ipg+vwovwdMR5GFUMc0aDtX74b2TM3wC + YiX7myKv3UOJwWF7mbKfHTYDnNnWsz2L6jmDGZHLkBK0gQOFih5Sxlo7YTu2rPfo + =yq6Y -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-02-18T08:35:12Z" + - created_at: "2026-03-05T19:18:11Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fARAAp15wG9Rr5d1ZcSTZFWa26GTG28R13F325NtuDkpMl3gO - 3NfmJ3CgT9Otv5nhVWcaSPGMY7ul1DRz2ai1yP9mbrTgShwh/jAvB4I09o+iCNSn - W8GqRCRYhK8TWyD6+7QzRzPxu8UZaPp47hhHWo49SxMeQWM28fnmK5H0vjlyANCZ - HB2HnZLqrnu3hT6CGCn1whO64Osp4YgiRVrqsClu1aeM4IlHdvkiY9c2LMnDQVBe - s5yC3tsxvKMMSdxnv7HHGfbsGKzMoc7PULqrxs2F5IzvXIqGAOQ6aOJJiImi0a20 - XXMKDM41Mql1ZQSW8PAGg5Zm3vuyHs33xmyubPg96RHCHh29Jv8+HzXLXOPCXixE - U08cAS2u/tHIimkR89NlPQ3g4vo8b0KtoyPtEkmucsdL4PRMZigfphP3qJBRp72p - nZt6orDoaW8CDF8w+MucsWk6HF2jBtqi0RSoPMdYK0bMDmliD0lMCwlJOXzTzGw8 - tBHefZGwBUekm08a63/Htg5K3tU90j0uNlk9EYexaGzK7wOfhZ34VsDJzFEGz/sy - NRIrb2Nawjm6z9bczP681YEQi8RXQFvGMnkKpTPON7wOnYZW3Akc1oA3R6QD63pa - tWDZ/hW+ZoDwMrmfhmRumruqUT49X33TYiASP7gBjXCAQtw80y9nWgh+6ESFfyLS - XgFBsfFReKQk7PTF3WL2DOsNQBbUGQwEUwlV2YU8dK/Rl5YQjdm0o97GFn39ma/M - EPnyG+9sbYdJNHI31803BU9yYW5wmSXdb4wIQiAZ86wJOwk4DlG7HS9ODH0bC5U= - =kaqS + hQIMAxjNhCKPP69fAQ/+KRCDsUtTEmMarIk/GrNvNc9T5OcvNNLQoAFXz1YnUT0a + WyRJP7EkMl616Netvcc4/8tJI3mE1IWKASPgYnvsKNho7mHgusK8IBp7RCcle4eO + g2KIS4gtGx/8HZVA9sqbUEz0HnR4AcDrvH/tvmlT87oj4y0KuzRkK/Snbdlh5vH7 + Ttc8aocX1bKfVDCM1fZgver9QL7Q79LVJU6WqERTJmECAp9qo0GOI+83ZUAh5Q9f + 9Jg5JIYLwS5Tkw4l3S6zpNlqqkRwkoHQnHIqYWyKgWiBZSDXRy0rm+eLg25eaLSU + getqMUPPh4JT/7YszRujy3delNtnqLWzDQivz7qzsgQ0EJrGC7jfAApEjrp7+ZYY + CrmnFL7dlDQhkpaJIDytdkjzjOkVQIy97BDaftTaf86cpem0tzmNhvhIm8UC0KPM + prB7NdFcC9tHpo4d67i7NtVYOp75Iqrbb1I7FTZZq2ZaPgxNIE5DEHDoPVE/a2/W + owfcqKU20Hobq7O2I7Sl4Ltd2xTFaM9eo9mjkepCuD0ycxJnBoiCiIpAwfO1tW3L + wC5xUhCCheBmdWgzliY3IbAzLXcLwesH362m7zQXRhh5Wm1w6QuAPpuVUcqLtHoP + 3ZTHLbEUnNNE99tsgkxL0UFkD/bPVort675r4x98t/39N5qKB7S8rASRfaYDv7LS + XgGrnS0LWChdISOe943vo7KHVU76wDnGu3hIsgYPnYkzpSq8t1nmmibsIxPTx/KH + XlZ24Cdb7BTZ9ACaA3acoH7Ig6g86HiqNvA2qXAuQUoX0dgfpeRNQ07ePTMS8YM= + =YHQb -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-02-18T08:35:12Z" + - created_at: "2026-03-05T19:18:11Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ/+Mc3/D1Kj0pXswVnIyYXP6N1hcZvDPM6XRdvpbC2ce7+2 - YVEwO7rkHDAKrc7cfSv8ZuMYLj4Ga+t5Ffmv7DMS5MLY3g8oQ3ZAf0iP1noJunyK - XNhrjROXgPa/xDJG5eVcGRblLVTRoIPf3g5CGpUsqnJYVrCDABsA7Sj605Lm5hzs - YJ4ysPzLBozwptkExTQrt/kYRBtnNH7nxw0qQkFuc5HSKCnN44IJHzQkvJOI/03q - wbvVuGjFc8ehn0r0mz76Z2p3UDufiIxJnc/WvzHXT5B01NUP3qOsw09rBYdQ7PPj - F6mHptDugHXFGIQd/Rne4X5p8HA29ldnr6rgDwWiOXqTYmRiSm9AQQKf9Rnk6AdP - xzVc1TSmWi64OXxDpZxDMNRkVIb2NShLcXnewGEd93epAxEu/w+m1B5aNn9BZOvR - 5/D7rb+43wS0/7NVSkJ7hjQtNYpinnZDsm+s1oM8fMRU6/jZXQQcwmuWfjlQv1MV - oLlFoo79MeMs9W7G8wqOzSRYdkiG/nN9oVIZAnBPBb3bnPzDdG2KDMt/B+M1q4ar - zb5So+j6ycCVhY2z2nficcOyDoeyvvu8Yeqe3wPLtj+4x0XZFUpPMbSja0aCMeLs - pEbJ1hQ6FGzLjz9GgUg0hTImNG5t3MQByhDfLk/EOoa7HWMEuIrr0PRCifi5BDfS - XgFQepGurU50iQz9M1xna3dFK/Gy0xA6Ke2l8dy3ImLPAJdSrQEe+en00pMo60lh - h2l0SY9wzJYAoiJC7WLlXlJZIY3oXuRz17WWkSVLl/ARbzix7uf5ray7eLdowo8= - =vAOw + hQIMA1Hthzn+T1OoARAAiFY1zT8kEroA7xfHfCoWWA1gQNG+U+8rr7KA7k1dyJNj + mwMG8W0xv5BoLeNRcKR+0HbO73xp5HA/yR/sYZfCvkbjTrMp+Rjb58zjBZWcnZ56 + F55gI1qdNn+y59F0GuQFRr64Q3OCrde7Oe2aIFscc8YeO6VYPMja29+sMSJ5pZeJ + vDFMZP92T9LiLfc3eH+eUaVA5NXnxGwgXGOb9SyT/5LNDzxJP5yywn0KmftNktVv + JJb03wIYedkMK/IHBPt21MrwfcLbF28A4PvwSCXPG9UYyptCRG0hJOMq1JCFDcqq + 3BH1mhOT2CwVAyEED2ZqLo4rCLFcs7urb29osxVDF1p2tRIfj5cs20lj7y4XRLji + JxDwp+OpeCWKIv/YxNOh2rBZxRtbp0AUothvkWNJiaS+sbRWwHUvIgPvUluPs729 + v88rOkmlscPFmwTJRUrd9UMEK8fauAyEz2G5PNCc5knU86OCvkgzx2AMSPIXEbMY + KgDWuSsOULtcVyGF00C5sQSjBCemrw+2D99eRRCBn0xmVlrRPAPbtDamc2oRryaH + QC7bUnqKDOPvJM/2uAVIPNC+aHgXx1u2dd8Ckw16xoAU+zijKlejA/b2Wm0BVQjh + nxZdesEv8xAiP4HSlA2tbeSir0lPy1jnvvOHPBsmOGDTWXTANFTiYz/mYPSfHs7S + XgHj8aiuHjx4nU6K3QuG2wQTI8YQPFvs8urS39pLYthB0Mv2mbaNbwkvto9g7o3Y + XVUkxNQbByEJSSTlVWRXntylrPdstKpYCkUbpiiv7K50hvk6UEuULh9k/65Jq0s= + =j7Ni -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-02-18T08:35:12Z" + - created_at: "2026-03-05T19:18:11Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ//R1HSKmZwYag1jR6auGXQzEjh9OpflRtn+3tdhvumfufr - g5/kBN0JZyWj9LDQRcKxuFMYNt/4cnKCHpSiaySQeWvVUViFCXgJ8fnmpDiKWv1f - AoJY6Ks/pft32IGhTCvN+rCY19WXnbukr/LE1Lhh9MdSeofE3Hm7aDrg+1bTmDru - GchUEcm1yMCqb9BsQFITAdpkfTLTjORAzJbAAdsodVhZIn5Ye2RoMDHEy9sYbSGx - dNy4H/6/LKVqC4lvsjxIVBkKBjNCcHrwxItji+WGhCjsAqJBVqC/JyhDRcB7QQ1Q - yFwzjKxSLljnogoRsRxTdOkjDjdJPnHlYFFwpQh+GZd7Ad6z+V5OxI8nn9yVlfK+ - XOSoVWirLBjXBh9n6RrJQZOA9pVFkbaImRkOIqKNUF93pzhnq0QmSspphw4vhs4r - 1XVhnaOFg5kYiLsLait5C5o/66sQORGl9Xee/Xw+lYNUwKjHKBwzu8lDLMu8CHvG - x0hVShR2Vime2je7mBb9olYpMgc8Ldmwhb7JRf1l16F5SYVu7h+KX1hlMdpFXi3B - TviF4M2S1UNH2Sexabk7vsFh2OrhR6csN1D/Si2J+rzcmDeyNEe8uEUOK/tfVjcs - DrAJ+pirmA/25nVa+Pidp4q4q5meVYzsGoynD5619dqKxZRrhtAaBOdE/2bchi/S - XgG8GSPJTfudoLuV5F0JWG9KqagbwTnILmhhPFMz/ijxa+zhMXpuTNQq2ZgzTdp6 - ajNg9EJDM9SIkOBe2yapOMI3DkGsLy0/IyJGflcvqXmsUdZiMzL3dKWuzyygvSY= - =79vi + hQIMA46L6MuPqfJqARAAqqjQvVhkup3nqC5S+qcGV2i4GpAH8wH2HXru7tCL7pQz + tRZh3fgqAPGhQTKSavF1LSBNE4HlY704vn1pUIeHqK5uQabz/N+DuV6P7OR6Ui/E + g3VR/gGn1I4s/vxjvsbThLQAjeB1V7iXjCY0MB02t9T8Z/zMrwjAziV1bQz/mo4o + MxSMp73IGN1QJ5Z8sc0gPE3tFbXRslMSCvXbHLJr3ATQ3ixiPE/E4/F13Jo8cLsg + lsGc0+1JS+efB2PQm50LO73Evsn9Q0uUnpEyUQknvZIG96aDKgWKmrr0vOW2UKFc + Lq1kNUOb8zRZb/j+3sw9Oo5Q/KKxB+XFfa3R/8YedWIwf3Xm4RE9eLVuUKu2vviw + gRBVuNnY9Aa9yXj4d29yOwseHRyKLHTrGjca3ABxyhtRoTgjpmPaTYIZsmLtvOeN + ExVlICx5rzZjWEEEwkPooj5QJNEv7JbxkkHi0ncpErJPbsmPesz2f2p983SQM7kU + UEjrl7W0TTCGa78ZH5v5IP09ARj8BWza/zQyWKeTx64n93umvBqAh1w/o9gar1eI + F5A6iMYDb5yTImPZvTkehALhsDzAh1vmozMDs+19GyS+fVQdjh4YOaA2IQAIbfm5 + gBnTb3rfwK0/Tm9YQH9iu64ta21w2yIre+DOJM078HAZhmWZQMHqRMJ99vIDfojS + XgFLgrmtgBPRDp0x6HX3B1zQrF6itLjRUfY0ZiCYxDSyONj/4FWVTQ1ru4qG0Dz6 + GoO9x27R5vVNTgJQVIowBeVerSqxtCz87YA+WyNPkAXsx79ohEDXCnldcY96IRA= + =LFwY -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-02-18T08:35:12Z" + - created_at: "2026-03-05T19:18:11Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAhHNeueJk3qNQHRFshEnqEna2vyqhndrveOoUHHd/akww - c4vo6YljecS/3vJntjR+UFh2C6nTvXI5ENz+sHBU8KOETBK1fw1puuyJ9qsmDVhI - 0l4Bfg/ZJBVTfrdU+diTlwzzVmtXi7ZdMVxeWg9UYvfjb4SD7v+Nmsy35r1zW6OH - Zs/faLUO0M1w8jyLyvtrSMFwKbihcpiCr+Cc0rcXZR2IQIXujDOZUD9fY82KdgP1 - =LeYB + hF4DQrf1tCqiJxoSAQdAItKBmBuFYef5rCYbtmp9jCmYFHguqX12s6WbFVm5Zigw + JuYLxs3jcUvJDixG65KrJ1FfEfXz0dH7Y1fiiTUD00rLr3ih9ac0K4sRMDIBf/Vf + 0l4BKRaWWHspDUFWbQAhy0r+yZf0dInhmvPbPjBj66Uc80D9wVK1QiIaVa+luoNd + uWtQ+u9joijOxyl+YWFCS5LJVSaOjuci4cJKHvRbgvzV0/OgZHl9JCusTBGBdiaq + =PYJK -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-02-18T08:35:12Z" + - created_at: "2026-03-05T19:18:11Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdABNSgGMaerRjhvkybsMCPya+kmCXIBsfl7aDy6yuFDlww - 4B6iE7BVKGN6vb6OVX5rzKcB7iOTi2jMcxvYBEF0vn7usLYEjqVTwI3eDEDrsxZi - 0lgBUi4CvadTYge3b9atYN2U5aWJMO7rkevccFILNjoytSdwooJox6pk4gYNpZq2 - VigzmqA2ghCmS0RjiL0HuTMR6amV0U6x8BCSTQjlrxjRtAE3ncILHnde - =eU58 + hF4DzAGzViGx4qcSAQdA0LljTFEdERmc0luFo+2irwed5ezut4UH11pbqFzJVXAw + nHhINWNgCJ4SHexEJEYkS9XFhlVCfJfx08JXq9U2f7qG/cbsI5xybU/QC7sxCjm+ + 0lgB06RXSqs1qg7RDSx9V7rNB4dxqO8oHIXUmt90Wfam4He4dhjMUZiI/rYddowl + kUPpD48e6xpHqI2f18IYQnz99FixGbKifuGh50QasopAblL2XajefVdX + =yHqj -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-02-18T08:35:12Z" + - created_at: "2026-03-05T19:18:11Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAAofOPOIAf3C6fvh0sozMZAFBSB/FV6caEOCNB1FxdTlPx - M4XteWtijvq4hvTIRmnn/VRwA/G6crZbcajCDnUzIIr9sr8sRBLS6oEW0m9FyFrC - BvFp/RhTrf4swN3ZKGxbjmAV5QqRWuogp/TBq17QWDEfqIfJ0kpz07hui6HCkgUg - mX/FoCyD5GKuxSh3VSFQ8UMVi1PCJzS4qyMQrgYEJ+NYIoMjjDqZwvxGZM53l8dx - 3BQhVFOfxeYQW0Yx6wUwyoueR87NGQmSykkCZ69SJY8TgsKv3KLRhpgdphzgcdxy - UKMn9h11PLQRj+KMuk/mgx5BrgBuITJ42xw2iOOf+B/g9XZ7Ggro9+++HmLIAGaa - dwdDA5nVW3MfMd/ehV+WzyQ5DYDc/HpRyQiIlesxGdxPOQZt594q7KfdpT16ewLN - UK/NQXDf11M4LDZOvfMk730IDeLdAfU5OpBl8LQ3lPuwJWJ67An01l+3g9Jbp3Kk - +b1EmcrR9MzbKl2pA88z0zNj/u/1zaTO55pESdyeASiQYFhcAwo3IdJGgBD2WPVc - tn5L9EFpILn1VFlaI5PnZUDip4QexwIDbweXjeMUqh9ak2/aksrViqgsuoIlqFrD - 96GSR7iwEX3bTCgmdwTCWGN7f7/McQP2N7iNY9mFkxHnQ/RHu8PbnImE0GOTdbbU - aAEJAhDySHaBQaVP2rwy/mhMQcadzhCwLSpkhYm/dlSDuqHT0TqJZor1EnoD8Jb7 - PIxGQJxtGOs27Q2x8Jl/CXPEHFUYXF77wphlHCTZz7H7JpLmZK/ZZNL2DX+FM/dm - BGh+kuqJDUtK - =v60a + hQIMA2pVdGTIrZI+ARAAuYpsJn4bqFxK+B7Kqk3j4KoHox5eNM5c4Szxx1ZGmin0 + J/a4PP06WXrFb3HKlbqu7ngnkA3euBuwcVqSbPu3BW6TsVodLqyuPl6YBLXbpcY9 + fOdQ9rOEh6y7xP7RnFtYFLVQACKqfH7p+oh+HdGY5I5boDxt0tUnLUjyMHZTsfE2 + oECHfhSR6XQuFiWuqaI7DeQF9aTZ4Yb0aEQkxFjlCPTArGWS4UaqJre175ompQcp + Mwq/ZQIOYGqjRfRsxwN4Obu/ERGnWPvsyI/+pt5U23bXyOA5s+PPdYZnHpe4+ta/ + CFfzVe7GN/RZuSG1itzTFRQqueLu1xoy3T0BjRwMpsu0HlWLnJz34XW8P7rWEgTR + GAT/gBG1hQOdFnS0k6RzPpcoh+6ihIjVhjDTweVIdjl3V0ipwKAxlZ0DGop8JmBW + uF0O21/FvzrTb/tnBpIHuJAyObw8xJe4xAtBPwjVBsb0psfmstTVieWlqjvl5FVp + mfGCXq6qNrAHrcwoIfO6h3liYQqzYuKvvVxIKPXbLgH2XogH6w+F5CfpoZaxGV1i + d8eEwfXMOrNYXGsEmp9J2Rn/VmY9Wt7+UMa4ss1mSpZ2llUnu72pt3N8yc9Uzh1b + 9cQwK69kksY3yjQxMUGF6aRMOHR4F6Tg7sB4x4mrKSHTC1CySCGwg8mycvuBT4vS + XgFfN7BWwdzeFV6zy7LlZK9KW3c/Vp5R2EV3YCMCvAYEeIBRqDx/ymyNh+fCLDAM + iSuqhLv221UBu/WDTUPyGmneSN67x0h0xViSZpJfNtKaj4p4uXT5HLo3PVGq71E= + =NxqG -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + - created_at: "2026-03-05T19:18:11Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DKKbvh61jX5USAQdAG7c+FMTl25XpfPnkrNBGq6dDzl0/T9zX1Xf1hWovsXEw + 8B7T5hN5UYBKZooAV38KcTNktnDhoECMd1cxqVlNtmdC/bVFvdGKgk+ze3FBSsOK + 0l4BgMIVIA15c4ImlCJsA6qgrv2glINPdUMX1biFwjqntBeSo5f2ETlzIybT9cgp + dbcN5saOKO3Wn3gnwXhrsjg/3qT7AcCstKazeXdGNoqwgNK45T5PfBy9kMVoyLbC + =nPKq + -----END PGP MESSAGE----- + fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted version: 3.11.0 diff --git a/inventories/chaosknoten/host_vars/ccchoir.sops.yaml b/inventories/chaosknoten/host_vars/ccchoir.sops.yaml index fe3c47fd9b..9f83b373ea 100644 --- a/inventories/chaosknoten/host_vars/ccchoir.sops.yaml +++ b/inventories/chaosknoten/host_vars/ccchoir.sops.yaml @@ -6,204 +6,213 @@ sops: - recipient: age19rg2cuj9smv8nzxmr03azfqe69edhep53dep6kvh83paf08zv58sntm0fg enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBLQ2NQZU1Eek1jRDJ3aFQr - TnpZcnp1cmc0T0RxWTAwYnIwb1VlZ0pBd0h3CmZhdE0wbVhaNk1KSHNNa0hBY08w - VFcvTC9NeEprd2IybXFBbFlINUk5d00KLS0tIExRZE9QdW1TcE9iTHp1SjdwZjhO - S2VtWFdyL3Raek8zRWtQR3ZDKzF1QjgKg35RQyk9A714A7DMMGMocXdMBhoQTajA - vpXefCpbRK7Je97jtRp2m/d71eoAApC2Hp3gppC6TZC722oV+GqioA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA2OURZWEY0dlZTSUNzU05y + bjVVSkhocTRRZVZnOThZMWt3ZzhxbHpiL2hVCktFTVc5WEZ4WWJQTWRUMUJheFpV + THkxN3ZiZExGSXg5WVI1RUc1dzRxSDgKLS0tIHh6UldaVmdoc29nQ0NsVHFlVk5r + Y091dW1JbjN1OU5WQ2RmNE1mR014aUEKWn/Zmb4hbpg1RQZiUMlCQ7VqpjzTkTzC + xvUe65m7DZzhlHTaDja3ROs0NELLLW3JVedPl+QKqIJ0fIgTuPV9YA== -----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: "2026-02-18T08:34:41Z" + - created_at: "2026-03-05T19:18:35Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtARAAorTtAGpwCQqCjRr26BWQCI0SpPFLfhdkQBUnV0UHY6Je - RABoiJKRQMGVCk0ZH6wHd3lBKWasPyM+n0z7ctg3yRugv/089kCNFhy4BVMQsmwB - nd+fYCm6wWpC8Tp2yqCbXux5ClXuy4VdXvrOHOGQ3nKFfinTJ29G/ijkfMN1XdUI - /zYC2SL8Mkft6TsUC1JPI8TMXL8dkC7FCQclpnunLw9MjAwMtkFCNmNK0H+fu45f - Pcuo1xVniNn+jz/TChm5sgTwWxB2z2YTOogoI3u3yAPKfVOijDGs4f0bwYIZNE5N - mjhTv22NTHgeP1+Jz8p+FC6Dt0vQcQ/PXakUzlW3DAHp4aZRe60zJzkFZsT0mpj+ - 1sZMj/z3l6Tt0YsAHK6LEBbxB6LJQQo4Iy1MZDZmdRg/uY5kHCk9x8MUBAWucpMl - XFpYlA46pi2c/KiH5S4WRLbaB+zdbGpxEW71WnslVZU9hjf++ktqsl16/xzb2cPm - OFe7MvOqbIjdK6OZ+9kUeTNAc5i6PY1sstI/sUjxl7EGtk1yA+BPOtHDjcmibyBO - 9b12cKzZhno936IJJQ+FDYz4AenD9YD1dZ6JEq3ZqcmWB9J2oWdhF71VJU8D6Z4d - +dx4BNAEHgBc7TpFJF4mfqQfNPIEu+HCOyHIqXFNxZVADZnWJrI0o/fwl2b4mQPU - aAEJAhBJ4dtH3/3EhUpP1SLvNzlX6HZ4XtxWzxFjXwPPaXMI2icgoFUfd/6xmjC+ - djQHSR+ZvsGfifDa4yEXqEbi3OrC5meojZZUdmJRSw+59mQ+i6puZEdIn7CCoNti - EovwLy+BQmI1 - =bLLk + hQIMAxK/JaB2/SdtARAAkTwEOCHY25TeYVz8yWzU2V5c1lrzszu4vNKXbMK1nUYA + GNNVK5yI28BBQy4rspSwk7LjnZgiq9S9ImYUI/w8E+XyMuE5HMKrqYTrWw6yMVQp + qvB+2Vscm1zOiSWyoeKZ84HGnY2lP10yAvefaaeS/IS0/kMRMmTB97+10Utkbroe + KHUifbsoT0ahHINg8V5i926Hj1RDmyXPQOKu3KVcJpVIVB2k1vLS4acCAQmGySqb + KmmhXbmLKSKNzHX5h+PQ4QkgU0pnk+danGpB4Vs12q62nViLY9NZJGoFhCrqkzEs + i7JwgC62/RdBWdKDyCzptn+HBsBUno01S5jqpLy52QWhP6qSxO9r/YuFkgr6t0Aw + w5Zz/ojEf1wWygYR1qiO33gCI81OB/hk6HG8FnaWgvgkIsBUgjHu+VJDQh6sywix + G2Pqm25afuTUlUObeUCPoAuPHPi8eLi5UiU/Djilqiqek/owYq7lLW6nCPPzN7FY + JpdLt2c+IMqP2lyXsAk4PL15gSCU0vRLgH8zo+mEpLp6Bir9Vw/eNHB1qjFBuhlC + CmDs4Olk9WC2utqwzF6k1xUWAU1gEs2k+p4POpQtDjS0LCG4d6qsoJpK4LvCpFTM + ssSspCLDv4djVaLyC73paHD2zryBtykj5NpvEK2FQpTswfCYs9GX/0WVlZs7vRTS + XgFrzhdraCRjPA0VZCa0+qywrtbct7ADvD0uJx1nIzPX42B8it/CgfuBniuznVPS + Yx1H0DIuMI7wYRbxdnoEpTZCVvV4tyDnJwsd364k07Eyvz/J3msbPUFi1ycB67U= + =nBNx -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-02-18T08:34:41Z" + - created_at: "2026-03-05T19:18:35Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf/QNocQiZYBBQply1fjBhhlLhuSF42JerzxrchjlzwMyJt - VaK1lf3ENzR9XYDhu9+DsxXF8DVMzC9LAYtbOJ0oFXRl8187J5w3d7Bxtwycyi8I - mxTfw0K42kxxfIy5u5k2MqeXboMqtIYYxfMnPj60eNWLogD0sGvDr8swsJ7eO2Fe - JnpLjgrRarGtaHMIfoXIzac2Nn2UhZNgzoF+HGtXxMl39T/OZqPuBPIw4n0j7GyW - QXD7HT1KQM7owQVZYm4hQqVCOyGSG9qsq7Xu/EoLhCQxnYTt0FT9kJqqpSrUttHe - rkV3ysI8HFuJ7bo7qcM/G1TtQcznV3XaytoP95iJpdJeAXkxaqGvrYR8I9S4W52i - t6p0Yyu9F7i8M2IZ5hIP9RdfbhVq32zMjqiDadnFgy44taO/vQ/AxnLLaF8rIgZ3 - v3WpA7bnaSYT3bzgvuuRbEIYx/fDBOlhcywmwsQMDQ== - =CWC2 + hQEMA1QflAioE8i3AQgAkXTIjv4BCFwCDDEVnNX5DcQ2dBFjIh40cJh51LnoMmDp + v54H4wIX4mD3qXeXLb7//ESpH23Spkg1Tcukjgmx34qCPr6ey7f9x16ZXE89s0zu + hcO/N0AxbRBkEuJvZ6/ZThc1jjSgJW1s2o3uYs/YJQuOt3V25yaYvbJFvCOIwZr2 + wW3SrkhLUly2xsSevEF7x6hFoJNSUDP5UAX8mZkYiVzIXGwi9mcXQQvpiiCy6QUw + kTwByALjcwlxAJo9vz/1S/2onXpVF5FrPvGde6LHjFo8W810P6Oj8cv0vvWz4x4S + vRuvFes2CKoeTbbVQP93exuvTyr4dNFpql2+jt478dJeAelrSK0MKlQNR6llTDA0 + moKiT+OPHxRF82MaubRfmrV5/sQiBf+hk/2SHoH73oQ9dRWQ6wwkgjOufVTgvhx7 + v8XmQlm/oxg/cc5E3fFtRpYsVpvxYMG3RWXHPGTdXA== + =98MQ -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-02-18T08:34:41Z" + - created_at: "2026-03-05T19:18:35Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ//ZjM6bH6ojaSyipvQ48RcOf/6EgPKMqdHcAKf0+uEb0mQ - P77cChlS32u0NS7+vOB1CdbYrLldBy6rJm/xHzghYNo5d4eYJQeLZwdVAQ5DAFAs - kcixSLhSdk4UcU1gx3/7m/n2pjt0awc4XO9NwMNKeilsjXiHwlPokZwNDZBEyKDD - hxthNCTHPa8g3mtlR6ZEY7ozoW2wB3tpgiDbsB+JV00JdUNGKS2mK9Eq5CXjEu+D - Z7S88O0Sl+DolDxvMZekoOiUXWjkT02Yf3jHqH36amV5fUyAE2m2l1sMTrCTKhK0 - iEukK0SciMWMOFOXdJsYDY6R7+fua2b80hUSzxsY9dWHusU4go/pBmv3bgwz5+iz - J3LJeOazCrzfgzrE/v2aF9Zcnu9Dr/EzWdjhYaMWwExtvbxGoItS78gkXSq/Cynk - Ff26iJ7qadbla+GR7NeaJ84G7+uRzho4eGs+Ddc9P3SllWX1ZR9MgO7r48Jcsymq - iiaiw+kxv7PQfRbYUX7W9BJo1Db7BRxrBWhT/vwA0ytQYYRNBbY3YRB5wtZO60gP - EK0g4fj0QuNzAVL1uiCMuQr20mLnLlAC+QsrFwWoFqokcfmObiyKoam4D7oTbjgv - MbY7oQzACWPIJqYzipPrxBV2dxdOKtNrSVpEoaTT7so9/9plDcLJG4CJzuoHnZHS - XgFNczqgc3pO5BU3wN5nEQlujDPJr17xanC6NvS/U4R6hVF0gc6aAuQoTm/wUIsZ - zvMAB9VdmN2Nvo+24uZpKMzDUB9cMTMrRoZUP1SvnWKGepbgXiQ3qwqRHoVGaBU= - =WA3v + hQIMAz5uSgHG2iMJAQ//XCRU4MLFm0uxA4NBzL+Z2Gk4arzDQccg7OdozRefTqiv + OqZNqpNnqPuurv//Hcld+ssw3Pt7mqU5KokGuwKgl+qRUAtdmnXTxL2Q1F2etjKt + 6xuJnrPYkdnjPLNrk5EjwrDuGy9TfxmPk0+aWfbKhYOzd9Ux8ifshY7GjYtXFrIF + IUADXIzKTSX0PWMjML+6kXj3Tp403wb+4RdiyRQo6CKNcqq0VjtHmd+eDlkNRPFz + F2HiFNMcoHlK7wrOblK19e0FXT3HTjvZQlq8YjxajGEGsnWjbJTcp0yJDY6ReRCJ + HQfUohVFdWu3ifF9QP7mesOcy2FZjdyZ9JJk0HXbfx8J/qBvlHQGaJlpuGIGJYij + 6Tnb5GAikupav9oIK68QyIKbGSNcZZ8hmu+UvtBOwIEq/s/oezcwUVXDkB1BUXga + h8teRqHj8IN/O/4C0vbtD/Dr0EaE2szuUe/uTSWGvOT1BuB+Ex03aJx6Gp74b6Jc + BlYoCm/0tvpHquSd17vwJkN0bNG7sLQs0g0oTCywbwP/iErT4OUaTQWQWXprdGIq + z3qE9KKoTEsGuZ4uCCY54uhjcEQ33m7Dig42UUD3iVY6m3hSXgSLsHqZijeqAi+2 + JVY5fX9eI5bJJBe0nuCjAru7Sh8idLGXcCmikgHRMMz7Vl54YcnWDysCGHeujVrS + XgGDjwS4nt4yX9dFn1LKIlNhYrzN1t1LGhf1U52Ct2vhui1Q7li8HARujuVBqgSG + zp78h47cLtnkAOPG7IwEEhcyxdkLVte9J4IaUJbWfh3xptTMN3wYTq+Bi+mUxMc= + =9dVj -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-02-18T08:34:41Z" + - created_at: "2026-03-05T19:18:35Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1ARAAqJS7nTJsSRxNtDzyJ7vLeOvHOwTKxj9iELiNaByLTeIx - UrsIgnBhNW03mU2mFVMvWeLfXaI/XuijPdD4V3GjwYx7NvqwlI36yDM67NyQvpsc - iKG+PM3pMEnJDwWxRipbF8zV++mkPZJoTUqZzN4eAIGY0ItfKcIX+8CFPUatireY - dXtJWEpIKDyqs1DV6xHL4WTxgpDhpxuwpdnndKebljuQ+fTt7G3NSnLJtXFzJIFb - PC/fFODXsKrP+WFz/XUSdEPR2vt9+ymt2NV+kxy89bKQqupibZcpi5t54LKKfygf - x/3oZCmPNTjf3Y+dt5lb50/oG8X48a5P6woIN+sHP26rIJuKIkXOEIZ59IRl7obP - bT39gFp0Qc61Mzx1F5dHj9MvjStpwkcQDYGbeu0pePAXcIWnyy19kaETMzN4VGCo - B+f1Y2N+gvEbWOfs20EU+Nf6olsLSwoyN2Tf1lT0RaxH/N0St9gd8Oe4/SQkMtT3 - DKRqRdBikbV0wyZy+cHwllyWS3Ub7mdEFSy6eDC73xOncUV+h/ohmB2mDg/dSaCm - gY4nmNruOjCxvMholPggthAIn2Upe9Z3dl0pwPMTZtqPN4qnDR8QzO5e6M8e6J/C - EwGEh8eboRHIj4ODb21a7R4KWz6evONKr6X2k8GJHKRGVw6bSxwFJyIHFuVCikbS - XgHUZAy4ce2nWr95hTnm92q+Xgq7726VQsA/YPoTt9oyL/teAnuwWW7RXBPyugsR - /ikLmTUhP8yPBK5Y5W23rydJLx8Z/WPW+KU/lPpDuY0B2y/3YHI1JaCS2kvkpBU= - =KtEo + hQIMAw5vwmoEJHQ1AQ/9GvaCy7ZvGKkjAAQNrEKbalONQuQSt5LjKTT0Ey6Q9Iyu + din1hO+oH59wL8gh5bxRCd3t3QGazwNeR7uj0lnbbX+tUeI8Q/4dip0rHHln/7Di + vm+fHQu5y9NidBKNzFBSydbVpnWsPAgT3iT5zxri9H7MmDncc4U3HZYpdPxQoPze + wovPyOVbLPKL9C2PcA5PdbGS0wIczgv2mtH+aODvM8LUmJ9HYoAkMvw88xfQxX4v + 4/UsmMrSynlbORSgCjbEkgI/FUvV83Eos+KWAQeRuXHQ6OT6ywkG8s45WxsO4rqQ + mcJ1oEhAHAkjojDre4i91wa4b46l42gg2MhDgvRDlV8NxwuyJIGN3QIcK3ejkTiB + GuMJHCVEqDh2XDcTkxbMEJQ+9H0jrESEy9CwTxAD4+pFTA+G70Xp3rjugXGRLZSI + DES0Q9OCKz0cNHm4YqofxuAEBqYelnTbraIy5mr/J2GSC0rDsRylq/XF5ibuX66W + +2YfK0UxAcyIaSHeuO7NvX623lYkalzBfjLDS+d054WB7i+XYDsslwSOYH+wJDBY + j/BdsqkMhHknNP+fwaspdxY0uBUPeNaCOjSJLyS7WaAWtDW2eRBGfMX5sslbbMYD + XwoVOdWl309nVCqfoqBw1JhDjZHIRlzujWDB0Vtz0xC6chAaTkdVa6tx1S/yIZnS + XgGHwKHjIu2aBYeYwz0oQzj1GsbKUbFjlyvqYb0+9CeNYG+UOYM11JoAnQaIzGVC + 0gUFNqj47lJ7vHKoehI/Ku6wXforGgGbcD2d/U7Ptn1JBmnV0mogTZRbSnxbAwg= + =dFyf -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-02-18T08:34:41Z" + - created_at: "2026-03-05T19:18:35Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAoUOwHkIcIj/j3W61QFukZHIbjlF7axOA0pMw02epsnsw - MmbFPp7jsvH6yg+BKYvi7ZHNPoUsjaQEpVZ2x5Pt9XFlaOeYxXBDwD86bN8YL2iC - 0l4ByxFgDSjleU3dfV9+wtSAaNcdyVge3GKEhZad/7gP7FFr1mxY9ul7yLCgScAt - B+E5imPs0flyxr2vh298Z9ZBe4HUKwWkSOmCzI/+OR7Vp2p+Ixn+5H0Pa7yVOT9+ - =fKkm + hF4DerEtaFuTeewSAQdAp/RvxQIqSBiFfsJEf/Ou1HYo+7cKDgvDQD9RN+UahjYw + GLDvy9uHJSvsPe5Y+womBh9D/lnMvy/jh+PJ9m70d8D1wx7H4UtFtQgEE3x4KWML + 0l4BAu4+nB5QDE0FqsWfPpgtY8bbQ2LQDuGsYDgLCnx/Vyw7f7HSb+aUVMBMwQmO + v1Lnm2f9yH9DP9FoKX4TEo9xYdxNdu7QwVrou0alqH6GTmSAyOYOwOwEGZq0z/hB + =As2T -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-02-18T08:34:41Z" + - created_at: "2026-03-05T19:18:35Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/9Ff/HUiYbUMLzYbsnP94Zyjs16D8DKrlDzCy29oBoM2Cf - 5K3i1yiLKeFxSQk9yAoWAUeFUcziePq3a6IJl6ddgmhaXRtryfqulh0rMzY4lNXK - zqVKG5/hrIDmFvV6j34ZTcYB0xQcQ4AZyQPbjjUIWR37P4pdtDq5noEJn8ZgW44C - 9PHzst3rbcMsAHzeQgvjZs/hi8vncNRNZgfvrXG0/799v2bm8HnPyOK0yWdva3Uw - AhCzHBNxuLeI9G0Cp/tWsB6nv9NZj1qFcHmNH7VJpculwIASi/DQmpXlbtROKkLe - beQ6d2jkiNgWoKJhBNOkqzAlPw3NwVHVX59c9PHoTR5KYMZSfR5s9aA6N5C6OLz7 - JWNS/OMWAMS7i1dH69+7SNLplmv68ZXYDmd5CWtNWvr4kmP1v3ymFNlMrPm08C8A - mCMhH+KCbb3cAUChLoKcPW7gh5B2qzhL+4Ys+qnjwQI9mJknocwAHg14vQ8S2MoC - cXTqucS9ApYvDuG6qtpP5uUt6icST22T4oSx0xNp6THu8Af/cfESKzCUlS1X/nXe - t9xo2tpbtAGmwWTNah9l22AEI7dcsQHJOoyYOIctrZJ6tAxVjFHoNt1dniT0pLGh - Bx4lvLLnfp+3/rugpRR6GwwdSNia2bfpTSwzoWT6WmG1Aoe3q9JeSG1KATpsjLnS - XgGnymJ2j7SaOsF9Y64xdO1cwRGiWzH/Xrwk8aeaI3JGXAsSLiPgmbowZ8OBEN7H - AjY4/l3QIBm131GVMeL2CdPt4cV1D9w82D2ZKggi5zFIbQB1ZR2Jn2XMCtjsMBo= - =euFu + hQIMAxjNhCKPP69fAQ//esFCAxgrPy2Fvv9vNf+ScPR1ZJfTKYFQl0QRp8+SnqVL + pagFGlu13Q84YEZhXT9gh3lE/eX23/HsurwPNCN2/QRuTemUlm5GhiGd+hajG0jT + x5H8NUj3iufhfJB2eDNkERULtGClaGkrM+DqiIiWLCYdRY5TP0En5MlPPbFlYAi3 + M6JUzLAYXn60JchQEfyb7wt14z2thjQjkh5YvLzJ21RyHVmzgd5Zm1w6rHmLQdGE + oHGX4Z29gwmc07NBZc1P4Iqxur5UTEMyTXwgmD6CBO0l7zza3b5mNGTLll4iXSmq + Kxk20bJlrUNp6UmT2ygDbsRT+7Q/CDjTEm0WsCDxSPO1dRJ1JcmS1kGQE7m48P4n + xxYTubqZunl7X0Iegmi2zlDBZ9VCwcj8S/bnTsd81cT6Vr3Yt8kuMCun4/Mg7yFP + kIfN86PrbpCn3HBe3S6+5PO6fT0W2YOZlWb8i5RaazFZINlCHv5+V4VJUlYw5Lmt + 0teG18c/jk3mIyjSHhI1SGAwFc9jddMh4rYDMJTroJqhlx0HM8PIjdXHSgL0YI8Z + eLM+/taD+gp7ewQyBUzDk1pF2TWwzOEi101+RUjDtDWcr0CQc8ocoY6kFS9/vKc4 + 3mTuAGhE3Xz/CdozhRLwS+l19Wm/SoKZdmznUuqD/NFt/R+0QkhCCtk0bLlnvezS + XgGAJ7AIwIL/L4gdDfv+3LxnDe3FFjtSGoW9DSxHcL61rZuBTXQ4j2sz5CDnTIhE + hTc/Pt942Os5rxuM5Uodj8vPhPBW0f1EC4CT/aIN9zfEf8K8+LuhHa02/E7NksQ= + =eJ9L -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-02-18T08:34:41Z" + - created_at: "2026-03-05T19:18:35Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ/9HNlbqj1Q8MADbdDgm5V9zLXPd5KxtnXT/11SnnW4qshU - Q0WgZNWpLD0dVRSektuqgl9XgBc/GTbfe/S/LCQ2n3MUKtmceuu6frB6W3FnGgjw - 9zCJ+2s7+8s/pb7ChlLujnt6M1ym0kAo02TwiVHhXEexqM/IdcaIwVf44IorluI3 - 6oF0cxJYS6qVkVNxzVcihCkPnMfsGW6J+5hknsa75atCIalRL2Iqk5ou0E9ecsoq - sk/ta/rXx0pTnwFh9vS5xX5oPHavd+sTEnAOrDxFY338AqhHgi5lWg1Iv3A9gF1d - lps8UX85HaQOLSF/VJNZ7kjH8Ti4Nh4HYvPs2I2r2QyhoOCtIF6O9Rj6HPjAY4WW - Hj9jIp6k+5jTpq4qpYLoqd3KPoy/An7Vx5mEAi0GW/Eq7JrABmzoCVrVP/0WDPNj - rWfd/pIUYqBoM4h65jlinwY24OrYkbx6pmp7Fx5ngbmMt5RenJKL+Y/oDYKqsIEg - OCybCFdluKSlmApTKPDNhoo962VDXnHUVRrZ1VhY60Bbid3VqqnRafugThAn91AW - EMy/dpyHgI77HgzsXjocJk0tkObyWY8YiruKkBrs7aWWL2dcT5PfNioAQCxZxMQT - ljTsrksXxREhcDLrPcvkplJXlJD2m0mBuZ471xar/MkKjwjreE1jVr0riL+wH/rS - XgGzA0PRosOBpwxjVsO7eZuYo4VEf9rKaFrwvzo1ekisUg+5Is8cbM/HDyBxbgCP - aEpU6ZpEzBI//6Dddd7V052v8OpCc5ABgTpzjGriMCw5NfuGQ7RIlF55wygm0+0= - =pu+q + hQIMA1Hthzn+T1OoAQ//Rc3yN9QwwXg4+UpreD7A382upJYSpz59aEqbtTNiRmFw + xK8mlF98xRb/fUOItBz3yaPgqVPbukssAvPHvAq3CgwUMf9l6atw7DEf9j9SmGoX + 9Be45Re8PXZtmR5bO+f2l760Fop4++auulwm0nDzZddD7CgRuUA0upF1H2z8T+w1 + ui2f4M74qZr3E22OBrCoRXja7cBQ/ti3nW3q8p5Q9RcbsKhTsLcAloGXMb55R/lr + jQRHg6fCOm2YYjzJe+edqFCbzpde7S4frFmH1vJDsUKPsxx7KloJRjh3r3WLCmZR + E/NmGj4GwFMrkE3Aqqw5P02IPhRl4I6CvDnEagSOcTgXT69Tz5y73ObSJLg3Vd6p + PVwhZ1zae2KX5OOVNMwVmEyWKWr0zUmbqs/jEoyT7NYGR+Sgt9hVGd/1f2MU72kd + q9fRdCMLT+9wjn0weyNByjByGiGcTkCcng3ICQ53WRPE4pz8An0pGdrtwJqS26mL + SwXIsP6WU71MTy+syVnmwuSqO9koFNYfXGAeJPaEQMFEnrvZPujPntCuk4Kv9v04 + WM/BpSJ7GRXL9dM5qfUfjURFbgYV/0W6DILy0N3Xf69uBYwfoL4nhDFytgsvnsBU + +0NbrkSOLjQ7d/2oTdLBY/FMqffDCAG+VWBvXYFUDifiO9jp3YwjNvV4JRU2K2jS + XgGB1CqBQTpCMB8cXuDHF/04ZBU/lUx7YENMMXHgKyNnnhM3++GFfiLjR7k0Ogbp + hdi8ztMm8HOR+HYl9x0PYeHhF/BP0dRbtYGnTj1VJGdpSzJNORsn6tZPPn61o38= + =FsWa -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-02-18T08:34:41Z" + - created_at: "2026-03-05T19:18:35Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ//XJhmglXMGmLz0fxUiWcU/blKEJ03C0Y9J6a1dRhBQ5VP - 5AIxMGvNPfCeiFp7A2Vt7yxblHakXOJzeL6eMFDATjpqCGB+VOdCIHapirOw/KmM - JI2wkjzhjDA+leOn4HsIljKdZCXgjlIHr7HGnzrLHzAcTaAIcz52xdQkrSfLFghJ - c4qQEBw3M3KERYzK87q+Rz0oZIYYoGZDeoMalPU6m2i37U0qZgdTV2IFIXLfwmfT - WrzQ/p6rHVlOjfJXkjdsY56SAgmzf5nwOq0GlMcuCVPEse/8EKXb9eXtZz/VajeL - BkDfr4OSoB+yldNpzuHE8iUESqdCea9SP2VhHp9WchD74bT5GjaYMLjYQ4IInHRi - AHRGwHIs++w/RfE+dszXzt8kVk7cKxOE/M+9G6VZr/yLQj1b9JRuT/Et5BN9GGR1 - 1rN3k9ZMNwO7Pij0ujuJgu0TN/qgX8Y1U1f43IrfF2t7LrCoY7/AZPSd7Lr0QUC+ - XppmPMCFMyuUBj4Bx+36KGUdrCoQhnh1q6VVjtoPnAtEQMtzRfYzceJk9msvrSTC - a3Bm8QuyoiIxUVN7J90zNBLwkwThtiL+VA8Vt4dVzSL1vDHBsZWfNJePzTSwKczY - 7ncM1WCfgkvB0wpMxSmxyinmHZj6XVQB18YplaDDxEwozWcXQi1cS0u6rex7BSbS - XgFELTuXBQ1JtA6gqwIKZi+lDRXCTTiAj4NNPhD2/pij3GdDYxQAHOGwnQc/aTAe - 4fIv31aU/6NLW08YjsKWGeE1FHsN83WGVNRGNVOjoBLsI0f9VvbZNVNrRpFQK9c= - =klXf + hQIMA46L6MuPqfJqAQ//ShlokeYvj4DVtEexsGuOsdLkxXVBgjfqrQR95NcoRov/ + J610rVOvATG6XED8FABHoF7Jlyz1QR8oHFI3DWWx5Xq3Lw/bkMjLNwv9DgL3beg3 + hQ+i2MhPa+Ke9dTweeIsAQEHMEtqp9XG/IsTx2EiUelAjH/BRrha7wN+JmB+LBaK + fD94wHH4Q2grBMv3BwoCvyxXuizv+NUissrhbxCSyc9MD5fR4dKe5/fANavpFDiY + ysGwp4znA7clFckC8x2yk46qELHQ/oG257vvplGLrHe1KdTVptilliqP43FQPZgW + ZxMXjXv23N8chpUoEpuDv28mUNbYEUDT6thwTZC26Zwg9myHF+Tw5+B/C/CwyKwo + 2Ll8pshw3U9J/i3rASFKu4pVnWXIYR5YPK/A2OTWEJPJgiSjIXOXDtHP3Soq7iTh + +3FMsrG5TXckfBw9sCu4S3diLNiv8KW4w5sC35w5gn3D458rBnOejyvdWPYAuPkn + wxCmh4iyLjeL3XA9ArKmsWBAB8Pvp4ScKen9/YHRr2Sg3W/oQkf/SwACEly/Up6n + y6Vlf5CMQG1qqsTsRU4pS3VxP2irh6feB87CAo9UpAW7OomvhMDBY+ZBpAGoABfk + hD+M4HKBvSd7H4krwKzafo4yvkewCy6Mtb90hF+XBqt2JRy9ZIO16ZluQqCteYbS + XgE+uF0OlaofBvu97RxU/6cTxmr5WlP4+iETIYsIXwtty8ZOWWh+zIXa5cHKfRhr + 1R+YqO2aiMRFsm8pOnPVM29LgWSIhU7Zr/rSBq8N5RDje23v6MGPnuIHjNc3AqA= + =+9I8 -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-02-18T08:34:41Z" + - created_at: "2026-03-05T19:18:35Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAAv5f4j7lHDhpmgXNihEC/B/SnELqRafm7r1GcH6N/kEw - YzfLDIELJpDdU5NZvKig2j6gmMXPl3LWSpJcQejmkv8si40EHuyE2QBkKAQUb/yw - 0l4B+RTmw7mli6E8xkfhqmR/FSetvCnWdJ+1tnSjW/rklO4AbjqBC6NiPDoRYkpd - nIjePWte8zqOkgOAVKydB4FJf8+e/6vJFZK7JvPowHYj6DEParhrTiT8FcM/deZ7 - =ltvh + hF4DQrf1tCqiJxoSAQdAZytlUr0Vu/VVEzHyA7iSI6aaH+FCOetkqmGH+JIga3Ew + GnWIr6o9I02Y37O5tB0iCBW7CG3OrlL/VsDlT2M+yR/slRGkUPJSlOj76rqTce6f + 0l4BTZdO0e/Lv362OqVkqgL1wZbTW/7lKcf+9D7LC3dsTcHrLM+I5Qfba5JJheFf + QdkHBkQzfT4FFZ8U6T2xbebLdIH0kW1f5/VaiEN+4NzXuvHsjR0364MhvTrsdNOG + =8nGZ -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-02-18T08:34:41Z" + - created_at: "2026-03-05T19:18:35Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAo9eO6JAmNu8c+nekTYoF39LrpRIfhaC46STKdQPobnAw - fm0oYIvjT0Lx2nLrtNAEhKQGJkKhBqkVxGJC74YfEoUrjGOUR2bKCBcwd+X6sP3V - 0lgBf7W5/9972Xtsby+d+5sLxmlrj112F2R8k/DpKD0k9XbGZYh7KIPGsI3rFNfH - /+iFX3k6LyqLxYBjp7V541M2OFnwJVGQ3AT6FRW/NVxcIZU+9ygT/ch3 - =XUW1 + hF4DzAGzViGx4qcSAQdAFlFekILHeml0r4i7oX9QphAViVARX2+opOW57fh72Xcw + HASmykw9cNl2uyVEcx7LejYq9I5Z4Nt1yf4FYE2eq9iUvsPZ9OGjrheZMhv3yPwx + 0lgBUSJ7ITOST+800jpsOY/X6gvvcz+w24ux7ENp+1dSQoXCCeBax675csFSX4aY + fCis25ThqnH3cY/gBoAmTxYvqj1UWkarVStufPqYm220C1Dg0Uj0B3/q + =Uw+n -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-02-18T08:34:41Z" + - created_at: "2026-03-05T19:18:35Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAAukoG38Erd7RKjpQjHvIbYaK3U28DsGoRDxnp2rzlzx5F - ZcxgWw1qD/pR1d7bgiG1vQc1JNVAc7ECKmGxhfLjmLlLpxrZP6JaBerxXwf0dtDp - /h4/Cary2BIGcEjjPD1lCD7Hd+IapyczjFI16uZrykkKgjkX7NYxLl7pPDqZJybz - 2r9u/prY+YR1jENXpB1Wt5184QQ318qr1dafimceipkDtrEu9nZjrcZAsozoWUkk - GiBYLMShsxiqsX6G9OIY9zI7AiYdh1xiUxpUZFiAj86lu7Uv+alODNbgaOGYYtu1 - p58LghAaBbbvR14ePI+b2JUTIXDB3LDa+0WeXonmLHNXC8AuAyDzEI86XVrxmVkE - E7FRDMHIJfTm0m0ZjWlzFU2ijHQicmvsSk7eogzIRMb6s/el11XQFb3dOl9iKp1W - WNb/kKNqw6gOXYkMQviDBMpvtqZHKiXkBM79NzcVIsOvltv7N678D7hDVU0m5evV - rpin0EPe0m50TNxrZF6u7zsVpJUa/B9WgLcpRjYdMjVcfPLeiIvmBCw7Fgvp1NEF - bDKEP1FXtWbNN00HyH/Qe01LhypC8ZfRFWxFP0BWukh7B9eYu9bF31Ps1BbY0jdS - yDGOA+J4NoNswI8M94hhaLEQcBvuJUmcXLglX7UOKhMR4P294ByY96Swmu9m2rTU - aAEJAhDb81URvayrAYtNvWGyRmsVqG38z0ZQt951Qn35VePzkL+F/Pghqxo2SoEW - XHObLhPBITmru9x+cfFBlT/oXlhfyaIcSG/ZIV3L4b+cP8ARkZJf5sKCDljwiaoY - m6GajSP233EF - =riyp + hQIMA2pVdGTIrZI+ARAAjlxXsj/hHiH8s+nbsBnqpJaUoa1scuh0msSsV33PDksI + 1SKmNdYObAQHsDi+MbX9JJPTne0a4u7dmiaU4ZO3LyMBc3FA77QhKMqGeesWRrPY + TuzyVOC8tPt1BErx7uCwzcmYQLj4sDLyqeOnK1iDEGlEclpRHLeG+lz5PjWp8XaQ + Fx/XEgfLaBN5/RcJQhcWvJh/yj3THb6y9ZPpCwFZg5vDc2Ad4ap2c+IfkdeXHmBY + /H77hmy5wKmgD80vosM1oSRvGhqvLm8mDJBnopHwj6cvcnqUh9+NzM5fdoUA8Jor + VwpM4pK6MgzVdxj/zVNv5zNYLQTCGMO8klCIiBWdeIeUFOF1W8vNluAq6bUAOzNM + /9FIQqB3B+/7xvghL4CzicF9crQ8cHc0FfrjaHCY5+lvbfj7CrqbMSnVpDuQfObf + hpigSiP6RI22rseYuvTK/hL7JmdlFqgGrFT6uSq59vAAhad5WdQ8ZhXQveK9qRwo + V4rjrdrhTuQ25eEIX7U3UBNzWllVLSJbvIf4u6Q1fP6ccXSM8nuIAx8qsogq0W3/ + NcOcA6jdGvBiDLzu8w32nis2X7rwLQaa9HhJcyjgYiVm4+Df+NzGborVVUI91WJ8 + jL2u+KPOFWdjVql5ckr2LGLjRPHAlsjZc6eiWWd44SZa36alf5EFMqhxRFzJKEfS + XgEfJQF+MOAiGCRaJ202Q+74aUmVnRg9AKtDjz15JUzg68QFEtGMq317O7NiPHyW + 7aBoalj2AoyCmSS8MC1Xdi9EHRNqQbmiTDRRY3x8ZCx55d3zzkoLy6WNvsLxOWY= + =D4KQ -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + - created_at: "2026-03-05T19:18:35Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DKKbvh61jX5USAQdALjIIQpeIAstI6SJmZVy3/sJBVtVHCySfgHgR45lr/gMw + 1gHT8n1VMzynknRCwT1epIApzCiZdEug/F6g3Sm/KF42HwgEm2phndK8Hl8B2bqF + 0l4BK6rMvSYmpSqrbSy0AXzD6esFLEoux7k5VRy8CHqlm156989DWuQmwPJhf8xZ + ZyzfmF4cfkwqU1i+og4MOfE9wiQIAb1/lJoVsGrENSfIlEhnaBLpFGOOok8ak0Ak + =CHlk + -----END PGP MESSAGE----- + fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted version: 3.11.0 diff --git a/inventories/chaosknoten/host_vars/cloud.sops.yaml b/inventories/chaosknoten/host_vars/cloud.sops.yaml index cb9278bbd9..7d0e33648a 100644 --- a/inventories/chaosknoten/host_vars/cloud.sops.yaml +++ b/inventories/chaosknoten/host_vars/cloud.sops.yaml @@ -7,204 +7,213 @@ sops: - recipient: age1gdfhx5hy829uqkw4nwjwlpvl7zqvljguzsnjv0dpwz5q5u7dtf6s90wndt enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQaE9tRWxWTzlMOEpjVjUr - VDhBbEp5WFFKNWIweGExdmc5VGo2UDB1R1ZNCjFQVDJlOXJYY283eXNTYVVkWGRP - RmxBb1NoT0tKQXpySlQ3ZDg2WEpVQW8KLS0tIGhqSVZxakVFNG9ld2xiNEI4V05h - cmsxL0oxSXo5MnJ6Z3ZlaUpvVmVNd0EKqJvFE+mPnew6oaA3LzdVIJhFWOBv7OL4 - vRX8fbDqG3cSiIAEx4SO6DnK7UG+pploS0D5Ok5icDXUnZ7HZn9+ug== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBWHEvdWRHQVYvRFFuWG5J + VXA3YWlDbXYzbG14R0tmOTNmaGprWlByUzBvCmZvb2pUNWppQzFjZ1BZRTM2QVJX + NlJ6bDJhSjdZREZCa1ptZVJBaFhHY2sKLS0tIEQxN28wOGV5eG5XZlB0V0pGNmtW + TXFOMEZhT1k5SUlJclhEMENXV05wNVEKZ4Ezqvf+k9AtcbB6UMA9ARbdY83iyohb + 1uP5YnBXFsn+aVLXVuaOA+NeB8Tai3ZQgBH2WDdaJmGrg7WXOw48kg== -----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: "2026-02-18T08:33:15Z" + - created_at: "2026-03-05T19:18:26Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/+KW1dRXAO11hg29z1dFUXdlLvxWmG8wb83FVTak8cJU3R - 1kwTAEPkCAd6zF0+pd7GsoDtidK+Bt3EU0Qtf3RilqIsNlB8EhUEYE68U0mSVcHy - Qa+qHj5bThXcLssjRa7yHvahNUqkqXnke8of9VQmShvST61+kl7XS6wDTulhBFpK - ylTXVtUxsO1T/nZkIFvhta7uYdlGgjVsgOKhTujtjeh7q9KpRmjjT4GdioRI/SxY - dLnXZhjqLO75Q5xHAjOJITl14JQu8XAcs+RFLWlCbF/gsVEPKQSXwz9SKhprM+6m - V2rtZUvJjbRPhMOlezjTazMRxzi+zxLB06ZVAQgCe+8idIKFZu/5Fmc+OE++cCBY - R8o6PMsZ9pMp8vzk0FmVIY5CJahejxZm9e4kcq64M73UgNdAKlwqdlASQhP4SIG9 - Cs+nmyspO8elpmB21q/cQe1SdySgEha3omYKrEL4BDIgnKxiED+LUaQrFjcL+9uM - iDbbalUhF5VHGwlYiOdASjCD0Qy4qHxX+MImfUdkcd79edj7GqnRPi7yk04KyGBg - GhmoFSZDOz0nPhmKKSlBDJqsr5BGq8f8tuBnhsQ4gT+CiyGRTmWr60wyTCw1ftwi - YwrRX/hFIyakfhhJCoHm1EhGMHjtMF8FAB43HeH9zGsjuWn8CEUrh0QQmkO9MZDU - aAEJAhA9hdSF70Nk6csSXwxpgLetx+JvGcv5Ef0cWpgtzgro+w/zVVQ/YNkMyMBg - V+1+sE/rhGbtRGq0UhqZgXt4Re17JdO4sWjw2tuy5SxNXsByI2WeJrbz6TvuBJ2v - d7bKCe85Ebp0 - =tdv0 + hQIMAxK/JaB2/SdtARAAotiKfDE0H3z6j8R+CssZAnUzAmlImWVPifomtAW6noQ+ + AEr0VwNpzrY1rho2xoJDHdY7XI8jEU3iSrnw6Bl71EyufehL/FsZrd74FQq1eR6z + hxNq/MIQHuoG/XfDnlVNVTaqEgtGFL9a7bsJx1ngpd+oZBtYVcTWxC5J+xd7QBdq + jcVO31saXdWH0G5SRKJpQ5LHyX6BLwbJ8jEglyxGqen7pIQbazpBCeyVplDG2O06 + yf3O+32GCurAAKQLw8mtd/1cVNErcilHaWMH4TMVNKQnQszgsCfQgPttuOOsIfHN + Hdw5VQrKywk0wGWx9T8MTEcg9kfZPf5nzaicvzCzGKa4bYE+UrxNKj8qjM2RhxUD + hoCDwRel0ehaUIGc9q1B0I3tdvoFw5rMW4icAhIzRVT42H66ZIBG10zqkwAGB+di + tDK8UGVNJdavJDDUTPe+OmQsAS1Of7rWYNP27XxPNyQ/egTQ+ZmdDxFxwday9pXS + 9MuC4HCSeQKodNS0qr4w4EOlyZ6JkNgsFC8OLfhcHGGhd0hQWO9mU3zklVuZhI3n + DynHNpV1fPh8SKBaTgKs4h5CtBeGgt4y8xQ69lD2MZ1cilfzre6q2vlNP4eZQN5X + aZ84GpVmKgwG0Em4b9ntkaDUkW6uv5uPung5B7PU7nJa4VFB3C5i45+LO/WCOtvS + XgHWjHuMqkOmtDpFu/URiVFW91erFiutkEsaO5IPGdvM1S/uDoFO98tOgs3NZPvK + Qu/Re8vtkILODg/eG5YWhh3uxHlItyyd/4GjqW3jla59gaaCnjiM0adBmhQjcVY= + =U2RF -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-02-18T08:33:15Z" + - created_at: "2026-03-05T19:18:26Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf/b1opkF2tK28qLCnJyTmHC7oiTN0XQD7pRZ8IRnQVqc56 - NjRTLKFh9BuxorU11d2qkn5Sy+xOMG9H9tMRB/ipxzMAVo+JvzkuknG98Imtzv9A - vMDWBIGO+rfDBk1k+tavtiwChuZa0RXau2jszs1dFrX6enPSQg4aJLAKR99LxGou - eWj08nN+ik3EJhFmiNJZVhz9tEOJU/zKj8fnkeu4btlf6gPR64b5FSYfEAgPXNll - h74P3BTGbRI0lMUVsY+6ss96a80QCLkT+B7U3VdrPHMjLkSRGliSLNjjHBRdwwUT - Ty45QzUzQLii/pRHYQLGM4paeQW+rIIMZ2tWs0cMD9JeAf5XfOgpzH7r2gLFctZr - kEz6oFFUnwTLkwewucCnu+j0uezzMa7ApSWsoK9gLP3XmqLozS/CLDtPL/gR+NyG - z3tUJUahiACMXYbBCTm5huPvrtmYsnkUCEG2hiY4nw== - =Zajk + hQEMA1QflAioE8i3AQf/QFMA3U+gfOno1U5LBSpvde5BO7yuoLMKx/uTYwBK2w1q + L4jaDGsld75faU9WXun1PZ7BEWQ6G60HYtiLSTUPugXKR+eXW7/5DrGHzAENPoLE + RR8LNO/Du3FaVXRub2Ai9QORbrbPjRo3vkz5bE7F0iQOD69228bgszmev4KPdMqs + H5jKhzDK/P7yISHI2FLZ+97e9n1SHUUnHL+EgdHSGPByft1TJsqsDNCPRrwqsqe2 + F4D8clawPbAX+QUFyzXnaM37i9vCTZ1h3JuXW+FFNrENMNQmBLoLoLCkRx8G10wx + 07F1GgG9J8R+SdeEDjzu0M7OBEcCJKE/xjIV4cDDh9JeAXBgXHouxDHnoyEC7JSo + rSk/VKfyLjC+8ZixOcH2gvkUHqDwzfvOYbFhHrlP/OZA/LflAhyZ9nmy725TLxKX + aLvvP+ZIl2M7ZQjzvPVqVzJeZIyZrGLabTyPZXOCPA== + =VUtI -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-02-18T08:33:15Z" + - created_at: "2026-03-05T19:18:26Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAA7B4g4yOoYDE2BEqON3YBlZjOJOtcLY+yb5TBgQ7YeV9S - qbtFT7BmzNNWOe4zVSp9QOj56zrhzrOtHTYQ+Nlw5YcKRMv8wfYwbRHWAwxIGoYt - B3JxPJUYmGOc1GpaceTK6knaG5ePi+gAERZ/YDDraUQAQevF+mAE0OXBjrY9CvmU - x/94JqrzecSsrHACa+UdwmXKgnQHUNDN/8IlWvGJFWkFHyB54HzMtd1MGFE3qKuX - YQAif7HbPCoYr+ZU9pMw12L/RPt20sjn2nyrytHVaQNrxUv+GZV+6qF4FXX/Dnxh - CdIkFIzLUC6VR2Er2r5BlgiC07jVHC+k7mQ/70Cdzvgrmfp41hU+mjqDxT3mftvZ - kuBOZHRkh265YD5zMnHDWLsqTHhEGJgMGHX55xqQM0okdr6uZRLY2ddst/bohgF3 - fuELSqJQ0LVBhERqcQbuqLbixzf0EG+FuYQhmT4t6L13KHvqBvBw5+UKQJBqI6oo - i9sR4cxddB3CDzAOSgowuBT9ve6muNSRUZWpyD5hLteq8OS1hxeucbMGE5Ynl07t - ZVfbV5WnW4re2YRx3/4AmqqkeLmlC+96BcTznJ0R82KYweKdrOoB1b3sbPgKW6Ha - rPc2krKhfMHYVgqip0Bo/jeVF5aIcBavHh2ofi64TiVAVJZFC6SGNMQTL4Lmk4LS - XgHDi0o4HYDCK33DphQ6HNmoUqd4fk1XCsE3TMcJMOCO3Bt8J5yuUgvRwRhCu+8J - rbvGUqnLv+dG9SwrSu79bqxgPhr1po+AaQoqjrbBujyCbtGpUaBmSRU2j3Tes2g= - =lHxa + hQIMAz5uSgHG2iMJAQ/+PuWXwaOJ78PWBkA+5hUm2vzDuq1PxagVa+Ix/p4GVItN + M0mQ9+EFY3n5C9kKPAbue/3WUYMNy5yEd9aJRfWtF0eZ/rhFyrDPQQyVDEuZ/kYe + 7+j4jcMTvVudgsOROPoAgl6hOaandF+lQDKdc47q9ybnEej3nXJUKt6ziKxu9ZDK + x0S/5f1Gml6rFIPJxJEuZKLOE/jtqPpHdGgeVKiFhBhvYheyaOb3j+Q+G/LamrJd + TMNONibQw8bbfaI4lCwhXC6oELeZeUS/cXM/Mky/ztY8+/XNv8MuGCxo6b2MJTbr + 2I4CizG0IVlLev0T6zbAwflkmWDN8mg9rC990vKc7+nWILEZt+e2j+fLB6pFIk6E + uDChjQuRIjR2Y3cT5dGIy9MWYySSVQE3+6fSg9PG/HDrwvJEVmg8+dSWPwvI399G + WjAJ7+of/eEIwy1AHJSzfOItazOLp3xfgycQ34aCZ3k0Gdxa4hezdl+HL+mo7/fh + eMqGHjNoM6Xv8ZxIHmvsL0oC+V/9/ZJf0mM7ICryRixLJpVlv4+5Zl3wY5wtaU2X + wyvHSjMRIxF+V+qtPGExNIQZOT/G8qknAH7j+va0OCrx6XoKeXojsk7D+1CYb9iu + NW+wNuHM82bbKvS/ole6k8reYH6SIKKKZkMAJ4PgLtHVNoJdd2YkrEyBJdmUVdjS + XgGosGn5esx94CCmCgWHGSWYUKsAvKnCM6/z3bUcYGtZEHbUebNBIs0W/XNvdX8P + k6WuSTKHdtmdqjUKgCOpFnbnz82K6iliquBxDBQ13K1RGxWQ3ish4q5pJTqkB64= + =tOES -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-02-18T08:33:15Z" + - created_at: "2026-03-05T19:18:26Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1ARAAirC1ZM3cpPqtjF7IO5mZ1ykBEG0MoRrNTAnKjOpZnW+O - MfkOJm4GRjOzvXSUjhhcgjGM9VD+FjgjySebh/+twaMc2LVctb0d+DIr/qZN6FTa - lYRlU2bNxVDtgFCWLtDkXndpENbyOEeRcYwEu+bSEQ7K9sJ2nhfKMAvtRrw7MZOF - TeoyqvYnYQaub5MkEa6gEM4QiYIvUjSIb7V2cgFlz+nx/qRVLX65pCUibQz3HIl5 - x8PvSh8LYNiCG8b68outiFcI0Wp2/R+h+kLL76lvV9yHFuawelqTkuBHAlYuAlKm - GKt1m2+EKyc7Msk6CiZhRgfQ6AEYMNlzDmRmzyffVwX5nbuM9+lP3y9dPFHftWjE - +D+lcOtVm4mmSzSgM9kYNUyp1bEXtq83YGZ7goX8TML3j80DrE7Yr0UYFSxvXFXl - QE3Ta6t3Y7iULO8bBDJr+/cOKpx6LHS1tshqSYfN7Bu60AJ4E4fRDelR6uSKDhX8 - sagPRW2mH4lFTcofcKAJSwUjMYM4ySLSGjzsmEOvZRc1TsLORtR+II5RIkk8ssgv - 4HCDdFexgqJw1qxz3w1xkME2nBtPm04NyxUjd0xTIaaSUyvvvE+HhowW+GUIt7cp - XdTin1QUPOk8/DmmBZMMikmnnDmiDtdwQGWTzIOnyKjDIbUuO4fP5wGsrFSkBNbS - XgHwIVHfir+o/m5IDQ35NQqBSpeY0OTgLzWe4h+PzDL9kUlvwD5k1pwp8ox8gfgx - fwLOy/gLXPf7+N5q+QEVp9nH4VXIEN8AmtFCers16P7WxroSSkKmse5cSMTr+bE= - =Rqaq + hQIMAw5vwmoEJHQ1AQ//TqlQ3obmlV2kUASeQmAFJgTm8VJy8g3dtAbzP6vJ1YJO + f9YjTjrHWH/fctqTK9bC1/wGRi7IEJAxljOUmnazSDWVIUZW1kZpBPFNO45d/TbO + x39avInQhDLALgLJN6eQn3L+dZblKcQT/U+YKNpcp4dS7vWd8CuBjgmRzgXDwyxn + heeqRre9t2fgO/1WlHt4xTdjBwjoz4wdd+W9kg+FKyVOZaLyt0URY9Td4prwrURj + hbtMAKQRjQH0nfz4rgBPlkmiQpp2W4nq/Lyut5OzdtTc8I24MwYgxzgQUiqYTspj + 2WyzRenfqb3bdQ5u9QfH+wCvcdCq4s0Umeke55LPtgUxwQFDCKWLYA98dgve56U7 + gZeGop84rzk3cfOQ1vTQbmHTSDOqONbsN8VjZ4+pkVS0i+ViKnBUgANoE8fvVb3O + owvRE/lDhdJ/qyFXYoko5elTWVT6emRqnhBh9EI2wrC5/6l3KhAuk2ud1G3bW22i + TKQgARy4tSzUe4qWYdmsQncvhUA1V9badLvI0eOhAhxnC9yrEqhd3HuqkmiYh3lP + 7zrnUkM7txA/j4XnItwR/hhpm9s8bI94BeYUjx57px4ZLS7BpkzO3Z2PDoGilCqB + AeZY4m4huHFkOv67OLW5P64Wf4/je0XD/Vju7JU3Rqxp/sNyQJlWxdM+TGhdjSHS + XgFnLiJ1MeRz+16EIid56j9E2f/+MEPNeJGjkglpbgiVP2kbTvUdwqXxECwSthjm + 9boZkjH+LTGj1fdX3JzDyBYeFfzKIBTaKOJ9EBHxKJesxxJbeM/Sn6ipOStXu7I= + =Ngzp -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-02-18T08:33:15Z" + - created_at: "2026-03-05T19:18:26Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAuSi8eAl9WPDvDN4Zyp5MWarm2KaahlA41PXCNN8cUH4w - t4Vv5GnfTLH64+UNtNm7ot8HsghtDs7ifZeqk0dnuodCSxHUuyBqUR2gvnx4JLms - 0l4BG/tWokDi1GfYdo4J4aJVgHj7Wtqg4aYvfYv4TSSORxMYGVqOZDp0tW5+Xm2n - Piq8q6Ye0ZxPckgeFY1A3Yd6t+sgG9lnzbLg1cJDrHyDw3Dbp8ahRLvS5trLnYcD - =u0C2 + hF4DerEtaFuTeewSAQdAtrU7esP3fx1hYVD6jVUIl/NGZ9+6tEmd8DVeF/8SFmgw + xw+FDlSI4UfdRUp63Z7bQzIY2jseElhDRk9o/gAUxYcqoEi43yudgex/8/HkyT/5 + 0l4BLZMEF6pD2ZiEoiFbA7BQqElW8fuWp/cT7l1932Eq3ygCOYU6ay6aJFjCRy4l + Q9vFAI/fiw19acdCnBJHWJdo+k4QrN+n/aiaRzH7AcZMLMHdsA/uk5s1pyflZP4X + =bCB/ -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-02-18T08:33:15Z" + - created_at: "2026-03-05T19:18:26Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/+OCzF3PpRHHVFHqI0cDiB9SV55UqqV5InmsSM4xXEpZqF - dknTjwc5fnqjZ6SqeQdRFyNrBv+iYMgdprTnz6pTEjEeilWZbE9zAJJZI7c9bbrF - 5WgRCa+qUL6g2uR/tHVYAnHi3htbFohSkgeWWfPQXOkulEimPA1c+XzaYFLL3SMa - cPQVkJIzrTbLk/iKa4To8YqJx8C0MUNYDJnf1MjlPgRTLq9pqjPAKIFbGyItlArA - CBgb3FzQrP6ecW0AgjDA3vW5h4XDcM+XYGs1+fzcOhTUgfLRyHFD2Byxa+L6gifV - vTs3HAd1jh7J1ATcsxqJocLFX3UH8rQh3YnOcw8qigIO2fMCSHz+2gaKZq9a1Tfh - INqv2NAc5fd0Qnr5bsHWdjLu3QSwTMLyOZlIW76YvE+dlYBtR4O7H0Pe/L5j5Cu6 - JMk0riN1T4MdgKjpcVrHg8Dnu1iFsa6LCmBpLlkRR8wT238sRM01aI3MCvvFHeNF - vgui3Sa4slfMD/nDMhrZQc0ruu9c12F98835dCMr/e1UDCHmtAFExc/k6HdkkTTj - D6TlN2F0xhb9f48BHfKphtiF3cwQETCJ3PBanK6wtVlFMQkcjQO+KObRu6HY+mm5 - KbNHwLBtE+LAZ4qxY4fbHAx0QJy7LgikVjCPwy+c7CyfxPCeHtk3LhfLINbaorfS - XgFxblxFsWChGmEhwV3J6jYr67Zkmeg7FkvGyso5W6pxxf6d4OSWZit6IyQis3zs - 0XDEgoWcJLH94DByjsBFhBGpr6vGOESv1zd7gH/z7SeeLRdWIenfKUoE5W5ahR0= - =JwIC + hQIMAxjNhCKPP69fARAAlK9Ix8gq/gQSOzhaEjI4ApN9KcO4MTHnAgwA4ZF4hYWS + vbZ9Inyn3DBRfTmUKOqUCgbhKs/M4jk9VXNyvSiyhX1dmWrYqWnk+QYrgLuf70OQ + pR0mPSwu2YkMRuWSXLIAXfxHiwpsXh60bj8p6k5ZacveGEF1zB3ChhegG56ZkUKU + i1jRtjETUb9dPy9VHu6lna7ayx0g8woCrqEJk/UYq6KPNb9ZZ6qMzg5PCvjxpdqn + 5uPB6F2TFscKTnpVPf9DeUGlcUrRL5WmNLmyI/wZ+tTJ7LzevQZMD2ea5U+cVyMi + MQHrta6lS5Ax+7jeocfXv0jY3PG2RkA7KIVv8Ttg9/Jh6hv74wmK0Wsau6DglfeX + MhuhceTv3TZYq+7utHKcimrFtx+6oflTcO4WJ60nXut9+3LtZKlsiX2r9dl5zKTz + +BQSIHP3+OuqMWcvKtBEw+XM+GGNT3aTOxKEuHBcjDTzC8WRmvo1Fhiim3VroNaP + KSnBdLruTZKTZ6lg0vPT1jghR9LRc4MBg8i5vOjZXQK3wkrL0noSABXXHGxA63N3 + hwLuKG4MTrWReyeACZueAiRvraDvmKSdpd0qQ/VKlyyXLgM6eDA5Gm0VQA/fUsef + UrIxe+O5NKGl8z63Pj+GmyibgqvdEISO/y/edgdKGjO4yja72NC6bDDbaRV5kGnS + XgG0yEE77tA45cYgKerxJHUJBmetwq9jEQlsfsLd3+JjXebSwvVIXfcF3op0kZGo + uV4aWV+f8+sCJCi1VAik68/Gg3Xt2GyVC5PuyG9ZLNnRYpgFeJ4VfG+bjvJaLMw= + =asyG -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-02-18T08:33:15Z" + - created_at: "2026-03-05T19:18:26Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ/+OXvk50ouDo2WjFoa5JaVI2S33T/cAHooG4yZHivGEOCN - mOQejc++xtJBVS/esoq7PJ3f3cA5Zj7KXaMSmK+xyeKxPo9PxtOAkRLyPDIXLBOI - jlVbIy7qA4EKA7xTJoLhkRwNH8mn1CIPeoxvBWRB3wtwhZlIKS9IPN+kZmC1zfx3 - 7sAg+X0yaWSehRoeMuTqWqrdR1SydZaPAkQsmuioQ0VKgIStzu1ft982Enx5sYuE - hmDYMCqLtyfmjjhYhq6ohCJbuh8IbcLNzMhIzfXoDemQNjvjMxaDI7bRhmFDoTwp - llLAxM4jJ5/NaeBNjTNhpBeZBDNFDpOdpzbwP7D2ywcZ2meHbkiQE5JoTt0CiWzi - zUJAA8+78ftW0RHmw8YM0E3MEv1wNGXtilvRH+8qJDfaBxhKBeoS0eiVKgU2rspS - hQxQLa++7MMOfvqpU3wJENmRFYDXF3K9fb9eFXH0nMEowbE6eRfY9jzaEIDlNJCq - mlPwXH9GYf8BjH5THKLR5h64NoejaTFmIwK3NxYMAp56TmgVS17XxxRzcxI4NdcJ - yNm8o2XujKavJNPOokpWL2KfegapsVrliH/ywZKiOJ7yZUNNR7fiVRTVj/vBMfhy - Bx5T/SlsNAchuWiT04bIbybk4tDvIsVHIpDx/Sg0NPHC29kzJhoZMKoRPBnUmDLS - XgHRaErnmvXs7I0Sz2Zv/HazSSlNPBIOeuM39w7aRWgVPCMZdFq1+tYu35iSTCmp - SipzRkLdRJeO3h4zDIrzsAw6/5UG6P0dIe41ytGesPhx4+nMI43G8AWdOM+zKNU= - =adPC + hQIMA1Hthzn+T1OoAQ//T2Rv+ihBSus8riGm1NTTV8Jlv3gUYSDgY2Mj2tPgORji + qV87/7Ut6mvZDUTsFws5GJw+Mbb7m4XtvQ1LHnAIt+WZa7cSvJQd6oxaCqt2jsy2 + EqbEKVZUqXtQhnGTVEsVgv3Qm89kPZfdjVyA/KfUz84VFyy3orWQ1ULwxaFLPwO9 + B/e61afsI6XZ9KeEKUyHLgnkN8IDjLonwUnDCJdRJBAHyDHw+o0ATjh12ZTRA5EG + 8bOrD8AhpgO1wM5uyxR2zqPWJtF6r8BZTdZ7vgkf0qrzkbSijZ8N11DadhdL7eRc + bMMWVSbfVrlUuTgdPV+8jXJEtLIkdKcNmQAEVc5GvuaIyhyW20Od0Ys2SqAKX1Sv + EK6d6Z64kG9/kVeGqzxJJ7eHqi/tLYXpYDuuR7XfojLkIYURpsWVwtwD5+IiGSDt + d2YyCMc6YbI6/Go/O0tfrFtHFyVHMqbtjsDoV7G7xaCY5hh7tendrllAAmHEuF4J + dkLQ6vy0ObPib4PjbD8jA6m8rU/6jvIVOvlIpoaYBn4nYa/QoR/gJ94bJtPKvsqn + LQ2ENVsXpVi78pDeIsALrZtC+FRnp3B81dTWoxPR1YXNS/PA51R8ueBJqZ0ntpoe + 5E5Cvia0sSMAtCp8OZhypr+Tj2nZdReu/rZ0MyJiiwbPXoJsO33lDr+M4vloccPS + XgH7o2/WxsMcm8rBrNe2Y2ybQ/CCq9wX+s7ybsC+RAVZTpCxQqxyXnAEcw/USCHN + Y4l9yUB8zpkzKZqdhYvzuff6chUt/Qmy2wGS8dt/KeM/xoBcppM/4VwzA6mErDg= + =jFxq -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-02-18T08:33:15Z" + - created_at: "2026-03-05T19:18:26Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqARAAtVjhNBW3YblVpbKIa2Wjh8NqW66xBCJtj9JZb9AvgktC - ZG+dHW5yFC/iGKiV8H7Tsjsm0G0EQXQyhLZlLzN/49RNNSjciNmj1p4bFE06P1n7 - IcXZUhGNANb5Opso2JxVMdG3Ul6S65u03bf1dUV86tbld72mqZYKlMgksJ3gNx/y - C9naLOYcOcS9JMVOGM6TYgKsrleO9h9TOcSHN3+ZD0BkNmW3ePP7APnpOKRTNLUT - GWWrQ6QfYd4Keg2cO9QE2stFvS84BUqdNwipM0WyF5pGNN0loR9lcooNH0udgY40 - oUCwucTLsjabbC472LzdIf3KQwWBlbg7ZS3B2pvx13pFO7PGu8d3CV3j1TbvbOcw - em743/Jzo32RbFan8f/Ej2nf6WV7fZNpGjRcWfOvT5FofnWP+PrOUuRfYBk1tshi - w3wL7XLjaIlMK9sYIOT66JOUSrNJUm4bsHhKIeQPfNVCkx2I3tImWZS9QcLD3WB+ - a63zgwSO558HuFEWX6F5nQMtkeBGhBiSZpkYAmAUommCwUdEPFVE6B/5EUkTJCep - oiyG5W1/o3TbIl+sSgWAX3DPJDrEV0An50xcNLsysQ8tswfKClTYOmWwu9NbfFN6 - l7Mu5etMeQIPI7AbqXsOn8oZoQC0HanmpHX+ybsrWAgzry0GyLvGVdgp8c7yPrPS - XgFokt1cicXFqp7wj/jUAdODFaZ29rok5+J2XwpSBP1rTLJYRDZbyzLS2azv1A28 - W4dgTgM+QkFnopOQBZU5lxdxpcGo/k9r0846ddpsxn4WEbfLopKPk/WUPkcjUCI= - =EIQX + hQIMA46L6MuPqfJqARAAo6BTqMmtHqUb8l7WTqDcJQq2Y/iyPphIRe7eOjX4Zqq0 + jdE1EzwZzaEVG+dR+gcQ75fia1/C23qMe7rqipNTmg6vlAAgP7Np6i/maF3Hnq9W + Lnl/7+bwUT4apex1jbFDDyIr1j/ppNgGTjHmVbMTz0nyTVavzl7waJqoOIj+r4Tw + uUs3mPb11a8c/Are6pKzz2jvsS/2yks/fA9YQ7hHuJo0Ur8mvmkRtFsMUcqaKBr+ + RV+1nboLDp0oIXemmktO6UEAhgwRwDeTTZu9f5rWLoFTP5x0dtaT1T2o7wsYb10Y + E+wQ4xwY3Fyke3XQ3KU3MdoxsvHPHhEO9FgbZg774yxxrU519SM2NLY0UGtvwClL + mOLYX/6O/tM7XEFX1+QIN4Lm51DOx+ju5ST3Pr7y8rgR5xFVVGOvd2UIza7XeHP/ + dZsajszlpCCrTg7xmoZGJ5U/bG2gRZoDbMV3zSbqVJ+k0dghbyhdShrKXWpfBOsf + a41RkynE5lfQKKDVBAObusz9nz0p2yPTDbtnWuMet2rW/HX1uPIoUHXFytv+Ie/d + nbHEvy3zP1tjWsXz6G3pmXseBZ0C6NeicFsAtK8RPADOgMNhqkYB5RM3+JD5PK1+ + NB7OxgiaUfxb1WP3NihOl8InwHdCnunpeuH1ZdCECdPO/H3iXIjKRsP1PUql6dPS + XgHWP9X6IqpEpWaX71DEdCNlVm2BKBBvneRAtQbU7r/ar1/OZr8G2VHPrqoldtZ+ + yL4KR0Sf4mE57+XWhnpIEb4RckTqGRgOmZJfW1LcdFnd5Nlqp4XV/8YQ510SmA8= + =P5R1 -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-02-18T08:33:15Z" + - created_at: "2026-03-05T19:18:26Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAUKVDuLHvNulYgkZBUXyhpYa3+SHiLyR0qJmx2yzVjFYw - d3F/uSq5BrMC0YdF+4CVDNDXPrmRcgNP+0ymDnnmMsm734oqdIMMuQeE3HAp1UYE - 0l4BPUGy0CefPYJ3sYgSotkataHqUJQO+ANlw8Y2/uiRR8KRxBYQU3T5oo6t6NGO - vV82Uc9wQibjVthSJq/jQc6ee9V11f1vy1tWZuYi34gTaCSD+HttHFcv0O/BaJHq - =WWVD + hF4DQrf1tCqiJxoSAQdAq22alWP11PS39nKrekS1Ni1QyHhEdzsO18og43akJhIw + FJW+E1WYHm0jDVEduakZiiqUpzFqLKI+6GrDaEVbTgilsp1udE8vt57pgJNHZ1OV + 0l4BtpU2loOA3QOMdyyNarJRhKTTMp4qk5q3LCbzxdOshddIuLK4LiG/M0xS/MDn + qZYn4lxWv8aHZQ3/jNlZnrfmAZGJ6oQDA/SvKYTo/UBvpvrwKu3OpqfteurucavO + =kV0/ -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-02-18T08:33:15Z" + - created_at: "2026-03-05T19:18:26Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdADnl1zXe1frNMr8cpQBiKOS6rGQ7rwVSbTxDxlcvEnRAw - Jk0wUs6E+xfDBDcN8Y0qsLjWq6oM2MyyiXL3zjTeg0KkPhER2OB6cTPEvVCMAtxF - 0lgBEWfYurMWKQT22+GF+2dqmrKuSnjlkWhZxRLsYwQe7YOSGRAEnJ1RwHmiQPt/ - XdMN7ruSkf2inkKocBpGrjLsayL5eQU9hHVkD3NHX39gnm+kqlBqW+Nm - =o5RT + hF4DzAGzViGx4qcSAQdAl3Ht8MWHrOfk1ujU+P/r7vzwwXXwLJP3BoKgbvPRJjAw + p9qurVCXrNuk2eR1wgcotXn4AacjamLPEQ+ODfsuTIK+ZnQJAwjgYx9xWFS+RXYl + 0lgBk3NZp9O5XC4CKcDgM3CxfF0rr7Aq9ht6gQoC8vuVjPW7TLIpOsUiob8K9qZ0 + 2ELmkM0T9UJFSd2TcbMSNWalwQ+IJOX1wiXO6Xe/1WBsz7UzN84jop5W + =1ts5 -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-02-18T08:33:15Z" + - created_at: "2026-03-05T19:18:26Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//cmBQYDDWInnMI99RaU5ZLQdvVkJ+PVPw+tQgxFhOOKb0 - xJWcgwy+peIsbF7ahgYLRrjGk3yV0XzJ2vVIO28WxACdIiY+H1xY0kyGXnLIqd6q - eMTBw4/mvOpknXsRfKRI07QdgxuXAGB+heu53nZ1YiXCEdviRlYyRrOjVaK3tCWn - 1ihJPWeYuzj/PYLimgdgmi5CAgukgOeCkUsrWE1OW/UTKj6IMTWCeq55Sg3I6Dai - frQesP5WM/LSdJteZpF5nNSazcUppVJTR/LhSx8BU/7Ln7n2XGuYBEeXVsZJK6yj - hO5bbbO5MHoYUwqU7P5TW2CANYXFMwLJPhfvA9SPcXZ1MpoZsa7TqN8K1QfAnFGb - RwmQmktDrStUXXs5s4n7QA9B4k4JJTJxbCoa4KmdfJFgtokdVz22YOrsRrOgKr6r - wvDlKNvxhq4SEOk7oB/NMfBn09pAxgxn2mAJ/2YG2qBKy9agApql0xalhzXPJYTn - ACbS70iAMAt0Z4Fp55Z/6G8IUkuZ5yl9kWlnMJpZHZMNjFcoyzl2to+Vq6MY2tqk - gIm27DEmAvPO7MVK1rP/HHriTqKdrxnY7dA97ni74RDpCYCW3NRAnKrLHe2wxgXV - 8R9DLx+3tYhh20TsF16OZeUNX3yMRDxe9RV7GGnU8jtnLsqo3wYHtGxH6i2zn5/U - aAEJAhBniiJbmwg28ZEOSc8p32EVZBG2fKDrDWYyTddHW9BUs4GqPeLurhrU6Gem - u6FlXL19RmFvWhoSPzyTUUVPafiE3JhyosiUdAcJ0RXPu44B0LSD3pgFiFNrM0Fk - dURhTJbiX4IR - =BKTz + hQIMA2pVdGTIrZI+AQ/6Agv1OI+3wQYoKu3rIyQKqZEgibuBRdlpvQZ5lCr93nEX + t35yh1QiIqkvOCBkv78XRfyy0SMSrBLNOm+ECJPfKrdCRZlhbNdkRmzjCmwQkT+K + BBdRvM4qM4w+yqjKIuxskVoJLbqPe1FMKCLD1+cNvTCD3rtko3yC3ynPn9CGJr50 + Pr9HNDOmEplkJBtyu5k62W70ffDrWTb42g5ssLRkLtZX+d2/wp1/PEany3nR4T3q + BVqrKh/tgjZd7q3422BOLlIRugzXpQ7i0vHouK1IYQDaqcXLsXRCwOkAtZo6ax7T + NyTgxI97f12ki3MKH2zmNP10f5wM2MTRCkUQgZkuUxAn17by8BxILmR1VqVVRrC/ + HBVO16wlx5fzSYALsOZJc9lB+L7Bf5lYIU3QABXTyCWnkPULMZtCcri7wJnLz2jX + gl843tHTf3ky6+yS1Bxx46EQyRBrqFQO1C3iFDO0SoE9SoIl+esjGirFrjK2fCvK + tW9gMC/mhEYUsuzVks4h2piN2IdETJWvs2Vfpx6ZSeeEXfej6txsINGXpkA+6Tzu + 3PZ1m2JW+9w0g7kNLpCv7zAeRtm8wJ/e3qimWb8yOFEd+fiG78UoN/i/r+pNaC10 + YVW1qXs/k5amT2tAKzU/dsj9iSpKz1DB2eeDgpUM129vrav8SV/BpW0/+xnwx4vS + XgHUz4lGasW+0QoASrGKk9s/IqpS/ucCSmJ7Q5ip0nz7StoMMNwj0jMb/fnmNROh + 2NsXItZLIthc1yngAiy9W9r3X16dk9iYEAd/8d55JPrmhPB0jZrK/WqPZujyDp0= + =xeXJ -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + - created_at: "2026-03-05T19:18:26Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DKKbvh61jX5USAQdAQxCd3TVQKtuQNupKEpJirwQg537Z3PkkH0oNh2pmSngw + 5RInYxjZth9QMD8/rmN6efBfSh+jcB3jNMqRZcdsJREnN7yQW0CMRiXQYahy2S4P + 0l4BFsir3ssBfmD33xNbmZA1/FmYPJCCyUeCCvWGD0AvnFZhJFkQNW7KpypyxpB6 + 48+OgsegkXfVploGsme4sxY/IQHda6Os2McGQzHfFlIQCWw0Ygogc1v36FHugAGQ + =OKdm + -----END PGP MESSAGE----- + fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted version: 3.10.2 diff --git a/inventories/chaosknoten/host_vars/eh22-wiki.sops.yaml b/inventories/chaosknoten/host_vars/eh22-wiki.sops.yaml index abc0105bc8..0f07090934 100644 --- a/inventories/chaosknoten/host_vars/eh22-wiki.sops.yaml +++ b/inventories/chaosknoten/host_vars/eh22-wiki.sops.yaml @@ -4,204 +4,213 @@ sops: - recipient: age13nm6hfz66ce4wpn89fye05mag3l3h04etvz6wj7szm3vzrdlfupqhrp3fa enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKb1BKNjI5OVRGcmZjUmJi - T3FWQlc0b1M5TEZ0WFNaWUhOb1NoQzdwWkRFCi82bURJRE9vU2RtMCtRaHNyR2tq - UEk5ZkFkOEh6WTcxTytRcHlORkJTNnMKLS0tIFp5cEtxYXVZTlR1UVdkVzh1b3NU - M09odk5DZzNyQ1o3Q0pCbzZRanIxVG8KG+FpBNJmzCp7jLYaqYFAhe5Tuh5Wu82k - DgxqHtA6rgi1wtM9OcFBmZ0UYVzBBbwKa8oagIODj1lkEHyazV6E5w== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBlcTdEbGE5Qk56YnYza2RR + OVVRbjhUTksyOENEcDFlRzVkWmpxRFgyV3drCjlpY1BsUDl3QnJ5NW8vZlZMOTlU + OHJLemlnaXVYS0ZpZEw3bURsVU9HencKLS0tIFhEK1hTOFdCUDlPbFE3dkI3c2Z1 + U2FweWI5RDBiT0xRSjN0NmNOcUNHc1UKoK2FliIUAZnJx4hB4Cbmjz9cZ4aWjZWY + UzGixIOsC1L/3rRtdcXCrDhiPzDR0x2r1sM+XLbUC8jRrZcB5OBwnw== -----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: "2026-02-18T08:35:04Z" + - created_at: "2026-03-05T19:18:00Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtARAAoucPhu+qMVtHoO2o7X+LQRGbGK8iG3TiX1A2CNCNqUNs - 6IM2F7/6UeUfbFJ3x1tyqkQT+9jLEKNUyk0ODgY8pWe+oCIR+HXYq0SxTEVptnDl - wDk0TJVh1nP/1vI1+RJvEb/N3AHMcauGaK+DXY4MsSqeCL0N/cAmLFTKHy4aiu0o - tFRtNV0A8B1GoOwaSYBFXAeX9ZG+qJl6C6iqgNvMTpZNVRefeqtwfyz44NceFzNW - GobSellPQfwwWLTzNlIjHzvUEqbcX0cAP0MrIsOGVW5qXs44ve34uB5+Fscw/md6 - TJ3h1DvfRcVUPX14+hfMWP560nZFTMtfw0nxa20ElpqTS4+EJNWfNNWwZkKIXkN+ - w9OZFu4ewSJpY0A25EPePhSJ/78k08y6BPko2yFVrnMqQRRQJAr9ooIseSUq5QlX - ZRDfkNvfFDQ324FKb4BPTgINWLt32aI2nWDgctL9Ne1il4HGtP+BF9or9RQQv03J - B5tRBN3knAhSMstaM1L0NrZRYs6z67LcKYq2ZlZvQR+jh7Tsy1UIhCaskTF7iq/l - 0pK5U4/yhHRleAI5STGRAXpUcEp8m6aCzbUXMkOIu56mgIrR4Rjua6Q95ZV5jd3i - H3C9o6vcsmX0XauFumh+QU+NB5JSH3zGXiNeG4VKLNtf5hW7t0o3WL85rdE+oH3U - aAEJAhC1g1eWidzpOfM2B71Kra/rxvHY3lA19UY0fWgKZgCS/pP9zRyWSlcyQk80 - 7wbCTSfumQF2Clv+8DzXlxNrsNdQDAvfBpZi3CLIQqLyiqMDCmmeKakqZnYS7I8A - KZnQOmBWpt6O - =hH8a + hQIMAxK/JaB2/SdtARAAgBg9ta0kPGgt1DGi54tv7vf9mCDx2Jrm9kt/ArLt1d8G + tDNaxkECQf3sMh6UsBtkYnz/1DbTDoFxMwitcU+PMqSxg70ncbOUbSLeNRRbwhdV + 5M+Ahh0q/Q9FYHfcurx5P6MflRc+g1afIAKp1caZsWOKRFIeUqnHhXkX6mAEsQXk + qcSfsw/wVy5BRj9XxtG30R4oKzelFbC5auvpZrLiC6hbj4nsNlSJbne+B1z1835x + D3sWFRioJLpJk34stdmSM4RbTUKfseeZiVgOBXUnVkCmWV+1bGYzWjfqnkWCiaPx + +QpM1aWOQystBvPZGczzSny5UNdwQnJ2fGcJoNeyNmHW5/YY3Wgv04a1GNCHMXaa + z9LMrI/HVa/+aM0av2F8JrnDIzPGCV9C5tx9/+LvkE0bHs1x24jC+KS8BRAtrotj + t56m2ae0lg352Sgco9BF2seSDQ0YBQOyhhdnK4lMw4w0eb+wQpfU+7YYwz6EoM+J + rE1gmxTqZh5WAqbIOav5Vr5wDFIuJk6E6JauoqjwvDbX6g8a47+fctm2pBwbpKZZ + zPcEJ+goqIiFHZWaXAG62AMpF87ze1vFa7LkuxLDXI/LrrbldNBCXQG6DZP85RG/ + uhDs3xb3o9/lpfWGP+371HlMAFCpOdpWr1EID26CLCVuTIVk6LQBQzEJqSCdl/fS + XgEUBATfjhGcG7sP1hK3YdV85/jsDLfF2ut4Rn34kjGICeccCcCO89GDpq1l2uom + QJbRWG62dU+xcLpDU74vGdUi7tgy3wn3zd37ZznapFqhDJDFxm9jpqj2jVRSKa8= + =4wo3 -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-02-18T08:35:04Z" + - created_at: "2026-03-05T19:18:00Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf9HCHuNDFG/IM7dJ2hI49jluk/5d10AHc7GcvuluLkoNkf - e6nFK57bbCuJNGLV6wPbnjhJUQI5ZAJd4AkG6OkuHO4pLZjaPvK+/A2JnLtQV38J - D1CNBFSE32fy1BGjqn+YSV6CMLxMk/gNjhVqYxeuk/ApCwd1GX/CS62Z6+iRBxAD - fVi+j7SnwA4xm/5XPaeQwSMaWIhiTIzoLNtcESm0AEBxHm9fwv3tsnIjFxPIyinf - IaBKTePlf0Z797oKdUO/E0TgoLPQRMdG774isY5Fcg1ceN7CCwiBPB9F3tUp10uK - OzfDiWxWNNl0K+0pHkEwzXki4k7wjWjrD9bn1qdPpNJeAfamJs99f8dSQjY+DyGC - C32W+jUE4fVCnOf/BUc8LQ1+yDNgXIiGBK+cZM6z+4QO1ooNzV02/Ig+Zohjnjju - QllO/lEmWiQwXOY4LlD1mmkD/rl5HJkDSZonlAV9hA== - =o5d7 + hQEMA1QflAioE8i3AQf/dUaI3AUfrsLJdtFkl/gYcvDNou8S8zmJO30t70QfaXnz + /LUGGEzgbiAX8FhNrDfj1jyFCGOjGWsww1gm3eCTjr/dmM5lvfNCaTsLEN508UWu + H2S4TkN/YBpdMblfcnKz1Svco6aNRaJvfH5So92JMQXtve9JfYgOm4YX+QfQFcyr + smwAJuvMpAfxPArgZMsG770Jwpdy09bCIVM9iHcUq3D2OSj6ca5y2S68jOoZnzWD + jsIoHxmqdDvIAV77vRotwgGBMaay8ro2pPMqOFACfFR7XcJug+NGceyB7jGVWNC9 + 1VFRg0FqFzHFQuqOUpJdG+ps6SEz3DssZzqhddOPPNJeATLGCQETfSVVtGZiy97V + /OFfk9NY3lC3MGRbZVyTHQOMhtytos0yMdoM14lZoamJ7usYWLbl5i0UPtRhVnSk + PcjOW1gZC/Jj7TdkkTy8euKxYMCkQ2EjgR9JPaCZ7g== + =/2/8 -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-02-18T08:35:04Z" + - created_at: "2026-03-05T19:18:00Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ//RY71Yix03yvY+kX8rJo+soOg8savPBs+kMNNsRve1tee - SCFNPvz8I3ZN+JXRjxdCXdOoRixgaDTTjUweqINKtz5SsjZofri08lXQKKWRaNJM - kyhEVXHxQFxOrycY12pbDiTlCsbnnUIRAxs28y3be6zgRBj1xEmMGSDQ9/2FOpL8 - GyRnI+qweZojt+boCPnsLkwwNpV7NtDCZ5RQjsG+t19Iaq6HYhlTrvL4vPX606yK - PxWflQv3yqT3qzS+ak5IeTbwNBPMq5f5m38k/zy2HNPaSwQFAs91DfCcKNTQEafp - 2+cXylZGfn3y2mPk2kciE/+6Bz5aJhixnaA9wz4UcNa4j2R1A9Mx2XvwEfQtgbnz - ZZMbnYGWoNRdoAklZ6vtAdUUBACrdxyhPqdOE6CMf++2RA98+YD8WvsJvxAdcbJe - iTEetC80wjKJIdFvyZY79ux+dpdkfx8/Z/IealuIHfccxuJbwpF4GfJcCjKq/Axt - Vgdvs/L6dWyq3QK8JrcOtJ2+SgtZ64xY5bxQ6dg4W3WfOFcGzDdSKyE+VCE5k7K7 - eKZhl3MDMhcGO8E/yiaTQBa681YIbVLeOzFamreIoSNwOBC33no5Ar4JAvZHcbF3 - 1HUOURfVNZ4Faj8WW7chyJnmNrlztqcj93SNguhlfd1Rl7vI455/Uynu3cO9OxvS - XgFfTmCQWR59m6KgU1WnBoPwiUouhPHlcdKsOce4QNX5vQfg2cD9/Rp7dpPYg50L - E1bM6z17ynTEpPX20z5OzfEmBRVXehz2VwKOij1bu4n8HOYqWcJcTZSGrO6ZiOs= - =QMhW + hQIMAz5uSgHG2iMJARAAx8xVm/NygA00VIJx4DrAk2u1mxMVzgfhua//Er8kUv/q + 2uszjOEvzhYSfhOZvbKghpUB1Tyvp3WHcZT43aebFcXichjqG/KmNu5BI4jEGiXA + m0POAc9R+ZRjdN2+f6Tc4m17lakw5uyz1xmNFaMk/EPrfLiyIk9DEA0FGQMDawIv + 9LybE2+rPvuGhZZIGt1HtraU4Mt6b3aOHVnM0BU62zg7QGvjNiSN3DJCBLnWalIg + Z80+WBRecEtP4RWa+66QoOXrx2x17tUI/TkErpKy4+T/P6cLZTfE4HVkRsLb4Q2c + xm0F+miNcl1s4PsAFaZ3hLsU2EsBgBC7lf6iwC9Bf2VoED63Ln0NHPOOyzPg4zmC + hgcoA30RJ7LECiRXB60mhIsYLOEhtxOhf9DlUA4kzw82rlV589jaIDVqH7m2Ecz9 + WR7fLn/SJqsopfQ/+3F0yImD/avyrVyzEFJsCJqFKqWwwBBywl1/e4wjjnOUwpvN + 07WZL/Tqj5dRmCPgFuHvd42xmBtBaTl81LjQXT9g8ckvGvQjJZqaQKiNq5ee+uog + o3GMPSXU90IOaDI+J8w/Hyi3WiIzSrULOEo603EbrfL18srRVtRYXftwbFVZTbkz + dQnAsIwpj2gDXdRZJvfBna0w8ra2MvF2r9ZsIZ0KE5xJEKvJoaHwOJT7gbs3V2LS + XgHPFPLgYtUHB9Nrc6iu9ITyrAD+vQzgvPPd9KA8BDCuqIsjDLZiLYFozdVml3Vz + TghPYRnmBLpC3WFrvLJPESrw/RHUyFba938L7APPQ+4dib40vh0diyHb9t52efQ= + =VZEw -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-02-18T08:35:04Z" + - created_at: "2026-03-05T19:18:00Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ/+LQdJstHIv2HWeZxjKwaW/nogiFAixOolTscg1Bit1aou - pmQ95hZhVa5a59ti7UYzzojoJH18/HFX/CxdNTwGI7y/LX1UIOIfZPHg8ATB9kkR - 4ZMGhk9oIFgLFG/on5YnjjuGZxXqepIaGWWEiPNwSr7Ww1bOKeNOADmV+EiDcxvZ - x+SyVgUZMiej3Ri4a69cWoGh2+PaOTOKZDUdrHro9aKGIE0w6UQo5sblkg6P+7VZ - h4FOcFFBGpscYur2oIhGPk2Qdho8bpZh6SyS3BIQNSOeFb1btIfzta+p4hGu+EN3 - Q4ysv1l8Tid2UKhwmotRw1pF4eQmkOftym/INf56HLPg4EP6gfniXpohDYaZMhsN - /4hFNsNiprl7sC19GOM6a7e+OSF0zbcYpvdM39Bk7E6sv7/OAQ2T+WYanbgzq+hj - 6BAhQ8/zb6qf017l/jygT1dx6W7DGpLSYJqemohOyMLEimwY+zirUiqp9hhv3pVw - gUDqF95+cueILxS6FJgsLmA2jatZbwYWZ0TxO9X/Z5h5Pi6A2LAGRj0Mj6DDz6BO - N1DYqldPRHLQUoMdTVl7hY0HNN0OH0Czi3eODjkaoumHaV+VdL306BmmNeVDdkQ8 - ES/+S1ZOItUjMIf1gI1WMzL/nVFJyMttPREltxEm93xSZroHEZprFENS57pp5MrS - XgE+sIktUkPgUw1c0WDBb4qqHN1SeBxtF81SKCLMn3yt852dQSDEOOfykt+H/yRn - HnWDGitcrrU/ojCCjjPLjZ1jfoM2jEoJW74V4PfART6TYyfwBUz6QD9LY8IktU0= - =DVK9 + hQIMAw5vwmoEJHQ1AQ/8DKT6aiCGrAgBLztXsG8RzFmHK0kvNwRR/mUElr0dF7PL + BshU+bX4W6VLP7JDm6Gs8MgkQu4KW/KCHmOI+h4E+7mB3xxBCHmpDLVgXfouhzAB + 1wQK7rGiLnpcuRByd6v0aaewFMyL8qjpp2rd/fCZFhwjt4xKzkJNVQ4X0FN1p4wh + XJYC16sjxcbQ0tQMAYbw4c2a4sGOausclPvQDDMxeby5l/TnlvO7vrs46dEBkmV6 + uPo/eE/AhAN+mJ2+G2amj+Jz3BpQi56aCz1h2b2h/JU2lfjRh2Vz4NLWpFTIhk3G + 3b6chmarVU9tbgxnUp4i0NUI0gDygCIDeIzhq3nmuaIaB+j7NLAterzDpyZLNuan + fePzmTMepUyoLBqLb8uBxp4+lnvMNh25SNb42hidIyrxoAbxCm8bSOZz01SKrbt2 + FPuedV5QyomtNOdbLyLYdsESsCe2vTew2Xy39/BonESA7G7FHoHfPURVXP4VUiXA + 3fTGMIaF830SOdyRACCFL5eV49GXzMUQ3TrXzPcU3G2MS+Wj7Xan3TBYHju1iBXn + SAG+ZzcknQ7kIx9wiBHKFV0Vicjym+GIXT1dVPxiYLZ+mCloiO57Z3ChSXha7oS2 + QMcOd4GX2eJrV9AdG4UTLkdgTYJ25YWL6M6ZeFjBtERY4JiB+vT3NdmAxb8yWO3S + XgGf8j8v55fLYrdVYj1VnFi0SVJuq89XMaivnURJPVihkW1l+Zc/sYOJKI27QDxR + aHZp+1thJcQUcAJ8FhQb67SaUkSc0EkDBs98k37ZufgkjQ54mjnOjIIlJSnJAQU= + =FXcp -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-02-18T08:35:04Z" + - created_at: "2026-03-05T19:18:00Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAxrNEcd+F3FDFn3oVp7a+Ku+7mC70g5cmmt27err6O0ww - 3SDHjRGOgJSzURmsRLPvakIZq55XK9l8xlcYLs+M+K7oezeTqLQJmlMzx1f32YSM - 0l4BiCi9PvXXZL31CT8qnvfXBCe6bV8aAsWXFDMaiWQ9ti8u07EGkyYNtsvh2EaN - jari5mxlsmQQDsfwkO3VYX/gBSxhE3BvV/bihg0ohDG85I7ZuNB2qULW6WPRaRKL - =Lant + hF4DerEtaFuTeewSAQdA6FEfCUTjY/9lavhTM61veYgBGAb9FjZVZcjwAs+rskAw + iJxm0v7kEmICfjllcxsXXLo821D5L3NhdrYnzO102t4w+xzV/HkMw37Qa8gYgZ9c + 0l4BksC2QIah+bE/ntE1SC8QUGAZABcGGUu/PPrYdd7fEVA7WSOmpWpLrSXeknpw + EHKDNwsnx5+5NSrq+RRGulYmaws7xNzV7Tdob7Tgp6OZzFyRgIUIyKYZSuK2l5xY + =/Dch -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-02-18T08:35:04Z" + - created_at: "2026-03-05T19:18:00Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//SUFbpFhuK+/8uaMvDcl9jmcqdIH65KdoTHr47lFajx85 - lCqt4PxJSbeNxcbvuoBpmu2biHsjk9hUG/lqumaRCvvb0/rn6pgmG2o2WT4973mY - YbHuP4X816QdDk1YXRPgTlKwHlv3jOpO9G3HkPKw4vrNh5usJp/k9TTGO3cxMYiw - SxJ8DDDPS7h0iQhzxwlYftWBPXvNbMa4CwsIHvkdwEQL/U1fE8BIWmMxm/5TErZ1 - Xfrl+rwK9UP1bWMJEglAHcob2GgTrRPm8dp3N8zILKy3LeCrjIVvENeSK/qI+soL - 1tArgj1sQTt3CoQp35NgIK4CUDDLp0psII5IOaT1Z8whRvaIbyRdiN0+UWWSLvVs - Pi0x5TfYnKpZJFeQUP1HIZcy9Pu/FBx0SXiMaTzwScayih+oBCp1XIxmtf5du/fO - 12evHiH+znFOYytZiDEwXfuVziDwvi+IXh48I0bCYAPP/BTgKq3M0RaGKrR4G1AE - uhT26YAQXmIpsAbiL4BJ9oCXsz0TgOvekm/jrdS8UTfUPDi3u1Qzo0Jj5liDxVS9 - DrqKVjsa0/xZAqSopM4weNXZO9lvfT2+ZRbslTmHmkUFSBNMcnTx6MtJ/AkAFW/A - zeV2JrXottBtCHC9vVDWWRW9KBgIB5JsN1lp2t0folV0DCUecyyxGLM04KI0ttHS - XgHuTPqibSHG1AK0v6hYLPXkGqnBPB+zS/d2jNk6SL6BcpOmU4VZjYtOCo0Cuy7X - 6Ppbigx6uXqV04eP6eeTS/Ua4uerA57XPfESSNktTmU+75h522tMmcssfT/KR/4= - =i9yw + hQIMAxjNhCKPP69fAQ/9EsCikc5VJYoD4XOUiHEe6Jqkh5z+aPopkbc/IjlebMOr + 9WOzQvfyWE5TsYS26bvAxuPEfGg3RXz5XoCTed6JqkAMYG49dF1uB4dYuB+MjMZr + vKLyyVHK7fn7+okFnHMIXFXJXw5vH7i91iMyCQbcd3r3MaFCzDwd853dEv+oWMXt + WpFnBhep8XZEt8fNOa/Jow/vRNJd+L7MC16UETsx6VvXXrNevmUNa6wSVjNTE6GY + hFqRQXxE/d6VCF2k1lmiTEHQDvo+X5ZeIHjiQk0APrJWd+oyoFpqyQuss6lH1apf + qx1h298xugpHRQvY5+o403ZurwOZlBwmKoWYEqFvhTtsKWZqCszKpQQ6F9JlV63v + F8Gp17+UzPkdnoMIbX4Iqg3Yck+ILAKKXR6hr7KewZdExTWoPIhJTgpT+Iusi+Zb + JzZtWGKpNsw8DhfvFihU3bCwWcNx/oEbt3Cddk5galsMtpdmz2iBAcVMYKjz/FUT + hrinIR0oZqbBy+4lo0gPtp1mxJPs0k+0986roARB5yi2J8pxHvk2tvJh1mbUjJIG + AIZ7asLcOHIFeRQoRG6FPlzxJzWBkUk5lXjGGZXWXaF7ZwPdgK2FP57SFxbWqQh1 + NOUeN9CHEIbVjTwtPlITJpY4UgMg4cSA91JJWKw7asv6vRyciJ58fIeJFvnXkq7S + XgFRl+qVGrDcAs3i3MFHj9x2w4lesZIqvYyuMvkkQscvjFjJFoBeqGSp8c1UQx9t + 8Rt7aq9MiVx2upNcuJm4ywXBv7C25V3gvgvxy0QbXUYyYDGf2rOPZQCwUU30pSQ= + =a3Rq -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-02-18T08:35:04Z" + - created_at: "2026-03-05T19:18:00Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//d5NS3WuMXrdWq/QlLOnRYjnSCxqElp7xyu7ffQbp18x1 - zFcgtzdpJda1xkfafs3lSj18jIloEoCHmV8VG9+KtFDUBcQ9wmDSnCnmVIbHUew0 - ESPbEVTlWxRX01FO1DTvUe6T5RH3pX7ymj+2D8eoi3JGdeuMDV4Nqvi7JpRJTgcl - gtnBPZnWGNG4hbtsFrXlfRgBzdcm+zwY85gwOcwtvuItXbO5lG3jod6a3DB1CjI6 - /+mIXoGOHIGhdK9oHBkZRys9ZpFDZcc5uYkW5zSPvGBzjXK0dgoyFkGc4Or7GUR1 - VYQtKSNWIZluIrcGzQKedK146EuluYc+zJEepGOI5qMwstZb+hQW5CwRE6GyiCPh - 4+bx5FgOkUPzBkBZlvSzkvumZ75dSAm3s27DfOWSMaI2BhfPIwawLLuqGLAWtrk5 - KEuO/rO51hup/I3LMDUhWUR3xTEL6j9nV8FFT8eq4Iir5HXpKCo20KKq6Jzh3yW9 - MyZPEvmN0kf4QacqVXXDyYFQWpNDhUnVjFGBs+IWr4L76hjgCLYPxnoKm1IffiAr - MELDdBrfsw0ZQEifjb+vDfhuVQOp4kKYV00RQlFTzC4a0jnrCAjDgIwp1wwksYU9 - Wdt6ZfmLNn28e1YiNf2j+eQmW9Bo8+wavn2QtyV6EoCDXkzHJm+2rk+qkLoHdX7S - XgEf9y+K8nd7jk7mi44woG8xCAxajZvbpAb/7OX7XsJJShSAKfAz1sQgqvIYdJGL - 462UqXMvQ2eGlksPyx25lc/0QajP4NYlkhF5zYZMQf4eyucLPoe8JkBkvXo2E24= - =IiSa + hQIMA1Hthzn+T1OoARAAiq9QFuWXGEzQ5zSQkZCEph06E7y39ta7/ULQnx/yPaeD + Px/fWEcksD253QA750PzXALRLDrP3am+2mAG0MafU1PHtFv+dc1eqmdcJ+dOKplN + Cc/TpM3+4d8mdQbItvL/r+ihiTfL1A1ASFrdB18AMhP2bzmdERPaZtdRRxqa1WlE + /Pn6vbKFRTWY4FnMsvNg0UVDuFvFSZo/QdYYptNopdkVt26XUUgtOo07GbPp5DEW + gZR/Fwrt6fw6zPNqbHEU2RS0YR89KTcIDDbVysqt3D8MyiZXEgiUjf1P13p2YnZE + gSy/qcTh9V44zrZBawQ71jS8jdPp5yrYf7+VsL0iUQPvvL601ct5SrgD02dYlyXX + IycdEbA1afAXF8K1wszXg558TLlNOUS4TfTxEA+7lo02N3sahOmoZBTUEzDdirfi + 12Y0hMg2Y05uIZQ4T5kjJDaK9JbXdTaHTYfZegjCDbJDcMWJvHgmcuPxqjEXx5vv + 0mjgSlHc90pA9sQefx6rwYQFy95SAhrAQlVCTvVNz/zizEpdKZYgrhVt/FOVuqDu + z1y02JP6FyytW3D300xiqX4Ppi8eqE3YbQ0JHJ3nmhKYULYAopj+525M56hYEKIT + kk6aMMujbnx1jqpCc0povq/IPz2E+ZvXAoKD6Yo6Ecv7MgNXySmTrCu9VJGaO+rS + XgFZs0zDSZ9kjQnhyB1BsRcaIRxVP00bSdaF0cW/bwfifMxDbuKOOOvyAHDa/F7r + T1ESUUd5b0MU9/r2vtNDQtFml0ukjVO7nIvuMcECNp7kGFSI7I4S4GhYvWN5db4= + =Apfw -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-02-18T08:35:04Z" + - created_at: "2026-03-05T19:18:00Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ//driJx5YeMiU4iuUjcvccMofD4buwwWeyPMLS0AWThMAQ - 6DmWH8PhnqSmSvBM2c+ChyK7EjWTu/sSVmUHFbrnXnWN3zyph1TG1G1lHAMUQCvc - pRE2Zczez/2P6BPloBVPL7jJZE/b4xBCyn+8eChO9brbhJK9Q7/AB0GOEOq9MeDc - 5LBebR1eZguCyT9rzj4s+5D+AUsp38pDKM5d2QLQvt3RrddJInkZSfZpGotMB8mI - Ky9ih7nGVlBbGvFCTy3R8FGEQiTItZ0tXatlTzTNV8+s7jRT/awoA0/n9jfzVvM7 - QAMpd/MAkkNNan5MsZ8kvAhteguHPdFnBGcGIaQ6UyUoXx/j7FmcbsDyKspSzW0+ - cjy6JsD2u6327MgT2Hn4edzuzD6E0euRgM+6Kigk4xGZrJI8+OG/EQnaBp8XMUbw - fjQdvTe9kkOOM1flz29H9CncNFkjKKp6w07zxYtCdDncfuQugujOxZZ/5SI/keRU - sK1ezujkRhdQC8QfspP81DZMEbh8WoDV8zKY+/87iMjqqsjSl2zCR5Pn3s/8GdUF - XOEYk+MtdztyICR1yvQ2Q74IC+vgz9CkUaONh2MUK2uTWB5RaPOOTXd6e90TYZR3 - y5ssfulTNE35Z9g9f8JI8RkrtTuSPifzMJg5IJ1Nds9wPx9Sj1Get2ZC8GfCTj/S - XgHdFEFySWPLnteSFE4T71/vRdOSLSiOANKdLY8P5anPNXqjf68/BDD3xoWokqR1 - JpY8xUn8LXdfgXk6DD7dHhCfHbtmVmZXWyREqN1HN1OHwVHyb71jpwlJ+V7xxMU= - =bry4 + hQIMA46L6MuPqfJqARAAtci5isBR7Ddsp9CVw8dnG01JHHLaWQ6jqoGgplvgdEkE + 9n/DLabK90IlmzafCQDEEAIvdjlLnGb7ZlT6FbhT606hBEIMz7iX14MEnMqq2kQY + 1gKN7/uMzIjAvvdnb2T+qCrr0SPpR5tLUgbwaA1ltuiRVBtsh9MpaPiN7Heu8rSS + wtfrTlxoBxV56q9x9XhqJYem95LCykJ4TemNS3QdmDR9Th6qQJuBf2HgfWid4Vmf + kDMFXjTWYO0rl2nlTChTRkRxp4f/F0ZRI7DGr+1JzzCarqv8P+a/9zHi6eEI3+vV + LJdAlQCvobeUY8ocj1/QQ/6vUStXvFxLeBJuzhN9vdpKAKdr1R5vPxOwSwQtdoFw + Eg/bltt1JHOd7k1l/Y2mmIYe/B4MR+osDTnS45Vp2tmSZiT1ZNYJfHn0k8Kb2KHg + BhpU7oNSWD5wzMo545O2GwhzQut5ATOtiFFGqw3qImHC4Q74bWEZjvJPovxIrbmH + G1qRGkHXlus+baB7eIvsZGu/po8EP/4dUH7/FREtgHR0zeJauEOJgzy9JzTDX6Ax + ELhjObFZto0FhfaB1Oiv8wrobyxylrT3vlxPqfPPwYlJEuI2UKbv6Zt51QmXBtoP + /1UrW5bfoFDRBJnPYrokjaMFgmgLVuGL4/A513c8c1FZg69ZgXJySJP5zilI3VXS + XgFKJh3deKbwh6LspBxJ6baRBiH2Kp2ttgUJai0QXOV0nwfqbt+kuhD+S4ZSycBY + kFSr5ZPVz1PZvyq2btXwEcb2E6eeJIQ1KoXHO3im/vniFKUNm5c6M4FreqGewWE= + =IOEW -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-02-18T08:35:04Z" + - created_at: "2026-03-05T19:18:00Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAXt1FCEUnu4MnHi2Zqe8A8+N+iqU8cr1NIx1id7GnsiYw - JDu1e2TGpMXviAunsDmof2oGzacPIMM0fGtngbAVFnKnA0XHFCV7S16s0uLgFYk1 - 0l4BOhD4wCGTw476o8noHZ46qyxcVEWBeG65YtCyYlQr+ns4z/OGbRJb327GueAt - TmRIi0L3Ans+kgi22YcUEswPT7+kM6R3vl3lvmDSZBD6TAdKyBTGkhjOZD/L80Qe - =t4Dg + hF4DQrf1tCqiJxoSAQdASq9NecU7fexou5DewKVilSeDSXVaPgFfI4cTqZ65rTEw + mRCRfrFow9mXrIFZHXegz3E7w08/iowmZDEi0fhKGnoEFy5xDEpjYl0CxyhB6kkU + 0l4B3XAGWYEw+R37yejCkOEKSPsK4oj6Wykrv2SSMYNnqU4Y/pDB6DBaQrYs5LQ1 + vuSfb01I3z6UD0wVM1H1v9aYJD8iaCs7B/78m9VkEN3q657gED/MUVCQ+FkJ5eIo + =PfFB -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-02-18T08:35:04Z" + - created_at: "2026-03-05T19:18:00Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAtAek53ZsgshJ5O5jF+Jy2CAJXXPA79nysKLRx1k1dDow - 1SWIOAiZhJb0/PY6Ouz3Ht8BFxOFrOtB1IMG7Dzob0woL/tOSXSQ+AXHG3j1cXfw - 0lgB7aX8OXSEw32F6/dDyDXg3QYUTW+jwch7VvrSJjCIlo/Abp1GgL5cfyGErYmw - fCQxrjCPwg1QCGiRjk+BO9ptsIbm8CDHyr4Lt+ve1J0P0F40ekhpx80c - =reOB + hF4DzAGzViGx4qcSAQdAquIjfbgq6srLWrHsGF/NlCSe/lw9k4zZ7rx386BLpVYw + 3XB0Fnioezb+kUtZKwrT+/SCynM58igvkpYgk4eMp/6Xhb4w/VSxChVCMoByKCth + 0lgBaFwJ7+eYv7Lyys/Gg78Zr0D/6TQ4M5BbTRBO2T92AObE5IoPIdBDSawb1+e1 + oEDgH8MNwyQt2nZNSLLPqxhppHLI/bH+izm5xkBXymcVMB9c9VIfxZ0R + =P2K0 -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-02-18T08:35:04Z" + - created_at: "2026-03-05T19:18:00Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//VLXPAe+m3I/mSropwKt7gPBrfy9hh0R2o8vO7FZjZseI - Qe3dhpDkcc0jSZ1gsTPTUfTLazwc61idEyK+kEqWlf5qm2YIx7EoVCD7Hjkk8k28 - 9e/nAPY2mdIf59a6S8YShcJ3urAxhXCg5TKxKHVh9g+u8DvftcReEJfz2uJV9M3H - zpHVULH0J4X6OVkoFW66Q3+pe5SLB/AX16ujpsaiPiRa1f/is2GrERwPCZaYABUl - IBnqi3swhfK3/XcHSC6HPYfcYjIJW8UkuET5L17tC3SUa2IKgoANtOVmSFg5xx9+ - NmfRRWaLJfJFHb+LbVvn9WM7O78OZ07ERzAkxDn0/q6yYAt7uzlpBt1kN7PG+6MG - lsgkSjD7VXjA9mBzxl9CfpTksLUS5QBC+DZjJiUAoNPPCUgBDcCW7kgWpxOnr6jE - iOITz4FsG/3NGPwXML4CbKvoo8mYVWwD8F7zw8DYCUl55Bk0dr3XmcdNKD5OuOwL - 2IC4Y1Xh88WBTrTSh/lIAE2SXsHzgz2TfLRi70E2kBkuZH+IyUR5jMi0lClqtJ0S - 4wVGMvXb/vSumiM0z/W+rSRDSmCXkZF5aNPzAuo2dXt8LMXJJzmlICBlmd+SUUL/ - 2kS00Bb38ozSXBE07xzdQledWm1Fg1PmQAUCmB/n5Pnz0dM3ZA+GFXap0cR1Z/HU - aAEJAhCMlnq4BlIU1ZmGJtDv/MFPNPhdaGJ2yBxXFlp3UoAJ33u+k0NN3SEg4fXf - oMLXhJSNK6md4dSJ3qMh93y9AYSwG2QRlXOuw8yehtWsclnjGDLuh+Q0a4tUCJzZ - MdJmRn4nNpow - =mZeB + hQIMA2pVdGTIrZI+AQ/6Aw500o7pa2+EfdANDTPCWmbI6xjCAmDKTthBF28RoQE1 + QvG0w60241lrDUwEYe7qdHe0udDn/Ctq+BaxHrfwRbiF5I0s2lPkNPkOqs18t0is + zOX328rZ4M1ApOcp+HxGVAggShWqg0Ic7GtVOeX3yX+jerWVYzUXAW5y5mrehANp + +Ktji6N5P/3Ef9E4dBTJdK4fRbIpn2duYgOESctdAzxugkP37KXXmsg0MrBimDF3 + QA3fnNalPlJPZkiSb4Y+Y+B1MF1YWl6xctM3kr0JkabqWSkpKax4FwxJYMIc0fMw + xlzWNZ7tyzRY+uS9K1iYUXMB/OkjOumRynC2zNPxLSqkVBGeLZbGDAxIAcU+cvsQ + k6ZN8vSe48LZjiOo0AM7ir6vcH8wX+d2Sv9vn7QvpJWlqLYoiDNzFcqx5lMjC7T6 + HMueAdrFguvefXf3yTrz5TC0Wac11a/lBYwt9atRbY4Dm5sChKjiLaprhS6prdO5 + cIiQAw5lYSU9euK0nA9TQdZrIqshO3hyb3GKRG/mxmsw7llLTL63xCTyfPTmquf/ + PUxKHZACFOW874dHlQeZY0+TYgn+lIe95bCCyvnPjMAs4J0dKlrATKxFBJcMy/1o + 876SoClPbaAn8ku5gIg4h4BAEqm9BAB8nmdYRMuPn+dS8+8ODp2Ln46SfgtfEibS + XgENidNxxtoeBSfEOhVENAFXWiKT+G57NqbnBPWCCVdZ5cQhpOhoFRpB4sN+ymBN + 4eJry+M17UZ9R64kAl38m37TNm1QsYHzkc5opQwPIPOqsTLcUSFypYR//miX4IY= + =O/vw -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + - created_at: "2026-03-05T19:18:00Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DKKbvh61jX5USAQdAfEVAPmzZz5MCXoiQjtAIzDDCf0qFInWjSyiHEXDf1HIw + nbMjDdC7UQa13CB/7pkEEYKaWE0SHUTrL1mhsR+iipCaC9wVVR28B+wCrcknsGjd + 0l4Byr3DHjpts5PW3/liRqekVrz9Wt4vatM6Uu7jEJ5Ic269KDBc3RVrH2CcXLY7 + H/YWuf5dDduZ0NusdQyYDx7Nemn/yBeWKNf2mFQ9/2dP9CeOCmBuI6hFEPasMFfS + =jL4a + -----END PGP MESSAGE----- + fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 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 b6f80958b4..ea11103f54 100644 --- a/inventories/chaosknoten/host_vars/grafana.sops.yaml +++ b/inventories/chaosknoten/host_vars/grafana.sops.yaml @@ -16,204 +16,213 @@ sops: - recipient: age1jtusr294t8mzar2qy857v6s329ret9s353y4kuulxwnlyy4dvpjsvyl67m enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzWU5NM3hGckVwbHdqcC9U - eXdRUnpEZzcwMjJHS0g2RS9KUHV4azRuSzBBCkthcW95Q2ZDNzJ3cHRnbUVBckpQ - KzIzd0dhMzJNbUZFaVUrQS9kSm1aa3cKLS0tIG05YzhpUDhMNlQ5VkUyOVA4YXJx - eTVrYW9zc0RHV2wzdlBsTFJBelNldUEKxdL/jNFe7SicEUbaf1Zl/YExIGlDIt5R - pLCdqrU0+0dFUUAeZ6wXqo2jcorLKL6CEa7xkSdh9nPfbwmYo4Jtzg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBmNU5zRTMwTCt2aWxqNUQ4 + elVlKzBQQ0FTQ3ZneHNBUmtPTnhzVkhZUUVJCjl1SGtUMkNDSEF3bjAxVDN1NEtv + LzJLcURWTEQzam0yUVpCOE9xb01nSzAKLS0tIDBsaE96aDRoMG56WWlWaDhLNW5W + VjFTZ055aktCYUdTMkpjc1BMSlFJaHcKrYCr6DD4FmS//AitQiBky0QwkbsLP8wa + jEuUW5uX8MDhYh/Gmb4EgchG7bfktJzXyPLIjZv7HjBTkx2Shzzj/A== -----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: "2026-02-18T08:32:36Z" + - created_at: "2026-03-05T19:18:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/+MsTfikk0Sl76RaRd8TdULNkObg9JuARSIcH0nQ5Fx3V5 - eIiutqLO1o+eZyMd2LLp8TU9Vbh6pHZBKLNsow7xkJ1aTY0yrZGQM7v52e3qmcPw - 9ZpsUuqWoKeNjOv9DlYqkIqro+tYTCDiJGBnlcNZWG2KGLj2Pgtc/k35I0nIAOfS - iD+Ora9lC+QgeHvjboVyl4TJMokyVKg4BKoVFqQ2GHCkPWNDjWClp4U6EaBOyN3V - 650n9IZWiF+w24LAFdL5izEWlkn4hxdOo4cbdg5Rrxpwr4J1uGVeAHl8448zyJrY - add4GBWZvala6nKoJrwfYhVgWJy0noUjQWqL2TQiM/K5O8FrfR8JmEkhKW/4TLmN - y0N6Ku43oqGUGM6sOM92zQwWHcEMombQPO3uZUINjhEs15gNV/x6fUFCnwCkyiQr - ua0UXVeWscu7cn5dgF3eUBhrfAkWjdeWYb5e38FPNgII+TsREUTuaUBaGt3xGerC - FHXSGpdoIl1jsdBoZUSinS3HpMVEP+rC1uFqQ33xy+6zsHU5TqXTHQmQzFbDy3sZ - db+6t9uuYrENnGSH9UiYWCNngaJAMRDYtC6I2JqBQqiNfuuCz5vfRYVKe88LfOKF - xydoT46Cgkm7c+1iSzbtcpd+7W1BpkH+rpCRUSFlKgVa1+TXhRsWTn6FHyJoQyfU - aAEJAhAHBcey8g2PxTC/WmAffa9n96mbhW6smfr4XtR6EwOL+P2v7Ag5JtCkn/0O - DtzEDnOJfEyK5irQCIoNsGheR6FDGyafVS+vC1U3akDXD1aKMgnrBCoDU5dw3pd9 - OJ/O/Y0HflGF - =/ZF8 + hQIMAxK/JaB2/SdtARAAieiYdH6zTXDT3f+vWQ8/PBAiypgCmgBTfp+6qZD6W24l + Uf+6XFSj6CaAmezi5mQZIzgrS0+0W+goNAJB9ORATZRuBfieFuToQa3lOQqF/RB5 + pc5XaEelWWz9h7PAg3R3Ewvj6+Hq7Nvs5vff14m8THlGGXlgNZMS69D8t3gOPTnB + 4aBFdJdCrUAScatuye7id1LWYuSZrTztO9Z5W4YSkVMCWtaFZWOGou6h8SKbVAtA + 9vxFvSK0f7U3BS1QbvDR+OUFjrlYgrrG3l/yXdgcbGg1gKDEhsui2XBfbT7m/fsh + Dbhhzms7qrHjdKuURfeEai2WgaVy1gzdGhoR7mw7Z96mGzOe1ddjJChyitKjZcxh + e0vLLFgvH9jH3pTDAq0rhw0DnVuEnmqbG1bvSLB7aYwDbVeZYHHX3/5fjPv7qKai + zqKz354uuD4Zfts8YwJGUZ5bFPEVABcfbgukQeUGAqLBvFX1lFUHCY9aq+8gfEBo + gvKSm8YscyxC+RUKqhTbPzZCDrGsQcWablSYYXKQA76YZkhyLxJSeVkfMGUQ5Mnd + glTVro0E6++ymYPsx2a4PudEo9R8JX99Bvxz4Z6ve+RVmfgkyUITIOvi16HQtu7C + L3LHf+wvMPAaMUqRrb7jw/38GckX046WCIOEBm8KDrrQ62qARODlUvTFUXU7/wzS + XgHPNZmWqJ96hW7+a6oSNVVzZ2XhABOFeGDfk4rvu0J8gtIRccIt+i0ia2+piC5j + MHZr7RRQBIWvH3WsRJ8PjNxWUVAhZCTWDMAqlqm0SRD4MLVKgyxEd8O6XixSbHo= + =rosD -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-02-18T08:32:36Z" + - created_at: "2026-03-05T19:18:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQgAkwjSAdxcqUH9cqH0m03zvL/8b209MKyKb/K2TyZpM0OJ - o7Sw32OFNlZebJj63qCb9ojFiYAV7a2kRvey16T+gEmB2blVDXxMj/MZC/Bc7CQS - THFfG0wmxcI8qXviw4awixbXQ+DftEgXbJkxquF5Sd6LbCtJaJjQkd+pouT7Et9U - wtDpE/zUxkBB3q5wBiTivt7HQXPhWdbbAIsuSRkY1gCInnTF/vKDYmGZPuVbUMS7 - 6TY9NioBU6GtUZmY9DzNDk0OBloxPIFOl4hHpiWRbaCRK/kAeXReGgd31hRam50X - 0S4D262fnhX4FKm3rx1844JLSa7dJDb7z4pgrLb3WNJeAbfs8FW2TOoE0l0NtaOR - SGD+mi0500Lvyqt4oJIXKSXYaBvkBtB7HehrIcMSrKtiS4j9wd9xotvmofhNdYCP - 2uVxBwBaqtPRItGGYGFvGzV13fJ7M4pmyUhBo0Z6XA== - =8X0S + hQEMA1QflAioE8i3AQf9FOP1gIyOBuS9nll0H4tCl88exreSUfNW+ExOKsBYhhJm + OLR/TwI696Vy8bY5jWIzrfUhlH3o9A8/Lgka6HpxJ273nueSxwmRX9hubpqHn7aS + gdXqYpdObwpTb2Wsa+TjyJWYVrf108aArZqtYyCGP+6tCNr/0Qfcuo6ua/fFhvJL + OUXnn0vI/4UOp86blpR2X9y5rYVvBrgAZcmdDKWt/GfmcHZ45Aqf/aKuZt/9i2TQ + EUQFz6FZUn+fR+u3NXk6xe6gvgblJo7DR/esLDwiqxara+Dg11K3r6i80vJJCqXE + uBFImrw2lJuCuIyh0JB8JVNBnPD82n0dJ1hppl3AEdJeAaxbK55QncvRg2f3Lm2h + WIAlELdmKlIOoOQiEIWeQ0roFuQ3oapNxAJajaI+fZZIChSOu0WOUOTzgyb9t789 + 9qWLmaQfdeGsQR9/ccm2gX+xdnIJ5rsqMWmJE6DRag== + =Q8Cq -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-02-18T08:32:36Z" + - created_at: "2026-03-05T19:18:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAA145h+tgF3H7YdcMdQC7JHr8cfxJfC0adRXBVf5kk8EDR - bInfas9rmWXAbk9/i5kswYoR/qpim3DcnoSabmiFzznbV7BMKAo9eJyR7bEtXkms - FSqpGBu7tW7Qub0kfA1/14wmc0ZaysMUKgOqnu7y/WZclRmW8iDXACFqPTSBN1sJ - ilSPZ7bCedzuPU6XX39qRZP5qn7iZwduUmBSmRVUw7DaqcIoBKcKQxU55xrfKQYc - 6zup0lB/nttmjWA2Lx7hWil3uIuBpz/1Q5uERZkyRrg2qALp1M0tjO1ScdGatJga - SDXDD4crR/75++jqqdD8ChXjXg3u2gakqusibmtf+krRxrs251Yne6jTClyAT5h+ - Hz6rkDBow7er7ilPbDwBv9FoJvRFfn9wk6nlupeYG5jW8WczPhrTg71n4+eZyBAE - IY3Y41rbClGLU/balKfeyzTykIZ3owj/UUq73yVcCSTjU8TJIfxTwo5fdiBXsUAw - aFRinJ/WjJayf4cjOMJadRwuX8uc0tcTmI/oQVMWbtgLHVqpZWrBNytDePAFUX/O - +lHR6JSriJLvcB7qQ0WZ5zB6CRmB+Mv0QV3mVw1BlGExlip9Z2rOmF9SSMpLuygo - +UeemXrqG32fmY+FG91Y7tlIAH6kyfZsLbXVsUmvZHkGkzar7xveUf4GYQsHrF7S - XgGnZIJBvgfXrox7TNOFNKrEETmsHKW7h5YdlnSlzMVZS4B8hGKotsBAd+5+VlSM - rjXB5Ar1KC8BrP5T6Ie3enzG6q+0M92/yS1BasXSA3fUm2cFoKu3pYRXiQUbn6I= - =jizT + hQIMAz5uSgHG2iMJAQ//cj5vy/G52j9XpIRqGyLwAsxHRY5LkNPOkwgdI4Bh1cjB + kgqNAYzVjsdsLLI5lVYHAA6fZOr5sLm7H1ABomMGreGiPoXGji2NE56+/5nO2E+h + 12vGtP59TWFIWSJ9GsmfBaspnhi+7XIMRzdKrae/+FVDhmv105xlHltGFE9yPEqn + xBAdIG1x71t4e8DG7WyQwKwhmaKw4CaWo/ZLePQCKNARioqQNuSTXVOly1OfXQza + JZw6YHbqDfxnUtrpmfJ4t70jaNH5x6QFbYY3pygksGbBTPgjYbIHcBteftEp84A1 + tNIre6+PVketjp6zZgavWP0XgSe8yWvcVshaHl+rGdYCrjOnsNxq0nGBg5bQpQUm + dX4zBmlctmNA4mn/d4OfMld5kW+ZqfBQ0CmYlLZf7OfHSOMw34rNxbewxXOC6eyJ + uNPUwxSLpRoNEMcbJ2Zdbla5C547n5gMHO244xjZfWZv2l1l6C7N7GQrUrz3Y/iE + hZDcJd0Lfl1qFe2Fx5nm+P3jhF9QW9gMjtGG4/T71IdDzFSDKsS5cK0bP9hmbvFj + GB0O4x6D1kfOiq9V7Sq8r0pZ5L/3wjsnD+MVLCkWRwJQDAjYetiZrUxNeCUtj7kE + k085awUsAIZk4EQlEzIFTICO+0RBGhuhM4PwRAGRW04gRdkTgLa8T2MHWOl/cubS + XgFFt10xvM+TIb3yIygJwFdVQa7YMzg0Tt4eaRk+u8ZeYcbt0eNtrDuGC0bpy2Ak + HVYViLM4j7CvpWRfM+3oVw8AU4knaOqrfmkmgi5SG7fTiw5LYJBXC7wfXi/2abA= + =k9nI -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-02-18T08:32:36Z" + - created_at: "2026-03-05T19:18:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ//VKvC4/nU0uSWTJyEs9KmCC/CDVwhf7PtOKPgnnXRE0nU - vMfqfua39UsfHbmAIe+WdNpqFF1rdsrjXwFwStetgAOvG7Bmd6O+KwwFKjGjZobd - cTC+mjOdOm+LKQAcBREu97zL6vsUN7uRfO52Fq1xpswtfg9s7wDP6SdYj3gCkAAq - ySZCxExVbYygYq/qfJELB7GP0CxpljRKkUy0GqpjXDFPKJtR0l/8/xEwcf/jtkZI - P70+ujgiAn3DegdSeDTdPX4MVg8I2lf9fK4KdZbE8WvP0W5te6mdqCjbe9DwLybL - ykTQy3E17KuzYsVJSmL7d0PPKE8xlm4kjS+x75diQAP1xSS7uhYLrZKG+SC8GG8Q - 3eeSiNYPT9MiKX3Uwxdqj13hqcQC+q/7nI/MPI9DLuUNV+xuakZBg4c3ikLx8FYB - 6dRjPzrQkO/ECEpYHaM3UqeWWx3lXOQCE8AULcW0NccVqavHWATNEbBqH/uSGDcY - 3ekQ993VM0/2KX2AKOR2i/ATlgJJJW6VI+r26vTTlKl+dop36mfrRjhkrUu+L981 - h35oA/CtRHjvE8hJsSu8tN2fkgQhkua32MO8dtH+8wYBpO7Y8n5vqaYe4i+tuAYa - U9QnNOMnPvZaN60wDSjb/DejTG6LPKoKbXXvdP/3R/nthEcDjl1LnVi1+pDCdWvS - XgHhkqYI/JNwbixQ0YG/kjo8RJy4VFF6dcKqaGeL5lnszLQPu7T/R8VewfDie193 - tQkERZLrkHf7rGnVeOWfO54uRcLPsB0BJkI9k4xRhHmMTVTI9jS3fkk/Br58z7E= - =1Iq1 + hQIMAw5vwmoEJHQ1AQ//YJ3CG9+K0naiFk0XmsZVstsisdxB4I5jI/PGPxejeztQ + KgZX760zmkm1LXwqhl6NOBubhCUdzJnt/5zYshOtRMpa0sszOL8PteJmNVUYCCcd + feIrab/5a63HJZTH2oO5TbD1WteMc1TpvwRoqQK0HTbKC01SZ4mZCOjUjoC1QEMo + AkBpdJSGIzhIv6D2RbF5Kh5oecYM3eIWIsBaiJ/twgJ0wIDX/FgsSlieK/vMjL2T + 0qxHKKBAJve8TOX7IbcEBdjqs1rOL4n2PVMp5Sa1FsMzc59MtgZKK7dHB51g9cJU + FI1QoZZl6ae3I9vP/bfkJPxYm1b+noE8CEoJblKiHdv9E299eQsFfTvijAtRwT2C + w3pqRSTWUC/gzvjuju687AjsPkRB7agDGVNTJ1H2InenK4CHxJeaExCn1Qn+64B+ + FQnKZK2ZHXRSOTkPEGsycvmD2yIqTD4GqSP6Ksv5SwMICPeEux4FyXVxBJ1bFL9i + MhfRW7NiTzoKzRtDRlPfnB5BvVBCFFAYxdkvk5addFh7gztfsXXROpd1EvRtG08e + x8JWroPo1SCsCldC1v184B4ASogcbtX5+xgG2cjnHzWqO2Y4uw6jR3ncyyKFemOA + /sjfZAgJdPWUDZkcE0hpIyswmGAIDR6rmZ8LarXeupSbLLvVczaHfpoXbymc/VPS + XgEJ8INCsx8Txd6m69O6+SgcXqziDhcyHA7acyHzfEpaBbr7Q8zLBanxymwAh5T2 + 1vzfgkN4WBTxO5V6Xja3KBSkFMse8jciVUXBHZpouetbClnz2+8wGiOmnjNWePs= + =1wcx -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-02-18T08:32:36Z" + - created_at: "2026-03-05T19:18:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAsJlp4AV/J1rUUZXzsR1cYjLFtGHmRoeRH/HsyzvAfHow - IFsA7jhvjXCRFXNgSfmtSyULEgUWd0PqHZmkWfyPKptVLxyuA+KiYHzTcBMX2Zvd - 0l4BEHNVq7qgSGtHEr/Was98a20G9Uzz4XMNM5eOy3vet7yxjX9/Utvapy3o+nda - 5kNK+jnmHCLnMbM3KsMdZmHE01Tpr3j3bZvrG11LOrF6JeZC6g0mjV1T5my4uRhB - =WiB6 + hF4DerEtaFuTeewSAQdAfZTAe1kpBTfL4nnxyY2Ij281dvj2PM2RAOklilYkRl8w + pPX0VSXhSekzNE91Q397cK72HZPiEUX0iR+1oUrUrVQdEtW35u2CdFFHr/EC3fou + 0l4B/hUlayEGzHBU12RKyt54qJtpSBCuV6tTG3XqDMz4kv55LPs9vbhg3hgyTjOl + LhXNzFY6qDwvymZtbZOmVnC7IoLv9fXCxR05nISvL/ak8iK4oM0/GI4sxnBzY+IL + =pI6c -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-02-18T08:32:36Z" + - created_at: "2026-03-05T19:18:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/+OnbH0UOgoexmlGWvPuZpzg74NvSfrEV2qA14WRGowdVS - AyZy4auArh1SrUgV8+Ayc/AtGNaMAH4kJYv6sJe6JU2WOv1/xQejHKXC57fF9jmb - FuPvd7qRqV9/XaVR+AKBWQp0UVko7C0B8Ttyl1wVB1yawxHJHBIU3zm/xAbTuFqb - Z7mRQs8N172OJC0zfrbiprMguo+YIOHBp9V3h2DF4PSSFFRbFLHF9jC3gyWXIsVz - KBLAW1MlQUcP7hRzOr9vSbhA94+9teJUoTbVzFuIYYDLPGkEmSjfGWMMaWq2IYP0 - nN6yDS0EddeHrEco+g45NG23Fh8Wfe4dTy4hm9AAoAXYlot/wWNaQNeggWoimMpe - Ie1DqU2djef4qOMASUQgA5Zne3fd7Jm2k2m6l2shruyXyG4FXq6PSVWKtFP5oqMq - ukGZf1ybmBYnwtRJ1Bc2ghv585zA2ldWrXzShN3ZipvS5tPHdHfiah6dffaFvraZ - jxJNaRO876HDiMH8AFN4jzdALzS+1CCGALWaW027IrGYkjhGaDCQ7MKaFjAjrOxF - tlCnTVQs48d99gzI715z+J4fg8dO04YaD1cdUxiFOOWXmaJAZmwFStEpfvus+qdN - AdRpaFGNswEETUztrIK2zJVZbjVmo385dtV03QBRTVnplTnKxcln8atfGZBwYS3S - XgG4w8YzFeW71LLRX3xeZltHHr5PEarDX8MvHYBFdROl+TrkbL9+DWFZrAwnydTl - pehTLa7ww8e6vpL4wZjv1EtFjffDkp5iGwzJHPz53Er63yRhdIKSCpP+PSR5nOI= - =xT03 + hQIMAxjNhCKPP69fARAAn6Wq0E9v0VPDKsTRbm/l2qJoiP6U6e4JPe2rpqRGV5DW + 9tfOf2zrHyrjjlmtIhWoAjOBeWTwjdFj4PBrNk6k9hZ99GlGka+1tRB21rQHwX66 + NXR9o7ONv5Fm+Dbd5bcfzWB0+04Pjjmvol6WPfk3l01vkTANooUhOMP3IKgOo0Fa + uPTRjnRCCtBsc2pMgo2YLdlxzfhPMmvWMvAY4gWD02e7BKKG6wqAKSoyFfox9sOK + Q3poUnZhC9AcR0IGqKhdvEu9B7Q/0aXREZavvSxP/zFc64cAz2NmW0+6tuYnthBx + dl10mpq8oDCQglsOZHllW4lz3qGSQGgh9H28ATb0kTsVwgsO38ZBaHUwvKoqRkNS + 4mUdFuJXLlt2AnYz9YfXNvH+i2AswNTTbO9O5ta4R9JknySLzf47cyIHqoWi+79S + fcxxhHbclacohreaywCMHpGNdEjmgeIAP1qNmeh86tx80/ore4aFSMUYsreyxvEG + +CmqAaQP3O4Cj7l/jIPY5a6DK/A8LsNSV2CXUwsA5hHo3HymsGAas4RXEcJg4PO9 + mCTa+tU3bHUtErEa6il6YEaYWUikkrlerwLy0f1ZnRy8Rz9aA5fB+JCxCG/dlWQK + 1USXmJ7vC6Jnr41uWtEMvlvKAkwFgreuxtmSORjrFCn50ukPNa2rNQFlq+rMUcnS + XgGbl7yOnHnKTs38dAUuAlqftHgx4qilfJW9mHy7/Wxxgh9QThqOe0eXSsQJsuGN + GVhAabfqd98WQFkCt+b2UhBrSmqBtvf6bkdXxj3yLrw9voogBNFyxmUGTpooJYM= + =EQ1E -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-02-18T08:32:36Z" + - created_at: "2026-03-05T19:18:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//biwzGwUuyWtHeBLCABQyUqKB43G0YrXtM2cQFKwUG98u - WamhtmGzI85O/mx90uim3Vg+REOX30yT1prX+dVi8HibaRPZQL0M77MdIbDjbUHC - lFQlNMg/CKpAvVKrDIrPYTBZJEsps2x/CQBFr19lZDXRWx4R1v9ChIB5yg2IyjZS - QTNRss55VO5uMW97sV4/h3Y1vAQFpybIZ9SvEFw4RvwE/P/pErH40t2pFfocn6C1 - yFrtJG402v86gKrww8xGEt4qGRZ7Ajkz9Fy/C/WPY8iGsnx02SiLNhXj9f8GXmWi - HfM6GpyNsliPeJSUG0+rM+iu6FaA92bEG5xWZ3NijegYMiEa/fO/BJhlZr+/XvoT - avpnhsJAvlJpFFzkFfbViLqfd/nvOh2GUoYKAS+m97aDez2oB6KTYwJNvHgOVUbJ - JBQXNbwcGYWczKWaJw+44m84zoZRnzWXa7hh/t4pUq/qMsdnHaD+Y6bmeU/ATSWi - KjQ9miT3/wkdQcerOli2ws1ejxmOhgD4APZgSnedchC8UySdfxpF/PCMDFkie2Ph - cG1HG89YPyDWGuUgBiyiYRwpO43jWldaVFFMe9rN4gqDSppWluT2Osq1wVULfNdN - DSfSMon1CgReRODvUw8Q6RClHzVqTI0Y0k+Lhj92PYcW7cPlrh+LTQ65pBjMLDXS - XgEqCCta1jdGjIaJU7dvD3QlTKuJusXykyapxeisx2q+CEU3tZt9t6hC1iU90bk3 - +YONIbuWRhUsMTmzV+QlUR6yiutnn0YBvzcliejbbUUcIDN336bPb4gejr32Qkg= - =uqwq + hQIMA1Hthzn+T1OoARAApkPqdZCQpmSGV56UtzY0oWYv+glGKtCgX2wF1Hnpxl7s + VugLFt2ZaG6eOg0o6xlVu+6iDrlB+jV0uDtO+5eIfIf5m57psgm6FDlrlmDs8uH8 + KoA8wKineJQ6wMSM0HlaRv6i61CuvOM/6dtML/edoOVEMSliQwGoqYmamlq/SfNo + FzpgQSen5EDfkp3nROsiMUXNDr9bNnKYGlUtExAMRypvnnUYXB7x/nm/Tzs3flVB + RvQJBKTVkAYjwvbq+nNWk57Esz/uWAAs/GQcbeAwLD67OgsqaQYkQwHY0DEWiyqH + FRRNQSjSKPt3LsGd6fcUuqj25Hx0mBpHFlppuWQmPKlRN4MSADzMq7i3i30cmzAj + HKTIILvU57J8RrCWXZcl3UVz9FQbi4QOzcaQ2SW835QGCFqHTO3yTqpYG0l91IwE + z1RoaCf8CP7Jf1z6y6YUib5m4EsCzXcFw8R5X/DIISTVy99wWh4bgQrlZNLMmMrK + UFWEbnzaCd7J0VaHlaRLQJCg6ht7Z8KUk7Y6Le1T12RW53wu5zY7lM7HpZ5mi8Vk + GNDH42iAI1TCa2K+Dv2R7bz/zEEHtyZN2jqT/UHwXigGd1JPnYXxA8qZEKigjlUj + uyViR6THrF8WQUu9cm5VKz/WJpqnnvMOdIvOWojlkyZ37o9Jp0le7B89HKGqhTbS + XgECcc8jMOi0NgeG7DPawcAuhIaBhEJgJ0wdYdBIJ5QJwOSgYQv8672BZhtAYDv9 + RiKLEU2Lh9al+J0jJ91Rm5gkr0OKx1fSevVohqvReOuhlujA2FB1dR3FbuPaM3w= + =xJn+ -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-02-18T08:32:36Z" + - created_at: "2026-03-05T19:18:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ/+LIn2X3t9tpgSmsavY0kciFax6OVE0wamGLWBKNLW8H8B - mbG6yWVQlBuCgmD8++NhICDp5LmYIlro9K4rSm7WpFFOjKvXP8TuIG4eFU51Q5Uu - tvQk3OB8mWGYrBPPvwJRSbVpk/RkLO/lNlSoL/aZbXRfcLszW+RFqf4nZUNahmBq - xAGkvi7UTaoktc64pXr8qjFo/6YMX6exSA1jd/PEC6PjYE0GiCieKXO1TooYfc7a - N5osXBvQj4cMvRfJ3613p0mvOAwSLa+ZmUlwKULnuiKcG/aT73x1RT07TRUnaWBg - wQkXEgmxv9CWMDlOPC/sPaw7/3Z/w/7t8FO88Cth+NeSYQYHGJqUI9rXWk1U5eZi - 7ZT/MVQpXneQHQr8qGYTDeF/xGr1q8rTWWmDdLsnasE8fBhKgzQtsFFVA937/jy+ - njQpXQkLNi8ku9q2BnOzVoWS9dgaCc+DlTFsgxlE6yMc4+ymXXI2m7c3b6H13MhB - rqh/Bh/L/7T2r4xvn9FfTIjYl/AfUiEZyfOZ8BOSzxXpbw6kmOPt+JYFDbRVw0oS - nf3h7XC7jdiUijUTKSNN7jCHyKtQdqJUDIAZlHn4bP02xsKCmSlUU8dwZXuDKE9Q - 6p3Gl8kV2kgr4bSvwrUdvySfbVBO1QsRytAaRcnnnNTqmjJe7rtQhK5ANM5Hbe7S - XgHwceRynZjfptWo2iDU2TP4frr4vFUsVfwi4/O+OUcvVuFt2IrWuOpZj3RjuYNW - xWwkpPZTGPxt9uaepYoNtWsUJzqi0FcjS80SxwnUdbRHHaTl5ZTcCEyTkAgVrjQ= - =fz7J + hQIMA46L6MuPqfJqAQ/9H5V0dnLg1AsPwvuWlngqQ2MQtWq9GM29WDkmM8zHa8X5 + IGOHn37y2Yslq55k8FFNZZk3mH6zth8Rik+nfjj7AINgIogLKu6XGNaGklvKiVW0 + eXK2qME8kYWvuivwK1XCbkXWwyv/Bq/dHuU+TiwYX4ToxcvQ3Uzy+2cTK7Gn4yFs + dbLI3ST5EDjXb4X6UHvqpLpLspuULA3tHdePVj1YKIGN2cSBl3xXys2z73/yTQbX + /iMkIG8+C6xlSWwTanjRfBe7UguoVEDrFxq1R/xGl+AZPh9YAQJQgt8VecXIG6cJ + 2Q0gvtoz3QpUTwj/W+Ad4TE7UToOJ7rN9t/KoIY8O1nWjxkooGyCYtHTjLCDbwgm + oqWCZnRXE8wzAsjq7qDURQuJGdzaFctVLP33xuB0vSNzFk9HEgoibKr6zxwf29Cv + 8xnOofBOlE206FfzAng+vGD8p6wTTzqbWaS1PbiPCx/o5JDzxRDpXolASNgRLeOc + q1CpbyfMdsljcmHqnwKOJ5nt9ATQ8nfhdxgAoHFWznoiRt17dpDesI/NbNaKMG45 + tsoGyRRZb+CJS61IEB5i9x7xF4XxHwHWME3SmREIatWCwK6xrm68jk06Eh8xNPf2 + EJLUbD82d/XXNxJ42uZO77tQtB7H+EV3VwNvO0GDBlrrP5MV+Jk5k8sFSi1FIU/S + XgHdKmW/6xj9A8Iypujya9ycRRZRBGoT7OnBU/EPbEufzEWu+U1GVN9piWpHwxU1 + Fa+5HrBxSOdbXaoo1ymttUwfk3WsTjskbo8ATIvRLpEF/bwteQznr0O9d548MmA= + =0RiY -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-02-18T08:32:36Z" + - created_at: "2026-03-05T19:18:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAbctS4wLEDCGwUTMXsKB33mF9rXfPPE9jOFyGTnKz/ggw - Axw5KKlTpq9F+mELqrivs3XhR1Y5IFKspRQwvIg6Nqh9tw3jlgi2jsAalOHkjzlG - 0l4BwuvTJ7vEwLuaY2z+m9uF7PpGVDvm9vSE8GkquIU1u7YuYkJgSExQ5zJ5C0zL - QL1dd7iQfAUZ0J0d1wuyJr+ARrdx6UW2wC21mdBd+bvVHtwAYux0g9bKaAU7ddTj - =VZd3 + hF4DQrf1tCqiJxoSAQdAnk+f7Bd9KMy6BpzdGicvPNwTGDypTmCjr7uvht4TdSUw + QxhO5XJGWPHAKSj+2Hb6WiMKime9dCReEA07Hd3VLepmjQDhQaBTTP7/qWz/N4S4 + 0l4B3NHG/+ZdSnQEJuwEEF4+7tJAH9KaFDsk6ws8BFxfy7TvWdRouSQcAAKdqFaY + WB1prv8hdmp4vzUZBiJBrhpLJBuN9Ye4Dl918DMllVKARAyIWxy58QHmypEB1Lu0 + =lGlA -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-02-18T08:32:36Z" + - created_at: "2026-03-05T19:18:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdA5nAAzvcEa8c/DuM3HE2AeTUpmaMopsp/9Z0Kc+rUEykw - wp1PqPH2jPBLX+VtSr35V0MVout4i1gv/sFYFu7rxHE63vmh9Map1FkvHm4FPgPU - 0lgBNEDJ9nX8KX0OQMM3dLATRJ7fjan35km3up1xoNI5T+cNlG/2kgzvUXjv4tcK - z4paweacy59ARHgP4GPvxZNcJ0ZmofBpDGxiyM4113g21X3ODArf4FMC - =xhVu + hF4DzAGzViGx4qcSAQdAB47wtv2KBefMFQLvON4RxPWhDqDLvNVqsjZrKLsLAHMw + JCIm3fVMJLne3QJBJdBS3mmfVFb6nUPLkIGCtCfUWgmHDmZuV4L0ad9tuN9rj55d + 0lgBtQJERICX/eOrdX+R+AjSFgemKO1YseEgn8fC8VPtwzx1RESXaHJn0N8PAdRr + RaZWfFp8f67m3J0FWU6TxhBv2JZ/HBus6TKTM9DKsvYW5/WhETFPIRzL + =lOk0 -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-02-18T08:32:36Z" + - created_at: "2026-03-05T19:18:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ/9EyNBMH9qRwcu8b/9gZCIBH30ADqrcnqmMlaH7aAaUrdx - TjuCc1pSzWJRuAbX6pNZBV5+vCX5QDMivraWqAe6aharA162qkBiAf1K4eXsQqBO - oTBq02uSIHutJIyFUzMu88V0FpSektXARWwakATd2MOEKr23RcKcyaO2oDdW5eJ4 - N+mUX8IM7HD9lEk6qMunLmb5wpZZwptPx0nbLOT+GzjH3X50KepfVHCsd1uxPAdw - TgjMefTscjdQiVd49TI7GDxtvJRnKlx/r5eTFoacfIvJ8juO64DjX4tx7djtVR+C - o0CIHWwPar98I0Tn8bW2OT3hU3a/V1AaJoqGP3RWkUqmOrxioaWorC1YEXvS+P2k - SfWAAljQkmhrUxMwRC8pThdREPS5DvGlYQ5YZNPZxjxJAgOiigznJnK5PEbRQPE2 - bWLGZZCBEVg0ZCYQ447kY1mnWTPcXLNP2JSUc/Ek5cj/BVl+P+JcPMUZG87BRAEC - 7JGB0f3WwZaFzxvw56eqPkWwlazkizjmXlh3OhgJ1FJXB5Kb/WzvEDTUInesK0l6 - WTmg+jiuZXo/AgCD9Uk7bU+wneAFvRlHZC4ZiryKOuI51W9CH5iiozDlXVloMe6F - t6ys5dw09mkQIhuhz/OCFST0GOo2GQbQisIZxi68jMo0yp4Beu2kbOnQqze+/8HU - aAEJAhB7oAmWSY6Z/FAMeOKBIDs5u+/FHXaMoU/tJdTydVVDDVCOgVBbTsOE3Edp - onQFaWmoXHeBrdbkpTVZl8nGcZSF7FILag0jW+QucCPwreVOMFx3NgmdcGmyiltw - DgV/LcWCU0lH - =DXis + hQIMA2pVdGTIrZI+AQ//VtsxiACv20lfDLoKbFxu5zyH4+R0wJOnUJhvthxMdT6b + yU+wCna0lJnUQ5xJwZa/D3lWgPXo1iACLRypsbKh+JzPlcFsVWKhVmw2mu7ia+Lp + Zmge6CKdPOOt1g6Ytdp7kvgRPnLm16vRzzAz/sPG8WW18zb5JTOB4Ph9lwRwDoGH + MgE8LztkBUDiDR2tCg3BR/3+q1NCuKGA1InHI3C+s6cFkzirx3BOjQ4Vj3KnTMg3 + NeM7MpzJYmIKOjVwFghFadR6DWVOXBjNlsctRryrDW213ICtDY6HWERgdaN9Mpus + fIIYiWWK2hslvy+kN/+wiGE7cZ/yMoosQmDeAxw4vd45k4HfljXEip/qKZmVFo/p + mapfQwnZQYPAYRwC1KOK/meAXyfp8Z2OMZqhULvKcU0aEHuwj5rFX0/Y5YbY8cXE + gsjeX2ASdaxeZqZfIoohYkafT8/MmmN8H0O6rh1hzKLoVbYn/zDdEr730pHJ9YqX + LHYxy9b9VwN8AC6X32uAyqnWu7/CCrCHqnUb+x8cypJUTaUQTa12DuC48ZOzs9Vz + ZUbR/cHdQbyLYpnIfzZc3Rg7IMsRJRNuURhD+zctu04CIbtHeWOYTJQPTf7ficdB + y9OObTMadabp/lRNlzlZcaguoCTrqvDnXhfviiXnuZDGXUdBB2FiInWxMk2brcnS + XgH38kcUcM2YWMwMcc2iIruXTqxgRy+1iQqI685JM8S7omSd0Kptc2QrRvsHS5eK + FsV0uNaxXcuCExLYPXbjlJdTwMoGWABks0j+dO07SqUA13+MD4KKkPs1OTGzEyk= + =Xk+a -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + - created_at: "2026-03-05T19:18:44Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DKKbvh61jX5USAQdAihlyqX1487K+xE5OoJdXt6hqvd4p1wCscT18h4dshxAw + A8/05k4PnD+pdHK/qIJely79ljmWQDQwRzip/A/9wJkPChurQv0Du5OuzpZbdqKP + 0l4BurgmacrV/G3qLvb80r8qZf4vUbWspazCVyMXoxQNvKypt8nJMGF7jg+cYiFA + WI3VY1aIEgS8irTy8M9yM1t6CcRInlzB1HVwm835h4/U0dtQ0vHDlWID483Mw8TD + =29hK + -----END PGP MESSAGE----- + fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted version: 3.10.2 diff --git a/inventories/chaosknoten/host_vars/keycloak.sops.yaml b/inventories/chaosknoten/host_vars/keycloak.sops.yaml index 1600391d1d..2a689b626f 100644 --- a/inventories/chaosknoten/host_vars/keycloak.sops.yaml +++ b/inventories/chaosknoten/host_vars/keycloak.sops.yaml @@ -10,204 +10,213 @@ sops: - recipient: age1azkgwrcwqhc6flj7gturptpl2uvay6pd94cam4t6yuk2n4wlnsqsj38hca enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBOTDliRldvR1pZM0xsbFRv - MDdmcFNLNGxvZ3BJa0lJNTVBa2FhRCt0TjBZCjNmRkdKTnFvbGRra1QxNFFHZTMz - ZHY1NStWaWxFWjhpN2gxalhEaEp0VGcKLS0tIFRMVU1KMTFKY29vQUNVYWg1Vys1 - aldXSHBQMmlLbm5FVG1aa2YxRVJVRncKjWbVgck/EIzbdeoV3X+tMT+VcNVXNcnE - UoTdr+Tg+BRqrl8HoGTcwWxVzXbtet6rU1YiNdY0FHAlqNxkuNCvSw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0SzhTT0lMdlRxZW00SVV3 + T0NnZFRVSVdEeHoxaTRZazcxZXRlY01rM3hVCkZIbEkwNnRlNitESkUrcmZ3WFlH + bmtEVWFNTTJVa2ovU2lOMWtCM0JIOHMKLS0tIFprenNjS1Ard2FXcTRxUWphMVkz + eDNHY0d4QnhUblRSckVVUXNvN3BMenMKISWK22cxcTtD/+vfIKDtppKaILPsrazy + Ptow/YBdiJIlYpmRXzGAVqowKYuO6qJutrrj9ou5FFqUV7Y3WybNcQ== -----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: "2026-02-18T08:32:44Z" + - created_at: "2026-03-05T19:18:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//Qqxvvus1BvUz2sbcjK7WaVMErA/qgTywafdqcz6sKXkq - 05jnRtsPFu6PQSqEFg/3B9wsR0aDoImKwCC5tigLzB77nNXrC7MwgRkIqqR8zJ8H - AKGWNy6I+MlBqdvnvG2rhb0t4ZZvmv7o0401YAVJb+rtmj4KSNYGW1zH80pjnRT0 - IB/VeBjj4BcKLr/CkzV+BCzZsWZmDs0lVvZjNFZff7+mSzd14D6O6CzDGoXIdY6l - ktKVL7pDQepMOeb5Pr+MFq+py6eoM/HLgdo0wmoXWXJkd6l6/aN/gxx/2fXWmRUI - BXvJ2SfcYf59SZpJ61o7QoRnLDi9JZe5YRI31vvIGWEXx9iFmhqpca8lOdtM2J9E - WBl6NMZjWnUB7QLmXSNJAme7pYBSrm5EjDNhXiSUwQdlM1hgSAZmxXPBH6NLPmhf - Wdy0sC2/D77frFmHyskUj5GSr+9fGQ66MCv5sBXA4r9V+Av3sBjEhd47qytyefVl - 34GPUZdK5+w9lISG5yGpHOlb4y8Lx0Mk6U4WrZJLZqeSYT0DrQpSarwXMXQu3U7J - FM5YqrLW5q2qXqFtkzFqGOo1NhAUIwQmBrr/0bPrSow8BREqT+wu3WDbqRXS/1k6 - Uy0zluvkbiTnqB3QHDp1W5pPULQTpiIwhnC/lgM8LzoXWMNspxJGC8srFDjAFyHU - aAEJAhAgGaddv9e7ZvlItXkM1aqAef6ytjKVFgxbEMllLdsNw2CPl32Hjc8ekGUp - MRPhV/UiMF+pkflI0Zm9bY39/qhvkHybqsGwM9BUyOSvXFo94nrAuVNSmd9DK+/c - yiy4fNfMFUGD - =5+Jc + hQIMAxK/JaB2/SdtAQ/+Jkx3VHTIZd6H9kE5SBqqGFnrjZQo6PJtdz6uMQ+Zg6MU + X0fMwjbQ1ZYBL2McgTUy7rPMrVtwVUHU48YU3yCoLlO16QVAEWw6ndsHycrUs7LR + OJOmRFZ33rNFkc8WzAENIaNx+MvwKIQFc290nbtK5h/TTl++krGlZOe7Al3mm5Qu + DhQDbeNUE+egRQBK89qsIyJc/VnczNn2/fiUWDYPwX/XrYUmY+wq7sAmi73HFqT9 + dk0q7ZcDlanEP1NKrbx5OYsDcyVAlaIr2r5JJRD2PtHRLteeASd9jivhOuusjIcS + 9d3kWbNFdrAconGH1051osJVZw4jFzSUtNIEIRdTH8YtJNGS4viqLnyJvgVF1OFh + upk1iGtbvHZ0zqPBqcBMaYTnA5dfQQI0s8+E77SG1zwfkdL4IIJLnLE+3zPMRJ1J + 1aW11Px/yBu+cOqole+Sxg0cWgtywIflLfNahzoGpD2mJBapaLV4Ox3vLacaxpwr + FZkVlOdFtRmGJMBx83LNpIbtfOH/2sE0DCDnh4c6daN1GbscCASt9R3mcl4sn+PU + jMhczxKpZuAnSlNm7T0EgyS/n7+sfX9mYr6dj3pqdZkBXTIKSA81/RzrWj9n74El + khHxbTKF98lZ/mKdSJ+062nD6OO/PG+jECjvKqRDtm23fyAGzxt/ZqJY1+gDNeTS + XgGVnqKu6d1FXQsyCcgsIPRAoJ3pXZ/UT+HsaA8ICMMMJ4YPiaIWUFstYLrPCBrA + WLOIKCONLIFY3+rJV78lKn/87cnSUzMlGrhhj00dd3zI+gIEvxms+9pOxpjOPlE= + =B+Ma -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-02-18T08:32:44Z" + - created_at: "2026-03-05T19:18:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQgAoJ3dhlncGLcgPGB4+YIBqr8V9XgwzAedPeWtZe1O1wTZ - 35J0NC9kdNV7gM8wJpvQeA2jbzOD++/XrBrIk6ZTfxvhwJGkBqUFkSruMRHuU11i - BJfTWJmobTI4vxqVj5gBv9XepBwWMT25kwxvIZedrCDDpRhjXwCnZ+7/H+K5KdER - CRPPBABX+RGbNsH82sGD8mXlPowrgFW4YSvXqiRhr4uC9GvgSWYRsXrZsBzIKi26 - UWKvz5cfD7RPJsv4m00M4ctmme9lx9OWn2ddEv/U6PyaQGeHGYBazRXKAGti7+G6 - PHh0IdmSnfZB8x7SnVH89f4OQWtisvdXjjqNcsiWFtJeATjMUNsQzcTUwDooRU5N - E5zjq5v8a4mIpZO7+zJMxjSruCdaHgEAQOrCBS7xb3hZgX4M5nA54xviaF88fPDx - BCCjYeDqEy1s81WXYnAMycBiDj43dPapGB0TcWkm8Q== - =Zqh4 + hQEMA1QflAioE8i3AQgAq6n3MkqXO1gNSEPMtkfNcVy0kyrIQQO/mI+jG2VWWO5n + JYgrA27QhSBzKGEDvnziqc7Gdb/pZAAPH53BtgYhXc8PbLqM4yYUoy0GSyJG4QUe + 9PkLXAysR9KQNmuODevsP0DpayosmvINLQ4eFIbvjMmj2rqlo5/sSVojzLvgDhy2 + XsFEdjMk79XIGxcBncKxIKDxC/Ei7/Jh3WZ/5c5VujbshWmpLH3xtXXf3mdt1+RT + 6hgwuui2i7RSOXL0SZE6w8mBUPNQ0DEj95g9Ei3leTKxcKe38fcJpd2UdP0awFCk + eEgljxpr+slCQFXgLJOoT73P2ItAeqWZ/J1hG/zKwdJeATj7yCOQAE5yxV6h59ZB + 8jVRjBzsCni/wVoU8XnZX8nxvCF7pc8IxvTe4tk9aGI3oNy1lIdU41lb+5jdRbrH + rTgSWl1uSee+GBBrG7rlcg+fP6PhumdwBZZqnQ/cSA== + =9puE -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-02-18T08:32:44Z" + - created_at: "2026-03-05T19:18:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ//QnPiFsj9gXxKag21up4Ta0CzFFT/yVn/5m0hVGhk+Q8n - dnrl608daNGtdfp+VE9EOCHPE2FfczQMDjWm/2UNIe8AYjiTWUtZmf/XYqnXUBi3 - ns8GhXzKBzrfISAt4xadoHUOKodnrSq6zGd52Z/QTZMmYuYeTfimwJkoUKxoiKQM - 6i0ScgO6Pc1BiP/9LIKr7lYVshu5EXIvo5i+nuo+Z7PD7Kq4/ltzCAui/iAl6IEa - W4cMVeTwBNk+IyCJQjBOvGI56ISNm7uuO5oLNNQsD+Xq9rhxGPn0LwQCSg7LwSQq - GoNKVqRco+SmYUtPqeW9yqk8SwCGXSGp62T0MYp+dL4hc+5OjIO31y0R95CwL/us - oTq/b4MPncUwBQeBrc8yF84MKuk50ETbeoYAV73R14k+kw6UPN4accjUd9MeD6c8 - YKP1K1UO18uc3d9PuOf/+SWTJz5QtgKGMPQc+phDaxAoUIf3MVxbhim5teGBgWV/ - 4tRQt0bA8ZDuESziJCYKubumrhZOti+CNgFSZgDKu502WuxTsHbimlDinq0DvAi0 - mMWSq0guXnYhFn2LkXLFYPzet9ws/zunKwrHz3jQprQig0mYKlsPkNztgHSQOvzp - ObvXiKdWzpaIh2xyuMJvtFF8E7yI0OlzjbcQ2xglwM3YhlrgSq1tUUVe2OwMktrS - XgEPv1MnPF7LdpSx8RvuCBwFrTPqel4vm/4KlgHS8GZRAVb912ooy2A91HDHC7En - ywZQik+jwKcBd48l4ahJC5Pjy6st5sX4yjmyYHkK0O7w3ZH42uA6BedZ3dk7esk= - =84xy + hQIMAz5uSgHG2iMJAQ/+IL0nJdwnhH6RyF5JzksvgHwAdBC8qVlE8WrZ4iwpnfbF + dKQrelIycj3Kba4hJx/QIAwASeiNDl3YUNL5KX8G9JInAF6aOAqMVK3qBLe8RmRW + VaIOdSdk3J8Rr/nogUrgFp0bGwttPdG2C+oRbGesIFo5wRhgIMxYDlVWy1lepCoh + YVykTq8LY1Pfm9YdpjhFAARpuYktmSyxPdi2p5Ha5ThlAGkYSF5q6eb6HGqO7qWH + DBMlR7XlxBhaz00UjfNaMGmioaRq2DcZ6y+rLfcEI8k0MZMnN7EEt0cx5Fmzvnc2 + lnRi3msPSD/7jwJq/SyoXr+Pl1lSSsawGRRIRz9amTuZW9Sg1eZi8rhUVw1S1QIu + CysS5r+ES0ovubGgM+Y63jDvGTAgEmBkZfUkTGX0C6Hrlr0Bo3If4s72xF45ieKh + G+ZToeOVVEyb66Rocubkvlv8UgGns6HUpb/TUa+DglDdXDoaonJpARMdCP91sn33 + 7fqQdEmu3DztckTTHLCBmHfEzEjLi+bQledrJfSCAVtuIogmlESkJVJk1eEaie+X + Rx9qHsDDa1YnaZMsQYPJQZZvj3+mknLePNPHP1jzMyfYIr2YDhjZ84BT/QOJT0IN + V37Lud7rNtKezirWUGZa73HPQcG+7KyI9NpiZOUFGYl032ryr8DTMDMKnHG9D+/S + XgGYLccQsUB6nlFMLfYbiZwJEIbGz7fIbCg5CGyeS1HOIsQctqWA7fbF/MXcS1Gc + d0TbEevGSQu38OIyTCLLitU4IVovizJUFjlPTQGb9baWWws8IozTX+wEu9FTRD0= + =GX8F -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-02-18T08:32:44Z" + - created_at: "2026-03-05T19:18:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1ARAAq4qA3EB6GLzrU7PAGkKNNhVjwhdV0RlJ+iZU+4D4pTTe - kh4wMhj5Sztp40/ip/6tJJi7wb43cabS1XZG+LX1hFnK9wnP/G2mZbiEFiyZRa99 - mQ2V53Dv8sAv39O2Z+kbiK4ZLh0GkBd25UH1EWhTLinmijzvfmIYpEjcc/yqiMuf - sSlgiuizVLHbDeVDvX4TqSRl+sI6b33RnMTu/3swoauWsUl3+UBDsvkYbcgEuUL1 - VgKIcP7qWTg7aJ3Au/QtBxgAFzsMpKM0Jw6+2j5eoZWcVlDVK4N8ewqllHo01H37 - 359hMWjpPFvges9Zh/8seNvSRTBpdvJNG9p+x5NCWbwNA1b6t5wE5YOEhZtYQ9E/ - CeJeP8hDMl+gA/BgshXnhWT6jTOk0yuRHbp/fMat4zvnZqH4qAtC1p85aykFD41B - u8vaditjkLboO8L0RtFMIGLyifgYXkyScFPR+/n2lfeWlRFyXweJf8RywmMNVnwh - CsbGl5JH5crA1eaC5EvWHZWeYE1VqeVrUSYpE2eUGJ8/ZeR5Lu2xFken4wXqGjzV - mEHJb08Q6mGhLkVSZVhrYWw4Z1Z4qJWb1BSOT1xxjSXeCJEGlX79THisWnJBoT57 - Ao9aCHmNhGxtpxh7DKmeaeh4iTJIzvwE5YddVmxXv9cDna404BqodBqdTYOgOnHS - XgFItp3mq9pTIbpTlw11M2fgYPbilWkuoiXFTncsUA7bTEaq0gRYR7lDwBrZjrK5 - ++CjYLixVO1/00g779KIb+MOhzWWCcBAJN1wFRWw6PuSRKppBVISOn98gqGsje8= - =OBb6 + hQIMAw5vwmoEJHQ1AQ/+K8eR9gtw5yWpWb73YSNi5r2MFxYL2phNHTLJbpMD0Pse + xeWuanTRAzC1WtFFWU/NPV5Wpp65dsTuDADCSuWwaUP+L+ru41l5s4DnvRgjwjP5 + 5mRpiasklVtbnVVFUAcr6X9aNsOL+D1A8tV/P8W8/IsagtI934fjFRJbnd7BgJA6 + 5X0fIKkTEolv/9DEfSACfwAKzpnemuF5kdSU/aJyc6vBqB1Y0xI++gmc8xTJHPjl + D6cYfLBbX5YWFvQ3cZ+ge8gJYj0Rm8VZaa0EYakB+s3ij2nCYeAiAVpRKGtNRaHR + 4HkjbNlOVikegruWNNl+m33RP5+p/vtzwcc9YPJ7zcBzWPHr6/XvkVCyYWwlaPId + hycPMnnH+V/Db9/dy+Jk0Q9stXAlEMilhFMgQaXRPobNzsUyW8Px7tvspX1ZJabf + S1vGf5epf95tSA2ravL7HlEGff9gl6gEVtqkN24RKzmpYj8Yunp13XPYCNZ5ZSse + Drdzgg/d0OwU8gY1YJFz9DE1J81VJpZM3In4XK8xxPbDdrRJrCtvTBKLf/VjU6NL + UcrUfN6MZf8GpKw76P38YiOm4ybutSRaI/tzmW6UPvZAKTqwzAo+bOl2v+ODGO6j + msUW48ly5rsXnEYdh4AE680og934XkBzLTw5y77dk55ojXn50vH5GKAcDhgfE6zS + XgEnrG2uC271dOqo2cmRmIPfCcl3s9TL11CtG1lsxbX3qD0OH+0N6hu6sClRzDMy + 5Gyi1Md/qFhO7VOEBvj2n7GNOQhAyScIo8S9hAOb2G9h8MZD9EFi9sS/vuLsNTY= + =b10v -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-02-18T08:32:44Z" + - created_at: "2026-03-05T19:18:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAbwazhUO30Cwj3RcsRbnt6fVUCzBmXhpgf39bQoT/ahgw - 4ZDjx1r/DYY0tSnKFWCYiILvjwVy+GWLmRLzKSTIyyuwr1S8SfzzPO0EsGl24u7Q - 0l4B5jyVdnw2NQcKYIZME9xZ8msJu6BQv5ulwzWBq2aWmleqTdjJb2OFHuIuSjEG - 0fI0GtOpbkzU8Hkz+CHNRVbdjHG6PeA6ZcgTE8ElyvkTGQqt/ikkSt+9SWmmwWSR - =jrg8 + hF4DerEtaFuTeewSAQdAo/MfZmJC+TsA+Q86e5ZaE+IC/4rBjeGe0Kl7rFR77Cow + YUGzi4UgYX3MDXHe1Q3QdJbZBKuWrUFOfrnxVMUUmMU37Pqs2P6I4LgnEO67guSs + 0l4BkXaoO5Tut6QrPlq9cLGNvGf6DTyAoWQqeh55qYNBzFGw7yGqiUsLOJSo+jK1 + TX0zEYm42i77yw43VtdH2xsvmxRSu84iAD3pkeoHH/r9Y0V6za6IXPNVr01s8Esg + =4/8X -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-02-18T08:32:44Z" + - created_at: "2026-03-05T19:18:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fARAAoT9j9HGH1HztSQBuW1cre1tQ6gj71WD7/ejYgjYK/haF - t6j6uEL4kTscO76K+DDVhb+x8QfcgLi2S2R9bZxZZfHesEXbpiPJwWu2SK4OEW02 - 1eArnYWUROMVJHA4T+wPX+hgiwWLa2CgH46nUUam9M0Rf7lW1sAT+mQK1Mdgqc8X - No7Pc4cRS3mihkN9oZrN9DDEaP73car4L2a1nyPC2KujHscWpO3/ccWgAfEsKQT0 - oSSsrX6DRzrZA05xpn3+Ms757nvpco1zB2kL5889q7hs4U3A5uVCLAN6ZVQC83IJ - NmTgkEt3hYPamFX84OnvEKSI5h3SDOoDKV8JMM7SKyPwl1L541RoiXVVlWAMPq+Z - MA+WR/aV5xk77Z8eYPv88pGYA9KS9ThyiqqpD6nQ1Lcy8vH1+wBljruEVFOaZjWY - /B3OSCjGyVccbnJwWkTd7CToJRISrO4G6yWGM4Z2UnM5TaKmoNFgb/7v+jUUS0Ta - IVP96KK/7ZUKflIbnDwYk1vWsSS3q2qiTubnhsqkao2SI8KfbgX4CAvL0zKzZ+Qb - SeCZyScsmeBPOx3oHoPd0os3gHZqXb7MJvKg8wjKf/V3GxfjUXDw2gWtPYXclH3x - Cy45dbSfgyDHDfEYBde/Cf3Q0hkfJ+zJI1TTth7Ug6iNxnHASy5driSxm6gGTHHS - XgFEdGZ3tOgaMQbBz3Zx+Mm2JCwt0E+dAJGAdaNCcB4kFd65RmTA7Nds7hDa7m4V - LSCj7T7Bwhzr+LS2YfTrGsY4opvzA5W+Vyh5DRKPzx7+LH99NbYRXU262TlRG6E= - =XCDY + hQIMAxjNhCKPP69fAQ/+JLx5iD9mPHC/kYby+mHzAqc2A+iWxNLB0dgUt//rcX+A + QJJgn8cDQP07Wc5FpRCBD7s81vGYPYwUPHJWTSBpLxzT9GJ1DF7Fiv3YVmybJvbN + CwQfQxEVhnSBXOgksto71h9geRNOpi3RDlZAbn3Le4Fyb+/BuUGaYpcJ3Aroz1wQ + vEzivIPQPux7C114hgi88pmneG4gqSW4i5ZckViWBxaHSlRU5YIZHaowOM8xNai9 + 0UF9otKRWrm8tCBx696ZGdk738yFGXVDqu2MQU61UDQ5hL7j7JFEUuu+SI8sPiQC + F2kfdmBfpEpS4NIx7toPRJmBk15I6v7pJaVNQuFnsrnoZrC9GTBaeHjc6w3dtwMp + MZZczesF9EWUpOO6l64p+F213K6oaU1IYwuLbFki/Lr1IhUY4Jn/fPjog90zk1a2 + fjC8FYHrONu1K1V6O7MfI5QajZGF3wPqU8pEipl3swmD8+54ytSONdyKxEcpQnyE + /Msm5rMw2hpl73E/BXPmkk2coRPT+caIb5zlyrBLev00NkoFE+PtHVgKW3ToMb+u + 49q6AyeHuk2C7b3KQKJDuWIZichbtP/IP3PTPUtgn3SqH5NxeAUsfGDkSZxWP2g4 + Q4clw3KadOIO4c46aqvQp0bi99iSwBPVLwR+ChRmq3x0SsCwiUASMvGCuhomFoLS + XgFcFAUlDojff3FSUsGHqpYbS9xwb6caTArcD5yIbwAN4TPMylhUAmHRKFOBVSIM + mmH+1Wsvs7vNqTFJgTSlommA5MC/Hybl5MLjh3X/Ay1+3uEt166isOdVp+Wy4MA= + =SEtb -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-02-18T08:32:44Z" + - created_at: "2026-03-05T19:18:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//W8W/wDm7h2ePfEwLXWrADIyT8UTKOoTMxFoG3ypjupnM - uMAVyKafmBtzrHtPaSXDqnS17ipodTCeseHJ+ZkgY8nxdZq0UhT5bmaeprznDlze - dDvC58b03qBXm6IXn0Ofm0fCKlSz6Inpic2x0f8UThfP0rC8ZAaOnzHUwzaoBAdg - H5UtMfChzA7RO3U8qf+xqpOetXh09Zxhia3bhSrhjfKf1anuy/n2u7Ju6x28sftm - q2Ehi/KeB5nm9ZXlfGcwUzt4uVZjMOqpEOIzIm6BAmynpC6bDCgv3cYE2JKO3AwV - FKFulH+aSXSE2tN8Eu/6dikOFebiPqolcDM4WNBKb66ovIoNgqPywMkA9jAZ1GR8 - peoqsxAkWihV7jLNUiBfNk1KN1ZCpKrcjZoe/68tiVVE9GWFWBY0v4xgCZKqFc1p - nDMEECpKMB8xJbAhaxT0rk75u4Kiaklb13Ks2xlTwy4cnGc46r0XP4qENsUYm9Vw - jLHI2lMSuFejW5fRkbiupDTaE2RCCxaLqmATGC9BMOyl0CV4ME9MnKIJYsC4J4yk - CUKIhA/mZMLqscW5wA0hSPMmyy6DB0AX+g4vY8ncaa+LyTcHKTKIhg5DK+ToVi1e - qsUuQywv4G6tXAifEBwTxDGVr/b7USutkBiDq9gHg55LEgKssM+5w4E4qeiJ2jLS - XgGclrYp9o62qax975MS0mzMb/spnFWFIQQ6L7ig89DGGScB2ElcFXidSxQ47EVp - 41qR76+1eIev9EVeeKAZZQejU5LCaHmPwp8UsJpaufaXCCi3DscCSTVG4StUnPw= - =RM9F + hQIMA1Hthzn+T1OoAQ//f/7F3dwEHvV3yXfCy+GV7K7ieqB5+UebmAC9u9NFPZib + +ENPeI5jLJOJgKisZaKKePCwtpm7Pzl12QfTPBKZdemUIJSrc9CiZQv2FqcAhV3V + AcdQnN8O5e9mX6+5g81E8+duZzw4opreFHAFi0qMmeqJ7qQjARkMc/qLkoUKe3wQ + tWTWkX7Kd7dGtS6SHdbzsDvuOqSDs1Dw2p5PsyBts/4ZzrUfCIT+yFkhpsLCkk/X + fQTBAGnKaQ6/bilI9szSkJanuBo9zcKcVDqMLzZfrFLjJC6dgaahYGDaxKNczsZl + pnZ2Fu0shuaZWX1IQ4ISAymC/cp6Z2UxsA+1h55KdE1/IL6EcNmgHF7nE3bEJL5Z + BdWu+7a59WBFw09aLpPScv2bXT8Cwh//Glmu+1/43SDluNidC73/9pQSoboZfy8L + cu8RFqw+WDzHwM5dSqrH0M/ghNh0sBWWt/RLSsgmcpvfz92rSCqLBVbboRXDhGdL + T+ZAARmUde357DhXBjP6ov/vmsObbXGBV/Wyng63CRdNXbZh9ZJECX7YTGKn9n66 + iqfXK7vkf93th2hJhyC6sk1OfYOkpXlkd5Yht9Y4L0B7ea9x3Vn5Cfl1frWPUfuW + s1tVlzGCG6O+S3N3Sla/xwZRqgOKDHNQpRDYH6rCf0PM9WVpzeperA8Q/GlRFYzS + XgHtgjzioKnk6xVOVToQbQCZW4P4SoxYGL9nyfjvmIAdIKYXOiyueyI+qurt62jK + VuW9KwHKtCdFauAl4RThrXo4H12drVcJnitoqykUTZIFm9/YJbTw17wJeMSGjLo= + =1j5G -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-02-18T08:32:44Z" + - created_at: "2026-03-05T19:18:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqARAAuqjYOb1MIR6rQWPBJ5q+w6AWqCu/v+xY7PhMUTS5EJq5 - b6EH4SudN1hpfpbJ7r+CUDo+OVop/RCatr5gmjUF9rEk3wPu5lJNhhcSn8BbJ7RX - /qusENrON/RF90ByIqD3Ewb90mbCIJJcG2xTXiKYAR9fWNYfUCuYDbGdmhqEdgBX - TjEACyCQg6hQKqPR3oHzHHJKKSQjG8UKkuOsTo5pEFqIQTxTXL7kIBcsEp/oI0yt - aP6eFZ8oYXLYmnVr+ybN+JFbJMljM2fHxsKo7mqGVjsh+f9RkdSdYTzOixN41k8P - 7wyiiQqPhoR9Pr94rdSVId3SSBORkPBKNk11fBQv0cA5j/CRzLGSH33ovraGgsjA - O4ihTIBPUns1kchA7LsBpjuGvYyyPP7Grv1mBSAPFdNwaE++orRJg6Jw9Rj8Bm7m - mWT3t8RacSxFoUoPPcAVevrbJrACBjJUKPOasWTQvgnCr22ND5e2I9D2jO6krgiY - hzXi/kiJt41wS0jsWqYhoW1bqbRugumtF+Op7xQtJEF8LawGCZxpDZ+Rm7K4Cjmg - Q+YEfYcSjGnTLvKPXakwT2cBFIIQ5lpOorlGffr9mwYbSIMi3ieWku4VbnqcmQND - B2hAoyJ9K0lVM10ATxbL9WPDV0jyemaEjcTAEoeq1HNG44RI6AYVhc2bnx0FPCjS - XgEVPpL0UUpWxgzsCzykpwMVOiRm+YAdbdxq24SWlDe1bnWYMznbzX86tUi5v6a9 - nMXaLNzQ1ieLZSV01ezUnfdV5YnG3T1lh3zHPluo0wEE9j+izMqSUtD4ImD2f+w= - =mjMX + hQIMA46L6MuPqfJqAQ//aAstHn3OkS4hYyCfqWEQps63boVNgvtpnlBdwBvfgclw + 0n5FJiOocRPRRRkq2aBIfmkZ3ZfU2ikF3j3qLmKxsP4HaiwIG1LQf0zIle3BDBWJ + aX8ndr/JtXBBH/UASCq+Vn/9uPWdu71c4q4qgtP5F4TToQVktnwamaFPrlPWVS6a + bbpvNEswXTsHrRpOqWgzYLFQSB9e8GXhpOTksFPCInFDVPsQ+Uy+rRSE3WOxkQeb + aN/Jx4jUEsRxaqorui/99If5VsGbWFseCmLUxFvscJ6INQmxgBQmW7WOxAFsYpYb + sWZ8yfiVFdw+pPpZW+4wXFr4k0BH23guVRlQ9czc2lkuI65RIJsEWNgFagGbC2mN + 0p0q2EKqtd6CkTYoz1dJe1ITz0mwYOgt5I3CCMTUte5vVuOr0G5c1TwxFDhzdJTT + 2Z2nLJfya/NWs6T25rS0CO3CMArdJWaMWqxTHHvNtNYdJhtiJ0IesPFU7qlR8QtJ + GpWWZGjHZGbvM7dx28xiLqF5mpOikxYo3XgJvjZmK28LX85J8V2ptrMtjSY3n6K8 + r9g43X0wgGBGXjk+iEZZonvzrpDEtrIM/eqhZ88dViTXEr+VbdNp9SuTs4DHH2wd + OEkGdZz6Sc6OK274euczPdFS2uVwNtWsAiOBitlfp4TLj0YSwdb/z6ipQDq0O1XS + XgGx4VStViRSRYwoJjK7CLt4IMVNjwa14fLQDRgDY4mMZwyID/9PMffRxvauKZf5 + hXI8RyoXdW5rvV6eIX0vumpcAqZ2kYTtUIu0E76hqPhXL58jd0wZ0zktseV+RW0= + =B1C7 -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-02-18T08:32:44Z" + - created_at: "2026-03-05T19:18:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdARYxo47KqnE7BMdqJDYZ9vpLSyR3iNo8JN3z8qHiLnhAw - ozt2KbeM6yfm9bwnE6aLOQw5aL+Sa1/cWF/6tDeuaRyzm8SwKZhD/BtkwZTgzxuw - 0l4BkAUz4aFg3yBByzbxqTS7o8glHcVFIdrp8NVqRNNZ4Lg8qePKJoHtuqyk/3ic - l5rsyUyGb0VDoJ2Va8NREcusGJdkvduOT+iXcDbDIkoDBwPCcdzEZykatlBSTSfQ - =6VTF + hF4DQrf1tCqiJxoSAQdAlvzcUCjC/4+RcbwK6U3AGFPxumwWpo5HkxqfsFYPChsw + /b/SpXhhXIlid2Dwzd0sWWlTITGltQzl37EQV6Dl/eSnNH/a7EJmpsZgWuQqyGjo + 0l4BQIJNPOUQ23zg4k45pCT/Z6MsQ5fqCvsWwgM9iKRXgxy92JqryFp2jGnrInDq + oQJgjdqgwpqLp5+36HFSbVt8Vj2s16tx2UX5S4GmKSCZVdoPsIbN/AxrY9txVbQA + =U39P -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-02-18T08:32:44Z" + - created_at: "2026-03-05T19:18:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAM+I4l+B8UVttWvtItpKc9f4o9p56jD4zL7aspH35nkMw - 3QMSrJ32F7tuw+ggI+6EwcV6E3DGRzU8gLeFcueisp3REeiCeZiozAGEJdW00iRU - 0lgB6g6c3XomkrVkIsbpTE5l+wVDMmRaRU0f/0iRI3dhuY1Hw0BCUvyqnc7w4a7B - AA9kYPJE8BbBjF8SP7zkKMObYqVwZ9mNh1UI8+7HNEjFCnX+5rpkAndY - =FzI9 + hF4DzAGzViGx4qcSAQdAmhQnWHca+dA7EBVnsfgvsjJWNtMlSt3GqIv8rArG828w + fXJ8//WnY9e0BNbvQMuozkuri6wNU9uNtIxpD5aCUWmjQkWQRutqkZ9ILNixjM32 + 0lgBah2iOree2r+y7w/dIbvzr31nwb/uUTNBaX9jBarHrXpSJy8TuFhKtWdylDs7 + E29zldMExfd8LrnWRou4abZEEAk2nErCo7EuMeArVkBtgkYZ6QsJ+MAe + =pAGU -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-02-18T08:32:44Z" + - created_at: "2026-03-05T19:18:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ/7BvbawzWxT4vUxg1336zvIb5uZqShvTA5P91xrWMTqasJ - WYRjm09ZPGd5J/oLA+/0SgNnyqk5rqTvs20SfPX4occlm5N/NgwMWDOae4Ikjb6m - 0XuB7BZ7R128WrgvPK9iTB7G5njjpu3XZXpRRXRj2JmZVmRNsE989zgMfJnsAuiQ - P3cDAkkVSAQPuPohBiKPz40TgBHPHkvxFo6Js74ppsfWDRHGciAcOLwnq5CAdYbq - YvFEBOP2aqHbF92jkwwfSCgzft/UR7vTBKSBf5JeOO7KivTPv+7BrLglzfJB63c2 - mT+IP/gHM+G11pcJRMmE92nkF7eV3f/48n1f8UBIBwSOUt5kN/Rx0A+O6tDf4Eg2 - SLQ/6jQT/G3afn5qqrQAQ8GzKV4KFc6iX2MfyMGQ3rDEL6FLxKWyyrYauudzARsL - lfJNUnItNHSMzFKqCIf5+grz9eaYb5+NagXeVrHPEurhFK7fAVFShJ0ptSUcuhe/ - cGrE8QFahl4hldA6BKWD8Klr5NsRHS68rWZbMPHuF8r6egk54RvG+rGVfODPg2cy - sj67NRqWeCDZ5YOPmZuctKffeMiNIz4rhrMYNxCGZ8yXJuXvOzcjtikxysDNsNd2 - 6+La/qepffOtwXl70vizZauvzXVSh06UYnwFRsS020dyasbwj2NCqMjNmem3XEfU - aAEJAhCztRoxxE+AMMvZxV5uS9XAZg06lC4/VdK+uRT+h9BDFACzlfq+j2sphoqf - /xuhv9t6rcJZL93XHSdsFQzLRgb7n1R/MKZsTorj0pctgNegERDS+Av26bS2HwQd - VfGtciran6px - =BUj/ + hQIMA2pVdGTIrZI+AQ//cuobVvAe7knRS7opsSwMIW4O3zRBgvoRZiZ0jsS3l5X6 + NpDe/3AfohjQXPMK2EPTqSB7iTiHmxLmaRsL6qo7DE8tAwhzyxTzLQQ9Gpr+XkqH + uNvGP2LPNzA+a7BP6ziKiObsTize5zMmvUa+lGOW7/kSKz1FFROMmVDqcG35U+cf + rlWuTpgL3gC06bI8sOPYyMH/5i+kUISc4Y1tN0FVvAbHeigRrUgy3cZmtabXKxGr + stQ9esrVhn7WlBs2Sfyw8+hBQx+rFImGaKZGljY2uNBbPMSFudGLyv0dde7q59ky + kIiUUTaN7kKyETX+nqBzwtq+oI+zDYi7NcYvqBrcpDyGoaXMfqL22k1v/CmjKbNP + oXHgb4keEFphZVjkJcLorKS/Il5sodOCfXi1XW0TJ2KS8VyoxfIvrfklJ7cN30p5 + CqikCoh0IFamB/0ECkPPNy/IkmYwB3iRUigOv968yl2XkOWS0i8w8+Nb/DuRtayR + csRF17RjRDBAuNqRbKO5AJr6LjDH2Lbbq2PKCtJ1HLPJinoKoSSTcBGUVeOTD/VF + 07W/L80Clevq03iMVsXDqP/iQZM1JCL0f2SfMimCDumepbfevVP15Q94w9EWoSKx + IYVSGKRivDcOmtCOXWGuuOU154FrJYOwCU9iyLCO7Icz6kw1KjFxNCQIwMlAemHS + XgFz6Vk7GzUMsOtshY1tsp0CE6n/YHVvRdI4YrYiuYjrzukylkhV8H+/qJMWkFk2 + UuhgXYfprbH3YDWTI1Xedb0F9av9Y+ZFA6IBygNvploj5HXfiRbJKbtuyfnrExc= + =GB7Z -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + - created_at: "2026-03-05T19:18:22Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DKKbvh61jX5USAQdAlItDUjzX/SxLgEtpBrau0vWYOpDvLZ+i/UD5xPT0r3ww + 88HPOIhsNA0blpaElE7L3nbgAV26JxERSaCIMUFS3ulDQp7sLHRszw05hC833DbA + 0l4Bg/9e+UFycyYkc+VQGawiPhZlFkKmJZTwAyYTrRMraIoLfplPqSyHah8xhD8r + ZBON3bI+ZKFdT7JpdDDNmhXJcr4xk2dATq21tVU1XO0Z4H+GwDuU+hba6n0tmSW5 + =TSvL + -----END PGP MESSAGE----- + fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted version: 3.11.0 diff --git a/inventories/chaosknoten/host_vars/lists.sops.yaml b/inventories/chaosknoten/host_vars/lists.sops.yaml index 9a4984d952..f1fa2f58a1 100644 --- a/inventories/chaosknoten/host_vars/lists.sops.yaml +++ b/inventories/chaosknoten/host_vars/lists.sops.yaml @@ -4,204 +4,213 @@ sops: - recipient: age17x20h3m6wgfhereusc224u95ac8aj68fzlkkj5ptvs9c5vlz3usqdu7crq enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBNTFBBeWFhcGQ5RzRZaEhw - cE1SUDJxVFRjdS9aekErSkRIWUZmMTgzbVdnCnRNLzdJT3p2YU5qbWZFbnJFTEQv - MjFVelVFOHpCcHJnY09VMkNQOVQzRDAKLS0tIG12Q3c3TVZhTTZ3b2xuWFZmVHg3 - eUhGVVNXOXJZbFphNVhXMThuZ1cwSWcKM5PsaCgpI0z7NQk61Jyg25SxY7Kya2rm - UbVKBOyu6thkaxZi7SAPNkJHJ/K9VouODJBW78vC4qwvlQiGTNn1Sw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAvTVluODg0dWd2a0dyS3dJ + SVhkMWMyaDdFSUYvNmo0dkJEdFVtZUVZV0VFClJBaTNDK0hObS9ZRmFzcGNJa1hr + dS9QZFk1dXJ1cEptY2crTmQ2c0hUR3cKLS0tIHVKbzZ5Z20ydHQzWTVOVmtWbnRL + MHVCSVF5VFlERXdJQ0s2RkZKdDZTekUKJhki1+gtkujeESdzZVUQ2T/4IHX1DEbG + NPOFO5fjOyi++QVwDDvHJxp6fVi9k+c3N1GvrfWKgYO/T/pLYqNMfw== -----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: "2026-02-18T08:33:38Z" + - created_at: "2026-03-05T19:18:30Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/+MVeoyw3bD61zVGBvm4F3noR8UKOsBtavokJbp56ARrFB - 8eItEUt2HudrvTacfwpjXInGueTTX71MISQPe01lzhrH0BVxGZ3qiiTaTtGZlR1Y - rvYFJLnd+LkFDKUqpKnjxFYwkmS+GLWkxv/3+Np5dYpjQhikRcs04hM8okytWwWp - WimbyS5fDfKGXrEN0N0PfzjxhVleCyDn2Pe1OUmg/KWPWsrlfHM+4GYpOHlJWAww - OGn4Oxn3bF9L0ng7NOuozT8nCUW9gVPbKsT/YmA9gIdbdkLmrvv0pMCQLuzZgL5s - E6O+Ld6hZ5RwlUhrXD0MCHZC+ZGZJOPOoeDH7e5Ag6xg+GjGMhulAU7ljPY5QH87 - TEc6lDMOHOr73dMZW9xVQ4u+Dsk7TTV8x2nlpLDqp1jUwuMqCSDihPPe0RgF1ur+ - wLMk3PZn6VdHIXOaJIb+U4I7veRRHb8N6QEOxPu/bnpM83pffO8a2EDmLp3pjnec - 9tVP2PA6jMdACeLcrE6i9OXcrpb+nx0g3gyHolA/tqD/QnY68CzhVMKVA4cxWEdi - MyH5Ac1Sqi2zZmW+zIblRtR+iUKCzRjsvx0VCpHvjc8sWHqX6b3TAcbNd1NVILhz - x9V+Awza8QB5SxmRRo9PEyQVgTw5cglGLn7rW/W7Y+k6G7HYr6qvi0Lzi49TeG3U - ZgEJAhDzD6o+i9Z43lmGIO+eOUgZCq+hxIenpZ2h1ZLSUvdugdBrb1IkYJYRDHPG - niy9OqYenGtApAUl8z+fLDMEreYZ2jP01R70KoP7S0RZOeJr96NDlHANYah3LwtM - ey1w9/CGKQ== - =lwm6 + hQILAxK/JaB2/SdtAQ/3fFOKVwafkhQ3staIZQM8elxZ3LB3amhw4JevBqdUN/Ar + /JDQmTxxaZrAgyZsMQoVCy7E8tbx37OVwxnhUquqHojVNvxC33Bb5OvcnIcMVzpI + lrmMGmNjkc9SAEUN6xU+YCpVqOF0cvMxgtRtlwBML+aai48jcYfRPpJ6HYRdgoM+ + YM86h7T0TIqXGISFZvN9kHp9YNlCbEfZQxUCuKootxTRmDA2BTWW0h32UyRfVyKp + PZuHo/AXMUYGnq//Me3vCX4aRaDS7pB2BFa1lbrULni2Rz49oGNTiISiMqSVq/sR + L3EVOVid+wQUuazDmR8d6wiEsbs+7Zfu/4vEhqpzLJjP/8a78BqFwMAtXVtpQA3W + 6ThwhPPlpaFGx4A7eJzlLXyJ32inJF64NM7XmqmpJHMdcnOQMLQJQyMToDPbMnMo + Pn8o7+xKv0eVBzD9k7LWKz3NKnW1ioAHdwA9Rx0+7rg+Tg0+HizqJeJoHHe7gxk2 + 3ZXAo5GmIOH6esIg9jgsCE8j8i1o6MKBtWJsM+BFIiTLObRz1Fam0QlV1hUQrZ0z + NWlbahwMkTWk6r99BIOQgqzbDM40IAonaRQD5Vu6RIefzSi99+XlnQDO4AQlHE87 + 9FS8g4DTNGVMu4cgvBzbc0b32AFhqQoDaXjqB4z9ZKk5coZLx6rMMQao/2Ha9NJc + ARclCQZ1g7DM4PWb72WXO4kKgIOsMvlbXu5hq/h0JVkaFRzonHlLZ5xg6l/48kJP + GpV4bD9k/BkJNMAWBDoSyX+t+qvkuF+2UbJyXIFXfkP9pV43HKKeMfGJ7yQ= + =looz -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-02-18T08:33:38Z" + - created_at: "2026-03-05T19:18:30Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf9GR+k8XOzUHx34DQyFwIveEypkFy446WlwaOwmkfm5YP+ - Q50+7v8eru3jsOCPysz3LxcaU6CSLa3ybejkug9+4yHyJQR+cCom9ia/jk+9XrXs - +ytqb+rOiywicTI6lopPBtlko9+nRATOm22Ru2jab7TZx3DhgGv8AVxxBLm5K5wc - H5Vh/Xo09S0FE9bszHq4wARxu40NstnEfch9DpEJbllJBWvAILgAJPu7i6mcEz1p - tHd7xqCfJbo2/gAs5pe7gUQUGiywit48vuNTHHSaE2iaHNE+6/h+tME1/an19/G8 - o54HT690TWNq/r9FLQag7BNe/rbOJSA1yYSNaACHetJcAd5ii8Sf3OAlQc5QLsIw - AL0YS52q8516fcSTcoJutuUbsCH2aOXoXG2HOsSlld/NEZif1lIuenjU4R3hwdqi - 5/2TsATQ0+Fk//cfVfi7PlcQov9jrfNCti17mQo= - =Josl + hQEMA1QflAioE8i3AQf/enfTdGiCHrk1GMKHIdJywFIjJv2W8WZ7Rzw8Py92xtAK + ASmiI0KhO6ThKVQof7AvKGyusuVdl6CUo1QCD5hc8dEdyP5dOvftJJptjMIXoOT5 + baJUssJdDts855ob4I6MQFixiwY35EP1tGyy+6Jarmc7Lo7mTFoGhAZ6FDEgSdCx + 3orJHxiB6ITu3/RTzM8eElt6uWRZeCy229PGqQp/wZLr3wf5fws5tvd+rFRzqCYt + nvdENaFNcW0L/6lTQnZPTkyw6zh9zxscaZN7VM6OeIlsN1GQLSnFM7obLTSV9e2N + 5WB838Zwl3nh00EfURCP70CTbp3Kvt7lI2LCgUxym9JcAbg1NQeItCb+rUcwT3IZ + xv+NWbmaM06HZPaX4de3Mp5/vToE01dlV2e4Lx7H6QWnpn+ivyZvQ+UQBpQVRj4E + /nG1V+RzFT/OUJ+70yL8jPe8eg6IYUn/Hyk8Bc0= + =K3FG -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-02-18T08:33:38Z" + - created_at: "2026-03-05T19:18:30Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAAgHf9vD0RxOa4hAteUCgujxYazXtR4wxzCbC83IiUmgpk - GKZ0KW7RrM26xGLrf+DV9osxlRYF52ifOMnkqPRx+qHxGdlXRjeO9WW9ipidu+VY - BUhTfELJjCdlz21nNNoEjetoN53JanPK2tHf3k5L0EuSaA1PVo8ds+TFkD9B+AOT - cJ6txJj/mNbj4rBhgdjnyimgf+Xq7NJUi6z4KyY0Skj9o4yD5NMHrESdn3Ib9gPJ - RNk4DCHU4w30fikXDg9455dPNQgmXVsgvkk8x3C3PRjJHLiN1JqaSFvoYI0cYuAL - vB4arVjrALOcv7sBnxWmkdqj0Rz9Ras3DOnyJrYFwsfiOiwY5MEtuRd4vuguN9Ps - 2M56tQxHg/ohdDEbZQic7VsqWFNPjOOvdgGwz6uHMmR7eW4vKIKpU3sdjJU4/t8j - cRbXNIzRkp6FK93ixPEaiHK3wK1QFmyF7n9UIXl7qCV9NZbuAjhUSJSUX7A61MgQ - 1jGDRX1e6a/N3wgLO5PmVWnBfn3oCIKjhog6Xpffb1yXiDIB6Zzi4cMvQWJ3Yy2s - 31oPIwHkqoMSZ0n8DW0X8dwNUgj+LE5z0maNe9AVfpXnTgHGW5BGBgSIi1KK6zcs - ro2vzDeNDG2uZsdkjM+MCs5in5j7GEGN6eKN3/97UR3fJiXkrQRlAOEFIiBD4DvS - XAFIRQB4DjCR51cPKwEdlJzVIKyorSwlqUComw9sfuTqTxISrFNHDiHRUfRpByIx - 0rhOjJBSmnzVlZsbiWiFhUQuz/XpB86QLrjlEfEz8IKCyuuVzK0wNEA/mygR - =3GEE + hQIMAz5uSgHG2iMJAQ//RnJwxiS0e4XGfO7s+rNTFbGhuF5jqTSY5we184/6FdKi + 9uTtS5VxUEAi3bW9veti8Whr8ygnRtLfThcWEUoGLCzlaiiedzwemTpb3Ww5WzzD + CPrF3nCEPTVYVWGkLA+DIPKIfF1wCu3Rh7BqvSzjkK9mehfqknX7k4uTsk1zc9B3 + 5kZPjtjur3VwE0WeFMMfWzqIUkaXd7C/vNi9YX62td/Kp6lNH9GfzFVIEhkM/DWj + 22YsKizQ6IhBkptJTE07KqKoWWpZpiOXcJlNm89YdDGbXe/YjXJAI+fJwlIhuVUw + 8UCgQgx55/ojcYBS/rl4HWjoPqMFSizwZfJMwMUlN6nd7RR4PoIT+oSZ89TqoOF3 + E8ak/ruSuhvC4ADgZQXl+E/yddNiTNU2F/2vBelyMvyJy1yRZWtAts3fhHADuqlZ + 1aYVFtTUgiXhCOPZLqNGH4BxkcO5MbisWay0icDi9gAZmh6hFx6qqn2Hh1ERD9t9 + +2xsluUL3Cz5J8kaIt+kWtEZ1umMfT87Yc47dk8n9b45T8gVm0lSsKQiKpv9zbOU + q3TAmygzRFaDXPtGEM54Zb1Ko34Egm4lo/2NPszZtA5q6KnlwjAJdrMlIekDVTtB + Y3o8lIQIg5SPSmh9WaB20W5XufkH/V0eaylvozGyfoFMqZ4AlUZvtGoLbIzKqGjS + XAEIH2LmPTxQg3NPe18o76XUmAtqjQ2eT4tgUy3omkvdX8cn/tMZs0nP4HYMj90X + fpv/vbEHYhURZ3Z/AEU9YMOP2JHABQB8CGNnNbZtDHb2KyvgzPaKeysJSwVF + =IpdI -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-02-18T08:33:38Z" + - created_at: "2026-03-05T19:18:30Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ/8DlwF3WfH4l9Y5k1LD40OSgC970ZsabLZBsFDol0SXW01 - fkDk/ZKb5l8yLrXUe7OI3FrdjWRekK/NpymGluKf2cX2tOE3fwRmTdQcq8zXcYIb - 3AwXGAYSjqJWLjQb7uBBzFwARwZ55sjBfyo1Oe3rLCUwNIqn40WmUWwYEvZ0uapq - r8RMoPxK+zuPYe23GMsV4S57CzsKAe783Hr/RGW1xd0PmXbCHBs23G08bkEY/JDL - FxZ+EwaB0XBLQ60u4WK2UVj4JWvsqth91LUknaQaao819J3n4IMcqopVRr6hpvDi - fB/7n2hRZsGxcmOc8kW5WgLwanTq184DY0luC9KrmhDNFH/i2/SwjRksEFU0Ymq3 - SUVH1greBYw3EhR5u3IXGgwWvYmSfnXmY3bPAwISQc3FR1yY3xTcL7FOWwvsh1CG - kD4aiU1g2+MmnAtI/CEhMccI7LVuHCQEZlh0FYvLlDyEPq76oYVQKthJKViawrkF - 6SNj0pHyPKomtyR+sWWKoYLzEicELbSypdUkhkQVffiTSEny9I7YXySshKs8n1L5 - 7ComSybOh9KbAH4q0w95Lyst9x25G5b7Fs1tX9a8YY4CB3te2Ic/2OmvFrR4AbYj - wP5GUpW5CO+jWYZ86NG1IgqDEl/d7JLZLVL/lNvVC6Gz/OAy9lIirJyCisrwQJvS - XAGPRSeLJJokEyFdC4YECnvgX/z86R7htL9O4W4azahQCVex7uqEw2F3pOz4N2Fj - TNFUitTJG3TlqOXAh0AwqPgJa4n9zRDtdhIZl1KTRVPFm/2JQ8MgI4gWIWlC - =s8he + hQIMAw5vwmoEJHQ1ARAAiryQLt+UyAweVrhVY2Jo+wjsqvDHwfgl5IZylIidXpg5 + 0GOBEAMe5TR5Dk/YVvZhLoygzZN5lBplDdKZQLDcfQURFXJZNiirfHP5nVEE1Pb7 + 419/ucMsPUD7LqnlOcPhWedWgZG+eFyPOXWF0mnK+PqwABqRPZJ/hxKRYdB8x6IT + pXi7/ZaC1kicliSlqpiBXfF8xFNV/iVZul/IbJH+0Dbf3+KwGpSqnjUEVmJ3Xmp2 + Ems719VTld+OGquFcHO1m+DarDGPksrvruCXqUMelXCs75CPIKIEUXI+7pu97Mry + dJV8jMRsgP/0J+FWhlJ/oBUQAiji81SbcXfekXWFyqfq9oNxiRpuaNV5M5Mf7+6k + JTClCo9Ap+LD3PJwWeoJdQ6ZsTeF6jnUmgPw1/qesclk00zPPsAvlAKKPe1IlXdp + W8hn+pBk5JY+FKl5T/zYBHrNYsOTQmZatm6iKWnTDLospjz84b8efu9OZtolznRg + yEtg0vOYbLsuQiY/Vs4JvTZCIX0/khG+DXH78aAUvMooT76pncfgWvNeH7TLgIfQ + gHXFzK4PcCBMlJMalO7qGJi10MZ824dPjsdvIPlg/a9oLinJyvPqbOhwclnPhLs+ + GccezIisV6eENLtBbEyn1tC7nskr8Z9QGCHwdnigi8CzgAyYA/7TVJHFu7Aj0I/S + XAG4pkB8Unh/c8oOcPaIZysaOCBot9FP+lsUzcaHlYhHRfcBQDox5MRyYO0UG0pL + /OIF08YWpliZ/Ki3LXIdvxxC1EwcYg0PhPMnhNBd0XBujkl+XKWgnPYB4rAU + =LSTl -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-02-18T08:33:38Z" + - created_at: "2026-03-05T19:18:30Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdATtSfEyJLoRK3oybFwerloaq0EBeyGRktfrKppSnCiFMw - 9RoXbYLgJPHdCkhD+e/eciapbgZ/o/nwXyHyiZ6Y/hfR3yrSp26CasYwT24b4ToZ - 0lwBSasw8kdzccLxD4AaBXbSAgkGXalzHtNc8MUnFH6EWJ/FQ3xbBvnvmncTdgkZ - gUcvrt7cidw/un6L2Wfb6r2oYXSc/q0xXtOi2idV0lzrM/p/2D0gNt+sZw/RZA== - =4VY8 + hF4DerEtaFuTeewSAQdAdu1XItfYEK65DM1vVjLVaIvTyE9w5bex0qHnKcSPiB0w + z6D76iw+0nW53MNFFq06jkYjClQkxwQHR/r4KRvQXTHwhbLwM2Vpc6zMK8hdkvNM + 0lwBn1gSBmKSw1FV5IMBxUrsfgNtt/OZKIthuDkV06MZFEzIxWyLo88KFhB9qGDx + iNc/yTsoJOdFtZ5iFGojktXZwiIgQ5hCP8b3dO8tDhgizpy2UgltfFTCA5uR2w== + =v5db -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-02-18T08:33:38Z" + - created_at: "2026-03-05T19:18:30Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fARAApNKH+U+FWbtR7NA4MEOqSGvmm6Buu/ihOElOi7vckCCc - 1aypwyxR9syvaGLgHTJ4aFZlW+tk92tEbS5XkFBhIXAKOp9bwkB5ZFtHtYNQeYSj - 0q8L13rVjVxKmg1JY/ko5lONjd4LvnXdIZsZXjb6tPR2bAM8AdugGXHh72hx/JRl - 2iOczVJSI75Q6KbeNKfEQrRLP58QggnPbvG0zapeyRaEW577T1qAfBIEsu4Weh/5 - QtCJ4+IlR86yhy7PMA7Ms2VFSAtoCnJiOsdopaC37/N833gMUBgFTpKm1mNNZcL0 - Z68inxxMKVsm5Bh7e9Oao+UbmFdjwODGo7ZrB4H45z4HPq9zi+JLj0JGYWDkOd/b - LPkXJq3BOlMqd2WI5S0KfC2jBT5Ka3WvmAiyi4kGVU/UR5ipAor1q/HSCseKa6iO - luqpQuTdeCB3Jg8C5RzkGPskJcUUTdnnk7sK0WPGrWVub5KZSnLg24sTVyzsRfYn - qPBmd+un2/rDmVvxnYVAApi99qI//AYZK+aZF/aDjp2FBE3Mi0HDdFTf+tsqbmzp - sTKvxL5chvU/1ctJqXXLN80+YGZxiMjvpuCH1WEPPt+5MbQEMdlDgFqsKu1x2ELv - oCMrludzb0fyoX7Ai5Xju5AK5rAv9heo08tN6lmaqzvqJQto4Ja9VOqNDISuMp/S - XAFN7+eFqe6xlLHO85NCW4Ned8/gopxF6R+5uzYwXA5XH1RdAytx4vmoqHItx82A - zx3w/oYtaLMrGnytfg9z5h3DcluPy1AOFXzaaZpyS+CxDRK9EkIx04CCMsUf - =riy2 + hQIMAxjNhCKPP69fARAApH+m7nBXtnkHIzA0TL7DqqhWghoCx/bjryGRJ68KOkuA + +xdYv4H3lb6jQMTnZu+RGZuIG2K/y01zX0081RD4JfNEeOV0sdCKcNtnJwNR80/7 + 0jEESCnTIYgK7iYOwzoOWjklBWHmWp73AKyhAiDtBIURGcNMjXE0AAyAt6w5Z7xG + Xvj5/1AVWKgv2/aD3rExKsEwtd/NHidh8KyAv2Fg8CC4zg9Z6bp4yJ+OOqqGfC6R + 4XrEGnVUVIRVLQePW9vptXQNTanQHX581UgNIkBBUg90s9KAJ6p0vyielggFZkky + wcqgeg/OBPmmoI6IUOeBpBzRLdKHLIIyxb5t8/60DLhwh7BKdBq6xTfGjJFvKVwj + ERsE7ixUVu5zWCfxg4FytzJnDmf5eiLAlFLANkloswO4CYs7BVeWGhbdca2jC1KA + /izsjF2lhOQSBleG96OwmpBc0kk+QkPN15xYy/owAzhXBbDnD4RniICx0aJa2spQ + aOe6e0agyn+0r412v//kigB2BOvgP79D7AhVib0q1rYjWar1XFGRyjQAzHTglWWi + v+yx6l3Rfj5a7aVugQTUjqmraywwfcwYnD9fYPiHPrUXp+Dl6MV+vtTZSeKvH2Ia + B/SlvpbSy6+3oqJInfLKo414FkjNpQ7HN+HEmzlNWJONwhGAymQBCLxxuk0cUHnS + XAEAzY1RufK0Dh+yf7lREaU2Ltxd/F9huxkIfDKqXAaqqbpUddwkVCRt7AqIkO8i + ZNV8/8CpljCk0hYGK4q0nxQEJfR+UnMpCWe141hPLhfPM8itI0JdRybDS/Im + =Rhio -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-02-18T08:33:38Z" + - created_at: "2026-03-05T19:18:30Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//d1tGVnLx1RlHho5/U6XiFX4MBHitmFmd0PN8mx1BKpjh - sMtDV8YeKQIL34Qe1QItm+IrHtFxhTG30mZX0idkxqTzCu9raR5ohCcavVKHXX9W - /setpggX/MluBfOpCUI/e0ZwM5Z6fdNG/4VITjSH5W/mAxyerTjk+EsscCfNXemU - hpFSNrzcC39zk6fEnlkEdL9OhX5mHaRT0fSCotXhD9IPdoBFpsN+uEdhjFFPg372 - HOY9tZIRNQt5/RaFe3PV+5ESgjBk5Ly9zcxzNoZiKAxDEUuiSWiq8kCMIFfAcUMh - h+GabQTYwGjOFKoU6sC73vRQBP0PROws7tQLxrN9wDVmtOVQSCuB5iop07qIrp5f - UPOjWf7UV0dxSBbFzl/gOR5neomCZ2Xj8mIB6RIR7ziONB8AOR728bDUJFBdxw1S - 8OaQltAnxEdlR9L+EEEAjGCgSnJD6oH4CDOUVgx8jsOOeN/2dX7AuyKTlcA1fQga - PDZhOn8rPwlMO4bP5T/7XliU+1MUdV8iWgtYxwVwuGDSGVyvoazVFBOqu46Eewg6 - KkMSqevMGQ0qRRHL4PLwcBlaHTaDfYIe6j4SW0ZMuKpkoHDEWNOf7j0+fNCZcTjJ - //nJqNUS9I313pw+MZtHWStxCe8VUWjDe2GTJ2G2HGGyvHkwKyeHtslcyKGQ9A3S - XAH8DBZKeVKwpMZ5EjwF9D/XRegGetL5kyQKbvWtT41gdEgHmXKeMjHqBV+GjKBl - fVBBrq8ZGMHU8coVO4IoarSd4/lxgka2jebW0LNE9BDtFKWGxwfzdNxfGPGV - =8+qZ + hQIMA1Hthzn+T1OoAQ/8DFHR9u7U+BQ8rMpAX5G86EySmRXKVEdImOm1xPzj3TuV + AS26gbYPqL1DIsQUSXe4Ms2gzg+7XrXxTc4rfwyg3xtgdb/Oi6G6xNOGi83ZB11Q + Y3NWP43tQjSuqlbZhHgZk61H+sRDRJDR+LQ5vekQuE3Nd2L5M4MBuUUNjWo3v51N + 9oTHPil1WO52Ue1YNrJ0LQev9GlUMWsVUXPeXFfpl2SANDAljTi9qHcbQZS3NsD+ + dw+z/0wdEfbxKl9XYGeaqJXfsE+yaq7aT26KVTIiIcdjde5R5seKSei2pDal+JmF + vdnNARXz1kTI5TAe1jnLVNOOaEhXzsSG2zsuK18al3CtzrCipDsltS2WlQvvWxP6 + NuW14EdOKHfS1QmcguD4/kHKKfFrDtZbVOyrQ1nDeawckpo5aKsVEbtAikn3KA8V + os6IEstXK3Dmo9Vau3jlwbVUHsyIRQ2mn3MrC5rYHZvffsZNy0FdQVNXGZcCJWKY + okIMDR7hKRgxpz7+vLr5fwIxEhvZFEvI+7paVwzPhi26O9Ts236oGxmK4AN8VDFY + 0IyfTcVAhUNE+2KbFcIkbzTn6V0MzCDeHrSP/MdZHzFDjV3DJRKp4wqolO1VevCL + zqgOMy9RMM4bblQ0hk9Y7trzLr/HkOL1izh0lSL95UBou+ZZrxWU/ysbCs2dFMHS + XAEFZeMyAIQ/6GXXaQiNRgyIvzCGkTRDuBM64Z/kzOh8NRmxEAnMkYKdW60sO5LF + oNAT1uX2C0iFI8L3gRf6G5KwIizV9Dr2nmNL44oRcyyUYN0JYJgd+17EFpEN + =GCy7 -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-02-18T08:33:38Z" + - created_at: "2026-03-05T19:18:30Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqARAAgxEhHogFELMP6i+BwHHLAk1JdsgIyvn98923+J8GXAKf - cu38waUTCJRRw1vxvBYRXEhaDuFZtiOhd9K63rbg7x9nOIsD4Wu66AcBymEyozpw - 6rdEReWZ0Nl6IwGzkJtnKSJJEwhjpkLQ0a3lnUrrDgil23rm8rVoyl9A/4VlXfog - kzQvY3jFYS2nJTexWZyRIATJRyuAxukFDE2p7Cqz0mBhb9kz+J9/Z1t+PKZzcM7W - KxkPreJaLDWH+yrLH1WVWhO3TN0KiRAIZYxu3ZPteI497wdrJTNnDj3MqyvgNO+b - eaK/uEZQPo1AjsQp4VpAQyJ9TYwj2QErWU/jYh7qOAYy9+wexnWFSQP9Z+38NY87 - vQiXS/iG+c13Vhrop4vesnvI7MQy1pX4kxjRvIuBA5g/u7bwcc31gnCkTjghYDRf - 5REdwYQvmTMNWSoFbgAEX4Qg15pbox4lVmBz6V3OMqFeZE0ByQGAWHBo1l4vsoBL - 0hgbFvCUGZnwqyLzCGx7LiP5o/rLajGEICugxP9Oo2kwskCO+WLWS6XKfN8Qz3UW - rn/iA8L/zpJkP1h9Jn6RN0A9/mpGIwTQLJyf8v4I81H2CajYeSBvpAXjftCPHFPP - UL1moX/u+xv+jnlzHXnCjXF1WV126wjQWTyABQ858B4NeI98LQUZrPR+qpxsEDvS - XAFvgppwDFoCX4Ll0ntljd4T4id2s1LPzLjX728tEdx8rP2vx9xdjY96wUz1G3uw - gjyHgYbylb4oslyQDO7e/nwGxxVcnanM9WqFluealwWHI+LPV7BJmpIgDufb - =WSze + hQIMA46L6MuPqfJqAQ/+KEqcE+Q9nQz/VLw6gp/NlOT/85ibi2XEtj74EdxkT5pc + uRTm/AwIXP3+SfDN88nqImgo53XKH60moPCmp8HTjcV5sgNF3hl2mAiasBBi9I6j + WeOGOPFpKw7uPL8CpLXR6q314aDS1cgxR8qlpMo52wsmIU7VIIEtCNrS5uwHycpi + suiJqYgfzQdkbjnzkvmsQnP7GQZHl6u1AHlT6vCrrGifhytOMBWYgUB3PDmrZJce + AdvoXwzoYXwSuOaSGBRRF5BjO0ascS1U/1WTihVpewSximqU2/5VzSE2a4lquiTl + pzN9bx+QHT9e0dTaw53rIpXsYJD6vI2q8RRpBabnBdmjG/E1KjTXc7X3nnoutUaK + moVHI0zyalbZXeEEFl7IT616OKfxKIB/fiBKJbc9uaNSlGOyGxU0GBAS6hr82SlN + s2GNO670+EpFFLz86LYoDlyiKiComfFN8M1B1ukfMfMNvgL6JBbz9KKUwFTwPwgb + GRVVf0G7R0/W2CtO+tEB0EGeK2zXtPgjCPdNoumO/3FKYi+tyis0pJV3nimsq6gW + AlLlBMyfKUZ/UGGlun8LcCwzt0EQDLTTqfZ9PbXEKuEXIwKi9mzVa1rIVQ47XF4k + JRQ/eCZtLXkSyqY5TjlhB5cVxmbZllyzdwjlSoviDiW8WgsWESL9W5SQCkHecP/S + XAHn4WfslN+4/l2zw9X5fM9Jk5KPZjrzWij2JUTopiYyrPNSYdd/rkx8KUlRnFzs + j2NzCPNmBpniEltlhTkKiNttkcKo2m6vC6ozCZQYJeuPJn0OxhVLPWSdynL2 + =ltO+ -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-02-18T08:33:38Z" + - created_at: "2026-03-05T19:18:30Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdArQzO5PUJ0vR+M9kBwUKXMh5rdwDiOip4YangtTdezw8w - JkYXca5r6ngiEpHVHMe9ljdjsCv/qTTSpXJd7j5VMFnnGBorzTSY+www56WikddC - 0lwBIvZnMH8mBQCtqjKyFQzXp/JPC77s4562rWeuxdYxViwWSOirccn6CgkCwdtK - 52e8cnJNvGwoZO5dEm31W9GBxOcqP07kAWNBHehO/CFL1XoORqIIATo+P6XeSw== - =dzJ7 + hF4DQrf1tCqiJxoSAQdA41zUlPSrEorz6Nq8hkV/niNTk1oNrf0SdGtJUrcqRCYw + l72K4GoknDXUT1JG9qebI4Pw8n39gTVUPnJKDLDO3bLZZ0S7erLRS51B8dy/MOvO + 0lwBGZBl2wCp18oJeUxhZOEFX4ps21aynY+0JFLPldmlnY0Qh6lgAmejSL4Zl0H/ + mM/5sAv2mLJi+tk9GkEkb2NynbilVwVoJQwtFvs/eGjFQfQl+nLQAvcNATD5rg== + =VYDV -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-02-18T08:33:38Z" + - created_at: "2026-03-05T19:18:30Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAKlF+FawcutBbzQFF4mnd4Mg8vIbRwnrW/1P3ml3n1TQw - JxJWJkYAXFCjqHoPO3N+Yl73ZYa8He96/KpwPcUg7vtZchBIf1cXQUDycNlKDzCx - 0lYBQMUUt+rO1cRrkIhoS1fNjxAAGN1VreTppC6WCoyLKxa1mIpIZ2sy8J99gGOs - 45G3bS6CdqBvBtRDYIEFLxJX/QfEowZxtL1LW5As6wFoKqRn0kGu1Q== - =Zn6Z + hF4DzAGzViGx4qcSAQdAb7Yi5/Z+3A5sWQYLg2lYWznUPQAI13G+R+0l9dijtiww + wmoapl5XrL/Jtz5wYQzul9Ojuy0dorQJRxEVoyEtzA/TTgwPSbLINeKV/5SSUqVA + 0lYB6XCa/YqaFykCQX6WpxN3o1Zxq+d9PhZDiDoFUemZn4NpaXzJ3Qqy1w/xn/fU + FmT15KclttOc1pYwCab4YZdjoacm1o+8U+OLEXVEGo3h+LiLYXQ8hQ== + =9stB -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-02-18T08:33:38Z" + - created_at: "2026-03-05T19:18:30Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAAmFy7tx+cVV66xnoT3PIO6cyxuSCy4com9O024K1G2/A6 - 1LkWxuY5Lr9HhyvhSZUlwL9HVmIWRFjC8bTAK/hJja3bG/ZtFc/cYNr0JsBnorJV - JJvOoH0gBAd3kH0jb+LGHiOA3NA18J3VurFU3kwPPGShMdn5DPtJGpPBZ7w2MfJv - YJ2WBRoaqftdreTzGALhjdnDz9bqQOUnYPYUpckgoxPdITnn7mh80hMJHgv6eTk4 - 0auh0hDjWuUM/32b/KYFrh3tAjXWMQooEcTHx9GiRCCS+48Qw6tGMl0NU4CGAWcw - b2ZgjeyfqyJeKDtIis75GUx5c80TUwSkCk5ec7EDM7gnRYDtVzHlxNIMjJ0L/3J0 - tFrcBl27hZTVEipcV1HUFmA+juDcm3beB2solaQr1HLqkseiFiYWCiCmdEdwazDO - cGhmDCyaN4J4XC/cJnoJ+uabbaHQ0OX9Z0GtmNdZaQJzWU4ctrPdz3NoJ8qcm1Im - 4Q9IxHNwsQbiNCYc3m3q4mF+haRddUIMEKd4NOjJa6Vts/2gD9uqexC2NZdN60zs - ql8oZcySv3oRjRyzXMKMRbilWr7+acHy6D4Ii/kdRrt6lpH/jOIP2HjEkNusL131 - K9byST15AjcGPd1T9DyzKNN+0bKTMehN/xEBCzDxhD0IrENvuUqSBLrAmP/em0nU - ZgEJAhAPu9+3PutxPXxuJ+MzMk1bziUPHvirpgGYQKHgbCNAjpfztSKDHiEWd1uU - yIzVHIPDqKsqpBwH8s3vNRiN8sq0hSn1Elt04gc+3luFteukjup+yeAQYVUPj1nc - x8B5BpHbLw== - =bCAe + hQIMA2pVdGTIrZI+ARAAwRRfB0ji38BcxAdBVlI9a2ELkWrYIKtz0D0IYD7bjkyD + o+6u9/FLxt0IJ2MPtCg3VAS7o1HPf4HhAs2H/La1ZDh/dYLJk/IWElCzOXRLKHdv + 87/93ZzOc8RcjqRK84ynsLYiPNH/fVsEJfT9xhDha6O2iyKG5s1+oWkO1TF6UY/B + 0Qt0SCvnC5kYn/RP3O/MMIFyjp45h1kK1p/nuhaILPomGl+fJwvBNwtOyulJup1E + DHTL0LJk71bGw2ipcUTUk3hepUbUOerjqtGw+ZsHWA6Q+uOfFH1W8EjmWUjwKfeJ + C0Ec98uyBA27nylode5rYwDpBO5utzE+sZmyV9i9DiOHFbLJCOf49WeNSj9If4ks + iS64EtFlMhsWk2sXNUoCVNXK1ealQmV186ZptOGb0i0RrIc+9dsymQX7nqwhRfDn + Cwm0Fut7PIKXDuLw8H41auLweXhRofrgqpFG5vYMTWwOIB4/rGUmiRxf/8tfdwVS + njZw8zE7IB+MW4JZJa0hf7NPJUdm5QnBpraKZVibau/l+awxRC5Edb5nGCRbrR6q + xyrXR/cygQoLpk8vjYIITblD4+upvA36R3yMJWi6rMDS93PM+gzQ2UFzdHxf+kRJ + 5b4pWyysRokalfTtA/fJwFdislAVGZWTsuyD5dnGe+Z6nVlmvOpa7ggjb4hD0PfS + XAFRNNTT0uLlzRICtLLbW+D4h5b1W8Sb3g6ascOBOnHY7yQ/FdmujoTivNbcA7YY + mi/MTOSGIMamxteFHCOFk3bkW/sDhYiM76lFi7OMKw/qeuO+D9NuhjGleHCE + =PSI9 -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + - created_at: "2026-03-05T19:18:30Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DKKbvh61jX5USAQdA3xjPTTUlqGYrPJulg5/i4Qc79OfEOSQoamBZ+jlVDE0w + Uqu0tlVMf7Ijebx9l7AtIs9n/K1uHDibV77IWIAKf/b1N26zxESgV/PWN/czfBDo + 0lwBv1wNDmSx7owGZuZKSiaNFILZ3D8SDOZeoWuH3ywjYMbl6R2sMx+fXC77Fl3y + xcEtfD18zO/pCFIWd+LQJpIjvjkzf34j7RDR9xHgWZKRslUsZB0IWj7rReG6rg== + =wTno + -----END PGP MESSAGE----- + fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted version: 3.11.0 diff --git a/inventories/chaosknoten/host_vars/mjolnir.sops.yaml b/inventories/chaosknoten/host_vars/mjolnir.sops.yaml index 16a5f66d56..d24a88046c 100644 --- a/inventories/chaosknoten/host_vars/mjolnir.sops.yaml +++ b/inventories/chaosknoten/host_vars/mjolnir.sops.yaml @@ -5,204 +5,213 @@ sops: - recipient: age1hv7m3xypesdfm0dfzwgctde8v307g9xaunnfu2687y0lagcs5q7s3eg0kj enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXbTQwWWpmbm93dVorbjZI - SUhIYUxQTHByTDFUNlFPT1ltZGRZN0xyaGd3CmY0ZktmenAxM0ZLcUl0SHhrYzgw - eklmTkVmT3JVOUJFaVRzUVJXVjZhWDQKLS0tIFFHWHpXTVFzZTV6R2YzcnJ4SnVm - V3BBbHBaKzVNWGcra2NWV1ZZL25GczQKQaDJb/RZQyonx54390QzNqFLexBmpVdi - s1lcewMRgpCgs47gecT/xSTVUpR0tRQNusDR+PwcsDYj0Nsh+XBetg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrZUtyaTBVYmNqQlRteTRY + Z0tTWG1uMFdhR05TUVk3VGdma1pkYlpTa0RzCjdvWnFWQyszRGlQT1NlWjJaa0lV + Q2VYWGluOTJwRHJpSTQvdnh5VVV2N3cKLS0tIHJYb0lRZFhnYmp0K1VzS1dLUnI0 + bTF1YVBGdkhTTDVjb2Z3K2xvNEQ1b0UKy9jTjkvERRtDzGP88WN6XoXsI+R4l5xn + hL7JPwO5kUI0GFkWkTzHlnXhINrDLKYJ+v2BZ9/U7PuyCw1+Mc+dQw== -----END AGE ENCRYPTED FILE----- lastmodified: "2026-02-11T01:05:26Z" mac: ENC[AES256_GCM,data:7DdCLStFif0EhqsgthwZD50v+FPa1drUmBKUhmWw9FKtCBKmNM5LbCI5TvKGJqq8gtKiMUKpOf/pA/8qGNavfl8MdRrhm9inlkHgkwgLQwAx7/ds8uHexVBjG2gV+hMPtoNCnGRkQRHwrepz/7L6Y5L5UUhWHEUEhMuxrejzNBY=,iv:SpziMsqQ34/hAH1HkbGjqG4ZyZybcWE9Xp5xWkPADGA=,tag:eYWlsKj+OPMcpU1u1Caavg==,type:str] pgp: - - created_at: "2026-02-18T08:33:07Z" + - created_at: "2026-03-05T19:18:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/+LcnC4UVHkg0H1MbuuvUcuSQmyP9TC3+nwyhoJiOcYDaS - JDzkYhTh2gyglOAfSL1n4RUTJSWY/d5O22gIkoZU0JGfqP9L74eN7/bOt9LJTOdL - erSgN2CFx6MauKgFixPIeAcnPEAJ3eBUAX1lKn3YFcL4W4Bx+rqMgdtmQqRUwDkb - J/116d+JUscbyOEIE3ted0dqdKPtPt+/NEaQMHxiUZqo0T2iYieCz4BK9rEW2lx1 - Bqfo5c5o9E4QduC/ROi7JlOwYcbMZKIcjEjGGdEtX0TTOj+4fFygvUkz8gYHAGBG - C1b8j615VhvYlOPNttYOQfvxHNl98KgO8hYm+hOPhLyBrYFlE6nhRENBWoskoj/v - FlZqYtdldicR+ctfe7eQYQu4gQNfjPGlGYfpV9ty20JjhmiQa3PRFcbVQ9qk1Vpv - 1q5BRfJNsMBaXSf20LfGkQDjvj3BmrIogKhc4KoRekpv7lDNVUlcgjO2nQng9Cr8 - 2MCvGiQ+7l52BZwBy8eowwWB5uKjS4ZrnEkhMkmoERr+3HkN9Kx3rRgV/zZJklBD - RmuLVs6E+1vWLz9BOharDiHv/VTTmESZSZFQaETjCDZ3vQB2N5csKSjO3pyCJDvh - w1G0Q3gbsPtg08FlA64R8WhRRbFejSgg/vGlGbgG/VUajM8qFi0YcAI/SmRsEg/U - ZgEJAhDYyg+OtwSALFFX1/qmX92I4fFTfaJbBdcb6B81vTZv0XlHBX3OOtZzKnD6 - YGtqhEkEm87R1dTmDFWwKAX2d8DB81C05LYgOt277ABH1dSL82karbDBOFY7MoIe - 2k+icdXXbw== - =YKPq + hQIMAxK/JaB2/SdtAQ//eUbXE2d0nZSmiAAwghCRhPb4DQAuyXaFuL5Xop1A5J4c + qaWokOZ0ZxVximAumASUDFoAZgaV8I++B4Yz/EgAhGGR54CkVzW/Piy05/H8aXdp + 3yJSsfSxU202oKvx1EC0Jd3jSN3MZ4kVqgfyhvYc13Dpy1YfPnBgy40iLq4qUWT/ + G9OrVIYm1IYq2buKPpAyySWJwWnXIM1bZZ8RAzSHP1ryUu8NuJ+FPuhjuM+iodvc + DP3wZv6JixOf9vjP6xBpJ0u89EBsm8oHVJt0Gm/JIPUJsZk0Wc08pC76COkaRx7O + bcZJ2iQPZqUmoTqoCMb4uUsk1zE+nya7/SgIX8HKUjgu6XGc/yNT3azv2E9i1yCW + d0nlR7ypVItfGcn9dC9y3Pqr0d2Utajj3RLz1iRKqDa2XKrptNuPK4O3R1TFitRs + 77bpbcZ6h2F7lUb8LR13wSQMuJy/wvW0QW/7xQbKUNmQF7HkvGZqoVGllaULQkso + I41qcTyp5fdtEPcQyRZ9+WqBnuS3euXplcY/VRO4J1jp3j4wvoCtR4ZC84PfhVlI + E50ag8xjJvzsykqTTO6dLCbgGrr1frfikNNxZ8MaYkFWceVbuO8Kiuz69llV/qoA + NOqQ1CI18XkbtH1yTwnbJIQWY048Fe86DXDKHVWPHPPp6aqtXuYCpGEIRfk9XT3S + XAEAWr+IWa1j4XOPQo1pa//h80PSN5LqJid16ELnlfYexQ0UXWF67hPKhJu1DSsA + u5cSYrThMAo/HmASg/hIQHisY6M9stXC1ill5ec10+Yx0xOnEUc7mPE2rfnq + =IxU6 -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-02-18T08:33:07Z" + - created_at: "2026-03-05T19:18:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf9Gsyne3vFzNg0jPT/+mYusUUCURirfgI8yuvBPmxmSe7K - tACAb5I8tGTENVAJSUPOclLZPaXpksf96IMqOd41U/RjqFko5lzuzFshqZ0ddKuC - bRvMPMDtU3vxTbG/QRy0ECrqtDH46pWc8ylS3CSG4n3GPibRWw5UST0ZRVtXpsYM - KGHVp0ogaRXGg/W1FMtC2B6FuQK55y8vMSXtlBkgQDtMG2VLLVB3jLari8q8i+s0 - BZ12Se1IwHPlVtf0obf/ErpPnrpE3uA6BFzuvzoIGgkHNOVqjqvrx5JPoCtEtPdY - BlLOzMel4OLkOkrx1j+DbCi0krbuG4nJ0/0iaW0mHdJcARBOI3KEa3Ge/7XLs9BQ - YDNS3E/r6n7e5UCFW7JqxsPRik9gKe/BxNqaerAaWDmPzifU12ZcYMfup4FMPSXV - FAVHjlHxFiOczWPTEuWrdfUbyWAALuV7p0tsHoc= - =sbK8 + hQEMA1QflAioE8i3AQf/dNr3jH56xMi0JZLLV00sZ9Ftwq3mj3vkMRVxsmhjjaRX + ocCK++iPzNC2kcs8xabzAq6hRWpj+jZ4vWTBchEDSfGI8dZYNa8/q6XaYp5Y3RMV + NrWriTkLDg2hot8Bly9epZLpzTvNnnV4nYwsYU3BdCISGnNTd9z0ZMcMn4qv6FeC + W8P5Ind6OxIGd+Q+/Qi6MOJM6r10TyfLmzIHeyHNPYUgriWprGg6sTjrw5GRjelo + qQpOUDxAAwN4xmKmXXcH4zNCnVV2u8qt6o0hwoW9ekHp5kx9AurjVES8vBKkZsah + MxCYJUxdVITdEet9yUKlud49jzI5ijYzmeFx8icBAdJcAeObOL2jutz74k8t6oqf + bCl18hOaO6a7Htsz5ygBcas5ajG9BOl3HoX/grAtRELzu+xd/FWXJ+T8ePTquuMl + LysIsh8nAYFitMv4lQ1inzOo++dADEq8I1w1h4g= + =aFPy -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-02-18T08:33:07Z" + - created_at: "2026-03-05T19:18:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ//SgoMhzIqUvgxWVilaKPaQ8Ly4UEvBfDgpyL6k2uqllKC - QFkY0iHhtprsbDFj7Rgo/6gUfJ+1jH58aQNi3hVZj9kbsbYPDaAKMDCxycb5zfsl - klwxPAiXUQ0LRXFJMj5k5h5YO5oQwoBlGXjXdgj8FuRRXkKpa7Xo6/2utTTIyIHb - JaZvUQi2+NyzAojmcPzwT+u8I/NiDH/EHHwdi+3lBo1d1K++2rquX/6w5zp+N9lC - ocWl0NEazmGJwI1ZpYCZviFTG36e7z32bwj4YRBHFKFdJGs8W+mMS42WnLt8DfsT - GoHqJmac6xiYgrF5sdKn42kx4qAIB7ZvO3dC33xflT2RZFHP1gElvy1kUN08849m - F6MQ+YpeUuOD9JJWix5knv5F0qKQzBk8fS7ox+I+28eywR+ay1/6Ha5NYWHsenxu - cfD2Bq47UxltdswqwG25Iivjdp4nQAZBzwhDB7dLci4Joqw6+LAV96bofA2nliIy - M1sceW7HUy/fIvAk3iymLmYOzBDCT4Y8+Sg9av2DEu53L80B+b+UbUz1/mj2VNqN - jIi6tbkoU8VYqJUfe9TqmPYB/bIFFFLa8/iS6p//GQw3yBe4F8RdftcAT2aJCaCe - rzgY+mlu0T6LaB2Av3CQE5nPlGKzr0iL0UoQT8X/qIqLnh1GcA09gAgPf3P+axbS - XAHjLx17Fcxm2XpKQxQ3Lf13fOJ45C9a/mBlMomcGzQt/isSJ58/8+127YAOPNTj - eMqbXs1DxTa4USPYYjzh7/Ta0ckXBDJbxA0vDiTcOFHrc3dj2F/yvjS84PV3 - =67l4 + hQIMAz5uSgHG2iMJAQ/+L8T/Y4VaOPIbD30e9u9ePGCu3Qy/ASVSLVmJg5MwY27y + ptv1PUGTwitu0psx0E+Y+Z5XUCOcio7aveGfLnaZeHjd64h2YpAbCWT8PRN0vhU7 + wGvBvs/qVzpSRj5LLTxqPXtfcuxDmG14YIyq6me8w8gxARBi/0uxZshenFAkoURJ + 6+yS424rSchP2RtB6Unrpvbk21olHj4WLa/AL9zgsWQaRm5lalK28xm8hPYyGLk2 + BCydFlBccCAtwRrE7WEIBjJ8mXi0w9cMf/qC986Zy/c8xvd6nPxV4rme0tRzb1fk + A+4F9vTE9k9kdf2s8xOiZBXxzCz+GzKXD/lABH0XpAN10Qyaismf6hM+QhjQu4gB + hh5BZ3MIk9+VyIHs1GlGj9FclnY6JooUNEur1MeX4C9NpZR9rqdFfNb4bQd8Fi6N + CkPAeGap+e3wtczYrbiBmMAy/Lqg5fqItuX953Dk/BHG/vh4SvHbHrbfWsmc3v9Q + UogNcnlcfcc7ajpDr7FWfBEhIbvDeVrEYHCc+z6JhSzcmjDXWwbZ0DQr0No+ec2H + 32SP02kRKNHvkC4au0yBKwsIUkhzr4TdPtArRTlVwyVMaqqA3OywYq/I/4dMMWUU + 07vdpVbQYguMwM/8EoCfwCmenoUp9H+Quhdc5TeYuArkgNBmIwJqsn7ZOoXfnpDS + XAEO3XGwcgkhzJyhrIuaPhFjnovUOCpY6lE1oNqc+BFutOmXLI4/ct5oYwFwIOGC + /unNRBTOhUhf606ACYz/j4EKwbCdu3nrQZCXCTOe+TFQj7fRk3pwKOWZngML + =a77b -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-02-18T08:33:07Z" + - created_at: "2026-03-05T19:18:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1ARAAkQhPsZ3dLMrXkMDTDTvfmXeib2r1eibhV3nkW4sHBxwH - 95GUp8ePk9o2vY2DJrCbxnkfnrvWYnvDhxXUMeW6IO0dNqZElfVT+A+5RKv0hbP1 - xLIORuv/VtxbvmZQhI9uuEVYyxigyMzpJY2D+I5XkwNJUa18SnnCVkmbOnnuMMo6 - s5er9qg5xdUvAKPxiUK4peqDpIvDqkjKInA8zfvmCCxgfSr3bnlC+l4P+95o+SV6 - KlqOP1yxzI3QG1nNFOUeQAEyAFITHEXIhZCSlEIAJCx2ypYK2SWps5SvUilQBKSs - niJxGzI8gnhGeDKa+e/c2KRDLP+B7ltMuw21Ga1ZPNWpwJMrHb6UtdIaWJDODJ9R - i3jHfpEpAGk6ISXRjRbpLexlcDeVtqBdaaPOQckr7gpZQRPe8pTzpFfeMykDdAq0 - AGfZtfbyyl4l4llBomRTn4oYtQLXPr/hpM1fUt0lvknK5cjBjkqxtNdICyoGPvup - V+JawRM0OC25mWkukNlFUOjOaHft5ataqQl/NuBHCG82umJROrdjn+ogbbC8Q3nj - HUmG7V2+eyalaj7/X9dJhljNIpnx9COFXpt/SR/udgJTR+IRW2eHMj5WQoUPg48N - oBA3TUnnsyho2lbn3eY1ajdUQwUAW5Mgzl/0mZYCreR6t+lYSdm31AP7AOPvegXS - XAECWis4SbOQIUa+o65M9a8H7b4Q/BS/k/I1CSy4dWTs4T/d75zIHC6H40rVGfv5 - SXUXwofncCwma22VfJaRxFbbQXyRPh3vqWOmatJGphTqLmgiTP1aaXoMcobt - =1ZR8 + hQIMAw5vwmoEJHQ1ARAAg9C4drspG6P3f9n0xTqp5K17eHQCTB/s/lONroG+/PRX + 2iwhH0YWdhTgw5rQwupyyYMx9Qkell/V2ExyjQDESzGZ7xr3umawESo9Ozv11qGU + HD+FKTq/1+oI01DgCnd7HTnZFMky9jQD0Rl2I0xTdevjDmU6p3G3F6E00kvFlh26 + cqrI9c6YikY9zubikrea3JiRvHHw8F5Lv5hO1hAfqU/yMZxxvv3KQ+RJSR6R4Azz + yV/Vr3f48Oks6SjNv9fWnb/fc3CZ3R5QMjGnEtgDiKJ7sx+gUnBQczFkDmSSk0Yd + jQCMfaXEzOn9VFi3MqcpiaMbCDKAhSfTrVIii0ydkPDKf3AbKQpATuQC0Wv63UtB + ALtIIVSRGJfW1uhh367/K7TnOMhi/PoHFK53wO7/rs75mat+AHY1hx1JOQR+A3vG + /lNIYGaxSz2uYNKqgdA551Ps7hoYHayzNSF+hMfrKUFk3grhB6rOMfX5w+eWm9oa + 25expOfoaOw7hsxxxFso3jnz68XTKIh0LRSth7fuaXCmVBD79pe4b/PE2VwRcQ09 + 8iVkjt4SmPxNS30hygwML+WZuLNffq0u0UasJbFAXUuIHfr/+WaCB20PyoGevpFJ + 8xu5SSAbTUF09lTldkxrknBIfmtS6dtGzrKUGi2vJ9q4fuIdCtjux/i+5TSGZGLS + XAENBmPQoYIxF+YcsLOaqhl+X0Taqq/9GIX0VWpHnzEPY5BYTPqDQS3lGHS1OO4Z + 4KSdl8ZDu7rdZ1ScKjPhbM66E3kuw+T2pt36fpHhtjw3UHekXQ/i2PV4Yqwh + =YRNs -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-02-18T08:33:07Z" + - created_at: "2026-03-05T19:18:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAc5wiovBiNZoO3ieBZjeUVZ3jn+NHuWgLr2RnLt1WfFEw - k5NPo+Nx135L112ROb/1yY8zSirFX9PmnEhBGnnqgDas8WcafzcqcxYEfeSFbIdg - 0lwBEuBYjzS9C1TjM2pJQTZaOeSDQT6lmBxAW0/gTCNqufIwO3b+v3mFHJ/rYTSb - 9AdhCOZMP5H/RXSv32fjbKXKOS9kgdKggNtGUu6MDr/t1nD3tm1H78aY3QCbDw== - =rkV2 + hF4DerEtaFuTeewSAQdAZOSDC0waDvLXCjhIXIpf2UFQ5+M0bJnEn/TVAHRiQUsw + kSuYQ8MljpdW9klLqx0yTcVwqmqJhv70IRjWTriazvaWdKLHr/NsI2gd3jOaxJLv + 0lwBR+dmS/aiwaUXqYJpmauOxcc7CiNEAM4I2So+MJuOsxEtvxRXpUbALIh+603p + UXwt8Par4X/lEgZVJ02AdANRv5xPMyq/YvAX01+MfGx8zZoMk/z3AdsmtQ0h3A== + =II4/ -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-02-18T08:33:07Z" + - created_at: "2026-03-05T19:18:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/9HCZgETJaJhdw96HFCkxHP4BXV9cGJp0JJqQh5+w18rwC - L6xA3qDMGcyTsbMaQoSFvmHz0a0HSQbodw5ZYNvxYncelACGA3V++zAYULpR3pds - YVkc1CDx+Eu8UVGVqYGHiT26cjIAA6aXvn7JdqYxVcH9xCv0qn9n3Pxdz162/Ipk - HAEElb8BTlgaKgJxRd590i0v7jmtdSmOMiNZVOAhFgjoivoCyxY20OKSGT8f0Php - 65WEMCf/MBcwNDCB9rmvczqc9Av9EPS1U8rl5wP7h8QE5En4fV9VLU7unKHCK3LQ - Gfd6Gt3dMcMtDIN5cxmVGizblbcVNqOcC42FVZ57Dtq2gSYvqrlD7Uh7q6+DnPeK - rZPC9VAfwaKxtfnuyD5nwAkKbNh++lq0Apsb9IYLQt/3nHK5JK/CPmlanISHCD28 - /UNy45zfjMvA0pjrX7Pm6i6OWsgQ6K5aE8s8ZCb0iPf4GXHEG56GZrURAMbtP1su - aK3y8Lr+U+t9ibfj21Cv5/R4LDWE2BS569pz7aZyCAipYs7Iw3VYQVsjGh6LhCob - Z4Q3uEKqTg9s4QgwY6e6xBL2nWKnD89OO1xobfDWTQXpsotMkXkq7ewt1b94Bwix - +6yIJ6TLka303lj7nFB9mTubc/A4EbBKJSLx0aay94+890HaQ3M+jAMMBdnhkSvS - XAH1OKg+mzDSukaYuMD034GszCqvkkkU4sh4euHppG0RtvJUCoj+sKpvtX14XCR0 - csjRVZZjuYgPrxUvFfz+C9mIJtZqBDQbpyABbfDY7fXrKfXBrBOqRTTA8s6L - =QFfb + hQIMAxjNhCKPP69fAQ//dYtxt9FIvhcvL+Xy9A/JamlKwQAm476JPDRmjHQqqeDW + dtQiWCu8ff4mgNW2Y1ANJBuKqrdXFoO8hBZY2H/FCxQRJVQErlAtVol7rqMaByc0 + GWsjUlGoUfQAJV9YEiO1l3koCUhVjaKRXbWSuf0b9So7/dmXfS3g34rTwaRv0yaY + 10WeFkwawdTY0hY1eS+AzRzNqrcWXWHVHE0Kha/iriqbtxLJXpq7OxRTmLXI9ye6 + HyuHKbgvsiMkJgzxLxw43Rtpa3edRGDJDu5LOT2p/PFlusXhYfkcBp+NvZQvn8IW + 81kdgjAjERAioTT4CRk+GZ3KHNSUn7b00sGxTpuri/GpejOk7EJxygao5pj0Eroc + ZCGmp/1IHtYvVdr0Nn9kQ+Ji54GQQb1TbVEOR/49pv8HGj7Vl7xdY7bdJBrGn7k0 + x9vNWtF3VDo8+AJRZZGmlnLpZMwc0RzAes8jw6b9QVuLpVTKXl0TBeXO1FGCycer + KdqV3grCmaqGxAqRhnzzYZEBeWnU0usURqGOw6PHrDhHI7IM1Ap6a2ZLGmoVb4gF + lRURR8P4HfQL3pevFU5NxZ/KOAfiupwmUYrvq6Fl6JKfUS9cRZjZvzzikIEDf+c8 + nyd5jaTXNShFadwLIA9/iW8c6LNuZ7HnWV4FQ/knnSWLHYOc7d8PLwLnW9mdO67S + XAHDc9axe290R4r63vuLlSwo2ikSj2Uc/hcOhj8rkPfK13PlACmzUdMZyQnRK3AK + reIMY3alrhVpHat8K1fHXmXQQSiSMXGaCIM91KjoCfRR/VvQmIHjjsyDpv0p + =joaB -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-02-18T08:33:07Z" + - created_at: "2026-03-05T19:18:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ/+OZ8bEWt1CCuZDXWVmOhIcFTe4zkzPClAQpPiw7p9zOeX - 87RVS5vEuE6V4zbC+9x6HqQEe+q0TuAokVl1W0PFRC4XwFDnjWdjHKaWki6jtFCf - akHJC3IXP5hwplNLSmkmVcQknOQB4tkYLchHdkZH4hQDNe5n3UsxlPm84ioU/JJ3 - jGTV16KEZyzOQO7Rm60ks6uvKG96pM6sEDJwEU2O7b1Ogr8m4pSzo/szI7mYFhRU - K1tbdXfY2Ol3QuTbQttqtocs5b6pj5eG+tuuffWK19LSbRu0dUPr2vMAV3PLXQ+0 - +7cON0Nl7r9Zpd/fnKjQg2W6Wnejx+eve/zOa16/vHSzhkUONfrzvyBouPNaVR0G - a7CGiex3teeBQ7emzyl/5Po+bzFmdNCDUGHT4qPIAJ/l3lcIBKkcTv4xf55pzazy - gpcBmrMyIj51maXEf42aBtrx0tf5yzoPaKtntyqROBCJ2jiV2vTckHid+PJ1aQnb - 9jZFPk4624LRQgMFmHD3e+eLkq8924eXdLRjq3MlncKM9VwFhzMxfyEVl8ZRA6bI - YtNecj25wNS85HfbtaQ7GPy0ZzEjkMUfBVOQZasxTnDEftCoMfnR+KfkwkhreheZ - R8lXApQsLR7Q4yg76npfaWvPMPQjAA6XtKMn8txMgNYCNUC6Xx0YB3go7VVRtZTS - XAG/Bg4yxzdZDHZa69mBt5ZH41vvCt5U9V/l5hnUfB0x3XAQxq8pyfegFZT97ZR9 - /uBScr4r2MSlrFhcG3oUbL5Z+XcpgEwAInHlerzQ+/LZ7FuDIxWdgbaM/4sa - =ZDda + hQIMA1Hthzn+T1OoAQ//WbhAIQJPNo5e83loobz4MEhhECgW6OIdSlWHWomXdrf3 + XJGJZQkA8vVj5uobQ9MknjJ0tEEwPhBIlayzSi2viJE0hksgaQ/Bm1gA6BqWjq14 + +wW2cc8tJs0atHC/wi3EObLVg9ddsHP5h8/oNzwg50pex/cQJqqa+fiX5/BrbhEG + 05YFJ5aSYmf8E/k1ODkUivuOO8S9Zmwx2KXEcgug90DEaqUPxBdGW/0YMJvP3uqX + eHdYnwBhO+YfeqmMvK2iMUa9OJfrAogFtlRtR3HXuQlbP3sNTCTMss1CF28jO6/J + GA2IWmif6Qh9potUUC+ApIA5mEwFGuNROssl8tTJSLAieKIs+8YGjPBlEqzShLP1 + jtz8/t1nG3YXAJw6ikQRwXh6q3H5vmrSpnLg538uRTTwYaI37Jn3qKaCqOGkN8mQ + cGE9GfuMQBOGYWkF7kzbGKYMOkmUoGRAn9p2Hy+0MQcOlPT6WeQR9iPfl/nebtl5 + 2+orHReHIYOxD8Ze4w0BJPR7w13WnGp1FYuvHfMElW+NlygyiQ3x0tB7Fw2WO5C+ + EhmiF307qyzPdmu9w6Cu21GnvjG9fN3220pTsRPdcI/20Oi4wCSDHn9csp1t04gE + JyVgct4fwcf4YWUHkXvxDmXiNqIILG0zm2ooq8UYx9lyP6kSJiikQrHOhI/n8ZTS + XAFYcVmJ2uaox+db63M5UtLAB89Ewsrw56HML9oVQdiKmxlSa9Hp325Gt7f2gPNS + Fa/g1rtjAtVjhyV9wlLsiCOL1QsYHTdkuEuzhRLBkVoSFjIH/f4lyWvSjHv1 + =STft -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-02-18T08:33:07Z" + - created_at: "2026-03-05T19:18:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ/+NjHRxCQYdO5FVeQih+ljxefDXE6f0d7cuRNyXI3L2q9D - i4xDwinpRm3KXH1wAWiHJS0zF2iX60WHMsjXCSQhnBu5fxn3p9+kToaaKN+8qGXE - 1zO9ROBwPwO2JOTAdzOxb5Gs6PL+tD7mX7OyGfsQye2z0X+mW4i4P4MjAqFUPESI - 9/Ke6g1NamMKBjTckremlcreSQ4oEbbcbb9KWifjU3foRNeAatHLRaLg4g643YjY - L1rPKEE4+lKbayNUP8SDBiOTnfkESgIFDl6Ltjwnpf0D1OrxMtoSFFpvEKaXovq5 - jW6ln/A5zQBQHO6V8BkVHWf3NLB0mmv8vpp9Ajq6PJC/7PTYbYdl4zePxu63N9Lf - OBI3QpCRqFX7AEjLxUHK0wLIVjvkgdnhwLL1aCqIihf5rQ8QIpM9oLWaDcktBbLG - sMNhOk3+Dert4cYQK3qgs710UpK7K8Rqe5h1z8R2XfERIzxn86gjzDQrkBkJH/+f - pzzetL0ButlWdf+eShGUTlSzTCMSA7P1xJ5kx7BR8ohE8u5TBJwewr/TXjS0cdd7 - BJpZ5DZvIQyf6xm+7oWcaF+D0Cne3Q/S+vEEfcYtHLuolyGbvZsr0Ta6q42JQcfl - kxZtmSq8koGChbgIEfUgyaP2PZi+F9nFsUEV4NhX/EsRlssdKXI2YXvP/fWg6eHS - XAFuVyD1YZTL8M67UKwRcpdnfcu7vL7xzf7++BpIcihotTCUKBVIxEB1xQjaIN02 - BDhByjPH1GrLSbgOCM3vyOXLXalILQjLmANT8YPCstMCm7T/rHaoGyg5B+UC - =hWXe + hQIMA46L6MuPqfJqARAAi/BZtyRwiOY6IZTAxfjQNPcnqzAhtfygGlpSezEIQiR7 + wZGu6Jd+wldtJs3yLjMKH8i120+dw4NuxYXk6z/4mwTkL54CdyrWQY2JYuILMkC2 + Ij4MbxjMKJtwrt3I9M0GX7NMRf0It+6ABQHV2RtqHzNObpkO71VVJqD9yd7bvbV0 + 5zMtFNHOSJzESrJ0ILdWgavgjNwQtefPMfLlNA3oh0RosnfGq82MuDNAum7cupBf + fTkyQ52NqP8yUgG/B78L3cQKKNId+oqoGuurUZ7+FhiJeaVG1mwtWuCmoaePXB4X + GXaQCHMf+2kkdUGMymXVOvvY+lInSqbTog3Pa8dHqd7lIE95TbxfJsnKcYo+Kc98 + Ao9P7yrQdUvYhTcIXJc40yFzrCSab6/6Vg3Yk64gxysB3Jeufg3LNdCUUWk7ttq7 + bqrBv85W7ht3ZexDG9A5RoEcaO1KO1qCo0SkmaSbRZql5llEod4HJ+AdqmKm1oA1 + OkDGZ0Gs0M7VL0pdFBS1c78kiUkkb4p1dtKGizo6MXlL2TuNljbfK0yct4Dc9Y63 + 3M4gNo8Z7DytuBhUuOVdxegwZWSp8ClFqSbipgUbIXv1LQBNevy3f4VfFS7A5+b3 + Qe8b9AmTT8WPI0CH1mkDYNzAoZ9ESRMD0DUzi3Fs44XWZJmCzJ1WGFiGxzz48pTS + XAFTgscubeO0JofGwYAlJm65OMH+hNxbyGPIcmE6U9evu0NSH3oj3ErJqgB1Xt7O + 6UWkoNikPLYSusMokro4u6zTWZoP40BZclNL9M31zMGYwta687VbbsySzeQ5 + =R0lu -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-02-18T08:33:07Z" + - created_at: "2026-03-05T19:18:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAPmxQKi1I1j0H0SavdQRa0smln3cPah7jBHROvfk/90Qw - U/qtX6D+x9yPb7V/07tYqiQyIkNmHbC/n1qweGN9nE8zaUn1xtX/tSusuPj7Z1tL - 0lwBuryLKy91D4je04TkfH7+H6+t7wMhKE+ClWm567i7UAF/NmuGBs5boDE1hUhV - qE64oZh24atLrNJvDyU+/CC/Z0rwkh2heRZBOpe3Lldo9Tmlta2EmzRc5JlYjw== - =ldow + hF4DQrf1tCqiJxoSAQdAjC9R3W4mlCw+x0iawHrRmNLw57m0gLH1Sy1ixUdfDjww + Mu1PKms5/EMTR+IbSoA8KjGD8b+eIMZVgkQ86R5h6HpvLQATyZtwpTutAM15YaHZ + 0lwBnXJwyqLwWFM08A0ssisABCnP1sni5PxRLoDFoyBxo6XA/LiCSUSDqfMLOZP7 + QQpPvcIrAkUlhboiVZFS5SC0uVK25pT+85gOTezx9SyfD3QkwdciOsX2ksYjgA== + =ycwb -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-02-18T08:33:07Z" + - created_at: "2026-03-05T19:18:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAOEZrQShMaXMWTbSb8+Xq+fR393MF5cENGlHLA/uN4Bcw - kvbfja/DSVMPUoKFx/cjOlXbP3+8x8QFNs2CNJWC59Juim9qAetRx++J1tP4Sig4 - 0lYBRMhP9mQL870If6r96huvozgCDx4drX4CBCNmRRCajTuk5WB3/LJo1MOdgY/z - gUkLoLHj2CNjIEW4PNVoFG3+ZvX2Chz/nUTuLgjG+LR0m6EHpNSlyg== - =NbxJ + hF4DzAGzViGx4qcSAQdA3r3LnmEu69KbfWHrBJCpz5dHMOGwRqszVOV+vsqn0Wgw + WJMnGi582q4xZuPpF1SymZuHaKiePx7ZwjTPt1zZUUIKY/HsUEF4uD51jUmYot1k + 0lYB2gtWZZ6BIRv0sXwvt9z1Wdx9j+H5JOvmc9X8kaJcZdRKBHX0dsEXv9t01Es6 + LwkGMrYlw6hkrklm7XCxOdZZLgKbxFxIqFf/QCN7y9jkTJNCtWflVw== + =askM -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-02-18T08:33:07Z" + - created_at: "2026-03-05T19:18:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAAjzZmTGJiMTFTrLN+VsUgahvsrsTSuljAVF7r0TA3nNZ3 - vzIB0r20N04zOB4m71l/WuVfBxG76RE9fNHpFk6Hc4bpV+8xFjsDo0zDQvqjv/cp - FMdH5gJSZIfn91ryw+RB+Dfvb6Un7EEpryQIXDdJy60xEsWMzRDXHTPHDxCc10wG - kB6SZRXlPjS9B/c0SzsSLaB4CCvgL/QxqTgR+1xTgymvDdWRC/CJDRney3xVZHR9 - eX8eVfAMAp10WbLi012ByC6WkjhpKLS+CgteKgUN6pZqWIK0ksILDYHsbigdn6Vh - /Yt5j5YmJXf04XAzdCJ1jcvnw1D7jfWFZ8A0C1dxiVl8B4bFwbXJLbY7IIac8d7Q - 0Xfq6mgeeD6R9Dwj5oP1Vsj0mYVayw6ylwW+g20PClStiw3ji2Kc0nmMJ3IDzDIb - 64zQzTtG/V/jYfLqVrcyFhBeW5owgg6Y6dAfSdcVEJGThlTdfBwWOxFmi5yiKZ3v - FAcQsVE6rRFEsZ2Ow83OKBaUTKcKFeXO8K2z2TavFR5iw7hddEnPvZSVPca6uXFq - eQXTlkEWkOB6crFjkgRWfFr0vWFXfCNj3CJZ5JLNmL2HrfefTU6WQo840GMj2dLU - M2DVH5AFOTqLKjKuyXL/Avyr14Xmtl+NCb1/3WDCaVEavw8z5LR5fbIK845q6pnU - ZgEJAhDaJbocixcO+zzCsBy1ml7wfmgDufIdp0/0B8FmZl6oQitVGCDqKhinzUzo - FgTXl4ucOd46l/PvFDM7CAMgFcRHpJsiC8eCzLdkjuTo+oHpVZKJLutXfhjLT1J9 - gdIV/a3GMg== - =UqPP + hQIMA2pVdGTIrZI+ARAAyfTQEHzCHrMv7yWR2B3uBJnUEsLe6KklkUHL9JxkAvkK + APmZzk4V4Om0YaAVuux8LLTce+tOSHQ6q4jGPihmVRxXsD2/95DRD1L1BKlheG46 + D6WiG8988nIn/5NoU/7BVVbpMjU9Js9ib66pY6nJaM1JMSPkC9+lmWzejlvUpX+m + nZuprOnR+giIvZKCQMzFYEy4UNsr2ejxrWoJkLrsGRj1OWNgrwYGMTsTbOQqv3YP + 7D3DWLpcL7VI7mIprrJklCr6VUA/zdZ2oo7Zp4aS7kTGSFkfLiY7VGzx22t7CRje + 6TLBcikQDZYMNNCkqQk5zrTrN190LUZobBv/aYrzo3oE/eAAXnzq8Q2zG52pMvAY + jndv09dh5FIHD37LkIHveiAJKtJG9SEpoexrLpUi/4rL+722AoIqb3jiVM//FaKm + 8nmI6asExrWteXSf8+R/FwieOieR9sGWJDQw7E/1c6I0KmmC2L+XZR72fh2iCamF + P9zPgIfllwuKxYJ7Wu3/8DcDvQMkLbRIksSmF7KY/stoexLwycBFOZF0932DOPaK + sEcv+AGzin4wqHwPQNo92yI10ikUAXdd3S2hRKi+UhRPLDzSIHd/oNMC6/o/LgMC + 0k3tGLROmGh20J8fdvyR2jg0wlvd9iv+3T2w/JiVveVC14ouDLTkHVBvvwaJcjrS + XAHWVSSO7je0MfYba3i8O6Y2QvJQIF9vooqI6U8UeOHlJXoJAz1Qn0rHLCjrs+Ky + fZV8lwUndNUVsXILeHqQTvJoD71r1VOkQWJ2GagvDE3wDQqMyqqUR37YjTFI + =pWLq -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + - created_at: "2026-03-05T19:18:24Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DKKbvh61jX5USAQdAKkhqICDx0kjaz6XXyVra/+qwwe5xWTLVdKXlruGnAFww + Lc60apT+JUfDkFA1Aks59PNPmGUNi9JiK4Z3Ygq84+8kD0Qn3ilyB9kz6S9JSLHc + 0lwBYPYyc/aYzNSCcgExfhv/7Df/vmJVoJlEZ5wfquRP2JK0g8kHDJvDMvFe/opK + pO7q64ngDVfxkDVI5dha3ppzBRjO2jgFu48Dwq7O8iH/yqObQM7qXTngGhnjxQ== + =+CVg + -----END PGP MESSAGE----- + fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 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 index 54c30bf528..1c4cac1736 100644 --- a/inventories/chaosknoten/host_vars/mumble.sops.yaml +++ b/inventories/chaosknoten/host_vars/mumble.sops.yaml @@ -4,202 +4,213 @@ sops: - recipient: age1wnympe3x8ce8hk87cymmt6wvccs4aes5rhhs44hq0s529v5z4g5sfyphwx enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCN0FyUm5NdTduOWVielJL - TkxEMThOL0ErcmVZZkVhQWswUVJyNFp1amxnCjdKdjd1NWdzWkhETkdJampvejZI - elJnYzhJWFFROVJ5S0JZTmw2dHRqbU0KLS0tIG4zZGVzdU13Q3NhejJCcWR0ZjRm - SWRpWUdnWjhEUy8vang5cXB3eGxYU28KNgdFAZJqM5ppHrbBwVIq5wj7Q3mVpSv8 - ZyqDW23sN18T8aP2QZvaH1HI8NRGVOVgfpRfl18Zo4uBShBJSM7G5g== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCSmJXRmE4VHpPY1owTU5U + eGRKRW9tdExFOGlLamJmak5VbmdwS2IyYXpZCnhHekJqYXJqdTdVdzlkMnB0MFdl + aHowNE5TVG50NDhsdFc4bGxkK0hHWlEKLS0tIDU5QlIxeVc5M0VIUUlMSnU5M2tK + b3JpK09MMHdnVmtHdmczL2tjRTRxTlkKLaXoHDX80EdVo3s3V5Ykuc/JqRtzkJUC + mBjezl7MMk6A28Qv1s/4LgcHD693qOqi1ZmSxGdXY8FCtiuROnDz7Q== -----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: "2026-02-18T08:34:57Z" + - created_at: "2026-03-05T19:18:09Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//ShLvAAyITn3ITXY96kb510ol3qlEt2duGE9kLTKq8c5g - UpqBzE2XhqlyMp42GVTyRxZhC9LZWnskQANEeiJB9nB9CCv58WmP2H8wDhVBWFHO - d6i7SgbL+xT5HQsvt5djTGTGJ+cy4d04ImYDegxSc2looKZ0z9fnPqj6PAFXDtW4 - fmJpiWoIgX/XpvrnNV/CvoSDQbPUjVtwWTL0hUCPBlkickYmiO6eiXXEMTpuIzyv - YLm3/QQxI1+pcPh+8bR5ytxKQkELc0hkXK5eyXER/FAtf6hXYIa8inWbYhFtuFZ2 - wdVQSxRCzWl7KIQP2v7vF5AgUBj4tA8LWheOjI5Ll/3cmZEghCCCx4Aw5bhF124Y - SbJjN1G1ZFDpfGDKKIg2VMhJW3Re9pOZIzK8uq7+6TRlDqcm+HUIe64vswm1Gs1F - oyN3GIzST8XWOcGW2Un5yoCcckrjbRy8o8mq3H8DX4ihR8aWyVZy6QFbgHKLGg/M - Npeo6emmcl2Vo555LIUWoDGDS8WomSlGIUkhUwji9dR5g+3tAuCvzzECwu4+XgjK - sGS/KMBuf11T+brbsSDzv0DLjjJ6S1lcJw5sg+Wp5EU0IWCvrS8g2XghUTB/gwww - xLnnFLliHIapzRyI4P6TOtsihyUAo4oElOQaFmGw3cgrFjhBgggOp96J5olwoIbU - WwEJAhDdY0DRVldTbNE6ptfYEYwOXXNbh7/jsUnf+lSuo5WvWWjOXAxe0u+1+tMu - KdhmCcvn1bHL7IRQ4u6/sccm6YzBr1/QH/zNKLjPaZNRxzid49mvwSuJrBE= - =PHEY + hQIMAxK/JaB2/SdtAQ/+MY67dnMwEB7+vAHAoAXOvuoeeYFaz+1XvMUX4lgfTMxa + l6rX0lOrwSa1AeYXnLXvajqpA+HxrGSZLhUGZ8ZjV+WUrUmjg9bkUhrG/i0kl9kv + mpE3EIlE+6O0GNFBKThm6p1x47US+/ynWBepVR+YCe04rtijtPUvPdI2OLR7OBIv + RgO+KIXG/hwdJ3Z6DTfI9C1IJ7z2yAzUvMHWl6MJrftAeUGN/TAm20trfUUYe4tl + ihwYXpm2jQ2IB5LHA1XlCi3sC6TztmLa1vhp9qTqjhYFA/MUfg1CRNE1g2jWv/Bs + qMa4cnqzhzKBRqoxaSM+6pB+xb/vQNPWMRpN0wfeGdXUO16wM7geZL7V01tMkOFD + Z4mF7vhDyu/9nf8b/1K6K5fqs6Q80bASLqZl3FMmadL0KuEt82VY6m+6uoKoqbDD + +YZeD3GVSpbD4AG1nM94QAJRtJgpJwBzbODGOZKUk8HWjv980SMoTXoYy8Sktxp+ + HwVjoS5nloU2ZQHV3H7vFVt/VlRO/NcXdQz96SQutlpZLqfiNOZloDlQqfCSavlZ + rOhf7U2hfR+F2CQu38uCfu7opk7340O5LHzXuP+iHsu55Ehx/2Y1nvOe08+tHBXQ + xDfwz2Tqn7XmH/eBafQpxQVqJv0brKHmHADQewnk1V+KPpmhWlmstIUQMf+la93S + UQFX7uMGaDzvniD5CSwG/45XnZR6HtB72oMEofh2CPBJj5EAek576dwSAGBW4beV + V2NQ6JAaScxKs7HyIzwdLNJFemwyKWXKwzA1M7f2c9I59w== + =1XYw -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-02-18T08:34:57Z" + - created_at: "2026-03-05T19:18:09Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf+OmBKR2nZ9WZo9793w88s+7v9E64cI43KDYMYH5W0vRuf - DLlKCJCAtVT+zgRRzZuGoEEcENSxovYfZz7hH4n5jhySx1ay0eHTKSbXyVphfwzU - bosUYvVKLEu/wNLBUMa20rOrFdaT+tcckjcGd7Qe3TFyGT4QO9aF7VXeINXsF3Ry - hJKEWFtPoj01k+NCvDN8CAyNPxvl81x7/FZWITlId2pCNTAzOBPVwsg48DC41wp7 - o4J3tl/Y2jjvZbaAo9qxiUomNhYLwOYGQB4X+vo7QDxEVvpCc79FjwUSG+3wA1t4 - VSPzE0nkvKFuGoLh6kMANjz5/Ga1sHy41Fj8fSG7KNJRARDYAjDgP6H4CDHBFXd8 - 0Adpytu7TRUwpmTVJ+jFRurKt7yXUSKOMzuKEoRkYay0SjgfLJJFkxrMorHodExV - FAVKqSQYHealukABsGE3l3M8 - =cAhQ + hQEMA1QflAioE8i3AQf9ECFkEsvyJDQBpM307LBl31bf97Pqd+UujTr/PV/l8SDZ + xktkkgYRClU/Fo0TgHPpnntkqkjsOQaGbEd9xn643BwlSGjtfdXRRylu9nFrhuez + 3VWmjf+/FiKbmHZw4t3jNEd0nOxYjQfARqKRNta7Vfv7biKBQWgpcNRAisZIU9IL + AuaUrksY18T2SDasLapJaqof8oCNrcLL6apgJ3ZlY5C4guHIltFWsvTSUk/OSer7 + MGN817jzLv1i8AKSoIMhLu8JoWcCLM7ZdsRBEZzBR3QSGc4PScwJdA97e1k95FVf + BpgpmJaOgt3byJ+CbRy2S0IhsgrE8IUVYOedaHxud9JRAaf3JVvxkJt3ETr/z9A5 + MMXLKcoKRfRM2LoMN8dZGJdAGkhb+HfsPtSuSVKIZrDGPpJkSK+1gCKjtZi+P2cr + GMElVxm/BWHSWkkahXHOiI0g + =P98l -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-02-18T08:34:57Z" + - created_at: "2026-03-05T19:18:09Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ/+JbJPyCPqPuX++Nm2no0HP2h/EZITWhswXOeVhRQqIi7m - bZFtGYzPcevsKTKzyqX7DMuQM75NSo67orpZvALTujMMK6BYeydhXPpGsE215/4I - gZnqE3kp8EVa5iz7x43AEEAOKEnA5+UZjUuoyCxMbTgkvwH7AQvDMuiWmvkb2I2k - WWdu/mlUKcsqLzEybbqGKuAcSZFdgMtDV6QRiTGgD1aNFjMG/Y+KFUssVMVIeA8I - Caig6LLmCU44sq9aalclH4j/3GuGl/YJKAiCv1e7HBV/iGQJ+jsmFx/oJj6iMMTR - 7NLFE6srpFtc6n9JoTwtBwLT/k4JSLvq6vhp3anL0L/s78NebRCQHFeK3kIZPjIa - v8JxM4B6uThUXlTsX2sOjCKDKfpBTtWpnScZtnhW3Zfof3uR9pGBl0nqloOFPKD3 - PEuFg8N5jgimyOCeh8SA8KuKpUt3SWVGi8GAc/k8IHn78hObaJcJpuYPmuB3qxSU - 1NXVCOnMAbIpjhw8wI1ybmaRZNGsxowVB5pShbd8tFW1jCpRbq8xoh1E7HNyOwgZ - fTerIwZfnRCw1CcpAcO3yY+srOHrmbuWlli9e5YiTJpOTLCDb7+C1bYqO6NTBB1t - hGZx8i9QLAnVRUTcBXIGxsw9cIur9C6kCw0jqPGoI2zeh/CWkC6u3tCsMwsAZ5nS - UQGpHuvGlJ30gZf4gTI2hQw1oc/USEFpZYZXjwGLd3mqcfnmqyUHgVe6qu5AZx4W - VWGGahw7uGOcxUpP0e+l+1UG+5eScTqVgAwVlnnz59mh+g== - =qKZ/ + hQIMAz5uSgHG2iMJAQ/8D88DU3va6qufLEavGngoy7VKiddfi+xCE21E6odmzJ5k + TpBDH9Tz2BMxWl0ID2JjduyVlGaHOy6RTObUN5gbueSJ7OpL0N18JBj1Is/ILrZW + fPiUmFDnELwaFyYomGhefAgRSf8y4MNeKj5drt5jqWlpBbYF0Tyc3ErV7QJUymN7 + Q0j8Y6dSGAagiIaXHj2+2/JqbRtpFXnzmTve6E0SLhgwz0oxbySeovnzoFXcs8IF + MSnefFuKbEA6pUSSu6SqsGN5f7+gfl2JRHM77YJAaZNedC9p17di2uwKbzpn2+cE + ohVzWHx+aj5tZUUooLZVrf1xthR9z7u+b9s+lNbcENEanEtlPvzzcRafAnBrDBeA + 8+uOQ1pXI4VJqs+vZ0mD9I2WNc8tzUnW9JjcCWAaNS6uBU1isLPiXtYJAm46kwd1 + I7yrZrJ8q8cUZMahG5HdkTgLEoCblnZisZegv56AinRV7n+Omo1dVXUpUXJJF4sm + 0krgvytT116hJQwW+dTbQJHvySYwyECWMaVkkWw8QVJY9Y2s5BlLn+6XHKwHxU6y + 3XcAmYYv1fnzAptUdx7F13vRo3G2+0o+PHgbeXFsT0W2db3q4uV0ZbEJeALn7iKT + qrJpurnPAxe56GuY2zzRlu/XShziUbx3mgRbyZRM7CBoRBBDZmQLlA+Qlv7TLfPS + UQHcGkbYhDGcJg5l/lmTvvdYKUhZkPcg5VIevjvnzxbynB8+4sgKd859lpRqRBYe + RuhtrpcPORctHw8oVE5Cr0qRHHiD1CkuWDZkQI5gSxsIqQ== + =GDAd -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-02-18T08:34:57Z" + - created_at: "2026-03-05T19:18:09Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ/8CrPOODNAuVdoktV44tH5QWOkF23Z/BlaIAvoWdJeDa8E - 5J9GL740lSYLYYukcUnQnv1K4n26cXU5Pt7/yJqh1AtvnbzjfhDuLknwbl3BgWzK - 6AEYd14cr/+vrzV8DSETuheeM8wT0QpF2u64UZXly1i1J+f1fT7Id73bUV69CM4I - nKaXvgGt3Itq+MNEWqQhdbaZTVxq1yx/vBn+ARjw1NnZdVdMLtsUjGGMVtduIC1s - U8ffHz+7w1GDOKcFJG6yjzNnCMvyBhIbNIJyMvM9xIqQbYwV5I65VFZheuUqSY9U - xdNYfY1qVjZunWAUKyNa1brGN2PJZArOWeJeBAX0Lqx/kzezA22Iw5EvrJAqaxQ7 - 1QDPvr6i++aH2ZdrtCC4py0eWYnQiIwf9bVSi26zqJAsMvX5NJONUaCoBEPNPI3i - 655JVT9W7M8Z5qypexv9NZltqUEzpIdHuV1jE9kU8E0SxjXNevgWntpMHT4h5E5j - PcTIFrFTz3db0T8iJhz7zNb10nc45komk1/FVoXSbnTXbAoFhq+VtKVhF8b2/F9r - vT+6WKiSZMMJuxmJ+Ti51C9LK8NStl+/BRmDxIUiouHfp34yL2xbEQ0OEr7ws6wY - DFMPEWbv9jr4v7dzVPSCUyzuSKcUyjcPCMCYOwRNkC5xTdY2L1lJmTPU6zRx6srS - UQFR840WLgAE4eIfiycdOEMdYkAx6Hi7Lr/4X7qO51tmMAvUvjgTc9Znk1szdyjx - XOHkMmCNjHHPBct6ZxQQXVLQFAEOuIRYjVrNtHpAHBMHDw== - =ESp1 + hQILAw5vwmoEJHQ1AQ/4hoAfwujpNJlXwcylQogygf/fyqqVjHHwSwX23mPHW/yP + YNH0xXLVfpJjXLdZ1STQoE6X81mGT1CWVGWzEfScE/Z8S4c2Z7RWu/grOJm/TaRN + VFR1rAY646K/Z14PMT+SbaGigdc9NG6aXuPjPwWpQBQqUYZu69WUES2mavpYpqBO + GJw/XGyZoTqfD2sLsTZdlvrzYvAS0zqDLN/HrkwOjfGO3k1yuOQXLnfG4vJyZmze + 0O3Ilf+B9wBba87VkZKKc+qRtkk0jZ2Qd6hTqvkhOR1j0G4oimrE2GFf5v6xYpJ8 + QOeTgiHQYwFF64WdRAQ0qZQBtOinNIZkvxPNXBVm09YZ9o922hBfF4o2LMR0RnA0 + WR2mbCNfrjIBsiRFUilZx+yY58JNchyP4Chvnf4UyV9ugH8Pgx7GZtLpslVC9JVM + TMkEJ/2H9v9/cjCz9lf1aXx+KxB2/jMZKZpxURYX0hAwN3mRDsoDEIjb/mR9dzgs + Js0Nj5+xC63rxxYf5f4WGiYGX+Kw0bBkFH5BggIieUKZop+VfyHDiJWkPVCnbaXZ + MEQCVTr5ZBz1poFoWRKKpzrxkiaF1ROfbzYKwcVN0YTpd4JLow8rr8+Dn4AtezO+ + A7rFIBGhwJykvn0sKhTHXAcPLRZEBzXHUMxOKBHnbig+KINXNV3Fh0Z6PFER4NJR + AWz1+7hLbpiaaPCb2Z5+5YLbMBhKHp38VXvbRVhqT7XGIQ6f+gMu6jiyl357Dx1r + omdo1zLAJwqUsN0Lm15SACr/tWaDUOwL0Zt2G6NIeDZo + =Gy62 -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-02-18T08:34:57Z" + - created_at: "2026-03-05T19:18:09Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAlaxU1OC99m/Kn5cZthBqJBd2SGFTQS2Gsj8rjLz+Uhkw - RYQaMX3sbhT6NpFJK6X02q8p1cJSZUfMnmQrGSEUr98IMylRnCQCOIirSeYnuF1W - 0lEBJgVHuE6ifA1VTNnMIjSFmzpq2t3cvAEElmNWd6yHHigCy8sdeWj8EdQnSAq2 - macc0nzhpb9sTAt4wo8/kYrPgxVeochDFMXZ3xdwo1I4A7w= - =iMo3 + hF4DerEtaFuTeewSAQdAESSFwHonCbT64i5XHEzWrJJ1RQijN0RVz0sXw1REwzAw + eVSTEScf6NId7MplcFddIJEtzysA/sGUhR6CedZJKLmEL3uyai402/5PuRLhXJ3b + 0lEBAF0JRUT4gbm2/FPXru54U37KHlW8hQY/GOoPrDnf0RWpmgIm9RssLs4kYEtq + 4UVBylaKZKtxe4M6ZDI0xWsw1EcveAUS6dBpIy8hMAkar8w= + =Luoy -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-02-18T08:34:57Z" + - created_at: "2026-03-05T19:18:09Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/6AxOtuD9uWjJrogueMkigLvz3+FRbF/FSeTaA0LP8imKn - 7SlbwQZVbkBERhsVT8fghYt1TJQA8q8e62q5YjU6Qaq72TFvRLvoODNOjpe6O/8w - nzr5l2d60o/h8ga0Haj4ltCyiUQdqyxDluhf3bnHvJlrw+AekuSpP5jHofxjteq1 - 1bES372FcIRwb5tOzZ89C6aKy5JJBUEW0hiTB0CaaN45tWRuS4+IDF/Lq8p/vlNS - 0O6UAsXfCbFFMMgBtuw1qedE+dOj5r+o9oGW4aWO0Y5LR2vRZ9vNgVjE73YtYTq6 - vWwTOmwlg8FeSlgBfqd8radKKEJ2Xpw8JWiQN04ImI/gu9eKbcm7LXk8oHQc/oqZ - 18kxJZoIOpa7Oki31ek9oqyVsC/tTElfLoxyZE9Zg5ek3+XQFNdqFkPXPmYrPc5f - 9xHOgn+1/anNvAcpJZhdM7/Ukf5JkniKzWOSP9zJIlaxzVCzRRyCfW6bonnYa1d7 - 0AH8DAspCMlVlWcwrpP9RoVyTafv3bVpMppSUKzG70LaYyy86Z2fz9J+gG3sZWLZ - QabYbCz0FPVFXDNDZCidk2ITE7H89h+FeCGdCp7wmz57Gl1m2Co1Bg2MLOQDwHhN - dYsO956Ljabq3AC6EoK9LcCMAWpDGD8b1uFhi0RATES39xFNV7qTQZmUe0jRwfTS - UQFUbwNgvoo3dkS4xe4gRi19GCqrFYc5T8x4IuYNBHjvSPMAldKbJmBoDojW+Hl8 - pySIJ2tUd4E4Faz28hr2KQc3L4F/PudWyobuLEU/T9mXAQ== - =IWwM + hQIMAxjNhCKPP69fAQ/9F0ibO+bBykoK/fmSxhe/+nsrTnCpT7fYs1G/30f8UqXB + Elhwwftb01L/awAIOOep7LW8JS+1hPbYFvQWCe4m/U7daBtiQm5ujKq1SQWPP82t + KK4un2LiNc0KTCU4F5FFRXa+I3E65zrSkBYXgT1Avv+TmqB2aaocKJa9Gg7XTtj0 + ekM1+gILveZh1domAHp2JC0VZ1evC/2ws7uwrZplUrb+2690K9Y+WbM08egpVPG7 + Fv+Wx71Qztt1yRbGVdZmpW0uPH/mEFLZ38WfxcBE77WDSav74E1/Gg38zULNDfwM + yODyu8d2iMUF0K9kuTEos7op0bF6vGhkBVegSXQW3YpdDDAwj5Q2CtmZjVBD6sKK + EZ8A95hsYfW/nC0yeLs7jG09uZbG5mcey4wIoIDJu7Nr+lUxy/v5yrT87cCvaCo3 + Sqv9pGyAcpmR/5wl1M2uZ0scnj7g+BvyiLkHgZB/jmijiwEXMv4AWIrRUJXe37dY + HWF48GAKMY87Ez6RHipQtgOl9L3hpiunM6VN2seCa4cKvWfvFV+1hfK87T2CcQTA + Ax+giP60T8nMSiRqv+OQmIV/KnSZqjEM2QRES//GFxbPBUqQcNw16b9zgllsvdd7 + ZprQ7K5EC8dYZEV1DqHVt3WbqusomSo6goe88Zs3VjuxBEy1lVKy734G8AGXWGnS + UQETfrJlKtSHtelM0avg7vCVZlySnqK9mNZLUymusS+hsAyP+bQfmUtfzy0n2mby + 7AKq94keikUqqC/Hs1MRKy5r1oR7Jj0MHsrwe3MmC80r8g== + =hyrW -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-02-18T08:34:57Z" + - created_at: "2026-03-05T19:18:09Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//YIolGbAUeRMD+hZEuGSjJmU7baYI2mWiksdR76DSN85h - q/6zbISWGmk0FLwjggTnQFcyM49NUuJulFzVDqYCTEsXJYLFWnQ7Gzgto2kQkVTD - msyi4yd5DY0LeP4hC4/dOFyhNoDyhIlZYqsGVbxdilCMVZ5O0WbRFrk1rmlx59h3 - 6szNoLxDe4a5hIhbIWCIf7ENmWI/yDl3nsakyeQWpmGQw/d2U43N23CyjTufp/yh - u9BsqNrQ9UhQEZsnA4ikz+ErEqE3LNY5pJugrAC7hShvvUcoDcUZypwGs/ymFoqx - bcZCcpJd6K6b8ME8wGcNk52wkt6vXoVhBL5V6kGV8eC8dcyiltEjvkBFtLtNdbFd - gQOLd9oEUeBHsObeJreFF43hl0AUnExVKDOjY5GsGB7JF/V0QYdaBM5EiDHu93EA - wIvD9e6uzEjSFmf8a0wqwJ3YY3iTLot0F2HjaV44nD5TnoTtio4WzvjtC+XHbxuU - mQlCYgA0Sdf6coLMrTL0h5kWTAzQN8qkCpOZhGGE114wKqE3i84i1bxTV8MrmunS - c/MHmOyijPBSt3p/5tNmETEv8r6xV05YxfJczClADGNkzJljHf0oTTxHkMLHvrGW - IlLO3gAjIgsyHb+c3dqyZo2MeYmotuUIEvxp4WzH1gk9PhkcEzB3f485Isd02efS - UQF1Q6uH7S/ERIJfULIJupNyc3Yi4z1+7uQBXLTLhk4qSv8GJu8VQFEvWp+WWSUH - Y8dpyrTujydlT3+gZOinixUCIxG0dYzMAc1DnveVvcgfag== - =OAlm + hQIMA1Hthzn+T1OoARAAve1lhAvg4cTVUT5Xw6VTN2Cm872dB+QBELuiOWYOREYg + nKuK5qtYhBa3UXs5KCBJvNhdua+0NaMjaUjyNPKqqkknbVtQl/HA/bCmRBEGGDIW + atssKViyPAZZ0qcmCqwPRy7UzUWmsZcwxrqIQ/NgrJMD2SlPrn9QIM/l1zEYiEYT + W98OVc1lZv7vn0mM58G1B3ODvFSRFSzZv6yfXzH7UnoEoazZIxVjbhUoyoXO/AIZ + Bz5Ys/OtE6CmI6Gj7Sbyg8u91fmxp3yix/QcTe9TfXfHzrIYtAZBj57B1hPPqz8e + 5FfHF5FnoMYIyMy1LekxGUsuc1kr5TlQuX6SNuTK3ENu9/XQ/+G/T7kG1gl4h2Ae + RQMninPnHPnOsl++nbO+qeHHNT5lCWNWUXbg2icmeEzLj2Q1QQPAiOvA0dC6Xuc2 + cIrwzb8c8JHQcDTv8/En1aPtfZH/iPTrwRXB6KBfpAXnNOyCUChaxPqWmUjU6Xm3 + ucjWBGRpDLOIzaVTF1J5HBQdIT7neNWG7/rR9WT6rwTAY8Y2kv6aIQHEpSyXeRGr + zXEvDgVznqbCnTSgS77WJvNIce2ny8ngLO29EJdygz9rUCUreqlwpT7sAZmC8kbA + nC096YvrIWaE6qRU1lM36s+vK8GB+UeFK8jQZlWZHWHytBc477aGiTj/vkWiNEjS + UQHkE/bvWtoon990MRFMv/VngN6TYkdcUjNblZEs/lTvDkcJTdlrzNLlE0YkXwRV + IxDp1kXvItS0ErRov8f0JvsYp5jdLP23i3oJ0LSS/Magdw== + =Gumd -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-02-18T08:34:57Z" + - created_at: "2026-03-05T19:18:09Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ//YDfBjJwMOvI2E+qCmLnvegkhluCos9PNUxnP5PMmPEeB - d5Nql79SoE08mrzDSpv/MwkbWrb9G1R7PW6tjbBmGwYR1tmnBISL+wNVMY450W6U - Jktthb8eAcGmmTAN2e+52qi4aFso2ajPHki5jq8j3zPdbnS6RzAke8Rhk6gwlhe3 - iU/cTPZbDU5ON0jYKw9ZrVl+QtwrYf1Kk8Jw/+B7xvSTcHwKvabsTxIAnFrLaCyk - GVieAZXy5jO4wy6zUv7qgPFoSspL0nwWM+q7v4kqB0q7hAY9/UCmqYqAdjHqzW2p - FuDUGUDcn087lBO20Z/uqEgri8wSegd9WgeuJpWBCCQ7jFGc6gW/dZmaAeZfG71+ - OjeNmvHwz6lLJL9rvkWN6NQVNZxun/15Ey8wCJwm9vpFiSTvA9infI2TT/a47J4w - sxFmyY0ZxthblVWpkSo/17mvTPfHcNprEHqr1qSoo31FOyxUjZjJpGOWkcgDqu2f - W/00UbiQVAWzpcGd10nE75emk2RgZ89UbgnG35tIEh35pKR4PpQQdHlswals/MxL - +AXhDq23sG1RapK8FOZYwMJvIer+gb+JIj5AQ/91TOKcM329Kt+v9aoIYfo56YrW - UcBclIZajPNjet9HaNdUyH8wK7Iqz5MxllYHiLsCzlHhxewjBn6qej6/Rqs72LfS - UQHN7eb+81LDIaqru+U9EccZoujKaQbRZHwkmYOtwAlVF3N0rxqgBV55DF5s12AN - iviCMIw/+TZLObexFdEcPDi6VTz3eGqGsvgSaY+Rdb6+xQ== - =0ECU + hQIMA46L6MuPqfJqARAAqOjNUpDtTfG7rA6lhiUEiHQEUXBu+Uu2ctoB9BwhbUbe + k/kOoSbHotdKyrm2msgZjFDgKA5eHwOx8srLubsBC4q3k4oYZi9pPoPjyDiZkdMv + QViAp0Y1W2zcno7guHs1nWPD4nzeEkMDLs1ktvU+rH+StrI4uT3JrPzwK4J51775 + PD/FzWg2nqyWmMa+vnqgkYWrDkO8eqvoILovuUUIrwkqaJnpp80Vkl1QQnWtlz8y + zVg+E0ynFGuNsqb38PYIGYvtFq9XM0DXbJH9n0rLUaBFC4uReEYsXS8HwfSp0enM + qsKZVIVnIVPSdngkSactE5jMy7w7LtdBpkI5ZySdcFBfRMsyU0G2DGOXNoiwAyB5 + rxIBXB6Y/dgFqtg5KNhIpwPgK2VjYUCoHa3XyZXD2Is/GM4gjQ7s1IgjeH/vpo6s + 4zjNXeEO0vejgph6QyA+f371QInA3hM0gjQUd9686De1nbou04F/6Zbngqn2x9I3 + yLKh8gmHzA6qM1SG8KW+ZrHYA5HdGnJskLFDZOFcWdNPNnHpSOkWrXYSoDmOUqIH + f5xAP1qnGeuehm0duXzsdLtDswNZwjpRTbxtGC8y36VlBiKeAinpAKo2EeNtE8zn + eMlf7y9Tb/IKcWewvae0EBogJAjMXKjen6uhdnXc97m+hyapk8tbF3vnAVCP/I3S + UQGTFgVFWfuCHxTzWUFywpsZGXk7kutZy341Kota9OyU5qTuQnG9PbRqFUS+C5Z3 + 8IB0rhP/UFRz0UJSdsBYPHhdPN4M8dUDnl3QZTC9GiXxjg== + =8kvw -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-02-18T08:34:57Z" + - created_at: "2026-03-05T19:18:09Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAwHp24OPkPfgNqu9KDdlEFtsrknX8OtqXoQOOevsEykkw - OmLXki1Y1GhxDle/3FzBBIGPN/+TO4pY6L3vXLsVbkRl3MSB29zxHkEwrznFGnNW - 0lEBFtUxMuW4velLhMpwiOSmEWK3nHlLvWBTeg1XHArl+KxqV/f2w5TObq0dqyNT - FjyAm0O9bLWpEiEKbtOrojQrgF8EoDQACbQlJcHG2XFpVzg= - =ztlI + hF4DQrf1tCqiJxoSAQdA9Tdqxpkg1Te29GFgjavSDOIEeyQj7yeduJ9lBCtmjF4w + uNMAgWANpJLI5Ndd0CWR0bj18Hp/N+U21KigTseeVUMidpKtA22zwJmukIPWaJF9 + 0lEBztvB3lt2C2xsivxakSNNTD13pjcObjN67PsnK3PYiUrNvo9lz1b14QNCMg4p + 1RNsZ/DTMS4Fle1iWlkh+6Qsq15wvfzXr8wyRj+5nqZjZDg= + =tpPw -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-02-18T08:34:57Z" + - created_at: "2026-03-05T19:18:09Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAaCVsCaDy4JkhGEwWgmGhqR+Mn9iXN9iRWdNDjWEm7jkw - kOwWHnOOsFlf9Fdy3kBwSvYYS0h6YzBSrT6GSiKRbojR7Ho3dk5O6zzjXT3WJ5oP - 0lEB3CZ+5CtCi1uqJUik/4b5j5B/kqRE4AmpZjzEKsTRxQx0w9FhBlI7QyaHJAAh - ybruuLuWqwny0Ccn8AdCloIGTVuQXv8FkGOx4cxfOfU+GiQ= - =IOL2 + hF4DzAGzViGx4qcSAQdAXn4Gx8J0SaIVFfg2rZeIbGpKr5xulOYrcaZm6KM67i0w + iLEXiwMZMq9VEu5ImWe7BuJxUEBj/upEOVzriYQHBXRfepzEFQxhcKhrXOuQLjPe + 0lEBHtd5gwLNzi9FJ41v0QTlf3WqJw2b40gBMChTPjzuJqsBnc12Gdgo9q9D/Xx7 + jFmwAlY9jDpZSIFu4Pw/vxyB+/37XSG8pzmr3s61z07LC9U= + =JXIr -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-02-18T08:34:57Z" + - created_at: "2026-03-05T19:18:09Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ/8CF++qAnDorwpU7yXop5a3XelVoVg+Yil0Fx+VLpA88uW - M7Y690IR42/aY8rtjVkAWs53XvtyFErQka9fc+ZDuZgxSCfWGPgCWV8ML3uQ+Q8w - fzI2em7/5P7c29NlRwyRu8H3DbA+JcXAuMc6tReS+tQqW4p6YNPbi7cabbl+or6T - 9r+S9OVFeFD03KVwWhvlWHiYOIpL8Rub08V9uWk3xvBgFSnJHAmgNZggn3WdmTV5 - JzFGjDfan5RY3dNJ0k61STYjiCdi3D6eGBWmbnJwiH6BJgIScmFJQKphx9E1CCun - 0fRisLe/D4huuszhQIyZ5tEoYZoSJolyNNaS4xo4YrRsV6ScQJe32/ae6Rwaz81h - z6SqZmFXix7jKo/3QulK5MIPNV5UeM8fBonvxwOxcYZeFmHa14MjgNEE4Zpl8QcC - NEq+ilJyPVRy5xEd4bE7u8NDQ5gSDIejd/fFXyb7DTizu608ESAhNj9NivNAqXEv - FnaBeFEXlje1m2jT92OOYCZPJKmcRt8V3bMgEpvuf3FDDUlAHV6ZyEau4pcMHw/1 - ID2UNihe8ID235WKxVr1wgvIUNdjdVyAAZxVOnN7oshWlySnvAv9RbDvor2qXExI - tm5zCbIIMGBueCIJXJYMfKnUH4WK9hIikDThZsvMHhE5Egp+Dn3MTFHmI5sltsjU - WwEJAhC5jbHaodeSo0kS91Ox6KSSF8URn1boDFbMaQS0m5R3PVCzBlTakXWTwVtZ - qJ3iqdKmLqA/Hmo8M+U8EZ7FkhhtLnvslVmvWhTTEmX1beRglN5xcoOXa6M= - =mTVi + hQIMA2pVdGTIrZI+AQ/+MtLe6v0jqk9MrQmfzRb0Gq2zBHbEodBHg0BAl327Z4qq + gR7b4KiLqq5NpLEK8BQfrjzX9kehJyFdTtacoH9cezLpkPVU+T2hfllx/tNjqQbw + vlw6vInqknfD61hvSWczSqAbEaTRhV78sQTd3xLnlX9unVsY6IaCEjSgA6YFY26Q + /Twa0zQCMWq2J01cpN9qCAj69+MADSEmzHXrkjOR8DULafYza8trM85HgGF/w/lY + 4WCmmfXV/CNvoGv4vhK2ScE4tL7y1Xy7CVPBYAVe3s7jjQ6wHwTrBD5WPI1dNtoN + w21tD1CLGIwIVBsVGjk96n7PZM/c6uE+w8QNnk/7ZPlOHkseKc0+YvH02bztymtw + GpIadRUoXVklZ/nWRFTZikt7BAvjbg0XqEEZTnT7uE1fTjEJa/lT7dT45zevC67Y + ZSeBetUgTuTHThm8GvAYdeWHgqEKCeX7uc1f1VspbNx0iRIGPbuN+n4B0cSjnaEx + 5ELSQimV3oKC0vooCCRyUjIFgczK1DiAqnDTCT3HD9huVxgOBqdMXzBYQKysr/Cc + ZvAKO9oC9kfcZ32ueqTSf4BUfsr7E1K7/o3kDG1mRxHEp7U6ggu/LNSskQMkCI03 + iDtGNNH6o0KfPZloEbENRG08UoIZX2sA+s1HdrkBRuhGX8Z81jl0++hydY5DigfS + UQG5Ne1LZQLshbxhWIx5HvqjwnvbN1mFo4y131LXAWlzgChWYSo0P5HIuyNr0jfj + qjHzIUKS+IEv7gEcJYt9RuCPw9iykoQ05C0eATcOmqt87w== + =eby7 -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + - created_at: "2026-03-05T19:18:09Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DKKbvh61jX5USAQdAxLGboZt4V4LfZtKQEM2ie9EjX5h+WYScvkKoIZNwzn4w + lDhRmMQjgSHBhlVUqAYDHp/x9GOt0XSh8pG2SPubpmLQScA1SbpaDfSNCFQw6zdE + 0lEBASkANDIyzjF8AHzQbnMj+qNI+HgpEPlYrIvoStY2ZUi0NOxHBstLr3cklwI3 + lKGwGgAEr6dD0ukSkYiF4HwIOiZgUgXJ80Thaeca0ZDPD0U= + =os61 + -----END PGP MESSAGE----- + fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted version: 3.11.0 diff --git a/inventories/chaosknoten/host_vars/netbox.sops.yaml b/inventories/chaosknoten/host_vars/netbox.sops.yaml index 809cf5dc8b..c0cd3c045b 100644 --- a/inventories/chaosknoten/host_vars/netbox.sops.yaml +++ b/inventories/chaosknoten/host_vars/netbox.sops.yaml @@ -7,204 +7,213 @@ sops: - recipient: age1ss82zwqkj438re78355p886r89csqrrfmkfp8lrrf8v23nza492qza4ey3 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1UHZiNVlXMGFjMXpUMGNq - TmkvTGNRelM5cUNKQWZxZUdIazRnSTdtakVFCndScGtDV1Z3bGRYVzR6SmxrcDk4 - TVlpbjJjT1ZQSnIybkFINEdtN1lNS2MKLS0tIE1TTkZLYWlHQ09MZlBkUDA4KzNr - T3pUeUZBQ2JzSUo4MFNNUFdEb3JTVjgKWbh2V4yd32qVEAkA4jDjFsdPEyKbj+Il - 03F2VRu0dOoivqixSQq1Fdgs4+iQg9BY5w1ahMxCy2pKfEvIJRb8Aw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBLUlNTU3VPRTJPVG9vZmRk + OHp0MXNGK2ZDeUZZMmo5VG8xaEEzYnlZMUh3Ck8yY3dpOUNxM1gyWno3WWw3Wmty + SlBMakx4K1RNUDIyRlJjV2xpeTFPbTQKLS0tIGpQT2lvaVNvcVZtYWVTQmtOU1lj + R2ZmdzY0MWxCUEtIcFFKdFVpVkE5RDAKXhQvJorV5DSWWNIzJ80ofKOtR0IhPKAg + TtF+/AQZq4yXzKE87yScQsTBl3Sy9o+qJk9ElOEgb+9G+xuWBo+MLA== -----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: "2026-02-18T08:32:59Z" + - created_at: "2026-03-05T19:18:28Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtARAAp0bAT/HSjnEdWWMSjWbhQXwyqUNFwTclOoPAMNGVbrLr - /fFGTywGOSYScRp6mJ1pUav+OFAtX4joI4Ir/zlJxv17PXSI8kCEaWSygPyo9bgU - QrMSnUWXoGMK+9cfoCBLfTc5C0KwiBANdTMn4j/wND53b+KKA0pz6XpEjcvVUMKl - 84E1F0FoBS56ixOtq8uo3ZaVY2FIgsDRvwXUDMb3BdhmG5TycVV+jJEMk4H8V3dr - UAbtdbXmjhmjRFvQR1j4UPlOiSEN4Spzu0ddeqj2Procx7mDJVOzuBiKih6BTKq/ - M2amy4exe0xHelA3w1s8w6G54EMDjdWAsE6ACZGDxJCBitiyvazCNVLnBLMhmNCb - 8xRu/G65GYPEC3LwnV9Oqic1owj/3i6BUkcIJFNBMy6INrhygufWh2e433KAEDUP - X+50GXsULUU81QGdsE3yuf3Fm41iKXrDOfzMG86T2+mDFctiT3iIs+fm1aN248Xi - BUK/tmKOe23xq8GY0ea4Rk5G9B5s21MprI9mlyvrIAWt/55GpwAAL2oqILh00KGd - WgaJW8m/70yOxP0wbamdhtZ2xUPcJ6H2YHoQKkVQ8MifV/pQmcr43/sWjiAC3Tn7 - DKkndbSwIjeie3Xzs7G74Ryi/deNEyMcl0kd39vhWQ9WJ2BleYvqYS9kcLz5IfTU - ZgEJAhCZf5OCZS1BAlG9VqcDWaY8ONdGxsKqR/XgpBu2ird6fUGH/d+X3CQKc8+A - OQayMgvNs+kwdDFHt3kCZ4SFfSqxRIatbZSKweomxvJm020y2pAA02h41otyUeSL - tWPPcPlNhg== - =coKM + hQIMAxK/JaB2/SdtAQ/+PAKSnSssOU0woKXgbafkteDezWkcgMX7FRm2lVe0/KMT + 9i2mwxXjbEkpc6hvq1oHp5Ax7N5MNOdPeoARkCh6jIscRlv1KzRiiGa/LRMh13J8 + 1vDyvFAtn9Ot3VXs5QyU3gDsXDc+xGdwchibUqb6DCoqDr9aOFWpV9YI2S9GJLUN + dVdiym6GkU1PepOjYrD/e8x8W3aUBJ7fO2kMFAYuG7XVCvJkY7FRrhPDdf02Xyvd + wrXz1UlzJMneVvfjJ41Q2TS3U0G6Nz0YJXd0cQAZQukPRveZ+BJfo3/BPXfdxt4K + WwMi5WhdcqpFnS+td5JIETUqAoS6BIHgs/xE+hzEEiFfkXvky5mBhA3EppSoE0vT + 4cZqI6wQbsWznsqgOTHCtpMD9ny7Ez+KVkDg966GSQZEhYYlct+ZRd7QbLrLm7e6 + /cKCt5RjBoMAA503ibuZXJL8YBJXvuA/qgxVlQWzkZaAWeSOdYvQvSoitC7dC5Uw + QNzGePp6/Dl+8mN21uuDVe7LfnzC3GTG6ZAmedPKVsZbRXocrnpq+BHdi0QgRwJh + JtN1dJ+A+TdHf+tM9Afg/3x5ORzyxayxN6RFlDdTJBR2kuVpeZkRqbLV1lSo57a/ + oW4laXGvUltPCdygJnoahrbmQwq1dkeORk8or6Pv13Egdg7Jp5xerCih8+nuOuXS + XgHQITaLUjlLamYlq+kOm3GzJsdZfQDRY5FW+An5pzUmGmyF4vtM3cTtdgAGVxDw + p3kYndW/qJHa8B3MX96rNn1rEFb91L/t6O4OLoLqEl+fvvpLln8YB32MuiWqiTw= + =kSkw -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-02-18T08:32:59Z" + - created_at: "2026-03-05T19:18:28Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf/ZoBHajPhEzvdUjgyzaSI5Egtn8PJiG9j/X1gvSGowCpG - aExsjZJ2bHcc+aUQ4iwU+JZpWU2B2Elj0R+XyZw7+c7jN3vh22LWm9ceXi53bXCO - gDBHc9r4/lTvs3jiLoGzhL59lqLqs3YawYZ4gFXBnwemaWgLjpqpzyiyZiIeixs4 - E0GDTAaKfen5qYK0oQSfIk12eW3QBs5aw3S7RxjdoYZ7vXgxYmqEL9c52G7Gpqdo - grXW3wtWGIR3gW/qaNHjTYaLE1D0ZsjDCIdYjla7T+N6lkHou9d4tI1hy1JPH45E - JpLSW6QFXwc++GZSNb1NAPW1k2kOpup1dqOraYOPYdJcAWhbvFUFhnTlDV8k+hix - AGivbKoFy6xCI+ofhttb8cRqtGPdxABNSLzYWB0I7dcRPmGcwYzoUhFHwz344RCN - vqgqUzoTkgwnijqvKMwbfZYAaFGyy/lfUPVqQlc= - =NYEL + hQEMA1QflAioE8i3AQf9GnCim9lHwHl4Xs5sepIBhtBnxNX7w/rAXt2p7B6EQAH8 + d74huPB1HoPTRr36MDzmtlzJfpB7ktphyDj7jQ1QDg/HZBD4y3cvfuXPbseMxfxg + lQcgf6QZBRiElykvbxufUlOoI6052RX+ZsCYcVZRrdEb7VtpTvBL0FzCjzY8tlJn + cEl4H/2TLFk4RJ/kGr2pJWlT6+dEFTJ6+2WRHL5jKwch1K5mo647EjgvGNzTWLFH + 4fOlWwVMF/NBveM8l17tzkJSNgryOH6O5l6MqCGeiRNpxljY0XbjmLTArT7Iwoph + xLtpa66y3de2xbs+dxFscQXUO2DUi0FfTtMFGtwPGNJeAXkRHjjAVicSX3IH9/AJ + aZbVPoqROxieJ32QGh9EcM02ywx0TQ8AhrJT9mczUPx+/TVN/lKTD/xLoUjgefG9 + cdmT2ec8exXJ3jucTZtAV2X47zjR/G56C1p5XelIlQ== + =G5Ji -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-02-18T08:32:59Z" + - created_at: "2026-03-05T19:18:28Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAA5fmF7y3G7caSZXegzMf0MXoz6mI7QPcXfjtnc9W9LxZp - fpTlajGgkhWeKWgK5L6uGSV0KiyqYm+MTmYlceg+Xb8VZbxqYvpVSp69UHmyLCCL - iDd3uPcp5IFCUITqdEcUefxWIcFR5eFJWpDhzfSwc5V6aGDmB6bCnICaSdcFPy/G - 3Ar8KyJNjz1swE0RBauv/TxVntqwd5uSbpgdiina9/D0M4HhUltRcQcbhRfR5AnD - h3y3HMkTrCPxGprH2T6HxRU0y243sSPdE6CM+NRPAlWidMpPfAp9TNBQI7h9VYT7 - oozoI9n1AoN8dBYxF8c/4Eol/IBCgcI5HEU0I8Hd6Arvs22Dv8oga+lmX9EDqqLT - F2zDprDAxG1sCz66LTmZT7OxE6cM4Wi2gs1YhXPr9sqyo3ss44jhRC0HqDjTj2D4 - XuiVwwn2affdch0T8coi0yzSAItOK8558SMstl6Mvta+jkI7zfqC2ja1oRObnUsp - 7cyCC4xEy7N8I5S+odPQiKNbzKVfHRBNQ3ZSVT2WCEX9I4XaTH1DYfDH1zO9RHR0 - XP9BON+wiO6dqXunbuikOU5n38W/Dck+i6lpy7lu3nboSidfdhnmAgdXGQ8wAH05 - OTAxgu1KHcrZZaGqSlt7vQys7bAJEvLABhcfInZopbVR8NnYzSvYq6Vf8/kEbPzS - XAEROgbj76uX1hZ52wAjoyNG4JxjAifF4AOsrYKqN40AZ+jfj7KDOYqdkTd/ABj/ - L07ag45mHdjh0hCDxqRKABo9+rvhLxKiyVTwswFyGX+Acry1m/2I9BzJ8ux0 - =u/h9 + hQIMAz5uSgHG2iMJARAAggjBKClqgOkYGQ44g7XQfi9inpZ6RSZO6iLnfq+gSi3p + VXpCjHgYDaMc3PK/vhCp9pCffkc2eO6jzhn4Ev5zugWLIdgNqB6SGQ+4ezlweN/M + d/xYxX4I4kLhJI6jqWHjPC4dn2L4+mO9VqTikblWb3qXQuV0l0mP5AC9lntIXmNV + 1aAFDwK/pZo7kXBlNVw8oO4J+KLslT3upVEDD1e0e9I7MANbJ5I3P0tXe1zSXzRm + WPejeq2RW5JMeipJepnREedvPUAlDNF9gGdFeOTj0wyHUiefh+cO2U3Kv4JCsdcr + E8xZBGuOlwoJ7qlesHQBqtg+/J+JsF4dUuI2ZMGcUq23TF4iY4+XsNa3+yXWgjGm + mD0gO4Ny8gbnJJ+gqfTnP2Sg7oSyepGdNVFt4e7/4j/9zyuzqOUlGcuFGRg0wI7R + zamF1wP7PQjX1jY88W9em5nGmKI/e0Np9VfbYRvCxfRoRPI4teUu1LrkGDn3XKDc + nNzJwjcxniQehjsEGB3hSd2Ks+He4eXcN5XN8EkDkEyoNE0I6BGyJ4Rx9TRlYROO + trjDursHKjVggZpEL40VWGV2CKWmP/g3D28VzmsfHaaMP70bdtAt1OcVigHJ0vu7 + 5cSSKrQHkEy1+foSsmY+hocW7xg+VXToK08SQCqm0oJ2OUTrgx8CuT9z1KIJLkfS + XgHrJWFSs1IkWHbMS5Bfu+Hs3neduA3zLr1Z0r2OTU2YgD+r9ZH1onN1QjCRqMnp + HGpMk6SU+kIj6Vk5tfta1wjnZvMVR+9ltW9EJW1OxMW3VCDDaiL+tQ/FK01B5bA= + =nuuv -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-02-18T08:32:59Z" + - created_at: "2026-03-05T19:18:28Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1ARAAkqyxHPBjmKf8f4/JEhRF5E06mOx9tb9W0SJF4xN28qhV - 07IqGfJH80PaShqBDBzz3EUohK3muQ7100VTqqZEGejPpzexrpgZ8eidqC1aKK8j - bS6HaZXhxJXdtGwv1f+7jkwjTUneva8sA7c8W+RTQWgfO5FzihWILy39SRQh+O36 - lwMjw4gyippsjgHpv+meL4ezwOhTZkEVw4C9vsARtCzAw/wFc3J2muH/aBj77HS8 - 6iIGD1ZK8cFIglggv8xlyhCDgjENbu0+oraPiwvSI+TRm1uTEGEVd/DycknXbycV - pZWKSyN9hOx1HbH41dufdLMEiG+yckEnklchorTS28V8q0sdFVsJFH70YslN0NIz - WTJu1DAuuulxYKd69brAK1FHYanhDt1wFOSBPu8nvYZlxDEW74NHuG/9zUBMdjfn - +s/SPMG6exv+LFm2+j/XdqIWLHAeK84yjw9httUOoWF2MQ/OAFu709kp2l/MxyBu - FiLOTEafQxdQ/uu0zE+hfZzTEZ/xUkiecqrorMR5Py57bFkVYBjnq5VHB38aG3ME - OYgvk6NE53f0bElw9+bMFrs7IUhYDvico5AyI/j5mV5PuJxlTbOFl1Y59RCyyBM6 - aGe+zYJDa39Occr+fl5y0ivybACuQo40YNLImsxXgdCSmiGg98xiDrfzQSMAXGzS - XAEJOXqqoT17wHTHV/JhxTiC3Cq0+czW5P8LYyI0ul7Lm1FSPYi/H0gjqjdIlqYi - qk6PhpDP9WaFwsF3+aneWybTnAIzdcPYwNi3PJ2ilToMTto7EhTvARST3HBG - =ROGT + hQIMAw5vwmoEJHQ1AQ/+Pc4g3v48m8CIRMgk4Y4N1fY0Ntw1OhOxyAsMr60ofUSB + TQts5EBnnCpANMV9bz0dDZ7LFHrtMCcsTCEMAyiGRDui99OZAPGiR/nYFixx1iLn + i+6Wd5sJFCrKflmAKLJPTWO7wHVOFLw2/oEW3VrbdIaHMQL9nBOWWr8crLCEFas0 + LchQDNim4A88QfFrJrXGu4DEdHii99v/BW6MTNm/MXA0BWAoNfw3rnWxDzXD+LAg + YE/R4IgpNvI+Z8sbFqY8jc/PkboozuBqr11PZERP5zcc9bvcO99d/TBdzng2efCj + lcpjvHdqCLQ0mNq4PB6Mp3UvKxg4i+bbts8bAuDVY7U/kCZaGN3kV16d38qZecpI + 9+ZrbV/VNe7eSfwxwtlWjwJHc/3aewV03Qn4g5JwODil09WedXRAxt4onzNakYhy + KCYfijNGGaBBPPnQm1dOGvonM5AXWZGK5uvEQnjwveV7BHEgdrlCP0hS/WEjY0xK + kvCs0q4dGsRpl0O1hhrFbONloRuHeXRB0CYwy5zASsTaovidRgZ+zOShtYRjKduH + /5M00zs1SmQC6uvZ8ovt7wN3OKNR9GCzzKD/LF9AoWhGj/1JTpo7Jl8ZQjiJMbw1 + w2bQ2GhZfZ4KewvSyiNxkpLeEjni40xptWWEwDnGRJodPBs9/2guWeXsZB34QOLS + XgGYNuSQGuXZ1/gZ30Ym8KNAzPwiLbfnuMg7bUYfk+/kHVmCyKJ+pa9k0J2aiLfx + 0wkEp7PoTERPnVx1KD9Xr4FJGxRNw/6zL8JVWdKDNT90uEH/qCGUjUigh44PbAo= + =yaHY -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-02-18T08:32:59Z" + - created_at: "2026-03-05T19:18:28Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAhzrvzCAjwO6L4wouNvTca0Uq6LOmNJqnpyWceFtt6gUw - vQvjBhHrMi8a1JEZL3blFso0muCx79PrN8Phu0IG/taGYwts23gSDjrDglr7jbck - 0lwBZkb5bL5mp2s/sbW1gpe0UUVCVeIcvSP4vzdbokTgIAQ7Os3v/dIpLZOgVD9s - IFGuEdP8wtVCFwyXFmhxDk+LuBr8/tJPODx33HVJXdZkC+tJl5VoBywZIPFwWw== - =L5yO + hF4DerEtaFuTeewSAQdAkGfmH8uThMY0y1U11Bs5leHQKOIaSgtgQj8DwM7CFzcw + c3umthtSZ8QnQrFcm+82a3kHuQnAVkh2sS5NFIU+YeizIFyaGUKVUXIqdWK9fUmH + 0l4BreqbDV+bgteEIH1lt3fX5EoA7c5Dl/FumYR/V3sS5eQIzDgc1vlOIj7bqHv0 + 42Sbz5+BwmdINdH6trKt/kteukAIJ9FkDBUxi050e9nWyj8xNgEcZY0HzWIveoBZ + =aUM5 -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-02-18T08:32:59Z" + - created_at: "2026-03-05T19:18:28Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//Zz5aOqAXMOCiF9sAvjxo5a6h4lgFly2cyYJw2L17st/C - oW4cf2rYgkhQKIDC38nJ543/g7mkOt2T1F17fyOJMq4uuGhzVfg8cKYDlN8JE937 - 4muJ7jdoaAxqGeEHHIZ4eE/S91jyY0PzABL9BSd0PaJg20XZO+2iKeZgLf37RC6a - tPmGsyc9M0h40iXmIXJr+rfEVTlEE/NIwh49x84splMfG1QG1TGLk1ZedeM/HE0N - F0F29ZAVlw7aRxHNofMNqt6cPzFuSH95FWRW3dToHHXro/5KoQ/OTkKBUFevj7Z0 - +LdqqY714HPpbPR0BPU0KW8OdgPsnYBcYMZO0yp5A2yD4POEUDDCZuGcJj+q6HlA - whExKmsVuvjWbU+Bb5Xk2mnQbrfUZ9whewwAjGv0X0btk4HCwugbhyUu+2Wk6unQ - A+NJCVxcJoAELAzSutDOu2hFCZKFopxy2GUj+gcMxJEib2nSo54MrJXauTYEKLib - 37FU6NMAIhmEaJSlR9uJG/F8nbzG8BK5deadVv5nUMJULICYt6lwNho1GyKcwqn8 - HUSxdQSTo4dvuc4cDh405+HOWvv3xU+Ap4gQtCIBentyp6fKBx+zTmnBci/KB8V0 - 5b/BCXRz1Yjp7QxUcW6s3aOwimz4V3IWwEjxnVBL+1VukA07d3qcH1UJY1hNaePS - XAEoCel1oyTqk4OGQmUxhRU+nVFiQksishELZmeNhlrw6WfR8aOmDUcayTdaRYa0 - 40h+LMef3KMy13GHMUKmRYfk8GDInwcK1TSJpHuOhLTAyoS84Pt1FA7X34J/ - =8Pjj + hQIMAxjNhCKPP69fAQ//ZjhIy6/JTsrupji3iXY1LIdQAGmRX7tAVMHfLKL2EPQp + dz1yZMAxcDuKigGMQwXa35bTcNIO/e+YHe4pZh8eh/j6ddbDGF+AgGvepclDsIdf + WgfLsL26CuSZXt1H+XKRYX734Joy3rDBhFbIJOPaxekrxTfDfyfiCo28p0k+xbOw + K7dJb8BSRRSs3ZayFMKbaVI2g1pmOl006hj5YIS5LCnwumbiPRbVH/M/MyyX2+PZ + 5xIxaSr++n6kzB4gJOiO5q5xbBqoSjYtCZYtM2du3F16iLTN9JuSDo6FjIKtJcNL + yD1kQyzGV4acC64Y9+r3qDSbq9DuLnfPkYu/HAUuItxHo7z2XDmnh921svPQuAT5 + tz7B8OnkUSjSpXgq+DJtQCmidKaExpsUK1+1iMhGQL/tNmFCx8ACyqFx0q9BmMLL + 2o5hy1RuKAbDTMA0iD6tKnyBnonC0rGhcd7lfqAUgMo5tVFcpFPVCQAF7thi23El + 6OCqxisf7P1Bar+QSLH+W6zCzz5mKv+6y6Bm0MX/4EAvxjArHxGKiUURpUr+LkKE + oPgTzxgWGohpn0PvqWANfvh1slf0nsYqtKsSflycFilvCxjNVPoGAUYdCxVGWfGH + ovucSqfQkGzIFwSxclm9t2JN706SSYhQSHnvzzD5Hkkkt5rfZ7GwO7GUhamUE5zS + XgEMvaBHAf0z4gJzZgL0Ez9C5M2ORf8jXI5z6QZCt8wKfvz4VEjUXzBil8+xhlFN + n7upKvaq0fdLh5M0Ln7/2VTgepJxxC8GqlYqDf88WaiwcL/WQl6FVQdL7xDspug= + =m7xO -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-02-18T08:32:59Z" + - created_at: "2026-03-05T19:18:28Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoARAAupF2GL+aLjUVkUvICG7GWyLoLpfP8lt3t6vsWeUlcQF3 - vNU57OgWCFi3McMKtitlMxFlNIA5dMs/Yz+Dd4ohw06MHfhQrqw+2Y5n6n1K8e2K - /dyxFFX2KE39AwJXI1EbC+6+tphLwZtQ1QiphbVoSch8yJyaCH3H53p0u4QtNfUt - LKvLuAWK3Yy5/n3TNIKg6L4lBm1CAiALuCyHscx/P9Yj48MRm7TnogsDmUnHusYk - emA6dW5Yl/lpnvuMaR4I4sNyDCfT1I0crdPeDtct6TJMmqEWi3EStbd7r4Xffngg - 079B+nRN9W9LP95ObBjZOQM+KqH0Jf4lafASPlPuI5CSntiI/zZPc1Umz4eIvM6P - Ng97ZoGzr5jCH/nKS95yoi+00u0X/9hxbXqnGqd4er2w4he4kVZAgaZlyOc+qn9E - CYxXGfNWbrI/UbId4TqUMboy5G6irZc/KtlZcifIqhhfMpkvAAh0lZ2OZv7fHaHW - QBDusX8XptGi0FIr9X9asrB5i5lWKsdnY5yR18F5w5zrbZaT4fE2YxSwDlhLcx0l - PfVb2m+w3xVpGp2XcBL4t6caKimjPhFAXY720XnZp5Rrln02lgUxFnLfKhCP1t6F - 89xNDjS45E9tLrhJc5sLv0RKE+o9jEmF8+boQagvgI+9Hj4z78BbKHOWSVtQ4/HS - XAEow9Ftu7S1CQR4yaF/9e0tdDGkbB+Yy0yivh35a8BNxRU+KrMfVmQhC9nHXWNK - hqvh7ykpl34ccx/Y+FqXd8HB0Y08Ts78acjfcmnPYwpQJIGFy2s2Z0RHwCBL - =vd8y + hQIMA1Hthzn+T1OoAQ//fjWD58xt+2RqTZbSmGzs1bsYkMajIC9dkrlVyiCqaNue + tl0h2j2LVb5WoCDlC8e8WZjH2Msc/cMTwVTjHZum7/uLOWlIMTTTQHPhxb1DdgiP + HyodQ0LoYFGNIFoSGxqgwnagDyKCEgwGJfwM0xiXS8CRrKZiAFRPV4+wz5E6QECb + f0Ts3sLNjhrXciD4oL0je/za6c4fqgRzlasGEN16mn8yFCqCXpmYzKFmLqXvxWYw + 9jMz8toFiKjkSfrLKUpXQtuAQWGTXgNE3N+eSuyXVPKPe/BwIc0NJV7T3fh20h7n + I+PBetLl+/15E9lpeJil3mV56TCdCehn601/xzOCO+XqhUv0btc44jV5XU03UcyG + O8pMOQP6dJps8IcFyHwAb2AAecSnVa3Bw4tnnYbak9DAm+CmEv6RwiwRJ7nsvHhn + N3wKLoxNJJSD21RweQomlE8W95xCwTt8bZTrjzJhIX8R15PCWlYewLVxndCZM7Bt + VOamJmsNt6OWKQX3kYqbfp6Tbu5gbo8K/rTA90kp5l1d0AiIjWvwCCx1LHO1jxuh + KmOrwfb9661ykENvD7uaM5vLm2DoYtct+VsA5hewLqTbKcjOkPwO5i9EE0r03oS4 + 7IfqHFLRa5vEgtCnJ1BvxXfh0rveC97YqJaniuIlv2X0GSkDfOhoONXRltVkS+nS + XgGFvGIbnYoD84RWZ2KOgxgCYG+l0WAtHZtmthLKRxMLGx0QeurKqP5bS4R0uh7X + V/Vp5pgsxsfYaATFeSAkLOukGFb8lS44M7sbYEwgJs3PWVQUUgorbP+5qXPRe60= + =fU46 -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-02-18T08:32:59Z" + - created_at: "2026-03-05T19:18:28Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ//ROharANhsLgYqGnBCQ007MnmfZyZUqsGAqTdCwc+DqiP - Vk9ccFYYuZuzVZWgK+sQzvUovj5CQZa7SCAgfQr3fZuTIqUKJ18S8XZKpJlwo+S4 - 8X9Zm/R5f6ECz8GrqRkR4O92Mel7C0t90uu5nYunNjZSTU1/KiaVs5UXlqtomFms - OohlbOOfvvnivZf7NLq1H2n/flLVYeraaDFt4FaAkAL6WLClFbdDBoVEnbOvDWWL - J06nA6JLSYH3Yme/1YH7tqdixPpb1u5M++SzWC3kPlGcCuXC8fkqcem1z+lCqZHW - kkVhc3XiWt+7zvdkLYb9IeodObjomHzZV3tx7n6yOnD+aJ3SG9E+zpmgBR6q7w/6 - VhrnrQwIrr6TDhvGYq7ivingC4jChX8hl1eu/V3c/IR0eWgFGmWFAKcsNqmLVUBy - gUJKUotGJt/4jqFooOOJtYtu4nTDLW6GV2bEZPMM3ivwA/mPKJPl12e4yA1YuNmx - pqwGARK5oJnThvpsaSiyhzuN2K7sqyWvWurLcxyd0bgKkejcoWXFSsXRNg4NRMxx - Y4A/wg6lEd9mZ/qVD7nHNvt1STdIrTj/ttrh0Vi7ASJ8GjZw8y6BT0ix7CSDe45a - ivIewvpGAWKeJAYMZXtypHyXOJtVCa9TANSJ9I9BiB6WAYxbfHCUsF6oD2jYDVjS - XAHtw96cJA4fZ/p8kgcFGQxNIVvTUFvobJnHrkyxpLrMb4h8rrxwyetkhdHbjPhp - wlWAQpHVU6L1EvfX7WY+meaekN55Ny+VltL5JqwOzW6AhWUCPGhoopk62rnZ - =0GHx + hQILA46L6MuPqfJqAQ/4z2acXXIUeETerJ9KRGbbeYw4xf7BTe+rqe0Avd9KmKJK + Vh6ilSdlffd6Ni/SKoEmvYIp6ZAppWqgbog1ca41jTs5qgtUN/96ma+kwYyjiHnj + EuGbTYLhrv3AKAUpwMie97Q4YupButGyM2WYzN3BKkdHTsrWHLDblsf3EgheWrek + d4QYsUeBXs6nF5AKxTmTEvGbhQp0ZfqeyzbQOaRLqUCzCMlcqp4aVUK70HPm7Vjo + o/M/ZIXP5oYu64Mxi4R/sf+57rh3pyPlELRJE3fEO4qgAaALB+6uaorqlG8f5l9e + fSDqnqhqHIiJfPOBC6HVRtvlqLW7Mrmy1orfhsrUxsAdsXM7CBCJ62vome5WzRJM + O3p1orP2CXjoyi+4AuZ+tMu00REyFYLuD4vO1F8uazZ5aytZibpvwJ6N8WfJLq79 + bRPwxw4c9b1c95eHKlrlI6BB93UmGo7t7rxCSIwmt3Qv2mv0utL7gI/9S/Usq8bt + uv0C0rcjw3mEefAnowHOJx5UrFmrVpm333jBQwCRq41KLRGxTWjfYg5+ji3SGiAN + C92v1yAnNxLE3+z/o5WGPpXKOdmr87TPqMShymMkZ2htk1iH/A8qC7lAko3r3a9W + EAcm9XAAzWlBp1iGD/RmYCtu20zrHCReRd7idce7qxaWI44NrvVYgocyo65/LNJe + AYpPdmnNB52qU0ZRL6fgyC5WKEO59r3qeb0Z5EX2FhegZu6F8G78/ZsxXQHZ0EJQ + rdLfEUajthH/NK1TzHGjYx5VBv9QV0KZKXFoZKlkfGicuDGsSyC0js8EFagFWw== + =Tstp -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-02-18T08:32:59Z" + - created_at: "2026-03-05T19:18:28Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAeRGofK5r3YJb5iJX8OP8DmEveEdeJepbpn3ApOBnIXMw - VnzA9sZ5pQQ3cd0go8VhhLtKmB6nj45gDZt8SMTxKOg2Ss7deeHHAVwRHH1YDSFe - 0lwBktvSa8Bb1VHSHsunVzbTDHUsqlcO4S/6zZYbv2d7lStugMpVBlg374rW/TkF - VgoRoz7FvCuRaGZpDeSTf1b+5WNzCaGXJtm9XHkfm08iB1uyru6BKfRuHHIVxQ== - =LCGF + hF4DQrf1tCqiJxoSAQdA8t5XPBc/00zkeREBvVAV0PijlaK3LGcopzNCyuaGAR8w + 6Xh7hR4nR+BDgRT6WL9k1k0JImPjHYZjchg7x9YFQUY4R6Gnq1qJcjVeTyuqyxQu + 0l4BNt3gU+AxYZG2Hrd0/fBQFuP4ntqZpyZcq9l8Xz8veiZ0figslDVupCz4NOyS + PtzbRUiW+5mJc7zc7Q/qkZhPfWPXQuAj/cTfTuZNUI2OhJj5/0+/NVT+1MgucI3y + =EBs8 -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-02-18T08:32:59Z" + - created_at: "2026-03-05T19:18:28Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAzTobRQMDOt6IvSF1wPOSqijYc37LKhgE1XmGtOdSOAIw - /oU5UFngmT9WM+SnXaoIBCdtyF3uZXHrDYM7QgoMF/LiuNSq/HQFG1cAV6i7Pf2L - 0lYBRxHU34zfvqN394qyYQHKQgpIL+zjAPX7fU6yLyCoioxbmcfi6RrjDC2aG39G - YWwPKStySsnyMekm7IRcbm9m4yqfru4+lvv6Q6qWrjM1stRThSkBkw== - =BGKr + hF4DzAGzViGx4qcSAQdAbLeKcKN2BHoDyisdl98d/CkvFO3sYWgPtPalDhSKhwQw + aSG1LRn066sDcL5W276vz9Pr2L3ivN8HH67sSswPckwM76WGbIL7d1vDLHTykq0j + 0lgBl2pXfngwIDBBKU1CSsbu4b94WPSYpOgqcl5pvqJwJHqZ81bxd7uqfjiJJTPq + NA6y7dx1cGdEIWGtNFeOARUeuqSWtxFUXTAiAJ8ugzfSJqRPRlKeBvyn + =XP+N -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-02-18T08:32:59Z" + - created_at: "2026-03-05T19:18:28Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//b4lqYTHZQNv/IYNhEwSbqq7kZT5otuUKNhf2PNgeizI6 - IjpPL7wvfTqobbqhdLriLpeOpXf60kXuaY8v7udKhdnwiFxABmITI8RRWp/xlFo5 - 5oErfrxVH/SuOlqkakS4GapOiUO9EWb5ygBEO/Awq+zm+pAQ3lL2MjR4JA8DXOAz - gogyJDLSPjt9ueVqlphrtpCcoQcnydxGaXtcZplF8jFAo/by3WnLAQneg+7scbcr - TVSixArznPNIC7ptVzXijcupRVduyzhbc6xzBBaTx19yRi9bMforphuLs/01rAVr - EW7yflbpU4h10pkYmzTDESR20+6jmf/3yaTKi7HX7+pEM00lBhusPZGCTV36OYMJ - rZw7ILe1B6bjglIVH22aaPhEYPadcW0Gmu/ls2aO3RcJ5TMnvTtl4qNQfUBex5wq - udXekNMRI0kHqAWfkOY7LyzG/DKkGudYirutHGKUcAsoU7xSkPBoZFyerb3UQq0X - pod5jwoyigMUIYNlOdwsefNGlW/3mOo+dvKIMS08qd7zU2T/AVuCaznxxO4EuKvQ - g0qYmbu76j/hgwhNwVt7c0IhvS20teqU3ZptRSPf5l/1AHzRA3YThdQijq0/C1uU - sMPKPJUmQNZoF8X+gODp8iVwcn9kpMn6j63Mw+Xt+qV5ZCiZ77pqfRB2y6KRzCnU - ZgEJAhC/4Vz6lMg2PhOPN+YD//tZRDrW0FFvUZDeNWgUd2MR9M5p7edo3DUs+9vI - IFnAqHwtfONP2TgVEOvCF+IMqLDi+CtqxyzeLTs7SZiju595HWgSKnYhlbxWH1+q - B2bVLO4/1A== - =UYZg + hQIMA2pVdGTIrZI+ARAAz/pmR6zYKES6EWku4O297Xk94GNeGLWpS5UHlfWE3Sxx + cY29n3IbjDpeGOPYyP0NHQ3y7fIkTZ4nwZtFbm1DLQnSPHJp2E2lBjUmkdH+qwv7 + UGnWcaEoMD2DUSK6AYUEPso58C/GBAEvr4feVFaLWm4cnucoZNke4XIZbyuMAi72 + 0qj4NQeKiUeYO8Z+9lcnyj6gOjmCjiAhiGQ5lEcu6jRu5g+vzBkcHBVYG6h+QdNd + BO/OrIwaWATSSEWqaG09MefAOXw+itzOVQ2ifv7HvLqk9rTJFoqwd+WL9ibAWDSn + J90afOpa904qRtwSF0lu4ABn8iklbQhHJBtm8AD073RokMk0+kJnftVJktnMdg84 + 5VXD/Itg5VVbIvXvlyqQsqJz/yktv/2ML54ONw3ogbnjly1wWmDFuOyupBsSWH82 + ifYP0w2k7hFBQLRsdQM98OzdOUxymioOHU6Io+6oq6Dcyat8eyp4TpgZx7/Ngs5I + eb6TxNKzVxvZxDt9rvqPGjhwA2LnFBg4kU2fLn/tL1Is+/4VvnFy1ac8jQb02/CY + ZAJDSGWTCIS6fsVhAb09fiLTO2EhQYk7RMscLeF8DJ6ftZ/jJhMnrPZRRJLSLpvL + n0mNduXbJn2cGhuYv0aJdaLFKOPocxRZO/18U1oCM9BGHpdJ8pap+YC5vN2HyYrS + XgGh6jutpqNUqcycXu6qgo55SEiNTBwHN059QJ+uNtU8EYSacRGlHK86s/A45BGb + a6VQIo/FM3qbK0u+UF6ZHM85Y5KXx1YDL8GL/D6BBdzG2kootsvvv6Zscv4Hdg8= + =KI1f -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + - created_at: "2026-03-05T19:18:28Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DKKbvh61jX5USAQdAf7RD+jw4eBe+mj4wCVFPjz2lFVlQM4OlWhwGM2If3F0w + lMoUOTeRpjmupMXWVJNs8cdJ3PWsDRzw3aLW5ZrMVGns09O3Jwf0+XAgt2mCyh2L + 0l4Bg42emEufRJcA50qEtOWAybg8EgP1Zbdh6uC0C+UT/fZyaYhasT0GBd5IBbOW + lLbWHKws5zxS7yK5fLNjemssKIM+41lsiP4TlETeptaWe+Zseps6J/FYLH11mfwJ + =1jgt + -----END PGP MESSAGE----- + fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted version: 3.10.2 diff --git a/inventories/chaosknoten/host_vars/ntfy.sops.yaml b/inventories/chaosknoten/host_vars/ntfy.sops.yaml index 24fe82a6a2..6db4f7a15a 100644 --- a/inventories/chaosknoten/host_vars/ntfy.sops.yaml +++ b/inventories/chaosknoten/host_vars/ntfy.sops.yaml @@ -10,204 +10,213 @@ sops: - recipient: age1dkecypmfuj0tcm2cz8vnvq5drpu2ddhgnfkzxvscs7m4e79gpseqyhr9pg enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxRm9INklVUGpIQ1NFQUJG - aDJBSkU2VHcvZXBMOWNmM01NcjM3TVJ3VFM4ClgxZmZsNlExOTVsbWtrOUk2eWhT - eUcxaVdwU1krYmYvYVp3UUx3RVZNcmsKLS0tIHZjRm9paGxrM3AyNTJPZ3FpVkVM - STY5akIrYnY5N3EvazZ4OExNZHFOcUkKZNByVyYkSqc1cEUIFFIeDHM060zNK8yl - LAhHyzx2UAm/j3Ysp+XuCJd2cvBxtDRvRloST2tbtIG2QF/WTSwBnw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBUSjhVTlNsZFdrNjM0NFQ2 + Um0zWXYwVmZwV2ZHUklmOXRXZmJMY2ZPMVRVCkE3eFZsb3g1dk1hMEJ4ZkY1cmNm + ZzJYSkY3dW1iU3Z1RkpMREl4ZUt1RTgKLS0tIFFrbm12bmozT1dKRnpBZkY5N2Fq + T3JSRVZsMVo1a253bEFyLzg2UlVkbm8KlqAxTUin+j4scHRuImN/h8Kt7znh1O8r + zovHVQaSMESAalmgByDm+9f+J65BGxW+vX2Otg8REFmByWkFsaqGbw== -----END AGE ENCRYPTED FILE----- 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: "2026-02-18T08:34:02Z" + - created_at: "2026-03-05T19:18:02Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/7BcFkj/hvHFlUYHCHeNE/eamvKufZChaSNA7yqHNK5l3u - syvwxoi7LTIwzW5aU5+3WTGr9Pnr9NPidKCGOHdtn1Gfm+BTs7JTjf+nsOwkpKN5 - NJusCmFjfyFSxrx3TjGLNQCbZG4NNIbJlrLUYhku0ik/IRN/zHdbcu4Yk6cTz3SQ - J31pdcTfcSZVk7l7Y83MGB9TiiNY7JjS9NweklrQI01pMwWS3K1jz7OpdCjk/5eS - xzxUG3sfyUzSDHreSLgr5sfvD7W4XqXMTsa/H514O4N3VANL1sMQM6KkQU6J+MkG - 3a2DPRW4KFZ+GvM2nnI85hzFIZOsUZAR1vtnMmvwdfnyDe1mr9uzh7gvqhR8CCwS - 1IMhnfZv+i1ESHmmkxZaswAysLtDiPNPInnzMnphFyCJe5Br04CCJ9uMk6jOzZDX - CUfQlbpb+AsUs26hsIOCXzSw6kagFOylmkbKQ2ZNX5l7dXSO1rcTygMkth9W3Rl+ - ndLGyC98lXBC/cxfQcflrNeer2QDZL4GBcn7OWLMp+P5Em5OXrDcseGDpFX1E7MI - 8JXQuMTq5j2OoQf/l9wuUsehKTySFS3IcVm80puy6HiH1WLMqDwxH0vWf0r+EmtK - fnlYJ8WkIuSSvmbljEbLKpf+q3r7cik/toIWB579KaZfMCOEA7nRWYNIdujNIHTU - aAEJAhCnKm9scHz1x12UwLHt0JtBEWHodOcD0VVV4FMjEQXMl/xM1eAGKQq6mfeO - lvm6I9zmQowsmjf9lNDZZKF/pv9oNGALb0/JQ7Pr6mM6cA+EUYm/HxgYQkTzHXxX - o4fQbXRHqA3i - =6A1D + hQIMAxK/JaB2/SdtAQ/9E7E67hksPM6KqpSPqLxhwG+LsNqqsYNVC7HRULMqeRz9 + wlOgISxUbFIUAY4xhqvoHLTjDMCoj9FJXzSaQwR1QIm8B6q+nqcxURm+l8eiiVCZ + lZhHbicDVCt00XQIMAm4KhzRqyq8ZglyNljq7clB0OKtb3E4e3P0Isz9cYW+qwZu + vIvwX52BcZ9cHoam+FA/CoZpaJ40t2aSFExJdWIkyUodc92Q9eoquhOBN23xtp7G + G47a1VQbY58w3h4dMfCKDTnZIef+bB6H9yIaMkIxcPznF1EoZSWuTeHQ+cgIeH0P + hHf6n0+FrgtVbrUwUd2ypvIkv6DZFZH+ZCY0nPcwaxMnfx8klNk7RV4Ojro5T2Ps + WhbBRLAvzAr1m9mm1Fksmybax4UcoY2NYpBxAJh62l/cYDV33kq09INQEICG6+tQ + IUJN3OCYV7oE7gc9yzWAhMkU3gulgil8kR01PzTwo2WrPYAt2TDPKPpMxPUSJsq/ + AgWsrgxuWsL5NGcdMBv63vvXSOvByy331sEiOdAPFiTpL0/cKA2lF6FFAjXOMp+E + ksCKj6wij0/bft60tEIpHnC7yKI82s+4Y/cQkur4coA3l+4qNR4o7Q3eb6S5oZtJ + 07TeQZ2Gjq/f87ho6w2I8nGbpYZrdDVDQpFs6euUw6+wOJMjfB/9ISXWVEMx0Y/S + XgH/dsgHT7F9MyU7rgGDdCDRVAaa6RLy9uG36Kc4yc2yZeJjlwOVP6cvTptE1txr + xy0ilZmlF7vdmsAAvHxdZGmAqgZREEYKTiVYTThlBoBFEVZyokvFrbJaLijGTtA= + =cA5I -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-02-18T08:34:02Z" + - created_at: "2026-03-05T19:18:02Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQgAo12q9+hvtO6Z37f2If2XxcO/1YlQBaDBt4j+6yapBhpq - i/asFBi2HONlI9zwbm4J7Z3qfdDyoolmcsAGgcqFAegW9l21/Ncr5ciJNjoSx9qP - +dYWRsSih9YyD+2ViCO+SAIehuVLQn+WhDQCJS9OSE+xLwpBQiv1qQ07UGtpXYh4 - GuxurZV+mlLMZlb7UfdBUluviP3XLF9aer1How8ej/W9J45mcw4aRfh+conG1ngX - Zib/W4Ae+IbrLsxDnQqaAQmdE13maCAk5lH0DrR5/T47kFzX0ev2smC3eatiuNvH - opd8OOmixPItkYbNLPm+SvlF97t8O1ddOXEWdBUKJdJeAbDEg3pWdWTS0jtyN5x9 - bsGsK4EWlPKMbkKMhcmMrHxldv52OszAifNeJeD+X6YyDqCa5riiB+M+7j/rORmi - am58kQuLchuD+CLZEHuG00ZJEBRtTYigRHUU/efc7Q== - =4EZ/ + hQEMA1QflAioE8i3AQf/XUYwQH3IHuPebzT0g/RyUyWlUOzf2fumTS+runWew4Sd + Hyh5FoNmGirQw5W8UsUb6FfVDVAr7jnsSU6t1K8G36/ChtWR7wNXMj3fjjSLwvcy + yoKd9cGUualKDZR5n1+EhZ1IHtQ1n4evi+WsEra/OJEIGEhgVSSHIGUJfxZQzs5H + QEXeZj76146FwKP39GajTkguHIkkJeL4ekzdPD/hvSnQrpNlWZEoDLLvsIYFqSmS + x3g+z76ORkCFbnSSHRI7dZw0Z7huOQPaicIiqM6GKrvzyKV3A82BSE/m5dHsdKHg + PcYOVJvj3k4zDEK0wuL1/cuqxFtgUrEzOnertiq9r9JeAX8hycJvTKik5URLYp/D + kOsQzqY5NlGTC4arNCOo1pLxoYTRcVGBPrRfDPTV+vxDicfMRoLnqyv+TRTZnwMh + 2zWv8YDJwL3n+Xwuz2btwAFlkly0r9F8y3dAEfuG2A== + =/Uw1 -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-02-18T08:34:02Z" + - created_at: "2026-03-05T19:18:02Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAAhbLiWAgQCWWCf6LwtQzZI4NKh9kzoIvXD21qE2YnrbNE - fYNWbcyVIn/U4fCDrVxGZ7ALr6r/8QlE/Rtb0M5Il0XMMILiQmolIUeTtHByl7gO - s5pdb01HweeM2M+rbos8yrAwhKfuvhZwRwkQdSVl5X+rLFJt0UVKjg8TjYZWbAJ0 - eSNFpvJsAK1mKexfetAY6KnOG8M/Fd1FvFBNC6MvFdnIYRnz7Ce2xnEDztTkeCkm - gdB0hSsbcFM2TdH91z+x4dLXDJFzrfMWdlYOUBjLpcwgtxiQ7LBqXQ8B/r9Gn6TZ - uHsDVy5zS3KxlazMGiTnv6zoW9u4yonJTtQiHsKOZt1/SbPva7Go9LxY8LO9DD+v - K4+Gp14Ij2J6/zedx+AP7gb9wmH0yTDzP/I/mo5jR21iv6/K7hEYrSu+Uuqe4q34 - iIvJvb0JyTljX5idh4w5qNKgn0QENPhQUXnQ1ABLqm7+U6LtV3deT8yun0bmuuLb - P5eOx6cowmm58b3pzyhGUU+hCvG4ZchD2AqBkVBkYr0Jso3oe5E8K372iy0vD6KD - fpWYQaapbPtMzsf7jSY9KvbDvs+FxOkg1N+1Xi5Hl8ImVxcUuIypR1qlAYYCqKRU - SLzr51it9l2Ra5E2Iu+e6/hzaieuAIg9pol8OKKeeCG11KRfvUtcP7LunnzScOTS - XgGlG92SlsZdm9aF4fKbeoQtYxomwdOJaGOdUNBbX5s44D4JfVO2OB/en9pjCnIT - qaZkGtYxEo/6z6Hlr5zxm+xBGK3eAsfEHmA1bXs3PSzR6PQz++c7/HPMo+6YCTQ= - =mdFf + hQIMAz5uSgHG2iMJARAA4w+a3rfVO4pbk3LYkC0NF82vzrSzmI4pl3cavEr6kKTp + h9vVqBUUHN6UyYrFxmkXqCGEE/zcqnKrl5NJGVcUDkT5l7P3PUybPEmPUxLDTeoS + KctYhoItWM+6SEJmKMBEoe9a2NFPrUxsseV02U0wdHIN5KblH1gY8lr3MPp7K+0r + 3MSePZXxjAvZikVJSxxS/TALmlNMP2cKtaz4VoAWMzhXr8Y8WVzm1eUTN1e5Qxro + v/P1JTtUPGyppglR3lpwRchaOju6GATwAi6+xkYI5EAHnZmsfioyeRIqlMrOn0y0 + hB2mfcOksv1WoqVCbQ2lWb8Ks3PXw4OHSVKZJFfDo9jICNWM+z1U4zFYwz/KH0Y1 + IVuGNivmDu77vH+NEvj2nAxlC4vecOgTqAjcapg310GwFAI3iW/PSOkKy+esWAwl + xtXZDFBIOdP3d6Zq0GswdLGsaS34nXHh3HPILlJk9jNTxXdJpd540quCH4uxECfp + WYtLjC8xstkXZVzHzwgVsdjXbIaZrvoZWDB7rtp9xKNAl+s+EBT2TO7SQobTKVFe + zgOLa/JE7vAmN9Qn/39Qy/rHWR50rW+mu+QTimp7CPgJSmqLtu7id4kUfa+ZSv7z + lZjOIglbVfs11ni5pK4rUDI88WJ4YOEIb5nKf1uo8CpozbCoCkW6T4OwBSOPpM7S + XgF7+9xFppIZCMgGeikXgkvbhvfoxRB02pSxmM79iVhx7uqG/pdDlZjWVkjngGRo + hZyNHQPBCAvNM2cQlQik4+eDbbSqKlmKT7uhjg8vOz8Y2tqSgBpti2ljPruiFSY= + =ttcO -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-02-18T08:34:02Z" + - created_at: "2026-03-05T19:18:02Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ/+Pi/qQPlkMRGAnd19A99wUqcQGOsWU4YnPH53tuMo0/MM - Hbw8WoU8daIlH5mx22IKW3bTH27LoAALz4k4MGHn/ZTws1NMX3xRGz3neHT2G+48 - tTuRujxSWIxjDIxEVHe/rvpLMFMnPlOzYSSeOytQQnJO37v1aeZhDX2UwRFvnFp1 - iqDxoQNJmF34Er8lyEkG01/+NIJo2dvdkCcyI4ioCtIBUKaKjnWdgIU+YLVWlC5j - ILsw7E4abN26pWoZxAajAEfPtq3cJ0uQ8gxWzDS3QgYABIwh9C06gQL0TaMeJ5iK - 7G4voR5TJK3FPwNIFk7XzcsX9of8VfWH6MXwZ8w8/pvAsK+sfiTdlYVQii7+Z+Bp - nAPWQwKMX749ZAbKAJurVstC3EJroxLJhW2M1wHnf7wrD9jjgdNXO0GR+NCLES43 - Q6P75bLX4WzpphSZYWCaV1Brl1BHLLOPZEZdzPpT1ztck+oEldvhREV3IaEr1uxE - TVwnzmQuQ0a4aUdo2SvLkh5QGaP3cR7swgKUxhrSU5aBvb8+lDVyNOYLoFg/yUcz - ZYCvPJy1owuxb54L4tKkkazFMZuGeplBHdrwLU2mhrGe8oyuoSu0EMe1G2NhqN/A - Q3RDk4UQHq2inAKoW5BYgASGiuwJPdq2prHr+VNwkNkfzWm+CsKrERn0aDUItSbS - XgEXxdxM6fCcHzQtrxVL01F8HLzN9H3PCwQkd04awR3ytg3B2YMsb9+LTz6kFbtl - SH0oplhLBsyKl/+kLezPAp2SU+FDLsjrqSWqI+LqflIzQw+Q0rnVpBqFuKVINoU= - =l9Ds + hQIMAw5vwmoEJHQ1AQ/7B/iGiiD+uZo0qmu9t7yNiIdTeLrgmixASdHpqZAx63cl + zRRlqpGRmLa1pj0zLK2RstpO7zYeiiXUZtftCcawrY2Ow2INXTBIbjKobedQzHND + OY18BeIi9bAJofdIT8okLDXaN42f0Jpb6QIhqkraGZcS56yzkTCtqfcV3u5OspcR + Ou6UlqqeIKUjtjVbL+8cPatyNiJqTm8fDJxr+HnCmWoyeOf4g6uIC+eAVKx8zlEx + 8Zd8I3lCaDNb8tOx6nE91/D2IiTE+N0fMY1YknQryr1lGfQbY+5D7OXCrAtKYgUI + pKglHrjTTWREegCCBcCP0SZIZaJVN4YtX79Ti1Bf+1+VoS6DejoUQmq/NK9Ciz5H + p0aH+hBmR8V4bpOSyfvP5GllNWqkEtyE1pfcNqMum6Z69zUqWgp7s+6IqLT0ujvy + d54tkvIAfpaDUuQqvGsZ+wgruvrkRNSRZpZp9AN3B/o/tY5E4ihYFMO16Lwg9O+z + ufY+vo3qD5sofEci33QeGyNFAVmfwT4z0rR8Im5en9x2OapsiBkEqh4TQ8X8hFXv + jFYPxDnOp57kk3QyQVWdLOShsl4Tl4DLgzYI/vdDdPWaaWQ41urBYqSrEvh7cyT3 + w9UfeGz1OczHEFkr0m8uesxTjJjZMgwHo+D25r/IA/JeTZi3l+OZxbMnLrOpFxXS + XgGAewCboM+rhYLnCwGbDN+8w7AAt0Rh6DBMw0FNcsj2AA7ZD6yILB2RuSWnQoJP + 5WZMpyBU5tfaRNo3WtGDwaUn1xHtGuNmFm90gR3dobz5vvg3UxD+FHNXjdDlmPU= + =oO4K -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-02-18T08:34:02Z" + - created_at: "2026-03-05T19:18:02Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdARbLzQHYNPZJNjhxt3TwJszAk6Uis0YtRPL/V9H3JkH4w - kwDHgm3hK45/JMQd2zVTEohX8NajwYT8rPT2Qh5I/HtTfPdXJ239XVHpshnnT97t - 0l4BujguJHWh5ugwebyYzaLe1ScofW2W5kBzHjShZBHNc/6Am09YbqDBgyvYsUKJ - VDCR87vE4lmgpi3Oiu/qDouOc7pvkDR/b6mtyAYOelwXaQDOGnDzvwiJbZtkd+Ci - =QYe1 + hF4DerEtaFuTeewSAQdA9U9yZ/CD+vR7Ee2I5eencLqk8yzk2d7toI/8U+3taBcw + 5Xi2VB+HnOs0uQZheB6+60FwrrHvoQJ4nzt0BC0RPGdP4d/bdzLsRVv6mhym6vST + 0l4BWd3l77NVJmMoYwLjwTZNVpWTJjRpNm4QowSnRc6ncgR579/4s3lXn0e7b/V4 + BKuNXG5vJXiDESjrL7ZeaonG9R3rqMAKQEZ6R6bthOrBM1n/s0qC1dFhVC5faOem + =omsV -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-02-18T08:34:02Z" + - created_at: "2026-03-05T19:18:02Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//e3LHrAlZTsovbWnS5+rXtWaUh1hiCU7KLEo2P/qdFbXo - lI2pb1UZq5VnnXGhGic6F6ayjEiTx3BlYg5fqZrFqKrxMVS4f8SK9ovoNKQjnmDo - /7djLdKkNvcuVKGxWY8/IqsRoYNbjEbot4qVxP1PRRkjKo8bcHoX700EX48bznaf - PrXfOXjqaLX10nZ9GurzFBY7/35iM6ch174HLABQjGpcOyHDUOlQINRMkr0787dy - d9cGMr5/YnixPo0clf6ebKEijhgg0v0bCOk0CCXybMC5r4f130FiffvXDkcQ8hbc - eTiHlZS0CKZ9fEko597Z9zCuKBT7fAsBxLyOugm5KNnfbQltEW1jJe3jnXtoOcnd - lNxpQad00cTcuKQIKaz4pidZkS+AZYxBUaKkXrtgYVtGF/eihpLRRaF7A1QbQU3r - Ckt4MrPepeYYraXTR7vxhTJGmkvXWys/QGI4kFpN8dXq/J5uCCDKo/mm4vl5aYkh - A5lpPQ+6PgIaY7c4t2hhvvOuE/tfJ0WM1vhQD1mtLGWdkr+KUvYhUppkDpqEPN7f - 30WQwW2MJ3gisMm9pynax30vgHoE3LbbcyJx58aW+BaXKOpDfnywNjwgiJmj1rxJ - 75cGRc+Y1wZIQ3LvN5Z7yjHJh0I0xmnWYZSO6dFZiYtJ9NFmp7xUZXZiBmJJOmzS - XgFODYRvfcJiH0TuMY5RpHLLibhEwTDGSbPp1plrQmKNoNSHzYv6xBSetu01KCpx - V9PmOooMP34JUi8Mr6zEsN2kXQvX8me57OPHIizZaD9xyGYH50DlaAWeXBz0vvA= - =NqMU + hQIMAxjNhCKPP69fARAAgOY3b+8Fz3p1+RJOqYl8YWqvArljWq9dzMCt2fkwiSmE + 7VL2f3RAY4icqJmJrSpC77+AbAcNuqwHLdOT2i+T3Z9Vwkh2PYFGBTmbZfaF//Uk + pCSbR2P0wlV7amcizyyRmwmKIjTKi+/EYiUuOCOMLvujP7ErP9BJWkpBZekMt4cv + UyKhsgrZ8tS/dA/DKNSPUWCMbikyvfa1DyQPPwua6nbxtRK8o03oiHZVEQYN7VDh + Y2JIzbGeTMJDkUs9C2saBiFAHQH2/P6MCM3mEl9dTNo08NqXzfXe4hGxX99Sdjig + Ut1EAGFY+t4Ktr9SurXvcCNLeWPMEjeQTk+p2jh/8gVYLdQsHYcVGOa3mBJDHvgG + pzgt2qKiFiedoHjAPrfZFyzT9TnQltE0YNpOkoHtw+hUC7VvUwg8iplsF6q2/pdk + ODFtvfOQ3Sje2LsSWgjlgL2sB47VYibNELUdiOaf/aWN0cB4VilnOrcPj9A57zMi + yQfHYvEagrbI/lvP6AGcqw4nYZk9n0vVGZWUGXQD2GlyP33u1Q3W5n6DtuvIGTGY + INY3OnXj+k//a+qNN7JEuqfLs1eDyinmjg9iPjiKEf6QQmAFtkQGv0a6Ouo7HSsK + sT/PWwvyRc4+OjF7CjFXQjawIqUZeeXedDoza8rJ3gGoIrnd8iQBf7taMXMmaErS + XgGXfD81kq14zLil5IlJO0SvfHWLjukqsfVl5we3wfAqVuHXMFSvXVnFapqVXx8c + fKExMfdz2rc7AFI+W7gsoWRLx1BWoSN6N31ygK36RwUNl/VSYp7TC/B+BGTGL0c= + =+A2J -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-02-18T08:34:02Z" + - created_at: "2026-03-05T19:18:02Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ/+ILpA0O/7j+tEG5HltJk7V2bL1p1opcJlKkjAYVT+oKx1 - 76flbSyyzR0IUOgx8ZFheVMIv80h2dg6+dSmjGGoTNZR8hOOaKP2FEKBPbbBmFF8 - up96JXxgf9YrwBwdjXJFTHYC1/DtXC/QnVosbxTzJZ2TxzbRxeev+VDXDMPEG8wU - 2Q/YwAM/fUPKBQgi+YGIRBEwbBaw7Ut1WdPyQ9UnCSwwNoTzeNSMMZGhRG9L1y54 - Lz1xo9tR3XuYMks/iyM4uZiQbuwcr1WNTFvUa6ScsU5+n3Ucm33P/19w9gxDI8NJ - EP3z4G5p44cKPzwciTBGkoTHPM/TSLeRBqXB09qkvcl7DVhcw9zY1DaZeglnTSpf - Srnux2jCsGlhRg0b/+1uvUutnRyqI6J0xVPXDxz1vKmlQpIT7ZpykE2OfuoSFjXm - 08S/r5bvBaXLN9JcvKHf7gCC0Iy+97ftvLeIJfCieByB45vm+jxikuLGa1QzaOFd - n2awMpw8hDlXKbjhLA486eUOXTbjuGWWnGeN/0jkvDsuBBxS8ZbESa0+EeGjrU1K - 46jtwYCfOqn4V15f1wWuXwauD85KqImWtKOLnNI+7Hl4o82r3ceTMH+mMOi9z1Mr - MA1TNO0sTJfgeK2UW91SaCYAgqsmaCRKFViYeioC3s/GY9/m8cmcfxaua78I0eDS - XgGSJ4yYgVD1qoUV2GpNcbhmazr/ygqqn4yfD1ZoPpLfX6D80RLvTGWfUeujeA2r - qOn7T7ZeVeJiZQMhT+YvmkZoO9CnV1RIdTrUkXS133qWbJMDg3E0eq4uHUYhlHs= - =3iZJ + hQIMA1Hthzn+T1OoAQ/+OCt9ZCAlI/5NH+GvVaVs97DFn8c8GvGVMwfl1eSK2U6W + bgrZk0Y7Mt/6Flbj/ud0XJls+YDKuJY8jB1uk+Wrz9NRwX21DPv1DugnS1y66oF5 + EhrmoAaHiac/Rg1VCdjOKIlDi4C5473WLT2SFFxH7DEUjMoTVbzb2wx6Ow2ngumG + ccFis6coYctvYMhdsJs/shGk4dC9CTjebZAjFxdX6hUM2QzOs8yIJh2DJf4Hm+cV + 6/RcFGkTrLXR6cJCMZDbkWfx6wMAYwnMkQ1j2s7BSOOJkg2WTd59P0OrgEXyaZk9 + JgINEG1AcCfqclWyk9TWUaILSdbhRxVnZWBWTieo5fw/r+j+sIcZFfUfD0F8v1e/ + sbShb3ODC+bb7O9iLOjlOJciE7U7pUq6Ob9jXapdoQ+LEPo2SzzzrlAmKJZ2zPFf + LDm07JI5xAy2bePetmxO8WFRpPNIChLgrGU4Ev3i90aXJbP9ddysp1jjt/BAEHj9 + 3uVkfmPbH75eysUgeySlEjknRwHzJ3SJqVA/cTGujJXFhMzx7OWn5tWze5At03ZT + oFiygLO91DUFCm5eDB0Ge6Ov5Y3gHx3lNWdBXvP8CLDJu2Dks80Up8/8voqfTt8B + CZ7oJZaMFXH7zMb51qAeIhavQwelb59mGGSPAgROei2N9hTapxcIftDM5/nM7evS + XgEU+VxYhBzYKnRg4viofMJYLHeJDNjjCWHb/OpUJWRAC2sZjJ6ndqJHaQT+AT3O + 0gU+un0gYS1UiPpgVyv0Nd/n5vlr5Y3MgXcWdQeoJ60/SJiz1jxHGgw+9NgIVSE= + =A2XN -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-02-18T08:34:02Z" + - created_at: "2026-03-05T19:18:02Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqARAAl8ILYY7UWS2HOyio8L7RIHzHs27VF+iS/yrkgkQGgmjX - WeG7MBEYjTsEtivxQzVIBkBV/m4RTH0Tk+Y2lo1ZGSqVOCAcJEbSYdBO006wKzDz - bGno7aj7oCtlGf8PTT+4VfA6WmCiJ4thznp7W0j6X5eAD0+xr0ec2YlLphiko5ns - 8jXiGwY3ieG4HzCCUatYZnj3dBfKhfzsYc5W/jgHI3z+TMx1a2wdQDE2ov70i6CM - JUcEnuOtDvR9s1X3CmWE7PA/7sV4j3DM+hqnRxNe07bxBsXrXiYH2jX1UVJWSLw6 - 3PlqUHiDobgzVERKHWmzneEn8JgkgPqPIC0sQkTvjZ7EnYCPRBjPw0t5e4AHthf7 - ByQ4emWC/f9Wlhznj0OFwDQWe955vAqkA3GR2HZfebQNbOifNejAJBErY8NFZewx - vFEQS2m1J3iR9qoetPw02bbsLJ/nWns6vVI3pjMeTKOXVpHMUWe5K3LrGOgyZI0k - EFZbYL4nyKkmqb2SQEpwMVaKIwji5Yf1a5kDv1mpuUSA7BP6vBcFUsLdItIQe/z1 - TUv9z1KT+h8kvAgnK85q71F6ADBJiki0SeLHLmOKlX8OQaG79dvhdZ4WULCOTrpF - YC/YXt3Hl1Wdp26C8OmZ1PyGsZRFh9JRSx8NsTdPVUkkKjpm+qV8Lm5K79X69VDS - XgGzsXZHA2nP+Pw030IBDp6QBj1apKd8M61un2vAe6HR7rvX7x2D9f2GxQgUc1Ej - egmur27UvfxQQpdl+TX+waxT2bps+ZScxMrT50pyrRhnUL3OOnYg81M99w+X3ak= - =K/KI + hQIMA46L6MuPqfJqAQ//cz/zfM1Tt694ZPvwaGEclTgojnAT1ULmndMA4L2ifd4W + 4l3AAzPBA6Onm6Uie136s9Q7sXTxU7rR48UjrvuLOSLkMXy52mTYgy1Ls82e6AX5 + YZFfoqe2yXFlKIQZgWylgf2VSdVIqKsnyciZaUa2p0YkOU2/CasITOVQipbWonEd + KeTbPGtM6gdSHqvhle5Lz6wIWsLa4+CZ3Bvozar1YFEZWU5CSLKOoznEL4TNZVDv + DIlXAWAs5Pv9dgbPAI0jd669pjiBvppsYgnZRhurknf+w/mEoCFerytYNVpS4LW2 + A2QwDw7+KSgUSIt9BLNxzlvxM4xrl4PV6EhRDfk3vUti7Z1rNyWNSuMVbUh7xrY+ + fN3RFZU/OtJHF1NOMN/bTYWi+UG30NLghuyYi2k+emSWDcRByolxGsnCEl5YVgcG + BqEh6seBi6f98X5Jup7l3sJc+V/903aOqK66BQP6SZGUDmCBHOLmXSm/XAGN6QlN + 4FqCjOO7AoxRVktM3bl/vcSyy2ii5TdCqckvh451DFWIHGFZ+/9UH9oXJ27h0HMZ + 1BnRfTvcMc7BkgM4NUMoeGhShcvi/M0VLbcEr8zsdY4JFpN7Usjw8A8Prp18y7c1 + bDCjf6OsOf5pxshXDlXqGfCNQfcDVtbZYrMCf/3ijaz8FCYrEPUVZ2Sr6E1ZZFvS + XgH4AWqxCAabqXOOnF2fhqoYShERPodQ5bFUXZE1x1vh77LK8b/fxkgsCB/snOnK + TZlEtXdF6UMpZl1EWfewQQXz+UftlijFl2SyPZzB0/RRkTH6urNWvU3RlbLEF+A= + =AXBG -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-02-18T08:34:02Z" + - created_at: "2026-03-05T19:18:02Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdADnTFiHq53K9oTSIsquZ5cMnc9BP+3U3e3Fl7sE2A/low - 8CiSBy9x0namqxaUu6FWomtyVPfvy6wVpeu4iRnoJKOT2fc5YVQIbKx2nK6Uklan - 0l4B6hRtz3vaCJFg3PUtmJO40812zQ+OoSawBfG+PcO8bZ3elJcG1OaBiOHhY0xV - k9Rdkn0YWfucfBJlG3lZijXVdlcKf1B4WVwO9d7DnDkWNM0lyd936557pJ2rLDo2 - =DY4M + hF4DQrf1tCqiJxoSAQdALAYlmotws1ybYVQhy4wLEn2d4IoylPO2XaawYsurAXgw + ncvUfzFnqX79KC4PCeeVrTT2bpe+od9gbbJXuRcS6kR+QpkxBJEilp/6oSrid7iX + 0l4BCAWQXXjUmk0dBwZNj2e778GXk+gA3lELmwYcPAJXaz99D9zN8mjsvE8+Qivi + mGT5id0qp/q8B1bLA6yRram1zxTY9Un/CmsSsK0H4UdJZZrCcx+dQWIhTvjQ2Ptt + =vhje -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-02-18T08:34:02Z" + - created_at: "2026-03-05T19:18:02Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdA7G9RnN/wz8iADoWHAjCPmVUUby+nCHwIcJqwZ3LVsy8w - FlQI9e/DNMALWKoYkvXGuF+WMC1l8jrbcyOrD+ZLCselrIKxdDoVVgtF1jSfta/o - 0lgBlNkjPWGA8jjmUXHfuJXXZ2Iykvkd2wVLqIETi7IvYuwZOtCipJ4weBw4sOzd - q5gqTV4L98HrAsXoZ6625gQW5c6RTu1RQdn6AI9W6R+C7muN2dmlBkWR - =zONg + hF4DzAGzViGx4qcSAQdA6vopaCy/fS6ab/f6FEl+nCm7Xa5LILEKjCx8D2hLhgQw + p1rFwDRZSQwrrjnlkicu2u0xfHTAA+Lzc3kWh36d3U2XiGZZdk51Lk5OkkS4UdQl + 0lgBOBEKcHLKnesBRJfpUBb6HN97flDdVX2T9F2NmLLAlBpXgCWRmt8qv4dghKNC + pWW4k8lpRycJCzPUgA67KfReuliT1oDFkUAwg/bkGv4s5WwjKQCqcM+h + =HwlZ -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-02-18T08:34:02Z" + - created_at: "2026-03-05T19:18:02Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAAjmLtxD9mnJM1h7DggoXQLlEhZfT85Cq8HkS/jPbNEY6J - UL1J68Nw4yOCeV/JaF+H5zUNqD1gfEr4l+NXg986l/CbmUMrt/9KSHWSEUfCQC2L - vtj855ub2afES1AK3HGiFAlY6JksgN8VSnqK/kucGeqPolzyevtduLMQo/aKJo8b - RxiupjxR/smbtb2khlJn4YgueVNwFHjdxTV4mhPY6ADEMM08vWzScRYzny/gTdDS - /rS+b5kJJ8wMuFDI+XuVaoVVjEF6obipIJdmFLNO6Vf5eKHnSBUg0u5dnQ9cVDNI - ilx7ovLnSUMOFSQfbfAG1b9dshDXsuyEfzd3d7J+tj57Zm6ONs2h4X4Pdk2tsWvk - l4fmhe1r8VC6Uru4YGDLIt3YTL5bVx9X19ndl4F94NPtTgAzFD+SJ2h4LHP6Pj2Y - RsVRJuyXg5IP97dOHSCWf3velvjBVVmfujlyrFRJMSOGVAZ5YWOPpHbhAFy+YqbB - bRx6lHNfsRBYiHfDmjBD3ztXm6ZMu8QVjXUq61uErFmRT5im+9OB/twkm26TDT0v - cnG43ecA+uGJTSH8Jr5S1EAtdihBOW+ynbr9HkfpHqOG2QaM3Eq9n87hkiPS90dM - JTQhS+SDeKMZDWrSPQvcUQtNOXhD+B1hrTQ4zMkZuwefNEEZ8EC1g/b3KhFrWjfU - aAEJAhDyH6oSZMtuxzUnIns3X1R7QjkNYOjPhpfjjN2TMX9N5WKvhNTUqkvWQS1E - J1/OeZL94Oxm2tHN+XilWTCVSNEe0DvsAVcPIWvzOB1zI/QxJPg3PySJkB31GjX3 - WEcHZCZ2YfBS - =XaQC + hQIMA2pVdGTIrZI+ARAAl6uF4HbiQMKEueEM6RkFikGVQwIhJJFlVmSyA4sZm6vU + RUU0GvTPJb3mU2+uY/ZjxQWAsBEvIQP6Lae75HAvQ3rh6Bz39W6GeqskJPj/SDpW + HVkYY6eIcXE56Vx5z8Tvyrm9ZyXmR983fofmFN/MLUc/wI/TgqwSh4KzFk1pi5AJ + Q0DDf+KI+DCuOgQK8l4WXIJ0BNu/vsXe/gL27b570qTDcxHm6Diuuuvd4363raJN + /8zSySduVrpn/e0VjNKf1yYdPB4yfH/hi+AAxgNKALxyy3KtpD0+PfdJaqcPXp70 + GT5N42svAO1AL+eIKbTKF3IWkYeawo0FZyhyTfUjszhY4PSsffj9Qu7UxwgXPva7 + zz83Ukrni8oqTYn6ou/hJXBVxrSxxGaUFO2ngSiMeB64C0oYTihSyGNOGLhbFhRT + rEHxzn4nK37TSpnb643DSQQPozKgUyjqBV82vvrnl8b/1DkRS/lw5nOmrFm/SgYE + bawXSBDQKcCb6gP4sU1/duoaQ/RDK5PewVCCpWt/y3b6ocA237/9mP2uLOLVKXaP + Qt/vEzLk9CmL5z9D8waLQ4bnrTDlNC0v71Cb1/C+edyMEl1oBTzg99AH9c6S4K6R + yUvL5yWU5BHOwmBuUqcsUYRS/2zTk2ArcqTUlC7BGuli0RKhuxWHHkce+tNRG5/S + XgHgjx7LXo0qqpiulCrtlf5yW6n2YPTEBpXs2lxZMkkxvM4as8LoYhJJhb+sbkm6 + pej7LRbihZJzR7eSsUw92PpQOXo/ujRlwEws+iMDCFC+IcsArhFCcQboomFYxd0= + =Fnej -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + - created_at: "2026-03-05T19:18:02Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DKKbvh61jX5USAQdAH84Fg7dmo/6qcZTeNWtql7s2HEZgRRG+sB2gZIOQxCww + 7e+RoafysizFyukizm/WAkPvjEej/XSDUzcH/n2DSdN78m54lKxoeJPt89V9KvEt + 0l4B6/GYPvs8rXcDrHrvkzPSmlSZDIo1nFodOvCv+tR0ACdfR/EnajoTkJgmuTvq + xCjpZtMIEyEZN0e3JdkirxFP+B6F0ZpbvFHS7eb52Q6SBSGyUdvSseueDxh40vdB + =oQu5 + -----END PGP MESSAGE----- + fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted version: 3.11.0 diff --git a/inventories/chaosknoten/host_vars/onlyoffice.sops.yaml b/inventories/chaosknoten/host_vars/onlyoffice.sops.yaml index b554b54001..dcd464970e 100644 --- a/inventories/chaosknoten/host_vars/onlyoffice.sops.yaml +++ b/inventories/chaosknoten/host_vars/onlyoffice.sops.yaml @@ -5,204 +5,213 @@ sops: - recipient: age1a27euccw8j23wec76ls8vmzp7mntfcn4v8tkyegmg8alzfhk3suqwm6vgv enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjdWhtbE9lWWZUbDNiZVc1 - anBZSUZRdzV1S21NemE5dHQzc2JQNnk0L2tFCmI3UHJEYzlvSEExVGJZeUJtNHBB - cDdMTkRwR3pGQ0g5ejRwQ1pIank2YzQKLS0tIHlmc2V1Y24xcHNPUDlSdE9rNmpp - RVgyK0RTblpqaFdtZm0vcGlLb1JMclEKm4ZiK4+XHpMtc1GNXRtkMGNdIDezyq3R - FdWqhPzpNYbsyB9sNjzKAMa+G0HEeg8k04hWidqaMyoO0kv59IjPmA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDak5YS21qU2w0ODZuVk14 + bVE2QzJaR3MzdUQrQkdCNjk5UWJvQkZITkFvCnBIRURQR2svbzRXenRLY2R2NUtP + MGlpL0tWRDloYk5aWi85OEt5SHJ0WG8KLS0tIHR3S0Q3SnZVQkl0TkVGNW9kanNa + QVRpVFZISHRrL0NtK2ZvVm5UclZOUWsKFlHwzXbNiANHaQPhyFu9L4klDIkTk8vs + F8pRXJGQX19zN9hI2ed+rZdtO8zWhpzmm8uyouIvTE/Y8qs5UISJig== -----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: "2026-02-18T08:33:23Z" + - created_at: "2026-03-05T19:18:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtARAAlYb/eVWV5qT91fcQsWvl4I1JuL6+A/BSGKO2bTF8XnI9 - RqCKZFa5of36SJfWvQ/lEQo9xh3CkCYOUh/508OqB6sBPd/IyH5TMnSoAsZOXZf/ - fzwcF8BZZNK/LlWRzHRKCMQoVwYLFCQZFVpkiWXd/tLjPou9+xr0Qzml8SJxx3Lk - eDVcZwQQR3K2X8iWcJtxkBD1XPgmy+yid/OcGO9enqC5wkKjgEseGIlOqx7IfNhN - zEyW/fiBd2AZHmi6RTFB60rBiKt6IohOTt33BC70y04EvdA9RN/fqnTFN7q8k1vj - OOXoBMcrtH3aet8baRmsaZsrRveuYu3UCctOAQD77Avc4z890Q0vr/xs+/fcM0iQ - 5SDiODaA9nUU2NzzvPsDCbPx9BWkFnkL/S4WnL4FEWd54HT6r2AppGfASDYQbjUm - qCJCU0bl6L6/XfYzRyZkrBdqi7WLUmNZpgcTbUELoOfG9qdWZriv9JcSTvTNDtI6 - OFO6eAeXAa2YMLlMd/L4JBDF11YXm67iFdqMSIPm/c72iMq/jJ9JcamMB/xF/GDm - NKeEubOYQBKxTPwH8JuwL8DI/DLE9A1LnwgpdHKVacmqbAZPva6syrfUndkGQNZt - w9IyTqKlVsUA56KlEGQxCcLEbiUdxisLWJhfh2j8mrebZSTyunSdMAa6Vwc4tgDU - aAEJAhCKf2i69sjnwqS620CmOyjR22OBF2abYdmVcdhsNi4DwYlR71CEE8FFmjYi - C3gKxnR17OJtxs83BHLEXySf+HEdwKlfs35EmXVlgyRqz83cMGpPKsONSN7dMth/ - NwBYqUSymjZt - =v5/y + hQIMAxK/JaB2/SdtAQ/7BbW6Ek/aH1tIkxfz3C0FCTr7RPTqJAWYdIL+2dPTmZcN + GuO+0JEA5hQSMBDOxi0axzskL7LH3OyGrZg/On0MjQ6vPHlUrKUJBXPDvIT+b0vu + K4y7fi1OGnZR7HrnwKGIrA4iFx2V1km2Sab6HRpngVUw5SS/7ovdpNWNnbvay0wo + iZH9JIqRwGj2QExzXppHDZ6Cg6DEy8GjmnkVSDgD9QF6wqwNizRK56UI9NjtxBEs + TJ8e+DJQV0AWmkCiW4lmqsc35S1wnFM56BaP01r+BZQ09ChFiA5So6OXFkRiTEbT + kLmpou9LBHldC3dv6mIj2yfawvbqFo8heJXlhIFUSbGTFjBKujSIpj6LoNTZ86fk + dQjUIct8sAiSgZRc+m1aT1hSx4DJuBIb++YKrCwchnVML6ExsODO57fqe3js9IeG + sixc99jFOW3IP10JygioBdxcoqwmIZm2y4y5HyFlknC/c0H9i4AnM+te3j5SE46y + kzqhbtSmPc8S32NrxFENQY5Z7V94l5Z5DL0R1ddXOv5nn7Z4nf/DYcbbcTJ4cf7d + 9qgSxIhaTZqmkjqbW0ffFZ5+ewxlb/aW3GdR24pPGw3wuF2FJOVWXbIHxmOfnEay + +5ZRsltA/cx902mn9eaFs6WPknE3GMqjRLsQ2DTqDPZxEzJfqDORAzBua2bqXNrS + XgGPZcc3R3ND6S0D+S19KYLGZjPZymUZshdcU2jXFbekCG0xyfxnOA6dmn38yqNo + UdpnsMYxxWbSuaLfNcPmcPPdB9tAEoyixZYmThTwkQ6W2plXTOsDB3H+cl5Y6Z0= + =8iGX -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-02-18T08:33:23Z" + - created_at: "2026-03-05T19:18:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf9FJquIwKISEHn43A64a1m0ZOfFuNNOCZUJdpHmaYLSXqw - u2FtendUzg5GZ2YCRvwnpYmFp8oc+LL2zjcsgKl99HIUrRpeQzyetPh+nrCSeCCL - s/uFU5YRlRdCd0EyeasunJ+ybhKhOf/DDBSyX2fEcaY+9l98jzNuFl0cCAAsWg+Q - 0I9dPAghxKUn5QRI0YezoPSXd1isTXtbLGySID7SOjojV7gOwbh+tRGwaLixvp3T - 7zjvUBk5M1o+yOnz2JexWke1w9YQhLdR9AFaZDzQS8TvRelClb+zptrtDN4Gftd4 - p+KoeZPNyRfrm4fRvx9OMnQ6MMEz47ULK23D2E6xWtJeAYzGhUEc2fnlKu4i3Rvu - X+SwnX+IBlzn15zgZ061YqXM6TJo1tiuILSjp5MgwHxHWYmlWYSmVa8cm0s88+hE - FOe0jaiLarRlbV7bTBTm9OWXass+IkZzcqxXpgJwpw== - =AFAw + hQEMA1QflAioE8i3AQgArNR+t5gA2n45rRarMfcyGldy008Q5RLsW/jxf9wg03YU + NqBvB4+M2wVRj2ihRjSwo0NMLYXyD/K3FBVA2vTQlz/UVoRMdOY55P2le/fsA4j7 + Qpz6iFwmAZ3Ds+Ekk689CH/AU0kR3xcxlU/I1V6rskkrnK+IIEzvQcl7jhQCBc3Q + O1csHrGgl8A62+iJcozhL3mu9Rpcj96pNmlQJ58szMTvAhvrzKlk7QSRlPa48oye + u96klFdTujHXP5dgf7RNypFZkhbejJhZ3fEvlo0zAUx/plw49LL4ZHEsOBIlGWdm + 5QzHZC8f+nj6BtuUxX6ci18MGpQWSJmZrkjKK5dyStJeAZtkD4SX2PaAM0z8V2vp + GsO7pC65gEvW2NAxF8NmSAJ/Q3vcRQZrDd6NMalakbCs42mD/X1C7qMspbpq0Rbc + BKdO9v8eAhB0vSgeDot17VAuo8CLb4O0wDMX9NduLQ== + =eL5p -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-02-18T08:33:23Z" + - created_at: "2026-03-05T19:18:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAA5V/9JgvkDo926AP/JruluSc6XbBKSbdsnW3QhQOC/g7X - DRMG20mDrtSsv6U1NrfXoh+O3FHoFWbhGpHqoMdshtpElg1wTLEqL2V475tUNqIi - KIU2Nzbfs7zzZGvSZbeyBj1TOZeqVzuPUoUFwi1OEdSCYtElgAweADDrUUjvX90y - baYdA3kbfeKacY6OzYNjAXPF224SOqF28iSHWvYZlgs+gpuBnrQfAPVDpnu63rYU - LdSqkSnhc9YnF3p5EuYoKle/zCP9lnLLrnccqpzV1WmwIO1KZTqHUNdNxoWcCsaj - aQfco1sxwl1vVJ30MMRB/Y6Lo0sgOR7L/WJjvLQTmqjwOCSIfMJwx4hf5Y11VKFQ - YKia/74CepE9mGNf9jgcEB/GMH2EU9gWHgUTpBp0rrS9MPBB5nSX5kb1s6yBknBU - xicjZlKzSjq7Yng3ZznVdNAVkFbxGpOGyk7Ku8Z5fSuCRxrnMdDktGG9jN5VUlil - cvITvK1rmzKKh8b0o0qJvhuwe7KiO6AhhXEQM35Ws4dmKJuBam06ODUtuPx4m2Hm - QV5W5n/keGyimtVNuRDGJpIj3U0P90W0yzD1faDWEyb+KKsASveYSgvQo9gndKdp - xu6YSDm21uXT5AwDt2PMn9r6ZGG/zwSzEZTl+4sKyPrO1e4+MW0UtNTjY+ZSjMPS - XgHycYPcJuqPCANHuZxsnBeweLkhdojJQ7s6JWIg3HFPT4fCtOSvskuYtqaVf6Rr - YwKL3KIImvUR7X7FfohWFJf4hE8a+qbA1yeRnggEgT1Zvc0VP9gDQBPaazek1fw= - =Ro+S + hQIMAz5uSgHG2iMJAQ/9HYAlxyflZV2OgPoNp04HjXT8vqxFJZx6cMUIDpUWAXZk + vHmyDMPQQNEFMXGU9HpiMHaojyEcT67krxDTIWz7X/pHuLoJhYBpxpsUpuroTtC6 + nYta21Nfj+ajFVSEWuWdrUMHN/RqodRqSSBdEoxHOCp6+WGBkKl64WAfculZQeuN + s3ifTxRydOHsx/Do8nnh1suZIjN8PEpKuHjYzeJYBqD0TLasJlZ0tRYoe4VwZLWS + T6kVdx2UpV87mOQvfsomNpFaj8EOiXZ6xAY3lzZQBoKRS1PGu+SUH1MDQxb9HJNw + uOkHG+vqg+nioet8hAbO/2w4HWPCvsVG++WiJIEnLlN0otGtoH1RIwapowIG59dS + SKQ6o6afcqXNwlbFrGDwGd5uOt4l6xHIKPcGop5RsbCnifxmJ4Qc3lWxx+cTjRI2 + fX2w/y2tEZ/5tbrduv5dRBoKk9rojjBN3o5lrXdLYLLEvGoLGSnLkwx8iPMsZCLI + 4fvMDxCAIU1g2LyfaHIbguQziRHxvnaxZDNRTUYTiAxYxoFMt+0bY952i8riCYA9 + WK8KJxJzImbInYLuo9DDHQpZPeZLu+HppTuqxfZ2+7Gv8VKfvs3xUJZwqML5PfBE + zmlIs5nYV8JiG0Eh3BD8oxYX0z3SJlpFpE49+IyJVJKBS5aY3pB/dfJi02QjoSrS + XgFtQZPc9WKi3golKq9f+DHrKXMAhoa01fnIYhYHtagY868+7AAmxC+51qLMWUFr + R1+AMOFOAjw+e5Xf4m8qAST+Sc6dGhHwtv63joW2OgetgWrrEN5ZaPGSyItnoIE= + =WNON -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-02-18T08:33:23Z" + - created_at: "2026-03-05T19:18:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ//Sx+fS5jxS8sNWCWCudNY+TRTdAtgdiBWFWJbI4R5jS7y - zRbUPcJFWeJQt8SI+FG8FaFvNZWJBHb8K88heVQK1V7Ssuk7tJ1rTefsyJBQ5Rwo - ZFU/xSjkfvBExSbU69A2FlvGy83AHI6O0NiLRMduXBlZLNY5MhFoaDITwM2KttYS - aeuQyeplyUVaKfNVQ8jsEJZnyEYA8eznyIV3TRoh71Tf0viOmgl52ITqdBS7WAuq - lRhfappIePqi1O0SvfXy1dWazxcVwvf6b9X2W4I1IVRbfEdGT/QLJfCunTG7cB5l - 7TxD2bqXal0+CpSJvw6bwMu69fyQicLRriAT+5mqpUyJo5ljyLYqbLFI2YKQE9jf - lVhkC/KcRaRdlQIfFIWy2np+4+v8jMErKw+lRIZ/6paiG7E2EhnB2Y00Amy6vJxz - x6RTAa89jpR/AvszlUCd3ayMsaWsJiT4S9Gt2mR279U3kRHDkx1G1cr2kCBGpevA - Q9n+tMu8IGVhY/U8WyFCb/8rtvapCL62EH9vr3bUKXnc8mEzD01FY7etJENFf+TX - E6FaFfw0HMkr02kEsv8xbdu8DWy4YxgVpY2MDYEtmJhnHwm43wRLXxGpSjJ/JtAB - YEe5CgyiBFYbhQnt1Om5IvF9fgkuoSTjpKaGQO0Uh1Hg1i4HZY4ipHLWnk9mJR3S - XgENIgoDzTO+caA8U5eDtbXJtSm9jjQFKiq20NT0Y+x/LMyRy8/5er+Lklt0btC2 - flGUYRBJGOBmprcQZ7RJEi4APW5/BUvZtmLxhTxnTgsD16phCCtgkIVs1anjtbQ= - =jTMA + hQIMAw5vwmoEJHQ1AQ/+OqhE1M1Mx1aIk0rngsXLJf1hpoW+JRvbeAvhdWyg/uTy + 68XsVkoubCKhDqq57DMPwdsjqU8vUGuRAf3yCcBXmLVdUl6oOrd0PmP471M0d+6/ + o/tA/Ke7rHEDgb94DO10elS/L1RvBVHvXtz2Vzpdh2ovi2m0JdoRNY3IZ5zWJfHa + Q3RUUkE0m2tTzMap1LLey12UsgU2IroUcMAxD2b4csZpjWTKplAS4Fu5aluvfCFX + V6qrXznxtnBgXbQLddzA+ZO/0/8CjQ92+rSLKLzVlaoZJah5lLs/aALQlomowgJw + NZqfa7Ik0YinWglF2ZKk2JpnkL5T3PNI0fK5Kb4deyehvUKd4yI2ADdtoZbWy6PC + NoyV22xzlBahPRygH0MLwgp+4+hCRMI+SdIWVH4/NZ4MAHPpjvHcsplaoxzwGIMk + +Ppa1x6POga9JJA80IAtnbRavc7u6hA9isVG1wDEYzPMtRJimhfBJQ/2MVGD0jAM + jDnlVPLxOaKNXUZe8RMgZFwL/NeDgPPPFH4eLg8MMY2N2NpW+358XE3hSrOhnns7 + X9Sk+nezqBAqdv2c0Y9nxyAG5+BCnecEWL3mV6My5Dn0AIdt5oF7zI7tntu4PaHu + HXrUNDAxdsA8IfN3k/UCCMbNeyfmD1ST5kxBQhZQkIQ9+DTdgAW8vOjpahXGhanS + XgH2y/Rq9M1LaItpY/86ws+nkt+zqe5c2TvO6JMZmpTYZgIv5dQPbQyPTl5YhqGm + pFaD22mx69kxGCx4YULauXgMl4/vPYrm7E2cjl5VYUBmA4OiaFzZlVxlMadFieE= + =AxSa -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-02-18T08:33:23Z" + - created_at: "2026-03-05T19:18:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAHW8fozqT0n2QRu0WlaYUtEtV47MiNsjzHcYAYukPhBAw - DMbfrJgR+KCzMLVHvuiemEBP/TGaJBOB60w4EjzDGTsx04d9P8n1OSSY2v1/HTer - 0l4BHQH+VBydYclU4ZMuWcCGpgtE2+NUjOrTKug2EWOw3dvhXS//c/ZXU3iG5uNh - L1Z3HBPrXVBTWQWitS8ltZJarn8aZmvHNM+Rg8hdb/1ZwbzrJurKwisjgmuqIB2k - =nrb1 + hF4DerEtaFuTeewSAQdAKAet/D4YIXBFrC1oXu0OuIxaOpOVDOLd2OF3jtVz3mcw + vTx2G/dI/IV4Xl7IOKTvQGRJZEqo8BUmFu/GLr0xgzPC0y9qZGuThCl6It+Mbq7U + 0l4BHbPvS9tOW/WzH4pGJkziVrMkrWHjRL9Ymm6rUctFEFEeX28ZMvCgmvWqJntQ + JI/abrczgDFnjbQ32p2y76G0vq3zFX95ecm3RqeO82btwPTu1mboA72bH7DM0YSL + =swLQ -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-02-18T08:33:23Z" + - created_at: "2026-03-05T19:18:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQILAxjNhCKPP69fAQ/3Zs8k4t/nGQNdlF/Vkbp3+1VTfXmqk7nrg0CHNT00j6x7 - scYSHBpIFu6qn6Y3rELqhoFdG2K9ekmFSy6d3r1gP3DXpFa9lkEfKO1JC0UazVZx - yKGpeI4rp7m11YXC4E9cOqfjv3lbGtzt3jhDaekVsFMa/4oodFbfnEfGqlmI29jf - /HpXCuBErFW2YaZPMmJLw7gL1FElbmyqzl2AebKeQKXT6Ebt23vxrIEEeDQEuzyG - ZtRajlUP2hdZf6T+wZQt2EqruWD8gdQLQyEEU64VCqLVvuX6d6P0By/ZJaoP7Rdv - mZZ7cuLeyiBsFGUhAbuDFspqXG+IAR6J3+hUbI4ck/EgGrDpteI1mpxAOTbTgyrO - nD+2b/zTI9hlnXe9Gs1RXIdM21GC7quhWtv70VvwZZXDMqL+8eQXjf9PB9AVynwU - X063VCr1EUTyDQ++nlpJEMT8o9QCf7ZscyruCjUyfT3Pmi4svDKmUvuVBr8ES3aL - S5ZFlDQZNcOaQsPjNvON6d2xkXHkFsovYlW0qj5rk2fpeLo6H0mCnLhHN3pa/VpA - cCrkRYWT6+mszzQqO1wNGTd4rB63AYpe6m9p8yTuKl04/VJRXGxoSfSNLkCAJBnS - 7mHyJ27LgH0qZ22hXy5dR0BLrbAN4lTLEDgQ796kz26Xm0smHala1vWbA98PQdJe - ASPz2PCJDCX1EvDvIOXXEZ2OXE+Gk3mdm6c19teADg+VQUs+2x7QRak781NNHoHg - ARppuC15vpGRv/fbqN1qGVLm/pOLv//JAnJzXeiWO/R7wUUl1XWQMmNpnGBRjA== - =OTvy + hQIMAxjNhCKPP69fAQ/9FuIr3QwLtOLzWZdJCK0mP2RjRGokNmcw9SqKQFQyqt4v + 58BeWd6eEqIBl6OfQe+uEr61sXhqbQ1Ogl0mJyGyS1ZBypYeulvHUJtLXEBM1Alm + 4p7XROIAhkSqAv6+zMvRxV2A/Cz0hi3kS8RdPvAfwzVElFHsn4on3rM77Njqd3uj + 88DPJkSjLc1x0tNTjXC2feLoJq20sL4NLJB4AE5foa+AdlQEjfuU+FhqESrmJzXI + gA1pVW8dAJJVxXQ35OIn8knIUbqcORn1Z1Kjk3Xr7K5XVbMQklfoqFplcV/ZNxsh + f+dUU7ynbQcbfhy91vpxjvYlyrbgTEMqhh7+sbanF3F9leTIB6q8n4rOBKcoaAf7 + qIYYVv/nRkOHOvFDvH1pKTXsX/9y0LVAhExovvkwCqPtWouwmtANwXsvEOCSqLtO + DHC5QPIHS7EpB9I3sOK92Y5hxZrK3kXIphMgWY0ogaR/JcMrS1sc6ltRMElfl1qT + 9rA1CAoZ6o739ONCAKDR6H1Gv/Obs8upjR6GEVMVg6fE/kuGrIXPUgMz81hGqJqr + ohngQBDz1fG8hlAi5gyOuMZmb3Dhlo/2i43l2fwzdpGjm663Uc881PplIWzuX0w2 + FQLnDxd4Txfgs94o9CbcZayESq/T0iTdDbsFH63qk0mkeyTTczrddM2+WO8ZqDTS + XgFfj3f4aFCqJUuiEnqJbIQ2yM3XEbFf/18uHWqmm3D4pz9MIySsFR7zF9beVUmR + S9c+nBjZJDX6khqcvi3XBN7DaDrSgbrozJqAITnfsJtYAFkMGY+fsMk0mqUs7S8= + =obon -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-02-18T08:33:23Z" + - created_at: "2026-03-05T19:18:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//Ua7zE+pAtvW09/PbGder37omWJQqyQ1N7/lX6K7fVIip - Fk9uFqThMyCyngHc+hMJ8hHKl32etV4Ao+SN3/SpbUN5oxITQIoH+I1CcbnOG6BQ - tLj39e4b2pN4wAnoyplJIT77tcAg4o4tj+y6VHTmXYTm0VvCKVwCeGCZ4tk5MqKW - rSkzxGhSDBKMiR+0udMISkD18UR8EKf+JXQNuPmhFkwxCPUD+HjTlDMiCaq585Pj - Rg8FvaE5jJOIO9fkK2G4DTBux7mEO1q21HtUCMnbh6xlD9z68rnK3xnP3yC0tyJa - kuuBRsQFwNMXtLC1PbqUcQwju1UPpZMGfb7EOWGnGL4JIP0dC23S0y/xiAKHwuVO - z1LDdxvPqZmOFCmpvkz2FmjeTOzsbOCJ/sDileDtTScyl1eYj/gBsDNpcVEJHbbh - rQIH4XqGxJUT4yLP1TfeFDE9IGwhGbDc4Fz9lbz/Yih1Eu5KRg18AWHw7kmmWsbr - 9bEAT3vLPaBV+z93k4f5RjVeTPWXXSWb07mWbIxborwsVW75qCjWA0l9e7k8A/+U - Szjx0OVr4tkJrGF2ZACbpc26twS8qPRlaqFLgeKJXsR/0BuZMDbhyX/cO/fAZr+W - 7x6BCNrGKndO+hnQ3TkfN3Vz4Tpo9c56qifYOTIyCOwbIh7Qzw/z8bQLRAVHDFHS - XgHKxiOHwDy4nDgOAY8Y+MmXutwvePE+az6y4COlas57mSkFpYBa1MXj8gQoqLaD - z8comGjGelQ4KgFDtkn6Lijw+mpQ7nIvH4keh/Xz642QdWisSMIlRsi/pwG75sM= - =KZ9o + hQIMA1Hthzn+T1OoAQ/+IkvAzSsPs2f8wMewka6CWezRMHs6H9HVge2YlHyJoSEW + 12pypsfWnmj0qgTpVfuVqTsDrmfl+4/gFw6ONFstbVkzx//VwxyJTX/cSxvZdguo + iDaHVCaYlrQCoi3jLhTV6qoOxho9kqcf92iPF0NKqtGEeNZW+z6/8B+4RvF/K0eZ + mNt9gkcTP8Zj8b7/kBifKLA2hu/2lEzoHdYdi73wtRURDb4e77zANHIG4PmyLjX3 + tqnsDM8Lwhfoqx4tBpYn+BXNfk+LY1LSXVqLzdgNNpPU2Q33HYA4mARfn1Mi9w+1 + z6r5m23Mn6/iVATzMDEkPuxZPA/dOL6w1jufhe5u+FhlkIfZBL5LGWocFFqEz/mz + +kXY7I5VgE1OClKRRXaesTZ2BYCVBX7Uhob7BSsVdQGXPHfZ5Azd0YPD2i1X4AF6 + 1RQtJcnYBggkDf6+UrWBO5jtQs5R3LTiprrj+53DTtr6dBXeBOfx5qEw7eP8Qzwv + VzcgTB/6YSfGe53sNWfoDX+aJ1qJvRAUIsJN3S7HKN9dRKwG/Op6reNCGLMhhEUV + RgGcD5MWfDCMvh1mtPT6+bMkt5mNz+TwZi/H22TqMyn0dTSzNu87l7lDJi6Pt8JQ + /8LH9lciRN98rT/w2jv4TYjJrOCiPW3A66G8VvhWURuxNryHQWshugeI5F8Es43S + XgF9akkhBbB/sSwU+Ao54625tqVzqNw6jaj/YRXcNi3qALceQVd5uhs2+Z401QXL + 6AtrKmhYBC4a7qmA3SSt35dnxjQPVHzkoQ97j7dXmIvwuPNtRVM4jSAzKxyK3Zs= + =HFXu -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-02-18T08:33:23Z" + - created_at: "2026-03-05T19:18:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ/8CksS/NcgVLQVKWhRAQNX3mIRGLvjGfRTiraVzrRZlFQ5 - fKKifzS8CmN9LXdCTewXaRDe9ruUj+O8jBKqRqcGEftNSO/0Bikt0aU+DKlYMNc+ - ATWxUcb2hkIiFzrf3T3s3YpgjaB/wV/zPl3KRtpenOa9q66zuqowqy0gqdfRWzmM - neyx/EBN6vO02x3aNDWGV/NmCRuutHHREpgKqKUUh3HWDWG2CM3XoJWo5Sk8oA92 - /LdREM896RW4Jp/g8nGI9jFhZfWEzWAtOW21XIcF7VbGEe09WGLAX7sZl2NcMVvi - d6ASBExigaZqpauGYI6sJffLYJQbKRtrxuUAH/mFgHF1ez7RVrtDNBfqSLlIH3A2 - VB8Qz3cH0Iv1ORhO58bAhsI46JA263V9N5N5i/Y3K8nQaIIlRBaPLJdykaAfudtt - IG1AtFuDN9Co5OqJGZykVm/wQYPhrl2TP5ITwyJ+injQf2E01emiMwfnOHGQ2UM2 - lK+6k5g1JoIZmRIZYxI8ZV9umlO5CJ9/YJ9aFJMN/kkcvRWLFretKJ4IprOA6Pji - pz9C+vD17T5BdG2CVqskJbUNcOiXngtYDI8rnklN1VA6Hz7fUVtqG18IT9w2r7T1 - jUxRQN5ChjaEtwfCbSx60yT3gy3lx01SjxEKjY343Vr9+3GvEO9SZxfcj1bVWcbS - XgHP6R5EXHiiwvY14GkO6VohS0PHyBsodW6FAo9QoDPpRQqurUhpm4eAPKMf6n8+ - IzoTLj/AsxU6OjTZhQogHQNwzY4EyNoaxqgZhp9XzIg0r3vFVYIV9giISa/ge2E= - =Iae8 + hQIMA46L6MuPqfJqAQ/9GmnXEM1ajMJHgKGLo/5qqcIBumDZwFJ+tV5i8N6ESJhQ + 1aGj+Kge8XChs7wBtE2lUe8o+azgw87eZnhtCAngcgzi0lWgFR4c0eAXOzLhYXZt + pSI4btEhS9vHGLvPJagXVUevOa0h7xyMgOcptiRk8w+eVWu5JhSTqzN/GXPNHTAi + Y7DJ9ZY91Ct2lCFX2zjbWTBD1zElxLUVDpcLakfwdujcu3pKbAK04zrgVstI0sCh + WH5BzmGChwD9i2MgSOgD8kIMb+GZVBw93xd/MXILogBvD7O8TtEFhrCybBtmSkuZ + N8FpMo2PyJGMFKyBdN+KNDqh+u59ol4FqMm4WOphoynCMFawamShScLFLsm3TOt1 + tcwZMAFcTxiV7zzZjALr9DPrfj31xhNAIonm/byYUAyjMdml3QTpuHmn9XhSdlvs + VJtZxx5zQel+gtP7tEwjRTHNBwraKbJIHatWQdKVzMSZ/Ga5a/dgOUk7RLpzq704 + d5sSrowQQfKv4KKMMJm+D77yj+64q1OhQfYG8WYG9433zq/CaEJEz0QI5G6PFDd4 + 6z9CU5WnkJ7YZDGOiUwdPRkf40RVURMKAYlx6pK4qxwRdDxrR2EmzDped+deFTp3 + TuqVIIySS1K/Fhh2ygvEpeptWaN8Y7/XxXf/FBycPaUnIsTTW1sFbagW9FyYqX/S + XgF6zy5Tj9JiLtH3Qjx6NqkctRu6I5X4v15NbWEYUXVQug8U/xLun1/4T5wOsDZg + YmDnL5x7wogZjo2BCqY9S1Wuf2aexiQ0504cyBGn+m+nNd+xyPbZCQJM/55tCO8= + =dgUl -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-02-18T08:33:23Z" + - created_at: "2026-03-05T19:18:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAYOvkUyEwClp2h6S1ONkjcge066Js1pe0g9vFg94jFhIw - FIQqV1wsnnFHla5FZO0KwJ+3EdI8oEUF/4i97HYqTPR400sRACwyMSkD4Am+Ku6I - 0l4BprhZH4OI0KJ5lkstsodFNQo+DEDCFuWXfV9hi9NpEAw7IVvde2vj1072CR3O - iPxpW8jm2AsIqrxh8ryeA003ocSSYl7YSAc9h14V92BONTTAp8oCHfS7YD06amhb - =5qTy + hF4DQrf1tCqiJxoSAQdAXX+5h7CdVFDpn8V3D5wW56xwylXuuFbDgtRI5bT7EWsw + k0Z9njafq5TPlazuNympG+DdbbbmSqRz9yHtnsZtLEyJHoN0cprbjtcsSTo5On3f + 0l4Bz3ig/hHDyx/5keoMqdEVYIlxRmfsEeTBMlRzuxCSaxzw+wV2IFfyH0X/rLAO + wh6gYHo2G5JXiLy9B/PeliFC39OdzT/zm1QLjUGpSoHJFRD9sguDuNLv7AaOiv0p + =d0Ao -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-02-18T08:33:23Z" + - created_at: "2026-03-05T19:18:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAUG+q7E2Oh5JaqQlmc4IuMb7BS488PFak0YCQSW76cncw - dj0wAERRjC9JdGW+KP6PUK4um/t8Tup3iZGsuHFF13BRaHatNOY3+KF5BN1fEo8n - 0lgBWVlN382WG2+WZtjuYcisqGrXFc9OzT5iJeXwsYAc57HvmIyeLXToabbVdbi7 - u+6tPBYjaRLCJ0Yxs02yJvQ8WnZBBfNPEpTxB+YHeZdabQUEmyhfV+q5 - =uXEx + hF4DzAGzViGx4qcSAQdANeEx9uK7B1z5gP6JnY3XueQvJFlQihEt9tQu28YpwlMw + cNxHTuUGEQUoK22TAIDYCqXpnTTPn+UvNxVbMTsw4zHdZbVrJLArtQqhTKUWizHv + 0lgBNmgA8DhzNZReNiRDVoeB8XDoh1i2IZ/PihQj7pJTOxINfRi0mQ3T2fj+8vR7 + epsc4hts6iRgJa3WZYCZxBlXdYvOlnI2BS8CmwHP9uJtErjg77DoB9sF + =ZUKO -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-02-18T08:33:23Z" + - created_at: "2026-03-05T19:18:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//QhWeR5evdbWZOpkOZSFQZPY+O01eeA9SZwhPD6Et5xc4 - /Hrx4UDkRZCvDxOpiWnCRvwsSwsxf1b8ex32U1lfGiEw7KR4mUdOVYZXPapeND1K - Fuv9PUtKvfiBNo8JGRnF/KQ5GlCvKt5v8txWkSxmVvTbjMZ5fW/zk5Ei3pIvL4Hh - cbe9TSrnW62eZrBJasJ+Yh0AI+sPc7gTwdRxyjQTq3oMdcpXyjqOe29c43G9R97b - phcX3dAJq4nJIm491Zn5IT0YA0lzyfaiTHdkaJCd2K4aFNZ+5wPKokILeXqPvI9i - Y9rXpUOn2YHSjQzg8tdQ35AYo37Z9E9jlwhMGETnHSKybaezDQeAo/j1KGPCdGEK - x2R1q6ZcC6NVEqMaRgRsEIhnguBhI/jLJnI9MllKat3ZCc4IKOi1AcUaoQVMRs2p - wGKejucWJjAT31YiyiJlkeS63uxb0oKrBacIjSGrzXNz7cpYH0r2loQeG9JAKLFx - dFtXVaFl6GlOGIQmke62RMNLChluGi/USYS+XPhwMDsXc6PLgmpI5knbVZYmbbX8 - UMOcbpA8I06o1M+WeT4KTpkXnvDWnPenZyYMxGycQVpJPyrehalVIEPODdygENGu - +hC7i3r4/A+NRVwXRSMy/Vxu/EKWl2mrMjAJODEduYxWm/SuEfHb14ZtwChrSxPU - aAEJAhBU7Li5VZJpeLyxS7t9t+KFeMupQGI0ReUOi7fITuf4KF6zQ7ADOEOnUpZg - jLWdNYIv9etybcP4qyjf8qsN3/So8TRI+0srFXa/uha7rSKjB3/pxYtNmwP4jTYw - gnrYq7JeMcV5 - =Vb1o + hQIMA2pVdGTIrZI+AQ/8DUSM4vdkXAxBsFjk8BwBO502/PGkfKZPs/Rx6Y03VZbj + 4uQ4GLZL2SCgw5VsaiJv2vv2oyMuSIbz2lZvz7GFsV7puFn8rGXShM9dgjoUmzxK + aMt3RepBYGfrGmj7yCCfuJVDMT5rARO13rLYx/B+Is/tyiU5XSjtncSTPUZ3pMqn + zUUa37ySCb6YOea046eW3ELT0nU0arLbXmsSOERn/R5KQtX21i2xi8G0Wakpotzp + WIqe7ugQAn70jlFkSCB1os42Qsqtu3xKvG12J2Pw4m9BqQgTECdFRZdbz0IkzFyE + ijJdNQVBHS5TdFghtSYadWvrNxpC56CPiqPp2nu6Ge/EbNAoQoVHFQrdLlShAzLL + m62J3CRtbDguiNFX1rRvubHv410+qTW50ZKl4cjN8/h0awEuVnQIgIgv1ZVEs+mq + iGYtuMJEJ3w63+QznNzfXYF23ENgvoo0BTFerA2yEwvqGSSxSPAKywlxeKFUpdmx + lmnJzftdVcJCBNRXfx0q7LNRhb4Yf+UsEFxZ4m9xJtecWJFKOpYB1ClLnKRLQ8lX + 61WiGBCr33ZA3ZFn6rhyC0PVNfWuMKaf+SJ15OG4VPiEYN7ukhYnodf27Wpad7TB + 63sXfot9mb/4u7gy24yJJR0gH2+xWEy3CnZ52RN5DKnZ+//TQgSKtXPkA/J2sIjS + XgHgY3BNmuw1cfkOq2hfp80hnW5EUdnPBCLaBvLdubRKRPuaRU6HgZLANSevThnN + rZZ88pnpnrdozMhDT+bZ18RUmr8OFtGeHM7xCyyNaxE3aFZzyDjvFwzWAYYanCU= + =wP2R -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + - created_at: "2026-03-05T19:18:46Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DKKbvh61jX5USAQdAGvsuIKkn8ZJMdweTgOlKUefXZOu6LtEeY7jOAOxlJiYw + tTAiUDGIs7s+gMQ7RPYwEhyBz92gv6Rmm9QxsqgH+CR91W4qkelraZToz7687nEG + 0l4BTP2xH8djFaUaA8tI30Apx57Hkyu+THMeDOelElqnIuc21MkDKphLkPsL1NbV + z7YcB0Bzi5ltwqMt+9TfLMa0R9CZVDVyjOo5tFL7OmBuCpfGjb3Qnu8mb50VVDMb + =Rg56 + -----END PGP MESSAGE----- + fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted version: 3.10.2 diff --git a/inventories/chaosknoten/host_vars/pad.sops.yaml b/inventories/chaosknoten/host_vars/pad.sops.yaml index eb19d0852d..ae0d3823e3 100644 --- a/inventories/chaosknoten/host_vars/pad.sops.yaml +++ b/inventories/chaosknoten/host_vars/pad.sops.yaml @@ -7,204 +7,213 @@ sops: - recipient: age172pk7lyc6p4ewy0f2h6pau5d5sz6z8cq66hm4u4tpzx3an496a2sljx7x5 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAyb1RteVV2aXMxLzFSem5s - VDJYM240V0VDRThEbEpWbmI5d3R3d0p0NXpRCjgrZmNLWEJ5ZDZUaHVVdHptaXFa - UG1NbWowYmRXSFV5ckZYYXU4bVMzQVUKLS0tIFR5R3NMOVRsOWJwRGhYQmFLaStL - Sk84a0EvSjY0UGdKZ3MvSklBa0E0UlUKjuS3v0ZE6zcV+ldweFg1XnBjJUfkcJsa - iUiWmzV1IKeBRapp41CKIiELOxxRrp+uppCAtgE41QgMqD0m6/Qm1A== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTQnUzY2ZjaGVnQXFOblFj + WGJkTy9zMmdSZHpJK3p4NFk1dURtQXNqL1NFCmJNN2psOFNBMFR3SVFudWNFZUdI + cENWV3VUTHZKY0lCWEMvRVNDazJaLzgKLS0tIGw0eVpySWRydklWdk9reldFd0xr + SzRBbUNaWUZMb2hXckQ5ekFPQ0hSQ2MKYcb+ylmw46a5xmDZSW5HfxUvwtsH2Aqw + hgMNTkiAKyo9JWjhbAwdkZd75BTsukIB5846Fbblpjo8kGdP10H6vg== -----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: "2026-02-18T08:32:51Z" + - created_at: "2026-03-05T19:18:04Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtARAAhonhm9/TXYG7mei02rfngxePCqSu7AILjWhVRhONd9gH - h4WoJbwrF4JRm3qA+DyzzFxKf3WNWIv0zjmaAnoHPdI8jrrvZ0cqm02t4bAM5hdp - 5Rbu/o198uoQJb/fmcGfp85GM/y/iAu1TEbKjto49zVa2/aXG8RJ4TAqLdzaoum7 - YBRa+jz9dV544lhmTkvE1d1nf0oRqAcP/0dr4aYC6i7zvWPITjjy+4s7IPqiYez8 - Vqnwq4cOf7HnwwHS9WfOJUUoR3c29d9cLwL2sXiwV688k0BBgQ/tBMGuRSdpvJSA - JkWn0ckoE9DFimn0HCStP/HdPn9BSgVDDj21RbzmC6BuG7bXDTZk23eBpBpU1197 - LxEo+5Pxhn4SbAjloL4UxsnbxLz979m/Xgj8g6ex2A4BZmWEg/7LZlWi6mK5Q601 - 8sykgaTfohz2ttLtm2DcXTcJWhyyJcPSwcn2axegZDr8wbr9w0cSNM2JV6WR5RYh - LHZEvYFC+wfqtK7dkfLEJWh6ATPSO3iHiwjkboYcuZohr8enrLJbkNR0WR+qX2zX - wRHl1cCHFXd26T5+IXWDncPIRSrThV6ZEp/OZT1/pwjBx6WS3eCgrvN+3H3IMkHT - dkckDfxlhjqHr4L1U7GJMeI57/+KwYnAuO+FEgqMv8vQIdC8NJSGwDcQf9eQ8tDU - aAEJAhAV1kou6b7eI98a0caDgkpbDtSbHXCqXtOnUgqu3b22gUpCZmN18E7W80ok - Ey+fy0zARdyEi2IYcjCSdrHn5eBfqTtxD+NIj6ucCSN4fcnKRlXm3LWryc5at7G9 - GnviBEyX9ShC - =fZp0 + hQIMAxK/JaB2/SdtAQ//enTP9DIjKYQmXTzuKn7Sjzj+Xz1YAwn6hk5BnFC/lfVu + vT7ein+lHvFHbCIdzLDOSVAqLaKlmRQBEENG5SSugZBbzlgFoEsCEKQ8qfW6E91F + cm8Mu+HrctPkRioPONA0VSuh8KknMhpC3tgTnoRYd5rYlBQn7TBdT7aASssChwH/ + U21XKh5K9O9QfKm/WQdm70R9V2XYF5umiUaiT0nxgJTWPVOtb64Hj0G318p0jt2n + ssJNdXoHAEfcsZjNZ3Yyp6mP/sdjHyMfNVRqvIVDz1Scve2anZ6e5w5O7z/MrAvg + kC3OE9rdVMJpLXV0BtJwLvc6R37BSreUK0jFZqK6OQcVpk0j16xOnY9RNVQmP6lC + HtneEGown3EvtqMCsY2LZ++tIJr0OZorYHI4Poj/WNtX/pY0X5YwcK2RxPXdzLLL + Yy5r+b+OZsVkASxUuDC58+jQpxXCrapp1UrPJLCsSSLOza0ZOTNcbFUxdHIdTJB9 + nGRi553WVgevAX+EXXeLYHMi/gIDdW99uhwZ//0MWAxgdeB7Ro0b/csrZqmqohbz + HGp6BViwe9U1UJMUGUENCBuevI5zqJZHLOuMhrSQsdEsCfYJEmTwa9DPTh3Hc9fR + Hsskn4eiPLFVo8VGWJAvRHo0r9jbp4RrUjC+LY8pFHADeHcBeVofRM1GQZ570G3S + XgFVHSzTBi/d3PR3IY1K74st9EiHaRq9rzZHUqxs9qzyD+tSAGg5CyjBwF7IjGzh + Ec/jV4z8CxhTbRNYy341ANbaZYZmqyx2hSXVdKLCP3XKI7Qv/w1KgGcjI9S9Vyg= + =oy/y -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-02-18T08:32:51Z" + - created_at: "2026-03-05T19:18:04Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQgAkaTaCI/HFxJZInrCqv+NLXe1mi8X1q3zyDW49G88ea2T - 1nOLkQr2BUPEHbj3jcavHi8xlerV6RMqyvN+AHNaFrXPBYUdF1NlKefB7g0DnFaN - sK2dzcdokjiAYQY65PGGP9JjgLS7/+9gGHfMhFVkUYJZKHjKhHxcAMRAa5yoq+7X - Nz5haqvIZG2/ze5lAMvLnfFBOgfh/lAokZ7fZZo08kYlsBP3AIWuDDG+dMyY2gfq - jWPMKo9tuzSEem9AfEE7K1ahrpllkee/S5EqZk01Km/+uhZHieYqHZRQu/yVtMXG - Ckvpt2+HVpSB3n/RuOJBNC8jNLZRG+9GGTzZLVLxfNJeAR4w5vNyy/DawhdtmKc3 - aYWL/N4fGVv5RRl3Uw31V6oNpRntnj/jM/cV1JdOvASsH4gb02ioqgyAc9QWaHmE - SmcjpcFFo8EHCeyVcDqrEUE7UIoFNs9jrOZ4SK98rg== - =or4O + hQEMA1QflAioE8i3AQf/QVlB2zh1xTe1ZMmtZ9oUKHTBieKXwozsjvDiBtJ5LvDL + OHEOZ9qTN3bu4rvGVn0ClfhPFHlahenxfTPpP/LbJYN+PfAV0m5iGL/uJaLqJedB + 917dUS1dwGSBFPDGXbQaOBaxiQPXdOKCY6LyAQC4bfnPzwsJyJVtZ0BC5P+vEmQJ + DML58cLZN2fSqk+eGvapIf0WKit38K7tbmfQOhTz1p11s6mI2JMkS36z2tRkkpXD + zlgEDygg+7Z+srHAUYXbvWozihjlfWppM3sgyBF0WyyP2EfL/NsUzBlES6tg1fEH + NUAN5ZTBQUEUn3iEbLFk7WK8K18ITgrVGqj+6Am1kNJeAQKeJZb3fgBTlX17KWIq + pLyV5rGydgwVHyOVpNpxI4J/h9r7o1ZdjOcxVcI58NZH85zRTpWde/Qg25glrSmT + QeOHCCmf/D/f8/pOiplHE7rerji1Vz2Pg4CiwsdvIA== + =kAr4 -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-02-18T08:32:51Z" + - created_at: "2026-03-05T19:18:04Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ/5AYUGCPMFEIAnQwoSP0jPYRDcfpeu8Z6ho9RS6V4pV3g9 - 6DLzHWoxfK1AQmMfhtyBDf7OyVgPyfh+MlnVjsl18r4W7K6Z4LOxL7unv5HVtoj2 - tXuX71AxW1wmjIyDi37XsMiahPhGJue757of2sXoMHie14F+6r7x7FsxKFmb75kT - jNBitbYMYLCO2l9Gsq2JpU6d1YS/q2DX+P2dAKJZfsI42VCzRZ+YVYOLeqYeZf13 - OrSjNWUVsmg+penSSYKa/6xG0ytQvjPv+BVEU6Qxx/k2gF1a1rLtj7JRmOmr/aZH - wciHTPVgft5DBlFIQred6kUhcbWojIRvu7mF8hISX4Uk0TEZs12+9DLSNJ4fgG5Y - UvLc/zmqyk2i1cTEaVqTJPUzwL+MYTB9IBe8sP5N76IFTmqErGk97bR29nLlEgzh - N0ifnLjveAia4oCXhaAw/pvoEjQGvjiFMT5il0PcvvxuAFomGizA6RGSD9L179Wf - qXcGIc955rVCjFkFRTCOFcqHJBqZQqYvVn3GKI5i8eN9BdNaQfY933H8u5LEPzQs - KUq/OHaD20h56DYjcgco9z8oNJISnenWVHCj128vhI83uFf0wvvWkO344mcywKjI - +8URccsIPzXkATzCc9AjVgvKvUhlTSWyqSnAoZAfcIhXIxBTsjJrliOzb7K6XFLS - XgFlU+qCLSeq+nddT5fiNQlah1K/SUXZHShaw6iRAZWMmWvZZ/Vj1i6/6RqtF/29 - mMBR2SHzuRzUA8p041OKm8pTKbt/SKfzTF3wYzu7T4EB8zFg8V1Wbx7VMBOfXKY= - =n21v + hQIMAz5uSgHG2iMJARAAyRdmy7wOd766GbbuzoHkkFxk5twpHyQmLJokqEFdBR17 + ga1MbA70UR8KEq3XtNnftUd+f01M5mFRrlMJon1316IR1HgdVAaC7fXY9eRFJvG9 + aUDn3avTawvmCTWFxuHSsoebidTJvmd2v8vm9GkR8WBzndKhGBkzjaS+y9K4CTF1 + C0/Nk+v+NSe9QVdTJc9Jy8uLWYMNktW1LAfts+kfwSauUlKk97qIZ/FuG/Xb6FrD + TgiRFsgYSn8FItnKIqB+OZXYT5aIzXCPIaago37sgm1oYJmzuPeS0pzYDgCbcIZP + q2N3a+6Tv92LrfC3jWWKVavrVOMJK8bwq6Lj1X5Oa9zO0ZdGlv2VJflu3gaw0D9z + LnIv2vLzZCTLcAZ0NE9+tWA1jDZvHlx4gsDJH4o7lMLo9Tct4I8V6JNMME/oNat9 + WvF92CUnL1DOWxijK+G51k4BnHpvJeqDwtVOkmLpcWbwSDAH8Oe+5YjwIyxSTbtu + J5o3mYjv3S4SOWWXkgM6CMZmlYfEFVE6EfgIqEUZgAnM2YpXCxf5QjENq994PMuI + 7SQpBQ/mu0H2hKpB4/6tOUTVoqPczVpI9k/ksOXPrUyzZZL941czuvmBhYQmvlh1 + 6c6kds79F4HTsP3agPQzeSs9CpDqE2MxzVbX3hacnV2IDjNt0Su/q6eazxDjbmfS + XgHD8P/SeHHnX82P4tF3UMr6WS69e2wNU3L00UOKzB/UBube5wtvgmZvqa6oUfnf + lyHhiGghFNirHJfXJbdbZnwK7vsSqVWvG1EyjBtnVtwXaVVsy8lcMLSKvcSRk74= + =KA/M -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-02-18T08:32:51Z" + - created_at: "2026-03-05T19:18:04Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ//f7QmQRhTP44R41nUEZF2wIGCRAwyu/QWxjMXkZ6d6SZB - +dk2yhxHpFRrpjRGWoOmRfnRoKGeMPI12W3AyoMRF8RktzX4wAZB5+91SDOmX4j8 - I9iQYIoh6inYjnrtorQ4IXQS00JaFE0OKwkirb38tknVC+LrMC4yBR3WtA7QevbV - 7H5N5HzpLcMibkYjBkOtsSEYQbtdVi2yn2X2x7XSQnIPaPg6pIx5Yjocvb+BCogH - HaRL4nvkLSzk8GH9EPEfXnAVB5IbuHEXe7Dn5qJd4RDq6j6zzG9irCf8fsmlMdHK - oehgO/pySRU3rMRiQoOLyvUy+fgX+u9J6VE2dD7GT8umbRgW9/eNogKieb9G4K3r - eM/Tu8IP+EFSzwnFkSWZGhsBwYYE3UEX5K4G1j9mEX+u9BdpuVxAuh6f5qVpvzKj - 2CnkBxPtAIFuIrVtBbqoPVbuvXFdWsDGFnqRyvBGixh6sfP8NtnIVQny0PSj92xU - kROTYSnjCICc+XTe0BzJBoi8n7qlI8cg9eOGcpe1BGOBewWpARUTZB5u5rtIWz+t - Fsws7XzltMDLwy2FMARyJ/oqlA8dH2BrY5ai6nGH8V5R/b6Dx0sULBOtchTdsn8E - 1kdjsGionxFLWaRIkA85gDj+s2XprDqK05aWWcTRfaEjjX++Gva0aawALXFd4DjS - XgESTvVAnca/d669IKjn5C/lV9Qwoi+HnLwwJkW8C73CF7aZIyqDtobq/LTnQlgd - OYuT1rQMkQkqyRVV1GC2kO693GfGjHPLzWaSNyf3mY5H0oXXfXOT5SEK9amhjZQ= - =zdoP + hQIMAw5vwmoEJHQ1ARAAoNxKB7UDXPXuJzok4iBfKCS7tERVMOeZUQcHq2Bf2BcZ + 02GYPoQoFSXy0EdAmHnWjOCohKoB+OeyjL8mEMVPqRU2ATP3rYCe90XRlCDj8pY4 + vC3Y/7OoeMlhfA8mv/KRd+tzLz5Ta1CaX5vPguy+L6lC7fJzrtff4yR5bzpP4Mha + bPAevThQMZzxfdeHVCMGi+d2c+rSR3SijTUCoO42bWUYOx9sDQ4ZRTKCBdd8PMs3 + LsrEjJcQ4IRQbRyKH4ThG84EMs4JrWZ1rEOZquP7uuVOnjBaLL3KH8kFyYe6JBhB + J6gCjWgQFr1AQwsJ/yQO4bnOou2+aTz1HMq90EBW23eiVDcOuw2ZmnSNMhwJWYDx + xug7yRl1YTVRnRJ7K11rYOXzSIID0swXM/X64W1NYwAnNJw2wFIR0S5c20EcGHR3 + ULKDv9aROAlgZqTDpjyR0Ai98DIbLZP+JeEs55mM2rYvf85zU7imfg+ku87Qu1Xn + psjGs425kR9nxBADfNdFGXG7RqkqKOCm73BKRK3+vmhNFyjiJpV+SKsteIT3ubN5 + v9GrKvyYdBqQheZh9+w2xCpwIg73fUKoT5/nztcv4kxNpn4lt51R0HCelE4NRrua + rIkbNcbyfeMs+ZiWDJIwtVn2VaVppX3HIdgbrBU4Mpwt+BACHDidXEMKyouMdHfS + XgG10yPl+e3mX7SkQeKyOBVVqRr3xA+6jrGyLEp3uqof7nv8R0zoCgdv8HLSHoAc + PzoxvDNbXrOKmEDDtCsIvAJror9n9RSlsAF/jcUsPEkPLYaNy5VW5Q4mvb/vQH0= + =XjM3 -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-02-18T08:32:51Z" + - created_at: "2026-03-05T19:18:04Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAOMCnd0+4/eZfFHK6BibU0JUysxHoBDu8HVhc54u0AEsw - pevLFMRWBRUv7h0NC/YjTHRX2Kl7Qv/XOOwCaSwQvIpYk2JQL3ruQmMZJTqoWARY - 0l4BOb9NeFYQroAu3j5yiHNpmbcymuyiGHAYU6ZTGDM7nOZfuqR5hFTJEbvIyhq+ - 3G52+SIWXiGK+uaqABIHp/hmKbc56LSywEa7En65nXxnjzt9gm5Cj3BVL3/SWmv1 - =pghg + hF4DerEtaFuTeewSAQdA1sb2dmATR26q3wEpzhrDo7/B9N+IUpoGsgFM7Nepr28w + gmECdkiWCvf/yMYVFc4fTr+f5rMBZEFWuIBPJNqBX6P7Y0emU+69wwRKFiY7rasd + 0l4BUO1dzsZetw+81d1JZYdGQKwcvRsBNnAVRDSpld/oy67jq77HQAKJYH7pyxrT + NVGFPj6m3vlDzoGU/jeqAOV+rbEPSs3otjQY8OIWcBDDpTHr16H2JTrcSXAz2eDe + =w4n8 -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-02-18T08:32:51Z" + - created_at: "2026-03-05T19:18:04Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/+JxVnm1P6M9AG6oiH6txIeXoLRaT42bZs5VT7o35uYFfA - qTqRjZN+TFYU4IjddS/OfzAtpPQWpfMnrlTaKJDsNg24kadC7/Xg1ekdht6Krown - 4fXZKNg1PWNtuqc5FD1UjRQLowvNpT8O7e/xdotGJGShEAYgps4bDLOOaZJ8Dswb - yD7uZQ8GwWS25AxhnJ/JtNck7+ILPL+cVaz0LDVqilqDsc2dNYcgGNTNqWGebMFf - SmllmEbG6MK/gvMaVPOPhci8QpGBfHewTlUXhCl47HuL0Ah6zB79pkFldtBwYTpK - 3Jj2A1PFo17FWf//W0+o3dGlEVI+CSxIIHnaJuRA9mqvCbPVqoLCTS3vA7J2szpp - eqBmuVKZliRfRJ+LCWF5XABJepukIiUrUScU35K1wvujn0Umw5uOBnFXclNwDIzU - L3UD7NDU2u92myJROn70VNPaNt3ubnkXQ/KMF3NSbrGmp/KS9zZnWO6449CdbFMP - S5ed0hpNC/T8IktFSVe4A8DV9/22KK5E1riF2NPKPaHKDL4zlxabVZXkeux/6CSg - pV/SiUzpSPjYdnIcS9aARHDYDrYbgocugucskAMMTJtL43QAyAHCQjdAQJuvr5yY - XRAcjxWYP2wqDdRfH1Y6qfPSi9oCugp0WqlheUhg8MJjqm/HHSBCnPDPtCBmffPS - XgFMbc7aRGoydaOVTSLdw4NvnNXEbwCEqlKvlp7IdA8e8CroHm8I9pTjdIV788jF - 30xAD+KmcFg5i8+Ik9LIqFEeGvxR81xM5wBr1/kVY4BVQ+0UKeZ6BtfGqVq8sS4= - =Xz09 + hQIMAxjNhCKPP69fAQ/+PDYK4T6brpX6LTFtdlFXS7D5Hzl5bratf2bOgS35Ow2Q + 1rNQfH3TwYi+pmXi8AnFTiy/cpt7kzJm2WKHmVcPfnkf0oYISmtoaxY2ML1FLBaO + xTfWjdYdoLCBM4M/e6HD4X4dUH1hMikma/zci5Fxa6XRzB7PIc1tVqWce+0C22/g + 5yfeYN1lUqGHhJKQGy7idasd7ph2SyzC+tW45CvyBoYEMr8FRqUeUj3yLU+rqT+l + 08l2c8JiRMC50dKYU+9mRt6Ema2kvpoKGW+NcHF7OpZOjfD/2CLHEFTf5bInRUF1 + 3IPvKWERs5362kpEkpq/MYboiuzPSP23oAd0MnJaXdnz1FC6aNYl0waaNdZv9ZRn + jormNvnymRXyHK24Jm4FxPycUuGZBJDp/QLBA0ZJVQ/y3oyLsZfdkuTP8fc7hpki + z6BSBu5R9ZoKyGbz0zyYhnWB+6WClYmrb/neTh4JlnJ69phu5C9Ib2DxnHTmr8zg + pfRUCb4v4Ey0HhwONpJZdPK58PXYcNUXRS+iRIvyfhdAWnQE9iAWzp+t9JZpVkMl + aW1xgBfIUHTzpKYN/8aQgntwg/PyO5bisx6Qf+fQJNXxiqSes0G8IGXaf2iu2UZl + jkjSYN9Elq/PX1a1kGxrQaXBrvUcqdddNHeA4LqGgblt8ovKyoFLWPzkXyHN60jS + XgE9gVEdMehkIwIEjomdzgqCeQfHvl+hEU4sA/j70Lyu78Rz2UiBPtQdJ3hMxrE/ + /qIpavXeaS+tVjybKiN5YfNw+/HsiYGchOpLUnexLzGOFFRqnJfUhGthOCOXHGU= + =vXMk -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-02-18T08:32:51Z" + - created_at: "2026-03-05T19:18:04Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoARAAvcah0df6mLs6Hl6dYQCInSh2IVUezX8s2znk/BVdHAmG - ig6f+sAPx7PYDHt+aEDN6m6Hdi6HNvXUybLULhWGdVMKFzOLiugh9ATcpygOMsuT - HaqtIRmWJaZIXwRnzfil/TBZf48jqLEMu0CZKIZLRkVgjo7+0TA3V2KvbTrcTlvA - HT8gF6uU9dO4L85Jp+yQPzgEvKW7iu9DbfFJi9sz6vZbIOkKgN2tDaN7145dynSM - mVxUD0ykMhaR1zVpf/xFgQ+o/mqpyxPMOhn4/DMrSjx2EHJueoawfApeDWSIIKRF - F6zooUfEG8O1Y+0uE72MYOilICRZfrWymgzhs7CR7t+bWolppky7CrvecByZm8xc - hLpJDxhf2WXH7Y69OUlW9SWqLQToheCvbccCoGhM0D7DB8eztf86h5RCk3YacZnm - o/Ss+N1CM2XVZaHNkNv2R9px3XdXWDvpJ+939hU+faCJ8/ty7xKFUhA71aVwlUCd - JPSfQLFHZmzE+2jWuHVT4cbygxtIwCvmn1wPTVxIOdRQTeCH2fsDL7wESOkcXpAb - mpTtdrnaz+4V66S1s1OrxQXFfdGlukHgKDqY166B9pvLalplCw/8Z9jiaQWgy5cr - 1+CgWdzsoZFuOm9NKgU5rzH8m480G2yuYH+S/bDlafolTmopLOezphINVE4/R0XS - XgH7Oz661CAHS8wjC49nEUqXWnTGCN29xjNCKTHXWUQwy/6EgP3CqQbtJHNKOuL4 - roqlyeA9v1O0cLcSsoZZDsncm2cGtlqOD9MiYRxVkxD1n5hNhzrmDAB9guvum3o= - =gRpl + hQIMA1Hthzn+T1OoAQ//SMP4LWK20skxlbJ/TkvKIySio3Q1fBG8iG0mVhujQ57B + s5wLcFozrGkqo/jXFOAUqH4CHuR2DC5ovoI25G101Z39lRgjvYm66lMpJ2xqO+Dp + YOXsy5aRaWxiXjMG0XslaLQAaxqZZ7Bv2T1xM4vh5y2VkoZPuuvjaFffXJLn5isU + 1d5D8vEne5ArDXbwHCaDKHcIBu+rxT3ZDzqefmQJVtS6NRRMCZOKaGpnRCgr3pD2 + p9pldaIEYxvZ/pmfcoVWHxHFRKidM9ojMgQbQ5Ye2FBjNElOxQitni9uC+dmgKWE + gbZj338txKkcfgKqxANnbRG2HBaxLI+ujZdULg9UgHDkJYFzI6u8k56rNwbHu7vv + 7sja6NMuP/m0mNBcS+s2VtnZNkHwk1XDE12ERbBVxYhRdCaaE8Pqe8oKNR6Cu++j + 6xfxSSrRQy4rxX/m/IKnpz4WWrBDHf0urG7Ve18kfkoLvJSVmqAw5oKlBGpg+Zxb + a0qhWP1SISBkZto2U3AHCWWc74x8SwVpVjagyNaw/8dYZ4a+WLQTZ5AgE5FUWL9z + rkhV+tHhQqEsJhS+PZu2kONLVFK7nQMdEdy+qvH4VW64VJNtP4sRD0hM8i3VsJ0F + KYT96T+c7/8LVWLuUo2KeWfGa/x69aZXezWeK1kNba9EVxfuGbVuezrFsXr6RR/S + XgG6FGAfFVIZo09ls9f8G0B5MGet2ZCY324viLkZSzjj6f45VI1p8cJHliLPa/RC + UeJIlZQ/h9Qr9y8lfmWFP59SPVVYf5XXsySX/XYvWL6eIMBGTqqyP2OjYkarckY= + =1NpW -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-02-18T08:32:51Z" + - created_at: "2026-03-05T19:18:04Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqARAAp9Nk6KBklZhYx6y6a7grhw5XSe8Ok4qXCj7b1j2aX0j/ - g7Hih+PG+aGbZ+k/xXPft7OAG28ODWHI3DCCP2BzDqLHT+78LwPd61gj21GBBBa+ - uMJB6RXce5HOpA75ruyDzAi0uTGOqdoXW7sRaYtEknnUUWOgkoa0+iYCWb3suYej - 2ZoFFL5kOtzNkmu04l+axogd1Pmg/tC6Gbb3PVu+1MwcZpxEHDKGDLORH9Za3W3h - Yln0g1Pf8NNLuBvcd5XImRxaxDsulYg7/63tPYlCIt85p4DFK7oE+9D/8K5iZ+fH - y9E/70hkrQmDcJynbVRwW/xLt3UIHlYH2CrgZ14Sd40txIily0nD2W0jf/T9Lqio - j1p+73+Gavro0zTAd23TXgD8oU3Xmt8NcIxF9wshEJk8/60iAEI7EsXovDXt+Ow+ - ztib+VIMQ7gTrm/B//PM2vfqBSLNFsJzrtWBxwG6ZcVZ1+HjZsBZHDLfEz3pPCtB - 7EFlXpb3eEiBwzcZXg9fjoh7+7hpFDT8sTchKjViZtVuyKzz40rjEZIpcAvLQEFn - yt9Es721mdMbbdiooA2patwdztCkf0/OoiOwjdjMAetZ4b2uoDEKtKSCQd/m9Q1d - DBDlFvUMMEWDCZharnjKlesbyf80JLy7xnBIo5YDUiNloOAjn64+HQ2zMRHlQqzS - XgEOe48mmnSFxEyLGbb85DEgfDmDp1nYSLFsKH4CcauxukljOMD8/h049cPLScJA - csg1vdfcQKSCipH1XBSJZ8G8qHhIrxaGvW6OnjFpwTPNdpjW3Yocb32RtJl2L4k= - =8BYN + hQIMA46L6MuPqfJqARAAgC417+GgKVyvEOgVpHo/lxuhU/U3rXABC4xcGoNtwXWH + O43axMMz/G9C+k7SO3o+xfD00LQJSQjwFabpYwtkiRE7rT4L8rZY2pJrAk8FhP4X + 9o6jJhxrzm4KOdxV+UBh6gMwsmCEdBxCwPF+dXDE1OhDfEe3WAScK2FAhpDwE6JC + C1/9Nu3876Qumxt6b1SE5dnkIvVwskik6RqtyJCTmI0Goq313COHUCN8g7NMwy8W + X5ZPbuP8kq0rP9GWexTMl7s0CTzcVyqKAa7NTdVfs9k7sGYQN1lg/Cvq7gQVeydW + AGiDu5W1IffqstIRnLu1cYIi8iZ14tdhn5q1n3uX3M5qayA2hXOgDOyMsNOHzz+E + s9+uXigTqnyvG/IwriLpbxjbk7vHiS0k/4Ol71tDc454u35mqV7aBbFIMNm1rmwf + sftWUhOgUMbwGAhAnNhPTTwRMTRnqbjcSa+vz2zTvIr6H/RxF2kx1w5mFXyiC15g + z26c+abeFXpsd4FLs9eHlGW1C+hBCVMulei03aaHUu4uxYZZdqIsd+cBvs+sa5eY + BOPL3yeGTZmcouhan1LIadYWQ06g/+1QppkBN7Y4F+UjfyE7sBAuAa6SSHYnxo+c + rrK/r32Hsiw5XA9Yum8w9oJDzTSMxckiFtU5ym8/I5SFg13iwnOcW8K7pY9Uq0HS + XgGiQrFc4dZwoouqztV41Fz5eA9uU6PsPgKXdZM2ya6gI/vbEOu1VM4kv/D/5jTO + E6qSUhjpZZk/xDOLBPWwYQmBfzYaf4OtCdyfgUMpXvDDOQkbbMgoHFC4ro7xKAI= + =zxCn -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-02-18T08:32:51Z" + - created_at: "2026-03-05T19:18:04Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAntvfsg9CyzwnkRoH1sf6pGKCvrXP7lHxxQ48uCH2dEsw - K0AsX83+cQ0TSP2y7Qb+MWbyabgmtoE6Bvr+RDL1ZdT3GXuU2lb5v9BNMTe8f2AV - 0l4BKDN88wlAVY+2vjeHyv89Whc/bb+H40nl2aJujOx7qa/FH6+JEMLkwAqzxWke - UEyfHSVR/SLxuNXgncRzaqftfyW9RTbba94x4v4xpB5cgC202o+8YQYy4zNyIwkt - =//73 + hF4DQrf1tCqiJxoSAQdABx1bFOTL51TdN3JWUbJiAReAsKCuIWljohnvBpkCQVgw + M211JW1MolBr/75zZBeEybjHVsO8mrkAhRadrsfKFDrtdJMnxdURWu3VtBpJ0Eoz + 0l4Bm/k1EuDW8xG6Ct7OjTU20Ls8wgT2pZLu6KXEdZNLnNrxzQdCFPCgHxOeUFqG + 4WEXWboRy4QlmzkZ7w7PjVLXCTniIkV+lp1tnj1SX2+WvNqQfGYdPeVXx58WioiK + =4UqY -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-02-18T08:32:51Z" + - created_at: "2026-03-05T19:18:04Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAGyh7q6lSTFHMurCG7wYkdwgSEnvvY0Tp5STkJ51YwCAw - V3o2ZWi1vpHCT5dRpDLAoS0biujFByP9ubhfdES2g2VTeP2ofx+GpjlcldizgkGc - 0lgBbSpQ0cGo7K0OQBns6jM2cYtfdoWh7WMPR+nYaraL07ftF8qOHnFLVW/D1PhT - HG180NJX6DBTu4MnzhhiIug67j8rccaZ+rsh1M3q54gaLTXNKpe2E4iN - =hT9f + hF4DzAGzViGx4qcSAQdAYP9944P4Aq9DQ0DVcyHt6CHlMrAFeXyggwhCbGoUqRow + UvlXQ35Uy1W3Of9HqwM2ZyXyLY7PpTPXmjc8O9RdUnuS0sOvPihzoMQF52r6VQ6m + 0lgBdo1WiZs1VDzJHBk+5pMcrt3TbBA1VRgJELA9N7S92L/iJC89VPghSroCduQf + wT92usIH3fIHXTxpvRbvVnCISP01da00+TemwkqAGf2bBRwuu2AY59Fj + =Kb/p -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-02-18T08:32:51Z" + - created_at: "2026-03-05T19:18:04Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAA1p1e5jUdhMsyyaf7WD3eazil2scy5/Bf0sKexeEnIZTg - J9JbaAprs540jL1XdFsBuhyvlIr7Uz16srYFqtb5w0k++aebZC3PFqMeP2TQesl0 - uivsn6a/zC6eIJtv2x+I9TBgJoUbyj8DH+ov/sX26LFVdoz9+GvS0sGMyYOgrCW2 - /4fY7xcHDVKGJ2JJc28ZW25TJ7ay8RaQwNhlqe2lg0DO3P+jA/ZszzTMWEgLKb8F - UrOsIfYeVZp7y1OaeqFYjJ85WWq9hDfaVAZJfM3erCjxA3Hr6XuMzXFvH/PELEs3 - rrOhzo8fITIHlPyVzP+VMVcwZJn1xxd57MkxXzh3Obv8pqHasyaSuVauUJIP690N - L/vjIPZyy0yVKXDs7iasiHRAPNaYJkeVIr1epDClZQlvtdaba1/wYMUZTP7OUCut - sJQMX1EyYJ0jmAyBt3hjzvboH7LDuFwyL9EzP/iV0EF4szoOofpIOgQOt7WRSu74 - s8pNfI5XlqPE0cBw3Ez9n2pjWMHdM6uLwUIwitIC5GAZ4XUgF/wOCZStCngA/hIH - HMXK1aoKQGBM+qHVrnS+XiBx1zzzJSPOAnal7Dpok183khOnPwFWrpvFv1k4d8Kp - /l6y+ChyToV8h2NvrXDq2PEg/0eiSoBWs96hnQiTF/uNoGWXhkOp3NWujlgkX7nU - aAEJAhA7o6xiPj/RTB8XBOwEPw5cz2Nz7D0ntU58c/B0Btic8NeY5bnt17U0cpmG - OsuLM4GZ5fgTsmfUu8QGxeVB9iML91OQpW2lGpTt7xDBTDd9Oi6Rq+4dqX43LTiT - 3pJyJPw+f09r - =GoG2 + hQIMA2pVdGTIrZI+ARAA1K2RzGkBDkewnJSelv/IP3QjjnA50Wy9jPBKKIHhLwtz + 4gqaJ1QyMkUrJUVPZ7Jpn6+lNnVu6K45Om4N0pjD1RDvs3UWUZQPU7/QbtwL4/is + PeI/MuDrWQLTVfL6PTOzl+VqlOBGyF3pEjIX8SH5GPieRmzkb/NOdMxKvGySvN3R + yDfKoG/gMhJRoEl20vgVDq7mHTmZcXtGTNQXejjy3ElTxgcyqgq8Es+6vvsB5Me7 + o9c3E31Ab//8L+uMXytC0MP3q8mkIv4cQsbDzsPo0vpxslGRCtf7etsNH6WrQJ7L + 9REK/81pkT59GCTdPG4P6HLxR0H6uiI1gmT05AFI3PM29It1QYuSDtapb5ZvImMe + 7+vmR7Bq6TjqOxBLuiOJOa09myg/L7bvaSVq2KSm9l9TmHi1Cb3lD09OvOOhTLA5 + dsyCXoOZoJ85VC4BL7RjdwDU9Cl1nKsxOAOABm+dgOJWFAGNCtzbZzFO4Cm1Cjwc + fHt2zCjgB2jQL3bvHeWeqwXaUCVxty9GtB5p2MZyshnwNFk67fWi3yS3LW6Az8PW + z1pR3dEIvab0hn2GVtfXx7VpJLtiPphwde5VUZvTgFIdDRvVFtXiT1XHC3DTY+kI + YQeRczFJ52bar3yj43SayE6nhGAVc4zB/WPSZO4LoWt+BfwuiNX1w6TL7KgOEWbS + XgGxCXACzwbLNgtLXfVMOqlg+DHrbFIjxfx8yf65VQv5PWDn1xW2S3/8qcX2r2p/ + c+S4bx71xCwq6SRghwoVrLflcHGHl5IPmYjT1+EWr4OmKcJLESl6ae3fuhIpInI= + =pj4L -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + - created_at: "2026-03-05T19:18:04Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DKKbvh61jX5USAQdAoELKkyRGc3e3SHnRvws1Hg0mt4wgHyDNTVol6GUAlBkw + EFkil/L60+V+5KtmZxCaiKHO/l+Wc4BdzfojUthkMP2czm044d0pkyf4/giNN1aj + 0l4BT2IeG2jTdBj9jdL0jIAWdg9S+1xJPRmxlgak02y3Qm35SBppZec1su5keFTM + duB8zwOLpiTuvDslh/+kEv20noqUG1Cl4is4w1x9JOPJAeOqSAI769BvAIXyxJlS + =8ipw + -----END PGP MESSAGE----- + fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted version: 3.11.0 diff --git a/inventories/chaosknoten/host_vars/pretalx.sops.yaml b/inventories/chaosknoten/host_vars/pretalx.sops.yaml index c02b228d7d..e5f3132d8d 100644 --- a/inventories/chaosknoten/host_vars/pretalx.sops.yaml +++ b/inventories/chaosknoten/host_vars/pretalx.sops.yaml @@ -6,204 +6,213 @@ sops: - recipient: age133wy6sxhgx3kkwxecra6xf9ey2uhnvtjpgwawwfmpvz0jpd0s5dqe385u3 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHb1RWS216a1RqZ0JHOW0r - bkxRNWtzK3YrUlRVT0JnL1JrYWNNTEpIbGcwCnQyY1EzMHp3U1dUdVR3MkN0Qm5S - dW43d0JnbU5tUDJnSUdWc1R0MEVHSm8KLS0tIDhqaEpES211TXJPbTlVZEhjK1ow - ek1CYmpQTWpPQ2pzWmVXS216cGs1blUKo+q6xzJVl2eLJrKWGAa/sHyc2ZsBMz0O - kBsuRo/uiOtBuSPw/4JfzVcvJDCfcu1Okfa7tVz75pnUCmax180AKg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBPT2V4RzBMZkpSMHBhNjlh + VmhBMlI3aitvZmx4RUNvMGxyNkhTT1daejNZClhsQ1EwMnU3YUJESDJEUno3TXdl + czZSNlNHaDMrbkFQNFNBK2xCMFJjSG8KLS0tIHlkWTgrcTJpRFBWRjNnZXlaNzVM + T3BVQmZyVFlyaloxZ1lUdEtlbDYxbkkKdaYhzRq66SVBbhn4iNVSDSoEBk7+zODh + cogERhbBCuz6WXCKBHjFwLDggM6y2cLo/uk3qkG2X7YDXUqO/DMwSA== -----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: "2026-02-18T08:34:25Z" + - created_at: "2026-03-05T19:18:39Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//Qq0RZICEBrOS1eMsGnDWJxZlv0Ul/oW7AUQNpo+2bFGg - N4SyncrKtxdw2Ph6BnRLFRDXoH6WufaOISXgnGkTPHc+IrusdkToYPYhmUbBvJdN - y7E/maWUjJj5C9p3J2wH7itg4fcrSJD3fB5bf8JoXtYxhh0nl8PpnfmLQxROpyQ8 - gWchxbaUavsp2kekD+3PGIr3iQt1raDxtJGxkd3a9nGZ2q8pCAfpr+q4C9JKVjWP - 8uUTeffFnu6kKnHq0zSpbJCIpUw+Pq6qdGZ612lz7oZkIGsP5G64PlafnEZl0tVn - miRtGQFnMxuUN3bJVKfqpuLEQqmxZwS+S01XgRjHfhvf4SNedsm45CEn3ieJ3+rv - hUZIdh95Bv8RQ1zJSX7tfa//y9iLG9Bf3RV0QGKGVwDFd6CsFaq7LSfTjJh1bPML - PMV9q5dV8raZH64SXLNqqD9YAtw83tBfr5mk7yVG/NtIar0CkMzzgX6twqZcX4ce - PRw7vFsrgZh4WCmkeKtOIsyV2EH2IY4qRgg6XV8SYQaNtctRc6NgiCOZcI0+hp8r - /NG5TgIsurLdKHyqYr8bZxgv8cbQDJTXTL4o5Lj0Y0KjOy3M3TrFZNjfVQgeyCAz - DyrJZtfWQZvxIXEgN7jD4H733V40enNIULpRaqqj9AaON6GPABvikwkwYk5BaRTU - aAEJAhAmylieQ5Wf300EKWtH8Desq6SL8g/OSkA2rRgOq+OxxB3Xv8IGpPh5ibXU - xPtwDHnabQXx9oQcRxyRI3ENZFcgTqT5SSmkj1dEpJl1wgjxzaZ2+cVWLeAivqNm - DWmutl2wnn35 - =28/h + hQIMAxK/JaB2/SdtARAAq13EX/H/1JZ3R+e5hrVcHf7dPm1Hjq/GfvEQLAlciloe + 6Gpt4GdXPiV4d0RDl/JBOwEvQyUMPDKYj1gEGbUDmllF1MGa0+eiTRupJJvwvC6n + eQ9W7+S77+gbxejcCnt0gb8c2HU0xxvfssT9ldTal1xxRNzMtKuNF84bb+AMI/+X + ZY54NKhNkqTa05w8LuPr2xnAr0CUkLAHtYWqDtwSzUOjn+amXdRjxtocdCQwA94d + 3D5KWKsHjkKj4Xg637bMbsrlj8NCeiKEHUHC22bZCMvcVAQn43nzO81YORfVLY4d + EucKQ97u5wlztt1LPgak57YSjNjdRK4DPyW/RoyAXD7vfVMUMJfPlC+KIsr23rB1 + 2ShSFK52RLS7Nd4c9oxG9HeFjHzmrL93cg+J7r0c7FDQP6/dgMP45KaroDRvARDv + 6C2XcUkqjNO/2W7m+kSzuKI72Q4fkMu5mMSypsLXg7ZhydX82LQfMtWU7bsXq5qa + plLACiQih+ZV7Q5vJuOvWvy3ajj9hICuBNcyPn1zIuusNALmdNo07T7H/C7Z7UW7 + PoByKlGe8v2pOFn4V+1yN/6JZ0rAM4Hw4iqcfs2qTaZHbM6q6gsJmKxKGKvJqA85 + 4N1Da8Wuj76dFh7ZPoXT0w5/ml+lg6MOm5nTOYTYR6lURiC9clonS4gAWMPXV1bS + XgHNffagtxXcRGVFM3CESeae9DtTZdZ1sBiw0rOsRYd6lhufZPBIugCHW8zK7ZhK + xP8ISMeFc00rJoHltz5R49b815bBwpPZm8pOpFkpTOOBQy65OSdN8WTr1ABDIC0= + =2+Eh -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-02-18T08:34:25Z" + - created_at: "2026-03-05T19:18:39Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf/VrOBZEOI9kt4uE1QOI5Z369nXXIgT77WZRrkiXDFGyI3 - o9spcRTAFHXs0t+d9ltM5hWWXDR1Id4fmxPjDQn+DDsthU3U2S5/oPxjNg6dFspW - D2n1RkUb7sm5DQvh0ZcxiEFNIxcHsKwCTYFsdr/d2r4pdxCgjb/nCfnryNsABZGH - XDdbGQezO2BjvLjuVFxCVO3C26otX4pHVweuP8E2HyGGGPA882gGBqRoIXs1NBVS - j9Wd0clrtu6RB+MCjwk5jBzZP6P0AGbAGb4F93O28F4/Gtk//4+QD56OQ1F51dom - Y/Vn2ELq8E7mgLDJQVgHFnu6XBJzz/ULa1Yj80ddpdJeAWgJsdJRRaW3z2+GeXnH - pqJcu7C7Ujz1lxEuZq+hClhjEP6v7I+rylU0i6EBkHwY8cE95LeFGXcdQMkgGJSq - S3Fk347zugna48Pu3Uv8BxYaiOrD2Py6/2pHdXoZSA== - =8l4B + hQEMA1QflAioE8i3AQgAqnmHh/Gr+bUvT0DnVEC+398MleS6oFbZx4xutx/Wmhxq + 58WQ9I7ffDpC9UwH5na17E8YesExqx5XImz9Fxad1vOm0yg+AIleaaFMdQ/BqW7s + jdNml/IbhuUGyQoWHPN2XbGr+GHAJ4TVcHYlfXlro57Ka5BlAkm4wnlJVCoXHQHo + VW5cA+4MrHoUZzhhHo3y/d4ESdRay2TKHyCqQzap+vb0WXws5kfbS1CTSN81XSx2 + 7MXcq0k48OhsdZOsMm+XY2JTaNTrJI2F96xPmeg6FLg6pj3xKKYgBqe/edOwe7cl + rzTJ6elh+vCv5TJnUJLA2hdY8K6lk5faz+/ZleYMq9JeAZFaqA+AfNu4b6BQmXcY + olU9j7zKavwbaD6udXEkSdtbFu99VVB7Iw833FIL2mJL4FM74CEb5yTKx4DsCax+ + oSCuxopejUAWGXZxeulZ3aZEntZkTW4eQrt+wu5NFA== + =xM5w -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-02-18T08:34:25Z" + - created_at: "2026-03-05T19:18:39Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ//QeaqjjxdGfFfm/aaSnyq3rYqdaYGFtdiDso0aqPefH73 - fmyjFNjd5VwuFvtvvNwduHLHpP+vPziNkwap21xv8gW5W6GlspOCnSSdA0JebpeZ - 3gN4BEBEqyzQLsJ2FvjyiQKI2jFxwoIUz7cEddqw/g1/1jwt88ShQb/lWMYZj8XT - dwpm8Bts0uV9mAcfd6O4RkKWOkAe5dDdV6qQI/qhZSACEniHZ25NeJm0oNeJkMe7 - FMumlrFbx188qTdFaJ8TlbAvJHS9Nni/zXdzZaZcb9nnnXR8HdHWoLooIWH6iOHR - PxihRy1MQjlCfHbd7/oDhJvkcAXqQQMIamHSbbzjOq6G86vM1Pybg6WIpHZ018Z3 - IUz4K0RWWZ1S/KGDhUsEkdPKU+sWkhHRc2vICBheevanbuOvL2EEVKkvoppGeeXd - iJjJUup7VLj4rwT1+nfWanqqk+HXODYiQ4b+IvP9v8W/o05Pts9voj3XCKhtCZSv - SNMxYwC9gF+Kx494Q4T+2+59QfTMnu+Bipdxa8bpxS7TySN/VSQLkXeUMfR3guQ+ - LrvtEjkCI0Pf0AyZ+vzxKKq7/7CRs8o0jTT39bqHTgv8Tmr1N+9OhHJE6fUfk9QL - hSwLduYAz/MW2KYkv8ikabxqYdeo+cwT7I8qSGrz5gN8vrUGhRTz/mGcLSUx1UfS - XgESDCl6IgFVFzYKzt9Qdgx94K+BdwfD02pD4LQGTO/xmHIsWVetrtzEKTjZLWnN - yB+AF+JRGbyjQAt/8En416Pu+RNTULUc9gcSB4atwC3dFtZg7KBsBkinFEXd8Kc= - =Vu53 + hQIMAz5uSgHG2iMJARAAuqjaugFg150RfN7Iq1Mk7hWI1MpSlFOIbNU4gojM6PlS + iyDHrO1Vt+3ui4YVJ0ZH58PZroQP0lL2IIhjgMfbwQw3yT8pWqiX3+YW7DOTAbfR + aFQs0W3uOjInDDAPUr0Wn7OSBwa1O6aXcYUkQjGzoeS8apt2fYEM8eaHd6kGbyyU + xwb9suuxV3vuDPJVM4Xym0U/EYekJzwrVbB2KdJLlqy8DS+UxOW//7mhq2QHRNE8 + wDodLpSdajwxBTRxJzoGqlefhQ7qJiLCzXt3WDfU6JvXMHk9cibUQjuoQWWSDwuP + U/abFnMDqI75mLbGoDGpzTvrtH10CTcHRf+QzhD7WWW/FmhkycN0xboWRT0xR38C + dA59eaS+puWtJF7lS7hUXBR7KvJlmje/WMhKTEkWDRuCUeMJSvD8G89Z5Jxf/vj0 + YelsGi6vHZNgMsQA6aIvklipoGlq7/c5iwxVuTlvN3iXMQ7ADvcogUML+wvyzJUv + x5Ex6GawVerby3/2CUNb3BRerI4lV1fkPw+rIjD3PPoWNrIOEY0YFv1Z1CMkC1MB + 9Ays+wyTPcj92Tmh3S8ZNz3X3GzIXvJCzTkXaYV6muQ4yRFaos3Da5MiSSAHUtTC + u4aGMbLGG27sg0iXIS+bM7nUBSlNMsZ2jJlXqngoVLvJqg6isWXMrQnMJQJ6HEnS + XgHupqMvORYcMJOczHScYKwfXixKE8koHTltXdcq35d/uoL0a2QWvlnln817BNId + WkePmm38ohsp2dq7Mn7pmHmKwnMpmf5lb+EwMw3UEcnpL3VslrzTLEv0QuIp5YY= + =3zNX -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-02-18T08:34:25Z" + - created_at: "2026-03-05T19:18:39Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ/9FLNpkfiENIDXA7KYYL/LfXXSNPDvFa6hAjot5RkA3w5n - NqSw6TkD8033sGYYZVTY3r4aN80nSTNFoIgAGrwyD6EMUA70r+BjDUYCEydU6dsZ - mOx6Cukt5WdxDNO/tPCz8vBDa5o39Vjy+cgV1NmRSgnar6f3QRkONPIbNgdkGoPa - re9V7f7j2nYHVMVmzAirsoIsjqM1Xy2mUk7G6dGToGJH7ZRGxbFzmeM2m0A6cx9S - JJ9ptaYXkc9ZZt2qV+yw7gbbqweQ8+CNuOo9BCInG5bxnflDdh1oR3cegV6PG+lz - R/VH8FHz0c6z2wm8U6hpYYxEiPCuGMztTZ7OvNbqo2ggvVue8LbHFq1kDGZPXjx4 - WbjFR/on3LsRU++fX3vd28VIHtBlvouzIDutHHW6WutVMsm6py5+PBaqFsu6g44H - x3tAk9Uiv+5EliNSrIDs8ZH9XwaQ5Kw75IaMVwRkVs2IZshgTjRCAIbutiOBtI/5 - ZiPmWw+BIw1IeqC4Lt+FfPCZeo9SsZQbw64iOBY/0IjZMbLUFDWNuway2lel8hYN - hTmBX0UssTTEMG0rJ2gV7nt75kge6vQ5TLQVEB3xJeO8eA9YMP7WwIgmlAT5JkkR - FV4JlqDC8QGhcdv4BX1ItK0kQ22CekcfK33SQNXiX0wjrHdyaNIr22VA+ROuJRrS - XgHN/VVElhiEtzoxYuEzWKDzjUMKic6N9XguA6ZPO6gS/pPOdHH74tGEICkXNag+ - 112/+ry+IIBim1JlkQUGTSmYgh/PCCqWInx/2kUR4X+H7rAPVhgeTb2ufB45QLQ= - =tgBy + hQIMAw5vwmoEJHQ1ARAAuH6xK6tUPimWASohAgLP/h/5swxZ7UEEuV+LXrBhbZbm + rFnCqsZT8A+hq5Ft5u8X2JNCIpBLDmtY4PO2G6xxxqQ/OBahEYNqpiWQuwyipFFh + uiriJf+tDh+sOuravtxVJwkW43HHtkqLlcv9Z8vFulp5myTj7nHoqjAXspozgcH7 + /wCbGCNtg1m6BI1n3ZkX3aNH6yfWjr9gPVBhTov7WTb0HDRctVhDqbw5LNglmiS+ + ypWjJo8i31qSmFPdnKhOhhwL+NTnZTDocDtxv/N/pBK0E13z04emccPoRmFW2Bty + EoFybmEmwNKdHQ2H0qnw6rNa1mEXINo7wfkTvZRFEpIHJOcgA5Fza2xAMZHllws3 + uf6hMoW5+qmD1jk1MKFwoZZW4/gL9EK2jcnPtIScLdti+7IeSMrrUnVZYzEZiOXw + nuAI4hHS3yvLIvW+oDzKtiRZgUVtUHy7fGRbo2eXLIeLAPYWg9hosOBwtWhkjmOs + IooedybywPWnQW7HwB8uuZDaWQaLtgVZOZPVucXA1YgZRCfbk1lSj4U4hUk/PXi/ + Lzxk7dEpSKgykSORAkKjMOYXnKHZvHOz8V8AzRRE2h4ZDKqsNTcy3gOg4X8uyMVz + Ncr2UDGvKNA9kqyw6P/gFHoR8JBjZeMSosSKq9Cee2pCmWOln2Zr7Momapal+tvS + XgG0hzIRGA8zjxVR0Dpdto2cXvRngenvZtq80b8kqQ/tNwAqfoaKU79MxKH7M+EL + 48RHHHVyGTmPddn1hLum0XxJ0GumiohLwkVZS3gC4dnY6A6X+/VH7/ONH7vZ130= + =DWfO -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-02-18T08:34:25Z" + - created_at: "2026-03-05T19:18:39Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAVTdKoFelrbkSd7InazDll2gFH3rzYB8EpV18aeCO9g8w - 7HE1WAwCP7GWGBNptedst1q442Bg+O7sfckodpHMLb6YyAlcaE4/YAbGmuUJ49M9 - 0l4BBW7ufS/k9NPWMxl9fmXws8V1mmRXpPz/M9hxiOV9Ro/ivftRIlBJGDEymZex - v++P+uk3i2lVJzMV34fc2uqEotqgW69TB83hBzSTBZDRSdofUrXpYEwkv6k1fzDO - =pwN0 + hF4DerEtaFuTeewSAQdA0RC689KLHYBx0kq6vHIdckdwe6X9suzjqJPZbTj5zG4w + liEw7J2VrjtTpO0/F4GR2s4Lg48neUeTW1Xdj/relEgO6zza09iFBprf3TS1dYAy + 0l4BgHghcjK/ryB31MECmaI/gU2r7bXmSea5X9mRbjm3Jq0razUiKe41RgX/XJr8 + Syb9LdS1Ur0bpIXEmKnj4ztqLnpMs+x7HMNIffkFTvAbytOhcwG/RN1JJjvN3Agd + =CecL -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-02-18T08:34:25Z" + - created_at: "2026-03-05T19:18:39Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fARAAo5I0pU4qeDr1qEKwGhJIqlt3AnUDIWriYORWk2FWWgN/ - 2GsfxPBMllcjnVSrrmpZzoR4f6O38dTXwTRPE4N2gUFFF0on+EjiGU/vV4H1fyc+ - YhdadyBBTMe02wWaZfUi4xARO5cn1IQ3mRwA/U36tDmhvA3zuHcKQdD9bgTus0p5 - N+vx3hIcCoMOkkm7fJglO6NHhoG0vH6MgMGWNyr64c+pAym5IxCUIQjqUYtgebrV - ++xzFavViE6MAN2TDuGNJgtVXBnCGjGX/9XfAA9RPsOzSPpNCENLsi2vuVkeKEDl - 2qUvlwQt/iRK8Jq0/gYvOsDRJ+dkR4LsbTVSlG0Pr98HWjK/V3VvTqVposiuYK3p - OqgDDMt1iQF831dGbSFmO4SsW93haZCI4hSjF8+uPK+36J80+qVudxYEQpRormBf - l8HWgxsrnT1wB3ijKsM1wC65wpHHU5gWB63BwqNQiz0ys52o+4f9sQDjSxq6mXOA - 3ik36s51MLsnvkkEVopyetga/NZ3Nl1KZozMnluZ4TjVOujuTy9rWxWfPZI4imsX - 3xJmnepR7EHcfdZbjSVcwPKuPvgN6h5uguyNxw1iBvHRA4mY5dPZPuEFhARw8iFR - 1m5fXjv1Rn0Nq8P28uoepphaJy8Hp3XzDEfjsC8V8WYbLOSlPXv7FDsbo5BzUz7S - XgGtA4NAgJFQLHZJkdj0WQAPwfevgb8M1kIOH9jH99VZ4YpVgMcGda/mpwRLILtb - fM8g1kMhBBmrtlLJqhiR1uAndmzG5y72y98Hngzbo+CQuMovH7Zllje6JQOODQQ= - =D8sl + hQIMAxjNhCKPP69fAQ//fbtaIyWBCNW+QSIGB9IwhygKfDy9kvb/ZNyZi/pflUdY + qXjvAyhr5ZFf/+tEupYRLEebhNCQz/GUZDCMCG2qyrswMVbyAl69soM4JLyewqK1 + J+72oljKcRSB99YjHOGQCPlGgyiCkaYTKP5p0mUAKU+D4QKH75864XhcqhVAVT9w + Ubjegiw8QXL/gfewH6Wqd8yWFo0SHpgvIIS+YwWsyb2VVv3DBDUNNkft5e8lic6+ + 3c2vJ57yZ1ROtBpz9KNjdUrTcA6xzZ5hrq9HB2Zmo+MqYC+bTfFHUNiTNdNNQ774 + FcHNcFcOnyXMsOyXOjGbjv0LofUm64We+Y/jLdlI4nyY9HJ6ZX4fBngqsINW0Lcw + 4l3B2q6U9NRoIblcteX2jcR8CdC3EcyNDEalOQd/XRCmnE/nLPgAr9CqCznri81N + LV1vqfqkc0MkWKXvm30iL+jeW3kHWtKD1sMAAL6YZS0aIZBRr9D+22jRIfGU6fb5 + 5LsfOuufivfeQuNTV7QIf+Hu5lqcgGbcsvRa4Mds/UwFs530a46aBuGpbM05o9jh + 6hA8wpNupCHsFfMDxFiW6TDPd2mG+kpsZpfAdxFrgoYj/+ZJWrHxuHh/yewuMQ3V + LnJfmtcAi61QaNg4cIERVBuuqZh9y0t5YMcmpPvpABTjhOAl9lIFi0MWmR5e42jS + XgGht7TmcKnkcu+yAPqPWF6YpEtCh5nGyAZ+RhBWaV5Im0pEGesu/mgEGfQwMnag + lRWe7QlrbSa7HAJude40jbUSr106FNNUQQKjTcaT47bDpS7iMo+PeUQMYIOAdWY= + =padH -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-02-18T08:34:25Z" + - created_at: "2026-03-05T19:18:39Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//WMDbldS3mjoT/4ujV8dxTh7G2hgDV0zP5+WWMJk9D2b4 - oB9oI5nCXYeCHr8KuTpO5pLaAP9OJwjLPhjQb64tFM3EDxkIvzrIiXi6VJGG9VnX - ksAZF31wb3cS5lwkKWbRvYWOrV+4wLKXuJzGazyP92CrEtuJCsTtG9K8+DpiYqPQ - OCpc5eD71I8jsEfiZr4pzHoALXWpVQRss9KMB78C8eTUmDGiZDZFeL+XZztsxiTH - 9PzN4s3ivzl7zwpVO08kfEOAG/EUXJOUtsMd4A2nG3o0UCd7cfdflzciNgFJHlpp - piLx8yh6Hfq088Kn6AC2CMMs4OPWHb5KVCd1NqcXQzG4yAaWj8BiENeCRIoMNVJC - 9Yhkgp3sU3MNJu+qtD267W1piMViVBD3xbHeETyM7ukF1AdOr3PLBlKQvYKkZyWW - ojfy8pW4nVm+iP2GzT2I8gpN1QelWGInGpbdplRF58XQXujfa92eRBnvS6eRqtlv - DwqIasspdskNJixKaBiHlbZLHpuUp6DNynUCaizY0JlYYCbvqc4FsS06O+t3d8jq - foKiinOlmRpn9T6SCYdZkgKPjjy5TcIvPIuHLZW7/R0uk/qr2Jt0UTOPvniEM/Fx - SGdwjVYkZZGdnV+OHs9GDU1Cnf4B+dGV0wGip+X3U2lt+zR38YRXVFHFBazD5LXS - XgHSjbP8Jy51BHcj3GnqJjWo5F7IGnAS/UwzcEZ8oeazOYiShqBzj79XqcJsOZOi - GhoCrZlZAcG2vJZLmS6/VnzOT01Ku0MmNMyIS/k0mRcnlfWog0XvMObMOcmVSz0= - =UIwj + hQIMA1Hthzn+T1OoAQ/+IYVzJZGJRKim72mtwwJ9Me0PLV+7sLL0/R5tJ/ZwJpC6 + 0QJWV8fxVG+8/wKIjdlFAfRtjUrj3FKGzgN7mLXrHiaF8+RPSwXJm+WOkm5mm4Pe + ORu0oiCccDlcL97Q3VuDEsxht4C2HU3gLgPUoWa5c2pDYV0UxbH8d4lhLS78k/QQ + QBIYY9ZUta/EgqvGT6s07cXc1dOgDeyPLzs+apwj7QWkmDPq+LVUUitZqzskgBb5 + z4u/zl/CH3Po48HNIWmjzEIEbkzVn0wknLEl43r8QOGsBH3Zcj3qjkEpxnfevbwZ + aXXqNTtgZnnmhSgTAvHwjz4Nx9EaoQWu0CJIcftFhC97vVcMSmlgxPRFSkXARbjJ + hjNFEJn9T8NsjHZfQkP/07vnl+at1gcbXFoU5MezaMCw7a9jcc/sRKUh8qQ7Ibji + jI8w2m/HRVF5/mQP15rtiIkZh+ketaqXrApXstQcvGwdcFBqV+FYCK0m24SNl2QA + coQCDhGoby0Eg7FxP29NLusqcn5qBQ3J8X57oV4+/h7KH2E5MXJiwCWftq7MttYZ + PUDN2cFQ2Y6YSi6QGeAYhW5bNToQuLGy6+roo9Q81eHq74rmu3FQv1FWQl+RX/uw + 3qz/8ngQBy6uefPNmJiBnF4PCXNpM0zxcp3MhAT42+LCmQ5yO2+zdSgr6WDyMbzS + XgE9MHxAYcPtfxT0Dv1jmfHwuKxE5R4jjXOMbsuBFXWg0imUKHIygjQf2Ci+/p2j + Iu56rMRrb1z3RLOXYkTpx23RCOGp7AS8W/P6WS/ZEq0dknfJ56EEeQozcaWqyZ8= + =rOW9 -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-02-18T08:34:25Z" + - created_at: "2026-03-05T19:18:39Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ/+I1nw0cZHq+QNoXj9M1+YQNw3Mjhn32NtUCqIFjGlbC7A - lsrPy5DPS82yJ5Fv5CJyAlSoWgBltd9zseU5EJrqLVCGVHJPDCT0v1RCDsBHs/oX - uTaUM/6+F71Ef5YCyMxTWMAwwrRa0bN29pIIEgqizLDHOzLIubA7fBd06PqB2WAX - ofrLiSLkmcBXNOoUsg3J5Zac3Y4+y7sHlhN5pj2JShuA/3AVNJ6B7ZpOkN22nT5s - Kmwme6OhDA95NTLLBWsmvpdboeEG/ODunAbwYjqV16KMLGFzsGd9SWkS0MMLomRN - NlWmyPR44Jga5+2lQjvNgr3ImmJ9JKaQmw2i3ZqGvdoTHkiDSpr8ofQsTaYro2S0 - 1Uj9zipkVviQgKue7bC3cvXSNqXoNzhwldsCTvWta50K+YcN4sqEuYawvzolkVCG - qMagiTWBUmRNo7GAQN87oXqZylVq4R0ETuHyJbNT7sLsANk4hNQ4oxMpCO+S+oro - JsZElkdyS3c2glpjKYY50TPzB5xlD0eaGJpSJEYz+uzBquAdZ8c604e2saxvmeVs - xFD+IuMaUX58pPOJ14OG8gvKq3CujZOdFi0e0dEvwN4D2OHTXZ637DdC5wn47Zzx - bCTD1rzRHQ9m3Lxq07RsG16EeRIW9dvOaCc6r5qRoHk4AZ6fjgjZ5152C7md8ojS - XgGvcmvOzY+cP55T87ev+jUF4ZdC00KyL5SUoL+FCzplmKcRYvL36tDJ386NBgBo - nt/R8jk4YiA1yOdcVZ7/DP0PI5Rx9dH9mcCkrn/jplFEKUeemZ7OvSl7v9jY/zU= - =vrLL + hQIMA46L6MuPqfJqAQ//Y/YLV/nhdDBa8ymrDNSPEBSisIKdBwe1zK83hxa2AKc5 + BikOMg9S+x5CqaFCtOFtt+jui4k2jj52HwiOsjDGMqyOgk3dN7hk0Wbj9Ku8lBhG + 42SUU7/rkSjsXd8oxG2DWq4OdA1AP9y6ODCUJb+RmWYQw2gvWZe7TzGzL+EsD1Om + b/h7oDuFo6+PpjBYRHNmnfQJknbNit2k04YYm3J86TJaCLQ2mZGeKsIJi3STNiaF + onugzsrAzqPNx5cCEAUGK4W5dCEsv5SxvxaygDyz9tVmZfYXEbLRgBGSxL9LLnE3 + qmVaEeYWjcNXP+KBHkhAodun5Fb3kmPKYlRgTD89r4J9lMqvIMuOnPn0SR6JEhzo + RLhAquI9LSci5UJWUp40pz16isRrFUlmhXzSjeWZa1vU75UgVHvi8FaGOY84qfPz + l3cSn1+GtNJARVS2cJNW/XL3ZsWcX1IbUY8mZWe1DN53HdZqqQAGIbQzoV8R3IKY + NrEzaByy4EN/Qk/LJvzDSQbq5FRGiwr6ZJELUirJbXmok8VXk1IvW8UkA+aJrE0N + G/61OWTQE2oIgo301Q/rlXF4gsc6nz/eomphOhZUDB953IkRvsSpvqKobPyFX/j9 + ldCiuH0rdpgGLaKDfsAXoqKO3iZO+GxnLuHMRC+JvNRIprL8dZOe5mJjmiFhbJTS + XgGl+pN5Mi2QhgQU26zmrRGjOqrLJwt62DmwWi3pRxoVm1jOSucTlXlAqezArc8a + NG+AcU41tq6Zg47TipJuxEF/LyexVoy8EyeO07f6Z4yPL5rbsjz1p6Kh8mcm8MY= + =vauB -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-02-18T08:34:25Z" + - created_at: "2026-03-05T19:18:39Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAwc3qPj0FD1eRzfQ9u/5c+Lj1nMUuy9YrzXW2ez33uVww - 18RFNXVhBGUR1h7a/1Pcn9ikkxkN8q+76O7kdJvBI976YNTTy9gDmZR3W+QuaCwQ - 0l4BsYWmvhF4/4l3Hgw0Ea5988oFEZ/h0nwxEkgOZ3VMdulOC/lFmCx1nHhfu3n/ - 3X8bO5aI8wyarLiI/VL/9y5AC+rEEA4I5S3bO9S53CllTNdeBO/9BFa22hrerNHu - =HBAV + hF4DQrf1tCqiJxoSAQdAlkdMC2q6Zxyipm40asFWrSJwfzNomlu4dzslMWWdbjIw + CyuqrCdxmVtz3As5aIlvmuslyveu8B3zxFcfqJ9MZ2Ao3dcAhH2s2htTdk4uTMgC + 0l4BmGHWLfQyjiRHf0myHREbbk5J3edZxXVXFVp+udtD97urqWYNgZihICTjNnkF + o8CO+BwjBW+r/9RCfFlU6rs2Mm6tY/Ka/wjM+RPopkZP7fsiE+cNt7SyN1bmmruI + =EVYP -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-02-18T08:34:25Z" + - created_at: "2026-03-05T19:18:39Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAZQ6LdWAL6kF4YYIypsuLwN9OXyyT6ORGyWe+ftF98m0w - hKnZU9eHIaf5RfNap0Bsy99uRX/T97Vz17qVELScqTduOKe6GeRCQw7ndcZslELU - 0lgBtoxcQznZiOKpxBjq2zAK7sNy02OWpMP2qRn/lb8CmpDNaL9Mz4bgd+ukw/ha - e9568ojfIro7x8Iuoy0YBrGGPvDqYvay0B3Q+tf5nP7sZEE7lhKZ+S3F - =EI22 + hF4DzAGzViGx4qcSAQdAGk1LTapYt4dHMH3wNfJKJ18KHsC4xsm2P748ATJQIwAw + xWb9eDTX6NwxFH8shSldQ8htq3yLn0z9De/T4TvPvxNlW9JLUekJ9b3yYoZ2Khin + 0lgB0t1VP3l/zSQ+3FShorhWnny28KPpA7y/3TCTAr3iKrFkSxSFtJLRnZZxWnQb + LkPUnTVhHEfywVoOfnNWnnkNw7dIKpfOFVzxlXwbDd1YYD2HMIfuenW4 + =Lhzq -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-02-18T08:34:25Z" + - created_at: "2026-03-05T19:18:39Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAAjc1Qj1rOBF1SE6FfrztoxrcHaRUesNEbW7tut5gnmEQr - CKkOb/Yfd+GiA0KPOk8+CqgJFeadc0zQwvT9TP4GVb6Ev3cD8fXNf8V3YEdNFydf - i5/b1XzvMgs55J38ST/M4nzYJrrlBQ36qCW8nVcOwvj6aVEJgsLs3ZhBEdTvWTeK - RkLVjpdDXG53Kbu2ISiaXKLp95Gix5tTucR3Ysu1dCbiUSCbA6ujB3oT9a62yIRo - diR4oG8tlm8XMhVNea3Jv++1TIKsZemsUVTUpMnyxfpskAEQxPdCQc13pnUe909b - Tb+pa3ZBcZ2hHl5mP4E/Sd9jRfuVpwALE6T599jzbFb5c2Itz6h+zn7EalafIb/I - IJhP6qrUhtNWahZmO+mqFbROj+6zNbPnwZA+QJAITqpRSwRVlF6VjefUAuDWTBMK - XRl811MaRNkGZX/dARET5rzGqg8D4U9BGCuKfgrVPlEQRZ2mx4oxbOQ4SW6tza6n - PAxix+soJZyjVVCvJgh5+A9mCNRyMjpnk3dFdJr+EgZs3acUZTTyI/mPuIyjx//i - MoWFXAmpQUeTHHrgO94EAVYSZHmuc5vmE7Z0rKy9V9U9Ph+mZiJYmiRbnvvQ8XTo - L3dKQ4ZolJBDT53nzLkdLlkpRDa+f3a2x4XRLaP9LBSYkRRkVYEuisCsgLE3YnTU - aAEJAhD5H5rEmrm0JP7C2jvnJ3XT3cy1Gf+hwuEyAr24alv/Fdk1tIX2158gp3a+ - upygOH8T/d5x7pswMjPpxmcU7cUYddtldKIxU3jYlpbgwDVXdeOw2/ThWadVrWoM - MlUY5y7blX+V - =mgHq + hQIMA2pVdGTIrZI+AQ/8CyHGM8IIC4XPlF4i/hKHX6rdmVbNF1V7hFiaiL8jlwOl + 3a4ztvA1mUXUGT8r19wcBsWevzsoL5WR0N6jjCPsd3NkJQDs8tXz0zUE3iCYFRwU + p59tM1gKeYMx+jwngPDic7NL4smW5Sj5noenHlk0lbJQScH6aPU2HwgB0pQtG37j + P4URQgHqM0uA5rBYs27ReDbNbQ0+kW5or+KsgCM9CB5YlcIZHDXE/WWH61sK19up + MV2Mn/dYNd96tnZLhQ1DOkRu51jX2QHT3Bz7f+L7UBtymlCap0gENTbmJa6ggC/T + sbbi/3UcgZmRJ7KMeYnLZ7v/xHwd58Jhj3Gog80AF/fagjUhGggFWbIcJreci56S + TtXFm6GZaxpVzJimF6xTsc567V5stxNf2/GMXpH6eC0k0Y2TvDUZFN7FCh2u8Pui + LL6CDgVrifRak1fDty5iBZHcFEM4SFnUCMYQXlbTjj5l6Tvu7bF4CtGFawipPH3U + 6M7M12B60LCkxzfAUBN9Cw/iZxP3ywV8RWIBRvBgX/BErVlASUYjh6zIVESWcsKY + 7lFC5XvWnagev85a3dH2kchhVJR8N5rlXGNZ+X4CfEBgwStwCAHGaFJaogGQ7dxN + pYA/NU+ABFJaSyvCO9GU+4N28YMZwR0kQ9T3eB0h2gO98+YKGiCiU1bvvrZs1U/S + XgE7rk8jKd9X75g4y7yUmkPrcyslBYRSm0Op+6dtoZB5DS/xsGhuEZbhZGdmswSD + xyyIR+gNT2H7L+IumcEEFaIJmrXPjlsKcJXQpPPSFbCMYRGBH3gT2zboN35i3xU= + =6yXE -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + - created_at: "2026-03-05T19:18:39Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DKKbvh61jX5USAQdAC4DcPKNy9iEFF1TFKMYFOpMTiIAwiU3o2o/2zBDjK0ow + mRy0CDcrmNF5jCa70GRE5e5maN7gFltv3wVTFYw8EEi6fPg556Op19QDvYXPmBwY + 0l4Bzoiq9kCj6LJcs56fw0nBLjfVCxw5vs+31dVhKWgYwNd6UfWFyN8ydUPszGxe + G8bZWNFPFm0cySN4LzY5JWZDHKmj2Xxc7ok167UXbqVGn/Lh0OCjzP1hBlAcsHzv + =uYtx + -----END PGP MESSAGE----- + fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted version: 3.10.2 diff --git a/inventories/chaosknoten/host_vars/public-reverse-proxy.sops.yaml b/inventories/chaosknoten/host_vars/public-reverse-proxy.sops.yaml index 38bad4fd83..91298c75c5 100644 --- a/inventories/chaosknoten/host_vars/public-reverse-proxy.sops.yaml +++ b/inventories/chaosknoten/host_vars/public-reverse-proxy.sops.yaml @@ -4,204 +4,213 @@ sops: - recipient: age1p7pxgq5kwcpdkhkh3qq4pvnltrdk4gwf60hdhv8ka0mdxmgnjepqyleyen enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4MWlDUmNxU3k4Qi96MkxM - UWxUNG9iTlVkWVQxdW1HbFRVSjBWaHBNZGo4CkdUSzgvdGoyaTgrS0E3VktRc1FU - RldtNnZMaUVLZG85S09kR3JPbEtVZU0KLS0tIE9pTzBpSXFBTlFuR0EzcVp5ZzUr - cFhkMklyVUg1bEJFeVNVZVd4SjYrTlEK4zGVQGmEDblkP0TZgl6ZFxvM6kDraMJW - PQxpICWtn2NQHtK+ZiKnCMXRpVS/N4cj+3Cp8XIQT8Vwo5INXs3WLg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBJN0psTmZkN0xEc0hpcFc2 + SzVQbUdXcDNoZFZzdjVVUlNGUnFva0hKczFVCk9FbHlvOU9TWjVGL2hhR3p3d1B2 + YVUzME9sWE1LV0R6TzQ0VkNXM2w5c3MKLS0tIGdDejZWb3ljL3pUMEowcmJnMm5D + aW9ka3N1UFNkaGhMc0NlTWhxTWhsTWsKJ9u7TFhIOOVFLhOpCm1zIMMg5QOCUs0B + wOjj46u98zSAeROmN2LASdRikqbbnrrFi/26igNDSb51QwQgdawxFQ== -----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: "2026-02-18T08:33:30Z" + - created_at: "2026-03-05T19:18:16Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//XCEGxwxbyEpcnXd+CBZUhD1kpf8s3ZUXgmdd5AukMaxb - C46TFJhUw1yR2V1We6N1Db9QvV2fnItbKUymjFpl16yUPIk018vnOJAYScxIMmcf - 0IVYDVpnl7pTObFyzQ9p22oS5VHDgWn7WBhSkyMwAZxNiHqI/U2th7dt3DJd4S/I - wnnwuJpI8FMUvSspR9jN17jsDBNg0oquAtYVpjN6m9chx4g85li1XPia22FPfKZO - q+322eq3xZR/gSWB+nc9trA4bsfRSUHUcfpm9MnvIFCLdRCuNXvwXKiGdcU5wFpW - fdnjpOiSZKkI6Qeb2OLo+I/hK9HUROcoINVLHL2UcKcoM6ijEw2FPOoTrF1gPgNY - p2hcJUJznuqLIMD+ECmSjyjh9z/x4WFwLMK9xs/SxALgCn0cIuOO7spuQToiMcNS - 9ko1FaPq94y8oI/O15CIWIXQhHnkZ7vcnyesRh5Cl0FawqRXI1TKwgG4enu9UAAE - UVonITas+60s3ZbjAyNFcLNCMRHFkbEllHmR167zTvgigpaGSgbXv0UMH3Z0/df+ - 2KsysRJSjXazfy3jjUbJksAYUVCezH1b49p+o0g85OZLZ19xGIAD1iQf3WuLWTbh - hng2IN8yH6ykuDt58SkvdJR8llPFaKKUdoYBUIUlmc0sCdf5ZFHDIjTvQi/49a/U - aAEJAhD7BFSBQ84OAnBHL1KDiIcp5LjbYdaATAR0desfFZH/LjYrxRNpSBZtBKtw - rkJbTcYPunoYVRQbpQWLkO9jQih7fFmDbzR3tdUbMwD8PIcq/mpcKXk2VyDbeZvc - 5R/cwMaxzy6+ - =S4rK + hQIMAxK/JaB2/SdtAQ//Vx/5pkJMr3rTpsng6z++BpZ3hoU5tN0wd6uOeVxSLenL + rLgUvK61dfEnAb0sq9MCObUYbMwZGecTN6Y/1LTlO9tb4HOiis8lecd/Yxu/Issa + 3qA86BbSssNP9vrzAYEdQGy8Kip4pqEvX4s3Lhn6gU0SOlsjif9lkyPkvNDvpQNZ + b4SW5X22FnukjGGw0ASuLr+VfsfPpSjMtlLqu96q7YaIJfUx9E30k713Gl7pp0rb + Zc9CIlYVeY6QoByXnGi3hscrIbJUuayvrzlZ41Iz0qc028ZspjlCyUijO1tT6k6k + FqcvfjWkcUwvMb6lY7IOpL5TVIE6i9mIy8IlT5iICheWHqnQRluuY+wCHfrPPuNf + 4R3Tg52Wf0jzOQiuDLQVHTDiK5Z+sW9grpMzpFkXZ0shhSmLpzVDevmSVXFO1Jzm + vk1cFPHASrt/43V8LPLsG2b5ltH/k0sCy2ABXa1+QMsjACcYqMio6Ajh4sZLvxXJ + 3p8ucwKROuRWMBTmO8+PrGD3kYzs69xp/UCBtoCkz5zEQb9PNquQ+oComyNOFHss + zNZ7M8uqLvV+ufbmRJGp6UsAxTwnBuKMc9vfH2KTH7r9F3QcigjLoRKSSYKXPc1j + MIr1x0tggz1+zSGbiHLQuI3ECbJMtqaMhROoI+GzwSaf36cvivDazq4h6TWvx+jS + XgG4yJ/wcrBCQOjoVNt+mJxZBbYFTojiKsqJAJrT/hvGJEv7C4kN5YEKkYrtdKFk + d+c6I2hIL/scNgyUTMS7cmSCs85qX1r3vq2pJNXnRHmaa1LEzVfho+7OJDQvoAw= + =A10+ -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-02-18T08:33:30Z" + - created_at: "2026-03-05T19:18:16Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQgAhj0clfjlEYy55QLPjVGRijLYzPN+5DcbCL87kGpJwi9A - +weNvPgV7aN3R31yo5lR1YemLZFGn4NBrR9aIM/waG6Ws2FwsgmEHK01YtqrvAOo - gcvQMZAJ0DCE9p/nLKHt0UeJ0Qgm0MCBN+qcwhfZPgI5BvddkgA9nKNfeQd2VLJ1 - Aby2yZbiDeRntUqIRMWU3PBWCOA3H926foqKLWoXFEm3w4/WOVDTaqrU9QA60C3R - 5T8UoA7AuYzhtyGmMs7tv1Qz8dYJ8w63e+cP2RsJPb3hLXcwGhl77/nms85mwkwi - ZXgjHuhC7PZWg2KVq8GOJJREFDaRp8KwEIO6Of+CHdJeAfZTQ3fU3Q26HIA1eanX - TyZEixZZ1RIIFZqxhSYDxeBQvhA2U6V+g7GMOIYOCGKBxd/kuy49PKwYmceB2/kd - +ajD2ct4880//9lHnT7lPV1LPlenoxgSg5+55HH/WA== - =07ko + hQEMA1QflAioE8i3AQf/esbDrspXliL7SudRAb3Z/UnwahJMv4ozx8kdO2obl2cH + oC+rlWNKZY71V/sbL5ASBtZG4Rk/CbwCQhnSc/EY6s+DEVxWOEMeEEtig/e33Ca/ + NgIGzjRW7EQYbHNLv7DnXsrh0nabnb4u/DJoZ53wUPDiM1ZsE6cqGyZ85Fb8+NLu + zF77bXq5PX0Wpc2ekynYRGLZ1EgD+S0PVQdYksrbIRSv1wORS2G3ahdPDisnFbnm + upZqUMimPTkOTSqK5SW3EkNbjSTvwoxk65sBfEwGnBtSCxv/cBLdhdX6waUFKUpR + 7eNkM8bdPlJjJlzjiJtsmrCJOJNGkvmXO52tdEnuONJeAWLqL8C6H6MqYM0GoucT + RF01qcZ8F3hbNFhYLw4qazX7nbFiTYPI9BpEjZLBrksPGJ2V5JXZ3UZnFoa0hiUL + y/eNdHcTE8DjEHE8aJqnS18pzjzOx9FawKGcErgn3A== + =RQau -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-02-18T08:33:30Z" + - created_at: "2026-03-05T19:18:16Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ/9EObA3+QoybM1ng00nYxj3aLtg4ABZid08UZ1jPhZ7wmG - trs3TPt/8F5g5thpAXYevJVOV8rLAKkNa2GwczMG81RkmxENYH1ibqtyx10QJ+sF - 6RqFwZVcfB56NovYA+DQ3JoFcufv+iB9XK6UJIHQWbyKKCJ/icoHuYQeu0UpDUyw - Ygxgxhc/fCPy5PB7fdGHoMO3e3rONsm+UZ5KzoEIo/YuwUih80q2FG6xGX9+vbWh - t4FwL4kiC3oRU6zxxmqW+qyiHqjyl3oQo+6DHZzRD3Axrrtj4pSZfTYRuRFSnmu+ - IQ6LcMVRzVGNxKpVOrFWre/I/ky3QwWdKhhVaG0PWPwZEwsUNyRqvF5ZgpzS4Vjw - pCGkIg73e/wQSiW0g/RbMOYFcYXmXVUGRwq/oZVNqPUonai9AkXcm+fAcm7dsBKG - fnTBxo273KC4G3ANdCDB7e9Jo+xVUOOEGQ6nAWhMlKXutF9O3iUrFZKEUbo1uMD3 - mEWaSzxbfa3xVhNuu5EzItc2dVbRVCeBW62CaT0S9WSes9OmLBPsAmgxO+3mif2m - 9nkUghp3xxOOn89A0tBt2afKdDOA6J8XxNCjWgjkCEBo0udKr/OeFYlicYxWrtWj - 3hfC9dPJ3nhpECY+CPNw+9YoEmB0LhYtkzl7tdq3ZJ0T/oLSSRVHZdz0J2qiL7rS - XgFlcgwiw41fY6w8gt9/yYUxJN2JL3cYzWH9JaihnjCHmm4ECvNQ+8Q9Ko/OXsck - qo8goNqz/C882Y1SQiI4GdvCxOGYFIHGcpOP6dxX+44/yCarVa0L6ajogvxYYMQ= - =lvmo + hQIMAz5uSgHG2iMJARAAgCNW+G1twuqwOunfimk7FxUDTzZ3SbP1Gw9UJ5JEVhJX + JgMh1Hw+dsEzi59IJZbIM0/IOtfjnz85q1sd40V/YaIBzexw8ThBxoOS2h2Qefft + +kIo6VOTNYG5z15H8mG72vU8k62ZzyGDc+IwLo1l+/EXZKtBLKmJhO/p9hu4d3/Y + HAX6LyIoEt9MLjhxtJCA64CCWciOD0NJVLzwOkinab9B0SJLu8/xTGWjW+NQKPA1 + Csq93xi727G/HWq8mfj+3tBAj9tfKgbdq5yV6R0hsvAoOJhX/XTvrcZPY8ZNwVPo + lQfY2P5gSUW9GXYQP+sSuii7/XkhX3IkBQcoUoLaQ2DA7x2lT2d/dHf5i4YZmchm + PO5pyOgEPhNZXtSDNqeXHohj0CyI+QFn05BaLrb/psBBxQrHYuJ9UdW7E4nAFdzU + 2f0wkUvbAHy5t6cjCUEn08bKKIxG7MmZQcwd6YiHHVbbCOLrMQLbRy7zLs65M+aA + 90JbWmtntAb93YmSBj3/uxn1e1G6ytCgG5wRg2nswIc1Q29cT2Ch/8E73EUiYGAd + WQtKaYwSyXbbLOoA93OMfkFNRy+Er6cakWhzF20Ai7zLTNK1dYGyxAXY6wIGj3ou + SXwSOy0U0/Yorhhz2vaJkcqqgLii/2jvTN88ohoFkjWFY4yAozMwl88YzVJY5t/S + XgHlJWeXNE5rpjIEOqzr1IVkn/aRNIXTKOyyct+3R05Xr5GU3olZqLEhDRUkuw0i + tPV/9TpeP2hEvxMKPMaN1UANScGOmw9aZkux5trGfBq3WIYMLvKcgXsopxj4WmI= + =tUPi -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-02-18T08:33:30Z" + - created_at: "2026-03-05T19:18:16Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1ARAAvOB5sg7F5HdxMNNQLrHyWTrds6HGyXwtk4DZQziYmr8e - /ko0kbW6morL1dBItG/9HpVJjaDS1f7hgUcInBUZ0XotrDSMkqo+p0juwSMGMmtF - s1+5bvTUYBLo+QeXLnvqgN182y3Qi7xpHNiCXm/rQMOVahlgRws4HbvVqjLzVU8M - zUdsMCFhNHJ8Z92NuDIJu4SAVkERFAsCfv7UbTBs4B4B9utdR1n0LsFkja6Hgacb - jzpnQoWXPCPysssJFBzj0eL4YN3FS1SD/XowWFKyEE/8PCaywaoSmd+uCihZFOS+ - 6kfwg1Tc7eoYUqN2ENHrFPdXaS350asaZGpwnshHRrdiLjqkGH+QKlnLqzc7Tv44 - VfIMtffl3RkZso1ovnH+DcJvNVP554zsE4SofkYuM0eoyru4zPMyCCtN7De4OLuX - IgXSjZLJFABfLrzArvB5QgGoeBzqTOGNISSCfqy/YN2btaLoI1ngBllhAFH/XhBF - xwDhCuL7VBlPncZ7TW3Ym6oj2PV60EEjNFN8GWcFHQbxPrMM5IIvXJR72gooOGub - ILUtE5WcV9EEDsAiTDG4Eam29W0gZORK9QMWqXXmkWoYz4JN5w87YKEMP7Qm2EVG - 9Bz4BSU+FC5w8ycY3o3rbEHzskKwKyn6O3Jts4rpMsDsEgCcbKDXe4MQECLk57fS - XgFIY434jcELlVW3q0LCOTgExBDfgL0xb66n+UTpirNnLeDjJA6ewoDXsYWlogN9 - AamQhfw9FRKQtX8M7bTVybqV92859QCXMHDzMbNYF13FoNRuNKRXtEDoJnkLz3I= - =6z6G + hQIMAw5vwmoEJHQ1ARAAk2IQL7O06prWZOizSpM8Jlivg/ySeb9IlI8tued+bOoJ + rcxMfa5D+qFIAgoFQFQStNpEDnSBaFPwbw1lxewuDhxyeAQsQ281CwAIe6ZP0GAg + iDYkTzy/uc/jaaH2bTjrcRrW19Q83zZg0L7js+YWL/AXCUIwyykctKqBfE3va1kq + jlFnb0zwPBUbKCR78mAIngT1KrZgNsivHBOgBykSw52QEPmnvUd7FQht4sshOYiD + ZHR6BLqYBxJHLr+gK+QxzzHH5TDUNm7E0SVM9h09irK03fRV9iBPVe8hdbcSeeok + fu4ZKdIUg01pkXKYJuiX6+twjPU1aXqw3W8nYE1MydFsgw2VxGO3WQH/KLgeMZHx + bO5sJ2+I4k+IDHTC1PF5YZReOwonK86cyjHmgRBf/y70IphfjnAuC2S1MOFiznH8 + C+WYDKs9XECXNInXTqcC5fhnr6Jasy6keEmZatgW5KWJ41kwGevmTuLtj1uYWwJQ + yBVE2sGT+IOsAZOOVpdAB2rzrHRVHn4fPNy3JMQJOeXmSvpBLxSqSDt5MgE++noV + D0bYjp6rESx+6/LLsKwAHIyWlwul+5Mc8W7JXBNeZj+296+aafBpDnY8YXpXmrFG + smWtt2JY2NEmJw6WrE0v7orQDK4maoblH59QqakQ6vFdDGMW7XoAUKPjkWSHoxTS + XgH51HpkJzzDOLT9rs6qYx+iFNfr77rK3mQrMy0yA+PiEO+6z+/UgFwnq6WMw8Eg + X2hXVj1vPgt0W//CYDFZ4GWodfHldQFEvQuhr4ANu5zR/I/RPsZ4lsqm0qhJ8gM= + =+Huc -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-02-18T08:33:30Z" + - created_at: "2026-03-05T19:18:16Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAx8rVXNZHs5XeuTNc+hAwg6ALkCuLoyfEt9uv/lgOmDgw - qXYCPouJxOe0dSpmkSUYYnRnN2NKydUEMpeF57gopANuIIjWaVu4sSLcYOWoA0qA - 0l4BGETNNUtE4C5GBoo0I1+tWwlgs10gOY86gH33wybVc0aqBrc5/eoPbqcIYo12 - VQe57oUy2pYeVL3FrQP/gHJcIxEApObrULe2IStoJ55v/TNlCnT9LO4CBZhOUu0s - =tg22 + hF4DerEtaFuTeewSAQdAl2Ggiz+S3yVFlVFbTRMxNGX0afmgGzwPEfqUxVObT2cw + GM2HttqCucNn/yreDasLBgssYhc9PD3XllMBcM4Y5NRTil4Fq6yZTRaBUKhwlELO + 0l4BrX3+xzIyslKltKBsX9DbqnbCRzUgZNzevo7FKOCkKtKVG7/BYQDR1/i71XS/ + iJ76aVwzA5VoNqTTNFItowbnIXyC+F5k7qQ37/GtcFauPH4HjLygl9uSEzB6JL45 + =mNng -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-02-18T08:33:30Z" + - created_at: "2026-03-05T19:18:16Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/9Ei6OAZlbJUUiwRtAXBxJtqLC5gDR0zysgEX8KoEWaVe8 - 09Sh1/wO/Mo31eHtCuRRfbMi9hjlAyFdEuPsNi/ksFmTXh0LuJvdNWkWZ4a7JHhI - TEqmCdK9g0cNMC/hS7bEO31KHWYuvAlNkcL5s7jZVcx4/Pl4v+HBFHrInq6NbhX7 - AYKqruulPcc2MN+wHmsd99arDWcAUMX5A/UL9VFDi9k6u/zfsl8+gPC/GbkkAfwx - ojoakmtnw7jPH8+8J8URZAxwpcUIL1FiJkQM2wlH5d+eeRy50n11fnr+q8ORXC+I - tUSa0ACzaxKVVknoaS3e36LZFGHyLV7xf7eDZQlydAIINL7zGyYlczVf8wZxdKjC - N79iA1gOzSo7y8hklpDcdxOk2KCZWT/DtB4wBaK4CUlZKXbPEmOaMOufhUC3AHdk - FvHzWL1SOOu5RgMX7DoXs/ztdu85rST63XvTtdu5VAPa/k31MnrhPHJweyt6gW55 - UxecU7Z6doc/V8yu2GqjcMVA3/E1w80avYorEWnVohJI2sF0Kn9UJOxnT4eU+CxY - B5B7WXeM4U24eES1Z1Al/lHHAJsR6/Ba6WU3tUuP6tpVP1CtCcY7tMPH2U9YbBA1 - NRLLqy+hhYEVfxoCvFhaolGzxppSttU0Fa9Ql1szkjI8mYaYjGFZ76ycp39+vyzS - XgEDn+iOJKWCm/h22dd/Yo+70KLyYECYISDL2+pyi/kLwfzy5p9nYBoz/QiWHopG - W99fTqHim4MZNEbJBX0JhGNEX5dQvzAq/g+L/hH3sp0J0Fpd1QfTUHETE3BQpSA= - =neCF + hQIMAxjNhCKPP69fAQ//UwQF0YWALIt6hkGqts2TI/rq9Oz05+fwJHHLQSdY/a4A + 6dVDyadqWISRx2EMDMr9mQlti79Poq4Ak9U/WhujuJTUQLDZkwWdlkz4zC4gbTh0 + fy4dm12bimaSehSrkwTNR7eCapPTyjUJigsF1iPT6AUH5nlEXiYd7JAvasrA6ETg + Fm66kBoH0c1VAAKYNtOcHmEsZ9Hn8x4KnpFBBs3oBpMwAYmYpBXcEL5KuQiGxDeJ + p6/sI40ESMRiCmza2fA8LuY7NMSIQiD8r1JtX4Y7Fd0HSMSFQf9yhGl9hc59b8ZG + K9jvFlZ9b5wcbW60MX6LQWRn3FnPyb/EHzrkTjp8ka+QOb0oW2qTdsDj6XcdR+Zn + LK2tM6k17s6fGhJGwGQEg1EvR7QQSd8ewBXhnm5J7oy5B3MQ+MiU9FumMMZJgSSl + 3wnQi9ivimr4NbjwyZdXwV5v2uvzf0eWCP9Y4WeSea97ROimQDrOlhRq2SXh4JX6 + wVfAuwDdzUGhD4dq9D5ulIjrc0BgtrwR51ov6irHirixoCzswqquLp1jhvTKH4Rb + D6JbUKHckWt6ijqT9qGdMlPl6kuK4kXBLOrltACHHe4b6uJExn7YjhswDYfdYY2X + EXAMXMDquaHGa83u0LhDBsg5JUcWaxg1FlHEUktn5tOHSfHsWxowin3Z17mdTVDS + XgGcg8xRIMG9tsXVodTPrPMBCxonyJl2atn3TEuUKmArRuXllNu4Gr61Tu2/4S5V + 3R5gq85a4TJue6t2/OHoV12uKaA6P1K54EQ8PzXoN06fhgND0bGlk8noQ+pvlV8= + =fs8R -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-02-18T08:33:30Z" + - created_at: "2026-03-05T19:18:16Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoARAAglwI3lzbGzX20MNF9NORqUhL21943xwewVdeJN0XAr1S - s/tVQM6nU92cIHz7wK6+0EGlkKkBX77At6n3jeNkkw5tU+E4TJb+kwBlnlRUSzrh - 10IG6Y7UeH6UzdG1b1FR+AvnpHpihswnx82scT2MTrZb9jq7aTWmrImsfptIAN1E - F4HsUKbc+AmDCxOnfgJGrbsdAFEkOMknlrHsObftB/7g0TzxJaoVFobFdkU4PnIQ - gj4SRyTkHHpu7OZONfrRKaukbylhUxkGaljBeU7LJUJFsHHrqeZHGrEqFGH4frUx - +oaiKuu9yITuQakV+GQnOhSug6BUncyYa4yTTlS8f1WHbzxSNUi5o0GaWlvFtJ+P - NKS8Cmq2FyyHZ0ZdJJ8qmGmr87YldCQLwx1eM4rMC6uGVIQGWFIVQErmcen7kiAP - 7t77X9tPytCwhyN0m23/A331Szf8O0O0GJhP3TUwKmPEvMJS/ZRZ3IIJ3YeP4Kub - afoULhm0d5jHOzJwP7Fm8L7vWQN2NH9dVRZtsrufS+EAmFtmrRdBtbXTz/6G5C2y - dubvuF4S0nF0Jf186RmXDMOErmVnXkUOfhfCXUq3OSCxjRo9i2FT+p3K6Edq7QYt - TB0Zuw0C19vN7f4l/GUcKMrQvluDm304GqPNlPh3U2I2Nb+eL6bbbsr+p8HUEc7S - XgHFCfuw6OUWAPNY2/G9IzymnFKfH/Z2jfpui/5JP0WAJ+KjlQDnjvuY6Jya5i4D - naXXxT0hpBPsGXyrYzN0EoMgjuVCAtD2YsZdg1VX4szQpkyrDUM7HjSNxjzP+pE= - =V4Sc + hQIMA1Hthzn+T1OoAQ/+JXgWBms9wbNeADjiTz9jAzQYM9G8LHySVY5+j4ao8Gnk + X0u18nq/yOOgiUx7wjINUtOeGchHO/5DTuePyrcl61T1V4xetj84QtWB4wJb/OoU + TqzT7SL4huanQnrTWCwfLhDZRkoUVsqwnUxY1CSkq+X04Gd+XynyBfxvvi3xcetd + nhwZTpapCn3bBvJiCSFukkwBOgv2tSqll2l22pYMnSvHboObthsNdmDPPqOXWdHm + XlJGZ6K+4BLri4o/wMrxWmGMrby0sUU4X9VlYK1knFSfk3kjSt1tf9Alys5lwZpa + wT2wwoDUSThw527mYi7LXdT7N1j6gojsL3DehBi32Kotcz/hpPth/62JCJyZPNKv + hkSFRyfGT6LbWQUtoUNepUQBhuvRMoNI/P8OT4EuVrYu60JMFkgNqxUwB4w+3mIT + cezvNPr9dSS/sGglKmUJqN+qRm3I4lNt6xZprHD8YpV6lGUWd7dAcK+wQ7Lt4JcX + RMltFOkNgAu5w6dlXkc5LyNpth7g881sw3GjGhcpnyMh1OD9EcrYHjh8xk87Z0Nn + 8uQrI7EebYhPX9j28229uiFKjB5vHr1a2ksNzXz5aTj5lLQyDnE7wRdvVg43a21g + mFTaqo/U173ADg4Gm8aT+CTHaBH43awONUjGTVkHNTP3wGqzl2+ROxqJTxzit9PS + XgFfwhTgVKdsSN6rZIpGFz4yJ1e9JA7huI9TU9+N8oCH5XQeEPzGEwG7yx0uBxik + iAPu8z+SHbeFucXlBnM57DDu/7a5oCNWFh4ZK3oLKYTwHWlC4GENPICIQ5rBxBI= + =+cRz -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-02-18T08:33:30Z" + - created_at: "2026-03-05T19:18:16Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ//Qkbkad0AN3W6pUnvfkvM70bbr0C3z/aCyU1DJyTi+hgr - QB4GEDc7bL7BQQK6OLri0ol3+eek15nJQJnVAYdPxcqAQkrv29inTGyItYuNvOrU - efhynuFfXdouqA3kMf/CiSGjYLfAeA/NMDqBkwvkIXLRhJksSDl6sX395fHRK+4v - 8T095dFpkOGfsscjul3fSL397wMg2aPWNWQ5unM8xl/JotUrikiWsAuBOZp4h3vT - twNZkEHkZnQmo/sR8gwi5dbn+qSKxl0AMlOmiIFUfHrWJIuSMi61EL4AKTV99+Fd - a+ldTALMNw/E12fysxJVkElD8/790k9zmdMmwVV9tjHFBe93YmyGZEAShVATELZM - DBrJSAnHcZ+AU2odnkVeFdPs+xP3AvUDD5JbOaNwDo46UAkKS6HD3QoMDicV3+rN - 4ibCGIi0brD8SBtSI7gUm7RA0UkDKI5M8nCNLhDHG6+eaJv3FcBPYUXfTeIMmFdW - Q034wBDzCgy5Iy5vDqzjj5zDPAJRdvXZrsPZDf8qhxKNmezNIHcMz2rEzAQncrgp - 0a1qQMI90SArDDH/S5CNCu7D6+aCEGjqfiIuGSmw01NmjJDdB/7HBFz856Fris/6 - maZwlowc/SwC6H4cGmgG86PLi+mLcZn09iw3BNKu017T2WmmosVgeJGI9iLvYK3S - XgHk6ePtQcwMLtM/MLuSV8/TM/X0vclFVF6a4uHCdXu4Tc8iGKxQ3awBNt9HO0Sn - Oe1WDdc699JEVZi1F3Djl6rrkDsVDv7UJslxIbBTInFF1YfFI9uB4m1J4jGvClI= - =pmJN + hQIMA46L6MuPqfJqARAAu3Bcf3WSkzehAIq3feIIybapgY5ilCRUciIt3VgomuaW + vn+PZiCrhEyiEZ+m1ibaM8eVlZOjIx2OfVwVgvauveSx+iTRosLn0CKRWJAfXEL0 + Lh2l8PQe1lrzKdQa9eW76ljuIBa4LP3kFmqDXP8ACbjwLwZZQN2mAYaf044EFuko + 2YPMvwzVgT3y3+koKlW2vEWwF09YN11ugJD5KHoUyu9uWXnzMvIqt/QZgxfOZ+9J + ICY+KUaVFhyUFmNL8Zs8JUuXwmR9dEvhPRdiT7JmHSEElHd4sLEhkMJhZI0zChWN + 5FOYTRgBW2H5fFzUiQ/9OwJJNnZCL5weRqcfXIy5f3ikyB93LQOrTFa19mozcqYN + 8nWIRyIce0g8Un/laCABABEZY0UrGH7rUk9fSg8RcJGtwN9fkBPbo9w5KtIZGpm8 + Nc1P1zoMxRqSLd8iUXFaYFLWM2rky5LeooqHYUte+5qGj51Kv49533i1bRsF5f3A + WQmLnGbaZeiKYwrIHs59Bx+fpZgzI1oMDhPdP0QHErcEym/yIgzZzyqtA9riDHt7 + yS9VWhtsAVVej5YUXvFQ9FBqv6RGIyyAOzBBO9/Avy9aZ7t/6Y0GnR6SULRl33r+ + KuaQChZgq9u5dDXJU7ZI12PVZFdsb3iJ6QUAW4lS7lhjq2cNTEqnF/ovayP6eVjS + XgFElyyCqW1QXYXDD399XjaZhPCZWUI/aywlPnGUO40g2bNfjNT5UOmPPm3XkAGg + OeNfkc4DMhsf/vz90YlCR1ARe70bUdpFiKgkv5ow4/ZUb6wNaP6M31fCRNuJAEg= + =E6pK -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-02-18T08:33:30Z" + - created_at: "2026-03-05T19:18:16Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdA3OQEh5k7f15OhwLnbF1q7FRxHOpE80cs8V3AdhYW9Vkw - cNIr8r+8ZYh0NAEt1/cwseD8j4irU7UUZrF31npGpQnv84EuFb210Db1YEReg6Ja - 0l4BpYNVpeZwwtlv+o+b9HBUSnRvBXRRTLIYZQlJfqz+a7Mhm4xE2h6pNnopxg5P - 4GoXpWlhH44EsbJvIhEOZRzoVacYzFZ7Xb7Lyrce0zlyNDVVAR3FT6nwjw/ozvD8 - =NmOf + hF4DQrf1tCqiJxoSAQdAd0BF0MpX492erFYV+DXY9TduATvEt1oI1A4iq1f3lkAw + fv8AJvqrNRQZfvkneUDok+0N1xOZyKySuld+Cq6RoZOYvikumg5joAjf3AMO1Fh8 + 0l4B93kbesd6Z2tT1/a8ztl9XFdXhsY6wO8JSyPGOfkNkM+A1t0RJwwKZCDWG3w2 + gLRz2trUmGGEXG9RR3VFKTxkzDod6QsGr/nf4JAaKObYUJVFKos01nlzkWB20bFx + =wqo9 -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-02-18T08:33:30Z" + - created_at: "2026-03-05T19:18:16Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdA8JsYSgLCm0GOCbQdSWDWgTEOnI183ngmfF6ngbTlyTUw - Zwmu0bZYENCMpcyWQNQuaVYTOR0vfPOpdTOWT5TPJnd8COgP8MkAOi9YGmetj7p7 - 0lgB0Rsm/ZYvB+QlYzn30iEw9ekgg74RJwdXLWoZHLhOpNqOCfDaFUpDp5r48Zu7 - 7EGFjvm62bxRFnQnKVjRxNmBbofubE7zdffpVr+vd1cuAGA67v1xExw3 - =esZ6 + hF4DzAGzViGx4qcSAQdAFPib89nKfS+v7b0+KfBQQxJkfzfr1RlEMjNh0CpuM00w + 58n10PCPXShmmgFB4AMvVn86D0K0rpbMgYk1sEuqbhZ86c0KfLGaMhMEMUfDfjVG + 0lgBNmaNy2uua3fTY+0aOfOpXAaKymIUfXZfkRsL8es2e62O9WDaUfIIdk5DGuFG + zVZauN8AtHpA1ghtec/E47IYEm13fST4P/kP9LQ/zOURKFDvto3WnZK+ + =mg8B -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-02-18T08:33:30Z" + - created_at: "2026-03-05T19:18:16Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//UFW3M+tYlsWtjJ8KJ4ACazgOD8wery0OCOeSdj3eutvt - EugnKskvNITJ8fJ/LzwEwQAeuuL+rZ51HkVsTJVrKhJenHuaPdZddxwViw02ZL3S - OHKOMoK3kuKBr2ua1WrGfjSLgazN1zUO39run/OTaV0MP6mSjg1n1G0DOmDM8x4j - uuJydEh0nR9sdlxn0MubAcYoA35KNRr3CuN3yIlykn5P78pE1o6tusX46v67zwDa - Keyqu/0SxUaeH1K6Y7QBaw/3O4i6wDeP0Hf/sQA/N198/Pw89OXr/vkhU+PuPmrq - mHJHjodggEuszM/OA0nHtIDkYe60/6ViS77hPMyNJRGrR4cHdLAW+VcT4Za7A8g+ - BpAr462uDAl4i+LJeiJaKusxcyW4Fqk6HO8hCpp0IVmTbCyo27bNdOp5KtgfJWbd - ayDjnjLAtvniMSvPtshiYCqJITnyFLXkOLXTOi/+U9MLQMbONlV0Z2eztxBHpJP/ - yzkdvxPBhpACGduyPnMpPr9EwpRp3RMe1zAeeW562bUlNCgVFNc+mriIipbQFV8I - b9OcwBPZele4DXSFI3EfEb2AJ7uevkqaYj5d2Txi/e+Vz7qIGyv8eevVhE7vE+yV - lARmmGDaXyWkeqaFDI0mwO4KVzmsyXyYszVsJQiJj4jisTNmckuCJWoDiRppMJDU - aAEJAhAZ2wQEVBYOSVMtOaNUSgbBe5hWPI+omz2iXdPXHLkzjm2kE4eO9BmxHJ9e - 52h1fictGfYA8w0xM0qtzd5dsD5fRYe1kRc0ycFxU6+4RiK5vKyeTBVeSTtkLiQH - 58xshx8etjsE - =MsXz + hQIMA2pVdGTIrZI+AQ//ZYySYjaOY14oo9fox2pOdex4OQKzR+391Z+d8ZuQp88H + QqLPrjzaDiS3TdefcR0ol/xSmycGCApRGmEyyM/+2gj7MFl+bCv/1FX5LUaGaMcK + xUPEi71kB9VONEV/Cbea3O0XqUnOjmW7z8HGUx6eTutMnR50FKrhN+8KDq7h3dYT + PsDGOhh1ttQKNGoWHS/Oz8TAWhty1gcIUtUIjwtbozVcQ41DPqW9w7o42xVPVDAh + cNKRMznDO3d6e7gyn77pel8jWDN9q2BEEGAK0LhdFp29rIO4xY3GWTLcD/tMbOjU + XgGk0mHE5NVzAa2mDeTMOTgy5BzGSTP4U0QK+/oGpBLV2iiwWIMlBR8yv4PpzjR2 + vcU/eKBCpZGKZsQ6VkyIZ8Y7HI920wqyVhNQJ5WqUt9zfMqEhEnaL13xr1sHIL1e + airXdS6uIWkvNbXX496SpoZgVM0OZNpcfuQKtm/FXkT8XMLd9G/ipRswYPa1oE1V + AbelEx7F4y8n0XTX6yr5my7PHLoRDVbczKJTX2hfojQEqKPkH3aj429aMcDHu5C8 + dUhxM678VVzygU8FrMkIwt+Ye0rzlShAjx9wftBU/VLp7GbBeDy9R+tTx5cauC1V + +6jS+nfZOvFrcBlr5bz0cT479FiUfHiai/BYSQzgYIymy+nSix4IvNpTYofudQnS + XgEo9TlK7l3L3lki1S2VHhYVJ3EkdYeQFhj48uO6wk5FesaUfpFt7DsDVfbLATYI + GR16IiSVXLlmgUiseWhg5nexWWq3I82swfegFjGV+nuLRKAryrTfhliF/8xXqS0= + =Z+8H -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + - created_at: "2026-03-05T19:18:16Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DKKbvh61jX5USAQdAhDxMZ9xx3fNlzs7AdELNLBLc75FRC9+fSBt3VA1HLmYw + gbDhnTmSbRzVK99Me991abj5xt8qlU/YkmC5WmUEc7cd9anPmzJPfdSBMARFRnOc + 0l4BBNyuQiR3/220MNNeT9ao2YwjXeUESq93rqUgN3DyI7DrzCoiMxvfQgeXegLq + U+l9SQFcp3VUyJdfbeeajRrul/z79p6bTXC0Djk3RIyiRrnWKLCkkTYrrxrOjtpb + =v5n9 + -----END PGP MESSAGE----- + fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted version: 3.11.0 diff --git a/inventories/chaosknoten/host_vars/renovate.sops.yaml b/inventories/chaosknoten/host_vars/renovate.sops.yaml index 83a6ee9c4c..7814f99f45 100644 --- a/inventories/chaosknoten/host_vars/renovate.sops.yaml +++ b/inventories/chaosknoten/host_vars/renovate.sops.yaml @@ -6,204 +6,213 @@ sops: - recipient: age18qam683rva3ee3wgue7r0ey4ws4jttz4a4dpe3q8kq8lmrp97ezq2cns8d enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA5dXY3cTZjN01xUXZJK2x4 - WHUzTUhBYThJQ0hKanhwc251blVEMnJLaWswCkdhRVlVRXNMZTgxcmRpQWRDZEx1 - WVdYUUc5VnBlVlg1NUdxNnN2MUtKVlkKLS0tIDRZN3lBQ0IxL2pwVjdiT1NTQjZ4 - R21sWjVQUW9jeEE2dVBHeG1wZDhEK1EKOfz7zrhK2ab81kk45Sj682IKoB0uYwVh - 5V48S1IILG7Mugde4IplpUZkowbUvAFJqAolHXqn1CyPipfnNfl8Lg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBscExmMm5DOFU0b28zcy9Z + TFhxRFRkMS9RV0dtS2tsc2lFcHBKQ2ovM0YwCmJGVGdwNDJRa0ZvTnlKS2RnUFhl + SllndEwyWjBQakkyeG5hbVBKWHFnc1EKLS0tIExjNUFObTdWL1RxWVF6L0dLZ2F4 + YzNlZW90MUlHei9CMVVlcXQ0REhHSGMKWy1saYjH2Z1BVj4Ivtk4ZBuzt0PSZ0kg + K9dS+ZEv3G8vw+yfBgedrdp5qWRwmzq/mB4v2Z4Vm44tRUKVK495Pw== -----END AGE ENCRYPTED FILE----- 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: "2026-02-18T08:34:33Z" + - created_at: "2026-03-05T19:18:33Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//ejXad3f9oZ37RLrrq5ENE+rIV2Gq31enE+ajcytod8Ux - qkYAN07vmrh9wViBeH9XBvje97heBawiXVfuYfrBjhJ0PKDnByDFvaaEClOMwHXF - WPDLkGmkRADISBS7mmF0UBC81zZs3QWUSc8jkuPPCrYpHNIjwJ4ViIJeedVpeVox - ENIwJDavagNcjx19xI3d0VTmP54HIr3kOlabcCvS6qfrv2lbPdowjMdgR/Ry7plA - tkn2PMpUCmORA86uhdReQ7u9oc3nC771xojdw18dDFEqH/8DGsPK3d9+CG+sq1Xs - 3kB8bDsa5/YNabEkm7AYiVPOzblejBXWrhyd2r8wkiFGFdu63Vb+HvIvq0dxmUoq - qw5O4w1xfIYLiWiMy0ji5bBM36f2Er9D15gFZUJN8SNDLrTQPhx6LIkPr5eQ6znc - 4a9Wq6GhOn4BLo4FfB7tEsV403WF6P4CqVcZx2fSKFAyxgiqq5hEwJwoT/EqjTtq - u4o/37l3EFWDvPAgYWIopJ8jvrP/dLnqeDgMbJtEs84QS6mhVeikIXOpZJVAmo4d - DVmc/lrWgQ7nHYqpWpRB0EZR9UaeREg4bsBEx0EMsOpsUrwnBThhDHVSbt7PEiqf - 2/7KKh02JZGt/A8gKiueFo68U18HTrF+I3IuQ4BLsNc8pOaNJ7ahysEFdYrm8VjU - ZgEJAhD/CQkZLYcu9PJlDwixMxEec6Xou0wHYfpe2tKb3MAxXvIN9ujmBSR5Aghl - R+soYeZpIqAxoFdscv/PSisjryTRqnZFHJHtF93EoH19X8bTJKiNFCr8wkkVtRdf - +6NFNQWvBQ== - =d1Nn + hQIMAxK/JaB2/SdtAQ/+L6Uedj2YqdTn6gKUn20L8iFhzwx+PlSIAEsR7KlnJbwH + /FRb6lWzK421d3Hw5m08N01zoFkmOwWACS667k2bS8LE4dAD0XrL4ZJAibG9LJXb + rVvSX3GH7uDe8oeZu23A94QRi3DpQPHJmiSuo/GfhtaN+lyRPrQaa08zTcQQh6z9 + Kvs5px2Oj18Fp/ZH9rTp05XvnhK0/MtGD17uM8qM82xqWoftdA/2z3cXXeiUPjhn + hdg7IMjCZjIq01Pc1w2zSq1mSZItrbDmxUjcQ67MkrJz1SXpAZluwH7UAfE+p3mL + 6ytKRmZx31Fl4BDo8ZyCc2SwPj5d30aBafrpL+DHgrn+uGecAluogzJC/V3qG5m1 + aTPmOhGNWEabBp0QQlCnmJXPzJ2elnD038SRqpkwYc2PIj63YPGMiZ76C3KuA4at + 1oQhuFL2taiJU3fMsGKVCg6gDFQQq7fvkEuUkgwG5yRcsEW7o19FcAY6HBNA5jU6 + NRs6EKsGMY0Qi4VsoXqyWguu2FZKF5h4z/mhDqNc4Xd4UOaW6jjzJojJgNlW0Ohl + sKAlApca5c9ddoyRgVN/pfb39c/pZJ3lpNozfc4cFbbNZ/vyhqyihV2TxVtZs009 + NZGipENkgNYA8s5Onix2rpNL9+Bxqa3m1KVbLWBm0bYLq/IR1Frwq8sjqMANZgvS + XAHnry+gg50p3bOI28AdartG/GBrKVPyEnRCPkfElcgWRx79dtGmaEL45E//0jda + cKfW83ZQ0QQviSwN8LIMT1JL+J8nW6u+e27Zu8j2m2YItAhAhCoscVyMhkMc + =xO4o -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-02-18T08:34:33Z" + - created_at: "2026-03-05T19:18:33Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf/fpNa6A9sHipVqu5RfxLa1D2xuYGAwmcCVoH0B91SQJLk - iv6HVCEkgBJsUN1f+poDo5fm+0OA7uWvXJE32f+hoHbynSOKiFW8Mm46IWHRKB4V - OIABODLP8sHOhzGixMQffEs0OyfPB43i99zfKUW5olAyPrj/ivOdXIX/tvTp6oRS - 6+Wso4pn4KnCBqQTxNIvdAqAFWPCQWch0+FRERkA4gkUN1VCAU9XTH1ujzpjg2hy - ZLOWfcB3GaALhVaKAdovUPiJwDYmiWON8UPe3xKLO0P1D5Qudq1Gvu7w+998EnoO - is/RJNBrlrOVNhbw1Lt0enGtEioUO+vyGNcLE+qon9JcAYRbFU61GFd0vRBMed2A - PFC4F+xFMxph9lkqdWs+zwGGjKqFLEPtXNjMo4NZQuhLsl+Qyf955nd0wmTyOXAX - A4BDu8kAaMtIo7PESfwgjMgldfTAfzdqzVxGxU0= - =7GH+ + hQEMA1QflAioE8i3AQf+OErOjcnjnyt21V0DtRgytCw0BmjpPUJ0XBAXszrBbH2J + dlvNxDhzWIoQGoMXFvSMS/zsd1b2XPJbdkn8d9xVaFbJ262jUscCiww9DZbO2Dne + XYIPT6rAM4yuKGtwNyaI8cwuFm4mQapAzc9KwS3ZgVmVVq5K7IN2vgrSMdkk0xnB + S+m4DTX5vP+O4kzgCWbzlUuGPZu35JsmZuJxitwttvckeiVkQWRQzfe0PLTpxYK7 + mvfASyc8wZSe6pVAGYXO65GaYFUOpPbPpdSCmhyyHyYwE0bluVePAwu08saWpcdm + VjnCKjuRT13a8+evToFgPTiqQiwHSXWRtfVbdCPy5NJcAUiJeSgk9jrCZqyt+fH6 + z7F7kkQhcJyEE9UAa16D/NswiVf9OJPrVsANGhcrOyUb228x1nLco9eHhI8A4c50 + vY05TnLfnAuXhpzRJ0BF0il2jGSOLJmUpDDuU34= + =zLGo -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-02-18T08:34:33Z" + - created_at: "2026-03-05T19:18:33Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAAn6+VqRY506NG1oATgV2AeU3mhc8XoVQCYAbqlR9ZPYqO - ZAEoi6UB5gR+Unhib89Dis5sQqGBkG4zm/X+5of3C+xbt9j+B8Pe07ski6Gpia5R - MByOHpQsEff4Qu1XEFn2iceGrO44xckJKWplc7KodI/dDPwE7xPSBvD2NDhM8xne - FIM4xSw0L3+UfW78jNh5o98uWCFaWyORJ354lTFR4WhqnudLUUjzv7KrUA+jQxIP - NhGUZ43sgJ/YnaP1mzptIgrdCBpkVV0Oi6J7aI4P36w5QaYnXE4v5LFPhgz2S0vp - cZngUBhm4KhKziXBV2TH8/YVXNJDWNmk5bYKsV/C/MdzyHTFeNETpd1Q9YyIqWrq - D1lJxYY+VZDSvDCM++dEzgSy+eeZVfR5gV7jJHXnT01eCQeC5mVAUhvi6tmFcHrr - WhSx9KpykNFKf+yTI4adgsM/+3HEZ5C/brsZgmGleCBvfjntsn7PqPVCZJL/Az1k - 6bgDpUS9+4Co1+jSC+uMxoFnMY6WxRz1C3YxYlGXjVDUMRi2Pm7CvCGamixsKdk1 - BZf8EQeZq8GW4g8bVOirlk2NmUOEBD4As3L4rsp+iFa3jhL+HrkahgeChqnJ435+ - OWegtANCfO9saLC7MLHrfC9laokJ+FH5aF8LYWdqDKAGdMXWqzW2jO+ih2SOcbrS - XAEb8BupyaLjjf77e39a845xXxKJcf8RHUuqTbR8HICrw6/TNhPoRVdItWniQ5Ip - TadOamOUKlmLo7eA1KX6KdeTrAHjxku03uV3xH7GssoX4cfnTWq+2xN83zoq - =CtOA + hQIMAz5uSgHG2iMJAQ/9HM5wdslzV5mvpBrJ9t1eU+v/x5xZPJ0zQe+7yIYxIti/ + O8duBbIWo2oiwgbnfk0qfm8IFaSRmpqadXfnyFZP8Uhxwfv8RN7AD+BYJDgw5qJt + Sb99avZP4tHr8VMeMqZwgvatOO2LQgPReoTn6j/XTmgNcCPftxWXyi/xurGJfTnG + asNOObagGrmFE2Tug+26haAQrrTz3dcEVaJ/0PniQ4zOYcvp+IBSMdyYKNGslWCq + MYywTYmK9+0dLFSo5H7jxvMrqjnCYd9N6zZW5lwYpb+tW9zE/RLXGYDj7d6Shmm9 + YZ6gVsriZGBBpKoehcJ1BykLQWdZ80fQzDb5GNzULd2I397KwZXZ1ZWXne6fb7Gc + NyncyOftdnFZshzO2n5ZdIAUZYVo8YFAMcG4YPAhKTNKuCzRxkFfpxKmUXgWYrL+ + mgWRC4dHPLw7RPdyp7wSG7u4rSUwawj01VE3WAipw9/IE8FC6J5vfxxccVJkhTQu + ied4KMCp25icvTS5Dj10W6xB31BUJ5NzBCD4khAh1F38HcAIfP3XPGHEQ3ynGbBD + 5g0cPhZ3P825bO1hrdd0QxhKeJXwk9gX5kIHT1thoH4AwLIM+E0c70degddnDbil + Pt/tY0X8NNLpR/lgrLlF18IB/FQzym3Y8l9Fs6Zj6/KKHJyAT1weDgtxSAg1ewvS + XAFruKyEw9Lz7mUUzAR+sWqiBvE/90Q7jKYsTvXZeIa+IQaxO5K9CRHxdsDvZeMm + ycDt+vO0OZKNx38O8VW6OLSgxQFyE095CRjyjnOjcLP0vjkCTvTPLgPJooJ4 + =FEXl -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-02-18T08:34:33Z" + - created_at: "2026-03-05T19:18:33Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1ARAAjeUCEalx6I5s/CeXW7ClJn8VnE5Jx9Nbf20HhrZqdQpB - TiIzIpgB2jou9e5nJdZq9UXknLK8MPoERV2bE3zB2pOSlnxq0i3Lss0ZIWQYgeoU - 6hX0qa3gIZnQdHZJfD/Wwd/suOYiUDKg09HC0SrHLQ3bwzpnJMIhCNd74lsT8jwj - ziAshsJ3oSd/4Oaa+Zz7eYclrKhRM7KRJgDRoM8CSn01SrbspdgQSr9D1QVilNIP - 4JDqoSjJZQ5tnzxv5YV/MJchnFtX+t+z6p4pyV+dZWoThrcDqwp+0YK31t0Bc4Ci - T4Q063KA99q28AFYN8V6JbvXExZaXRPUi6jaSDFYnF/DdV6EYUfFBN8h57ZBnP2A - KocHTI6qUDl2/Om4bAlCzSTKiBYGrU57dYRfzTEtd49iGokau5Nt2X2zfeInVnzu - 0mhtUz/Ow1d7mgbABzxeNJnyEvpb1XPJeMPCoFwvGmn7EVTBHGTcoXrdWJY9uWQC - ttLsZ/q9dfT1oMQDbBO8Qsefk4yhteOcxX82z8F/1+I6qoiy3I8Z4y4cDIRzeXbE - Z6jkoXcFEyOKP0uVOBzCboLpI0AYwAlZm9hu7VxIXkhglPBamcRsTW01jh7SV50S - VyAIL/9H1+coDlwYUPRXT1Ti2VXcjEx4cm5TZxekBVem2SnMX7mmLPjLIzTTqznS - XAHBGizfXvPACDAvafKaFOkPdhH4CoR9fcinBtnnStiRu2WT0DKHjpfhnuQh56TE - 5AqZDaVWZkiU7i2436gdMIgXOXczVRSO5SnFu/YiQ0Dl7l0KAEQ6xgV3uQtk - =lfif + hQIMAw5vwmoEJHQ1AQ/+PHFy9mx36DDsczc/nPo6gFvV4JkJSXU2Qz/twIPR+o7B + Pa/WWnKjeHImE8vwntotPhRc+UC9AI44Uvza47l2GCS7a5+33GKsdwuGZaJpDIsM + hCmPXI1e/VqW7JRkIRGZgWZyTPzZLrjHmTfGJP0x0lyGJZyf8Y0pRbQB4Xshq2X4 + kAXcAMumG9CUcSO0bJth5HVEqk+RczpPJEfKbmzGilbXbk3rFjTCWjkChhj8Oa1O + /zT6PGXtlUyA8XY+SJ3JlMY673GInIGrNcdWvZqPQHnpY8VcWESYpYvy83ZCuCGg + NvBR8Uc+bk9nCOTdTSqXeVspYqipisWsK+jCbz4ERzZsjYdHfYyS1Ml3gCTNcDCE + Gjw5Rgt1vOLuM8QbCDmGmcic0p86EhgRt+7HiJxZSD0siRIui0ccpaFq+1V1sapI + mn2TjpSm9f3I3JSZ5NhOnb1YK/gWqHlIRirL5DrZaOzAle8toH+I8cQE5L087YWC + PLm/NgRPne5fhaTfOM5EhP6eGSOej47AdV88VNEe5Dc4xQSWn4jhnOTGb0bUotOd + rV/SXKeSIl2R1CI8byH++36TIewcgtEVhm5+QB9Ve6q6k35KitG4y0QoJ4y86tFw + T0zD+aqqjx4Rk/Xcqmst16ieFQSKYEWC39XkXbeXexuK1h1WqbweX4FbGnC0rEvS + XAEf+jvbbzE8WVR+3U+7GDum2WKWolTfCSHXj7JqmcLk2JNvN59TRK/kubyds/Dk + MQfjTDhvhzn/wqFaKOcP5Exeuy+gSfZJauY5LC+5wMrhsQ4lkrnh/Md9TCye + =uh4/ -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-02-18T08:34:33Z" + - created_at: "2026-03-05T19:18:33Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAaFyMcBIfffcpgJiiu6IReI2BkOQD1Zt8oecSM9xC91Uw - SE6AeFUHH+mLf43UFtqBBrVuS34Civb6vWod11icwSFO6GlsMncfG1S0psIlTAH1 - 0lwB4cViq1tJYkK8FMqDK2WYfh75dLDEhWIdvfEoLgmAFaxijpg+Pozoakk/kOcz - tqt05IRHxg5Q/3SVWcPuNlrm8l3qW0YYdoqG11ziNq69TRbSoFhkYVkF/9UauQ== - =+50+ + hF4DerEtaFuTeewSAQdAnt4ouzxKyHF10xroYyi3wQKcYbI8kA9HXor9sisyaRww + opIYgLBrHyyywF8CWglOvEt++lHwp+I5CuF+if4aOkDqYnE6vIIgBLAIMZ/QDMa2 + 0lwBoSZ5wcOY6s6yCkMIrtLIa72xferlVwc0GRazHvmKbeFmoOwvEkXqM3sLfQYE + /ACp8w909IsUzHT9SmteXI5m/s9cmf2pZ1TSTQ7HhbW09XktlzuZGsKouC22jg== + =Z2nS -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-02-18T08:34:33Z" + - created_at: "2026-03-05T19:18:33Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//VNDBsMHsUYMX6ZqvajDwrqW8bDVBUfC1xf9qlzwF9NyQ - OCNoFN0b+5iO0MI4fTvOT7yChKjXEHc6exG3H5eY5T4XxuiBEOMOfE5li/rd5TDr - RrMASfQYpRXY9mCRbW+aDJiXLq4SVdQ8yLYnDgCb3biEkjuq7TwuLTjbwN/cgMxG - 0SDadNiNJvSBbjK/ffExQn4Aa7a976mFh+Lcg+rDs1UK5Pp3TnRUYt4JOmB2T/Sd - 5r7ymXx95PWagkda4NECv1Fc7w67T2tamnJ9n4klx3g5aCZDeEQVpHCHoB3MeRHz - J3tx2JxuG2pQoNtgvaXAUkIWg/8XkIfvNCovWjUfkMnyqZQ67VfjudB0UiQDhquS - 4BB+tzR1L7nz0uXlyxzs1IrMNxpZpyBqsrR+imB9gMJ4UiSHw5Usx+s/p5jV/69Q - BL9nO/kWxOfEqyq8TZ8wpkYUBL+Hm9H9vq8uNtkT9MRjVkIqHx8CIUsgynAR9+Qq - ITUb3YXyUDZUykRfMytHGW0i81zLx8tioVwBAJg0gbZCEkZDOoq06TQyadVooiz5 - ehsEeDfx6hTHuEMeQLTOMg1bD7al406BI84p6T3l/zPeRDH8HqXJsG1u/MfP3DBS - ncoXIQ2TprF+1TKozTw1wMkxrZlPkRJGMNiHOXq4SZBGfiBgETaoMFXL5QfcZU3S - XAGoRtRcR7DGE3N7PEO+iFiL1H2p5xCNaXwTejCWfhhPlF7LTfCER7yK2Ki+Pr0G - da8+6YGWfT9bezpITwrRKUOyG5ljyVh0Nc2bATmzl18YzL7YapZP6aIYkMUc - =ieHG + hQIMAxjNhCKPP69fAQ//ctnZmbnOtLAotsirKvseJEuPjNND+UrKjk0Zdxv4f4kY + i/E6/ZLAH3gJCD1PGj6UNcdWk2q70kPNWmrrueZ3/Xr2eQSVPueGAHnl1bZNVbfZ + XNlBThDZD32uV7vq1+E2lcIYSZEq2Q3faAIy4PP3goyFLPb3t4PjPQnC6I6rqpsW + JEXFPE5tLXZJpEWza/6loF/zZWaLwQaMwxhmsZYiE3bmmWOgPVb3jZZXhPYEcYr4 + 2Xf6Ibh0qc9qdMhrkHKMl7xvUodnebSogXdnaOZbhJPgsT6yad/FBw2YqHSBzwbR + 5MBtTeKZPvIBR08fIN0wzMy70ap+oKZ1AchAjIeuPAn0RS589wsIbp82/nOHdJur + +gN/svrQipyWOn7m62dwxsy/NVoAYCMsiay8c7HIoN9eUxmLNsJi9AzbO6rv/z+J + +polaI54QwliBPkgG6CM1BbMGGKxI2aoQFQhjniduuO9/UThTdpDHI4MOftfjtvZ + 1G11UnszI2xZhVZFMYF4O9DJEyDaSIKW4m3wxgplkuBJ0j0kK8eINfGNSUh7x4Uk + RpxC2qSizrCMVsGJbkb1yxggObEnk6a1BGRTMKvO6syH4EgxaiP+JD59tGFTJoD6 + 850p9mlgV3y4zmhjC9m5V1Mwfy85PKl/P3DuObQ4odCz11n6q8yAehg2oDivMgrS + XAEezwxJHs0FHWj4/gXe0geSUX3aDCgCti8iv+bAubHgGM15UaBz+AnuVprNoltk + HB3w32vrEZw1zwzeZ3X8yl2pvxaYwtStoOv9eMaRCobFhaJC3O7UuGUhavUk + =t9Yu -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-02-18T08:34:33Z" + - created_at: "2026-03-05T19:18:33Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ/+P0xI7Ze6a14jFwGhS//0ZOVkusfANEmk07HEe2Gmyr/D - fq4lVO1PfzoSIUjFOSYdNXq5rM6ONK036k3ExShPJHI0wTxrOp4fEaLenpe4+9lv - v2hwamtBLWEw6RpemCkVU3VAgz4sYN5BNVB7DdVVAnA2KJSgCcgDP11cV42BGqZj - c2YyWUuCTp1ZshpoLgIQpMWUgmTe+NBun6Arqir51yrNx95PzMpF0RBAlkD2bMgy - qSB/Iqn0UyrPkgfcm6+nHazaxklLmyuxWTHgWOR4VPYu3peA0YgZOx1j+Oh5/iwt - 3unLLoCaIJQXS2ZypT0ERZ6gJDSG/SbtjgyRdahYRAIROmKlvrdfE7gpCvOy8K4B - nXCTJY2w8VPxO1nT3yCxLCz/1kdxV4Fx5H39QMwhSHGdmm0d6YUTSsjrg+Hc5qmn - pQx3jToVom3t7Yol3SUXcNhlN2qit+Uhui+waNtUUB537/TZRTqMajRpNl+1Y9TI - IwfzX6WNUOQ00YAzqYaAmNdCQeekIG+MFUaHsYfftdSzbC/SxG82tDtDfpWIUcSo - DATZgiSKS9cjWrsYyUfG1KRjRS3Kl+GQ4BJhf0Yz+RFFDC83SShWkzBZMM3s81Ot - hchcqucukKy1FRx9KjWH+pViUX3ow/wtNu+TO08bJYoc5bLVllIhgutEWNU9nkLS - XAF5viSqNhUQT6dhmonmuwYGEYqGAY85quEVv5BttMydIjCFNac7Jawfwtp3FiCf - Y0IREEazji8TqUc3sQ1U6I6O2x/ekM8RH+w5PYVbGDIHkgT/pqL6HkGy1Dd1 - =hCjU + hQIMA1Hthzn+T1OoAQ/+MgXMekOQjfFMHtqW/3v23K7p7STEuVkLphvBapNQO/nd + xWHAjYMTx0ysyksn1+MzX41c2X1VV/NYkp+aKUJk7zaD43hWJqkrhBKkkyd81Tp5 + G5gxNlBshzsrAs4ousevydYVZCpbOrgnSMHp5OyDDAXcqw744kQtCsrgYjUS2b32 + 2gTD1q8rtkkxDGHo/bwyPBbJsDXeVeVHNbPq1n7/XN9qRi6jflk3S3qKUpVdAGyR + pMCg9OSDWfNFIF9A5XS8KlA+Jj/o5u2HilrPvQS4dC0KlMzFYq2f6dEukRBi22jZ + 3rS2Pr7UcDy9Y8fVnN2yjMoFNO73pupSHGYYQUL0c4e3WgHHXtap7olHBKxBCNvB + ICmJi5sZ1UZCcwmkj1vRRVUSJzeuzQmbYFfdEFnRd4OVrFCE8cfjZ28GjnjL+bxJ + N45LVwB97pPW2VqnT2nOUmWEXwUP71JGCFB6FTxBkYY1m4Bnq41svx/3df81kiCM + gIeeeJTKuROfbA9P70m8OrHEDfK883t7doGFQk9hKYy24DyXXG4VpDx5JntwT4ED + rrS0434jw/kxrlAZ378+nueajP6UsC+Tg87xoF3B25LIp6N4fTRw8NLZuQQwOK62 + MTkDTGPRsRfsCflw2emPulzHfgUwlNUlFqjG4xudVRj+whZG60yERQww1f/6/bnS + XAFWZg/1OTglERNx3dfOOpaYeO0KkUk+o0QpHOjCWnELHmvOtdWHmxkzlXjXUJvo + 7zEeQU2S7+U38b4ifZ5xhM7IA3MZifsYLHGRsV6GHq+xoNdIeZNQAHkylzJU + =S0ja -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-02-18T08:34:33Z" + - created_at: "2026-03-05T19:18:33Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ/9EoBbKsS5yPnJsYM35WnqFft9elYMZ7g+NBRYTqChwvao - wkgT2Q2gFqPe3NPHQ1phdcpBwlCFpirnDRY8yXlI0JMuzTY0Mto/aNI4cZvDuS5b - SCPiwl9RS5Z2kffguYr/AU8VinHnSGvU/gC3u4jqoPg+Cy0ppcC461U0FJAtIbZm - XaqFwk1xkol87LubmRDCLDoV8iNCwqWdFge2MCqr9ftF8q6641BicF76W0/DFuFB - DdlAeIS1BD6Vz5s1rjStVshYSivtKD3FZBdfeR014APpPppir6teWA0o3U99nqRN - Vw6VqWVPuxRjhrjg0luG3fL/vYeJK2WcRwQQnalQLl9S7Sl9ktgbUtxHOyBEL6DD - cuu0fejFpu9ctNFNp9AL6WCaciJMsYNI0b9n7j52Mtz3gH8xXBGk25JrHC5B5S9W - a6m3h6bglYmVWDN6jYtCG8ZxshnntesHos2DdFFyi3WNGe7/NEy0SLpxK1e51a2T - ThgZFy2PQa2RzYBWIEc1d4k/cJ671THa3bf3VPzxB0e8BzF3dQCR3PIK0wmCipp5 - 9qngfDSTl1qqxzcqqpgmOQ6WMHBLdBW6wGA0kzfunh1W72wzVhuoGIWZN8c4KKVh - 9afEkjYCCwLse4dawNlNRAzAunnqUwOLuCxRVqmHtNZQH07qRP7ZlA2QNOOu9o/S - XAH+6OHpN+18HjhVIZ7pCGF0Y9mA0y6XlHiZHQwtl5naBmxq6JZZLkSAIzqKE8m3 - B95byFwaHki6EcesYurD4NRdg9WsJUGbhRyR1eOHGT9qpkdcpNveHyfIwOqM - =HH28 + hQIMA46L6MuPqfJqAQ//d5Jr/1V4aKEX0346sCiAAb6mn4Cdjw1s70tkZz8wX2q9 + zyarLMks8n/UhFiRa2jCqbnV+mc9tA3uA//4s5cwziggbyXxDhjSblswNfFedM6w + res+w5vWWXaAw4sQuwaV/1u0+etgff+f7+O6OkigouqDkUvP8Wq3NCiTItqOURcq + JaYXwPy7UzapSG21JLhiY4/g3nTcpQGIHtbdcDiGbfsfXK1Zx2iBTQayHJmTrw+r + 5yswmtl1c4LCDQxhAGQyg0Y180uXMhrsR96OR2DD52qQ27pVxVCShHz/AgLchtvD + a82m7RN/JaVxoYAoY4FQtzp3+D4+fy20Bef2k1trJQpmO61RALpn3yIcPas59JKN + vVBotw8WXGzef50KUAczc5bakuhmAQWmJ1TD0xwkHJR0fWD4hZjPwf0cGtqqIwdJ + PJwdAjxdRmkTGAZztityXgaXQdb8UryHgSnhKMXnk636k8Ln5C0nYSP9qfGHL6HK + AAzuPbmKrWNmwqAWDGjuWEomLf6Gq6o5V7RtgpGQMA+aOtaGTAvSVO2bYqEq4O77 + G/qVGQNBxe4sMFoqWFSJcgQCYQ9S3oqdzkrx0AToz4AFot+lpLvjNvTQn4NO8h3L + YOXtICdrcq8c1GbqyOOFJ+hFvSQoe/bvi/S2vxM2jRshKSAu7keJR/a4U2rW9zzS + XAE2XX5yqNpJ8v+pmq1gu9a58beb9hRL2uLdC9obQCQwymXZYYuRGVaQMm4zMpeQ + v/Gv3d4bVTlnqT4nVuvU4An2Au4uKMWfiiaXxXL/PrCMZmIZUEAAf0RW+L9m + =E0eo -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-02-18T08:34:33Z" + - created_at: "2026-03-05T19:18:33Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAzy6CDBJDMRmZ4YnKHIAq/a+gwFxzeT0X6tpW9d7bAR0w - SNXE/A8LW2yEYGCM9SSI4b5+sI5fuwWP+kX5uJ3q9GNcnAyhapSZHJTQ8wkOiPNz - 0lwBybMbZdioLcJjqeOMyZ8dRgihvyrBvWRl1NYa6Prg7rvmVoVquzULTaEz+yO0 - IPqLUs8r+GcwUIC/ASUCMoXQYxVMSgf0JziAnlFH5ZVOJ9w15Rrrc9N6tJsPkg== - =1cSX + hF4DQrf1tCqiJxoSAQdAlxEzbbRT/qlU5YHCOi5cuT7w+cRGz7MpDghvvqITQXow + Nt/rz042ytRyTrNxXjALl1oVUW1hLSJxOd2fEpS9gxnZhg8JxabBBWwiW3RwYK+R + 0lwBtc9SyiVWuqc8d3SCWMxCw/CTpkRkSZyh4k0gnjtJPjEGh8S3uSyvKb59Lgpr + Zcq1pdpb6og/rmvRehwZBGjE/pDoiPUB0IdRVvEjDgO5eYX3RQvI+dKeLkT8fw== + =iokj -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-02-18T08:34:33Z" + - created_at: "2026-03-05T19:18:33Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAPEaHT1nTYH0uEifdmZO44BkFrk/ACOkf6bfmmvOX/2Ew - 33YgVUp5dIZfcy8kYXoxG3ij/ek7N1XXWoT0P5aVUlb6a6VyR5vDX9OiNxBOKt9U - 0lYBRWQZLqF1a9SJd46Svjc+w24mmnxDbaZY2UBl1zF2HZ20CfwDjvXfnFYf0fwA - e5hYHwobFbazL/xqapxaZSPQOOHELe31X0eFw6ca3jyOQ9gLgSrSwQ== - =N1UX + hF4DzAGzViGx4qcSAQdAABWrphJeM7B1dK6Cl12VfDlrjyGV2zk5L3QdxHst1A4w + WGWAjpbns0cB6/nSNC9ILX55yzGXaukPzYDRNCMPD4q6caZKoWWd82w7xkLR6GYk + 0lYBOo67q6Qh1G2oINGXY357D1AhK7N2CRPqPu196qTz8SYJR4OyoXdAhxft0/5R + HWGKjyX7WugFFO/tkJfg5xHudkfufYcs+vRS4TjMLHiz1v8E22NW/g== + =mKLJ -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-02-18T08:34:33Z" + - created_at: "2026-03-05T19:18:33Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ/8CZKauDAP4HOEDW+Qh9f3e47ZkDS6IUGs6BFidE1rO7Fe - Dgca8p/crNOzeTI8NiAxhlUzNC34xswUGFEv5psS3NSEoPUrQ/XbieJ8UYZtZstY - Wten4BnB8ugoYobXUqZR6kBNxYc1B9UTfDQTiHW+0UEKevGDXKkiWnM8+dGE8HOr - V7ml30vx7lZqREL2ylXMrLGGXNFNcjovHtz+DB55eJrqIB/oPinaSdW/ceIL9+n9 - iCJAWirJ0cPPYrzZbCtB0f50v1jEI3JUR5TKsSnK1p5O7IVGqIYj+kjNaGtRkajJ - 9NFiJxHjxmuF7QwA4fD5rRmq7Sol12VejM5QN195YD1zysiMimvfYsRQWCIJhLsE - mvJX6ouYmMKWuG1NHsyq4kmivAxUPYQOpjrJASHtJI8c0II5OCC794xa9CxC69BG - 0G1kwsGL+t9IZBVOXig9Kszb6cS2Spr3A6yqdXJjAdFM3DaIjmIio7xqcYYd8OaF - dug8ylkvGc6l3FXpr1jheadb+B5G3noaYaDxvy6GW5AnLxCmIM/HMDxTJQPK03uf - Ra0O6fWb22ZiebxnhyFs7A1hw4VPD7lqwo8rMFD+gjS7fTh7UO1ErwKMGDc55f7w - Fvzpl2f1FLUKUpyeh+1XdqKv/BX0KwY8LQIRfdxrUDMFWFK520Oz0ds0V+4ZWCnU - ZgEJAhCQIljvgxmsPBkqylDccJ0m+1hAAdwKR2J4xSzV4ZDpagHW2hMtns0M4sWd - z2YZyfJqEaYikcA3BCfBqHBLdGxbnGdEa2PsuU/F9QR1D0xLOXefQRhQJDp+H4tP - KtFYECfrNw== - =T2i0 + hQIMA2pVdGTIrZI+AQ//RjbgY8mZTYA510JsOgSyCiDnm+Ot+jBuZr7tVzr86k7P + nXYAV80fO5MJM/rlTZZ7bX4cKSth+myO5yDAlJ5h3vIdAHEcGaAqN2vnOgGFY4v7 + 0IWvFPUrDP2RH3t9/dUJWQ1FEq7i4OjRunwkLMvnJ+LLWgIRazaeTOCzwE+3afxd + 0KE0omDY3Zl0FZOmT2Ai5VP7G7laDRSvJC3MWA09vR1v8UtVAZLgFHEk0X4L9mHM + Y//5oMKE3WVwvqMutgGy01WvIz/dwZegfaXcMOaSt2NgoTDvPp+hKFc27e5Yg7jw + 88FAVwz6HcUZCrJjAo8B5a5k5JhyX3u1HY9RfBGj/oCRbKJlC4WkoMxIr4AI7T2W + pOzC/zE7P1Ied/npSGqLfOWvxwC1b5u7zQYz6SkJc9IPb8L5GTEQgSHzsjh19NHp + AcjfzuhwdpXT0azW4Q5rxBmnhUBRZqYpR00ZZyvIXY9KfEJkC8RZB9+wR8QIZ5aF + tFS7SDnl/rdnASy5QU+KJ/YkjHs5DCkUmaPPi7yrcxyigeQf5UZqxb1XvNd1Lwe8 + LnoNyPz7IDFy/v/xpBGcJ80NrAUnbp5fyi6ZosZRzAqBjCs+UH/KMnNO/HWEWFm3 + MZb8wDHgqU1pmzn/kZ5tpwQ2ntsDICMXUyi4goyHiwVV5I6YvCUnJv5ng7H4YKzS + XAHT5LiMGD/SPDgkOj1vMbRicPBnACZF1VYKBJml6YtivlETwfKahM4qT6AGffhy + oMoJjlyuW2ValBQMHTFSBi3THJ6N5rig8cAbf+pDq2fepCOka6Sde35Cb5vO + =RExN -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + - created_at: "2026-03-05T19:18:33Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DKKbvh61jX5USAQdAfjzpYqCQEXv0U9N2p7p8ehUZsGvxJiKa6FtB9aUiHHgw + x4zgUIqeskfw4lA+OmwXP6NM/tApbuy1elAhVy3IhIbBU/B4o93j/SsTWPQkv/AI + 0lwBOwZ8xC0e+pmZgYkQsnsx1dB05DOcYgeLli4ZKSehTfGEbz2IhsfklKLxWlM7 + QKdcp7tKh9MaVMI4XAnVqas/IKWwjmt8KTcbdop4hgPXh9emnTKEMxExjyCAEw== + =R2VU + -----END PGP MESSAGE----- + fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted version: 3.10.2 diff --git a/inventories/chaosknoten/host_vars/spaceapiccc.sops.yaml b/inventories/chaosknoten/host_vars/spaceapiccc.sops.yaml index ce6f467682..7c21579ac4 100644 --- a/inventories/chaosknoten/host_vars/spaceapiccc.sops.yaml +++ b/inventories/chaosknoten/host_vars/spaceapiccc.sops.yaml @@ -7,204 +7,213 @@ sops: - recipient: age1mdtnk78aeqnwqadjqje5pfha04wu92d3ecchyqajjmy434kwq98qksq2wa enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBNQW5NenJIQ1VOMmJxWUti - Uk03ejlHOXU4bFFtQ3F2THd1djc3anp1YURNCmh0b2ZtTzZKM29PZ2ZBTDlEYnZK - aWU4OGtlMXpSdVM4bXlDODVEWk1jOHcKLS0tIFRVQk1kdG1hdEZJZ1FDRkVHbkhH - bndMbXBPa1NxcklyNzlWK3F2RnRBNjQKVgNRU6FqnlP9eJAgLhuLbYMv2AG24UBE - KXadOGhRiXIQR2I7s6Z8bgCxqIjZ8fsE6VpgjfM0ZxpnENdVMzCIjw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGTVBKbmN4QU0wa09KUmFt + YnN4TzRKS1ZZYkpnTXl2NjJEZXZZVHp4SVJRCmVQRnlNdG1IT0dsdnoxeURpUm40 + Q0piNmo5QlpkWm5oUmcreldhTGFlc0EKLS0tIDZiaDVNUk1NbDdDUUNLK1Q4ZUJy + M0F0OUtORWhFdG1jQkk3WFdBS1hnT0kKvQETeg8e+ZOiG6TG887axhN0RJ7FZfSp + woTVVIWrWdfUZZOZR6Y4lucAptYhMDWgyYSD+3V4GZ/hbKdk23q9Fw== -----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-02-18T08:34:49Z" + - created_at: "2026-03-05T19:18:13Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//TZg4MvfwvpqYRD16lpQnusjZky0JQv2RNp4OWil/VqvU - +AGXFvwtHnz1Q67XRsIneKydY6fFp0JDErIBuashzoE8OVO3BP7mC4P89mWDSrJN - pfzTXTTi6nfNR3ZftWvZ46J3YpTQyyO4xuTxqabarTNmwsFQ8EEIbyNcCL7TVuhP - ykzwgCCooETHO+qdOQOuNJ1liPcMAC4R+9M4LRwn7k5S2mRcR+Laus7ZiUHSKFWV - xGKdZMPnShcrHlw6a9NTSSKMKdC5JsVT7yLewN++gZzYuGr3fguGll+Lai/DLUoz - sl68hxOg2VT9GHjKYbRCKkj+mgGj99xcfhfrxsrRShnq1g8LJX5HsNtUJN/Vx2B1 - ttAd2NW+LF0RxHEQ0OKURt8pdhc2o/P7cZITBZ1NjANmop53v6bCPD/dJm61Rjw4 - H/X6Qoh+093XyLEoOArGBxYGD3Pibz8qfy50BuIZ7xpwZtZ74GYkeLE/oV5QbiI+ - iKrBicyUfBT7Z4Xy4xMDQ8gWinJhgEViF094tOaBSPjWzVJ7QKXAGtKostt2+jkr - bUersywCG8eIhNj9Pvug175y2MAA92fcc7jTpMffAkLXSR9/koNrQYIVemxpCBfO - UkfLoCmqUPM31FsYkT5XM2irQ0UP1rP7TcVyh7x+mWQjCqWCcWyK3bRArddGWgLU - aAEJAhBKBGI/eGotjXP1+4rih9uQBDi6jQIySHqLJcLuyyGUfzg6VQctsQrVE+I+ - ex958H2p9ZQ79oVwkQuTNCybkPis8vMa/YGs3ve0ByOHgfnsW4j5eSMkd1OvvaKw - 3xkQIM5kQ7Jc - =77MM + hQIMAxK/JaB2/SdtARAAjIfgHYnpNYn3KrOhew9rdtpT15Dot1XQ+gHpv5eirjhT + qnZhNOMAUFNuxXNG9O4g+1U8ddn2SyAaw4cTXVoPYsZv8ROQ3DUTvKpQl1h59Y31 + 7IehkYko7jwLYF0yV9/B1LH3b7cIIymSXqHf8DCGCC18zXVXwgTnthnObUigoGtl + k6cDpxdN/O04axnzVatsqTwP/kBqlVAwDaV9fpX7Qqvgr1x8m/uhMdWsP5KzOFKi + sXacnWQ3ksnkpyi+Oa9xv3XPWkHPyiqb84x7I8NpbEA7w+Dz9grnFTRNzwXLdnvL + 1CRN/bZ+juxi6QFfIF90VVGa0DYz6gPeK84DFsx0F886+aVbpAUCJLzze1kP3wQh + 1pnWZAo97N0j/kFSnnAv7yJCL6gNPf0gXcZvtOoSrs+cuaAa70n1rJ4Rb7pkaq6L + +HaoEFAryABnJmx81GjzntjAtdB+g6UYiibFKI8Gn7wQnw/h8/piqL2CMy0sVo0K + nFv5/6Emk2ZibghV5qHB+Xo7tz0YKXGncwMOioZBmAZVcdRyNvhIpXQ9KWEWm64x + 7gq8A+lhwO0HcLn0ZoNxVOzelHPBbgteFXVbCHf49Q7/kvMcQzO9FlpYnInoz5jy + Fibalwn6pbmm/BiWHRKzp9bCB/wvTBamYEkVi94Sm2KI17tmBkRLzlfnJXY2MUTS + XgGZP016Vc1ob0nXahDZs4T4Wgii4DxcjXmc926UWNpbK5J4OExKW4sRLaCH/+vx + fBTkrZwgurHm6Nl1XLgBxr8rYTfYdWG0MZYL+ry20DM0zqkPTC7C/5IEJXBH2Ag= + =FTR9 -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-02-18T08:34:49Z" + - created_at: "2026-03-05T19:18:13Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf/RPegBlPXUv/Lt6hHtcYhx2xkmuOIl58OZNWq5AevakSk - 0KTSPSQqz8uYWPIcXIG1MP+dSmz2UnZGcDgwK+atBf1DsohGAaQGisiT/QLJBLFW - jE4Gy+crdBDOvCoAA6tkmV6dlzA0DidD+D/RAhOdj9Beu4lryZL/Ndehjq1DLaWl - 9JsSEqc+nC86FMgEaOM2KFrrfrbiCcTjqwkGwW3GdJfRcbxOKSKkZtHT8eu9bnR3 - qwUJSZhT7Md2ME2q4p4eAbgUx1e7MFATX/NjZk7qiJIdVBzt0XaAamRAMViwU+BE - VivMteT+Bj31sZ29ZNIkPwHWmWvAz7mKVU8FhIR1qdJeAY+B8VF5+5Bz91vYbN90 - Bz4MnmDWtc6IV9jIQdwbMzOMLE7PS5S8TBadBE0fAEp7CooA5RR8L/5IMHfYT4Z3 - xxcPGCpFPddo9kJ2hl8rv4A5yXmp4MCcoTLWYFZBmg== - =H+wE + hQEMA1QflAioE8i3AQf+Liy5nzVTqACiZORBzVC6kSlNfp7yq9s0RiiVmFmIxqCc + mNJQ2aLtlZMhUV7/7ZVY6X2FBosL9GyfS72gPLo3aavODx/3XnnfXALRneO7Ehn7 + 7wDg05ElZTeRgDTwMKkQTSaKJrNM3fv26npEVqZD5Y9paoGTzJxpRqiHtxwqdJvU + l0dKbJJTSyI3RL/GpMbI66Gi9XX3e6jxBiOUQSOgXfNoFPmNjzy84yBs4Hy+Vmiu + LEysMg7nFCpvkcxssr/3XJP6I8I1SI7fq4hWgvKAb/lL0DfDonCQiTts5RCFwG02 + tW+Uwn/0ySMSAAmf7k92kEMZgyveAgvE1yztd5drAtJeAZQROMNOwI7yfVmAcAQX + MT5+U+eIzjZfxhrQFc+dJeSs5WBq0zTbJDPBfC7wXHnZTBZN/SdyyvQjVgr6Z/xK + cHr+CzULC6rfQB7j47ovPYj4TMnu02U/+QDsbKpgRg== + =WUPh -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-02-18T08:34:49Z" + - created_at: "2026-03-05T19:18:13Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAAgoecrDnwKT7W1dq4DjlNFR6cisPfDzNDf35S6HmfTtYD - wvXRhlC+SF9GFxTkXe2iMs469OdTZ6HKEKHoK5OrNxtFR5ycyCGM483yrrBRjCjg - kyX+OSy0/9oPZEkt98Df9+m3SzVgJNPWi+uoGwDhNfHz4slMaSfCyRQpBOm2eYtw - zLCXm0GVcLZhE4cBUUvsl4ZFAqXfATT6U1ZFI4jlqLvSiVPjgMLbbS1pDnhsUqj5 - J/JgLSFUJGbf+Q9+upwpaqfLwbHrgPQGyr8gpo0CWqDrKXYF8RK7WBFa/7nfHFDc - /ZAiuxqFmhGLK3tASvU7u0xuUHW08sFtVVRjQK0dHaMtG+o08ibDZEA9dcW5cyrq - lE0HOzvUPpqA7eSwHl0ta95jjBxc4BgtVMR7FHnFnuGktCdts24JvqE0pngNQ5uc - FID+r+h6DJfqab1UIS2s08lna/VKrOg+VpGMLLl/9jODXTAFg6UxaaVK53BeQWew - AAETbXj3ibOltEvlcpSI3UhdTfN1ZXz8j3OeZ3+vDom0J3k1fwS/IBx+WoDVX83A - dbuK4zNADLo8tA/MdWw/ubnF4AsdkmUZjkiS+LapP1yJTjsjTNLTC1/oIjuM6/ZE - u9ABhamJ3XZDMaWTy5649Zyxdx8pQV+Y1y/vYLzhW575+O2VIbUIlq94q3y7q6TS - XgFDV/JJxljczMrxoYxN4ZILfZkOY0ZInO2C1uG4ONyXD1OL44YGdpJqUrBqCS/x - FobzhCBI2vu5Bm5bVdxabDGZ8GvNUmsQYjV1ndFoL3JrX0vJJW6qWNiXWjU1c2M= - =JCLg + hQIMAz5uSgHG2iMJAQ/8Da1DIBxNI65hgkMGxmNS0h06n7AUP2cokPghHznkDs3w + NtZrNe6IZzjExGAMvrmE/Zod0p6dhSZu0D+snp1zQ0ojjtZK/yyjP/T0ZAG/pwcR + 4Yu8GlHoBR5xWcBjNxbeIqNNMyE+7Zg1XjB0q3pWzXjR/6tVI8wDJjALaN7oPZ+r + d9xxMjwOCLyPhxKNisKchzJpM8rZr07ufAKewV8i3lqOopcQdmdWSXnl+NohbFRK + VAWe/NwRKT/IcrDLDmhOmT2vFmceEgbghbTdCQ+K32dmbW5BeQY711LlkcGTOJIG + Yzfkc2x7SKooRRBW5+WzMFwz06MugREL9W416Bxqe5NR6CFkxbn/MqFPaYHClphu + YFDDOaFHs9dUi8ZNzFkRwS8R0luBj1+SrKsZZ+TY1Kdh4LksBIiHgJ2pc5TFQsU8 + ulyUxKHVkEb/qci+8M12v2rTbAbBMWzl0481fVpVx4OFKveOKOUGO9nGgO4ceG6I + XRfK7RoR4Uk2tt9d6G4tZD+UKFtNEllqtwC7KiQEd7t4vqsGHNvNnCR0/f1gF0e3 + mRgNZFT92LiTHXM1Xk5gEKaXEfWZc0jY5eYBDPQnW9cOdu3n0XUhGsrGmom8Guxh + OIpmQZr2hDcfbAN6tRrvd/1Zn1ZL9BochVgOqW+LPCY8tRjoxYnxnmYyLjGY6jfS + XgHa3KVpsGOd5eR2kZZIT03OAAikXjiet/0gg/z0TLAG+U6qgXM9nvw3ePZJwRyH + qY9X5HiGsK3fPZbeBIsUrLLb2UX73CjP4141CWWn5xYHgaSyVCAb/mZRlJSU6rg= + =YIP/ -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-02-18T08:34:49Z" + - created_at: "2026-03-05T19:18:13Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ/+K7pPaj6D1snRCNBvt5Jiy9oS0uVAV2xf/5wszw9sVRiK - 7W2qTgqyTu3mQcSukJN1c4B0xvIsC2HCBB2CBAzzRjSDrhvqTYjIQG7pOPvEDCQB - BqFPK6rzC3hYKySt7Znc2UnygAgt8RD+0V9RJm/lxhalVlnG5LsQeKCnDRzNUE+o - Lxw8hrUCvfYbYxMbPPB17KmdnsJ4pk8Jxh1Rmo3AP9ywBSzgFU7gB6LyfYPAfPc3 - HqF8tNGXf89XlaISKwzRax6JbO5IAQHpJTTC+c0w4VPXoofRSB7cI4LJS4a4+L8b - yfnCCgN2WnX2Pin1BquA9G0L2+M4+VASswhDYEilEeak26VBWbWp9O7I7/eE/0QD - hBW+1zXgKBT06ubrwCgv96G5mXbIZAgaZeqBpmlpP1axxViBJrAsQiNT2Vj2EiHs - EFpQmT8pWMlrw5i/R0F4QCuLkhTM0J//2nts31lC8v3qoi+keosbqPUmJlTHgA9h - pNlot2wrMPW9lfMZOyKGsmotqFAF1nd/ThfOsMzooHVaPrSlexs9CB+cn5HFebQz - J11dBmV2CCeQKyncWNQTyfS8u5w/BrxOqsIVWJOd93BqTCoJ8vKLAuUBwdm58ZH+ - J9fpcHkkcR5N8R+TYL01X3TLegVo6Jl7Y68SVzJ6FEMPj0OZxPowCu5Wq1mI4PbS - XgEV8seIbYA5DTPTN4hEbEY7KL8FlScPZrDemtJG6LfNMPIxDIoKUqx3uDMkK+v4 - fb2dPpCJIXRWps5iXQrvZWvvUKxkpKSn3qqRZsGo+YV996b7gn5szos5oVgmckc= - =1Ehz + hQIMAw5vwmoEJHQ1ARAAp84rNKtCsR8usRZEejxg/QPYuZZVGvPNlI7pfiAcnOwB + unuklF6G3AhO7I+aaT06CJD/4q9Z0tEsyxMqWO1VyA1uik+LrJOud2I7JQqmwh11 + PeHQtmRCYt9Iq3kA/XGAhGaHmPlT/33zJgytFW4UUSsjbx2Jx+lAon08W9xk7W+9 + +qsobS68l7PRpLQDgqjBZCsddXseQDm1QAVrb7ZtQj7M/jpwLPxhodcNJylMJ4Ul + qoT8KvdaIpk0nS9ZEllp4KaHjnWgd++Ys8FfLs6uQpl0szupYrK6tYG6wSGjRQPy + VGHotI0PDK4rKV6ezEnR8wEz15DD/eOFDrmf6lHxXi5iBYs+KHhtSM3NapsKXxUM + /7QnbIXL9Lu0p/k3ouOn1cTWB9/hLhFJbF6m4My0MPp6/jTuEVpcFAei9B/0aOQh + B2Yv4UC9R7WiJpnnj4CCd/+AtJW2wv4SIExSa1yMUEIChtZvr+mixtQ5yqSbtMzK + p9gS7W6WYvs5xi6Xhc5Ns+67sQy0wECjh0n1ZLz5uZht6jhGBRh8mMX5clzkQQMC + gMeVrq6HPZ1dCPaK1WIMjTLPm20qZNgTP1kSsyOU7035qsGsN04Bc5bxXc/Qe066 + w2ysxGvpNNausLWTivK6jFhTHLkajvZCq+KMrIfwPPJ/oyk6+Qtv6Pok5TH9NzbS + XgFOM+40g0B5OD5979bi6yQoGptKKqJOXqGHJCdAW18fxxt8gzCMXOqdWWfUZTfU + yeNL5IA/jyX2VZAc5uYTL17LhbonX9kbN2ZD1gDnGbRQ/vEJeQmXlbkrdk8smUI= + =dZOJ -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-02-18T08:34:49Z" + - created_at: "2026-03-05T19:18:13Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAcHzsHdN1c+vEBATNIPK9sB5hXgIqdZNMVRgZ+przvB0w - 4Z4QSzYRTGxTmKW6Gorfljgl7/N+aqRBUfuAonozuV9PX7dgSkVJEk5trSP7c8n9 - 0l4BGx2W+f8CU6bD4MROkMPGpiL5Am+8xe/93aQkefgKYlfDc8kHaBp1jM+Oa6nb - gyfpQFOmAFlvOYO65w8GDyW3v2AefwsYyzEoFlnaNJis5MuGvXDX4tX1pbDN6nbi - =qJlk + hF4DerEtaFuTeewSAQdAH0pz0B+kSZOJvCW4T+MWfmrfTMCn0p9ANbUssG4JXAww + AfjSo1yFjc9CmXQIIoISQsT/qlenPw32FNVh8SdX6+4kHhxdBs+RK2Le9GdcZ/uI + 0l4Bh+ZpfbHvpsw3Cd/OVlGLQzqs4/b9H73nbZVCAg2RHEd269Ge5PhPbgj7RD8q + DgiOGw8l+NUpXSccmxKo+Veo59aOkxkwLlQ0AmhDXSJDvQQDHhqeQR0m3QsAJgyd + =p/fZ -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-02-18T08:34:49Z" + - created_at: "2026-03-05T19:18:13Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//f4B8mXqh56N5kqMhQowZ7Hc/SaQa0arOHp293jIQxuOL - YY8kXrNulr51P+ugk/kHTaaqfjzL39a+hcBVReydJiyVpMNre6FuwZDt/0Q5ZpT0 - UdabWoojJ4qCJXK8+1DwtiFOoGeJdFHiQCA3fC2Ra52xddw2fdlb57z7IXLGm9E4 - TYYg7chIuC4gD5YL0ZFU8GEMg5WkJRtxFYB/jHsSXZlAss6qufLp+O1cGoXau0up - BNZWhDga6OsjQufwFlSj8YQhClBWQleefYRUOREKpOp6pJ4GsuCmFXzvOlNc9nLR - +e2q8I7YdPY2vcfSVvmrQ8rOTWG+yWFWoGs7kYamDCRP/16WqZvMaB2mfchjcOmS - U8Y9a3JZqCndRZO/WpSTNv3vN63VJzUdxA35PPtMeYXStv07utRyqAgszLZSsRLv - cvimOasRt9UDGRXPITlz6TsJcj6ThlGlf028qOQ25s0FxhFsWdYsegv//54kS5bA - so4BZ3jeB8h36IGIzXq/grL5RIL1fyBvEphodBvp1O6VEMUGmoAfyGn6e/Jhxewv - Ko/rQcKg4QaTMJ+xtm8S6KMjX2eJ+bO/Br0VH5bewrKxTTqeOKUAiRu0DisdnnZ7 - 8YmRXFZR1N9NdfMMOs413F95N8G1ee4HatnJG5bTVKvHaDL6s7j/tvirtXIF30rS - XgGoVwOYrpEzDjPAk3vV4v83ZqDpiK+NfsN613uxRVvTgV7GSjDvyGXW+S5RW5nv - e6vMkr2ao75sIJwrHDwTQyIxkZuFzaDmzj3Ou5Bf7ednTNq0NX/BJvjb7xzKIAY= - =Us1E + hQIMAxjNhCKPP69fAQ//dNGFESIfCL9M/WBRaLalCDmaUFG0Cq8pjr9t6KbO0lwr + iVDSachlqffJOnXOW3yHs/tib3pU+Ho1qJOAfUr4HAeXsxOcPn91jEVXRu6ViAoi + BKsKX7CL/vhvFqUgTuXduX1fQWRHowZsK+T7YG7CazeE6WbryqqQuc5e7GbN6o6j + l5tUhjrbiDNh1wnaN1hlYtGGEl7dY0+AXWUHAn7kggK+r59oZTVeROwNKd5Psg5m + T/1jKJwhkhgKKW/b2Dek/HrbzX2MG1hxAJrVKd4h3gNGPI0FMIcZF89JZkoDvFGf + rhb+2OHxCHWvP4GoIQgvkjhu4xBCr9h1oBJodA3zNgeterM9FimCn7MyNTmhvgwM + XsdqjmryhNG3SsjXC4MqOf9nybK/v+634tXSBRI2H2KZWghP6fy9RdyGYXlP7FIY + YhJqOXuscG0VF+nF9lWgkKsYKUBEgGSuJz6KQeZgecdq5HkWM2fTKsSQ+jgknfbG + 8AxJLVqO7xtbGhFz2FsLC7v4s3DH3ee531n9dR3jk+EN9pjzUFSMofA/96rvJhWZ + EJnAo4N2Wfn03vnB9HOewMg37Qrqucx+5ghIWnX0WNiidTVaql7qcBsFOcXQ/Eld + TP5AUEMKHRXWpZbNAZCvYFmzmmClRAnu0naCE8c7AJ0jpuEL3pi4wE2SB9Gei27S + XgHBxL41zi2OhUK5XrUj7naNyt1ncK5EP0JuhVXsJxofCzIWnLVkY3AAVhoMtzko + m0/eB5htpH3fqTvvG/0z5yJyY1BykXDvCcc5lBws4GTyJcsMKiMMHhpRxz+tDiI= + =NBqz -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-02-18T08:34:49Z" + - created_at: "2026-03-05T19:18:13Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ/9HiAliSj73b31Dpwj/NRusqwrMU/g32GoyGw2t15YIJ2g - WPiGXk8pQ7wvbHf/VgOeeF3vDcto4g8KFPa7QTRjlVULPxs7SDqVT1jdwEpBwslk - B7gyO1facKJ+rZhgZ6DdcFkqEj05gWz6Jh6qZtp91X0hA/q85znnLrIzWovn+gLN - hBZ/O0Y93F1ybL5k83fHeQZGLnVS8f6xkDkPhTgj10Vw/ZYghPbctlSwfMcpeahg - Gi8iDcPfSa0+3qg9U6B6d34A55T8+dSU172qW27PWOskDor6u0Nuxz14hr//wX1T - SKVk4TVS18iQvQbGHAOpPTwUbs1KZHoGRT7eRxiWhR/hKypXrLI5AS+vqy492TTC - kQcZjOniaU+8adUfZxpieE2kNxtz0btsRe7PSGRSZQOuLRsPsOQok2mm4JWwC5qG - WgnyLE6CiP8YxLME6a/6ripX371rNvxlJI4qSUPfeRjM/OTMfaQ+ZJe/+b2BY6y0 - lqeGPOi7pegBRjHtJsErUEKCkgx5F3DgU6WoQFlY4tEIZxYQelvVN2YPJCAKag5H - Lo8T/YQWuMGtmhBRJcWixV9gNvxeC9+dOC2QmMNeraM44gmMu/Q/p+XwjE+p9xKe - mva5YjtUUOswJ396mcmpF8tS1vVWb+gOFVi7wRY/MDvma6t2P/An72dbyY1+CErS - XgF/2VBX1rNULtusdsSptaTkxZ+n9ZOyDMILI/LajDmmoZAj39gVOdprVCW3/I1S - rsr/cUa7GkMRQt/HV67DqgMtexSy87U/Roj1967g0keD/CGHycxIYA5bs2VbNm0= - =slKO + hQIMA1Hthzn+T1OoAQ/9HP7WaLEldd5c/D6MK7WSoW8Ybu/lRzTjEbFYOlT0kVA3 + xcLYQMG3lKsNJUrQmMlFi5+dqwa/YamPwONIiPBwEbrYkQacA5Q1R87hg2HtaPuG + iEfoebFqkclRsLO8TB48plEvevf2bbK1pYqZB+SSsNh7miXQXtz0VguuBjl2auiT + VWTF+3iP32cnKoCo6OK8qC3RgTvRacO0SABvqUnJ5HDMOabxNpSL8mI0d0cIXHm4 + 0ryB5I5KytTHKeWF9nCqE/FVARKMa9jr6L4TSRO4xHvzp/VaLtwthshXAJk0psrW + jmpZnCLK+yKS1nr28CkZgn3FIk21eG6mbGrkx8imhStdDlBqoP51IsxkP+kHDf6I + uGPpYq2zgL2TXpicV4GlyPwhEUMAWfnbL3V4tyffGzkHsCj0/mgBVBCQMqU/DwQ3 + QwR9eKF+gHqECggQPNR2OTLJrdfUZ2EoOlZsHvY3QFTdLoXA1m+HV54CG/7UQ9js + nMStnrMD9iM331VLF/7PHt9C5hb/NsD8a6MhOBaQNp3MPdo/vU3F046lK4ObtxSi + a0kKV4ocz2QzGJOOd8IbmC22+K2QN+U1twbE8TQ5vDr0d3HLvdylkGDG8PqcQHCn + OFmjaDd0LRZnz/DC4I85FD9XSY5foRBXUcqE2cfzHka365QdRf10nS91HMPY2oDS + XgFzbmcoKO/DMNCZUP9iKSC7P3mkZ/CdvLfSzCSzyeBwsNWLUFFgQmVGy+E6Ifg4 + 6IyLGNXwfKz5tDfizjW8S6ybNTeB1BejU1MWJp8QUPLJgmVc8w8szg+DWTb+y64= + =jKLD -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-02-18T08:34:49Z" + - created_at: "2026-03-05T19:18:13Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ/9ERIQymIqmNLb9I+EFnIvRGBZ/PPEgkM8WEak9cTu8a1P - FrJHfVPTup9fhORno9DQJAwhlWww+kIl5T6bajTaQ07sWGyZMzsRmZxn0XdM217I - xdIzmQ/F/k2AfDwS5LhKWzN3QQAPkZY3vzU69wYVUsW/senxLmTrb7QRiDEws6qx - W4QlC6semEPI/vorwI46voH1MZfzzoxkzgm0tjBV9YZIvlfits+uAgh1KxxJ4cjx - /7B9qvUfWk7/ftmmLxPvZZsI+Wpo+MjzmXGSyEk1h+XkucSEpfIB5cVCqBs5/5dY - 9xGxUHWHVRoUHexHtXDz9wXltF8V0oYIVL7UiYUbiQEw/KGm8nA/TMhAMi+7+qIG - 3jIzPcWsjqJ+jzuY4FkbWL6iGx1htlI7h/wbDuiNkuOkRF5Am3YV9jj2muizPFRv - UVWCI5TfEKFLEPDsniU68zRpVYRwLbR55Ukra+G8CAs6BpKJ5rwXVJbX1FMaEMZq - +kGxalYuoBA5vGuj1jZSjRfM4RaHsQK0HhpEFrEg6kUgO+KSPVVStjd3rEbvvlwh - 8k5DudpgcPAnkMRotWebKdrgtGdDqKRWd1dt7GbIamURm5ePFmOdHFhciBB+4Poc - sX2AAk42Go9UX+f53gRRElkm530K5r3pUCGkZ4Dh6eHxYLjO5dCqM3uG2waW4crS - XgHdd/iggA9US1lXp3wyP4tLxiBUfvqwphZmYbOo0BqXFk2cSGuMhVSJ8q3LIKKn - k//YW4XkGQbEGkrXNNNNDl65oDjK7uTSjzlwCr/O6RLz4chUYeZIwRq8uLBAEdI= - =EJqA + hQIMA46L6MuPqfJqAQ//VNDm63LOxKHYeaSq6Zc9oYFh4GGgQM2RlLK8P7ZBEFQE + WYU9r4P1koMuOB0nejN5rSEISvMkfxPBAdaeqkUkYO0IUS46z1XBfOTrbIKdy8yr + 27iKoCe9iXFHd4ZX/2PS7dJuyBm2X1I15nE6yZrqjst+kw7935cjgTSsb5//bVqZ + nwsU9QHxj4iyjYp1tKiUs5CGrC/v1LdsmJrAfWYx1J6A/OuD7WeJem0pC/TkUHuQ + SzLFoljmAHoH4cyGd56MY+uPcSjoAmI6J26wWBc/dSgRGEBUhW1N1lvdPqr+zHJx + KMResOHFss5m/V3+AidKNa7EUehiHGI2bUtSghXWZDmq69uizNeuXIf7NLwArwvc + S/UCc2bFAA77tPOwI+8MvsPMflrOMuSRDR7dBVs7aYPMmHp3TAfFPhUNQ7G3boez + f0cYhTcUYxFNSjmlX7Aav+7EcssMkpQ2NUWChvXEEJ51og3cAYij0aqUDm4Ckhrv + NMuaPo3FH55BVcZt1u0Hv9TBokhtrKde6tludFT+fZUSG4JZbP5E1IKOtKt8JGlj + /U+KF7ZZSanhUOKlYtXhynf4VuzhDB601oVQtBMSzCXfeWG2+4pEwYinFvgaW0lv + KF3JbczLRipWGuDf93MZCbAF/c17ZofKo9CyxbvfSnPw0r5reXd0Ej+i0eEPre/S + XgEl3ytcqi5ShYj/xjOb1AEfiXVp5Iw3qlUYTIVx8SMjyKvwvSsPA2MQ/kOQCf1d + mmWz097SR+BGqBOIS1ORnGUT97G2TjHMTOFzgA8WasmAQI19hMi1DjDmjKuiesw= + =I45F -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-02-18T08:34:49Z" + - created_at: "2026-03-05T19:18:13Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdA7aTC/gqTjBxUjuUfwlS9pBTM4AdkQoXCHTwERcaXezAw - d43he4QEfRvIZ2WiKT3ej2DW3NZSh8IBT287hWNrvbWLqam1hnkqu75o3f5DpEbo - 0l4BdKfd+3mDNzb2ShKmlyomeIwwYWDqrRCnGtb2fsZenV0f1v8KCYHQ9ikvnalm - QhM1QwGuVmC2Grww35IFKTtD4mEIkXfJdRmD7tdgmuXY+/wxxdlQn7BeyvTu7n/K - =VmlJ + hF4DQrf1tCqiJxoSAQdAL6YMbdgBQOvEuNId6wd9TTIIFvKM0dvN2Ksf8p/N/x0w + w0wKaAwyY0wrf7xbK+T9iJznbj7jyYMc7ytbk/KJGdG9xDZmNUDKZ+04FVuWJIBC + 0l4BBuoZZnx5vmF7QePyPUga9MfSvePyjQTr5YkB041xp8V8ExRNfa+8pMXu6GA6 + 5piLAjyD6UGoj0ToTNoeFi/D7QN5RmgWzLffI5EWnEhg45RyhhK5AHFSlmjWbin0 + =tTgS -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-02-18T08:34:49Z" + - created_at: "2026-03-05T19:18:13Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdA3xrmqAIwWWY6VJpvS4i5yX1cGMi1Isse+Uu4vRWoMQ8w - CXEHmgj+6zM8sy/ZSYwfoUMvP4Bhww7sDIXEvUAMhdBeo71qTmYvmaQOfq6A2gzM - 0lgBrKM0VoDjcUQ9HvER42DymEk1ySfAHuRCBz9wHAy1SUYzcNGA1AFkYSicb8Kx - bQbVOWi2BxIN3GEpe4b2/45e3ZXtb1A70cKVxfS3C5ohWAA381xufO9H - =R4FA + hF4DzAGzViGx4qcSAQdAkswU6KHuxuQyk+mfq3xQiubAvDzGk+K48EtBVZPCvAow + ZveVCdFbZDgBtNYVgAv1nuM2vlJwT0f09Lw2NEyThR3ie71rCls7BlNmCcn4Gko/ + 0lgBqmrqUnCevkmiLUJgLfxzpxjQh7iHL2HVabO7s5LbOAkS7K/vlq6bKX9MX/6X + 1lN0ua77kzAkrRj/DTlsX7XYXZhuDqBJ9dTJx+wEA8i17Uu8wNb0NIV0 + =T39/ -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-02-18T08:34:49Z" + - created_at: "2026-03-05T19:18:13Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//ftMJi1UVl4TXrWP74qEaTY1Hj2hdICufeL5w+2oLDRmi - f6TCDVvnKQZOT2OzXPmfmCUEFpGXb0ECTxwp8ndRHL56P1r8XWLbwHoVCv6Iuca9 - mpSqujbJKucyhgM3oyf2fUSPvzqhWyFKUNgXfsXlCUsYnonwidCrdz1Yp1CS5M1L - /S/nowutGRHdNA8a+pkFgGbwpMLgaIlS4oITBZWPKIL1/2/khta9qqLjJOUPpTjY - vABrLB7kqgcHEdTWsuXhf5qFS2ptnR5OsvBE9GOJlcjqBzt0bJXxxLlHt9F6CY/Q - 7j+zVvCgwKgvjKuQKb0H2hVlg7grYTGIQARqOnSTcY2xtKWaGIMgNgzcqFkYzfJ+ - SBWbUgmJjzU8w6XHTpV/nuS/BKyuS5GacMW3Kd0g8x1eLLi7HPrBmt0NjhmTNHtC - F8niFzI7AFdLhSuQrzepEvYESovc/S1WIV93T/u4D3+/BrBJ8HRkk1CGonW1nBKp - M0nCpYTH9opuvX6o6U3xJE2uyO/iGnLH9JXxsF7ioEk5Cl0RAZuReTG6U4kbMf0n - AWoZ/d6IeVXdI658TPZQ/5a1v6BVcHB+8kk7VAglmkCLjjDzWtzEpwQgbDI7bVMr - 1BQAZSKKnFCZ+RgyZ8HnvapwH3ia59DNKGS0BFpsPmMbDZt9tZEgPBV+0T5E2+nU - aAEJAhC7/QBLmPUciqYEWn+GgxIgUNCAadYPGHZhT6Yj1sUF4qVOSC97V/BIqmn/ - F0Sf8NtqFSga4hDHOjugEQoEzCSf3wwKXZpcHtLk+sxJ6whFBPB68CP/YN+/nyOV - w5bz9eEN5o5K - =xUvH + hQIMA2pVdGTIrZI+AQ/7BKcWNscmi961ITf85bgY3W2AKvvRmQZlRlyQ3luDMUgS + q5KoyrjVmTXdYmzyUw0LzDgwjaIh9WqBo7hA7xT6WfqR3sWmX8ESucnFanXEbQgJ + lmn+ikiG5fIngJ5+SJKo/qcp7lANRvI0bmew/VbHxc8FuaPpwE1E3x4tEEnzg5ho + tLV6p91xmkFfgplG600kgx+r1OawJTzebKaSNzwOEPzy6erZ4oTH588npXnQg0/8 + ApTJPloKa3QhOtNr4eLzqfw3r9D6iind8XQQSUDR6JJQPQXhYagWpCZzO9PW3mXj + NTyoXib+eDUI3jKlT8FqYJqokX1Qschbv5yIc8PpqDfmgi+THcRgl7HCDMvpjcLy + d0piLG5YAv3RVvlY2lZrX2Dh4xbdLVqpG4iBruKa7Mktpvmc2ifqDrrHPlcPyUgk + nARdpUSiSQ6p1nz5bOEpR+PhgQYhO+J4vsN9yyyg0DHGzmbgxXP1T78/6u9JXiVL + yuw8VlNSH1OojQnMiTEkjezpXYTZwxfeXkW6Y775SjTWIpeJhKcnto+PM07xaHWw + YuSyUxtO6VJLyWcjf72pHfC1T8ewp8DTFjJ35USai0tptulZmboGEa6xuy++o/pW + nJXFfvlbT/7f20ipWLkHdYGgqeLc5KYylwTXn3lsq5y5a4JPWv94TeE3j9ffnnTS + XgFsdntSPqIQ44yW0KnKBbhMY/YDATumEw9qcW1ueU5MpBtYUS8jGQSXq5CCkAZl + gIVVU/A18y5qU22RBGmhucIjUEogPvUPbOJum8SC5pDkBmzPiv+5Kjl9e72goS4= + =OVP+ -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + - created_at: "2026-03-05T19:18:13Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DKKbvh61jX5USAQdA2m8ZxiI6rmWubO9hu5XqGaZZETdRTvAjkdCwPcJgxnww + Lp5zt7B47JUcc7w1KNxOzmOYpKZoqXQj75woqil9pj+Ce8C2t3ux4qM1vv0AROM/ + 0l4BidzJuVicZpOH9pztyGTWeT21OtliP+tM9HuS1u1YPTXxi7p4dE58moIibkeR + Vr/4YUAy0r7LomVvb+qTuVsClEMea1LR5PS/ib6Rirttq0ZciqgWlpEw1tABNS3q + =MA3P + -----END PGP MESSAGE----- + fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted version: 3.11.0 diff --git a/inventories/chaosknoten/host_vars/sunders.sops.yaml b/inventories/chaosknoten/host_vars/sunders.sops.yaml index b1f7f8a383..904a8fb472 100644 --- a/inventories/chaosknoten/host_vars/sunders.sops.yaml +++ b/inventories/chaosknoten/host_vars/sunders.sops.yaml @@ -7,204 +7,213 @@ sops: - recipient: age1na0nh9ndnr9cxpnlvstrxskr4fxf4spnkw48ufl7m43f98y40y7shhnvgd enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTZzk5RVl0Yk5Yd05NRjJy - TzcrUEVYRExWZVd1ei9pTWtpdUk1K3IyUTM4CmtHSWdVWWlZVTF0YUNZejdIMU5O - d0Z0SEdVR0dJWGczaEJsbnkyUmVRT0UKLS0tIGpoVEdFYW1YWFJEby9nL09xZjRI - N2I5eVZGRWliT3JmbUNObnAwR3NCUTQKkeUXZ0m5ThDqVjwtI5sJU8v+t2cfA+kf - TwvWtA7ePK/N2OXarcXcJeDO22DCzFHZLm/O26nu9ssgPRPrn2pdnA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKTlhuR2ROcTZIMnJTbGVS + NHloQ3FsUnNtRiszUkt3T2JwYkNHSmNPTFZrCklnRUdJeHZCRFMybHJVMk5tOTB3 + K1ZjWGpuSzR0aDBiUHVqRmxRUlorKzgKLS0tIEtMVHRldDNobkFZazlScWpFTzVL + KzBPS0Y3OXBUSjFWRVQwaGQ0M2M4ajgKYGgcfiDsBsJQmSodfPejhAcAekatqkJ9 + Xa6Y7mWUiAKcbYY9to7/7/u5FUW3JYdv1GX7vAC2ZtZv6WXGLtjdwg== -----END AGE ENCRYPTED FILE----- 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: "2026-02-18T08:34:17Z" + - created_at: "2026-03-05T19:17:55Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/7BLdrKjYt2AxWf7gSso/CDSt86aNPKdxtZ1GCMi3usGDy - waYi37UZU1YhhXxRYiGGk3HYpboSLCOzs2n/w3R/JwGvWZx5yqgVeZ0t9kuS52IY - e+l0UlUQKvzeu2oAwpRkE0K88qw9tEEk+rrGHtCC2fBdYoqFHw0NNlUxlmxruCaW - J+lOvQ32atGkIzs/oEHVvsqulCTN+8/DAW+LEVFq1/1E9Y+ououzN11fMBf9wZWw - Mj7lSO/gIkd+RJnI6WUaKzUzhHsw9PW89+uBKWrc3XZvcJ+m+y4ngkAC2Uss6XQ1 - RC5tBbhzBBXrYDtpPo56nPm3r0Gr7EMYcpI/O5Z8RdgvUBoccabFhZ3B4Ri8scDF - dapfXTDTUaKeJ9FBfneMlGLfdQrg1SC9vKotNbj1oNG5t+VodNRH06Q6QdcfZXBj - jeyf2IwNAiWibFRx2RKtX6FnEFq34fpOQnmbkxTftKPeMkktoBcvI1jJsLiAi03F - Ip8l6JgPahwsgt+8pMUi8kqukdTJQL+qavrq5zK21mcWEdMlHovpGTIF7Fd2oY6p - buyBegDb21Xt0caBo7Kd2JcEi0k1RjSE1g0tx4FApA0yG0UqxZbB+3x06NQZCeJW - gk5j4i4HetS+l3Eeua+GMKFpA+U/rXarwXXMwKgTzdLXeT0d0OgcH+Uup4V5IdTU - aAEJAhB+zdMQt2Io4oBIEivCj74C01rr9yUrny1UnkSkKJLpMoGKxSOSwrYUNM5u - xXezb3ok9VwK645gJd857BRpUj40M8NLcddn63Ev/C8BNgV1d/Gf7Xc/+2mh4pFe - ReW4+GTd6rt0 - =9cWm + hQIMAxK/JaB2/SdtAQ//a0L5AByAIzh2T3KFZOzux5zN8/QC3ZA6jS4hpvfYkykz + D0knlDwZTd4L44kSnvMOplw7AR5oMuSYmjB8Ru2M7PSYJLPL3SE9bHXzOz7kqBmT + W6jiEMTusq6MU3rbNKeyM+OZSVMq0F8YcB4e8lS8bSxR2onyotMWiadP99T1hVwl + 2n2ogWhIfQTTsS/H3NUcch8VQ6+QhNxtuDzO+frQhvaHenOv6mrZ9P9/0N2POFUi + n+rtJw2zAi5pd7eFiFXEmkPOcHd/K2QXA0QHmpgTubkXrHM2kVfWSQqWx0Be6J6J + KQFZLql5nRgpLd8BC9btuJl/w38ll2EPY1vUvYKqnkH4a407WaMxBxgZ6XriAdrk + owzXP0a7ukrvBh5HLEM/98pX2Q889qbfLlgEuat80dlI/UElOS6dWr/ovaE3ZlOf + DXzZlQyNq6swpJSQqzxpcnxSANrAc2x5pLeo9PmR7e9QMnFCgSVx62AT81neA6Gj + XfAFppNkoUdD+QQH/YN/a2sBh7qf4SlRY8qlv7ObENWH4++nLpx4waiv2DWrv/fU + rUta7lT9VAwbqRyMh8ad6Rd9Lj/MO5qMJrZMQ42Z0wBmUOdOO0lCjiD4zPI2tHYQ + EKwB9qFBZHaF/qzsWGO7IAUwmFyzczpMQT8+NUsdTMVXpEODU5E0EkspAROO0N3S + XgE1NAM/yQl66ZiE77WSYU9Ax9jkpy0tAwbWRfWUjjZyKx10KPQ18tVJrZBZASnL + Wgw60tqEBjEGU1S0Q7Lrn6tSwapvmcirAaEyRrSj3HrOjs02ev56uzu8ipBO0A4= + =j2NS -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-02-18T08:34:17Z" + - created_at: "2026-03-05T19:17:55Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQgAqZ6fXAmJLpC/aj/h9q9uQE2LTL2Qxv9yFyixjS3P3g+E - TwU744QeM+2uf1u2DbjDvZBh34fCmGHfzUQSI9T6eQf2WTu/eUyo4VXc55Y+aATh - mSK3zXH+WUrMROMaw7GHvKqyi7U/ZmaoKYYlWErDVsZUHh1wdAlVWvP9gDfFSmMs - lNaZuoE3RFrvAukUd+8gNAuGZqyp5R5I9rCfY23oLnYUpiosEUczJeIK/mmC6fm3 - HIx4vtCpvEdrDr9vC8peEdZ4hQZuYgrF9eMVyP99BSN8VfyBzQnBzp96T+ruYpjX - YADc5Z/0FBBdAk/C/Eklcz0UsHAzhDtJV8Tpzsdjb9JeARvw3UC3dojSwlYPrHYN - 6osoOKPwKPgpz/gJBaItDOjxbWJUW11aGPAlQ9y7PvM2eWfCrAXYzoUR8c+FSl// - 3qfWIcPzVbUBMKKi5uLld7Snu0MvZuyCboxNOYikiA== - =nb7x + hQEMA1QflAioE8i3AQf+Mkw433RvcDC49u1R4snHov/yqtr2iOi5sQhdCY0wcS0e + xKvI0w9dyP0EVQRvu9x4HhvF/CM9PeGDnVgDOIZF38FHyyUSvYxukQycSf5XcRP6 + soj0rSgmO+SONpPGgonO8TOgFcFvGxrQ/GOKw1wQEsOzrX5m220BGRNQsSQoVqqK + JNP/fIjBjgIsJau9dTg7bLmOOfiKpTu8lCuHpByrVTeL/F3pLBiMRRqm1/hSvAk5 + fG6JGnDUuc0D/iFkPTU+tRKyXJvXblt7vvd9B2lVylY03dzPzBbDe2zLQRZt5m76 + NOmWqU0fmGaKbr7aA8p9oHqraresHGBtLPkzXn3XHNJeAQlKUmm+6QaR4WfWH3ua + O96/Bf/CduaYPR+pu2tR9/vkfwz6aogINjvlaAcJKu2sMj6Xzip0nBRh2+CzO06s + uHZNKs/5OSW2L/Zn+A3zVZQ9+dmgYBwIteAz/dHVWw== + =wGuY -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-02-18T08:34:17Z" + - created_at: "2026-03-05T19:17:55Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAA2XrmHj63XQfPJOpCi1C8qCkDI6hBizDrnlEyzYLIq2Q+ - Xnt4MHfR7aqcOqFOK0umoISWYtRXL7ZoFHAnRVN7hFXjpW8VIGuqP6Uj9HfBw1/T - SFOVdG6uddVUa7HiQ4zXMVZKajp07jnxJ5xGMt0QoK4WeHJgesOKuPy/1pYXW0A8 - 47iKXX5eC4HorxCFJVAdaI7IQZi17G8U4L99CMrePuWWHK/oy3/r1f33dOGcpplo - mLQDI4ZSrgNRhmNKSp+8n71pOm0+jicKAcZk3625n4qj7wnH7WLWxzGYqxhLNWbW - aeG8sHHnkCx1INkmxBiIKmZuG9Q4E9bLX7Bdvb+nB7fwkfWhGnrvaIB7vPVV1xKH - 8oW7vflWjLAx+/DjU2iJ1rBVPEYyuErH+au9/OXyQCQFSBWyAkj09N3FbM5S1QqD - MNQdJpQdYNtyg8sBZsZMMxlYiK2P+AvT8SuaSLTc+zei61m4hGHwPokLa1aVCFRP - rUQO2DQl41l/Cg08LKARhkAoxEFeoH6kzBKkxeEfcyww8s1Upb71Jj8kzWR6iAb/ - 786RP/Nn/ZeCWoUxsrYc5McBvm+t0ZjF62P4nWYrbv44QhQWPmWsSYjU5bRrZQom - BTQMf5gsH9jQpLj6wz4ZgbxLaIMaxL56q0LA/SKIkkVyWcxbp7fYKwh8akQMvd3S - XgF5tmm3kE2fDyDgsUMzNEGc66p6iyupq87L3sa9WHyf9ZjIK7/EVsjkx20+OYKR - u8j0LSfhsILiiKyOnTS+mpiILccsB2feC8t1e41ARHU4/jPXBN8ArBNhsVZpEWQ= - =UCPI + hQIMAz5uSgHG2iMJARAAj7R2G1jZCtIRTVpQtTpaZ3YS2SflruoZ8BcKb2u/VLk/ + N/L8vEHESvrajn4mI5EJ2QJCNTRTA8S+fDq/fIkcw+Lu8n71GRe76Ru9IZino7Pi + PSkHf1710Mbt5BcX04yMhg76Yk+9sRvKmZAQwu420TbsfS/Q542LCGldU31ew6sX + MWox4lF6LgldUjgfqcPEEU0p3yU2+Rp1jde/f8EG+NtPE9O6Ay+46p7TRklZicG7 + rZhfyjt0ixrV42e2HK01IkT3Yv6A26A2+Mi3yLFRjI8+lVNT78l5HuS1iAspToDd + d8Mb+FLyVKDSNxKEiNRby+PsvaVRRT2+2hXcfuaJifV38sH2sy7e4soKPge6NOQc + 22w+1r38CmiwJVOPOcczH5xX0VjGEBfoN5i4NnuWv1zgQPzGBgATYTeLVVQjHOMD + uQwh9qlpnzxDMmm2L6Us3lY+fH2IiRWbrvsKtO/gP0ETM2zf1YeK43mxW7PPE8iQ + BiMAKCh66SqnaE0kON51ChB5tvuFFHvy6RJnS5yGI+Yc7TLhZdufURzSGwXAmLIA + beNyti+De9xDWaXpCIxT+0ICse/XUSArhyRTl1Dyx3ecq9CVRJSZxGyESjMghkIC + APLcoYhnXGq8kWEKT//ntkxsX9GgdpZUiVaYouE93r8fszcHHDky2cWNbIoq7UXS + XgHmbsMcxcsJZje3qMCEIbo3P4rItxsVnfwo5vxyQCih5xgJJ2dUdlULIhU1TfR+ + wMMLOgZmA8F+f1YCWYDWTHnWh41YaqP8zVqbfCNegO4ORWOiirQM7BamGOfFx0s= + =bpZw -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-02-18T08:34:17Z" + - created_at: "2026-03-05T19:17:55Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1ARAArUS46i3LMTbf5QgkA85MUGoILXi3MxTPvfZ10RNqH0Wn - xVo8MSYmxtVjgEBeZJHyApv/0u2ruSBr4wCfI627nVx0wwtReSFvkhYYHlJ+Dh9d - GoCvZW64oRH8Y8DyyXh97WV+TMCkXljX+9ClsTlidoydpKylNd8qpAS9aA1CAuS3 - iFFeMU/APBUJHxOlZpn8uEA9e6QdvRTUDcmt6+8dOQ2xzC5k6Icz7O4hIl71Laqj - 0DNC7NAdFQRG4q12wLWubw3mXR7pS5JpJ/n9HQOFkWzNbzv5eTXWCsdgLK0Z3IME - iYgXMv0C4d0S9VFwu0c3vjaQbVlvaUV6rDEyqy6JFxtUo24uNjtZRcwklSaWKfow - Egf7hv5bt8tVpl51AMx8JMbFdMq6zr4irtaKEZp+UUlHBicZJ/uvz2qpeEJdWS8T - z4v24VH4fG2czFiJA8VcAx7bUM+URTj+2nKcSfjqFRfTvRhVlmF7TMOSgmQG/dba - pGs2/k/PAu8hITC5tdI9JhA4mFmPxuSEuifmhmRm0PZCKmCsLrr114SAjFQHbhJ8 - uFF+CY65TvJgmEGGNL/5zZ+fNRG2B+yZpAm2hVW9Q2okkiSmwcYzRQuNnEdZTfXn - gXSgO+sktNONBx2WbcedG87henGXRoqazBuZHj8XOgkIUdC7Kiyzq0/rZvOrtzzS - XgG7aX8wPQM9Iaeqv/rWvlp02ltafZeOcWDsVex64JhmeMhZXNR6534lGRPQvAb0 - qlYzuSfzcci0hTwXpctWTO0nkSWX2+npU5Vhh0MLQy7k7/kry8ICnqkr+4nZRCE= - =+4u/ + hQIMAw5vwmoEJHQ1ARAAmHa6ByojaudS2XubpvBniLIQAr9X8nGVc2khnXSsSwqT + yO628AldGtJKUJTK30M4dFhcXoXIl79lXq0F0uQfbsA6krwvrto5dthCjBOxTlhh + m5gAPAnm+5Slxo084vehc4eHui0lQo5mTd7efHimeCqfuWg26dsAzqVpO7PJaJnH + lpiIdZbi5DMkxvCzb8J/fPsLeQcnzvPQ2F9n0ME6hcqSVUK/sPCR6qOazw9a4ikL + bNqeoGa972B4LU/oncExnZw9FT/8vDBpWGbFzIVLowqS1QMuHoeEsFz4XxWxbSwU + u4avODLWZjQdQuamA6d2BC2p6TEhKRn/lXhAuXYKEeOULDpHeEvcBVV1GK+md8ng + 7AoBeDbxjonKKuVlJs7a8XYnufG9vZAkLDceqNoDPb2XB+0P94knHd70wOolS2I9 + WQuBGMpNs3rGhKcaa2jD87FnMgGaGnMFWg+yDFULHJuo/bxVnWqJJ2ZptlBkZkNj + SMD8f5JsdQ0ZA+OWc9FjJdcrHepwWNo94jAA0yF5qAMfddrKeZvV7Ih9iQoigVO4 + IBcc3slA7VVJmGu5UM4niWWQB9inBSbf6Jq2865RDnU5bgQ93T56Op1vxwr/GG0C + I8TfKC5rjMoxowntIz1Miq9Ze0yiA0GZ6DNdMwCyA4yRZjgxhm++PRISq0Q5aZ7S + XgF/i7ki+JgRBKWURRRFN0CeZtotr+sKdKJZkxFuQBqE9W+I19dyCnZlUAWUSrxT + Eh8duZ6kH3BngzjZPf2e5IVoFD3TrU711a/+eP2u7WVujlPgZjMB2pLKTxj2hv4= + =0H5A -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-02-18T08:34:17Z" + - created_at: "2026-03-05T19:17:55Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAJsTDKXbYO8ltiK/EcQqQ0XNoD0bLeLFaXwAXw2u53Bgw - dF/ki5IQj7C78RJMIMO0UwiPMujW/JYGPLDgU1WlKeew2Wa65ZOeYv9kyTZATkyY - 0l4BTlw8/zQ4TrMag+qF0t2fvx2aZHbGT8rGaHh5Pl5xZaF559vx+x3ORCoPiO4W - 6DKEs1a3I42QipZF3wnFtvsxI9zfdrJElwP3p8Uhy+s2BC5SmSoKE3zOwa4UG25V - =rnDH + hF4DerEtaFuTeewSAQdAibUuwW0apshIj8+shH+ssZ1gIpyqmA7XDhrXwhyKSQYw + TREcQ3cqGepihnHvahzlpM6WcyXl9W9oYobkj7EHs9B+cyh71UKrbaIYaY1eBt/n + 0l4BQ0BIA1E8reTWqa7oxNNftvDJoEs6FPKcX8ffIIVyWvP8QfEzfnI0L4pkpG8H + Gke8QmaguPb1YWD4+DriTBTjZqEDb92JlikpJrGnvfustXysVcrTvKGC/exlB7s1 + =C+DJ -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-02-18T08:34:17Z" + - created_at: "2026-03-05T19:17:55Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/+Kk3zaxPHHq83Hj5Fs9J9FJBffFqpLn02TAvHxIdbJVCi - zhkMGiQNEDM2PSpC7hXW+WNRxXhKWiDMT0qV3dD4QWZDC+AeLDPTVvbzEKOGON+x - Z2PAyHhiLh0at4zvXHGANsBk0EaCMdU4CxN6vgkqkJllgG1i1qnVEXIZNqUsBOOo - X7MrOMnwDVxazp5muanGsYiABnYndyZJLpJyuPX+EeAUUl9l7V4lwwTM3wJgi06w - Ph9agEVcEag+brY3yeurWrv7eu6zEmkkGQbso3tvmlSf7nJl2H1j6CJShOX27WIG - mXym4x2Kfa1cbmZAAxKjmj2Imyw+jXFzKmmBvG+G+/pNQqpQ2SZjcu1vHp1AGWQ1 - 8r5Vpen6E3krkESHCcJGYxpMyBThbPjyB2QzQARBNFdOdaOXMf+lC96Rzc2soM1t - RUhNZ6+Ah04paKAof7G5RXFrLSlftJaOOqKUpmy6G4vYFIrQeZyn/slh9oq4YvSt - TqpWF9B0xLjHz63zvnsEAmj8InsD6coQDyRVMfRcTiwyo7uwZDnJRCJTcYHi1C5H - E1R6bjqGkGqBTswqT1bwloN/X0L4WZcA4wPTmJL1hDWt5leHU7XDPxc+A3YHvNT9 - 9ID+nnUtDULzjQkdcn5K0eMlNYpjAj9ZyK2lEIOdqh5MLoeDJJMJQS7Hr5eomCDS - XgEPhfjpO/PSFERQyVqBsgUBvMnc+7clIoKnPiV4fuAJYc209herJDdXO73MQG/s - 7GPo3NDOO4el7J0ZXPYh8EQJrYqCaAphHyKrSMmyNed4dJ6wbaw60AMkvBR8Ic8= - =gPKq + hQIMAxjNhCKPP69fARAAip+5fZxPOIzJ3Ax1/kaedzDEvUDHgsIQpnJRteg+qE6a + NR3r51rCAJ7M6MOSRdWW4mlcCN6LsqwRqqMPqMUn7KXLi3l9vpeX0s+P/98+dynb + hm2N5topGTgb74kzOwPIJCGb6Gv4HduMtGVaILKJm3mFBbzzxBZmh+c9ONuGY9Dp + wgt4z6lAA5SmcOiU/mqqQktVEV7e4qihbzVlxMhsvzmqH9gRrhVA53EYPlZDl+aY + dKxrg99ktifDErLe5kC6qTVp+hK2kGybxedqH8sg+HuO4YxwTZo+vqfk2QHbZ5vg + YQf1GrIJtwbOpjW8P/ANH+EoDUo3uEEtQIKOUm74yHN1UT21ytlz0VZt9EQOJvhX + 0JRuSXEXlGdkUZuoYLrQLRmQ9x4GNtPtggJuEmOlgpJZN/jKmrC9H82A41cORBTD + h3IbvRziUYRXx3wBUwbrUbJF6yW6AUbo5qbMrgXZAvrW89WE5OIoynAroTW/MJQ1 + /s+0fAfiIE18rcBUhgWK1O+dXxR+T1MWoTqHJAafLn2mYuDpDnG+c3rW+Or+0OcG + J97YmwZRiLOqL0yuXvlr9k+13vNP25CuBAboAYLCu/FaSQIv08pOnqVwW6Ogrpqe + +j4uObs+W4Qa1SyBcyMjqnrNqCpSHLPsP6fXZqxoOhdJYeb9yEjxLdN413CB6dXS + XgGILvUAmdyKdVjFHS3c0tfai0oq4wZjIafJfKtN5CvgrCbAegE7ceRpaYuoAy25 + 0TX3EXFGVyzHTS3b3ucECDubpZ5bPOXZFuy4C/oozTxxUq3gmXEbPTkqZKTo8YU= + =Pmku -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-02-18T08:34:17Z" + - created_at: "2026-03-05T19:17:55Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//bn87VwfZ1srptwAnwMfZUp5ZQKRCJEu7FH36x6rJbgCs - BXwhbsL0g5UF71XK++7CKmcDhClZcg5fnsXigmUVterva6yyY70+b1brxtoquPVu - VZFBRmBsd4cwLkbiDheJ26ZOGQJNCGBVldbkIFzmcmR/2RviTWWOpBSBmapleMqU - BULosqrMfWPamLFTXyBj4+OeCUDhQlVmeCR3pEMH0iLdsiC7pTZOWMdH4VMvH7NM - 6O1OQSUr9anspYKA721inT+VH6Av8l/6723mvp50s5c1V3LuNhaMm3v2uIUuhBUR - AsGgwmeujziltTitoYRWxk2iOFdFkmVL6pyLxp127LTqKsUU08F3Mpr8W6ayg0r5 - osk2cQIB+i+KxW+hG9JAo7g+bUUnowICRumhssyF/raMv+mf+iNtr9fOn43ta0bu - 55h7ZTX7pgYUI/iafO86rvCgXfITl6KSz5KResvnqQxpPoIQaK++AqBhX60nTAGb - Z3n8kXrEE8vAgmzAaIRSoboToEaIZxBL/78TsaIpVPYxRmmLit9yYKtec24reRYH - 4R0TFVrC/iineyvNGLPbdv4dPNaxPx4FLc3ENtKKtRjLrxOOpJ2hnSYUICRwaf/F - fbr5HQu/VPLd1JmJFDI1j5/nWMqmLanQBJYs5zXgxTfT2aQ1I7b0ZpWmZzzPpyHS - XgGO38VGO+vat/jowNtRGJ3R87wyaTm6cAWpbTdzwO10K127w4BU4KAmI3a9qVs1 - y4tgglWYMdfTFfVSCZsVW1v14t5jseR5SAxepQbkTRZbodxyMrQJBdiKSDeZK4U= - =78M9 + hQIMA1Hthzn+T1OoAQ/9EeR0Zt5h9JQpPPhCLLmFER992ao010Yc8+p+0TGt+lKs + lb03YsSKoPAAEjLOjzGOj2MklIWIp3h9xTPh4fQpWqSvgmgeVXxVUmwdbkONNGwU + h3VK78Z2lik+N52NXUXOewt7xvBWO97Oa5mQuXFKI2pUbYCCENiKs6RoRGPmur9E + MAYQaVbVc83F4LLaioZgRNg9gU9q+ds7KT83e288WHvqWVdHlouzk7jdNW0VAdtc + Yrig91Z+mKtIUfpabWwzwVkes5Mh/PDFSnAJRo9qBVg/ygoUwwjMn76vhnhPAwvR + VS1O47TPGs7GTXwLAVKlfupuRXhbb8pHm+Yc12diqf6POlGtGg+EN7uBBU/WZTIM + cJVwHk+QW1K4v08NP6fc5te1+muCNeIGpq1IdCuJFZ69YIxI35HFd3CKR6+v8eQ8 + ODzEUlH/wxVLRulBfICYoA1mh5WtJXEdHf2KU8j8OsiEgwdsN0Ho1/KcaO3mzCA6 + Wgo105qyWiqNgkO+0MKjs1V0qY58w6RkxJDkpn8+05COyVTkIcHU9mb1GrANqOJn + B0dTyv4EZOS/tt4isLSQW0p0AWhGXd1mkwnU/XkSG15QP+zzRHJ325eQjfbMQYcI + mbv2FzmCt2sB5UkxJZrDg6jfJ9aTz5WenKp5Q36bvilSkBxHw0NVdIfA6tRvA5nS + XgGUsRBX8NCRcEFro54G4BZaV6LvnR0fkG/fSxhx+ZWN+taqQJ6Wqh8IQne1c9lB + sup5kGBsDFw+nfYpJfXwqAyH+BMVF5BIE1bJTY8SuDy6nUMHiMsRU3i/gy1m1tM= + =e+Lx -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-02-18T08:34:17Z" + - created_at: "2026-03-05T19:17:55Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ/+MvUrb+m5ZeK5gzBHer28iXtp4Ny1BYHtWbyoAC0BupJV - 03fQdTXF4JdpZzkLC91sHKnv0Halv8LFqra7p+b2ScRz2bBpKAEgNSbKu4MO0YEi - pEmhxjeWgqdLeXKsT2VFfl9bwJdipm5aQqgBF8bpXl+Oe9k8D0diawI7akMUzfQJ - mRBZx3zPWsTDNWmmdvncOS+NTwViDERbyF8WN5K1RHl2PHJBwLurrxsTmguFQlZc - IuWlOSVsU+c2ov0NfwfGB3rM5W9aglddAkafDSf2aQAIEakUcbnlUUO56vpegx9l - zit4ZbZm2CNr7JCqpYy6Cb++Le2VBjJrgGFCVRJGj4lrhDsgX6BqbZ0AS9V0ng2j - XFXsVqnGvUSt6P7zMPG1FCYQrjlpQ9xQ2k2S75KlCl3ROqLzlpXzJYdS0Ef2oldz - lV8MRFRko+hUlCgiI00I5Rf84+cyOFTnWoVMU2CmkxYo4ATKeFuXhmeAT907c8c2 - B4UXex3T35mKBO9w2hBkNuPkoJSGKy1xzarDdBtDDsSj3EU+sX5dAyuG5Yxr8QqD - l4fmfuZqkxnDXXeGgkGVXEcJv1p4A88ekC9WGH62njWc2BNtHlwT6/scpTfDfa75 - 8ZUJFHQPuWfD02+3ehG4xLCNb/J1WIxccEB6eBkSM2L183oChvFu5AsfKUQKKcnS - XgFLqc+Yp7ZbI04YLO0vjW5Oz4MMcigZ74s+lolD5lldhazxC6K4KKPaZc2qK0tM - 65o7bnl1/X68iO//iUTBrOjHWEt+gMfFOGQVRsAyXT8Ml8a+Xb1b8DtdaVQl8Vc= - =3eMD + hQIMA46L6MuPqfJqAQ/6As+x86v//xrZOy+goiqIXYr0zDgsFDW+NmykE8RVHrgX + QBOCMqaB3rzH/BjcAh7KQ/of3ldPH9I2KJpalAu0eAA4EY4utLfwbL6p4X8+bCFP + zOsWrQ/EJ7ZWPo3Hd3mXzWQEwUFQ+3iFQYd5uMI5n2h8dNx1H7ecp3ArgvH8/kC2 + uqoeuI1hhQsOcsRKX3UAmhAYrVVEmt0R0IkzCesMCUrs5QSzAh/JEUd0BxvGxZUk + /6vbD67p0hj4Iw54MICAhAqKGCyeNKlgFNaAxiErBZi/aZUh9xQpHayS9EwHj7TP + WDGA5Qx18cD8vjb94f06yd9bsaqVUBTlD2xNlv57ZTHDN8T7X8auC1ornfp6z//n + jh9mf+eT/yMF7cp2oA/xKkyIQA9fSZiLRrjDc8VmWA4xqyvjqTZwhdCkBLi++Oqp + Zb1/ZxIXLiOHHMRVCDmzZi83Om3DhobDj9qBGJmhWOYdO22SZEn4uZPW58cazkSO + ZXywcM7+NVL7A6jw8nAwCZBoOAFd4eykarfoX70S3LqiCvCP4hJU1ckpa4NAPpOY + WHAWxEwcC0JEhtB+mLb/HOYjjo3iCFUvltHUc23nmTV0euWsugY2BX6KSp82xDzt + j86+f/gyxWwbgqP/RrjmKl3LJY9JPD586ItaDWoQ1MdpA2cFFZcXCwM3SnTZXIrS + XgGW7gQ4XdQNDrD2fixeWF1CI6WasXvEEjT3wN/uJqvFBIQk16NOGoDJXx5FXun6 + 3EJOSWx6bKJalOsGlUxwsWWj/TSigrDmN/m3c7tU4F1cYMydLD475TivXRC0JFk= + =l7qO -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-02-18T08:34:17Z" + - created_at: "2026-03-05T19:17:55Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAa3vHm8zEluZbGagm515t8OOU4d9OnShK7TWEtP8YRw0w - fDA/oJhF0ud2UB8fVGjkJk4SrK0cvkPbeQ18nKTmtWqZYHJA3Pf6gXrRKwTopqjE - 0l4BbGwrEIfO034blIfYIjlWmeZDFRoG1E7mfgCbArUqgPrdDyRf+3udA6zLrmf6 - KwkW4jQz54KYH63Hf5qKintOACMZS3GwKzNOzoMbjArgUzU4q809fCYqgmWi03dK - =bHLM + hF4DQrf1tCqiJxoSAQdAkj/S9Gz+vvm0b4wJ4H5hdUcQ+irrAo7LnMfo5t9QIlow + B3S7mcJdkMh1SbJjzabvO9Xyae4s1ie++jXd0pJMjj67DKx4+XpA2iKRjuLXFe5L + 0l4BUM38QjGxwO+obenkDNSkiwOhbE5lmn+vVpmhwIRyC2bLDhO9ATvKh8uWbFmQ + 8Hhd7N01cLSvDMkcSPkGXtK5RLnTfLrsyfM2HVxbHEPgVTBG0If1Fr2ORFylWAA1 + =X7S9 -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-02-18T08:34:17Z" + - created_at: "2026-03-05T19:17:55Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdApiBreDbzyW/qoomEysGzXQCa95tgMqYT1K7BnFZBjTEw - Jma938cJT8fuT8FVAvvHJhgeeZmOIKj/3deThp1FpGCUhp27aJfFWJY0XovECYHK - 0lgBkqujOeOLuYZ5sIOkukjBIpc6qL5E2BYZzYRRspHc8ZkbJH36xQEitp8LoTFH - W1upk2Zt+Q2o22U2vzG6t1r9LlGLba9ql+Y+epohKZZntF+CT5Cvq+9f - =lruv + hF4DzAGzViGx4qcSAQdApvhZlinh8EvpYbJ3hLr4kN7mOaoHir89xv4A98Ooym4w + xJLJgJiqTxHKajK1aKA3gkoAVlWkhweemiFkvGzZ6Z0lmjqzaDCm7T8aZMHOOSXg + 0lgBL6sZCa53r20aqsiPvz0M7qjO+SMyssFSZRo4yE7Iz5UWhiw7yrGk78l6KgXr + rlI/bvyOe8TxlSwIjw0ib5J8PtMvFY3pRgn3UTzYssdgb8hfhYJJdrO0 + =tsnc -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-02-18T08:34:17Z" + - created_at: "2026-03-05T19:17:55Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ/+PdAL29kXMA2FYHVBTYmGAy+pMYCTOaUdj2CjmC5krVCx - kSDOZ/8Rc6t8kI8BlnJJCCXnHJfBI/vIQF8JpcKmuYibE/WCN+DW+Ut2DVHLU51c - vwRh+WMVGUSZpzufur2Z2BW1PHy7OqxgJcD1SOIA+IvwiBROoZ24oow2a2VHcq1Q - GtNwH1PR13Xv0Y0F8cAm5R2RjEiEWNzM9EdNHkBN62DQT8wyuh7e6KeiPRQGmRK5 - gqEdXq7JpD1VjJKDVhHJuMlDeFsZWPKBTNwYWMYehjS6TDuBZzr1u735O91QFvSl - daqWdMIc7cucswMnoe06YcwW22U/q1pXFJ46PSuSn/pnJsgTCaeaLJjFLUevZ0C3 - JyYBqz29QOKLRBYEqulA/oE/w34h1idPdRyqzaBFNjE903NCIBBbM88uEhubLZjE - GheXBZILj/xUBWjSU5/X7AJ3JTMH7+fim37J8A0Kj9/a16QgbA7dGmk9+Q0iUDaa - o0Mc3m4j2xBrPdY7mLLqZRE66ZoAnkVdgkqHptTFk0JkS2B8lZ6KECJYWeMuCdpI - 3ItotxdFOYlHPvT1m7b+jkBpH76ydSXgPV9cAx/CHjvJPHx95eMxwPp2tDkMuPwz - ktzIB01bFNwS0rQI2wGC7kY8wxY1amQ7o6PfD4d8qKAA8uoxpz02VJ17F8ppHCnU - aAEJAhBlUFBNuBR6PYv3+q2onoAkWf4xsL3+aeDLEr8tg45We0uLxFaSI3PJj9WH - u3uFt40BI+zriFDYWuDPolZqUmSgWsL/nVHaXOVROljU/20aIOo3bQ+CGWRVAeeg - WHSgWhTy+ONR - =wCOc + hQIMA2pVdGTIrZI+AQ//bUKb8kI4PYIriL/sQ/MdR+O0rbTvT1IMqjJtQkXXpjkX + 6+BXYST5LRwcOpQHWYEQ3vWLZYA4ooEv3KCxMYZbpHnRPV93MCXXCzU1oNa+IMEo + r1scU0aykM0dZ38vuTyDxioRrRn9KMs2fO53p4Z2hF1+DwYeMgOwW6r+Cyy7pDiD + 85Sk7tm3NHCx12leH1Xx44bq1x+hRHK5QKfcisEJPVQyCtZGNzL+/VUuDTysqmG5 + Ftin+d8Ox98jTTr3gjGwoPa1I1MxLvWncUn85sN6Vx2eDAI/4gxzKEmDe6UrvyFp + WrtYDsp79E7gTEnFDJ0tlpLPezFqQ5LpQc2iyAgUmy9BKld+8WwY5Nz2wv3YqqGz + inQng1D2kLDbAEQIdRQ5mub/XBvlVj3LOZ5wo6Ic5z4+3IJXSGpoB9uaHHhTfOju + Ru8CvQG/thtEz0jeVpIIJ1of6FVamv66YzTXBtklO8iKo5inqfNJgjqFOPhH86mq + dgaIUeC18PJ6GQBQl3sNF1jGPgfJh0l3O4DyUqRZTWVR5k3AoJezMllxXAfswGGi + O3abk96Kodyzqbfl4pJzFdliiV6WXE62o4n+NhRkzQOrRXXr4T+L0CbnFWhcZMvx + 4NYoc40EDVoBw+lakJVCOARSHVn9ieXu4olyXkFHdppA2LhYCxUT88JhWmEOHX3S + XgE06tCnf4oMYDCZURawNDD1GUEOBqaw/a8vDXU7RX2jLlOb306jQ7+//1thCd47 + 8Jwr2ya9YAL5zWArzJAFt8VJ9Zl9clOg6i7YgNdLjg+qrpxTNI5LP5iSpqz4w9s= + =eXXL -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + - created_at: "2026-03-05T19:17:55Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DKKbvh61jX5USAQdAxM13mekK6g83iE8BaRPbhR6O01hG4OhrX7mWbddXoTsw + WeaGWWNytVne/YWjgHgIp63NNhcALPIhHfTYNTcGjFbc5bn8BjRCeOaeKqiiJPyO + 0l4B9WuNbL5mTExufrB1B0Gdp6tqoRnRjTU70ptxphbMlLNI8B1SAmtFuHH3e1Es + OOz4HKhsZfCkYzXJKceiocHDDJJbIKKwnr1q7RoGCnSMYqMRHiozOChfeMzKBTFw + =LsZt + -----END PGP MESSAGE----- + fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 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 77e87eaa19..68d3b7ba0a 100644 --- a/inventories/chaosknoten/host_vars/tickets.sops.yaml +++ b/inventories/chaosknoten/host_vars/tickets.sops.yaml @@ -5,204 +5,213 @@ sops: - recipient: age16znyzvquuy8467gg27mdwdt8k6kcu3fjrvfm6gnl4nmqp8tuvqaspqgcet enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBkaGtWVmRHN29nSGc3U3JG - a2VZZnh5TDBYeEhyTDNWM1B1MXVWSjA4RTFNClljVlVKWVFuaWZPZHdxaWJURnV4 - Yi80NEI5QTltMytPSDNMS3p6a3VqdGMKLS0tIGFTTDV5VGtjckJxcjlvbXpGbUdw - VlFkYXozcVkrK3RVRlFabzJYd2F1NmsK+5swwvFLQrz96dN2mtxBOE4/fkryqUhn - 4ikVOrNdA0eybVGeFVj9nHYOVaUUnsuuDpOBOdRi6ojpQ48iQIYHbw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBhTDNiK245eUtxNUdON3gw + bTJvcDR4cW1CRnZGU2VBOXEwZi9UMnpPMVJjCkxLQ0R6TFg3aDZuSEcwM1lIU2xD + OFZIWlk3eEo4eEtJY2VKYlBhK3RIRUUKLS0tIDIwTjVZWGxjb2g3eS80VmIzWjBF + VmdZRlU2elZIdHpnczFqbDJwV05iYWsKkeOPi2vwG0f23t6GRnOnwdBSy3oaRSBb + gg3K4F+4P+zSKaZPP/ruDQncTI8fLkwZZb2l2LrmL1y5vJaZl4Nuew== -----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: "2026-02-18T08:33:46Z" + - created_at: "2026-03-05T19:18:07Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//SijCexecn4moaPp+xqFvN73EBXZC90g43wVBa34MCy56 - MR9IQ50Ogr2guRwzD2hYcitPfRAD4Mlw65Hby9vuZmwto/KfWPEX/4dQakm15tWC - /AhP6dFYkuzJf5plOs5mAfTiTyajI2UBfrgfK2vqqhq/zR28YiFHj/GgL6jrrWAm - zz/hFrOsd2zLTEruYzYQdqRkjlKg+koBSF7I2uUwMBv+UeBmOGmKtiUWDZ3epjnE - 6zxQUdzwrwKwxc6lgRFOiHd2B4+68oq+cxL9fAvlAbmNU9vxDj8wbtOxlWikpQKQ - pqfdd+tdFyGJbsNobkMTF5rnI3Gb5lpt959CwktBaMyMya2dBtK4+FjNmWosCsDc - MWW8z6doGHNAg8KKhUK5xBjk6pMN1vaTe4y/YRDauculBB1XfEc/QX5imvRPEd63 - dOERizAdBvR5EIbX5JMFDnFpclHXy48gnFK+1O6dDAFU8diVeAzEhjKq/d7UKib2 - EVXhA97TF6ZNTQPqdL6l5F38//22qsn1cTYN8W3rxMwOAb7oaHnD3OQ8+kV1dVKZ - LZwrtBs1KsG3Zd3x8RoaCMMFkYcJrgZE99kx3t7y6srkmtTs7ACY7b9KzkvmPt6i - m36oWUsp+E/ngw/BzToIEawm7QVX12BKV/8ZPZgj6wR/GlkEYQc6IIbhWYXgvFHU - aAEJAhAuiaCOGWY3hhhd3mAgb30iZxQwKZosKyr4ARu1Pw+T0W5vdpqp9M9yTdGF - bq99knbK2GbcVGToMIuXbxldZfOFwwkb7J9WDbgwdSjFY18cFHSro6dnFVGxDUqg - K2LEV/gVN2GM - =olft + hQIMAxK/JaB2/SdtAQ/+IxL14SHs2gC1CK1+kS0qPqU8DYvni8bXX7y/wJgj14/Y + /Ethu4i4f7qOHkzojH+rZj++K+Qw1XKTCmuWEP4oRQmIr+p1n6WH9FEdYHZjYqOw + pAA7bqJ/GsnXk0jnYgM+gonteNPpDTH1qe+CZs/ibc+cGHxDKYbkYeI/RrPIdR1g + MjS8wTH+9p0dSWkcAarAQg3WDOCKLzwt4rdhd0gh/qBUprsRZw9RzqZgDpqcTBX0 + kpUxyov1G4/rNWnPRkKIpfOSgIAKpHkzYTrhSUbJv1LbsXO90GSdFyoGnHTd8LZS + dZDxwezAtXtsxRXPy1xmsgJeluFsIdg8xq/fNzTv3wrnsLW2b9P1zY9mfVXSO3pz + veGLsuv7+42wxuiW8y0GsRastSm0FgVeEY6T+gMSQcoPBS0CkMPfb29yIKR3EN1w + 5zAcSb0Ec72g2NlnWz29/FioNJ5dEBOD398u8ICM+aJuFIRfTGMBcsCEOSEemKsB + tnjEEHYF7TUbiXycpPV+T+HvJ2w5OLG+yGbfLYSeq9EVXh4Z9yuE3RCUSPTDFczx + MGS8xCpuOV6/46LQrY8SFDUtDLww3D2S+6hN6MjCbDzGJertQNIQZcHvyPokzB0N + QeY/EZZO/O+rDX8TtIZ5zTdunQdzHPRdu4rkq6mYANf4FmBZbqN61+XwBBGNxP7S + XgEnMN5YKQhCcVoctxK4+M4mgmdaTZ7MnTzY4MgEmwMnwWYQ5bH2YNVJMjTFfHPL + pxacLapNmYJNdPPBF3k0dZgVjY7qKDjbCV4JPKllXJ7e/5Ldq7ayMdCXHmOk03I= + =Ah7Z -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-02-18T08:33:46Z" + - created_at: "2026-03-05T19:18:07Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQgAlEIS7EbpbLjW89LEaUQCoKPV6u6vLBX6G0LSCzStXZIn - GetWRs5K0PHhMb+Z4ig2FHeU3cr8yKvJx2q8sJuuA5ETZyDAe8/ATvlnmrsWljcZ - d0CJmutMxY21N7ykzzFE10+Y4Q2GLdYIYZj+6o9FTW5z6/1XPgUyCfWjnD/dcxW+ - Tic5LZmv83MWS0Fxy94H4YaB1LVj9m5lyC+uslN0T+HQiGkq1S88vzJETRIfOB2G - JYhBxCZXJvSEyY65SPCLeWOXHB54ynA2Gfx4sQAeAi0Xr6dysHo2CDe9qv6do0nQ - cbgU9HVi9lFEmJcIsi5flUogkVwQFRkqee5Hn/+zntJeAfZe7RTaHuYkRSdif/tX - ep4p+SBRMsx7JOPO1uNKwAtmKA940y5yexIIVnEE4jPyvjdF5x+ElviUr9Sz5uV1 - +t+B/V9thcIEOLSvHErn6OMR33vZfuY5aOHBgrw56A== - =KByC + hQEMA1QflAioE8i3AQf/c/j/YtxkfJoGeWLNJVUCgwZRfkRUssmE2HiUWhmrQw4J + 3vN8InSjh6uV+rYjfxGwMbJcA38t8KuUowFBetpyT4ceWFhxPpaHrNE3qpZZLv8e + hU7Qjtnkbqu/nA4TvCLmpuCsCMWuU4IVBjwYR3n8QRNc7G6obTEvAeBNXBctr+K6 + 0tA4K23lTm8tNYi7UnDCUr4bamDX2z2ebSWPEfl++YmsKC/0/npqhkVfeOwZk/T0 + rox6J4EnsWYeAKkbhC7AgZSvgaJ9UzfZebMS2+1iNZqFHUKcNKMHhR2Z4Yf8ARYr + tHN+s6Bchj22gHVlD9UzCLvzd6N0b0hmv/HFbDtkldJeAe3Ya083Haj2/HFNKUS0 + kiOyLmjX8I7J3isoLQzgFV/OLG5IuW9pi3SO5GwROfMxeo7K8cuXEYzqktatQKmB + RE1XMDUJ3x65u2S69rP3TOQhavmX+fOT2UbhpbOqfw== + =Re0I -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-02-18T08:33:46Z" + - created_at: "2026-03-05T19:18:07Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAAtxs7aUokBlMc26tUKxkMkE3RwE/MvIGD8wg7o6DemAKX - pgp7zFW8aQu3QdBsVnF3yBONXQy/btXJJOVt6Di4u5HjHAVVri1Oq9VG5QzdcmJ5 - SWNsn4JVCpFCAKExQrSH/a9yN7/79N/unkCaeIKFhztkIr22dGWz1e3kuPj1abuy - pGy0bkBGWEfmlPoaWpCPNF4MG56e4mRZlNhg5lFvxda7nK5r4AgRyRyaz6thOIwh - Brg4d8ujixdeuLM9vlb4l21nChMxfig4c2wsHUw53LrpX+IqfEg+zD4R586AQ9bv - PrQU+Cqi75VANWwjn8imawtiHjqjTvetclgYRu53BBBWZGCKC1cNMFMck/cXcLmI - dXzidmbLRiySGdfDGu7AFcZ2MGnFsGjj41mg+Gx3CV2cnRJ1hiS8GBIlifNscLRm - VU24t+xjRrnoTd7RIjANzocZgfDEHv61UTXI4Uk5JyVvhxZLqvqR3iVwfLpm5toc - t6z+gIvKYXtzB3SD959EzszohB6SVVPRQBcQ+HlS9NsBJrpI5a055b6I4f6aX+9g - +Ila0uolW8QZuu6h3MMbSkMf+DvZwYQ2F8GCF2ypiEj+vONtHxS9c8hQlvmODbmf - 1R+O8jk1BkKkJHENdc3AK0l6aATClJpfuDbCikKMEM7FArkoFsAnPJTtfB2zfr7S - XgExqIA4b6np/zChBVusXm9AZY20v1u9lNmyQ8oRYPf2AGMAfWwxcIBJDRIjJMPz - RM2UmVefLb9iB+FKVBO0h5E0o29RVU/aK8gzCd3+Dudg1gTpjyDOi2kapMEezhY= - =wejQ + hQIMAz5uSgHG2iMJARAAxlEH/zxQ/X91szuBKatHHJ40nNnpr94sywlXCrGWFqf6 + XfhZUEoFsLVwxhRuU3MWh8rsAztp6ZkTKlr9pX+YxL6HvCleVwmiR0azLUfKK7ui + q5V52ba34aP3sNlgUbX3lj330c5JHOiW1BVKhex3ABFN+JWZTfd3bYF8nI4OT+He + QLf50cWTrj8DQ0ShAesJemB+2qifsebRsTLSGrIzxJKuHM6NxLgLUAFLxa+ss/or + hxgvEzy5tZDcIlwIXE4y+X7hggpt+ynuppma59EkOpd2CIhloRG7us3FDjxRb8qm + 8Nry7NlYWH8XiDBOgFT2jMcbffnv5mOYhpAMx3Czlpk43DxUeT12IcvNteLyiNBB + JEk2SiEJk3utnZpQXq8yv+VM5DHi2eKv69rZ+IJ/wGYK24VrjYsls00zWbxyrPYG + H2T5d/np4rS7HkMpcbi1Zo4LsJQXfFbMPwStq65eMviuMA24U3yFxe24eqNFerR5 + gNz0ZNbPRCuOkA5OEAlf5WPWGaD41SSxuqhBSS5he1XpZPzre6+Nb+Dj9NACIt2A + s5W6mnpGxw4slvVyItJLmpoV2Q3/HKuMu5nfoudc3x/UMsERZ2NMsnVDsFJPrSrB + 6wW3/I3Ju6fQPlcak4mlXxDQiHwy8+VXWLkQPlAVhfPxhQZfphvqLt3TEaIrQQTS + XgE7ufSuYlstglTEx0saWey1t5NRQJ66lLW7cFAiJoK2e357gcZBc0LTkaMX3sYZ + dngg04ftqMFaqTstrsJkkfKpUM2KbMwBre2obKaB6+e4OE+cV45NbSsi/JjNHTE= + =L0XZ -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-02-18T08:33:46Z" + - created_at: "2026-03-05T19:18:07Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1ARAAoyBuhzAwpZAEq8Rd567mdAmeNBrqNGtkJmtSYXplOpss - 5G3xQy5oATYxtCiuushNdx5A3Ys0fiaq2KK5LXDm0g4uyX7bu7XCfZLfkvs1dRNK - HBTP9Ee8Jg+LXYJohlIJuPFrH0PB2vW4RmuverUgX8zeyDpwI6Pf0h7R0Qh34gL1 - fjVGTD47sGGhpJywkSTeb2umlPMjsb3hOKcq5FNhaAa2adtCogseqXxIn3rxtVCp - Mpp1FIkxzIKoiLW3pklK0OY4LOi9wmssp/+uFfObD0/wMtMpBImtLP6wmeoZTvGm - JguxRxnkOoeYjjoH9vhObNVcrD3qxixSuu5Xl5X/p4nw2c2xrOQc0ocAF4lAeu9L - NX8GDCIFn03bBmtKgkQrTmoqCHde69ZJhjvG9IgCMZjVF0nGwTWu+56jMA1jXrFZ - eYTE3rPVICJ0bDU6Ll3/cb1vI5T55/HD/eb9sbXABsffsRYalOzneLgvm3UoChSa - PYdHC4GNyGkN8V3+z/Xc+fm7rOykHVkU7CLct76okjwuW2gzyDA1Pu48a+MeWH9+ - Or2CJiuLjgKzwePpl2N11flOWpq+E75BRPIHpfWJy8Qako/lgUuOtIammVlJt8Lw - 3VFiUgW/I7hMG4EjJPQS/Vr936/3X0T5RMdQlfYF3e9DwJ6ps8cI6wO2m77B2nHS - XgG/kcjqeYb+CiaTPzt46nWOfZyRenxOGJNcKYu4Kdt6j4M9HQlfQJozeY8DpYdT - c+2exI9bhqJql7P+YQuKodhwNCmVhzXue1/rxXUYaMUXXoWwbOOjtQK4x6GneVs= - =oOum + hQIMAw5vwmoEJHQ1AQ//XlCD2lGU/nIgsfYWro8LYrpaLbHCLJaQCBUvrBvUKM2Y + ftTowFeeBpnAesrF9haM26Qz8IjBGNhlG/6N7g79WclHeYFW3as1pJag25De6m0b + bGz6USmSBlXgPcxMU3T0SzH6P13TnGO5GOGu37+o9K7xRgps5FUi0ojB5mc88WPj + lCxAeQHIsELssM7AFalbnQdUyW4t/MchIXqnME1aR6YqX2fe/K/rNm8YgPykifz6 + NbbEPtR1uTrQL5kk9caTB+jMPsuya8DOvc2K+rMK3+3SZuPS74oGKWQL7e/amz9e + qWC1iZMru1ah7bRUNfJH+nV/Lv7i4jhwAMU0m2nFkQxuEwyCW2WtVmCuwIFnjnlK + a8WQyTVivF3HpiJp9TG6BJQHaJmSjUYXTwcl1aDIWWkPe2kceM9wvX2kFic3GHLx + RoPbOfCGMcHa2q6b6EzuFFgTz1Zx2HXfojhKcbqJEx9GNh0KFyLK7r60rgobzbQY + O9vCpdiF2Ipo5fxgUUgoqI63HfiGMyMDEXg+/lZNXO8SqzS9gGH426zu7wmvL+8V + L7Q1WA7zyROfU8I6GmnWz4fZ8+v7Ct1Fte51nVlo89TK86oI+Sphf/KU7yh1zbLW + tqae37uYmFXUWuQNxX34VoxgbeoCUADIdFUivwi01Rk9iAxRzms/JzpOHPeAePDS + XgElJ1ioy9T++zsB6Jv4OWaY3jyUkYli1KlaZClgvDZC2g57fEuHxTRDAzkUEA6N + //VSTqqf1OrRF44q4nxv9j1ccsbXZDkC7LrDRZ/MWforvlM7OAT16cY/y9O+nkU= + =GDpY -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-02-18T08:33:46Z" + - created_at: "2026-03-05T19:18:07Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAvJtZZ6DiIpGRIQ9fNKquhx0MJhlavz2zHJqp47jvEzsw - Rn8S/PvneqDFEBpd4+3CP8BDvRaP195Y1odX2LbXP+wDKKj4gxQAPzjK4rghgMRY - 0l4BhdNmOH37q2sE+I1zW8AC3JtAlQHd5r31LekS/pSYQ9oaf/6UooSQssZ1RZEb - kealAmolkAfSz6CVe89ggtuannwRZslmNE86RUsYPflmgeCaIeXYVZktMuB/5RU0 - =6EAD + hF4DerEtaFuTeewSAQdAJ20hL0QQk2NvOPw5lpLllovwlscdj5V/JLWuHPYo3mkw + OKMuPb08PKjDHEc2shIK8lwox5TZ75orhuvDEaHNGxPzoeXGbZis/LBcxojQJuwK + 0l4BcwqeC9bJOKj03kTAbsFWbs4VMVqlf9rKEOUSdPzgd8s+C7/WVrsPekqrWwOG + bv9bSgLSyl2uB+JTxurmUYbMgRSXDTfSK1V2qZfu16f6rpyrgYpmB3C5xVnuDAyj + =hw60 -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-02-18T08:33:46Z" + - created_at: "2026-03-05T19:18:07Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fARAApcP6iQHsp1QJdh61z7rAXM5xfU8RE21lq/KhrmrAklC+ - YVhus2258rluNFU23R5Wpnw+G9ig45CMLetGEBThnAEFq4dU35939wJBsHYPgcOt - 4rd1YjDFTISPGzN917tlzec81FJ/df1nLQ9vxqKBHRewfXPzABGRpCjUWpN9i2Us - ORPi9wfnbJfRLzJmBN26ihLMaSUfdS+BdCjSkO4ErxHBMv+KpDtFIfnong7DAgMs - 1z7pVwdubfyE4TE2olay2KjmIgcYXBYV5KkcyGjidJNBuy+YVUFP68mK9K/C93ae - AjzPCEN7LM4RaIXH5CsoS9WDbGW4L5ag3RTb0b51+TwhMFU3Cgj8Ief5VzEtT5xS - mxw+6YkK0EnLcBq3zhoAylCGa8q1POan5cfiSXhjFZhye1WwpDX3IpSfz5choZZi - 62TcrIciDLgecEVSYJCg3oGzR07luO2/VQbU0cR1gBi/d891pHhXC3ev9m+VOcxu - 3TgvuuSYwXqw+lCzwQNIxu7ZZmgATSUARx5yQ2CwiFLAPy5QpMw6bxJjdKaJ/HMT - fhthPEMTTf0rTm45PMMEuzV0euaNLKRfgRCrZMCqzbdfx3BJvtfzsuDYDV6m7/2C - UmlivRoI4iCXGYwmk1LD37nwMxNhsGiMkB5PdsrCVY9qQ1d/gWCxNkjac2fpx7bS - XgGNA61vzQuLJb8ZvDhErflOWWgQYAhNL6EalG0+DZ4eFI68WYx0HJlP9UqHv7cI - RDQsPPIjYOPpxwEjn5QJPl1j4GAukkIbSevJ9YegQN2J7PYa4ansQoRc+uPIEoU= - =ciUc + hQIMAxjNhCKPP69fAQ//bQ92j4VAlcP/Ihz+SvrzLMGSGQzagU0aMdTWHimY5uh3 + TSxK7NRyDkr/F4mDO37n5NeWPsFqdP2au/nEcAKaval79D/wSWXyLpIrKd2NC4D5 + D1odfOZluC6RL/PbQiyqEtIMlBAh8jE0EME514kRg6ToJJsMkOz36zhtfuFpMOFJ + MGEwJI4Gu5QhxXgul0yphyGgYP0SBFILLGONddKBdMmHWB4ArbjDdzMAEfhlr20l + VopYdLMVpBTs6E8VXKVCKMc1Ps6Ej17JTO4tNict09xmubW4AxstiNDGl93kzire + NPhUEfi+3yamyXdjYtOvGjQP25dS3MszU+RjTApvF9Lpg6KAYwOOcG+eJ8JIFzkZ + XhNbkj2UAdj069Z/KxopRgLKfTv3dnT2mhkXfpYX/wx1SPYaJb8HP+NU9UYGoA1Z + 3dJWsBSWmLJTnE+d8SE/ek5twFqx34mbEwv/J2jQWQDIec/g1Zqr+ptWaDa4Jfba + 7qFE1BFgp5def/1JnZV8q+lqJWFkJyodwXLbtUjNytNKyWlTtNecOzwLaecRvhcp + b2aM5m1prh1SrlNbq/0l4WYqaH6DQVH8jjOxvyGPMKDptGNLwUUVr18yn9T12ur7 + 3xriffRfYVTImUOwpZW2Z97Y5KxtOzZtyeqMjqpk7X8JLaH6ijoquBM3rpDjRgfS + XgElLlt7niRGXwVChb4uzL4o8aW4sYhcJmSn5sDkLxpxSrjFp0fpujPDQ43Sgqbn + L+upR/BOl9W00+RFs6KL54BdK0/s7b2ISR/tx4gpsj8LVUyS+eX4nsMB4DP5dZc= + =YyrD -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-02-18T08:33:46Z" + - created_at: "2026-03-05T19:18:07Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoARAAoF+YUwwYiCTvet1v8ObZY2PxRSayzaiHKz6XnQrTbBqC - 60fQPhNc49UnwfHzTc4G0BN/0xI4qjQe6kygWKkh3SWPwFv0rlLyeR3t26qpRx8w - KsZYzaTmji55hRT67FZi8EUxxW6SoznosElPF28zN4VA2Cjo/vA4uRVNutBVgC90 - qGVvQihsGQG5fyeE1Pd/JNcNqDNjFwujFkGQNcgDcDb0i4+QFnZHEaz7HCC4hyta - jYIgTMKU9pCefInrz/qw/jp9sevIjbYxIzGfG+iyCEZq/bGB0YKUF4ERQPrddJvg - 4zf8Z6QOIG5bu1s32nIyPR5vtkACiEl7qJN62gNb8/C2D2j41vCBwNNYHwxhcw9L - bBEwR/oRT+SxGPooM8Cpo7kU85kRb7OLKjBhhiNRMjjEm5CjPOcVKKRAS7mvBUNV - OrqgzMZZQHRGBoCzxoD5iAMfjM1fVJVzQj2yS4cup3UGzavxvONse/pEzmOhRmTH - PQTC6o8kzsrXMEElKODkieVx1I02dX07utVsA9E9iUOS88cCueLLnF63YjWi+q8q - zb6dTYgTMSHjBxn43V4kzCCWjo55sReJlwZu7UhOCiPRbIEHsFV3zKgu9crOjcpc - BLt4eEc8WS1OMj7hAg3UUQfenKdz/gHicOq1Du+UvmJJGOvCrgyYXzGPDaitRJDS - XgEd5L3HGrotYkz9/zyHbwauoeumFdosP/WOw1As3xwDesgekuXuHpsxiC0hYbl/ - nQ40Kuwx9o9SiTTxFL02ibIQxNtW30QjL6T/jkJ1YtRr47gk3OjZe5IDiYuYoBY= - =Ik33 + hQIMA1Hthzn+T1OoAQ//S7fBx4MQNBxuc5QDrorOvEfM1MHEeCO64CqOU3ORild/ + Wb6zShPrHeAZRYIh2IJpEVxCGQH01LGN/d3wSi0frvOMt+wbY0GTx8iKXufdQXUX + 9IZ1EXDObe+KNB/nE75gdKSu3sDNC9GB8hiJbcNj85UD+ET7ir0bXbsYB8nR/imO + EUp9eovrDlKw8vQ1sju7GYPAuAhRcac/BrkryZWvYJFdQYMEXtClPDM4UEwzgubY + 2zRBjoBWRcN64yAjgMPzk5jdVQBzZcFex0if0d89axG08zQAYRSPfeQDpWSxSh15 + PEONhWmWQ+h8kZaMGo/USE8w2+AC4NLWlaPDyeUsUUIvrPz9C+eLDQrJNZRGhQPF + iCygTfZ6I6/cRD03L93jZdiBp3xpJ2AgJFRirGIzo2wHSDDAgEYnjmn6Ux/WQD/z + SpV4VoJ0/10PzTKKy9SBGtYzbEK/f/hK/x+yrbWM1AUzbH25qX0+SpqPrRFGBkGW + aYQHfL0dXh43wEu7a2uKXGYujBW1Sygnyg2w7gBcFptU/BP9gBFLOjIfe9wFXvvd + u6ViFvzmE7jhE9f6o8DZAdv+RARJG3bYB6KqHnAz2jzZucWnd7OEqaTgbc8uWM3C + iVaYWbdYCxrSDvO2WM2QV55N8hX39ttXGD8GdHi1Ily67PC1qFWUk56YwBdq9pfS + XgGSw6FdUoGo8qlvmJ0w29zN1MlGrGBiTSG50PSybXCOiZWUc5SsYxP2U1uWD1dc + 9w4G7k2bbGK69DI46GNxFgRSvGsiU6YAkxkkJSnUaSBFGj5hcCpWl/a53zDRosc= + =cpYb -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-02-18T08:33:46Z" + - created_at: "2026-03-05T19:18:07Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ//cSkro70G8Uss61n1Z+b7RvdmOof5+iwI/AijjyW5kY6o - yEmNhR2ZTJK7pq8bgO/guRRWrwUpyTBFvJuUwjjLHMWNwK1gOLgfsr0bkgkLerqk - cX0J01D5MSPAdCYXNuHIiYln4qVRfRlywutfROJs+RNwf2GPgWUucP/x+0pK3ije - HJCZucOUo+Kh+0cSIURBnn0KdlRj6fOjxAEDAMYJT4FjkiOVttMnPrefjYTvW4kI - geDEqxxWlVOnrAjGGU08ZRbNAtJjAE72NGiaRBuVG6WSevfjsieCAEkHyvY8rPXu - eo5psgUgLWgE3lbyR0V1n+sdlTuV881L2nDxM+hpZo04HRevvEOLKrmB98ZOXtu5 - LMuSXX3AyyIzwjCAc2YizIxiS+tKmehJ0HkB2NrUQonvKX2R6Og27JtZqH6LlPb6 - fkkzsVWDGdw2kut5pGmB9Zo0korxQA1b8V0fKWhGGmWrSWMNCkyYMsvx0dDSl4aT - b4pE9UXY235bD4JlQt7xuKbPzLK2SIf10oL5mhC8k+9HGoDJiHNSXL+teeSfE1X9 - BRktJY43GM/D/c5hTB1eJvLeO12iYHRW/jv9k9ezVLAGFtzzb3duH7P1DydYVK/Q - x1PWxWYGKExSB4xjzzdcZcqjoNraadKjRQbuf8l4bZNEei1rriq/A39HxqEUl7/S - XgHKRcv/oRo1cETI/teXVu0d19u0Su1O55E5LQ390IhdNxZOVmZ6VvJ8oyApMNAE - qzUHoj18dQo5+3j1JVVBA1FB6J0BWf0pMUFfiVYAXJmylje+UTOvaq8bQUNE2c8= - =wE44 + hQIMA46L6MuPqfJqAQ/9HZaNaZwepDOx0CoGVMZq2Crsut05YhXdr4m5Uhf5+Y0T + iGoUNVdP+IGO+tQO28cX2Rk36amynpkZ+mgtHoIHZG/KpU/AGOKovs1X6KD+Ict5 + 3I1baCwVxX/tM5363jp851uZ1LYEZDnM/TLLxsjw8DVhcoRhaG2SrvhvlcrLQ4ye + xubx/VDJbe4pKZo72m5o8ApSPx6Jvi82kjLjL0cQAwtD/F+aL8KlgeN2gC8t+T6O + uRJ1SQHydjGbDbBcX0jOF+pa+gVNULQ4Tq6oTKWP5LMdZ8YzDDoCJkVaXgDH0y+t + bECne7+2pDaHbbV16V33fRDogY3PPs2pO1tgPhcMl6AZFkbIhc6E5E7XkPKkEz05 + 2Fjuc+WT9WDVGG1R8ZJCTSBgpewpxjWMzIwkoJVztRiGiHsFZOWIrBHVwQsmOw7Y + ojhXGkr/b+UOTiGo/mcYN4gm8PDOOtsuj9zM8RDWr8v8w13tWDpXcHQF7lFwSWsq + yg+n2M5bTJvgL/CyxDbt5xYp5YNVFKJM0B6t5H1jbqYo5BdU24VjBe9UuUUDRkDf + opOo4WdWIHLQLRCQ8me3PKP5jsfmXn4YwLcw6da6/REso5Ofcxk/94gv/IBMHdD5 + QCaSEakqCjtuBu5bs/JBJSOt4KtulykDVKNRH/3g58vOwdyjJlYGY3Pj22W+EenS + XgFY7RGR4fn+clplwKIujXW8gXCbtOXYoD4Y3XXC1OCfsit9Hy+kLLjFWFZtnbtj + 34u8LizTTNrMbTIzLf72We0xYMcqn6zO3jAwUJmyW6TaL79eF6ZsYElc7tFp4xI= + =+uDf -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-02-18T08:33:46Z" + - created_at: "2026-03-05T19:18:07Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAeDs51LR68rO2fc2PoiFUh60isRAN7cYxl21cXQPUOnEw - Iz5GlTNl1YL/V3xX8M8Z8TPqePJNQPrAXj8rgVinsnTmB9f4Sx5J8QNG7Up6wcYc - 0l4BnkU+bEFhgtkWzQdtcGAaGL0R3IGqY2pKY952JdDV2mec8ZZM74k5DTQ7AQQ4 - YpxD3KllMBThsJ6+l1saCdmJSwz/48Di0pF5cjzWOmrja2eNAXnNYnw2Lj2QU+Q/ - =p9IC + hF4DQrf1tCqiJxoSAQdAy/CA4k2vA9VZyWlwefh+7Ufs0feas8QNhpyyK6ZKSk0w + y8qEhzp7tS3mQxCAH83uiXsv8wtgjgapiBWOVc8xHb5YUkSXkedR0j6v6I6SAB21 + 0l4B1e2+XnMr7litbYak1OtvFryGuGVLT8mSYGdb+0lX07ZoYgsQbmU7xrnyJ9Vn + Lbxx0gQyK5iiwODQml5P9kC3EUaAJ3BlwUdGzCPkQSpqf7+LWLGszD8IHlkMiy8w + =38MH -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-02-18T08:33:46Z" + - created_at: "2026-03-05T19:18:07Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAyUi+nGdhVjm5GWIVrEZ4EAVZ79cjvvU0uubL1IU+VXMw - un5P0VM3Z1ENz12nLVISIczV1s6Hip0I6l3bg5g9o7glWDk0rCyzypJd3/TctjR7 - 0lgBEK8cfpkjm/Ig/q6rpr47FYjvrAFWB9b+qrJKAmsGFfgbPSB/iIGiCF9YVPMU - kpF0XTZ7FN2Q36mOeupFaT7QamjhtJkmbFzJSSOsrPEzeXUAYt+GJBpM - =IV9e + hF4DzAGzViGx4qcSAQdA8Q/2mQylLyDZIsF8Xi5zF7AG21daJtSQin6gOyQA4ngw + z/xd4657gK5sY7Q3WRD5QPldvY5Qi3msNmj7YCUoryaGJKqSVO2mMxcJFX1twARR + 0lgBe6BWA4SRMHfegYNWj1WTZJ3V79vUB87NBrsOETJElYqXoVCE98SrH4aqLfKr + IU9pmE9dMg2wVJ4gJZRhO2c/Ogww8ui39uhMwOFzZWX0+oH5lZt4ohua + =v3lQ -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-02-18T08:33:46Z" + - created_at: "2026-03-05T19:18:07Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAAw47LBnVM9EuBVOV0TuWVbSedxi7OnwkYcwr6c7nmWU+2 - mfH5CIs2bazHzjfdaLXRFSMQEd9owe1zbnLAlIhBVZKUfm3veet9DMoTRVRxXQto - B8y+RBa9qIPXnQsy5zSqx5Z807UbIhbfDFFruIRh2lu1hIlivcLam+OUCR8wjJMk - d8LT4wP9DsyqFhqM+KQ0OCuljN9Zd+hKitYjKb5ASG9VLedxoZ+Ek1vzr1fvdeJw - 8d9xUdztWrIFkWzNn63RfsRpY087EH9s2yFIclLgQDQon6htydotLg3uik7qgjlI - wX8ewB/zo9gfrTaHNC45SEyoZzr0dswY3D/0kEeqjji71HtuyPhXdJuUu0Bzg2jw - 3CprExwBdkuT/+38eJQgt38p5IksRstGnVKKdsuqbMIfhUitftxGM4nwI8e8h1vd - 8i9kuew2iT1YeGl2xP8tFt3w/lAsEBK4U9tf0886uWc8ypEPya8wrK+ZYscGKczS - VDQeWjw82W2xAYBYGqiL/8TARjC27EDqNernfTl9u9P/m0PbNNDSzF/W5+UCnPTl - YoYgnQ1NWeQnssoSxlx1+W6+VO0O0IH7vYaIUi7tjsJ4yRKiKykFGKIly4/pjfkH - uoglXfe/XR1xQ0OuCm590JM2+AJbdso2xpepXFgl3WD2Xjkg2gUyjbdd5EXv4g/U - aAEJAhDyP+G72Xg8Jtc5qc8qVtQ3Q9SCLU0Y1otHBeNHdAd4Fufgpk8wlNFT5xVr - xp+XEykC+vJTo/PpQjMHKpOSfrOuoxqlo0K80z12efsLu0eRRxJqtYjFr3TKp95B - s9SmEGdcdaZp - =O4oW + hQIMA2pVdGTIrZI+AQ/+Oy2iqMhJRZ3VxTw9jHxAxXH9iz7+i+P7PChWka6lL38y + fTN9r+myIUG4DZWz/8viaK3MWqMB3ei6G0NZ5h2Y75tVltR4bnyAWW+ju2OWNPr7 + FrlaI8z5LxhA7UZFA6mR82FLHfTaN9hwAhspQwd1av8aoCLPLPbj2SIvOspTixQb + K5dexrIUjVh5GgkeYZfyzfZ+dysr+vWRiBZwkv+v/GBnGPNW25m5iizecSKx3KUL + afKDYsmxVCE5E7ejMNEbSYRCdhGZSxKIWCL4PaDD1jiBAbon+bjFES4dhDJGqfzL + PaAZuwzNC4ROsf1H3L2pkOF6TehldjS2OoiBszrrRJwcN/FykC9gRK7UCTOpBGqS + bITF3i1VN5U4GaPP8vyhhwvNmPxlpZVeXa3BlL0B0ZUBvAY4L4aoJFQqxRXfUV7E + kjDnQ/K26H3K5rPWjtrJ1PJ0MJu8gbUMNsJa3QTZin06IN0KqeTDFW17eg4Xa7T/ + PSeyjTipPl9nKj+YEMGd/FUgHRo1wwq4WwZrfVuL+FdLv0HFXVvMZ+prG0zhDFRH + QDY04FE8LspP2kph0e2YE+P53vUHIX+RUbxtlr5wCK4s1/wK3Rt4VVbg1/W9Dm65 + ce3EayaDMxV8yLjrWc+34+m6yVIXZOcx+uCEPynrKQEj+vvEGFmFYfsYpZXePVDS + XgEAcxWhDEv3wuZCWsvsc0MylBd4snn/x9kIVSq/86hF9LaWV1apYHAVzGnry5yj + E6CJMRtdjPnrNZtJE5W9bQtrB1YoAZD5B3r4JWfwcyfesdI0LELmHzNC6rMoPi4= + =qdbg -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + - created_at: "2026-03-05T19:18:07Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DKKbvh61jX5USAQdA2WhURCQj3SXUMU3dAIJXRY8eCg2yhCSCfQm/kW/kvXcw + hcItY+g+zBgOM/d2xDAQCAeAJNuDN1+XINTuwAsf2d0cHubdo6DkNL2A9Q+ERYTz + 0l4BzIvRGNSVN4tX6lq3diP9IQvUETQ570qqwvDGAc1UpV4U++pKBSUIcOMU5yhG + pXiCSlvjyejpXNipbubet8nrzMAnQV/Iw6NcakZBYyVntF6jhmoPiCTfeQMBU6Yb + =H1UG + -----END PGP MESSAGE----- + fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted version: 3.11.0 diff --git a/inventories/chaosknoten/host_vars/wiki.sops.yaml b/inventories/chaosknoten/host_vars/wiki.sops.yaml index cb668d1b57..0f287f4c6b 100644 --- a/inventories/chaosknoten/host_vars/wiki.sops.yaml +++ b/inventories/chaosknoten/host_vars/wiki.sops.yaml @@ -4,204 +4,213 @@ sops: - recipient: age1sqs05anv4acculyap35e6vehdxw3g6ycwnvh6hsuv8u33re984zsnqfvqv enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0NHN0bDR3eHc3Vk55WTAx - eVRRRDlua0VXUDdNSWgyWDdoaFE2U3IrMHdjCktwbDRYRXpodUE2NkpvbGViSHl5 - aC8wWDFxZWZzVERQc0R5NVFXcVQ2OWsKLS0tIDJNU2J5eFZOMTdGUmoveTg2ajlP - VjhiaTJTRDR3d2g5VUVuZC80WWRZNDAKBxS5w9+Mdkhh3HmydNsF458/ZcvgeerA - 88qMODWfRyrteD8dUeRxjOVLNsxCqg67P2bRLhjafzmHfiy04YRb7g== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3SHpzSkdCbFhkRnhITkpa + MldrY0F3bjlsUjNhakloRXM5cEtIMXBDUzBjCitBSGFWM0VMeS9PWWtCdXBZVU1m + eDBQazJpUGxUWkJ2MDdvZCtlMzBmQ2sKLS0tIENrRlZaUjNCQU9QU29VMTc3alU2 + QzJyN3FNdTR0Q3JJZnlDU0d2Q3FHODgKhKcQX9RK//BIadFHVcZToqAI6l4FEYUk + n9DCWWUWYXKwBnVKLv60Ssu+LPtBaYf+0c++lbnVlLtrqrM3PUhZqg== -----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: "2026-02-18T08:33:54Z" + - created_at: "2026-03-05T19:17:58Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtARAAiFH68X0dY2sBKAtoCJvdSOledWXNVTMfHI7s6v+XnQbD - Hon7+lMfntNTFWUhP2Zqplp1D5IK5GfL29I7hMj+bPGfqLYpGjDyqD5jj5FoiOPn - ltjAkcJIoBjkJkK6Eoi/ECxeZcqfb/8KHURzt3qCqH14qTj69ySCBd7rKxxr3erC - hal2WYkud7hKme9BuS6YzvvcA4nSqg2VPXfNQ4vdAG+7o5+iJM34VE8TXr6E3vC2 - 8Gn7X+9hN5MY2OVtGSbbmo7K460+kTpFNuk37orko8k1JR/wH21zBccxXV+Qo2/c - sA9JeBeUEhqV4F5HOjGc4ias8/MR6CEn4ZHKLRA60cmLfecEQsSSZH3OWVTAhBVM - MPmPYGoSwH8T9rzIqkVpDKkseeihbaetHwlIQP1jJ+VUn698KUoVF6nPjWN2MvhI - 29VFd4DEulao+T5JiN11xu9f1LtwUrX6MBThgZO4Xkgw/xv9FFi64H27tod4FOXL - iCRU5bnfDUzPrzMmmsIX3G++Vq4Ey7+3g1s0e056hQVgZSlqk/glHFrWVjicKm1o - vw7O+0xaw+j6i1DX18PqWmoUAwRrRnlsjO0v5e9/YLNp3gdsdXqxiE8UOW1DIE3n - VV5BaxiEpk6ABteBoagV6gf90sLhoRHZMT6q69ad2t0F155Luxc3GQp4Rr3zTWfU - aAEJAhA6FjBumIgFRMfdGAwbcx0s6KXSnzexUp46jL6aG3oUgzpe9SIx2DCXscO8 - PzQXVByZYSb6LuM8O37ntqqTLpjss5/aOOnp/zcoAqen8SmkE/8ed7w3rGgYSpzJ - M4pb4zkLUG16 - =qQxS + hQIMAxK/JaB2/SdtARAAkoScg9KQ33yz9pMPK7rMkhgvt/xtnAXUPfQefWFUiEFX + u39X6V+mqoogrta7g0Lxn+4N0bcgM1Cz4F/aGEc+kgKvW4372N/39XON+b5bL1gc + kW6DslmKJiroj8CjHqwHBTcPUWYThzi7vIqRgtsmP7BZUnVGCyiBJhDAldiPhpj5 + osbUxQWwxhqieq+O3X5UXYWh3JPIX+XXK9Wb6E9b6xEN6liNnVT0txRXkAO0bfaX + p2I4lWYL9R0yQ5wLhDmkvhxU6OerU6QdSTpBpwhLQmG/CErv/z5KVW0twt0JuKUq + t8hyuIa+cm8Cr19TgaK636a8pBzdvRU5nNBtBep7LoFRPxJKMvEUFvkAzUw9YI73 + 3RCUjm98ku3QPtJaZE92mRCOrTMJ1QzkkGk5EApyaD66LwlPNSz/ZqxVHoLwxfgI + QmN9ynm+iMdFIU3+bCoSp4dCjvEAsYmotLH88oYrQ6BnXy/oH73mXWUqB2IBJqzP + 2VG4mrj53CtgBm0eZNLrtei0BPXi+3AauceknikWcISt8QpRtWaJ3PrOzMp36sTL + 8mgeQqJF6EZncuQei3+471FYzmJacuqLatzAQRkwP3wW4cNT0+LbVfRN1tiP2sVw + Ed6/h0lig3qfWkhinPSG01Kq6eLQq78VKxclKbb/D046odirC9Vr/kVZ1OjS6a7S + XgEhrlCqOrYz0hAoYNYAqkBqu25PveDmPRgcz4OxBa1GrqzeUCIMSG5XdNeJkSgI + HkBWQpQQE5v0+BYb55jP1jA1u3GqbiIRUHpoEtcqOH+RmmEoHw9UI5sNTIFBYnU= + =1q2G -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-02-18T08:33:54Z" + - created_at: "2026-03-05T19:17:58Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf/XyIkEmxLb0dN60f2qTodT2JKPE8JkSaO4MKoNdNxZol8 - IUGBjaGqBz83nYQksjFT6Ol2PqcZPt4ECnwOaItv8+b3aFCbglxlAiXP/z2xzxY3 - rznIOjUWZOJsZ6NVLPP491I0VhYnTJDvq7BCOBge+howj9QmZsLv79vU8M+R1CZe - rVXvhI/ILE8LQI/LTC1bGnZfn2TaInzzdUFBuiK7PloJhQFtM70p14PRa1UzmqZy - LKdLN9vqes7UaisKfF/UtPDYDUzDFATkEisRcBNM+UTzwvnl8NKiWsb/GFfpN7Tt - 8SIMrtqImXu59/7wuACTaTlsUoQ6wyvCATA90MAledJeAaFt+aOAEKfh4OnbxPVK - 2cRc4Qfpua9rd8W5rOR2fmLbcQcQPbMAoMkcZW0gWGGeXAPDou2RALJmw6NmvG43 - GosXLomEF4DyGjmulEORsvkMYVkjk3AAB695VkQ/Mw== - =W7Rb + hQEMA1QflAioE8i3AQgAgojh4q8vR7rkplsLjsYPyPTXK54uGI6OdO+klAMn99h9 + cRCZqZr/ft3hXuMtCESn27uAl6+NsiD/0yAfG+ALO7JCmo2ZbpIy5IvrRbfJhL/y + oqzIpryGG2hbx7Vip3oxKWDaoNUfr1pRg94YZswDvuwlH4cUSX5qqdKetCs5WOJ8 + oXiU5atAZ8Wr/ebZkDSPs3LL2lQkQjkazo2ustQ7PlQLejRixdGI9awRgsRaagsg + Un5yKjCPXEhUlzpmou04sXpghkQki93xeCXmK2Xv8IY40C2/bWgurxosanzLMTQm + +QZEA0NPRdg+6YASUhA4OFXpWmId/6eoORWSgxFFltJeAUgGggbNpGAvgtxRxgul + RlkWmabVjDclN+yRsH7SqqfVHSKZa5CP84zcHCH5Fl3HpJDUblj/SiFVn6RDcRks + kCspnN/v4lAU4YSUULd1T4RVOXZJFMLwl7qZAdTjvg== + =970/ -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-02-18T08:33:54Z" + - created_at: "2026-03-05T19:17:58Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ//cn5egxjaeZRAUbZxOow+xdLWvGQk3XMJC32VJDAMIrmQ - SXa1ovV0kpeQgA1kH6XfzJ/msetvToHRZpDNqs08PijO5u8eUVea/dX6fR8DLmbF - C2YPT9bgU2ILb5TluZWcc5AvfUpLt4HDUxbzCd7xnmfMmJ9fNMcJoW3aS/BTR6Az - bclg9D+7du7MSt4Ij0yFML1Wl+DgSZH7qo1wAsAdTQf5ZtqnwX2F5IFJYhxRLNCM - KPXo3ll0LBu7w5ipGVUu6X4KuNIkSntKvUq3gIbju9CnQwJjtmmNYSIy0KantuZE - FBPD3w1NlisFBlD0or7V2H0gxePxPbmg+Jd6YBZWiaLAujU785JKgY+pikEdz6Qd - gKRD+COBmkHKUM7qGB0xtds0BWckij3AV+gjF9BkjRTbYcmZKu7Mk0/idZcbp9jz - TyVKShlBrVMys3qmNMSkUmrLG+PZECxA485m/GdrRL/wAw2XatUpPPdMvGLyS6o8 - JhymxA3I2Ha6lRa8wbvzA/gbb0/U7aCGWThnmkuZiBxBS8Uhe9BUbmkfgVnm8tls - YMPbs6ShdMXSn6DzkgWeLV1922UGYQeqm+BMaafW2mXllx0GSU6lndvt9bBTc7pu - Jlyz4+9Rr8TFJ9e+bwMzWI7dTfDAy7T2asAYUANW8Cj35xKrLvAIukr+L15/MaHS - XgFtvOsYWacEh3fdMs/N2NoWkUedvZlMGGoPaXI/GKlEtnqB/qcpQVyyBldhc6qe - FyiA0iV0RY93pcE8DqcxcZtR6xGD2VI4WQ860tNfk12NWbuK8un7aPbmKyAtcaY= - =cm6n + hQIMAz5uSgHG2iMJAQ/9H54MOD/CPKJLDi6uhM7XP/QL1HJjYcmQnVk2ACQ6Gjey + 5hQtxqNKHeqc/28ghKNv613E7kfkHct8wVBnOjs/opo+4l75yIi92dvqbO86XCU6 + oTHTMjACHLwrpyUHU0vkWkvY+trDKNYikFMywssKfIBNprjxhQhrNUG6NQdD9aym + nyum9WwBJh6CK+ewjU7NpE1IhjuJ94+rCkX8NA4pE06FG8uUSzksExZtjCW2m3jv + HqpTDBq8QpMc/k7qA2nAWdRkgVNOyhFf6/Q16NqOprlS3Bur2Pw4hjy3lh/S4bac + t143fSC+y91U/w/C5J/oPSuGmu7zkZEP9hgr2K/E6WHfukK67NMn67lYX3DX1mcL + yysbHgbjdd8NtZ9A9YB4PAf6A8I/ch+BWWX0ZBHBEbtQ1aGCstn/20/35L3VstJW + 5ucKeNLZLe3eB+0W+vsT6IblBBxSt5K3onv1czRwgrtUWgwhexpvl4t9J4mftGfR + r7P4wcrRhZZWeHp8qXAiDB9B+4vJg3xMC9gXIvJAgqbjV+jxQzo7lDx4p32lwg7y + a+ma2QD8Z3Ah9wGx3437bFo/yzErDd9yYtoLfxn6nyb2xmFOMH4al2+mQTOQxqnT + hnlAcQqFurRFUN+2P7ilKQYjKWB4+i/ohxN84A0MDT1E/EP+EGQT2XVuTme5ADbS + XgFaM8qFYFdf6NuKndSxCtc35c0MzGLfejbcBCnoEVhqvrErD9RVMigraacalJFW + p/jS+tWGwJoF4+2tQuPHUiB8ICgEAB6C/++i4RIrtf8osGAAblsFKPU0u5orCXQ= + =St/v -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-02-18T08:33:54Z" + - created_at: "2026-03-05T19:17:58Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ//UNzwq8r/bIo+jPA8bZg9NMwgiB+sgJZtTFSZs8pLcp1e - J3e4lN0XyfXq2QN3ewefz8T+vpQALKoWXnyNPST7fM57VmaZ4NpSdTpV5eMFnncE - aRNkoUp4Pkjr30hGfjW4wZCkamVzx7x6nO6XzLpELUPGJfisQ5sigKyDgGUNHfrr - vIqUNd9ixbIorrSY7werdT4s2Td1niKcO6/7DnVC+e2Z9vAL+sMdW6My08GvuZSl - Berp1lQ7tDAArWWf2cOqXqGUdOfG7MWEUiTGH1PK5kMs4F/d2Cr95N340fxVjej/ - Mxh33+UrQmzjvSSEVZC308SlspJOL1gCtXB5g212IkzIw3hsRgV6N3ptutBZmY2B - nyK2DsyWiFZIenp5CGz267TsHxm9chz7qoM9ephAhnpdBJ2zqLoaaT6PU0LYJU33 - BgvqKwaUQVPf7GsTWe5PIbInTnM07KEWOa2eOIoH9p/jICNl1fLbTRMIqfXLKywl - BZeIpMyc/c5nqjRFtCKB1P1U77HMadjWjChjjy0c7PYKHOyL93UzorrP2f6jxngc - ghdsypc3jn/GWn+5tqABaYBKm6YqoiWxje3Ee9dYDuOGPBI6IP/wyS9WFrlGzs/o - OYDthISwyWSxsbK7eVE7y5oCRrwOFrWCtPaDZ09JfntXODyJSQFuGQEx/IsVKKfS - XgElgPUNqAA35oYSXBfIj1sXf2TWfxh6yCxL0TSnVzvYn99cF/WYczbD0WZyKca4 - cL3SGm0eyd2itCN8AySzC2XU9z+tzjkSR4uD1/njCdjnyC2RaNxeXrkae7lPwe4= - =w8+o + hQIMAw5vwmoEJHQ1ARAAih1Qz1Vu8226GdkRTA21tUjl0cF2yak183q8notIrBQJ + IGnDIgzREnyHylh0F5eB4TbIrZhDPg5LDCKJXvjpCIGpOSqXig7hAfaBDZ9ml077 + ae4ecp431Hl4KC9YuywR1lx4s5L47XhkFWVCJsFuHDoUDbVQcOdVbkB/4VMt4XaN + vp4SZhHgE9TWcWx1adb7O6mRlXmqedb+xwhQARgUT9PNDO4cgLsW0/Bw7ewyxd1N + tHv9YTLzEJ7E2/R5KcwFUbLt27LiB1yNpQ/IAIxsh1BV5LxaAI7YrY9VyeOA4iKB + AeAIr4qU5LfjVFfzA0W2v8Xn51/tl5b4C9bWrfew62PISlA9h1v57C3F7IkFBSvd + FjTtJi6o3xP20UCKzV5n29ez/MIWY1tr8GhbKF3Vft/wcPMdmGUavAYDMAXQjrDB + 0e2gCS46mP6mJUZ7bjXEv5o5ti8vq0RKB2S99pcVMGh38c2H3mEBPqqSnZOntYUb + xGEEd710peQcNLhSxDisGdEu48cZXBo4NkX2rQv50SBL4f3giwzBUoB2WmfgMQWV + WvqWATIHw2egqSrE+rvanlcyNKMdW1j0Wi3Szb7Sx+PT+NcxULEBDtKlDeFlK/sl + S7Z9ERFEvyYSme+2sM+4SHQiUvUZVDApdjoozZFIYCG4xHdRoPMafBqXIQ8stzjS + XgFlyxtpOLVsHUcNJcuoN6M+LVIqhawXbBh4vzv+JN8bZgTccgddiDG7+sjvMHO3 + pMEECLimOIiqn9reiSZx+di/65E4S2EmJjknMik6qEjv3IDYZexBqVEqyc7Di8Y= + =5nia -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-02-18T08:33:54Z" + - created_at: "2026-03-05T19:17:58Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAAiZKX1frXeTkIHNutOHo7P1C/1uaWYP+k5DJUJZZTwAw - Ynf0PuAT5F+9pCvKYhy3vyDxM690AzUStnXGbxlU+VOVoSUWR2yRwetbI18fRQ4T - 0l4BW9dOjkFeHqWCdUYwOoy/urIAGeIFQkFSEseeGRvLbxL1XkwuJy5gszAHe8jK - GROp5Qm7GK4g+n2YB595Meey+GN2XMIZ9xuzHNAOyhzcfrBserf2mHN/vGeoEkiz - =w1f9 + hF4DerEtaFuTeewSAQdAtkOPt0KtYsPcjoAHEoREvjr20MldS24IpqAAMEsznDsw + FyooQwSCawtx/2mnIyT2t4jAj9K7r6dCvqP3pqNg43jvlKKVFlcKOzlt08PYtNHA + 0l4BMiLDkGbtAFzhiFct+qWQcUpHoXF/iU81rkH+o+VkhAbYKyj3nCx7zmay3ndc + YFqkBtar/eTLGFiAdvyLqvADU1hDqaTglHfd+c3PbqteVf9Q0GMxFS2gxpGBKndz + =7I79 -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-02-18T08:33:54Z" + - created_at: "2026-03-05T19:17:58Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//UIMbRb9R79cVXMyMAAcyyzq2ooePsivPp1iVW8/q1P+K - 3MM4sBPgOcxjKDcNb8gnvZpXxFsh2eHh6PjKatPVu7j8M3rgHZ4PNVbZRDloKtib - hDgwxqY5XFdkcABHaoiCeFhGzXd31lqfjQ1B26RvTiVwDIeJ7WBYRl+A0kQJ4Azl - Tpjtid0a8muPPThTGdZgnLneqpCdm9ghYZP4hmaEqj30P5cL/DYfSaWIqvzPTZjz - EaujM2eSi3WkNMI1iSMjVMda6GXszzD2jWOiEZPX5gkkKIZd7jHVuttpfeROQqhu - n67LGtHwSvST0927jZe0FbCi+Wro8i49ZMgLxF/Jbhhm3Ww6BlKx1d8su81YP+y5 - 1vGApsdDQ1jYhYx1DQiFAD+ug1jkEsCp4fMpuosQLersAfV6zkAb8HaElrkVjzsh - HLiC7OtaDdIkYkQz+ElblCiNHIqHd8lDoFAaS7v+AkBlbm/3jPvujOEqbzPsX93X - Ch9MKp16/g1vziazaeLk8mX82obCV1DnzjbW9NkDUetLFP/J1AfVeUNb7YoB7t9n - tcXDmrbHxg5V93BTdyC3dF7MbGS20Zzlrt9dkNppBRy3sA8cSFediBNBmUjwixrE - Mp0W42TTQ4XNu+f9LPKUqlNfefIIO83OGVPR4eM3dLUXsCx0f+k25eBxyOETnQjS - XgGPU8Sj470NsnBXWVlycXqon6c8Ir6Th74taqY0uRj5It+Cmg6vkaQnYUbOyqtn - ehKO2zPW85wkpDnl7Jgc4kf08Ukru4gf0wuCLgoBNp6dQi3bwKVbHgfbc7tMqrI= - =6KAn + hQIMAxjNhCKPP69fAQ//SoS3uxUPBbEQEee1VmZerzHhoRgm/9ynRpqVrKvPGKeN + BO//XFOrjqwjwW/JbGU+B7/+7wW+Y8tgltBlug2EShB/w/+UbIl0yiqHBaQq6fUb + 9lnwcBpldWfQJiY4j+D3LxZ4fe3iiNG7ahLibvV7D53Fd1KN1aHDdpzzK8EFOnbO + we6vLAG4ZLTx6QEkA+1XDqaE355u7lbSgE5d12FNAmTk+5AJd93qj1vx+nMydHX6 + YjnJkXMLOnAMmL8k1U2/S4hDbHUdDnD99v52yYOREfioavp6ZhtR4xcthZPH1HsI + 8Aisl9L82z/n/O8o8z9PfFO3d9+jSoZDJuTp68oblpMJD1sEvp0JaEMq2jIOb1Mi + WAWnXLg3aHQbytsYTgDWQDTCcvpcDsOwZpjNR1WUcRI0xYzOh+aO908xwI0wRUFS + 5ynKTUnNuFaR3v5EXP9PF+RDmPlXE327fBCB9Dx3z8unn0l4NZLNNDMJ87KQjbIb + rB6bSIMUYOuijRVQFDmTUgs6huL+Blj9MzUOvEwewKU6v9VCczfB6Q+ET+eYBOwG + 8dCLU4A9RAmjv44Pdx1b8kzK7qCsG9DhKVXReXeZajXvmCcRQc1L1WQeE06DUPPy + XvIsTMe0IV2uFmnVre/lpoYEftwSD2bExBAZWeUIpGr0IOelnc2yeuBCmA7SQ0XS + XgEB8c3tmp4OZSav6qDCjBppAs+6LNuFLbP16y9mFv1utA5iys5YuDVGyTVItleX + VgonNpBVVKlEECSn0qn15qfg9fO6OUDzHhPv9MXulyWUjyWgd8CIdjFMZRFddEg= + =8m1H -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-02-18T08:33:54Z" + - created_at: "2026-03-05T19:17:58Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoARAAiJMk9wif6/MDqo6xHaE44iCfnAHpeF/anq7BU8X+iYuh - RN0AWI5h0fQiMbCyilJ67vyj5uxA828goTshyK037uv+3vokaYrqS7x5PPNsAn6P - hHM/+a4shxyo5T0YcOCLr+lu30FWJQ0AFpueZUpvfftPgWmgC0ZPNjHIxYda3UTK - z8t2EhmLl5XV3lMQ4K9xigF3MBczKUa/mFU5A48xFI56c1bNnVMA8VUWriEAf0Ay - 7NC71QoDYGLZExm7UpNDtzmVsVqJaT0dYisBfrQZEihgeJAdKTue4MtzqQpxvD1K - 8p4f0CjR1q47bK+oTWinmv2q0ffssQCpkCQK6DjjcQJ2jJFoMqxtJ1p7/lvdMNOe - aOtjR5jkn4m9viYnVhRmqJ1gUPNqqeX7tKa4jnrrwVNqnl0uV7vwsm5MxDiny43w - VigtthtiHm8Gmnl96Sx6iMhtL5T6q76eozKeo+OpW9S6vww2G+xJqhg4klPDV4Dh - 95Kn05RSKTwHwZLINBHE4iR6vwbsaYmmG0TQFEHVXr3dmM7M+rY9VYdi9FfmzXxj - wEgBI30vjvEO3nQiE2kZPiondcSYNufbwGnno/IQgTLQBMHUgzi1ZinbDnWs+qrm - uQ9c2kSW6xfldEVWL4WLVW/UEhpnC2+UFjJ6qSnEXjRZ4W6kGQkkJiDGLdC4YIDS - XgECyNzLptob8tbOnNyVbVq1nXmaD8EMWjeGTcEseXvo4KnJTrOLMDn1uM+uf7iX - vEo8lbyLoS3NfyFh+X/5E3P7mAexVVqDqXAKC/PveX9Wr66TxdBkzxWQd2jryzA= - =LtLz + hQIMA1Hthzn+T1OoAQ//XoEfVHGnqbqZbYHmOPpHpdmDvO4E4A9HVVGwlnKjuTj2 + DQB2naURGY2USL1TSQ4+jO5Bk98f2U4+NIJNNq5n/vF9Ukf8RT0QnfD7yBs5sCeB + XyDuM+EOYUANkJl0G2YmJayVi3LhNZczrPJTecXqSZHxKCxKow3bzzc0s0jbup6k + co/DuQxuRqENknJOGGEgMhVnlceceiGtuIEa+Z8f6hiCchh3hr2xvzncPQ/73fZz + Y8421wH6p40cB8a53QjmEFXkhmT1UfcB2zBKvz65BdENkXIYAYX5nNFiVkqG3cEV + GCbl4giZryEk2Uts4llHE6khcItGdtQ0YXxgNwGjoRm8w6X5WJqgRo2U6O7bxQhc + TzM8gKGefJiOYOzMxGfapXrukJhZe0XEw8YHsZHVd9V/zHICRHJIxYy5B/SRk+Ue + TwnKbsws7FzMGfavAwfiZZVa7INm9cCsgfLXIA6gxv1q9vyeWbGcqzISFCPm3ogU + ACK1DBPNNfUTKi64oDxUB0hRmWSLrc1+Ny9vz6CZp5ly8kfdIWPi5QAZggRMlxTf + ke45XyFfAu2BMTt0a9/sRWkcfrUt6afla047Y/bI1B/8p9tPOppjsDxHzQUmwMQx + 82NzxeAasblXEG6XAtelnjr6LgKmbuN3ylixHzzl4xkte98oyIcwfdbJ/tanchvS + XgHEjHXtiEMIUW07s2VC9Proer8kDtdofi+lSvJol/ag8bFz1m3G1qkFKgJdeNFJ + qKCrbSDV6Cm4XiS1tPUzl2LRlps6fKbSWqu5e5jIMcSVIWeVrUzcJEWIbAZiolE= + =Mv2j -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-02-18T08:33:54Z" + - created_at: "2026-03-05T19:17:58Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ/+L1Rw0d0epfl9boheE4j2RhqlHnJJHAgnBo2Q2VbBiZ9g - 40QQDuxmUNtMVm81bLFX2coFVBZtUQuxKieTh0Y6UkEg7sVajrE9+lrhGuF9w3O5 - 8OigyxDDvqMO+mgX2FZxGEsj+8+ODleZp3CbSHeG75/By8ncmXhGmHcS5jF5P8k+ - lQQ8hhMPfduu16jkQh8nMKHha36+D2pDtBzJOa7yKBMnlV6S+SMmJqYm2XPYRuQj - /raw/DC8VhCHH6SPsyt7zkSoCWTfYV526N1e2ygAZQQ99aYy5GtiPTBtjbZ2pQY/ - QicC1nxQLwy3b70ali+3O7F4lbM77g50Bd05zgJKrnf76KNGHLSRUyqSHaseeLOM - 4/7UOjgS+A2QDRRd4B3kmYSC7+TF0JSRB3qA92YM8s5yToRz1LhSrJpXcpYom9x9 - Xl1mZv8CruP+bMFqOozUdqpv145+Fxip/zFlNBZ/XuNioQI1WXz5nFd7jv8g16Hn - NrlIl/a9NHwEwDWwKnIHuUTUldU5gs3aVhmGmWEg/Tp30eXU4JQOgOeiFtzFHVDB - VLcB39+saR3EYedoKXbKx3A6NelTiFZUPIrTn3hmKFzvG2BvjiyhdvqgOImw430Q - TvHieQ1lXtkD4HN5OyukwOt6LvRCnkyYRYosXP0ZxktC18Hecbyl13jNvF5PRxTS - XgH4RBi+dyQV6qpnl9bWPQFLteVdy1Mfqnr0+nAiDKIFsHpveL+UO+gPYyhy+z9v - l16cxZB2/UsDtW66EQT7gEfhOecVJJmFYTWeejEewhoD2iIPEeQkhjKVZ3AIad8= - =krZk + hQIMA46L6MuPqfJqAQ/9Ejn4gTCYkqb22bPYxMGTCVNsVMT6/aaSsRO19ZPipH/S + oFSMA6c8RnLJwdCdjXHFO3sCgu4w/h0MFLASPdhRVpJqTSZ4NrHn1NJN3w3+4OhO + Rf6r0R5UfCmUmTDmy3I3o6GmnAlWSVWQ1O49+CDoXZcrOXB3X5C2HZvfzRpUSQUR + dprf9bKuVm8Nje3zNKh7lKNdQw9Y1Aw69IgPXuOvgqnTI59ihHZx8kw40ZSEYRyV + SCicYdnb8RAKzyoscKCttiVgMWB80DZi0RzILE8EbCZsKoOMlTqjguq3sTr1vfQA + R/RcaGUfX35ocVmNSCZa2/CxHJy29iVnsNTLNu3f4KwDYlaqob9eMtFjQIfBkE2U + aczx0VgUjiN8qAvsY/7CJ3pjjsQqO1+M0LRAVIoKmgrQy2Ez1/ctKmdE+NluRpxI + vHTv36VzU3zbao4O/jtKnGRvh9+nUuDG6EbOaxeBHpPxTRpG0fH1UtnQk41dcJff + 7wrQqTirH5Pe1snP437B3aJeIrBhCnBIz3TzlSDz2YLy9CjNkDwm6fj4p76fIobz + 6+9bKJxDz7DyTrJbpclVqZSnj+fvfRxcae8+/w2hvu9N/O+JEbNiR2VkIKRCeP5x + sVvq1hXNq4RPrP/S5RcgMFCIbobCJVebMjYY4aLWGcVgvaXmPGV0IjTqWX2cWlnS + XgFi3wp6FdpOGl/+9xD/ccIHoJsWxwN2Rl0K6dXCJ6WSqfpwuoQHKxYGxY2ZQEt9 + dpPS3gfomE3Zcdvha3DL1DT3WnKz6LkPxX2lXivpxByMuGuhTa6PUV5Sk8RWF4A= + =bUs4 -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-02-18T08:33:54Z" + - created_at: "2026-03-05T19:17:58Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdADA3Fn6UJo5Gv0UKOh0CMNTR8l7ulyF710naJAKvVhCMw - etYS+EYRNTKHZ11xNgsAj2ANdrmLc3EPSp/yxwIJA45nJmoRv6DmOG4EcWMFeRq1 - 0l4BsVZ2JVxZrgZndX1LICZsfB8+nK3s0F37DzPT3Uj8DXXwWJcfa9yVj5sq+QD9 - R7+bEeWviEmAispRzIk8JBbCWAix8Vh/K6OSVxTrTDT7Bd86db39rI7d059AhmAJ - =AHHl + hF4DQrf1tCqiJxoSAQdApKCCydvf9aamEJeHuIdVhhpDtrYZJ/4Y5zKY37ptmnIw + nuAs2s7ebWmNhgvDmDMZDzVcOjhA07A6e2yQD9/MXLiQCfofgy+rQWQg4vfV85Jb + 0l4BopjkuiMSu4yxkJLWL6k+pVhj07Ov305SPyWrpdhxT/bTzTeTzMbKvGPA0Yt2 + EebZVhOadGeB8+Oos6o3lJjOsVAPbFvrDTB3FefGTC6zg4g/8Fo6tXrX9mm0fbqk + =+Cbv -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-02-18T08:33:54Z" + - created_at: "2026-03-05T19:17:58Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAjkQ0i2xzpe1FyvzSTwVZ9hzM1A4RDRNoW2lCSCQWXXIw - 9QnbfYKGTQFHommGpe9WzBtv9sfIlwP22Cj/mamZ0WGehwaJclOhalEje5zUl2tG - 0lgBNZi3V3DwAHP65uVx5oVpJDYcwZgpoo+gK2mX/lqc20hxaPPp1uL50z+2K0XM - 85EL+6Cvav3muRoxCTBSzzZvctFDxiW7FV3UZQ4n8N5YgU9Wl1Eljh8U - =jmmx + hF4DzAGzViGx4qcSAQdAvu00DX6TGAldLVdAEobiGZtPtEIZ/mksIWYLcSvMF2Qw + b5aU5VAqVRqWkU1iIdzy0eCdeGTUYw+/Loo31FDj/1DMAPl4KS15bqcq3GI6a7az + 0lgBKHSJAqiqQXvyLaSPGhAZinGvaMi3BHejt1FdQJQMwbyYA6i7+VvVMTQyCprv + hYlyoHOzs+qbg/3nxPbRbn+UGb8WuAE4bxezCepE7iyMhVPosqz0XTnp + =rGmD -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-02-18T08:33:54Z" + - created_at: "2026-03-05T19:17:58Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ/9HcFMexxoeR1m6i48c9aStp1VGRqhUvKWBnUmDyfEMo/I - k1FFmXLe25lBYEsqPFGb3tidb6mOXfac8eQRJfVOaYfqbl8xT7e1awEGjIEZjevE - MTmKuzd9vVv90/Dt72jX926fHTHUxQmTxRBlHM0k6IOtSBnjK7ERFEB1ZG0fZIr7 - J1njkcwUzERom9QrcUifdMYznWo/MdUhzVsqLPLt/vnMHwC6AUIWjqona8FpkGXk - 89MMi/NfRnn7oSs8Q37xItPuXGDkD9vmtPrQJM2V9kSTKFYlT/wh+wM6LXbduoE0 - lF/fkl7tUqqudvSUw7gTviIaju6qGDOJdYgNl7WBTu1VdAT5zdDRwsRVPjI3TYYj - kxNOtR89+NfbxWQ3jVULl5JndpSKVV2zooAD5xh8InzxSPECynI0iB2u1Kx68q0G - bpYBoNLh0RbP+8DJmw1OqGZ/TUjWpMRLUM1m9+o3kyUiFoSui63E+dI8QkMyHVrP - 9nH1AsYWrAiTqmw4c3vOfe5ChYLAwW9BH5psPS8P5s3BMOuZ9A/O6X3bKUbaPpzI - eygc/QzmzvR4Pg/dF0b1X88ChbXHlj26itAf92h/NH0vt2YiMbYo7Wr4PtzzI8gY - BKYy/SZtvWkw2Y0b4/uaHwnbA4UOPGcqpwZpWUlPqMgwAflIPbsTuq89XEKqFnzU - aAEJAhAnPxAHinFuhh925qLw5k3Sci5FqvmzCUVVw/KN2sNmC2CKLB3DRJ3IxhtO - MzTftpMwl7pwncjDEaaAhvSm2MeOwgGZGEI+poNFT5IvSA6eaX22cpf2DPnOSxFE - mJX6rP32S8RO - =fqm/ + hQIMA2pVdGTIrZI+AQ/+NKJgxMNvqp6rZsOOroADrqmEkfgvK5x9ULtFWUaES3q6 + dSI/e6CTwdZtRqzchO/H6SL5Lr/E27xQXR0i5CB3ThlX7QrW8VZsNW0Q6N44pty+ + qitPY9FqKRusNPqHrSz13xBmYXMtMtSyEQxWzAIHtKbaqYBPpAbX8t5axz6IDtEu + lrsP2m2XGIiTM+8a4JFjKW4YZSPejU1zWfp0PHMEqJDs3+iuztvNG1//VzIP6KXE + ywnjiOfhfQRFubaRI8gCSq+nCkjvWR181LW2pJ9ganGJtkf4qIXpnrUnGuQ7W1Yc + xxTNFtkG4Xdc/WpX13j5tcZ1eETyNw2zmr472sqXHxHdRS6M3XA8TmvAckHG43CR + 4/pKuTErTUwuaVjU4GgIbegpQMIcKd2Xza0CFQpO2TTJfXa2RdsRCPKb85uOL0KG + TbQ6s7uLjpfQ7NSBG+ROjhfhvJBoIvlXKIZqaBnxY8t9TyFfDFQezPBi8se5CYtj + DIHU64R/u/Y9ZMkdWRoK78qYt84YV2bRVIFPmg91EMUBkUgy1EaY7o2ZJg0c9ItR + pSs7qlJ63WrQrZrpZt8dCz2ZWQCngMGAaz6W/cjzIZNiDCMLpOVL/2kQPjUFzdpy + 5JpRoyVW9ULcbLDPLCOAWBIQwTRHV4o4DW05EqxW/nrTa0gpr15k3SOt6GuWpsrS + XgH/0GPrQDUz6ojMYDsQEmtuYLPT4lDBRZK+fGzQ5PQg/dNQMTKSg40dBjGcwCS1 + 5Alz95N9bHIDun8CPGfzUpVCO4DHzMLTCVWAnC7tfUqEczFLK2GBzpWUaaqq0rc= + =M8S/ -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + - created_at: "2026-03-05T19:17:58Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DKKbvh61jX5USAQdADBgvxBFD5HPZrsJohKTA+S7g+AT/ZbJCsbwsSYUJdmsw + FtP71fKYk5H5iW0938L6bpTR2mWjG9AzTNEXxpkymkagmoTAUutC5Xh4+qVx6OCp + 0l4BgRYEm6hRR4q1DlzEzBCqrN2W81ZYjuRzrCMkNKhvmhWeqvYB366n3wZBIlsH + g5lNnMt8+hS0bAgrmrfsGH/QrhDC4vREmQJSDRVFmoq6ka6HLtxlQ4tR05d5p2cB + =1Eoe + -----END PGP MESSAGE----- + fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted version: 3.10.2 diff --git a/inventories/chaosknoten/host_vars/zammad.sops.yaml b/inventories/chaosknoten/host_vars/zammad.sops.yaml index c32045515a..aec95b69a8 100644 --- a/inventories/chaosknoten/host_vars/zammad.sops.yaml +++ b/inventories/chaosknoten/host_vars/zammad.sops.yaml @@ -5,204 +5,213 @@ sops: - recipient: age1sv7uhpnk9d3u3je9zzvlux0kd83f627aclpamnz2h3ksg599838qjgrvqs enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMbW1DSEtsWXpnbk01YVR1 - bTkvSTFRQm9RbFZYYlV2NnhlZkRGd3FSeFdBCk45czBIWjltUEN0dXpwTEVzQmpH - RXc2SStpUitENnM2TllNR1B2ZkpZNTgKLS0tIGZLTE4yRkdmdGliTTBEckZjcGVD - d3Uya3dFVlZiblF2UENIN20vQ3plK0UKy1i1Qg66U57mP826CAMQTnvY2cl0XbMV - 1ItkNYfW0Duug3GrD3PdYAoVNLKY+63VmBH/6T++jlu/WdKtYxxMRg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBnM1FCMmNRTW4wUVZNV3Bx + S2Z1SlNvMk0rZkUyd2hEQlhqWE1kQjc4NGdVCk1oaWYyRDJZS3BENmtEVm9oSDdC + QzZBR1RlWUpHOVdyRFJtZ0RHdlE3UTAKLS0tIG1pcCs5N0d0QmdYWWNRVWJCaTQ1 + a1dKNEJKT2pFUll5M1ZLdHdzUGhCdDgKstRcbgqIPcibYXvg8QoPisxoJatnUXPG + WAyOaJFjY3FjwZldIacUtlwa6a+RDQ83U0Finus8BIaedmd+/fx/5A== -----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: "2026-02-18T08:34:09Z" + - created_at: "2026-03-05T19:18:42Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//cgegs7OKbkoC1vYNMWidrqkHxt4c14KD9R9nN/+k1jL6 - dUPIAaIGawzwH0uohCptNjpzy14biPV3m9v2CnyYjC4soHukEtoTbs3np7gRXVbA - wyPp9sIkKfzffCykzY0f5DpTUQzuENVr6FXcpOCOqZuYmBhcp6QGiJnYReR+w8H8 - gapGJUhVZYfTOOrca+udaexpNBtH20JCc/yyp3U6r0VShUacUGEAfD12pOZuIc5w - 51iZBi2r0MpSEW6Cv6B4kPT0QtH4v6ISdQK+Z67MTeGWQHOKqfc+klh4mVLEaAxf - UqlALV27pGbyF54y4URqoXNQUbpdX4PHkBB3q6vrLK9NeoT7S8R9pUX47M4m+FN1 - xvkMoNse+TPPuZxZXEAd/9JnH0KiDWUxZGrWMF1waim4X/Y9jeo1YIxxN8ggYBsY - pN6NI4CIt2b/ehm+rsG69fdikMDvR9b5XPdi8viA4NAJwDU63h8kyk8zZu9IcE9u - xiy2FYPtSjQQZQvyFsZJfeF3/Pb17OCMVWy82GZ10WafePSK0m3dmD2aZo5uw9ik - AWHSRXVud96U/tDWtVVK6ctuxtKxgv02k7h9mznsCx/e1nnuE+fz2mkjCy9Tv7wj - 1AHI5wVvsPucqCo++HTQ2OLmJ0uf4x8y2bL51YLeQQ4gDBp/sdWVlmzGIpab7d7U - ZgEJAhCwoyj+XajP2AdgmN3JgT2JXrfq/mdSEZJmR2kNU6r+Oh4GkINkQNCK6bCb - MSdi0G/jBChOf+ehAvXFEz/Z8IR7KmEO/m7ujop6hD7eSEdtD4UMKaHNJubd+QKL - LxA42j/K4Q== - =Mc37 + hQIMAxK/JaB2/SdtAQ/+IRQ1BIhN23+oJOZdVKomp9YYMYtYD3WSB+6NxbEMTd4s + uqcC3xqGAyzZa3w5amAyejb5RsmMBk67AexrLsugYiNsqJtG+ngpxMBm2En2pvUR + 6kMhszOAwpESqk2NBTemZ3vx7f3Je+NNynPaClX4Wf6Psf5bDVYI9XFh49z1e7KT + arFb4yormCA6dpKSQtw806TPzQWJjcOABMDnE0J4viDsC1Ph8hsQFHQwhx6N8170 + NELVXO6kwFVDBgAw3efqmlV3sL15rzjFfJWJJoYA6bxmm5AwkAOwR9kZHnZS/xuq + eAw21iHlGa4CE93hb2FUzJPBRXFw41J1iF+n+KGL6g0tRuoUeWe9SYzBnX4B+6q0 + e2ic6aIKnBtNTploPeow3DYTIBj/DtFglYsRu6MPF1sDfjbH7Ducd6GX+NO++0ZT + cVzeRwrkERClCmjeY6v88aDJdxXVUx3vCx+eYVSPgDFnzlBa9o7oWbUahMw88umB + 5R4t1UACBayAvkihCZlc4blYLqFHhI47OACVvU15Y5XfinHZFp2HCIly6hth/nAm + MAv0Ri6dUZ6yszQ6CCWhguaHmO1rYd7SbrfjJUu0aqolp7UMrIwaFSIdfII429jD + W4quP2Oy136DEuZnJY5KNsdE3GbLQwJHlZYfmEOb7xYztiEuPUdzwD+qYfyCe7fS + XAG8u2rjpIWO795IBytO0jfe4SDPxrnrNF3ZKxZ4OdjlsQjfyuEu3H+C1hxK7gdg + zt2iErAs9HWXcen29W9BOgOFrTrsnhp6NQvsLOLfiF8rrI+8jowjwUc1yq5O + =twV0 -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-02-18T08:34:09Z" + - created_at: "2026-03-05T19:18:42Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf/Rl3TjbgLhEuKjClCIeLvF5sBJONqpmt88R7RlFVdumAi - 4CDjn9ZyLEF97vdoCtEcaa0Uo/LpP86BEvXIOg5OrVCXL0/E6ZqVRxOaGEjBKySr - z2jU87wI82tWAsRobNnufEUxGW+natr/pNsELnnXdY48eIsVwdOrfxsL+Dxo+O1H - m0FmPMIXs7Hd41zM0NoSx2n7TQfBfpfv4q7I0W0zzQa0bq2j29T1oh7KgWkdVZe3 - ZSQcSGug+R4+k8ema5mSTi/Acrjj2QH2YzYjlYsWfQYQIU3uTRG1md2UzD9iENS6 - mgqX0ZqDxfPJJB20Gk0YFQ2dtnqN6OdAdxFCJgLkYNJcAfR3IThwm9ypMYL5woCr - jzy3b5628Zc+hzZ//LWzyILVDTJ87jK7n/BMdzFWnMtFpccOe48ZHgFP7SEP78Ob - 8VGcrPOizVgggHgJemesRHQWbBC6Q779Dn6MrFU= - =3nSg + hQEMA1QflAioE8i3AQf/RVLgldmndorq8KeSsQQPGvAsUayjkAxEUTse9WpOOBsE + k4u1fee6ZLKCGJkUCiYfORzoIcYzpjqVnMh+atfZKyEF19/MCtKa0VcxEQECfqr/ + 4RUIKO6MGki9fqPxYn0CCfgjksAyRDf03KTMvX74A9tYffE7X7APcK8LvqwIrz7L + ru3a/aJ+HqOE3O8aMDLyDlYHFQZHfNcJx1GrUuiHo0LQr31dZDgnI4YgTyLSAcWS + asXjZlGWBQqxr0Rq+9bFRkSmizjq9GafksAPN2Wq53T+HrLMc/PFCdmHwI90SCp8 + cpt5Ld4xhP4v8ldY5mbTc0DEFB93u83LMQNts4wZPdJcAQXaT8yU1SKipEswArbq + 6LEOj4B24OPmDju1e90auCVc6Q4zOjvjQckmGBFgpVVppjo4jRVXHF31FrYom67l + oQNv70kw4diwSUu2BnNfWlrYV5DHylwfmSMrMEg= + =0g7m -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-02-18T08:34:09Z" + - created_at: "2026-03-05T19:18:42Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ//as+lWnLxdIbDa/u6jFsZKmjBBBravvYZ3HVUTTruV2GC - SSUrwn3uB9YxZJ7J0LkFaCe5HAxcsd93/+pbbO20A/cfCuCK61bJryOViRtNWsTZ - eYSd9alTEF9uff5J36wQbMSJRVcE3CR0tU+XkLQX9f9y3yq8VGWaNwhpSYzAcejT - VUF6hPkvmCSQ/IVTQFcnty7H2x1glz2kYUGLwb6w0qPBQ5VOw4DGHYWYtK2J+Kh6 - x9TqQjk+xm6kKRwRcREjL8JXHck0yHeDnn9LgwWSE5NpLofzf+vMCN3rIRCKPJWa - vFNyfPN9AUnOal5L3V5tYX9Mk2kE6q6f60wLohy9QuHoSGO451tx3bfO63JKfLc1 - dVF6q5g6bTgQDyoSizr6VbzugpH9MxeXoWjenxyu5Fh85coZrE+xeXNB6FBCsJ2A - LRh+8Dvw47BqUxA7UgVQ00FgnUGcJ7gn0cpKvLKanRgu+iCxT1EJYbcbkh3UpPSV - wLFzv736TZWXrDvCD/yFDf65qXR6Uav4jFN1NhBZxwTIm39ClQ5k9r8BDkbvAesi - H/2586rnK+EJsvvXdigzJ87PrnXzs6abx1r1GUYE+aNbWi1x4mrP0vmAzxkglMTc - HIKk7WeOStHLY45oigFFrUdHels2SDnTk/wpPPjsjiHNPNSY4iUQvsc2hB71ZR3S - XAEmNJkaLMqZG9tCDaNSzci3wFX4c/G8KOix6mvc4qPs6QYNCHVV0CKeWTWyEBbo - rWCb1GnHqvtVYV2aDLBwnAg5JYuHFgUyXnwnOpW7j5S/gazP3gIemq9OtZhL - =K9YN + hQIMAz5uSgHG2iMJARAA7HNBSy2s4wO+M+9nPtX6Jbl5urD71ZiUR9P0OmTb0tio + fFnvVG6PDbWeB+itZkCkFgKFuNT89Rd7C+P+dBdF0G1UYzwGBrYETJ9tuJv4NoUZ + aaC7cez/rd35wH2GLYYUZbW9pz4aXHU9FaIGyGEe092bIkQEli5+9gRPoN7kWsai + r8tk+rygRCXJ4dKZuVPRLYLND9HZAeSHEXXInrwru15E1k7m5s9TmjC9yhxI/5Fz + EpM1oyAIfQFqYt3iSujBgZNKq32rpktfPGy0MpwpZNSGLjwo4LfIUIIbgwDdDgQ2 + qJIU+W86WXBtlfgjge/5dmQ3JQ3+y8oMR34ZpHkBA7NCQ63kTzQ/0sLVg2VIUuRS + ZDzvsXFCWmbGraiBwNQrqddB2GKmgbWGN6u3ov6RcfF6voKmS851yEfpCbdjOqDC + rPpIMQl7Uf2JVwEdiXQSAVvehZ3uguusKMKKLQbNDQ4lfmuhiGfCRXHX270eeyct + M1RcnnpXI5ZwYWZZ30FdaFQDSBZhz9+yBepcmMDNACTMJzfuBOqI7AqR76pfBl2/ + 6JsgsP/fAANe4UIPGEk4wD3fzedvDUEiU9cg2RHpsAzP6UZrD39d693fnrcrvCuD + 9Gjr/uxjJGnPxnvbUYjCEYQefuHyd3JKG4AgKxeHw8as9cwvyHatL6QtrvptlxjS + XAFQh2Vmgafua763uRzXJcc2yfozRgH3De4qjOWkjaCzkCdnhbGY+iUE3DhkA61x + WAPtDDr4DwyxqKMVtqnTF7r91sNON1L4x6adWMkQlAQ/+FZ6tHRoy8KUnYz0 + =6FmT -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-02-18T08:34:09Z" + - created_at: "2026-03-05T19:18:42Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ/9FXM5WDh3GCo3TABfpYsaceZuM3Q4tNZd8b6MDfWrSm30 - cn9icry354D2Kgdm0gr9ld6ahUZHHSOAlZoc9uGwR9Z091O9PRqWBZ+CrAtYJkQO - ywpZgD7uuuiJ1aWr8kDsYyFEj/zo9QSPiOlWXffWUeoiyYW5tqug6yxDpFZXSN7A - 2+fUW7aU+Aj+26HygAa+aReoImQwjIdFrYPOdrNCiJKk01xSwwt0ipePxR3nSSbv - /0cpEx1wIe2ZqXuN7IYNUaH/qw6dqcbFTke46OHLchbljulqZgOkTNqwRCP76KpT - 4KXj6ryRRbuHlEX7RkBLo8VZFqcwUQuBIAl62SGUa+lnAJtBpImh88vVnpI6GWcW - 3rni5m5F+BZpB5l0Hh0HzpcyRrJyy8PnU/sAxJ47qJJzlgbIEoG8lFZMkWZdyDdV - N/Sl7vIekBclK5vbo/8odJ6FqMaqDGDcYtjIWVZOyB5pYNyCiwHh0IaVWJbvYMU/ - B3bTEuVvuhL4K2AZPLhPAIa32+k4olXYdOwAU9oHBCUWy17MJpumt5ortHvPwhK9 - ys5IRUi+IIu06ALX7+WdkZVZZrfs06CN0Xfp24orZASZ8m4HGQLluJQIkXU0X3LA - cXrdKFanRV3oT5PtAsvEe4nXmjz7vZVbZX4wdiPrnHnvmUKpHV6acCAEWV/VSV/S - XAHdRitzmgGoh37oNHrgWmfgZ0b4bcxw8g1vqJ3q8e24MCuP6XHsFTDuDfU8hVv1 - IkV07rRZS04v2SVQA/hVN4Oz1J0LVjrJuFuMQFq2oaZmO6tk4AmrH67U4gw5 - =bCEl + hQIMAw5vwmoEJHQ1AQ/9GWht1c+mn7HTtwFD1408YQcqkRJMKgQIvisrwab75IWl + 5M1XlnvLWJ+ubNNx66iFtLZyRzBD73SfobrwuPxkQHeOvdoUtMSfM2We2eoel9cL + 3UENtjqobFoz9+XI4Z41/J0T+xHUqzTGnIpsPagDvgRLcl3YaG1Db0WDbvFaA3by + kwe7TNhXi3Xl1cqW8pVlB7Sfbw6ca/NLq5ceQbDSR8pSToP+cZEjAGaA5/+XaJfA + 8gek3iorkT5Cmkgi90lK1wrGsg/FLX/xmUZFQaaSAWh9byYmDrGtt5i5jlU7sKhV + Bj6j9d3jCixEB0B0fa0Z3n5FrTTkjLA6zsKvHtU1KF1rcs88kbe966ZiNdgZSZFJ + yOqj5TXryvYgGTPODfqMwM1me4+XVALlas+TR5gdUOJ0lQs3oM0XZq842VREDCpf + yN3yK05zqTpLVf05+g0E7uqJFgUQm0bIURw75OYMESx3EfC1LKIb4EIden4Srzar + JdlPfjAPFm7gwZkPzxao0O+FADLN1JuJjQcLT04Vg7j77lGBspDXD4wPjiZawQsa + HXeJOblQV/Kfxpx0meN2ZVYHleK7+fAC0TzhLB+gpzcRf+vlvHerZxRUcwJKlzfS + wjorFYcqz3uYGKFjWLAstIZP3fewhYpNLyBSwf8x0HjRn0+g6Cn05lleRiFeCEHS + XAExt14BEMIboAgIVssaOmwCU4BhdGDSinS/zfXfaXQtzo3wLAS14sPzcDAREb8B + zfKeeiW/o2cIA9+s6SsOzBsGqqQnlyz2DtuWpYWuWEQ1AwL0ONfAhXhHsqzS + =797j -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-02-18T08:34:09Z" + - created_at: "2026-03-05T19:18:42Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAbPGrjBfKzvjQf9Yz3EDsP8gzKnX/mggmKNds6HDK0SMw - ewuTLdstCUJvvkqj5H1B9TpK9ewyxLHFuaRrvveGr3obHChoXM1QLJkHTrX88ynK - 0lwBtynSHizSNMzzt1SFvVNtUZ9x4IdWOBiB+Gz9hRzCRz+Odr765HGJTlKfRTc/ - ErdQr9LimP/I5kkBbHLU0CeaAY2P0bkVeyZrbTlqpMiwtkrSBO6TSHFHPwb/gw== - =0BVO + hF4DerEtaFuTeewSAQdAlOusbtucDpj65BioOXpcBPGCs48XCkvOWtEHNb9SVE0w + PaBtelaWfFxOIheeEyzdgHI7UOfX67hTZnCXHM8nkoyQyj/q3k2Okz3DuNwTN3eO + 0lwBFBNCstD8muzNN1sneYwKEi5OYFODEAVZPLYI3Hqqla2odibOsPZbYTxELBQN + EOfIU5lQhuyw/QltnIp0Fyj8ePIMgJ84hNJ7z3kT9R6NgiDkiKyu1tdzmNjGFA== + =g1oc -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-02-18T08:34:09Z" + - created_at: "2026-03-05T19:18:42Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fARAAkNm0w+6eq0N0N/ta4MhlFCx3xeAGVpjAQK1WaWlI6KW5 - PN4ys1uGC1+f1aZUgJeqz8+wEbKnAs5FYZVndsPrpwHp7Squ++2NImX4rOSNIoUy - 7N6dtrLOFMZuavA7x279113IO4AlU7SrHCGZigXHa4T3afqA56dMMQpIZZlKzPkJ - 1I4DIkRQz5UnGnETNT0+KEgzukfiFcFm3u9tYZO9vGh+c1Wj23tzVi0tby5HW3pj - /negEOcTn9D9ynyD6ly3tUkpXY9kJ/Yho75/Mhy83EBDWTVRenZ0Z+xZyTDQcRIC - m79zh3gXIIhlSf0VUQx7qyl3GtiGH9ZKyi1cMP64+w5ef3C4ZTpWMd9AI8CJAru/ - a5VifXEpLgspQWp5cpXwpvfnWiO1hqXTqfOPtDzW6PswNLN7HJX051xJf6W30MdR - XD/k1nY73+d38/3Hkplh3028P5j81DLxIdNLwEtcZozczJyktrFS/kgpNDgMSoZu - tcypTmNG2D2XiXJ5pL/aJrt6a0hdiPjfhdKlIeN4zVgzgmUOAay8zfn1vStqE0WD - Cf7K3ukceQZi1SpYPmvDaiYHDzLHbzFSAqRrFTf2ThszdTrsXHVfgjEBt/nqOxMw - hfqe8YpZvUsCqDFg3JHM012yp9HkFFgWMvnAx7FQPZpMXRPoWyhSeg1/m+cLd+jS - XAGOvI7Y2bfuIAdvOHQRB4fQG6lkvYx7fw32woIg8uTtKPOF8XvYtHRfgMU8kAmw - hyKRQD5CawZ28HR5PVwdSPbhY/bu7VZhsjXw67xrjjyu4vwvv898mFO/ibv9 - =tCdS + hQIMAxjNhCKPP69fAQ/9E1GBu8xzxPVYq+eGzF7bdV3hYI67pcESdXQVsNtRkLUV + p+dYltU+XKIzQXRSTlWQ4Ucapl1Yoq/K+ucdiDSAUQ4WeVxv9mdSxsEVtxRPnu/4 + xXFlHziENk+6uMcNIQrSZrTdwL3Uzk2zdKAAGpu6nfK6LoQQ8n/h8Vonnzy52gIO + 3BSWH5Tki/N+clSLRN4zoxuf2yrxU2Rl3ARdC88gRzH+K0FmzVQGTLG93sEpB7kp + IHHzotTwWI7VxZCbjkotUXqBcAW654axiPy9AM5yNQTeInUoAApZi9lDcZqEkldN + CGFiQoSydWcmC3SGKRMqBeYPWIHf/+ymcQxK/tZMFsHUOymqU8WlYISWRNhJePPD + ew15097QjD9bB7uyFmOCQix2ic+XJis9Lg7po/BJ+znCazz64Dmv3J1KBvPp5ucH + Dmfcn/AG6esMIevspp9SyMCkPC6UjudLltFek/H53he+00owSgyUlfc5eEpISRDD + +JHxYnGakQCZZ0jilen0MN2jFM+6ICIW/BP95aJ2qRw7ltZQjZW1x4JrZRN+FoyD + RYNMSMDezYiSN/VEdA27tuppu/Rb0rU/K6Cwz3fRt/YC+P4uiFiLipsJ74BcbEgR + PfCMRFx8vOA56dHsHeU+WOIH50S/1/easekia5TQklBOOWdK6DB3Li4u1oZ8G1TS + XAF2lZpOkZTpbIhWjV3r83erA2P6VWvnt4EsjHhxXdi3rT41pNv5qOkPhFVM0SsC + Hs8bgCgYuNQDcfNAwO5d8LVuRxOUrf9jnzGd6lLl7taT2z5QbiVh7oaT7iqI + =HkKx -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-02-18T08:34:09Z" + - created_at: "2026-03-05T19:18:42Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ/8CxT6Gy7QLCAu3A+42G75OSSmcJWzpPVqdMolaxORjIBf - i3tEva2AML9z4p5TGC/bYZBrnOwO3jC4/ABOg3AMLCP58fScUrBEELoZk2N8FAAQ - vOEXQdBgXrSsObPYlVMlEM2N74jSZxfWpss+KEhSU/ngXbsh7OJZ5R/YBejgbdZY - T4vFAoRwRQpv3DK1kUMWFuGPq3f7fuyYt1OHY0dipVZKZ/TUBsmToUgnJ9MDsHI1 - 0FJ8WiHaDOcW3w9lJShavYozw6QYZhEuRwfOn5F+fggmZlIi/NJUNDmz1E0kXueK - AHqHM5i0X9g4lRX4kyoB6+d7n5N7wPv9Kz2+/wfIbV9XP3hkCRpXdqDvOGaN8rOF - T8EGekLV/8pIDfSNOOc4HAiJzanbnrNTR24i9/lg6fG2L110WarIs4J7ZaID1Hak - g6QqOb5xOQyePswL0aj3Q6L+wSL7cFUHwSDx02CpByzYphMCRobtHqvxK+Gt160n - Z2HGaM8Bw4rXycMsCunUFn3OHduD+ckSVuJfJ+mZLH8I66Xim5kRb0b/zwzXtXNn - 0molzPQxyZMvD1xKbSpjOfhbpgmkwy+ZxmCM9mMQw7oKPQJl6B1M9/41SKtLMLRb - KMMFZVOG87U0IRiIzy8KpXgaMZHCKa6cQocjRsdMLi7YxjND6RYHnIk37MHq0QPS - XAGz9Opw7xUiYoZGTzqsLdN9kDDbsc5uAXP5sJ1ZHW8QUKppneh2ayL7kfzZs3NH - 6SpCPOU/E/xc/LDXFpk8T+MBmG7Rh89sjrzQqX2otItXSQ9rfC6m4bWnRZjk - =09b2 + hQIMA1Hthzn+T1OoAQ//QYbwswRKsQqnzHiUXc7N46V40DatTuwXF/VSITt7O3kx + PDjZNR9n8UBxJKsOZ3aYdJjfvEp6IpxhlKoAz+sX+a57MmaMjbhpIU5R+IP5NMfH + 8NyOPKsRj7+IzAnFar+/bnAjKtYD4He8Cc9XDl9/kZNkptB/khjv/9ULXseOUzlS + qkizaQlDGcVBrCJHM0B46lrNBn9J4WqzY9KMXVAyQICgf/4qpnu0QUulhElD3bSq + 2KSoLVRExkmMueGlzDAZfvKu6VNWd3CK72hkYdaqQa0Abl2cXWUi7jKjTaOI23IW + KNd1ne95syTWuY7mQATDxnlqmialh7kl/LIwc3TeVp0kG9iEUvS5gEJuzDAYgQV4 + RwfRgTPmkc9SVCA7VAzE9QgE1izhVq6H9oAcHEBo/ON2cCDWsbrQDOj8BjgZTTCv + douK0sDYmSLikHMk00bELJ1C9OFj58oTNoWxSZkywmbXYFSXb/tfCD2I2FGJKthx + kPIKpS6CQdbfOIOs46RaVE6ZmysB3D3XUYdBE6TnCxnArUmzoOpD6f6s6NYs7eO4 + GBZEaWij3pHCxa3Yz06ZpwfRHRkvxmwu6rPdO/kLKrBrhQ+8G+hT/QCrNreUc5qm + LGXA0vkW8imt3RMNDMmXl0NqgLRC9CEq3aPepxyVB9TugBqhpjW1qP/jpa0lDhLS + XAFgSTHr4by33cfOn0LiYQS7k2uNzME9S9cNUbJixn98MJUYKZLfs2YQTk0X+8lL + GbkuaxHPWFuqfTNPtKE6XHv33qR8966+MNQRcKUG1dYSOSzOY71cHCIftg7U + =EPZy -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-02-18T08:34:09Z" + - created_at: "2026-03-05T19:18:42Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ/+MPK7QpeKJjLB/F7szbqtTiAdb3quDQ87Br30c82SQ4ir - 5n7k0xoDou97m1ZGxZ3DOo05ncTC/9FaUHVcLLeXD7WAyDg6ZyDxtPiA5/G6YNU+ - 3h6xj6Rh1wk+oB3QEubU/kAqQGh4STlel9+H4lfzAlg1UcyYQcK2Tits3ZUNFDfx - wC/N7Tlcxiqo2QXR/Rm9dQkZXnD881yaP5EEmeNQDSolW3iOrJRnpf9o3Dua9OSr - ZXi5TiHJNfmIckji4H8tWkH8TN46cQzr/sor1jo6SWKzgUl6mg3TpOz2ByvtYBEx - glSVmxMfcIxTLx+oSHN7FKrySW3Q/XawJnzkwcvOsvGUpdjhReOPkRxaiWlEF7Xk - lIVKLfzXQJZUtvbtCTvtgar6/f+Xon7YWY71ueG/hgLQmN4EaCTfCxhtT9R5+M5i - 9d1hUKRzAFHkx6cWRsvV9fjxac5hEcERKBjeWkpDEGa5x4v9ZonMklqkV0HdHuCS - SprCxxjkrUfGkf4BIIONsdv35nCUTB2GBGoP4lXEf/AjcqqXcIiQnuJwz3BSFbma - 7gKcobxk3w8fyL8HVCfctftq9iLa1oga0CmN37OYAr9oPiPhbHWhYij2rWfz8p0M - Qozv1vXsOvvjRJNFqFXBpb6/1J1g+WapcbPIEVEF4jlj178NtM7jU3LOjinqOeDS - XAHtifNTNJna5vDZ45CTlyE/ry6jHzB5CSaT0Z9r4wn1NFW2M9S7ehidzjfFt71D - 6tGRv9AEmm6/4giezGspNCtBJkzH99ybK4HkjJOnH6uPVTtXYhu4CqhOBIbw - =TJ+6 + hQIMA46L6MuPqfJqARAAsaKXW+pvpC5h/fkHlMIHUh6whuJuXfWlUfUpbdooNU5n + ErHJ5TQkCKuoHSHqJFteWMMckB07JPRHD/fRziR8A3wwZAczzImZ2ef5TLwOsSgE + O+l957+16JP6TsnRZTemvIzw11vAfnzTNybx4f33aQzWwuJSgudbPv6GEH6GP9N8 + /6cGaU6zQlw4sx27DIddccMyj9r10dEift7N5WRgtIoKEAA+YBxlo7cy/Np4qrfA + BzsPfK9XvzZEHi1aQZNb9C1pzCpf7RfGZaj34+ltos1vCUEWTzq2499+VW5SXXdg + pPShxGvnNfzz37cD9V4MTsQS2AjjYr8EtKLtfhwtooWfYhRzYrlTxm5ETDOshtU/ + GAKWAc/su0mYZLCwi7BZARyX0nHTJxOrQ7/VQ7eCenmd2AeK9hs0w4k1GzXAhS82 + fFYNzY5aX/E3mtWnMwwfN0W/A0TgoWMMd6kabtd/wsUYyx2JLusMq85XNgiFryRi + ZxpbK7iFj+a6000EaZbMZX2yL4IfAYo2Ew6ZiupAvx/SP4qSGrHDc4g+CeMPBDqN + Erxda/N3rGP6eHxFLNVk1jl9xheqd3ILwhAi0cH5agc983yKUbxxGAL80QrLWCnk + +7Fg3VZlJaZS7N4wuqpds1pbSLh3Qq+dyoJ53leFuNdQ2H7y1xC4IUal7cvxrerS + XAGHWTIasgKWbCBVUikvAZu7DCYMbUwouK+Srdz5FCe3ZFwbvYJvtymBSB8ko7Pr + P+Y92PJoaX+cF79XF6a2qiqWFu5ieoUfvdfkMsWIiIWkfAsowkQLDxAmi68q + =zeV/ -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-02-18T08:34:09Z" + - created_at: "2026-03-05T19:18:42Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdA4HuGXcSLrKiKBPSMPtBjX/yQB8XE3RBpdnd5CrymGgQw - 2D3t3b/R0SHhTq+GVHH75OVET/cwxJTPKtEDnpRwwuLjrncGgCvVRXlRqqUNv39Z - 0lwB7zHilxD+iFaOdsTB7JpS/PprsCRHfkB3JC/H74EkGBrnJBtkwr4FgxvtA6oA - 1ay1/gfcRVs6XtkPKs8HMop8BdxcMtRD8e4ZzSTQr1Hfb5+Lo8lN0j4YAT71sA== - =36CE + hF4DQrf1tCqiJxoSAQdAHQYaHA/5uKJS/HAZxPWjyNTZ6ddIqbwarI//nE6DUD4w + wep8nyQlOjh6q9+mcVqoVQfG0wogJVj08drNFin6NMZWakDT8hhsImldLHcuHtso + 0lwBzDrNBg/S2DsMG57L+zzotv4tynePEewtS0dZZKv6iz5SAnvGHQY0cmDrNCHq + cRPcFeAgKSO/YBi6nvXIRx52WCt0SD0Xm0B1keTswIkkIPWZSQ9CEQkD+t5Q1w== + =uBw7 -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-02-18T08:34:09Z" + - created_at: "2026-03-05T19:18:42Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAQwOAC2fMC8OQiGsPbKkvEbQMWgpjWC1L7FH5duQsE2ww - UpXomWNLPmAmhdoFg67UFQFTQqV5aZN44wNIJ00PdwPDvUgGFv7CKm0syD2wAatL - 0lYBg9YQfy+FPFKBSY0FYUVvdlrSpIQwq2V4d0IkL/UXpyWy08bdT7YmOAVi8/m5 - y0VDsTGf1QItnK+g0YYqazrN1FCh8NrTqeK1J8/jj7QCO2IoyghWnQ== - =NutA + hF4DzAGzViGx4qcSAQdAIpb2fnFlsM3Z3HA70kF5i6iWOZiWsE7A5ar4WbM74m0w + hlqtDB9Rl25DArUzMw6gnZrt1SMlrErZia47n2SaYakoY7pKdHNYf1tZoscbDyqP + 0lYBv2rDSW9rwGfB34w5AAuXec1e5nx6NcUKDoDI303CBRA4qqtXsP6Wun8OkBJ7 + N9JxehItzL79dp48x+qHRwUlReKyvvTJOs/Fg5TZsHqEowb6sS9v/Q== + =XewJ -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-02-18T08:34:09Z" + - created_at: "2026-03-05T19:18:42Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//aOZg2BScUzJF4RVtqvusrr93Y6iZjD225rA/7yqE973j - jOHf6wl6MAGQPG1dMWSVjWlALNgNtaH2VaNQfCgSC6T5AOJWx2ibdGs1Ih0jj4jR - 05+ZikU5RKTmFfS8zJOkGEn/Bg9pX0Faf+4FAzCrXoHo58QihXyUNF/i/FI3btve - 9Gr8/+H/xPOWhca8qaJmp1D+uJrv4yEHGA0MtAK/fr7Jem6DyDk2370GG0z4M38g - 1SzaHQaqNX3r+M5CwbMy/+KFSDOi8yngpSVuM6yNQdbo5mMwrDAJs8cr4Z0Dvny0 - Pkbqa00/ZF8J9Q9LMutjx9OmSr9BT1dlY3VuuIavdTk9H/hrvbsx1yfXT3sgmyEY - bHAjaL0C3ksJgvSYveEWMXmnpOwX6iThCggpQVbToFtfuQ4hj7rGxytF82NwdCO4 - cha8mcZial2njt6NoyNIu5Z/R/2CcLYxItU0tSyMSD928ehC/JTcjjTixfgMZlbM - LDCWbDDc1MSR1cFE+dyfrM1EWbeacmZ9oegbV6jOV1I7Ag0LvlelRLbZZ8LB0PnP - 52s7Enl/53CTMQ9aqvxdJvj29zZXRkIlWQKXQAB+rJzJdb8qyb/UNqZ8vFXWUP6w - oSdSfaLgmqYcyT04+tAEc+UfKC5zwEmzNxPV9X+rw7hpqsCCzvqG2uwy9uIl3X7U - ZgEJAhCaZUhTMZSqAZTGtQ7/RjTjFxr0qWsu6AhcOBo6cVBiPSN/L45wsDlzbf5b - dObxPJ+MYgSD6a+vm1AqLsW43krgBaM2YL5+MSrqvSG9czJfX2H1TX1w2+i1Qt+6 - ZmKlps/s/w== - =tFBb + hQIMA2pVdGTIrZI+ARAAx+MrIe1xnrHzlk22cvJ8lY+Q0Ose5vF0XOsvDctI9F0p + mhLKhP4pUNa6TKV5xyo3t20kdM9Sxt4Wl5rZ1ptkdLKy0fGEbWvYGaGeguQGnvpz + q+2UyDa9j/RWcjhbnOzeWZAcw+mhHAPKLnv7fb0kujq9wUgdDIIH4vlb5fEUfISe + xeTFeKOFSD20TFOyN86p6BNJmO9vEsu+/R4DUJjf8m90N6rrTq1AfS/XXTz6zbLX + icWtiMf/MEUEoAAwhY0mZpGjYDYWXRKrjbDX4oha/kcxGCEc3Y9NCcGQtj8pHOZs + mkd0MpyojmuiGQPmB2EMJb5leLFDt4G52H2zqngzKYjKnPQzXXAV/bYyy9Fws2i/ + th56t0O+KVyYpPvtRbC425hzKWXv7RGXuEv2U37eJyaYjQrbKnuFyvghQTgGHck3 + LNXs3ETnveMAfZ+79Uz/bnhYl4F7NYrhDqlHtpeEHVWNmXWzMKdR8yw4Z5nNZdk4 + XQwfpCvNMmrSxp+Vkl9dpnT7Cc8j4k6gslV1Qenb8WvsO3G0jxmuV+ZoXr1vkuUZ + x2s3qVQQehj+mAH0YG1UclxWxZT/dtOMRpF0eesmkDGCNkYN1nCjAKAlCkXTYLRV + xNKomeVO+VvknH5MbYuIZEy8TFEnNyw3ARnBvagc5JudosgqIsNIBM4tgw2FSK3S + XAHXp3nX6xrVDfL8pOqI6zDCQT3oxmlKu4jFh3MMZgVE28bq8E9xFa6AhPN9//Z1 + 4rX5uYQqUVy0J+rTKwBUsjdMP1FpasWGxJX+XxKuCSB6Lg+X182XiBizy97d + =5DpV -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + - created_at: "2026-03-05T19:18:42Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DKKbvh61jX5USAQdAL9lQl8vM6QP5zxu+zaJ5ZBhmOJY3DvWstqsq6v8QzgQw + ELm5+S3NgrkYvef8AA2gespe7TGAKYrpXVB68HgmwGUIVM2Bo2D5EHgotT6HnWkI + 0lwBSygTzltiUigL3PK0X2KBJOYus5i4jcIdHsiq51+JqrhXiv7Exu5i5JDzgDuz + BOumuF/IQfX4BGYpTjD4SfFzC1ofT+qTTf+O+og/d6aGQQ4rf29P16m9urXzgQ== + =zkQB + -----END PGP MESSAGE----- + fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted version: 3.11.0 diff --git a/inventories/external/group_vars/all.sops.yaml b/inventories/external/group_vars/all.sops.yaml index 9eb7caf480..20f6435669 100644 --- a/inventories/external/group_vars/all.sops.yaml +++ b/inventories/external/group_vars/all.sops.yaml @@ -4,204 +4,213 @@ sops: - recipient: age1p546j6whqsyfkjuf674lawrnk2ex653fuvwhcwt46gkrspkq59sqzm5y87 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxRit0U2VqSy9kU3VEaStN - MllZREh1Zll0M3J5RG1TK0pxREpCaUF6S1ZrClUvWS9BZTF5WDBVakIrdUt3eDN1 - Y2VuYUZLTG12QmNYVUg4SndwcGhZdHMKLS0tIE5TREVIUERlbnFYV0w2THZ6QXNh - d2crdDNKWFRqNzZUZlBBa2VBQ0R4WGcKGCUyPmNYuJwdPIiVGhGtmDHZ0u/dbNcy - 1fv7yP1zUKGBLphepvfxkvCWNEMhvDoOVaiemovCyH+SpIdfRhVHIQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3WDY2azdEN09VRUFkb2pD + a05zMjhodGgwd1MxdHZYb0pYZEJTaEcrUXo0CnkrVmw3VGZ2SFZydVJvNmdteGhz + b1ovcmtxVFNvVTZ6eGptQ3pxWEQzR3MKLS0tIG95K1ovdmwwRTJaVkpIYk5hdUxF + VGEzc1hRMElCTFZOSW4wM0gxbWxZWG8KwwtPXOULQ9VGJfPKUePkTHrAOpQ0345s + G4KuTLj5rZtFoEHgeyfkN3SJ2H6DRIAIsBlCOyKr6XzEtl4GZJl6Yg== -----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-02-18T08:35:44Z" + - created_at: "2026-03-05T19:17:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/+KrFz07DQyoWeEZEIhXgh/uyukCtbRbXMZidkhdBc6Y/6 - pqipiQBrRpJYUM2YZTU87xjO3F6fkwXx9gwguek+RfFA+IR/LQPRRr2HvCxDWyZy - 9R29FjUwEdH6FJ8/WQhd3YOMeMPqG0UohPXNj6gk3QBVinSzJ8HWkZI20tHzLnwy - WIGt4KdvXjZbo76QwHq8QU/2U80MrIQeZTQuFPKi56xjALsV9N5vTZGiMSnYBBnY - qIT1Dn2UkmBmFmerGuRxXEVZTFoVzDkv8kuyoKgwar+CFGSjEs0BWixrFVbKP5Uy - lpyZjnGqPsCtNAsGhTbsxowuPXF0kUj9Z0w/UFEkRcZ1JUVcWUXN2J2IDFfuWmHf - bbuQaY0UwfukZIqTWoyMAKFgZ56bvwq9EgkppuLxQUAGW5CIywIP3k6Dlq9oW0Qq - 8o8u2yOLt6jWLH23Kgo7JbJJboJfuEXfnkZdfZJKhGk6MRThg6yhjrvZMmovqKdS - RcRunFzl4KEKudPJPO6705FBSX/GgsNxvhncV8jHW/5xf5NLiOmGORCStnqA/fZK - JhnGAiXk4lgk1jGvTmgqUDEazMRWrepID42XqPpKyNMOeaNhl5cQjA4fkyXORU+/ - X1m5GndiUhi8wXji5SFKuSqKWOyTsh+ahN/7Ytxtku+UAL+okeE8xEhB2jQGQ2LU - ZgEJAhCm3Wsf1zAxRM8fzSFz/BXx1rJefhcCj5+l9UEKdYdvnCFfi0NfywGc9pzH - ht9NPrvOT3aRabN9amCn3IyzpePBlIJCJmSYDHpMRo87Et0VRU7TBx5B+yyaiqPa - jq6KieDv+Q== - =IDP3 + hQIMAxK/JaB2/SdtARAAlxz8dQOYkVXRtpRgB+mCPnGWiwloTgfjZaL8+Ud4GZUv + r9qVuljll3oWfmEl6FN9yDMwdjZhuW6SsYOPKOoKY3Fu+Ku2mQ649k8JKUFL643j + Z4Oabh7eRGxUri1EVX1J4MZViEOHRUqCs6qPxb9HP5LLVW5+1ZWYaKHqutzHZ8JD + wuRRtWRUkKm2mYkbiy1d4bSsgAhXQOBZz/AR+NOYQq6j814xA2wEd0PqZHFWGuan + bSolxtvqw+ifOAgTjI7ux9mxWJq2I/047O7iu9OEtDBDK5SHoVwCFCgR4WrVS/MF + NYrQ3nVLHG6YbPL2rPYtXyqNfQWBiYLG9uimkCPHvureO3aWLNsePxb3r4GnZcBL + nSSXKhZQKrKSdJywGzFU6TDgodi3UTaHG26l+Y+wrgDWer8aw/fW3QDoQRTy4osg + 8s3wcngeObL5NDE+CaZ2opUVc01yOw+Ta4Vq6Q2bC+r9yfZZlAz5YXGtyeYkHN/I + qfopXTsXDp0gymg3Mz62fVzOavveFAJx69JRqeAlkzIWfxjY7QzGEDtbuZjD48D5 + H5JzLV0JcBIysQlEufQ94abVSo4d3/w8Avt4vSoB/FZOC5HpPUTDI625ogInQH1p + BItUrzrWsNayxjRgpO7YramA4GvuyWmIBvq6MFXSB6uLbm69N9ZMNTyuaGl5TtjS + XAF8cyT3nmJNCWFybdHxvqBg0/IvI8qRX23laiNcxVYlvM0aX1UwwGNAkuJom+5F + fd4wSoURzmF4KEX4oKFPcieAWuASLIO7e+bgPV/rFLycBhjlSk1oj5JwS9aG + =pJp9 -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-02-18T08:35:44Z" + - created_at: "2026-03-05T19:17:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf+PlcPqlvY/dGnHcqOoERtx79CdJucln0nBccf/afeUl9c - KNfFD8CpM8JxUx86yiZVqjpuVfEO5j539bO6us0ZL9tTJsamcwhlO/PZJRPv3BBC - cFJpANWB/e8Tt60mCP+XVgeW59UUdHQ75w1J3MjA7HMv1cQBGHzJWb2aIDdQl9X8 - QNxxUkXlDNz/DC8NwO82Owz6KsEqYngmMX9Qrj33ijEfHlqsJc/MuCGaTHPwE2el - t5lP4U6x8uqIdBTeCml+FkufqfqnO2+7rPbzRh7jQoIk0cCgoXEMjWMoAlTIlBym - mgiWKJt30vGVnsSGG9iN5e/r0l7FTq/wRuthAStLf9JcAWWL9N4k1IG87Kuq97E4 - 6+O4YPdn/9Rg9CSn4vTqukN/+XvtDEaZ9tEOWT74sD2KPJ7MafMEdVxj7Wa+GYax - V8mrJ8UuGd/RbjB5lX0guhI5RU6fWSq2cJSHaS4= - =5Qhr + hQEMA1QflAioE8i3AQf+LmMQHLtVTii2U4fFeAJbaAUhh8Raoix9z857AMvvJlwE + 0uYB7gD0n9nZ1avXaJBzOOK//YbrCdO51rrXEDjFbfJfOhXODtVHjrKr8D5iPO7i + 7gTMjmqydtYnYVtP9uSOWI9K172ULswo9tv6ltgRLUzaRyh1aKmCKOiBArZgN4k9 + 2/pkNKrlmqRRMNrPU1R7wl4cJb9SredVoQgWvVPSmjINL/1gJVur/W7fVrRhFff2 + RNzd/eL07/Y0NCkR8l7DHRRHQmhdHZSXxpDHmQ6qv8K11lEYbAaackZBqvJxQA8y + z3IRK+4r91mbbnPZavqfd5FzvokdWGy6ZeadE+CMTtJcAUkCererongTxOVEYqg6 + dW9uHsvptsZ1JIYmbdojb1n1xrbshATHuWYnSmUgm0Iv1hHn5JrIaZt/tn17iYYT + oYWvrSFKCoSiK8LQ4FdbsLQSf9QfxMqUwO7SPd4= + =1+JD -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-02-18T08:35:44Z" + - created_at: "2026-03-05T19:17:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ//Z4l8koJkwbuXv1oSFwLgfivAbgBsMCjw94eNFOZbBhX0 - KykXGYpOqvCFpSn/6dzENxR6POoF/lSQHpMNIpNXbryQ/ts1cy4BNTm8/6ULCXkg - 2AVeVtsttZHLBVFuGitDM+H1SSt3yLfvs68Ob4hjJGNm54kNTskeOA97ZBUGLsdQ - qCsbls442Q7lRTp/Xt8n1+8C7OZUkbO9E8LIzCSwEzIeo6Py+kInDk2uYlMV9hIb - UX5o+qmeQ1VXpdc6M6k6XT4KeMLQtManW1nh6DeieMqhMkC13x/hia/Cn3dgBQ4L - 1ZXvhsC4NbNIsCmdC/zvquNt2bz9hqQJyxH5De7BYRwfmAJdXeaB9yAfRA8tSVGw - ehpn9vJzSpU3Jwebm6Lz6RTLF7FkV6Wkdb16UrP4F2FNv0H+CfhHmYjm/dLgCWZg - aYkANjcKk0hqZg0LpNHO6hBRR1zfnsVw2LlwxBebA+s1NVQZFgpP18x77wnOHYVu - 9pjD2GpOR0DoKYm1e96AeK9vg8JwwcrR9ydKO1f3xCgWfE/HKCMQsy5mM63avSf3 - TKw0fY/D5N+8qDhyyHBtYgA1NNzy1aFWQ+M5y5oU+brI+1R7SjGU0iXg3h6dQNqz - bHHpJtyG8X3HWusndJbFUL7hYpdXSo2ggS4TVNe301FrblKgH6yNXRVO1PznJfrS - XAG5KPUwucXOtnsz8/S/+aN5kzJ51BRdY7u7WwxP5frDDyUIEZE6KSYB1MhWR686 - TfN7V1cTEd5J5W+cNh5QylBvsHXzI2UQZwCqR+9NB2IKpEEBDU8J+PDvqxAB - =SnJo + hQIMAz5uSgHG2iMJARAA1tmgWBwtG09lx0IpIKs8Ekq10rxpCNhzxhnU36jHYEA3 + mgtBNahvK/c4XVKDFVK3vjAVVblE5TLsT22IeKIfEcuxzLPgGm8TvC2gc3WdJBDS + 3wygANQ0DB+aNDBkDHZRHQQDSPEB9C42nMWBaNxO6n0up1bzhkSHusVYKL0JOccA + x2Rfjhk2mIK/p0N9Lz9tuLKfX5KneQS6YJwrHWcXGxRUkRDJWWmaKI61Yuq69yAe + Nniii3RdlM5tajJaUTc00QJOXbJUBcOsL/wTeJYt1VAENoL5BdTSYl6cjSPK/p6v + AOy8I4B1A7r3QEOuQT4YtCKCDJflqnEbafWN1BmHJ1zT0CZJHGHA/BZEWo93CbTg + 4Jbtx6T0RokPeDv2TFqsANOXbBALXpr1DmBvxuvQw/YJ7fN6Yx9zo4+T8Bf9Utim + T78tB7kXbLDuqVD1UqZL2Cxn1ylPRfKzjgPXBQ0VhoX7bie2W5ZVdELQpCK8pbr9 + xJDJF3lGbjZ88RW4LwwGYyE46z6OrsuFSAObVI4Eusza8lKTYgC7SSR8YrzWzPEz + DkSacQHT5X6RtIUVihTDgE6luqp6ES0Ms7etj7NqiHLyhOSuoS0vB75YwLJJ2uWA + 4GLOchz+foRfULGSPaDqlRPlynjfZSqilGVSi88ZYPmIvIoHDw8XJvGhaU2Ip2vS + XAEXXZ+n8c3wUB+nQBxUuYBbS46TP4H66MXqfrMHxf+WA992w7H5itRpkpVDOR57 + 9jMxwjlOFWAFlq+CMyxQiXjcLWixMx07iC3lEW62UNvpKTiUtliGIgSwrSee + =9uur -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-02-18T08:35:44Z" + - created_at: "2026-03-05T19:17:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ//UZxNjVQLuUwYRbk0gnYx16LxAJhRZmw410MWn8LqAr+B - tWoNKFtKfG0MQx+tseyXk6KtZq5iAj6EvEtiL1RGNvlbDp8zpMcMfVCKIGLLblqy - TKBrQXxpwFahxAxgvD82q5XFlnNZdcTVnuKisPf0CBZMeJ7FVzZ4PBK1iLhB7SEF - vYzez/KQTMWADKF/+JLufflJkhYhDu9vLdIdQDipcZX3WEoEAc0HWnJJbETxL+df - HV+XHmItITyBwr8s2mDKtPnjENQpRy0YItVSyVzXAYciKxmw7xUNHf0NZAwDT3R0 - 2/raJz4qtrOQP5Hf7Lbq94rO/99A0yGwK3ImG+6DiCFxGa+xqPzhorI4sKwDg5Qr - fD04y/MOTer6UM7JC4lTA6/piy5SyH6VJyQZo6auFrP7UEs2YmAE8JgDuz9cqlHU - M5dc2oBNtTEupU0HmdEuLztQ0SY8udUqKO6xlY7OJSXjEG9hr9oUQIZbey8jqSeK - BvFDA8opZ6ohCfT0wVNrW49aI1iFut3co9JeivgOnDKb2D4ciAhVhkv9hvoGzXHD - 65SfMe8PdCyAaDOSD9j5xP9eDb7H1GSrD78s7CkZMla2DIUXju3/nOaRlR+wW8aa - 4rknIKrg9jrXRPrCTu5zEzxUOz0SZM7zRKmYW6YMQJubL8voLlVekPbAfGDQo2XS - XAHLdGw23LhGG4kpdGbc13Q6KeMPsbuvEW7J0Tk7TFFLQ7YPPsWScV2naJuKYTux - RZ7rzpzr1AXQsj8+tPTsFDacEF3F28MIgRsGchxQQqzKbonl19+IHPiSiDq2 - =NIHa + hQIMAw5vwmoEJHQ1AQ//d+c34f+CpobqPTxl0rZtQf3MU4kyND3I3GbJoA939dFy + pM1D94uphhF/8fPhhb7+pPlmWhwB0QFaZPqBF/YmJnLUuXpa7LFTlSRJBAwBB85R + PHSlaoRlxyO5unBhjMP4SJtVl/dYisSDLJMgLAa9G4N6wBangO5LgRNHB1xf+26A + QXCCTRW4I08okNdfyMjYtoTbMQ8Hjkziu+JU6fq4MR+whR+S3ukt+ZISrbSFSiYB + bKVJKj0IkJAzDVasTWOiTv9p9s8drR8OYFpfbzpxl4rKujRklvIHtOmT6RuycPnj + V5yAsHm5wrcAI/58oQZDf9p3vZnvbJG8/oGFTJrQbolyoX4P9sn2DSUAT8rrb4ns + aLLrmUhtNr3pGSmB2gOYUkxkDa9cc1B+vrErcrMgQrYy9GCE+A63fxQhacd6P5fE + 4Bmut7YinPC+wnHkfirlID1849uy4a1HBw0/Ek8EeKZWiU7hOWcCpdwe2Neue+FS + sG7fWYBFk8+NB3vsTlk8dsyNCTn3aiayvGKCqr/NR5g4wDXfgQ0IG+Hu15wsgWkQ + YxzXaMfAyFTxbO+FEa+IdYk4khxZuZn5JRChrgSznAzbcEEmzwsNaJxzurgT6SM+ + La+ASx+OBhUhdXgpqfw8axWrSaTpNP3yrYD8QdzadPiM3AXEWQBdtAsuuqvo3y7S + XAFE4iXGGCLagGs/K5YlyRix27boL4HK6TaSs8YLHsRRDS6+FKnDL3IAUFO8dO0f + On/GgwWOjgjgzbM+7K/s4EtOuF93nJgdB9ykASulaWPyngpcaeVgA1PfujJP + =lTlB -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-02-18T08:35:44Z" + - created_at: "2026-03-05T19:17:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdA77uo5wvYRphUxT+Yo6PNpXEWTHfLZTONMP36h4NMC1cw - wpyDxGKz93oHeqX+v+VPvymoblO0/oFYA6uJ6W+mPMJgdKM9LyIa2tJUaMboVqam - 0lwBcrVePOy4npbUUqow5mdHNGmTqa/QrRWTsLoBYoJOKofl+eRPHxn4QOil5Qhf - heg0ZPZy8amx7gl9y+8skz7yX4SKvMPmgtOnIocWkYWu5ekEYMlu5K7twmtGiQ== - =zxEG + hF4DerEtaFuTeewSAQdABmnJRqAaOwfT5aWDymDw0ZOJtqvi2Sf6FfIjlCT8CxQw + hz2tgwZiDx1gJP6kmXmbO648THZSDgBZpSkFyL0yc+HzbgQOQvLRWy9AaQehbNYG + 0lwBx07XPpT9Kpe04Tjc/EzL6pDfHdtnMlfsqvduoKC7fKs9OcMX9qu7ulJAYfCF + nVBbe9bxgK/P2MoxgBGxNlX3QwinYQVzwb7rvSBftV1Wf0E0ntFjvJkpY7HuAw== + =F1WP -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-02-18T08:35:44Z" + - created_at: "2026-03-05T19:17:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/+M+XqAhpABmKfAzRX9E2VZaaOhphLPYlvguqHZPJByefD - orpcGMm1hqndeX6kAHsefCvKsVBf31B7AdHMYoZXqdzUr+ajJgziUzdgYFyogyST - 9U3ISLhGzutPg+IGhFhCvh5CnA0CBgtVu+d99dpvUGIm2dGP5IiMooMa6kDG5VzX - xnjG+8N5dldy8tcHBYjuCpL21FTzkiqxMi5f5x/OfrWcJnKeBDVaJ+pa02wb9Qcq - QpJvEOAWJQ6az+/cCwUA5IFk2hBVsoFWP+ZA93rvZ2bTdZxF7IUIe8dI8uiDL+ZE - mWWQ4rhO40sByUK/jZ74bPXogMPr5L3E6TTNYgCZn5+dw2kngLq0srMIZZrZeBjp - kAvEwlMnXXgqOH+/DWVB8Z7BPi/CmXSU0dJeZviDkHnVFHN6MP9a8Lot//zr9zai - KBEW0zkmU7nieoJHfu/bDWvupRN91eBMmrQJm+lIDFg44Jzn8P66P+6uOH8eVXel - 7YWhE/OfqhZIRuvcW5TMw57IANQCyHykmhFQM2vVNc2RNXuXnQdYJhaHTMQQjbBW - KBDxabClUxjCLCqYx/Ifn4DkbbcGl6BNO/2nqwOBEPDo1Mamogv0v4IC2HbhVdFt - 2YewEBWo3O9a7+9pGV8wYSv6trRnZkTlI6xT/nHMRP6g5dKT9CA0cywEGrZ5xALS - XAHocMsXaj4RJDYPPcj6KK+WSwr1+Aad0OGMYw853m1TEUMsIBklH6I69r2jjWtd - OAfXbxqdPLbCF6b/LX5yQMPXwDE0D1YFMm4aPFHWrvGuQPMB38oGDbmcH9hv - =a+ez + hQIMAxjNhCKPP69fAQ//VCzyABzuG3nkkMhkhFNVtNjN48bjY+Fb9R5jIfI9VSGm + DDWsM7MAoQsVkHdicmO9OaCqSN+3c6ESTMUnN+YPxxYjWJUJuKLYBDLzF9xFJGSv + OT/gWzsapc6fWt6QF0ZQsLTdCL7ur3bJuvPc7Zv4ogcW7m/+f5dHqDwqq6krTku0 + 3hYM8fX7lU/wslLdBaFXnO3Aol8bQUuoQnGn7WCHp6WhwVIMjb4+5H2YEr6WcX4m + Kic3l9cMuPM51VwFbX3tKQwZYE2ADcdlkEo+tK7OiKTIayli0evs3Ff5mLIQCQkW + VolgpTbTrcg/j8VsgFRsRbT8ZInzc1hlIQJfSqrWON/+rxQRW7E3lTTxAz0sV9z7 + vIFu/CoANfW4iszzSae8R+qyYhQ023EmgylwW39NQwNH2dvvInguzqa/pfFEgvJ7 + Jm+3qjBfcVyzxvgHL5u06XoJaAnPUZHG/EBPtntDI10vgLqOSbaNDUgDIPWnrcmz + JHifj30KIJ2FMAJO7Xg1iHYWe9BkTEuniC15246RIl0M6GgE3kErrHqz32Z8lLup + 8rBwKXlANwpfxBjiVltffqScgibyLvpI4MnzP53EpoI3BLGPe1EdKJMBDTj2HHx1 + 6Uru2ioLLfBB74KQIdLodOjJJjeC6MBAq3qDrxm0+v7eaRdON82ozOO57ZnXNbLS + XAGw81wfVK9M32PhtTwE2EXzpDsvxDxcOVs9tWsN2J6cZNForLcXqap8IQ95QAxj + 3/huWbxkFrmNxNqtLMbAk3QUz2nCweV+vqwGkjpsLikHLk1ic9X1D50XxgHV + =AGIq -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-02-18T08:35:44Z" + - created_at: "2026-03-05T19:17:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoARAAn60Flv9miDFVu5Uh2S1qcFTZmE2ulJqfwaow4hwuLV4K - iindisjuhKfS5NvVj7CNmASbStomMOo9iPNaMwo6u/gGXLobLTt+mCMvFEcUch/6 - hVjWHYf248thlzT4mFdl1j4oa7QsjmjwbDK3km+Y6hM6IyfTqttiBglri1xmVF0W - xVlLnimMfQhK+5iC+Hk5Fxr9ZW+r28L5+Nhwl3n7LsazPXv60G/JeyQU3Z3GpPCB - Y/uig+PQQiyzB2jCChJuERoByyagVn1fF+Nn1Mgj+wJzAi+Rm9W5AF8lWN6NrE19 - RvncTLgoDGOpalFqACUhwI9kcTf5xckz2ki+IAUHBciblDoxrhMFt+bZstYTt67b - qCRxw5ptVUdaWXjGES83kxX8uVC2tgdKqCu0fwRP5qAz1nJuL07Fgxtd6ZfGv9gq - UXICzlObK+K/4VpQjoC2FPh43mDxKzRZtSIvosiYYGZEAe6PZY2NQSSFJ9c63nrH - cI0/kvY8Ee9uCMlBMsL21ct+vYFh7uymZ/OE1928mecauKC5wa2ZK1jJ0sET4WD5 - A2fjPwxYdatnWoh32BCNtoA0LYSSng5y8Lmlfnil43o5rGa5fCD7JDQl7ePdK1hA - b+wKUwfKxpUB+I1N7MoLlhxYCBSdK71VskTa+mejFQzXb1slEF3ykZq5PSO/R0nS - XAGFud0e1RYgRYXbo0nGkiZZevOMotD0qhbTrurRy6ivEJqZwxVBDg197O6qTB1+ - s8awSixtpiGZSU3+yS37IwVr4nIwqMplwTTRnGzAlkgMFojrKRJjlHp8HJAW - =55pF + hQIMA1Hthzn+T1OoAQ//fNzXjy+69duSkvoeovf3x2m31eeJjhnr/amdzXTDmewR + NwwurJIOkxDC9Y5yVAe1kMZ/GsOKGqcsoiUJsxowcbcE72egVF9UvO/4YCIqTI8y + peuhu4QUjQg+dSXqZ0ALNVX7bsYXptmeEDvmBw6FYt2jn8jfYKPbIfpHkAdTx8kn + uWnbtAFqpVp5u/9GeKBgR4HsUK71gJ5/WbLQWd1roPBehZxqbRhmtFBPrQgkHpux + 3sRHbk/6qKixKEal1A0qScP+i/Od9CduDjEZ8u73dltmv8/JLHTjEQJjNcr8yUvB + XPwJlfthknUrDsdsoMMpdVJaIWCaUsRu17nTgJqgUTmP/pyHIEHfX/w5Dv/5zwNP + 3wKCJtqFq/MLsoEAFz4CKq2CLPZ8gR5yDJb030kDE0nJOSeUy+vZ8fuwQWnuHD6V + qUxwJitnkJztqdtFWZzoiu8/72NbR9f/Ys/Sr201m8OsENC3SmpCeDA3LBDL+AX3 + QROPGfyLIJMApEGET+i2FYme2u0TtEwUAyFbNDKleoe2qQvFgcpFAvefrHnEj2xp + 2Gm74ebaIksguYZ2zX+mggBVVw8q4UaSBsKjgiM1DXjqtDnCcBd/+mRzA8ZXdf8A + cXKkkxSpEIPH2OqvgVtYd3AkLzMN4jJJPpSHZUBA6Y8+jUkMQKqYRZtXvDQGUz3S + XAFeEBuinpfLWgetuH9fhI79BlfHgb9isVw22+SJkUiJzu/GZqSNSXVwVlfmmyns + svSxx/4e0rD3MioIw0WLj+knC6mSIYV6WmmOiWpPKJU9fqXAEpEsDkey7njm + =odkM -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-02-18T08:35:44Z" + - created_at: "2026-03-05T19:17:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ/9HCiaw50J5OGeb93OzzxNghPcnpNeMswNIaFYCUsCafi9 - 7HwWZaMok2xNA3petLnyielRsLwiSZAh/LGHoBVD9dsfcSDD3tkQqtmWJ22s8YaX - 7gc4zCp3MhvXkEVFHbp4obrce11sS4yGEHujytzcdzrHuxDnggRNYFouEX8YwEM/ - RsrFgVKMFFez8GwzaHfBNyFDHuopp9vj5RmLaXZ7hA2fTKufTOzwSpap5vZKDRUd - EtNQgB6xPeVb6CalMUE1q2/NH88cJGV3nbQT0X6IPcOKrGaKXhySINtZp0sHtvIR - divH0tzN5FrJmvFCUmWIKt3/Mqi8L703GgZvs3XuZr5klM47BcW0QUYTW9JHn0eP - SxQFbR7QlHAhX9p53o1DZ3Kka5npS4fb7t0mtJf2HijXCL8MoUUCKzdOAY8UKWIW - DnIgkmDAuUeg8mb/+jH1b2s2L+/ssnj4kZXeGJYde0GWVx9goRJs+4FwkKxh8Kku - cODkEAMlollMjcwldAFrww/Ra2Lb/Qwf9q5q34pzuQ9qOBdrE/vTvi293UN2pDlu - u30cFDDWjB3F9lSWUOOutotXPHcmnMUwQJCcAluyW/sVeCTE92U5PWHiF/jUMzH/ - LvCNrBmfqJaaqvughYyibiH2lI0FLmH7KDTXyOF8vMMNtBSNJrT8OZpXRfVHEl3S - XAGaoEMyoERJ4zzNMQZ3TRL0m8romhciRnZbYHaedrY54JXi508SxF8091J25hA0 - L1bdQ7/CcgXgcMGv43Lsnkixqo+FeGoXfKtsIVx7ByxEBFXvVOfVnQHmk0fz - =rYUC + hQIMA46L6MuPqfJqAQ//eWnH6hZTh6xRnPEathehh8oa3GrzBCA+osb9huKsJQWA + be7KTWncXWTCb3YWD2TyRr3tfpqZ+JF0Cy8JOQT/oBAUZlrqJCJXcov0FCHjgfyu + 2nA+B8BcH+W0QmKd4PAgXFAd0/p4oBhD5nWXu7KmgkUGqGNPQm+bOJn+C7tOdrkf + GR20zF7aqvia2vy4e2uPny64qeXtox5ESiipQxU5rIl8C1iMhA5jXyNU5kcM582W + KzbbuBM8nzFwVd2sUWXTUXuBprjSPqlVXaHBdweJGCvCg1wRBTHu5DWoNB3MQICb + 2H+GydEnNjhw7WH2f6FvCI0D0GkYIRtxylsoJLPkITIUHgr/BRWBwtytReQ51+Iw + 85+HY8SzJ7OKgn+UJDP3pc+EtsdGb/Fa6FNGmcd8NAniHwF/Ytwj/xbCBnd6oQL7 + l6/jyg3Cp8vA57UyFaECA4pISlhQVbzRwvycIyfK+HYq4cwxMtJRjmoz1p9SmJYD + io7CBz+kTMtEZbzW3bIJUggG1SycnijIk09wwB0TB0hGtquu+MdutiR46cYsKhhF + ctGor9Nll95X9ebPULJ5WOkH+Q5chvxcAPLt0qppP2ZPdigSEC6q1y4Pw1PG4vIx + HHhr1/wHNrtrWOVrtXSrxl/5EpPEsGvzS1jOtPHoDzRzB181KGwVBsbrvflRXqnS + XAGAKr2sNvGluk8sk3FZ2DODf7qq3i+RpvqEABflW970EQ5vxP9XcH23/WQ9buaI + vxrBTMPNezbNV+XT/761RDkZB1PS3Z1O8jotI11aXu5VpXXiIl4oZwUc+t25 + =onrY -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-02-18T08:35:44Z" + - created_at: "2026-03-05T19:17:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdArEE1dIXIW5OpOQMvRx6PRDiCTDa1I6SPMt8NkfKJp2Uw - ow3R8IKd5dkzx57EWJr7FoQS5L33kNp+Dt2bDQ9jK0kRBiFiEa2/owx00G7DURey - 0lwB9ZosctUOj4uxk8bTtWCJoSbTwHHCshxML8SUNFi3CRw+TOWNwYZnAmYiHngN - OqLYdust9d3G4UZVPF8xxjWgh5+qKc3UVEIl9MOOZnjn91GQFyK71LH9CuCH1Q== - =oVPU + hF4DQrf1tCqiJxoSAQdA19MmxNAK8uVguGx9b8X+LtRF/pDNA2rHBdeWvg3z/Bow + xUgJKAhU/XgIUVtIa1XDASzPOIuVPi0LuR3VwBn/Do2DXKLfhYi//exj83FNEM4G + 0lwBcsvxwPGCtghVP8gVkFNSNi10ShYIsA0omMpkZP/UxFz2MQVjwOzEweuODhu0 + v+AxBfZJ5pCWU4BWUG54ks1Vd7Qf/7yaQKwiLh6hZZNM+Olu0xhxItIaDqYP9w== + =fyfU -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-02-18T08:35:44Z" + - created_at: "2026-03-05T19:17:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAbesHtUlFPLz4UzYujdBkU/q+8H3GBAYW9BTt8pxBJ0gw - gfj5dW0/Ba4JjZ2KoOALYcJPVaj7lX9zMWHELJDOgAi+VR9myReSZk8e1mRb82FW - 0lYBe7VFCNh7yTRsOsBjU4g+LbE2BNtRWi0XdIMjGm0tsY8SlRziCOE8qTibiA3H - 1nILiGBO6v9+ieQy/RLaxu3IEJVJpwuqYoSl9/EzpFnHC6hGreG8TQ== - =5GDJ + hF4DzAGzViGx4qcSAQdAAe9pap2FR/lseAMS4WilTifq8CfguFIZR2YGxCA3QVMw + 8oKp5Ysxtm44daK2wmgUvMHhTVp1L/d8WpK7KDK4SQ+XrLHYzcPxbODkAaKwIzlu + 0lYBlGWbz0PsEdmbg/cNCc8YHai+3JZRzkJ98t+iEPtQ3v9ySjH3+7KFLztmPoFX + 95pjLP/R8wNfW6Dpip97qBsNbJr0Mz8DwWg6uoQiJRmAbSkUvLYIlQ== + =9L6Q -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-02-18T08:35:44Z" + - created_at: "2026-03-05T19:17:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//aw7+eszWNJaFZYLepE7xLkOrQqHD3ttn7NGcNN44QjGJ - YK0lKL/QBarXEeUA3w5tfX0UeG0Z4mm2u+XXqENsxRQlsdfKX7GVe8R+gr7SRVvS - c1nd2sPJ7Vbt2cQm0XeL7ZNTXtplIHiC9UGy/GmZ16BFIpF5nOy3UpWKak4+0v+U - VOIAvlTGcjILWpXv7hvVMwNmk74uO1AjwXMbmbeMCFFmYXgNKmJLHQySu+dL2+3j - G6AIulfdy4dcjhZG3egoxrxnOwqvXs9NhQr/54YU6/XpNkXzk3dEzd3D39zMYbfX - uPuL7SDne1gcecwbj7lBjGLCK3rTG6peKNj2osqNe1j5kSvxFM2zfmXAZnoq+OAE - XUOYRet0FA/YpcFvxpKx7oR5foiHHMfrJFXvAOaeBzADufeH6tWyEsuPWwby9XbD - JF8I+IVhnl9ep5ZFAc6RFM743lk1Yx6qZylVK/CNoC5YlYmPjOxk6g1CwxArBK4h - SZFpm26Wpre/CPj7Aq9vS64uMeRRtNQS5B9Kc0N0oJjJCKhKbO6Aw00MU7EaTfQw - xcp9CesObmxVNi31wpsyOff69HyDhBmAOVp2FZtqeoH4EwCdGsA/2+fcUtSSQ33q - +q1dTwa7HDVc09BZc0yl1PfMsvxw+w6Kb5B8rp5II6blno+xsJuIy7YcGBJ+OmXU - ZgEJAhDQ8QauoEckNrXuczgxwnMyRQtc1ryMznQ3gbwK/Lrf17+0bOH51cHUP5IM - joZOWhLB1HUcJTcl80q3wBoc10q7Bw+QUUwV2MKEEGCVEsXA8ny3GOj0Ffb8q9Ax - NobsKPENbw== - =l5hg + hQIMA2pVdGTIrZI+ARAAogLxQBnSzhS6oz2Tcu68YlZARmXiM6RihrQE6TPl7680 + xDbAkwL2QsiRQIYfEndcaEZFa/5wVUzErSNlE7ONYO597s4jIs/09o5ToI+jIFtf + C06ExgwfFfJn0Pl54LaO9WIKONeV9yM8GD7nCBIQXvjbpH3U7pPehgN2nTsmJQHO + sotkDjjzgw8OldvIevdgoKdocwu7FWcb6Hy9BJVfe4MFc7wlliLQ8PymdhXu1mHg + OUSgqxzgmAQxDwgHg8ufTfw8D7Pgl9rFMnC7XTtQ7wIJg6xbD4t7hCMlMkm3LbW9 + kEK5hAbh6HCoXAASEuUwMOYuzWyLjocfoe/ebf7+wTjma4XM1yldWKgZibY8uqPf + VlQGCiiq0pDwcER2Q2XMYon60kCu+OTVeALfsJRMEqxyAWzBabxCVOB/49/qjKn5 + gthSZvBXssd5uOWovp3C0tlOWNNn9HHN1Bc3pVPl6TC7sqn/MZyQqqn8qTsL05oN + 6D5upCqQJKdg5+yxJ5gu1YKv0S/w5jEMdOdvuKY7zJUEbIZ38s3AovMPYLDTyP2a + qn0cbn2qMWLpnrRfK+s/PkSc75cXlgqe4Oi+6+1sndv5+YFYtcIhQXnL0aq3+ybA + bsZZOV1J8EHOjYV/bqZVHOmYxd0cSTk5ry78AXqr8zQjB5IKZmZ17cOvP1+jkprS + XAFC8sJzeR2onUivS0bakUma1Xz7rMkCxt/CNQB99GOP9h8VSU9iHyCeL3SZhSAc + 1tTWd5GAvE5HPHkRrZQtzEi6DzlL2Sm0etkuwYZnW7emvUTuR1O8vi24LS9E + =rBil -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + - created_at: "2026-03-05T19:17:48Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DKKbvh61jX5USAQdAU/KzaoFUtvroNZf1XFGK8cUem/pqLhTg+Dun9af6bUkw + 54KMDjFx4nGgMbPFlEqqxzJ5/x/9KHmM8HgnHkBb+l8NfKWccg0PM4f+NZl8CeuK + 0lwBqoDC4yBE5e1dnMs51zvcnCCc9Jm3H6RZHqOwfe4gngWRGoewD4pKQ04dF9JQ + Tr8djHuGPEeC55FRCdEtOSfWPeHDFOFI21sJMo/xhqG/YJ94mwkU3lzrayMolQ== + =y3UK + -----END PGP MESSAGE----- + fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted version: 3.11.0 diff --git a/inventories/external/host_vars/status.sops.yaml b/inventories/external/host_vars/status.sops.yaml index 388d07057f..52c7c8814e 100644 --- a/inventories/external/host_vars/status.sops.yaml +++ b/inventories/external/host_vars/status.sops.yaml @@ -7,204 +7,213 @@ sops: - recipient: age1p546j6whqsyfkjuf674lawrnk2ex653fuvwhcwt46gkrspkq59sqzm5y87 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXdlRML2gwUFVkL0orN0lP - NFVOTWtFWkU1S3hqdXJMZ3ZYd3dnbXc5SnlRCk1uNjVvK3RWSW1HUWpQeHVlMU84 - V2dMZ0lJd0l0R3ByV1hhMmZqNjdDUjQKLS0tIElLeDlmNXFXWmVVcS9qUjE0TW9J - a2hRM3BsQVVoTFhHMWZ5OHUvTURoMk0K3W4U5WGP8FE+YyeVS8exvckTYkk7cUpv - sHEuT7OqYGE1jtZNAhVFRQPqpSjLrbemNWfCOVBfvEfenYCwvkMYMQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxbmtBWkFhTEUvMi9XNDZI + c2JpV3FmL3B3U3pLWXI4TS9uWWpHWTV6MUVjCkdMdkVmanpFUzFybHFLUi9Scmxl + NGJjNWhyR3dqQWgyRjVvQ1NabGFVY2sKLS0tIDlobnNvdmFEcVVKTWxsVFBwY0pQ + dG9yZTA1a3hGdjVsZG5Ed0hRNDRpV28Kyjy09rx44n1/wGq/2Gw5vq43P87o/rt1 + kwtU2pPSZhqyFj6g+TIaya20jSUGMdPntK3abzmJEzc5qh9G4Vzpsg== -----END AGE ENCRYPTED FILE----- lastmodified: "2026-02-09T16:38:36Z" mac: ENC[AES256_GCM,data:tiIGYUJNapNZVrSq4Hsf+rhklUAHNN+cHXz0UCeev4nXJuidUV5qj+5+V2V1Vl46FTG7PPiNoNtL4UVIfepZ2q/hyR6yE0KGx9C/gv4xjS3ufrGTYavNw7K8bZtUCzmo46Lf40HD8K/wYLPuh9elWdnGLhHrhl6qpI2MKcX9u2Y=,iv:FbTY98dAZtH7+jaaZLdI47+ryZm+ZxGXgc6AZRIiGEY=,tag:OeK+BS3WJeXjnWX/er2YzQ==,type:str] pgp: - - created_at: "2026-02-18T08:35:51Z" + - created_at: "2026-03-05T19:17:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/+LRvV5PNX2wmk+QJKYkxJ36Iwvvoo2v2yySHukuhcrmcp - JaNLU4It3hxRqCSG5uEvW4VGinnG0dxrcaRyGb3MEVvphmjHE2okbW7EFY8uqB63 - GQLILqjEVx5bScMC+uAPNkT0e4qkNG0MP5+vTJlFxSXWH591krhVJDCMl8+LNqd3 - noSMAYXaax47JQK6z0/eDogy2S6cEc8UVMaauPUCgC82u2ZTYPqVLAUIMM+CLxBr - mGo/nI1Opd0TeZVnBZ0xlobWV8tBBPqOhAked+Q2/WyaxjeLvRV6VxCOz2meYCui - chyzIgIu6qN2CgTgkM+Jcnw9vVYN5qKuFiQYw7+kG8Jn8l+6W3DxW2vmSMw/8yPW - mMA9WTX6tDZowXRvexuuY3GdQv6VHoQpVgbBE7GuhrEGJ4EpaBv1NWl0K4NAI6OU - dgAX+NXeewaOjd7UP5f58QF4SY4vtVGkLe7gOc08vsSnxo0lpUdjcTqp+S3mCe/f - qgD6+aqKQd0IYxG7RzYKH8idnR4419T72oYN+TZ2FRIcp58+NqdysFN5KDt8Z7O7 - sK82jHVxAAU02Ej8VFi2v2/1hJXXl51iLHTVgaILLXrLxpAAWh6fMivicv4gxgdn - E9mILXe3t98/QoSI0hymQtGFL4IZKPXhZ3/dVjc8Y2iRQQv+D1QZMlP25v+lLGrU - aAEJAhCcPGc/dgWH4YDsDmDbeqoS9TGmZQ+P+h3xsaqyn8iav7cUpIpEi8JY1Fv/ - mh2rRie/chVe8Hmhz8pP/81/7zx0Lzjs3ZDHBLSvJMR/10yJ2TefYvYQj7wfbDp3 - MHndigvAvoy2 - =sAnq + hQIMAxK/JaB2/SdtAQ/+KIbAOvt5tNcHQRzoYfinVtvDLNJChmsmA4jzttDkfX2J + wEch2d0SJSRLj2mQ/WHWgGR9oxYAFJRFs6gDcNeDUrv+JT+7QR1eHPrPaeAEabPU + yAJvNW5hX1pR9y/jkiHplXkW+ray6qhkmpG7eoBSswvUlZOgJdMuTcFzbw4LQ35q + tR1nJgUtYIavs9ZXuxvC1D75UYkFCLtcv5Erf9K+OEJlJKFDF7JYvZrQFmlq5EQR + Xr82odIoutcC6SLa27bTHT1I3lojdJWZEhckn2NZP3DRVzlS1qau19Z/vp8Ms8JW + 7MCPSPaQli9XDN/4ml/XXO5L7ylQ0ksqgPoA7KnLPnp+koZOCIbP53gAEhrkojQF + CLMTmzt2XgMaJ15VQ2BuHs0x5br0WUvWjlAyssyIMpIGFodA4NCNqcp2oKI/hQec + 4CbjLtUFoJr0g0YktJHBUlk7iIAqe5pehTfyFrDKO6bPZt6rK4DZCNNIqBXcqF3J + ZMPMkChBuKDstOnteYVeuQVOkrZ64zjVyxU73q99uGXRIn6vx/3z0eGu9f/DLTfL + eI0yrFDZ7NObepbuJe6xLvPFCT+svLnOV/D/ERXzBBCQHHYkWYmxmfOW8cN0I2SY + NetnIIwXjQrbL3TqcyRKh9MyvrHDWsQe1gjsMmxz+hGbbcS4bfCDSbsb0uRhueXS + XgGzWswkSraJ3RvHWgvZd0s1YqPR7yfJRW2Es4StrQ7vk7+IICjv17v9L3/I+pN1 + 84wuUyP6EqDsOTPdrWqom81XKEvpJJJamDr66CuZ1ai7MCIhXzQRYarf8kWvpe4= + =gKIG -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-02-18T08:35:51Z" + - created_at: "2026-03-05T19:17:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQgArADYzjjfjkvkatPfaONowiGu5mMlABYycPpHlo4ddayM - g1356uTRl1qtpqedbeZrnb+RznYgIV5YNEtWduH+ceCOWIuJKG6QvfDZz9AF62E+ - 3qVSQMzagaKRScFQE44xkOk7uVoKIydZ0jsyf/UECAoNXCkyJf3P9n7HKvbAIk3C - RVe7YOqDZ1aFOGIshu10KbKm1MTy4isMYG2YB86pcmiRNZDPUSQlZR015w3CYAtw - dKsh15ze8v5juBOV9VsJvv2ixPcpIfQzQl+2n+Qdb9P0+VcKTD4tWpuemKszQFEM - OY0q/676kvmspSIiQSNtR0mwDchhBs3vLUsZGQiSztJeAWtbwDMp0YDbqhpluM+7 - NF22TPkPp422retwh8sbGLxgvZLqMBgWSENdgEiB8blLOJdM/P8P/jj7x8IfnSGX - 9j7kpgJ/MT5dYsBJe3ibH2MIGLd7Y1xPFLEMNO5xhQ== - =15kJ + hQEMA1QflAioE8i3AQf/Z//YADS15Uma5RdMDXCp+XqfCf56vrguDEQ6N0WXq7y6 + vtBI7/OEUwi3ESYInkIDrRtf9oN1GDJCKZQAgORGIsrCz4c8DWzn1ZJm9efpkbel + V5axhnQ8vKsqM+STb8UQKmx7oeYau6N7d5J67/KzAI2PAuyzIe4uPp/xxrj5hqDa + NGGuVp8pUmtT6HenO4ZtENTK9MwMbA0gNIp146qkEvmvlvKIxGwYRB5ze+hllG/L + X5e7TbMYN1H00TYsatO/3Q7fcuiL8YB+a1Ekh0SOXcqxvzX5qkr4QAKmGrKUiGWe + /dvEYPcdWi536GIvtbGXICAXBDENBncOQLOQtiDzyNJeAe2aaFNecyWTwZR9V/uE + 1RjQRlZqaGQBsaYXbeQazXYMVhSgpwfE46Il8ou8rpSaMxQk4zlol/mERPgAdz0V + 7LqfhzY+FsbqIiHaekwEH/JX47nuUnGT81aPCFQJFg== + =3J32 -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-02-18T08:35:51Z" + - created_at: "2026-03-05T19:17:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAAjU6ivUokV5DBA3UDkh9MyaJmfZS3O2hZd3UOWCx0hLf9 - qc7SxA34sr7RQF76sv4kHF38a5PPCYPMdze+Ty13vQPSrg0oceHMoKZoIXUi2WfP - YnKWLaNDXOWx3qA4OcRaLNdZb3BFLcE3QMAmnPVjjGrgmhsJbP/puw/UQZ4Y87Wx - Lmkpjc3906dN0uh4dNvP2GuHLnf7l+XIYQ5B/VJVx2fECrAZRVN0NCUjLoZEU0Rz - F4vKoUoJ2D/mzW9UKp+t0UO6KkTP2FIWekXBQZpk1S55dQdRx44e8+jnpNnd7DHZ - daTn+W0GLS+9zhM/9vNZEoLOf9POE3OWBFKlUzk3v3nA8M/eOiev1IMEhwBYwZmW - kL9efwjV2gwta3PH0SXiDYJXlxv37cgBN0bQYMq8TbJvt2T8ppj1SEhQD2jS4om/ - ClyawNCuhKXjBY5VJn8UZBqEb3Ttc1vTCP62T9Gi4/ZpOrBpZSGYvrhnQepDMsxF - bDUGNDk5tQuhiW5IK5ok4A6XtTi0P+upSHGuI9C5m/kXBt4PAjAF8+N2Cy48xXYJ - PQuU6rL7xe9Jrs1MkYa5W+dDg/n3Q/DUHFzGQE6kxlLzaTO+1gdsIc+VeefDtwXG - nAAXRqeiVEvQV+3/TvJpqO+iL6HqNnvivtAYbHWPb8DqGj60uBw+8/yEQdL705XS - XgFdasSDU+VjXYu+MvSDkmx66xA7LFBxUDMx2m9clqTESk+KspRiAnKKBWTwVybS - HxdAssUTU/P7b3JqMglY3d54JahRaFOrC2tc4f88DZGu0Q4dKn2SmfkPO16UEks= - =T9Is + hQIMAz5uSgHG2iMJAQ//Z5neqON9RGlSHYfBFY8+QLW3lGs9Ow9BiJWSgiIjn0vY + yBa8FmTy9CUMQVol9F4ZOPIWggrWGSvOUEtHUw2iZn9ERoBZQ0i6p6OCfjzY7S6i + +m0P+nte1C1clBqzYutQWGQygCcDbRKbyucrUPPFNqqZH8ANmHDM03lY1/9bbTQK + df9Qz/fc05b+plLtvqZ6LzuRdV3WdS6xp07+40y3kESTjLNSLl6tW8awSWtS+9DV + 9MzZLy4d3occugaizvFWRDtal8HI4X4a5RWldgvKfZxmUQbncVqJGlu9YPQsD7qt + Dlhzn2z7The26hfIVtiYR72M9ZQUfxMQkBxfAr1GB41Z2WIkuk2hegsYBql/Zry5 + RW6X9oc1iRbZUxOhPkkKuP0ZwPDkZro/7Zm2W9Hm4jOmY0HIlcuJ7RDLrJ8R5NHq + zXwfK0s/7RjBV61poENfi5FdCqPklT6Hy2It+BVBq+z72NkgV3x6Ncu1CFWpxazL + JZIT7Cdx3rLiX9mDMS5FFObS2IcyNCmjIrsvzc3oh79nZ+UX6bmtqEdSNpdlVQLS + He8IRtkfef7199bLXd+Jj2LRjjUFkBzNKCxzsUQUnT8jVgYIBLmqxE60qWknJmkH + rlRzGGqlYcOfZyoIKx73gRvxH78pucEBXTIJMEgLxxkrJyZPQSgezmqPwR4mcszS + XgHutQnLOMvi6lH+Fm+dZed8KbkO3M/PDGBpbTsj/VNIHw2NUq98yIzSOy4c3rxL + uYZmqlVezIaG0D+6vIgLvFTUXhRRLbPHc5eJ8qJ/wn0D0wWYy3Ilsxm5XZvauQA= + =V0K4 -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-02-18T08:35:51Z" + - created_at: "2026-03-05T19:17:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1ARAAqfSaQY67xf766E65iiOipWozl1jkgw/gfxiPFXv086dw - EisdxRkdaIzvlTJfyJAQ2OlLOWwEyGp+uMXzNGjZEdcRrPyC+/fBAJaCsmsVKWHJ - ar15bQXJLUO+GF1N02atTcZZTqhiG7iwfz+QvZNyoteZzKBkTI5sBW6NOMwo58W5 - KPb5O3xfaPE6iucEwcxNKXWjYsybEpg5stnN5WmG/DYBRQQ+fbynyQg+NArJ0gvh - 5O+rmlU1qi7ku603UKeGx6uvytCqsrsXuRmtc0OcKqOP0V2nUt+5rYnsOT8b6CL4 - 3zCn/QCEZDSIxRBLrkL+KPfj61BRD5oyYY7w4hPtdTKZRm7hcKq1yS0Y3aniw4E3 - NoTcyET2ghXpqUmLij6kuftGjxY3EVbEKjplXEPMy+3hSB/XRde2eJZmLEraRxgo - u8rYupxoVQz26EmG9fb+Yu2lA+hKdHsckPUBBH9M9A2mytg2EE0svYjcjj07mtO9 - JC7U7qonIxUVFx4GtZG35x+WjQ5WvpKF2zRsllXxGQ+ti4vvZvtGohKVX4v/609T - r10E0/1za6lTy8+LvbKvM44ZZ4KCBRLEiwKJX3zMCykkEAC9Fn+nhu8Tv+Y2eXQg - +G0NJ6cekJgP4ifv1/bhd6ofBBU3Umj0CZsKK5OindpZSklzIi+OEBj6sSD2fUDS - XgEvKteG3AIUAh71Iv4UM8GK7DykTAU298fJ7rnHSImnA/vQnj0i1Uhpk1rcxwn8 - SU/tIOUO/seqcV28DgA1dKnULq3KDCgIon4zWE9iOxusAL5rthwg5919J7wUO4o= - =8pI2 + hQIMAw5vwmoEJHQ1AQ//Xs8JTsZIFJSGF86HfroCAiarJmH83RYDRieSsHFWemez + ReJHRmVIQAU7m01IbwZ+vGV4KsfcqkjpP9TlTU4SfbXbvZLiP/xHEFuvnlI7xBxi + EywVxq7UOJxgzCgJdWsuzZoe3hhab80Qwa8+lJUBpiyIEP6jkCZwLQ6ILyQT5GIb + EwZ3zp98NGyoO8eU9vMwEZwQ9Ltco6r4z4IXYm4UeA6ixWJf92o80n+O1dxeLVNF + LsTWNJGm5M+K18/zB6PF7f3RDSkBsoK9O7KcxeOzEKwvWHzyRcYAm0/Ry7CfTcZU + p938r8CpwjCVHNC8aRMEh7KOy5pHpap+EBNKSQFrg4G4BZZclHvuNBnegFNI1FAU + sN2nKk7wddMmfKYYP7glzGdSFwqW+URsj/31KP9L7R+yIVqFnp5Nz/ty27MvBOlj + LtoW5cOTRO7ZQFvEXfKMgKi8+AKTRJGVncyrcqM0ID/qPzPN1aLT6e30/s2pakti + b0jEbDGZU5/dfvmR3Zl2hz7hHRfFyMGiTCdr+41maWOzkAZWjyslRCbwbO7nVJ9k + Amk6JUXFKYQAjWDTUPpPMb/Yykoufm1spEXpcUPSFubbm+HDi4gEQj6SgYbt/ksj + GK5/GtkvOEVjKcMUFrxvIga6bbWAJnzzzAYHb1DXtiyG7hPpG5laz/YWmSBg+MTS + XgEZ4jhhMN7pGKa6LtO6bQ8AF3T8umX0Fex0XVAVZrdVLe1wawjaNi2o0+OCh7j/ + W2IHXj8jIRRz1KDZyBP9iTn+ggo2XYT+4iGIOO2hTRqnO2O5nmjXApzL37zxlvI= + =j+xJ -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-02-18T08:35:51Z" + - created_at: "2026-03-05T19:17:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdA4QEs4N3q+RzXOI4nRT7bLxwtRjAVQmEfvy8gRd0KO0ww - 4hIs6heVc/lDYxMZmLUBQRmir+TPSt25xgWFqB28AECl5RG1C0wijdBcW4G6fm0z - 0l4BhYuuz4JI6skpR3/EY3G03Xzr47Nq/Jkd+qTPPO6pEbowi4KJbEYidGbMCIzW - Crk9yv3bO+KLKs6XFwD2shckKNs4Cd0WRc3ut62hXMzPCJqlDbUjFr0n7ufOuiej - =+dvP + hF4DerEtaFuTeewSAQdA9JggutbCS9FyRs95K87IbMnEr9UsL+DkefS+UD/guCUw + BI/GOTql54JZ54YlDOnpElDlpUCxUX+pWL3iN6zFiiq9+ne67CoEg2Ye385cAWI7 + 0l4BPaRSxLrFPnUtdGvRpjydCrb6dbABr/ZCHIbmYiMsipNHQl7zBtG/pVLTsHew + 3cbRlVAbRquqngUpPCbPdYBtAZU3HAmU3NN+gauoL8L6brJG8rmyGczxqRfxTcTe + =MQRI -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-02-18T08:35:51Z" + - created_at: "2026-03-05T19:17:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/9FZklGjVVy4jnX/5udFxMkrS0lwBqeKRrGyQLIX8K/Z/m - 9bNt8PNXPdA+UzZriZMYzoo5JnoM5ZoNMkVeYM7W0r6YUZ5ajv5e6AMqwmTTJpJW - YGh9N7BVPxA2zmvwAMtPa+kJc3PdoYFvE5TRleide5hKOVxsMEP+L+gPPS+HiVax - U/zYtVblUaPaHQb/FTDbrffN/jDNMNuT0l82Ds0clDWHozc1U5ggsc0Hc+OZes4A - AEo/yq7WW/pHrYu4p4FLhfnDWIxv5FeOG5DiOegtZBbGiLqYMFaWzpkW+aFFqjyC - a+a84USO+HQSClY24rRHmOsrBHEfHeNfC1Y2lYP+5QZaIJtmkbLDPVapbXnPuNNd - ZSGiB7EHIJ6KmfcUftTGZKYAQ34RfWH0UHlIT03W1g95orsqpjeDaDu7XTtARXME - WUKYJj981kS6VkGlfzzZXubgZEwkmx3Jo+TXerp77HwWT1jP40AIAP3WPxCGUeqK - kHmWLEZJQPahb6Q8u1hXhJqeO7TWNrhI4MhE9cuVozkIzTQkj7cwYEJKV6kWQjxw - mvTtrhy85n4qg2hy8nHne/EX1JYjmKtZP8lKYiNeY3tkka5/Ea+vcqV6AEYO2o9k - 9EV4eAqEdC/1NvxPAO2Q15XO8hW2qutY2/cpU/C+SrFa0NNQuaS3gm4O9M6DT8/S - XgEyEd/weoytYwBTL5FJHjCjA8uK7UhIl8tXzZNvhTJwyGxOqe9U43xnfgCU1x+K - qTSWadwvvBM35TXqO+eYlBHaEGsuTn0RLz0+QfQaCR3oUPPOHWEQYUDa3dtQuOU= - =LGO2 + hQIMAxjNhCKPP69fAQ//ZXXpOWTheuHPhbJ6qolHZxF/sRx7o9Lsd9tc/rwFeBkS + 3FKu9ASJmX+b7+aaKYoYW5i0JFR436/co/8/S9McXXXgpjVGo60qo5p9rtAm4ylw + BFQ5+UnkF527B6+rLtVENwrquBYp7yGdcxu2TMaquaqFk/SJBWaqKrweDhkROJkD + T4ODX4eSqkfVKiq0urHDSGw8AMpmpb6DYAMPMme14RM2/IB8bmodue8108bGkKBg + hey3Vw4hrHSx/pUEp7X+p/ooAxsGywpo7ciufR95orRJp7VWVl86XKMsT0GH+7lQ + 9MnV8KJIG7OR1mluEqGjLDHnWV4z3UXBFMpTxmKzGZ5LT6MImMYhuQ0+KRaQaWS5 + QcQHIGQl15X3P82n9K78LUtAn1JhUayRBKMHz46LG9z+BhZe1Qaskc2W02hkPzKt + Cm63lBhXrO7xt3f0vU1Iekp2VkJiVjSZSI1L9+rP8CmM9FH0/134d39KhpIJp5Bk + e+vqqe1vjPkf0xv4yZPpgmmlmIki9g8eo/IXjSKKaoTLLVpHUZ85bUBrHK2eCxWj + OwRxVCKACEu3rwwbJ3Lbwyr5JiAR0PQ1B55OeamADL+473WpXkIp+x7YdgrAs1NF + Tu4pXvPqkNvYq//LyS6BtmPX1Bfz0bdgTGU4sWZxzHcVm//0pKC5HUZCtw7f/9nS + XgGfZOyygjKIsORjndoVy2BbR+ZrdN9r41fWVf1v9cBaN4pnN13xmBm957s79H/r + ZXKE/DK4AMPk5+4L1WE5kMRNWHjqKieunJmdnA5ol4/hC+dMhwcKCWb46+7w7jk= + =AU0i -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-02-18T08:35:51Z" + - created_at: "2026-03-05T19:17:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//W/a9M2UzgkX3gwJwsgQIDK4zl3vwwCSwTJDG862VkghZ - tAhxWwXBE1BQcTcQt1TbMGWRltLWQvgXJskEwSPk8fTGXnZbZ/lBQR0WX8dL1qb0 - i2l08DDcDv0QLTyc5vYLhXpUcZ42gRWj+S+LaruYItdk76tWoEV4ktZoyc3MM31U - MVY1LUlL98yUw6fDSOQuIiRBM35sKUfVnejoGxxoxWq2gFlstglD5HUxG/OEz7Hp - G/ydBtCBKWEmD5XMh2iEDo0vs16RKaoiy7TJfA3x3G60+lQ9KXS0/9GrAm82KayA - PeTrFH49livx4HTAZJUiLAl/UurfQ89zDUVR1YM4zF1S75WmdXbdbbcUBuiYH6Ag - XEyEu6HDqRYfV/R5heC+Hhcsx54N0SW5i8F2HwXpfjz41cjD9ZovYEtBFb+rQKTs - ZnpyTSbGvl9dNt4f3iQFLFD5hAvXIo1lxpr3ayrBxSegD2vOAVkkWM2N78F6Kr9D - WKUqZXLyp8ey8+diJZM7V4ZIi7Do0EMAdyI5IAeKvZpb/Jrmy/flCyKKalvdNltE - YeB+bpVmsa7YgRCeJjtvhI4AB1N0oWPScg/Qeqj2UN+1PgwoBEx9z4ywvbkeZDfl - bFS2TExV99n+rcgpczmx6+3UMdvEx10joOwRyG1+Uby8YepY5DxBWAsbDMNJo1fS - XgHGZ0PiYTP7UyAlBkSJxS1yZB/bfj91MmcvLdJqEsbM0OkG9mBeJYqfk+WNBzOI - ZGQCFaOk18l6vQrkrqvYa3wGM31nfXLtqmtLlGA3TtMSXRTfexEOudX45g9JlLY= - =98e+ + hQIMA1Hthzn+T1OoARAAhf5yIW7zUfg/Otb1TgicDiAH7ghlrBjgJD8odDT/oGpq + kKkIdRz7oyYS6lT+4gCefG5yxvYoLMkV6ZYnKeykbCoc5tdQ+JrBOEitjgAj9UDT + NEDA2kPVee7StDoVV+VmD2Pd3RrhyjcydyUZA4vGMg3GauBlIKSY1sFUB7F8ytHg + TLiispgyihe2rIneQeSUu1u/qM1jelOnytL3g7kx1DMbhBl1rQ0QFQcEKfcrIWaF + kQv/rGhXHboeWldWhMYmkv7V9ljW2h4Y1h/bue0DYLgYLaQ0ZeZc9Vw/km2rQWUn + aNS9GYzD8EazxZwRojuhJ8eoGgf3iZ3wC2j+jtb6fmXBK6GvPRisghMWogl1dZ0Z + auNkPu6CDUwYslhWBwOHvo5yp8WZojcVzaUkygnj8gQlGZzBS0XAMDUHtYU2SN3G + ScE/rcRDZGOxv1on1SgwufdwwG+TnxeRS4r0zwWtdrf653jPHvf1k/1T+Acb4mXo + Z/h6s0uBP+ZzKxjRHweDkYE8zhOHLGhpeZZR5d4MqIRloeGbjWt7BVBIA+syUSZ4 + uU23kXJaGoYjebsxYerXicgniqKeKyQsXdjOhzAi6wnE+9Le97edIX3drgtU6VbU + jvGbCeQx7h3RHksUpknjwJsA/d3Q8KxqDGZL3ktT1pxn42NrSwpMv12/ynk3p93S + XgHqKjx2BVVf5WCe5/7hwQePcg4Bgj6psGud0JpcNe+/XWx7861k9ri0QYsa3nka + lXMF6sU8MfZO+NzA5iOaaZ1XVLG8K9ZaAyjC7xN5/iwslrYexqnwJQZAzQZ1uVY= + =s8JP -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-02-18T08:35:51Z" + - created_at: "2026-03-05T19:17:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ//T2dGbD4UFidMWh3CekTAD9X2XBl97rQT5q+xQvKGicyc - FRubJ0SIIO94rOkiliW7P5kv4VxF84gnkQ5IkAhQxQ6E4hmlu73CbrVvNkQlAC4k - 7FBEm3RDFD3LujycOvFuKA0GsrBfQONSADN2D2NRQT/H1RGjwJCUXI49gu3mYC0/ - H9qBJVGnr/pefM3T5kXF8Ck/wd4YUhVGb26cLAX+TtLzzMYEv4Oj/hHYKPMYEebh - NnCeNOC093nWl/D3gjZAkcglWNPt5liH6JGn+pUcy0EaENyWVybNDLC8LoJlp0Aj - ca6Q2yTSZN29AWmlUhXYPS2enW+p6UalpityvZ6qZ0CHxKsR3aLMAF/qrWEkKq6s - gLJviNUo/CeudZnJc4MI+xD5TRmI1PYi8DmSlpsxVioUoryx3Pn5luDNCWZ4baMp - 9ALh17P0oIUHedLrJuTtjlP59jVL8prUDMofJNhdkn+iDUMlwRP+d/tm+ywQqsA7 - vPuPnVGeMuvuEmgaCF4cq1ort1GbMeHP5c+4Lze2J0wpv7XA5lO1gyEZMwEyFlHU - YT5C23phm/vq4JK4RCEfcc+sCSje8CuRa6vrW84Np/HyJrdtrW4elopg82fd4sji - h2ONsnobJwPe7Kgf1NVfI61vnoZzh+7zERzlDnhldWfi0Xh19q69pAjCm9OG3XHS - XgHyZzUlN9q5TMKYY87D4Si7EDl2pwK/WzzE5t6DlL8ur0a0PWm46IObozDUFjOE - WJPf+lSyus/oaePss/r8IrSl1GFL04mmCXcfwsQGvVN/iuWiMZJeu1HrPDPUenQ= - =ZV9O + hQIMA46L6MuPqfJqARAAl0Wo1nNbckg9eG6MQgqEOp56Gq8XND2/77Vx5duqbVC9 + xtkc/Ggpb+Z9cueyXg84zWRzPBVzcAjfk0GYD+sd+h8Umh/l2DiGT6PrNdzcQRUn + +kMHozFiVxbtQ5xMAyKggnd9+aByyue/zFnNSBiO+CFFLvjx7y0MHGl5hj2cGa8M + rx6ggxpumZ1Z4U6X4+yxmyVRLgOM1yN+fSQPCb4x/BK94KnSf7asuJQuBmn9IWfB + l+ChwhtD73uQne9DdqRwzwaOWLcEzqSisDkLZyx1rYVNuw9/wvFw9ykFCX0ixbTV + 73ZcFUVPuC1CZvVjIXgIf1IUeGjpe/2vbRCTrIqS0eBBO/QaXkVg3Zps8/Xq9u/f + Rr/cZFAMenbBWSQw4WG8jFQ1q6HQpTbQrTTh4xuqpqffIgvD0GCz5MwTQt7hhu0M + ucmWqgAbyJEGAX2MF7aopazeA3OvVc523QYcvILzBnd6Nplo1ussaCBbYsu60/K5 + u9/HjZqfsWM680xgqNVq2RY3S4NV6wT6lOBXbzydEACMN1i7q5HWdWeqLWuQs7/0 + NRneTsbj+uQBey4663qGo/lVHEkdu1r926KKVDOgMZ6gzSQ+B0HXsUBR+SU67V62 + t9uJOgYzvOvjj3pHP+LLKBfH0IFPHHYZxPxxKMBQuLDCPVYd9t3v6Z/2k6eeQuvS + XgHJnr0zD0N2DoYFIVe05tPNgIlxu27Ow3uBwz7TeAVN9zVJDwd4lNrVyZmDjkdi + AQKZWJT1I6NSvSiW9fEeq5RgE1GqNzzqSJ3ClIbaMJOCQ++Akoxs/u/oPb8oWyM= + =igpJ -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-02-18T08:35:51Z" + - created_at: "2026-03-05T19:17:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAXlsLV41D3Wi1dHmyEC6Ldx8iztLlzbed/xPnJXEzLhsw - GhWmAGhbqiKpJX/1J0MEaQjXPsMdd2wj7FABkVDSzEt1vxj5TCDmRxvLzSFvV9Mk - 0l4Bx43VTjdeVTL5hIcwci9tsgno7Kucyk+PXEasMoSdG8QnKs2LNuJInrggc7cQ - ntfE8zH/NdMCGzVRJZ8+AerF7e5+cHkZzXemrvUb230mYR0Qi2Oh+oCDLZ98DVYq - =3HFZ + hF4DQrf1tCqiJxoSAQdAHYVIbbrT91Nmz/d6/0AILnxO8ahT7pzleg5AVwBWXyww + 6d8OzNan8TXdVpfBpSk7wkYXluVj77f23d1HVPcao6Uz3PfSq1bsY8KvRn6mbW8m + 0l4BjBZW0rediEg+coAM/GlqsgI318AWgqnG4M2LaBE455Fggyp6CUHzMgkazi+5 + TtI5+4gqnGe1VFij5PjO1bttF3Ox2TVW+Mg9xporPBo7TIt8/iRebrONSOrcpsM9 + =/phd -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-02-18T08:35:51Z" + - created_at: "2026-03-05T19:17:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAzX5C+/vXjJK5oXH8H0eyx05QNU53e7KpfgY5xFunJWAw - qMcTHRXKMi+MFU8+DJ/DXIX4bWul+NPYP62qWRzNj8m9U8Xkqb+Flavf1XunDTsu - 0lgBIzTlMXRnHxqqvqBTzmhUo4f+W81wFpKH8gg6CTb71XWYhdwDKYSAQ3p3jp4Z - ccgVC5TOBXIuahaH2W7EvRzhFDpAlvEV10iCsx/G7Mq7OUJQKEjvEVwg - =mayZ + hF4DzAGzViGx4qcSAQdAH3LHhTQQBA5lk6X0A0N5ikQz2W03mpGBhNJpD+XKMCgw + pwguIunk5DY4a8m2TM9+v4fFBzN0rG8DMLSAZkVeNr9wagxiWwNFngFko+PyVUtR + 0lgB2kPJp/nxwZNQoxO/ex8018GvYoUeY9ZxhZ21w38ajrYWhkKvm/NCy05B1Zf2 + AmigozP+GfxX46pGjv0ynr9lWJjGqmK9CSVT+XNCF+p2sYvRINZemTiZ + =+gpP -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-02-18T08:35:51Z" + - created_at: "2026-03-05T19:17:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAA1OSmmu63L5o4BNZoos34gy1cZS/eWlANZgGCcYjlfS43 - W2teIqa7tdvBVal+xA0DNw0CxL7quDzkY/5fwR2oFOYRIgaDyzh+IrKzBXSMVmnR - WXneDKpDRR9L6tiZNrtuNqgiwfOXddGmfuNn2ks1nT9qTku1+l2BiwFxievvR/HY - wxuqWmYNo/QePdm5y8cJbjCDj0loLzNuf3I7DBhsxLVndNo+2CKsj0GzKqGKvGm5 - EXaNgwoITfYFOtvp+V66YyQX2DkbqkiCpJzuBOxoNcPOwgjEZThxu3xdDqWd/0Td - PZBXLnLDQiUpRG5PM22Nf6h9yJN67hzzvpo7dLgslCVOwqgbOSpVdcrRVH+hrxes - sTnYluFVHzvCaR1Zkrn/DZRQ3EpBPGh1YR830jqg/cB00ZksZPBTZQbPy0ss0mMX - JETEwLIZveSUXRZGu/Kq3sCE4wV+4vbag1fnjpvDQrEze9ocFd2MZVY+2y7+bpUz - 8DV+806y+TAZNuvBEW9mRrIY01Qnjx7dOpn1399BZcqiQfAOPyWmPylLO3/PhG2s - YDHvpy/6MQSonftizjFf3cdASpHoO2Z+jYYEsr+BapjB1gugNUGzY1SI05hOYMeq - p/ut5aU9iessa6UTokYsNlsydSzwWQgBmbum+d4Dn0/F2JzugRTdrahMWIWHoOXU - aAEJAhADccfgfSJzMT89s08GW839JCMXMSTSoNom1jJv8RB6jUAsxHw47qPWDQQX - YAdhIY2djDcTmk3T4HlYnUoLudipqqalTamX95I29RTh/a5kCFdpyjIm31xtZQAK - gJRIsIrSXpAc - =0yYb + hQIMA2pVdGTIrZI+AQ/+Is2gTh0SzsedsONHEztm1jJCZdjxN506HyxQFZM0AJUe + zohG/242J495XMTJIdRyC2dEo61NoLFUSLCejJhubimrKxWxvLABn67SqY/RcUOT + NwAxnzzN/aUkLwtH0RGrKs5teoJskW8ISGcSbjPHrTIIAa+8gGJsmVbWpSSwsET0 + 6Bg1annLsqbgGwvNs/xqaZdpwU3eqygi3yO9VgMzk0vzPGU0t2MlRZrRHnd+cilw + KIdr1vkAwQlBtH8z/Uf/DLjCaZ/bw4rcF0gP8jIkOUb8mAk7Inrj4kBiyPY+eFA1 + pgVfRZCYZZrDrmAxwdRNO1+d5I+f0afQkuGPOfl3cdI25eHmpGP0tprWyAekN18b + h21BI05ybXJUXTgjZaYmiR8QTTHlIkAXjJxTPfkuYoWw8qvw67pRY75S22BqQRN8 + +LZda256uf/sBQwZC5xx2SRB8xSoqbGg1u4b6T4RwgdaLVZGYnL2j+lwaL/Frape + s10SuDFmQamquz3lFk8OdyEisfkF4z13L+YPL61uxuF67OJeesM+Aa9ZvHVQUO6B + bg37mwSibj8OGVXiCcOz0YhnaEezbNk5lyLWBGAvOPCE2UR0XyAyXR5+ybPnRiy7 + HJna6OSPldxJc398vovjyRZDegfzLP3hEIc8Uniqh6vt8Rey1Ab7dS2bu2YEQz7S + XgF1qv+SwU+6hbDn7InBeXjp2desOxwDoWZcHngNGJJESE+cvwVkRAxfOJzqAgV0 + IkXvhs5UcGWGULAUAnbtNGkVR0zdMMPixmLOouvW2Veu4WOaDmrXsKwLHE7HovY= + =/1qJ -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + - created_at: "2026-03-05T19:17:46Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DKKbvh61jX5USAQdAo7eJx5yu/jiNQP4vWQ6CYOUHMosqrzOa47/VFyTaKGow + sHFcw04n2ETlYCkN0qGZsASDv+7VXwo0jeWmhJ1ogdEFYmYpbYquPPQ45Ts4B285 + 0l4BI3HFe8Fhz6htf1ys1e9WlaINYFPjFnRddfwDPlQenIluQiV8jd4RK807ocEf + DbsLSh/qWVsNh+cQbr9uWmIxqahqhiMLkyQIpprhFBvNV7ge8OR6PY7Y0FeALlzJ + =Mkml + -----END PGP MESSAGE----- + fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted version: 3.11.0 diff --git a/inventories/z9/group_vars/all.sops.yaml b/inventories/z9/group_vars/all.sops.yaml index 5f738c4f12..3589945dfc 100644 --- a/inventories/z9/group_vars/all.sops.yaml +++ b/inventories/z9/group_vars/all.sops.yaml @@ -3,195 +3,204 @@ 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-02-18T08:35:20Z" + - created_at: "2026-03-05T19:17:37Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/9FinixdNstkOoY60J4s1cyGVohPL9QofBZuVxCpcj3N48 - AC6v4dm5Dd89DKBn8aG7vGPmkdv/eTiYH2L4ky/HDqlPd9NDpQ4SNTwWCWTsojmZ - 2xO312iCoN+EuWCmA7t+7fnTAMvlt0VtbBiYeVE4DNIJlhIBltnVjFZw3mJvTnz1 - hacOpPP01TJyOQhcQfa2I7Z0CovsJ7cUX/Z+eg62MiMPa3bK0nSyxnKkucQEZjnV - qx4oL13NpfomjZ98myyAlHJUSJw72vWgAR6upRwRK6DP1m8SKvKcme9MZLpZrXuz - tH0ngQbE94Neha+HTRlytV+227/pj8/8DmWnNbTcpwTdcToiRFEj7HFW/aze/x6M - 3FGgk9MUTdWnYgHuDx4vSUsi+45OLijyTPw1RViJcDS8/7oB40Zv7OknYExwGr/s - 9ogD4kwEDJ2EAYvxa7leRqmGsppH5X4F7nMvVq2T7CHIN4TLd295Iy25MnwdQbBQ - AzwTUFaN9nlp9qz0+4hGC+8+SmuaTwkEFeF/55O8htlcTLOkJgxDOOt0lJIUt5FY - GKpRzsaQygJQ79pPSr4Z+T8Kx8PiWajepWTB/hr87qBFttTTAuXk5v2fdl23jteH - 0txFmTovHlhQPb1cmHXkfaxNLiow85cS77xTvegLdIO/uBF9Fq3XyAFwsmy06PvU - aAEJAhANnt2ie5GrOrOmxTF+SJASieNoLrCidAkkYUQLdehTSmFthrRmNCA2DCJn - 80DpbsirUaMP/nwlPO/56cHsvarpGyKD4VarnlfYynyTOY7X+k8QykKedaGkuPWh - En1zjk8gDWq+ - =tfhu + hQIMAxK/JaB2/SdtAQ//TcWYrR9avzZVfc/5hUqUIAQkMf5MZz422BXcOie/rHlA + J5FwuPMENfiUi5gwJnr0Q5qqPgqtJXtF28xXTy1plE+S0bXFL8DjTvkbRXcfxKOW + p8kg5COOkSot4Bvd76kN4jLU9O/HWbl6WEvgMv/7Q21kxwBYYR6zUYKcYtKIT8Nd + f11tEV8SHfVX/+5CvtXuNI6Mef/OwwCv0O8tCU0zIhHYrf5dVJpO9i5JwzoaVHAm + dH7u3uN8gJhrmHTle5b2XeQW2aCr2NGneNc4LzS4gd0iGF43dQtVoWFLkbUJWK9l + k98WAFqYmkaa4bPF3lnDEYBKse7rKniW9dzl5xWe59Tb21KeLZ2+wLsLPWffKlnQ + elfdWc4d9t+UvvK6okB8NmRisDAfFIoqRu5NnG8YCvF+U3wPXSU/umNIdp9GgcVB + aef+apsogE6Wh7Uc23Cu9NwzpmpQ8aDZfFOs/+r3+N9fS8sRIucplA9p5W4T2ARh + Y3ESpvhg39qhiXgSs6IJO+YAtRQodeoAq1FKFs9pnwpw1Px4QO1KAjyFwTZnTOhj + fE2y42GlfJUbAQTb+yPJInnfuwWS/Ebm/jRWNKgQpe6uQ+bSl4ffrT2s00fPAr5E + S7PcjIKWyDMuW4Vff1lMFxU+W5I0+j2ZrFXU5ha226aXP5O1Nxa4/rNdO45p9wHS + XgFcoRyYsvO7/vAV5aCvTZfX2KpCQ5lyh4+CJc3xevpWvxBidZ3bbgpihcgjpMYv + MBU4NXn7ihd43PB7bVkR5KXIol33pgEd2pUBpTaMeKqycF2mdXKuBOV3gDgWHec= + =n/3Y -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-02-18T08:35:20Z" + - created_at: "2026-03-05T19:17:37Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf/UkYYydw9ktyDiiqXN3Aeyy6LVM8hwVZ1JDyrY2ncshyu - Plqtq2mh1HLjKpmIWOL4xKAY4Chfhn8VG9cODJTWlFV56Zmt+wZmgWtcDfK9kKT8 - 3dXzDPU6xCEs8RO060xztmBUyf2nk4tDnZVfc90kMZhFXuRyBwdEZjGO4GVRYwlM - PUAMHERptZkWHvEfoWRxtjOF3EZ1OP+qLvwphE8u71s3yEHK966TPeklq98oaU8F - Lch0KF44i8eNBdHlGpIAHGkDZlbFmX/Ls9plbpuZKtJpHVNAcs7Ugg+3vaLbl6D3 - 2eUiqtl4s0YiVAmVcsb6APvLvNPX+K6ZHjVxcEa7bNJeAQ7/W3AwMOFKzrhjzmx7 - z/l036bptPnc3y2D+9M0ElV+jRLtFPXwd+uUV4+goADgczYqmJtMlr8kt9cREJZR - +3kGYZNs4h6331P4Hsfo7gswtm/2DP4vfZAiFITQ9g== - =F/iU + hQEMA1QflAioE8i3AQgAmmtQzIOViYV6c7cUBnpwYHaI2WbTo+9zftn9dWE6jtHM + PQpWTqZgvdPiP9yoKmsya8TJURJKAfe2uaJlfZDisI2qwNcc8rRm9QDWUCIypTWY + Hc8dqbu+2e/Oc0wc3g//zvwbaNR03pluNMIA3E6RUlxPv+IsKtjWg3KftsyNSAnB + KCLfVQE84wP6VYOjjQl1VgYjh3I7ralt6s7z/GHNmRYXWdmEIGz+yYsjW4BClKW4 + AMwmOHOXtFgRe21pudK0Ks/duBaGBYvewlHClGMRs0UEZw2ompPyoEJwR7mTDEWu + mhXel8iUCdrynu3nCf1TYDS2Y0Uuqr4H09nyn5+L+tJeAXd2DHFnzofOyVaGEe6+ + +B/iY/kT5w2Eh+ufqQX3VVIugar7T42WCRbzD3gB+f57LHmndzqYytL+COiPpxnM + +WmtlXW3yTOrW5pYcxgSlYn2sCx6tvlWi7WjialxhQ== + =X4dV -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-02-18T08:35:20Z" + - created_at: "2026-03-05T19:17:37Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ/9EMcF6GnYRuaTlGpkXhnJQZY5ALyqgCbSMHtnRhqD0Lyf - sJhjNJ+d1lOQC+gsN7kxUU/sUZXPThS4q2OkR8LUigAHSnZezT18ppOko1cUR86O - KxvAtOYcg5HbmyzmhLZdrdnioZNPptXaebVRMJ1SicBZJPYGk1dvshQzLDODEUHZ - BA7/t11E6Wdt/LF4FSS8RKFeA4vveocj8L9h44DBn+zFo6D8FQ1AsJzlGRTFtTPK - 6owDi3V3JxFIv5F+W+nf/n8Y83e8lqlOva9SOxPpP/3mza0GT9MkN8BtgodPSWN0 - G+k0FHhew44CYWRBw8r+wVZg3ZZ3vQlDXft2j+ETSOBvyErha9ABo5uJzXcAehvW - 3JJDKqbs6LJr/+hgEbuliEM7g+LOPoa05cQYBDk/p3j7zAp0RwohHi4src5HykjE - R/JwYeSuVsN7i2lO2An4mKge72FIIi3Xo2gX5tRwtkH4F8BSvg+IygDrYLRNc1Zm - K4cxEkkYjgazSPJWvIRW5RrLjwjo9Oc/nfgZ6Bz4nto9SCn2vBx66QVx/jc7qoJE - xg6K+sanFqVKJEaO45YXrvIv5erp0umbyBam07WjaJYb/0Ww+4nLvo/4DgOJDFMd - dukNSHcOWwCfw4pD+EyPaTFCk0OoTN3Q2IiJacgP21lp88DQl8Ex0iYibDlnBxzS - XgGXy4KYls5DrKKffxVpnz7kqsIFEC1OoKRKy1rDqOwJShHr5/CT2l9Xx6q1m6jU - Ev15853Jwspjo50fJ+vG3NwyMzDlKpT+2t3GxONxsIakqZZLbKbmfbddm82IyGQ= - =qv3p + hQIMAz5uSgHG2iMJAQ//fZFO4nJpBthrHtnY4hVIMRyJqmtdC4cRQ9NP9Czst58s + 8CE6LI7+TQBVIllndNimr+672pYdkoGsDfWxJdEKsb2MhKsevCZwowfu5wnKJK7p + DPq7WyhYjJsDWiETV48CuQVjX4uw77+2gZDIINsB/dov4fXxqvl0hVM8nLafMoPQ + sHgmoeb/U+nly4vMqejM+YuO5oOWYexNKcqQpAUZspfV409lpvzK0XJNysDcbS4L + nMfCaotJg1OHhhO+Qt6vTf4ZVDiRm7y7cuv2QS+FP0/4KSRxyF3W4dMSRER7ZJvZ + xLBycfr6lJnhIr7hqCssq2gBBczhHUfdZPEgkFSqGkyzCITwxxZpm8O8QxvXaqtF + FpvtUQTMqmP3R8q/LP3+gWV1UehjYA2e94h5P4hZizhuW59n2dytyltSGOWdqHp7 + IGS1OdyeSIZ9DrnU5cpgsytj5lJjSFyi5WjA071PIUfq5TYOTNT3RnadSoCq3sQj + lGASciJtEs67CXlbweI/tn94zdmJRTG7TKpSkDXr6EonMgUtUH6VMckMmskDdpqt + ahAqL7x4JJvrLBoIyj/n/bV5kqN+UHl1EXNIsWW7ZjCzlZhJxFMBFhBZ64EHT9UR + NFVIbuPC1jfggZPjhCLponDXSDYeCYjQb0SFqYKjRknuIb7Hcz7UDfkPlmYiA4LS + XgF3RyZNTm2kvD/uY7UWQZsBPBXks1ptcoM/OfZBrhVU4qqDcbdQJ6L7uxXddyfL + AvdgJNK4bw0O4FOMUb3aPck22Ft7gAhg6I7/2ComQyiJOx7KiDSwsxluxwxb4Rs= + =yW0H -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-02-18T08:35:20Z" + - created_at: "2026-03-05T19:17:37Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1ARAAoQSSLElz+wP/oeIBdh2b5rDOyShN48BXJjM7pBzEdA7q - iFT069Xayv3PSPky9uoxy5zOBoAhYoyX3zlIJF773TfSpLeVI97g13LQYC3DdreS - JQnMug7WbTiB2a4ij3kQdMAnL1yrwT5Q/F7byRCeuZ3CDARfx2fXzykMU6jz7imZ - 72pMc5+Qoierry9ZPgYqRK68t1p6nhHaiVLnfJ2lCzbpCqktiKDqLBGskRP6oPSv - WhnUUtuYAEuZkHc+Xq5/V/aoB4+Qg8lK7mLvNbqVd7rtBJLURdXHst9WwgQ6HQ2R - lTu2ARy/rBdDaV6p1nYZAh2j8kpOgXltxYeV3ys15+hRuO1kib/r8VrqApUy8SGM - eTnfqJb+xqMzgtRSkRfywEZwiDPLVrQ25Fs6xjelrSHxSZF/CzGDV8ItICrgynA6 - gTkZdAMcv1Nv8NDmQEGp8DMyDPji+OiKKXSaA8OQzAO45kMoJUUJY8PcB2mgvO8X - 7NbfZ5CjQi+a+EFgrF+k/c7Gh1sYZivUseRT/H6F+UtiUQBVMQDavivzPcqL4Pmj - C0VArlRfA8URFfcEge23xgjwgu2KZ53A4EnernXYjyYuLrrY32qjTVui4DMK+yf9 - ag0s7eBG5QHBLO7eS07L8S43hyWNJTU1AP20Plx69YyGI7Kw9nDLaFP9sskW8mfS - XgFOjDDHZM95iClFgMx1K/A3x4l1iJDVr3wUvXd76aj+GhBb9Ag4CUmhPrhUEpdz - vVrdsslq6u86x9aBk2TqxyT1s7euoqcbt4NNiSC6RoHxfz1smmkBd1Ahf0Nea14= - =AHeg + hQIMAw5vwmoEJHQ1ARAAiANJ8DyIHE1fymZ/74rvkYvEWAwS7uQtmpkxOAO5/2ol + tEFaieR/JTv/NtiBv9wblutEftIJV+KKSBTSFkIEH4W6S6aULfkj4kcn/74g+xIr + VcBt/VfiV50Y61nqJQwFirgVBBXS7dwuvCkqK+rBw13FZTLHpin6MwgOlyzh4rkD + p4+BrFEpFexRUyTomzgoWHmSmcbcJgxikKRDNRlFeuVyUMrqHCEipWboLyV/mluU + JLbNHKb9b4kc7TTJxUj5ERNhWWu9AG5AXxPWz89ytu0obydRiNZPRgjg2273h90A + 4y9g6YxvBXVIgWmJOq3LVDO/dnwOQdr9P13+Skd6m9qCudPu1r4B2ZiW3Ptn13P2 + 3m8bGuN7wLLbD1YZN9nDiwFa9uo9IRfKAKqBW6p/JGTyKcdmi3dNf+EvKoea8hNl + cfMd/REH9+Xdt89dhjRraBlgyrIwSRihpDmq3jb4s5tl2DUH2CHd0Qcil1hWukk2 + i7hkXO5tLgBWil8LdEP/wyapiHUrJ/lt/Ek61XI9y2sgQUp2qvo+KUl/z5QTggFY + JKTy9rCXJQy0gQ2tO03dE19OQ2XLVm2qYI3/HR/YZdYxlpMQZtozaAzfhF877nBk + 8U5TwsQs2gIRoA7/dXGpDwUA6aUiKp2B7R7uUrua6rAjoKrhGuOZcnaOwq9qf77S + XgEppiLy8qF5MRFsUBlo+FLn/LBetEZxYGmnDfgX6qIfpO7YOoyYv8TAPDF1Yv+X + 5z1ZVLb4EKSMk/v34p7vYNIWMToHWkX1Sg8s8QRH3edzOpWTSXxZ4xtBPwucQTw= + =mESU -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-02-18T08:35:20Z" + - created_at: "2026-03-05T19:17:37Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAfuQXRw5B6dnjfLxfs73z/BEsLgDEfrbosoJ9mK1mZiIw - Y/XVjPzaIEAUzSlNKyPzoTuBENQLgvt+94Y5jkN9T69ZMM9XfWDtnC0MmRsNccKI - 0l4Bgy4tYWNOCkdOLoScyGa7D91f9cG7gHSiBbhFFC+mZi4ijO3Wtdb53kiUvpVM - YgJANTVlqBmdh91mZDt+5C1ortrRVqb3msG5gLbaLcITmKHjHQg30gVyyJ/ybl/Q - =A6tc + hF4DerEtaFuTeewSAQdA73wzEYVqC8sYbxVexlNjIPGhJfgGxlYe+zjcDOfBbW4w + pe6Dy5elm0bS1YQ8aG7mdP+dvajYJJD/oqOfLdrnnGXMbdia/dsNscR4ldjXTET2 + 0l4BV6MzggUd9ztkZwR4ztrPRCrU1ZqVW8X2E4H1tN2JSs2M98QYpUYBQ2ljWmzw + pIN4aJsq6Gp2mApLXDo9keiYyM9pxtk5MIudkg1iSsYwBWugKZuDTzv/fRX6cIQc + =csXR -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-02-18T08:35:20Z" + - created_at: "2026-03-05T19:17:37Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/8DHmd8fM9ZIvmtojUf9/ArkGm4pbpyGMNs2z1lFbMzJ5r - Rav57JzpzzYkNzG+AeS84vHvUyv1zP+SS9gq61nwIje2IGHsRfEOji49UKhLgW1D - iq3k2JaageV+sltUadNzh3mfDdg7EDBqRa5NnJuwEFe2QKO+ueBiBTtyBum1Gnn5 - FGb7Ae/n3+Da5zewbX2jwOs8EdapTPkrcm45L7oIY+0BZHMco8slxdu0Oh5MAlAv - VxYx+S55MRTA93Zk+7fZ1dkNYo3BCVdLafdhb0wJEtwkvdMGPIOi/ch3kzOaZqQt - fx/nUJMBlOfzuE5WLSE6xAKxtHmT9a2swmIFtQ1BfcM1eJsETdwUPeiiHJN39JbP - F44p4DwmuzkjoDjOi9Wu7zciyZVuvpBFu0T2jRdZvfZqHdhlEQYKOBF2y8cwSAnj - 01hIEpLdpRlxF0ClbEc+RKTSLH+lc/PUE2EHHRAirqVEeh3N4jxliIJwBAbrR0Wx - 6kiAMqaKAfz0j9pmBnJ8EVzpjPBjV8yrJzUPbsF668snworlxKB9dURMOzYOIfWj - /ZfWw7PywpvriZcHBAAAlL0dU8NHysC45PUdCbNSDb2hmf9Km+AkC6kPUBlKfB69 - FodTbf69LByIYzsDUbifn0ETPoUMtadyaFPhfcS30Yhr6Z40MsCffks8MXkBsA3S - XgHDk1JUvZIUID8kuK0kaVhb9PXE/VKTnxdoZ6nycppntPtz8fq5U6BL/p0e9Uqr - 6F3kut9J9GIcGny+hDpFfOTCCvwPaQrO9ulK57U428UiG/rUAPZ/VgrDaTp0880= - =ckYX + hQIMAxjNhCKPP69fAQ//SGHWa2BkIFIciLd/2qPJ6c9BvlF3pcut5syUBzTc5VXW + 5nTXOC72zr0Gc+npgAOC2vt2KcRl7aGuSLgoZ+hnicDW0y0dcUJG1tn8A0nTFb+w + Xaxc8SWE8LhVTy4584ww65cIWDNIypMrSqWRLTpNp7ZTMtrQYL6CXwtAhQ6p4IIb + dj8IYfJ/QF3aMBWAvsSdIhhKkZ/QRjav/AfK30Y2aex6UN7zvfsKaUfsV2YpDEG1 + UuFU632H2kh8QIdePDBwSRrSp56bc83vzAEO9toWBnfKgb2DFayq4Jwo9n9mpbuL + DHJEOlBnWxTyfc0oZaRYdE/8EyU5N3qYYGK406fs5qcwRewiC818SqD0KMnX7wPW + uS1lMumurqDy1QCoB+Eju/zzvZpj01Ib+mXkyH3Y7aVR3M25UXVTWKa2o8fXXBlm + K71kfigOaFQlJFMshO/ssMU26hfMfDERe389UGmE3COBCANSbb+PASz0c4xTzZwA + GqhKYc3JFobIByjInpm0rUe/FElbE6rfJTaFVzzDXDTQmB9/ZN8Bh8TkUNCheGdJ + EYWNWH2YT7Fa9wNPGIJR83Sz15Dwezv2o2OyNp5c7LuevWBpZ5STwPDmE2mACxGi + e1lSbwui8W5B9/w/c9I2fv7CbSRFMmmoMal+R8yyJrmPnAprr8OjOXQ7hs+n6ljS + XgHa2pgfsSSOo5nYGZxk6mCj6qKE2fKLRszDksDAuzgfOk4fcfDrhAvZkBCxX8FU + 7ATL+cgSqsFSZBU2RasPI4k5sT6Ei9GZgDqIDIRLMtoT7vh2t9nGPZPJyOzRRwA= + =6y8M -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-02-18T08:35:20Z" + - created_at: "2026-03-05T19:17:37Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ/+JiItjEyzXeUJTkw+YS064j8iVLd87CSjGSAsiH3JQFSy - 9v4XxI0x0WSPORi2x2rYK12L7OQzj9omfHuroBGAhT2x6hMjTzPhGt8gFWNWhdrw - SX0pq+wFch06nNHqYWmpLcKRRyU10TH7jkh2LLbnZE7I5WY4PLhtGEAOuYpGb9qg - rvqfo3xdyncDvC4FITRGZvMiFsfTV/nyuNc0hacsgFLMUQnttg3DxjR2/Xt48q+p - GFpxjcQIf1BzTDILmn9ZBQBd5R7KjhpUS8GYkulAsm042WapefaE82Mculqpjsny - ler8oo7kICqLxZmEAdGRJ0R1k5iLAvmH1ccgiRyz1wStNYkP6GJwRs84kdHPWVrt - tvQnvxNllkncDwD4kYj99tph7Vujho2QZ31H7AReuytGmw0BykZQMELIHs+N7QUY - Kd89PCW9q1EkFWDXG09PFBaZQn8Z8Iet5oma0r3XU3LCARmZ/rBKUdwibhr1s+/y - s3KTfm0sO1pIQivsXEIjKIDT6cXFQTHlPhzWoqsgN1uqqgprB9jdQ9Jq/PvOCeUb - JAFwTu8S7gnqgnHnbKwJSuIYRU6LM0pXXgjBvcsYMbnwSXuh9Y64/T9roc7S2U11 - nrx9P4o5eHl16oaSMcjCbH8J5Y4H9wOutLHisjMlFcWNnCUNUrgsx13+a0K9xjLS - XgF3DvoE0qn5i/ddopDzI9wry/IFBs1PUL3mXER80m+P7TtDfC2eAOrbI4ddam5l - Kzf5nOMhJJnZqNbdbeZKpTzciNXWExEChU5D9wFwk1/gDTh+X2sdbqfkuSutnaQ= - =3L4i + hQIMA1Hthzn+T1OoAQ/+M1f7Nrxa6kZToz0PjLTVQtAa5l2KS+R7fjMFtVsIdRLV + hMTi9zSsyOS2mHRarkS6coZcAkYc+e110aSf1FOP/hAiWN7R4M3HiOzA3Tx6PBQx + 7DOhQvneTD8lnV1969ZdLMsw0mI0MBX03bNJ8U85Fr867ouX98KXV6Q7ivcFQV8o + K3nC61HbjTuP47tWOw4aUTEDVL+r+NGPAXezTPgDECMdC6M/zb2yrruIlXZVAcMu + FhFUrtiDlQOcDY6H9+y1/QXCLT2afUgso0cqDz0Ww6amN1BV4F5dqjAWZlNjOxzp + S6HwevSIFamqsmZIjmyhxZ5GeTnuQW8tl0nS/CR4KV6yEYD0Jp/Znx9nJft7mfk8 + aY9+W87wNU4BrMF+mLxSnfdOItp4Q/RG/EgYYBIH7yHYlCnwW7FjQee0Mw+LQamF + X63x9NClEpUGQx1+bldR1ih6AkBQ6dRIx8vnpH9D279NRC8h8P1jxjfAwQmXNK10 + d7l5RFCEEZxYNLH7F/3BaYV1zSMsM/5DT69+wyZ6wJ5W6NNEdnfkF4wp1EHL/LTE + N6f4aVh9ABVNm/sl5/qbRGTWHUg/+dEC5Au6QivMYVxhlvfxEgnjJ/m++e5ERJTt + x+PXE1bjdCIFw5rjM5SwNjUN72FiqtN5LIdbfrZpGcDz093rH3YO3wV/8QHSQbnS + XgE40a/kfrLV+ubdp1XX5lVWUmfS/FZXg9j/XCcsUvEdaWXJMWPb4BeS1Wcaqi7X + xu2AkZ3Yc7SSx+jRhQ37R9Gme54HdFCqnSWyW1sWIL3VIz9Ykr4PtvOGRsIAfz0= + =lgdK -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-02-18T08:35:20Z" + - created_at: "2026-03-05T19:17:37Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ//fCWlMO+TZB3lJc1OHjcinFxvN2B1gMbH8AnLsuDC+BPs - delqAE9b1VHlZRZSnbN7c0Me1kXc74w+AojmWTD0pGZE4u/fp98g/R2TIs1yFHWT - TbHJIK/xlpvLlS/7UCFcigso+S1Pzv+HN8eIafGaYovqQ7YRStgHRM4wov6CIpTX - t1PesR2ZHytRtGnDwR2e0PYeaKK3LHIxeZySLzQ3sK8LwtxKipjHpCzStrKe8A/B - 6YcW+7TCLpuDAZiZ5hZhxZOd1RPirnwTXkaQN4gwQNlaMMMhDl69I3vIVUmrPxRe - IDDE9azwgzNEEd2Qrchm5TmYBOKQpF/yvs/6maETaozH3ugBaAAPVqumIr2Q2lGi - uFvR0rm+AuQSjxJ2B9fYdzgLWHgwPIK6vh9zdsfEFaELhRZbTD34XML7MpGMN6gL - Tm38smy2hiQk5QepGU/mowo3RyzCbSKIbmCnqzsCFU0YkWAGDkeLa051iBnRT6tX - dnJ1nYPPxenQ2x43aBvk/tqfoZcHI4YN5CoAfXgZQ5UL10vHgMum1T6QlY+VFnFM - Da42TEPtavUgxggKrmCE7T2o3r/Yt8hplUupUjVeD6BH6Y6Fp0Z46dl3TCVLKJvJ - 5GXBuK+BzUQt9pe5AxarnUpS/87hEAkh61qcmy4+8hvD6R/SpiW3r2xGf5uEGjjS - XgEHhqQILpOZRQ4RNGMeg6o9pijibqsRY6qEo5hkXWO2GUra7JjWcyT7Cb/BCef1 - b3pduhEwtx+gcw6O4D/l7ruRPhpm9AihIXKpQ41iC2FAVdZYxaxPqCF5HgSrtnE= - =HzLK + hQIMA46L6MuPqfJqARAAshG3kn+e+O0fU3VIdI2zI6wmYB+0CfgeZmAiDQR/VLV4 + Lx1qYGzQRV+nq5/URbBuPqHTBCw8aGiKZ6Z2LcTA8Qnp0tYsRHK1m5q1ZDb3oOi3 + hcZ7JUiYhzb43rgattSlu8rr5XrD3MZM3HD01z+poDhJFK7zttB2MnJuj/sWKGo2 + AY8KsKK8KQg5Mft7uyERe4ds78fJq9gSVIREPYfpSxDKLoO1fgqAW83zhelNF8cj + NAotL0pZByF4j2PBIN2IIJsmeRzrC/YVN74gC12eJR6nqU1hSy8mxAEMJY+YJPbP + Elzsp/C46TQpfXpp5ZX7syZUNGsNqEXfJrMuB+Yw1AVZRe7wI1Nhsxw/PvwusOzT + fYL6phNYRHDdcoonC0O7LWnc2YObdtEAqTvBRskhoLldz5n5HB1MSoxPI/ax4sGg + C1c1jkezlc4vABViC5aJRrFYCEZYl/hS7lzSKcSDv12tFLJvC6CTJXuGZAgUvusn + +RyiwkcHLem9bI+xwTaYfov3gxW0Hl2uE8AHepdPhneRgXzIabDol1iEsb6DBQ66 + KqoBuG5tyJUWxG78e/moabrs1qrjqZMClNdNoKQanjT5vRGQHPHfkuk4NXXaPgtE + SR+/fnR2MTjQws9RwQV+s0FL2z1vf5Q0MTt5TlM02woHp0airNTW7a1tesgdpuTS + XgHHgveDtgyYD2rlcb4XE16w1nj/uB4pCnZWWj88alqPMT3RdAo2k6MkT6YPwTa4 + ocdFYOIRYPgeIHzoutAvOsEGPdUyWTYu/ezidKkRAo4wgcdXr/LWn+Hd/ehtt90= + =FBeg -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-02-18T08:35:20Z" + - created_at: "2026-03-05T19:17:37Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdA3zKjF0IpFaNsBU3l6pklLR4AcyexBff6RBgKOOf+lSkw - MIcUhoBFEFejpG+RlQLAMfyp4Z8+1mTCkhVpUF+WVMwUuRk4C62Yfj8qjOco7VNR - 0l4B16tIDFvdffAmGF9KrqrxmiFR8VkP2MR8h6rLbMvT6Jpc+HTLKnu9jRYPOTXE - SAFVlMn39u4fXCd312AMtxKBYHfBrXQ7pEFOXD82PsWPK0lBYwRure8K9fs6FRZ6 - =xQ+D + hF4DQrf1tCqiJxoSAQdAxwjhhKZfKbMWGSvnqkLozGsPpnMzXQwhAjTnwj2Ctxww + Mn4Nf4lLBbhzBdHJcdHoKr+j3uO2U3UkAt8NcyOcPK63PpHhHPx7osPyI/sio4u/ + 0l4BcVEHLdBkJ81wm13Pmzsl2JQSyhy3skvT0jfVsZBo5+K1653FKHWPQ7vbXJ7R + 3x1PpeWe3+sTZE4GASTwPROHyHc3nI8fcYLKpBhgXC8TOWJwUDyZ5ZtQPM4T84bf + =MRlP -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-02-18T08:35:20Z" + - created_at: "2026-03-05T19:17:37Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdA5XjXlnbPli2BAfwDvnMkPsREtvwkzaJq/T1XBDrqbl8w - Txis0tn5VDvtn4LmV2uL7IwnElPHoxii05JNmbkhIvR769384LSZLgeyfEzFGR3O - 0lgBt8JuNNDqAcxzFtw50XyfJyQbUKSCUHK/nWEmpsesmInynDYVxoVP3NAX8rdv - WR0zvD/5ugNiFqLbWNDEAb+0tVdvk+45OQKCeHcHtdwe7prc/DMNzCrx - =RkFJ + hF4DzAGzViGx4qcSAQdAbKZyPZJBt/MimC2KsMklS8jqPAjbmkrRXObmh2ZPCVQw + DOlXtJl5f8bdRlpUtxwrIpmlqD1zU3l9T3mZOonhPcrNJjISZVl9UVjPOEZ3oSH7 + 0lgBM+2R61zXfhG0VJhLEw70st+39CHvLuJNYNGkgNVQ8ySx/k8Ii3V/nIpmBGTE + cJatkb8RzhMK8nNDmxP4W+wE3dX0FoR3vQolHpSGqJF8ivsHY9Jswz6n + =wlDe -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-02-18T08:35:20Z" + - created_at: "2026-03-05T19:17:37Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ/9EQe2IwD4XdmH68ffbyc/jDr9UbnjBMgAGRuMZ6aPEe2V - fPp4eBEYrY+Ez2xO9R6p/6YsziDOG/OEDvyCC16tFFewCXZCtpz+DJbM70Lp45jn - TTu26eb/8sllJFBiRU2mqnyhXag7BKwpVaiLIIuARIdtUcuTTX2TEnHHXNu3wVzk - Nsnh+cSjKU5WqQU704WZpIrxJ45yiQkxdx9aM4apjPJ+loWRNT1OwwjcTRWUyAld - Ix8GyRgAoDRZrzawqLwYtK0crxglJwYY5GwbGGO5+eWDZfmuwxgyApIB2s3ntdmK - fIzvYpxs12SzkDykNAeggYewo0eDY2w2szYHy5YXqXUp14+hZNDMDRcI6c/0B/Gp - KGBHL0ZSRYKh/2SPGib2xPwsxIR39+d6nQWfUaKZo/fKCaXfieS1MPL6xrFHdOP+ - BzJ1mPl3ufDFCp17yTCZ7im0Kz2LprxIUwKocRcC6rVmad/EclW4Zk8lGKSmCpNI - IfLCm+6duiVgIkIkZZ5oMP7ZKnQ6N2lAiUkdT8JvOZuZ2oLUvJezmMw+681DVlm7 - rFXRtL0MWfhYtF4C+2VOnBKoecQbBAKfspZr6riEXh4IAkEbuhjRKtlc8gYridxf - EhpeBCmwJJe0GBPSxsITtpSFxP7rTBoAMycPGSgS/4qV7Mk6kgVbXkVwKzO7YmfU - aAEJAhARAPHV3mYN7N65PgVUR1+1Pn5OCQhaSLk0JgTgxurS1C7NkVHNWh5mLpqo - HtRAnPJQ8lO0lWjXqUZsHXDGehqqjQVqfVEjLyey0zzBwH4ekyrUl6OCQJVVA943 - s12tDEKSTtEM - =CXbD + hQIMA2pVdGTIrZI+ARAAkwIEToUypnv91qt47E5glaktiUhZRTJY/XeIY2ModOkz + AVnC0DS1WUEXMhl9eStEvItEcO/YS7vNUbOA7MdkiAcvMRKyZjmp/Cw7nWUTVEUH + YGIJYUNWSj7yyGFj8nurz/EDV52+PmK1RuiW/rfA9TKFJwda+jDkHHEMoO1qN5Aw + peVOeExnA8CAzF7QylN9l3Dxfn1oOqHLpRIR8yYwjrSeCwrVxkK5IAn2foBHOAAf + sMi3uwS92l4sv0LTM4yvkZ9Jz4wLOkYr0EmXAp88ikXE+y5FJaBbQ0Li+Jq9PRpr + eIVAdRwVpbA7N+WiX7ghwNimr8pSRZSAiNRmo1KB0tc/qvv/8cMqQpNDtVt20Z0C + /WaHExSPkMcDvMqixohluiVzoZDLJkC+NWi8/ePnrt8CPy6mfEPpgdgukXgVltno + n2kzBaxXvmKOQzj/g56LbZNJd3jFjV9ZnxZ1bw6Dyb3uiiFiSLh5zH9NO2AcoOU4 + 1x9Dp85bOxgMWRZ1lKhzLO8ORQE1pFYgt7ZE0SW9W9+uTAVV9HGvURqlnXvxjjFA + NL743VHNbdaLHd00AN1zSJXDOkxbiwSBGPEPv2Fhb5ZhsrIdSR97HZOgyCM50nGF + nHSJkT3sziiWu2nFQHsJ2PQAmrZiy3uhqU8v0SGwuupUD2ybRJE06QAyAKNfLrzS + XgF8+xkP5CowGwq6JL7X4g0G7Iw+sq0akU33RGM6frT8mjVGGk9JSw4soADA8Gl0 + rx0/Wi7QORJJsbZI38o4UaR/fIlENOSoCxcSRlXpIAMv4aJ+A3UElF8F9HS+Yuw= + =E34S -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + - created_at: "2026-03-05T19:17:37Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DKKbvh61jX5USAQdAR6jwDdjLSZe/Pi0+/Phgl5OJzMHiKFQZmIZUqR0VDnQw + fcSY0l1NdbtddvKjZWeEaTvNDi7CyT+FY/D38+tER5dIrLaynzC7VP3a075N/czq + 0l4BvnN6Qv0MpHH0XOpKAR/3eYQQso2w6udkurunsx2XFRN455gHcNFOJGPP1V5S + ushQg7O/Eqql+JpO4l/5cU9ZDac/bibZQnKifUqSJSuGiobsNgEN32keiMG8eIJE + =HrSD + -----END PGP MESSAGE----- + fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted version: 3.11.0 diff --git a/inventories/z9/host_vars/dooris.sops.yaml b/inventories/z9/host_vars/dooris.sops.yaml index d24fd7dc26..dba092380e 100644 --- a/inventories/z9/host_vars/dooris.sops.yaml +++ b/inventories/z9/host_vars/dooris.sops.yaml @@ -4,195 +4,204 @@ 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: "2026-02-18T08:35:28Z" + - created_at: "2026-03-05T19:17:43Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/6A/lgBm+uZNZdRHric3h62vSboV42jMOlDkpRUlpsZgFb - /0W4MH58p9HkYZGyYTJte5XxzJO5AGOXE+4nLuYM8NIjf3UnKCRf4Ccqve+Dv+gM - NxTEj62V02L2jXt4oUGpFw7lbJeG0QzlRkevRYYosu29rXckmojBEzyptUCZ++me - hs3kaCBwMnHlhiSSPsLP2AcBTgKDdK8a28DFA73549ihrJywGAKjKJ+ALEf5fRIS - Yp7pi1BOvFRhGRfbfbAjbZ2fsiKuWuuE8nh8js/oPt4xyaOpfW/XVEJ7nxAh7YrG - aREjX0VG/Ox4fqu2806t4liShmsq1Q6QRZb6CGmlUD/gZNEkdqPTk14MoevUGN7h - 6QT02GLVgikIJMkoDIlYBaKk9IsO/RBJLz1/1JTl8ukWMn1LXvXggsP2GtvAlY8z - AxqMOSJviehzYi8xyJsJWI/xFfBABJewelpm/mUahyN/C6BxKQO4BFt2UnRMI8Iv - smbAUp7Ed6xxEo1St/vm+4gVvS87m9f6d7JNnD+E7BCupOkHsWD2ltgdpfKItKK8 - h2+2EGzdZw6AMouehoHfTDRqsXkHXzXiDRhIxePtL6x+3AKBbN9iDTn0lwKMoNql - qZBKTqxO9i6EkEGY1M46sFoAARtR0nEtyGZGYbUu4tebjvVMDxaem+wez5bFhOvU - aAEJAhDF69KK8aN/0ELkrH/13bmE0CboMmdWNqnkQqly2grMOrf5P5FbFKB3XiIn - n/ow0x1g3SNdxaeuAfsN8xx314hDr0knftIGFdF5YhwnfD5G8NQCDVh9mHhYKjj7 - +I6/VxWIiH+1 - =k+HQ + hQIMAxK/JaB2/SdtAQ/8C5XMRolgR9UkSiIgjExuO7Gm4hzWLz5ra1CPdMSkdcIE + skAzILtNe8SDANB5k+/cOCbTrGvhr6dqdtsw+4q6lzasm9ALh9cHNCL7mw5J1B5r + f2BilsPGsdWnCHXTsfYIXoJCvWA17CmIpQkBsXhszohZI+8Lej0bWOE0bvgag8U1 + LpMOpEOrPZURKkIQMzGOyPAsBTlyGpy3sWbgQQ5jQvZYCKYqFBZ3A0tiBNgsahTx + 8CVI6+kmlw9gVM4j7DOjl1snT+EbmKUzMPC7yHplwtz7OUmSBgVGOsMiHGVFWkLl + ty5vkGhRk+3cC2Uo5ShfX7CD0zdNI1tegOulGwTn05epn75SrBIMEKc+gYUBv5IX + hMtttDhawtdJulDSsYPGntc3b79fG377yXithVQXiHYM8P/LXyo9Bg8BbiMnggnb + 1tETT/Ybx/WMF9jRsW53VazbMYQ6VLCRpUX+Eg++fYhHO8zxGCWoLmRGamIGffUo + xUwpIugm4hV9GjlrM2LF8ra6TvwsFtIm5NEbVx1ongyaYKiqIxc5jRJQ0D0zswh0 + hPmE1vuQzTgkEl+e2xRWbrrFl4Ty9JKfr/qsoMcxAAhH+8go6QAZfX42IYtzgw6L + C8I5lWYrt2iH4FqKZ0i8W/Z7ZeIhRzgDUvX3U809t9+ADtmcpnyY55be7jQk6evS + XgEYcUALkXao6Qr2xY4TCwfx3bTm6Sx+iFe2cWfb8vT8YawIPj73t/WyNBO0fZkE + c16cwG6hvoZD7/NeOaoIjBqe3+Q4daT2vwbai6n+7pS1ter0HmWO3SJS+OR9pbg= + =62AU -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-02-18T08:35:28Z" + - created_at: "2026-03-05T19:17:43Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf/QPEpZOhtJC5/0aHtu7AIyodukKNzeJ9YMn/+6W5ShWfE - M9I7esBz2vLBOfu5YiFhHHbvoSlNL0BfJwLxSStAvRTWSpTqT5hVXWAQgG3dlnxL - gOM7Aax2MzLQ8TQ55sd/aEX2NztacJCPsWuvx+ccnO/oeeC3gmD5OK7bDiIePsq2 - sIdoxxsea7aKNee3+vdm6bgz9XxOcGVP3GaTIq7g0OK29Stx1T8Am1Tn2b4PqlJG - DQwFOdeHj56oOYlxMpiBLUM4OnJIS+AQRXBVNn8HLCGRjOWqZyjpX2oCHvld6/Um - YqSPuUKJR2lfd4hTd7HyvN7E1coV5PnTWeAm7GVCZ9JeAeiOiRDx4kHxk1gwGrcq - M/7aRJTZYaiUca2DdiooMl5tIYzhaWHABkLSfugHLhvF6ouhaPqDD6AA+WjYt5/D - gL4sma4gQNgp3Bj0W3caAWGz0bAeWZgwbmC91xtypQ== - =Nfng + hQEMA1QflAioE8i3AQgAgyq82gjOkSQ49tbq7MaFWq1V+LPI0JghJxiiWIVND3WL + j0ZDzigtVicY9ktJeDxdQhnw+OlInzYmWmPAmAXVa/cr3zIxVIPPNqhOZbtAFjN+ + UEHSpwRbSdeVY+mlUBX9vn2lmKDsym80RAkabOT5RGqp1dNWybPkGHdxpDZJndT4 + Z1jBnDuOeg1TUGNY8SYCY11hiA9IsF/RwEKPqCIrKqVfJjxOcvJCq+oMS7FlcmrK + kXU0a/xINKRMfwvyMSGL52F0ZYr3VqEfGTbgcCIFnRdWKQTnH0ev57+B3unSCkiG + ixJCHxkC0V9681Px+RNz0QiEqOo5uiDeL9KFRMcGNtJeAf1rVqkz12bKL3ZU+DCI + f19vpfiCcFgiFm4/VX5UT4iexrB5d8d+Y0iCh9/BHBoooYLcZaS8FD3Eu4k5QHMu + Spau8+x0aw9/pDzyoGnptsfFpOK5XsD8I3fnwXk1Dw== + =jdSi -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-02-18T08:35:28Z" + - created_at: "2026-03-05T19:17:43Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAAyq5soaQqxEhbADY3hAa3Q4eu3YDp4rGwketPLR4v5iZu - R4onr2biENdCqOUDWCzQy9URnNIN3ngb5Xd0CoX0YTi2p5GROnupncqrJj6e/k+g - ia3u+5ZUCJdsvFeHyVFPSEJopbQoAUKd3FAKSLmy3JJ03MzK/74/zyh2O5TTpJJo - eJHi9YmL+D6KsbAdyoazgdDUiLiIFRwuMfsA4L9/m0Ba9C7cDRd93g37Q0P8ASC6 - g8obpTqI/70CJ/49WUv/7cXxKQtPEEeh33BN3ypKeHJe5XfPqirdMZ0HWKwYtcg4 - YCxvVLq0nHxZWNmrl3OO6mWZgV7wBdgBXB+HJIXbS+KxocGdh15uCmxNQ5W+FRNW - NXTOEiVV4lS9wN/6vHzkXIKtZjKLg63vb9I6C7gA/OmyEZuq76Ek7m85Yo/zBPjo - vxuBWnOaGZpGRehxzL9hkEDm0TOaWnjQtSbgUAP3CVdnRmcDifYWgyuFoATOEfL7 - cA9kocqaiAcsCE11zZTG0/khAe187VbeCse7bXIdyFbg6U5TUUaUTSuIIUdGQOvt - AB3VVYTabLcEvn2ZXUB672bOdXhcRNfj6OOfnY9w4uVMZ0PlTWYgMgrcq6qd/lix - weDMetnQ2qdCbQoKxlaI1JLRQFL5jQ7OLCXx3D5nins7GfyPd7NrVAZPfhoBohDS - XgEN6TQAKAOlAbvGqXHKJ1IN4I2pu9/WMZsng9BYQZ0zYRRK/FaCaJA1X4YUW/mj - Bt/3mkRMt7gp2EYMvDZca/Kt3/BpTk8nhvABPY1ZpK+cPYdQ6ZLItlgZt1AVvew= - =AnUB + hQIMAz5uSgHG2iMJARAAquNdHUjkEdTZTAEALkiRYC3mg6srf3zAU1X6KgdsNuLW + ujYvakcOG+K8sZM5iyFL+a+lescc1jc9l1CaebUiES9s9w+0MwgIjCbUCs1Fa5+1 + XBTcQtqpoEn+NrAq1aBeoxj1aNZB1a7Q3rUXB1+O04mQOqDPLXX+D/wsSV6CPedc + HVHxaYkMjlIJdlZroTUz2IgYLz7WioPz7POm9vA9zhtopfnXKK15oWShSj0YyqAx + hzOF1pbn1/GEF++cw7eiF65X9CE2Tfnp8Hjqn9KzfnFGbwbQzLI206WxViVPrJbS + aAq/T2BpjyDV37RHiCeR54Y8ciMkaaV5Ws2/ZcYRnZl5X/hLbEvK7RvI7nqR8jy6 + k8cP5ilrrfwxAhddpns8zcqe+hBtV8T+zYSWLnJesHh07ccH4CHMpUqCpV2Ftomv + Md4frNFTlXOVNX5cKmmUqtZ5sIfI0MuO59C6MRFyXp216nCFfvVBNWJt80NxQe1U + A28kD7TMWbTbCUp1t8Hn4H7iuVRImCftvp8XWAWiLrOS5UkhlBX4gg+ERZeGKNAX + Zl59METwAee9rwV8f5WtI3yiuuv0SFzOpmdDyWDjKaIcRxDwpfpwL7cRUsDay7t7 + 8h6WpOfolp4RfszNz1RA9JIYQKC1Bcse9j+IAprHdsyLaE5eagFWMi4Q8EOadlbS + XgE7veW9DHJqxCIZQHDAEVqDeSxst2fpSlITxdxNBRyPR680xqVQIAe6I7kQgDBd + GvVoNX5NsACbeuLbDQunFRXO9YpOotR2JQtfDU9VP8ME6IVltVd3EsWdcwcCA/s= + =iORs -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-02-18T08:35:28Z" + - created_at: "2026-03-05T19:17:43Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ/7BeRPTp3RXoFHlqEI7c1XEh6zx9w8Jx4tTf+8XMOQRbrC - aQNM6DYYXXeHfoZl3CB22IXNajSPUbAgU9Yi25uMXyvPBKjFudD+Wj8he8pCcfHf - 4UvaL2vm44NTByz2ATybxhs0ytoD546XiqD7VMqy+9zWZt1PtsHQpPRsNPhRUKC+ - MxgDoJBYvEUxI1fU7GpsbGoVqiRyA3odJS7jR4R32eU7wlUZngORuD/HB/gKaxVz - gV8bP4fN4MY+td1HO7j+jXHU6Fyhg8uE1wTJHkMT2b5H8sR4vHoIi4ZpvFdybkyr - LXyAWGDYlkj9z+X5yL33HRzmklNmwcaKNjdtsyVZZjiyAORgERU883J5lJidAgEb - 93cryWbkKcSer1pQkCItAyVMbA3qsX3TEyVebjOvleezeky64txqFwLrZp1DMkEC - NWz0RqSK6sv32r5CjXh85cuvPHTEeoMoDfCes3U9hYZz2RW5D288qUnafsP5cnL1 - KJ5MnKZHC+uI+bFnryrVW5V7lTVx+cmplEnXpHd4jJHsd0IPCvMSYZayeYEVMLgh - xjcRYjOZ7DFLos83FCoVXnmM3R1j5U+IDd3xS+7eRmezJg/chDalwALLq2kJL4Lv - uuhoKbUCJeRnQJ0tFDXbh29Yty5Ajn9aaVXZYBfhSSsuz5CburZUrNNeNl1atqTS - XgGzH/zp+Tc/xFLAT5vMYRKYnfzX930UTgwD2xecOjFrOLyFpyK39EISKGVXrixs - r7UmY+FzpSWHJUmnnU201GhUiN9wFOt7Rkfji50wqpOO+17V0WCNkCT7g0VNyk8= - =v3lc + hQIMAw5vwmoEJHQ1AQ//Uz8hsSKWasiw4iX0d+yh56S9xyfvL7EwR3KgxKnOp0um + Q1VOmjRs+ZpfAJiObl8MfUYXXB3pU9vdSbcRA9rozNZ22zAcfRSebm0UeSd/yfjG + breMapLVMXWJkyPIVE4PyxzmyK+vscDxlXBkZi+5y1RsaE/tmfEA+AShHLg4Tiky + Fzr5gEa8Z9NnN7n0cGxM79ofbRszdASRWgEVWw0jwl/vp82UMI2OOkwuhcIJg2dC + L8eQVaWmavOqDyky9Aw+Znd62vGapA6BjU8cTVY4xpnzA/1TgaJwIXL3LTmfomam + wpsh16yOVRqY2SwrVc7rNy0J7P33zaxCXVqFr8bzc2+mA+cQKlEhsHmJUaAupkIE + bsY3st6LeQySGKt4+MDo/hU0NvvsB+lwauBDs5EE/9xchFmLsGH5rVcd4Mw+PVdc + VvrZKg+Jdjudi6oirIfcQME0BDNjKTuPli9czqYWJ/Hc7bYGQ5tN8lu4+KemK85K + s/qwFnZgBDlmeZQHqJ0tSQnKzEDbKlMa9oeEg3LLQ7HQ8tMX8QHxeYZI5x5FrBSr + W87NVDyn9orUo/c+mDreGZqcdXHUXxbA+2q0/pQjV6Wn+VbZgJleLeZfrDlS5YCX + rbTCdPJjFaqvVinWIES6BPwZ7+VXBPRXCvv9WeCMPPXD3ntVU0XBEz/8rVDKBfHS + XgE+NuNonR6+01Ws+5DSMytt8nVkA7aVytP2MIndA8niUicYZXHwemrQ3xl4NjdZ + uGhgxbXWzc5/VJoD9jPBQuy7e6wfXUESP+zL0vX8aRWzL0mMrn9KLZnuEgVT3qo= + =kO2h -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-02-18T08:35:28Z" + - created_at: "2026-03-05T19:17:43Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAIEO0tbFB6OOYBxmF/P2UCVTAD+L6Hr39CSdDWKzvPREw - VsNmdXNy1bcYSAb6qfaoC/XgqK8AprbOiIY7JyBKTRYQaO0pQT2+u3pK1ip+qxOW - 0l4BtF4uIt58p1c7PmRHoB7z0XR19lVYgDHQ+1+897tzuqO1SrsjHLvgdfkq4zf9 - G1+/Ikj0VQWPRmnq7xSZXmWrKnX38p7Xj73DLVfVXBGaV5UBduGUqB954gUyvJBK - =SRgg + hF4DerEtaFuTeewSAQdArjAPG8JwI7MSVIvrOQrmQfodbFIEbEhMFXOg2iqkjyAw + uocceofmFL0joy/5ipLgszsscncatvfnPUHUsd8YS5mLdztZh1F8S7WsV80Oau7O + 0l4BthmCqIxWx6mU+oHqAcP9Dv6VNS8T9FwMoAY56KfxfJgSWlguyxlPkYU28HVC + OUkj5/4AO3pY0aAed7pLkghZDaJ0WZoTscQjbxQNEjYFWjOyAgFrnSgj+K/vrkw8 + =A4YE -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-02-18T08:35:28Z" + - created_at: "2026-03-05T19:17:43Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//ZmOSeA9yW2oNYC9vYUbtDTt7fMQgh3qnWP8gw1A+QgSO - YhXR19YpxdJ25w/LyXIY4Vl7gZ+At6PhIAfFpxrKc5i2R8zo66AewT+ogAWAoZYO - PUPZ+ZglYdp+bQc3RjqJ2etkAyUSNPUH6xWK1Qr76/345R/w/atDC+Nx1D3FGA/9 - IGd7sAhmLqdF6L6IzdlwEVQFY+QiOJPEVkqRMI9y+c+rc6WhX2wLkQqRWXcUPoeW - ccnKHY/eiUTsEBxkQWTJ9XLySmcxtDDfOYZ382/jM3uywKL279vtv5bwhm12kgWt - Is8kqCy30LgzCgiciUfBegRvpYtQmroGGIZiI5LLwC/hpaMrL/WJdlmIWiKtMXq4 - BfElx9rR1qjRtpIxf5TZopq6EbiGf0LRQnks4jNkDNIOasX/aDLnTA8zKHfnQxvc - NGXIcFT0X7vUDwOjX4uwzaZotLJD8MaafGGeABMfcIwuya8dopNUD+PHXhd6PGo8 - mKnHMvzYMPePb+3tCzYaIzd5VVC9/pLmL5uceXvTjFsQ/oUbQ+xrnlrDcRJst9Dw - HADZFz0w/fGT4hSh91IS8XBkh6zB4R3r7PdkIHTxVzYubpjFl+BQBBBNrFv9H0Rw - Wzfr6s+Pq3jyWyRcDfYgP3PbIJ7WIli6GoqaJrCK1Sx4do64sGQjzp8fmwl4eszS - XgHQa+42Sltp9Rt34uJXu2mgGR3/jaOTZ0vutS55f6eCf9tsW9RrwZ6SvKL61rID - dlODmp9WH7+a3s7s8Vsjs+l92eYHKghcusLRS69b5c/IdQimUGYVFV471hribmU= - =HCPT + hQIMAxjNhCKPP69fARAAjEZSTaRdyN/yQygLsmkzpmLbWAQtC7pDA557HUvnUy08 + b6Cf+tl7B++uPpnbsJiGDzqDAa1keK/Jj814rME132Jlzj/lRtb/Pj+uBymOnvHO + pH6V9DeGesPmONa+USwClae9PIWwKEm17/mcoQl4RYsGJfZ1LN5wCKceeOy05Fh3 + GTugvI+ujU4ssMixr7mN4I5/sMHgHvZVXs8KG4uvU7IH6Sa077Mf1qnVK2+e0SW7 + q/hkWYzZWQIeiRxTtADdFPVvXYeSPOCu4qOAj1I+OZ1zMyglXypyecgNhqqLwAUS + kwTotd2oGkHvzE5DAQlmQOPUorrwAsXKgNgN9RegwbN0hVnACoivYDHN0a9U7L8Z + 2HfM41UpJPEJMOkw6/1QtaYNHRNe2LKTscDHyudcRPLmRFLrtp0WJwRif/SZgxZo + mpsEJdtmIP5S0QXuq/bFc7tw/cj098fJUsyIhggisHcffmRg3WuMIzzgOEMsxr4q + cCiTryZWQrUqx35ak6H4eESssE+X3BFzcx8RNBnITDrYjWgq6lQTnyz3AAwAa0Vv + Xk0M3tDZVf2wwrXeSOhjHv7tRN4hXsJRzZ/6pFFgIx59G9iN8mxc27IIhpR5uXO6 + 56rR/XeiMgxkQnhsN0FuR5OInVu0ASlH1PBTHb46SfnOShpI8FuzFbi6/JZgcu/S + XgH1g0GfNdc9YRstfg1btJKwuhrAEONpXNwywtelTkwEL+yObdr3uba15WHY5ChU + cUc3hMY+55PiefhrfdpV/iOUxemS2sRwAS4z+hQem/XJwiAn0t6l9KAmtAz+1mI= + =XOhj -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-02-18T08:35:28Z" + - created_at: "2026-03-05T19:17:43Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoARAAiMOlwesLMz4jqDnFtE7MMcNOu8FRbmXgKlvxlt1K0GF9 - CsXU5KR63L2h11Nsrnd9AvDJZfMjUbYavitQYxrHfdmP3Lp+goQthqrA/i0MnDXP - frTcOCRymezlPkHP9QxMjWwA6KSkKbXRIVxMntnrtDTxvpvdef/VT1SK30LrjY2B - DcThKVwX/f0Den8IG6ZKrZOcdvofSUm3tq+NOh0S8992Cf3ycV3+9Obrxz6Fx01/ - PAHoOP88BlNa1K42fNjMMYXzOLxoueUdDAWCHnxiOrqFcn8/q6IuieB5ZO+bC/+e - U1ixKAT0QZxtl4xH+XVRowscGDxxmFu1AIPa7vMM7eBCQGz43k05W3OosgTbRDjU - XEF5ct77mkkAtVybidVxwSRRQKoMi81C7z3Y1aXN+5KlfFzhodPSqUPzj25nln2+ - pUlt5XBFmZo57X8GQRpzXIWUinckIZvIjT1IH6bmk1REhbdxaOPxsOHqfqObK27i - mDABs/sCq1lLcUhyQx2exqct8hc+n+4iW81BTqKZbnK5+7tAy5R/9AoJk7zfDi2r - qn0bbf2N1eo8CKlGtmibeSoEaUQVxEEHI3TqTqdfvdRpf3sune7lAkcOe7LgctJN - iIHphZuNEZNR1zSgjJOjIoFdsK4F0DGV+3NRLjvmjyl8LeYA3agnEoZvVXvq9N/S - XgHi/ztVdAPjjkYPpEr8IzabnAN1Ghi7NWMqQ3etvocsK8AJ7Kk9ITG0IvQbU7nQ - qgQc+IM0UrveQWXtks4iMJi3LvmG/zYr0IEl+JE1+KFlH3uf1XlocfamnhT5uO8= - =ySAp + hQIMA1Hthzn+T1OoAQ//SlGtzjerCP3Y3iDjM5SGWzLIQi72PHGfznvbDjyt4WMw + XSptcL/TyWNXRxlaKZQVVD5TH6bWwTi5ykhJNHpBWVdcGo+g+ww/7BqaZ/C6Md3R + qN3DagIqlzyqgxowVIMGpZpSfnh3fiKNY10CnUQWu74LTDG6MTPHA7zLdKVbVnWo + HFM6yW5vPm9IWoMzJjKRClaJDob3LsbEctwrLVYm+M/3A9PVDM5ajzfuBwh6rpPH + csn/lyDIYTzK1hhp68UDFLrYf3KPDNQEJ4/GUIJ0f2QZoLgaA7S1NVtB/ovh8VdS + xQJx+ocYMKP3q5OTqZOfat5LDGHid7ekAfIioerGCd0zPZ2bNC06+Pe9RlSbs+4k + H8axqdHeyjpM1MlA7mIBZ/HiWz5jZNosMygpiBnZCd8ovM1uoiLYDQMQkQ7szlTO + ddJ1QgQMXqeE1Jz/zr+uwXHUaBlIIpxFesVGCqFGaIk3BAjNpY8puzlv+4zhsNu+ + POgwTmdZ2gQdGqZuIz9H7y5vux0L/38sOhx/gWGlcBbXDNLuLbAil0krFOgmtx4i + x8mMh6yW0i3I51vHHwkrvyjNazwwEMaBR11Z4cGmJegg8JSZLOb+CMAYN5RwQLMb + zd6E/BbBDt7qiCBOAd4WnuwVe5lyoIlSTZ7AVvc2D7NIQGrVSX5p7SPp1MpZVOzS + XgF2HcgjBMfJevm0t5N/A4yjpQt5Jnn4HpweIl+z8iPH/RCXWqVFoWEHJ1OMIiVf + GA3F1PKQ10GbWY7Jtim6liAyq9o4FHVuo+EXnvNejn4fHanLbpbtJhy+vUd8XP0= + =9Ln3 -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-02-18T08:35:28Z" + - created_at: "2026-03-05T19:17:43Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqARAAsjNQEQ5fS5c0nL9z5W2vYZafXpf4i8I2aW9rztu3hSaW - 5bWo/Jlt166O89Bpehng7z//dzqzkTUCaU8WMqz9F6MVUySwmcae2dkqhPOfj387 - hC1HCpfGF533ZARSCF7tJVSTikuvomdAEwc68ablVu2eVu5Y/0xHpVC4Qigd89Xv - kFwvyCXqQCRzY8tJlIefgIRPA8e3OPzTDMlYRllZ5LfIRfYAnrd6SzRlAlGHV+0P - ZgdhUy/uA2aQkSOotR6aTYQnDb1hPhRNkEI67Yg+h/PNVxjzcVQ4TkiuDPQOkGcD - arwrMmS98qr7AJquVxd8gFVZPd2l8PDIFCvre2n6PpTHCnn63Ui7bC2YdAdI9DoH - 6lKzGCka1s45QJy2hPRLju8qhCF8BXbiztVy7NpcM3MfCy1K+8BMKkfXFW8ClOEP - Kx6BvpnQlP+uTaZZQc4pjmo73symuQFzaaQWMmC+vNEp36Wx4nlhatwDtLqIJcvd - zPcLCyr2yDbY63/6m7LTr0d/ImrfRFMLepX9ifxugVsfc9of408LiQZmmnmBgFNV - 4gk7Zmb0SfWMwrkNwdzG2AiLosiHeKZHh+aUKM2hwPeOW+RiWpgj+t75Jstpl1IV - stMYK64U9nCNzw7ipyK53odBy/mfT7r2/5Yq2HY7d/ZQt8erINcoWYJkR1t8xLbS - XgEI6TkUb5SkZyTaAJ4owjIutM9XU2snQw+pGpy0TH0mxGI4BuYdGMM7eNkH0DoL - Tr8HvPBGQSTiA1W+FqlppfhQRvvl3xtjG+3zJ6IAD3nvL4yBBZAsluYpawkizzI= - =pclF + hQIMA46L6MuPqfJqAQ/+KwdMtBPERLJTxmH1hfLic9+8+vybNjZz3xPaiL1/O3PS + 6UKNr29A/O7VD0DVwqzTOej+EYltiBy4IiFyJzsIKU924rSyR7ZxYuui5en8p/8O + /wkm7LJSTHk2iTHYXZlFeSt7ba+9//QXfCbdRI9LgNwANwlUV+PDH+S9OsZMRZqJ + xuwRXJiWN1EGy85yWpJtqQT8UtT9PNNNiciRCcXtI1WfncPi8scvQXBrXmXGkrLP + 6b/Jy2JNRaBw+ZtshdhN3D7pFr/FmMgcEAIVMambQp3OZG4VQPcTs4MJbDsif/L/ + QL4mpU9QSFCIje6DyVuaIQ1FDrQxqYtAWUMsA68ORZgrFQAx01DX1uDgGKY0RbyO + j1vTVfzqrV4KPMW2f6rW43rERo5Y1/1+uRqkG1j5JdAyT58Z57dhySp+EDAHs3Fz + JWMvfAbW8LWf7KfhZ+MnOXPLTHd6UnjlVyZZM9b85Lx8yE4gdn6U3VTfi/qpAPsU + 233kSdIlzCYKZZ/7Jog7nohALHM6o7aYvjftyBaYAjJpIAUU6DS6YzXfKwAzeDsw + /5u4qh6bp3xUpSOG/NSlNrvb9eOJmgFmnCv5BMQOmS8QQaSgH2MAQOlV6Re2b5lo + tuqSNRErpvq2FtA707QHl/J6qGMioqeq5CDgTWhgT9ySxYlOOgVjEysXrH624zbS + XgGGLSE4s0VShf8F9e6Im5U5veh61+iyEZ2L73DtBQIdLWo6c7PPYNJJsyZ3uy9q + 1L2Iw17xdga+LCzyGhDiwyY3IAFHS9IQnFDUHDX9k3jEWoPnO7Z5IA7FMdWYws8= + =7FYy -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-02-18T08:35:28Z" + - created_at: "2026-03-05T19:17:43Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAsmm2N1l9cuLvam7J9zEWzR5+KtgB80FcF/znPArrY3ow - LTx90dyPOuIk4m5Z2crdZ3ZPZuBCrgOscQw6hQHrUrfZgNkU7mUg043xV7Vvw8k3 - 0l4B6oy2wpYGIKRpwx5vvRl2jjS+S5jJfbA6qFjjX+Dk7igtPnRlkHzIFydua5sI - fe7t7JLLfXnSAmfrZ9K+oAztuPi/ZdSZChEy0EdYbp9eXRqXxJJdl80VPvBsqJym - =ki+W + hF4DQrf1tCqiJxoSAQdAkKGcYNyKnku5JMpoogj+GJlf23OMq9cfCkYQtrF6bEww + jOMwwS4vQlO08feLBGUw19w1185rtvSiul0aBZDrUp2uvRjIy6SyAvunZ5dHhD1z + 0l4BOtHH7AK89m4bNDcfV9c9nWkWvzkd6IzzKjR7sflsbBJZ356cS9Wz4LsZH2bb + tYjjfNAp7gtiOhfVG7+DwU3pMbhmSKLeeghSHsXPvaq/g6Fg+tNb/KmcEfguJyoD + =lxzC -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-02-18T08:35:28Z" + - created_at: "2026-03-05T19:17:43Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAOJjn0jLimaBSD58/8fCBc3s82TeveQCisiU4B7g3V0Yw - 5pZ2aLiyraVC3NnjyR5V+55jNp5NJuvN2l2WNSF5YwDhXy7nyTWxd7DEbp7nKFfs - 0lgBlIVnPtXPlYCHBvVNBsTpSlQPB5ewMr1MwckaVXWaq0RRcqNq/LKAi1r3+DST - ZQ58xcnmFU5n47Gb8jHY5g1W81m45WuU0yqujo6iFzxMt+3x+G0NZy87 - =6cGO + hF4DzAGzViGx4qcSAQdAHig4hyb2xvFShh7kQIgI1CATzaHZP9Th0/h/f1FW0DQw + pzfQYuXr96VsgR7uLbXZdQmT9y7ouWvlDtlDqDeOu3wTXLoDkvQot+FHrkLIM5LB + 0lgBHLvA52eXR7Tbiw8J4I75jWtc+ewnzjw1XNLgRpFLadyD8dSrD7+EhHKcEi+b + 0d0Kk5QqjsC/Rpl7V+YfPWq0gk3ms4RMnWXta7Qw+uSDcqeHzzFXOzqJ + =75tM -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-02-18T08:35:28Z" + - created_at: "2026-03-05T19:17:43Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAAjaOxUq8HUXrYIH9JWBVgi5fIkOONCOrgaj30fvm/CpFu - IZef+L8fpmWwBBNAx4UWu2sfax5GH1FjTuhGe3b7se0+gJpWDb7oN29El7Gzr69q - WSoGY0RMDrydRqOGYvMCAVzX9IVa76wf/O3GXZcWDb5CmSM1RK38LMjGyKqK6vM/ - /kz0DiXBrAyvcsXmhtYqoGK6PwclUiaLzrooZB4Vtc36Jwk6h0h1fQlK6Nj6Foot - NO+3p0ZdSErQzpNWMNVh+bhvZ4K2Wxh/59l8wNwk0XNtKLRJMde5ikEuKwdcNo38 - +n/mXHGQbhCPrcl4CpnP5YhMVRBKe+4leO/XVVmHcY10ThJEfRB476RdtjQTuQGS - ZSZDZb41s35McmW1EffET9pSLGayxuQRac0LxximxFFw+ZlOw5A+9RTN+lky6KjN - DZiAKHLC8z7u+USsiMmUSIUgCj5OkpRhdqBGf88StIICS8nwO7a6E8Mvml1LEc8Q - xMH+2XRkNMfCEh9YuYh4gSv95+MIPMv2f/pm37TYurtD0x0gUD/QAyBYqQuB/cWU - Ku/PeX8W6OaMCN/6tCtnAmG7Cv8DyMdzlWjyDcfAIl9eImMVWm7HLnJB3kjOC40K - WQU5JJ74VgXisSODbEAiExbSbLrGwO1exMu0v6Z2eprlw/bbr39AvFZvI4335MzU - aAEJAhBHPKbvmWRbL7/PPry4R2M7S9eqkDOvH68y1HCliKB9vWonorI4+HWoMkFH - HJk11RKtaQBpfe9nMorQJxjYEp2n3MI7iCxvPgL08lIhybLe5udvOo/E7fZs8cV+ - Jm1f4UpCbIwg - =/wCO + hQIMA2pVdGTIrZI+AQ/+IRTNV78c/srbVxtt0JpliN+ZHcJPeHsB/deCZicZwKE5 + WbqNmOnWtJEt4wPRK6mwUsCiiowX9Q31X7IY42+08gi6+VBYoT/MapwqnwdBXoRX + fia5OYdnAibJfvlC1pgiykAuS8UGLh4KAMoA88F4pNRT8+AtutJ88oF+2l73nhvA + 6VoHTpjPhN4v12WMxKXE3jpxnr7Wh9sFMaJTk2YHRgjf2gQafP2DZ/dsmqVhJG6I + 0GtDtZNxuonF+gRwah9wlGmohF8dA4EcZF32HEDfFPoUtpSdcDYJ6eflmXZd8hN4 + UyZ3q0O6wkCCgSyACITVvr59W9HjzxCdRpb6dqb4VQGk4sC0mEST0qtAd7aSrO9v + LHv3krq/bcECNNHXn3uMc8fz5RZ9RWSzKMOx3j15UQg9J3olDL8S0krUNTBnYewR + g10CNcxpW2WXyHE7budJfyOVfRYKMtg3vE320bDEIjpVUetCHT0Z255yFTSKbz// + rY/w3UtUjouwjGU4+G0SFnspY99MNQxB/Qbdc7UDv+0OEZ8bTrar9p+SkMbdBn6X + Or6CN9pYZhz+2d53mUp2IaFyG9tzimS92UB4M4jNoEedO7eTx3maT1myVmDWLnsZ + Ch+APzymbWp7AE2TC8i4mr3Ty1YwxMd1O241OgO4LpMl6n1VbfEwva8taTiTfgbS + XgF2xuSEnYSa70nFbp1fBwQJ6ZDoiUCH+KbwbNDdBEYc6i1daXugri2lCPXZJydz + tOXu4MGlRaC1ZJXFfjNrw2rWbMRralKxLdPHeOnkiE1g0EKUuw5fVXfJhtxwh24= + =+RGB -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + - created_at: "2026-03-05T19:17:43Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DKKbvh61jX5USAQdAgXkUpIKbVD1YqizQm5NtHKTPlkzRHaEyha74e2Hat1Yw + NijeBoYgzp3quHy97lgpBQl+9qslfbG8Qcdm4c8i77L0DwNzROUSWQw3Q58yI4pN + 0l4BQZxv39fof+ySJkMYFO+87WM6TVG6h9cUXd4tXGrGqcnWsupwQvOFe1/L8QH9 + Y8IHBk3w7OKJGFt6t2SO54jhA1UbXws39qPNJ66/LE3T7eX3dJcj37LvOJ3OEjrM + =YiA9 + -----END PGP MESSAGE----- + fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted version: 3.10.2 diff --git a/inventories/z9/host_vars/yate.sops.yaml b/inventories/z9/host_vars/yate.sops.yaml index 71e36618c5..1bc049faab 100644 --- a/inventories/z9/host_vars/yate.sops.yaml +++ b/inventories/z9/host_vars/yate.sops.yaml @@ -13,195 +13,204 @@ 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: "2026-02-18T08:35:36Z" + - created_at: "2026-03-05T19:17:40Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//c5gVekJL/ey5F1Cbm5+P+f3wEz7I8jaCz9NGhIC2ltHg - 2H1Nw+boJ9hcNFY+VB64Ynr95Rs/e63iF31RDSm9qtpiuRAJ4mhMuDn9eqgr9V0b - dcresuuhX2Z+F9FhNxHaplgu5by584oo6vAfHEOtS3PrYRd+a2FIARlqD/qrdik0 - NH4rqYF5Q3WPNUIipP2Ef0RGCgQaW/HlS6Nnvw2yzS9qqWYZWOXND7ooWYh1IIuO - crZObpcpSPM+yFbsFdnS+nQk0MkYkFP8X4xlf8i5YfHJZStEwLKoN4P7DHanc+Cz - 8HuRcqomUhv0VrxjeOkzqGxsjTx+s6TcgG9le3R0gdqw9HMOJZVJx715zK0QPMd/ - 7QibpVX0wpoj4mfr1SQ+QdacvXsS8yzdHOFHzulnii8pZh9juSENCHYqjysUuwhI - PlF8iDMXa7KTGEXMT9m87HwbCIpxrDz6ZE/P6PFBAcrWpeYfW+Th4Dmf4HBsMpzp - GqxLxmShdIqTAqrZYwrtbQaH55f2F6U9ASfLWHO1x4MqevkxPNzB52vGefOs6EKe - tgjMLSRsbcZG63DcHdSzRTG6IshlEyiMwY7gr2ZDJZSGe1PAEtmpA8bdm0cnxudL - 86xjxZGQ2ue+tvdBtAeXT5YkipxTf2a6UjBi5QL/78+q6Mh+JJvEaQLPrUlfbr3U - ZgEJAhBQrpXtyaUJJS2hpxs93YwopIbjumjnmSylsqyz52LOh36dt78NT1DPdluR - GFrP1KdA3FbUwREmRLIjOnHvt1OC4/TrBOXbCzcfXXRD/rW4KRlqpfwnXPSYcf9Q - 4wmGl4gV7w== - =enRg + hQIMAxK/JaB2/SdtAQ/9GH9BGLJtNngNAZgvMQwfcoWTtJPmUoZVtQbpz7wb8Ktk + fmwlQTKi9984Dtw2LWwhPT9fMvTg0XMuR6G94dnn56QfUnjQpG+/8yK/npKe3OUS + q2jhZtb0fN3f0TltPZGLMfP/ExNQ4SRXRybkbJdkNyMe+ZJB64xheLL5Lg2sPNW4 + MzjkIFPqQExoqYztqatGBo61c/sE5diQx6tlhD44jDGRpWQZCSImE7eadJRSvV7K + 2TQCXYB5MSiMgdfj3YL8DNa8vaCSQRVYN94YggnbGzrbmQdLbbsleFiy1tGVboCP + lhDXPLR5bhrwNG3HIu04RigAdg5TLwpU73SetgQm9xyMDc2QRRrEq3qC0636Y6tB + 13JPWW/g4XMnS7ZWP8SHAUy4RqfZmzYCzr8vujEPRIraVFOArDZ3XZpJLzD8POuN + Y/nXGCqN8JecTrlKaXwRiJ69KEkWBck7lWpNU3o5sGVPrGHb3s12WIi09UeFp98F + OWJhYWOiqdb6YIwNFt3kWolJHosTfOMkljvZk/ZkSPPxLcddPfSKGDXC9e5Fq6oX + XbbvIENFyVRhV98YqScdmpYzxh1onZRK4APUR/a/xNBG+YbYMJL/tJD3dYQYzAio + UylkH+q+++73E3gvWqFzTI+x7i2USEDIWBkXA4g0K8Qn8LJDcDAd3wdY/Ko33wnS + XAEO3ReeLVempqElPbI9A0O0eI/e6Y+HDjTcAXPlrLFDii1iJLa7ojKIvGNE1j0U + LwDtJUrKtXmRQkDqHeFil4yTk1ryVX3kRb1APkG3B/pdz6AFj+ngVZLGbyAG + =Pxkf -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-02-18T08:35:36Z" + - created_at: "2026-03-05T19:17:40Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf/bULAsS5q8zweT4ClDPZk8A9PV9EC0BOcIPIdfY2dGcZS - I3tHIanRNHBBA9xckqzudDugbW/IYyPdo0KNaW4f7wX5RnK8pOk7Ok8YB8XfmwPY - rYj03wG2XcGoXgPnYCh6GWYLLVHsvA6fYA8M1IPa0MC1Q0AGQ+saDYTHK5tNYaZo - NoXCAoETi5yR3gyrc0B5GVxnURG35VCyP9rNeO8CqyeinXHaMjPyzRMjDnfNEjtE - SCco9qgU4rn/dTiX9n9N1xYpU4/Gysj5eEZB1MjURgOagJDAP7udjlXWw30mevDF - Fx7H8diueMYcxMwwz4wrmEUYP4SIYkCVO4se/5KfkdJcAV7rFrKcOo+nA1QjJSZW - 6mVr9yMN6jjMbB5l6WFxjGOCnmKEJhFueY6eFqyLo0bzbwGJkMKNQfwwxS/9Ncab - i33DyJgNu4DBkXkd3sR94Zza1EpGeaKHjIlCsYY= - =sseb + hQEMA1QflAioE8i3AQf/Y5/uw5e9xnogpsNwhXTnwuEbuhaSKlX2jY66iQnYK006 + 28+bZp2tLRFHvB1V1WQKS9p6pByCELoAEOSt06tPSAq6i/Y1FwGtAGvmb1i3t4w+ + JTG6knQpAICnmJZfTZnDaEaXG1HfUtBJAOBw8cvVWSVbH4DeMVuYFracz3UbKJ0E + GWgWL+EiDcb04ND21dK54uHVgW57w3sILkCFJG85MxUDHFpiSgsaz920Y3aaptQ2 + fv30flnf3CUd9IsVfQ1nfWNXawC/fO/w9QJivyoC9S+Dm8r3eeRZuqcTypR+HbeJ + wx8gj1su5pAGu8ce0fuvK7ANfLiqqVDxG/cj0NafatJcAT+6IRapPAuPf5YGPBHp + UwA7jbxwlGal/2r/KjWAM/K8lfWwk370vFX6SDFH7jX3aLB+XuqWkDHsnHtoWH26 + WqSJsIQWuwUwJqvWDpWo0pSDcKYg7xwNiRPiEbw= + =VJjN -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-02-18T08:35:36Z" + - created_at: "2026-03-05T19:17:40Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAA4KzhhXCFxP3YI7efSEn34qYTSV7TKtpPm8HO0dqyCK6O - W+WoeabEoQcW/VyqtZgpP54F5UrWyxxeY8qNqOHQDlu9+/mLzPoxj1FM+jMXEkZK - ZVGRqdfWKQBF3h42OBUt48xCiGTNSATI64yA+Eg/at1WwMxjMaxGdQFMg4ukTyOD - r5I2tavB90ng4IPy2HGwX4tsoEIsvs3hg6po0UuMm3h8+tAinSfZv1UpmNHecjyu - 1yt8X61/be+z50f4pZQ+jpJL6Rh5NVwuZRk7YumZnIS02lyWULWGFGOh6DianeRX - kgp4mAZnyrqKyH514Wyn1pZvJe1zJ8SX6v0VQzQPmI6FeO0IL9K0k2H05ucdOZqP - jXn0YXslRD1e+c44jhV74MorbmKhoMl4L6+/c+zbYHrxJZBXyTJn4vuSIksJsqoU - yIukXNthzM+vakCXNGoydjekSuZBbVCKG5cDPsVHnSii/RIqqgr7xsWEYxH3SAYQ - 90HeFsAn+FUCLwo6QsNpQdpTqQN162fpS7KUD2aUNAj10Im0HPsDCjBNYuDMr07E - rHiBQxotaMFlvw8XgnSi3RZe0TPz0McG3ZJ9I07R6h9Ofj6vE8+o4xex3vNFp9BX - Qauge6sjLSc+nxcTZv+je3kz8MUXc0ow4QroenZ/+hx7JLuTLbTs+TPsduhVHmDS - XAFgKv9KdsYMBQnrSQv6a51Mmgrlvy5GwKtHLqNtUETpjEYx2Zfkq0RoeS09qcKt - U1kWQEhNGN5R5lUlTJfxENO+7uts5FFL9tmXzqt4RJA2E9y8wt8HhM2olXyn - =47Cb + hQIMAz5uSgHG2iMJARAApsmk4Mgh8vBxJD4lL2zrGpOCJBCZy55vplxLAj/1HV3i + zX0E8alU/6GwF1g51WLGp9dgYaWriLcK4JnXHaJClWVxHR2bBxA4HEncer+c112q + a7ECI+w+/ff3NBi8h/HKy3xeDWQ20/KxD+n1DCjPZYeYgHLwlcMupZT6vMdEE0My + gg1MMgLe3W/Py5mGbibE+saBqUD6iC8OjErez92g2z7WBZt+FE6s05Vx7euHggJq + tAlbM0IAy1p8j1BH8b4uTl59MQwlejjgIiXw3D6yOegoxRbI3BXx2vm9Bn4H5AES + 5iI9ZpwTqMnAbZayLOjJ/mYA2Q3W9gTcw4qNCXO+tuzLtzI9g+NX+qf/Tw2fn0ws + qVrYJE5iCnLlVC5VG3gJzWl3y8UBg+E636Akv2wlgkOHUF2dYw7q1t09B6KQ8XdA + 9KDrEGMGQ+oMBhQOPBcMkLrQrAefKDLkef7Gm9CpKJKt1ynxwWJwBrk9D+OlXmjU + xNGAhuYTE94UKAs1xqCllGGwpfC8ExukDzR6kYF/b0QzTiX5HreiFBV5JUjZUZem + 1rQz5gDoe7peS3pxQzNQKsnTH2NxpuThx1SieyhDiwrOcnkDxSxnDkh7JM9b48ne + tyx6CkSE0nz+aLLNtmVErQy7a9mT3Ibz/WyM3BZBMsahReNXSy9RPzWzyG+B6F/S + XAGMtreQYxsFP71MgRkblG1Pk/QpZ6fOkyUWo1fT+ikQAkEH07myG2k9pXZzwtFq + HM29IWlr6qVrEtxd4eJp4JkQuyU1Ew1gN0KmnMoMqfPzzZtpVgBGtml2VVpU + =PU7x -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-02-18T08:35:36Z" + - created_at: "2026-03-05T19:17:40Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1ARAAqcYDnnf6IaIrDz7MKdRYA+6v+tzdIdGGOl2vwhNIDKlb - N6qggPc1JTPUys2doeZKbgozw2GBDG8qwTzGPCI5czj2VwUzo556xIFLc01ZoJt8 - v02Zn1oxPY5CwV2OfECDa4finy3n4a+AvjwLB1w9pFVpzU66LIRXhRWBPCxodLmI - 9vE0NbRcE7gDva+Y35CP3L9QpHDmq0g3Gnp5LmZVzyD5VXt6MnZaYZqNLN5gPdlz - FKD3GBIACUk300VEVH6QSgCx23YF/0vBZ41s1pyytT9fNrNlMbpiqffiLywcjzio - m5PRiVEzSBHllhlz/HmPvdnoPxu2nbuqJtOTnciwMVkqHuMXnK3Wn2fMzYd52JK1 - 0xaeTVIUXblmvbDlM0hk6+jwrTPn/906VVomJkhppVsSH7qOdaxj/7Vx4JigXe+5 - OVFr5JYUSnjQ9lZRKr4RfbS94nMQoOOZSNNWyxEfIC1x2TJis/TW+UiuvSBqJ4np - JyphmPhIVgQbgdhGu0qEA5waC8bb5umUKKPiJONMYlmk5JUfu4xjGCU++iqJlwvG - dm80PJm5O4qvdDMjRnfIFdlrFN1nL8GzPvwUXB1aDG7oNawp5pRBc+04n/Wx0xHk - iy7XMmMurgi0sDpAIsk0Yj6eaWH8d1ST+SzkfL+8RKDVNbb9jl+g5IH6QTaJC7nS - XAETQPx8iTK8HcSWu9KaXcmnC6d8LTywrrE8XRxFQJHgfku3D3+u3pOX/h1QiHzY - l80NOh1i8ax7Hg6tqOudpdrl2DMIyPKQyeE0fOTkf13QQoiDu9vAxTdjfJmt - =kRxY + hQIMAw5vwmoEJHQ1AQ/+PTuTVW8rSoZJozu7VaGmAMPkziiIPWpKR3pXShqXVNBq + yhEqev/kZifumJdtzRWviA2BBR9PsHCS/k5TJGLd6gqWPwuiQfq/R3kJSboqGtth + 8aLy2jLvBfwuEYvqkA2skoZuXRvcNd9bAZyLjOyK8WZ/vrZQhuoYwTkANZubAB6H + Pjbzd6+cd4PzYhKcyotrplg+E0fVGKSgZfe9e2OpUEIKbPTiGIZRn0RMsfoKtiuv + OcXgLA4SxWmbZg2XgLK9M1+GpAJMDNPdCqmEdjHnwheUZezntXWEBkqJam8WVfxo + V1yPthcj94WxwaLDWX61ibdwD88JaoSP8h8El2Q8ptYhypuOCZm0pqWaf3hp+6pi + 51kbxqg1JIQZFY36p25DCBsoKjHsERHpLUQGfQo6ZepP8YYe2an6LEazIHKphQAl + f9nvTTB6G81Wmy9io96qF/6BJPWGQ4/BhBqrFjnIz9btkwfPjcggis5W24mckWbY + W1pi4LFsf7L5b9rQ8RWRgb+jdPd7Zw6KIcAtTp8+nUPMHIRxstClTqk8BUzsXgyd + Erbpmdgm6M18GFKT05bjh6wEthU5ASJnlJDwVrCHTXj8XhqG+s4FqESfVa+oykT2 + 8jIF0MgfoE5NoFIuUg8+l6qe9dPeALL/Eh1WUILbwXv/q+Y0v0XyG8A/FbeGRybS + XAENpQExYi7IYHhBcvfaHMhkZX/rHsibAQwGmoVElndmtLf06OEoeR+Qq3AVK3fc + 42EH33db3H8H1Z4FYM0/eL5NEpC3a01dq8Rc/h3OigOGMQXa127MUU43lRja + =4IyN -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-02-18T08:35:36Z" + - created_at: "2026-03-05T19:17:40Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAJvWHYk5G3O/MD7QDhV5kzfM8GtXJFUy9zPj9e/x9piow - aHpWZ2JuUAJU80bRigMsBxG5xcz23aZ89TV1t6+5FJPDmbPUvSEmNiduKVkFeJN+ - 0lwBs0JigSM89bqBMU+Y1N/5Z+o6lsdgNyCVYEGjTVL75cJPYJw58xK+Y7ytAAAu - NfGezMGeGJ2k61szLC6tsKHf8M4RXN222HNSYGC9SJsbQ+j4oZdOtLUy2vpEyA== - =ZwRa + hF4DerEtaFuTeewSAQdADc0D86pvsxMWDNwsfy409to+GMhAiaIwaxkoZ8erAU8w + vcuBIg/KkoP7A1zPP2t0vR4CEsuH1soGbe4sbYq/y16WaIzY+pM7V839ATVAgaeg + 0lwBS+qD7Wx0FHcmEPm2W6E5RclGbBvTVbnk7M1hWpV7ibovyP6R2UthMvrbLOkT + 7ZovNeDCXmtALJzMJQrPPjc7dBfVzJro4ksW/Ayrhymh7bsFJ+MolDWBO+R+Mg== + =iWQK -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-02-18T08:35:36Z" + - created_at: "2026-03-05T19:17:40Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/9Gih4n/6wVedkWL++ByDcA7k8eL5q8vHYPaw1SJoKPO/T - 68M13sdkm8je4kL3EnJYrwYw8ycPUgv24URL5IlmEHQWlpfqB9DkgiFH3WzqIwk7 - ujCGepVUtf/pQiFRC0F6aKXo935D9dqxyZxEe77EbfZLPDTRvJE+uQdwtwKdqDi/ - 34ydxlXsmw/5EwFbN671TCoANa86/lZPOFO+qVDy2hPxA51P2y+xfJpnn6xNjk0V - 5rJA9VjAl2okmBmcHA8TZzZki7fNRX79Lq6y2Gzqs5PLUVzmzzBLSIKGaMf8e/Kd - ei4/NExWltnYWwTFeTq8ud8DD3juit3USNIX1/HAHFL+USuYmygHgIguQ51Q1f1O - DMQZxnVn/MGzZrVtiOd2xqD560IjeQqlt4xaITyRPUik3dXZpun18LKaCzLJKFkI - CsY1AHi1IQSMfNmIMGUnK9r9vZLA99hUkQivBSJM20+2AR/QXz8syOssOwqcMThw - 9wv7dPZYPjhkoGOC1oSbC23CdHfS4u9HsvvPHhEY38zAQ9oxW9eUP9/Qhvxm4tUX - MNuBVHUGGvhEiKny9LbSkG1nU+PiqnzFm7lbMcAn4+c2EAqbxB/jWpiUhqfLEUGf - 9zbd/0xqTmpGejvykYFoDYYmO8273Xp57bsCBx1k4F/213D91v03vXMXVC97R+3S - XAGHtLPZGLPn9pQnRc50wD2QNxNwzZvApzpnjCBRMShcwd0l/+tpmwvIoZD2JzAD - /qYd2yltT4LqCj/oQqdhkhrwnsXMscuRD8ofXcCJ5zaS4FkPf0GaOFURf8te - =5Mug + hQIMAxjNhCKPP69fARAAoUOp+YsKylWifkJkAp92gHrB7PQFHxwK0LD9oyInbPeD + ZFaIikW2qhBUrKQ18dot9RGZdII3lBXhbjHMrGrj0FuglK1fbgdLrlVoxtTOexiE + hMlBDDETMBkxhx71dh0i2Gh7nWCoAAJMNPdXqz9Vgpcjv3yOgo4EqVMsVpQOqmFy + BRAkhKr3EZSgZ9NLGplBsTuKvSBIzWAdEZ5FUDDx9uMMDoJniOi7ReUcLQfq0eBj + mC2JrUNfbgiQCqz0zz3y05vE9rQjH8STXplMv1UQPIA5sFwRXm17g0DGVJWDLS0k + iesssdn959M2j0iMszUHDafnSGy2DrYrk1/cUevUNdfQ67Y6bUmFGpzI3xgKag+n + 209qwqKGpXUCzOsOx8kxN5cNctNOI/5X0WEZZn4/wucssUiAmrZektjlO8Gjh0MN + BiCufaOjjdIlTonDrdVP1Mskrhbqf83bV4tlyOuCIh5wU+ABElQ12welUsfbMF+c + 5EJXKjJCMr6jEf7UtWDP7oEkopNkCWTrdiUTSjSuWKZGlDKl9UYh2gnv5fT7uTbB + HFg7JgNvLG34JylR6diZ9ZlDZSg60nYu1OFre+UG+veTu+OGAsGoficdqLp4LGbX + NedMxD7VEO6GG5G5Ris7XWW7mOzbLmijrAuTJU0RS0iyqsVpsWUnTNIrk5ByBufS + XAGnZg0HNNf8gFN0xG/CkIV4XM/vRKJF974i4ANeWb1KRsHzIAEjN36HoPQfRUQZ + C1kzOek65ktqK+bWGVV/UlMQZibL1m+z33szEZTfcdvyPYO9+RZZt1L4PwN8 + =X6zd -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-02-18T08:35:36Z" + - created_at: "2026-03-05T19:17:40Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//b/TYHH9WXedc4cVdmj8vfs8Rkvpdv2yYvapAgw7MADyP - zLVjLTW564soYEZWm5TycUAEdXAGkGBvdyYyzwvqxgf1cE94wlWEaIea6Gnkbiv/ - nZZqePlApovhfpPAqZWIjPjMrIeEwVzTLMEHfsVXxLr/4UlMYLIHlrKqiosr3Gsc - tvXvV9VJ8NF89zbdTtE+/kOnGfi023qFDMxzhuOJpHlShJyz7aIzTWLRaSLUJQcW - tHLLP1nrV01GkV64UFRwehvZo/3Y+ne0MWMEKilOnNABGqUR0eVOzuZuwrCKPYUB - cs5v26abUSczoUGMVdaD+plFPBcP5O883ztefg0MTnAc+dAcB+0zgHLc7YjPWdxU - HATQlQMkUIa20A3XE2+jqUcUmszxLkO37YOU1C2wUMkPNUVIakZyrJ+BXTz9U98r - HUXCpFN5Gcph7MEtowUdg6uL9dUtc/AKEirvm/+PfyT6q6QbkmhQ6pdWPglbbFh/ - WiY4qEc2xJiZIxvb+l+Qt0Bnh2QPVIwpFSv/euS+D5TUqqIvw2OJvVQYl5YRTeXi - 7RGjJddslf6MNpITXOPL7Qytt8hCHZk6AKBPQMpBgV0+SGH+7JxZ6T0i6iEl6brE - XmW5NgDGH70zKyf96pBIAO6kPffDSLlxocywFhwezyhnbj/bKGCQYZS4Ne4YC1rS - XAEMsugvtq/0MbaQEsRs/dXZRdcpLeL3iA7cSYzmSvWsSasT1z7ycdeatNoAuSgw - 609CckXtyzjxAaLObGrp/ntW2tN041XaCQtiB7Ctylm3aDhnNDEF9VoOkVPP - =Si51 + hQIMA1Hthzn+T1OoAQ/7BgHs/UPUZUW2aj7dVAwk0jnmzYKA89IfHGa6ZOkv+6zi + p7maUaVSue8ST7JI5W2lPuTa4+vngXuTGdmp2OlitJhpGvUvM2dlkZ60L/FGisgu + KJajfO90ULGZsnE7KmsrTdymiZ8MevErGIDLqbxcQB+YvaNDtLVW4RwdbLMnJtaV + ZudXE+uTSl7QD6KPC+YDflI0iV45sTLpCqO6GUR03ng4H2wdfjveCOJg4sqNovgd + vkbJ0cdrlP2OcqzOfR9c+brLNpBwTbazQt/af+pZtMuTGWlJ81Y56brqK7lyzLaO + jIWn0KCY5B4KrjD1nXcrDl+gZmrFVkgTvh26zJMGJd8rTiTfYdiYtLD2VMnMs2lW + 04LeDj1VplNqy6vxbYnHE5qnS76KTzoW84KpgH/1q1D8lP3HWwTeHASMx2fqppQN + gZFzZNCNbZszYJ/no390Py+xCNBDgi/nOQdstJSrfYw2MdGk7QTKVkhrBFOf2QvC + kFaWZRnE/cZVWa5EKs2VO7ffsYT1ZrKuBdBPB3SU/pPevwii04yoZac0Cu2rFWbY + 2B2whVKh8x8qkStwafaKIn5SS+Ej9wR4/r6j7t2bg9wis6sp3eIgNSMT3z6kIk9P + opEtsTIyDadjEzQSPZs8qbTr8Rii9pAhEXAEzI7/Ki47DnDfrjtugKrmWL4coJ/S + XAE7zxuQ4uhFAwSWivT1OTpfGFz3glboTacb4Ma2MzAEM/zaAg4nOUn1OHFzNjb9 + 1GyfurhPhBTCaPZcmdGKE53KgOJLI1qxxr9KZQWz/g0R8yUU+cpmlgmx2Mj7 + =doa3 -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-02-18T08:35:36Z" + - created_at: "2026-03-05T19:17:40Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqARAApHLg9LGq0cFRbmX7UdBQmP5IP/gHjcfWy9D9UOgAVkYI - lHxdk5Yc8GyA8oq7W4Xg1SpWJ//BJvWSkmjQV1Nz+a7Ek8UNPdrDynTUDMN2XULm - nqhzo9dyVjrBm/jJG4Nt4IRsvvCSXVJCIQN/RuTa5HxDCLpU1sDPp3VFDaXJofKK - g7TMLUP9YCBxD1lTaxXQVm8yUUYE/Cciz9B1HOVE0fbpzZ0fFj5RR8lpWr48Y9oF - co1jestulZppulnz5yxvtKQEVpkcmXvpp7qS/tx/aDgRRgQ6hm2ykn2CJiiyhpSH - JnE2qAEwvMlAU2tdHHY+uTysLIVxM6H7ALFUWd5ktO1wrRvKKuMOHIXWGErXfc0t - +tZ9IjaLGrrLqHD0AAccJzzohMpcAFaWHzMuq0qk8F9MmCCRc6woZJJf29i+Zh9U - Nef0t5uH2h1RH/cAZraDXNmOxiVlJDVffGagjkoH0FsupmWOan3JuHmtoRtJA/hE - ZawvjrbaA2Tst6QIwzQScawz3WqTFaKR1Y7MpRwKcHDO93zYII5Pe8tz9YgjuJKO - MHJl1LZsJ2fCctY8PItNZRfzDTnoM6PRr2mkxLWZaVd6VOZ368R0dbd52ekaKwLq - gLEFyu180i2Jeea+HLfUda69qJuW6NNTC+fvsU1+z7ZA+pIyMlh/q392a01ntRfS - XAFY5SKJSMx978RT/SHI2vJoRA8z0kDd997taP8bBHPNTNmpb5zmqHN03KpcMuCX - 6ziQNvLvqZ8u6IBISX10KotCUqk5DXGFmZ+WUvSGHwe8hGhMYZdCvH8QGtqY - =t7Lg + hQIMA46L6MuPqfJqAQ/6Ag8Pq5PHZPcg+FSS/YI9l1HOdAHSoQPo9RKD3QHDBHOR + wPrrnFv0SOTaPbx/R+8akAjsGdknetq8RsbGmMJ6vBA4EeixaFOMG53b4mDhCCrr + 2BmUJ1dHTS5lqMer1jZgcmGuneGOKrtsgt9WVULgIPzAAJsoqYnB3Nwb3yxlCUsK + DUyE1mHyujMZi0mo/ZaI3K4bKqwRGgPyMIjomYWFZDjei3J5jSmQqUqVcoLU5z5d + sf4Lnt66F5RmGW3uoGX1mNaFBtw4xjHZt5AA6ao3ZHBHCSEbAnDA1YXGU75yrqXb + WG5MYnRTLbn3DVFIrtTrFmDG47vJpdOcv8wIGWoKi6Hxphzf+c9F5fBq3RmLhEF7 + ckz/yGJ10eTtanh8puVhTPOGeiYrzhPXpvo3dFZND4sTg+SDJ4rwyiFviM3DIUPQ + vfY8A876U3f7pM9hkZEfSbwcDcYfb1jxTLPRjquk1ujoe7NSX673G10x52AoTFKC + uKaO+G6Tv901PwgYrH3gzGfRg+89HRa33U+DQhCbdAS4oAYlkOI7II3DMlJHCaf/ + 2/v4OHjcqjQxzbgZUJOoT91htepi+f8+bqdjUKQLB6YF9U0wkI0x8N11xj4+rYPV + HVq65iwhizPG9dFOV99Xb1Z1xO9fzNcXiRR/YhtqzY5jEO4UFRvurg9e3I/XronS + XAFclhloL+Jd9N90yKXDN1GxJtAva2xd7CzWNmuoZvV8Eb1mL0vTHsH6AfbApghr + Gec5yLUMOlpWnRGuOBhBkH6VPtsEvvyHGAI3pfAoGQLKN9JVxk9YFGSeadnO + =1xbh -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-02-18T08:35:36Z" + - created_at: "2026-03-05T19:17:40Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdANuHW9MBppn++aYWPU6DEUZNIdAJ0hWVMV63pee2qZWAw - Tkc1J+CDOTsCEamrwZU7SOEFaafhPzrXZRNJoxslwgL0b+Cby7+8pZIchwhIQSAr - 0lwBGfAwlZwFp6UCUY8aJJc7p/KydAbeLAIeGT9a48z9p55U4CHqfPtEVlRNZTg9 - u3hP33LaXypBsxQqls5yhUYlV8eu0G03RWgX+1/G0ytv2iKdLMUyTZUv8JW3ew== - =0d0V + hF4DQrf1tCqiJxoSAQdAn+Dcq0/Y6D1Id3qqLu1QF1r7c+CC+ld5ZUU9AV0loAIw + ZzIjW7Z7xTFRL5MXMTNVV360L+S9f5qR/qkJx4H6ew4iSY+NBPxoKrFBxujfYWG8 + 0lwBDVVtJNP+pu9IX3FCv18wKISjCW++wetYpB3GWlkq6gVfPV/oIm4UjLNnDPCE + xpqf3ZBAn347DLRsbe4+/mckkkK930AFiLYfrKGDI82kZX/tYEiNUEAMiZCzJw== + =x0cl -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-02-18T08:35:36Z" + - created_at: "2026-03-05T19:17:40Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAoE0esHXYa+xIJSyKYUXKBpqQL+WMFAVUQHZYSzt8JkQw - hiT5VHNDGvsDSH4l5fLKZjyheVUr7d2nVzAoTIFfEskS4jfj6Yf7uMwyC26Xp0uA - 0lYB919LBA5uK8IFOj7Mw7J2TFf7a5UrCNLGHtHmQWt8VUus/PTvczN5WYmSIhPB - kfs1mjNUzFZPhZwATmC8bYEXnBe5VvJ/yuUyM1GBiPJuLt39dR+QMQ== - =WdHs + hF4DzAGzViGx4qcSAQdAIndREUDCYyeDAAwlIDomsWZEViMexZmysQuyoSQAhAow + wxZHNCV0dJeRQ7b1jeIY3dFT7zMozXtUopVIgG3x4IEyIcnez77V+oyPrWVa3AOE + 0lYBfLhq+zcnJUGQblBiEZH/qVzRECsSyn3fCEg8JpqwyDmLaQDqAwScM1Rr2Sof + friMPCncwlahTLkxyxoFy8mwZ03p2JUMyNUBtLvsT2kby7fJO+hgCA== + =p10m -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-02-18T08:35:36Z" + - created_at: "2026-03-05T19:17:40Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAA4fU/kkfWFIOHqg0zgfMdS02Vx7Tye4M0z5bTJ5BHTPzT - jfH//iZroqShmzqlRB1q4er26eh3PbGvt6gS2MZYW7m9ccAmrf0TFgjruF9h61Gx - dbAvFp8rnxF3LZM4tR7MlzggmQHwKT4L20+5opsHe9IaINPPKMiMfKBSYFWCHo9X - kM9Etw0PCKLkYgglX9zjpZ2VZquuSdWyu7ERDk+4Ck6Xa4JEldjb5gHs9p8aSgdy - e+6QD3WfBFtC4gD88H0hSSNFZoWFAA2rOtFuCafEZSgIkFmnsgAVvuTlBoyGDKEg - gTBvgf7n3k473eteETfXNFA4OwgO3ohwFjH4SSdreSMq69BqY04BqjhRvQLX0FjB - Z1cEoPwVbe9A6CwP9jd8ReA6/PA8i2yVLK9c3Et8LDboMEFi9a4n7x8ai9wJCNtK - fVdxjqD5eLX5UJKm9l8tCJovv23tTqb4E6jZb1LaT6LfcAmpNCWUt+fkjKovfiY7 - LkL7v95rrOFykpXyzK1nScckzM5O1KmjYt4eL/pDucDDQbETvR5uMTzKVPwgaZJQ - I05ZZMfHC7dVU+9WXkHrYIT5zklwo+g0Tf7TTAj9xv7SqjB+YHbPMRDQOP4f5/PD - dsFNwbZQYKZq0MRCjvg2s4XH5oVB/AqvsARAZ5/Ha1QTJ8yeI+jboTx6ADteNmrU - ZgEJAhD1stH84y2rIaCAxyhqCr+Ys8Bzre3bsQwU/YPtfbFVTAtfrlkIAsYXrVE9 - J+yue+yMI5dIv4E9af29SoG+ya5Z7fBJRGEHGxGUOBwBqSd6MmJk7KidnIjVvE0I - ofnx5Bh32A== - =vR9d + hQIMA2pVdGTIrZI+AQ//a3rqUTuoGPrTA8JcRNG5ll/X4H/mK1gnfDImzuf0uUPf + CSqg8jsHJaIn77LACAZiLJGjpO8N76/Y7h9M0zG8A3kBmNtknmjDKzVHnUKH6agz + A/DPE/aApZE1TytkqWK26NWgaiOGQO5v5bFa9iqp+1nU75HQ6l7TeXmdIcyvoS0J + sUs9Bf9Mke5omL+XjGMFQ2BklUiiySeNGwWhKn2ZD3bGTS1Kp6FAG4K/gjKMmRlv + Wtx0WTYU9I41xOy06gFHB6V358eylWsEu9URrH2je6Dj/4JMpPORcekidDm7c7KY + MeY9vpEB0a55HK7d2atGawyD9eEOwLglftjW4VgD3I9uY1RH9lJnyVJtdRncAx1N + uz3E3FM8yHGTybWaOnDMBMuwplIO2kq6R1MN9G766NsizeCeceB4d8nI5+T4AzJL + 7dwA9eceqUBxP16gPy+nFP3ezo6Fjcd/FnUn7FfFb6AixKVjFONrixMJ801BzW6c + MR7cAfkbHKRyLy7+mm/aVQ3YRIG9XnlnlLwbM6ZuFKDsZl/jUSCKYeTxY68j9hmo + ye/AXhQIZFH2U+FKGcZ3ZGH8MPCsYHyT+ZgWzYvKDboJmZcEIzJRg8vVhR1YY60S + Xd00tEhDAutnZHZ+dtBwOVPo9KTLa59XU3hIyKJ8/Gw2fRKv3rTVAQbUMmVEYEvS + XAER4yw9Kt0EVcJSWtMvIsaAcHW535NS2MG7h7XwLmGwr5fTB41jFOC8xU1qwTb6 + Mx8ZSUmxrqwMVHuSzrTb8K/W9uSiFOBLhJkbx1YMIqI7kz518fzjD2PAKYnG + =sJIx -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + - created_at: "2026-03-05T19:17:40Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DKKbvh61jX5USAQdAcm73t6mZQ6i2rmLwZJnRzK2rdBcRDBDrlyOU1oGSsHYw + m79vYbO0nFX4yF8gr7wbPfWeGMl5mNMdEjECbt8lEM/XbfJUt95TCXSQ+Tl2T6yt + 0lwBEK/RJhGYQy+acSQQhnVz3pQQJ5bzwAXMoaAOKO7bhvUnDm/XAZpK+LJvQOvd + x2bd6CfNLY9wRJoqohCuGxPsM/8XhspOgYEwhnuItOs203kAQA+beIwl6TciEA== + =qjkS + -----END PGP MESSAGE----- + fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted version: 3.10.2 From e98f6d68bdabaffe90c6a4e8707114c7a1d4e19c Mon Sep 17 00:00:00 2001 From: June Date: Fri, 6 Mar 2026 19:15:55 +0100 Subject: [PATCH 194/417] Revert "wip: test renovate" This reverts commit 05d8c39b75e00a3df17a61b690371c44d930e880. Doesn't work. --- renovate.json | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/renovate.json b/renovate.json index 0231949243..41787b7aa1 100644 --- a/renovate.json +++ b/renovate.json @@ -30,8 +30,7 @@ "matchUpdateTypes": [ "minor", "patch" - ], - "matchJsonata": ["isBreaking != true"] + ] }, { "matchDatasources": ["docker"], @@ -41,8 +40,7 @@ { "matchDatasources": ["docker"], "matchPackageNames": ["docker.io/pretalx/standalone"], - "matchUpdateTypes": ["minor"], - "isBreaking": true + "versioning": "regex:^v(?\\d+\\.\\d+)(?:\\.(?\\d+))$" } ], "customManagers": [ From f345ff5e0023dfade75889ecea2b6139c7463ed0 Mon Sep 17 00:00:00 2001 From: June Date: Fri, 6 Mar 2026 19:53:24 +0100 Subject: [PATCH 195/417] renovate: make exclusion of CalVer non-patch/-minor upgrades work Pretix and Pretalx both use CalVer, so we don't want to have upgrades to their second number be identified as minor updates and get grouped with all the other minor and patch updates. The regex to re-classify the second number as major doesn't work. Probably because of: "Important: all capture groups must contain only purely numeric values." (https://docs.renovatebot.com/modules/versioning/regex/) So instead match on the minor update type for Pretix and Pretalx and set the group name to null. --- renovate.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/renovate.json b/renovate.json index 41787b7aa1..9a6bababd0 100644 --- a/renovate.json +++ b/renovate.json @@ -35,12 +35,14 @@ { "matchDatasources": ["docker"], "matchPackageNames": ["docker.io/pretix/standalone"], - "versioning": "regex:^(?\\d+\\.\\d+)(?:\\.(?\\d+))$" + "matchUpdateTypes": ["minor"], + "groupName": null }, { "matchDatasources": ["docker"], "matchPackageNames": ["docker.io/pretalx/standalone"], - "versioning": "regex:^v(?\\d+\\.\\d+)(?:\\.(?\\d+))$" + "matchUpdateTypes": ["minor"], + "groupName": null } ], "customManagers": [ From 0788fde69dd514a9e891ac00d493eaea01b7d78a Mon Sep 17 00:00:00 2001 From: lilly Date: Thu, 5 Mar 2026 20:23:36 +0100 Subject: [PATCH 196/417] only allow sops encryption of *.sops.* files --- .sops.yaml | 60 +++++++++++++++++++++++++++--------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/.sops.yaml b/.sops.yaml index c659d62bf2..fcb0b45d4b 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -43,170 +43,170 @@ keys: creation_rules: ## group vars - - path_regex: inventories/chaosknoten/group_vars/all.* + - path_regex: "inventories/chaosknoten/group_vars/.+\\.sops\\..+" key_groups: - pgp: *admin_gpg_keys age: *host_chaosknoten_age_keys - - path_regex: inventories/external/group_vars/all.* + - path_regex: "inventories/external/group_vars/.+\\.sops\\..+" key_groups: - pgp: *admin_gpg_keys age: *host_external_age_keys - - path_regex: inventories/z9/group_vars/all.* + - path_regex: "inventories/z9/group_vars/.+\\.sops\\..+" key_groups: - pgp: *admin_gpg_keys ## host vars # chaosknoten hosts - - path_regex: inventories/chaosknoten/host_vars/acmedns.* + - path_regex: "inventories/chaosknoten/host_vars/acmedns\\.sops\\..+" key_groups: - pgp: *admin_gpg_keys age: - *host_acmedns_ansible_pull_age_key - - path_regex: inventories/chaosknoten/host_vars/cloud.* + - path_regex: "inventories/chaosknoten/host_vars/cloud\\.sops\\..+" key_groups: - pgp: *admin_gpg_keys age: - *host_cloud_ansible_pull_age_key - - path_regex: inventories/chaosknoten/host_vars/keycloak.* + - path_regex: "inventories/chaosknoten/host_vars/keycloak\\.sops\\..+" key_groups: - pgp: *admin_gpg_keys age: - *host_keycloak_ansible_pull_age_key - - path_regex: inventories/chaosknoten/host_vars/grafana.* + - path_regex: "inventories/chaosknoten/host_vars/grafana\\.sops\\..+" key_groups: - pgp: *admin_gpg_keys age: - *host_grafana_ansible_pull_age_key - - path_regex: inventories/chaosknoten/host_vars/pad.* + - path_regex: "inventories/chaosknoten/host_vars/pad\\.sops\\..+" key_groups: - pgp: *admin_gpg_keys age: - *host_pad_ansible_pull_age_key - - path_regex: inventories/chaosknoten/host_vars/ccchoir.* + - path_regex: "inventories/chaosknoten/host_vars/ccchoir\\.sops\\..+" key_groups: - pgp: *admin_gpg_keys age: - *host_ccchoir_ansible_pull_age_key - - path_regex: inventories/chaosknoten/host_vars/pretalx.* + - path_regex: "inventories/chaosknoten/host_vars/pretalx\\.sops\\..+" key_groups: - pgp: *admin_gpg_keys age: - *host_pretalx_ansible_pull_age_key - - path_regex: inventories/chaosknoten/host_vars/netbox.* + - path_regex: "inventories/chaosknoten/host_vars/netbox\\.sops\\..+" key_groups: - pgp: *admin_gpg_keys age: - *host_netbox_ansible_pull_age_key - - path_regex: inventories/chaosknoten/host_vars/tickets.* + - path_regex: "inventories/chaosknoten/host_vars/tickets\\.sops\\..+" key_groups: - pgp: *admin_gpg_keys age: - *host_tickets_ansible_pull_age_key - - path_regex: inventories/chaosknoten/host_vars/onlyoffice.* + - path_regex: "inventories/chaosknoten/host_vars/onlyoffice\\.sops\\..+" key_groups: - pgp: *admin_gpg_keys age: - *host_onlyoffice_ansible_pull_age_key - - path_regex: inventories/chaosknoten/host_vars/zammad.* + - path_regex: "inventories/chaosknoten/host_vars/zammad\\.sops\\..+" key_groups: - pgp: *admin_gpg_keys age: - *host_zammad_ansible_pull_age_key - - path_regex: inventories/chaosknoten/host_vars/ntfy.* + - path_regex: "inventories/chaosknoten/host_vars/ntfy\\.sops\\..+" key_groups: - pgp: *admin_gpg_keys age: - *host_ntfy_ansible_pull_age_key - - path_regex: inventories/chaosknoten/host_vars/eh22-wiki.* + - path_regex: "inventories/chaosknoten/host_vars/eh22-wiki\\.sops\\..+" key_groups: - pgp: *admin_gpg_keys age: - *host_eh22_wiki_ansible_pull_age_key - - path_regex: inventories/chaosknoten/host_vars/sunders.* + - path_regex: "inventories/chaosknoten/host_vars/sunders\\.sops\\..+" key_groups: - pgp: *admin_gpg_keys age: - *host_sunders_ansible_pull_age_key - - path_regex: inventories/chaosknoten/host_vars/wiki.* + - path_regex: "inventories/chaosknoten/host_vars/wiki\\.sops\\..+" key_groups: - pgp: *admin_gpg_keys age: - *host_wiki_ansible_pull_age_key - - path_regex: inventories/chaosknoten/host_vars/renovate.* + - path_regex: "inventories/chaosknoten/host_vars/renovate\\.sops\\..+" key_groups: - pgp: *admin_gpg_keys age: - *host_renovate_ansible_pull_age_key - - path_regex: inventories/chaosknoten/host_vars/lists.* + - path_regex: "inventories/chaosknoten/host_vars/lists\\.sops\\..+" key_groups: - pgp: *admin_gpg_keys age: - *host_lists_ansible_pull_age_key - - path_regex: inventories/chaosknoten/host_vars/mumble.* + - path_regex: "inventories/chaosknoten/host_vars/mumble\\.sops\\..+" key_groups: - pgp: *admin_gpg_keys age: - *host_mumble_ansible_pull_age_key - - path_regex: inventories/chaosknoten/host_vars/public-reverse-proxy.* + - path_regex: "inventories/chaosknoten/host_vars/public-reverse-proxy\\.sops\\..+" key_groups: - pgp: *admin_gpg_keys age: - *host_public_reverse_proxy_ansible_pull_age_key - - path_regex: inventories/chaosknoten/host_vars/spaceapiccc.* + - path_regex: "inventories/chaosknoten/host_vars/spaceapiccc\\.sops\\..+" key_groups: - pgp: *admin_gpg_keys age: - *host_spaceapiccc_ansible_pull_age_key - - path_regex: inventories/chaosknoten/host_vars/mjolnir.* + - path_regex: "inventories/chaosknoten/host_vars/mjolnir\\.sops\\..+" key_groups: - pgp: *admin_gpg_keys age: - *host_mjolnir_ansible_pull_age_key # external hosts - - path_regex: inventories/external/host_vars/status.* + - path_regex: "inventories/external/host_vars/status\\.sops\\..+" key_groups: - pgp: *admin_gpg_keys age: - *host_status_ansible_pull_age_key # z9 hosts - - path_regex: inventories/z9/host_vars/dooris.* + - path_regex: "inventories/z9/host_vars/dooris\\.sops\\..+" key_groups: - pgp: *admin_gpg_keys - - path_regex: inventories/z9/host_vars/yate.* + - path_regex: "inventories/z9/host_vars/yate\\.sops\\..+" key_groups: - pgp: *admin_gpg_keys # general - - key_groups: - - pgp: - *admin_gpg_keys + - path_regex: ".+\\.sops\\..+" + key_groups: + - pgp: *admin_gpg_keys stores: yaml: From 2b5f261cd3691d60a2c65e51e3c17d87062f93f2 Mon Sep 17 00:00:00 2001 From: June Date: Fri, 6 Mar 2026 21:09:47 +0100 Subject: [PATCH 197/417] docker(role): move automatic cleanup of unused Docker data here Move the automatic cleanup of unused Docker data to the docker role from the docker_compose role, so that hosts, which only use Docker (like renovate) also have an automatic cleanup set up. Also use a systemd timer instead of cron. --- roles/docker/files/docker-cleanup.service | 8 ++++++ roles/docker/files/docker-cleanup.timer | 9 ++++++ roles/docker/handlers/main.yaml | 4 +++ roles/docker/tasks/main.yaml | 4 +++ .../tasks/main/04_docker_auto_cleanup.yaml | 28 +++++++++++++++++++ roles/docker_compose/tasks/main.yaml | 8 ------ 6 files changed, 53 insertions(+), 8 deletions(-) create mode 100644 roles/docker/files/docker-cleanup.service create mode 100644 roles/docker/files/docker-cleanup.timer create mode 100644 roles/docker/handlers/main.yaml create mode 100644 roles/docker/tasks/main/04_docker_auto_cleanup.yaml diff --git a/roles/docker/files/docker-cleanup.service b/roles/docker/files/docker-cleanup.service new file mode 100644 index 0000000000..c3a4806fe5 --- /dev/null +++ b/roles/docker/files/docker-cleanup.service @@ -0,0 +1,8 @@ +[Unit] +Description=cleanup unused docker data +After=network-online.target docker.service +Wants=network-online.target docker.service + +[Service] +Type=oneshot +ExecStart=/usr/bin/docker system prune --all --force diff --git a/roles/docker/files/docker-cleanup.timer b/roles/docker/files/docker-cleanup.timer new file mode 100644 index 0000000000..7acbb9d689 --- /dev/null +++ b/roles/docker/files/docker-cleanup.timer @@ -0,0 +1,9 @@ +[Unit] +Description=cleanup unused docker data every day + +[Timer] +OnCalendar=daily +RandomizedDelaySec=1h + +[Install] +WantedBy=timers.target diff --git a/roles/docker/handlers/main.yaml b/roles/docker/handlers/main.yaml new file mode 100644 index 0000000000..ada24261a2 --- /dev/null +++ b/roles/docker/handlers/main.yaml @@ -0,0 +1,4 @@ +- name: systemd daemon reload + ansible.builtin.systemd_service: + daemon_reload: true + become: true diff --git a/roles/docker/tasks/main.yaml b/roles/docker/tasks/main.yaml index 8c8044d6c3..ae08dcd9dd 100644 --- a/roles/docker/tasks/main.yaml +++ b/roles/docker/tasks/main.yaml @@ -9,3 +9,7 @@ - name: Ensure Docker daemon configuration ansible.builtin.import_tasks: file: main/03_docker_config.yaml + +- name: Ensure automatic cleanup of unused Docker data is set up + ansible.builtin.import_tasks: + file: main/04_docker_auto_cleanup.yaml diff --git a/roles/docker/tasks/main/04_docker_auto_cleanup.yaml b/roles/docker/tasks/main/04_docker_auto_cleanup.yaml new file mode 100644 index 0000000000..ed43bfcb83 --- /dev/null +++ b/roles/docker/tasks/main/04_docker_auto_cleanup.yaml @@ -0,0 +1,28 @@ +- name: ensure systemd service exists + ansible.builtin.copy: + src: docker-cleanup.service + dest: /etc/systemd/system/docker-cleanup.service + owner: root + group: root + mode: "0644" + become: true + notify: + - systemd daemon reload + +- name: ensure systemd timer exists + ansible.builtin.copy: + src: docker-cleanup.timer + dest: /etc/systemd/system/docker-cleanup.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: docker-cleanup.timer + state: started + enabled: true + become: true diff --git a/roles/docker_compose/tasks/main.yaml b/roles/docker_compose/tasks/main.yaml index 5883716864..bf02828b20 100644 --- a/roles/docker_compose/tasks/main.yaml +++ b/roles/docker_compose/tasks/main.yaml @@ -108,11 +108,3 @@ minute: "0" hour: "5" job: "cd /ansible_docker_compose; docker compose pull && docker compose up -d" - -- name: ensure automatic cleanup cron job is present - become: true - ansible.builtin.cron: - name: 'ansible docker compose auto cleanup' - minute: "23" - hour: "4" - job: "docker system prune -a -f" From 9b092d0dafcf7715ad25762ccbfe36da5d778983 Mon Sep 17 00:00:00 2001 From: Renovate Date: Fri, 6 Mar 2026 20:16:48 +0000 Subject: [PATCH 198/417] 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/acmedns/docker_compose/compose.yaml.j2 | 2 +- .../chaosknoten/grafana/docker_compose/compose.yaml.j2 | 10 +++++----- .../keycloak/docker_compose/compose.yaml.j2 | 4 ++-- .../chaosknoten/mjolnir/docker_compose/compose.yaml | 2 +- .../chaosknoten/ntfy/docker_compose/compose.yaml.j2 | 2 +- .../onlyoffice/docker_compose/compose.yaml.j2 | 2 +- .../chaosknoten/pad/docker_compose/compose.yaml.j2 | 2 +- .../chaosknoten/pretalx/docker_compose/compose.yaml.j2 | 4 ++-- .../chaosknoten/sunders/docker_compose/compose.yaml.j2 | 2 +- .../chaosknoten/tickets/docker_compose/compose.yaml.j2 | 2 +- .../external/status/docker_compose/compose.yaml.j2 | 4 ++-- 14 files changed, 21 insertions(+), 21 deletions(-) diff --git a/.forgejo/workflows/lint.yaml b/.forgejo/workflows/lint.yaml index 5113e9fbac..bdd53f559b 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@v26.1.1 + uses: https://github.com/ansible/ansible-lint@v26.3.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 b6cf77155d..9c28d58b8b 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.15 +nextcloud__postgres_version: 15.17 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 8982a22df1..0cace5c14b 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.5.0" +netbox__version: "v4.5.4" 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/acmedns/docker_compose/compose.yaml.j2 b/resources/chaosknoten/acmedns/docker_compose/compose.yaml.j2 index d2b111b94a..65558f9ed2 100644 --- a/resources/chaosknoten/acmedns/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/acmedns/docker_compose/compose.yaml.j2 @@ -2,7 +2,7 @@ services: oauth2-proxy: container_name: oauth2-proxy - image: quay.io/oauth2-proxy/oauth2-proxy:v7.14.2 + image: quay.io/oauth2-proxy/oauth2-proxy:v7.14.3 command: --config /oauth2-proxy.cfg hostname: oauth2-proxy volumes: diff --git a/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 b/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 index c2c312c246..fb685d2937 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.9.1 + image: docker.io/prom/prometheus:v3.10.0 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.30.1 + image: docker.io/prom/alertmanager:v0.31.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.3.1 + image: docker.io/grafana/grafana:12.4.0 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.8.0 + image: docker.io/prompve/prometheus-pve-exporter:3.8.1 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.4 + image: docker.io/grafana/loki:3.6.7 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 a260ab113d..165c62d37c 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.5 pull_policy: always restart: unless-stopped command: start --optimized @@ -46,7 +46,7 @@ services: - "8080:8080" db: - image: docker.io/library/postgres:15.15 + image: docker.io/library/postgres:15.17 restart: unless-stopped networks: - keycloak diff --git a/resources/chaosknoten/mjolnir/docker_compose/compose.yaml b/resources/chaosknoten/mjolnir/docker_compose/compose.yaml index 931b0a1721..c46a1b70e1 100644 --- a/resources/chaosknoten/mjolnir/docker_compose/compose.yaml +++ b/resources/chaosknoten/mjolnir/docker_compose/compose.yaml @@ -3,7 +3,7 @@ services: mjolnir: - image: docker.io/matrixdotorg/mjolnir:v1.11.0 + image: docker.io/matrixdotorg/mjolnir:v1.12.0 restart: unless-stopped volumes: - ./mjolnir_data:/data diff --git a/resources/chaosknoten/ntfy/docker_compose/compose.yaml.j2 b/resources/chaosknoten/ntfy/docker_compose/compose.yaml.j2 index 50df05d561..ef4a8cc95e 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.15.0 + image: docker.io/binwiederhier/ntfy:v2.17.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 5f3478d369..77f1395985 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.2.1 + image: docker.io/onlyoffice/documentserver:9.3.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 790cf952f0..a1501dd83b 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.5 + image: quay.io/hedgedoc/hedgedoc:1.10.7 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 091d113317..66559e083e 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.4.0 + image: docker.io/library/redis:8.6.1 restart: unless-stopped volumes: - redis:/data @@ -23,7 +23,7 @@ services: - pretalx_net static: - image: docker.io/library/nginx:1.29.4 + image: docker.io/library/nginx:1.29.5 restart: unless-stopped volumes: - public:/usr/share/nginx/html diff --git a/resources/chaosknoten/sunders/docker_compose/compose.yaml.j2 b/resources/chaosknoten/sunders/docker_compose/compose.yaml.j2 index 1df2bcae0b..8257b1735f 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.1.2 + image: mariadb:12.2.2 command: --max_allowed_packet=3250585600 environment: MYSQL_ROOT_PASSWORD: "{{ secret__sunders_db_root_password }}" diff --git a/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 b/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 index 938883b0df..ce7398b1a8 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.7 + image: docker.io/library/redis:7.4.8 ports: - "6379:6379" volumes: diff --git a/resources/external/status/docker_compose/compose.yaml.j2 b/resources/external/status/docker_compose/compose.yaml.j2 index ae5681be16..bd5e4da975 100644 --- a/resources/external/status/docker_compose/compose.yaml.j2 +++ b/resources/external/status/docker_compose/compose.yaml.j2 @@ -4,7 +4,7 @@ services: database: - image: docker.io/library/postgres:18.1 + image: docker.io/library/postgres:18.3 volumes: - ./database:/var/lib/postgresql environment: @@ -15,7 +15,7 @@ services: - gatus gatus: - image: ghcr.io/twin/gatus:v5.34.0 + image: ghcr.io/twin/gatus:v5.35.0 restart: always ports: - "8080:8080" From c246a6815c0474bbad572dd55f728038f4047344 Mon Sep 17 00:00:00 2001 From: June Date: Fri, 6 Mar 2026 21:26:36 +0100 Subject: [PATCH 199/417] ansible-lint: fix issues --- inventories/chaosknoten/host_vars/www2.yaml | 1 - inventories/z9/group_vars/all.yaml | 1 - .../chaosknoten/zammad/docker_compose/compose.yaml | 12 ++++++------ 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/inventories/chaosknoten/host_vars/www2.yaml b/inventories/chaosknoten/host_vars/www2.yaml index a8a9ce893e..0a8071a834 100644 --- a/inventories/chaosknoten/host_vars/www2.yaml +++ b/inventories/chaosknoten/host_vars/www2.yaml @@ -2,4 +2,3 @@ nginx__version_spec: "" nginx__configurations: - name: diday.org content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/www2/nginx/diday.org.conf') }}" - diff --git a/inventories/z9/group_vars/all.yaml b/inventories/z9/group_vars/all.yaml index 9a312517ed..ed45a86c86 100644 --- a/inventories/z9/group_vars/all.yaml +++ b/inventories/z9/group_vars/all.yaml @@ -40,4 +40,3 @@ alloy_config_default: | targets = prometheus.exporter.unix.local_system.targets forward_to = [prometheus.relabel.z9_common.receiver] } - diff --git a/resources/chaosknoten/zammad/docker_compose/compose.yaml b/resources/chaosknoten/zammad/docker_compose/compose.yaml index 66192da5c0..80217d7b54 100644 --- a/resources/chaosknoten/zammad/docker_compose/compose.yaml +++ b/resources/chaosknoten/zammad/docker_compose/compose.yaml @@ -69,7 +69,7 @@ x-shared: services: zammad-backup: <<: *zammad-service - command: ["zammad-backup"] + command: [ "zammad-backup" ] volumes: - zammad-backup:/var/tmp/zammad - zammad-storage:/opt/zammad/storage:ro @@ -87,7 +87,7 @@ services: zammad-init: <<: *zammad-service - command: ["zammad-init"] + command: [ "zammad-init" ] depends_on: - zammad-postgresql restart: on-failure @@ -100,7 +100,7 @@ services: zammad-nginx: <<: *zammad-service - command: ["zammad-nginx"] + command: [ "zammad-nginx" ] expose: - "${NGINX_PORT:-8080}" ports: @@ -120,7 +120,7 @@ services: zammad-railsserver: <<: *zammad-service - command: ["zammad-railsserver"] + command: [ "zammad-railsserver" ] zammad-redis: image: redis:${REDIS_VERSION:-7.4.5-alpine} @@ -130,11 +130,11 @@ services: zammad-scheduler: <<: *zammad-service - command: ["zammad-scheduler"] + command: [ "zammad-scheduler" ] zammad-websocket: <<: *zammad-service - command: ["zammad-websocket"] + command: [ "zammad-websocket" ] volumes: elasticsearch-data: From e961886972b540e8c8d7da5621fa9f7c817c5000 Mon Sep 17 00:00:00 2001 From: June Date: Mon, 9 Mar 2026 21:09:08 +0100 Subject: [PATCH 200/417] pad(host): set session secret, so users won't be logged out on restart Closes #74 --- inventories/chaosknoten/host_vars/pad.sops.yaml | 7 ++++--- resources/chaosknoten/pad/docker_compose/compose.yaml.j2 | 1 + 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/inventories/chaosknoten/host_vars/pad.sops.yaml b/inventories/chaosknoten/host_vars/pad.sops.yaml index ae0d3823e3..b256777eae 100644 --- a/inventories/chaosknoten/host_vars/pad.sops.yaml +++ b/inventories/chaosknoten/host_vars/pad.sops.yaml @@ -1,6 +1,7 @@ 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] +secret__hedgedoc_session_secret: ENC[AES256_GCM,data:pHm05ETouEOfbjnallwvhifEz0qB/sMdhYNYqDKKcQyOpk970WRfjNYXh2Be+MCcM9aZjJkHv/2Jc23jngETfg==,iv:z+IWBen08PJGdz9kc8RbPu07oZua2e+IlOfhhleAqUo=,tag:JJ8MM8WP8z53TrafVJ0/PQ==,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: age: @@ -13,8 +14,8 @@ sops: SzRBbUNaWUZMb2hXckQ5ekFPQ0hSQ2MKYcb+ylmw46a5xmDZSW5HfxUvwtsH2Aqw hgMNTkiAKyo9JWjhbAwdkZd75BTsukIB5846Fbblpjo8kGdP10H6vg== -----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] + lastmodified: "2026-03-09T20:05:54Z" + mac: ENC[AES256_GCM,data:iTfsv2WoOoP4RHWRhau/8olT5BQn2jWE+iizKuVSGIqcG/MZKastj536ZjhM5GYZXyROXEObAenB7G7Zjy9rK5cv4QUIw0FiYN0irObOcXm6/mlVb0OoYHv4ObPhRvGidDNONhILIJwW8+TOHPMfwnhswff8+32gkVvdZtk1u4A=,iv:elNrdohgQVtqxSX6IC8lNUF0mWPV+maYX2MrletkqV0=,tag:RHAlazcp6mp+BLomFV7Z3w==,type:str] pgp: - created_at: "2026-03-05T19:18:04Z" enc: |- @@ -216,4 +217,4 @@ sops: -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted - version: 3.11.0 + version: 3.12.1 diff --git a/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 b/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 index a1501dd83b..9ec25b2def 100644 --- a/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 @@ -37,6 +37,7 @@ services: - "CMD_OAUTH2_CLIENT_SECRET={{ secret__hedgedoc_kc_secret }}" - "CMD_OAUTH2_PROVIDERNAME=Keycloak" - "CMD_OAUTH2_SCOPE=openid email profile" + - "CMD_SESSION_SECRET={{ secret__hedgedoc_session_secret }}" volumes: - uploads:/hedgedoc/public/uploads ports: From 242746bcbd76930156c10510307a24ac877abacb Mon Sep 17 00:00:00 2001 From: chris Date: Mon, 9 Mar 2026 21:13:20 +0100 Subject: [PATCH 201/417] alerts-fux: add alert for blackbox exporter probes --- .../docker_compose/prometheus_alerts-fux.rules.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) 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 b1836a3c4e..97de744895 100644 --- a/resources/chaosknoten/grafana/docker_compose/prometheus_alerts-fux.rules.yaml +++ b/resources/chaosknoten/grafana/docker_compose/prometheus_alerts-fux.rules.yaml @@ -10,6 +10,15 @@ groups: 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." + - alert: ProbeFailed + expr: group by(instance, job, ip) (probe_success{org="fux"} == 0) + for: 1m + labels: + severity: critical + org: fux + annotations: + summary: "Probe failed for {{ $labels.instance }} (job: {{ $labels.job }})" + description: "The Probe: {{ $labels.job }} can not complete its job for {{ $labels.instance }}, this most likely means that the instance is unreachable." - name: Fux-SNMP rules: - alert: SnmpTargetMissing From 904c50c17cabdcf176518229141fb4e674383130 Mon Sep 17 00:00:00 2001 From: chris Date: Tue, 10 Mar 2026 21:45:52 +0100 Subject: [PATCH 202/417] fux alert: set for to 2min --- .../grafana/docker_compose/prometheus_alerts-fux.rules.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 97de744895..08e9318fd9 100644 --- a/resources/chaosknoten/grafana/docker_compose/prometheus_alerts-fux.rules.yaml +++ b/resources/chaosknoten/grafana/docker_compose/prometheus_alerts-fux.rules.yaml @@ -12,7 +12,7 @@ groups: description: "The job {{ $labels.job }} on target: {{ $labels.instance }} has been flaky over the last 24 hours." - alert: ProbeFailed expr: group by(instance, job, ip) (probe_success{org="fux"} == 0) - for: 1m + for: 2m labels: severity: critical org: fux From 66830eaf3063c5ab5bb42d1a3332c86365bc9873 Mon Sep 17 00:00:00 2001 From: Renovate Date: Sat, 28 Mar 2026 01:01:38 +0000 Subject: [PATCH 203/417] Update all stable non-major dependencies --- inventories/chaosknoten/host_vars/netbox.yaml | 2 +- .../chaosknoten/acmedns/docker_compose/compose.yaml.j2 | 2 +- .../chaosknoten/grafana/docker_compose/compose.yaml.j2 | 6 +++--- resources/chaosknoten/mjolnir/docker_compose/compose.yaml | 2 +- resources/chaosknoten/ntfy/docker_compose/compose.yaml.j2 | 2 +- .../chaosknoten/pretalx/docker_compose/compose.yaml.j2 | 4 ++-- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/inventories/chaosknoten/host_vars/netbox.yaml b/inventories/chaosknoten/host_vars/netbox.yaml index 0cace5c14b..f28d193c14 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.5.4" +netbox__version: "v4.5.5" 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/acmedns/docker_compose/compose.yaml.j2 b/resources/chaosknoten/acmedns/docker_compose/compose.yaml.j2 index 65558f9ed2..a1962f0a5b 100644 --- a/resources/chaosknoten/acmedns/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/acmedns/docker_compose/compose.yaml.j2 @@ -2,7 +2,7 @@ services: oauth2-proxy: container_name: oauth2-proxy - image: quay.io/oauth2-proxy/oauth2-proxy:v7.14.3 + image: quay.io/oauth2-proxy/oauth2-proxy:v7.15.1 command: --config /oauth2-proxy.cfg hostname: oauth2-proxy volumes: diff --git a/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 b/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 index fb685d2937..a39c08ab76 100644 --- a/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 @@ -32,7 +32,7 @@ services: - alertmanager_data:/alertmanager grafana: - image: docker.io/grafana/grafana:12.4.0 + image: docker.io/grafana/grafana:12.4.2 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.8.1 + image: docker.io/prompve/prometheus-pve-exporter:3.8.2 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.7 + image: docker.io/grafana/loki:3.7.1 container_name: loki ports: - 13100:3100 diff --git a/resources/chaosknoten/mjolnir/docker_compose/compose.yaml b/resources/chaosknoten/mjolnir/docker_compose/compose.yaml index c46a1b70e1..963c9d9870 100644 --- a/resources/chaosknoten/mjolnir/docker_compose/compose.yaml +++ b/resources/chaosknoten/mjolnir/docker_compose/compose.yaml @@ -3,7 +3,7 @@ services: mjolnir: - image: docker.io/matrixdotorg/mjolnir:v1.12.0 + image: docker.io/matrixdotorg/mjolnir:v1.12.1 restart: unless-stopped volumes: - ./mjolnir_data:/data diff --git a/resources/chaosknoten/ntfy/docker_compose/compose.yaml.j2 b/resources/chaosknoten/ntfy/docker_compose/compose.yaml.j2 index ef4a8cc95e..af1b531509 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.17.0 + image: docker.io/binwiederhier/ntfy:v2.20.1 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 66559e083e..0bbfcb8631 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.6.1 + image: docker.io/library/redis:8.6.2 restart: unless-stopped volumes: - redis:/data @@ -23,7 +23,7 @@ services: - pretalx_net static: - image: docker.io/library/nginx:1.29.5 + image: docker.io/library/nginx:1.29.7 restart: unless-stopped volumes: - public:/usr/share/nginx/html From 21f51ea2d7545ce56661d823e6131e0881c3576e Mon Sep 17 00:00:00 2001 From: June Date: Mon, 30 Mar 2026 21:54:42 +0200 Subject: [PATCH 204/417] z9(hosts): setup ansible-pull for all z9 hosts --- .sops.yaml | 24 ++ inventories/z9/group_vars/all.sops.yaml | 322 ++++++++++-------- inventories/z9/group_vars/all.yaml | 17 + inventories/z9/host_vars/dooris.sops.yaml | 295 ++++++++-------- inventories/z9/host_vars/light.sops.yaml | 216 ++++++++++++ .../z9/host_vars/waybackproxy.sops.yaml | 216 ++++++++++++ inventories/z9/host_vars/yate.sops.yaml | 295 ++++++++-------- inventories/z9/hosts.yaml | 4 + 8 files changed, 963 insertions(+), 426 deletions(-) create mode 100644 inventories/z9/host_vars/light.sops.yaml create mode 100644 inventories/z9/host_vars/waybackproxy.sops.yaml diff --git a/.sops.yaml b/.sops.yaml index fcb0b45d4b..0ef8bd899f 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -40,6 +40,12 @@ keys: external: age: &host_external_age_keys - &host_status_ansible_pull_age_key age1p546j6whqsyfkjuf674lawrnk2ex653fuvwhcwt46gkrspkq59sqzm5y87 + z9: + age: &host_z9_age_keys + - &host_dooris_ansible_pull_age_key age1j0876shgsn7f2thxh9kx9x5uwnh45z6sy2jlk2qz5jhgedm26g5srn9kax + - &host_light_ansible_pull_age_key age1llkxtfx4dgnezmukj4ganx4ql9k4ga4ca9zuanf5r568jfp8peeqal490q + - &host_waybackproxy_ansible_pull_age_key age197tmckjll9999v5apqh5h70dktdxzxn92uyzce5j7jmesvnneecs9p7m5j + - &host_yate_ansible_pull_age_key age1yc9s8r7zt6tc7scfyxc3345khdwqrx0lwj4z6yp56h6rmauev50s5yqr22 creation_rules: ## group vars @@ -59,6 +65,8 @@ creation_rules: key_groups: - pgp: *admin_gpg_keys + age: + *host_z9_age_keys ## host vars # chaosknoten hosts - path_regex: "inventories/chaosknoten/host_vars/acmedns\\.sops\\..+" @@ -199,10 +207,26 @@ creation_rules: key_groups: - pgp: *admin_gpg_keys + age: + - *host_dooris_ansible_pull_age_key + - path_regex: "inventories/z9/host_vars/light\\.sops\\..+" + key_groups: + - pgp: + *admin_gpg_keys + age: + - *host_light_ansible_pull_age_key + - path_regex: "inventories/z9/host_vars/waybackproxy\\.sops\\..+" + key_groups: + - pgp: + *admin_gpg_keys + age: + - *host_waybackproxy_ansible_pull_age_key - path_regex: "inventories/z9/host_vars/yate\\.sops\\..+" key_groups: - pgp: *admin_gpg_keys + age: + - *host_yate_ansible_pull_age_key # general - path_regex: ".+\\.sops\\..+" key_groups: diff --git a/inventories/z9/group_vars/all.sops.yaml b/inventories/z9/group_vars/all.sops.yaml index 3589945dfc..96b32e0aa8 100644 --- a/inventories/z9/group_vars/all.sops.yaml +++ b/inventories/z9/group_vars/all.sops.yaml @@ -1,206 +1,244 @@ metrics__chaos_password: ENC[AES256_GCM,data:seOU504dZ9K21+NK1MBf9isee2L2rueP6Bl0F66R,iv:ZtQ516gzJQSSgvOOAzPF9MuarXqHSLXy37/9z85KoQ8=,tag:dIal6OxPLli+7DbzhjNFsA==,type:str] +msmtp__smtp_password: ENC[AES256_GCM,data:NlA0aN2SeP4Tl3G1Qg0v/SAicY8p6ZMdQPihGfFTohAmajNvteFJ19ELPezwTz7hia0oU7lwo3DfKuu92WMIKA==,iv:s44piFZZrF6ZYmkGqsBFjTUNiHc4IhBXJATRPETsAI8=,tag:Sj0Q/Y4hT4Hs1JxVOO/8xQ==,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] + age: + - recipient: age1j0876shgsn7f2thxh9kx9x5uwnh45z6sy2jlk2qz5jhgedm26g5srn9kax + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA5ajk4VWN0NUlUV2ZPUUdi + T2VYbjhxSWp5R3NNaEtYYzZReHV0MU9NSUZZCkhvaklBdFpEZUZTUktjd3U4bzlQ + eENrVHVFSlcwRlAxTm1zZTlUaDNuYU0KLS0tIDZPZjg5Sk4yd3VZNVhPYktwUGVI + NVZ0c04yUTVXayt2U1ZhbmFoelpJZ2cK3ZdyVwk0PprENnqI91Wk17oPXECfHFWF + 6uNykqEM2F455pYmSsCfGOsQ7OiG8xj/Y44kKmSY68T2Ryj851Zudw== + -----END AGE ENCRYPTED FILE----- + - recipient: age1llkxtfx4dgnezmukj4ganx4ql9k4ga4ca9zuanf5r568jfp8peeqal490q + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDQlhJRVBVaEZ0Q1ZHWS9a + Yjgza1Exb0d2VnV3My85aXBtUWo1Z0puMFJZCkdPNSttaXorcXg2a3JBSTU5VXYw + ckxTejF4ZWxMdHdUTzdySzBSYmJsTG8KLS0tIDVqdHZuRmVTVEJTcjhMZ2g1WW1D + WDBlWEtnUHZZM0RKeXFTQmtoeUdrVmMKmcSujJlOKSZjQUxd2tNi81oR0n99X9aB + JAw0713s90PsfZj54ERajmN/cXSuLh+A2UDZ0KU2ijJXaiYXPur2PA== + -----END AGE ENCRYPTED FILE----- + - recipient: age197tmckjll9999v5apqh5h70dktdxzxn92uyzce5j7jmesvnneecs9p7m5j + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBlaFllMklvTGp2MEhueXRE + bE1vTURBdXhFWWlhb0VlbEVGODA0QTZ6aXhvCloyajFhb2w3bGtrWURjU2U2UGFQ + eHRLZGkyZ3R2UlF5MmQrZlF5YTAwL0UKLS0tIFEzTmZCZTFKY2YranFYOHZ2a2lT + a05LbWJnRFpYTW44V09TelloNkphbWMKu1fAur3NXptRLv+URKQO1qA/QnjsE9Su + fZXeBCnEmpzHfPVFnE4vyJSM4A499t1d9DUeEeoPsgq2LzML+0K5Cw== + -----END AGE ENCRYPTED FILE----- + - recipient: age1yc9s8r7zt6tc7scfyxc3345khdwqrx0lwj4z6yp56h6rmauev50s5yqr22 + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTcDdlOHhVMms5eForUllu + empvM25FM2NDSXFucFl0bGhBdXlzM3FRazJRCkUwNWxSMjFycDBuS2xRemtZWVZv + UlFsU25OZmxJV2M0K1ozL29oOHdRRVUKLS0tIGVQejVnaVB6VStJVFBEUEw1aHRJ + bHlFVnJWZXp0UEhmK3JOQlg4YjdzaWsKHXJbhzBLO4WYOTIRJUsMGK2shv2OSE6q + 5NduDenHZVvl6ZKyZ4dFjhklsaieYbj/nOyZ403L4AUhWOllUr562g== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2026-03-30T19:28:25Z" + mac: ENC[AES256_GCM,data:IGai2CmOI46XHekSSpLgQxEGw9zIf7Z10K8eQyi0rJGha5ZOjz9jP1VIhC9m6LjRxOKJuEPV2NvBACC5tBUCGwW1Ym31spcROjjtCzyqRF8E7R02oNMIQ32Byb9ij56/Trl5UOBOML+WOdeaq8r74kEfIyZBCx/tfGENuTlBqd4=,iv:Gjzb/IW6WcRL3c4ShOH46cVed4duTs1BFygYnGd4d4Y=,tag:DZAH6tA92mFP5Yo9b4kmkg==,type:str] pgp: - - created_at: "2026-03-05T19:17:37Z" + - created_at: "2026-03-30T19:01:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//TcWYrR9avzZVfc/5hUqUIAQkMf5MZz422BXcOie/rHlA - J5FwuPMENfiUi5gwJnr0Q5qqPgqtJXtF28xXTy1plE+S0bXFL8DjTvkbRXcfxKOW - p8kg5COOkSot4Bvd76kN4jLU9O/HWbl6WEvgMv/7Q21kxwBYYR6zUYKcYtKIT8Nd - f11tEV8SHfVX/+5CvtXuNI6Mef/OwwCv0O8tCU0zIhHYrf5dVJpO9i5JwzoaVHAm - dH7u3uN8gJhrmHTle5b2XeQW2aCr2NGneNc4LzS4gd0iGF43dQtVoWFLkbUJWK9l - k98WAFqYmkaa4bPF3lnDEYBKse7rKniW9dzl5xWe59Tb21KeLZ2+wLsLPWffKlnQ - elfdWc4d9t+UvvK6okB8NmRisDAfFIoqRu5NnG8YCvF+U3wPXSU/umNIdp9GgcVB - aef+apsogE6Wh7Uc23Cu9NwzpmpQ8aDZfFOs/+r3+N9fS8sRIucplA9p5W4T2ARh - Y3ESpvhg39qhiXgSs6IJO+YAtRQodeoAq1FKFs9pnwpw1Px4QO1KAjyFwTZnTOhj - fE2y42GlfJUbAQTb+yPJInnfuwWS/Ebm/jRWNKgQpe6uQ+bSl4ffrT2s00fPAr5E - S7PcjIKWyDMuW4Vff1lMFxU+W5I0+j2ZrFXU5ha226aXP5O1Nxa4/rNdO45p9wHS - XgFcoRyYsvO7/vAV5aCvTZfX2KpCQ5lyh4+CJc3xevpWvxBidZ3bbgpihcgjpMYv - MBU4NXn7ihd43PB7bVkR5KXIol33pgEd2pUBpTaMeKqycF2mdXKuBOV3gDgWHec= - =n/3Y + hQIMAxK/JaB2/SdtAQ//YzSlv3O9mPgARl90jAIT9qARlo+3FTlNtn+m6CEBxbjN + 4foyzz7d6Hg83wh93M+SXuSrqT3PYlAjNpwhpAyRIV5SEE+s9amhMUCF878ex8Uz + rjJe/XwtmBTzW93MWCOumXF4oj9gerh/+driTXKHOZQttgcbusyhTEhhi6tjGnq9 + 5f5Dze+UlfQeReyYaW2vytVQ19kOzIEn9c8p9/4CgDdH0ZX0pRFcKUw4AAKaagxy + xSrDp9BTEQk/36qkTnLSnLlJtBx9iT9En2QMGo9LXy1pxJwtsXoK6KrSyRKY8jlB + Zk9bBcKuHXfo5JlURHxDBWx7ZUq/T0fjnJLwe1w23u//GSSPZdrBTuVybA0XgQY4 + 6/kfh5CJvh/oLOW9+KQ7a4LtToKY7ADTV+mCDd+MjClOcpHGTv3NdCldilFlo7zi + Wi+OqckyMby03zSbByDCFlixpt8Q4Ayv2Zw3uzX8udso553pM7nNXAPqaqWGhxMP + Qw2jd0wYSvDb0DlZmA2JivXkNDYk487K+6RgP5PVzitIWy3JTTS0+uWqQaoDmVjb + vTGfh5hfRFo80JOyX31G2+o1frE382JzQIOMLP9OctxIzUS/d6eWbeEvuAgs9REW + 8dkPcEoQoIzmCPxikAioKGwiTSHZ+BRXWCWiVg5pV6+PFH85UO5QDvZr9cPZOArS + XgEUvu/d9n7jglKXbw7mQiDUCjuV/WNrWmGd+wV3EybJ+l8hFbwPdQcRP3WdGZDM + DQAJ7xp41c7BCsqH+nJiy+6fpn4P+HMoXSOvcCjFycwAvcfW2ZTvtiKY1CQTT9w= + =G/rK -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-03-05T19:17:37Z" + - created_at: "2026-03-30T19:01:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQgAmmtQzIOViYV6c7cUBnpwYHaI2WbTo+9zftn9dWE6jtHM - PQpWTqZgvdPiP9yoKmsya8TJURJKAfe2uaJlfZDisI2qwNcc8rRm9QDWUCIypTWY - Hc8dqbu+2e/Oc0wc3g//zvwbaNR03pluNMIA3E6RUlxPv+IsKtjWg3KftsyNSAnB - KCLfVQE84wP6VYOjjQl1VgYjh3I7ralt6s7z/GHNmRYXWdmEIGz+yYsjW4BClKW4 - AMwmOHOXtFgRe21pudK0Ks/duBaGBYvewlHClGMRs0UEZw2ompPyoEJwR7mTDEWu - mhXel8iUCdrynu3nCf1TYDS2Y0Uuqr4H09nyn5+L+tJeAXd2DHFnzofOyVaGEe6+ - +B/iY/kT5w2Eh+ufqQX3VVIugar7T42WCRbzD3gB+f57LHmndzqYytL+COiPpxnM - +WmtlXW3yTOrW5pYcxgSlYn2sCx6tvlWi7WjialxhQ== - =X4dV + hQEMA1QflAioE8i3AQf+PEgXt3S1ymitd4Z3QNniR8QyzfdgulQpqwXCJrhOIhxP + GDzRG+R+iZId77L33fh/XB4VL7nwO0YSM0e3QeJOWSYN93vAmSUBnpxjpX26jFzc + CmCFKDA3hOFreo2H+rm1MxMf/N/UXTl5GUuFkm4OMJlZt6K0wYpwfSr9BAJ3jRa+ + A5QL7JXN+k/ANwuS0D3Rd+KqcH4DgRbNa0ydj+ajUPk5Ikq8jGHEAXY+ziw3BCgZ + j4C5gb8YscjbGgWm/8JI/N03sBEGj0B1lrEtHwwFIsZn0oUEdtjlGCxfSGfltixd + z1I6CPVGCTrDIVtd6J8SZb4/ONS/UcIlcAn3Ynphn9JeAUie7925dk8JGCyaJqWh + uE5SaxpfdubXpuJDpLlA2uHXhBALNL/W50gwlyg/CpfZWJSnwjiTpIP2q/EvyfDE + zHZD1gD9a3Ut90KAMApQQVb9BEaqxMiECP8cEZmDGw== + =EqWC -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-03-05T19:17:37Z" + - created_at: "2026-03-30T19:01:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ//fZFO4nJpBthrHtnY4hVIMRyJqmtdC4cRQ9NP9Czst58s - 8CE6LI7+TQBVIllndNimr+672pYdkoGsDfWxJdEKsb2MhKsevCZwowfu5wnKJK7p - DPq7WyhYjJsDWiETV48CuQVjX4uw77+2gZDIINsB/dov4fXxqvl0hVM8nLafMoPQ - sHgmoeb/U+nly4vMqejM+YuO5oOWYexNKcqQpAUZspfV409lpvzK0XJNysDcbS4L - nMfCaotJg1OHhhO+Qt6vTf4ZVDiRm7y7cuv2QS+FP0/4KSRxyF3W4dMSRER7ZJvZ - xLBycfr6lJnhIr7hqCssq2gBBczhHUfdZPEgkFSqGkyzCITwxxZpm8O8QxvXaqtF - FpvtUQTMqmP3R8q/LP3+gWV1UehjYA2e94h5P4hZizhuW59n2dytyltSGOWdqHp7 - IGS1OdyeSIZ9DrnU5cpgsytj5lJjSFyi5WjA071PIUfq5TYOTNT3RnadSoCq3sQj - lGASciJtEs67CXlbweI/tn94zdmJRTG7TKpSkDXr6EonMgUtUH6VMckMmskDdpqt - ahAqL7x4JJvrLBoIyj/n/bV5kqN+UHl1EXNIsWW7ZjCzlZhJxFMBFhBZ64EHT9UR - NFVIbuPC1jfggZPjhCLponDXSDYeCYjQb0SFqYKjRknuIb7Hcz7UDfkPlmYiA4LS - XgF3RyZNTm2kvD/uY7UWQZsBPBXks1ptcoM/OfZBrhVU4qqDcbdQJ6L7uxXddyfL - AvdgJNK4bw0O4FOMUb3aPck22Ft7gAhg6I7/2ComQyiJOx7KiDSwsxluxwxb4Rs= - =yW0H + hQIMAz5uSgHG2iMJAQ//Rlrrvx1YeZ6lmIIO9hUFGRQE4OAvbsJ+Q/OVxNPjcoR9 + 2/sas1WVrVt/yUs5HI0wEIneNo1IrYMAgeW2e9slmNsIHVGUy/hdrXXOab7s0q2i + dM3/IjAL6TnjvsrsKMf8fWF09U2yx53S6ajDFTn2n6QdDXq6j+PVfrQTbVA/2Dzw + 1SCPB1J0OUqJgxhtWHqFNVbJAaYQpRAykG1L4jDgfVnfA8ZTlBHdyJUiLAf1+9Qk + KVhtLe0DPU1bN9cAhbhDjEVYBjoYtgCynDiBAC10epuaPnktEa+OlL5MndUUxGVi + jTezHjt21p5+lbLvQ9VRcpFGFRMTMd5oVLxzwF+EzdoabRsHQJ7Vmt+LBECatNyX + ZPQk5sJIgCeZ7vPOLJr5WXsIXWM8LGqtomK9nhJb85AvelhENaABmEz7/6NwOcZT + xPw0tGBLcGS8n5IYGeYki5dJLuMBsko2tcy3VwhMVd51nSCTztfANbPE34+XviQr + I2TrklVBwB0gIeFGOpHbLgnqTciAswTuWWeD/qjnZir5cCq/9s2V221PAwQCErwD + qXRrPgZ73I0QzQ1TZTuzI5+yDPICIT81SA3g5jtbVXWxls92iOW/6cDtJmdkNVwc + Y6lNFGTJvOf0QOiI3qBp5wRNG9VCcSogMW8XLWCF9TnwFaU0uMPzdomArHUmfLPS + XgFPeZJHHAsey6XLLhVnATf0UudiRIM4uoGrDuHIGgBgVvckBl9dkiGAW3Z61lPd + WFyG59QSxSnyDIw0EwO6QNaL/E1onLkUuHfxPs00T7skJcJj5I/36AvbsvCF27U= + =e9sI -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-03-05T19:17:37Z" + - created_at: "2026-03-30T19:01:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1ARAAiANJ8DyIHE1fymZ/74rvkYvEWAwS7uQtmpkxOAO5/2ol - tEFaieR/JTv/NtiBv9wblutEftIJV+KKSBTSFkIEH4W6S6aULfkj4kcn/74g+xIr - VcBt/VfiV50Y61nqJQwFirgVBBXS7dwuvCkqK+rBw13FZTLHpin6MwgOlyzh4rkD - p4+BrFEpFexRUyTomzgoWHmSmcbcJgxikKRDNRlFeuVyUMrqHCEipWboLyV/mluU - JLbNHKb9b4kc7TTJxUj5ERNhWWu9AG5AXxPWz89ytu0obydRiNZPRgjg2273h90A - 4y9g6YxvBXVIgWmJOq3LVDO/dnwOQdr9P13+Skd6m9qCudPu1r4B2ZiW3Ptn13P2 - 3m8bGuN7wLLbD1YZN9nDiwFa9uo9IRfKAKqBW6p/JGTyKcdmi3dNf+EvKoea8hNl - cfMd/REH9+Xdt89dhjRraBlgyrIwSRihpDmq3jb4s5tl2DUH2CHd0Qcil1hWukk2 - i7hkXO5tLgBWil8LdEP/wyapiHUrJ/lt/Ek61XI9y2sgQUp2qvo+KUl/z5QTggFY - JKTy9rCXJQy0gQ2tO03dE19OQ2XLVm2qYI3/HR/YZdYxlpMQZtozaAzfhF877nBk - 8U5TwsQs2gIRoA7/dXGpDwUA6aUiKp2B7R7uUrua6rAjoKrhGuOZcnaOwq9qf77S - XgEppiLy8qF5MRFsUBlo+FLn/LBetEZxYGmnDfgX6qIfpO7YOoyYv8TAPDF1Yv+X - 5z1ZVLb4EKSMk/v34p7vYNIWMToHWkX1Sg8s8QRH3edzOpWTSXxZ4xtBPwucQTw= - =mESU + hQIMAw5vwmoEJHQ1ARAAucGkSrPEg/AJWqdob6gmv4hnJ573QBV7PdqSwEtz7iAS + iD3kKvnHUH86HTwA2GDLzO9aOt+diEllYBlhh/XHBfoLJgbK67AoV7E+6w/RZY/j + WZIFYzDa2l/prUfK2izp/hqbkXQViq8OTfcteOQWCQWTthyi+qrKpbkyQdW7a6p2 + lsDtw5LaBnon0UmmZqgShWlxF/Pq6VnTk/x+cKZVd6CaLfLzwEWCtNjbNtO0emYJ + olA1ItnfrybIXrzAY9XFqWtKEivygb1pOh8UK5JFG+Tk2faTCvYncCbJDfBwW3BD + K9TonzIAuCP3Vn/9WQlcbivnjv5WBEidiN6V6ffmdhUxTcHiLPA4UdUqUELrTy2U + E84V1rzDFsGGSc8KwlUaifSIuyv0nOuanDfIO3xqVM+D7kbPuHYg82MCS4jBC0eq + 3DBz7RaNxJooC2gS0mRAtz32gxtJ8MLU5M6d4vTQWik2kOrhkg2wP/NbiZ7/FqCj + Q0BTml3Iu9egmaNX+OCnU1c1+cpD+yrW3zHreDmgHMq0doPr58+LoVzqQgZciV3Y + AKiHhu6Vz8VrEyd8k/iQwPMQ2orObMz/gPUul/116zSyw6FhO6LGaHpiNqw2ptXM + 3EkBVWViSC6ZTO63gDP8K8O73r83SQtBs8ogrCmVKBIon4HmohXeEwg2bVmgKb3S + XgFgj1dqbl1CoWRZJezSFT0TaECvNnhzWGxOkeRx/Iz8Jk4QMby1/8C/gLAbS0A3 + S2YVaHEKWpd60I4K/aP7AeWfhr5Tn3EXXLjE9Rnl1vBoDX9jjQQO6VV6DhbtvjA= + =iHoQ -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-03-05T19:17:37Z" + - created_at: "2026-03-30T19:01:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdA73wzEYVqC8sYbxVexlNjIPGhJfgGxlYe+zjcDOfBbW4w - pe6Dy5elm0bS1YQ8aG7mdP+dvajYJJD/oqOfLdrnnGXMbdia/dsNscR4ldjXTET2 - 0l4BV6MzggUd9ztkZwR4ztrPRCrU1ZqVW8X2E4H1tN2JSs2M98QYpUYBQ2ljWmzw - pIN4aJsq6Gp2mApLXDo9keiYyM9pxtk5MIudkg1iSsYwBWugKZuDTzv/fRX6cIQc - =csXR + hF4DerEtaFuTeewSAQdAaJosx9kqnqFCH+uj1BO9Ko9lJ8Ns2jtKXJvV36rlTS8w + /UJINbN+QtH2NYhoSIZAssROXxGxJ+vyYZjzPXinb4PzRcKBXjY98OdRl/+nNSoq + 0l4B1sFLsQIJZ6uOoA6yD0SwqMkpvcLZTJFSLHWEznLC79KNtcxC9h/Hmagjbjhi + S9SPiZH24YHunscM0Ym9NO0gjgXE9OCy0IgHCaHpb4FpKD2SrQCStDqBTSIs6xs8 + =o8Fi -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-03-05T19:17:37Z" + - created_at: "2026-03-30T19:01:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//SGHWa2BkIFIciLd/2qPJ6c9BvlF3pcut5syUBzTc5VXW - 5nTXOC72zr0Gc+npgAOC2vt2KcRl7aGuSLgoZ+hnicDW0y0dcUJG1tn8A0nTFb+w - Xaxc8SWE8LhVTy4584ww65cIWDNIypMrSqWRLTpNp7ZTMtrQYL6CXwtAhQ6p4IIb - dj8IYfJ/QF3aMBWAvsSdIhhKkZ/QRjav/AfK30Y2aex6UN7zvfsKaUfsV2YpDEG1 - UuFU632H2kh8QIdePDBwSRrSp56bc83vzAEO9toWBnfKgb2DFayq4Jwo9n9mpbuL - DHJEOlBnWxTyfc0oZaRYdE/8EyU5N3qYYGK406fs5qcwRewiC818SqD0KMnX7wPW - uS1lMumurqDy1QCoB+Eju/zzvZpj01Ib+mXkyH3Y7aVR3M25UXVTWKa2o8fXXBlm - K71kfigOaFQlJFMshO/ssMU26hfMfDERe389UGmE3COBCANSbb+PASz0c4xTzZwA - GqhKYc3JFobIByjInpm0rUe/FElbE6rfJTaFVzzDXDTQmB9/ZN8Bh8TkUNCheGdJ - EYWNWH2YT7Fa9wNPGIJR83Sz15Dwezv2o2OyNp5c7LuevWBpZ5STwPDmE2mACxGi - e1lSbwui8W5B9/w/c9I2fv7CbSRFMmmoMal+R8yyJrmPnAprr8OjOXQ7hs+n6ljS - XgHa2pgfsSSOo5nYGZxk6mCj6qKE2fKLRszDksDAuzgfOk4fcfDrhAvZkBCxX8FU - 7ATL+cgSqsFSZBU2RasPI4k5sT6Ei9GZgDqIDIRLMtoT7vh2t9nGPZPJyOzRRwA= - =6y8M + hQIMAxjNhCKPP69fAQ//WeSt78A22bIvLA2RdxaxoSpMIWKu62LV2grOdNeT3/J8 + dy0pAeinRHjn6i/ok8Nx0kIz6IrgIvyFL4LlmhV4vRsvF/N7m/JOMTpmY5rJ+BP+ + QiMuCIcprwET27kiEuw1aM3rKUXo5YWIfM+OH5ZYayiSXelZkCgb3RhRu9tDthAZ + vn/q+m/fBL/dIFHxVvpWhgYn1JgxznqbVSNsvsm/C5Mrd+pZAjDZzN27sjmJikY5 + pZmmVCQBQX982oz/JIhhoX/3KNHcX/P/l+jvzbuFjptsz9ipT5mm6NlXSaJcDcs+ + OrEHRzSKWSqqLSkFkwpT+/zERrfA/5PJDip4v9u3U465CGzidenxqJAaKzJIhuYZ + 4NYwmXdkPpgJ9SPkoa5VqSatokzTBR22x5/FaLB/85VslQ+2nq/IfYZWLKFXb7+r + LYqeMSVXdbounv1tFpYH1WHZ7TXF4HwAL0dynb7yJIJdLukbRl0a/JbxscfuNz/u + /y25RJRcbIklnUfVRxqdhqP9TxSm/Otb3KKRLgltj+NOvAP1cMRxpq7xe87KOkGo + UpbUFdXvcxZLCCCpkcsWBG6AbDSEb+AiTQpdrROB0OH5EpiY0+EQvQpd5j7Vf/5v + cSIaZrz5AqK0wRXazsYd8brn+FkFwd4DO86A9tR82nnFe2Gp7xQcz0vUEAdlRRjS + XgHUnPGg90qsZwOy0sMNu0LyxvQFz0vMEzSfWyvEAHxrNhmpe/tKjpLJBmgXNOm+ + jmwYuQOA4Z8UyPN/tWxHgDvYZNfp8sRC9dZim+GN4+96eP7qmUAGZBDoMTGsqJg= + =daEf -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-03-05T19:17:37Z" + - created_at: "2026-03-30T19:01:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ/+M1f7Nrxa6kZToz0PjLTVQtAa5l2KS+R7fjMFtVsIdRLV - hMTi9zSsyOS2mHRarkS6coZcAkYc+e110aSf1FOP/hAiWN7R4M3HiOzA3Tx6PBQx - 7DOhQvneTD8lnV1969ZdLMsw0mI0MBX03bNJ8U85Fr867ouX98KXV6Q7ivcFQV8o - K3nC61HbjTuP47tWOw4aUTEDVL+r+NGPAXezTPgDECMdC6M/zb2yrruIlXZVAcMu - FhFUrtiDlQOcDY6H9+y1/QXCLT2afUgso0cqDz0Ww6amN1BV4F5dqjAWZlNjOxzp - S6HwevSIFamqsmZIjmyhxZ5GeTnuQW8tl0nS/CR4KV6yEYD0Jp/Znx9nJft7mfk8 - aY9+W87wNU4BrMF+mLxSnfdOItp4Q/RG/EgYYBIH7yHYlCnwW7FjQee0Mw+LQamF - X63x9NClEpUGQx1+bldR1ih6AkBQ6dRIx8vnpH9D279NRC8h8P1jxjfAwQmXNK10 - d7l5RFCEEZxYNLH7F/3BaYV1zSMsM/5DT69+wyZ6wJ5W6NNEdnfkF4wp1EHL/LTE - N6f4aVh9ABVNm/sl5/qbRGTWHUg/+dEC5Au6QivMYVxhlvfxEgnjJ/m++e5ERJTt - x+PXE1bjdCIFw5rjM5SwNjUN72FiqtN5LIdbfrZpGcDz093rH3YO3wV/8QHSQbnS - XgE40a/kfrLV+ubdp1XX5lVWUmfS/FZXg9j/XCcsUvEdaWXJMWPb4BeS1Wcaqi7X - xu2AkZ3Yc7SSx+jRhQ37R9Gme54HdFCqnSWyW1sWIL3VIz9Ykr4PtvOGRsIAfz0= - =lgdK + hQIMA1Hthzn+T1OoAQ//bOK4Z7o5h69xOVoplo4ug3B5blT2fUwk065AYQTbdKu5 + l3XCWdasVlqCA6lBfuvFtYp3GdF2Gv6cMms+c+zJu2p9Lni0uHnTZsZXuWhpXUUf + PePPJ5CUIoMq9He3qsQZPPvLjw7UwmvJ068PVsAcJAP1+j39lyOXj9kqSQ9lzeYh + HF2zPRigNrKriO6AOBkXEhNsLBUZAeeoWZDkRpOB9sJrH0HcQTxbeoaDETWVFfei + 1eaKmqlJKqQtPQFadgAdB0kVISiVt8YA0E4gSaj3KPx9Wu+h2+f2+2fcIjl+QCS7 + GBnT2A3EoUwEybgl1RlnM2FMHHmyGdTz5Tj4ng0kd8NPT8tGw8OqaxY96br/5QNK + MBtfxy1SrPiB3dBcdUIJZ/EqjPQjYGx/TypNJKHPrzu4Hcfagw17CLn79raIfpuc + EIei278rOMgy9mNY7Ol/duugYrBvYcNfKQZB1yVmlfduGcXJtQMYV/Ou56J/FawP + r1mgaGVc/SLjchItLM8bkjqYptxyEjverdZ1afiwCWZcmhoyAVLVWnfdPSU8G2mz + FGGvKSHL7wx2CZONE/eB7aKdUX5wryeCFEZqhgDQioIDb1U04KhgfTsv3rHGMNPl + FUVcvEY9aHkt8Hs+i3tPOYVbgWVKjrBFV6g7o8OaT0pwFPykXiCB6wCO3IvxMf/S + XgFwBlxd9yChcz3OR5FhoSbj4x7D5PsOy6bwMiVFhcq4fWOB6vNsZE8dca2WN63Q + uSZPOICGrMmTEl2Slp/Nm/XumYoRMvgm4ArgbDHyvgNnySV3eofRyKZlSCkHJ3w= + =tESC -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-03-05T19:17:37Z" + - created_at: "2026-03-30T19:01:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqARAAshG3kn+e+O0fU3VIdI2zI6wmYB+0CfgeZmAiDQR/VLV4 - Lx1qYGzQRV+nq5/URbBuPqHTBCw8aGiKZ6Z2LcTA8Qnp0tYsRHK1m5q1ZDb3oOi3 - hcZ7JUiYhzb43rgattSlu8rr5XrD3MZM3HD01z+poDhJFK7zttB2MnJuj/sWKGo2 - AY8KsKK8KQg5Mft7uyERe4ds78fJq9gSVIREPYfpSxDKLoO1fgqAW83zhelNF8cj - NAotL0pZByF4j2PBIN2IIJsmeRzrC/YVN74gC12eJR6nqU1hSy8mxAEMJY+YJPbP - Elzsp/C46TQpfXpp5ZX7syZUNGsNqEXfJrMuB+Yw1AVZRe7wI1Nhsxw/PvwusOzT - fYL6phNYRHDdcoonC0O7LWnc2YObdtEAqTvBRskhoLldz5n5HB1MSoxPI/ax4sGg - C1c1jkezlc4vABViC5aJRrFYCEZYl/hS7lzSKcSDv12tFLJvC6CTJXuGZAgUvusn - +RyiwkcHLem9bI+xwTaYfov3gxW0Hl2uE8AHepdPhneRgXzIabDol1iEsb6DBQ66 - KqoBuG5tyJUWxG78e/moabrs1qrjqZMClNdNoKQanjT5vRGQHPHfkuk4NXXaPgtE - SR+/fnR2MTjQws9RwQV+s0FL2z1vf5Q0MTt5TlM02woHp0airNTW7a1tesgdpuTS - XgHHgveDtgyYD2rlcb4XE16w1nj/uB4pCnZWWj88alqPMT3RdAo2k6MkT6YPwTa4 - ocdFYOIRYPgeIHzoutAvOsEGPdUyWTYu/ezidKkRAo4wgcdXr/LWn+Hd/ehtt90= - =FBeg + hQIMA46L6MuPqfJqARAAto6IFIHHgo6xuEB3/BtsqdEs6eP7+x/DfsUbWR3pnT4f + /p5yRW4vCQaBVOxdwDu6S3v6Ws4Qkjzi/coP3JDaIwSp0BxwohdMxWDvkheHvc8D + 856dTZ674ZghbEGzHzchz6zyf0fMXwqaC0S5HpCQoWKTGWXIEtXZNDScsFWTIygR + VVwvwtmpamdJkHcvS4jIYBsMT3/l62AjnEKmthJ9i73/RV4x0/gpxSJ70C0V93Dt + jh79mSHIa7Lk05p6Y5wq8KaecbrWmp3cbB9YdPQlkpgNXdRyEo9o0dpXLcj/ig1Z + Xbe+HY5P/Xih3OWFDXdyTbBcvst6AEySneSfv8+xqn63tThQXLXKRgzXGiiO9gWJ + 3mQok+mmTEom7n7ch5jSqERV7d6kOz2aldsMSxT/9/CiQuQxuXuYIAsZMgsb+M2C + J8LSWEKDjPX1RyyUegaoEvo0GuzX7xrhpo1dl4ELgQbyRprGd3RqTuHlpUVtrh/k + oKT8VvjQRfX+q8b+inKFD9XX//x2BSO055ECi8sxwFe4YsTjhT4/avcFK+OxdKyp + O7F9J2S7Ojidy4i8UEIJ6upNm+KAriTtRKPmoghGyA9mQY5bcgrAG4f+RiqLI6F6 + yMQc//Jpjv2R1rb77ZRtxmpv7XvnqLAwIdR7KqhBqZrHGALkI2hf654p+ZJy5mHS + XgHLo/MmgSGerJjYGXa5/6o8rnfmUCoTqGwtw2ths6FZy8M7jlmXZGyDakk4NFPU + Zta8AgA7lOm/fL9IYZSQuz4ZSuMmWXsDa6U2rxfVtWVV/Udvu02rV0fmI4cx1Ng= + =busd -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-03-05T19:17:37Z" + - created_at: "2026-03-30T19:01:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAxwjhhKZfKbMWGSvnqkLozGsPpnMzXQwhAjTnwj2Ctxww - Mn4Nf4lLBbhzBdHJcdHoKr+j3uO2U3UkAt8NcyOcPK63PpHhHPx7osPyI/sio4u/ - 0l4BcVEHLdBkJ81wm13Pmzsl2JQSyhy3skvT0jfVsZBo5+K1653FKHWPQ7vbXJ7R - 3x1PpeWe3+sTZE4GASTwPROHyHc3nI8fcYLKpBhgXC8TOWJwUDyZ5ZtQPM4T84bf - =MRlP + hF4DQrf1tCqiJxoSAQdAdaKACawFy6WasUfONEUKq6sei8PxN/Hv/tQsnrTUXBcw + 2kLPPzDjZE14/VIaAV+ZGbtLDxJY3Tzm0bu8j8HfmZkKOxdccW9lg7j68LgjCQnv + 0l4BLvtEkJTzGmehXRc4dgQi/D83NUQR1xxv6mg9ZAHCisw4whGPBO7azCtQKed6 + 0gBnDYOhUUmrauE71REVazxCYP/j9cdxBktliKyPFnPXsauxllpYZZgXPnJcFvkC + =5b/n -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-03-05T19:17:37Z" + - created_at: "2026-03-30T19:01:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAbKZyPZJBt/MimC2KsMklS8jqPAjbmkrRXObmh2ZPCVQw - DOlXtJl5f8bdRlpUtxwrIpmlqD1zU3l9T3mZOonhPcrNJjISZVl9UVjPOEZ3oSH7 - 0lgBM+2R61zXfhG0VJhLEw70st+39CHvLuJNYNGkgNVQ8ySx/k8Ii3V/nIpmBGTE - cJatkb8RzhMK8nNDmxP4W+wE3dX0FoR3vQolHpSGqJF8ivsHY9Jswz6n - =wlDe + hF4DzAGzViGx4qcSAQdA9YMONX3Uz2ANfaIyi3fi/AbVc/CAz0+ymhJi/9RS+1ww + kVIrdH/iMt2aprpEnN7h3hSG/MjChfYiWcroux+PSZ+3FvC2AciXcY/fe0PCYIsL + 0lgBgv5zBPUPx+QxnqlWSqR65mpSEIW/scX+Xknhc119pJGf/WteB9YHkBC1++DP + 7hYanVYbcETc5ysxzj5tohX+3Hh6aDn4RREjK6OfQy2I4BPTvqmp6Xxf + =6Ax3 -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-03-05T19:17:37Z" + - created_at: "2026-03-30T19:01:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAAkwIEToUypnv91qt47E5glaktiUhZRTJY/XeIY2ModOkz - AVnC0DS1WUEXMhl9eStEvItEcO/YS7vNUbOA7MdkiAcvMRKyZjmp/Cw7nWUTVEUH - YGIJYUNWSj7yyGFj8nurz/EDV52+PmK1RuiW/rfA9TKFJwda+jDkHHEMoO1qN5Aw - peVOeExnA8CAzF7QylN9l3Dxfn1oOqHLpRIR8yYwjrSeCwrVxkK5IAn2foBHOAAf - sMi3uwS92l4sv0LTM4yvkZ9Jz4wLOkYr0EmXAp88ikXE+y5FJaBbQ0Li+Jq9PRpr - eIVAdRwVpbA7N+WiX7ghwNimr8pSRZSAiNRmo1KB0tc/qvv/8cMqQpNDtVt20Z0C - /WaHExSPkMcDvMqixohluiVzoZDLJkC+NWi8/ePnrt8CPy6mfEPpgdgukXgVltno - n2kzBaxXvmKOQzj/g56LbZNJd3jFjV9ZnxZ1bw6Dyb3uiiFiSLh5zH9NO2AcoOU4 - 1x9Dp85bOxgMWRZ1lKhzLO8ORQE1pFYgt7ZE0SW9W9+uTAVV9HGvURqlnXvxjjFA - NL743VHNbdaLHd00AN1zSJXDOkxbiwSBGPEPv2Fhb5ZhsrIdSR97HZOgyCM50nGF - nHSJkT3sziiWu2nFQHsJ2PQAmrZiy3uhqU8v0SGwuupUD2ybRJE06QAyAKNfLrzS - XgF8+xkP5CowGwq6JL7X4g0G7Iw+sq0akU33RGM6frT8mjVGGk9JSw4soADA8Gl0 - rx0/Wi7QORJJsbZI38o4UaR/fIlENOSoCxcSRlXpIAMv4aJ+A3UElF8F9HS+Yuw= - =E34S + hQIMA2pVdGTIrZI+AQ/+Lc+fGE0fEC80TME3FFRazuIsjHeLLUjmK6PZiab788Og + Txl3uC7rdozj9mqZPCzpATzcbO3VLv2oMO2Iel4YiMFtYvRj/7l1lPq/xK+1HNNe + 839Kvpl+jq3Gqj1LEyvNRBcVefbiisdvvYFee9m86QLBctWKw1Xu4xLMcgnvaQmJ + q3u2ufbRfcA3uc5MHz6mN8KALJmACeBM3nSPm2Jf2zUcAb7XM5Ub+1Q8wAIwCb+S + R/ZwXf5k8Wga0iF6WK1xpho8DV5Bpf3iaVc5nZLKOf+zt4QplqZ+MgMfVMcznZAQ + PpVrfNTXg36oGh272EKW7KBA8MWqir0F3MvCULscJU1kmPWsplu0uvT+UHv3Uq6A + EefFhwns6LjwFk73nlO91DxAeivBHw70YOcsX6p98jZ346o+/uEJs7lIErBZyb0A + NhoV9tDi64DMDkF2RwG8KtTjfzFcLBzsii/DHCxj5GhPJoX6kX06nJHyQ8u7jIJX + d43qORatXKqYm+s6EblnFFPo3Ft4xjYwT32HlJDLnNQuOcW2hlPRCvE939GTWP2v + MnvLek3+gAjiTL0C+41+qSSSOgv/oPXNv5QUsA/VLRSKX6zo6fcHNnHsDOLJMjC9 + nLI6VSsa/za3hjt14YwEIMhtE6yc/iMlSlPEC6X8cZs1T8FP+iOXg6Dsnx7jIaHS + XgFR4I7rkVVThNSByU1vBzMeqQ9LTxGItSl1LDr/lqkbiJ4fQmq97A1ir+DdtzCy + 0Hs5UEcjhj+uErx14EM8jVS9gSJQui4xDASY57yLKZkZMqQ1xt9LuEjHbIhrYk8= + =/64O -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-03-05T19:17:37Z" + - created_at: "2026-03-30T19:01:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAR6jwDdjLSZe/Pi0+/Phgl5OJzMHiKFQZmIZUqR0VDnQw - fcSY0l1NdbtddvKjZWeEaTvNDi7CyT+FY/D38+tER5dIrLaynzC7VP3a075N/czq - 0l4BvnN6Qv0MpHH0XOpKAR/3eYQQso2w6udkurunsx2XFRN455gHcNFOJGPP1V5S - ushQg7O/Eqql+JpO4l/5cU9ZDac/bibZQnKifUqSJSuGiobsNgEN32keiMG8eIJE - =HrSD + hF4DKKbvh61jX5USAQdAlFTlRzneZKw8LDc2PFgK3iULOHj/imft2hh+6QdR+GIw + umcBK0YnwSqeue2kmWubwG5IqFHA/grMCK2JhfhgrIh8XBiDLh4K+SsKCoV4tGJI + 0l4BUwUbjLb9wGAau5nDgLflic/E5v746a4Ep/+mmOeTqKlRUKJT4PgZreRfMrbX + uG9fjIp1mrshADSP6DEJEAtz9U8RwsLrc0GF5OPwSa2dxCuWTKqbeCyrZeFltzAe + =9L6A -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted - version: 3.11.0 + version: 3.12.1 diff --git a/inventories/z9/group_vars/all.yaml b/inventories/z9/group_vars/all.yaml index ed45a86c86..4f2b313cf3 100644 --- a/inventories/z9/group_vars/all.yaml +++ b/inventories/z9/group_vars/all.yaml @@ -1,3 +1,20 @@ +# 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/z9 +ansible_pull__playbook: playbooks/maintenance.yaml +ansible_pull__timer_on_calendar: "*-*-* 07:00: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@hosts.z9.ccchh.net +msmtp__smtp_from: "{{ inventory_hostname }}@hosts.z9.ccchh.net" + alloy_config_default: | prometheus.remote_write "default" { endpoint { diff --git a/inventories/z9/host_vars/dooris.sops.yaml b/inventories/z9/host_vars/dooris.sops.yaml index dba092380e..8e21d17fc7 100644 --- a/inventories/z9/host_vars/dooris.sops.yaml +++ b/inventories/z9/host_vars/dooris.sops.yaml @@ -1,207 +1,218 @@ secret__dooris_client_secret: ENC[AES256_GCM,data:v85gIBNH4s4j36crJ+Pb2lu2cdZpwz0xndHzBKZNGKg=,iv:Rlt6R7JMcHTAAVPiTtFaxqsWD8G5B9Ab3yqItYdFR+E=,tag:dlMHaxTMx3LgOzCsTLUdzw==,type:str] secret__dooris_ccujack_password: ENC[AES256_GCM,data:bHeftSA7eC1cSydBRumksRgw2v0=,iv:X/pfsvQPZREifGjHDGx8mVk2TDrlrRVb6MiAr01wI9o=,tag:ti//x7eDbheMG6Hsn2KBlg==,type:str] +ansible_pull__age_private_key: ENC[AES256_GCM,data:Yi4ST1zDVN4dLDs9i6aajUvEzTSYvwfYIRZUC278rgdO0bGk4y6saevmqK4mUnpIpz8M+ze//1OTDTgU6K4AE1TsX8vWB7fboGE=,iv:srZYtxDXXkCu5h7HwYbMtPr7PYhhgJ8rZQ3H4TOJmTk=,tag:iq6YEEyzYd6rNoAIgdk5Sw==,type:str] 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] + age: + - recipient: age1j0876shgsn7f2thxh9kx9x5uwnh45z6sy2jlk2qz5jhgedm26g5srn9kax + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBpcy9xU1htYjl2cDA4aktt + MDJLRmRvMDJEbjY2STdXbXNWR24wMjhFYUcwCnVEV3JMOSs1L1FrYjIvTGJYWE9j + SkhzN2kyNElENkhNbjVMTERKUVR5NW8KLS0tIGxhZFEzQzVmT1JKS2daaXJveE9z + SnpGKzVZT0I0S2x5ZFdsbytrWXV5UWsKLqhGwQjrpD7GzjiCG/vrZ2lHxVJ7Wkg3 + gUTpvC3QJzmHdK6pb8BSlBIShMM6Z3M/AuI0jr4os4/miwalHHWuVg== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2026-03-30T18:52:37Z" + mac: ENC[AES256_GCM,data:9x3IZbUvmKIartKj+dlA7SZN1xMg3z9DisdFHbVc2zRoIg2qbKjw+kFDOAhBhesZNl/deBWHxLoqnRQjmkML/9QLtEFbQMlU8YjXG9gmM0tj9oRNyA4RQ4rEvnUmvWau/NVv5u/rBcv/8jyzQwRdpAcxzgRybaSeA9HNAxz2kEY=,iv:kOU7tbNsBzn5oF8qT4e4u03g4kA66S33H17k16WI02Y=,tag:BRtDa3F8ZUXMpNtrTmUIGQ==,type:str] pgp: - - created_at: "2026-03-05T19:17:43Z" + - created_at: "2026-03-30T19:01:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/8C5XMRolgR9UkSiIgjExuO7Gm4hzWLz5ra1CPdMSkdcIE - skAzILtNe8SDANB5k+/cOCbTrGvhr6dqdtsw+4q6lzasm9ALh9cHNCL7mw5J1B5r - f2BilsPGsdWnCHXTsfYIXoJCvWA17CmIpQkBsXhszohZI+8Lej0bWOE0bvgag8U1 - LpMOpEOrPZURKkIQMzGOyPAsBTlyGpy3sWbgQQ5jQvZYCKYqFBZ3A0tiBNgsahTx - 8CVI6+kmlw9gVM4j7DOjl1snT+EbmKUzMPC7yHplwtz7OUmSBgVGOsMiHGVFWkLl - ty5vkGhRk+3cC2Uo5ShfX7CD0zdNI1tegOulGwTn05epn75SrBIMEKc+gYUBv5IX - hMtttDhawtdJulDSsYPGntc3b79fG377yXithVQXiHYM8P/LXyo9Bg8BbiMnggnb - 1tETT/Ybx/WMF9jRsW53VazbMYQ6VLCRpUX+Eg++fYhHO8zxGCWoLmRGamIGffUo - xUwpIugm4hV9GjlrM2LF8ra6TvwsFtIm5NEbVx1ongyaYKiqIxc5jRJQ0D0zswh0 - hPmE1vuQzTgkEl+e2xRWbrrFl4Ty9JKfr/qsoMcxAAhH+8go6QAZfX42IYtzgw6L - C8I5lWYrt2iH4FqKZ0i8W/Z7ZeIhRzgDUvX3U809t9+ADtmcpnyY55be7jQk6evS - XgEYcUALkXao6Qr2xY4TCwfx3bTm6Sx+iFe2cWfb8vT8YawIPj73t/WyNBO0fZkE - c16cwG6hvoZD7/NeOaoIjBqe3+Q4daT2vwbai6n+7pS1ter0HmWO3SJS+OR9pbg= - =62AU + hQIMAxK/JaB2/SdtAQ//bMVNf2q6bIbKXYzJnZgegxvO+E6vOKl7qXYCYOSWEWi7 + fcYOUV2CH3Pq3jGGlpfn9PswTJfpbjrvP/+SxjXxcQLKwz4YiXocnUV3PYZPEbur + Vn7s6EdUrSd+AcXGa/lb7kiYSmxy59KJ5oM81xVyGGljUoC+dkDcvROjOdXo8dqr + wvzR15xobRM+MIUsTy/bIi/q2K1EXEmgpzu38ah+KN08BAhPZZrHSYWtNCJtwdo/ + 5GiAr0eEVUofGnYEwtIJw3tubi1kDBdDjToh4jqCdvhELyYA9KNQHdcMyYbAOCgp + agRYXg/sdVfI0vX8fpQBHNUjHQshjo6s5xp4i3sThdtWuGLyDQDIQivkKkzevFUR + 9qvbKiyuoC2VHs0vP7iDTZFpCf5AT+JQV8PlX4L6yS65+gzur/wtw6dsQiUYt6Wy + wz5wcs4F1s7IbJY3YNFWZw9sE4qtfKHV603c2K/qVjz3MSiKiTXeMSvWik6Aocmp + 7ZZDK8fPI2loSz6+CJBZLRnWizzL4nYVxVh2sjrULRiH17CYuk20Am57KCpQ37uI + NlsQkgCyomPHaN+RM9ylt6ipdbSoTyyZwcXlrOJfTC7dzsq1blXQ5gyM+GFQzawK + GsfhFy4R5MNXmyTpgO7hez9cnbU7f1n9h7QlZZggXZ1yiqzT/QZe0tbFzm4SRIHS + XgE1ySaTfB/a5o3wZlpE/6PRDKzx+KbupxAUveeOq17xjFeAJ0M5IGAWtxZnSvY9 + 7jqtGWWYDeCpfCi4vcJh8GqM79o8yCqH+iJOgNn0HFKP9HgdY33rEyKv2auw6p8= + =fU2e -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-03-05T19:17:43Z" + - created_at: "2026-03-30T19:01:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQgAgyq82gjOkSQ49tbq7MaFWq1V+LPI0JghJxiiWIVND3WL - j0ZDzigtVicY9ktJeDxdQhnw+OlInzYmWmPAmAXVa/cr3zIxVIPPNqhOZbtAFjN+ - UEHSpwRbSdeVY+mlUBX9vn2lmKDsym80RAkabOT5RGqp1dNWybPkGHdxpDZJndT4 - Z1jBnDuOeg1TUGNY8SYCY11hiA9IsF/RwEKPqCIrKqVfJjxOcvJCq+oMS7FlcmrK - kXU0a/xINKRMfwvyMSGL52F0ZYr3VqEfGTbgcCIFnRdWKQTnH0ev57+B3unSCkiG - ixJCHxkC0V9681Px+RNz0QiEqOo5uiDeL9KFRMcGNtJeAf1rVqkz12bKL3ZU+DCI - f19vpfiCcFgiFm4/VX5UT4iexrB5d8d+Y0iCh9/BHBoooYLcZaS8FD3Eu4k5QHMu - Spau8+x0aw9/pDzyoGnptsfFpOK5XsD8I3fnwXk1Dw== - =jdSi + hQEMA1QflAioE8i3AQgAl3FvDJP05Ougle4xVFsx9SpS+qXuUzswrrlEKdrq/ZmU + KSi6hBM0PQMwVpnnOYDjFpqB1XNXgOREtQmv1kSHdtS3o2bnxENyUDUqpR+4vRhO + Ok8sKiHH1cZNL6Ya6ofe02U1mOcO9feWR/N8ozeWrhbAzzhUkS3DOL2OBPok6u2L + v1ybyEwCbLMUQxYic2eu4JyB7PeZGNv+j1zUa3w5ea2raV3w2l229sEfJUGDVzHu + nnlBmoB9KdVB3iH0Ea2FEaXLW4bFbKMKwjtdBM95q+PGvpTbqHidctWB6yOYjToi + sDArfxnD7HUiY7OJ9Qsr+cIzr7t++JG/lz7WLBr88dJeAYPxYQe4VgYLFFUX9XZA + dwdu6G+KMnkLohqH6vNNrygCFKHY9pOKpH7gJRooGVgO2qCIZROQ+jB1myN3kVN4 + X6IzGZkNeLLmV8mKR3uzJsHcwHGvjzsGmM39IBZkMA== + =Kf7V -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-03-05T19:17:43Z" + - created_at: "2026-03-30T19:01:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAAquNdHUjkEdTZTAEALkiRYC3mg6srf3zAU1X6KgdsNuLW - ujYvakcOG+K8sZM5iyFL+a+lescc1jc9l1CaebUiES9s9w+0MwgIjCbUCs1Fa5+1 - XBTcQtqpoEn+NrAq1aBeoxj1aNZB1a7Q3rUXB1+O04mQOqDPLXX+D/wsSV6CPedc - HVHxaYkMjlIJdlZroTUz2IgYLz7WioPz7POm9vA9zhtopfnXKK15oWShSj0YyqAx - hzOF1pbn1/GEF++cw7eiF65X9CE2Tfnp8Hjqn9KzfnFGbwbQzLI206WxViVPrJbS - aAq/T2BpjyDV37RHiCeR54Y8ciMkaaV5Ws2/ZcYRnZl5X/hLbEvK7RvI7nqR8jy6 - k8cP5ilrrfwxAhddpns8zcqe+hBtV8T+zYSWLnJesHh07ccH4CHMpUqCpV2Ftomv - Md4frNFTlXOVNX5cKmmUqtZ5sIfI0MuO59C6MRFyXp216nCFfvVBNWJt80NxQe1U - A28kD7TMWbTbCUp1t8Hn4H7iuVRImCftvp8XWAWiLrOS5UkhlBX4gg+ERZeGKNAX - Zl59METwAee9rwV8f5WtI3yiuuv0SFzOpmdDyWDjKaIcRxDwpfpwL7cRUsDay7t7 - 8h6WpOfolp4RfszNz1RA9JIYQKC1Bcse9j+IAprHdsyLaE5eagFWMi4Q8EOadlbS - XgE7veW9DHJqxCIZQHDAEVqDeSxst2fpSlITxdxNBRyPR680xqVQIAe6I7kQgDBd - GvVoNX5NsACbeuLbDQunFRXO9YpOotR2JQtfDU9VP8ME6IVltVd3EsWdcwcCA/s= - =iORs + hQIMAz5uSgHG2iMJARAAjGEKDdU3l7dS0IDhdZZ+fP2eV+f7OyRzbZnKy+OI4WwA + Sv/VeF/sEDoIH2rFdPhWpPKopGSdv+NcmnqXwo7vc98Fdetomyxe0JO/ARne/sal + 7unq+8iBizz2BhyZ6Y01NThdtxERBS9WB2LE24utyXw7vjtX7txMvUudWuSOOkMH + K3SknU4WjbIHg8+UBz/M7/RnntnYG1y37vTnQj1fIdWi32xeAVerZyfWutWxx4Pl + Zs4crRkLGtrmILfuhlEzpcvYRk0UytDJyT5n1nfBPEkZLoDYg3JThzhl35KkLAym + 8fKD+X2oBftpKitKHC0LYP0PggYZZf+/MwrGSDLlc3WMf7MSwJf6fB3jzufCSXjb + D5JW1+TF3M2KWks0cESkNUBb85SuR2/a2E2lSkOzPBO8G5WeuodK+/+5FcXYYDSB + 9avkQsbkEsd+afsx3QnDX+h6bmR0GYaGX75gtdQWL4oGZx3GCFJ0VXNsKfXMjXX8 + pyASkWH6J79neCOeqrhPm+qcia1YRjUhYAwPTosazDeH57aBYrtaymwKCprUUN++ + 14xtF4hxdOcByOzg10Q5K8i8zT6qT7NL6BTyXKd6o7xAcUPpf86cBOIqit1hUtBu + XUwjr4QfpgWiAFkDy325LVLBH52MUhqpGm+ecQn24XbYNFhJunaM7hfLDLjphV/S + XgGH7oqGYCYn5e7dB7YEoY+GGRV5sqH0SLMn5DQUeZ6CzaPTeWkFpCSzhD/Erl2w + 15gsKxa5R8h5k+Rq9phzfXuD4Bbm+QUmQkbrH1aK7jR+NZgoMNDonQPliAMajj8= + =jHUv -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-03-05T19:17:43Z" + - created_at: "2026-03-30T19:01:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ//Uz8hsSKWasiw4iX0d+yh56S9xyfvL7EwR3KgxKnOp0um - Q1VOmjRs+ZpfAJiObl8MfUYXXB3pU9vdSbcRA9rozNZ22zAcfRSebm0UeSd/yfjG - breMapLVMXWJkyPIVE4PyxzmyK+vscDxlXBkZi+5y1RsaE/tmfEA+AShHLg4Tiky - Fzr5gEa8Z9NnN7n0cGxM79ofbRszdASRWgEVWw0jwl/vp82UMI2OOkwuhcIJg2dC - L8eQVaWmavOqDyky9Aw+Znd62vGapA6BjU8cTVY4xpnzA/1TgaJwIXL3LTmfomam - wpsh16yOVRqY2SwrVc7rNy0J7P33zaxCXVqFr8bzc2+mA+cQKlEhsHmJUaAupkIE - bsY3st6LeQySGKt4+MDo/hU0NvvsB+lwauBDs5EE/9xchFmLsGH5rVcd4Mw+PVdc - VvrZKg+Jdjudi6oirIfcQME0BDNjKTuPli9czqYWJ/Hc7bYGQ5tN8lu4+KemK85K - s/qwFnZgBDlmeZQHqJ0tSQnKzEDbKlMa9oeEg3LLQ7HQ8tMX8QHxeYZI5x5FrBSr - W87NVDyn9orUo/c+mDreGZqcdXHUXxbA+2q0/pQjV6Wn+VbZgJleLeZfrDlS5YCX - rbTCdPJjFaqvVinWIES6BPwZ7+VXBPRXCvv9WeCMPPXD3ntVU0XBEz/8rVDKBfHS - XgE+NuNonR6+01Ws+5DSMytt8nVkA7aVytP2MIndA8niUicYZXHwemrQ3xl4NjdZ - uGhgxbXWzc5/VJoD9jPBQuy7e6wfXUESP+zL0vX8aRWzL0mMrn9KLZnuEgVT3qo= - =kO2h + hQIMAw5vwmoEJHQ1AQ/+I+867hrnjyqYw6zbw8ZsinS6/FIEZD+yn0eE6eAsgYOE + Nc7Dmg1WQV5cYLYtn2TqhLnGYuW59gh9LFBzYHvuyLicIa3Pjq2E0Kni1NejC6pb + DrX3GqxENj7zqvLi/iFmuYIsiu/EVUu7n7Vf9I57j4HqyIHSANr5SMf/wl8/sqsv + x7L0ej6FcVNTbESQonTeYk6YEmaNCQtkelKxOJFn/nEyQcl1xLziBOgTheA0m+a8 + Lr8Nyd2uAZnxDAbkmazURG/t3t4XwsGaL2eJ1Yzw13kGanPu5gI92/7N2mpV/BeR + HUQ6OPSA+tVPsU+KL3PiZMkB3+Z+Hpv4f91Wpj08PYMzTd7UlC2j/ohlftgpHWA3 + bLlnGAC8y28JBopXpPf8V0ON+GylZDXfsBNek4hyM/1h/nN9hy1vbJbFq2pA8HSk + 0iyiHQ40KEtjkhiNuTGf0MnUWXLf62Rdw//ARF8qLR0EH6G4d+88MFavwQR9C+hL + MQgIpfElj9gOoLr3CApyn002H1XGLjFMt7MfEfiKZgm6nCWmgMh8UH+OxxbjAtYC + A2iPR6z3whC+63mq9TUCGJTyhp3s9t9iWj32X4ofxYP8XG5l8rjqEoS3CFbtLrXr + 1bFmtxK7Rh7IfeDtDdVtVKH/t6L/8eeagODTgIoYb2hjKdbcGstv4h8xouUVku3S + XgFgW5W7jl9NvOjA2sDi3VyRxTnvJUrN879QqMR0H+YtuutrK/EzH7ppwCJPEdmr + pc4pYwZ4nglPQ7R4+EXi0OsX4oHgoaI4kn8MIXYY35qCOznqOgcEPWA/NF8/LCU= + =vwnO -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-03-05T19:17:43Z" + - created_at: "2026-03-30T19:01:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdArjAPG8JwI7MSVIvrOQrmQfodbFIEbEhMFXOg2iqkjyAw - uocceofmFL0joy/5ipLgszsscncatvfnPUHUsd8YS5mLdztZh1F8S7WsV80Oau7O - 0l4BthmCqIxWx6mU+oHqAcP9Dv6VNS8T9FwMoAY56KfxfJgSWlguyxlPkYU28HVC - OUkj5/4AO3pY0aAed7pLkghZDaJ0WZoTscQjbxQNEjYFWjOyAgFrnSgj+K/vrkw8 - =A4YE + hF4DerEtaFuTeewSAQdAZncysY0J0JH8g7nSycvQrVgroTWNdyO342Pm9TUFOF0w + F6fY8W5dt7YWqEZ6YA46yNYvw37RhAQUurBCGZEaZ9oTApFUGNvk+fuIWm0BEsfE + 0l4BHzUsGO3D5GDdYn8weFJ+l0bGlMBf35BOjgl9OmbhLxdc11D1F3nIyjUjJ+Yb + 4Xnu85C6xNjOxcLMc1oIberx51ZD8+tGWmO7Q7KGW6KaJ3WpWCtidps+kx8sjGWd + =psEI -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-03-05T19:17:43Z" + - created_at: "2026-03-30T19:01:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fARAAjEZSTaRdyN/yQygLsmkzpmLbWAQtC7pDA557HUvnUy08 - b6Cf+tl7B++uPpnbsJiGDzqDAa1keK/Jj814rME132Jlzj/lRtb/Pj+uBymOnvHO - pH6V9DeGesPmONa+USwClae9PIWwKEm17/mcoQl4RYsGJfZ1LN5wCKceeOy05Fh3 - GTugvI+ujU4ssMixr7mN4I5/sMHgHvZVXs8KG4uvU7IH6Sa077Mf1qnVK2+e0SW7 - q/hkWYzZWQIeiRxTtADdFPVvXYeSPOCu4qOAj1I+OZ1zMyglXypyecgNhqqLwAUS - kwTotd2oGkHvzE5DAQlmQOPUorrwAsXKgNgN9RegwbN0hVnACoivYDHN0a9U7L8Z - 2HfM41UpJPEJMOkw6/1QtaYNHRNe2LKTscDHyudcRPLmRFLrtp0WJwRif/SZgxZo - mpsEJdtmIP5S0QXuq/bFc7tw/cj098fJUsyIhggisHcffmRg3WuMIzzgOEMsxr4q - cCiTryZWQrUqx35ak6H4eESssE+X3BFzcx8RNBnITDrYjWgq6lQTnyz3AAwAa0Vv - Xk0M3tDZVf2wwrXeSOhjHv7tRN4hXsJRzZ/6pFFgIx59G9iN8mxc27IIhpR5uXO6 - 56rR/XeiMgxkQnhsN0FuR5OInVu0ASlH1PBTHb46SfnOShpI8FuzFbi6/JZgcu/S - XgH1g0GfNdc9YRstfg1btJKwuhrAEONpXNwywtelTkwEL+yObdr3uba15WHY5ChU - cUc3hMY+55PiefhrfdpV/iOUxemS2sRwAS4z+hQem/XJwiAn0t6l9KAmtAz+1mI= - =XOhj + hQIMAxjNhCKPP69fAQ/+PZXvyQaEj4rCMz7vdJH/whsTq3acdq6DXVILEljJ+3RQ + XdLyuMIn76hGM4U1QlCcuL4mYjWJ8xvRZxIYo8P6w461zkKInTW+MtLburwtLzCp + hhcj0UZ1cQDj4grCnr3g8/1Hy1c7lebv3ruee6uD+0mc7EAlDjQBD9qhKNj6M+oq + xmJVzy44iRxQIZqaVD+hO5/+Cg1qf5K7oGYXtKru7+E/wkkzGrW6qotn5gb5uxtj + AqCTPyJ0+U+EhYumHeoxfWrHb8WKAnhirD4LinauXMTd9veSj5+4PdRfSNsQAMwi + KdmVLuiOIuxxqMqKxu5IC8ulpa/KuckKwmeg3XoVi3b0LgSGC42w+uImA3pO98dl + KIqzc++nChbXTRG20o7Ljv73ino713JuXbqFrO2eiyUo8WxGiVVlMKKnfvA0mfep + F3FAzRvCkDj2tS7mvZp62Xy3ogkS6W5gPXSKlVOfixLwGo2GMaaGxjdmQ8TUTulq + th8pxxoLcxueoRp40nusZAIvmlG/tYsDTJ4eUX7LWALyYdXJdIBurZMicRnj21uK + HHxxNBok7uKldSOffyMrddY8E/r0D/c9g1MStBRiBVVMsVPFeHWbdOMDFhub03Ac + mQgW4VDYE97sMArFPYO2aefSZmvjxjqLsjqvoETCbwr2JVXtEkYoM3cbbRsTqxnS + XgEp3YWsIuacdf2FVklFkJ8Yp6sShFb+xTgE7htoPUqa21Xmp881W8iCdbkTdi20 + AtROADyZPOPt+GLPbxA/X/rHdnEnyKwwKHqsWd9kAS8nZiEXTT4oExWTVxiGRSc= + =6jHo -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-03-05T19:17:43Z" + - created_at: "2026-03-30T19:01:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//SlGtzjerCP3Y3iDjM5SGWzLIQi72PHGfznvbDjyt4WMw - XSptcL/TyWNXRxlaKZQVVD5TH6bWwTi5ykhJNHpBWVdcGo+g+ww/7BqaZ/C6Md3R - qN3DagIqlzyqgxowVIMGpZpSfnh3fiKNY10CnUQWu74LTDG6MTPHA7zLdKVbVnWo - HFM6yW5vPm9IWoMzJjKRClaJDob3LsbEctwrLVYm+M/3A9PVDM5ajzfuBwh6rpPH - csn/lyDIYTzK1hhp68UDFLrYf3KPDNQEJ4/GUIJ0f2QZoLgaA7S1NVtB/ovh8VdS - xQJx+ocYMKP3q5OTqZOfat5LDGHid7ekAfIioerGCd0zPZ2bNC06+Pe9RlSbs+4k - H8axqdHeyjpM1MlA7mIBZ/HiWz5jZNosMygpiBnZCd8ovM1uoiLYDQMQkQ7szlTO - ddJ1QgQMXqeE1Jz/zr+uwXHUaBlIIpxFesVGCqFGaIk3BAjNpY8puzlv+4zhsNu+ - POgwTmdZ2gQdGqZuIz9H7y5vux0L/38sOhx/gWGlcBbXDNLuLbAil0krFOgmtx4i - x8mMh6yW0i3I51vHHwkrvyjNazwwEMaBR11Z4cGmJegg8JSZLOb+CMAYN5RwQLMb - zd6E/BbBDt7qiCBOAd4WnuwVe5lyoIlSTZ7AVvc2D7NIQGrVSX5p7SPp1MpZVOzS - XgF2HcgjBMfJevm0t5N/A4yjpQt5Jnn4HpweIl+z8iPH/RCXWqVFoWEHJ1OMIiVf - GA3F1PKQ10GbWY7Jtim6liAyq9o4FHVuo+EXnvNejn4fHanLbpbtJhy+vUd8XP0= - =9Ln3 + hQIMA1Hthzn+T1OoAQ//ZPgymztCBg7c/W0O4EhZZlSc8IkJbYGpBr18Uo/y9wEQ + p54mPK8c63Hu3Hj01K+Bg0JmjeKTIVJBezuK3iQsOnJv5xbfLyQ/hOlkJteG2QNv + IfpxI+hn9i1H6DuZh2RSHG+wfFiBwqKcHCeW7wKE/yhJItRDsBbXw82qfoRTs7sh + ALG/QlJjXSermIObn9nC1bR/PB2D7hJSeAhj9vqb08BZO9w8eG3OMFD9HxObEN0d + 8cGhVjQ3v8/BaQpvA5Bzq8VTp6X5MJQsUauG70xEAoN2Zg6xT+R5AcfujEdxw+HF + yOfBZ4F38Tpi6cnuJHkegnQJ/O5X6HfM0XqQPMsObug8rooukNWil/Bt/iL6iHXX + L5YLRnez108IMXKFIX3ob2XcuL5hfLpS5tVub5u28HtLx5VlFVbqPVBenKa640vk + johPh0VX6YL7619NvxCdmsFxe6vm365IjHjvXaSiQW2sjUycIaMZK+29cOtqEfme + gBax02k6r7tD7F/jsRsGdv20QXkJFhFcuwOkvinGvrh8x3gLpTqfMqfC/GGniYHj + /0feOTTno2Jvje+zwz6rrwYQHJCKDIqxPkVnfatcdJB+HWxKC8J8kprq3dwPwuKR + sMVr2dawTpI45RtX5PTuv1yW6pcHEVNzs3eTo8atrlgzMkVH4PvcqjFv8dIERpTS + XgEgKwhnGBB89l7jGKNFuq2h9RaSc1M4NcAbobB+kVifaKCGdZx8buGT5KSl2Jjo + Dj9IXQb01PmTnr1VOFY0HdNbHaFWpWvwYvpZlfbWbDdgUs6CYC7uPOppMECc+Vk= + =+WuI -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-03-05T19:17:43Z" + - created_at: "2026-03-30T19:01:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ/+KwdMtBPERLJTxmH1hfLic9+8+vybNjZz3xPaiL1/O3PS - 6UKNr29A/O7VD0DVwqzTOej+EYltiBy4IiFyJzsIKU924rSyR7ZxYuui5en8p/8O - /wkm7LJSTHk2iTHYXZlFeSt7ba+9//QXfCbdRI9LgNwANwlUV+PDH+S9OsZMRZqJ - xuwRXJiWN1EGy85yWpJtqQT8UtT9PNNNiciRCcXtI1WfncPi8scvQXBrXmXGkrLP - 6b/Jy2JNRaBw+ZtshdhN3D7pFr/FmMgcEAIVMambQp3OZG4VQPcTs4MJbDsif/L/ - QL4mpU9QSFCIje6DyVuaIQ1FDrQxqYtAWUMsA68ORZgrFQAx01DX1uDgGKY0RbyO - j1vTVfzqrV4KPMW2f6rW43rERo5Y1/1+uRqkG1j5JdAyT58Z57dhySp+EDAHs3Fz - JWMvfAbW8LWf7KfhZ+MnOXPLTHd6UnjlVyZZM9b85Lx8yE4gdn6U3VTfi/qpAPsU - 233kSdIlzCYKZZ/7Jog7nohALHM6o7aYvjftyBaYAjJpIAUU6DS6YzXfKwAzeDsw - /5u4qh6bp3xUpSOG/NSlNrvb9eOJmgFmnCv5BMQOmS8QQaSgH2MAQOlV6Re2b5lo - tuqSNRErpvq2FtA707QHl/J6qGMioqeq5CDgTWhgT9ySxYlOOgVjEysXrH624zbS - XgGGLSE4s0VShf8F9e6Im5U5veh61+iyEZ2L73DtBQIdLWo6c7PPYNJJsyZ3uy9q - 1L2Iw17xdga+LCzyGhDiwyY3IAFHS9IQnFDUHDX9k3jEWoPnO7Z5IA7FMdWYws8= - =7FYy + hQIMA46L6MuPqfJqAQ/+PchMC5AfJdfgFAGVuAXJvL9NODxCM2+Cw16JsxviTay0 + lfEUDb+ckVrq1jAlkR6X1TEPtIbFbi41Tv598+YypoIJcUWV/cH+yr2qEVWiakIS + jJ54jatBGVsknIdF9uInpWmgZBVg8Qocw2QTD1vQ4Z53jedLAR/8PbmbMaqPBTV5 + iighv3zOX9TOH8/jVFDbyLQpBILKswtdvqnPECa0+gAsGkJTX2fJ/GuRS1y3vDKj + 0hyIkSGf0FFna2WPRf7hhF1YzRrrKdXVxDU2sws1qmkWuhkLuTsjOPMSvAoOX5PS + GTOLilTvV6iqgJ9pASiKNN4o2NlSBv7+CZODvH7N0jAdD4LfMTCQ7fYQZThhk6EC + W301hlnDCIUrplYg4Oo/Uy3qFYLa08OrB3iR0GxjZZ3Uzunx1cqgD4nsC2VWA6WY + m/gbH3+kxRyuSawp/92lC1sYVugef6g6xgUAnr6DQbpJqYlp6cEIoOgOTdRI+HjV + IzEXbTfa02yZRaVh3pa2nZYGKVrlQOWR4+8yLV2gSUCQY+PTZOx4PJiyctuRXsMI + /l/1WJoUA3lM6ZdQcoyM1bAr+f2yy1Bthk891wEMsgX9AcNHeIy+xIvExsNNBH6x + YEtOQMWn4UP3MXLvs6nonq4N/jzkOP/GqdEy9GzyFDEFa7KhzXZMftMig3e2WdfS + XgGeaS+nGW9r5o1c+4potDX4dmyW80tk3brnZzgEoEPNSOl8M+1DDCMFaud9we7N + twdCIa1R2NwKIEmrtJa4HxeQlKbOyeGX2Djzm5GsywvsvheWY1/TJK2NGREmHDg= + =4MjY -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-03-05T19:17:43Z" + - created_at: "2026-03-30T19:01:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAkKGcYNyKnku5JMpoogj+GJlf23OMq9cfCkYQtrF6bEww - jOMwwS4vQlO08feLBGUw19w1185rtvSiul0aBZDrUp2uvRjIy6SyAvunZ5dHhD1z - 0l4BOtHH7AK89m4bNDcfV9c9nWkWvzkd6IzzKjR7sflsbBJZ356cS9Wz4LsZH2bb - tYjjfNAp7gtiOhfVG7+DwU3pMbhmSKLeeghSHsXPvaq/g6Fg+tNb/KmcEfguJyoD - =lxzC + hF4DQrf1tCqiJxoSAQdAy6H1A+Bpo2jeAUBsQZEoHOWEbkJlsbew2VStQHy5aXQw + JL71Q1j/xiTIcrZkvSy0NsgJxkiSBEM+AOQ+ktTZxld/AdRiRnD4rP+eqJexB/Of + 0l4BzDkuIZiG3iRbnVUxRK/M5QBjaYuUGcle6gZTRjVB6Hfd0+rTlNpToCEr8lMI + fXqwPb6A5vRropzash2ndw79hvsfe4seiiJDVQY+gYmUwJYei2nQ/qoWNZPanul1 + =+1gF -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-03-05T19:17:43Z" + - created_at: "2026-03-30T19:01:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAHig4hyb2xvFShh7kQIgI1CATzaHZP9Th0/h/f1FW0DQw - pzfQYuXr96VsgR7uLbXZdQmT9y7ouWvlDtlDqDeOu3wTXLoDkvQot+FHrkLIM5LB - 0lgBHLvA52eXR7Tbiw8J4I75jWtc+ewnzjw1XNLgRpFLadyD8dSrD7+EhHKcEi+b - 0d0Kk5QqjsC/Rpl7V+YfPWq0gk3ms4RMnWXta7Qw+uSDcqeHzzFXOzqJ - =75tM + hF4DzAGzViGx4qcSAQdA/g1lRm04DZBhh4b0X48P69SsqagulM79iJDDyegNX1gw + S0op27VrQ2ggFbkRCamq1p31Wib+V8kKW2Urob09lHgrLFvKI6dzYLZyERPbgS+B + 0lgBHWtIWhJwdd6hcUIfw4gY2etE7tHrvm9YZnjwSQWpvbeMcwWDBX4HfVs85sYP + h3lhG3f9bsKdC/Ka4sso3ZzZ4XyKXFLOobkh+sMOeWqFLS1hgryIq1rc + =P1Wy -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-03-05T19:17:43Z" + - created_at: "2026-03-30T19:01:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ/+IRTNV78c/srbVxtt0JpliN+ZHcJPeHsB/deCZicZwKE5 - WbqNmOnWtJEt4wPRK6mwUsCiiowX9Q31X7IY42+08gi6+VBYoT/MapwqnwdBXoRX - fia5OYdnAibJfvlC1pgiykAuS8UGLh4KAMoA88F4pNRT8+AtutJ88oF+2l73nhvA - 6VoHTpjPhN4v12WMxKXE3jpxnr7Wh9sFMaJTk2YHRgjf2gQafP2DZ/dsmqVhJG6I - 0GtDtZNxuonF+gRwah9wlGmohF8dA4EcZF32HEDfFPoUtpSdcDYJ6eflmXZd8hN4 - UyZ3q0O6wkCCgSyACITVvr59W9HjzxCdRpb6dqb4VQGk4sC0mEST0qtAd7aSrO9v - LHv3krq/bcECNNHXn3uMc8fz5RZ9RWSzKMOx3j15UQg9J3olDL8S0krUNTBnYewR - g10CNcxpW2WXyHE7budJfyOVfRYKMtg3vE320bDEIjpVUetCHT0Z255yFTSKbz// - rY/w3UtUjouwjGU4+G0SFnspY99MNQxB/Qbdc7UDv+0OEZ8bTrar9p+SkMbdBn6X - Or6CN9pYZhz+2d53mUp2IaFyG9tzimS92UB4M4jNoEedO7eTx3maT1myVmDWLnsZ - Ch+APzymbWp7AE2TC8i4mr3Ty1YwxMd1O241OgO4LpMl6n1VbfEwva8taTiTfgbS - XgF2xuSEnYSa70nFbp1fBwQJ6ZDoiUCH+KbwbNDdBEYc6i1daXugri2lCPXZJydz - tOXu4MGlRaC1ZJXFfjNrw2rWbMRralKxLdPHeOnkiE1g0EKUuw5fVXfJhtxwh24= - =+RGB + hQIMA2pVdGTIrZI+AQ/8DIcBcGFTQaLOJtC1oazeAgViqIJR/OC/3gt+YRFFdjK4 + c/8KTHNzl/kMQiwEPvL/OmSfRwVTX4HVVjFttnxbCBTLgbAyqFCo7fJmwPEJ8XW2 + I6fZ8IQHdpGD6wcY2gr5svXBauMr7qKtEJ5RoKPT9XZAuUqMouICaux/eo8AkiuU + jl7/MaxWdtQuTmFFG5jxJpU5jfbRtf0Pv2rmt5mXBu7vE05zOUwdTTQC/O+Gi5cH + SAgzRNQ4+OyYIBTo9/DFJPTCqowjhSTXsHbgET5Nb15QLdyOef7QrnH/Vy5bFmi7 + rszPGl9pZrT6OyzFJrIkTXUlpBfmYH9YpBa5zVy8DoAlAf6xGWWbXavkL9fJMDDH + 0uJP78eWpkAzv07WqbcDn89S3aA/OH0hMHw97MSaPxLYkS2KQT0G110bcHEUOiwq + Rin3gBxDSsX3I40eIQ4Soo0tH4CnNRHe47p/Szkntq7Eint2dElC86gRHIPrMjtK + lE4yy9S8T8GG/lOca3j6sbDGLWb3YBAoqdsNTKsvKGrFX+HBsfWV5DRMEUdfbJMs + EJ2694MELBor30naPLv5xBEUxypsXMzCsmuRKCWOORMUJgTBvu5s67ZgUIN5LHov + Zhc9v5Zmj0vLiqT2l3RQIg4CoKMSVItUlom+BpVXsZRacVGKfE08rFbmn9g4NYbS + XgGf+xXWXhRswWJHCaZvZbf2Gp7sNR49ZhnQl7yjlH6ldNM/Df6NCfVK8KKmI+qZ + gVowH91taurekuxx6X82Md6IF5lrG5BM4oYJm0D4P54OlV7jHS2AX425Tmbrfq8= + =K/Ky -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-03-05T19:17:43Z" + - created_at: "2026-03-30T19:01:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAgXkUpIKbVD1YqizQm5NtHKTPlkzRHaEyha74e2Hat1Yw - NijeBoYgzp3quHy97lgpBQl+9qslfbG8Qcdm4c8i77L0DwNzROUSWQw3Q58yI4pN - 0l4BQZxv39fof+ySJkMYFO+87WM6TVG6h9cUXd4tXGrGqcnWsupwQvOFe1/L8QH9 - Y8IHBk3w7OKJGFt6t2SO54jhA1UbXws39qPNJ66/LE3T7eX3dJcj37LvOJ3OEjrM - =YiA9 + hF4DKKbvh61jX5USAQdAcNJgzK89I6ohwffchPR6aztjFmNQn2qBCp8RnNh05WIw + Es9wLLoNMrCXsp83rcuxJitxp4WkaOHNI0np0Lq3sgmWeRjJx/RZTa8wz+jWdbWS + 0l4Bc69omRSq6g1b0z1Lbp/qwbHwxbqYd1BQbNRN7OMd49I7PQQ5sCT3jjJ41I6m + RBZOhBPExdPZfy7c26q0kKp+nMuIit4VkGwqTJfJTYD03lytQxFa5UPtCT4PsDno + =ECna -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted - version: 3.10.2 + version: 3.12.1 diff --git a/inventories/z9/host_vars/light.sops.yaml b/inventories/z9/host_vars/light.sops.yaml new file mode 100644 index 0000000000..02cf01fa2b --- /dev/null +++ b/inventories/z9/host_vars/light.sops.yaml @@ -0,0 +1,216 @@ +ansible_pull__age_private_key: ENC[AES256_GCM,data:VEGxr8C7RlEhyQhf+to/OrbfPPKkyL7iUU1yDXGAzmmPCQ4VftK71eiyN7OS6pG8J89Mj4Sy/dcY4SUX+rTl/q1csZMn9t4NBN8=,iv:JcrdyFLX5srZfRj9SA+RXf+CRZi5GEcApgyYsHoHTGE=,tag:xdJ4GmK3afZDkXmkrriStg==,type:str] +sops: + age: + - recipient: age1llkxtfx4dgnezmukj4ganx4ql9k4ga4ca9zuanf5r568jfp8peeqal490q + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBNcFhxZUhZYXJjUU92OWs3 + NWx4bnRXcmFZV1dFTFUwMEhGNWpYc2h4MVZBCkxFd0F1anBiWXh4SGl4V1pubS93 + WmMwdmVUN003U01HY2EyVkJQOE0wNmcKLS0tIFV2YXlabVZZQVhwRlE5YlUzbWMw + SHgzd0IvZjJBamZFcHczNm1FN1Q1TzAKDgId6bAykxsgXAeBWXd6Dyxiiyh0gIb/ + Q6MHNtagsA5OrUtc7xEInVt8CYT8czI/Lr9pHzmx5bQPlDf8NkW0lA== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2026-03-30T18:56:30Z" + mac: ENC[AES256_GCM,data:XQJwF0MuaNoNssD3QvcDrlz+W7cccDdBaY82i6Qae7zBOQKlxLRJ7FteaDQEmQ7Yb1xBczpS+wBLgKNy5WbwIm8GELX1Hs91Y/SUguCnSualWhSVw9HW42T4oP9OEv2DC2aiJYHampSOgjmWgbPqawCU9xfsnP7RFGajQNNmRWU=,iv:O+A6tGFLhS4AVjLQ25eEjUfERPG2PnzgczZ0wczf7UY=,tag:yjFBjKtSE6vu9JMY9DQ0UA==,type:str] + pgp: + - created_at: "2026-03-30T19:01:24Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxK/JaB2/SdtARAAk5+2TNDEUq4oHwp3CBXZzB6Ea5hxvhtkcPk9XUnjnfb3 + RLaW6kgRy7vXFwnnf0dtsKpx9cRDGri32OJfZ/o3tROoaiNdkrxwOlwTQQhd5dCd + qbG0XxvEZYNh6BEOTqPZI6ExPCP4f2O319W1SrVSRWrBE90vwddzMAsueC4v3Ono + XUMTJSlEpyEPf/LN26yKLVCjXA/z26QBhvuuNIv8+QlEWUqqKCshLsHNvXNTp6xt + 82F+0LNSt3ete77VfkiS2sMiHDncPFs5ShU2226wtWprNPfdCs8TV14svcALKONy + PUEO/EH3DB8gKvv9TmBDgcIx1WoaEHacbc1pmd/14oBp2/c/vVFD3C/k5UfvaM9D + PNvnLIVhW3gGHvGoJPzvi0AnAWZmSyY2/WMKOfTUilOlY68Mi9jaBH4XcwENfQ5I + zq3zFRdRqHDRnOvyp2qjgclh2r4a3T7afFgtikU3/HeXH7hykKsE8dhy3nsLinpv + jwbrlzqzeX92X3pqxQRoap1VHMXezBZV5ezUC7Y9M6QJzTHoINw4P3qNqGS8LUMQ + Q0xA/fkQ7sqQHEd+4IaZ2mVKzkoSsCEAS+5IOHz7IYvTAHiDg9te8lhb4htU3R+h + rpTOgcMJxvZmoKusCH1hSpFbgpYE9Vc2hAYukHE/6SnYNfeY9yXytHX9VHFLj7HS + XgG21scnBI+ygqIKfp9zEpxWlZ0GlVU6SKWfAejsO81NX7fzHO7yfsPyBKwJEFzm + lJ5WQkruJ1WO/ej7hjvz04afUCutjwDDcN+8PId/m5sQqUy+t37q7fuAeJPlHZM= + =8PhX + -----END PGP MESSAGE----- + fp: EF643F59E008414882232C78FFA8331EEB7D6B70 + - created_at: "2026-03-30T19:01:24Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQEMA1QflAioE8i3AQf9FdgE+Zvwv2YEF8xBIOCEcMb8+Xyxy4j4pghQ42JbJPgu + l34xtyf+TRDFn4Ks9+LtJG+2NB9x+CE5+OghvMZ2FHk9NDonzmHPrl7JRjNpnRsx + /pV5H6krXdOFlR8Y8WG4HEFQ8SsCUw2UKiGy0xfYOWphwrIpba5EQf/Z2QPl5Gbu + g6Tyyavsx/C0ihiwE6TWb3hHknp0F5lL8osKkv0NrkwdAhGNa2yqZc0oYG6Rr69/ + ei4+m/VBjF5Ata/lEHlNg1s16uE5o1owlmT2G/6v+8+dDsXWudCQ2IpNZkCz/wip + 54Pz+dBcb1mwaHObvYzaMOQZRGN0OBqlpL4k34TM9NJeAc/dTanIxOIBdfjoGrNP + vJcS6dmoGZB+IExpYbhABzQHeIdPfhijuCAxgrzYFYzItE4dqWfmCSGRFm3TUSkw + wxiOSUMP3uE6IudSF6Czyx+G1SHjzW1oWWq91LMU4Q== + =yiJz + -----END PGP MESSAGE----- + fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 + - created_at: "2026-03-30T19:01:24Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAz5uSgHG2iMJAQ/5Ae7BaKmN5MQsSKETDiZ/ooxNrkUEbiwNvF1TvhbOEuTP + 857AXF+MPmETxa2748ICKg68weKTxkb4nInD6uZGGfWbsHEbMTDNgzLG/Q5l4avi + DR14S+jmAr/zqD2KwiKz6Z2gSjSyaRUTULHA9lWpCiYmfhwdy2mCfKoIhI/uWROY + SXzOCF6TWcuLX+S1lPLXpAx2vCbzuv1nDv4VSen6O0H0ZHn8e+CDQRDhpOQjV0MI + pEf8GUSKdKJk3wB1LVYZpPwfKLbCdm+/ZCdJ5qPCNJHKSbacUZyFwwPgMowBrIqq + RzOdVq7MGWqe24LjzPG8bjSIYfK7Cnp38I82jO92y8LE2HPnkU/ehoD0Muh0Ijfm + /jIMok6Q/gWjkPjmOLBXKfMAgap0zH0LmiV1zyMpscrCuXoFiznfaf0gHADPmGop + hngJs+jyDxRPdlDN84APYIBaN7EhMGY24KLh170w2Rej/0/LlzwlhhYmzJFPv2Yx + ZypS7f29ml5MAjwRYmHnInAtLqkYVabLPa8Wg19GPvshw3GUBOiWsxwaekfcEsr6 + UtLnA4Qfls/ziE3WudkU9VJIZdhMgFrnXluLCwFRkiglErJVTxEw36DL8mo0DYOZ + hP9marDTChGA5ca2j4Z/B3RA6ArJ1P0sdL3qwhoZbCejL9seBba2xGNT/Lxqr47S + XgF1CRnOuLShcPQ0v0LSskYOucIFBAgjkkgoBTo1Q0lBSF1EpR84/mHxJfJBt+pX + xyEYQNOOwWAhLiC3AySwN9hkjgft3QzQuNmNbUtRkKm9Aojya9KaDkVoh/ASikA= + =8e+6 + -----END PGP MESSAGE----- + fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 + - created_at: "2026-03-30T19:01:24Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAw5vwmoEJHQ1AQ//YYs8xWxzs+NhCvMNEaJkx0RrljF56m4Tp4V/15FngQfm + 8Oa9Qh0ejQqtdRmsbEVbx+5Gxx4jv2ccBO3i4S7PziKTctMESZz7MsP41CIwNI9O + v/zK46sgjLBs1n1IZ7mSFwv5ee7pj4Uvkn4pF1BeEFHA3kOjCfCAstPGzxCt+0xw + pkbbSdyX4z5MiRXbF3R4qItQPabJ65a11q65LOl3wKQmp6tDMviPgqKAezzo0I5E + SBS++CpoueHWd6aTTBSUZtLuhU1z55MxpnpUfRPJPXI2EzvPeNyssoAr+RLll5/4 + LJGBowAFZoL96clfQGRIQQ6t58q2YbszQ4DvL3vJDdR7dqAhIQSwS1TXMBOz4Uac + Q2mMxZ6IlW4LgKPHS9VruDw9XrcTrGUNmOVoENqibSXmyhb923H6CxPl1Vwqfm6s + mxd8dESdBv6ImbzVYBxzPoTUTyd1YzTX/DA99ACYlLEAmqj7q5MF9+69f8+KgJZ7 + G+jBekIdJcXA2HkSzINz/n20w9ClPGqY42koVtNkQkwgySPgq2pClacTx8wBz6uE + Z+RtOauS+4j/5w5O17AsQbCUFbQMEf7PEYslOdmkQCYfaz840J8cvXmMHJpi2Tt1 + CnW0nuHG4P74VMy5ZMhbTFkBiQAqrKVkBW0WRPeNnLtSmA8Wdcak+qk6kAw4SSjS + XgHVSe6m64615scaIMFBpyI3mm/LjefIrbL5zlEtdLiwy92kPSRutry3oVOXrfGs + gUYipgqdhhoaUUqbr4sHoR6UAKp0f2Vd8livwgP47E1Kpm4YM2FThbEb0mNStvc= + =ylSQ + -----END PGP MESSAGE----- + fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 + - created_at: "2026-03-30T19:01:24Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DerEtaFuTeewSAQdAZEpjfdpfswXK/lL1tVEcwRQKvOHFq4gAPRDSKvj6pBIw + sltt3lezynOEhc+ctkVOk+VnVR4VZxavU1KfvJvxshYyzaYGPA9I3mj6j7lLzm9g + 0l4BJFThC5utCaqborkjvxiZIjTXnw0RnKU5xdlM4bkkMjQ0HsYBKt/AhXV62oXZ + NjmiLy6ivU9bOirahW6xpgo/zhj77flTmuqhF/PELMmW2ovFhP8hGg5Pv/TCM6T9 + =URmE + -----END PGP MESSAGE----- + fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 + - created_at: "2026-03-30T19:01:24Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxjNhCKPP69fAQ/8D8wAwARYJhA04Bw+IhxwKy6v8d1hSv12hNDNvZXiZZGA + aq9BYHI15LO81zpy6K7EGQk0UxR256uch1Yh9w0T6UVUHQoRvP6RnQSZDATT2EiW + kIWmX3423LH/RIS7V3HYdPpteiDCLYnF2fYljnzIuQk2Mr49EM7Z831RPz+gl/Sv + xMHqfxMRP1IqbUQ4tb6PREkfs0k7h+5S9GNif6oAew+irwPfjOTuZG8DzCVJYinW + XWVQIVdJIQqM68ewnh0qG8j/PwApx1xPDJ4Gst3E/PU+Qsw6Z4iCnhlCYPh3uLFo + d+ipLgINRY5GV1Sn/2iqQmefxa79Q1Q1yNwLjLEnIfj+75re9dEJ7Y/Atzhdof4D + ysP59rG/aspNZ0GWnwMRugJ51tQAJT0zP9SxxqY+xzM/DcBUkwU3yT6srunMW9b6 + 7JqgYDrgGrxAtolLzMtJVSrcjm++kQi/4vtx96Vc+4Hxf3TaBL+Ij86we5hdaRrF + aaj9VN7mjVMllWUgrK+XrbC10S7Wx4ljkkDCY/BuuJZ0Tvf4dtnuTtUK+n6bduhW + Em0PJxklZaovL99Z4f3/CfVEwrckMjOkMDK86CxqDUin7+i8c49NttBPqwmmkv5Y + 7YV7OwG7Vm10hL1gTDbFIsRNKdjJatWaJ3dQB9ogjhi5zmz5yiVpSTlTVAWBn4/S + XgHZ5c7mg26Qa0Staf6bBysiqL2VKlIml+SMKRcgvsIdvbz4Ya6v6CBgZNFGXk/b + EOkHXridbbhO1zVNoPycUBvTzc9Cx/GRiz/9au+RaK69mDUJM5YsW/AW35/xJkE= + =ngPb + -----END PGP MESSAGE----- + fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 + - created_at: "2026-03-30T19:01:24Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA1Hthzn+T1OoARAAi5LgfVJm1pp6Up8gQRW1B3UV0CIlYj1szlzGi3kNUu3I + 1S8iUqvmlqhC+j1ihAN/FuAM01b1eLUex1Sp7YfsoB2uH9IDv8eLOAaqMfIoMCAC + aj6aDH8bi9HsfVOOMnzvOnCM6LcL9n9fnMKszoaZb/wn61+eXxCUyH9XJXsprk4D + SDKsIE/HMncXeCjiSf4BwbwiNXGJBKUj26QDANtt9j1YgEyA3tvx4vfv5R4MWzDi + +k/vbOKQe3uHvpd61UioqbjT/ZRmr+xSb4NgR13MvUj6ZmZU2X8PCXgvPHKuIbPA + GHDjuFoY9WWVc3PE93vnkz87wxWkGTn8HHe53FcWf4kO0plVcZSfi0iZ8Z8/P1sT + 7TbuwBTKRh5cwUiRYyHeGwt03nFNAth/KerrfZSE4eS0u+ZjoCnrW4LDJnsP0aT0 + zVtIkSNaR/olbQArNDmpebNcNwbYoc7BkTVZF3evxbVktvm4eJVPzdDCWEXpirfs + NTMniW6TigyJZ5a0rJtTABKdkuZT1hGEVzlEpRu2T+51OsOFX7sG1DBCcHMYQGXP + gVtxRI+h6hdfr5MlYW5peDSR4lqqvGaMGYQCrWDBJ3PR61l4dI1Cp9m5XJKRClPK + sDbR/IwvCdGmUTeBRRL1etA/WXQYoBxtw7KurGyRP2czTlJ9QWms+l8klbgvyBzS + XgFOmz2gXSd2GYFj0J1nrYlQuCpPGBaaSc3mYV0iA0CGzA1WnjlI7MvtwqMeG1Or + O9jSlEn+f2OXpq28DcCvob1phbpb57eR9fVCT7Wu8NVdYStDEGekBKuuXiHn3cQ= + =ir7g + -----END PGP MESSAGE----- + fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD + - created_at: "2026-03-30T19:01:24Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA46L6MuPqfJqAQ/9F8yARpYxQdK45TU3/3A2LHTlItBbpGv5MtOo76PabjWc + z9IfHQUaJSI5fnit/x4EKxcYmbVwj7Och2MYp71iosDG8qA3fUsb8lyyDDa2QoeH + B+bEec34MzQIvCEXe+wV1lxyatP+jQElzslKEcgVZwBdphll6NqJmy0phYRsWgzO + HIa8Rbhm89dRwYHg9d8Fqhk3nPnH/DqiTUWeVDjiOt09oL6Wcp/w1WYSNWNWaq+n + LPA3zIJKB1EXXz7M+skTAirsUWtOEhgHlZvOLpxP824GgMw+p+7GYpFDcfVlmF5l + 5EmCFsx7lDIfy+uI9iSpvXNr2emLgv1Dr1EytcVt/F7LEhq0dNy014LjSZYUwy7R + yB/fbv/I0Pk+QgWapNTkd4edDZRICa+lR3wxDKboBieyJ8oMxYrd4oYkLxv10O8z + gsBh//mPKH63hVGwz6YG06ElWznS4EpHeBBSzkHxbJq8XD22ZTUBu6eSCa8xsKUL + 30h8bBxz0aExiNa3jTRXr2pCjWdbBWHZJwZ6sgQ3yZUqVg2QPVOy5UWm4bVsfmL/ + vhh1eU+A8KLLlSKV6KOkjR1XspM+4vjwUWzaWriijMiiZyM+QVFS1QO8B/0mJtHs + FKhuNsoqRsydyysUdJ33EBvsthBNBR1jF2IBPnsp3u6piT+MlQMEYMOX77m/AS7S + XgEkv4Ie6qFN4WQHuxEgRAjVAduHd3Bf+xcJFpKRcV1VFPHl2ndrD5Qc+d0Z9dlF + zmJPavztSVJleCr3gD/3T4gFPI2frng1eSaDq8MlrkB/Xb9EoZEzAtE57R0fzbQ= + =bDng + -----END PGP MESSAGE----- + fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A + - created_at: "2026-03-30T19:01:24Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DQrf1tCqiJxoSAQdASElfAFW0GI5wF97mf+/3BRsQx59lKvM+0r/uCtD9/04w + jz5HXKgNnXRLOxBiscSbDOdNx4NInpjpD7GrBWnb5fvzQnZtkHONn+tqdpeIo/zX + 0l4BoY5Q5eOs+ZMYLrV7amDHABR+kkzdAzOCP8lp800ORBpUPhP9wtHmFMBYLF6g + N7StP1FrsHDWcycogDKJjD7Imw3FMxDUfM5QN1LoPtQgWS3fE4Njrli6fe6uY/lU + =qryw + -----END PGP MESSAGE----- + fp: B71138A6A8964A3C3B8899857B4F70C356765BAB + - created_at: "2026-03-30T19:01:24Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DzAGzViGx4qcSAQdA5Byh8OyrGwATUeQZEXx3EAw7xMPKzl+p4GkeYeyj2k8w + pyPeE6a3Br6RyypKvydtrRbKWV0n0Xj+q0WJ5Fe5mm8cTtOUzfyEGtd7Y3wqgMiL + 0lgBsBGxy2h8WBv3RrBSEADm6yQoF0UDXDWHA38m0LU8U47TcpcT0CNUaOszrLlm + MH1ImB4SsHqjnaGl76wfVJ3fAa8rvt+zKnv0u1AymAEDibwoCqk+171d + =B4HK + -----END PGP MESSAGE----- + fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD + - created_at: "2026-03-30T19:01:24Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA2pVdGTIrZI+AQ/9GpOmpgalbRLemZwysIW4FU/+27svTwGJlJMFilEOQZ09 + Ki7bKl8SjOVtu6FvDb5YHLHDlxlhwl3exoBmJcl1ys8ZnzVhOaiQoMsxaLAYbwbz + h0RVTFxk3rYam4KZqIF1Ae+qM7aFigK8Ieq2F9Pk8fn8DWXmHlzCXKPpgKl5/Igz + xQlwC95PsqlsxdpFMU8l8jgFTGPynXjjOliJofcDY7bd5T4twsgOI2nO5a6axtnH + Pj0ij6CiBQuJs7ArkXM/woe3HPo1qFkecaP/UcEKmciN3NuVLaQt++nEtPOstOuE + CYyESoCDmgj/uETBgn8GN3kXj2RyZu87rl39lzHKjwh1NFrayg1mPI4vEMmn3LgJ + AdtfbcbiGpLY4fFw7fnCeL5uZkL3T5ZZ00LUDlpvzjfE4dHVl0XXwwTOmElIahFk + uafrNNCixi4+faIM7yT3+agnyP4lflibC4chhBQwQ9u5gFx8Ce8zvuk3itaZ/Fgn + HJ0h2V5ueHHCu36biaASfGtAGbP3S7XkOowBu94PN+MIl0tFxcYT17BCN+wJL88W + YdoyqFg2490/b+HdxAotrzJefG5sSG75KGImMfeSFWnS1uHRSM/oCFZTBraBE948 + zRJgWJvQ/eszZ2FRCoGbNP075C1jWnOWREr5d5iT7dCLj6mkb3dURzV549AYLUrS + XgE0aIfh+jOdDopkUQKUnsTB2SKl5hT+361nZXPKLpvzXXA2bQA3yx253tcRoGcJ + 9HxBE42FQEEygfomy3jEybG6LiKFNBedGmgngIZufay4YLyvjgPqlF/1yVN9GNg= + =ARJU + -----END PGP MESSAGE----- + fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + - created_at: "2026-03-30T19:01:24Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DKKbvh61jX5USAQdAhaRQRUH6WpP84X2N+sVhWxZhZZf3BVaXcH7tgkvj52Qw + B0HuC/1qYiQDIfvF1Bb2gorwCANk8KOOs3CkyiQipug1N0E+NjTBiWLergetBft2 + 0l4BcDforyXVKoeX0132pHSh+F20TxAd8i5T+pemGS0BwYJ372k/TWmSYSFzl+Sz + 80Nm4a2hBUJayNTrnFccDTn4iFY14xthOuyWuf3QaQ5H9RCV6uTlnwO2SDUSicoC + =S4t4 + -----END PGP MESSAGE----- + fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 + unencrypted_suffix: _unencrypted + version: 3.12.1 diff --git a/inventories/z9/host_vars/waybackproxy.sops.yaml b/inventories/z9/host_vars/waybackproxy.sops.yaml new file mode 100644 index 0000000000..437e511af1 --- /dev/null +++ b/inventories/z9/host_vars/waybackproxy.sops.yaml @@ -0,0 +1,216 @@ +ansible_pull__age_private_key: ENC[AES256_GCM,data:pe1hFQrmJio4b/uPh95kRlWYdq4qHrkRCv/WPkQhhKiCyeHhBAIGXhDU9YziwW5+5yyJQP74AV0+hg34X91RmWjF6QRPthQYkS4=,iv:SAsS6ceqCllZomN2VC8d/BwHS5ltP8t6a07vQwiWUjQ=,tag:HpS0y6r1cMk2rLlLIJIKzQ==,type:str] +sops: + age: + - recipient: age197tmckjll9999v5apqh5h70dktdxzxn92uyzce5j7jmesvnneecs9p7m5j + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGZnhnM2VFTmxDTnRxNVRP + eHpERE13NDd4RlUrTGdSZU80SXQvWFBJYW00CkZaeTBFZ2paQ25lcW5qUG1ISWlO + RXQwLy8xWlBjazhJT0lPa2p6MnBjYVUKLS0tIFpCeS80MEM0bmFFS1k2UGY1bStF + TEFPYll5M2VvRHJudFF1TGtvOWNyWEkKdbsQIUU9zOfsQRkukk7TCAQtO054h8Cj + 0EEa/cQARaQmsah4uBp0dZ0SXn9mz0D6IAhzNaSr6I7ixUVgHsBQzA== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2026-03-30T18:58:10Z" + mac: ENC[AES256_GCM,data:T+2onu1bM6QaD67hDH1hBUi3hf+UzzRUS1O+/+qV3F0tVndJ4nCO30cfsKRNvQiyCQL9qjGJkvvYOIk8FPEWTSH0k/sIyWAjjVpp1qQ1WTAo2KkRQnQpXdjd0a5cv4smYT04/LbNMnUiDJpLt9Ffiwhgu6MZtHwS4WzeqKNezwM=,iv:Dx4Pg+jXzciAOuRMyYjFiGpSC892iEpoCw7U2TpcVgk=,tag:Z9KcboQtD1Upk2FiHYoluA==,type:str] + pgp: + - created_at: "2026-03-30T19:01:25Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxK/JaB2/SdtARAAmVOLFpqNDEJVHAEzW71mOnemLvAr04Z0xFVjWzpx3XTB + 4TCqwP/vef4J8jA0wMpMa//br6MVgr0JWY3DwHVSRKwIujQPk3HcIa1p972w25di + UhLVeVSd9ZI2oKSmfsP+16jUwXzsvZPLJkL3yFtA/9lmKb0ruh0/7E3BQqr/bZMF + VXgaw2NUnLoEewdkvL2xUiKeBeo3N6WnlpSp26WWBt/JpccMvsOYYFmM/jzshSif + +tw+VmgJbtJZW074NsDpuoLzbm64qC3qs+BZlkg2rwIZQVrQ1UHkOj/1BMxax+kY + j13/zgwbOzLT48uLAOTSLKlJL6DdBdUITlYu4QFltc9Vr5GwVqLZE8dnzuV9MPM4 + jOP/ajPGWbw7tn3+az9Ie1sxm+OalRLKPuSTuwxOJRsSBm4s2IBbHLYQJKLd2VIA + kbCIpsZGLKhsN3NoJ5lBUjIpvZinkYh2b7/6CwNJeyw0mNV+MbbJRIW6ROFCZUR0 + JOc3w6+mC2jr3rGYhkU4H16W1/oYEZRmIPfxiCu3nNOCPWycD7mIP9Ei5ojP/HVU + R4IQUoizDxx531ZeGIP2vio62JlKuJvSOwaQLBnqjTjtKL1x9g32i9eW7zhVS8IQ + DbAjgLsR1qOJZ4uupKYHF/7Ewf0zOtoOwx/X/Q+GHWPwzYQPUxcxNDwEx1mJnRDS + XgEriV+Wjhtpo44S6l9UCdd3DAbrPaS/D7DGTp25vxwCQ4bTriKF45/QrZvPRVeM + i1qXnzYYR4muPPowm9cER6wwt7eXs9x0O7dg8IQ8Qsf/xYi5TpoCtTB/TGwjE3k= + =vjcL + -----END PGP MESSAGE----- + fp: EF643F59E008414882232C78FFA8331EEB7D6B70 + - created_at: "2026-03-30T19:01:25Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQEMA1QflAioE8i3AQf+LB/2cQEn3Vsr/ySrpa08dxpBe7N/Ha6ioH9L30ueoyJd + bKu64V4Fo+3gy7TjekRFRh85wODDz52Bma2W2eR9TJkQyIK0wc2QLnpau1WZUZq1 + TcOBgjS5xOn0OE/l+gvAkz/CghR1/cYg7Yek3Ad43S0AZPosIgfPwXg/BEcrqBCq + r/92ic7ZP3bdeqKR8MqRliXPCa9ONGujFlZxKMQ/agI+m1SP05uJD5KDO5j3QvCC + CyWaA8jSJKZlReFtLjIIIMQjGzzhSqhfPVtmw9i6RlSlihMnqxlcSAoHzHXRik2O + C1rKd6sDfXl3in3lx+YySNB/gXVx4DKjPY9uSPiMEdJeAQ8472S0OdVl7tj2NH1L + /Lfn+Ni2gvAotIEMCpSEij8CwYkHWYHTwScTebmsMQMge/ru7RXtlaZuRBvhlhmW + kneP32XQ/GoLsEmh1VMJX8kNRIGpDBAixsERacaqbA== + =S/0g + -----END PGP MESSAGE----- + fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 + - created_at: "2026-03-30T19:01:25Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAz5uSgHG2iMJAQ//Vk8rd6aXWs7qqmGag8eEw8eV5O3vcwjcM/8HCiSe9zMp + xCjVp49lXztZEnV06RVsnnebeCdhyMrjBrZOcx04KNg5y1O878QIqV33AWstefHO + z/dbSMDrqWzcXnUDWdPqQ3ZkcckaK5gRKQnNmSeYzIF3e+FSthnhekuJ2nEAuLiv + hg2+7J/YfANu5GkWH5fBkYESFIf0Jt/e+4XrLH5A49DS7KtBGYpDz6+tTBuP7glC + S2r6ZO6uL2NtejFc79503Si2zJI1VlZBKi9/B1VfY664qQAX6JkISHlUz+lIokND + dQS9WXWVYtO5IsreI4T0qRrfBcY+DKhTywP43Igbn+eS6plM25xZkcU5Eafhget/ + qv5V0+mMIpUTvloy2yOfe30WTP4hhiz5O4WbIjsYO60dmoH7PUDRw9jAVSlMH3ss + 1hoNUY+vKvSKB6Co8QD67Mkl0rtJAHcMVe4mJljel5hfph178oBC20ayn4ABcRNe + xcTFGc76HdmPL0cCqoSWizCK9qSOpJmc0SY8YS3C17KEfdn1EOgc5rAghb1NgrN4 + bnwo6StQ9JiUYaJ5a58G5bc43caHqBNZJ6ZaCiTL+qzAx6/LgqENDLWhVngZRcGJ + jpFfRY9BTEr3C/Uklq3EVzUz4aaUgzZaUhhGkRDC3c5scsDd5GNUFW6ppjsMTR/S + XgHu1EyNZ+ncnCdjyUQlOtWxzCk7LlGFEXod3DIwQV4sjoJWsK9ZGnrAUuUEAaD4 + ghC3YKSyMiqfftrn+mFQcgcEADv2Vt2BgkCqpWu+b5bGhnXKAs2MgTu4AKkalrE= + =UabE + -----END PGP MESSAGE----- + fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 + - created_at: "2026-03-30T19:01:25Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAw5vwmoEJHQ1AQ//RFw3nnJIuL8w1Ur4J4Zdd+UytlccdlXVtvba52fIRILw + tm53p1qz1UhVBAUkZ7BeWpW0/9Rv97/7JLPzZOxX/NtQGk9h4NMuczxtgK6iZVGM + YVZYtPQe8b3Fi502sgTQ3l5m1yiPWW/aH654nPq1HXqqTF4wF4KZeRlvTfkKzCAR + uQovS/faTEDIvUhuzZkAi1y7HwHp+0vMa3eMfaZYmIMIocBjxlpRml6DZgmRSWuR + lPY3rt3Oe1PzxVKAl3Q6l2z9/nzBAuuwOLtktt6FbyR1FVYQ5wigJ3fCC4Ae+OWm + gm1RGp4nUYK8Q/7GjLNqQ4ove1lflfv7549edFkL2MFMbwuUaj3fhQYXEaXMHaZM + xrgrrMB11H9Iktf3fGn8wRi4SFpAHcxN7OqQHSAaQbT5p1N90hvRj5YqACUF4SDD + s1SirEngJGys6Xh+zFUeGBPPEGsq7q2a/ye1+JiITQ5V34m1DzMoyH7wtfHN7uSj + uA8KNVNM0EO/DP9wFetC35+Be4OPiT1AACeyEEun+C9AQ3dAV3f39RCu1p1X+hkP + hVxt4P3NiPVwFgGYYGk2hhcCmvYzYPYagjkJobdKIkTawTA4N5oejxkaeI+z0/zR + NLNzfDuc1Fo7xZOtTte2DitV2rz7g/D4pUnBIlkbUWlRJ4Z0HY/z62VfyUzat8LS + XgGBwiU1obFwGINR0Rbk0LdfZk8RmIuri1aY9OaAwBPwwWRTdQjlnZhuk6FATjyA + udanjCo3GQSp5RQHSV/iXaiTQQNNEyTsQTJ2OuK5YPjQTmLDUGHnC7fwuItrmvs= + =1kIs + -----END PGP MESSAGE----- + fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 + - created_at: "2026-03-30T19:01:25Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DerEtaFuTeewSAQdAReJcXVaDeYM4zMODEsFthBaDrrlk4v1IoyviTX2FESUw + 6c6QOcyRzWOxwPWw3vpevuYzzqbUfVb27CAJZWwJp5KrpBXFxDIy26uZxOXcM81V + 0l4Bcf+xcLwZv/h5DF0l4sC4OxKV9uVil8Nx2DeX5hAfMLOvX2PPJJNnKbalyMZZ + 3kdUziy+ZWSPz4CmvretgEw4jH7ErVMpiXWWpLvjcQF2MB4gHp6MH3mGMf8ibvqw + =M5OH + -----END PGP MESSAGE----- + fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 + - created_at: "2026-03-30T19:01:25Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxjNhCKPP69fAQ/7BVxGoPTnkSg2+X1VYP/nQwFPfbGqZs/1tu6rAu96YPrz + YWqQmMPNivGl6c2BMoyYz1TDeuVsL5A3KdFgqLIOGLW4bpYgGAVPjsSEpHf1fl9h + 8Rh9JwmDUy8fuEXQvhrCCPLzdgW2yajNKYwnc/muLY8b8G7fnC1R/n0qyj3i1toY + onSkB70QQ+B68Y2xyjZA8HXmnn20MHVZLDvFb3wFM1vApv+bEnk8hovCMCga5xEX + 38NdOOPvIB2Iwbe+L4SQ2b3Yc9kbHdoz4OayovaYSUxw6cwJHLdr1bzd74RmJ8z6 + kQVH3UCbP9mc7a785cZ3lZ/DakMxTBYNIVW7MYFMSuXPfrNocvEhzgpOTHNn+/ot + Ts6LBwwVifuuG+htbNjwwcgM12D9KDQlZKke7v76dfdTOhWLY/QzjqToJqXsvwV4 + ZlNkxzMJcEzmhXt2zTHseScYBaCxiXlHtyLV2l5ed9pvMKJzvO3+rYYDl59/p5AI + Emw/wiLKIXn7A5gCrdh/LjhbAYl+cibrQV8huN0wMbfggTUWWNRDyzQ2ivUM94tB + WvfBZZvPD7slxg4GJMCODOWA0uzP51N8iHxxVtAa3LWzmz8VCiJgkjr26TXvJbnu + UhL9YE2ULOm180E3dFbYSnaGhFQMqYDbSHBnpt5/AyyZXkT6WI6yYF2gVokfDlrS + XgGsvHT0nrlT5BcBghsph3RAwscSD8bvEOwJmLYA0xzjTMzoR6sqPak3/AtVhR1/ + bxmR2lQprc5NCvCbcuuAEiZ3bfcExycRqEza31sM50rWwq5/pKYgEKDTDQdvW6E= + =wdtQ + -----END PGP MESSAGE----- + fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 + - created_at: "2026-03-30T19:01:25Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA1Hthzn+T1OoAQ/5AS2cK8cTJvag5Ge6W5cy6WfrtiQgEYxz+oRV/mMiG/oQ + Gdf4+LKgH4NGHmQb0ERkRJMeDrCLzudsShdzIq2ZsZELlIRdwwzs+JFxWbwSmBKg + 6k9zzu25DwEzooNmQtKdpUH/p5uqQ3GwFQM12VX7tc3tG3Mimr8jnf7t/vf7jXtZ + cjTBICHP1LsW93HmW8zIhvbtFazzYvPiwpOsrhKosbL13dWqQG7zCkhX4iqgJlhd + UH5pB07OvmjUcYMPUeKAhsmQwZQi/JOMaZsICmrPRNU+1TKxETiiewQ9jHRlec8O + 64vnWAveT+QyShbIlWoVMVpcxFx70A0LKD53H4v92JRXpJ+mAmwCWTwha2No79Ee + v9AFBA5ozzJDBnAXHncPPEeMDK9ZFzYlg9fL737mZuVcET1LfW0whk/moH7LSTo2 + yTaeYe9puuJ8TE3D3q6J3z9KNdSIqIx3pWXkIoRMK0zaGtwpGaeQFdCxw//VJ4kz + u6cmk2W4bCXLfSXqXG2SvifUJ9+G+DyIjRioH4HvWaJtpc145cyoJoi2OLDq9cAF + 8mEHXP8Dni8cZCVIoIFKsluymCieWEejqM1qPvN57+8WQvVfOhpQ3Mmg/LmFWqfQ + 2qD+WtR3F08M0pdG+TPGeCibHkiFwny3+8Oj00T1bWkJdr+D65i8wlltxhg8KUDS + XgGT5sZMUE6YSsb8p8Gbl04y9RMX9a53nUr2fma3EdO7w2nhPDjx56XrByJVvP0E + t+wikQUcem+jV4poIOEUgdl60/sV+w3Rx0oSKS2Bo3cRaKV0WuBHjDkgfphml4Q= + =WHjQ + -----END PGP MESSAGE----- + fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD + - created_at: "2026-03-30T19:01:25Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA46L6MuPqfJqARAAhLMbzLG/Q/OmHqk1Si+X33QBLaysa54Vv1xuQnVT+//5 + 4MepWYg5MMFPNI4hpHoUWMnSbn3eqvtnbwgo7txKuICqEIukjqOV/xG5A8gFlxAS + oWWfPgPE3JNT50mkCe/mfHxGvO3EwZJOnRM6Wkd73MtyOBk0a8YPwB0vWLEZ+490 + fVmYGhisWXGXaJU8g8lc4U3BvDL3q15f7bWMiPQU3VcDME1pt1eN0CQBXkkxjzL0 + 7c/muXEmH17Hpes0UxJqL+fAgZweL51+uEdnpZxuf/doUWngQew/DommgOy12rTG + Lzq/wfLkEiFaFEnAqQuB7KIEsNbGQ9KnDrbbrf6GbivOcohuXOs8idX+Y7Nn/29E + QfzwGbK9kPZB6K2cKQ6HDl34fRI4gx3GtgielxYXLGT5wi66rIznt6t5Hp/B+i9I + KdWbe5A1qDF82UM8ifqQQ777b9QT0iixcMWjh7RT3M3HgE5LTSPSrf58YokMQ6z9 + xHQ5c7MutQOcmbp8XI922C9mhcGRDTy4Zp6RMqbcoZJFZmm0+G1cXwXt3fIQoAcu + lLj+cbzb68EgU50mpZ8hQzoh0VjCWrO1ca84+hbsfXdcudszeAg4YeXY3QtHwqKv + Ulo4W4sCAAwZaPFEDQLaBmW+DooTqpuCdAX0JgD1Gw/KJPmKZaCANmAgaEIc9ZXS + XgF1ghsbGWNDh5l1GnhzqFRzPCBcj9ilTvLf1lvJQsB8d/cJWN3lQFhVBkmS1fDD + OPK+AO1Lo5ncb2D697YkHjBCkQwaTpblDoaJqPW4RLWozk3330kkV9/nmtGPNZU= + =TN1l + -----END PGP MESSAGE----- + fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A + - created_at: "2026-03-30T19:01:25Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DQrf1tCqiJxoSAQdAIiG/rF87M2zc09AMYSXNJv81J5A9q87XDe4NVWAWkQkw + ARZv++tIZsaQWkIjU7nHQ7L6HH6eVAylhI6ElbNcPyeun72ATn9jZpQulnx1aGGQ + 0l4BZ+jQfmTECdADvm9EY2kb/LpmLqft71xBMtywGkEjS6qzVdHZhAb6ii+kDVvD + EwXeUgfsij0vZLnt1opXoCARrgPEOt0eDLtFpfR4zWs/qc2wLDOzb6yszNvte1Fy + =3ELC + -----END PGP MESSAGE----- + fp: B71138A6A8964A3C3B8899857B4F70C356765BAB + - created_at: "2026-03-30T19:01:25Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DzAGzViGx4qcSAQdABka2NkGB4iLaaPRPzCrS45N2+gww9mvU91MmdXEGTHgw + G7/5YYA2bLliqBLiJsR7XHLfJNkNLM512Y9b7LORFZnqFxBoH0LhzHmPh0QR9qMo + 0lgBRPiakcIZEaydw5uVFe9Sv/axRQRgSi7a2AcpqHNNabIbRZEVe/fcLGY5AfNy + ldMAeNyR5ZRQBGEahNZIb9B6tRbDda8ArQKSM3LRnjgtqvCAHz58KDtQ + =Nw1A + -----END PGP MESSAGE----- + fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD + - created_at: "2026-03-30T19:01:25Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA2pVdGTIrZI+ARAAt4UenOwCmB+Opi0/hQHXQvrSYKLFia7GhJFv1fEfiywS + vBbxZj25KkaHFbHNYPYtujCNFyjqrMVG5y6znLP1fQgybtEo95KAJGVqEeDrEB7Y + KtKvmoszIMUBI88brLioimk/5mKaSAsgs6pjPOobLgyk+rFpEVKKZZ9MQxDpW7Xo + /ALtq8b4XvfayNlDxcOP7XR41hThYsOyNsZeGDMxNruxtuscDdjp6Lviu3W9eLTf + UNsdCATaC4gzy+MjFUXwUI1eSEuBqRxjEsMLkDwQ4/aFS4TYjZJukhU5VVYT5Qm2 + p0pgDrKvBl2+aL9Cx5uKPXaTSvXbH+bRixSsQcv7A2LGk888UjTdCi9oTk5ke8xO + 2pEB/SNa8YfftqEaU0ygrBXB/YDPIfKM/+L6FHJ/hAB1H1D4KEYzHL5bpr1mDOUc + SCLe9yxbOW0RqkIK1TllgFFtN5Rbx6D2RQNBjLlaMTUOnAEGQEF7bSfkups809f0 + U0rkBGNTXrZDLZ+icaDeegsYOQ9qSUZVxnOgzgXCbaZC1Pg+brjubT/oGH30nLGl + BUIYpwScECZjYjwaL9FVILxDaQWXAZuDgq+86cGtaeOA85RNx2gwUODk5Aa5CcJa + 15k9LReCeWS9qxOmBe1RRsX30In8aUxScVLoTKTxqP6k1fa+paPC62S7hzyqvsTS + XgEQkOKwGQ6xuBZC4oGAB/DIP1BBgGKS7tjDji+QNwUEEziZpq1tqTcW0+MNM9pU + HLS1ZjPWCNzrpZSI1Nia1sipautxYy+QKy8RweTTejSSfYi62wBhs1Nd+MJw2MM= + =4fMM + -----END PGP MESSAGE----- + fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + - created_at: "2026-03-30T19:01:25Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DKKbvh61jX5USAQdAROv9A+64EZA3dVaRbPzobWcimOtqkGH6Lx3Bd7jP7GAw + /l00iGKZstgZiBzImMU8NFjbaaLyic+OBsZvkiYJOowThG+TTTVgha0XEwFhYKQP + 0l4BmruJycZAJqeyfKmM226C8eQruxbWN/WYJDi/rF1TIVA9z3bB2kWsmUpp2ngr + H1GeGzuQvFLPYCPxtnSBFMMrCTDX5sw6SgSkAOrer8hbqP0Rz0vDomLwIKzi7o5C + =x3ix + -----END PGP MESSAGE----- + fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 + unencrypted_suffix: _unencrypted + version: 3.12.1 diff --git a/inventories/z9/host_vars/yate.sops.yaml b/inventories/z9/host_vars/yate.sops.yaml index 1bc049faab..58ec382b3f 100644 --- a/inventories/z9/host_vars/yate.sops.yaml +++ b/inventories/z9/host_vars/yate.sops.yaml @@ -9,208 +9,219 @@ secret__yate__sip_extension_fritzbox_dect1: ENC[AES256_GCM,data:87MFTNA0DXmfhesT secret__yate__sip_extension_fritzbox_dect2: ENC[AES256_GCM,data:KOUKexyzJqZPj1HKJxFl4Q==,iv:OCChQmSF1s8C/VYuw9D3hHA1CAoCnwC4adyTpWO5Iac=,tag:VFFuYi5Nd49ChU1Ki/nHiA==,type:str] secret__yate__sip_extension_flausch: ENC[AES256_GCM,data:eIieA4A/ZmU8e7t20xwmCw==,iv:oDMgZIjQBDcwIVPK4/qIT1HyQKc+vImdr1iPZE1LEn4=,tag:RgS+enGC6DP6dwE8u30a6g==,type:str] secret__yate__sip_extension_legacy: ENC[AES256_GCM,data:gC43eKUOAYU9dgNV1JQ+nw==,iv:xN7aad2NPaihlMT4Ym2xanpKU4eX04V0FS4m6XRgZFo=,tag:Oq0yBCSf+CB8Xkx4D4TH5w==,type:str] +ansible_pull__age_private_key: ENC[AES256_GCM,data:xr+bxqdLKi+lr9nksLz4N7JiFBmiOFAeOq/SZLoE+pBAfgSRTGtzzdmBS0g5rJWCYuP6h3r8d3rzx+Ky3dlOlbFOqq/OVoFoXYk=,iv:6USvofH3FtIFXsxcWsWnj6idHVkF9WR8ThDpbo3/O2U=,tag:JiY14kWb/48yNMjP4J6GLg==,type:str] sops: - lastmodified: "2025-08-02T07:43:00Z" - mac: ENC[AES256_GCM,data:Irv3y4/QbofyM5BvE4h/T6zNF3A6oTjDssMOcqmGxUOGpqL11Am1DMHBivkUgEYe4ir9N0kvPUmed1XOyDwImrl06E1mGAT6hOlfVSYKtZP0Pwvi4VVeeP6IAYN56zu8k4X8oIxv7AEfS3Fq94sJ52Fd3xDPPCG4aVtUXxxDuwQ=,iv:HdqbgUVR0lIysZnnPkOkW9gDp9G/EOrHDkwmQH6LVKQ=,tag:amVPLxjvx1Qtv+v27SGtGA==,type:str] + age: + - recipient: age1yc9s8r7zt6tc7scfyxc3345khdwqrx0lwj4z6yp56h6rmauev50s5yqr22 + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBlYUFtd1VwWVg4NUZualJn + YXlZMTBMSXoxL0ZzMnVZL1ZkSDlSd3F1UkFRCmFyblE0Z1BkRDhYMXM1Y3dpMnVK + OUFrVXB3ZE9peDRRZGtVSWdNSU0xcXMKLS0tIFlGNGpUMlNZSlZuRkNRcGJTMVRD + T1k0S0hhQkRKVWxudWxHUDFzYWhGUVEKgzUYdk3U7W4TAMr6JVs9V1hUbhRIcB5o + Eo9Dnw+ewdy3yw0Ndmnlk3Etd7GMEYHNVIz2vasF8ST032JqaX/ElA== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2026-03-30T18:59:48Z" + mac: ENC[AES256_GCM,data:lvZwZfxSKd5Sm9H3sOuHQL3pOu7fRyOy2ywf5EN/y3Txuv1I8pPtpeODY2Bd2sCdwbL7oQTEr5C7h7SwPa41a2GxJCv0X0qUiJn39J4LJVQh3ytwQtOotBp4Q6T1CPqDSyQUooDMiXVrBu25WVDjvvB1X0O0/nztGk9e7h+7N5Q=,iv:zFYLvdAA8P7hz8k/e7RkhJqk8In+1R1mF6tFQDfPXX4=,tag:8mVY015BLGPh2D5XFvuFGg==,type:str] pgp: - - created_at: "2026-03-05T19:17:40Z" + - created_at: "2026-03-30T19:01:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/9GH9BGLJtNngNAZgvMQwfcoWTtJPmUoZVtQbpz7wb8Ktk - fmwlQTKi9984Dtw2LWwhPT9fMvTg0XMuR6G94dnn56QfUnjQpG+/8yK/npKe3OUS - q2jhZtb0fN3f0TltPZGLMfP/ExNQ4SRXRybkbJdkNyMe+ZJB64xheLL5Lg2sPNW4 - MzjkIFPqQExoqYztqatGBo61c/sE5diQx6tlhD44jDGRpWQZCSImE7eadJRSvV7K - 2TQCXYB5MSiMgdfj3YL8DNa8vaCSQRVYN94YggnbGzrbmQdLbbsleFiy1tGVboCP - lhDXPLR5bhrwNG3HIu04RigAdg5TLwpU73SetgQm9xyMDc2QRRrEq3qC0636Y6tB - 13JPWW/g4XMnS7ZWP8SHAUy4RqfZmzYCzr8vujEPRIraVFOArDZ3XZpJLzD8POuN - Y/nXGCqN8JecTrlKaXwRiJ69KEkWBck7lWpNU3o5sGVPrGHb3s12WIi09UeFp98F - OWJhYWOiqdb6YIwNFt3kWolJHosTfOMkljvZk/ZkSPPxLcddPfSKGDXC9e5Fq6oX - XbbvIENFyVRhV98YqScdmpYzxh1onZRK4APUR/a/xNBG+YbYMJL/tJD3dYQYzAio - UylkH+q+++73E3gvWqFzTI+x7i2USEDIWBkXA4g0K8Qn8LJDcDAd3wdY/Ko33wnS - XAEO3ReeLVempqElPbI9A0O0eI/e6Y+HDjTcAXPlrLFDii1iJLa7ojKIvGNE1j0U - LwDtJUrKtXmRQkDqHeFil4yTk1ryVX3kRb1APkG3B/pdz6AFj+ngVZLGbyAG - =Pxkf + hQIMAxK/JaB2/SdtAQ/+MiGsAmy6lyFl5UaE/V1rRmJgUWp2mHw8D4kHzeS1dmv/ + +XBpfy+ya1odDyK+8qBb2yY1ADh9hL0VIP4jV3gbYkVEc5D5W150+8kuewmcBzWV + 5tgo/SM4vKO3crX8ULFQoQvDnD0/egJsHG6rlC9RQGX7DEXFtF3wm/aXx6a3Y9ia + At4N9KpoUINn94cbigPx5yPob/ttGOc+Ap9/OdVWPdiaYwhlGs7Ih6UAF+/H7w5u + htedKVR6EfU29qouePl1oxO1byalzoM6RCTmCDLgptAhU5cNl1VW2MMbVzRiBaL2 + OsaXoRQF66VDK29gEJksghKo4fFP3uwMDlJoLE+dA1F+W4cG9snVJiiHLngux0Gs + HszAWjW4xLC8nzcIdhYvgqI5sR9SDlYp1fZlswZe11jy8AScr4HUL7AWT1xlSwJB + Ze2SAjyOFj6U3YGfeHx42fgxJquJXd5kvWELx27YuPV4ERP2EaTInFk3fcKPgRic + vPn5aGlNlNBBhDJnMfXRGR9fNyz6d/XEk/0bMl9NTd4ZgiarXWrkM+a5uAzoBVm5 + DNAU1ZsxvkkM+szNqTWjoDYHelf/w/1ymoGsdHFvlcVh2FHXKgRikrYgJ6r6Nr7J + bJa/8hMWF/BBv55uvp7CB2zmiWU7radRDti0YFTbkWbUCONsnsDpTcmrwM686WfS + XAGTiZhIprYNGMhJTXyCFRpzw7R38IhdoyzHsJBzpbbVwmgZ+RqR69Bo66xYTI3/ + VsDe8vc8nzYBYtBlh27BigDEZTgWY5hYQjy7+4E2Bpc8CRIbl0EpHKQd38RU + =ensi -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-03-05T19:17:40Z" + - created_at: "2026-03-30T19:01:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf/Y5/uw5e9xnogpsNwhXTnwuEbuhaSKlX2jY66iQnYK006 - 28+bZp2tLRFHvB1V1WQKS9p6pByCELoAEOSt06tPSAq6i/Y1FwGtAGvmb1i3t4w+ - JTG6knQpAICnmJZfTZnDaEaXG1HfUtBJAOBw8cvVWSVbH4DeMVuYFracz3UbKJ0E - GWgWL+EiDcb04ND21dK54uHVgW57w3sILkCFJG85MxUDHFpiSgsaz920Y3aaptQ2 - fv30flnf3CUd9IsVfQ1nfWNXawC/fO/w9QJivyoC9S+Dm8r3eeRZuqcTypR+HbeJ - wx8gj1su5pAGu8ce0fuvK7ANfLiqqVDxG/cj0NafatJcAT+6IRapPAuPf5YGPBHp - UwA7jbxwlGal/2r/KjWAM/K8lfWwk370vFX6SDFH7jX3aLB+XuqWkDHsnHtoWH26 - WqSJsIQWuwUwJqvWDpWo0pSDcKYg7xwNiRPiEbw= - =VJjN + hQEMA1QflAioE8i3AQf/YXG0BO/rZRzrHlhgjgCUsKQmoo0vv+D0Lkpj7Gwc4Y7W + NRTMOBiA9TY2d0kDNskcQphIxyCgJTnTPclxm+smo++7rAQAx38adCS6RWNb0CYK + IOmo9Sg5dYSIlZtdY0AJSTWtgq9YCAd/lip8SCITNgp9r0Iv5lFo+0tKh0gqXcbo + aKWoVxXBVyjIFpIMl1+tNOfBAviXX30IW3KKc9ReUDhmPX9sSqA/RqZgcC6Zzp6R + CNU30JpDB0JJw3YUfPXXBBTxbU3VluypfT161B5JKxeHSE75JTZZn7FwNX6Fok2B + l2k48/tO4TaCQs3dTdV8XWzRe3zrADukpa1ODC8QZtJcAXhfoGQwyTsmM1x1ljxx + YU7rJysas1PS5nIXPlKOg/YhiyOs8nHg4hbQ+PFudVoLmAIiuwd3WrpKLUKMP/HF + gtk0bz48oR4StCaWJnIrijz86rZfvtPIGQBIqGM= + =MP5+ -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-03-05T19:17:40Z" + - created_at: "2026-03-30T19:01:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAApsmk4Mgh8vBxJD4lL2zrGpOCJBCZy55vplxLAj/1HV3i - zX0E8alU/6GwF1g51WLGp9dgYaWriLcK4JnXHaJClWVxHR2bBxA4HEncer+c112q - a7ECI+w+/ff3NBi8h/HKy3xeDWQ20/KxD+n1DCjPZYeYgHLwlcMupZT6vMdEE0My - gg1MMgLe3W/Py5mGbibE+saBqUD6iC8OjErez92g2z7WBZt+FE6s05Vx7euHggJq - tAlbM0IAy1p8j1BH8b4uTl59MQwlejjgIiXw3D6yOegoxRbI3BXx2vm9Bn4H5AES - 5iI9ZpwTqMnAbZayLOjJ/mYA2Q3W9gTcw4qNCXO+tuzLtzI9g+NX+qf/Tw2fn0ws - qVrYJE5iCnLlVC5VG3gJzWl3y8UBg+E636Akv2wlgkOHUF2dYw7q1t09B6KQ8XdA - 9KDrEGMGQ+oMBhQOPBcMkLrQrAefKDLkef7Gm9CpKJKt1ynxwWJwBrk9D+OlXmjU - xNGAhuYTE94UKAs1xqCllGGwpfC8ExukDzR6kYF/b0QzTiX5HreiFBV5JUjZUZem - 1rQz5gDoe7peS3pxQzNQKsnTH2NxpuThx1SieyhDiwrOcnkDxSxnDkh7JM9b48ne - tyx6CkSE0nz+aLLNtmVErQy7a9mT3Ibz/WyM3BZBMsahReNXSy9RPzWzyG+B6F/S - XAGMtreQYxsFP71MgRkblG1Pk/QpZ6fOkyUWo1fT+ikQAkEH07myG2k9pXZzwtFq - HM29IWlr6qVrEtxd4eJp4JkQuyU1Ew1gN0KmnMoMqfPzzZtpVgBGtml2VVpU - =PU7x + hQIMAz5uSgHG2iMJAQ/+LuBmqKge2U3+f+Uri1b4cY6seLX2RqThXDwft8j7LfNb + 918kJ8gdg1adCGy0aDDGWKcZD2Hx8zwgXt07esiNtAihApIABKRvmpxgF/LWIPBJ + XKJzKuI3bqiPfCnIXuVhoUDvJ9yDnMdlJmq62OnhoQm+7Z6Qs0KfzjJwM11/rUHY + Sahxe39v+E7Lge7Eum78T0XRmU7yX8pvoa50vEr9yrhAv1wOGgwierTJInZOO6gj + mQBfatrnvJB7lemjpf9czhgtlRam95Y5CU2XeNoRML/IjEG7E7gvFFDKhGjnBdiC + vUOr78QpyZuuzDBNqC+AuS+3Yk0uF8s8+/bYRRFLfxcdvEDDi18OOtp+9rLNEwMR + V7ezmoMN6ecKF0MVc90dXRMN47Cjh2LkZq0ahgpsxkHv1gQV7uNIgEFbNEKGo5uW + a8RNDcW4+X2/gKo0oh9pu6wudOM8jgeOScRsHBw6nLFpLpuT0yo99z+Y8DZ9J4qt + 1JU8auG4BplODj9gw1S3jAfFycUk3SKk5mPqPch4XPQ5A6ZD+NTUllpIfpeReO1F + qAdXu3DxT+f4AmT9Ln36BUPoNaC+1Z6RWZVN+2nf+RfYQlV0gsHtkh8fzjViWnT7 + QBQT5JACbNps/yN8jtvhTa4k5hcnz7FoROXCucSuGQE7c6cdeEXodS+657veuCPS + XAHqb/76l6KoK4BptOTXg4pQsXSpSWR+ko3Gth3WQ6OHGznmCDqWfmr2bMrWHoev + 65nwRSrdkY8Txrum9A2FDitPTAG2HT4i/vYnJvRT4PVMa2lyJNyBnGnv7mMg + =pU2W -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-03-05T19:17:40Z" + - created_at: "2026-03-30T19:01:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ/+PTuTVW8rSoZJozu7VaGmAMPkziiIPWpKR3pXShqXVNBq - yhEqev/kZifumJdtzRWviA2BBR9PsHCS/k5TJGLd6gqWPwuiQfq/R3kJSboqGtth - 8aLy2jLvBfwuEYvqkA2skoZuXRvcNd9bAZyLjOyK8WZ/vrZQhuoYwTkANZubAB6H - Pjbzd6+cd4PzYhKcyotrplg+E0fVGKSgZfe9e2OpUEIKbPTiGIZRn0RMsfoKtiuv - OcXgLA4SxWmbZg2XgLK9M1+GpAJMDNPdCqmEdjHnwheUZezntXWEBkqJam8WVfxo - V1yPthcj94WxwaLDWX61ibdwD88JaoSP8h8El2Q8ptYhypuOCZm0pqWaf3hp+6pi - 51kbxqg1JIQZFY36p25DCBsoKjHsERHpLUQGfQo6ZepP8YYe2an6LEazIHKphQAl - f9nvTTB6G81Wmy9io96qF/6BJPWGQ4/BhBqrFjnIz9btkwfPjcggis5W24mckWbY - W1pi4LFsf7L5b9rQ8RWRgb+jdPd7Zw6KIcAtTp8+nUPMHIRxstClTqk8BUzsXgyd - Erbpmdgm6M18GFKT05bjh6wEthU5ASJnlJDwVrCHTXj8XhqG+s4FqESfVa+oykT2 - 8jIF0MgfoE5NoFIuUg8+l6qe9dPeALL/Eh1WUILbwXv/q+Y0v0XyG8A/FbeGRybS - XAENpQExYi7IYHhBcvfaHMhkZX/rHsibAQwGmoVElndmtLf06OEoeR+Qq3AVK3fc - 42EH33db3H8H1Z4FYM0/eL5NEpC3a01dq8Rc/h3OigOGMQXa127MUU43lRja - =4IyN + hQIMAw5vwmoEJHQ1AQ//dsGRpvmg+hk6KgGO7KFICi9x6dXlipjIXUBUnq617jcu + Q+/SemIeOIdS8396lRyYhL1D16X4G/INhxlBf6CrBEsBVKBdxzSSqgf2aCn6kVOI + yEiVggnpouuTCnrQ9Gvj1kCgYgp6dtX8pnl820BxfYLtXxPVBx0i/d9qOyjbTUhY + xnOEHpEgwmwNqtb4hI3HObMq1qENMSRUhuQRg3w6UN1mrbGFa8B2xGOOyLMuNV/k + JXjb1UfLQVqP/JV9PI50j7pjkX3wWxl0NIjz4ciQWyZEAW1IAvPlxX00Oroizgi5 + jCdJDUjHipOhgZGwpDJa0HhuI54qhNLbvFoncB0meUCsB0RupwytBiQMQk7Mje1v + 0DHjz8ANotCLXhgO5KeLRXdXSSlP/ipfDTHGe1rZx05sjpnQf5yq4igx4hVhipXB + LO2Q8XrTlYqKpYAg4kYQdwaRHg8n1muR3ZeHtSpHlITGPSlAd9CDNTFt5313ePlD + jR3XWQCyxAHfJu83NeQyPq91GIPPQTDuxSFH2do/4yPla7k86kpUI/dOiHoKWMW3 + lY01vHfDfuVZHLGIQ1Bob0gRz4D0lNuuYUppfXZuuyj2IfrpRVEKNi/mXZQLVNaQ + 8RXA5nNq3xaxcEQjTq0ll+fe1u4jO/cZGVpMQruvgwvYIyQGqFf3AYY0b5FY9OfS + XAHQPvNxFMySYy83lYbOXPNBodQVYaqoDKyR1zs8/I+O9s7dFrh+HxAk7V6kwnO/ + FKheNmeMEO15UIK22SkTk+ZlxHgezDDiyMIv8qwJPRkMjCrxDC8nlXLKWa7G + =W79N -----END PGP MESSAGE----- fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-03-05T19:17:40Z" + - created_at: "2026-03-30T19:01:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdADc0D86pvsxMWDNwsfy409to+GMhAiaIwaxkoZ8erAU8w - vcuBIg/KkoP7A1zPP2t0vR4CEsuH1soGbe4sbYq/y16WaIzY+pM7V839ATVAgaeg - 0lwBS+qD7Wx0FHcmEPm2W6E5RclGbBvTVbnk7M1hWpV7ibovyP6R2UthMvrbLOkT - 7ZovNeDCXmtALJzMJQrPPjc7dBfVzJro4ksW/Ayrhymh7bsFJ+MolDWBO+R+Mg== - =iWQK + hF4DerEtaFuTeewSAQdAtl7BhjnIALRrm9rGoywHpxCWFnU+6pkAV4xj3gwotFAw + gq9z9iLRNif9U3WrIhehuu3ajaWmvGnF21MipviEqhWUfEsyLSHF46IzAkGdKjDF + 0lwBTGxvf5wdOHjtXJsoZ+XJ/Goek/iw+BFngrlrby3J4gKlHJw52N8tQU3RjKIP + G9K5dPz/BU/OKevHYoeDTMa/U4gkHomL3AHmiDdMGyQsvGzS5FQ7TfcHaRJkRg== + =7U5V -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-03-05T19:17:40Z" + - created_at: "2026-03-30T19:01:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fARAAoUOp+YsKylWifkJkAp92gHrB7PQFHxwK0LD9oyInbPeD - ZFaIikW2qhBUrKQ18dot9RGZdII3lBXhbjHMrGrj0FuglK1fbgdLrlVoxtTOexiE - hMlBDDETMBkxhx71dh0i2Gh7nWCoAAJMNPdXqz9Vgpcjv3yOgo4EqVMsVpQOqmFy - BRAkhKr3EZSgZ9NLGplBsTuKvSBIzWAdEZ5FUDDx9uMMDoJniOi7ReUcLQfq0eBj - mC2JrUNfbgiQCqz0zz3y05vE9rQjH8STXplMv1UQPIA5sFwRXm17g0DGVJWDLS0k - iesssdn959M2j0iMszUHDafnSGy2DrYrk1/cUevUNdfQ67Y6bUmFGpzI3xgKag+n - 209qwqKGpXUCzOsOx8kxN5cNctNOI/5X0WEZZn4/wucssUiAmrZektjlO8Gjh0MN - BiCufaOjjdIlTonDrdVP1Mskrhbqf83bV4tlyOuCIh5wU+ABElQ12welUsfbMF+c - 5EJXKjJCMr6jEf7UtWDP7oEkopNkCWTrdiUTSjSuWKZGlDKl9UYh2gnv5fT7uTbB - HFg7JgNvLG34JylR6diZ9ZlDZSg60nYu1OFre+UG+veTu+OGAsGoficdqLp4LGbX - NedMxD7VEO6GG5G5Ris7XWW7mOzbLmijrAuTJU0RS0iyqsVpsWUnTNIrk5ByBufS - XAGnZg0HNNf8gFN0xG/CkIV4XM/vRKJF974i4ANeWb1KRsHzIAEjN36HoPQfRUQZ - C1kzOek65ktqK+bWGVV/UlMQZibL1m+z33szEZTfcdvyPYO9+RZZt1L4PwN8 - =X6zd + hQIMAxjNhCKPP69fARAAn+8Ix4fWu2VmoAEN+f8uXBNlsWnJEky9dTTS81Hc/8RH + G2PSbzZtT2W9qsv6SJn8XAOqwDkv5aqgP3fPL1Yz9oeaEBeDtA6MzUS97K1t4/9Q + yOGrleTbpnLuE2vaG8MV0FlbThwSJw5BnXcR9NTdglqpeKoaeYVAr9MTerhyLJ4x + ZrZT6LVPNW8h/9ZdDGJu7Z9wJR5G0DFquXiDzLqJHUOiO+x2vN8OR5KPhI0/vGWP + iUwqc6FQMDKCgHZN83pUamvx9Gn1K1VtfXSJkMbEN3+VIRIYAbKKgigp3642Hb6w + iAfIG0Ig0wCxo7Rlh0J4Fe0ha9rbggD8synPpoP9ai1KZ9prJXN+3My0ThNc7dYr + /mjLi4hanVRs5JvPGXS7onJtQ/bQRysZ2wKBPb1dKQWiSeF+xjMpCF0a97u+1RvK + 64OMD/0wdbEUQ2iyNrLJsOKQ8VwZZG3uuqO3HNSdXXFMB7t39/u5aB2a/IhlwT/U + 456eyGSfuSN0my820PdbvGMF+g3P89pcjkrwEMTnuenz+9rLvuCPTxf3WFJPbnNJ + zsMb4+TGa1M7NVnqNCU08mUcHrfknK2IyiI3cx2jKH5iw+M8mZ8YolX2NaxwQax/ + /TtZcvdxJ9PuYIlpdFINk3vjnvhePoSjgFHYxmzQCl9Mkqd4+g0ER9370tO4sWbS + XAEjBphMcKguV29avossfTKw2hMGOeAReRWEcjsSqzqgtb0BFJ2S65ddjA8J8upZ + v8Gs3chNGaG6w8AxKO2l0fZFUg+V3Ut0cIk4RADtqzXHxiiaXXJAb4AQ1c11 + =mmu6 -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-03-05T19:17:40Z" + - created_at: "2026-03-30T19:01:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ/7BgHs/UPUZUW2aj7dVAwk0jnmzYKA89IfHGa6ZOkv+6zi - p7maUaVSue8ST7JI5W2lPuTa4+vngXuTGdmp2OlitJhpGvUvM2dlkZ60L/FGisgu - KJajfO90ULGZsnE7KmsrTdymiZ8MevErGIDLqbxcQB+YvaNDtLVW4RwdbLMnJtaV - ZudXE+uTSl7QD6KPC+YDflI0iV45sTLpCqO6GUR03ng4H2wdfjveCOJg4sqNovgd - vkbJ0cdrlP2OcqzOfR9c+brLNpBwTbazQt/af+pZtMuTGWlJ81Y56brqK7lyzLaO - jIWn0KCY5B4KrjD1nXcrDl+gZmrFVkgTvh26zJMGJd8rTiTfYdiYtLD2VMnMs2lW - 04LeDj1VplNqy6vxbYnHE5qnS76KTzoW84KpgH/1q1D8lP3HWwTeHASMx2fqppQN - gZFzZNCNbZszYJ/no390Py+xCNBDgi/nOQdstJSrfYw2MdGk7QTKVkhrBFOf2QvC - kFaWZRnE/cZVWa5EKs2VO7ffsYT1ZrKuBdBPB3SU/pPevwii04yoZac0Cu2rFWbY - 2B2whVKh8x8qkStwafaKIn5SS+Ej9wR4/r6j7t2bg9wis6sp3eIgNSMT3z6kIk9P - opEtsTIyDadjEzQSPZs8qbTr8Rii9pAhEXAEzI7/Ki47DnDfrjtugKrmWL4coJ/S - XAE7zxuQ4uhFAwSWivT1OTpfGFz3glboTacb4Ma2MzAEM/zaAg4nOUn1OHFzNjb9 - 1GyfurhPhBTCaPZcmdGKE53KgOJLI1qxxr9KZQWz/g0R8yUU+cpmlgmx2Mj7 - =doa3 + hQIMA1Hthzn+T1OoAQ//Z0WkLFi0Qgc2rKCD8VBaeWrlue1U58wrgkst9VfzSIbD + Wc+H6qSe+lxm+SMW7pDKTFPR83I94eL9oasCh1MlcqHy8oUNkTgoAa8jS5s2K0Xs + 1rjESARv/S0HgKXIW/jDltxXdjHtjqpw9wIbgsRxsbs4iOyl3skP9sFJLhVLKnQe + syN3+TTUc6h3PgT/o6j34H32RGPVYq7S4hQ+N/cRkp7HVRhlt1yN7Gkpup0UQKV6 + HLmLfyAk8PSlTGwtZrvW7wLfzJ/RTB+f0R++Z4Y7HFIb3A/ik74waJRkKW+QZuJO + CoWMByH1PC8WvrsF3iikcJe7CY7CRTnaxTwDtejLIGHu/EavvruVA91SeJEXh0Io + fJ6ciJaiuNPnEmVkwBraX06ZO2B1lvK0nc1tovku9psm2/7zAr2Mp1H18wReBwi9 + 4WaF3Vn23N+GLBFVerBp8bcAfyIbaG33dkOXHUoU/YNZi1KOSautdQLdBBGYh/2B + upRL7Ct8SPBIRPcl82uoam2RIupvXEkUzoLNsiIjw+S5tjsRGKHfumcz+SKudT8T + X0ay15Eta6ZpczalhMWfuEOygG8ChvtyCpVamwv2JEkAc5jpfU6gcCrrNH4aQskt + XBGdPdcXt7KCHHgEzMQ5Rge8vQC647/km2GrYjnB05dYa0hwSoA3GU1r9SWO8A3S + XAE4VRrXp5ZZq7ZWKBLe/CpqQN62HWaqeLCKHW8foSrXnejsA7V9vpwgS9wvaaop + X/G7vLijdbDc+zqx3vAeGakdRkeWT+3rlqW9L/TI96R/ctFB2rPGnepG8iAg + =25GD -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-03-05T19:17:40Z" + - created_at: "2026-03-30T19:01:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ/6Ag8Pq5PHZPcg+FSS/YI9l1HOdAHSoQPo9RKD3QHDBHOR - wPrrnFv0SOTaPbx/R+8akAjsGdknetq8RsbGmMJ6vBA4EeixaFOMG53b4mDhCCrr - 2BmUJ1dHTS5lqMer1jZgcmGuneGOKrtsgt9WVULgIPzAAJsoqYnB3Nwb3yxlCUsK - DUyE1mHyujMZi0mo/ZaI3K4bKqwRGgPyMIjomYWFZDjei3J5jSmQqUqVcoLU5z5d - sf4Lnt66F5RmGW3uoGX1mNaFBtw4xjHZt5AA6ao3ZHBHCSEbAnDA1YXGU75yrqXb - WG5MYnRTLbn3DVFIrtTrFmDG47vJpdOcv8wIGWoKi6Hxphzf+c9F5fBq3RmLhEF7 - ckz/yGJ10eTtanh8puVhTPOGeiYrzhPXpvo3dFZND4sTg+SDJ4rwyiFviM3DIUPQ - vfY8A876U3f7pM9hkZEfSbwcDcYfb1jxTLPRjquk1ujoe7NSX673G10x52AoTFKC - uKaO+G6Tv901PwgYrH3gzGfRg+89HRa33U+DQhCbdAS4oAYlkOI7II3DMlJHCaf/ - 2/v4OHjcqjQxzbgZUJOoT91htepi+f8+bqdjUKQLB6YF9U0wkI0x8N11xj4+rYPV - HVq65iwhizPG9dFOV99Xb1Z1xO9fzNcXiRR/YhtqzY5jEO4UFRvurg9e3I/XronS - XAFclhloL+Jd9N90yKXDN1GxJtAva2xd7CzWNmuoZvV8Eb1mL0vTHsH6AfbApghr - Gec5yLUMOlpWnRGuOBhBkH6VPtsEvvyHGAI3pfAoGQLKN9JVxk9YFGSeadnO - =1xbh + hQIMA46L6MuPqfJqARAAr1nctTKLYBzstyFZD+Ytlsk0z1Pyhocvk8US02RKgNaz + zriNMH6iZ1f/Qbhnsj2tdVdt9It+uVivsj5uVUpRRLCUPaBRkIKQLOda5S1ghdoa + PHPpmHAGCP37BvHtiAVjXAaJCOvr3C3axwWyvBHzuwCpLyMs7EAg1HM+66LrV6iv + erGEoTtjQVqQ/aB3fik4XGxBrmejpS/vMIV2kKXFmPP+cDo9f+iBMWjMbALXbpkX + XcgQJlXdy9jqy+geeTbUReRENKHQsnF4+vw+B9IvapJfrvL3FHWeJbkPlxLWbf0e + Hv5orbqpNn1PkHHbaS49w8D/PpxCRVMFUrWUZwRBhOeVajvz3S3Geko2A+ryZNwH + LN1D9puH56gyqKOmt0DoMX+RDT2mFHpx+pJGRSqz6MVGcKbnvYh0STPbQcDAAPuv + irJ3Pw7k6z/CHn9BWz9dEDJCb84PBii5YY3XHAdLhXXeR8yq3ArScFNS2pfZEFA5 + d8IKD+MR1mQZLtPVe+DY4rbnbOyM6BrqZyIe1Me3z7G3LJ5oMJNTJ6sKXsKT7fCt + WWPXAbvFjdbpp3x54CBy7Ka56whD4yzoGGICBX0rh//ufA7lFw1gg6TkzjUJ+neY + bjMSNxtaaGTZNweUUUSLiAalQ8ep3gEcgjvg8XiSvAcDd0+HSlfBhqdKQz+hbInS + XAEu5bW2GE3+oHiPmZV2A1rFhzZvdiU2kVamUI4OBh+Hqos4GdP8EUmE0GdoKLMj + htCwBGExQH6eCU4g9xcJ1E6MtTMse5uGKYtGStrgd3WutxstBv/Ruy9jru1v + =qvDj -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-03-05T19:17:40Z" + - created_at: "2026-03-30T19:01:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAn+Dcq0/Y6D1Id3qqLu1QF1r7c+CC+ld5ZUU9AV0loAIw - ZzIjW7Z7xTFRL5MXMTNVV360L+S9f5qR/qkJx4H6ew4iSY+NBPxoKrFBxujfYWG8 - 0lwBDVVtJNP+pu9IX3FCv18wKISjCW++wetYpB3GWlkq6gVfPV/oIm4UjLNnDPCE - xpqf3ZBAn347DLRsbe4+/mckkkK930AFiLYfrKGDI82kZX/tYEiNUEAMiZCzJw== - =x0cl + hF4DQrf1tCqiJxoSAQdAs2VjRKUG8GHoSA9tW09IKvQ+4p8bjEy4HyOoOjHgqlEw + 02ND9w3JouwjMR4tM35sBf3GYAmASs4iVi1l0TXF42GioXVy4Yj+KNZFYkrSWHnj + 0lwBwPH3q0zJjJmRGsyiSdEvk8TXTSoAzbFz9KfP+6EK4e45m4mNxHMhZinX025+ + uGI+sDxUk6aN2ZylK4u7z/e71stYQoqA9c4vaPo9PwR9ME1dGOVakcFVNK6fKw== + =Fr++ -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-03-05T19:17:40Z" + - created_at: "2026-03-30T19:01:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAIndREUDCYyeDAAwlIDomsWZEViMexZmysQuyoSQAhAow - wxZHNCV0dJeRQ7b1jeIY3dFT7zMozXtUopVIgG3x4IEyIcnez77V+oyPrWVa3AOE - 0lYBfLhq+zcnJUGQblBiEZH/qVzRECsSyn3fCEg8JpqwyDmLaQDqAwScM1Rr2Sof - friMPCncwlahTLkxyxoFy8mwZ03p2JUMyNUBtLvsT2kby7fJO+hgCA== - =p10m + hF4DzAGzViGx4qcSAQdAUC1L6XXtOLL72BU/WEkRvFi3iQxpI77BZFyN51pEkQww + EdxpjdWO1mvpJMU+0l2HCOmyiny7hT3Zc5CSA7kXjH9FvYqahQkxagoEESTQi8X1 + 0lYBGybpF98NEavrtJBrXl8bdHsc2aOvgLthm54fIpw+GYxLYD1uwkHIFIHa4CuW + tL/nzzj5P7DV/x6GgoHOxwqMzYpD4MIqpDu2+26I/s0Q37V5ZrXlRA== + =kEto -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-03-05T19:17:40Z" + - created_at: "2026-03-30T19:01:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//a3rqUTuoGPrTA8JcRNG5ll/X4H/mK1gnfDImzuf0uUPf - CSqg8jsHJaIn77LACAZiLJGjpO8N76/Y7h9M0zG8A3kBmNtknmjDKzVHnUKH6agz - A/DPE/aApZE1TytkqWK26NWgaiOGQO5v5bFa9iqp+1nU75HQ6l7TeXmdIcyvoS0J - sUs9Bf9Mke5omL+XjGMFQ2BklUiiySeNGwWhKn2ZD3bGTS1Kp6FAG4K/gjKMmRlv - Wtx0WTYU9I41xOy06gFHB6V358eylWsEu9URrH2je6Dj/4JMpPORcekidDm7c7KY - MeY9vpEB0a55HK7d2atGawyD9eEOwLglftjW4VgD3I9uY1RH9lJnyVJtdRncAx1N - uz3E3FM8yHGTybWaOnDMBMuwplIO2kq6R1MN9G766NsizeCeceB4d8nI5+T4AzJL - 7dwA9eceqUBxP16gPy+nFP3ezo6Fjcd/FnUn7FfFb6AixKVjFONrixMJ801BzW6c - MR7cAfkbHKRyLy7+mm/aVQ3YRIG9XnlnlLwbM6ZuFKDsZl/jUSCKYeTxY68j9hmo - ye/AXhQIZFH2U+FKGcZ3ZGH8MPCsYHyT+ZgWzYvKDboJmZcEIzJRg8vVhR1YY60S - Xd00tEhDAutnZHZ+dtBwOVPo9KTLa59XU3hIyKJ8/Gw2fRKv3rTVAQbUMmVEYEvS - XAER4yw9Kt0EVcJSWtMvIsaAcHW535NS2MG7h7XwLmGwr5fTB41jFOC8xU1qwTb6 - Mx8ZSUmxrqwMVHuSzrTb8K/W9uSiFOBLhJkbx1YMIqI7kz518fzjD2PAKYnG - =sJIx + hQIMA2pVdGTIrZI+AQ//YaVBibr6pgpgwh8lZEaelHGOa/213CBymhtBVi+s1iPw + jWbMQUaHNQH7B+2an/vLU9Y+I3I8A146S5OD5XML+FeK4YFdjpLu+7vuSd2AyiwA + emM02zB7DwycXFP+oRKA81y2CAYjR3yiTv9U5hn98dxFINoopdqziz3CAdq4Gka+ + tL0O+iXyVhCJ8eiBRxVOwnbI752UDG0g8MBBKUW3V/38az2tn0WOqTMhwB1tW3ZI + ar7mfCgcaXI9KBkwAk4uB4IM3NQboNYZ5hNjI/4TYJi8m9DdR4Fxc+kW/OA1NVbt + xQ/Cx5gf22WV1LDny/89+KQihmhQn+DA1ERUjE2s/CEwbd/67YZ0KEEgazloWXMq + PtwQxr2OPu26Fz6izloHVMSAF+opc8IBBlTCKck2UfubdSa0cyLrh3+TnQGXCC/A + psQJ5+P+rjMNVfyr13/0lVZUx/aD4x4sr0/AiODBF87LWuoA6D/WRUef6B9PGMFp + 0IVxqjeRTLjCxZFrPyRVakJpQqZZp/odHr8WKRrKUY32YHBu3p01zlJaqaHkoW9d + AcP3PhgSvm5WjM3btJQ57tH5afB+U3n0V3g6TvRVCu9S6ylpNz5YlPTZ0uuO1WS6 + uS6d/r38ZayA2NdBn9BG5LK+2NBiTgXVJfqLKq0e1A8Mxm4+OSeW3n7RsG0R/o/S + XAHdqDbRifdWEjvnsFmVRqN87RnIpOVOGsM163anyKmonF0FJyXkqv2wYwl3Pyy4 + hqH8lY6vfV7nZSEsf0wGoIJhiHeW7odWyUfRkwSn6noRzSQts1JY+HsShBJV + =J8M1 -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-03-05T19:17:40Z" + - created_at: "2026-03-30T19:01:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAcm73t6mZQ6i2rmLwZJnRzK2rdBcRDBDrlyOU1oGSsHYw - m79vYbO0nFX4yF8gr7wbPfWeGMl5mNMdEjECbt8lEM/XbfJUt95TCXSQ+Tl2T6yt - 0lwBEK/RJhGYQy+acSQQhnVz3pQQJ5bzwAXMoaAOKO7bhvUnDm/XAZpK+LJvQOvd - x2bd6CfNLY9wRJoqohCuGxPsM/8XhspOgYEwhnuItOs203kAQA+beIwl6TciEA== - =qjkS + hF4DKKbvh61jX5USAQdAuNayRxSb7cCTSwEoh9Q7cfQEMoGx83HOevMyg2UQ7zow + 2Uli6NswbXkKnck5Daf8IKsM3yQMk0eH9XXTIyJIJJDVOwRu/sYPmQC6u/XJS0eg + 0lwBxxzFpj7tEdFAsaMMVrCUGyUbL3tsXj510bBztW2B+34eo+RFQBIUKNEklZls + 4SZm7G4iqI8WxOBjB8bfjlnSLDD4pZZuqK7hbTI+Z6IZqUDx1PG4NQFl3AqJ0Q== + =AAT8 -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted - version: 3.10.2 + version: 3.12.1 diff --git a/inventories/z9/hosts.yaml b/inventories/z9/hosts.yaml index a8c26216c1..1b37c59bd4 100644 --- a/inventories/z9/hosts.yaml +++ b/inventories/z9/hosts.yaml @@ -53,3 +53,7 @@ alloy_hosts: dooris: ansible_pull_hosts: hosts: + dooris: + light: + waybackproxy: + yate: From 8bf6dfbefb9f88a89f18a48608921e576b9dabf3 Mon Sep 17 00:00:00 2001 From: June Date: Tue, 31 Mar 2026 16:48:00 +0200 Subject: [PATCH 205/417] certbot(role): support DNS-01 certs using acme-dns Introduce new configuration structure called certbot__certs, which allows for different challenge types per cert with the first challenge type supported being dns-01-acme-dns. --- roles/certbot/README.md | 30 +++++++++++++ roles/certbot/defaults/main.yaml | 1 + .../manual_auth_scripts/dns-01-acme-dns.sh | 14 +++++++ roles/certbot/meta/argument_specs.yaml | 19 +++++++++ roles/certbot/tasks/main/cert.yaml | 42 ++++++++++++++----- roles/certbot/tasks/main/certs.yaml | 12 +++++- roles/certbot/tasks/main/http_01_cert.yaml | 24 +++++++++++ roles/certbot/tasks/main/install.yaml | 33 +++++++++++---- roles/certbot/tasks/main/validate_cert.yaml | 31 ++++++++++++++ 9 files changed, 188 insertions(+), 18 deletions(-) create mode 100644 roles/certbot/files/manual_auth_scripts/dns-01-acme-dns.sh create mode 100644 roles/certbot/tasks/main/http_01_cert.yaml create mode 100644 roles/certbot/tasks/main/validate_cert.yaml diff --git a/roles/certbot/README.md b/roles/certbot/README.md index 3ad35bf683..d9b7e73f33 100644 --- a/roles/certbot/README.md +++ b/roles/certbot/README.md @@ -6,6 +6,24 @@ Note: This role doesn't take care of deleting certificates. Also see the following documentation for a full How-to on how to get certificates using this role in the context of our infra: . +## Challenge Types + +For the `certbot__certs` configuration, depending on the challenge type, different preparation needs to be done. + +### `dns-01-acme-dns` + +For the `dns-01-acme-dns` challenge type, ensure that: + +1. An acme-dns entry got registered, so you have access to the `subdomain`, `apiUser` and `apiKey` for the configuration. The `apiKey` should be stored in some kind of secret, which then gets referenced in the relevant `certbot__certs` configuration. + For our acme-dns instance, go to , sign-in and register a new entry. +2. CNAME the `_acme-challenge` domain of the domain you want to obtain a certificate for (`certbot__certs.*.commonName`) to the full domain from the registration. + It should look something like this: `_acme-challenge.domainiwantcertfor.tld. CNAME 3ed25037-79f1-4a89-8934-db3e162fe2bc.auth.acmedns.hamburg.ccc.de.` + +For more info see: + +- [The ACME DNS hamburg.ccc.de Wiki page](https://wiki.hamburg.ccc.de/infrastructure:services:acme_dns) +- [The acme-dns GitHub](https://github.com/acme-dns/acme-dns) + ## Required Arguments - `certbot__acme_account_email_address`: The E-Mail address to use for the ACME account. @@ -15,6 +33,18 @@ Also see the following documentation for a full How-to on how to get certificate - `certbot__certificate_domains`: The domains for which to obtain a certificate using the HTTP-01 challenge. - `certbot__http_01_port`: The port number the bot listens on. Should be `80` if directly exposed to the internet. Defaults to `31820` (for the public-reverse-proxy setup). +- `certbot__certs`: Certificates to create. + Defaults to the empty list (`[ ]`). +- `certbot__certs.*.commonName`: The common name to issue the certificate for. +- `certbot__certs.*.challengeType`: The challenge type to use for getting the certificate. Challenge type-specific configuration must be provided as well. + Should be one of: + - `dns-01-acme-dns` +- `certbot__certs.*.dns_01_acme_dns`: Configuration for the `dns-01-acme-dns` challenge type. +- `certbot__certs.*.dns_01_acme_dns.serverUrl`: The acme-dns server API URL. + Defaults to `https://acmedns.hamburg.ccc.de`. +- `certbot__certs.*.dns_01_acme_dns.subdomain`: The acme-dns subdomain to use. +- `certbot__certs.*.dns_01_acme_dns.apiUser`: The acme-dns API user to use. +- `certbot__certs.*.dns_01_acme_dns.apiKey`: The acme-dns API key to use. - `certbot__new_cert_commands`: A list of commands to execute after getting a new certificate. Will be added into a bash script. Defaults to the empty list (`[ ]`). diff --git a/roles/certbot/defaults/main.yaml b/roles/certbot/defaults/main.yaml index 9e6551e564..ab48293029 100644 --- a/roles/certbot/defaults/main.yaml +++ b/roles/certbot/defaults/main.yaml @@ -1,3 +1,4 @@ certbot__certificate_domains: [ ] certbot__http_01_port: 31820 +certbot__certs: [ ] certbot__new_cert_commands: [ ] diff --git a/roles/certbot/files/manual_auth_scripts/dns-01-acme-dns.sh b/roles/certbot/files/manual_auth_scripts/dns-01-acme-dns.sh new file mode 100644 index 0000000000..1b39bd6c69 --- /dev/null +++ b/roles/certbot/files/manual_auth_scripts/dns-01-acme-dns.sh @@ -0,0 +1,14 @@ +# #!/usr/bin/env bash + +CERT_CONFIG_FILE="/etc/ansible_certbot/cert_configs/$CERTBOT_DOMAIN.json" +ACME_DNS_SERVER_URL=$( jq -er '.dns_01_acme_dns.serverUrl' "$CERT_CONFIG_FILE" ) +export ACME_DNS_SUBDOMAIN=$( jq -er '.dns_01_acme_dns.subdomain' "$CERT_CONFIG_FILE" ) +ACME_DNS_API_USER=$( jq -er '.dns_01_acme_dns.apiUser' "$CERT_CONFIG_FILE" ) +ACME_DNS_API_KEY=$( jq -er '.dns_01_acme_dns.apiKey' "$CERT_CONFIG_FILE" ) + +jq -nec '{ "subdomain": env.ACME_DNS_SUBDOMAIN, "txt": env.CERTBOT_VALIDATION }' | curl "$ACME_DNS_SERVER_URL/update" \ + --request POST \ + --fail-with-body \ + --header "X-Api-User: $ACME_DNS_API_USER" \ + --header "X-Api-Key: $ACME_DNS_API_KEY" \ + --json @- diff --git a/roles/certbot/meta/argument_specs.yaml b/roles/certbot/meta/argument_specs.yaml index b895b5fd89..4899ea8139 100644 --- a/roles/certbot/meta/argument_specs.yaml +++ b/roles/certbot/meta/argument_specs.yaml @@ -13,6 +13,25 @@ argument_specs: type: str required: false default: 31820 + certbot__certs: + type: list + elements: dict + required: false + default: [ ] + options: + commonName: + type: str + required: true + # ToDo: subjectAlternativeNames: + challengeType: + type: str + required: true + choices: + - dns-01-acme-dns + dns_01_acme_dns: + type: dict + required: false + # Further checking done in tasks/validate_cert.yaml certbot__new_cert_commands: type: list elements: str diff --git a/roles/certbot/tasks/main/cert.yaml b/roles/certbot/tasks/main/cert.yaml index d829fb135b..61f6d4580b 100644 --- a/roles/certbot/tasks/main/cert.yaml +++ b/roles/certbot/tasks/main/cert.yaml @@ -1,24 +1,46 @@ - name: get expiry date before - ansible.builtin.command: /usr/bin/openssl x509 -enddate -noout -in /etc/letsencrypt/live/{{ item }}/fullchain.pem + ansible.builtin.command: /usr/bin/openssl x509 -enddate -noout -in /etc/letsencrypt/live/{{ item.commonName }}/fullchain.pem ignore_errors: true become: true changed_when: false register: certbot__cert_expiry_before -- name: obtain the certificate using certbot - ansible.builtin.command: /usr/bin/certbot certonly --keep-until-expiring --agree-tos --non-interactive --email "{{ certbot__acme_account_email_address }}" --no-eff-email --standalone --http-01-port "{{ certbot__http_01_port }}" -d "{{ item }}" +- name: ensure directory for cert configs exists + ansible.builtin.file: + path: "/etc/ansible_certbot/cert_configs/" + state: directory + owner: root + group: root + mode: "0750" + become: true + +- name: ensure cert config is stored + ansible.builtin.copy: + content: "{{ cert_config_defaults[item.challengeType] | combine(item, recursive=True) | ansible.builtin.to_nice_json }}" + dest: "/etc/ansible_certbot/cert_configs/{{ item.commonName }}.json" + owner: root + group: root + mode: "0640" + become: true + vars: + cert_config_defaults: + dns-01-acme-dns: + dns_01_acme_dns: + serverUrl: "https://acmedns.hamburg.ccc.de" + +# # https://eff-certbot.readthedocs.io/en/stable/using.html#manual +- name: obtain the certificate using certbot and the manual auth hook + ansible.builtin.command: /usr/bin/certbot certonly --keep-until-expiring --agree-tos --non-interactive --email "{{ certbot__acme_account_email_address }}" --no-eff-email --manual --preferred-challenge dns --manual-auth-hook "/usr/local/lib/ansible_certbot/manual_auth_scripts/{{ item.challengeType }}.sh" -d "{{ item.commonName }}" become: true changed_when: false - name: get expiry date after - ansible.builtin.command: /usr/bin/openssl x509 -enddate -noout -in /etc/letsencrypt/live/{{ item }}/fullchain.pem + ansible.builtin.command: /usr/bin/openssl x509 -enddate -noout -in /etc/letsencrypt/live/{{ item.commonName }}/fullchain.pem become: true changed_when: false register: certbot__cert_expiry_after -# Doesn't work anymore. Dunno why. -# TODO: Fix -# - name: potentially report changed -# ansible.builtin.debug: -# msg: "If this reports changed, then the certificate expiry date and therefore the certificate changed." -# changed_when: certbot__cert_expiry_before.stdout != certbot__cert_expiry_after.stdout +- name: potentially report changed + ansible.builtin.debug: + msg: "If this reports changed, then the certificate expiry date and therefore the certificate changed." + changed_when: certbot__cert_expiry_before.stdout != certbot__cert_expiry_after.stdout diff --git a/roles/certbot/tasks/main/certs.yaml b/roles/certbot/tasks/main/certs.yaml index 2b911840af..16271b7e1b 100644 --- a/roles/certbot/tasks/main/certs.yaml +++ b/roles/certbot/tasks/main/certs.yaml @@ -1,4 +1,14 @@ -- name: obtain certificates +- name: obtain http-01 challenge certificates loop: "{{ certbot__certificate_domains }}" + ansible.builtin.include_tasks: + file: main/http_01_cert.yaml + +- name: validate certs config + loop: "{{ certbot__certs }}" + ansible.builtin.include_tasks: + file: main/validate_cert.yaml + +- name: obtain certs + loop: "{{ certbot__certs }}" ansible.builtin.include_tasks: file: main/cert.yaml diff --git a/roles/certbot/tasks/main/http_01_cert.yaml b/roles/certbot/tasks/main/http_01_cert.yaml new file mode 100644 index 0000000000..d829fb135b --- /dev/null +++ b/roles/certbot/tasks/main/http_01_cert.yaml @@ -0,0 +1,24 @@ +- name: get expiry date before + ansible.builtin.command: /usr/bin/openssl x509 -enddate -noout -in /etc/letsencrypt/live/{{ item }}/fullchain.pem + ignore_errors: true + become: true + changed_when: false + register: certbot__cert_expiry_before + +- name: obtain the certificate using certbot + ansible.builtin.command: /usr/bin/certbot certonly --keep-until-expiring --agree-tos --non-interactive --email "{{ certbot__acme_account_email_address }}" --no-eff-email --standalone --http-01-port "{{ certbot__http_01_port }}" -d "{{ item }}" + become: true + changed_when: false + +- name: get expiry date after + ansible.builtin.command: /usr/bin/openssl x509 -enddate -noout -in /etc/letsencrypt/live/{{ item }}/fullchain.pem + become: true + changed_when: false + register: certbot__cert_expiry_after + +# Doesn't work anymore. Dunno why. +# TODO: Fix +# - name: potentially report changed +# ansible.builtin.debug: +# msg: "If this reports changed, then the certificate expiry date and therefore the certificate changed." +# changed_when: certbot__cert_expiry_before.stdout != certbot__cert_expiry_after.stdout diff --git a/roles/certbot/tasks/main/install.yaml b/roles/certbot/tasks/main/install.yaml index 40ccf751ea..d0fa58d393 100644 --- a/roles/certbot/tasks/main/install.yaml +++ b/roles/certbot/tasks/main/install.yaml @@ -1,11 +1,30 @@ -- name: make sure the `openssl` package is installed +- name: ensure relevant packages are installed ansible.builtin.apt: - name: openssl + name: + - openssl + - certbot + - jq state: present become: true -- name: make sure the `certbot` package is installed - ansible.builtin.apt: - name: certbot - state: present - become: true +- name: ensure manual auth scripts are deployed + block: + - name: ensure manual auth scripts directory exists + ansible.builtin.file: + path: "/usr/local/lib/ansible_certbot/manual_auth_scripts" + state: directory + owner: root + group: root + mode: "0755" + become: true + + - name: ensure manual auth scripts are deployed + ansible.builtin.copy: + src: "manual_auth_scripts/{{ item }}.sh" + dest: "/usr/local/lib/ansible_certbot/manual_auth_scripts/{{ item }}.sh" + owner: root + group: root + mode: "0754" + become: true + loop: + - "dns-01-acme-dns" diff --git a/roles/certbot/tasks/main/validate_cert.yaml b/roles/certbot/tasks/main/validate_cert.yaml new file mode 100644 index 0000000000..a13b3b9693 --- /dev/null +++ b/roles/certbot/tasks/main/validate_cert.yaml @@ -0,0 +1,31 @@ +- name: validate dns-01-acme-dns challenge type config + when: item.challengeType == "dns-01-acme-dns" + block: + - name: assert dns_01_acme_dns config exists + ansible.builtin.assert: + that: item.dns_01_acme_dns is defined + + - name: assert dns_01_acme_dns config is valid + ansible.builtin.validate_argument_spec: + argument_spec: "{{ required_data }}" + provided_arguments: + dns_01_acme_dns: "{{ item.dns_01_acme_dns }}" + vars: + required_data: + dns_01_acme_dns: + type: dict + required: true + options: + serverUrl: + type: str + required: false + default: https://acmedns.hamburg.ccc.de + subdomain: + type: str + required: true + apiUser: + type: str + required: true + apiKey: + type: str + required: true From 73ed238a281d3be12fc4b18dbc1b9e7260710db1 Mon Sep 17 00:00:00 2001 From: June Date: Tue, 31 Mar 2026 16:59:02 +0200 Subject: [PATCH 206/417] sunders(host): move to dns-01-acme-dns --- inventories/chaosknoten/host_vars/sunders.sops.yaml | 7 ++++--- inventories/chaosknoten/host_vars/sunders.yaml | 9 +++++++-- .../public-reverse-proxy/nginx/acme_challenge.conf | 1 - 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/inventories/chaosknoten/host_vars/sunders.sops.yaml b/inventories/chaosknoten/host_vars/sunders.sops.yaml index 904a8fb472..75b2d10a2a 100644 --- a/inventories/chaosknoten/host_vars/sunders.sops.yaml +++ b/inventories/chaosknoten/host_vars/sunders.sops.yaml @@ -2,6 +2,7 @@ ansible_pull__age_private_key: ENC[AES256_GCM,data:tP84jDYh2zeWjf7wqDoefm9zaeg/Q 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] +secret__acme_dns_api_key_sunders_hamburg_ccc_de: ENC[AES256_GCM,data:OXGasHc1qf4r8wj0N2qqjZzWO3zg5L5ZGRjAwmlEXi9/gaTpUWT1xw==,iv:pKaNajQ9JxxUwuv/scJZhP6UdSob3GrODShk2t75580=,tag:3atM6IddvYhoAmNlqooooQ==,type:str] sops: age: - recipient: age1na0nh9ndnr9cxpnlvstrxskr4fxf4spnkw48ufl7m43f98y40y7shhnvgd @@ -13,8 +14,8 @@ sops: KzBPS0Y3OXBUSjFWRVQwaGQ0M2M4ajgKYGgcfiDsBsJQmSodfPejhAcAekatqkJ9 Xa6Y7mWUiAKcbYY9to7/7/u5FUW3JYdv1GX7vAC2ZtZv6WXGLtjdwg== -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-11-01T16:32:10Z" - mac: ENC[AES256_GCM,data:8Q6DBSFtzwHuVxduRlZYxlRWO0trSoesNGUR8r/dWnp9ashFBSZqVyffXb4Vq6DB5thANJ6/b3PCNsHdiAKn6Ai2UT8G0HimFjUUgNpZxo4xoNGmDhDvfdBgUL6O2pHhY+ojjguUXDYeYc99+eaxfKqZ3w+PAPaySltKm99foz8=,iv:ILOErdiWbUjk9kovXXZYcAqZFQp2Wo1Tm14sgK3niWg=,tag:Q2gT6wbQyhDXjoQEG2Lngw==,type:str] + lastmodified: "2026-03-31T14:49:48Z" + mac: ENC[AES256_GCM,data:Ln//LDvcSqRknJGQvdzwoRvZOK/ZBqfTJqnxm9fhQsfZudUchZ5u7PXQf/0y3GnrYVx9agGGoKQN3VFehrZfpUE4ygjvmLHiqJSZVREaD4Yq0PuaY54/wN4YX8H1nE7ILdm1QvFRzpMUpSnTM1Yrr6cMIFMHcRRpL73LfG1nwPY=,iv:NXT/cPTnbg7ESiI7Aj3OOpCLMM4j355NAMVJNsIppzY=,tag:iLFTfiFdDxpwvC88fLf3Mw==,type:str] pgp: - created_at: "2026-03-05T19:17:55Z" enc: |- @@ -216,4 +217,4 @@ sops: -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted - version: 3.11.0 + version: 3.12.1 diff --git a/inventories/chaosknoten/host_vars/sunders.yaml b/inventories/chaosknoten/host_vars/sunders.yaml index 4563a461ad..1fd5c40486 100644 --- a/inventories/chaosknoten/host_vars/sunders.yaml +++ b/inventories/chaosknoten/host_vars/sunders.yaml @@ -1,8 +1,13 @@ docker_compose__compose_file_content: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/sunders/docker_compose/compose.yaml.j2') }}" certbot__acme_account_email_address: le-admin@hamburg.ccc.de -certbot__certificate_domains: - - "sunders.hamburg.ccc.de" +certbot__certs: + - commonName: "sunders.hamburg.ccc.de" + challengeType: "dns-01-acme-dns" + dns_01_acme_dns: + subdomain: a5ee8a99-3cdf-4212-972e-c0b6fda1242f + apiUser: 45e4ea1c-8322-4d92-9f52-adf52b521131 + apiKey: "{{ secret__acme_dns_api_key_sunders_hamburg_ccc_de }}" certbot__new_cert_commands: - "systemctl reload nginx.service" diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf index d79f299070..7bb4993064 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf @@ -29,7 +29,6 @@ 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 tickets.hosts.hamburg.ccc.de:31820; - sunders.hamburg.ccc.de sunders.hosts.hamburg.ccc.de: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; From 6bc872f1c0af393f6cb2a8d281f68244887b3a17 Mon Sep 17 00:00:00 2001 From: June Date: Tue, 31 Mar 2026 17:51:06 +0200 Subject: [PATCH 207/417] pretalx(host): move to dns-01-acme-dns as http-01 failed for cfp.eh22 --- .../chaosknoten/host_vars/pretalx.sops.yaml | 7 ++++--- inventories/chaosknoten/host_vars/pretalx.yaml | 16 +++++++++++++--- .../nginx/acme_challenge.conf | 2 -- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/inventories/chaosknoten/host_vars/pretalx.sops.yaml b/inventories/chaosknoten/host_vars/pretalx.sops.yaml index e5f3132d8d..7a42dcc6cf 100644 --- a/inventories/chaosknoten/host_vars/pretalx.sops.yaml +++ b/inventories/chaosknoten/host_vars/pretalx.sops.yaml @@ -1,6 +1,7 @@ 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] +secret__acme_dns_api_key_pretalx_hamburg_ccc_de: ENC[AES256_GCM,data:e5Chvj450jNpRZJWZ/fYersQC6U8V8sgcvXkhbCSSKO/U4wBJWTr6g==,iv:gkMZlzwIoeft5VrOGVdvA2QRacoO9QetKVJxJ6xHG54=,tag:Lz0r1P0qcCyJ00MFu1JR2g==,type:str] sops: age: - recipient: age133wy6sxhgx3kkwxecra6xf9ey2uhnvtjpgwawwfmpvz0jpd0s5dqe385u3 @@ -12,8 +13,8 @@ sops: T3BVQmZyVFlyaloxZ1lUdEtlbDYxbkkKdaYhzRq66SVBbhn4iNVSDSoEBk7+zODh cogERhbBCuz6WXCKBHjFwLDggM6y2cLo/uk3qkG2X7YDXUqO/DMwSA== -----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] + lastmodified: "2026-03-31T15:20:20Z" + mac: ENC[AES256_GCM,data:XUk54tSq/2B5DlHSOovKuGT2x5ffl6EahmqriA6P+V0e8D9PNemgOcV7s0GfW3QgKNQ7RCCRaXZpOZADh4yIR/AslrIGAJ1qNHgekZgRJ0VX8yydjHMpVG5u9Qi4Kr/u867xXhSzjSLEsefT60RGCKyrQs5/QqkK833PaIJylqE=,iv:1sRcJlDHN3eu/oRyJ8e9TB7+5yThlf6iboBnaaO/IvM=,tag:EW+m//ycUf+crIeEOJoPtQ==,type:str] pgp: - created_at: "2026-03-05T19:18:39Z" enc: |- @@ -215,4 +216,4 @@ sops: -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted - version: 3.10.2 + version: 3.12.1 diff --git a/inventories/chaosknoten/host_vars/pretalx.yaml b/inventories/chaosknoten/host_vars/pretalx.yaml index 12610b6344..e1298f0d82 100644 --- a/inventories/chaosknoten/host_vars/pretalx.yaml +++ b/inventories/chaosknoten/host_vars/pretalx.yaml @@ -2,9 +2,19 @@ docker_compose__compose_file_content: "{{ lookup('ansible.builtin.template', 're docker_compose__configuration_files: [ ] certbot__acme_account_email_address: le-admin@hamburg.ccc.de -certbot__certificate_domains: - - "pretalx.hamburg.ccc.de" - - "cfp.eh22.easterhegg.eu" +certbot__certs: + - commonName: "pretalx.hamburg.ccc.de" + challengeType: "dns-01-acme-dns" + dns_01_acme_dns: + subdomain: 295a66d4-1d71-49f3-a80a-1f7527ec9cca + apiUser: bee0544b-a414-42eb-96a1-3e30d43e104c + apiKey: "{{ secret__acme_dns_api_key_pretalx_hamburg_ccc_de }}" + - commonName: "cfp.eh22.easterhegg.eu" + challengeType: "dns-01-acme-dns" + dns_01_acme_dns: + subdomain: 295a66d4-1d71-49f3-a80a-1f7527ec9cca + apiUser: bee0544b-a414-42eb-96a1-3e30d43e104c + apiKey: "{{ secret__acme_dns_api_key_pretalx_hamburg_ccc_de }}" certbot__new_cert_commands: - "systemctl reload nginx.service" diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf index 7bb4993064..3bcd0fb0a6 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf @@ -22,7 +22,6 @@ 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 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; @@ -71,7 +70,6 @@ map $host $upstream_acme_challenge_host { woodpecker.hamburg.ccc.de 172.31.17.160:31820; 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 ntfy.hosts.hamburg.ccc.de:31820; cryptoparty-hamburg.de 172.31.17.151:31820; cryptoparty.hamburg.ccc.de 172.31.17.151:31820; From 34958a058487e38833e3a73e06876d29a6e95ce1 Mon Sep 17 00:00:00 2001 From: June Date: Wed, 1 Apr 2026 01:51:22 +0200 Subject: [PATCH 208/417] pad(host): update postgresql image from version 15 to 18 --- resources/chaosknoten/pad/docker_compose/compose.yaml.j2 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 b/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 index 9ec25b2def..be48024f22 100644 --- a/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 @@ -3,13 +3,13 @@ services: database: - image: docker.io/library/postgres:15-alpine + image: docker.io/library/postgres:18-alpine environment: - "POSTGRES_USER=hedgedoc" - "POSTGRES_PASSWORD={{ secret__hedgedoc_db_password }}" - "POSTGRES_DB=hedgedoc" volumes: - - database:/var/lib/postgresql/data + - database:/var/lib/postgresql restart: unless-stopped app: From 0df667fc582adb7df2429cf9462eaa6ce5a0b45f Mon Sep 17 00:00:00 2001 From: June Date: Wed, 1 Apr 2026 02:19:13 +0200 Subject: [PATCH 209/417] keycloak(host): update postgresql image from version 15 to 18 --- resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 b/resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 index 165c62d37c..ea48002dd1 100644 --- a/resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 @@ -46,12 +46,12 @@ services: - "8080:8080" db: - image: docker.io/library/postgres:15.17 + image: docker.io/library/postgres:18 restart: unless-stopped networks: - keycloak volumes: - - "./database:/var/lib/postgresql/data" + - "./database:/var/lib/postgresql" environment: POSTGRES_USER: keycloak POSTGRES_PASSWORD: {{ secret__keycloak_db_password }} From 7a9929c66d10d24516a97a763b526ca6c7b2fa26 Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Wed, 1 Apr 2026 09:10:05 +0200 Subject: [PATCH 210/417] Version bump --- .../chaosknoten/zammad/docker_compose/compose.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/resources/chaosknoten/zammad/docker_compose/compose.yaml b/resources/chaosknoten/zammad/docker_compose/compose.yaml index 80217d7b54..fb6837d484 100644 --- a/resources/chaosknoten/zammad/docker_compose/compose.yaml +++ b/resources/chaosknoten/zammad/docker_compose/compose.yaml @@ -57,7 +57,7 @@ x-shared: LETSENCRYPT_HOST: LETSENCRYPT_EMAIL: - image: ${IMAGE_REPO:-ghcr.io/zammad/zammad}:${VERSION:-6.5.2} + image: ${IMAGE_REPO:-ghcr.io/zammad/zammad}:${VERSION:-6.5.3} restart: ${RESTART:-always} volumes: - zammad-storage:/opt/zammad/storage @@ -76,7 +76,7 @@ services: user: 0:0 zammad-elasticsearch: - image: elasticsearch:${ELASTICSEARCH_VERSION:-8.19.4} + image: elasticsearch:${ELASTICSEARCH_VERSION:-8.19.13} restart: ${RESTART:-always} volumes: - elasticsearch-data:/usr/share/elasticsearch/data @@ -95,7 +95,7 @@ services: zammad-memcached: command: memcached -m 256M - image: memcached:${MEMCACHE_VERSION:-1.6.39-alpine} + image: memcached:${MEMCACHE_VERSION:-1.6.41-alpine} restart: ${RESTART:-always} zammad-nginx: @@ -113,7 +113,7 @@ services: POSTGRES_DB: ${POSTGRES_DB:-zammad_production} POSTGRES_USER: ${POSTGRES_USER:-zammad} POSTGRES_PASSWORD: ${POSTGRES_PASS:-zammad} - image: postgres:${POSTGRES_VERSION:-17.6-alpine} + image: postgres:${POSTGRES_VERSION:-17.9-alpine} restart: ${RESTART:-always} volumes: - postgresql-data:/var/lib/postgresql/data @@ -123,7 +123,7 @@ services: command: [ "zammad-railsserver" ] zammad-redis: - image: redis:${REDIS_VERSION:-7.4.5-alpine} + image: redis:${REDIS_VERSION:-7.4.8-alpine} restart: ${RESTART:-always} volumes: - redis-data:/data From 8e5b0083b3db60ce499786588eb54622ac883af5 Mon Sep 17 00:00:00 2001 From: June Date: Thu, 2 Apr 2026 01:15:11 +0200 Subject: [PATCH 211/417] fix docker compose services not coming up after reboot Fix the issue by adding missing restart configuration to docker compose deployments. --- resources/chaosknoten/acmedns/docker_compose/compose.yaml.j2 | 3 ++- resources/chaosknoten/pad/docker_compose/compose.yaml.j2 | 1 + resources/chaosknoten/sunders/docker_compose/compose.yaml.j2 | 3 +++ resources/external/status/docker_compose/compose.yaml.j2 | 1 + 4 files changed, 7 insertions(+), 1 deletion(-) diff --git a/resources/chaosknoten/acmedns/docker_compose/compose.yaml.j2 b/resources/chaosknoten/acmedns/docker_compose/compose.yaml.j2 index a1962f0a5b..3fcd8c63f8 100644 --- a/resources/chaosknoten/acmedns/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/acmedns/docker_compose/compose.yaml.j2 @@ -19,4 +19,5 @@ services: - 8080:80 volumes: - ./configs/acmedns.cfg:/etc/acme-dns/config.cfg:ro - - ./data/acmedns:/var/lib/acme-dns \ No newline at end of file + - ./data/acmedns:/var/lib/acme-dns + restart: unless-stopped diff --git a/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 b/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 index be48024f22..db60eb9bbb 100644 --- a/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 @@ -59,6 +59,7 @@ services: - "SMTP_USERNAME=pad@hamburg.ccc.de" - "SMTP_PASSWORD={{ secret__pad_smtp_password }}" - "URL=https://pad.hamburg.ccc.de" + restart: unless-stopped depends_on: - database diff --git a/resources/chaosknoten/sunders/docker_compose/compose.yaml.j2 b/resources/chaosknoten/sunders/docker_compose/compose.yaml.j2 index 8257b1735f..bb4127fe6d 100644 --- a/resources/chaosknoten/sunders/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/sunders/docker_compose/compose.yaml.j2 @@ -18,6 +18,7 @@ services: timeout: 5s start_period: 30s retries: 5 + restart: unless-stopped web: image: git.hamburg.ccc.de/ccchh/sunders/web:latest @@ -33,6 +34,7 @@ services: IMPRESSUM_URL: https://hamburg.ccc.de/imprint/ ports: - "8080:80" + restart: unless-stopped depends_on: data_handler: condition: service_started @@ -48,6 +50,7 @@ services: CAMERA_USER_PASSWORD: "{{ secret__sunders_db_camera_password }}" CAMERA_SELECT_USER: camera_select CAMERA_SELECT_USER_PASSWORD: "{{ secret__sunders_db_camera_select_password }}" + restart: unless-stopped depends_on: db: condition: service_healthy diff --git a/resources/external/status/docker_compose/compose.yaml.j2 b/resources/external/status/docker_compose/compose.yaml.j2 index bd5e4da975..58abeface3 100644 --- a/resources/external/status/docker_compose/compose.yaml.j2 +++ b/resources/external/status/docker_compose/compose.yaml.j2 @@ -5,6 +5,7 @@ services: database: image: docker.io/library/postgres:18.3 + restart: always volumes: - ./database:/var/lib/postgresql environment: From db8dfac07aa07b24a1b1a4c0964b1494440d3acd Mon Sep 17 00:00:00 2001 From: Renovate Date: Wed, 1 Apr 2026 23:47:03 +0000 Subject: [PATCH 212/417] Update docker.io/pretix/standalone Docker tag to v2026 --- resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 b/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 index ce7398b1a8..602137ba76 100644 --- a/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 @@ -25,7 +25,7 @@ services: backend: pretix: - image: docker.io/pretix/standalone:2024.8 + image: docker.io/pretix/standalone:2026.3 command: ["all"] ports: - "8345:80" From 8945b86c850ac1e9f8aaebf4d4c51796377e1645 Mon Sep 17 00:00:00 2001 From: June Date: Thu, 2 Apr 2026 11:24:42 +0200 Subject: [PATCH 213/417] tickets(host): update postgresql image from version 15 to 18 --- resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 b/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 index 602137ba76..2bf732b90d 100644 --- a/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 @@ -1,13 +1,13 @@ --- services: database: - image: docker.io/library/postgres:15-alpine + image: docker.io/library/postgres:18-alpine environment: - "POSTGRES_USER=pretix" - "POSTGRES_PASSWORD={{ secret__pretix_db_password }}" - "POSTGRES_DB=pretix" volumes: - - database:/var/lib/postgresql/data + - database:/var/lib/postgresql networks: backend: restart: unless-stopped From aa28d30e8da5142574b1d2824d67d4d90b9a9cbf Mon Sep 17 00:00:00 2001 From: Renovate Date: Thu, 2 Apr 2026 09:30:51 +0000 Subject: [PATCH 214/417] Update docker.io/library/redis Docker tag to v8 --- resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 b/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 index 2bf732b90d..b8a4cf21cd 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.8 + image: docker.io/library/redis:8.6.2 ports: - "6379:6379" volumes: From 7b030594402e558411e626ae6003f174bbbce3b9 Mon Sep 17 00:00:00 2001 From: June Date: Fri, 3 Apr 2026 15:08:02 +0200 Subject: [PATCH 215/417] public-reverse-proxy(host): add config for c3dog.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 3bcd0fb0a6..5b9fa94c62 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf @@ -4,6 +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; + c3dog.de 172.31.17.151:31820; + www.c3dog.de 172.31.17.151: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; diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf index 01edbfec6b..47b0c29c2b 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf @@ -49,6 +49,8 @@ stream { c3cat.de 172.31.17.151:8443; www.c3cat.de 172.31.17.151:8443; staging.c3cat.de 172.31.17.151:8443; + c3dog.de 172.31.17.151:8443; + www.c3dog.de 172.31.17.151:8443; git.hamburg.ccc.de 172.31.17.154:8443; eh03.easterhegg.eu 172.31.17.151:8443; eh05.easterhegg.eu 172.31.17.151:8443; From 28d154edcd0dcbb88dc5827e54967133d56f7389 Mon Sep 17 00:00:00 2001 From: Renovate Date: Fri, 3 Apr 2026 13:16:18 +0000 Subject: [PATCH 216/417] Update docker.io/xenrox/ntfy-alertmanager Docker tag to v1 --- .../chaosknoten/grafana/docker_compose/compose.yaml.j2 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 b/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 index a39c08ab76..8c385005ef 100644 --- a/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 @@ -70,7 +70,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:1.0.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 + image: docker.io/xenrox/ntfy-alertmanager:1.0.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 + image: docker.io/xenrox/ntfy-alertmanager:1.0.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 + image: docker.io/xenrox/ntfy-alertmanager:1.0.0 container_name: ntfy-alertmanager-fux volumes: - ./configs/ntfy-alertmanager-fux:/etc/ntfy-alertmanager/config From 3f94a992febb0869399b3dd70b963ca09f918091 Mon Sep 17 00:00:00 2001 From: chris Date: Fri, 3 Apr 2026 17:41:24 +0200 Subject: [PATCH 217/417] ntfy-alertmanager: edit msg when alert resolve's --- .../grafana/docker_compose/ntfy-alertmanager-ccchh-critical.j2 | 2 +- .../grafana/docker_compose/ntfy-alertmanager-ccchh.j2 | 2 +- .../grafana/docker_compose/ntfy-alertmanager-fux-critical.j2 | 2 +- .../chaosknoten/grafana/docker_compose/ntfy-alertmanager-fux.j2 | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/resources/chaosknoten/grafana/docker_compose/ntfy-alertmanager-ccchh-critical.j2 b/resources/chaosknoten/grafana/docker_compose/ntfy-alertmanager-ccchh-critical.j2 index b4afc90cfe..7d70628554 100644 --- a/resources/chaosknoten/grafana/docker_compose/ntfy-alertmanager-ccchh-critical.j2 +++ b/resources/chaosknoten/grafana/docker_compose/ntfy-alertmanager-ccchh-critical.j2 @@ -28,7 +28,7 @@ labels { resolved { tags "white_check_mark,resolved" - priority 2 + updatenotification true } ntfy { diff --git a/resources/chaosknoten/grafana/docker_compose/ntfy-alertmanager-ccchh.j2 b/resources/chaosknoten/grafana/docker_compose/ntfy-alertmanager-ccchh.j2 index 66fd9ab1d9..7ea112374a 100644 --- a/resources/chaosknoten/grafana/docker_compose/ntfy-alertmanager-ccchh.j2 +++ b/resources/chaosknoten/grafana/docker_compose/ntfy-alertmanager-ccchh.j2 @@ -28,7 +28,7 @@ labels { resolved { tags "white_check_mark,resolved" - priority 2 + updatenotification true } ntfy { diff --git a/resources/chaosknoten/grafana/docker_compose/ntfy-alertmanager-fux-critical.j2 b/resources/chaosknoten/grafana/docker_compose/ntfy-alertmanager-fux-critical.j2 index afb6cc8870..f58dca9342 100644 --- a/resources/chaosknoten/grafana/docker_compose/ntfy-alertmanager-fux-critical.j2 +++ b/resources/chaosknoten/grafana/docker_compose/ntfy-alertmanager-fux-critical.j2 @@ -28,7 +28,7 @@ labels { resolved { tags "white_check_mark,resolved" - priority 2 + updatenotification true } ntfy { diff --git a/resources/chaosknoten/grafana/docker_compose/ntfy-alertmanager-fux.j2 b/resources/chaosknoten/grafana/docker_compose/ntfy-alertmanager-fux.j2 index 1e506a38ca..3d138e9263 100644 --- a/resources/chaosknoten/grafana/docker_compose/ntfy-alertmanager-fux.j2 +++ b/resources/chaosknoten/grafana/docker_compose/ntfy-alertmanager-fux.j2 @@ -28,7 +28,7 @@ labels { resolved { tags "white_check_mark,resolved" - priority 2 + updatenotification true } ntfy { From 230da323dc0e063be984a92e7c006a8f04245516 Mon Sep 17 00:00:00 2001 From: June Date: Sat, 4 Apr 2026 15:39:33 +0200 Subject: [PATCH 218/417] public-reverse-proxy(host): add config for docs.c3voc.de and staging --- .../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 5b9fa94c62..5ebed4f71f 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf @@ -83,6 +83,8 @@ map $host $upstream_acme_challenge_host { local.ccc.de 172.31.17.151:31820; acmedns.hamburg.ccc.de acmedns.hosts.hamburg.ccc.de:31820; diday.org 172.31.17.151:31820; + docs.c3voc.de 172.31.17.151:31820; + staging.docs.c3voc.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 47b0c29c2b..8b90d3fb6d 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf @@ -106,6 +106,8 @@ stream { acmedns.hamburg.ccc.de acmedns.hosts.hamburg.ccc.de:8443; diday.org 172.31.17.151:8443; *.staging.diday.org 172.31.17.151:8443; + docs.c3voc.de 172.31.17.151:8443; + staging.docs.c3voc.de 172.31.17.151:8443; } server { From 8630efeca658e5098ee3f01007f7e1c1cfada455 Mon Sep 17 00:00:00 2001 From: June Date: Sun, 5 Apr 2026 01:02:37 +0200 Subject: [PATCH 219/417] keycloak(host): set specific Keycloak version as image also has it now --- resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 b/resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 index ea48002dd1..d239bb46b3 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.5 + image: git.hamburg.ccc.de/ccchh/oci-images/keycloak:26.5.7 pull_policy: always restart: unless-stopped command: start --optimized From abcd622757245466faa4f658329c5060686d1710 Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Sat, 11 Apr 2026 02:36:44 +0200 Subject: [PATCH 220/417] light(host): move to dns-01-acme-dns --- inventories/z9/host_vars/light.sops.yaml | 9 ++++++--- inventories/z9/host_vars/light.yaml | 23 +++++++++++++++++++---- 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/inventories/z9/host_vars/light.sops.yaml b/inventories/z9/host_vars/light.sops.yaml index 02cf01fa2b..2ce88079af 100644 --- a/inventories/z9/host_vars/light.sops.yaml +++ b/inventories/z9/host_vars/light.sops.yaml @@ -1,4 +1,7 @@ ansible_pull__age_private_key: ENC[AES256_GCM,data:VEGxr8C7RlEhyQhf+to/OrbfPPKkyL7iUU1yDXGAzmmPCQ4VftK71eiyN7OS6pG8J89Mj4Sy/dcY4SUX+rTl/q1csZMn9t4NBN8=,iv:JcrdyFLX5srZfRj9SA+RXf+CRZi5GEcApgyYsHoHTGE=,tag:xdJ4GmK3afZDkXmkrriStg==,type:str] +secret__acme_dns_api_key_light_ccchh_net: ENC[AES256_GCM,data:SLUNVJQ4Nkos+tYH0l9ndJI8mrfZFC9i/qQqkcHgfLaNjL1tFuAFfQ==,iv:cc7DsiqzMlc2lh3D63cElMQcOeYT7oNxmRy7irSr9/s=,tag:dBnTAJXvgWlmq5vVGxrykw==,type:str] +secret__acme_dns_api_key_light_z9_ccchh_net: ENC[AES256_GCM,data:m6+Sk533qTRfhrwv7U2RydJh/j7KjJKHiEetyzgvJV1dgWXmE5AhYA==,iv:lAGv4vfxA+DQfwaHiDp3NMel0tjmZl96nKUAN8QGFe4=,tag:h0wM/F9E4dIy+NYLIVUpxg==,type:str] +secret__acme_dns_api_key_light_werkstatt_ccchh_net: ENC[AES256_GCM,data:zJ9hQo1jmQ5+d0oU+CD+cQh89HshPpguZCak7Nfjdb2bygUXJrEIIw==,iv:y+FSB/k5LixKJOm9egWsjhByQAdv7TfJHvv3job2oYg=,tag:CmuUqnCI3V/aOOUitzYT9Q==,type:str] sops: age: - recipient: age1llkxtfx4dgnezmukj4ganx4ql9k4ga4ca9zuanf5r568jfp8peeqal490q @@ -10,8 +13,8 @@ sops: SHgzd0IvZjJBamZFcHczNm1FN1Q1TzAKDgId6bAykxsgXAeBWXd6Dyxiiyh0gIb/ Q6MHNtagsA5OrUtc7xEInVt8CYT8czI/Lr9pHzmx5bQPlDf8NkW0lA== -----END AGE ENCRYPTED FILE----- - lastmodified: "2026-03-30T18:56:30Z" - mac: ENC[AES256_GCM,data:XQJwF0MuaNoNssD3QvcDrlz+W7cccDdBaY82i6Qae7zBOQKlxLRJ7FteaDQEmQ7Yb1xBczpS+wBLgKNy5WbwIm8GELX1Hs91Y/SUguCnSualWhSVw9HW42T4oP9OEv2DC2aiJYHampSOgjmWgbPqawCU9xfsnP7RFGajQNNmRWU=,iv:O+A6tGFLhS4AVjLQ25eEjUfERPG2PnzgczZ0wczf7UY=,tag:yjFBjKtSE6vu9JMY9DQ0UA==,type:str] + lastmodified: "2026-04-11T01:24:10Z" + mac: ENC[AES256_GCM,data:D7qAgDZX8B0oNdZovHE74sSZI5X3qd8oDPHWl13Q2ohLnp9vJsFxrKntXxeeHASzQceDv2RQ1exwq7ZPor62sLFx+xO1Dc0Awpq1eoclDlHPyKlvT3pgkcB8IxDO/FuO+7hg/bJkmTHhbHTiHLGQDWN2sQev309Eka86lQyCzIQ=,iv:OBCobeUp+GwdDQhrNtTJhiRVMxRJafq5g1rhMoEFhjc=,tag:OSAWMn2NPZnVKcRX+eJf+Q==,type:str] pgp: - created_at: "2026-03-30T19:01:24Z" enc: |- @@ -213,4 +216,4 @@ sops: -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted - version: 3.12.1 + version: 3.12.2 diff --git a/inventories/z9/host_vars/light.yaml b/inventories/z9/host_vars/light.yaml index a5957e2825..c14515d230 100644 --- a/inventories/z9/host_vars/light.yaml +++ b/inventories/z9/host_vars/light.yaml @@ -60,9 +60,24 @@ nginx__configurations: content: "{{ lookup('ansible.builtin.file', 'resources/z9/dooris/nginx/http_handler.conf') }}" 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__certs: + - commonName: "light.ccchh.net" + challengeType: "dns-01-acme-dns" + dns_01_acme_dns: + subdomain: "e59f55ee-9013-469d-a146-a159721b6fea" + apiUser: "33e96ec7-1f98-4f70-92be-85a42dabd211" + apiKey: "{{ secret__acme_dns_api_key_light_ccchh_net }}" + - commonName: "light.z9.ccchh.net" + challengeType: "dns-01-acme-dns" + dns_01_acme_dns: + subdomain: "3bc9e7ce-03dd-4533-a059-b5d38407eaa5" + apiUser: "c3b00882-ca2a-4d11-9ebd-fccfb8618b75" + apiKey: "{{ secret__acme_dns_api_key_light_z9_ccchh_net }}" + - commonName: "light-werkstatt.ccchh.net" + challengeType: "dns-01-acme-dns" + dns_01_acme_dns: + subdomain: "f408acc0-d9f5-4525-bb01-28938e3bb7d0" + apiUser: "a030e419-6ed8-43ee-8425-a451b457f83a" + apiKey: "{{ secret__acme_dns_api_key_light_werkstatt_ccchh_net }}" certbot__new_cert_commands: - "systemctl reload nginx.service" From f4c9d203dae6b79060130cc03be3282489c65371 Mon Sep 17 00:00:00 2001 From: June Date: Sat, 11 Apr 2026 20:45:24 +0200 Subject: [PATCH 221/417] public-reverse-proxy(host): add config for staging.c3dog.de --- .../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 5ebed4f71f..2bdf9cca1c 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf @@ -6,6 +6,7 @@ map $host $upstream_acme_challenge_host { staging.c3cat.de 172.31.17.151:31820; c3dog.de 172.31.17.151:31820; www.c3dog.de 172.31.17.151:31820; + staging.c3dog.de 172.31.17.151: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; diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf index 8b90d3fb6d..a7abf0303d 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf @@ -51,6 +51,7 @@ stream { staging.c3cat.de 172.31.17.151:8443; c3dog.de 172.31.17.151:8443; www.c3dog.de 172.31.17.151:8443; + staging.c3dog.de 172.31.17.151:8443; git.hamburg.ccc.de 172.31.17.154:8443; eh03.easterhegg.eu 172.31.17.151:8443; eh05.easterhegg.eu 172.31.17.151:8443; From 1d2d03e4b3caac0e419e7f57cf56b949224e10ca Mon Sep 17 00:00:00 2001 From: June Date: Sat, 11 Apr 2026 20:53:18 +0200 Subject: [PATCH 222/417] status(host): add monitoring for (www./staging.)c3dog.de --- .../docker_compose/config/websites.yaml | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/resources/external/status/docker_compose/config/websites.yaml b/resources/external/status/docker_compose/config/websites.yaml index 964a866986..78426f6807 100644 --- a/resources/external/status/docker_compose/config/websites.yaml +++ b/resources/external/status/docker_compose/config/websites.yaml @@ -52,6 +52,14 @@ endpoints: - "[CERTIFICATE_EXPIRATION] > 48h" - "[BODY] == pat(*Cat Ears Operation Center*)" + - name: c3dog.de + url: "https://c3dog.de" + <<: *websites_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*Dog Ears Operation Center*)" + - name: cpu.ccc.de url: "https://cpu.ccc.de" <<: *websites_defaults @@ -127,6 +135,14 @@ endpoints: - "[CERTIFICATE_EXPIRATION] > 48h" - "[BODY] == pat(*c3cat.de Staging Environment*)" + - name: staging.c3dog.de + url: "https://staging.c3dog.de" + <<: *websites_staging_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*c3dog.de Staging Environment*)" + - name: staging.cryptoparty-hamburg.de url: "https://staging.cryptoparty-hamburg.de" <<: *websites_staging_defaults @@ -168,6 +184,14 @@ endpoints: - "[CERTIFICATE_EXPIRATION] > 48h" - "[BODY] == pat(*Cat Ears Operation Center*)" + - name: www.c3dog.de + url: "https://www.c3dog.de" + <<: *websites_redirects_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*Dog Ears Operation Center*)" + - name: cryptoparty.hamburg.ccc.de url: "https://cryptoparty.hamburg.ccc.de" <<: *websites_redirects_defaults From 26fbbc9035be49e0a8622ad75388f5f4675d650c Mon Sep 17 00:00:00 2001 From: June Date: Sun, 19 Apr 2026 00:36:37 +0200 Subject: [PATCH 223/417] sops: use fis new key --- .sops.yaml | 2 +- .../chaosknoten/group_vars/all.sops.yaml | 481 +++++++++--------- .../chaosknoten/host_vars/acmedns.sops.yaml | 281 +++++----- .../chaosknoten/host_vars/ccchoir.sops.yaml | 281 +++++----- .../chaosknoten/host_vars/cloud.sops.yaml | 281 +++++----- .../chaosknoten/host_vars/eh22-wiki.sops.yaml | 281 +++++----- .../chaosknoten/host_vars/grafana.sops.yaml | 281 +++++----- .../chaosknoten/host_vars/keycloak.sops.yaml | 281 +++++----- .../chaosknoten/host_vars/lists.sops.yaml | 281 +++++----- .../chaosknoten/host_vars/mjolnir.sops.yaml | 281 +++++----- .../chaosknoten/host_vars/mumble.sops.yaml | 281 +++++----- .../chaosknoten/host_vars/netbox.sops.yaml | 281 +++++----- .../chaosknoten/host_vars/ntfy.sops.yaml | 281 +++++----- .../host_vars/onlyoffice.sops.yaml | 281 +++++----- .../chaosknoten/host_vars/pad.sops.yaml | 281 +++++----- .../chaosknoten/host_vars/pretalx.sops.yaml | 281 +++++----- .../host_vars/public-reverse-proxy.sops.yaml | 281 +++++----- .../chaosknoten/host_vars/renovate.sops.yaml | 281 +++++----- .../host_vars/spaceapiccc.sops.yaml | 281 +++++----- .../chaosknoten/host_vars/sunders.sops.yaml | 281 +++++----- .../chaosknoten/host_vars/tickets.sops.yaml | 281 +++++----- .../chaosknoten/host_vars/wiki.sops.yaml | 281 +++++----- .../chaosknoten/host_vars/zammad.sops.yaml | 281 +++++----- inventories/external/group_vars/all.sops.yaml | 281 +++++----- .../external/host_vars/status.sops.yaml | 281 +++++----- inventories/z9/group_vars/all.sops.yaml | 311 ++++++----- inventories/z9/host_vars/dooris.sops.yaml | 281 +++++----- inventories/z9/host_vars/light.sops.yaml | 281 +++++----- .../z9/host_vars/waybackproxy.sops.yaml | 281 +++++----- inventories/z9/host_vars/yate.sops.yaml | 281 +++++----- 30 files changed, 4060 insertions(+), 4321 deletions(-) diff --git a/.sops.yaml b/.sops.yaml index 0ef8bd899f..2941a53ed6 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -4,7 +4,7 @@ keys: - &admin_gpg_djerun EF643F59E008414882232C78FFA8331EEB7D6B70 - &admin_gpg_stb 21C9579E6503CA815A68ABD8541F9408A813C8B7 - &admin_gpg_jtbx 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - &admin_gpg_yuri 87AB00D45D37C9E9167B5A5A333448678B60E505 + - &admin_gpg_fi 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - &admin_gpg_june 057870A2C72CD82566A3EC983695F4FCBCAE4912 - &admin_gpg_haegar F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - &admin_gpg_dario 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD diff --git a/inventories/chaosknoten/group_vars/all.sops.yaml b/inventories/chaosknoten/group_vars/all.sops.yaml index ecd50b0258..fc25dfe305 100644 --- a/inventories/chaosknoten/group_vars/all.sops.yaml +++ b/inventories/chaosknoten/group_vars/all.sops.yaml @@ -5,392 +5,383 @@ sops: - recipient: age1ss82zwqkj438re78355p886r89csqrrfmkfp8lrrf8v23nza492qza4ey3 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZYTlQQVpSclBaYkJvWWgr - MnlYNjdLc0JJbmRKMXd1d1RDVFlyWVNCcEFvCldkK2NLbjJRVkxvNlNFanpEejJH - MzVUSWdGVGYvS2VtQlBPL3JLVk8rTU0KLS0tIE01c04vUDZ6eUdlbzh4WG1ET0ly - ejJnRk9URUFOK25xZElkaiszZ1YvN2sKJAlXWEE+omwd3lmHlVBJ2iGAd+yeaP73 - Wdloun8Rj7bDvRzC7CTNzittIZdgS0+rcAH5mCqEt8+yJIzSo30cRg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0SHhPV2tlWkR3N052b29C + b2w2Ui9XOGw0OFV6SlU2UmVMaEdpbCtFQnhzClZaR216L0VsRkFxRmcvR3JZUVJy + eDFuRVpTYzV6QkhtcisrV1E1NktYWUUKLS0tIFVzVmliZE5TYlpUdHlLSEl5SEVB + UzBVci9zNGJMNDc3dFMrUWtPcG5SdHMKfCAdWj5685bbR50R+RSd6S7b4C72vqiV + elD/28Abm7ESlAz9pm/iKFqamyCg7m2Vp6Ys2r6ovwDOb5KMnR+n/A== -----END AGE ENCRYPTED FILE----- - recipient: age1gdfhx5hy829uqkw4nwjwlpvl7zqvljguzsnjv0dpwz5q5u7dtf6s90wndt enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKWUVPRUZ2YjhReU4zZHpD - MitPV3BSVTZ1YjVFaCtuemhrVVFBOXhsSEVZCm1TRTQ3dEhDSXRmWWtwYmVOWkln - azRRc2ViVTA2cEJXT1g3Q0FsR292akkKLS0tIFQxMXBIUzVTK3owVU5KNEJqTk9W - cFZrcWpBQmhDTWR0bHV5YnVLSnVTelEKisrIuQq6l3NAXFoK+PY7d5zG/czYLuxO - UBsj99orjWSv/yIfOvbone+EG6Pi2jQdRwYLD2sxguJJg4ALqtpuwQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA3T2JmOVhzcnlFOXdDRUx6 + Z0Nwd2h6bXh6bDZFUnRXN3hmak1kOE9JYWtRCitvOFFpU3VYMmZQUm5XZm1VSUpj + ekxISXRPQXYrQUlTbTQ1aWtOQnJoQnMKLS0tIGlvUURQK3NQWnNxc0ZTK21DUWRO + dlJ3UnpPWGpkZ3RPc3lMZ3hTeVVydEkKY+hjz62dxezXLiCxnIzDHu+AD+hPBntO + ZI7QFFKXnioS/xt2AVvqc5UxIleVbyxK8soPooYGKJ4wJjkVYk53qQ== -----END AGE ENCRYPTED FILE----- - recipient: age13nm6hfz66ce4wpn89fye05mag3l3h04etvz6wj7szm3vzrdlfupqhrp3fa enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBmcU9xSnJnalhzQU56RE9w - V3NFaVAvZ1p4T3UzTWxhb2pWWS8wM2dhVlhVCnVUM3NaYXl0T3ovRTcvQnNOVnJV - VncxUFF5cmZVZGwyd29SMnpuQitGMzAKLS0tIExLU2p0elR2ZjFjdm9PN2hKVGlv - QzBCNTlaSEE1U1E5cUExd1ZxN1dkYU0KcmXCpLzqMXrJvT24W8vjrGUPcbnAem/A - SF2xiAnFpxN3f+sk6fX+e5ulMD42YFDU8PKzxLCWsToH9dUzKJJFlg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXeXlIWVNhdnRpakZaWXpQ + WGZxN29uRUVVQ09OTi9SZ0xic1BQUkxVVXlRCk9vUTJxWXdDekxkRDBKL09vU1lv + ZWR6eElpWkZmNk1DakdpWEJGR0VYdHcKLS0tIDh5c05MNy9aWXdGMXpBRUk0eS9a + anhYWnIxUGNyZDJCQVpEaDk4RTU1OUEKrEMfvOQsuhqKe6n+a/JWtxzhxmDETKR+ + tHZSOX6iOAYHOxB+wJLszzIEMZJ3fYO5lstz1PMeOvimMPPRODWo6g== -----END AGE ENCRYPTED FILE----- - recipient: age1jtusr294t8mzar2qy857v6s329ret9s353y4kuulxwnlyy4dvpjsvyl67m enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxMi9NTnd1SEFtbkllRVdk - Q09ENTJPWmVLN3ZuR2RFWUxMTGlCbVdBQ0g0CjdWdUQycENZaUorRlQ3TzBiVjZO - NjlrSm5zYWFNTThSMEpLcnR1TGVQZ1UKLS0tIFZQUDlJSkg1VnY5VUF6ZGRodEpx - RFg4THN0OFJNSXFCNjk2MTJ5TGliNnMKXxAdH8n9PUUsabMi4r6JVZ+HLGPGu9nL - h0ytq2d/gJXOUVhEDXKWPQckCJiymHbR6msRlbQXqzJCE7utoVhRCQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBlTXV6KzVhZ29MOUx6RGlD + TXkrUWJ2bTZWc2ZHRFZDaFdCYUFLNXJZMFZBCnp6d2w0MzcrRDFqUW1CeTU0d053 + NXdkZDR3N2dwN2xzNmhNb0dmeXViRlkKLS0tIEkxYzRHK1ZvaDc3c1JUaDFDTlJY + aEdLdFdoL3NXMUhxblRvUkhoT2pUSjgKgTxyWIn5Ma8R/Q9+vw+Rqv7s0pGaxZz1 + HNKGBfsCf13SPjiiy4v7d2+a8GJLa9J6pDyKq0/Jg1OGMSKksK4aKA== -----END AGE ENCRYPTED FILE----- - recipient: age1a27euccw8j23wec76ls8vmzp7mntfcn4v8tkyegmg8alzfhk3suqwm6vgv enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBpZXFYWVVTdHdvOURkZnhr - RTVRZVpIV2srbVpTR1RvdnlJKzJ3S3NpU0NNCnc3bGpiVjFkZ29zYTN3ZlNaa2Ux - UTRsaEt2d05qcExsdWt5NTduTXpmQnMKLS0tIE1CK1NhaDhUVEh1NEQ5MnQ2a3o2 - UWlPN2RRYjNBODdxYVNZZ1pVdklkV1EKWeArjzFczLg11VwbWPTgjBm0584OH0Ww - 4uuDaPhgDOTLbaOlUW+s4S6PYUL6ox5L+FzRuYWtQiIpeLEQH/AQVw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzZG1KZEgvMFVoUk45dWxr + N3h6bkZuMzJ5WnRFN1ppdDQ3Wjc4YTJ1aFhBCkdPSmpmRytKUVJkUjlpcWZaREpT + MzhGOFdSblpXWmV6eW9oVlpZd0lVWHcKLS0tIHVETTgvRVJFYlp3ellTTVVGbjJ5 + SnUvN0N3cytrMDJsZkRyczFxYzNFeG8KLzDzXx30xHBoy15NPmHlE49ZwhMWBEb8 + HWGjJKVsH4XL6u9C9pPc4ttN35KkW3SnYTe0O1w2VCMmMG8vOCCC4A== -----END AGE ENCRYPTED FILE----- - recipient: age133wy6sxhgx3kkwxecra6xf9ey2uhnvtjpgwawwfmpvz0jpd0s5dqe385u3 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0U2hFM21IeVcwb0ZZZDA3 - dFQvcDV2cHRaTW5wOVNMTlluUmo1bUd1YjNJCnVkTTE0M2MyNzMvNlc2MVJBNzVh - QkN4eXlWemg1UzVqL0Y5OUpVenYzOVUKLS0tIEZlcUF4L3ZlVXRYTTZML1dBNzBj - c0J6YU1jeFIwN1M3NmRFVFRUMlFZQkEKIXseDzKDcmtJn5oHbr61/0Hb/MjHaHwa - mlMK1oDI4SSf1nklLawbo4Bi5l7GZumzftwYLUnK+Er5poJnKoagGw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjcXhYcFpiUDJ6Qm5TSGFT + N1QyZEJXUEdtdTZoUTdVeXhFcUVvVXdYbWtNCi9RbytrM2laS0xYUzdVSk94TS9n + eEI2MUlZcCtqckl2NmNvdWNub05mcGMKLS0tIEpVc3Q1R0JIcTJmYnBOTGRiK01n + YUZlNjh6MkZoemROLyt6bjZrMisrUWcK2xLt4YKc9N9uWoNuvEf7XrgNOBeYaUpw + 0nW5Q9jnQgDxJwl+Gs2uCgsSP8pB1pJYxdoiHZ43yF30GTAhlqNIiA== -----END AGE ENCRYPTED FILE----- - recipient: age1na0nh9ndnr9cxpnlvstrxskr4fxf4spnkw48ufl7m43f98y40y7shhnvgd enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBPM1pNaFNkM1kzU1RvVnFK - WmIxcmswUDVSN25McUdkdjljcmJFNlJXc2hJCjl3MytxU041SndxSUF6K2gybmJp - Z1FvWmVhaGIyUjdPOE9qRDNFMXlzSlUKLS0tIEEyKzk4QzdNWHkwMWxEQlVNMXZZ - SWx5ZzJoeVpjU2VLTFp5bXVYczBqeVEKgvRSnWceBUDn07ebGO3MlUzQwirPnGh0 - q44FjPTMg/NmEMvLga33dNK8Np0zU7hbdUhNI0Sy+zZca3ulGsadNQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtNit1YmkzSlRxak1XNk8z + OVZUS1lUeHlQc3dxZXczelBsMktXVjhWaWhjCmI3RGl2VEtQNjhoM3FhbTNUTExv + RTZHdjlLTHdzN2V4SWk5RDIwbnhGK2MKLS0tIE9VMUFhY2JrZFJ3MUFxanZnVVpr + SjVuNmNJM25wRjB0RFk5NUVpN0FidmcK3hjlhkN3ESTn54/CP2QPanwfHTELS1hj + J1aJRmmpmUcwK2SmiM4BOBjN5BWopT/9hz3J2h9JlxDNnAg8amLfqg== -----END AGE ENCRYPTED FILE----- - recipient: age1sqs05anv4acculyap35e6vehdxw3g6ycwnvh6hsuv8u33re984zsnqfvqv enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBZWFVWEhSc2VNczFGQTMr - VXdJOGtnWThDK0hLVHNhZSswNVBYM2RLa0VZClN2eGJqRDZHSUF4VDNaVUpQWlAx - OE5XU1p0MWx3R29VM21aSlBOaldISWsKLS0tIEM2Z0hZMjAvNklkcWVMQTBDeUZv - WnlQZy8wcG1QOEV2b0JHL3RWaEs2b0kKnMPU8Y2UUixfa0TWAkkeMI2e6sM2fR/6 - KDCCoJpwBMhUEBPBpxjDuNRL+/rmQa7OSfslAP9ZJTabY36kTNA3fA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTMi8vUUlZTXdQQWk0UzhP + SkV0eEcxeUtLYU5IYnpBbmlvdnJadVIvRFRFCjE4c29jMVZ2OHhtU1hjRmU5RHY0 + UnpDTWRHaXFOMnM5bDdXZ2pKc1ZyancKLS0tIFFmUEE5amtQVm1ubml4Yk5EVkdU + SjcxVmpzYThJcFVpK0lFZysrVktmM0EK3kQd5WC+rhBhaM8r1qU/a+Ycg91xtyLb + PHMkHu36zdZZDy8FHF10XBATR8Wl7CK0SPiAPQy96kFMtlOdbNPUdw== -----END AGE ENCRYPTED FILE----- - recipient: age18qam683rva3ee3wgue7r0ey4ws4jttz4a4dpe3q8kq8lmrp97ezq2cns8d enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHMzd4QVRQTHhQQnVISzZx - OS9TSm5sWGpidkVsWitndDB1Uk12elB0bG1FCm1tRXBoRlprK0NhMDNCR1VwS1d0 - YlV0QXJBbG9qY2ZIZldaY3djRWUzdlEKLS0tIEFnRHJNcDN0bkE0WU9JUURIQ1VN - d05kZm0zWGY5VGt1S3ltYVp6TFlTeGcKCZmtyrtptxxMkA2aHIhrPnMvc9K533tP - M7x/KcS9jyT5DAdcoqy/WWHS/TW8QqmKHtFKQnmJdr5s4RNIJXa05g== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBRZWxTOC96SUtua2ljOHlH + dkFQZmc5YUpmLzkwc0xiUE1sSHQ2b0ttaURnClBIaWpaVnlxUU5Yc0NIZjBHZmkx + dzhRVCtob3RPOVp0anNxM3BnT2MrVVkKLS0tIHlTTXM2YVZqdUZSL3lhQ0tLSWhl + aTVSK3ViOUY0QUpBaUdBeUtWSllZaDgKoPeOtwkrjMOvutf8/gaynNQ/sGyhbf3H + MVGkg3N4r7w1zRW6gqlQG8fZfGXpF6vdU7Jaxid8Lzy7+k1FLyuShA== -----END AGE ENCRYPTED FILE----- - recipient: age19rg2cuj9smv8nzxmr03azfqe69edhep53dep6kvh83paf08zv58sntm0fg enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBpVHZnQnRaNEJkSFlDOHNm - dWJjWTZYYzNya3J0S1F4L2o0SmFETEhlc3d3Ck5yNk5OaU5SZEViT0QzeVJnazhm - MXE5R1ZDT0s0N1g1RE9ackM1RUc4aVEKLS0tIENUV21XUFJQVERiMUtTaFlqOFll - QjZ3ZFpIVDFyVjJSa3RDYVBFVXZjRzQK9OrYYIs+h7F+0QCbKzdfan+SJo4HpDKC - VCtJBW4hV2SJr2kX/b3OIsqz+GM1xJ1WN/NSX/qRIYFZRgYUC4hKwQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYQkxLdDhDRDhkZFIxbUU4 + SkpTSTkvL3JUMENKR205K1BhaFlRRnJjOUdjCkZROGl2UVZ2clhibTBMamhkZ2JP + ODFnbzMzRU5XOVF5ZXlDTnVlcFJ4Q28KLS0tIFp0NUxHajN0b0FJWityNWcxaWNZ + QTZnUFhoWmZkUyszQnRXQzlxS2xySW8K8Mvfv3RkpM9e8U5lERrcF8GgU8Q16JlG + +jW77k3VQ00fpk0+/9Nc/cgV8bkiMhSzUkYRzffx0XIw7CMwRAGlwA== -----END AGE ENCRYPTED FILE----- - recipient: age16znyzvquuy8467gg27mdwdt8k6kcu3fjrvfm6gnl4nmqp8tuvqaspqgcet enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBoc3FXUEM4TnZZaEQzY0VK - T05sTVlxRk56Y3dqV0UwUzViV1JWUmNDK0E4Cjd5QUNxYVZrNlVjMWh6OUhlQVpL - dkUxWHNEUkh1VkkvMVRYVXF5Z1JldHMKLS0tIDFNcjZwRDZvSDFVUVpHRkRXdGZF - VWVMdVRobXYwZWpjbzNBdndQTU5WTkkKROyTGW3B7oZ+SwsoE4hcoFDlY3/RmP7g - GFZ9rX4h6hLZl1iFKTTbJ46G7uc7akqjSckjqmzQZv3hOC0INw9EqA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBvSmMwVE5qQ3BJa3hYOGxq + UVl4Wk1NNTN5M2tpbnM5VHpWOUtWSU5WT21vCjNDY05idDdSY2NqOVk5NGF1bzRm + RmRhQ3ZCR01pcFIzc05peDhXV29oRkEKLS0tIDk3UTYvRDJiUDRwRVppYzZnNUxW + QVdwWVlZR3BaYXZqQ1JSbjkyYXpNQkkK3/GjFCrR2PSNbKwIQy8OrVTCPLtSbaOR + npHyCDzER4X7eQZGIAleMe2R0UEd2330aUzk/Fw/Kdn95I82t8si8Q== -----END AGE ENCRYPTED FILE----- - recipient: age1azkgwrcwqhc6flj7gturptpl2uvay6pd94cam4t6yuk2n4wlnsqsj38hca enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA5TlhtUG54SFlxSVRNZ2tk - NUh2bERPT2RvNDY3Z3h5dTJkaU5aSHlLNG44ClBQWlIxNFhqd2NiSFE5RmJRWHhj - dEJReStLZm5wNFlQUGMyRU9pVjBtN1kKLS0tIG91WFdZRzN2SXRabkkxZGk0UlBi - RDZCdDZscXMzWGlTL05NTzVnN2ZEUHcK+Z3HF7+r7LsKhSV1mUmHx6ncceh8xzbh - KHWDdEyicQlKpMjBcN1yyZ2KFbSMRn3HyQIBcXoUnYv/glCQnRnBfA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1Nys0QWFqbTlHTHpQWWhr + TjRQMWJCYWh1bDNBZ0Y5aVc5MldkTDhKU0dJCnk5eVN3Ymg5UnZQT2FHODVPM1ZQ + Z0RMVlhZb1phaFV4eDVJcTRKeEFEUFUKLS0tIFpQcVZraVlmT0dGWms3N3JQNFNr + MEtwTStHQ3RJVms0TEZQdVZxOTI4eVUK2DUI6QPKg6T28ENK4ioL366Uj4coCGyy + aBiVa4RZybTDVv7LHtLfPK5wjFilasn+lnXCnX8BRmq9o0GYKzBZLA== -----END AGE ENCRYPTED FILE----- - recipient: age17x20h3m6wgfhereusc224u95ac8aj68fzlkkj5ptvs9c5vlz3usqdu7crq enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBvcVRLNjh1WEhpNXc4NU0w - d1h6bHYzVFI1NXZCaUlpTUh6YkJ6L0dISUJjCnhOYmoreGN3bHJnMW1aQ3N4RXo0 - RTNhVWd6ak1ESExSVzFVZE95b2ZtOTgKLS0tIDBsa2s0Y1NTaytoWDhveEdQd1Ev - YzcvTkZCU1hxdzZKKzR6N3N1WlhOR1UKELTa8FpcdumoMPUoKOPgaoCNWBHkKkh7 - VfBv/Ab/5W5qCYocFV+aTjj0iufNCv3/Cq9OjcXSbZTv1oXAm9oKnQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSByT0xtU1ROOVFIYk5CWlZL + UW9sMzUycUg2d2Nxc3plbWhUUExFQ29GQmhJCkdSTW1Ecm1CT3hzbmdSZGRWeGo4 + NVR0UUJhTzZFYXlReHpacjQwWDRVbXMKLS0tIGFEVzdXN0Y0d1ZUWk1CbWd6ZHpl + MTJFeFFpaEVRMk1UYzhYODZBSmE1YzAKisxJBfcR3HBiIuh1e1wxKJ50kyJ/CotS + 9up/2t829UCKAHbrGQZgsZYdpw7Mv5DiD/lijoel3s+mNGWnTU48bw== -----END AGE ENCRYPTED FILE----- - recipient: age1wnympe3x8ce8hk87cymmt6wvccs4aes5rhhs44hq0s529v5z4g5sfyphwx enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDMjRuUm9TQU9OVy9pWTRM - bUVnbC82T3BXbTRPdnpoNkdCc0FQb1pJNkVjCllob0dGZUpPNmtmb1VpUXkvbjJJ - N21uUGZRREVpMVVqS3F3OHNmOWhRcUEKLS0tIDJ1SFA1dVNTZFRpVTdBYjczRTVs - YmVqNjIzSEtzaElkOXIrWTAyQ211MWcK/47B6wyxAL58FkKUj7/qX9gISV3BnmP2 - Q07HVr7v3fJIJKzVByTI5FUpdVkrbbf5nqRUUi1Iylm41qUggH8b5Q== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6VGxYM21XVzdjRDQ3VkZS + cmhoMTBVZ3pzck9hSnVZWTZVWmFGZ2VnZUJZCjFRakcvcEhoUjY1Tjh4K0JOcS8w + N2VobHRjMU1JWDhPb3Jub0hXY1llZWMKLS0tIDFpTFEwUlhwNm80WWk0SkRLc3BZ + dEVua2pBYXZnRE1tcUpYcVBGbFMrWHcKeyuhXl++Z9PLbiKuHPWQV0xn1WveVdqS + AFp2kPeYs4/EYUxBJUsPQV2Rg4mmfa6L/hxYyFm/TzYZvzRiuMMaGw== -----END AGE ENCRYPTED FILE----- - recipient: age172pk7lyc6p4ewy0f2h6pau5d5sz6z8cq66hm4u4tpzx3an496a2sljx7x5 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA1cmV2NnFvSDJUWERqZHJY - M0hNNEJZcFlnelgxYlhHUmM2NGNtdFBYbzE0ClJiaENaVW1aR2wvb3I2aWtQM3VQ - QXNLVXY3bjZXTEF4bGZJS3RkMm5XUjQKLS0tIGtackZybkcrZ25tT1oveEgwb0Jq - V2p1NXBqM3Nac0Z2ZzRUNlVBTFRSOEUKMlubiDYlqv2SZr+yMrZAOVXbO4UiIWH+ - az3wjgvelc2nhPoqlt67XP6RdjHsAdGO2RldlnV50x5SBJrdAy/OnA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSM1VIUlh5WHY0RlZDL3Jh + NmNibUhBQXdUV1BmZ0liMkdVRHB1dTJPQ2w4ClhxUUpZTkh6Tkg4OWJ3VXdVc3lD + ZUdncCtqY2hwMUg4QVQ4N0NJQ3BvdU0KLS0tIFI3YU5PR0xhNkFBNkNFY3FzNHRX + UEhsc210OFREbmlvcXBZcmpBY2o3Y2MKDmwNbEgi/tNQ6KoHgWiZwZo1npxBhrjX + I341yyaCvx8r8cxgAZ2vyTOjynNUV8wwl248QERAa6U6yVW0Qb8puA== -----END AGE ENCRYPTED FILE----- - recipient: age1p7pxgq5kwcpdkhkh3qq4pvnltrdk4gwf60hdhv8ka0mdxmgnjepqyleyen enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCcGVLZTdvQnVYTndIZFJw - RXc2R0hzakpsbVR0enZzMzA1U3JGU0hyN2h3CnpkNTNmV0V2ZzVmV1ZxODA5SCtT - QkZNcExqc29RUFN5Qzg3Q0c1OUI2K0UKLS0tICtUVlZNVzFZNnJZVThNby8vQ3BC - RTlqR3BDVmxQME9sZ055ZVk5WHl4Q2cKJ3/Ae3XLPmMrf9GPZCTK/6Q2latQOHtR - cXdPdTFnJ6C2egv7V+9ln0MEN4Ge6AP82LyOIZ9WFEqM98+gd7ztaA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBleUl4TlF1Y0pZRFFONk42 + OGZjVkJNZktUV3hyaXBPZ0FTaEFHSDdib0FRClJadjB2bitldmxkSTVyaFZxL1Fr + Zng5S25JdWpyWnRtMWNVcllMYXFnV1EKLS0tIC83U0RxU0FNRHBKUkxnVWxSeGpp + TXlQNGs4K1pMdWEwRFJyaUU3aE9KWWsKxHnQTFW4XGaRuOsS0W3bO7GC8xZr/D8U + /UX7Ggo0BP95XM7VXrsGYzXReOp/z4qR6iEtF+CL9ny832VAKM8LUg== -----END AGE ENCRYPTED FILE----- - recipient: age1sv7uhpnk9d3u3je9zzvlux0kd83f627aclpamnz2h3ksg599838qjgrvqs enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBsRlB3c2x1anVEaDdoRXRs - by93SEU5TmZ1YXhUUjVKd1V1RG51WXMzeG1rClAzdU42Ui94UVJOOTJ5RWxkZFAy - QkdBaUp2bklIU3NLNTVDNGpyLzBVKzQKLS0tIGxwYVN1Y1hSUHVpU3NFVjVrdCtI - QVlDUjMyQ21NYWlQYk9qYUxpNG1kdHcKCc4gqtMg9ZiN0uN/FbnVEBESCXHCvPY5 - hzWP0/56uxjBhDp3RRH6TdeF4/oly8rxm1PcYVVqF929UyWVPFJqCg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYSjNiNUFIYzZvL3o0RUl1 + eXFhWXcwai9PdlB2R3FYRjNON0RVZWxmWWs4CmNqT256bCt1cHhNSGIxMjEzRVg1 + N1hoeS8wS09kQUNVZ3hyKzgxTDNRRjgKLS0tIHF5a3FrZ1F2cVc5Z1NhZ1J1U2Fa + ei9MQVJNN3NCUG4za1dPaGxQOVRsSG8Kx/ygS7jX5xB6xNi6YEjJU3sY/BiZibMi + 5Ajtu3gzB+U4pJyOBGS6wIyvCwgNjVGmjTaIFSb4CDWUsXBMG3jkwA== -----END AGE ENCRYPTED FILE----- - recipient: age1dkecypmfuj0tcm2cz8vnvq5drpu2ddhgnfkzxvscs7m4e79gpseqyhr9pg enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBncGwrelJRYjVEdFVTRC8w - ZlRzSklaUTVIWU13dEIyOHJnM1BnNDZ5TmtNClZVZjc0N2tVbGtnMEIwbTFsb1g1 - NW5IVk5aR201R2syWUE3OWxtOTN3Yk0KLS0tIE1KMDJVWnBRbk0wV0k0VlRlbXNY - MmpBdUNSWnFNdTVyMC82VGpqWGM5cU0K10XczLAgbo5pT9UhLIr79biVx05bYig8 - Ekphbhi4HLHSn4RGwOpdpFK0NdiAO50Zqoryscuk7e2zi9DPEoUozw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWcEFRL2QwQmkzUllyWmx6 + bWpkRldOOHE0QlUwa0w1WWJocVBITC9GV0FJCldTN1hkd2F2MFJCMkZlMytKa01l + WHJaOEFQTVAwUzUxN2tIYmxqMDVzVjAKLS0tIGhmUmh6ZzBSblFOL1FaUm1HWlhv + NnFVZG80ZVc3Q3djWkh1YnhOS2ovSEkKlAq0Zv+U1oMt5jm+BKf3Uqv7IoOIRDs7 + mqn2va/EjuJoglqr45eq7ipUctg+wg5ijXI6OfANYqUaSnIaoTsPhw== -----END AGE ENCRYPTED FILE----- - recipient: age1mdtnk78aeqnwqadjqje5pfha04wu92d3ecchyqajjmy434kwq98qksq2wa enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA3WTBGNXpiZWMxdDZEc3hH - VkpXQTBQcFp5eVBLd3hON3lHazBCd1F0S1VRCm9mUGNZNDZqUElaY25wMXlHeURV - L0Q1K0NPcVVEa2ZZWElZbmI5b3NmcWsKLS0tIE9ReUV2dnZCQ205SGFuVXRqcStS - NUdLbDlRYXo4NW5oNU8yU1oyQzRLK1kKRIJgHNFGxVrMEwzHbeFKkyZLVzYo1YL5 - bHsgL+dInZERlXJAwJrOcB+GIlJf2tcTQqPOmzmQiD96eXmdgKeyYQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBvTGdxbkkrcVdGQnYrOXNL + SFBUd2pmMWFaeURLeWJobTJmZU5qNCtOb1dRCjhVSFhlWldmbWJTbG81NTNNZHZC + QnZibitsWWl4eUNneDMzUGVLb25lWWMKLS0tIFpsM1ltdEJ3U1ZQTzY5clNTTDcr + ZE5xWDNCalhiRnY2WU9oZFI0b1VLWnMK8pOimnXZLgkKgf/meqaJBQg8wVU5E50D + k+LN9oZxB7SOunMiQHUROPp/ib1OBlWTcuVVj8pRb+sLXd9SV26hSA== -----END AGE ENCRYPTED FILE----- - recipient: age16pxqxdj25xz6w200sf8duc62vyk0xkhzc7y63nyhg29sm077vp8qy4sywv enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXOUNpUklBdU50UXNsb05m - dC9QcGpySVkxTXVWb3c4RkF5TmpQZzBKUUhBClVNWXZMR29YUVBzdnJ2bGdBUWZW - TkFsRElrYXZQWmNoTENsMHFYejlISVUKLS0tIDg0QXl5N1dPcVdad2dqbjRCNVNC - cGxGd3Q4cFh0Z2pkYW1lSnk0SlJ5dFEKgOnmce7B3puHLjtIjpoaU6nDy/cLxpqf - O5orF5Cn+PC7W4Viqr3heY8Nf62JMglzpC5h/y2YsVr89v4JOOTVlQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBFNUZEVldoRUNqT09jRU1v + VGxjbUxFOFZMNTJVZWtrOFcrY1FxTURXaERZCk1JWWhySXRJU01DU3piNUxZbkNo + MVNVb0ZnbFBUNm5QLzlDRmhFalc4MTQKLS0tIDlKWHF0eTRiczh3T3ZVNlJCZnZo + MXZKYUx4eFpOMHE0WEJNajVOZ1YxNG8KDYWpoRRq507hXclxh09Hc+qTHJpM0hW9 + NwjyOJRT1HLAdSutL8I9GaNpGGJBNizouO65BfJp0eVzqK4GKejMOQ== -----END AGE ENCRYPTED FILE----- - recipient: age1hv7m3xypesdfm0dfzwgctde8v307g9xaunnfu2687y0lagcs5q7s3eg0kj enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHN2xPbWtaTmhGbm82ejdW - MXg3eXlWOFNhVC8yMEl5K0pPS3Z6eFpTZ0hzCmtWTUN5UXZkRHg4Mnc4eFprMFAx - TE1XOGNHTll0cjU0cDcrWmcxSy9sYTAKLS0tIDd5Zml3Wk5vVjJpT0ZEVWtTc05o - enFEYWJjcWFaajRWOXAwN0ZBc1dlTzgKL2aoMfNCJUNeWY6qhpnNUZbo7K6IkfZl - R0kH3Co3PthwMI16BuBGCXkRBwEA7AY8MI6gWg6pVeuM35cf9K2evA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3VXZhdGlXa2lRa1JrV3RG + cjl2LzB5SllvSERWamthMHV4OEpRQ3VsY21jCmpyai8zY3FFa0ZBK2ZCSWEva1lZ + bTdQWlNDaFUzbUFPTVhsTDFEcUR0QWsKLS0tIDVPM1F5UzdYSnRnOFhCaVF5ZUJO + ZHZtMUhjdlJ6MWM2OFBod2ZmMkdZcFkK31PoSqKZi7/Wdn/g9VYuYY93McNFqgth + yJjSr6P3vzrOXRewdSwT6BsnTiJbcV0MXSRp3EN+8/xA8IsPg4Of2w== -----END AGE ENCRYPTED FILE----- 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: "2026-03-05T19:17:51Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/5AV3YQcYm3Q7IDXrq5bYMdvLN1oE09XC0qyOFWmH6ZG/O - 1tfI3q8qaCV541x6pbE41PABXs0xpG+vRczs8yZkXs8D/m3uPH6eQrAy4P0YpLK9 - fujbSB6go3dKhFd8dh/NncIRyGtatRSYWs9vYs/8eSevxj1jIEksKpz3QOSBbnuV - f0ScW797+3SCV9/Esa6GaA9Ti2GInCJyQ5CQHqRoc8kapl38Uzk1947qBVlcavrG - EaV1Nu0aN4STgpbOYUJOqAOAWna3b+OJ/RJ3XS08IQZJ/6jjQcbotXjCTIiro1Af - hqFb+ovyfbbeqVLP1H3iFwuNLOQCVzTJQoY8nw6e04V/hHfD6Lwn9QEhjX/tssQ0 - vffVNeuVgGQaDajJCc8TYc2Vpq2XSw6q9OeFvT8rQFTT5OSp0GVXDMmr/uRVp498 - 6QMr/R/sPMUsDdc3Rgo2KZmHnYRrcpxfyGFNlS8yl4yATr25oKbs64AXYY0Gx80h - RDWwnEcl0F+lG5Udat0K3tJ+dJglDANdLWE0GK9DFdFEyaUdZBJiT+ixfYtHE8Hg - DpD+9m3y7TSIfjPJZQU6K4YOAP48mcwO4Hbt31Jzt/GgbORueA2GtyGos4cwRM0m - whbOQ1Xz/fVrLmgolG1rTzHL+3gYGe9cdl844k8Hq0yolm72o5AOQxAZ7qllv1TS - XgFXYDJaeXYQmSs36IPBByErcvGrrkpoaRLL/hIp7nSfY6FAwn63noYeq5W21SnV - hjb3pxhjkhq9VmWpgszjG9BJ16rjIqQhenFKn0qEohAPTeGtMmE9A8wmaapuMxI= - =Em1l + hQIMAxK/JaB2/SdtAQ/9H8/E+EwjeR9e4MHSsRfSMO+2KZ/9IYtAFojKfMiaOJFJ + QXFsJf4cz7VFfYC1NV+hhEWPjT4tSXHxP6UGmnrJkHk4jW12LprfSo7qOJ/2xajM + livtyzp0DDA5NpetgLxGe/hEEmpblzZgjSblqfvRZmcpMIbO4AIf8WpJJ+fMk17Y + /rts8soEDOuZTW+nybiNEfcPyLRUj9FKnFgnVB57C1sjdPlJeKEzHqV4wVfeYRw6 + Xb/5sGpXfxvoJpEm9BJjnocK3npRWIgJylxf6NqTYkaI2AS5s4IpaM54gYNIRv5B + EBJCnsE86C7hC0Go3/xLqvoRAGcUFC8x9mEWywZVjf/cXzzoJvpRQCQy1drCSnKM + GwSUDSEUUOQt81pRqH2Do9lhHWK8pW6gPBfepOnVI4iRrPmEjQzmDF5bYWZWxj8e + zvfwa34Upd5j62P6LtQLUatyMGD04XRrzRVmrgKhb9rius8jHS92GpcLd7UNXc57 + sux1sL2VRr5RMiQsD7/Bxili9fZzdTZdbWNY3j/hRn5MrzwxyYlCG8ujDxipdmlu + WVP41B3UVFgSnC0QNJ2Vx5txBnA4MtCBv9+QO47kiSE4vtXP7qp7oCNfJimeuG8v + kX64oPDHr9A132U1iG7oggxdb/j0fXCovkrodEpVZR4kg8Okwo0cYiMsqUP8xZjS + XgG8FxHP57wVhTy3gOfBgbeCWwjW62AO5fdRzCXXJ2cvoM78XmNm1JTIWR1sEhUX + TK6aiYi2VyHOZXlv2EsP5yPSN/piatD2xa1XuaHOQ47t+vpXvEHDu418TtDRo+k= + =mvkT -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-03-05T19:17:51Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf/VLQFQEoj6x4YujK8e4rGXm48Ajj7HQ6nWfozToU/xv4v - Ug4j5gFQNj32GBoyCyDaz3iGNO1jIrdb/OoVsJRd7E9V4zCCIXLlWtuMwEPfRCTp - a9K0R7Hrk2LP0MIpr93CwJjf3oP/LyVEr+/hb3W+RM87Lujsd/6DYFq4BXUHNgA/ - vT66F3/BFH8rPEiRUlXpZe6+ykgjybG/T3uusxXawAvhD7u5e4fLN2wQ7epdRvk3 - 98fZOvVnMAb/2rhGsQb4rCLMRIf2ZNUVBKyEdO7eRvE5a6tQGRaPECv91M6ExnYY - 9FS+ZZidrSc0XnD87titf6jirNnAH3ZVbCdzLwSs39JeAdj1o5nONIHKgc9LWF63 - a/X60R+sYO4EYDCUowzmiV2HirxIV9HzlY7skDczH8gcFq+aRPHbxaEY4gcGVWrL - o3anatwseO+5eB/pFI1PPUjqP/xy8kSvONWExy2ixA== - =Z889 + hQEMA1QflAioE8i3AQgArO3p3hIK2TDgq6Hm6BAz9q5KSKpmLynRTUk7x8xyrgv6 + fjiIVf6PnkPST8sl4Y18cotLIIEI2Qqc70RP98et9ROMiyp3uFrgb30bPlQVIJLl + 5oobFHa0om8eiqal9HV9WmC+bwBD2KKFzry1rjYAJ681mvWBkNijIoSQBIdMMVPN + CTPqIiNhHt9yz+XMGO44+RillA/i9GDrd3G5pQl+NyZinr2GClBEt+gf6oR9YJMx + pN+PZ0+V8hjrKkjvPlIkE+GLZt75oTNeYmdTjQu2apA+Z4G8AZCJNZb6o8aYeuzs + 5ExPFWLE6xj1ZSh92aRJ1uokjS87M9+5ME1sIXg46tJeAYYx5n6mQeV5jvPb9N6a + W0i6EC6EYrvB3BW5qJvh7TCx8/TBmOcTm8uvR/qzelgp02sufz9rExKtl+EX9Oxv + Sm7PlFzxsO9qQCIzbxxVcRRJWtEkwlu12s64jn3MlQ== + =jcH9 -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-03-05T19:17:51Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ//cZi0yzRs93r3pZ/f2XHms068sKJcRT9t8qTjjuEeJy+F - ITYn14JWTwgztfU9F+nBZim0wNuc9uZmqGuLBy6ILCSrC161HsoabLQrxfTLROG1 - F2Cqs7ilygurHfOqDljQZ8Mfl4bKzVaPzw3ROH9ATN9BJRmvXwDBSaBEIwzS4fmN - FR+dedC7dKtK6RG/xXnshhLk1gMhaSyW2dT4JD20Lu1DK6eUTjNyQQUrh8E9pYUi - T1u6L3/hscnL4QkWmj4aw6d/T/seceGtkr7q/WfzFIKAOJ+9OvBvQi7EdZMiAQi6 - 1SE0hgf7zYVUWg8H+Q3+6GGmmM/eh2AJxH4TVQVyc5Y8fHxhhorUwiyLSwZ+SanJ - SYXePO37+MEKJtKu1nKoMK2EgOTXDVuMmMM6C7o76rtIuZaV1Lcl/idzxvedYO4s - VfnMDB/1iQ8sUDtAWl31nnygZjZ1C1+0XyDhBeC4FXwnS3OTzpZtNhqW+aOCqOgv - XoBXIozJme1365Sd7LA4cFJnv5Z2LJJbgXjSaK2TwnCgFpTKyTeHaVMiQAV92Xoj - M1MDK+e/BeiTOROMAr/EbfV8HOja2+8YIm8/QaAOrYcDi0BJm34VFJf58+3gbpIW - ieiIIsoXrT3s3FasiQX8jcEJryEp8duGhMJp8GgnJfHzSk7T1krN9naJWCo+edTS - XgFOBKi30sJXW45A78KwHh73Qa8IAeGsFf57taLThtIa1pkO5Qq1keMH/TVHm2YM - Dz4FrOLDoLabAgeD2m0xWAEp0lOeRjJzmvzXrnkxAfisFXiN6PzWIHEWW+Ns9eo= - =Kv3Z + hQIMAz5uSgHG2iMJAQ//REljeqnM6ArVUaw8i/6Ja22sea7XGZeAfxqoY/R0hWWh + 4zFaDSPShcYP83VNQ04FnxjmjSjzDp2GXywoti7KjwIhz93V79y4zFWParZW5qhS + 5xkquBrY8+xAYQqAbEZVZBN3SsOQmm7d5L3ydIknZYolqdTTv1JRpBgPvXJo4+el + T/WC7WsAFWpc/E12IkDTlH+qtNUYZYlKbEi05Yq1MXt42KNEOtelg1IfpvESOXtI + ub+Gbqj4b4e+M2B/2g1jJUv6fOuNsEXiyOBBk69KdDck31Gju3YfsAsQS91cIMzk + oXFdKnbRwtP+byIvCKt8gLZXFABQDjgk4CEuTMrxnr6GbLCdTYLkhVsAy5aQTGQI + osWKPncld/diMANMgLwJSQbDromDrJI0O7CEdqb+jOGE0X4RlpCdQhTmOwal0EfC + 9hsH+yIIgrvHmx3nmoYDjtkKZcmO0+oxPcm3Rd8Omhp2n/te0VO/YjtK3NO+Go4a + BcbHCJH2wV8UIkzQslFlci0U/plCq+VowiJaBXDhE5E6pwrw5Uw/1emZDIpk8Q8Z + YkJ1PG/69Cug9TGum3hAqS9HWotTHVELc1WUQ0FO/jYzkijIovJYbrqzl5ddzZW2 + rYSdmQ4etYGh+gb6fBXZlghc8SV/jPtFM+S92QGftNT+yoI/oGbd2DPAXqh64tDS + XgGrLb3JoWWRRHQFTthG++pwxT8/VBWC4WaQ9/PoekI10mQiwJ6iowYzmHm7EQDm + xDv0Fjh9nWwMlLyUIcVgj85mASpJvMCpXJg+0o2irYDBviHEKe1WvNODnML6coI= + =cGxg -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-03-05T19:17:51Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ//SPc7dXhI5fYU7h8EcIjTeFBZx7N3XxXiNtP97nou1+GD - MI/+Nm/Sb4Y2vXGP0N/LZPB8j1Egm96P3BQM6Y/s0F1eYUHIG4rmEQQgDFK45Z4V - x1NqfobD5h7wuY5A5ZPELU4qJdFULmouwbNGZdNrk/GC1aLCOPI8Xb4ACWBoMDmX - rjJsvHIo3G7pc9qnd4kjUO2CtOAeGtGM3vgbcKtwS53x2+EzZbtJ0/QCUS4PoBvQ - vJXcEMoJ6+kKiIZdxWyAqmm5P5NxFISQTQpogOi30b3TcFNOmPdwh6+kNqM4jadn - L2LY8JhNW7nnmHJ/Z/aB29pebgpd7dwwGMBMhh2qhT0utGE3LI2T//S2qsOOXrNt - W7eZI4QtU95ByUN4oSBhxMnOd+uPhAXOKPXNZ/ZrVGEy+H0Qvfw6Im4fqsMKEvK8 - XM2bM+iH2h2IeEbsehjWcti6u4EapVhg95bG+jLH9irrHOhWfHRo1nk3ZU2O9d/d - XCafQfUM92Ee8P5S66V+QwLHRprF4Prq/RgBgXvBE7In1TPqYnGSZbYmFKBU4YGW - yfbrySe6Ta6glH5GNpN2359yGieUSMzFtn6AVJQJiISgUR39yLwAW4LDp5mJTXXc - YnucQD67Kwo+g0IJcvn/NQe3NmcW6O4SzmAo4+9u6ZbqL871pQLqQ16Ge+4qC1HS - XgGP2h+hdd9Ujv/qyAGCJPYXyaeqQgNrUCl/wYsBwKpti882cp+ibLSefyksSNrL - YKwkTO4OU1Os3WAsLKCm2teFikIZNuGRpll/LUdJ1lebcgrDYksi4BCbfmJos5Y= - =xzzU + hF4DsZXvxFXTXoQSAQdAdjLJpu2sv+AERjo0Nl+Z/dhSc8V/aMNbL/VLc/6g6Fow + 6JPzG6YQi1ajPSHOn5XcD3Z/GykhOHt2cYBs7n/UkujIQGO+yM57uStoSYXLA6As + 0l4BIWKzMDSfH0uoZq1erqfWbdZVI6h6ZLcgn4M0nEwuJbeuAVINa++QBzT5L53/ + i7CnfNSI9reKMfOYKAftn32D9LxNYckrJwtxR2CLzjt/d9CKImsgGZtp+jL02clc + =NX55 -----END PGP MESSAGE----- - fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-03-05T19:17:51Z" + fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAqWKRSe4mXOoISfxgFTCrz8z/Hnf8Tr4QhK24q1wgXT4w - 4KRxQZXkkMT1t4CrSDqfb0EAMmVoy4wZ56t8gIjhKFeVWkpnsTPvbLw5s0X8yuur - 0l4Bm2KGkal0jkeufePCLRjIEIceNacsoYjr0MAEnbjaW7Fz5Pgx57EnCcXeTc6T - XRlZeVnldD8MVkDd+DRQ5xbpdRVuy8C6dF6Ilq4gaCjtS1cawvVDGtLE5MswJ05j - =EhTC + hF4DerEtaFuTeewSAQdA7MaZKDWZ2u0/khO6eEkABJKaaLjrXWVLsoU0/ZDwjxcw + Jwxmpr0P773wwMmVHUGRqa6jMSkaCyfdZy0aBpEaWV1jXt6HSlTxUgPR1qc+YiC6 + 0l4BXnq9fFAkDe97qmVTUh9vJx5179R4H1dqae5ERjZD+LngmtJcItVupMFMxCem + vdRrhB41R6amjVq4t2tMhzg5s9k1EDOGcxiSTNu588KE7n5SFVQRd3v5N3u93Fg7 + =cNv4 -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-03-05T19:17:51Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fARAAgpGMlPyVL1EfmrjANbdjzi6eWrQEmxY3KgHfCYQrfEMz - aR3btFrlMURn8HUx1CpB4DytT8pWDNeEWCyIsb95HGy/JzvZzeCFXjTJyrhLckv8 - hpjbyy9h13fivIp1u9w0/+OE0ATuEQPOFBwRp/h45tudSxzy4NkuIR9tNZuxavZt - Dx2MqFyXKs+BRE5Lz76ZYg89F+jdM/c+rA0jIsJ7mbW3o99zWAqERn/mE1s4FNAF - 7Z1rGkOUnRHOUEDQsf4yN7bAJ3XBUDmA4xEIKBCXGP6+jbdzCMsDmcMPWfE66cRu - vpi5DLOGJp99BdBBFk0YDcLdH1eU7UZvxhquG1ZP/jSRr/GKc8+20tXgeG78SeyH - bSQ2qgdkt0UXwx3k7YRQ+JkhzpZ6gJ2l/hHAP+TctEWOL6DTayp+9einEWJhUBgY - Pcg6c6ZwBN5m1YsfdKoRzuW1BaMDzCROG7zwtAAyJpnzSGyHLGW+Sj+7ReHMzj0B - GWy6xgiLIL8fO5FCEEM4oRYbP7urwDjK5EvqtydVXJjNb19sDuzlMzRaiesjYx+5 - xFoeM2a1gMO88oa6Wapmeed78OuCxisTRDjAo4OXvR0pX/53FtyfOBXh22l1+DmN - EMQTp6iNBGWoUxfmxPg3PfDRh+EzxOxt8+KWoIp0QrgRr8Dqnsi1/2G5hJHq8avS - XgGVpqBtVre0KFZThJyj107r0u6YubMkcWIkSvhO+lStJ903yr5s9RdPkk2S49fn - ms79HFuqQQAsT/foOxfdt27c61Vyk/muQEOW17b/xEeGDRVJ0hLwf8jMo/6fe5k= - =nqL5 + hQIMAxjNhCKPP69fARAAh/Jz+JmlLWD+eOiAsgY41Okawn2T8KxmVVQv1koRh853 + 1eZtHiXafqsEWsbWdCafSbez2Q2iuZUATXRQ3V4810x78BbpuETxgbJJ3XG3aQBd + DMKD/Uoau3/L2n8oNBoe2m3qjXxNjzFPMTWYBVm+jwEXyV0MthjrjmGCBaE5S8nq + SB5DhTVyBRItAmhccCV4KfDEpwb+xqNCzKBFbcHRZkOie2Z2XPJkymQatvgw9nFB + ThN8QYuXBNtgNqCZmpcZFqstKCUzI5YI4fvmRvo23iuoXluaGwnja/3oOagXzQl4 + wXEJn3bnSGS+++M8bGEYMCnUg9DDHrcVt3TGyfIBOSmf1sUHRDGsX8WGtz+bWsTK + MsThuhpzfbARQwW1caFsmPL2meTGZEM7NGRkxZ1F9+0dxxo3mB2OWMQE0emcSnJN + z1IftXsSr7mXPy1geUjI55g+WMf6B/CBfP6zIpKEXmdCycL+upA4XhKQKqgBDlOC + hWzp2PPeCXHOKAjdEkVc2x1/m9Mq8filFoRpEK3c13wqvC/3nDpyWSF3S+hkIyiZ + +63PVH0l9Y6phUx5ixy9C2V1XvP4mpcdPZA+1OIN5n9ra3n7lCKc9GpcuQNY8S6W + eoF3+ES7xRR6lY7M97BWjs+ZHVGLJweek6drilBFjJ92YxbfvKFw5qk3MbmsyL7S + XgHSJn2mwV2qAfm9UQmsLhUq6OU6tW2vEtIyNKLbPIzziNdQLo0nkbBgk0CMGvuM + VlNOo4ihNRq7Xmy5kk9LxshGk6SuYRPYh6ltj1jvWAcFXBnmdwsX9pRGjIvvOwY= + =1i2z -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-03-05T19:17:51Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ/9HNZYGm0BEAACffBHZLfVNgNhj1k9PhPjKPhk6jq0/TF4 - 1Q0sF+NL4n0oivIx7BRsIYiVuBbblelO7pV+i2iem+X1J1LO2dQsYqt1d0Iui2YI - SZ7bcuw1y7ZZuaWbrxDdOj2ExImMRyQUTSfN/kZMmdPnl8pgfFh3DO8lbATAt7Aw - AHTXLtyqJ25891K/P7mR2yP7sHKCZUqXAY5VAYAqBN/b4f2CxmyJSsnZlf8/l3rO - m9wbuqs0Ofp77eoJYqhiSlfXecQ/mnoJ17n9O4uf49xPMJf0UTvzLzl0GKkZGjTZ - htNfiQ9azeLPmPeCCqp2030Nf7rd+Nc5fLSkmgs7xI5Aw/1FyiVlV79aNhdv6MBD - AGJOEvd716KWJPsQUwchT3AdLypbFdDndvrw+Gf/Nzz6R3bZn3DQpC+tGKxteN/X - K2vItobCGTXgPuRNFv/p/J3I+dkmXQ7uYtJLD8ik02QV0E/sOHzJrO8xKIUbFv5x - vmRoh8K5s1ccYS25ZWo047vOuMVjDYLnruMJvGVVjsQpBhGr2xgPJOR/59QGA5lx - tQcRSeRyHq8wL+I7R83wykK7927rprnvZ1vzc2qDPW9S4hkJuKiIb05+6RS7eqJ8 - 5D/4SkFw4OiMpYthwukYAeBe3wZ9SKMAiPyjyRIGPZIriWGI9PX0UAtUSIzOB4HS - XgHr+m7jT5PRi01X2MWyV1OYzLFtvm+GiR/udGR1lDqGJyMQQiojjXNntGi5TG9e - 8Q2T21zximAuQ6Bmly8JjP2Ma5fAVw0CmsAP83W0K6syiedutCK2xkTUes6tzEU= - =w2YK + hQIMA1Hthzn+T1OoARAAuFTHSlVNwc21P3VMy8CsSRAFWYFDgdMcnTFX2TtUZFvX + QZomRmAyMuq/YBlQY9tf/rIruEV3YWvpDHzTLp9jAUXguECSEmtbsLMges7js9so + V/lUbIoJi0T68bo/ZOroYtEsFfynLZLuP3BYYuFbDuM8HUjgFobC8nb2m0BcLUT0 + 3Fo8EkN3+9ui+xXpobY7OvLojTNGu+8NOR5xM/S48WKUE1QDOhDxbH4ox531S2Hu + kmsOZkT0Fn/l72bKZfPbjg+dg4z5I7EBy7lkWLULV6ofknxzXU+/c0W7vcqakG3V + ABRGmIKEJ3RTyR3KIdN/65EmVI/BUKHSpvIqmgXa5DaAsxlLQn0I4GxbYyfvrrNQ + OZQ2pfpwFCW6D6OaE4DFQtYjcaBsHZ3PkiVD8R3dIzpwtNa39AqIYtpjLeaDFJbj + 2u9HBkYPt3Lag4Ar/G+TG/uTSCeLudYDEV/NZ+edbVEvRrBgy3Kl01Or23YwSW6d + 1t8Dhehley9UEF7t1da2m38v99OZJxziMTw7dPzvW4yjPxsrrRN05UzB3OhBWIfC + zDz/pkE+hSDxehl/Heayq7i/oHCHgiV3usJIE6tOUuftzIHeYSjsSI9MUvVZttb+ + HSQpfC61iPa3EzIwnYVoAImIJiG2U+fASLvhzbR+gjxr/7MNdpeGNpNCx6bbpTnS + XgHuOdeZXBEE/F3ziNvnuDXuRe2LPL9qcYErVa9yYUj0fy5dIWVqS5/ye3TGtAN/ + 4ZF/69vGrrvnM2XjEcL+Xacwh1GlfzHT6i6Y2ryEkc54JMK1QDVQxODA15qs9LI= + =D8io -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-03-05T19:17:51Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqARAAm7YTMjwTEeF4PikDcXGX6I/vfNNKLs1PxVN4xLbv0Ihh - vX4JOEqR5gDckqSbcY1A1dosPtXuAQJCcy5S1DAnpWombI47vYvQp5s2Vkz0PMov - 6S6sxppCYJr3c+akkwyE8fakVp/wG1RCMcAicSeX6vrDwMSJhNLSa8QY+sImcJhz - f23zDkzGCGMCPow9MzINbGHv6bUWyB8FlqXCeSvIbthNEdJj41IsHSMDI/rLtCH9 - kXIWnsPC6NcXbaT1p9BISbfdT7OFvjOraMuO4fBioSZVCZ2CLGIVKB1+EbzuhnLX - LyN2yBnFbmCo5l649VQpeO2dEmXIvKBL6uwrle0qk0ZzTgEOgF97X0YOdG2MCtxo - /fpNdnRrbPO0L530zLNZG4stREY3Y86CJzscJN+m4sttQrcGuqZqg4cgESl+fuxq - XkBhPGI0jCnOlffnIi+BvLo7zx/R6gR1cf+yEOOFfUbIejfgpwjurBxOI1R6m6Dg - LtFrTnEJ+fmQDjElE9AMeeoDjcLmNOKSx8qWSY2or+oP2YHzDXjzR2shqyYbY7Nq - fHGFw6bbzCLSQI/JgQLJfZs0kR1O1dNhgTKPdaZCdRTRSw+giCLUiUCBwYggZYkb - Kz7J7ZJs9SimJhEWmfA4XCjK2TIAg0H0EEwK1dZ/tXGADRe42Fn1L5A4MBCNMVzS - XgGKoHe5lw9FasHOXxKYYBwn3dzM0LnOelyk+uAN2u3A4jQMpBOVeUsZsrnNZHiS - Qouycj7Z2E5SFmTUP+q0OM0/4cSrso5YtQFe76j91pyqtxUOW4bgOnMjgHp+1E8= - =HCLE + hQIMA46L6MuPqfJqARAAqPPUcmWUpdN20V486H+2KdmaPXX9oHtDQR0G5Kk+XI+6 + pkcz2lGHlqBXpRQo/ZkWFty4QMvM8U8FZrLIWMMwrw1qvLs5abCFB+5kTWK7KEIs + thgA9hJiAal+wpBGX8i9XjcACleNheH6VvhYwQow6w5Z0bNfQ3C711fsSEDqOa8R + cNxvVJDKFiCrtFWzUzFJaTVbldMEegwHp0kLjMYZWmaBWGgNkF/8c3I6BQ2DtrKZ + N2CYHrQEwLD/6iJOFOGNiSB9fCXxuzRUp3Uqe6rphFBy71NeIxAycC7/gOPJRmyR + KMwSy4BrOwLAVFGIC7rLE3V2nuSVVx4byUFPkExhs0AgKPl5wo2Xp/g7flTPJ7lN + OV/kT/MbprJe4QuyBBbceafE5NGsL2C3vkWp+VzvkutVAl7x2r3u2ut0Xhy9FFF3 + +A5cD9szveRNZgJIhhU6iPREQ/miQq09iEY3vFhZ5REHylGzn8VQKTHUmT/NKUMV + Y9YIfOIvnupjdfVLnp5qTGbzVy/xeIxeG/rFM511m1zUJmBBwaXS+gWs/oRSNeX7 + A1hlmzsh0Zu3YyEjSsxPl10uNmNgt4bIBLV6S3O3D+FjCX115erVcBXqPg/XxVqf + GbvhCA/aH6h6fkgospSPdJmM4qE/pvsGPZ5PnfU2vR5os4CP51cWQicMn727HhzS + XgE/OZbFtCwyyuAXUCeYh/hjWIOQ3B20nZmT6pofeoKTOVOHfnOJD5UUxbLIn38O + 4NDH/MboxOlpNMpuk+NAJZkAdQdk1rudWsR6vBldO9vAQJi65htfQ2hu1x3/yig= + =ZGtD -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-03-05T19:17:51Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAZ8GC2AtUHUdDTRMqzId7B6/iw15ocFVnf7pxMw1ehUYw - yFfpvRSJ9ldSrOSdI/oKCevblM6kVj9czt15tKlW0Wh2d1iMLCErt6Dn7Jyw/dow - 0l4B45LqT1Cy5fCQpINitwqc0YXzyL46BeB32u4Iu6P3eNHhkKtona6ryfl5u9We - k7w0tQSab3+rO71oLUOB0v8ZS+rs58BWYQMwD1ejalk42nVq3NqbvxEhDpTZlvaQ - =BE+8 + hF4DQrf1tCqiJxoSAQdACwZwpDk9l9Bvw7TZ9R0r1YdwZ1dypkT9kD0idUN+/BEw + WhLlizN60OxA+6RBelg82XCYsFImPFolg+NR7h+oBOLndcuUQGOg4/ry0kqhp1MU + 0l4BDA37DtDUx4/Z5L/hXW2nOWHWE+IQma6LFTMVYT0ak/YNvRJF1q18UA4HyA4n + rhvUhP2C7N0fBNgN1ExFrFqOyJmsWve5GhVgw0OxwsAFATjxYLtiQyDN7MX9aQre + =Sdiq -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-03-05T19:17:51Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAH2RIfUwLIFXMWolneyQQ74MOolRMXfPjifyj8+4JBh8w - SHeh1wr9yo8JkQyKIf4X5lpE9V2ZLuUU8rz6s+37/0cDqP05U5G94MDnkAttI6ZY - 0lgBZsHwOzEZv3h0XVWQpIaMykHa2z//VOKsCXPnyFomBlbQC8NsHvHuyzan1ISv - GNRK5i1TJW6P3+FkSbL8Sxt+TxyMR66mFsjrqJ5nEX9x1B74VS7J1Z6X - =Yz+R + hF4DzAGzViGx4qcSAQdAng3WTmhMO0N0Y8H1jpX+B5LRerVj91Ef+ejPgwHd5lww + eXb4olDSUWJ2OFZMlVtRQjsFZAnli7hfKaAErbRc7qnZg9k7dOGTSQiEPFTak9D8 + 0lgBt/Y3k4yMmqhG5w6ACw2bs13rk8tCgg9muocgu4XgeAiutdDbKnbpjSVLANZO + ZjMb4OT5OvR5BbLLm7BAtwEXEdj+FfL4/l/ZUwTIHgbFZYqyDFHA6fvb + =frOu -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-03-05T19:17:51Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ/+KucSbdKlfAvLmorZWcbWkFzOw8KNcUmMcxN+gtv0poSs - BD6cl+qymNnyDDiL2nzBiZFXpgMmkLmHAWKTZ4WE2OBpogO6A4Yfwv2vy1WXlm2O - MmSvff9ul8CBFVvr6kemnfqahIfKqac2zZiLo3BIKitZKGa87dLW1b5UU0v+k9sz - Ze2gdOLhQibnzaD1/OawW8O2QK/R8YJgNw7mbm3MWdHwZz/ZXo4Q8f2UbtrzLF2X - 7Hk+fllOh+ocn4OvpFMKSaqZJwBlXGtn/vM1sbQcamj6UNPg3/rpgUa2owsrL5Ep - 6tScHFSRVaWJDwtytWIgcEqkPiN2OB83MTfdDtkxkq7nih16d+yd3G/uCy5VfLVs - UtBi7IqDjNH0hWZZkbPSSXO2i97pq8HD8swTsU1qDTWGHcivDVdhufBtqiObjxDC - dEvjjYzKxe4hFkPyY3fppPpj9vrKpcqTuxucrjT/zNXh6L0+N0+C3dMO1bncD1Sf - 8T1Olst1qLhYKcig+82gccdfJoOXhbS6eQI+p8sxs6rotTj7FKh+LllDC0P4ytZM - ImpVaV01Psicni4dDSZUOy6zxRr2It+IPh7jNf0MjRnoR7cLZaP3r5/la7/ZFNbC - ZcT9B3X2RmR9WchFnr/GY4qWDR2WiqmaPjZS71FVX4fVDnrftk6Upq6cURmWyFnS - XgE4cwCi/5qMlhb5SzH8QVwseL8e9r17zFnaiVkb2Tihg3GdymAag6iWqn3gAKnV - 7ib/SzB+Fup3gff4u+ZH+LkpWEHKBbRcSvWwzc9089Rb4Zde8VJkGvRhfpie7F4= - =+liV + hQIMA2pVdGTIrZI+AQ//ZCsXBsOckzZpFKeL/wm3Cc4rbqTkKh82b/XJK20jX0kT + CXwWsQbnwFLYG4CwaB+y8zOZb9xgcNy4RYjSiBM3owh0YOuuVTDaEaFbK59WTMXl + GOYDTK+OXECQO6rLEPxCLczkrtmCUsvGpGvvLeIdUiOJH/1ETWcqpD9M8FfyrQt9 + WjT/9tk8zTlBaz8/GiNRw17EMUe2Vy36KEjGP4JF+XpsR+eePXNS2CjDIcrZho3K + 8d8225a6YIOWqO1D8UabZgjF1zTdsfNiSL4OTF4uBa1EA8Bln1bDmvwxIKlDlpoe + dz9Y8t4tSWFz2AYwmQmQzcWEm8/mXp6D9Eu2R02Fooen/9EE7YIbS+jx8aFtDcjd + dnKQrAMwOM+QBrZ241F1MW8Z5pGa2MG/+4UEwb8KxHoutD41pKifxLHJmxuFwFFV + cvYosb8MgSb5MK816Jh6Djq2/9N7fwyP9QF3VvS6Ip1ZQ8pxP1JjPER3emFB5CZT + 9K7TeXUbJek3dJvB1Ru0GdJb/m15UtYnxB91gszjmH5hcxxCmfpvvpF99d0XhysW + NALx3a2NKIlaW7WOZ3S08QmpDG0xf6rC3IdXbZjNiA6HXvIMb+8HL0aGBaP1Bu4G + sn1VoxUsRmiRDLg+v+zUnW1VLyiwhvdv9soX8CHAgcY29doKKWXnk9wAU8gAY4TS + XgEGxJxe86htrp4ZuKbYALg7jyvuSh29nejpVxKNAwzzVAFMKZVEOKyt0WdzRS8e + ZzU0BWKYRF/BSg1bvAzrBiEY6jSZdLg9SZjUXmTitTQ5CHspRqiwiRMSFcJUWjQ= + =l0Wg -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-03-05T19:17:51Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAzunWJnqHZjkNNtpPaUx4ihT9Jh2HT6wfPwElBj3AMTww - GxGR0nha3++prJjpcN75s1A82/Qxtrp3gbHAHgRFqch6YQTQ7ebsQX2+seuXDnSd - 0l4BFJN4FQ+pZiv4AkBtrwnD30+wvJlgZ9QfIam5+sTN4YlvTjD8TpFg0gnC1KtG - RQM++yI7KBGOgRej89gnRekds0oNXyBKuzKxqOydiCgfLDKICvL81K89ow79jXcF - =VqKk + hF4DKKbvh61jX5USAQdAL5ehqitzk5IKEw5rkfG+ICVJMWH7WUUGJpZjl2ZT0ysw + qDFw5Srsn+gU6zrzDiYid5HOahu/4T+pSItHrBjf8wBrPl9bP+IBytw2OKA262+F + 0l4B9tUKxvMbcX5nJBAPFnneB0HUrpGwodbeNqsy2DweY2PZWe58bWw0al5V/jZm + Lk4pU2gIoc+BI2GWHMLCGQSsMjID7nka3mdP3Vjdl2xCWFvAnWcu3b2JbV3KNPBw + =NTXU -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/acmedns.sops.yaml b/inventories/chaosknoten/host_vars/acmedns.sops.yaml index 8e8a40c454..f8618ab46e 100644 --- a/inventories/chaosknoten/host_vars/acmedns.sops.yaml +++ b/inventories/chaosknoten/host_vars/acmedns.sops.yaml @@ -6,212 +6,203 @@ sops: - recipient: age16pxqxdj25xz6w200sf8duc62vyk0xkhzc7y63nyhg29sm077vp8qy4sywv enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBVdWVwLzNPT3Y3cVhOdGhG - cFI5VW9ZYThYeGZPL2lrKzRneFlpcnRSZVVVCk03UnozZDkySXhNSUN5QWJQaHZM - MXBkaGRRWXliQ1lVbmdlblRnT2VHK28KLS0tIHJaMnQxZlpKVjRDdi9mVzhReDBK - b3FkT0xYcjNDYmtUN0ZtSkQxbHprK2sK9dghe+Lh6yePoRCrtjsKcEeawGZbFDx/ - aMZBpLhntqE2WBDByvkTpJY4wp0ScOGNCgMiZjOHZu05ae6EVZ7RIQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4Y2pKSHpMWEtGUXJOOWZD + c3FyT0pyT3QxaVRWUXB1b3c2c1ZSdG8zc0NvClE4cUtDTWlVM0gyMWpYVTFERnJp + bE5lSEd4L2ZuaFdWa3FwcHB1QWc3MUkKLS0tIFBaVTQ2dFk3SlhTMncxTHQzTXB3 + aDZxTmVsZ0hVMTJsTEJmV3pURWVjcjQKe8dfNolw5uP0UPSFDcidrLsYiY03CBa9 + htyX3ZaQ9ISQ96Kd+FuN4kfQ+sPbogf9c2QWgQtGCAAbKjSqS101Qg== -----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-03-05T19:18:11Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//Sov5pYJ7yO0NbbyhJR3XifaFyQtrPjlRnwCCdtye6oaR - uqA0/HX9vSnMEmD95nbjfajV4wYZcAMCbIEW1PhE9WfuyvSwE1rSRTPxSQVFAuVq - u+wPXHJRnCizby6uffgUnr/ABn55MPMB6VnwMdztso/gJpI+JqXizVVFSVLOxS36 - nps+ghDVTTuuNFZ/YyJJqhvq1wvpV7YnTwn54j/UVE7sydfG4KW9Rws0+es+n00n - YOGckk9UlSdqfvnFzBvIHqpMol7StElGbj4bNJ6MmtDWkI2v1zD+hxxZ+bmBcqgI - vCEv42X2gMF00oO096AT7/32BaCDBPayzkpfY4w5CYCgqcvTeo7PIy7dJQDJXNO2 - M8DbvYBNom+fWUPfMIdkWUzZAv6+612ncZ7S+mBCH57O60ygazvZCZX/8W9cBO3f - oqeTvUwZVEQJqiiy15Hvd65Bs3f3VyGEURwRl5cdL6sJQYjhPNRy+Qp24b1YN68n - nhucsnHl/dx4xVHRjvQYFwKnL3dmbF12C03+ACqo5aDZqwuy2ji5IHMFCW4MlP5K - LRCwbiRaeFUoVqzeVSLYJGx6WJY/Ti2OZyR6IyQgDw07RlDtIgJLB/QhH+TGuqxj - 9Lo6wIqCEn/tzjv7mrIockQ1MdCSnr7srO7WDG+YRgHTFSEMaClh2RiyGcF7a7zS - XgEAay4JZQ7IeoIe0gIc8lQgrJsTl3sl+vxpMsVuNo+TJDwQ6cybJ3nDyHLKfDmb - lCQQ1reDSPDVuldMhICdgZ3gKW69q6AZKeQZr6Tvh4k1PMeOvsPAKHzZdQXKj1g= - =/V9d + hQIMAxK/JaB2/SdtARAAlVbs9JFDVA2LxjeLB7OgiPgAkHpfGk0q1RmxqhDPdDRp + unbAEE1vwcl2piW5QhrpowzouytJpfBGwZYvDTu037uI3EMOmJcKI9QH+ZtKZ7yg + zY1B79Xye2hGte90EBQnt2wqLFFC0Y7HTaJ2petOiQMYAjxEmuUQV9tRnP7cLKY6 + 3m1OkGXIaL0fYjkyx5JEhyTH5vo16nVApotT7G8Q+S+88svcoJvIIrMWIqFAcqS+ + djfdYD2jHLeIo3AULwyHUtpab9QCcVnjPP7srI+Sir1coWqnuPRL1AO7k35mYFgd + cITE3G9g/3t3+numtO+/2SCi7tejuqCyMgpTPrE+QR/TrZNOx7TDW7VOPc0mlghm + bpQ8MvIiXD5DGmWLezxhGInnYhyrbT7CdUxUf0ZfF3yfAyTi+xfDozIdsCt8uDbi + zIuT3nXJv1cNyJuZ08B4hZ/thxDr/JLiItHUoWWa7TygEOBpUFq/Iu/DlW1lH/JU + xqLWq7oE2/mFO2kZmd3pP2v+BOfTLAWTjOyJMJTlo8GqF1D55Gcvol824mVKSH+h + xJHfE2n5AHzWLYKFN51HIz1eTQRg0X4mp2BXDCoPxBUMNTI8o/nAGoi1mo1fSXr/ + 2HqUI8oG75kU6h0g7fBCLesa9ZNk/1kqImDQ/9v3I/yL4WhrzurSS4sXWdLtpD/S + XgFzXskNNdUVL6G9azg+YgDdjmar4IMkuv/UWUhLCYCSTrkPtK734SsXDOjUTKjf + LJ9Jp9svXufmpbKXOWQ/KFPvr9jr3H8C9x9Vnt7C8EP4hbfVrJYd6zhSsasi0bs= + =xqDR -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-03-05T19:18:11Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQgAr5zTIh+RBFytje2DbziKmS3Oz+Vhcq98qeB1BH2r6EC3 - Qs3ccjxiWBoPZVurp/UAV4qZmC6cvQzStW2MiKof6JsUzlWmGwAlSWVHQSoW9uON - jGb8YomW+xqhxCJ96wnX7LXul66pmAAQpTF91Qvd3Qm9nB2im/Nm0Vt0mZdG51Zt - oFY3Fyz2v/3n/uDmxWlHvudOSk0zcznbUgMX3w/hvZeVv5KUx0Xjd0L8c2NhpSJ7 - fM9QSX8DAu2gFIcoJ06OkbYzQatsBM+zRpuf80m0KbHL6k4zKIXWT3KRWJqwIgUK - bmzqWAPCleeP24+UZjbzg/MhgOWSv27b/DXAkQSMQNJeAfdmrIGGMzioIxYTMFGU - ieoX9NRJOZO8VQojwU5NOtH7z50Ua+4FZtCtQGa0ICaArGRTZPCoKjmNca6VV3Kb - jVfI7Wt6kcKvtiGiXdR3g1AkXUKZkflvIMCBtiiiBQ== - =Jh5q + hQEMA1QflAioE8i3AQgAocdvt8wZaPqF7wEHHpkHnrmo1AXQTfFkg7pjd+9ghvjP + 1ZRF/5xR08gWM2Ru/jcuoFEAtDrfgzF9DXphsz1IxXwUOB9cpP0V52QmEY1FbPo+ + 2Px4r2q4ClgYdvqWXzzQbvVOcxrJ1qvEIMr4ZouNCWzpL2yHsgg54eHHZqylOcRQ + QbeHoNLp3k3fS/0+g8VPg1j+lC8KTs4xy0WaWY+hr+HMBss3Pz/O5iST/4WqwJ47 + nb13LLBQ4MwQ0gCZa3pE7+1I8en/bYOr2UqzKm1LoI/MktO+/C0/qLzSV/P6UZZ6 + jgvgn9EdnzEMzKCPPrOoyik+gXhbhKthnqQbmM/YN9JeAXzxNRjI35qTvWaMRgi9 + +ZvLxNhyZRoAFwJwUSNBqW8BFCqH9gVFCr6SwXMAZz99uhcldXQsvUK1v9gFbfCV + v9+B5eu64eFmlNcpbbak2yNnWIMbU1yt2UpY69IoOw== + =8rRF -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-03-05T19:18:11Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ/+KHwHTvuBLweOfGnpOST9aAxDuEF7sSXwmDIxF2ETjLB4 - jayN9nlyN38h9AIl8uMOfe6z7jPc8EgEC8ggLkksXDJRuerhWZ+aGxI5zrgGrwFd - o0IBoKmdystL/qMb/94ZcQmrq5iB6TwzcmryXsKpP2ULzvHv8GsU2PnWJY6TGoty - Y7KgREsWlTFTMzZv9e7zUyb6cXaqMmuvRePocl6TKDETWvIfrsS4k3PZ/TGJMS8G - 6XZIfjGxpQe2nOlN4hMRTiJY97YX2sObyMGTFy0WSVshAYuky3CgJhXZY4Hke6We - 2F9DibiYOpIWNvNZHMo7PqyGV4q+KMAeGB0INYBs2h1Lk/A0BLNBlh7QxubxboRR - 7R4xB7ymAfA7vo2aEBO0Sljk5ourFYZFhWOCyXAwZRxtJjUJYwdRK0uG6XX85cml - JPMsoahMEu6F91GUXLy+OpAgMPZ9psT69KzNOspmzWoN4+lXO9nTuSMgV+YKtJyG - 6cMHAOPVUWgYNHJEUpGfI3rTqgegg/yDsvmCrwePt/kkGkvRDEbO6LYJLd3vbIcy - 7tq87YKj0cZ8mawB4c+Jw+u9EOViFrb48usrTHNN3FhSVr0t+srvCqIz7ozxU3mi - +mWJ4c0fBwSNgsRFDbNzFDsk7gepW2JPJtYRW0AOMSDFSUqVKa7yYNPAHLXsihDS - XgEqWykEpABHimMcxM2K/aw6nvseiY1mkTtjKAucBZWGG1ObYcFg51OH7Odgrfvk - Z5PTsZ80+yTMRTvLP+j2RQ1xGwywHX6c1dMd3ybuV8iLDJg7dyEsq1GGGXiSWUQ= - =bm4S + hQIMAz5uSgHG2iMJAQ//TOOlgI7PPiwehwlb2YnnmDVVDO+GwpX/o1PQuIvM1wru + +d2V4XTy9WUOwh5Yl5CEp4EcS4F1ZcMKyEeKLj+Fi6bgkkhilaZV8eOFGIwPgGvQ + HBvKndEO2bdSuNhKGKae00Slojaly3kcKoI6BuZUPXzG7qlL+zbLqYT9fE/A/hsZ + bAGDOPFkDz1E3KVyV32r/g6VG89Sc9YdpoqqyA4QBzEwPUfkgH/KhYQJmWD0pfi8 + HYAonm+CfFbGFtbckcMNWWGFx6Z77Etej6VmttnK/TS0rLhPVCI2n06kdGxnFMAr + NA2RqNOR1ekT+nxVDPlI6Os0KrBskXcOxskIXPDfzm5FUoJCSHLASvBJpwEX5q5S + EILpWZwdAs0V92Kfc5F2vLE1hGvspB4RDhElXBXnJw9P+E8tI+QOsR0jZwKYdsqA + OJdcDwHXaj8C9q+DF0PhWj4oz6rsOdLmBnISvf3ad7wnNv1FShPJxR3bMnrsDeVV + NSN1r4naqZDFlDuPLBVUY7UkLmLG6k8st6jJtRMB1tMVMH5f0mZ+6PJLwsR9SGGc + iBpQ2Nkt1uVveHOTBjQh3Y5ma5PD+Qj81QjtLdvxWhurhmKIkez9FrSY7tw8xx/n + CuhcotVoHs0DX66GcUtOaz58mBS1OdQD+Q+HmmEs3Xbf4InFiVLeOio6LKWxJ6zS + XgEas5EiTwMJ096cl53rMr12VJnjGGvaWo8NtVQ72CZdYkdY4M8znse/P9SuiqsO + hyeTZauRzrVVFvO//R1PbsL95APY3sh4TgU4BzES/OZr+8r34jeqwv5gurFg0QM= + =5Bbe -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-03-05T19:18:11Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1ARAAu1/Ss+giFqYgCtp0w8rQ80l7X3gmrMp4ULRr771OYa0o - KA7lzMVLZM5FxKx5bvi5CGj0q7t8b/GiFrWix6OiY7UdbUsQzSgMNrAO6BglZfWX - 5qJxhh/cVX0kxMAgeF6xvPhCXEzmgmCs6CFnCA/GKo3EBmYQBYBP1TRoX9nfxFHw - SbYgIJ6XYaHfs6Oxz2994pocHSe4QLrNIq8Htb7BtN4RaKuWSrTz5uYHu0W5/+rs - /i1TJazsYImF6c7yVOUxOlILl0i2sM3BTl/K8xwuL6uJnwLNjhIir9WcZMylXUH3 - hDhsaIf+gDm/kpJ/lF9BIyOVemyLFk4u4xH25uGpYalYWZGPRSmpdCmpVS4X+DuF - bZapguattOAGsUCfjEc2XbYj+Ra9lvAmzhuOzDyyknI2bSyvXTJHECQ0jV7mqq2W - 3gEDquYSaOw5L9HhmN9DaHvKPMlhxW+1ylao0KefKRSa6i12SC842zn4bPz8rTeg - wWtIyubuo36uqJpzEceoI8ooQIj1SVHyhfHOR1ciG9KAkV8l7ufrfGPfKRQ7GZeZ - FXBs8sTOqcTN44tDNYjuGfdmERKM+ZPi/xfkQOqIcXJDP54a61rBRB1Y+iY/9A8T - 2eSjA2+gHz9hTYl4yJAmfWe25qiX8mFImo1sKbxd/HdMom4hyJgpDM37nvGCHH3S - XgESyaNBuHlupA+4+tRBIefkc8McC+I6r/LSfZH+J9fBQhzRTA3G2MIw2s5bNoiy - 6IGvZOui2iv0VmJp2OV9xnCXUu3xQSddf+2uGqfwwbanUIpe5L8BNKNP4zl9xbo= - =7FGH + hF4DsZXvxFXTXoQSAQdAXBfMCgV6smbdFCISCE4hWhlHYjRXZKpdzetC3sjPfAsw + zi/sAZdYS/0IsHSnkpc/sA2czoZKarMG0Tsf1HAPE2c2xE5+k0XmsUCBxK7/2g2W + 0l4BAFII2i6txhgy9K4lmp7khZdv5H8KTy8KtceFR6Ag4SEZ8KqOB67YX7SHO7MQ + oz+dRCNMjFSmP7NFkliXF5ySjGv5n3iaXrHL2YIU6yhUdq7DHIE943IuUzV1MQcm + =CVp8 -----END PGP MESSAGE----- - fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-03-05T19:18:11Z" + fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdA5XdFOtqbGVcupcCuSj5NM+DcVT4OeHoMLzGYxws6AgUw - zWDXFsOqmXIzzPd5bQlGD5uTsqsTskkO8c50UgrECwblC4K4TALErv0lP1TQBfHs - 0l4B2hD0AO+9qIdkoiZ6aDzBLAfriU7+ipg+vwovwdMR5GFUMc0aDtX74b2TM3wC - YiX7myKv3UOJwWF7mbKfHTYDnNnWsz2L6jmDGZHLkBK0gQOFih5Sxlo7YTu2rPfo - =yq6Y + hF4DerEtaFuTeewSAQdALSfZ3hC7OA1xt+5uYvfAEVKxzPyICFJ+x6bqCDYjXBUw + p+pUn1O/aO30w3ciWyjPzZw7qpQFKjt52e6AMmT3HNaR5Jf0iUFMwExePWdKxto6 + 0l4BFal85FXW0QbStcydo6ir8LHWIC+96Nmu6F/l/7D4chOorwIu1hWD2OUJuK3+ + QuoG1sw5F52DaKAI36DTDxChybpUc7LGAGhyYFfrZGq0cNUCE1ovonQBxZTE+1cQ + =pzEE -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-03-05T19:18:11Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/+KRCDsUtTEmMarIk/GrNvNc9T5OcvNNLQoAFXz1YnUT0a - WyRJP7EkMl616Netvcc4/8tJI3mE1IWKASPgYnvsKNho7mHgusK8IBp7RCcle4eO - g2KIS4gtGx/8HZVA9sqbUEz0HnR4AcDrvH/tvmlT87oj4y0KuzRkK/Snbdlh5vH7 - Ttc8aocX1bKfVDCM1fZgver9QL7Q79LVJU6WqERTJmECAp9qo0GOI+83ZUAh5Q9f - 9Jg5JIYLwS5Tkw4l3S6zpNlqqkRwkoHQnHIqYWyKgWiBZSDXRy0rm+eLg25eaLSU - getqMUPPh4JT/7YszRujy3delNtnqLWzDQivz7qzsgQ0EJrGC7jfAApEjrp7+ZYY - CrmnFL7dlDQhkpaJIDytdkjzjOkVQIy97BDaftTaf86cpem0tzmNhvhIm8UC0KPM - prB7NdFcC9tHpo4d67i7NtVYOp75Iqrbb1I7FTZZq2ZaPgxNIE5DEHDoPVE/a2/W - owfcqKU20Hobq7O2I7Sl4Ltd2xTFaM9eo9mjkepCuD0ycxJnBoiCiIpAwfO1tW3L - wC5xUhCCheBmdWgzliY3IbAzLXcLwesH362m7zQXRhh5Wm1w6QuAPpuVUcqLtHoP - 3ZTHLbEUnNNE99tsgkxL0UFkD/bPVort675r4x98t/39N5qKB7S8rASRfaYDv7LS - XgGrnS0LWChdISOe943vo7KHVU76wDnGu3hIsgYPnYkzpSq8t1nmmibsIxPTx/KH - XlZ24Cdb7BTZ9ACaA3acoH7Ig6g86HiqNvA2qXAuQUoX0dgfpeRNQ07ePTMS8YM= - =YHQb + hQIMAxjNhCKPP69fAQ//W8f0ia7hV3EnDamrPSCm1SZW76afXAi2A4RDRe4zAUKF + 7ENHdvoFuolKPi9ry/HUJzcfxc6OtzafkNQ2e0ZVTGilkVSjeA42Ckn+O/cv4Rza + zNqg5FDFsMWP+vhRlZnhEOf+oXDl0Ex7assF321ct980lI8n+R6C2IHHbrIdUgmQ + 8m9nwoOYlt8cDsfAGMKdKLW7TJHFgbOUv6gJdaeecCavVMeP08lSdslOKt6Vae3H + Ihs8lPA5Vbd08gMivqtcZLnc+vXouIc2L0eCXx2dvO3cowKPaUKDDlR3w0vdn/LB + IYjqgTHXRxMxcjP1eVaogL0JMANGz9vPL7uDSc0r5a/aeWuW/xu+O8uJ2UmvZ5hi + BPsYIHvLfs7M7YsGMMcDr+DEU6fHowFFmdkWmKVV0z9CZIEwkSeR2MPSTtTOQNig + a2Y8yNc1XwfhiHSNsMyJlycarxMa/iTyTwyjulgnFUgNW6GD3S7p4N1ClGZ514kY + j2B8WHeB9pmi+pE+QfjMz3OzeKJQkEacDQW3OteV/fuP52l3J0zI8eFNQ/LGli7D + /PHaw79OFyaKBbRdlxvVuK4OAh7xRTdUdK42vueV2Qa7fa6COa1q1ok951eTB79q + Bn80/5Vjoqr4AdVQanNwnrFe51kKWdlMJnNhcYVRDzkhdaLYsfuM55BgyziS+XfS + XgEIE8ZQ4jFqInA/o3rGZIbHKtWuPNOVDo3SpdrP9PQ0+O+DoKz2naIlelAxYIs+ + d7m2sKtUuKKOQlRrkCzqScfUACeqCaxlGPNuiZkLPCCJdCKXIKr+63h4P50Yhns= + =EwEv -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-03-05T19:18:11Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoARAAiFY1zT8kEroA7xfHfCoWWA1gQNG+U+8rr7KA7k1dyJNj - mwMG8W0xv5BoLeNRcKR+0HbO73xp5HA/yR/sYZfCvkbjTrMp+Rjb58zjBZWcnZ56 - F55gI1qdNn+y59F0GuQFRr64Q3OCrde7Oe2aIFscc8YeO6VYPMja29+sMSJ5pZeJ - vDFMZP92T9LiLfc3eH+eUaVA5NXnxGwgXGOb9SyT/5LNDzxJP5yywn0KmftNktVv - JJb03wIYedkMK/IHBPt21MrwfcLbF28A4PvwSCXPG9UYyptCRG0hJOMq1JCFDcqq - 3BH1mhOT2CwVAyEED2ZqLo4rCLFcs7urb29osxVDF1p2tRIfj5cs20lj7y4XRLji - JxDwp+OpeCWKIv/YxNOh2rBZxRtbp0AUothvkWNJiaS+sbRWwHUvIgPvUluPs729 - v88rOkmlscPFmwTJRUrd9UMEK8fauAyEz2G5PNCc5knU86OCvkgzx2AMSPIXEbMY - KgDWuSsOULtcVyGF00C5sQSjBCemrw+2D99eRRCBn0xmVlrRPAPbtDamc2oRryaH - QC7bUnqKDOPvJM/2uAVIPNC+aHgXx1u2dd8Ckw16xoAU+zijKlejA/b2Wm0BVQjh - nxZdesEv8xAiP4HSlA2tbeSir0lPy1jnvvOHPBsmOGDTWXTANFTiYz/mYPSfHs7S - XgHj8aiuHjx4nU6K3QuG2wQTI8YQPFvs8urS39pLYthB0Mv2mbaNbwkvto9g7o3Y - XVUkxNQbByEJSSTlVWRXntylrPdstKpYCkUbpiiv7K50hvk6UEuULh9k/65Jq0s= - =j7Ni + hQIMA1Hthzn+T1OoAQ//ZcjBGLUmwlFp2tr3bWXeHky0znMW+hppQjpMtf5Fp2Xo + Ra0e/ax7aDgvE7ANnF3Ync37fbJUvkIda5LF/JuUAnKg+hB7lCwj3//RKmZ5z0eo + BrjZ71HEdP6AKeGUxE7gM6WOS01R/7Vu4k7m6/wfgYkQQAZJSCJoK/AmpHKbKYyy + b3zQhBmDUzBobN5SsQA0vb3b//Hha+zBSFM/IoRs1OlK+BNW909xxU5D4VbkpGVK + tsKmRku053yH2PytjFMW5x+3PfTmyRCuw7qEEiECDnAIpudryxjezh09Vq2nOc7Y + 6z36oN9UDJhHrGxwi7TV4+8creZPD2qfC3QSXecWJSMKoFjFV8hTXq5O7WOGI6bN + ngkv9Sjgr6jt1B4dHSlybOnAp2Nl575cyDhe0HKzZOo+Nagp3l2Ie0IN6tjTJiR1 + 7X5MO8Mi3WH/wZ9CV6oh22M03rUujNkG6yjcsNSCNzgOjcXmRgAmbmlEvAx6LndE + VjW0W5Dbm6kmRxiaYn6NrTM3ClGGB2+LFC0aebxyQ7YwsxXndes95X53nsU7W9yg + o6nRnJVVtsaKZOD5kQqqXNkZc2webcSJf0RTfWALJr2dms086/tBiT6Pg9AV3ABv + IcPtUJ1hRGhBuBxYBiA00iYEATPmVZThst4Mqp8/9iRmnGrGpEn6pxJQihavbxPS + XgHt+XXW0rqKmz3AwvsHvc4zPEp58rJAuSdt9/gMxSU8PuwVQERX2A6hv5SfOf++ + cH+x+LA6HwlSreFE8WVQCtBX4QZqBHeYYPFbLsvC66FxCmB/yekR7CoOqAdPp8g= + =QqOZ -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-03-05T19:18:11Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqARAAqqjQvVhkup3nqC5S+qcGV2i4GpAH8wH2HXru7tCL7pQz - tRZh3fgqAPGhQTKSavF1LSBNE4HlY704vn1pUIeHqK5uQabz/N+DuV6P7OR6Ui/E - g3VR/gGn1I4s/vxjvsbThLQAjeB1V7iXjCY0MB02t9T8Z/zMrwjAziV1bQz/mo4o - MxSMp73IGN1QJ5Z8sc0gPE3tFbXRslMSCvXbHLJr3ATQ3ixiPE/E4/F13Jo8cLsg - lsGc0+1JS+efB2PQm50LO73Evsn9Q0uUnpEyUQknvZIG96aDKgWKmrr0vOW2UKFc - Lq1kNUOb8zRZb/j+3sw9Oo5Q/KKxB+XFfa3R/8YedWIwf3Xm4RE9eLVuUKu2vviw - gRBVuNnY9Aa9yXj4d29yOwseHRyKLHTrGjca3ABxyhtRoTgjpmPaTYIZsmLtvOeN - ExVlICx5rzZjWEEEwkPooj5QJNEv7JbxkkHi0ncpErJPbsmPesz2f2p983SQM7kU - UEjrl7W0TTCGa78ZH5v5IP09ARj8BWza/zQyWKeTx64n93umvBqAh1w/o9gar1eI - F5A6iMYDb5yTImPZvTkehALhsDzAh1vmozMDs+19GyS+fVQdjh4YOaA2IQAIbfm5 - gBnTb3rfwK0/Tm9YQH9iu64ta21w2yIre+DOJM078HAZhmWZQMHqRMJ99vIDfojS - XgFLgrmtgBPRDp0x6HX3B1zQrF6itLjRUfY0ZiCYxDSyONj/4FWVTQ1ru4qG0Dz6 - GoO9x27R5vVNTgJQVIowBeVerSqxtCz87YA+WyNPkAXsx79ohEDXCnldcY96IRA= - =LFwY + hQIMA46L6MuPqfJqARAAmvabR9WFRvrxjWdk9fTJAUABhUuHt3qrpqTHESGGGIOf + 7bK74DI4apI8wo9IY1Dy5KqcXoe3HGLw679INI1P99WuGb40PdRvf1Z2T1ebkgF+ + 5Mz5HaTQBgMdLTpuWaNj+iD3JBcUryoMXV+/cx/bsax1gs3IcBRXUR7+lUijAK0k + PD/j6cBh60JeX+sfMC/YeoGw00AShQstfDZYGE9/1Ba4DzhHI+tnvpWBogKDUJgi + /IH7xuggE2k3KlLObKq5jeBO7vpVGlUsLx/JX22cWk26K7gTa7wKoR5u0bZcNigi + 80zGN+HiYzn5RjMaz6Avg/GYGIKuCEOvdopX20KNRb4R7PcyQa1mgJdoBuRTNhu+ + JpJ9YFieB5/kDQRhk6Sd5pKrm4DZoHDWZqBbPZfq2ff2FYy1uQYSGCuHF/pvOl2P + 3cTr92g5TZx25w71PblyLxZNZtTfsxyzfHCzCV2We+ScVFNjCw0q/I0GMp2tVF7t + qjVHJYUNjH0eRnQWB/k/L3wBFFC40NF4RxugHa76Lye6rfvVRWzYCN+ktgD6Jo1F + 7Zj1LkJ6dmYy2ZclNcLC0M7QUb/6Ade4T+pJC/DCqjPuO/iYorZrJhs2k1sxLU5n + tpxhVergOPXBKt9fm3OjRR/UvDJOhQDxZvtDZJFITagq25hRX2HMrHtJnh/pJrTS + XgH+u1yCpC4QhTeV8nWu+V3IKK/trodRqTRxrvgrh3ijuNWGF1aYKSPyZy5/xEvf + qWwp+OTbuJ56SC+8DMRnxTNPY4ICMYGklQOzrj5SCx9ZSAnlaeM4xQgkoxIgfCk= + =W0iP -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-03-05T19:18:11Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAItKBmBuFYef5rCYbtmp9jCmYFHguqX12s6WbFVm5Zigw - JuYLxs3jcUvJDixG65KrJ1FfEfXz0dH7Y1fiiTUD00rLr3ih9ac0K4sRMDIBf/Vf - 0l4BKRaWWHspDUFWbQAhy0r+yZf0dInhmvPbPjBj66Uc80D9wVK1QiIaVa+luoNd - uWtQ+u9joijOxyl+YWFCS5LJVSaOjuci4cJKHvRbgvzV0/OgZHl9JCusTBGBdiaq - =PYJK + hF4DQrf1tCqiJxoSAQdA89FbLx2I+xU4fNqF+tlJuC43u3zfAyp98xKOMoVAvXcw + GEPp/Lq5lzJNWZEssOwgCEd04mlBQNpBYb/voBZHu1/aKVITnRvSv6d9VWAqB7qs + 0l4BQv7hPz3n/Q6YdoeyWDr4/1nBlqRR1VC9jgJ9C9JFqmWMt5pUCMcW9moAHiSM + 6WnwRhn2++8O3xgkIWQmLyPH/7XC0PzJwXj4STgTK+DJo9RI7wyf8dJDr075YAvJ + =kZ9Y -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-03-05T19:18:11Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdA0LljTFEdERmc0luFo+2irwed5ezut4UH11pbqFzJVXAw - nHhINWNgCJ4SHexEJEYkS9XFhlVCfJfx08JXq9U2f7qG/cbsI5xybU/QC7sxCjm+ - 0lgB06RXSqs1qg7RDSx9V7rNB4dxqO8oHIXUmt90Wfam4He4dhjMUZiI/rYddowl - kUPpD48e6xpHqI2f18IYQnz99FixGbKifuGh50QasopAblL2XajefVdX - =yHqj + hF4DzAGzViGx4qcSAQdA1sG7VI+y0eE7123GZvmorgNYhLK3ftTcgIrrpGenEw8w + zHQqRCFekkLaI9jF6b1N+psuJu60k/8TESLDf8A1dXvTeev8Mb9T+h7GdtajYdG+ + 0lgBWr2ikd5p3d0B4uSACnOlicfAMXAaRif9Ceny8VC1JoZ2C3VKd0ZJY5Ut+6g7 + apc4VlFzjlaVsMLCNbuuvSTCXbIL87SBCci8sgI7ZpmtMJB7finIlohY + =/eTi -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-03-05T19:18:11Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAAuYpsJn4bqFxK+B7Kqk3j4KoHox5eNM5c4Szxx1ZGmin0 - J/a4PP06WXrFb3HKlbqu7ngnkA3euBuwcVqSbPu3BW6TsVodLqyuPl6YBLXbpcY9 - fOdQ9rOEh6y7xP7RnFtYFLVQACKqfH7p+oh+HdGY5I5boDxt0tUnLUjyMHZTsfE2 - oECHfhSR6XQuFiWuqaI7DeQF9aTZ4Yb0aEQkxFjlCPTArGWS4UaqJre175ompQcp - Mwq/ZQIOYGqjRfRsxwN4Obu/ERGnWPvsyI/+pt5U23bXyOA5s+PPdYZnHpe4+ta/ - CFfzVe7GN/RZuSG1itzTFRQqueLu1xoy3T0BjRwMpsu0HlWLnJz34XW8P7rWEgTR - GAT/gBG1hQOdFnS0k6RzPpcoh+6ihIjVhjDTweVIdjl3V0ipwKAxlZ0DGop8JmBW - uF0O21/FvzrTb/tnBpIHuJAyObw8xJe4xAtBPwjVBsb0psfmstTVieWlqjvl5FVp - mfGCXq6qNrAHrcwoIfO6h3liYQqzYuKvvVxIKPXbLgH2XogH6w+F5CfpoZaxGV1i - d8eEwfXMOrNYXGsEmp9J2Rn/VmY9Wt7+UMa4ss1mSpZ2llUnu72pt3N8yc9Uzh1b - 9cQwK69kksY3yjQxMUGF6aRMOHR4F6Tg7sB4x4mrKSHTC1CySCGwg8mycvuBT4vS - XgFfN7BWwdzeFV6zy7LlZK9KW3c/Vp5R2EV3YCMCvAYEeIBRqDx/ymyNh+fCLDAM - iSuqhLv221UBu/WDTUPyGmneSN67x0h0xViSZpJfNtKaj4p4uXT5HLo3PVGq71E= - =NxqG + hQIMA2pVdGTIrZI+AQ/+IxJpC+5gRF/byIRqilX9LBErcOYzGjTFU5WrStFXhwrf + 4EtGFUqdU/uKLOaIsfVbJhtNLTFoOcntzaSojbT58cj5SAC//c7/nsEKd0UR67Py + w+7ZQHEDYa7mdbg+XCCk5if9HnU4Ml3h3rHIaaftIfIxXz67EMhkfb6y8dlHKn22 + m+wWWg3G8PYvNUbm4jnJDv0POqNUrxJYGX4eIST7YOaDzpf047kwhet3Wfi968Yt + 0FdL3sPfdZtOkTDI60YSr/irKD7EJvOxQZufTqVv105/K7YdufhCeRCHq5jmOL8L + OSuHiYLulRXdHP1T469AgP/oB9j+rrxGlVR06iGV2MtVzblUvVcZCaumazkK9/7Z + 98696LQXyd4kDAEPrsKWAi7Qyq0ZUva2TQd3Uv/KxEJ5t6Wg936LlsJyNzok83Th + qdOSaNJ/rgcd8ryAmUD22XnVbNMzfPmD+1lbj39HsR4gt9YTszKrUsUpVlKxnTiz + kjidtORMtpWb4EgMJ1HgITFmPoaQ9rG9EQ8zmYtnwbowvfYMomkdLtYE5OqkmuLd + d27JEwUgSuqaN0KsbI1CwJ7ATHWH1lZR0XHUEqPHOBANKgDOFbpwXKm8jXaof1eT + DkBCILwa7FXgzQMrzzIMLSGiWXd2qlH2sd3oGk7VtPv2BRB7UbpwuVDM89Em6MPS + XgFmDe392JDd4a1Ht3s6XURhJKhjbPxu94BSkKgYsWDu+1sCiZLvdHCBofSXlsQX + WIw4f91uCQCR7o78s6fWmgABu6dldr3RzzIF8pBmxBoiEfAiAr4ls5CeqYMfWJQ= + =HGsj -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-03-05T19:18:11Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAG7c+FMTl25XpfPnkrNBGq6dDzl0/T9zX1Xf1hWovsXEw - 8B7T5hN5UYBKZooAV38KcTNktnDhoECMd1cxqVlNtmdC/bVFvdGKgk+ze3FBSsOK - 0l4BgMIVIA15c4ImlCJsA6qgrv2glINPdUMX1biFwjqntBeSo5f2ETlzIybT9cgp - dbcN5saOKO3Wn3gnwXhrsjg/3qT7AcCstKazeXdGNoqwgNK45T5PfBy9kMVoyLbC - =nPKq + hF4DKKbvh61jX5USAQdAlh3p83ICW4G+ijHafJ/4M2B/o4EPcX1kmcMctCInukYw + 9ve8xKJXZeSjB8y0jOp9JHp98u5ZG2HFuHqLofHz8HNEeHj+oGROIkERqCnmUeWe + 0l4B9z2UPU9U8rTs1mFDZMqiLkVtb0E8baDSRUOTcrxuNgNYTmt/Gu+uwxOxxJ+G + ggFPh0Xtjp+15Mch9pAUSk9+91HIOLcQYol8q40mFZA7dfXMCJkD1GD+ihWJBIAh + =qPoT -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/ccchoir.sops.yaml b/inventories/chaosknoten/host_vars/ccchoir.sops.yaml index 9f83b373ea..c4d4b17602 100644 --- a/inventories/chaosknoten/host_vars/ccchoir.sops.yaml +++ b/inventories/chaosknoten/host_vars/ccchoir.sops.yaml @@ -6,212 +6,203 @@ sops: - recipient: age19rg2cuj9smv8nzxmr03azfqe69edhep53dep6kvh83paf08zv58sntm0fg enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA2OURZWEY0dlZTSUNzU05y - bjVVSkhocTRRZVZnOThZMWt3ZzhxbHpiL2hVCktFTVc5WEZ4WWJQTWRUMUJheFpV - THkxN3ZiZExGSXg5WVI1RUc1dzRxSDgKLS0tIHh6UldaVmdoc29nQ0NsVHFlVk5r - Y091dW1JbjN1OU5WQ2RmNE1mR014aUEKWn/Zmb4hbpg1RQZiUMlCQ7VqpjzTkTzC - xvUe65m7DZzhlHTaDja3ROs0NELLLW3JVedPl+QKqIJ0fIgTuPV9YA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBkUTJsRy9DVU44UitKbENC + NWxFOS96SW1rbWpidnFjOFQ5ZlhsTjNpNXdRCitrNDk3SEJrcGpRRGtDL1FMV1Fo + VU10ZHdhWVlXcXl0UURzMEZKeGpRWVEKLS0tIFFlRW53UitoOC9VbktSOWNkUmtj + aU9lS2x3SENhNkprVGs0VzZrZ2RRK0EKrUPiqDmIhhnoXDhwozoChXWjvkOpYeUb + KiF99X5EDhG9xa3WlNv9n9e3DPiCWsjaJ4xuRn/8D+BfgxFalJoJBw== -----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: "2026-03-05T19:18:35Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtARAAkTwEOCHY25TeYVz8yWzU2V5c1lrzszu4vNKXbMK1nUYA - GNNVK5yI28BBQy4rspSwk7LjnZgiq9S9ImYUI/w8E+XyMuE5HMKrqYTrWw6yMVQp - qvB+2Vscm1zOiSWyoeKZ84HGnY2lP10yAvefaaeS/IS0/kMRMmTB97+10Utkbroe - KHUifbsoT0ahHINg8V5i926Hj1RDmyXPQOKu3KVcJpVIVB2k1vLS4acCAQmGySqb - KmmhXbmLKSKNzHX5h+PQ4QkgU0pnk+danGpB4Vs12q62nViLY9NZJGoFhCrqkzEs - i7JwgC62/RdBWdKDyCzptn+HBsBUno01S5jqpLy52QWhP6qSxO9r/YuFkgr6t0Aw - w5Zz/ojEf1wWygYR1qiO33gCI81OB/hk6HG8FnaWgvgkIsBUgjHu+VJDQh6sywix - G2Pqm25afuTUlUObeUCPoAuPHPi8eLi5UiU/Djilqiqek/owYq7lLW6nCPPzN7FY - JpdLt2c+IMqP2lyXsAk4PL15gSCU0vRLgH8zo+mEpLp6Bir9Vw/eNHB1qjFBuhlC - CmDs4Olk9WC2utqwzF6k1xUWAU1gEs2k+p4POpQtDjS0LCG4d6qsoJpK4LvCpFTM - ssSspCLDv4djVaLyC73paHD2zryBtykj5NpvEK2FQpTswfCYs9GX/0WVlZs7vRTS - XgFrzhdraCRjPA0VZCa0+qywrtbct7ADvD0uJx1nIzPX42B8it/CgfuBniuznVPS - Yx1H0DIuMI7wYRbxdnoEpTZCVvV4tyDnJwsd364k07Eyvz/J3msbPUFi1ycB67U= - =nBNx + hQIMAxK/JaB2/SdtAQ/9HlyYXFis0xRf2UCiJse+bB7nerIKoWPx/mokAqnrOj+y + WPHesJSi1FZHT5kG8TESb5mB9re+2ilwmLVW0THiSsDo3rLqc9/9bLWX/Ja1BnCc + 9qVGu6E2EXfrpJ7o/Iygl9Ritoy6MBvLeY3I7yHrFMXE/wGPc4vgXBu1jCoySBnN + K7o7ZqjNbPtO4y30cVCfmK2q0NGbLj6a6EYWBd59r3qjSZvKJ4ViGzosJN6z7Rib + 7Y32kqlCtE00i8tkcZ+6+3ewjPb0G02XdRLP7KoUtoUF6vEg0iytbGIzn4nY79cP + iN8K2mpnWw0bKMB8CMkv3GJ4m4hnTAcV6KiDkIE4heKmCxN2sofxkBY6q7+fNual + TgsqYyxvE7z35ep7QXudngeZBpsq3gTx/Zca3Kq60vCnz8ghuaREITsaOhqeZ8ef + bu99uk/b4thMlIpHHI+WSvu5mDc/CFpFy1ufNkUlGJEJUbNxH6TgD9sL7/jeCzcj + J4o4/NNDr2ZFFOJ2kLESuVwpx8V9nJgHcUIDj/t9e3Ir7xKAPeskyInQAeyv+Tfp + 7Hy/L/QnMB7TL5w0VsULrIHPAJz5iBVmKgJq4e/Fk85J8pRKaLL5Cg/8OL4u/mXz + vmU09Rm48lezU5JZBjyi3ai4AxvUGeKvlG/fINulbYtqH9c6FcS+TzKzSf5p8QHS + XgGkAeejX7R1vrzEJXs1nv7IoZUoU/3ymJsKxK8swJBfb8chmfjE1u/68uNYslHF + Wiz2LCZe9UVkJ668X/ikAly1sk+IG2C2XVbfXcenOxcPptIyFrILb9qDC+afFTk= + =qURA -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-03-05T19:18:35Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQgAkXTIjv4BCFwCDDEVnNX5DcQ2dBFjIh40cJh51LnoMmDp - v54H4wIX4mD3qXeXLb7//ESpH23Spkg1Tcukjgmx34qCPr6ey7f9x16ZXE89s0zu - hcO/N0AxbRBkEuJvZ6/ZThc1jjSgJW1s2o3uYs/YJQuOt3V25yaYvbJFvCOIwZr2 - wW3SrkhLUly2xsSevEF7x6hFoJNSUDP5UAX8mZkYiVzIXGwi9mcXQQvpiiCy6QUw - kTwByALjcwlxAJo9vz/1S/2onXpVF5FrPvGde6LHjFo8W810P6Oj8cv0vvWz4x4S - vRuvFes2CKoeTbbVQP93exuvTyr4dNFpql2+jt478dJeAelrSK0MKlQNR6llTDA0 - moKiT+OPHxRF82MaubRfmrV5/sQiBf+hk/2SHoH73oQ9dRWQ6wwkgjOufVTgvhx7 - v8XmQlm/oxg/cc5E3fFtRpYsVpvxYMG3RWXHPGTdXA== - =98MQ + hQEMA1QflAioE8i3AQgAq1WAZrKqKEbUHq1E2rdAVdq3+K+8/d9ar1Vggq90WriQ + 9WD80nrHFYjz2PgPeINOxhy1+Bzwryb9/wIVIfyMTK2lAE+24ryZO9rHzgwB9X1/ + V1rbK7Yf1e5FDF0NyRcJB1h8Bg+0GACNCzqRxb0lybiLsQ+cMu5hNLSb7sZn7qwY + E2XhD+yGIrqvLLvoWeEQF1RjU66eRLcjZBldFRjGrplCzpjxZZtJ8onVMlpIE8Fw + ewdxuJNtB33KprqmJ3uDr09JijursNkNNuDxSKvcPoQG2EE2VwUAnXWRbCGXN08w + uc2dF2ay6eMooRtPmyCQcuL5zJRKAfXVZ0zL5p2Ar9JeAUDVfjHPM4fMXZeqtoJs + B6A8/fh2ipfFCf2IkOfWnJNK/BAuc4zsscPMOTEOFiANzvkR+rY+H4Z+h8f3eOx0 + O4ZSePTjpKBFKWK/uVgi6hXaSqipp6IxoDhNzU1zzw== + =ejMb -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-03-05T19:18:35Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ//XCRU4MLFm0uxA4NBzL+Z2Gk4arzDQccg7OdozRefTqiv - OqZNqpNnqPuurv//Hcld+ssw3Pt7mqU5KokGuwKgl+qRUAtdmnXTxL2Q1F2etjKt - 6xuJnrPYkdnjPLNrk5EjwrDuGy9TfxmPk0+aWfbKhYOzd9Ux8ifshY7GjYtXFrIF - IUADXIzKTSX0PWMjML+6kXj3Tp403wb+4RdiyRQo6CKNcqq0VjtHmd+eDlkNRPFz - F2HiFNMcoHlK7wrOblK19e0FXT3HTjvZQlq8YjxajGEGsnWjbJTcp0yJDY6ReRCJ - HQfUohVFdWu3ifF9QP7mesOcy2FZjdyZ9JJk0HXbfx8J/qBvlHQGaJlpuGIGJYij - 6Tnb5GAikupav9oIK68QyIKbGSNcZZ8hmu+UvtBOwIEq/s/oezcwUVXDkB1BUXga - h8teRqHj8IN/O/4C0vbtD/Dr0EaE2szuUe/uTSWGvOT1BuB+Ex03aJx6Gp74b6Jc - BlYoCm/0tvpHquSd17vwJkN0bNG7sLQs0g0oTCywbwP/iErT4OUaTQWQWXprdGIq - z3qE9KKoTEsGuZ4uCCY54uhjcEQ33m7Dig42UUD3iVY6m3hSXgSLsHqZijeqAi+2 - JVY5fX9eI5bJJBe0nuCjAru7Sh8idLGXcCmikgHRMMz7Vl54YcnWDysCGHeujVrS - XgGDjwS4nt4yX9dFn1LKIlNhYrzN1t1LGhf1U52Ct2vhui1Q7li8HARujuVBqgSG - zp78h47cLtnkAOPG7IwEEhcyxdkLVte9J4IaUJbWfh3xptTMN3wYTq+Bi+mUxMc= - =9dVj + hQIMAz5uSgHG2iMJAQ//XCRvmMAvTHzE8zWSI8wHSq+b640jaVBaZm3pS4WM+vdt + nie33ZxGyaxZnnzJ5zLOxkcbSZetWqytwQUMaBwKaZ2TAufS98oNoLkWQE4hrW81 + x/LWVou1NJ9raW9EQHca90ecMXdYXLBvqtZ75zL/l52/9XGm1rYHn3p1HSyiSr72 + o7J0UlIm/hmqXylGJLkEISRqCNRC9vROokiSSQ0Ds4FtE0joX5TBv9OsuFFtaPp2 + Ky9SXspJMfFl044CSCQnWcAzwKCpbTmU6JlPIsh+GaNKS6o4wrNnMKIVM4l3+GfS + 29QwsGYPjuUdYqAZqItY+Vu6Vp4D/kWrfn+7X4zZ2JHIGBKTutHt29xgdw6MPJ7P + m2jJP1bvycUz31mCk8uzBKVkZZ23iBOncl8UJoJsjAqnaBwjnNc7RQl8lzvFOxlS + uUxEsmlBE3PuUqqK9gfo8AQ46LQWjdI6HgRamlG2ENfVwEvKON9eh/5xqIOS5ua9 + A1OvIzdatfnMM1jo/SsJmNxdRjzgYmw3GJm65VZ9UF6qJGm9sEoVbkd1GSWsIpz9 + BvNMMynMODawb7DgeWyIXk3xMI1bOuVADrBr5AvNUzwiMQhJX/nDtjmkxmBXSpMs + kKBP3ojU2Fn/NOYIRiwUcUAF3Tg74FsjXHH/m4Ee6J/GPxUD9jD5EZEPnndYX7PS + XgExUmiXGp3wPDUYZO357odgqn5aG2xaddcizlpy6KGLgAuUpGM5ncWCXAjwF5Sb + bfAOoY8pPYEUPY+c6mPfJLyqOly4693rrcsnYHCQzbFKorQcnYVY0M4mUDrUcYg= + =L5hZ -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-03-05T19:18:35Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ/9GvaCy7ZvGKkjAAQNrEKbalONQuQSt5LjKTT0Ey6Q9Iyu - din1hO+oH59wL8gh5bxRCd3t3QGazwNeR7uj0lnbbX+tUeI8Q/4dip0rHHln/7Di - vm+fHQu5y9NidBKNzFBSydbVpnWsPAgT3iT5zxri9H7MmDncc4U3HZYpdPxQoPze - wovPyOVbLPKL9C2PcA5PdbGS0wIczgv2mtH+aODvM8LUmJ9HYoAkMvw88xfQxX4v - 4/UsmMrSynlbORSgCjbEkgI/FUvV83Eos+KWAQeRuXHQ6OT6ywkG8s45WxsO4rqQ - mcJ1oEhAHAkjojDre4i91wa4b46l42gg2MhDgvRDlV8NxwuyJIGN3QIcK3ejkTiB - GuMJHCVEqDh2XDcTkxbMEJQ+9H0jrESEy9CwTxAD4+pFTA+G70Xp3rjugXGRLZSI - DES0Q9OCKz0cNHm4YqofxuAEBqYelnTbraIy5mr/J2GSC0rDsRylq/XF5ibuX66W - +2YfK0UxAcyIaSHeuO7NvX623lYkalzBfjLDS+d054WB7i+XYDsslwSOYH+wJDBY - j/BdsqkMhHknNP+fwaspdxY0uBUPeNaCOjSJLyS7WaAWtDW2eRBGfMX5sslbbMYD - XwoVOdWl309nVCqfoqBw1JhDjZHIRlzujWDB0Vtz0xC6chAaTkdVa6tx1S/yIZnS - XgGHwKHjIu2aBYeYwz0oQzj1GsbKUbFjlyvqYb0+9CeNYG+UOYM11JoAnQaIzGVC - 0gUFNqj47lJ7vHKoehI/Ku6wXforGgGbcD2d/U7Ptn1JBmnV0mogTZRbSnxbAwg= - =dFyf + hF4DsZXvxFXTXoQSAQdAkQEY27iaDGrBb7QaHTdFd4N2FAaclCYHLthOqN90ZwMw + /PbibMQhVd5hmBoIIARysJyFjmxA2+8hlUkNkuI6iFgDHVpRpf23DoWO6jNJjdlB + 0l4BMWXkT3KnQ5Cng9oRa1eC3xAhz57HAu9X0BgpgBixHx4c21xbtmuL7m53R73m + 6umg9A0VQfHzujDnStchZVMBVzvxEJiL2G5nYpc+ZQ7tK2bCBKOBmeKMjOnaUyh9 + =gm2J -----END PGP MESSAGE----- - fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-03-05T19:18:35Z" + fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAp/RvxQIqSBiFfsJEf/Ou1HYo+7cKDgvDQD9RN+UahjYw - GLDvy9uHJSvsPe5Y+womBh9D/lnMvy/jh+PJ9m70d8D1wx7H4UtFtQgEE3x4KWML - 0l4BAu4+nB5QDE0FqsWfPpgtY8bbQ2LQDuGsYDgLCnx/Vyw7f7HSb+aUVMBMwQmO - v1Lnm2f9yH9DP9FoKX4TEo9xYdxNdu7QwVrou0alqH6GTmSAyOYOwOwEGZq0z/hB - =As2T + hF4DerEtaFuTeewSAQdAu5qyFCwOLUrmiGecACr390L8ReDmx0vULQ8+uSqQpSYw + YuN46CmLs92DZz7f1PSSR33v+R5SZCLMNdyzWiVPPVZ+EkU+ywaM5eiH7rhtCqD0 + 0l4B5MmxwYeG/l1GfPofxHt4ofrtS4wxkoLqsiCqYFW2hrhcUOQxKa763DYAy3IK + WWMhawQPvMzsLYDQlxwMcDDiGx0O7M22l0RuteU5GBANyA4iei3l5AGehiHtTkyo + =RaxN -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-03-05T19:18:35Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//esFCAxgrPy2Fvv9vNf+ScPR1ZJfTKYFQl0QRp8+SnqVL - pagFGlu13Q84YEZhXT9gh3lE/eX23/HsurwPNCN2/QRuTemUlm5GhiGd+hajG0jT - x5H8NUj3iufhfJB2eDNkERULtGClaGkrM+DqiIiWLCYdRY5TP0En5MlPPbFlYAi3 - M6JUzLAYXn60JchQEfyb7wt14z2thjQjkh5YvLzJ21RyHVmzgd5Zm1w6rHmLQdGE - oHGX4Z29gwmc07NBZc1P4Iqxur5UTEMyTXwgmD6CBO0l7zza3b5mNGTLll4iXSmq - Kxk20bJlrUNp6UmT2ygDbsRT+7Q/CDjTEm0WsCDxSPO1dRJ1JcmS1kGQE7m48P4n - xxYTubqZunl7X0Iegmi2zlDBZ9VCwcj8S/bnTsd81cT6Vr3Yt8kuMCun4/Mg7yFP - kIfN86PrbpCn3HBe3S6+5PO6fT0W2YOZlWb8i5RaazFZINlCHv5+V4VJUlYw5Lmt - 0teG18c/jk3mIyjSHhI1SGAwFc9jddMh4rYDMJTroJqhlx0HM8PIjdXHSgL0YI8Z - eLM+/taD+gp7ewQyBUzDk1pF2TWwzOEi101+RUjDtDWcr0CQc8ocoY6kFS9/vKc4 - 3mTuAGhE3Xz/CdozhRLwS+l19Wm/SoKZdmznUuqD/NFt/R+0QkhCCtk0bLlnvezS - XgGAJ7AIwIL/L4gdDfv+3LxnDe3FFjtSGoW9DSxHcL61rZuBTXQ4j2sz5CDnTIhE - hTc/Pt942Os5rxuM5Uodj8vPhPBW0f1EC4CT/aIN9zfEf8K8+LuhHa02/E7NksQ= - =eJ9L + hQIMAxjNhCKPP69fAQ//TNz56fEM69OGsmISqmvaWF/7hd6ts6q72B3g7jKMNjKv + yqoCeesmtwvMeC/BOQ1RgUC8SdnsD2N0qnaDIUFFdgYG0cKsr734HOQ9gd1DdIcF + eN4q9zUgBvt0MLrfPPuawwBvaQVgJXbMT5BULH08yPrEK1fzHW2hd8Opur/b8am7 + utoN8RC4FUn/XJKRJKVFpYPFxMNLxMODI3JfUpWvICP6Fug3uG/Fd5oPGKSUYsP4 + EJgqnB+TwSdWAXmVbhc6qcz/7a+EtTp34ZuiLejF44F++/5yi8BXch4IjmQHYM9F + yUfxxSoFv3mBGYSqnSiiJ/F24NaJwbVvG94Ywzkw74a8m7zGvJNJtR5FfrmIxyYV + uXZoJPLbD6kRZihvDPTw91nEovRzvocEdgPIbzs/Bom9vtL1b00ZTSXP37YLyUAG + CZBkQLnBr7I43qAo1wpPJqnpkckLrqea6uOFoF7c004LmsoetbyT2hpdzf2n55Q+ + 3ZC2V1G6mMyInWnWFtWgJfaKcKopCq+2bqYv6gIBaoSjf8oflBJn63AP92ff6kBK + c8rqT7Z2tOeQAXNUV7aMmCNSSkEeX9yf+U0qibGGC6ySpnnPzsdDHCdKEnuGi/KH + cjn6F72bVVkCjAjt0i1r9ZJSKfPp67a1+4bt85Zv4fBbmlg1YqjdOp1LV7ltohPS + XgF9n9DWtpI8zduAodpwoL6RDV5XS8PHhPJCgeOA/2PCjZoZdVfP99D7BBfG+eK9 + tp/4IkeFS2cCK48GLRTRRcVZK5PJOm6PoRkZrNTh4FeQsOoCIRtXl0aWfGvoCSo= + =QGoG -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-03-05T19:18:35Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//Rc3yN9QwwXg4+UpreD7A382upJYSpz59aEqbtTNiRmFw - xK8mlF98xRb/fUOItBz3yaPgqVPbukssAvPHvAq3CgwUMf9l6atw7DEf9j9SmGoX - 9Be45Re8PXZtmR5bO+f2l760Fop4++auulwm0nDzZddD7CgRuUA0upF1H2z8T+w1 - ui2f4M74qZr3E22OBrCoRXja7cBQ/ti3nW3q8p5Q9RcbsKhTsLcAloGXMb55R/lr - jQRHg6fCOm2YYjzJe+edqFCbzpde7S4frFmH1vJDsUKPsxx7KloJRjh3r3WLCmZR - E/NmGj4GwFMrkE3Aqqw5P02IPhRl4I6CvDnEagSOcTgXT69Tz5y73ObSJLg3Vd6p - PVwhZ1zae2KX5OOVNMwVmEyWKWr0zUmbqs/jEoyT7NYGR+Sgt9hVGd/1f2MU72kd - q9fRdCMLT+9wjn0weyNByjByGiGcTkCcng3ICQ53WRPE4pz8An0pGdrtwJqS26mL - SwXIsP6WU71MTy+syVnmwuSqO9koFNYfXGAeJPaEQMFEnrvZPujPntCuk4Kv9v04 - WM/BpSJ7GRXL9dM5qfUfjURFbgYV/0W6DILy0N3Xf69uBYwfoL4nhDFytgsvnsBU - +0NbrkSOLjQ7d/2oTdLBY/FMqffDCAG+VWBvXYFUDifiO9jp3YwjNvV4JRU2K2jS - XgGB1CqBQTpCMB8cXuDHF/04ZBU/lUx7YENMMXHgKyNnnhM3++GFfiLjR7k0Ogbp - hdi8ztMm8HOR+HYl9x0PYeHhF/BP0dRbtYGnTj1VJGdpSzJNORsn6tZPPn61o38= - =FsWa + hQILA1Hthzn+T1OoAQ/2ONhqsRVoNgzS0LOt9SwWqj7Z9nW7v+U6ZjISYHHr7GhZ + TvjDEeG90M9axyymNxVFIWoG5LrHuXaNpkXFCW9hRAtOruhPre4ApM9uFmNCMEI3 + iFFCJUXKmSgcfmWi2K51BzAs5sVQ2suyYJCEACIfaaNfZuTzZ59VxT+YmRD+Wko9 + 3n3lWS9HOe4QQvxO7ec527sHUL90orA+v+wtpTBPekE4Y/T8N1R7ni2bANzJKuxw + 5DZH6mP7Y0yRvQ5TBN0I7kZuMG2vZmQ+fGxGMtad8s6uVi2yS1XzXDYbVAzOy9u6 + keR9kfbyzvFmXtuvFYeKTbDd6E5MM8vtr2IEAj6FHby4ubuFPdf+5QwTi4MTXuiQ + HEGd0Jff7x/Qm5M7wciKv0+3XBkLONHnzexy8W0AhVZhO3IL3qeO+ZJp04bEhE7h + Ph8OYLXljjH5yCVmNe90RgF42pMkMWK5DtyEh/G49RzSzdLFG6YcKCtANsyGtwmI + gtbYDSZCq+1Ba1pEB04kMt5meAUbSLBUOHcZ9pNyFfHH0KMsunAxK+tB1tUIIsa5 + hzjnWq/h/jEAR2VvCeHFvPfFvm5D6XAFI5kLQP6cFIyzujptksxvCakjDYXsbpNQ + cS9Pb5UtTszl8n9Cqn5YTduNJTittxw8ltG0gi++pxxsVFCyOgoim5lfx821gtJe + AR4VNY3e/g3aPvGuTpoEcS8DefibuvKSf1coKzOHNfIOiLrPYkShxIE0MgacCuzn + CcB1ZhkfYWHVqAi6HpkFvjSDcz8nh2Z+Z72HyZLNom5za3E0adh33sKT3p1+lA== + =9E/y -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-03-05T19:18:35Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ//ShlokeYvj4DVtEexsGuOsdLkxXVBgjfqrQR95NcoRov/ - J610rVOvATG6XED8FABHoF7Jlyz1QR8oHFI3DWWx5Xq3Lw/bkMjLNwv9DgL3beg3 - hQ+i2MhPa+Ke9dTweeIsAQEHMEtqp9XG/IsTx2EiUelAjH/BRrha7wN+JmB+LBaK - fD94wHH4Q2grBMv3BwoCvyxXuizv+NUissrhbxCSyc9MD5fR4dKe5/fANavpFDiY - ysGwp4znA7clFckC8x2yk46qELHQ/oG257vvplGLrHe1KdTVptilliqP43FQPZgW - ZxMXjXv23N8chpUoEpuDv28mUNbYEUDT6thwTZC26Zwg9myHF+Tw5+B/C/CwyKwo - 2Ll8pshw3U9J/i3rASFKu4pVnWXIYR5YPK/A2OTWEJPJgiSjIXOXDtHP3Soq7iTh - +3FMsrG5TXckfBw9sCu4S3diLNiv8KW4w5sC35w5gn3D458rBnOejyvdWPYAuPkn - wxCmh4iyLjeL3XA9ArKmsWBAB8Pvp4ScKen9/YHRr2Sg3W/oQkf/SwACEly/Up6n - y6Vlf5CMQG1qqsTsRU4pS3VxP2irh6feB87CAo9UpAW7OomvhMDBY+ZBpAGoABfk - hD+M4HKBvSd7H4krwKzafo4yvkewCy6Mtb90hF+XBqt2JRy9ZIO16ZluQqCteYbS - XgE+uF0OlaofBvu97RxU/6cTxmr5WlP4+iETIYsIXwtty8ZOWWh+zIXa5cHKfRhr - 1R+YqO2aiMRFsm8pOnPVM29LgWSIhU7Zr/rSBq8N5RDje23v6MGPnuIHjNc3AqA= - =+9I8 + hQIMA46L6MuPqfJqAQ//cVyw6l1wqAlRQxr8f9+7CLfK6AGn345A0OGffebZ1Axb + pi03+Xg3Z8pBSfvBHvufRCBbKdoSqVrtkYvEHsBYDVclazs/coPNxG0xtMEWZAa6 + MUYSP8MqN19YAbmFs0C6Xh8qndcB3plI6Nqo8+Xi/APgVr2sSJzRj8l7XKyNwKpV + HGPPwsQ/DslLA9/fugXHq2a1sYtybRNA1Ea+iGQBQ4c+ea0B+3N2+WkOWE25la/N + VVmsLDPQ7ATyiP7Z3gGbqX111P0dk+++MPcFdAm4ZhWqHThFnwflLKm1kiwmBYVP + GCyopR7QghxDRYzDbYEDWuFnr6Jvpm0nsOJipq+WNALvvVtTb9DP4/dtTLZKpRtz + k+VZqF73fDYrjKiUnBdgS2MeP3HJC/BWnC0QtbeMrwbxF00Xp3g8k6oaG5p0Ardp + 5bg3MJx6QTz8bhad6TkVBeGVkj7ViEXffZcQaY/LGSlxmu3L6JxIMR0S/e4cl4en + 88Wf91Bsd/iHfDxZB7wQFl0oTR6nzuw2W/yy6K4HxtkZgUWUFeK1FI5mjTa+v4Sy + 3EkkjmG9uIe7pjR9poUykmxB0M4siCxhv9hQi3qKWHkuB0i7muyo3cn0SNKBjCGs + dkXUdH260Cd30Tp63tQ9S/Z2qckfPiOZoyi/18iKk58yFQPq2W6IU4iJehyFgSrS + XgGfHYmbVDCLdWHQfTkQnxTf0Ujp2z3iV/82f/n1R2HOp35JfYXjZCwc3YtoGMLX + X5H8qPgQmXCblZXUuD4CpW7kHIsxrKF75v9Zn0md0pk8SNX8jG59DQhOv5kyTrU= + =wntv -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-03-05T19:18:35Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAZytlUr0Vu/VVEzHyA7iSI6aaH+FCOetkqmGH+JIga3Ew - GnWIr6o9I02Y37O5tB0iCBW7CG3OrlL/VsDlT2M+yR/slRGkUPJSlOj76rqTce6f - 0l4BTZdO0e/Lv362OqVkqgL1wZbTW/7lKcf+9D7LC3dsTcHrLM+I5Qfba5JJheFf - QdkHBkQzfT4FFZ8U6T2xbebLdIH0kW1f5/VaiEN+4NzXuvHsjR0364MhvTrsdNOG - =8nGZ + hF4DQrf1tCqiJxoSAQdAihL8DmvN/S+X6exgJ77VLOOzrz1tz7cT8vGlc55uzCIw + /jG5ILGTModtEbpsfVvIQX1nt6MD8f1waj6mKvKE4PxI6yWHGwRjDJ1x0EkxlWWo + 0l4BW2sSLTh94gd2oFiV6AVqscPtV18ys3veXDPzAg6NMIHL5bBHuXNvedVeumYj + XwrAw9yAKa3Rg8LiLjCdJ4f83gckZ4CAG2ldY8OFEpHaNj0B5FtMBL7HNkwVnInl + =W0xv -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-03-05T19:18:35Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAFlFekILHeml0r4i7oX9QphAViVARX2+opOW57fh72Xcw - HASmykw9cNl2uyVEcx7LejYq9I5Z4Nt1yf4FYE2eq9iUvsPZ9OGjrheZMhv3yPwx - 0lgBUSJ7ITOST+800jpsOY/X6gvvcz+w24ux7ENp+1dSQoXCCeBax675csFSX4aY - fCis25ThqnH3cY/gBoAmTxYvqj1UWkarVStufPqYm220C1Dg0Uj0B3/q - =Uw+n + hF4DzAGzViGx4qcSAQdArumKLp5tZyfs5mf9n4K/pbtQurYF8/WJzaOEb8vv6ksw + 8oaOI8rHf/g4crTt8ZAJyD5G1ge40CKG/6z0AwYg0WS5kkykEQchv+OQX4YDIXTy + 0lgBn1nIFvnTGndzl+kS13XQE9poSkX4AOJJ9Dc62uucgM4NC8h7vRFzmu913iVt + k5G+qj1ftjk2US0dK+DbrSLIk/k+1K+Ns1CnHiCyhQElyLFjnCElXf6Q + =QBfz -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-03-05T19:18:35Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAAjlxXsj/hHiH8s+nbsBnqpJaUoa1scuh0msSsV33PDksI - 1SKmNdYObAQHsDi+MbX9JJPTne0a4u7dmiaU4ZO3LyMBc3FA77QhKMqGeesWRrPY - TuzyVOC8tPt1BErx7uCwzcmYQLj4sDLyqeOnK1iDEGlEclpRHLeG+lz5PjWp8XaQ - Fx/XEgfLaBN5/RcJQhcWvJh/yj3THb6y9ZPpCwFZg5vDc2Ad4ap2c+IfkdeXHmBY - /H77hmy5wKmgD80vosM1oSRvGhqvLm8mDJBnopHwj6cvcnqUh9+NzM5fdoUA8Jor - VwpM4pK6MgzVdxj/zVNv5zNYLQTCGMO8klCIiBWdeIeUFOF1W8vNluAq6bUAOzNM - /9FIQqB3B+/7xvghL4CzicF9crQ8cHc0FfrjaHCY5+lvbfj7CrqbMSnVpDuQfObf - hpigSiP6RI22rseYuvTK/hL7JmdlFqgGrFT6uSq59vAAhad5WdQ8ZhXQveK9qRwo - V4rjrdrhTuQ25eEIX7U3UBNzWllVLSJbvIf4u6Q1fP6ccXSM8nuIAx8qsogq0W3/ - NcOcA6jdGvBiDLzu8w32nis2X7rwLQaa9HhJcyjgYiVm4+Df+NzGborVVUI91WJ8 - jL2u+KPOFWdjVql5ckr2LGLjRPHAlsjZc6eiWWd44SZa36alf5EFMqhxRFzJKEfS - XgEfJQF+MOAiGCRaJ202Q+74aUmVnRg9AKtDjz15JUzg68QFEtGMq317O7NiPHyW - 7aBoalj2AoyCmSS8MC1Xdi9EHRNqQbmiTDRRY3x8ZCx55d3zzkoLy6WNvsLxOWY= - =D4KQ + hQIMA2pVdGTIrZI+AQ//cRQxoZKQPLP7nady0XH9mIZRCPLJI0lmojdZiRBsudR3 + qKPEdlnlp+RQynwqiEmp8+gr2R53MbmJDGINVT604GWSMZHD75KhArUYmnLE7rBJ + nHHWm8rx/PFZ26rgRcsN6BMSqitp36my+au61qBjOBioQTehQRpkckkV/soApj84 + JRxn2mhSj0/OwMN4Tnw4YqPeDx7ADQlcCV70u1rlGN/5qpTcR6gmgkN1iHbY2idB + YLjCJNWKPTaha6qCbVENDxfuNRaYibzCf54cYW2RaE84uHMlRMD+tQ4PsDeR9UiX + d9AE8+B1fToLy5HCMu+CxyU67IcpZx1FrxnYGvBcem33m45fVSrfeXC8LypRJRno + HU1GyXJHMCQ8Dpi3G2kW16WCpzYmrP9FnJOFPvqt9KnMcV0VknpB7fkgs/KtgR3r + n6LInXzRFuJk2rCntIRLQpBl/0829fBiVrpGxnEr+z8T3zoopuFVxC/m+6XuHsom + rcxI88j5/Eif5IcdmUDMPzy3Yq7Na/NQhmzcaoPubjw5T3NZVrbhXdh4sWHv/3K7 + vFc0djF4xDGPkrPeW7HQj/INOkBL9ortCOc1K77aMNQLr1gRJHASQite1QitHCwH + uo+b5qTh6WUsh7fHKqoiHo7jF5x+dNHA6PvnebeerocE7FNj6QAQNuZ+Q68Z4uzS + XgFhUfzBsHctHKklQAp/4RPjIGzB3Ht4sSLNiDgcGYgdiMvVbMf0067kq4eG+xL+ + 8pYWwC7oUBzaE6k0LUb4SVUhGdKmFfBZO6eJvC2oJwyk83glufE1jH29qFYNBFM= + =vEl0 -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-03-05T19:18:35Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdALjIIQpeIAstI6SJmZVy3/sJBVtVHCySfgHgR45lr/gMw - 1gHT8n1VMzynknRCwT1epIApzCiZdEug/F6g3Sm/KF42HwgEm2phndK8Hl8B2bqF - 0l4BK6rMvSYmpSqrbSy0AXzD6esFLEoux7k5VRy8CHqlm156989DWuQmwPJhf8xZ - ZyzfmF4cfkwqU1i+og4MOfE9wiQIAb1/lJoVsGrENSfIlEhnaBLpFGOOok8ak0Ak - =CHlk + hF4DKKbvh61jX5USAQdAJLVYyGCZtQr6f435wBZcJ84m7XNmzLGVMt5SEAkTxjYw + jp5E3GVWSKYiIUtI+I09QYsCnDDt4OLul7+G2VFnv2j/t4GoxuA9Q8KJjWmxaPUx + 0l4BFAk6yLIbW0aASHCsEas7ujRgEGi+z2OqK9vJ3C5LuipGWTNBBjDPMwPvYLnR + iOTb0jiueDqKeGHuuYBDO91Kxnt1Y8KBiSGgwnIDcV5z3IstcyFEA9sYtjQnn3I4 + =Zrv5 -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/cloud.sops.yaml b/inventories/chaosknoten/host_vars/cloud.sops.yaml index 7d0e33648a..e85071355d 100644 --- a/inventories/chaosknoten/host_vars/cloud.sops.yaml +++ b/inventories/chaosknoten/host_vars/cloud.sops.yaml @@ -7,212 +7,203 @@ sops: - recipient: age1gdfhx5hy829uqkw4nwjwlpvl7zqvljguzsnjv0dpwz5q5u7dtf6s90wndt enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBWHEvdWRHQVYvRFFuWG5J - VXA3YWlDbXYzbG14R0tmOTNmaGprWlByUzBvCmZvb2pUNWppQzFjZ1BZRTM2QVJX - NlJ6bDJhSjdZREZCa1ptZVJBaFhHY2sKLS0tIEQxN28wOGV5eG5XZlB0V0pGNmtW - TXFOMEZhT1k5SUlJclhEMENXV05wNVEKZ4Ezqvf+k9AtcbB6UMA9ARbdY83iyohb - 1uP5YnBXFsn+aVLXVuaOA+NeB8Tai3ZQgBH2WDdaJmGrg7WXOw48kg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBhbjdjSXB0NUtRRDgwM1Mx + NkxWMHRnZXFOZDhkZlNkdjBrUzZBaTRDMTBNCkNqMUM5cjMzRXJSemxjWHNpR2Zq + Q0o2V1Ywenh1MHBUeWRkWjdKOGRudFkKLS0tIDUvdG5wMy9VK3JBTTFBOFA2bklz + SmdEK0RVd3V2OFN4R0lldllKVXZUQ1UKgoSPBxLwBps7EiO4qhhJdA3UbfAUG/+/ + 4na7wCLzfMPGpjifJ+GIDQMujlu7N5tX6oM90vWopgL1yTkgP44jzw== -----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: "2026-03-05T19:18:26Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtARAAotiKfDE0H3z6j8R+CssZAnUzAmlImWVPifomtAW6noQ+ - AEr0VwNpzrY1rho2xoJDHdY7XI8jEU3iSrnw6Bl71EyufehL/FsZrd74FQq1eR6z - hxNq/MIQHuoG/XfDnlVNVTaqEgtGFL9a7bsJx1ngpd+oZBtYVcTWxC5J+xd7QBdq - jcVO31saXdWH0G5SRKJpQ5LHyX6BLwbJ8jEglyxGqen7pIQbazpBCeyVplDG2O06 - yf3O+32GCurAAKQLw8mtd/1cVNErcilHaWMH4TMVNKQnQszgsCfQgPttuOOsIfHN - Hdw5VQrKywk0wGWx9T8MTEcg9kfZPf5nzaicvzCzGKa4bYE+UrxNKj8qjM2RhxUD - hoCDwRel0ehaUIGc9q1B0I3tdvoFw5rMW4icAhIzRVT42H66ZIBG10zqkwAGB+di - tDK8UGVNJdavJDDUTPe+OmQsAS1Of7rWYNP27XxPNyQ/egTQ+ZmdDxFxwday9pXS - 9MuC4HCSeQKodNS0qr4w4EOlyZ6JkNgsFC8OLfhcHGGhd0hQWO9mU3zklVuZhI3n - DynHNpV1fPh8SKBaTgKs4h5CtBeGgt4y8xQ69lD2MZ1cilfzre6q2vlNP4eZQN5X - aZ84GpVmKgwG0Em4b9ntkaDUkW6uv5uPung5B7PU7nJa4VFB3C5i45+LO/WCOtvS - XgHWjHuMqkOmtDpFu/URiVFW91erFiutkEsaO5IPGdvM1S/uDoFO98tOgs3NZPvK - Qu/Re8vtkILODg/eG5YWhh3uxHlItyyd/4GjqW3jla59gaaCnjiM0adBmhQjcVY= - =U2RF + hQIMAxK/JaB2/SdtAQ/+OIyoiOxbCqXkG8GaksrEAnUMyCIMyWWhqooSxpjo/Ex7 + ZVDRYQ6rdxn71JH08LMdQ6GyrGg0yEZg2Hfo8Fk992xBllchm7i2vjYx9HaRdWaa + KO0ANVc+Q6JZNG5sjLic+E6IgCUxgs44EU2xKn5KlLwPPjJ68NHESbj3Q6A3T+4C + 7psyVZgYxU33P/VQ+SyaGCBQ6058xTd03WJIt7EEZKTDhef/JFKQ7tBoFovC8xSx + rrUDz0mjpc5K1oMjGgUbVjnpdr9PU+nvURZktyeAEspHz52COB3O/NH0Jr5tTS0x + oOz1Gv0SUDgV6VfYat6vjUmK/4GGpOfK9PwXD884G8EHsavkixJH2rac28nKe2VU + vWFG9UDrxEJpZ3laZTyIwGK+oOJLN3NX/V5P5GAaRoLdd01UfDGIC7B89Wndpb1Z + bA+F9u4b3ZWEYsOG6NjkG7cL1Fm1u49TYyGdKPLD07CTTYb2/CRkKiHK691g40Yr + 9+xse2Aq4hMs7i90zOSkw7y36M0rr7fbwPXeZDKue5XLdWfrokZkgUYg8sk44pXJ + NLANXJm+9cQsCFshzmA4ROWWTSToXc7scLRyUtHZOL2FTuBuawHyZL+4HQbZZL+b + AL/o3CUjRsSmBBJA6fv957PsFnyH+m4IJMwNDSipaMjLKX142QT7bLk0JYKglEHS + XgF4tWivwvJ34xWRJ9Nq585tRwmuVTI7o0PUJP/NCs4O4UYQYNDNmJqIfBXQeQRQ + GdDbO96XadXAVJCwk6y+rLTHiOMZloFv36BAB9Mv46R/vMilEJRX5tweeh31Q/U= + =Vf3R -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-03-05T19:18:26Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf/QFMA3U+gfOno1U5LBSpvde5BO7yuoLMKx/uTYwBK2w1q - L4jaDGsld75faU9WXun1PZ7BEWQ6G60HYtiLSTUPugXKR+eXW7/5DrGHzAENPoLE - RR8LNO/Du3FaVXRub2Ai9QORbrbPjRo3vkz5bE7F0iQOD69228bgszmev4KPdMqs - H5jKhzDK/P7yISHI2FLZ+97e9n1SHUUnHL+EgdHSGPByft1TJsqsDNCPRrwqsqe2 - F4D8clawPbAX+QUFyzXnaM37i9vCTZ1h3JuXW+FFNrENMNQmBLoLoLCkRx8G10wx - 07F1GgG9J8R+SdeEDjzu0M7OBEcCJKE/xjIV4cDDh9JeAXBgXHouxDHnoyEC7JSo - rSk/VKfyLjC+8ZixOcH2gvkUHqDwzfvOYbFhHrlP/OZA/LflAhyZ9nmy725TLxKX - aLvvP+ZIl2M7ZQjzvPVqVzJeZIyZrGLabTyPZXOCPA== - =VUtI + hQEMA1QflAioE8i3AQf9GECWP1y1989fO5rev+EBIhIiwLz/tDmcDkPIg03nkjA3 + Eb6rKYGkCutgrPBu04pRAVv6TbMvACD0UpDaSMs4vPcttRhX+F7G4Q7GvIcz7AJ1 + rMLyhTsBKNBAOShQZxT4U5pe+hrH5B6sgz4zGvG+wc1Os5xv8BI10+iOzOD22mj2 + M5pBRpNiiy8nI5JbJELFs8Q+rBqJKITfWuFQiKLjIWbu3ZzVKBjcCta8abMbQotD + odzN3pk1ciJqnFBALtjy/UQ4gatswAgHf2LcNTrwl5LGjqU7puZFnEJyU3HIgtg2 + OXopTzbwKxHHJ/DDfgo0tGj5Wmh/USLdR2Q/uFpj/tJeAXYOh0JRthhroa4tDYtR + lErR0X306sf8lZIwvhMuanwh7pV3bcN7cibSKKxPHS/muz6xqe6wptrhVbOuUiwD + b0hIlDIDqUFeNRoxBMo38kPvmQLfzY+Vo5Z3p1fkqg== + =GdYE -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-03-05T19:18:26Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ/+PuWXwaOJ78PWBkA+5hUm2vzDuq1PxagVa+Ix/p4GVItN - M0mQ9+EFY3n5C9kKPAbue/3WUYMNy5yEd9aJRfWtF0eZ/rhFyrDPQQyVDEuZ/kYe - 7+j4jcMTvVudgsOROPoAgl6hOaandF+lQDKdc47q9ybnEej3nXJUKt6ziKxu9ZDK - x0S/5f1Gml6rFIPJxJEuZKLOE/jtqPpHdGgeVKiFhBhvYheyaOb3j+Q+G/LamrJd - TMNONibQw8bbfaI4lCwhXC6oELeZeUS/cXM/Mky/ztY8+/XNv8MuGCxo6b2MJTbr - 2I4CizG0IVlLev0T6zbAwflkmWDN8mg9rC990vKc7+nWILEZt+e2j+fLB6pFIk6E - uDChjQuRIjR2Y3cT5dGIy9MWYySSVQE3+6fSg9PG/HDrwvJEVmg8+dSWPwvI399G - WjAJ7+of/eEIwy1AHJSzfOItazOLp3xfgycQ34aCZ3k0Gdxa4hezdl+HL+mo7/fh - eMqGHjNoM6Xv8ZxIHmvsL0oC+V/9/ZJf0mM7ICryRixLJpVlv4+5Zl3wY5wtaU2X - wyvHSjMRIxF+V+qtPGExNIQZOT/G8qknAH7j+va0OCrx6XoKeXojsk7D+1CYb9iu - NW+wNuHM82bbKvS/ole6k8reYH6SIKKKZkMAJ4PgLtHVNoJdd2YkrEyBJdmUVdjS - XgGosGn5esx94CCmCgWHGSWYUKsAvKnCM6/z3bUcYGtZEHbUebNBIs0W/XNvdX8P - k6WuSTKHdtmdqjUKgCOpFnbnz82K6iliquBxDBQ13K1RGxWQ3ish4q5pJTqkB64= - =tOES + hQIMAz5uSgHG2iMJAQ/9FiYt3bGTEylZLldmn+rPDwItJfJzAFlcAXc9idX28CO5 + YzUAspwKaLFoM925TwgXCG+9vYZ9EwfiMc7GEwL5d8jFo10z/hCEQlReMR/Slho/ + XhGn5N4ugCs3JiWY3Q1qbUTlTcFgORrLbwYXXDp6g1PItzNDIQF5URQhgSbNpXpn + R4nrTKxRUFVyJ9vKQn51GvSZmT6i7BE5hh8d3N/WDd6iQcYkrhUS6kC0lVynWgIN + ancHadu3RQV6iCEf2I1N+LTKbdnjW+gQH2r6ohwuqe2segZf/HYC0JluwX7Bq+hq + 7Fs/K7QQ/Jd/krGAUEszAQkMfjkESNTXLVlI0/MTIo6h4Jm4seN01Ljy3j8FP3Iv + 6RbJEv6H/D01bmYf1rAW2uc4x0+orDzl1RC2U0MW7IQt+7yd5oucnTYIVIYy366w + b1q9zi93cCQOftKb2Wc+s/3aAZ+XYogOlYp9ArFMaljCxqoahuoqodjvOpBwzxPv + GxEip2jSdn6UFvebGjSMuEoHVnq7tVKuxyJSIf5ECJfcBQFTiJEMjxwnkyiuAKQT + 00J+7qPpIO8MQaKQGSfd0WZ7NpsAX5gn+bgF7ElU/eBYRoCLklw27vo6tEtH9qoG + z82M1WoSuhzhUVIxVlwd6TiIJprq9kBKNL3vcBQGCF/+jPzNodSGxp6VZxWrfvDS + XgGpRRQ5tl4jJnS4W7ZfkNqJMB+9iyjqLcNmIP/0YtqtZfqH3bew3xZZLzdDYBay + oRxUbfxuu5fDrQKim8Uv7EIjqK4YP8tahr69ysTcCwPzM6S59OzfEBQ8C0V1FD4= + =cj9O -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-03-05T19:18:26Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ//TqlQ3obmlV2kUASeQmAFJgTm8VJy8g3dtAbzP6vJ1YJO - f9YjTjrHWH/fctqTK9bC1/wGRi7IEJAxljOUmnazSDWVIUZW1kZpBPFNO45d/TbO - x39avInQhDLALgLJN6eQn3L+dZblKcQT/U+YKNpcp4dS7vWd8CuBjgmRzgXDwyxn - heeqRre9t2fgO/1WlHt4xTdjBwjoz4wdd+W9kg+FKyVOZaLyt0URY9Td4prwrURj - hbtMAKQRjQH0nfz4rgBPlkmiQpp2W4nq/Lyut5OzdtTc8I24MwYgxzgQUiqYTspj - 2WyzRenfqb3bdQ5u9QfH+wCvcdCq4s0Umeke55LPtgUxwQFDCKWLYA98dgve56U7 - gZeGop84rzk3cfOQ1vTQbmHTSDOqONbsN8VjZ4+pkVS0i+ViKnBUgANoE8fvVb3O - owvRE/lDhdJ/qyFXYoko5elTWVT6emRqnhBh9EI2wrC5/6l3KhAuk2ud1G3bW22i - TKQgARy4tSzUe4qWYdmsQncvhUA1V9badLvI0eOhAhxnC9yrEqhd3HuqkmiYh3lP - 7zrnUkM7txA/j4XnItwR/hhpm9s8bI94BeYUjx57px4ZLS7BpkzO3Z2PDoGilCqB - AeZY4m4huHFkOv67OLW5P64Wf4/je0XD/Vju7JU3Rqxp/sNyQJlWxdM+TGhdjSHS - XgFnLiJ1MeRz+16EIid56j9E2f/+MEPNeJGjkglpbgiVP2kbTvUdwqXxECwSthjm - 9boZkjH+LTGj1fdX3JzDyBYeFfzKIBTaKOJ9EBHxKJesxxJbeM/Sn6ipOStXu7I= - =Ngzp + hF4DsZXvxFXTXoQSAQdAxSGdE9hTEGWFcpcBSDqJ3HO2p3M/bqXbla596ujYeAkw + XHqO02hSJqp0L5LvFPLjpTT1XhZeLVWtaVX7uiTTsDuI2kqs+QOZPX5x0K1Jnzhp + 0l4BvQU2XxyTwEaT3P7FmPHNCDp/wf3CcVnEHfZZdGYaT6dWMx5urjiBeyKG7FLt + 0uHIVNi2UeikGrYOHxUJYmNg6T2XzZB9hKBhY7ksY8JoTa1J9TKllBfArQSUEZqy + =OnlV -----END PGP MESSAGE----- - fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-03-05T19:18:26Z" + fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAtrU7esP3fx1hYVD6jVUIl/NGZ9+6tEmd8DVeF/8SFmgw - xw+FDlSI4UfdRUp63Z7bQzIY2jseElhDRk9o/gAUxYcqoEi43yudgex/8/HkyT/5 - 0l4BLZMEF6pD2ZiEoiFbA7BQqElW8fuWp/cT7l1932Eq3ygCOYU6ay6aJFjCRy4l - Q9vFAI/fiw19acdCnBJHWJdo+k4QrN+n/aiaRzH7AcZMLMHdsA/uk5s1pyflZP4X - =bCB/ + hF4DerEtaFuTeewSAQdAiJrVKAOJYHw5fstF5Wx86BNkdzwikM+xpZj8aZbspCAw + DNgV2cPOMiLfRzSVLirrqqYJDsk5qgyepk9tA77pVW/QmRz/luvHUG5DaZHS9Rj5 + 0l4B9TOZL7XVJ+tR6QTtT0O4XB15VNBox/MGgs7d2D45vikaocssU+QJ1E7aZLT5 + mXHZ1bEfLemIEo7qmKbaQRDIwc/GEVpvX3ETBi19SbiU5cG8GdUSmWkZfXVrecMW + =Pzbv -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-03-05T19:18:26Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fARAAlK9Ix8gq/gQSOzhaEjI4ApN9KcO4MTHnAgwA4ZF4hYWS - vbZ9Inyn3DBRfTmUKOqUCgbhKs/M4jk9VXNyvSiyhX1dmWrYqWnk+QYrgLuf70OQ - pR0mPSwu2YkMRuWSXLIAXfxHiwpsXh60bj8p6k5ZacveGEF1zB3ChhegG56ZkUKU - i1jRtjETUb9dPy9VHu6lna7ayx0g8woCrqEJk/UYq6KPNb9ZZ6qMzg5PCvjxpdqn - 5uPB6F2TFscKTnpVPf9DeUGlcUrRL5WmNLmyI/wZ+tTJ7LzevQZMD2ea5U+cVyMi - MQHrta6lS5Ax+7jeocfXv0jY3PG2RkA7KIVv8Ttg9/Jh6hv74wmK0Wsau6DglfeX - MhuhceTv3TZYq+7utHKcimrFtx+6oflTcO4WJ60nXut9+3LtZKlsiX2r9dl5zKTz - +BQSIHP3+OuqMWcvKtBEw+XM+GGNT3aTOxKEuHBcjDTzC8WRmvo1Fhiim3VroNaP - KSnBdLruTZKTZ6lg0vPT1jghR9LRc4MBg8i5vOjZXQK3wkrL0noSABXXHGxA63N3 - hwLuKG4MTrWReyeACZueAiRvraDvmKSdpd0qQ/VKlyyXLgM6eDA5Gm0VQA/fUsef - UrIxe+O5NKGl8z63Pj+GmyibgqvdEISO/y/edgdKGjO4yja72NC6bDDbaRV5kGnS - XgG0yEE77tA45cYgKerxJHUJBmetwq9jEQlsfsLd3+JjXebSwvVIXfcF3op0kZGo - uV4aWV+f8+sCJCi1VAik68/Gg3Xt2GyVC5PuyG9ZLNnRYpgFeJ4VfG+bjvJaLMw= - =asyG + hQIMAxjNhCKPP69fAQ/+IsZ1eVjLYF7tDwUHkjqOaAnoPMOQ3rBSXEBYkVgi/ecx + dylPY3M+2onvDEbnIbl0hsue68QiJzaXbktGIieeWuOyjfju8bvzHAqlBl3eKEGG + kZoAUImJ4nbkoGIw4/af+DZEkyr0IHBgdLwTOOXTGW61oKlLU2XZZqY6vP9jltav + yBkBOtZDvovuJ2iO6IkMoksMH8xInwjJDchtjEwqapEhnZAUiP9m+RiMFnH/BhMp + rJWc/SAfUnukPn6747/IJxCYzWwkzu+jT/hL16SNKuCDHkBAoo2cQusj+ImK9tT8 + RnLBi9pD2yEvQ2jZbgR0zI3hJ8hliXTdppHLduP5Iqrwzs9GZYiqXSkTjVibsaqR + LnYK6VwnibL8OvhyRNOzyZwY9RJ0ZOlbBXvnTIdF4gdwbWSpJ0fjXDpeaV1J23/l + 5YCBTdCEQFXmbZA5eJY3BUU2Ksi+avjTXZo8jGoctzLKYQh6x81tiFHCgoub+ycY + MepXITZA8DYjf7T1YjRj6WyP83MNt6Oy0EQ3Q1f9Fz4WkB9H2Wo4oJ0ltUUyKq3n + e9lcW4aAf+d3ZzpIDC5sZuH8lUkrk1+sHImVz14/2XciQJZwgYllisjRBTUtpYP6 + AqPQRToMB+fQYaIjlIsWZ5HzDl9AJbKpoYK1c4dj+R4gJe0GmcFMsVjVGuyslPXS + XgEplWw2ACsIgYOY5WY8fOFbICaAjfAg/6fgt/WLavY92xTHlKjCP0W82YYFQHth + XmM0L2k3OZSkfQn5EiIm9/yChDQfz31+I4jk0i3HpZ/Iq8K9vSvHcRgFqeugVUE= + =wyqr -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-03-05T19:18:26Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//T2Rv+ihBSus8riGm1NTTV8Jlv3gUYSDgY2Mj2tPgORji - qV87/7Ut6mvZDUTsFws5GJw+Mbb7m4XtvQ1LHnAIt+WZa7cSvJQd6oxaCqt2jsy2 - EqbEKVZUqXtQhnGTVEsVgv3Qm89kPZfdjVyA/KfUz84VFyy3orWQ1ULwxaFLPwO9 - B/e61afsI6XZ9KeEKUyHLgnkN8IDjLonwUnDCJdRJBAHyDHw+o0ATjh12ZTRA5EG - 8bOrD8AhpgO1wM5uyxR2zqPWJtF6r8BZTdZ7vgkf0qrzkbSijZ8N11DadhdL7eRc - bMMWVSbfVrlUuTgdPV+8jXJEtLIkdKcNmQAEVc5GvuaIyhyW20Od0Ys2SqAKX1Sv - EK6d6Z64kG9/kVeGqzxJJ7eHqi/tLYXpYDuuR7XfojLkIYURpsWVwtwD5+IiGSDt - d2YyCMc6YbI6/Go/O0tfrFtHFyVHMqbtjsDoV7G7xaCY5hh7tendrllAAmHEuF4J - dkLQ6vy0ObPib4PjbD8jA6m8rU/6jvIVOvlIpoaYBn4nYa/QoR/gJ94bJtPKvsqn - LQ2ENVsXpVi78pDeIsALrZtC+FRnp3B81dTWoxPR1YXNS/PA51R8ueBJqZ0ntpoe - 5E5Cvia0sSMAtCp8OZhypr+Tj2nZdReu/rZ0MyJiiwbPXoJsO33lDr+M4vloccPS - XgH7o2/WxsMcm8rBrNe2Y2ybQ/CCq9wX+s7ybsC+RAVZTpCxQqxyXnAEcw/USCHN - Y4l9yUB8zpkzKZqdhYvzuff6chUt/Qmy2wGS8dt/KeM/xoBcppM/4VwzA6mErDg= - =jFxq + hQIMA1Hthzn+T1OoAQ/+LKWblKXfhuHEqDUYJty2O6WjuDmif/NOZHKwqS0k5PV/ + kv/JU6D9fL4Kksta2d6L1npdgS0Z/2qruNG31qbsFL2skK6b1hd8xh6Y2gPpy4qU + deggC0eAV8TK2JNRN4/rPOGXu/k09ir9pMeefIeErB8xE4Wt97NZEP72pngXpwbp + lDhy+YlnzrUCMvfktsc3eHSiA9GcpMVw3Ld2WC4rhQ4/A2w1XPA7ZRgM/KRM4+VI + tA+LN8C/BtqirR22K7TAgf2Wy5D9GUSuC1VoMNiA+nohFYr6g0l3Qwf3NlN+uV2H + Mg5yACsCl4hJ31N7uuDtR6xp/bnf2IbLwxAt670sBjrJ9kcAbbaYHUuA/kMSMFPH + /cXaZBhKfoiBHjw/pEJ2PaesLgH+z6U1VTWR2HKvd8PPN2+I6jlUrKXkRQiNFxX8 + 3N2EypV0RVkORY9DSBc8Va7mB5cqJHaC2/vHWw8KoT8NiINhDKOOQdBQqRp8+CYL + /CiQHLuRkOAN23Ja2HRi4lWAlDxOiMR2kXUSA2uP+Wzj4VxkdYn5fsl41llmB2le + 74xEnFkCQrJRJh5QvdH5hqUcadhyQPiqrQXB5Q22/3e80wDnNkFMGYv2h3kGviIB + yPdo25S24cZDmOpD7nf5x8tSa3bYyo8DpPPArEh8IszuNginJ9lcV4ufwCcBMvbS + XgGLd/gqc0doTkA2jzhOBddVwG1vlvjv4BDdSbd2EebiATyCJqj4PHUH/Z9X0e5e + sbiAwL+vTtCug/x5zNWe9Ibs3zJkLyInQ15oLMYR6BiCIMAFVxuitBLkFAzicB4= + =6mab -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-03-05T19:18:26Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqARAAo6BTqMmtHqUb8l7WTqDcJQq2Y/iyPphIRe7eOjX4Zqq0 - jdE1EzwZzaEVG+dR+gcQ75fia1/C23qMe7rqipNTmg6vlAAgP7Np6i/maF3Hnq9W - Lnl/7+bwUT4apex1jbFDDyIr1j/ppNgGTjHmVbMTz0nyTVavzl7waJqoOIj+r4Tw - uUs3mPb11a8c/Are6pKzz2jvsS/2yks/fA9YQ7hHuJo0Ur8mvmkRtFsMUcqaKBr+ - RV+1nboLDp0oIXemmktO6UEAhgwRwDeTTZu9f5rWLoFTP5x0dtaT1T2o7wsYb10Y - E+wQ4xwY3Fyke3XQ3KU3MdoxsvHPHhEO9FgbZg774yxxrU519SM2NLY0UGtvwClL - mOLYX/6O/tM7XEFX1+QIN4Lm51DOx+ju5ST3Pr7y8rgR5xFVVGOvd2UIza7XeHP/ - dZsajszlpCCrTg7xmoZGJ5U/bG2gRZoDbMV3zSbqVJ+k0dghbyhdShrKXWpfBOsf - a41RkynE5lfQKKDVBAObusz9nz0p2yPTDbtnWuMet2rW/HX1uPIoUHXFytv+Ie/d - nbHEvy3zP1tjWsXz6G3pmXseBZ0C6NeicFsAtK8RPADOgMNhqkYB5RM3+JD5PK1+ - NB7OxgiaUfxb1WP3NihOl8InwHdCnunpeuH1ZdCECdPO/H3iXIjKRsP1PUql6dPS - XgHWP9X6IqpEpWaX71DEdCNlVm2BKBBvneRAtQbU7r/ar1/OZr8G2VHPrqoldtZ+ - yL4KR0Sf4mE57+XWhnpIEb4RckTqGRgOmZJfW1LcdFnd5Nlqp4XV/8YQ510SmA8= - =P5R1 + hQIMA46L6MuPqfJqAQ/7B+RDPwgwM813VQ95BIuNq7Tg/Q6bO+njPqFAFvzmnZb6 + fZyN7TXJfRjYz17A+2N83hz1Av4odq0lWq0Rc9/Jp/aGHd88sohEXrW1ebNx3gyb + 78tDoyjNDeh5DDOQldhJNxmFZryx4Efn3M8/nMA/K0pIeBkHSXeTKC6JlooPCV22 + Krhx5C/7N/SyGxTXNey6OCJEZYdMxtuzt0P6qET6waC7ytunih3qpZNhXAItnikw + aaxZs+A7/PZ34kft0uuq7E8s82SQsU/0KPTSpeC0HPTbaZYwBZ2kJcU1KKG4KxRo + hZZ1aSG3NxPWgGgUB/Izx6es5G1fmc83vsllIrDGZELV970PPAICa2sNkDmhAqq0 + wuMhvHw1KVgsG5pdrr/deFYUqvkid+CeWFJqOypyDsISE/7CV+1/D/43zanM07S1 + tzhQ8TiIR5bt6SCUNfLK9eGcu3j1WNH/Q4obvalkPtTpM4AxYrhcgcYO/MbNafUN + p4dVcrPCuoXQUBGIWJNtEmEhWRN/2CtEyqdQar0NtwTKxip6WL9uvsLA0j+ja07s + ZBvutJ84P59vMvXMZUHfAzvJJWECemQatgor00FxKQ033MKtBC4xLVhgCj7VVFEC + STBr5DGLJuL2NzjfrO0W/0Fxe97Jk/SXk52UifLX6GlGYNW8Z2w9EZ6C905tQtrS + XgET4q7lphxwq7o61mWKca2HDEfJ+Vd0h6zcIwe7YK87UNXNhElWyguXfHmqkpMz + Hro9OOZ/fzBd6AzJChyyMXy69l2xHm9cSvSy43MRhkMRoMnIlNQHUsrS6XzVz0s= + =4Gj8 -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-03-05T19:18:26Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAq22alWP11PS39nKrekS1Ni1QyHhEdzsO18og43akJhIw - FJW+E1WYHm0jDVEduakZiiqUpzFqLKI+6GrDaEVbTgilsp1udE8vt57pgJNHZ1OV - 0l4BtpU2loOA3QOMdyyNarJRhKTTMp4qk5q3LCbzxdOshddIuLK4LiG/M0xS/MDn - qZYn4lxWv8aHZQ3/jNlZnrfmAZGJ6oQDA/SvKYTo/UBvpvrwKu3OpqfteurucavO - =kV0/ + hF4DQrf1tCqiJxoSAQdAwLAt2St784GPvyH8R7zPyTPDkgbXkI58bjSmcPBP4WEw + ikNz4pSIcDqS1ID0UHVHyl6VA+UKMf1ioIKS+vIvUZ7oqbTbaTY3goPnJhdYtdNH + 0l4BcLN7gYKKypwj8pwNFipi39heCxl15tm2SQykGBYy9fuhQtr+QtaVVk19OGOR + rx4uY92o+DPTA8J1qzFHyx30juFGzJVXqe6dikQlytzYGzduRajNT/mD3MBUZdrQ + =51zz -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-03-05T19:18:26Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAl3Ht8MWHrOfk1ujU+P/r7vzwwXXwLJP3BoKgbvPRJjAw - p9qurVCXrNuk2eR1wgcotXn4AacjamLPEQ+ODfsuTIK+ZnQJAwjgYx9xWFS+RXYl - 0lgBk3NZp9O5XC4CKcDgM3CxfF0rr7Aq9ht6gQoC8vuVjPW7TLIpOsUiob8K9qZ0 - 2ELmkM0T9UJFSd2TcbMSNWalwQ+IJOX1wiXO6Xe/1WBsz7UzN84jop5W - =1ts5 + hF4DzAGzViGx4qcSAQdAwI1LWudTyGWvF+W+LtpJcANV0LMvbbrX/GZtg/g8xEYw + 9LQKQKbvKdGhQS6lqz5qP8GzssT9RGixbGcnx6HLvKg4asDqteDNuRV66/1tFtF1 + 0lgBOBxyXTfT6OdWaoyVyqmeZozjxgCBdpIVxn3FFqiyWh9HQrN3NfHXm4tLvcFg + ZJ9U0kmBTvDBVSpHugQ/5OHEVrsyK7Jp07eTX4/W5yHYqHswfBuV1OMy + =MSR3 -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-03-05T19:18:26Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ/6Agv1OI+3wQYoKu3rIyQKqZEgibuBRdlpvQZ5lCr93nEX - t35yh1QiIqkvOCBkv78XRfyy0SMSrBLNOm+ECJPfKrdCRZlhbNdkRmzjCmwQkT+K - BBdRvM4qM4w+yqjKIuxskVoJLbqPe1FMKCLD1+cNvTCD3rtko3yC3ynPn9CGJr50 - Pr9HNDOmEplkJBtyu5k62W70ffDrWTb42g5ssLRkLtZX+d2/wp1/PEany3nR4T3q - BVqrKh/tgjZd7q3422BOLlIRugzXpQ7i0vHouK1IYQDaqcXLsXRCwOkAtZo6ax7T - NyTgxI97f12ki3MKH2zmNP10f5wM2MTRCkUQgZkuUxAn17by8BxILmR1VqVVRrC/ - HBVO16wlx5fzSYALsOZJc9lB+L7Bf5lYIU3QABXTyCWnkPULMZtCcri7wJnLz2jX - gl843tHTf3ky6+yS1Bxx46EQyRBrqFQO1C3iFDO0SoE9SoIl+esjGirFrjK2fCvK - tW9gMC/mhEYUsuzVks4h2piN2IdETJWvs2Vfpx6ZSeeEXfej6txsINGXpkA+6Tzu - 3PZ1m2JW+9w0g7kNLpCv7zAeRtm8wJ/e3qimWb8yOFEd+fiG78UoN/i/r+pNaC10 - YVW1qXs/k5amT2tAKzU/dsj9iSpKz1DB2eeDgpUM129vrav8SV/BpW0/+xnwx4vS - XgHUz4lGasW+0QoASrGKk9s/IqpS/ucCSmJ7Q5ip0nz7StoMMNwj0jMb/fnmNROh - 2NsXItZLIthc1yngAiy9W9r3X16dk9iYEAd/8d55JPrmhPB0jZrK/WqPZujyDp0= - =xeXJ + hQIMA2pVdGTIrZI+AQ//fp1HJq+fwKhLQfY4y+QXwmDrCiY0hnjTGGLrRwkXoslG + VZIcyEGos0O4AV8+J7V7ycqkAba9oY97PrQC0vfxqwEgPD4HwsEGwr1YDFvEbaWN + l2Gle747MOvxTjJzKtKZwGdnR8gkvpihFMHeoJZWbXbbzsZyy4Ps5OHUwxxBkKRe + UjxzAQTMlrwX3eyHlmi2h7dUYSn1QiFXE02uy/VLUucLoBnX3kO/iVPy7zkbE+vy + 6EmD9HkepbpDcu6iKWnQZYedkt3w5VyNPZ+a/OPMgKxgo0ngBsMY5GCDa0NyiLxa + 0XUSCsQJmZxSCOY4TKZ0q4mNfn+LdHl3mlA1VSKw3oNfUEoDXi8GTWJEY1pWpL1p + SwGNm/pKPhl6RrT6OCVR/JrvLzwciM5czGYKa5IKLDF1GLR5hngs1LRplzhKyAjc + jEh3gsggRgbxxTDpswRCOItWU1oUPLJoXUDzJWlyhKDV+LhxsqXOtBKhsLDMIX68 + ZI5l7f64zhfDQW/i+hAdRz1q5hwuz3Yp+a5VpVKhpddfw7ko9ARyJqtUnefVAEaV + iBo6fE6JkmfYeQo8T2wRyTcjOWEyqn8Pd93MFoJoqlyA4Ri/4TUly7xya3z5nYiQ + E9n0FXYUTKn2A9p1aQlyM6/H30EIcMf2Dzij8qIlA8Skt3wWpHe57KzrwoOuSzfS + XgEMHdyn21JsohvIg4nNnvdLih+TJu0q8SzdWOzNiP34aupkpRALbcCzR1iEVliK + uqv6ZQrXW7bSyst1Jyfgz3fh+plLMrT/YJGL7/U97VNGHNuZsGISbrCx6bdRfFI= + =hAIo -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-03-05T19:18:26Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAQxCd3TVQKtuQNupKEpJirwQg537Z3PkkH0oNh2pmSngw - 5RInYxjZth9QMD8/rmN6efBfSh+jcB3jNMqRZcdsJREnN7yQW0CMRiXQYahy2S4P - 0l4BFsir3ssBfmD33xNbmZA1/FmYPJCCyUeCCvWGD0AvnFZhJFkQNW7KpypyxpB6 - 48+OgsegkXfVploGsme4sxY/IQHda6Os2McGQzHfFlIQCWw0Ygogc1v36FHugAGQ - =OKdm + hF4DKKbvh61jX5USAQdAzZaQXrJ5d9npsJQ2WYo/dV3d0QK0qeuSGjl+LsdG9Ccw + uhdlcml5wHQHK7MSBiQetEkxXbhhQs73fYkq3KPSi04UPvhZexjayslHwCcfBIj6 + 0l4BI/YpX4S8/8RZdWDTm9Aclt3mO3PAATaXyCIIfSt+k7g8f9l7aJ/YXM4m2jJd + fNRMtSpoNpdtwCGa+pE/qTG0QnYorkanvyYG8Sx5XZHHY3SoJcB7vC1Raz1AVomC + =8thO -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/eh22-wiki.sops.yaml b/inventories/chaosknoten/host_vars/eh22-wiki.sops.yaml index 0f07090934..dd9639b9f5 100644 --- a/inventories/chaosknoten/host_vars/eh22-wiki.sops.yaml +++ b/inventories/chaosknoten/host_vars/eh22-wiki.sops.yaml @@ -4,212 +4,203 @@ sops: - recipient: age13nm6hfz66ce4wpn89fye05mag3l3h04etvz6wj7szm3vzrdlfupqhrp3fa enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBlcTdEbGE5Qk56YnYza2RR - OVVRbjhUTksyOENEcDFlRzVkWmpxRFgyV3drCjlpY1BsUDl3QnJ5NW8vZlZMOTlU - OHJLemlnaXVYS0ZpZEw3bURsVU9HencKLS0tIFhEK1hTOFdCUDlPbFE3dkI3c2Z1 - U2FweWI5RDBiT0xRSjN0NmNOcUNHc1UKoK2FliIUAZnJx4hB4Cbmjz9cZ4aWjZWY - UzGixIOsC1L/3rRtdcXCrDhiPzDR0x2r1sM+XLbUC8jRrZcB5OBwnw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBEUytOYjFJODNsL0cwMTlK + QlNvRjl4N0w0N1R2SmRnbDhyT015SFhuR1Y0Ci9lOHFMWkZuQzBOa3NmcnJWRTBv + bzlkUkJwQjltOG56Ykp5cVZrVHJZalUKLS0tIHJtQSthVEhwN1hOWjQ2b2g2cXR5 + eVZRUTZUUGZ2S2lvT2NKMFpwRVlzOE0Kreot5isXvYCDqUP5bGBZ2rd8BIBylYeg + +45s+J/7v6fRgs8w8f9opgrnbU8uy9T1TCb2Ik08oUtbtD6RVM9LZg== -----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: "2026-03-05T19:18:00Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtARAAgBg9ta0kPGgt1DGi54tv7vf9mCDx2Jrm9kt/ArLt1d8G - tDNaxkECQf3sMh6UsBtkYnz/1DbTDoFxMwitcU+PMqSxg70ncbOUbSLeNRRbwhdV - 5M+Ahh0q/Q9FYHfcurx5P6MflRc+g1afIAKp1caZsWOKRFIeUqnHhXkX6mAEsQXk - qcSfsw/wVy5BRj9XxtG30R4oKzelFbC5auvpZrLiC6hbj4nsNlSJbne+B1z1835x - D3sWFRioJLpJk34stdmSM4RbTUKfseeZiVgOBXUnVkCmWV+1bGYzWjfqnkWCiaPx - +QpM1aWOQystBvPZGczzSny5UNdwQnJ2fGcJoNeyNmHW5/YY3Wgv04a1GNCHMXaa - z9LMrI/HVa/+aM0av2F8JrnDIzPGCV9C5tx9/+LvkE0bHs1x24jC+KS8BRAtrotj - t56m2ae0lg352Sgco9BF2seSDQ0YBQOyhhdnK4lMw4w0eb+wQpfU+7YYwz6EoM+J - rE1gmxTqZh5WAqbIOav5Vr5wDFIuJk6E6JauoqjwvDbX6g8a47+fctm2pBwbpKZZ - zPcEJ+goqIiFHZWaXAG62AMpF87ze1vFa7LkuxLDXI/LrrbldNBCXQG6DZP85RG/ - uhDs3xb3o9/lpfWGP+371HlMAFCpOdpWr1EID26CLCVuTIVk6LQBQzEJqSCdl/fS - XgEUBATfjhGcG7sP1hK3YdV85/jsDLfF2ut4Rn34kjGICeccCcCO89GDpq1l2uom - QJbRWG62dU+xcLpDU74vGdUi7tgy3wn3zd37ZznapFqhDJDFxm9jpqj2jVRSKa8= - =4wo3 + hQIMAxK/JaB2/SdtAQ//e6t6fTrkx8szm/OZrndRPinB+WU4bcUOocgq3/Q9h6Ec + WZJkJ+YL7aBgzFbSX6n42kMRR/C9eC5dkQFcbACpkr7FbS75lMnYoYTVWh4N6zf7 + BhmQfdEbicuGN+IGSoS9tv/vP2MvbCowpsFkdjVlwuymMEWvdhew3/5+Rgptc4fn + vMcev/FAIzNdCp0bTHBbOx06NO9Hk5W3gwT6HWru7NDsQLBge8Ub/Vp9VjhrUyrQ + c4pEINn7s4xr3RqlqpCmBZksGuS1xzIGSq6sm2P3nKp7UFxZF/iSvJ3sqnFtk8Df + 8W98komFnaNBRO3kJbS5j+b1YdKMIoMpQ/By+FwMfa7hq0DcTb4D37HPBwausiyY + tkHQ6FtnA2amSv8+LXA2qxN0iO8gnpCem/f0VEJ5BcNSaZL7CkoYiMvW+6uCLm+0 + YkO0jUMRDqBGHAo9r+vqLsxoZn6gi0+nfxfAX5A1pDtqHaSDSn1ZSP6EBE3pymwC + F6Kz5IyqKxnKtIqcH8XIg7XlTVHbX4eVQVrlCX1CohtXxxFxjIQqnMNpreXII9Bi + sICL3NkWv7X+P2pKaiZ0qmecZu3EBzDg7buz+6/Ou7L6HynMS0M+8nHeoIZkPsCn + Q2FgAO/FBAfgYkhRjje1zVyPWr+R/j4Rx+yB/xBw0LF6vHClGXHQusEPsfHSj3LS + XgEbG5Cepna5VrYcy8uefN6Ga9JF6T1juWAou3UlT8JYXskT+7WhmM7vYR4/eV9Y + rfS+GZGnX8YHRKSLv1qoRLLARP7uqPRaz4yHZm+h6kHHC/XQQud2QQ8B9nyiEx4= + =XXVv -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-03-05T19:18:00Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf/dUaI3AUfrsLJdtFkl/gYcvDNou8S8zmJO30t70QfaXnz - /LUGGEzgbiAX8FhNrDfj1jyFCGOjGWsww1gm3eCTjr/dmM5lvfNCaTsLEN508UWu - H2S4TkN/YBpdMblfcnKz1Svco6aNRaJvfH5So92JMQXtve9JfYgOm4YX+QfQFcyr - smwAJuvMpAfxPArgZMsG770Jwpdy09bCIVM9iHcUq3D2OSj6ca5y2S68jOoZnzWD - jsIoHxmqdDvIAV77vRotwgGBMaay8ro2pPMqOFACfFR7XcJug+NGceyB7jGVWNC9 - 1VFRg0FqFzHFQuqOUpJdG+ps6SEz3DssZzqhddOPPNJeATLGCQETfSVVtGZiy97V - /OFfk9NY3lC3MGRbZVyTHQOMhtytos0yMdoM14lZoamJ7usYWLbl5i0UPtRhVnSk - PcjOW1gZC/Jj7TdkkTy8euKxYMCkQ2EjgR9JPaCZ7g== - =/2/8 + hQEMA1QflAioE8i3AQf/V0jPArRoC8RHVWPzXxhWdr02MOCW/WNA2MKXb+CH+oDi + m7icbV0Lo28XMtaBEm7S5SVZ9j07zMoPLL/VOj6OueU7gBMHbMN6qxsUwm1OSHc5 + xC83TrMC+LCHZVbzvgX2evIp+l4nvHaS30hri46SaaJvoN/onB5O/Pz3LrREDKB3 + iwA1SPbk0nddfku5eUOPOVhCPTJ/QuUIZZha66dMJBFoqq5t6/+SANPSfDJYVmTP + hHE+DXVssWAMAXM69AX8zvL3mImNycF1MaRWLGM/SgC+7rTEAnYco5yvTrG0dHVN + 7Ifsb5Sfs/eU8y0SGSS28LRO7eh+dHJX41yWlVknydJeAc2FLi+6dkQzSf9g7Bpy + sYFyUJ7Wdtza9HGxhxPH7psx0ww6YqJOmrILOowUN9KX/8RwIHadIEruWSMvbvoX + BDwXMr5GbCjdbR1NlC0J9fv3ZcQw6ytRy6iKfz5ZKg== + =yaWZ -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-03-05T19:18:00Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAAx8xVm/NygA00VIJx4DrAk2u1mxMVzgfhua//Er8kUv/q - 2uszjOEvzhYSfhOZvbKghpUB1Tyvp3WHcZT43aebFcXichjqG/KmNu5BI4jEGiXA - m0POAc9R+ZRjdN2+f6Tc4m17lakw5uyz1xmNFaMk/EPrfLiyIk9DEA0FGQMDawIv - 9LybE2+rPvuGhZZIGt1HtraU4Mt6b3aOHVnM0BU62zg7QGvjNiSN3DJCBLnWalIg - Z80+WBRecEtP4RWa+66QoOXrx2x17tUI/TkErpKy4+T/P6cLZTfE4HVkRsLb4Q2c - xm0F+miNcl1s4PsAFaZ3hLsU2EsBgBC7lf6iwC9Bf2VoED63Ln0NHPOOyzPg4zmC - hgcoA30RJ7LECiRXB60mhIsYLOEhtxOhf9DlUA4kzw82rlV589jaIDVqH7m2Ecz9 - WR7fLn/SJqsopfQ/+3F0yImD/avyrVyzEFJsCJqFKqWwwBBywl1/e4wjjnOUwpvN - 07WZL/Tqj5dRmCPgFuHvd42xmBtBaTl81LjQXT9g8ckvGvQjJZqaQKiNq5ee+uog - o3GMPSXU90IOaDI+J8w/Hyi3WiIzSrULOEo603EbrfL18srRVtRYXftwbFVZTbkz - dQnAsIwpj2gDXdRZJvfBna0w8ra2MvF2r9ZsIZ0KE5xJEKvJoaHwOJT7gbs3V2LS - XgHPFPLgYtUHB9Nrc6iu9ITyrAD+vQzgvPPd9KA8BDCuqIsjDLZiLYFozdVml3Vz - TghPYRnmBLpC3WFrvLJPESrw/RHUyFba938L7APPQ+4dib40vh0diyHb9t52efQ= - =VZEw + hQIMAz5uSgHG2iMJARAAhWVbx+S8mO/RN6Fii40rn+f9Y/5Er29UA9aAMbMbC4Gq + uJSU3AgEgt0ERzhFPMOYZ2OTXOfYQKm+O5D65PBuGPACtfCSd0H7WAkf27bY1xz6 + 5eCsAx+CIYHyvFJTUdCdbcUZSfTKIcZkFnYs7q0xQofv3S9+mgmMN5Pb8rjLW1Sz + zIppFkCsXbA4vUAR1G+bpq0CTHe10/fdd2hQeOBCoEMmGZLCrUa7tBLoFsFocz3j + v9InD+cUFa55iGyRnfp5A2N0vjHS61KtACtUeqqpXHOwTUjxJIiKkCSH3ihaXcbf + GBaeXwbWGrirRqp+i75OpQzZkSvp+TIFpXqK4ytb4Ez7nMDBJYF2vadFQU72zwBf + eVGqcmgomU+kz5/nejbdqCZ655hEoWK9oBU4X4PP26D/YNJDmMVUxL3sEQHITZQM + cICXorKjXwUeqDuVq2TT+XmjEs9glDWoC2ZSerRD+rOwdyQcNJT9BzByPqxx+Xy/ + Qxpd1FPim/8mGz8jg5IO8t0Vp2LC1q+vRVE9mI6hmeYaXucW6M/pBA18h34je/zD + /O43aCQ3b1Urn92QfJbUxOib+r2Q/aDiJBkmh+VEamhflf0MNDd1ymzRMNcGBJmN + VOVwxmlna/4e2vymYxOO2Wifglb0or/ny7NZrRaIVafuCeG14/h0+YWhAcR67ZfS + XgH7dmGfmJqRGwknr1eZoFe99OHVRWBQ8xTlSke0RKGwqChSHRAhGCr2ZLOl1WQW + psjjJT0VPO4XO5F6OHi2hHn7lOJqV4ytLPmkBvwCcY6xHI06v9NlW7hfYe2NrNw= + =PVk4 -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-03-05T19:18:00Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ/8DKT6aiCGrAgBLztXsG8RzFmHK0kvNwRR/mUElr0dF7PL - BshU+bX4W6VLP7JDm6Gs8MgkQu4KW/KCHmOI+h4E+7mB3xxBCHmpDLVgXfouhzAB - 1wQK7rGiLnpcuRByd6v0aaewFMyL8qjpp2rd/fCZFhwjt4xKzkJNVQ4X0FN1p4wh - XJYC16sjxcbQ0tQMAYbw4c2a4sGOausclPvQDDMxeby5l/TnlvO7vrs46dEBkmV6 - uPo/eE/AhAN+mJ2+G2amj+Jz3BpQi56aCz1h2b2h/JU2lfjRh2Vz4NLWpFTIhk3G - 3b6chmarVU9tbgxnUp4i0NUI0gDygCIDeIzhq3nmuaIaB+j7NLAterzDpyZLNuan - fePzmTMepUyoLBqLb8uBxp4+lnvMNh25SNb42hidIyrxoAbxCm8bSOZz01SKrbt2 - FPuedV5QyomtNOdbLyLYdsESsCe2vTew2Xy39/BonESA7G7FHoHfPURVXP4VUiXA - 3fTGMIaF830SOdyRACCFL5eV49GXzMUQ3TrXzPcU3G2MS+Wj7Xan3TBYHju1iBXn - SAG+ZzcknQ7kIx9wiBHKFV0Vicjym+GIXT1dVPxiYLZ+mCloiO57Z3ChSXha7oS2 - QMcOd4GX2eJrV9AdG4UTLkdgTYJ25YWL6M6ZeFjBtERY4JiB+vT3NdmAxb8yWO3S - XgGf8j8v55fLYrdVYj1VnFi0SVJuq89XMaivnURJPVihkW1l+Zc/sYOJKI27QDxR - aHZp+1thJcQUcAJ8FhQb67SaUkSc0EkDBs98k37ZufgkjQ54mjnOjIIlJSnJAQU= - =FXcp + hF4DsZXvxFXTXoQSAQdAYyf5Y9OWwtcnzwlBe/znxqv+uocNMVe5G+xTrpNKTGEw + 9bCzO7YPRLClJkX1VggqWfT2jVuiHB321OoVNbk5X1MvIHojVcdVUCrZcaC3vaaE + 0l4BqIzkODGmsJ5WP28oUeKVDfa1r7tlnLcpqbv/Xk6a+xN+51h3eQRrwBRsKPW5 + KShu/kcNANnXPrS7LxmrWV667BFlu/bKZk4N/qe7g0K3yGUuOLgzjj8O5LXW6Lwd + =QQTt -----END PGP MESSAGE----- - fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-03-05T19:18:00Z" + fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdA6FEfCUTjY/9lavhTM61veYgBGAb9FjZVZcjwAs+rskAw - iJxm0v7kEmICfjllcxsXXLo821D5L3NhdrYnzO102t4w+xzV/HkMw37Qa8gYgZ9c - 0l4BksC2QIah+bE/ntE1SC8QUGAZABcGGUu/PPrYdd7fEVA7WSOmpWpLrSXeknpw - EHKDNwsnx5+5NSrq+RRGulYmaws7xNzV7Tdob7Tgp6OZzFyRgIUIyKYZSuK2l5xY - =/Dch + hF4DerEtaFuTeewSAQdAtqq0Yi6mvqi4odA+WNHSHnfgm8S8Kx05LwLExmkTfj8w + 8SHSXIe4CrmqPW4WmW4VWmCdITXOMLTWZsLTjKHKvTDOnwWqIv7lElEnkFR2fuky + 0l4BNk/uaDk7h8Nw3V8/vt8D7hdVBSNFUeHkRDcvWfqmPAWrsvDX4nG5tmK1iNZg + wGnVC9nijTbMJu+THLliUJic2IVlPlc3xdsunWS0QzIwKbjRtNscja2TAPVE0Xa4 + =QqkC -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-03-05T19:18:00Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/9EsCikc5VJYoD4XOUiHEe6Jqkh5z+aPopkbc/IjlebMOr - 9WOzQvfyWE5TsYS26bvAxuPEfGg3RXz5XoCTed6JqkAMYG49dF1uB4dYuB+MjMZr - vKLyyVHK7fn7+okFnHMIXFXJXw5vH7i91iMyCQbcd3r3MaFCzDwd853dEv+oWMXt - WpFnBhep8XZEt8fNOa/Jow/vRNJd+L7MC16UETsx6VvXXrNevmUNa6wSVjNTE6GY - hFqRQXxE/d6VCF2k1lmiTEHQDvo+X5ZeIHjiQk0APrJWd+oyoFpqyQuss6lH1apf - qx1h298xugpHRQvY5+o403ZurwOZlBwmKoWYEqFvhTtsKWZqCszKpQQ6F9JlV63v - F8Gp17+UzPkdnoMIbX4Iqg3Yck+ILAKKXR6hr7KewZdExTWoPIhJTgpT+Iusi+Zb - JzZtWGKpNsw8DhfvFihU3bCwWcNx/oEbt3Cddk5galsMtpdmz2iBAcVMYKjz/FUT - hrinIR0oZqbBy+4lo0gPtp1mxJPs0k+0986roARB5yi2J8pxHvk2tvJh1mbUjJIG - AIZ7asLcOHIFeRQoRG6FPlzxJzWBkUk5lXjGGZXWXaF7ZwPdgK2FP57SFxbWqQh1 - NOUeN9CHEIbVjTwtPlITJpY4UgMg4cSA91JJWKw7asv6vRyciJ58fIeJFvnXkq7S - XgFRl+qVGrDcAs3i3MFHj9x2w4lesZIqvYyuMvkkQscvjFjJFoBeqGSp8c1UQx9t - 8Rt7aq9MiVx2upNcuJm4ywXBv7C25V3gvgvxy0QbXUYyYDGf2rOPZQCwUU30pSQ= - =a3Rq + hQIMAxjNhCKPP69fARAApRZhrzVP4KX1nJOYiXuBD4GPFQKSG0IT69SlNnI+3OmR + sZHDs3RDxG6mEafsueouqTe/VykmfoJdQsCgH2kj+sW2CJzdmLcy4cHs6OfngmRJ + TvNp9sbbuDBxZkq+68a3IiEsTPpqRfsvdAistQPrKm5W8pRHY29ykBc77pXcUJRF + 5xwPojpV1wmCFjnpA5tYzERLyQ1ZhEbb0HmHNCsIqLmtOwHTUChoklIW4leGNL91 + 9vywzJQFLnyn2ROmd/MmXqmgJwQ0IsKu7mueyD8pPhkiAVYK7s0vX9nD+zbm9gZZ + WayW0Oljdu/4Kj63VZBOzv79ZmhqNTeot4CgSTmMFFbVTqwTsqzI/vjcWDePzt8C + EPkA12E0+ucF3/FCLUpsfQTOqALNbTY0Ti/8JUpGSxeEiAFBeldmE6mvtoUm9LOV + byzs13mjJAHRPvdwJtjIcPkmDdW0hjm4E06qda2u4Czsxuu0WeBjx1y8b48NZ/UO + +9P/dx2/24PZnPIJ92JSuzUwZm8Vfayuo/EquRe9BZ6nJQycwvKTTTiPcYkadYmr + 094ONicUId4jL4a5iUykVJRe00g6m4m9NWmjpWXn2WIuONzb/nYjzVVUBVYtxwNO + 4GWgV5+2Uxj6VFbkIxkdo6vBlMUlOjFg9Pc+q19rOIOqwF9x09PC30UVnuWlmBHS + XgFVN/ZwqvgQRDo+bXgXWvDjcwrLlwTCiAsYfdGEWq7nI0+gl+/HHA8MKNamFtt2 + 81fytP5Jzvr+TbWnGTOoHW5CX21LlWE1YKbG58aNUw2xbTy6uDhFUJpFdjFVKxA= + =Xton -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-03-05T19:18:00Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoARAAiq9QFuWXGEzQ5zSQkZCEph06E7y39ta7/ULQnx/yPaeD - Px/fWEcksD253QA750PzXALRLDrP3am+2mAG0MafU1PHtFv+dc1eqmdcJ+dOKplN - Cc/TpM3+4d8mdQbItvL/r+ihiTfL1A1ASFrdB18AMhP2bzmdERPaZtdRRxqa1WlE - /Pn6vbKFRTWY4FnMsvNg0UVDuFvFSZo/QdYYptNopdkVt26XUUgtOo07GbPp5DEW - gZR/Fwrt6fw6zPNqbHEU2RS0YR89KTcIDDbVysqt3D8MyiZXEgiUjf1P13p2YnZE - gSy/qcTh9V44zrZBawQ71jS8jdPp5yrYf7+VsL0iUQPvvL601ct5SrgD02dYlyXX - IycdEbA1afAXF8K1wszXg558TLlNOUS4TfTxEA+7lo02N3sahOmoZBTUEzDdirfi - 12Y0hMg2Y05uIZQ4T5kjJDaK9JbXdTaHTYfZegjCDbJDcMWJvHgmcuPxqjEXx5vv - 0mjgSlHc90pA9sQefx6rwYQFy95SAhrAQlVCTvVNz/zizEpdKZYgrhVt/FOVuqDu - z1y02JP6FyytW3D300xiqX4Ppi8eqE3YbQ0JHJ3nmhKYULYAopj+525M56hYEKIT - kk6aMMujbnx1jqpCc0povq/IPz2E+ZvXAoKD6Yo6Ecv7MgNXySmTrCu9VJGaO+rS - XgFZs0zDSZ9kjQnhyB1BsRcaIRxVP00bSdaF0cW/bwfifMxDbuKOOOvyAHDa/F7r - T1ESUUd5b0MU9/r2vtNDQtFml0ukjVO7nIvuMcECNp7kGFSI7I4S4GhYvWN5db4= - =Apfw + hQIMA1Hthzn+T1OoAQ/+J3dfBDBJ9nnhbSZYSG0S4ADXXM+dJ2Arh7bj0YUgCcw8 + nEfXSG2L/ZmhNAOesHo5ysOlkXUN6G/PWnQorUVHIjAIjG9tUp34Bg7wwJhnlLHT + G9aH9cdVxc1AqWhjUaHo+S306lFvE72Nf4+SA6Hjbq/lNcbcq3boP/rC9gXJ4acu + icnRgMep3p8AhVQJSpjVlAaRSCZGmOPByPukB1zue3j+s6/i0PKqUGfNtR5McmuT + J+rJyWdSjf4d5z6mXC1bqPdsKZ1v1CSTvjnuI700Dt5+TEZ453fZSyD2Uz0rslER + pcumsDIG+t5oAk4H9scYuR5nITbtBE8ft3q4+kwZtaTeQBcf1+C1T7Vmsq/fMzQE + 2wP2K85SRSvsIN+ZS2G5VPwUA58f+fsF00n6+u2S8PLgDLssraaJCjbcwvwniCRP + nIYAhXWas8dcQGQg4V7/fmOtdC6hS7VSFehayQ+MZ1kqX3V95MHiEnR4K+dDhHjg + kJRwwYeRu5h9XXmQXYcZzLUIGZGrIHO59ct9cDzSnqJrG1Sm2JJl1r5UFg5mjBa0 + ELOI334NzM/UjWGv5HH6Fix6WXYwppniP3snSXpdZCeFXFJatXZYDhc4rUY3eT+V + DPIniJWoryS0cDs81jYFlIGUDTTjj5LtjDPHyDEnALsthl665Oz49Yg2MB23byzS + XgE8IU0eFBsSRPTSZnd1VHli0UiipKVhrPGBkufWAyEkNoqEnJTce+H3QBGCyyDa + 6HM/XOIV1xGqBgW4E+N+pT5XfY/wCfAmMHd+BdwqdtoQieNXmur3tF2UB5aTq9c= + =c6U0 -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-03-05T19:18:00Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqARAAtci5isBR7Ddsp9CVw8dnG01JHHLaWQ6jqoGgplvgdEkE - 9n/DLabK90IlmzafCQDEEAIvdjlLnGb7ZlT6FbhT606hBEIMz7iX14MEnMqq2kQY - 1gKN7/uMzIjAvvdnb2T+qCrr0SPpR5tLUgbwaA1ltuiRVBtsh9MpaPiN7Heu8rSS - wtfrTlxoBxV56q9x9XhqJYem95LCykJ4TemNS3QdmDR9Th6qQJuBf2HgfWid4Vmf - kDMFXjTWYO0rl2nlTChTRkRxp4f/F0ZRI7DGr+1JzzCarqv8P+a/9zHi6eEI3+vV - LJdAlQCvobeUY8ocj1/QQ/6vUStXvFxLeBJuzhN9vdpKAKdr1R5vPxOwSwQtdoFw - Eg/bltt1JHOd7k1l/Y2mmIYe/B4MR+osDTnS45Vp2tmSZiT1ZNYJfHn0k8Kb2KHg - BhpU7oNSWD5wzMo545O2GwhzQut5ATOtiFFGqw3qImHC4Q74bWEZjvJPovxIrbmH - G1qRGkHXlus+baB7eIvsZGu/po8EP/4dUH7/FREtgHR0zeJauEOJgzy9JzTDX6Ax - ELhjObFZto0FhfaB1Oiv8wrobyxylrT3vlxPqfPPwYlJEuI2UKbv6Zt51QmXBtoP - /1UrW5bfoFDRBJnPYrokjaMFgmgLVuGL4/A513c8c1FZg69ZgXJySJP5zilI3VXS - XgFKJh3deKbwh6LspBxJ6baRBiH2Kp2ttgUJai0QXOV0nwfqbt+kuhD+S4ZSycBY - kFSr5ZPVz1PZvyq2btXwEcb2E6eeJIQ1KoXHO3im/vniFKUNm5c6M4FreqGewWE= - =IOEW + hQIMA46L6MuPqfJqAQ//cP0flUm/kZumFxv2hM3AbcE7qfmVObEJyS+ua15IACEp + JB/0MbJ5d+yUpOfDqKJh0f4+TuIsvcm1tO8SmyMVLcoV/H7zkCxiGh0AnHGKR2GU + 1S8YIQPaWIVQWcwkrxyHIFj37lG6pqEoOaY5qFN9snEyrnnbSF5p6FaFKZuAXE5y + gf95qgOy3m9fpywgl8PARQbEvz1DFr3ar22JMm7h0q2apu3ZxnYVWjYCsJz4wWGq + IrkRrbfFkWaX2TNSiJVnOHqpvdCzRQAxdJmpN7bQ2xev35bDhTdNSObmYpCC4pF9 + grJUnbmRdue4gGyjgvbIMNr7L7ptci2j6PTbb6tuu2ZvD8jIM4otsvyp9aLaBe9n + QR92SuKjYn/Ujvtwc++b6qna7T+4U2tQxCTgXYkHfbimp2c6brcEhiU4NJvA8eJr + OEnLdE+fGalygJkWFo6JP0ezCFZW6hhBJ2NRagLdG1SuDMOeTa3Ci54GRJXQLkOc + hpnVBAuiqa5mOHmuO68IPqHodgzVljhD0+M7IT0Z/XplfLbIsrHJIl04DqPT+flY + zXeX2QCTxZRELpTMFHklX/iepLq0lFveGPxjiBFQkQIcpgVKnDzuvVjSoCicXiCP + dvwb5BiO8DGMrYzJt8KJD9Aw2olL9UGaVGVF+CzGzfVQC8aM4fOOWZm+jY3U/vfS + XgGlbRgCGret4gQAWgkJCFtu9XxIYUual/mrCH276ufXL+zFn3AE2KIhalnR6xSA + B7Xdt7IQw5DsFYNlUrtarVP1pZ5zLOwQMoRspiRg2RFrHu2Y/3uSR2vjTuIyUwQ= + =yl3w -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-03-05T19:18:00Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdASq9NecU7fexou5DewKVilSeDSXVaPgFfI4cTqZ65rTEw - mRCRfrFow9mXrIFZHXegz3E7w08/iowmZDEi0fhKGnoEFy5xDEpjYl0CxyhB6kkU - 0l4B3XAGWYEw+R37yejCkOEKSPsK4oj6Wykrv2SSMYNnqU4Y/pDB6DBaQrYs5LQ1 - vuSfb01I3z6UD0wVM1H1v9aYJD8iaCs7B/78m9VkEN3q657gED/MUVCQ+FkJ5eIo - =PfFB + hF4DQrf1tCqiJxoSAQdA7TVUcW8bGegL8rVPfcrJLRwO0kAxnaKXGMRpb/rQuQUw + CGgP5ipnaCooyIPydWRiJhsl3FFrZOt9ONfbIwW0mo5qt1s++2UNdA2m388b29Dg + 0l4BPilnPsgINPxm6SONUBg2Mo+yBK4ow9r5Ls1YH3sujCHTffjl5eOt9TExUSjN + qGfbYjuMv8fZtoXPtQ4+EVlPIMasYAnGMUjJg3w9ZviPe3aqWdnPn3fTdAqDnWpt + =pKyx -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-03-05T19:18:00Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAquIjfbgq6srLWrHsGF/NlCSe/lw9k4zZ7rx386BLpVYw - 3XB0Fnioezb+kUtZKwrT+/SCynM58igvkpYgk4eMp/6Xhb4w/VSxChVCMoByKCth - 0lgBaFwJ7+eYv7Lyys/Gg78Zr0D/6TQ4M5BbTRBO2T92AObE5IoPIdBDSawb1+e1 - oEDgH8MNwyQt2nZNSLLPqxhppHLI/bH+izm5xkBXymcVMB9c9VIfxZ0R - =P2K0 + hF4DzAGzViGx4qcSAQdAOCpv/mO46SO7jM1S2hy3O7DCSSd7e5SYH9O/SWwzAE4w + jAjyD9I9Wldi1pBSRzcJ8D2TD1SxPwVfwEzFhTZ5kYv8clas74+YBa3sHvfJ6tvb + 0lgBJJ1N1GRLoxNDUi67RQWhuJaTxXOWOpmcHfBfkBvtqu1nIERqDEMgceTWmXpW + Js+yTo42xTgiND+92CUp0xOXa+bIUHXe94PfBHmL2jSaD/BcUaBZFwOl + =FZhJ -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-03-05T19:18:00Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ/6Aw500o7pa2+EfdANDTPCWmbI6xjCAmDKTthBF28RoQE1 - QvG0w60241lrDUwEYe7qdHe0udDn/Ctq+BaxHrfwRbiF5I0s2lPkNPkOqs18t0is - zOX328rZ4M1ApOcp+HxGVAggShWqg0Ic7GtVOeX3yX+jerWVYzUXAW5y5mrehANp - +Ktji6N5P/3Ef9E4dBTJdK4fRbIpn2duYgOESctdAzxugkP37KXXmsg0MrBimDF3 - QA3fnNalPlJPZkiSb4Y+Y+B1MF1YWl6xctM3kr0JkabqWSkpKax4FwxJYMIc0fMw - xlzWNZ7tyzRY+uS9K1iYUXMB/OkjOumRynC2zNPxLSqkVBGeLZbGDAxIAcU+cvsQ - k6ZN8vSe48LZjiOo0AM7ir6vcH8wX+d2Sv9vn7QvpJWlqLYoiDNzFcqx5lMjC7T6 - HMueAdrFguvefXf3yTrz5TC0Wac11a/lBYwt9atRbY4Dm5sChKjiLaprhS6prdO5 - cIiQAw5lYSU9euK0nA9TQdZrIqshO3hyb3GKRG/mxmsw7llLTL63xCTyfPTmquf/ - PUxKHZACFOW874dHlQeZY0+TYgn+lIe95bCCyvnPjMAs4J0dKlrATKxFBJcMy/1o - 876SoClPbaAn8ku5gIg4h4BAEqm9BAB8nmdYRMuPn+dS8+8ODp2Ln46SfgtfEibS - XgENidNxxtoeBSfEOhVENAFXWiKT+G57NqbnBPWCCVdZ5cQhpOhoFRpB4sN+ymBN - 4eJry+M17UZ9R64kAl38m37TNm1QsYHzkc5opQwPIPOqsTLcUSFypYR//miX4IY= - =O/vw + hQIMA2pVdGTIrZI+AQ//T6ZPVDcKwXCiJD0hjLwD3DWuUAIW2qn98rKFdVX9dRlr + dtkZq9fmZz+ejqhKS6qPX2F8RNk0IalyyFFHeEwhLNbhCjjaktAcjBAWbu7WkFb4 + WosO82ohzz0aJuvlod9vSFGSCmADaPLirnJP0NuGA6wIEJ2iqYv5aHTO2/VAAbbA + 3A/hUPcf6ve75LxnyvHF3uxcoSl3TQYNqBjNF2A2c8UIu7xJn/z3+c7EZcB8aIUx + iNbLztTx5ST00tUb+sOw5xXRWkbxzYlY/Q4fNFKDDPIyN9tMQqdfCbZBPsxuDhZI + t7TyYQdutb0146/XN4aNcFQLwPkJsMZMOxPhAjctZ21NL27xE4zSpKuPeX0lGH07 + 2413wIyaAYluqjTuAaeN+1BeqCHHGNX65oQ4dv4PlCQzyGmSRfne8mZ2RKqyK913 + doetwpoUofLGUfuC6iRyGc7M/OcMGdTzfjV/MgicXPiv3XfJDJwxJIhhltZhDmh7 + dJKu/GpNPtQiGha8vblUv/pA8XT70DDuD6YdE48FBvbDrjTmpfYxZGk1aKfhkc+o + e6nIEfhRHJcJvgpDLI9CXTCh+wh7vfDCIbF4AklvYjBouK3DNrue6MjMt5RLAhJ6 + nFbg2c3vS2G8St6HbLKKl1XH+8sQ1IOr71TAESf75D068sFD9n2bIp8zwMcR4THS + XgEOyr6FKfA2hjRJAGA0VMs5FZ4Xk/4B++2SrOpynubbog0X2lwEy6VBhZQnAul4 + +KS2Nfv0ryywNgTy2C6xsINlORZQ4gY//oN4LD3wtZjY45njVPOrNKGB215NkiE= + =Kmkm -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-03-05T19:18:00Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAfEVAPmzZz5MCXoiQjtAIzDDCf0qFInWjSyiHEXDf1HIw - nbMjDdC7UQa13CB/7pkEEYKaWE0SHUTrL1mhsR+iipCaC9wVVR28B+wCrcknsGjd - 0l4Byr3DHjpts5PW3/liRqekVrz9Wt4vatM6Uu7jEJ5Ic269KDBc3RVrH2CcXLY7 - H/YWuf5dDduZ0NusdQyYDx7Nemn/yBeWKNf2mFQ9/2dP9CeOCmBuI6hFEPasMFfS - =jL4a + hF4DKKbvh61jX5USAQdApCfjhz8OXIOvCPnlcxQbF6hOu0y+mrKJaQfqdFukQTYw + 0KavARcfzccY9WUNdgzgv/SLUZWWEVzb/LkHz7W94onTN9u9gP/O/XZhh4QA7zR3 + 0l4BxFu/WwGFlkZwJmXfgzLXSByuObipBNIoz0LxbNjCYb6967PZNlSp+cYTaZmo + lkyFdJyKvn7PfD1QKkrC+8XkNT31XS8ffzydKUBvBiIBvtEDmXqDlZOU/WXpOjAO + =DJH/ -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/grafana.sops.yaml b/inventories/chaosknoten/host_vars/grafana.sops.yaml index ea11103f54..5ae794911f 100644 --- a/inventories/chaosknoten/host_vars/grafana.sops.yaml +++ b/inventories/chaosknoten/host_vars/grafana.sops.yaml @@ -16,212 +16,203 @@ sops: - recipient: age1jtusr294t8mzar2qy857v6s329ret9s353y4kuulxwnlyy4dvpjsvyl67m enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBmNU5zRTMwTCt2aWxqNUQ4 - elVlKzBQQ0FTQ3ZneHNBUmtPTnhzVkhZUUVJCjl1SGtUMkNDSEF3bjAxVDN1NEtv - LzJLcURWTEQzam0yUVpCOE9xb01nSzAKLS0tIDBsaE96aDRoMG56WWlWaDhLNW5W - VjFTZ055aktCYUdTMkpjc1BMSlFJaHcKrYCr6DD4FmS//AitQiBky0QwkbsLP8wa - jEuUW5uX8MDhYh/Gmb4EgchG7bfktJzXyPLIjZv7HjBTkx2Shzzj/A== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDQkdDYzNIMmkwZlM0SWw0 + dE0xbXdodkgzNDl5bU5oSmVVVzFWdjhWVEhNCkpuM3E3Z3g2YWRIWHhwR3ZJOEQr + bk8wYVhMN3B2RDZ0QzVycmVCZnRiWmMKLS0tIDZNZHQ5UGFpTTBXU0lyZndIZ1hr + SWxKVmNXRDI2eHpIbThxVmYyS0lzTG8KMXMSLt9GPyqUVI40bRVGAllelsa8vujl + FIoTVzjokV24wGXAV6RL8OltWWF3H9Lr44w8e/K0KnzmIWVhyihoIg== -----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: "2026-03-05T19:18:44Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtARAAieiYdH6zTXDT3f+vWQ8/PBAiypgCmgBTfp+6qZD6W24l - Uf+6XFSj6CaAmezi5mQZIzgrS0+0W+goNAJB9ORATZRuBfieFuToQa3lOQqF/RB5 - pc5XaEelWWz9h7PAg3R3Ewvj6+Hq7Nvs5vff14m8THlGGXlgNZMS69D8t3gOPTnB - 4aBFdJdCrUAScatuye7id1LWYuSZrTztO9Z5W4YSkVMCWtaFZWOGou6h8SKbVAtA - 9vxFvSK0f7U3BS1QbvDR+OUFjrlYgrrG3l/yXdgcbGg1gKDEhsui2XBfbT7m/fsh - Dbhhzms7qrHjdKuURfeEai2WgaVy1gzdGhoR7mw7Z96mGzOe1ddjJChyitKjZcxh - e0vLLFgvH9jH3pTDAq0rhw0DnVuEnmqbG1bvSLB7aYwDbVeZYHHX3/5fjPv7qKai - zqKz354uuD4Zfts8YwJGUZ5bFPEVABcfbgukQeUGAqLBvFX1lFUHCY9aq+8gfEBo - gvKSm8YscyxC+RUKqhTbPzZCDrGsQcWablSYYXKQA76YZkhyLxJSeVkfMGUQ5Mnd - glTVro0E6++ymYPsx2a4PudEo9R8JX99Bvxz4Z6ve+RVmfgkyUITIOvi16HQtu7C - L3LHf+wvMPAaMUqRrb7jw/38GckX046WCIOEBm8KDrrQ62qARODlUvTFUXU7/wzS - XgHPNZmWqJ96hW7+a6oSNVVzZ2XhABOFeGDfk4rvu0J8gtIRccIt+i0ia2+piC5j - MHZr7RRQBIWvH3WsRJ8PjNxWUVAhZCTWDMAqlqm0SRD4MLVKgyxEd8O6XixSbHo= - =rosD + hQIMAxK/JaB2/SdtARAAgIcNDYE//kVirpyvdnuwJAOxIZxgpaXs7ajdIo86tEEk + KI0OwOJoGI3OGiQqs2fo0eXrKbA8Pc/dX/4lf7he2ZqzMV6srBU3XUrFlVw/3maM + 6QWhpv8LWk0zO0AeK+kAA2hhZ8HSBQRhzTuQHl4Pq6vBBOoLvUo1HiOLKrnUc3/H + juXIl/9knbiJuL+BmmgLaytbJzH6EPje+pbJBdHILfC1Qa7KCXMSbBms7W3J5I1+ + fv7BH1lce67P8LEkY+nn2pc+kXLpQtB2CDmTvRXAY8z0LaS9LKrYxLnt7wHOLzlv + 2qZ6GmN0VG8kxk0y7/Iz3kfOfuYP/XuIcvqAXZVRy9hGR2yUX+Wm9bE26rK6EuJ4 + rEaR8FY6bypVlunAM7AkZojelscEQlgxAlBcfg3clS4P89QuVy0SuGldhob9vuGp + NxrecEnPOxmXQVLh6bP995fzi8JdIgGwq8+k1hUAVKaW1jBmiwjZHAa0lBTteVrU + hQ2ocF9Nfjh+5m9UAaETxmTIW0mV/vb/I3VyZ5g8wM917e5LWO0yqDxpyrEGU5qY + 45K9sMWKB1qfq76GiifvJlyDp/HKVCgG0Zh2Fee0YqEGF+nI8KWQAeRKgrVdeAxH + NcVJ73oQ7SG4CIldtHFOaNclK3QFA6A/Ck9NcnRIX3LKTAQnRn1FSNO9iI0aCbnS + XgHW1RklWzjLCi/GeDxPpM6/WrwIXOGCjgeCZH0Y6EvjayLp7VNLnP/xO+4yNDRF + 7EZ8GSCl61cPMuEv0ja3pfnq4104pV2RS0rYgLBR0h3RHZ8Y6UvQn65i8nKG/Z8= + =E4WQ -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-03-05T19:18:44Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf9FOP1gIyOBuS9nll0H4tCl88exreSUfNW+ExOKsBYhhJm - OLR/TwI696Vy8bY5jWIzrfUhlH3o9A8/Lgka6HpxJ273nueSxwmRX9hubpqHn7aS - gdXqYpdObwpTb2Wsa+TjyJWYVrf108aArZqtYyCGP+6tCNr/0Qfcuo6ua/fFhvJL - OUXnn0vI/4UOp86blpR2X9y5rYVvBrgAZcmdDKWt/GfmcHZ45Aqf/aKuZt/9i2TQ - EUQFz6FZUn+fR+u3NXk6xe6gvgblJo7DR/esLDwiqxara+Dg11K3r6i80vJJCqXE - uBFImrw2lJuCuIyh0JB8JVNBnPD82n0dJ1hppl3AEdJeAaxbK55QncvRg2f3Lm2h - WIAlELdmKlIOoOQiEIWeQ0roFuQ3oapNxAJajaI+fZZIChSOu0WOUOTzgyb9t789 - 9qWLmaQfdeGsQR9/ccm2gX+xdnIJ5rsqMWmJE6DRag== - =Q8Cq + hQEMA1QflAioE8i3AQf/XGWYFQAj+dQ6d1KIhlKUN9EmPi3fNuqWFUIHipo6RH7S + fENHf24rtyFFiWVXdQOFZamJdtiiYXW2KP6okMU1p1rqkQsrevjERdPQPFmi8TNd + BWvmSPMTeO0YB+bK1yDMB88K0n7vZwMKO4719HkmRakKezvH7R3tKolCNF4HXRXj + +kkeY3SwqOORliY5gcOoHe6wsWpdmhbfAmeRdKIlgTd2bwBxkL65sKQxuSzKfl9l + mB4tiG+pcehyVNBTdF6h2shJyFvQXgfsClCym8GX0JrGv8Rokfz0/o5ZfDXiFE/U + ymt2ejAh0OPNxOfAvZ6Fbk+74YnwfmUAA9rTms6oEdJeAciy2J7b8nxEaWn540wF + 7mKPLNmDgPg3yWQ430b9AbM7n4SAFZEM746w6yxMqzRXi33hwUon3PHm8ziIDNPi + 6oanWXCA+vm2oMi6ct5Ce90UnWrbdrSHI1Upu/afyQ== + =Vqsn -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-03-05T19:18:44Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ//cj5vy/G52j9XpIRqGyLwAsxHRY5LkNPOkwgdI4Bh1cjB - kgqNAYzVjsdsLLI5lVYHAA6fZOr5sLm7H1ABomMGreGiPoXGji2NE56+/5nO2E+h - 12vGtP59TWFIWSJ9GsmfBaspnhi+7XIMRzdKrae/+FVDhmv105xlHltGFE9yPEqn - xBAdIG1x71t4e8DG7WyQwKwhmaKw4CaWo/ZLePQCKNARioqQNuSTXVOly1OfXQza - JZw6YHbqDfxnUtrpmfJ4t70jaNH5x6QFbYY3pygksGbBTPgjYbIHcBteftEp84A1 - tNIre6+PVketjp6zZgavWP0XgSe8yWvcVshaHl+rGdYCrjOnsNxq0nGBg5bQpQUm - dX4zBmlctmNA4mn/d4OfMld5kW+ZqfBQ0CmYlLZf7OfHSOMw34rNxbewxXOC6eyJ - uNPUwxSLpRoNEMcbJ2Zdbla5C547n5gMHO244xjZfWZv2l1l6C7N7GQrUrz3Y/iE - hZDcJd0Lfl1qFe2Fx5nm+P3jhF9QW9gMjtGG4/T71IdDzFSDKsS5cK0bP9hmbvFj - GB0O4x6D1kfOiq9V7Sq8r0pZ5L/3wjsnD+MVLCkWRwJQDAjYetiZrUxNeCUtj7kE - k085awUsAIZk4EQlEzIFTICO+0RBGhuhM4PwRAGRW04gRdkTgLa8T2MHWOl/cubS - XgFFt10xvM+TIb3yIygJwFdVQa7YMzg0Tt4eaRk+u8ZeYcbt0eNtrDuGC0bpy2Ak - HVYViLM4j7CvpWRfM+3oVw8AU4knaOqrfmkmgi5SG7fTiw5LYJBXC7wfXi/2abA= - =k9nI + hQIMAz5uSgHG2iMJAQ/8CBP7XS2pSj2qFGoSIiNAy5reeXF2CDhjsqJ70+BbNRlk + 5URo1bZH+dhZz9oT9CU3RO0DLBecRaar5mu+3OuWwkX6+hPYoSPQqEHC9tKzoWu8 + K0MH+23H8a8+C6LIF5ogOfLAwz1K84llJujuM/m6fU3Zk0bmDSoqrQ0vXZ+0fmQN + KCZlQxqsF4RE0Q9W7UG/0B4MGP0XeJ5KcQJGPExIKHjVjiKhanVMKoMqySoZtp2r + qGSvVOYa/5Bdnn68IAWtqPWh6II+ovy25zR6KA8DZuJD/4r1xOJ7AiqApANHL9df + sDX24RcEuK8btdjEtXkOq1uIqXyGkVTHmEgCGp8Zwluqw2uW0jI4ELtPm6jjuVgO + Ow4/9VzvspWfsldQoTZlws68HSdxWK13oJI3jydHoCv4e04RzIYwFYy7yvBmdXs3 + IseiXBsgHq5FDaQDAeWvc1ofvLBeCLeHS0F4c0gcgNKNFrosDhTVb5vh7JWHYErR + t5sqDRGn/3jRv5U/FOryNlN0Uxolf0F6OFFAMiymVZjPxtrd/HWqiutluNo1bWZe + si/5n3nNzYmeJD4aI4C8xNYSWlGB/GNRImQFqvNbRDVp7WpKNqnq9BioPK92O4Uc + qkYVVCEomkxt6iAIpQZrug8QFM4TyfYGjDZvo5AQcSCrMK6ETXow1P1xB+IVF3zS + XgED9oEhJUyml5oRWN/J7NZZgfQ7GOdchVt9YgmDQwSF+ic9gDOoxszfil93r8VO + vN5OnR3eQ5EswUQ7zTHVeGssvEtrUZoRbXRYmAUIQDOyFaEfW8Tt88SvBvoDIZM= + =P82G -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-03-05T19:18:44Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ//YJ3CG9+K0naiFk0XmsZVstsisdxB4I5jI/PGPxejeztQ - KgZX760zmkm1LXwqhl6NOBubhCUdzJnt/5zYshOtRMpa0sszOL8PteJmNVUYCCcd - feIrab/5a63HJZTH2oO5TbD1WteMc1TpvwRoqQK0HTbKC01SZ4mZCOjUjoC1QEMo - AkBpdJSGIzhIv6D2RbF5Kh5oecYM3eIWIsBaiJ/twgJ0wIDX/FgsSlieK/vMjL2T - 0qxHKKBAJve8TOX7IbcEBdjqs1rOL4n2PVMp5Sa1FsMzc59MtgZKK7dHB51g9cJU - FI1QoZZl6ae3I9vP/bfkJPxYm1b+noE8CEoJblKiHdv9E299eQsFfTvijAtRwT2C - w3pqRSTWUC/gzvjuju687AjsPkRB7agDGVNTJ1H2InenK4CHxJeaExCn1Qn+64B+ - FQnKZK2ZHXRSOTkPEGsycvmD2yIqTD4GqSP6Ksv5SwMICPeEux4FyXVxBJ1bFL9i - MhfRW7NiTzoKzRtDRlPfnB5BvVBCFFAYxdkvk5addFh7gztfsXXROpd1EvRtG08e - x8JWroPo1SCsCldC1v184B4ASogcbtX5+xgG2cjnHzWqO2Y4uw6jR3ncyyKFemOA - /sjfZAgJdPWUDZkcE0hpIyswmGAIDR6rmZ8LarXeupSbLLvVczaHfpoXbymc/VPS - XgEJ8INCsx8Txd6m69O6+SgcXqziDhcyHA7acyHzfEpaBbr7Q8zLBanxymwAh5T2 - 1vzfgkN4WBTxO5V6Xja3KBSkFMse8jciVUXBHZpouetbClnz2+8wGiOmnjNWePs= - =1wcx + hF4DsZXvxFXTXoQSAQdAWeEgysvxYxVnuJJtp3KPbuv/s6EqSctrF4XJmftbWmsw + 72MVEdRkCogqmuzztD9YXmdP5rKgwTJdRczmDU+LIx5+RW30MlwOKWrCxKM7HxJ0 + 0l4B89kVzo1fmehZIqbO2HaD88NAleDUTCXuGabc/4ZowGpQLbzi5cTDVR3QoaCz + WVFgLLm9ViQFmiW1ubpDtwD8RNRBUcIAm0b/ERv07eu393M6p8CK5dGDjWQNKTgH + =hVTw -----END PGP MESSAGE----- - fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-03-05T19:18:44Z" + fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAfZTAe1kpBTfL4nnxyY2Ij281dvj2PM2RAOklilYkRl8w - pPX0VSXhSekzNE91Q397cK72HZPiEUX0iR+1oUrUrVQdEtW35u2CdFFHr/EC3fou - 0l4B/hUlayEGzHBU12RKyt54qJtpSBCuV6tTG3XqDMz4kv55LPs9vbhg3hgyTjOl - LhXNzFY6qDwvymZtbZOmVnC7IoLv9fXCxR05nISvL/ak8iK4oM0/GI4sxnBzY+IL - =pI6c + hF4DerEtaFuTeewSAQdAkD1EFDKocbulMNvEy/qzEzxxsnlPATAtRnQPdrK33jYw + 21ABa+GyUsAed7y+/3ciXdKuXJI+Q3ryhdlikKJrt7q41kSA8TBTV7NR6LIFfVty + 0l4Bm6l7iqfDp9Js/c3g8pd8EQBOCgng7sWi8+jAugMYBbB9XYb9M6wYPhMaE/pQ + 4uKha6+jyVQnKwCW1kqJToDw6+FARHVfhX7ThE+XRJmwWbFvZ4uJm2mxoNNYMwQI + =co0T -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-03-05T19:18:44Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fARAAn6Wq0E9v0VPDKsTRbm/l2qJoiP6U6e4JPe2rpqRGV5DW - 9tfOf2zrHyrjjlmtIhWoAjOBeWTwjdFj4PBrNk6k9hZ99GlGka+1tRB21rQHwX66 - NXR9o7ONv5Fm+Dbd5bcfzWB0+04Pjjmvol6WPfk3l01vkTANooUhOMP3IKgOo0Fa - uPTRjnRCCtBsc2pMgo2YLdlxzfhPMmvWMvAY4gWD02e7BKKG6wqAKSoyFfox9sOK - Q3poUnZhC9AcR0IGqKhdvEu9B7Q/0aXREZavvSxP/zFc64cAz2NmW0+6tuYnthBx - dl10mpq8oDCQglsOZHllW4lz3qGSQGgh9H28ATb0kTsVwgsO38ZBaHUwvKoqRkNS - 4mUdFuJXLlt2AnYz9YfXNvH+i2AswNTTbO9O5ta4R9JknySLzf47cyIHqoWi+79S - fcxxhHbclacohreaywCMHpGNdEjmgeIAP1qNmeh86tx80/ore4aFSMUYsreyxvEG - +CmqAaQP3O4Cj7l/jIPY5a6DK/A8LsNSV2CXUwsA5hHo3HymsGAas4RXEcJg4PO9 - mCTa+tU3bHUtErEa6il6YEaYWUikkrlerwLy0f1ZnRy8Rz9aA5fB+JCxCG/dlWQK - 1USXmJ7vC6Jnr41uWtEMvlvKAkwFgreuxtmSORjrFCn50ukPNa2rNQFlq+rMUcnS - XgGbl7yOnHnKTs38dAUuAlqftHgx4qilfJW9mHy7/Wxxgh9QThqOe0eXSsQJsuGN - GVhAabfqd98WQFkCt+b2UhBrSmqBtvf6bkdXxj3yLrw9voogBNFyxmUGTpooJYM= - =EQ1E + hQIMAxjNhCKPP69fARAAlMfM5tREQf3vpBggRieH9CJgjYryf2YEA6PeY8AQDWhe + 3BBQHpA1CneadftJbFAt5sbrGcb7NJGlpnxVfLLytpeR+keF3WhIgMw/U1wpT8Tk + SmiSjczFatTmRLIKEerGIzx5BZIrxDbRgQurAgzrStCg/IIdFtlgrFeJpw9V8vMi + 9dnbL8DK90DGwV9i/hvaiknLIGOUuBKapvheLcnQRYzq/DVWRE0kHhcajERMeuBF + +/ReyjoQX4mFRY1iErJFBAk1+sYfpDaN2loD2PWEEQEx4jR5nQIUYIfL84ajS2B4 + 8t8mN9CpxK32pZJelkVryz5gO9/zG2kFEzHV6vNDRqXdsCXC3dLgGUPyckA2NLa2 + XnG4d/dwazaMSEt5BIedyKcegXlmWwrhaSpeoRfrt3nq3y051ARQhTn7kJEO5SiW + 5FWkc1DP+VgWxC+xqiw99DVXtsccRhlHZHrETsl7d6g9jnSTftzyBHLLWbigfY4T + nKNI/7fsH1nL7+KWLCm3wpfsvBALaaOaL3xBZREUhghtgSJdmfT9Ri73UYj7jcjF + 8q1gnv/bVb6dlzsjJZZMs8x/fQVQ4Ew4hCZ8KT41Me8aVJmdUSWWaMNELON/XVpL + hvGWF27z6lcEwzVyU4F+c2hSAG1Q7tjYPVVtXoszbcvhSxtNH/FLeTvdiYw/QSvS + XgG7aocwU4dbgWpCe+0QXWut5x5QdUNhNgTAYXH8LLFf1D4DEHA/p0X25OFmInuf + pQ8RoaEOmCe7TJeIUEFxvB9AfLex3KCjewL69oqKjliHDV6tBDKJjhK+ROQuAB8= + =iQLo -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-03-05T19:18:44Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoARAApkPqdZCQpmSGV56UtzY0oWYv+glGKtCgX2wF1Hnpxl7s - VugLFt2ZaG6eOg0o6xlVu+6iDrlB+jV0uDtO+5eIfIf5m57psgm6FDlrlmDs8uH8 - KoA8wKineJQ6wMSM0HlaRv6i61CuvOM/6dtML/edoOVEMSliQwGoqYmamlq/SfNo - FzpgQSen5EDfkp3nROsiMUXNDr9bNnKYGlUtExAMRypvnnUYXB7x/nm/Tzs3flVB - RvQJBKTVkAYjwvbq+nNWk57Esz/uWAAs/GQcbeAwLD67OgsqaQYkQwHY0DEWiyqH - FRRNQSjSKPt3LsGd6fcUuqj25Hx0mBpHFlppuWQmPKlRN4MSADzMq7i3i30cmzAj - HKTIILvU57J8RrCWXZcl3UVz9FQbi4QOzcaQ2SW835QGCFqHTO3yTqpYG0l91IwE - z1RoaCf8CP7Jf1z6y6YUib5m4EsCzXcFw8R5X/DIISTVy99wWh4bgQrlZNLMmMrK - UFWEbnzaCd7J0VaHlaRLQJCg6ht7Z8KUk7Y6Le1T12RW53wu5zY7lM7HpZ5mi8Vk - GNDH42iAI1TCa2K+Dv2R7bz/zEEHtyZN2jqT/UHwXigGd1JPnYXxA8qZEKigjlUj - uyViR6THrF8WQUu9cm5VKz/WJpqnnvMOdIvOWojlkyZ37o9Jp0le7B89HKGqhTbS - XgECcc8jMOi0NgeG7DPawcAuhIaBhEJgJ0wdYdBIJ5QJwOSgYQv8672BZhtAYDv9 - RiKLEU2Lh9al+J0jJ91Rm5gkr0OKx1fSevVohqvReOuhlujA2FB1dR3FbuPaM3w= - =xJn+ + hQIMA1Hthzn+T1OoARAApZ7Fnmz5BcIqdw9IUuiCZU7I5Yg8n1vmzd4ACeBvRgYA + EAmJ430q5Mh4L5YDmP7Ghmlf74mdVR/JjZ/3arwMjVg+8sJjyCc0zpoeSe+10FFv + Hwl3j4PEbWjRCKGP0P48Ax6yuLWIRYTGbo8HrI5bRpyAGTnChH3FwSgoZXMMaIPI + OQEsuhcuOnygX5OzKmIfjmIfFC2DWs8SQrJIou18PMermhlcIOQ9EtVu62A4tfsb + avjCDwv3zIOgk0iSqQzo5SE3BGHTFB+hKCRTIZH9fBHAxJmILFJW4N5LZmM6JjpS + I9FlNE1VF5HnBLTC12UQKSkn8MIGvjQWWB50ZzhdtWCxbL6y06pQHbZSA154yW10 + PNHN4KjRVDGqesfNr08f3xPUarvydeIZjQ3NHWmLsSGzdKwibWdm5X2WRw4GuD8S + /gV2qa/jz/psUAJK6NxRCDHbbTqrF4PR12+5UTpFgWlDpLJtlcagqV3Wl0RoZohs + WakZfCkJemcy7/fKxaQ3FNwAQWAb5Yc6V4TvqwJllaNwfdO9BmEXhETEseRcZB/d + 1EkIvVvBa5GZNhfrXlUdeStvm7WXmF3X1YlN/ouNduJTsMgCUXhua283NKNdoeWL + qawI5fPbChi5oIDnOc2JZVeniK3MjmdgkyzbB8le2ZrPfkM/Z9bdio2UWpbkli/S + XgFvn34QnKPTfBeAzQ/X+0F9tlvBVW5ydJaq8CXmxLBxQP44m4nKOgc2raOsFjIw + iwVckoqgX8sZwvywOWUyCfmrhkckbJlwEAy22pWpU9WbAElivngBM/UwMXH5IAg= + =FYrl -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-03-05T19:18:44Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ/9H5V0dnLg1AsPwvuWlngqQ2MQtWq9GM29WDkmM8zHa8X5 - IGOHn37y2Yslq55k8FFNZZk3mH6zth8Rik+nfjj7AINgIogLKu6XGNaGklvKiVW0 - eXK2qME8kYWvuivwK1XCbkXWwyv/Bq/dHuU+TiwYX4ToxcvQ3Uzy+2cTK7Gn4yFs - dbLI3ST5EDjXb4X6UHvqpLpLspuULA3tHdePVj1YKIGN2cSBl3xXys2z73/yTQbX - /iMkIG8+C6xlSWwTanjRfBe7UguoVEDrFxq1R/xGl+AZPh9YAQJQgt8VecXIG6cJ - 2Q0gvtoz3QpUTwj/W+Ad4TE7UToOJ7rN9t/KoIY8O1nWjxkooGyCYtHTjLCDbwgm - oqWCZnRXE8wzAsjq7qDURQuJGdzaFctVLP33xuB0vSNzFk9HEgoibKr6zxwf29Cv - 8xnOofBOlE206FfzAng+vGD8p6wTTzqbWaS1PbiPCx/o5JDzxRDpXolASNgRLeOc - q1CpbyfMdsljcmHqnwKOJ5nt9ATQ8nfhdxgAoHFWznoiRt17dpDesI/NbNaKMG45 - tsoGyRRZb+CJS61IEB5i9x7xF4XxHwHWME3SmREIatWCwK6xrm68jk06Eh8xNPf2 - EJLUbD82d/XXNxJ42uZO77tQtB7H+EV3VwNvO0GDBlrrP5MV+Jk5k8sFSi1FIU/S - XgHdKmW/6xj9A8Iypujya9ycRRZRBGoT7OnBU/EPbEufzEWu+U1GVN9piWpHwxU1 - Fa+5HrBxSOdbXaoo1ymttUwfk3WsTjskbo8ATIvRLpEF/bwteQznr0O9d548MmA= - =0RiY + hQIMA46L6MuPqfJqAQ/+LMzQqaB7GxKrLBe7MWo7n9PqaH+0Dx62XG+dJEP08Q6F + CLnQsJMJllJuk58GH+BXUEa4fB20WJXFYncTRKTCRz3hwsYRsVQCDxyW5P9DAXNh + uEx52e/FeG6O1Rb5Lr6lL852R8lSYLya9EnVOZKYV7KH/rsYcFLRwKVwMBjik6hw + Vj8rwnMQGe+Y6FKc17XuIZ5RLF5p5HOCGvYW6gOe9iqy/tRmnQ4GY89df6yZsTGT + i3goioAB3bLyhkMRX64UHM1DyJgkczmeYQw4RxcztOnOlp9qSpvUFOJKarHvGJKK + wl+FcZ99WpCzAr8clsHOxi9YjZu50y0T93I3p24U2qjtjatpI3juOuPqrLkkfDJt + w7gFkHGplBc4eozjJrZcCOQuNoE4Odw5k/92uNgOiL1z+Lma8dhypcCQmi3YXvmP + N+KOP8+LMiIA4I9cjGtG1xzZtNxNbiCOZF3o1tl+F8vPQ2zZEmSEm0fGLw4cs84u + 9pmt5D05r8J1lVhKd05OUS5k19FxGNTXwHYQDCHOd/02fvlUlcxd574eP1856gOl + d3vPqq3u5JzhXJhpVnnyyyXxW01hbcwRItH67pOqYdGAOlnFMkkmajKkO1cev787 + 5Jnh4R6cN3QA8ZJF53VJaxhtefIvnog2PZLPofETNJSi3u7jRdz9Zsuw+XFB1qfS + XgHaGLl8kAHmN6N8T9A2KZJ++whrkzxlh2ghOwpl6rGZGgfVKOiEQ5fhejCYqn8E + 1VvOCx3XusMRLwgsjnA1t7M0Rv3tIWjhO1tGxh2y0Ryce5AXdqjoPG0HtlpoZTs= + =eS31 -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-03-05T19:18:44Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAnk+f7Bd9KMy6BpzdGicvPNwTGDypTmCjr7uvht4TdSUw - QxhO5XJGWPHAKSj+2Hb6WiMKime9dCReEA07Hd3VLepmjQDhQaBTTP7/qWz/N4S4 - 0l4B3NHG/+ZdSnQEJuwEEF4+7tJAH9KaFDsk6ws8BFxfy7TvWdRouSQcAAKdqFaY - WB1prv8hdmp4vzUZBiJBrhpLJBuN9Ye4Dl918DMllVKARAyIWxy58QHmypEB1Lu0 - =lGlA + hF4DQrf1tCqiJxoSAQdAM89SbF7ZfBmHuKXtCY+oQJnDJ+NYE4/fBBy6s31hSXYw + uX8BbY6ggC2aLtFUHkiBRbf3cn1TQ30baXa/Vsl3LpTAUjAsBuvj17eJ+IdaTv7f + 0l4BGtUG5bg0imPwZQ09Wt3yDOH2oYrddbj85Kig3rNMP3eNoI0yXYw9rwwGTW1x + V8ym5kiosmsHCo6/VjWHvtZnAtOg7taLDqpj4pjrNnLsA6e5CKnP7ZLSaO4i//E5 + =ZUDF -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-03-05T19:18:44Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAB47wtv2KBefMFQLvON4RxPWhDqDLvNVqsjZrKLsLAHMw - JCIm3fVMJLne3QJBJdBS3mmfVFb6nUPLkIGCtCfUWgmHDmZuV4L0ad9tuN9rj55d - 0lgBtQJERICX/eOrdX+R+AjSFgemKO1YseEgn8fC8VPtwzx1RESXaHJn0N8PAdRr - RaZWfFp8f67m3J0FWU6TxhBv2JZ/HBus6TKTM9DKsvYW5/WhETFPIRzL - =lOk0 + hF4DzAGzViGx4qcSAQdAvYtdsC8LrQ33mbBEXVQI3rAlFUKi0uc1dWjB58opw3Aw + XOVS1JB2penIdUGtNnMmOcdKvQneYESgvX4Asrv87LbS9NEOZ3ckgxzagup1yCi3 + 0lgBFQjWxqR+8YwKTv+QN2aKf3yAiJ2ctkYryQG7RyUfXX2f1lqpKoQNMZd8swac + cgvWwFuiRmAiga2jUu22T9MdVZWEfhrgXAEK0Gx6ZLz5ijXMIYW3mhMT + =IgLJ -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-03-05T19:18:44Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//VtsxiACv20lfDLoKbFxu5zyH4+R0wJOnUJhvthxMdT6b - yU+wCna0lJnUQ5xJwZa/D3lWgPXo1iACLRypsbKh+JzPlcFsVWKhVmw2mu7ia+Lp - Zmge6CKdPOOt1g6Ytdp7kvgRPnLm16vRzzAz/sPG8WW18zb5JTOB4Ph9lwRwDoGH - MgE8LztkBUDiDR2tCg3BR/3+q1NCuKGA1InHI3C+s6cFkzirx3BOjQ4Vj3KnTMg3 - NeM7MpzJYmIKOjVwFghFadR6DWVOXBjNlsctRryrDW213ICtDY6HWERgdaN9Mpus - fIIYiWWK2hslvy+kN/+wiGE7cZ/yMoosQmDeAxw4vd45k4HfljXEip/qKZmVFo/p - mapfQwnZQYPAYRwC1KOK/meAXyfp8Z2OMZqhULvKcU0aEHuwj5rFX0/Y5YbY8cXE - gsjeX2ASdaxeZqZfIoohYkafT8/MmmN8H0O6rh1hzKLoVbYn/zDdEr730pHJ9YqX - LHYxy9b9VwN8AC6X32uAyqnWu7/CCrCHqnUb+x8cypJUTaUQTa12DuC48ZOzs9Vz - ZUbR/cHdQbyLYpnIfzZc3Rg7IMsRJRNuURhD+zctu04CIbtHeWOYTJQPTf7ficdB - y9OObTMadabp/lRNlzlZcaguoCTrqvDnXhfviiXnuZDGXUdBB2FiInWxMk2brcnS - XgH38kcUcM2YWMwMcc2iIruXTqxgRy+1iQqI685JM8S7omSd0Kptc2QrRvsHS5eK - FsV0uNaxXcuCExLYPXbjlJdTwMoGWABks0j+dO07SqUA13+MD4KKkPs1OTGzEyk= - =Xk+a + hQIMA2pVdGTIrZI+ARAA5MantQOH+ptqau+7VPCrKu09XiHqaq1ly9R+o8T7ruOe + GRMzl9URE4C1V+TROD1ejHHtwUenEtJab+j70cQVR3bupuREXfXKCH8HJ3rzJLkX + 9TX5QIq7NyBYPEFHuma/vxkBvpDo3oiCX5tJEjXNZRf0vX3lYB8Uq43Lez2JLyiG + fQUpiNWL+yt8TRJxop5rfHfYUai2DRR2+7Ko/xZHHdxZqMiD7G3qXPYaQsxM6zqJ + +LKUZXRT1hVJQVh9yph0tK8FkaCXop1Mf4Dxt0J0vOkwchmUBz88W9LgKcCFDUFM + y6zpZRAzWJZ2GBzSjLJbvmB3jD3Akph8w9DWRuwv8r1LXIJVtACjZyFoY7aFMRDe + m1ADfKVmGaVen/94l528pTYcnhstdflM/7BtzhjJSXajrpV1JMn6R5y5vmqstZi0 + 5JU20CwVeBR+l6Rau3j0Qno/U3B/y1NsucShk/ypWjYO8QbBbL5uKfyM/dvoJtc8 + +gEw88+uFBHQHMb3hlTFqfTQ9zEZNTnn+9NnG6QzoKEZIz8ZMt00fI0G98MEO4bq + HpkAv2BD4fUsCSFwYr3OanRVwCQuV6RfweMzIxkDErh6TAfq92d0WlzFMWhji2mi + VjUF7MIjs0mGdoH7IaS3GLbj+fXSQutFS5SBh8+S38tiG00/Eb6aRtg+zrFZr7HS + XgEUCFEMoca7DrlpAcOJxr4bgW1eWio3/CD1fgYock8sCzEejsY799YDY4aI0G5X + g0MiptWOV4SbfxpfDrNHzAsVBwCYG+0UnZSsin6Kav1mbc8llg0im1q2msJn690= + =T8Pj -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-03-05T19:18:44Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAihlyqX1487K+xE5OoJdXt6hqvd4p1wCscT18h4dshxAw - A8/05k4PnD+pdHK/qIJely79ljmWQDQwRzip/A/9wJkPChurQv0Du5OuzpZbdqKP - 0l4BurgmacrV/G3qLvb80r8qZf4vUbWspazCVyMXoxQNvKypt8nJMGF7jg+cYiFA - WI3VY1aIEgS8irTy8M9yM1t6CcRInlzB1HVwm835h4/U0dtQ0vHDlWID483Mw8TD - =29hK + hF4DKKbvh61jX5USAQdA1Ewxqje7TqV6gp4y9pvjC6caRYiBhPCceKXSHQhprxYw + vukvBbsFfCOhb4IpMpb/ynj1ROvUIFVjZtpnORh/tWFvciIinxXen+9emjX52uwW + 0l4BZwX+p5PYib0bsjgWkAdU3WVXD3Z3QFC+KsJVZlTDDkpJO/Bq/jdMskgrk21z + Wv9fodH83QnsDXiZE6LhLtfiAQCY+Es1wDPPtcG9x0BnlUhjaa6x9OskTV9jKOhO + =HjGy -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/keycloak.sops.yaml b/inventories/chaosknoten/host_vars/keycloak.sops.yaml index 2a689b626f..12827eec2c 100644 --- a/inventories/chaosknoten/host_vars/keycloak.sops.yaml +++ b/inventories/chaosknoten/host_vars/keycloak.sops.yaml @@ -10,212 +10,203 @@ sops: - recipient: age1azkgwrcwqhc6flj7gturptpl2uvay6pd94cam4t6yuk2n4wlnsqsj38hca enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0SzhTT0lMdlRxZW00SVV3 - T0NnZFRVSVdEeHoxaTRZazcxZXRlY01rM3hVCkZIbEkwNnRlNitESkUrcmZ3WFlH - bmtEVWFNTTJVa2ovU2lOMWtCM0JIOHMKLS0tIFprenNjS1Ard2FXcTRxUWphMVkz - eDNHY0d4QnhUblRSckVVUXNvN3BMenMKISWK22cxcTtD/+vfIKDtppKaILPsrazy - Ptow/YBdiJIlYpmRXzGAVqowKYuO6qJutrrj9ou5FFqUV7Y3WybNcQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3WkJSZ3E0eUFvWEVWZHEr + NlpnK1Fyd0VSNmg4ZkEvbjB1bENRakt1dUJrCnl6bXFnY21WK3JldExwalFTM3A3 + VjlmdEpveXZYM1BCQ280ZmlpakZ6OGsKLS0tIFFJOU5XbFlmSk9wT0lwV0xTRm5j + dExLSU5MUjhkUFFUL3VpeTQwSnU1OXcKRx69PgZmvxlWt4g/mECUxV1TB8ISsD5l + Hs+QwcFhq0HCPstFgjtHttXtVqKNlu8ow0KFs8eUV6T4v730q2P2gA== -----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: "2026-03-05T19:18:22Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/+Jkx3VHTIZd6H9kE5SBqqGFnrjZQo6PJtdz6uMQ+Zg6MU - X0fMwjbQ1ZYBL2McgTUy7rPMrVtwVUHU48YU3yCoLlO16QVAEWw6ndsHycrUs7LR - OJOmRFZ33rNFkc8WzAENIaNx+MvwKIQFc290nbtK5h/TTl++krGlZOe7Al3mm5Qu - DhQDbeNUE+egRQBK89qsIyJc/VnczNn2/fiUWDYPwX/XrYUmY+wq7sAmi73HFqT9 - dk0q7ZcDlanEP1NKrbx5OYsDcyVAlaIr2r5JJRD2PtHRLteeASd9jivhOuusjIcS - 9d3kWbNFdrAconGH1051osJVZw4jFzSUtNIEIRdTH8YtJNGS4viqLnyJvgVF1OFh - upk1iGtbvHZ0zqPBqcBMaYTnA5dfQQI0s8+E77SG1zwfkdL4IIJLnLE+3zPMRJ1J - 1aW11Px/yBu+cOqole+Sxg0cWgtywIflLfNahzoGpD2mJBapaLV4Ox3vLacaxpwr - FZkVlOdFtRmGJMBx83LNpIbtfOH/2sE0DCDnh4c6daN1GbscCASt9R3mcl4sn+PU - jMhczxKpZuAnSlNm7T0EgyS/n7+sfX9mYr6dj3pqdZkBXTIKSA81/RzrWj9n74El - khHxbTKF98lZ/mKdSJ+062nD6OO/PG+jECjvKqRDtm23fyAGzxt/ZqJY1+gDNeTS - XgGVnqKu6d1FXQsyCcgsIPRAoJ3pXZ/UT+HsaA8ICMMMJ4YPiaIWUFstYLrPCBrA - WLOIKCONLIFY3+rJV78lKn/87cnSUzMlGrhhj00dd3zI+gIEvxms+9pOxpjOPlE= - =B+Ma + hQIMAxK/JaB2/SdtARAAhnqE4IW/fqEyuc9uhLmLVAjmdOJAvM6p7DX0a55FXCbS + Gqp7AY1dhLCtuQaWbjZvVYhHrr/Rr02TVJZhew6KgehPPcwbWGb/aJfw3WIAHWG4 + jW85aLQLOT/tRkS0fYQy59liEmgRp9rKuufdQjEeK02uBgJfOGYXzZjH8hUrU9o1 + U8ZYzMkvLBWth5VpYHKQFnMIcpqeMtxWagZwGzOunQRVLbbznzJZjYh+s8qHPNFf + zm13J+8PxfXuEHOPH7CyP4EIWrt+hrrZ/vjloZdaYxnVvh3oq6Hh3HGvqNDHLGuz + 10wSdn8x5h0Muj6Sqex4mHcN5WIiMJtSEf7DGQUQ+3tgurRFilFASpB/HuQpqN3a + ud5LNkJ6aSMj1k/Up29hPXFqbrV0K3vSoNJw2XDP2K8lFPKrzDzl91cHRZa/qvRY + yPwFcZ9uCkhdoSZQpEQ0V4pLJjXe1HVGnMdaym2ToNoPPIPcmRRsVgODVnSvNNCq + pYRrpn4kSJwJC1/35cx4NqpkyjDRO3+mgYijx4e7DNi1Ss0buHttsV3BkO/bjWN9 + dsczgzAa7Dq4lvx9D1ghDpDuRviNsvIjY+wqG894BsVENtip6z4AHDxhhfw/ZSsR + W3Gd+MOAEc9KCohThdvE6owFjcJMI/AZa1yWsgx8RSryv0OGoIFqcZdnJMHgB/bS + XgHF40UX68phPIQQQoKcT8kGkpbuX9mF0FvLKB0KiuJZzLx1Y4pkk4KPLTwKp41Q + AJMpcsTaxCAO58awLKeSEL8gdNhYt/RxiRoyj3hg2Z0aoJIBriqPWul+AKAYWTs= + =gvdr -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-03-05T19:18:22Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQgAq6n3MkqXO1gNSEPMtkfNcVy0kyrIQQO/mI+jG2VWWO5n - JYgrA27QhSBzKGEDvnziqc7Gdb/pZAAPH53BtgYhXc8PbLqM4yYUoy0GSyJG4QUe - 9PkLXAysR9KQNmuODevsP0DpayosmvINLQ4eFIbvjMmj2rqlo5/sSVojzLvgDhy2 - XsFEdjMk79XIGxcBncKxIKDxC/Ei7/Jh3WZ/5c5VujbshWmpLH3xtXXf3mdt1+RT - 6hgwuui2i7RSOXL0SZE6w8mBUPNQ0DEj95g9Ei3leTKxcKe38fcJpd2UdP0awFCk - eEgljxpr+slCQFXgLJOoT73P2ItAeqWZ/J1hG/zKwdJeATj7yCOQAE5yxV6h59ZB - 8jVRjBzsCni/wVoU8XnZX8nxvCF7pc8IxvTe4tk9aGI3oNy1lIdU41lb+5jdRbrH - rTgSWl1uSee+GBBrG7rlcg+fP6PhumdwBZZqnQ/cSA== - =9puE + hQEMA1QflAioE8i3AQf/TDKws9R4YBgLQdyHA4Dy1Yl42SE2e2E4q5AfgoDDQPQ0 + gsWrddL4r6OA5HUrprHJ9O7Q3TjdOGXYUjGNwkrwuRtg4sh8xVZ8zD5DMcwMJ9np + NAdJN+2z3287cOypLh5UyPyAz9oBUxp5S6+OVeNHm0oZlIMMANPdil5BBIrvnUtd + BOg9iOLnYBgyS/EpWDGFsh7hMN+UgS4KN8gZNW7lvw1wAk/5fwcMavO4gwtCc6c8 + TZIRydkouoovFx16hYK9lsoexNHF73gCF+waLKuZHv141UzIZIeG2wW0rujn0vPh + iHktzWiMDHiLcYIH0rKqo9Pph6Ate0VarSNjns9p69JeAXlpx0Wuk2sEQUtoo0HO + i6QHBfd+X87Yr8sTeL8jF7zNUDAwRVXL7fSAAm0GmNw9zdAS/hpSYuqqNazUPqB4 + zc5i8yAoQmmhVt5fL7zBs3eYrONDEPcTv/wr1xDLIQ== + =w1c1 -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-03-05T19:18:22Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ/+IL0nJdwnhH6RyF5JzksvgHwAdBC8qVlE8WrZ4iwpnfbF - dKQrelIycj3Kba4hJx/QIAwASeiNDl3YUNL5KX8G9JInAF6aOAqMVK3qBLe8RmRW - VaIOdSdk3J8Rr/nogUrgFp0bGwttPdG2C+oRbGesIFo5wRhgIMxYDlVWy1lepCoh - YVykTq8LY1Pfm9YdpjhFAARpuYktmSyxPdi2p5Ha5ThlAGkYSF5q6eb6HGqO7qWH - DBMlR7XlxBhaz00UjfNaMGmioaRq2DcZ6y+rLfcEI8k0MZMnN7EEt0cx5Fmzvnc2 - lnRi3msPSD/7jwJq/SyoXr+Pl1lSSsawGRRIRz9amTuZW9Sg1eZi8rhUVw1S1QIu - CysS5r+ES0ovubGgM+Y63jDvGTAgEmBkZfUkTGX0C6Hrlr0Bo3If4s72xF45ieKh - G+ZToeOVVEyb66Rocubkvlv8UgGns6HUpb/TUa+DglDdXDoaonJpARMdCP91sn33 - 7fqQdEmu3DztckTTHLCBmHfEzEjLi+bQledrJfSCAVtuIogmlESkJVJk1eEaie+X - Rx9qHsDDa1YnaZMsQYPJQZZvj3+mknLePNPHP1jzMyfYIr2YDhjZ84BT/QOJT0IN - V37Lud7rNtKezirWUGZa73HPQcG+7KyI9NpiZOUFGYl032ryr8DTMDMKnHG9D+/S - XgGYLccQsUB6nlFMLfYbiZwJEIbGz7fIbCg5CGyeS1HOIsQctqWA7fbF/MXcS1Gc - d0TbEevGSQu38OIyTCLLitU4IVovizJUFjlPTQGb9baWWws8IozTX+wEu9FTRD0= - =GX8F + hQIMAz5uSgHG2iMJAQ/9Fyf7d7SKyNMFxLTYpijlg+S8+JPttbBDJ5wkYmSFx3hG + jn+9X5RaOCMKQ3XXU1crBOy4jqzJq7m38Kh3yie7zB7A3DgSHVKb/JpSgoNJ2yPO + gn4vjjAYCGmWGejsNA7qlDeS+RFx7XVVihvL6Okv4i6HMHiUGjiXnUvVp47dpB0u + 9ZtvVFxw5liZZi2Sgi8FjTNvYJgycGWjy0zfrzefLHASM7jRliiEFQwophEHV3Kh + xAT2dP6Is/u9BNntMSkfffmi+2iyYMwJCE0jy7zbaUa+wjxiCrobJAzr41N4x865 + RENpTnJ3RP4p2RRByGiVmxwP1XmqQ9P63L/wIoNSXLp4Eh9fz9JTONevP5VcxpOj + 4vRxXecWe/k76WKMHity+sABbqtt1PG5V/vMprmMDiS0j81/Pi9lyjuBnLOrXMFQ + pyR1CvJaSJOM0uGJtD8tppOw8OiMfftHzdEqOr2lEpbbX/NREBu7Nz5A74oF0KuA + uzCzBfih5cebX+jyESB3aPIii+vvs4++YjsVRccN+pWKdjj2bgtxMSYBM2mq1Uq9 + Kol6E0kMBfLb1JeoKEqtKgkBuKgI+jwjTF3jx+s+jUjFeLbDQxYLOijC/51wEFlK + wiKkDK/CO1d4/Gtlw0cDnE03rO0cjriMe9SSNhLWMfXl47fEwlZCV3JSUoN9YfvS + XgFa/lwG42NzvOhMzER1ybqIo+OsTqq2jYX75kJHd6ZGxzUZcIzrUgmsUSf8WITg + AtUNfCB9cZKXzUEX0eoMotVGwpXl/6X477Ter1KnXXtqhJ+9bRYN1qm6DOuXyhI= + =dREO -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-03-05T19:18:22Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ/+K8eR9gtw5yWpWb73YSNi5r2MFxYL2phNHTLJbpMD0Pse - xeWuanTRAzC1WtFFWU/NPV5Wpp65dsTuDADCSuWwaUP+L+ru41l5s4DnvRgjwjP5 - 5mRpiasklVtbnVVFUAcr6X9aNsOL+D1A8tV/P8W8/IsagtI934fjFRJbnd7BgJA6 - 5X0fIKkTEolv/9DEfSACfwAKzpnemuF5kdSU/aJyc6vBqB1Y0xI++gmc8xTJHPjl - D6cYfLBbX5YWFvQ3cZ+ge8gJYj0Rm8VZaa0EYakB+s3ij2nCYeAiAVpRKGtNRaHR - 4HkjbNlOVikegruWNNl+m33RP5+p/vtzwcc9YPJ7zcBzWPHr6/XvkVCyYWwlaPId - hycPMnnH+V/Db9/dy+Jk0Q9stXAlEMilhFMgQaXRPobNzsUyW8Px7tvspX1ZJabf - S1vGf5epf95tSA2ravL7HlEGff9gl6gEVtqkN24RKzmpYj8Yunp13XPYCNZ5ZSse - Drdzgg/d0OwU8gY1YJFz9DE1J81VJpZM3In4XK8xxPbDdrRJrCtvTBKLf/VjU6NL - UcrUfN6MZf8GpKw76P38YiOm4ybutSRaI/tzmW6UPvZAKTqwzAo+bOl2v+ODGO6j - msUW48ly5rsXnEYdh4AE680og934XkBzLTw5y77dk55ojXn50vH5GKAcDhgfE6zS - XgEnrG2uC271dOqo2cmRmIPfCcl3s9TL11CtG1lsxbX3qD0OH+0N6hu6sClRzDMy - 5Gyi1Md/qFhO7VOEBvj2n7GNOQhAyScIo8S9hAOb2G9h8MZD9EFi9sS/vuLsNTY= - =b10v + hF4DsZXvxFXTXoQSAQdAT6yh9q4tz+va8gJbioNCA8J4FIEDGOJM/PkCNE+nZEkw + 0y4Bh5USPqnVg+4vLadiMJWuVMgRpuwFck6ZJR+WgjC0dKO9hryCoMl1exOMeqdN + 0l4BRCEiWVCq5cPjC1/NR2uF1eJOu15Q/dJfESOfra2B80WNGXBp7PwsnQNJUE3b + KrGMfQ92F/iqC5HJlZi9g5wD1nV1QPjn7LQUEF5GeWMB/hHLEqSAAUxySi4oQ/Li + =EnRJ -----END PGP MESSAGE----- - fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-03-05T19:18:22Z" + fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAo/MfZmJC+TsA+Q86e5ZaE+IC/4rBjeGe0Kl7rFR77Cow - YUGzi4UgYX3MDXHe1Q3QdJbZBKuWrUFOfrnxVMUUmMU37Pqs2P6I4LgnEO67guSs - 0l4BkXaoO5Tut6QrPlq9cLGNvGf6DTyAoWQqeh55qYNBzFGw7yGqiUsLOJSo+jK1 - TX0zEYm42i77yw43VtdH2xsvmxRSu84iAD3pkeoHH/r9Y0V6za6IXPNVr01s8Esg - =4/8X + hF4DerEtaFuTeewSAQdAxhpWcZUcSc55aTQMDM2Mnt63DCnyhXawzFd3U1hgtSIw + L48lOTjYBlygr37tivvj4aLVOV0f2xyD2f9exLAtZBldoIVwUDT4AseOcyIya03Z + 0l4BHqo1RxMTvL12sPQy4LDAq2ij39zs+LFB4ekKUWs5bywC+GP8tMzcpNIccjYK + YKS14zMD4bQZ+iSAmz4VPyXI2vfKNABwG7RM/I+kmTnbKX4sYYoc+EZ7fjo1TpKM + =4SHJ -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-03-05T19:18:22Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/+JLx5iD9mPHC/kYby+mHzAqc2A+iWxNLB0dgUt//rcX+A - QJJgn8cDQP07Wc5FpRCBD7s81vGYPYwUPHJWTSBpLxzT9GJ1DF7Fiv3YVmybJvbN - CwQfQxEVhnSBXOgksto71h9geRNOpi3RDlZAbn3Le4Fyb+/BuUGaYpcJ3Aroz1wQ - vEzivIPQPux7C114hgi88pmneG4gqSW4i5ZckViWBxaHSlRU5YIZHaowOM8xNai9 - 0UF9otKRWrm8tCBx696ZGdk738yFGXVDqu2MQU61UDQ5hL7j7JFEUuu+SI8sPiQC - F2kfdmBfpEpS4NIx7toPRJmBk15I6v7pJaVNQuFnsrnoZrC9GTBaeHjc6w3dtwMp - MZZczesF9EWUpOO6l64p+F213K6oaU1IYwuLbFki/Lr1IhUY4Jn/fPjog90zk1a2 - fjC8FYHrONu1K1V6O7MfI5QajZGF3wPqU8pEipl3swmD8+54ytSONdyKxEcpQnyE - /Msm5rMw2hpl73E/BXPmkk2coRPT+caIb5zlyrBLev00NkoFE+PtHVgKW3ToMb+u - 49q6AyeHuk2C7b3KQKJDuWIZichbtP/IP3PTPUtgn3SqH5NxeAUsfGDkSZxWP2g4 - Q4clw3KadOIO4c46aqvQp0bi99iSwBPVLwR+ChRmq3x0SsCwiUASMvGCuhomFoLS - XgFcFAUlDojff3FSUsGHqpYbS9xwb6caTArcD5yIbwAN4TPMylhUAmHRKFOBVSIM - mmH+1Wsvs7vNqTFJgTSlommA5MC/Hybl5MLjh3X/Ay1+3uEt166isOdVp+Wy4MA= - =SEtb + hQIMAxjNhCKPP69fAQ//Qij+rbn+sbSrKxqPVfK9Ifaq1zrDVOayUCQtHIZQg8DG + Sg//ajwYxxPmjgNNoZ6KA0FhABTjrVWTbjO9YKGwRRkJNL7Tg9bhxkGySl791K1j + DQeAfJsdgjxQTBObQFTAkOkSteOU2SPnTwVj+8KvqV4UEO8O4eTiIXd5026h/FuU + HU8Bn2RQOTU9E8efdKo9CdVQYNmYNomNUoQ1cYseQvDI6YI2i7szbWFjQHz+lpwV + Bc3m8NgUbm8LUm8NHEyxYB8E+W+Xrc/mn/cNEm0qRWyDR8+NG+DvIpxz6tqs3LRj + dl/NeHl3eEeGIvluONHzE0PYAcv61nrLLjISavycdamkHX6iE91NdsAxKbPi/LYr + hBd8g6wOClU8gAaq0mQcHRM9iIPzuS4pGDWGskHyHBeVcglwpF/tq8T29ECod3Vz + 3JXtDHzWQCqJhd/GpoXB3ZAFTT4/JKR3OBop7tbd1oeqN1QH5t8hM08srYi3U/BL + fmV90vgojZefpjQM9N6/dmky/7f9j4bBrZ4YvEnLasxSbKbkMAyxdrtfxk8pndpY + YiXtVSuqozqtEiZSQed2tf1wKq8JZY2SaRUBwtsL2WNqtW1ZIG251jZj+Bbg3+AI + zk8L2SrD3NUQY1fEd8iF0DLMGuC5Lgp0AsrmHECl4cAvuMl/0LEXgNdYXrTLVOfS + XgFsW2Ja62lmdc1aoKftZ66IPJOBhiVfkP2RF22k8fiyHaFHaGF2V3YxGmtKBEFK + Akwgfld2qlFONQmY5BqUoXkyLwoM+mBW+t8mDYtLfPwlsZEE7LRfeU2tsvmVevw= + =lXjW -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-03-05T19:18:22Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//f/7F3dwEHvV3yXfCy+GV7K7ieqB5+UebmAC9u9NFPZib - +ENPeI5jLJOJgKisZaKKePCwtpm7Pzl12QfTPBKZdemUIJSrc9CiZQv2FqcAhV3V - AcdQnN8O5e9mX6+5g81E8+duZzw4opreFHAFi0qMmeqJ7qQjARkMc/qLkoUKe3wQ - tWTWkX7Kd7dGtS6SHdbzsDvuOqSDs1Dw2p5PsyBts/4ZzrUfCIT+yFkhpsLCkk/X - fQTBAGnKaQ6/bilI9szSkJanuBo9zcKcVDqMLzZfrFLjJC6dgaahYGDaxKNczsZl - pnZ2Fu0shuaZWX1IQ4ISAymC/cp6Z2UxsA+1h55KdE1/IL6EcNmgHF7nE3bEJL5Z - BdWu+7a59WBFw09aLpPScv2bXT8Cwh//Glmu+1/43SDluNidC73/9pQSoboZfy8L - cu8RFqw+WDzHwM5dSqrH0M/ghNh0sBWWt/RLSsgmcpvfz92rSCqLBVbboRXDhGdL - T+ZAARmUde357DhXBjP6ov/vmsObbXGBV/Wyng63CRdNXbZh9ZJECX7YTGKn9n66 - iqfXK7vkf93th2hJhyC6sk1OfYOkpXlkd5Yht9Y4L0B7ea9x3Vn5Cfl1frWPUfuW - s1tVlzGCG6O+S3N3Sla/xwZRqgOKDHNQpRDYH6rCf0PM9WVpzeperA8Q/GlRFYzS - XgHtgjzioKnk6xVOVToQbQCZW4P4SoxYGL9nyfjvmIAdIKYXOiyueyI+qurt62jK - VuW9KwHKtCdFauAl4RThrXo4H12drVcJnitoqykUTZIFm9/YJbTw17wJeMSGjLo= - =1j5G + hQIMA1Hthzn+T1OoARAAgiQIch4Q8NkYgShnMmcYrQ57SVddJp9Y5sGP8lARzs/O + gl9Wf4my7TumRWFuBlyltXAVkJyjAS+rmTc7G04vKzHrJ9t8XdKJIzKvw3eaMxCG + 4xexzMi1ueuPQGhldOozee9kqW7O5upB/60sChAueZElPNNXfZJZvsopzeEMI21z + FNGhtu+Tk7Qh1CSmOGQkWbHvBW6i1Z/sdxpBuAOJ+iyVqLf8FRkao0+nMQVPSb7U + chsGIsLCNKp9uTgfKRYTY6PAp6BqrIjE60YrZ8I2H1lnegCeQSsWB0uNiexMODmW + OMxqVZbk7NDvdxNda0HYAfUa7PMLgQ7KO5YTM2sdcYajDviBq3ecPleUybhTurQO + Rr0+PUAoxOQiUyqCobVT0SeUOwq6ffGQ6L1v8b2xER7qse5SIsjQclnJhnrtS5S9 + gZuQmiZZo+fwoHYhKim1/GgLtdzAoB2YkxknQUm9bwz3Ynw7QRKKXQo6/EAfb+vi + 6OZWTF9qIQCpRwzE0+vpiSGPw8g0rgY/fCsdZEsStsXD2c78SXuM+D5lHsrZnwU6 + jz50nokZlDyLF5wcUJepC8MoYJdCbDzp/pt1Ee3i3XAIBZs+ufUvFt1oYJ9BbiOy + kwO96l8ZfH+DvLm8/4w6RnQtJ8rGgGYLC2TWWtYIPHfbBDB1+JjmquFChCFa6BjS + XgFIejMnCiTKPzkGA36qxCaQLzUiGqAHPpASLHcl4tYZXoBdrvozQlHJXAaC3Swg + fLm+eqgKl2nVWuKUX4L3pF/nkB5oacst3sQyD1nvy9r2OvOIATaFDpHcrCIWj0A= + =QYgt -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-03-05T19:18:22Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ//aAstHn3OkS4hYyCfqWEQps63boVNgvtpnlBdwBvfgclw - 0n5FJiOocRPRRRkq2aBIfmkZ3ZfU2ikF3j3qLmKxsP4HaiwIG1LQf0zIle3BDBWJ - aX8ndr/JtXBBH/UASCq+Vn/9uPWdu71c4q4qgtP5F4TToQVktnwamaFPrlPWVS6a - bbpvNEswXTsHrRpOqWgzYLFQSB9e8GXhpOTksFPCInFDVPsQ+Uy+rRSE3WOxkQeb - aN/Jx4jUEsRxaqorui/99If5VsGbWFseCmLUxFvscJ6INQmxgBQmW7WOxAFsYpYb - sWZ8yfiVFdw+pPpZW+4wXFr4k0BH23guVRlQ9czc2lkuI65RIJsEWNgFagGbC2mN - 0p0q2EKqtd6CkTYoz1dJe1ITz0mwYOgt5I3CCMTUte5vVuOr0G5c1TwxFDhzdJTT - 2Z2nLJfya/NWs6T25rS0CO3CMArdJWaMWqxTHHvNtNYdJhtiJ0IesPFU7qlR8QtJ - GpWWZGjHZGbvM7dx28xiLqF5mpOikxYo3XgJvjZmK28LX85J8V2ptrMtjSY3n6K8 - r9g43X0wgGBGXjk+iEZZonvzrpDEtrIM/eqhZ88dViTXEr+VbdNp9SuTs4DHH2wd - OEkGdZz6Sc6OK274euczPdFS2uVwNtWsAiOBitlfp4TLj0YSwdb/z6ipQDq0O1XS - XgGx4VStViRSRYwoJjK7CLt4IMVNjwa14fLQDRgDY4mMZwyID/9PMffRxvauKZf5 - hXI8RyoXdW5rvV6eIX0vumpcAqZ2kYTtUIu0E76hqPhXL58jd0wZ0zktseV+RW0= - =B1C7 + hQIMA46L6MuPqfJqAQ//YLKqh0cvV30CEoZyKlPtXdgdmnSgiac8ydCh1L8+eEHf + UFkIAv0F434T1qd+ZuzeciQahwD3aVnqAr8wW4ah6UAkbYzaSu2X3FG7QSoBv6DS + uGtKoWWwj5QspPXMdZeYt6Nxjyhthox393F58He4TRRUwd+pF4I3vfMuZYsr4e3C + VFf3T7AvRI6m6w4erkw04+LJ0syzfbY/1IAu11jXKRnApWpT+BMG1RRAvNflmXvv + LxVrVAV7awsFD34l4tMmLx0/U1mm2KNfbMcv2JCg5wTDg7Q0ly1/ptBhYcGVrVFU + G1IpjsRZrp3PkoaCjMrNQC5qRsreUAwqedSsCmG/QK+UpgFnHtLANvclnuT0Fg3F + BgcCA9ovSAkE0xOiLVqoHtKR8naSLOynCDX8lnV0cUy8QSsZboKkcI2RWWE0Zgg0 + aJgTbrDC41EF7paVbjdluLUctL2ZGWeZotWZKloZkO7HrYaUQcYc1Bml3o/+61MM + p0IqgGbOwxL/3e3TIgkTvStw2tDIDQpyOk49IITFHuJrfOz5M8W3/AkpDYMVW5N2 + IiZ+ssXp4xW3hS3lMj69Vcx07+Fl6t0M8o8eTV4DUwobSbczJs5jirvk0ydlR6cW + 1VJ5P0jKrbU40CaPjwBRUuqyUjIaAWfgkhJ8ZE9KwZrFYIIL3XtLObWG5LEgt6PS + XgGZ96QPJMNt+LtRmfBBj97SPy35EQE+lkmSAcg21wdJlWKjaBcYBVyKxQmoAXOJ + WMaFoqLV4FC+257ZEHjb2+CNa0pme+tpkln/8B/nY05o90L+gQBdWMcqheaVz5E= + =+bN9 -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-03-05T19:18:22Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAlvzcUCjC/4+RcbwK6U3AGFPxumwWpo5HkxqfsFYPChsw - /b/SpXhhXIlid2Dwzd0sWWlTITGltQzl37EQV6Dl/eSnNH/a7EJmpsZgWuQqyGjo - 0l4BQIJNPOUQ23zg4k45pCT/Z6MsQ5fqCvsWwgM9iKRXgxy92JqryFp2jGnrInDq - oQJgjdqgwpqLp5+36HFSbVt8Vj2s16tx2UX5S4GmKSCZVdoPsIbN/AxrY9txVbQA - =U39P + hF4DQrf1tCqiJxoSAQdApwQHFPTsmJIF2Cp1vs/1VKy+EcJNuvIOPNiLj6iSo1Ew + PYwIUA7shu++2f44r1AcGYEClZm7ft8SBcdVD7i7d3G5lio9aE/LVplIghIq30Sp + 0l4BFSDpvKXz56Aqb8U4TjwPTESqOhJmIDU8ZJCVO0aZNAYvooOYjwb7faT7oooM + 9gUAxTO7v4ry2eUQfHTDNOi7QZVZ3zfZku9/sisSUdTcexDoDcc+3NmWowTgp/3I + =++0X -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-03-05T19:18:22Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAmhQnWHca+dA7EBVnsfgvsjJWNtMlSt3GqIv8rArG828w - fXJ8//WnY9e0BNbvQMuozkuri6wNU9uNtIxpD5aCUWmjQkWQRutqkZ9ILNixjM32 - 0lgBah2iOree2r+y7w/dIbvzr31nwb/uUTNBaX9jBarHrXpSJy8TuFhKtWdylDs7 - E29zldMExfd8LrnWRou4abZEEAk2nErCo7EuMeArVkBtgkYZ6QsJ+MAe - =pAGU + hF4DzAGzViGx4qcSAQdAbNONxtsLbb8hbQ9nRB5oSgDJ3mHjdV6gvVexpAXN7X0w + rqEnVXc1lp1VI2+L7U5h/A4evnlRfRg/dkvKOmsrFeHEMRwaJMyJ0fJ8kA0WJ8qC + 0lgBHsWbwtsQy1vDCr1eFp54XWxZVHiwgHxGmNrt1xc+ekupidZMJB8b3nDB0gGA + 62ehrdekfycbfGaz9TvNbAguvUcByTaO+opgKRjQESIYauFCARtkiACo + =JCn5 -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-03-05T19:18:22Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//cuobVvAe7knRS7opsSwMIW4O3zRBgvoRZiZ0jsS3l5X6 - NpDe/3AfohjQXPMK2EPTqSB7iTiHmxLmaRsL6qo7DE8tAwhzyxTzLQQ9Gpr+XkqH - uNvGP2LPNzA+a7BP6ziKiObsTize5zMmvUa+lGOW7/kSKz1FFROMmVDqcG35U+cf - rlWuTpgL3gC06bI8sOPYyMH/5i+kUISc4Y1tN0FVvAbHeigRrUgy3cZmtabXKxGr - stQ9esrVhn7WlBs2Sfyw8+hBQx+rFImGaKZGljY2uNBbPMSFudGLyv0dde7q59ky - kIiUUTaN7kKyETX+nqBzwtq+oI+zDYi7NcYvqBrcpDyGoaXMfqL22k1v/CmjKbNP - oXHgb4keEFphZVjkJcLorKS/Il5sodOCfXi1XW0TJ2KS8VyoxfIvrfklJ7cN30p5 - CqikCoh0IFamB/0ECkPPNy/IkmYwB3iRUigOv968yl2XkOWS0i8w8+Nb/DuRtayR - csRF17RjRDBAuNqRbKO5AJr6LjDH2Lbbq2PKCtJ1HLPJinoKoSSTcBGUVeOTD/VF - 07W/L80Clevq03iMVsXDqP/iQZM1JCL0f2SfMimCDumepbfevVP15Q94w9EWoSKx - IYVSGKRivDcOmtCOXWGuuOU154FrJYOwCU9iyLCO7Icz6kw1KjFxNCQIwMlAemHS - XgFz6Vk7GzUMsOtshY1tsp0CE6n/YHVvRdI4YrYiuYjrzukylkhV8H+/qJMWkFk2 - UuhgXYfprbH3YDWTI1Xedb0F9av9Y+ZFA6IBygNvploj5HXfiRbJKbtuyfnrExc= - =GB7Z + hQIMA2pVdGTIrZI+ARAAxfn2Hvbfkgs39ApqNUeDKTWofRlO4eq19ezAs9j1nKDa + RzVorTN0AnA/E//D/T3ZjaQgWJ/y0itjCe36HxKeOJZIEeBK465m2UL/btz3F1SH + HyRCHNy1/msJzyBUiPYKnI+xrdPVa60OD685U+ZLRk7keuqcM5JdONs/w8FkPjXd + Oy/gipf3DuNUW62NjEuclyQqE+lNhBvgqc3A93AR0iniUNGKn1yHrQYhZosynCFb + VHO8xQNvCwQnj0/AkV3EU34VHlKTJGkg/ecEtQlQoibYZcddeqp11bHuMz+hmVFR + vhoTqoFyV8L9az6rvMim3KjEL3T6QJMc/Wd6i5ZVfn/zLKjJ8mdDGTXU+bVKnWwo + 4ALNzR2PUf6110RQ37sb3V0Djq5gxO7eYtXQ9nzmkrzoELGMCu7c8LyPtqu7Rk9H + C2aFtuEn3CCYrteW3uSduvMWVFJQkCalu4CM2MyXCdjjMzhNAr04p0FqElSmqaq5 + zb2JELwBnsoERf7H92EggTI/LRmje7s62MMn7wRRm17PM2whzu5l2osbZWTOCm6m + GcmD4Z3I1kvrOuxSSDXaO+ndSUWfZWIJU4YRge7F16szcCankQiAiIbWz75L1V+f + JD6duwpr4scIpxpfjDqunOYqXw+DfjJTQl/BqEzxjaULcIewvDzTL9vaJRZYtGPS + XgG0zcTtNY/n5o3W/QMkG6j52gtn/auZeQO10qPlsO0cStR9srt2AI0VKu+cVmRo + 0o3t/O5qE2636TzQcZnKwXJpx3GrsHvqABLQ1W8DxqIK0BLWMNnDnJrQdDA1xo0= + =VMn5 -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-03-05T19:18:22Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAlItDUjzX/SxLgEtpBrau0vWYOpDvLZ+i/UD5xPT0r3ww - 88HPOIhsNA0blpaElE7L3nbgAV26JxERSaCIMUFS3ulDQp7sLHRszw05hC833DbA - 0l4Bg/9e+UFycyYkc+VQGawiPhZlFkKmJZTwAyYTrRMraIoLfplPqSyHah8xhD8r - ZBON3bI+ZKFdT7JpdDDNmhXJcr4xk2dATq21tVU1XO0Z4H+GwDuU+hba6n0tmSW5 - =TSvL + hF4DKKbvh61jX5USAQdAUeDR2bUNhL3Xf1OPpnXuGtKe8Xu+0X26wsgAPtREuH8w + 1ZNUJnYDTlZ5Fh3O2L0DzXYj3LWURcdlsGzRqERpZ9aBwrafJRClE9cOS7fuQr7A + 0l4BPGKtD1fru5bJeku0aTscoCCR9qeMaz9U5vi7O5wQvGfqsM+spJ7u11BhCaE/ + WFxrWRZsUD/ZX9knjAYmzjsx5Kra4uBXFR6W18jm91Db+ZLtxkxu8Qy4mh6Jw4EA + =36Kb -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/lists.sops.yaml b/inventories/chaosknoten/host_vars/lists.sops.yaml index f1fa2f58a1..76125b92a1 100644 --- a/inventories/chaosknoten/host_vars/lists.sops.yaml +++ b/inventories/chaosknoten/host_vars/lists.sops.yaml @@ -4,212 +4,203 @@ sops: - recipient: age17x20h3m6wgfhereusc224u95ac8aj68fzlkkj5ptvs9c5vlz3usqdu7crq enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAvTVluODg0dWd2a0dyS3dJ - SVhkMWMyaDdFSUYvNmo0dkJEdFVtZUVZV0VFClJBaTNDK0hObS9ZRmFzcGNJa1hr - dS9QZFk1dXJ1cEptY2crTmQ2c0hUR3cKLS0tIHVKbzZ5Z20ydHQzWTVOVmtWbnRL - MHVCSVF5VFlERXdJQ0s2RkZKdDZTekUKJhki1+gtkujeESdzZVUQ2T/4IHX1DEbG - NPOFO5fjOyi++QVwDDvHJxp6fVi9k+c3N1GvrfWKgYO/T/pLYqNMfw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAvZjc3VG1UdXQyMWlDVFZs + MXNEcGI3MGdzMVlFRWdVdE9oZGkzNjh0MTFzClBNM1haZFR2TDFpMmpiMWVKOFpp + N2dod1cvZVpxRjduS0FDWHUwbVZWUUkKLS0tIDdUU3FaWVBxWVpMVW5md0FNNjIr + THpvS29mY1BIbktZYkhCYm1NMFdLcXcKBtXXokEi1nSVA099XXNrx3w4Fr1lnLMf + 2KTuylUef8RUgHPx1wo5Q7xlYNR48GupHVQxb9VvyDTXOZEiAV7Pdw== -----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: "2026-03-05T19:18:30Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQILAxK/JaB2/SdtAQ/3fFOKVwafkhQ3staIZQM8elxZ3LB3amhw4JevBqdUN/Ar - /JDQmTxxaZrAgyZsMQoVCy7E8tbx37OVwxnhUquqHojVNvxC33Bb5OvcnIcMVzpI - lrmMGmNjkc9SAEUN6xU+YCpVqOF0cvMxgtRtlwBML+aai48jcYfRPpJ6HYRdgoM+ - YM86h7T0TIqXGISFZvN9kHp9YNlCbEfZQxUCuKootxTRmDA2BTWW0h32UyRfVyKp - PZuHo/AXMUYGnq//Me3vCX4aRaDS7pB2BFa1lbrULni2Rz49oGNTiISiMqSVq/sR - L3EVOVid+wQUuazDmR8d6wiEsbs+7Zfu/4vEhqpzLJjP/8a78BqFwMAtXVtpQA3W - 6ThwhPPlpaFGx4A7eJzlLXyJ32inJF64NM7XmqmpJHMdcnOQMLQJQyMToDPbMnMo - Pn8o7+xKv0eVBzD9k7LWKz3NKnW1ioAHdwA9Rx0+7rg+Tg0+HizqJeJoHHe7gxk2 - 3ZXAo5GmIOH6esIg9jgsCE8j8i1o6MKBtWJsM+BFIiTLObRz1Fam0QlV1hUQrZ0z - NWlbahwMkTWk6r99BIOQgqzbDM40IAonaRQD5Vu6RIefzSi99+XlnQDO4AQlHE87 - 9FS8g4DTNGVMu4cgvBzbc0b32AFhqQoDaXjqB4z9ZKk5coZLx6rMMQao/2Ha9NJc - ARclCQZ1g7DM4PWb72WXO4kKgIOsMvlbXu5hq/h0JVkaFRzonHlLZ5xg6l/48kJP - GpV4bD9k/BkJNMAWBDoSyX+t+qvkuF+2UbJyXIFXfkP9pV43HKKeMfGJ7yQ= - =looz + hQIMAxK/JaB2/SdtAQ/7BUZXt5/3Nx0/nnd2wVsOefPaFgYOqnZXFZUIcDhe1zNk + xSvJOordi5pjMSEJMhJLua2LBySA9WVEbTDbT+g/a4LTje0rO56ULqvgGXpw7wAi + UnM1y8nHB2M/x4MBPdN1FnNPp0EpVi35t96YqJWWls+XlJLG/6DW4NtAsbNU9dQz + g3f3fosvIDAmadKOg7BqjMt4WEM3GF6n3vJ/PUFEjkZGV8O39TqJn6EbRe5EzIVi + 5NmAXGoJJCrt1HynuGUXEugU8vB4pft+7Rnkm/ts7p/EunRaIEQ7tyIhHZht5zw8 + og6xSu423p/7AujEO6nki/qEfLkOJ9eKQUm3zAfPWRx0hRf36Q/zQMs2PG9mrJbL + u1H/ZAUPfJobCL8MgTcWHt+120E4MGlPCVm6ciRV22IzLkKTaqfSYtVEiO43NAzB + CrNEmuU3OXdUov0aPD2E/s1S33zmErWCSNZ/lQ3TFwIccfm/UzFEEzGh5zVVop+m + fRDkdmde1UFCgjxyUYva32QzMJXk8ji1iNL9U06m2CxsRa4T1GhgQsU82iKlEWqe + sQICdnXdfLfs7txl8DA2TJSzJ8MZrI6JdURbB3gFsEZkBiMRBpx9M1U1SzBZJKJE + khh5dGxdX1gsBG325qyO0DNTNtC803IUSaXEvLE+AOzlc4SBbpN9/DA6ORuZuVHS + XAEPZitLr75+J8CxiPqi12Lxz0wEHBA4KxvDei1TTh4ljI/f/nqNJ6nsCM63wVz9 + BOmnMzgBlG0uN+WvciqlkUHL3lD5qmvBFOuznEa8pzSOEyNFy5/jaxiE2jrq + =YUpD -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-03-05T19:18:30Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf/enfTdGiCHrk1GMKHIdJywFIjJv2W8WZ7Rzw8Py92xtAK - ASmiI0KhO6ThKVQof7AvKGyusuVdl6CUo1QCD5hc8dEdyP5dOvftJJptjMIXoOT5 - baJUssJdDts855ob4I6MQFixiwY35EP1tGyy+6Jarmc7Lo7mTFoGhAZ6FDEgSdCx - 3orJHxiB6ITu3/RTzM8eElt6uWRZeCy229PGqQp/wZLr3wf5fws5tvd+rFRzqCYt - nvdENaFNcW0L/6lTQnZPTkyw6zh9zxscaZN7VM6OeIlsN1GQLSnFM7obLTSV9e2N - 5WB838Zwl3nh00EfURCP70CTbp3Kvt7lI2LCgUxym9JcAbg1NQeItCb+rUcwT3IZ - xv+NWbmaM06HZPaX4de3Mp5/vToE01dlV2e4Lx7H6QWnpn+ivyZvQ+UQBpQVRj4E - /nG1V+RzFT/OUJ+70yL8jPe8eg6IYUn/Hyk8Bc0= - =K3FG + hQEMA1QflAioE8i3AQf+P8f/gxAcpNHazuSEKLy8oLUYovvQcxQoUijojPKf8Z/A + 9Rwro6eHP+yI3cYKsAC7Ioy9p0tjGBVqYij17pkHF4eGkfk9AsGPdF5x6mRsO5yJ + c924FatNBoxI3AONVae3R/21FJXmqIcUZdzEm3nhxF6MQbseZ4JKrRJIGQ8+ZhNF + 46BCsPxML5iycKFnFNdUohKwoc2/c7TGSeEzmBPElAzGMIhvu+aXkATTWk4wYlmc + UB0x2/he7nZ+lvDlIG4TfBrvcFlf3sDVPDgF9zDXhINEJY4E3GGZOPBXtAT5hXdz + 59FQ6qKarRLA3LW4esG+dfOliB6SeIwwGzg3i2BcwNJcAeHzlGk5ELo9kq/T6zOo + YStFHc4iF10Z55y4o8YYsLNiQmdKQJXj1u4rc1gDe3mBPI3YKtlQuORXjFyaeCvp + DkxngWs9CV/lhzctteZ3AiWmKRazitWwC3e9Uas= + =seQ7 -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-03-05T19:18:30Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ//RnJwxiS0e4XGfO7s+rNTFbGhuF5jqTSY5we184/6FdKi - 9uTtS5VxUEAi3bW9veti8Whr8ygnRtLfThcWEUoGLCzlaiiedzwemTpb3Ww5WzzD - CPrF3nCEPTVYVWGkLA+DIPKIfF1wCu3Rh7BqvSzjkK9mehfqknX7k4uTsk1zc9B3 - 5kZPjtjur3VwE0WeFMMfWzqIUkaXd7C/vNi9YX62td/Kp6lNH9GfzFVIEhkM/DWj - 22YsKizQ6IhBkptJTE07KqKoWWpZpiOXcJlNm89YdDGbXe/YjXJAI+fJwlIhuVUw - 8UCgQgx55/ojcYBS/rl4HWjoPqMFSizwZfJMwMUlN6nd7RR4PoIT+oSZ89TqoOF3 - E8ak/ruSuhvC4ADgZQXl+E/yddNiTNU2F/2vBelyMvyJy1yRZWtAts3fhHADuqlZ - 1aYVFtTUgiXhCOPZLqNGH4BxkcO5MbisWay0icDi9gAZmh6hFx6qqn2Hh1ERD9t9 - +2xsluUL3Cz5J8kaIt+kWtEZ1umMfT87Yc47dk8n9b45T8gVm0lSsKQiKpv9zbOU - q3TAmygzRFaDXPtGEM54Zb1Ko34Egm4lo/2NPszZtA5q6KnlwjAJdrMlIekDVTtB - Y3o8lIQIg5SPSmh9WaB20W5XufkH/V0eaylvozGyfoFMqZ4AlUZvtGoLbIzKqGjS - XAEIH2LmPTxQg3NPe18o76XUmAtqjQ2eT4tgUy3omkvdX8cn/tMZs0nP4HYMj90X - fpv/vbEHYhURZ3Z/AEU9YMOP2JHABQB8CGNnNbZtDHb2KyvgzPaKeysJSwVF - =IpdI + hQIMAz5uSgHG2iMJAQ/9Fl3oPjZZIPSMelyuLHWFsxT18M3WCPYZ7BTwjtvLqMOH + hoFs8sXCGJTWOjQoeAQckQnUkCj0Zxe/pr/lrHiSeZsHRL2TxWvoS3dGUFwLVUww + CXaUsZ43DGzNH/90w7Ks9+3BFtsJ7WoOBqzUNKAbqB5cw/bZbuNRtnSxSj/i2ZQU + OFb5RZGy8zFAIAhn0IBpd6+1h0XHrXyupH+x3n2PvI9rMgV/RqVb2SCzUZ2tkdXS + +VJO4CkDbNo0eP4Z96TQjUF8OWjaMcSVDON8SITlMYZD5KnDUCcv/gmIKLlBrKl3 + R3ibToYtovwQcjcKI3FL2clJPGzrhR5CsLUcWiLv0/6TMLqalH4Os+eDs509p5aP + t7vVjFBLS5WlztE737msFgji0V5FcjWmyl9M1IW/0ymrrebRx5X0tJzEWDmtzt2f + dSjuhdj+5K7FSuD+qcVwAGAOtjhRNYtT0DxUfL/OpxqvSoEv91AJoNdgsmjvWtoA + I/FsxMQfKLQPKakbqEB7YLgdT/8BihzOoUxoaZiDofNvwtixLkm+tnQNJNgBIjSx + b8Q06OPJx0JN3rOkflrCeH4rYaQ5RGxLGanbqj3pkXWeRylp147LbQf+Z/UlAzi3 + U6mzHqRLPRZcHYOmt3nhRBILqzmZr9+KduSW5/mIVqE+Xgm7+I9tIXjbGRox3+vS + XAH88DNO/IS8XkHkiP6f+kgmDG28fvDPHidyPodxGIMXPkTlYQOV/W4iOX3uE//X + Savrz41W5TwNdJu6duQdzWUl8BZSBjo7l2H+SqR7u5Cv9870gRrEbJ20P6JC + =BRQv -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-03-05T19:18:30Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1ARAAiryQLt+UyAweVrhVY2Jo+wjsqvDHwfgl5IZylIidXpg5 - 0GOBEAMe5TR5Dk/YVvZhLoygzZN5lBplDdKZQLDcfQURFXJZNiirfHP5nVEE1Pb7 - 419/ucMsPUD7LqnlOcPhWedWgZG+eFyPOXWF0mnK+PqwABqRPZJ/hxKRYdB8x6IT - pXi7/ZaC1kicliSlqpiBXfF8xFNV/iVZul/IbJH+0Dbf3+KwGpSqnjUEVmJ3Xmp2 - Ems719VTld+OGquFcHO1m+DarDGPksrvruCXqUMelXCs75CPIKIEUXI+7pu97Mry - dJV8jMRsgP/0J+FWhlJ/oBUQAiji81SbcXfekXWFyqfq9oNxiRpuaNV5M5Mf7+6k - JTClCo9Ap+LD3PJwWeoJdQ6ZsTeF6jnUmgPw1/qesclk00zPPsAvlAKKPe1IlXdp - W8hn+pBk5JY+FKl5T/zYBHrNYsOTQmZatm6iKWnTDLospjz84b8efu9OZtolznRg - yEtg0vOYbLsuQiY/Vs4JvTZCIX0/khG+DXH78aAUvMooT76pncfgWvNeH7TLgIfQ - gHXFzK4PcCBMlJMalO7qGJi10MZ824dPjsdvIPlg/a9oLinJyvPqbOhwclnPhLs+ - GccezIisV6eENLtBbEyn1tC7nskr8Z9QGCHwdnigi8CzgAyYA/7TVJHFu7Aj0I/S - XAG4pkB8Unh/c8oOcPaIZysaOCBot9FP+lsUzcaHlYhHRfcBQDox5MRyYO0UG0pL - /OIF08YWpliZ/Ki3LXIdvxxC1EwcYg0PhPMnhNBd0XBujkl+XKWgnPYB4rAU - =LSTl + hF4DsZXvxFXTXoQSAQdAEOWQSYtqUJqIqQjkEH5K8j+Y1IYYHro5jSGvumS2Q0Mw + ozWJdtm/anrf1rXjik/AvwnXB/3PZdgHzSAedd8E/ZKVlcV+solHDkglX6O75ePw + 0lwBg7j/Fnk0Lc+6X6VK/0xOMJgcWhftKE4ZDmnyq2mX7+it+tckexc4BSkpFCWt + of+UhDdyEy1LuRz8ZJf1y9IT8GQS798RUFdky+jlS6lqPAZj9LnXRsogJqs6MQ== + =Hxnd -----END PGP MESSAGE----- - fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-03-05T19:18:30Z" + fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAdu1XItfYEK65DM1vVjLVaIvTyE9w5bex0qHnKcSPiB0w - z6D76iw+0nW53MNFFq06jkYjClQkxwQHR/r4KRvQXTHwhbLwM2Vpc6zMK8hdkvNM - 0lwBn1gSBmKSw1FV5IMBxUrsfgNtt/OZKIthuDkV06MZFEzIxWyLo88KFhB9qGDx - iNc/yTsoJOdFtZ5iFGojktXZwiIgQ5hCP8b3dO8tDhgizpy2UgltfFTCA5uR2w== - =v5db + hF4DerEtaFuTeewSAQdAUg+zU+Rmr+qUWCYQJgpzlUIU4RE5djlYv9GxC7qXBnkw + PQBTD0rPZY2tFTpBfLVsbfEtqhpH0WLHezXmRJjnl13swRSlFP2UUbZtYwulTRNl + 0lwBYpelXppNKPHyP+cMSJb1rnT58ujpbpDLWJ4QPpO8VY5SM9DXP8hUv5rbOuBN + 6Tj48TlPkaehVM0TB+fSb594kczloGVwc9HRR8y3l97FVgGsQ2NxbqzWP6qMzA== + =XiFs -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-03-05T19:18:30Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fARAApH+m7nBXtnkHIzA0TL7DqqhWghoCx/bjryGRJ68KOkuA - +xdYv4H3lb6jQMTnZu+RGZuIG2K/y01zX0081RD4JfNEeOV0sdCKcNtnJwNR80/7 - 0jEESCnTIYgK7iYOwzoOWjklBWHmWp73AKyhAiDtBIURGcNMjXE0AAyAt6w5Z7xG - Xvj5/1AVWKgv2/aD3rExKsEwtd/NHidh8KyAv2Fg8CC4zg9Z6bp4yJ+OOqqGfC6R - 4XrEGnVUVIRVLQePW9vptXQNTanQHX581UgNIkBBUg90s9KAJ6p0vyielggFZkky - wcqgeg/OBPmmoI6IUOeBpBzRLdKHLIIyxb5t8/60DLhwh7BKdBq6xTfGjJFvKVwj - ERsE7ixUVu5zWCfxg4FytzJnDmf5eiLAlFLANkloswO4CYs7BVeWGhbdca2jC1KA - /izsjF2lhOQSBleG96OwmpBc0kk+QkPN15xYy/owAzhXBbDnD4RniICx0aJa2spQ - aOe6e0agyn+0r412v//kigB2BOvgP79D7AhVib0q1rYjWar1XFGRyjQAzHTglWWi - v+yx6l3Rfj5a7aVugQTUjqmraywwfcwYnD9fYPiHPrUXp+Dl6MV+vtTZSeKvH2Ia - B/SlvpbSy6+3oqJInfLKo414FkjNpQ7HN+HEmzlNWJONwhGAymQBCLxxuk0cUHnS - XAEAzY1RufK0Dh+yf7lREaU2Ltxd/F9huxkIfDKqXAaqqbpUddwkVCRt7AqIkO8i - ZNV8/8CpljCk0hYGK4q0nxQEJfR+UnMpCWe141hPLhfPM8itI0JdRybDS/Im - =Rhio + hQIMAxjNhCKPP69fAQ//draPihdqS9AlVDHirJo7miadcJW1FhwPAdo/wX6dOIB5 + rO1aD/+cR0c+r2hPilz+791S2QeVY9ARx06b2QSrR4qsCgRQO1/+VvM7/IcVBsNI + JfDyM5BaFVs72nVUWTBrtHFMgwSDgNHL7prV0KzFzrkMpjonlrwV8xpz0rnpjokW + 9C8gmEV2/3w6PA9O8K9lbSVLjwtvCMw65w9nbVbLLbSBAbTQtSLmXv86ihP2KEbj + ZjYGtUxUGWSz+6w8Wesf7k9sOBBy0Y+Aw+Ne7kpc0LMAXOfWnsD2hXwPwq12eTGO + GCz1urLL6h1bbsTEV6lziHhCnEo9bNiwRk+Y/XrN+m2PtUQvMOl8k5ZMBZpYrJAt + stswnTH7v1SDEvyweHO/vqiy4eicm76GcrUmg1cMeMEfbaO6BpXecIqwJzQkqry5 + eMLRcH+/qMbLZwfu00+b8Iy3ZxLcpk7XnStLf6wekZ0NLJet/tnFOr5wYHdaivIA + s9jjWmhxOlEjdmz/GmDHzf57HLMThnziJrrysVKXD+V6BYJnD9xRWqPtdfqAQMjs + PPmYPKhVb5FCB9U54i7l4kVJoS7otMFDMmEFDkauQNBVt7orculof2JdAFn+WwYM + SnfR3u3TEAJxcV0onTLK2OC8zcMLFLnWVy2ZLWeO5Zr6/MpousGUGHC6kI/5jKPS + XAF+4DD+SXMATH8zvIxsEJsagQmZ9/fS9X6XCE/RIfOWHbl3ogmuRXFvcj6xxkqv + Hm6pyMsUY5BPA/04+JilP6LYuWpB/ey7lvIhr4lNbqRXKRA9zHE/HaroEc6m + =yjn/ -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-03-05T19:18:30Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ/8DFHR9u7U+BQ8rMpAX5G86EySmRXKVEdImOm1xPzj3TuV - AS26gbYPqL1DIsQUSXe4Ms2gzg+7XrXxTc4rfwyg3xtgdb/Oi6G6xNOGi83ZB11Q - Y3NWP43tQjSuqlbZhHgZk61H+sRDRJDR+LQ5vekQuE3Nd2L5M4MBuUUNjWo3v51N - 9oTHPil1WO52Ue1YNrJ0LQev9GlUMWsVUXPeXFfpl2SANDAljTi9qHcbQZS3NsD+ - dw+z/0wdEfbxKl9XYGeaqJXfsE+yaq7aT26KVTIiIcdjde5R5seKSei2pDal+JmF - vdnNARXz1kTI5TAe1jnLVNOOaEhXzsSG2zsuK18al3CtzrCipDsltS2WlQvvWxP6 - NuW14EdOKHfS1QmcguD4/kHKKfFrDtZbVOyrQ1nDeawckpo5aKsVEbtAikn3KA8V - os6IEstXK3Dmo9Vau3jlwbVUHsyIRQ2mn3MrC5rYHZvffsZNy0FdQVNXGZcCJWKY - okIMDR7hKRgxpz7+vLr5fwIxEhvZFEvI+7paVwzPhi26O9Ts236oGxmK4AN8VDFY - 0IyfTcVAhUNE+2KbFcIkbzTn6V0MzCDeHrSP/MdZHzFDjV3DJRKp4wqolO1VevCL - zqgOMy9RMM4bblQ0hk9Y7trzLr/HkOL1izh0lSL95UBou+ZZrxWU/ysbCs2dFMHS - XAEFZeMyAIQ/6GXXaQiNRgyIvzCGkTRDuBM64Z/kzOh8NRmxEAnMkYKdW60sO5LF - oNAT1uX2C0iFI8L3gRf6G5KwIizV9Dr2nmNL44oRcyyUYN0JYJgd+17EFpEN - =GCy7 + hQIMA1Hthzn+T1OoAQ//b16q+yzpsAxnu9piHRqTfJUo8UmvduQuqJcLOMYBq1aH + vdD/1OcsLr1u4SKSqXopfgBwlIs1txRiA7JbLTsaFLPgTb6J3blbbYQ5isdYxrM8 + ZC2Eo8KW59PgShN6pj6GF513/gKMBtsdbY2bRAI2dmYoojEq9xxWycOu75IrjzFJ + zMJ5s7ZUai8ohyuS/QhYY8t6zFgqJTUbSZ+MHjW6eQMGlDecrSbSeK3hO+n/sdO7 + 2FLDhwfmNgSll1mdAkH7VyiySZQGFO6yv6967SVUyZWQj7v2FfghAl7MwcBPFiWg + y8QmPnS5MhfmVPb/CsvXOCnspcR6aF54C/W2B9PL06RS98srqgr5oqhSNthnmoic + P3461tWvOTKbuIkMAMQPKvxbF/xWFs3l788IHv76T8ADwwFdv01Pmr7Lh+LrbCe/ + oBMbu+3mI3fDC6VrQy0iMvtK9kx93G7Y98ibjxMKbUGmzHyC27eCrzjQKRMWTiV9 + XFZBBa5g6eoSGyQX9cED20Kmk34BtekFi+Qdnegs/1CQoAOvvyt+pLrY3eRtkvRJ + Gtz7jdXjyI7z0JzJjbH5NCyZKYzr319FP+JGXNh0jvSLVO44TQViUFzx6FxVpzo3 + 4bR19tDO6WX9O75s4qFvXqutsqfEzK01btciyZDkY/orKxrQGx7gqpF8uVxdetTS + XAH+AF9CTfA+cXGBfufMS1ene+YudsPWfPSrg2bdGJ2unxb2lv3E1Z3ScGM6CYSm + zcff1e1H/i5xmiCRXivB3nV8KDVqlbw0PmXeJupI96vnx+Xg5d1DZRcXeOy9 + =RiDK -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-03-05T19:18:30Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ/+KEqcE+Q9nQz/VLw6gp/NlOT/85ibi2XEtj74EdxkT5pc - uRTm/AwIXP3+SfDN88nqImgo53XKH60moPCmp8HTjcV5sgNF3hl2mAiasBBi9I6j - WeOGOPFpKw7uPL8CpLXR6q314aDS1cgxR8qlpMo52wsmIU7VIIEtCNrS5uwHycpi - suiJqYgfzQdkbjnzkvmsQnP7GQZHl6u1AHlT6vCrrGifhytOMBWYgUB3PDmrZJce - AdvoXwzoYXwSuOaSGBRRF5BjO0ascS1U/1WTihVpewSximqU2/5VzSE2a4lquiTl - pzN9bx+QHT9e0dTaw53rIpXsYJD6vI2q8RRpBabnBdmjG/E1KjTXc7X3nnoutUaK - moVHI0zyalbZXeEEFl7IT616OKfxKIB/fiBKJbc9uaNSlGOyGxU0GBAS6hr82SlN - s2GNO670+EpFFLz86LYoDlyiKiComfFN8M1B1ukfMfMNvgL6JBbz9KKUwFTwPwgb - GRVVf0G7R0/W2CtO+tEB0EGeK2zXtPgjCPdNoumO/3FKYi+tyis0pJV3nimsq6gW - AlLlBMyfKUZ/UGGlun8LcCwzt0EQDLTTqfZ9PbXEKuEXIwKi9mzVa1rIVQ47XF4k - JRQ/eCZtLXkSyqY5TjlhB5cVxmbZllyzdwjlSoviDiW8WgsWESL9W5SQCkHecP/S - XAHn4WfslN+4/l2zw9X5fM9Jk5KPZjrzWij2JUTopiYyrPNSYdd/rkx8KUlRnFzs - j2NzCPNmBpniEltlhTkKiNttkcKo2m6vC6ozCZQYJeuPJn0OxhVLPWSdynL2 - =ltO+ + hQIMA46L6MuPqfJqAQ/9FXoU3+NpOuTug2YnpVTIPZOyYlJM5FNLgZerLx94llc6 + 6QXGrbdRMTIMoULODdw1fjOLCUiGwKRFqOZIn7VZTLOu22BJzuYyekyJde/EwUgA + W5TDQIqne1HCmHp1oiflYzTlk+xNVX4/Bz83SgQSkgT1+/RSOsNA0qOCL1CTHvfA + vUYgaeiGVFsVr3A2jumMRT5sp6p807fOElwuLeVKOvI5Px0ACTpedgyYXeP2mS2w + Laoh6V3ZJ0ege/GEa9HIWjQ5LkxL8sXrF4BLB4TsiI2vNtSY3NRsnHG7aolIW4fp + 45qIEyHI1Zri00aT2n0WF8qz6uiEupATMp5y0JeWE1SovUSIUOsKDZluNOu6sMkm + iypMxwLGDCPkcPmsyvKkiSCoT6UCe4Ern85nFeik8zJiqxSAkNTiJSlmuzs8Be0i + FvCZr+do380Usgrs5qHEE1vNlbWSyft0smERy2Io5Q2Q8nzunqk+S7BARuKFEjvP + n/6Y9nvc0lyorLt2ARu0V6rbMUCzZ5TbQz4IOCOptvTjfvjq5mGNIIbsFKGy0/cV + Ta9hairfHV/vTTEoNx2xNnfDM3U++knBv9XWX/j6914nfEsrMRXcWXxY0RXNUsW7 + HkDy2zSI/XtJdK3bC03Pbv0rfmvyZ30+ALTC/1Tos37sxrhji4Dnu/9KBrhs5qXS + XAF7BY0+DTzU0m17l/XPIO8CYKGleS1lqyTzryL4ZQjTH+dZqzud+ytMQoqJN11H + aUudrQD0kagVxyhRuPMIEsSR8Hf6To2Dbx1egK1npT+xWN/wzeFlAtHOcErM + =f+Yb -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-03-05T19:18:30Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdA41zUlPSrEorz6Nq8hkV/niNTk1oNrf0SdGtJUrcqRCYw - l72K4GoknDXUT1JG9qebI4Pw8n39gTVUPnJKDLDO3bLZZ0S7erLRS51B8dy/MOvO - 0lwBGZBl2wCp18oJeUxhZOEFX4ps21aynY+0JFLPldmlnY0Qh6lgAmejSL4Zl0H/ - mM/5sAv2mLJi+tk9GkEkb2NynbilVwVoJQwtFvs/eGjFQfQl+nLQAvcNATD5rg== - =VYDV + hF4DQrf1tCqiJxoSAQdAliC5AsFMFOVdy226/uLfb834LmqzZESEnRlwAeDoUk8w + nsoT1qezhzJTU6EfIg0anbK3wWkrCa+4CTyLgpFLoTz8N9fqxmOXMzc5dGFg3qMY + 0lwBMr2F1cpsZU8YLY7v0Whh/0lG+31gshiNtgIzKsisIz9PaCQuUBI2yTHmWcat + CA7fvZADd8nl1kfM8E62rKzC7PfYvVzPrBwtaS6ybCl0DPqmfLGF4xU9k/J1IQ== + =WH4j -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-03-05T19:18:30Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAb7Yi5/Z+3A5sWQYLg2lYWznUPQAI13G+R+0l9dijtiww - wmoapl5XrL/Jtz5wYQzul9Ojuy0dorQJRxEVoyEtzA/TTgwPSbLINeKV/5SSUqVA - 0lYB6XCa/YqaFykCQX6WpxN3o1Zxq+d9PhZDiDoFUemZn4NpaXzJ3Qqy1w/xn/fU - FmT15KclttOc1pYwCab4YZdjoacm1o+8U+OLEXVEGo3h+LiLYXQ8hQ== - =9stB + hF4DzAGzViGx4qcSAQdAS707KkEdl9nbyDdbLwWT9UFPGyHz7/rDXtTh47KEGRgw + MRAJpmTYPe808o5pJmEHZ8Qaw/S0UeNnPzR9MUhGq9RbjpfaZHnLLxZOdhYfdrkc + 0lYB1ZXRgwQ9QNxJC98HlPV69BbUqxxEMxBCGdGie0UCVJ4W7iVQ02rPwUUe23wP + eoaNpWwHC/9jYzxdEIW2Q65m5RiN0ISF+SyE6VflTGPoCMuX1EK1tA== + =YK84 -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-03-05T19:18:30Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAAwRRfB0ji38BcxAdBVlI9a2ELkWrYIKtz0D0IYD7bjkyD - o+6u9/FLxt0IJ2MPtCg3VAS7o1HPf4HhAs2H/La1ZDh/dYLJk/IWElCzOXRLKHdv - 87/93ZzOc8RcjqRK84ynsLYiPNH/fVsEJfT9xhDha6O2iyKG5s1+oWkO1TF6UY/B - 0Qt0SCvnC5kYn/RP3O/MMIFyjp45h1kK1p/nuhaILPomGl+fJwvBNwtOyulJup1E - DHTL0LJk71bGw2ipcUTUk3hepUbUOerjqtGw+ZsHWA6Q+uOfFH1W8EjmWUjwKfeJ - C0Ec98uyBA27nylode5rYwDpBO5utzE+sZmyV9i9DiOHFbLJCOf49WeNSj9If4ks - iS64EtFlMhsWk2sXNUoCVNXK1ealQmV186ZptOGb0i0RrIc+9dsymQX7nqwhRfDn - Cwm0Fut7PIKXDuLw8H41auLweXhRofrgqpFG5vYMTWwOIB4/rGUmiRxf/8tfdwVS - njZw8zE7IB+MW4JZJa0hf7NPJUdm5QnBpraKZVibau/l+awxRC5Edb5nGCRbrR6q - xyrXR/cygQoLpk8vjYIITblD4+upvA36R3yMJWi6rMDS93PM+gzQ2UFzdHxf+kRJ - 5b4pWyysRokalfTtA/fJwFdislAVGZWTsuyD5dnGe+Z6nVlmvOpa7ggjb4hD0PfS - XAFRNNTT0uLlzRICtLLbW+D4h5b1W8Sb3g6ascOBOnHY7yQ/FdmujoTivNbcA7YY - mi/MTOSGIMamxteFHCOFk3bkW/sDhYiM76lFi7OMKw/qeuO+D9NuhjGleHCE - =PSI9 + hQIMA2pVdGTIrZI+AQ/+N1b8ClYePdpZNpZkaO4zRuwPatsW8S8kD2beMGAb3qvr + CwdDZ9n6Gj6bUMA4h4A+vSdG6sxUowr+2TUXSyvHdIr4qAB19xzC/vuhtqJkYfhF + T0jm4e1eeWMvFlSzxfEvsFNdK/ySnS+fEl0O4sIZXWUvQFUBlMvv4WUPtZQuAKng + IQETWl4/FaQJycgL1M1TlwT7bKy5pGEHZshxrIsTXwURHgMxfGFAX9S/GZAMLOC6 + msJGWRQBRDCjEnLBr4yr1k35rJVmJBGucQNkzpXQgdyO/4UqZQmPbjN8B8twxyy0 + 3/21mPCCt+md1sPLEwdWCmbvInQAJCbVzDlwF1zCBQZd+AYFIEDko2d82uIPI71U + gvCjNfvBV4JEOf7BgXk+OYS/oapcCVIOdDUFT21G21241VO3+rMuSgXfyb2AuEds + xZWePzTA3URN+t02+1TB8IXvKKE0OA8KFuKlTdPiTpbZ8BZ42zWzZdDEBCxicTfd + GDw0FQadnvMouKyoHja/NoUW/lJfA16YmmjSen/T2ySP36SS8/Gy3DqZGalByNzz + GU5FZ+aAhq1h+lCuOaCopxM8vJ1DUYZNFdNQJWkB8IJqX6xsDEcE1Bioxtv8j7Iz + VE8PFibOa/6XSyfVz86XqQ7Y0pt73kLkrGfnc0awNVTPrL8VohJ1jWqqxGM2c5bS + XAGX4vX7OkprMNBt8Ilp/DsNERVp4sS6uQP7NCSoknTGp5VwL0bI+8sr/qgaXZ6F + FeRT4dx26lbyzLxy2ht9H09k7S2OMWo5sZp8hGYRda+ns6S2SnKuekrEH6IT + =OFYQ -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-03-05T19:18:30Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdA3xjPTTUlqGYrPJulg5/i4Qc79OfEOSQoamBZ+jlVDE0w - Uqu0tlVMf7Ijebx9l7AtIs9n/K1uHDibV77IWIAKf/b1N26zxESgV/PWN/czfBDo - 0lwBv1wNDmSx7owGZuZKSiaNFILZ3D8SDOZeoWuH3ywjYMbl6R2sMx+fXC77Fl3y - xcEtfD18zO/pCFIWd+LQJpIjvjkzf34j7RDR9xHgWZKRslUsZB0IWj7rReG6rg== - =wTno + hF4DKKbvh61jX5USAQdA9u4uTNz6tCiAiUDA0BkFBGCLkP7JPYNOIdNfHVEwVDMw + ytDShvKX+ywh0pPI2qJRAtniCfP3yKy5fh428VQ8GBgnD7yKI3kHjuB2inb0iGR5 + 0lwB4Su6jkBNNzDZoMZsqcUb2wAQhc71bUZ2S5wqCCdCuoTWPXO8CdbOivqrhP4G + DOeErMT2nv8MvDdB8YOQ1W1KW+vtXMsLy4sE+ngA/slfDQDDITr0lNvOfyKMGg== + =RtJJ -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/mjolnir.sops.yaml b/inventories/chaosknoten/host_vars/mjolnir.sops.yaml index d24a88046c..dac1fa815f 100644 --- a/inventories/chaosknoten/host_vars/mjolnir.sops.yaml +++ b/inventories/chaosknoten/host_vars/mjolnir.sops.yaml @@ -5,212 +5,203 @@ sops: - recipient: age1hv7m3xypesdfm0dfzwgctde8v307g9xaunnfu2687y0lagcs5q7s3eg0kj enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrZUtyaTBVYmNqQlRteTRY - Z0tTWG1uMFdhR05TUVk3VGdma1pkYlpTa0RzCjdvWnFWQyszRGlQT1NlWjJaa0lV - Q2VYWGluOTJwRHJpSTQvdnh5VVV2N3cKLS0tIHJYb0lRZFhnYmp0K1VzS1dLUnI0 - bTF1YVBGdkhTTDVjb2Z3K2xvNEQ1b0UKy9jTjkvERRtDzGP88WN6XoXsI+R4l5xn - hL7JPwO5kUI0GFkWkTzHlnXhINrDLKYJ+v2BZ9/U7PuyCw1+Mc+dQw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXeC92elFwRWdkbmxZNVVZ + UUpESnVSRzJnTEV5WkdibmcrOVlNQ2pENnhjClR6b3UzYzBnRm5Hb0J1b0NkRzJR + d0FoWjZSM1F2L3lkYWNrdmwzYjhialUKLS0tIE5xZGVSRWNPS01neVozSWNqeThE + VDRSZHNJR2JnWGxKSE5vQW4wZVNVbTgKwx82YNvE1xB/+GhXnodo4u0OlM9KGkXz + cT6d9zuWPodEt98nwexUA2RAEFKgM9FDTz4kwYJAPp9qEz9jL3tAig== -----END AGE ENCRYPTED FILE----- lastmodified: "2026-02-11T01:05:26Z" mac: ENC[AES256_GCM,data:7DdCLStFif0EhqsgthwZD50v+FPa1drUmBKUhmWw9FKtCBKmNM5LbCI5TvKGJqq8gtKiMUKpOf/pA/8qGNavfl8MdRrhm9inlkHgkwgLQwAx7/ds8uHexVBjG2gV+hMPtoNCnGRkQRHwrepz/7L6Y5L5UUhWHEUEhMuxrejzNBY=,iv:SpziMsqQ34/hAH1HkbGjqG4ZyZybcWE9Xp5xWkPADGA=,tag:eYWlsKj+OPMcpU1u1Caavg==,type:str] pgp: - - created_at: "2026-03-05T19:18:24Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//eUbXE2d0nZSmiAAwghCRhPb4DQAuyXaFuL5Xop1A5J4c - qaWokOZ0ZxVximAumASUDFoAZgaV8I++B4Yz/EgAhGGR54CkVzW/Piy05/H8aXdp - 3yJSsfSxU202oKvx1EC0Jd3jSN3MZ4kVqgfyhvYc13Dpy1YfPnBgy40iLq4qUWT/ - G9OrVIYm1IYq2buKPpAyySWJwWnXIM1bZZ8RAzSHP1ryUu8NuJ+FPuhjuM+iodvc - DP3wZv6JixOf9vjP6xBpJ0u89EBsm8oHVJt0Gm/JIPUJsZk0Wc08pC76COkaRx7O - bcZJ2iQPZqUmoTqoCMb4uUsk1zE+nya7/SgIX8HKUjgu6XGc/yNT3azv2E9i1yCW - d0nlR7ypVItfGcn9dC9y3Pqr0d2Utajj3RLz1iRKqDa2XKrptNuPK4O3R1TFitRs - 77bpbcZ6h2F7lUb8LR13wSQMuJy/wvW0QW/7xQbKUNmQF7HkvGZqoVGllaULQkso - I41qcTyp5fdtEPcQyRZ9+WqBnuS3euXplcY/VRO4J1jp3j4wvoCtR4ZC84PfhVlI - E50ag8xjJvzsykqTTO6dLCbgGrr1frfikNNxZ8MaYkFWceVbuO8Kiuz69llV/qoA - NOqQ1CI18XkbtH1yTwnbJIQWY048Fe86DXDKHVWPHPPp6aqtXuYCpGEIRfk9XT3S - XAEAWr+IWa1j4XOPQo1pa//h80PSN5LqJid16ELnlfYexQ0UXWF67hPKhJu1DSsA - u5cSYrThMAo/HmASg/hIQHisY6M9stXC1ill5ec10+Yx0xOnEUc7mPE2rfnq - =IxU6 + hQIMAxK/JaB2/SdtAQ/7BvSdCABX6KWiLSKSbfQO2epTRLW3db4LGY8eOuO9Lyph + gAJjPQVDvuccUDoqZGQYEVQJ8HMCj48FwshK4CdDGuK58SFflWuh0J6e63mob8Ag + Eq7JTT7ghY1wtSeUfwsaIUMS/1kEJn1qmSrgxz+tXCJRUwk/VsPibbAwJCI0FruQ + GsZLrZfOJNzPehb0emoQZ3IbkzTTM+rIDHwi5D4U4JldkhmyKJpERL2wu8g2eFco + vIj+fgWejG6eS2PlXX5yB9yIFo5YmClYzF/SXW6QnAvCJ30lbB2Vcu7ObYrdL4C5 + P8cuE+OvO6YJzJxXTPf8WZGTJN4riaVUbfErBnm+JSnUWbYQ0WM6ZjyviKEHYvkr + pwkneLGChUj/84L2jJ1JZLZ3Cum3+qdvUVpyIfw/XP1jnsPXXrROV7+GVvfRA40I + UrYfK2T1Vxs5KNBoGyRGBzGps5NgMiiz0sMIoLmQhRSFlo1pJL5cHsK1DolsEbqF + lObmWYRDjTIH4JdSKz584EicqDmnzz3BzT+8OYYtYbx4Hl1Idt0fQjJ541U9g4LK + wOChw5KXJkp+8bcdEQelh1YpF8kZ35fYMhu80jfE2oykfQKbjyHy3ZwAhVhUzssD + POHU/teS/sehcn78xUmuK7aSHyUXzH6mTjZsLb0ocCyx/ifcrCMnlIDPB7hOLd/S + XAFBYfBE8yqiVsvKts7JNLBZn/3bYKadHVMuhmUDyc+U3fbRECroknGb/YIeEA3W + iyQ9nZzGHh2GGDN5J+NQt4yDO+iOtR9PxxErDm1JKRqw5i+4XLiKEDvOXxGc + =Rv5u -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-03-05T19:18:24Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf/dNr3jH56xMi0JZLLV00sZ9Ftwq3mj3vkMRVxsmhjjaRX - ocCK++iPzNC2kcs8xabzAq6hRWpj+jZ4vWTBchEDSfGI8dZYNa8/q6XaYp5Y3RMV - NrWriTkLDg2hot8Bly9epZLpzTvNnnV4nYwsYU3BdCISGnNTd9z0ZMcMn4qv6FeC - W8P5Ind6OxIGd+Q+/Qi6MOJM6r10TyfLmzIHeyHNPYUgriWprGg6sTjrw5GRjelo - qQpOUDxAAwN4xmKmXXcH4zNCnVV2u8qt6o0hwoW9ekHp5kx9AurjVES8vBKkZsah - MxCYJUxdVITdEet9yUKlud49jzI5ijYzmeFx8icBAdJcAeObOL2jutz74k8t6oqf - bCl18hOaO6a7Htsz5ygBcas5ajG9BOl3HoX/grAtRELzu+xd/FWXJ+T8ePTquuMl - LysIsh8nAYFitMv4lQ1inzOo++dADEq8I1w1h4g= - =aFPy + hQEMA1QflAioE8i3AQgArfn/RKy8tI7X6iU+aFsF5ftCmmeS+rYiABDOGmwETYxw + bR+/DHSqGo7i5PV69P0W7SCzjZs/MMfFh9tAh4l3PbuP3J0HOpIRrgzVdRmiUNYC + BkT6KK3u1m4MeOzQlRUXPJWZFYd4Md0qOtlhyUdhKn6Hpnlo339aSxKZsmE2HbGV + /esJLULJAHvC+05fx5hhdRIPsS2VIMWguSGaWqj5Je9CIDRS5DkdZvwj17d5L/gz + MuKMcDkY+atR5kf0wbQ3wWlRHuSs6bc5WP9KxLgzCdoD4u0bSUZoNdQUwZZzUihp + UDC72lsYZcxFyeR4g5myR/tdcjj/R1KFsIKR7x6LSNJcAbzx1ZNaDLsJYr4kj9i1 + 7qurutn/UfWxRZgt6Hn7NUNJsxppPJCspPTthzSapET9PzzR8FyVBatk/0zHmGUx + ++5LzFWfq4XQdpuzfOw+s4Qpl8iMbXbW730J9xI= + =xg+W -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-03-05T19:18:24Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ/+L8T/Y4VaOPIbD30e9u9ePGCu3Qy/ASVSLVmJg5MwY27y - ptv1PUGTwitu0psx0E+Y+Z5XUCOcio7aveGfLnaZeHjd64h2YpAbCWT8PRN0vhU7 - wGvBvs/qVzpSRj5LLTxqPXtfcuxDmG14YIyq6me8w8gxARBi/0uxZshenFAkoURJ - 6+yS424rSchP2RtB6Unrpvbk21olHj4WLa/AL9zgsWQaRm5lalK28xm8hPYyGLk2 - BCydFlBccCAtwRrE7WEIBjJ8mXi0w9cMf/qC986Zy/c8xvd6nPxV4rme0tRzb1fk - A+4F9vTE9k9kdf2s8xOiZBXxzCz+GzKXD/lABH0XpAN10Qyaismf6hM+QhjQu4gB - hh5BZ3MIk9+VyIHs1GlGj9FclnY6JooUNEur1MeX4C9NpZR9rqdFfNb4bQd8Fi6N - CkPAeGap+e3wtczYrbiBmMAy/Lqg5fqItuX953Dk/BHG/vh4SvHbHrbfWsmc3v9Q - UogNcnlcfcc7ajpDr7FWfBEhIbvDeVrEYHCc+z6JhSzcmjDXWwbZ0DQr0No+ec2H - 32SP02kRKNHvkC4au0yBKwsIUkhzr4TdPtArRTlVwyVMaqqA3OywYq/I/4dMMWUU - 07vdpVbQYguMwM/8EoCfwCmenoUp9H+Quhdc5TeYuArkgNBmIwJqsn7ZOoXfnpDS - XAEO3XGwcgkhzJyhrIuaPhFjnovUOCpY6lE1oNqc+BFutOmXLI4/ct5oYwFwIOGC - /unNRBTOhUhf606ACYz/j4EKwbCdu3nrQZCXCTOe+TFQj7fRk3pwKOWZngML - =a77b + hQIMAz5uSgHG2iMJAQ/6AxOJ4ay/3i47WZPVsh7nH0ol6EGPQglIj3ZOPi4YvQ81 + UUIntRg32bajf9e/vPBsHnsgmBh4oJEerhUrRn+miyhIINNd98XXILmEHYUR0F7s + BgZtWpHlEIoG85qLlAg4Azcmbc4XTsA5yec2JyqNi3BDhLpEK5hahATEtjWh7XaV + 0vi/kFEAFKF7tYIFM74EyHrD4V8G7L5auSa3Z+KaZlw2D9U3cusE5lMSZ14cYrgj + pczujqSKlUBPGBjrqBuU+6aSCPqwA2BFdtbT4+pJ7IcZNdzdHiakyTPtp87UgQM6 + uC3TmTjuv2O7knosph1Sc9+NLdm7c8rcq9hrpzibz8or0SPEuU5BHsFuF0LTDgMy + jWwSPdb1qHmcyy3ZWhHRdXEhQiXFXYKYHuas7HPZbey5rI1deNVEHtzlmM+zCY1h + Nj4fxJPWC/e+j9ziSGOCFaX17BSY2JzEVmRVWaDYuaTKE5ezC91/pAz2qbnBau09 + g8K7dyDfli09zMO7hOeIfDk5xdPrlNhRXxvmQ5/Fqc0ErC9n91VpwP1XqH1D7bT0 + fpXhM5xDXKQ22Ewwr+sDertq/0YzLT6niMpXdgpd4ThK5Y6ET76gMAZ85R9cCgw5 + DBW5xeVG9kx30cBrzMtNu5vXB+EijhKeK4ej00u5colD53owNcmRk/MmKdp7+GPS + XAFr1czStov05Fzoyoni4i3hmOYrMSGsDg8crVql66Q4vpXWrsRKNVJJln6n7jt4 + LchOjmeuUPZB7Hf/RFBjtu395EltSzeg63u8dLVs5WaInbM8AQQnXlll+F3m + =mW+m -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-03-05T19:18:24Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1ARAAg9C4drspG6P3f9n0xTqp5K17eHQCTB/s/lONroG+/PRX - 2iwhH0YWdhTgw5rQwupyyYMx9Qkell/V2ExyjQDESzGZ7xr3umawESo9Ozv11qGU - HD+FKTq/1+oI01DgCnd7HTnZFMky9jQD0Rl2I0xTdevjDmU6p3G3F6E00kvFlh26 - cqrI9c6YikY9zubikrea3JiRvHHw8F5Lv5hO1hAfqU/yMZxxvv3KQ+RJSR6R4Azz - yV/Vr3f48Oks6SjNv9fWnb/fc3CZ3R5QMjGnEtgDiKJ7sx+gUnBQczFkDmSSk0Yd - jQCMfaXEzOn9VFi3MqcpiaMbCDKAhSfTrVIii0ydkPDKf3AbKQpATuQC0Wv63UtB - ALtIIVSRGJfW1uhh367/K7TnOMhi/PoHFK53wO7/rs75mat+AHY1hx1JOQR+A3vG - /lNIYGaxSz2uYNKqgdA551Ps7hoYHayzNSF+hMfrKUFk3grhB6rOMfX5w+eWm9oa - 25expOfoaOw7hsxxxFso3jnz68XTKIh0LRSth7fuaXCmVBD79pe4b/PE2VwRcQ09 - 8iVkjt4SmPxNS30hygwML+WZuLNffq0u0UasJbFAXUuIHfr/+WaCB20PyoGevpFJ - 8xu5SSAbTUF09lTldkxrknBIfmtS6dtGzrKUGi2vJ9q4fuIdCtjux/i+5TSGZGLS - XAENBmPQoYIxF+YcsLOaqhl+X0Taqq/9GIX0VWpHnzEPY5BYTPqDQS3lGHS1OO4Z - 4KSdl8ZDu7rdZ1ScKjPhbM66E3kuw+T2pt36fpHhtjw3UHekXQ/i2PV4Yqwh - =YRNs + hF4DsZXvxFXTXoQSAQdA0TQD3hOo5h6zs1ikDesKZ7SBjSggxzOHKMoW9uaHmlAw + vTi0MNmy3lf4gdHAakcpHoRIcFzD0FdSFm7ka/6QEzfnK/4VsEVCpJ68BFpnrC0F + 0lwBmpwG4B1ANuioWH0IIyGqp0a9YOHtGiymoz3anlv/uQGi1DaeO/f88j6HM8Uz + hv6JTc5DXFFFy8qTtFC9EnC4Iak4zBeVPRHCSrMh+aKkhsxZdERhJpeGIrgYlA== + =UcHZ -----END PGP MESSAGE----- - fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-03-05T19:18:24Z" + fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAZOSDC0waDvLXCjhIXIpf2UFQ5+M0bJnEn/TVAHRiQUsw - kSuYQ8MljpdW9klLqx0yTcVwqmqJhv70IRjWTriazvaWdKLHr/NsI2gd3jOaxJLv - 0lwBR+dmS/aiwaUXqYJpmauOxcc7CiNEAM4I2So+MJuOsxEtvxRXpUbALIh+603p - UXwt8Par4X/lEgZVJ02AdANRv5xPMyq/YvAX01+MfGx8zZoMk/z3AdsmtQ0h3A== - =II4/ + hF4DerEtaFuTeewSAQdA3hcxMZoZ3eycoq6I4bl6s3Qe6gI9inOITxxUU7TApn4w + OrkEIx+Oh36OUoUorDa9GM1fMTwPd+ezJ9A2xcwriwitpM1ZDv9AGqmcLoJ0ly5A + 0lwBvxgcveVv/2v96LiD6CA6GcPhRqmRkVS9G6JtRprkSGbiHaH2rNs/aa3zrDiP + O6LjsWg1/rgXTcHXnmJiESwv+v+QzwWo2TeUuwm/ushkuS41BDu12nMeob9JQw== + =QHxg -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-03-05T19:18:24Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//dYtxt9FIvhcvL+Xy9A/JamlKwQAm476JPDRmjHQqqeDW - dtQiWCu8ff4mgNW2Y1ANJBuKqrdXFoO8hBZY2H/FCxQRJVQErlAtVol7rqMaByc0 - GWsjUlGoUfQAJV9YEiO1l3koCUhVjaKRXbWSuf0b9So7/dmXfS3g34rTwaRv0yaY - 10WeFkwawdTY0hY1eS+AzRzNqrcWXWHVHE0Kha/iriqbtxLJXpq7OxRTmLXI9ye6 - HyuHKbgvsiMkJgzxLxw43Rtpa3edRGDJDu5LOT2p/PFlusXhYfkcBp+NvZQvn8IW - 81kdgjAjERAioTT4CRk+GZ3KHNSUn7b00sGxTpuri/GpejOk7EJxygao5pj0Eroc - ZCGmp/1IHtYvVdr0Nn9kQ+Ji54GQQb1TbVEOR/49pv8HGj7Vl7xdY7bdJBrGn7k0 - x9vNWtF3VDo8+AJRZZGmlnLpZMwc0RzAes8jw6b9QVuLpVTKXl0TBeXO1FGCycer - KdqV3grCmaqGxAqRhnzzYZEBeWnU0usURqGOw6PHrDhHI7IM1Ap6a2ZLGmoVb4gF - lRURR8P4HfQL3pevFU5NxZ/KOAfiupwmUYrvq6Fl6JKfUS9cRZjZvzzikIEDf+c8 - nyd5jaTXNShFadwLIA9/iW8c6LNuZ7HnWV4FQ/knnSWLHYOc7d8PLwLnW9mdO67S - XAHDc9axe290R4r63vuLlSwo2ikSj2Uc/hcOhj8rkPfK13PlACmzUdMZyQnRK3AK - reIMY3alrhVpHat8K1fHXmXQQSiSMXGaCIM91KjoCfRR/VvQmIHjjsyDpv0p - =joaB + hQIMAxjNhCKPP69fAQ/+Nc0lgBVBWXE9MnhoVGHWrGMXI+7C0FiYk/vXQasRHpnr + jpKrTFG/WPCNqWKKYUBcXOFMnFGkR47OfWG+h2+uzZ+9FgiMrQEkGoMNFu00/WKq + zJjd1Hi1c8yy1lGVW7fdUu8RZNCNg3ulvsKCFzbyuRC4b+HHgE51bJdTHBLoM7/s + 0bYm8kWPwfKRwaWP5dxqeOKCRN+34KFPPfTyO9KOUHj2sVrd/AfOAMMOZp7s1Kvx + YKjoqKmMqVPMl0U8NoqApdjNfsAhQ3Pirhe8qQefSzoM7yguuLbk6l1j3VX0MHG7 + 3bALj2Z9JYaAQzhs9+h6/x/hmQjJpyxFbshKFgQaXbf4cqtwVnY5eCk3V+uwXiJM + Je3hVSLxYIN4kbApD9yFhfLCwof1lxNXFp03/74M08f4hQtMknk6PWpfqrhwmNya + xoPmK7hMmG+kpi4i1IH0X7RSxAjEPkiMJQ5nyFegroGpsa4PWRlJ2TKiVq2NhvPO + mtn75Zcon4J+NWg3iqVBK0AomhrA/pFG3AAN+9/likHtd9hQXiXVe7ulYsrNR5fu + VfizIHIdRraw9bBtZKdUq3WM0YFKlOw+bi+VU+Jazf4KcxaFHWcSbkxhzc8EybF+ + 8y5ssZORjQHvQY5QJTB2Uet2wMSyewui5m61QSkUctX74FFn4siGh30RQfl5XbnS + XAFnw5f+mXj+puy/udLOGFyiWX7A99iJHsFuQWZCppDxVCn/NuOUfN8Oyplz+qmT + X85G57Ky5I0xvI/1UnYpmv6eW0w2iGtON9UCmj2wv8UZXojVciljkODWRPy+ + =ftqI -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-03-05T19:18:24Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//WbhAIQJPNo5e83loobz4MEhhECgW6OIdSlWHWomXdrf3 - XJGJZQkA8vVj5uobQ9MknjJ0tEEwPhBIlayzSi2viJE0hksgaQ/Bm1gA6BqWjq14 - +wW2cc8tJs0atHC/wi3EObLVg9ddsHP5h8/oNzwg50pex/cQJqqa+fiX5/BrbhEG - 05YFJ5aSYmf8E/k1ODkUivuOO8S9Zmwx2KXEcgug90DEaqUPxBdGW/0YMJvP3uqX - eHdYnwBhO+YfeqmMvK2iMUa9OJfrAogFtlRtR3HXuQlbP3sNTCTMss1CF28jO6/J - GA2IWmif6Qh9potUUC+ApIA5mEwFGuNROssl8tTJSLAieKIs+8YGjPBlEqzShLP1 - jtz8/t1nG3YXAJw6ikQRwXh6q3H5vmrSpnLg538uRTTwYaI37Jn3qKaCqOGkN8mQ - cGE9GfuMQBOGYWkF7kzbGKYMOkmUoGRAn9p2Hy+0MQcOlPT6WeQR9iPfl/nebtl5 - 2+orHReHIYOxD8Ze4w0BJPR7w13WnGp1FYuvHfMElW+NlygyiQ3x0tB7Fw2WO5C+ - EhmiF307qyzPdmu9w6Cu21GnvjG9fN3220pTsRPdcI/20Oi4wCSDHn9csp1t04gE - JyVgct4fwcf4YWUHkXvxDmXiNqIILG0zm2ooq8UYx9lyP6kSJiikQrHOhI/n8ZTS - XAFYcVmJ2uaox+db63M5UtLAB89Ewsrw56HML9oVQdiKmxlSa9Hp325Gt7f2gPNS - Fa/g1rtjAtVjhyV9wlLsiCOL1QsYHTdkuEuzhRLBkVoSFjIH/f4lyWvSjHv1 - =STft + hQIMA1Hthzn+T1OoAQ/+Nr900qOUp4xUjENqIJdJcBOc7nwdFSfEErAMI1Er0yEy + 1WCZb2lj1pf2aS5J4Sda2AiYTNLDR1kUE5pyCVAZCAHVoUr/ZEPYYro+nJR0CTaN + k9DHodlDPYxDkDURnsWc2uC/Igm5ExiAiOxlNUA0LHZj7tDgw0EVmiSTZlabvp1V + hmx9gxHPlJUo19dEsG/incvQPLoytnuSOOmyWvOebk0ZjA6MFs/PSOzAI4M/ehr9 + phC/cgDMBiLbfB/6F9TC3E2IiVbVrBjBqfnWgHdtz5yE4hETmqIYYXw7m8Qn+9QM + MyLukNnMs7nv++RwijbRcz5KYlsMbOgVXbnK6p1NT0pI546DlghsvCPbtv4V+yvu + zutS9f/PXpAUo30qL1nht23w2jYFTUYFtum7D+4T2y5IuDgwno+IMkLbr+m65FAY + djrS3rJo5K9d38mBn3K96HEfE9Pyb8dCW/veJJsnC2daNykwy9qMB0MulZJ+6wLp + uB01q+HVvYYmOlHwCCxD0QX8WB9Zs789u78ReH6jGK19kM9NgTq8ya8YGNSgnMTg + IZVklmiPlkeRyiA6iyHb+PuJTQ1BrP9p2HRgLm4Mxr7YFpPN+tGuwo0taMHpxG2C + VZU8sSiFA6S9Rq4zALk/Fds5s7Myd0X+JcJ9sduuTQ/JOTGrhFMWSrb6ZC+bTOXS + XAEUhUNA+nNj9YBldZaCrp9a3KySm9YbS4OZfZU507Mj3VhVSiEXzZSk+aFNu0G5 + yynNe9kasl5SnQezmrQmiivib9ARo2jHrS/+fc0GppFH/Q6QoZmFdkkmenBy + =YTq2 -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-03-05T19:18:24Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqARAAi/BZtyRwiOY6IZTAxfjQNPcnqzAhtfygGlpSezEIQiR7 - wZGu6Jd+wldtJs3yLjMKH8i120+dw4NuxYXk6z/4mwTkL54CdyrWQY2JYuILMkC2 - Ij4MbxjMKJtwrt3I9M0GX7NMRf0It+6ABQHV2RtqHzNObpkO71VVJqD9yd7bvbV0 - 5zMtFNHOSJzESrJ0ILdWgavgjNwQtefPMfLlNA3oh0RosnfGq82MuDNAum7cupBf - fTkyQ52NqP8yUgG/B78L3cQKKNId+oqoGuurUZ7+FhiJeaVG1mwtWuCmoaePXB4X - GXaQCHMf+2kkdUGMymXVOvvY+lInSqbTog3Pa8dHqd7lIE95TbxfJsnKcYo+Kc98 - Ao9P7yrQdUvYhTcIXJc40yFzrCSab6/6Vg3Yk64gxysB3Jeufg3LNdCUUWk7ttq7 - bqrBv85W7ht3ZexDG9A5RoEcaO1KO1qCo0SkmaSbRZql5llEod4HJ+AdqmKm1oA1 - OkDGZ0Gs0M7VL0pdFBS1c78kiUkkb4p1dtKGizo6MXlL2TuNljbfK0yct4Dc9Y63 - 3M4gNo8Z7DytuBhUuOVdxegwZWSp8ClFqSbipgUbIXv1LQBNevy3f4VfFS7A5+b3 - Qe8b9AmTT8WPI0CH1mkDYNzAoZ9ESRMD0DUzi3Fs44XWZJmCzJ1WGFiGxzz48pTS - XAFTgscubeO0JofGwYAlJm65OMH+hNxbyGPIcmE6U9evu0NSH3oj3ErJqgB1Xt7O - 6UWkoNikPLYSusMokro4u6zTWZoP40BZclNL9M31zMGYwta687VbbsySzeQ5 - =R0lu + hQIMA46L6MuPqfJqARAAu1ZzmUbXRFpR0Yqsd+wvlSV9pAc5zaW6s3/v7NBmFiQr + pWHr60VI3mlWfrWVLC0yN2eBsAln2q/yeOcpox245edYEu4XRMuj+CmPmin3UjOs + c15QF9PF8xMm01bWeQiZc1JxyonMVx111cIbtX+35/mcitqMzFn6JgRyDInXUxE/ + o5O8U+xatig+rzv7HsyiiW3qBSfntx5K1O67UNriNLPns1i2TXPmZ3b22PX2AsVf + hLrMqQzy0oX9/TNVsHZqVlj6aen+qHaJBbfCYYddc6E4PfiBiWMhdlybpOJicQAG + 3b9qhr5OrjUug0KIDPK5rxol2K5sHkXulen1ptXuN+xay2G6/v/nGjb2LU9qJqKf + yVfE3+rStSIAL1D1V+4DR6DXQcsomDiExCLYAwuPyQ+qwDgr78Jgz/HAPL2A73yU + 4usVrDIPfaitHYyhvuY1XM46w7yfOi3TfhusojJjc6FZFIYKSf3HdWKNxiHx+Mcv + b7R9qwtRSzGrOCzL2lR+VVrNJfs8W7ZmXD6Fwx2TusEQ/XcrWq5ZD1X1TCj75CgX + 4aiRUmRxOmJl5ABtiYavsoaHny8GcTv7nx+RgtwFXm+wHRjNdEcciE28FB7Hj4Z5 + kTCrNUUWddAuE+c7T+PnVREEVcO/U7O9kFVsmmGmr001tV74iUt7HiU+9QC0Ad/S + XAHXuwTicmxoO8FkajVym9HSn4KE2c348SAvmYo+MUVCuRwLiQ8s595mTyowmFF5 + 6tpX3BfxhTe99Brx9bVHUQfyC3BTLS/UbHTuLTFAwAfBt9+wOiW0UM2wuJzY + =bMt7 -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-03-05T19:18:24Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAjC9R3W4mlCw+x0iawHrRmNLw57m0gLH1Sy1ixUdfDjww - Mu1PKms5/EMTR+IbSoA8KjGD8b+eIMZVgkQ86R5h6HpvLQATyZtwpTutAM15YaHZ - 0lwBnXJwyqLwWFM08A0ssisABCnP1sni5PxRLoDFoyBxo6XA/LiCSUSDqfMLOZP7 - QQpPvcIrAkUlhboiVZFS5SC0uVK25pT+85gOTezx9SyfD3QkwdciOsX2ksYjgA== - =ycwb + hF4DQrf1tCqiJxoSAQdAnQzJZi5B1jnQVfTkyKdx6MdFoZ0MB0Y9zsEPHGukjFIw + JSptEZ10V7WWOcaBu2MyUGlbJ1IeoN3cKwJxg51ROrmHIy7RK10LxMNwoM4DAeLY + 0lwByx2p44BIJiZZ5bDS6W9BfPAkA9w1Ok2knaMuLKcpcEY84qyFRogo7i1uCeT4 + YRUGShigiAGvGfGkat6mdpLepvKz5WqwflF7QB+WTGQ9wxzz+9dAG/2z4rqRXg== + =7GmP -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-03-05T19:18:24Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdA3r3LnmEu69KbfWHrBJCpz5dHMOGwRqszVOV+vsqn0Wgw - WJMnGi582q4xZuPpF1SymZuHaKiePx7ZwjTPt1zZUUIKY/HsUEF4uD51jUmYot1k - 0lYB2gtWZZ6BIRv0sXwvt9z1Wdx9j+H5JOvmc9X8kaJcZdRKBHX0dsEXv9t01Es6 - LwkGMrYlw6hkrklm7XCxOdZZLgKbxFxIqFf/QCN7y9jkTJNCtWflVw== - =askM + hF4DzAGzViGx4qcSAQdAQ+ECaLKmby88iQyKINl/JzLzWfvEPaijWz51pr1ur1Mw + Qn8VCFbXPGMLdTmcfkaFs2DyAf5qrlbKhFKOyr223kPTF+ueLojPgoQfOY5jud0S + 0lYB5hSF3Xvn1oqgCJE/VGQfiVcOL9iH3Ufp7LaXwG651wumEPciUa9vcF5duK/t + O3SGKrGssry6JC00qArS04/ZQTOso2+6/t+bQi1ivNuNSCPpnDp56Q== + =mpf2 -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-03-05T19:18:24Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAAyfTQEHzCHrMv7yWR2B3uBJnUEsLe6KklkUHL9JxkAvkK - APmZzk4V4Om0YaAVuux8LLTce+tOSHQ6q4jGPihmVRxXsD2/95DRD1L1BKlheG46 - D6WiG8988nIn/5NoU/7BVVbpMjU9Js9ib66pY6nJaM1JMSPkC9+lmWzejlvUpX+m - nZuprOnR+giIvZKCQMzFYEy4UNsr2ejxrWoJkLrsGRj1OWNgrwYGMTsTbOQqv3YP - 7D3DWLpcL7VI7mIprrJklCr6VUA/zdZ2oo7Zp4aS7kTGSFkfLiY7VGzx22t7CRje - 6TLBcikQDZYMNNCkqQk5zrTrN190LUZobBv/aYrzo3oE/eAAXnzq8Q2zG52pMvAY - jndv09dh5FIHD37LkIHveiAJKtJG9SEpoexrLpUi/4rL+722AoIqb3jiVM//FaKm - 8nmI6asExrWteXSf8+R/FwieOieR9sGWJDQw7E/1c6I0KmmC2L+XZR72fh2iCamF - P9zPgIfllwuKxYJ7Wu3/8DcDvQMkLbRIksSmF7KY/stoexLwycBFOZF0932DOPaK - sEcv+AGzin4wqHwPQNo92yI10ikUAXdd3S2hRKi+UhRPLDzSIHd/oNMC6/o/LgMC - 0k3tGLROmGh20J8fdvyR2jg0wlvd9iv+3T2w/JiVveVC14ouDLTkHVBvvwaJcjrS - XAHWVSSO7je0MfYba3i8O6Y2QvJQIF9vooqI6U8UeOHlJXoJAz1Qn0rHLCjrs+Ky - fZV8lwUndNUVsXILeHqQTvJoD71r1VOkQWJ2GagvDE3wDQqMyqqUR37YjTFI - =pWLq + hQIMA2pVdGTIrZI+AQ//flH3fpZ00MJ2O/D8oMwUKrGPnwIybqn6w1oJu0xeEpQV + jHP4X1K9Ud5Tu8sl/ZUV1xRu7AQunXPuUIGcHvNBsWk/6mL1HRc6Fj+l5/sfjxsM + fa/nihfY4aXwu1Og3qbu0aa+wNNqV38jq52plC1Ej4uBJQAcEtNWAMD4vEFi8VY7 + v91514GD2L25KnpCt2WnP/NTopK0Uxq2/M5SiT0SlZJf05K84wf12X1ggbpCfbSM + l5TRghiqJRI8+DSfJkDOzuuetC041lQRXaaG8l447U/qqVSNLQgauym01ohYsmuv + EDeKOyZHxfeVkT6BvdsV9t/14vVKOzAuNIlhzO4BVATOOKRPGQFn1I2G8CGvJ4NS + DFilW5dhuaS+5RKExoxG2py7ORbFrzXZIkZ34RR1zusKzUawHQkTIEW1bpXGtiso + cpBsB9roaQwX1+j2mZJ923u3CylvOBauc7RddD5g/lyDkMndWQEcUUn+1yQ6KVdR + X8nyDI+0A7mBOYBs1nIPls/xL8KrdiqsQ1MwoiLJOpsGmCldncsR3KCD3IZQ7VJr + 9YyXs44bHO3IB3mm64O2ym7CcI1PYluiseXXSv5XWGy0RYG+EnWlTBR7xBlrtUPv + lUA/Y+QvAL+vaSArq3ssf5wvR/iQ8AD+/aie1ffUojSMNSwjL1zBSyYl929IAT3S + XAGYXe2EpkqBxFtjCE1Yakhsfxvq6vVPUNN6FFLnOb5rIscOKd1tnXrdBjBbroS5 + jSra8yGIzAfZ/mKBxJbCOVDWCI8H9UHTxiIFHkha57Sj4xRw6Au5IjshOFpH + =FQVG -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-03-05T19:18:24Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAKkhqICDx0kjaz6XXyVra/+qwwe5xWTLVdKXlruGnAFww - Lc60apT+JUfDkFA1Aks59PNPmGUNi9JiK4Z3Ygq84+8kD0Qn3ilyB9kz6S9JSLHc - 0lwBYPYyc/aYzNSCcgExfhv/7Df/vmJVoJlEZ5wfquRP2JK0g8kHDJvDMvFe/opK - pO7q64ngDVfxkDVI5dha3ppzBRjO2jgFu48Dwq7O8iH/yqObQM7qXTngGhnjxQ== - =+CVg + hF4DKKbvh61jX5USAQdAkG2wKvX4T32hQFd3jegq121qY0cWybslnDXQj3DDoHow + 7CsyWtC712t4haIJCP2bb4ulxe5YNs95vgtx0cyQONAtkpk3SeSvTOGgqVDeNHJE + 0lwBCD0w0hTevAjwvq6mPBb8GDayi9FUGdZ8AYCbQnBahEoZy1P58V+E36o92FWJ + ocbiVjY/vtQZflXpYhMVXTHEuZ5O0as217HxVlwUZGgseZkdoFOfU5TAA9aecg== + =21FB -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/mumble.sops.yaml b/inventories/chaosknoten/host_vars/mumble.sops.yaml index 1c4cac1736..a37b5e379c 100644 --- a/inventories/chaosknoten/host_vars/mumble.sops.yaml +++ b/inventories/chaosknoten/host_vars/mumble.sops.yaml @@ -4,212 +4,203 @@ sops: - recipient: age1wnympe3x8ce8hk87cymmt6wvccs4aes5rhhs44hq0s529v5z4g5sfyphwx enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCSmJXRmE4VHpPY1owTU5U - eGRKRW9tdExFOGlLamJmak5VbmdwS2IyYXpZCnhHekJqYXJqdTdVdzlkMnB0MFdl - aHowNE5TVG50NDhsdFc4bGxkK0hHWlEKLS0tIDU5QlIxeVc5M0VIUUlMSnU5M2tK - b3JpK09MMHdnVmtHdmczL2tjRTRxTlkKLaXoHDX80EdVo3s3V5Ykuc/JqRtzkJUC - mBjezl7MMk6A28Qv1s/4LgcHD693qOqi1ZmSxGdXY8FCtiuROnDz7Q== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaWStWZnpkM3djek9DQk5W + RFlURU5FUUQzdCtiU0NQWmhCZXdScE1pMzNRCmttOGZFdkU1cEtkTUVWbHY2YVZZ + VExnOVdZd0lvOGh3L01BVGthdU5ETXcKLS0tIGZnQ2k4N2JkOGsyN3FXaFdBSWtW + NEtxRkZVbjdlRmR6cURUWjR5OG9CSWMKKszj8ls5s82jNULr8HMgqi33PGW7G2fP + FCklcxhe4PEcWqqXswopP3fhksHoxaP72BfQM77JvxyuSSP9xw+7xQ== -----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: "2026-03-05T19:18:09Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/+MY67dnMwEB7+vAHAoAXOvuoeeYFaz+1XvMUX4lgfTMxa - l6rX0lOrwSa1AeYXnLXvajqpA+HxrGSZLhUGZ8ZjV+WUrUmjg9bkUhrG/i0kl9kv - mpE3EIlE+6O0GNFBKThm6p1x47US+/ynWBepVR+YCe04rtijtPUvPdI2OLR7OBIv - RgO+KIXG/hwdJ3Z6DTfI9C1IJ7z2yAzUvMHWl6MJrftAeUGN/TAm20trfUUYe4tl - ihwYXpm2jQ2IB5LHA1XlCi3sC6TztmLa1vhp9qTqjhYFA/MUfg1CRNE1g2jWv/Bs - qMa4cnqzhzKBRqoxaSM+6pB+xb/vQNPWMRpN0wfeGdXUO16wM7geZL7V01tMkOFD - Z4mF7vhDyu/9nf8b/1K6K5fqs6Q80bASLqZl3FMmadL0KuEt82VY6m+6uoKoqbDD - +YZeD3GVSpbD4AG1nM94QAJRtJgpJwBzbODGOZKUk8HWjv980SMoTXoYy8Sktxp+ - HwVjoS5nloU2ZQHV3H7vFVt/VlRO/NcXdQz96SQutlpZLqfiNOZloDlQqfCSavlZ - rOhf7U2hfR+F2CQu38uCfu7opk7340O5LHzXuP+iHsu55Ehx/2Y1nvOe08+tHBXQ - xDfwz2Tqn7XmH/eBafQpxQVqJv0brKHmHADQewnk1V+KPpmhWlmstIUQMf+la93S - UQFX7uMGaDzvniD5CSwG/45XnZR6HtB72oMEofh2CPBJj5EAek576dwSAGBW4beV - V2NQ6JAaScxKs7HyIzwdLNJFemwyKWXKwzA1M7f2c9I59w== - =1XYw + hQIMAxK/JaB2/SdtAQ//bVlA4ynEXwcN7JvEH/mHmxkSs9lwyt5/35eUN5chn36G + +4uVmiibHp8PhSl/+sIZ2w5HmXBe1rweDk3wGZr0J3JftNb/fFadOMr8oK4NQDTK + H4sLbXTWOaZAYHdGLBFln3pXmcPOJ9Rj04Da8geqb5Q+I4XH6dqBBRReIcPhiKEt + IprbKDRPjxnBzLpEeHirsdWcCDDvAkQ0/nhzBS71TRdqAg35bAN7Boz8fRNpQwo1 + vRWXStEto1W/2KIi2k4TIC7K7thmdZGKCrMRHuGaIV5BhVK49NjctN4YhFC1+nxc + 8Aew3TZ1KwXlz/t5nNamWhCRaQZG080PSk7F/OJdyP/o1nKT/1fyaQTgVHEyFS3s + h5v97oHa+rDhsXEsb8E94FMEHVNI7UuBmOlmyTTUV2jZlA6p1NS2s+6MMgCYIQBs + INjw8phE8VhzBN6hUCy3VvWXXR+C4nAC3S1TVur9uNRurn3gk9L16CLDhgfLL+ZM + BGxzHdrf0UEoYe833ivtmEZlnRbOZ9bocxmd4XKkcDFbuPnc4udYPy4WD2nVD/PZ + OaBI29mKOGKjkSNIlU4qQS38j9ZnStiqorI7eQyjB6BsjMHQGlwFsNiLp7qowXo3 + tbRvIhbjuHhXDVJIH3+GSmA+SQdfy/gaBF7kz8I1KZZ9GS2wsh4gZy2P5PamGIPS + UQF4JK7tWOdLqozSDaaHLMGRona/F0Z+u5ZlfKL6DGQpKKSs9S/9LS/4z/0+Vifx + PwlalytbsMIn3/jhADqtimIOiE1DNv/cpOHb0w6DVTqqXw== + =T6Yg -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-03-05T19:18:09Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf9ECFkEsvyJDQBpM307LBl31bf97Pqd+UujTr/PV/l8SDZ - xktkkgYRClU/Fo0TgHPpnntkqkjsOQaGbEd9xn643BwlSGjtfdXRRylu9nFrhuez - 3VWmjf+/FiKbmHZw4t3jNEd0nOxYjQfARqKRNta7Vfv7biKBQWgpcNRAisZIU9IL - AuaUrksY18T2SDasLapJaqof8oCNrcLL6apgJ3ZlY5C4guHIltFWsvTSUk/OSer7 - MGN817jzLv1i8AKSoIMhLu8JoWcCLM7ZdsRBEZzBR3QSGc4PScwJdA97e1k95FVf - BpgpmJaOgt3byJ+CbRy2S0IhsgrE8IUVYOedaHxud9JRAaf3JVvxkJt3ETr/z9A5 - MMXLKcoKRfRM2LoMN8dZGJdAGkhb+HfsPtSuSVKIZrDGPpJkSK+1gCKjtZi+P2cr - GMElVxm/BWHSWkkahXHOiI0g - =P98l + hQEMA1QflAioE8i3AQgAn6a4ZgqZG86yEQXMYRHVKJ1uKlkYzozpf7XtBNLyUZsl + vV347tM6CuvUchHkKcWfd89+mPMZVpEdHG6V1JFPrPGS5iseegsiFQ4q2GokbPXs + Sb3P7ciacCWdhOFGoAzscJtGDjB6RHhcz3M05trQpgjQ1s8K6m2LlBoFE+YGxdi9 + LGfMhwkrqR9xcpi55WN25xVK4qZmOniXQeKEUH1uLPj45ORlhALQHyF3tjj6ELWP + tZYPrqXtDAY+QhBA33aH4KnZ2rIz+zS020nDRu86yDfuxPp7pHBOz+zUZrzCpvoD + c5MRGb51Epfn2eUhSTlkXCRmb75NbpFty6i9H0pHANJRAQJwMUttsWhBn78rggiV + izmghyqlAKPmW2KN8hftpkEkdl84DAIYe7K2mBb3URnsMEruEcZ4AWIpCZWFrFZh + 6vISzyoMgkX1lpYULDia3bZd + =raXK -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-03-05T19:18:09Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ/8D88DU3va6qufLEavGngoy7VKiddfi+xCE21E6odmzJ5k - TpBDH9Tz2BMxWl0ID2JjduyVlGaHOy6RTObUN5gbueSJ7OpL0N18JBj1Is/ILrZW - fPiUmFDnELwaFyYomGhefAgRSf8y4MNeKj5drt5jqWlpBbYF0Tyc3ErV7QJUymN7 - Q0j8Y6dSGAagiIaXHj2+2/JqbRtpFXnzmTve6E0SLhgwz0oxbySeovnzoFXcs8IF - MSnefFuKbEA6pUSSu6SqsGN5f7+gfl2JRHM77YJAaZNedC9p17di2uwKbzpn2+cE - ohVzWHx+aj5tZUUooLZVrf1xthR9z7u+b9s+lNbcENEanEtlPvzzcRafAnBrDBeA - 8+uOQ1pXI4VJqs+vZ0mD9I2WNc8tzUnW9JjcCWAaNS6uBU1isLPiXtYJAm46kwd1 - I7yrZrJ8q8cUZMahG5HdkTgLEoCblnZisZegv56AinRV7n+Omo1dVXUpUXJJF4sm - 0krgvytT116hJQwW+dTbQJHvySYwyECWMaVkkWw8QVJY9Y2s5BlLn+6XHKwHxU6y - 3XcAmYYv1fnzAptUdx7F13vRo3G2+0o+PHgbeXFsT0W2db3q4uV0ZbEJeALn7iKT - qrJpurnPAxe56GuY2zzRlu/XShziUbx3mgRbyZRM7CBoRBBDZmQLlA+Qlv7TLfPS - UQHcGkbYhDGcJg5l/lmTvvdYKUhZkPcg5VIevjvnzxbynB8+4sgKd859lpRqRBYe - RuhtrpcPORctHw8oVE5Cr0qRHHiD1CkuWDZkQI5gSxsIqQ== - =GDAd + hQIMAz5uSgHG2iMJARAAtzZsgGNgFtPVYqKUk9tfTYrbMKs//CyHTvre5A6qZGeN + 7LozfxKgKRrtbm80iMpDfq554tcAALTFCgie7hH3cyCg/3tmHMeheSS2GIofb+j0 + sYZ0KMgvw/Bl88pb/AjRbQmV+8OaY5N/28aRu3/YsGlzSDV9YbfrFa7fufso1Pp9 + tvE+5QOKCtj+5i6KQxxNoj9XYXKAsUdjIs3PxvJQdtR0AguC4wUm0k1ooKCsrb49 + OXYymu+U9vVsoHuKodDbJQvtRAr6nIFC9zSY04IGN3O0Yb1YdeAEgX7Jx25sI58e + PTH+UF0eaq5vjR4Yz6T8OwIjDq2VomFSdoXAbW0j9YLvImAVU+V0zHPeI//CcI+2 + Y7pup2k5jpVkHFC9yDFZq7Gd3JQufe3Y63h+3bjP6UW4EZtDDlMPUcPVCRUTktZV + pLmo0MM3oSd2dN76nL0jFQS66f/63xCJNtC34fH4Qkzsdg38VNk8U3RPRMXFk5iU + ttXSKsHVn4M5s0IUKA2oF4jt6cEoBQ9jByg7FCx2Cdwi7x2ZnJ3uv5YhsCJXUBuH + OKfPIcb1oi71H/YJ1HYQyKMtPw2xsVOAYLta57A+0N5mYGwu9WBxieHGbjNKYQpg + VplWyLNZCZWOo3U0o/85R9nu4jn6Kr+3sB6YZnp+2X32AwXXFnflc8hA6arBWSLS + UQG369+4XBHrbEma47wE/0PXlrf8nhAdYMo/S/K6iZoIExXk469nOW+99XJyXMzh + wFeMKU3YN1ngcU8EOokWjFbY8s64QFDa5NP1Jtlv3g0MOw== + =ZZDn -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-03-05T19:18:09Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQILAw5vwmoEJHQ1AQ/4hoAfwujpNJlXwcylQogygf/fyqqVjHHwSwX23mPHW/yP - YNH0xXLVfpJjXLdZ1STQoE6X81mGT1CWVGWzEfScE/Z8S4c2Z7RWu/grOJm/TaRN - VFR1rAY646K/Z14PMT+SbaGigdc9NG6aXuPjPwWpQBQqUYZu69WUES2mavpYpqBO - GJw/XGyZoTqfD2sLsTZdlvrzYvAS0zqDLN/HrkwOjfGO3k1yuOQXLnfG4vJyZmze - 0O3Ilf+B9wBba87VkZKKc+qRtkk0jZ2Qd6hTqvkhOR1j0G4oimrE2GFf5v6xYpJ8 - QOeTgiHQYwFF64WdRAQ0qZQBtOinNIZkvxPNXBVm09YZ9o922hBfF4o2LMR0RnA0 - WR2mbCNfrjIBsiRFUilZx+yY58JNchyP4Chvnf4UyV9ugH8Pgx7GZtLpslVC9JVM - TMkEJ/2H9v9/cjCz9lf1aXx+KxB2/jMZKZpxURYX0hAwN3mRDsoDEIjb/mR9dzgs - Js0Nj5+xC63rxxYf5f4WGiYGX+Kw0bBkFH5BggIieUKZop+VfyHDiJWkPVCnbaXZ - MEQCVTr5ZBz1poFoWRKKpzrxkiaF1ROfbzYKwcVN0YTpd4JLow8rr8+Dn4AtezO+ - A7rFIBGhwJykvn0sKhTHXAcPLRZEBzXHUMxOKBHnbig+KINXNV3Fh0Z6PFER4NJR - AWz1+7hLbpiaaPCb2Z5+5YLbMBhKHp38VXvbRVhqT7XGIQ6f+gMu6jiyl357Dx1r - omdo1zLAJwqUsN0Lm15SACr/tWaDUOwL0Zt2G6NIeDZo - =Gy62 + hF4DsZXvxFXTXoQSAQdAI1yuceWQhEIpuWdkIJRrBPqk3DgNMqUsrG5S9m+tu2Qw + ZSNP6jKOiMRRSNqad5ZId5aKxgjL171BbsGVByL3RO6ecMTxVOKFAgysagwVLt71 + 0lEB2n35zNqbiErS18I0QRAMa58DJbUr4hJwkyEEIUblMLNWwihcl6hH9C3FWU1N + hX2jqEEQh1uE8iQhdEYA/zqXPeblQlHHOzkNyX2eY4SXYic= + =ou0d -----END PGP MESSAGE----- - fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-03-05T19:18:09Z" + fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAESSFwHonCbT64i5XHEzWrJJ1RQijN0RVz0sXw1REwzAw - eVSTEScf6NId7MplcFddIJEtzysA/sGUhR6CedZJKLmEL3uyai402/5PuRLhXJ3b - 0lEBAF0JRUT4gbm2/FPXru54U37KHlW8hQY/GOoPrDnf0RWpmgIm9RssLs4kYEtq - 4UVBylaKZKtxe4M6ZDI0xWsw1EcveAUS6dBpIy8hMAkar8w= - =Luoy + hF4DerEtaFuTeewSAQdAwk4wmPdB2BLwij67+IO9hW0Or6zZypdXShIS91ujq38w + EVl35vQ5KcUXsPTi50SEoknlJcikmHfee0zGHQEgePHYttUbpw4ivwaOcVzbKCNf + 0lEBJXzLB+Sp6V+mnQE3A2jvIm7RwghhRKVtRYgKIKR2bOVfN0WTZvdrplOlvs61 + d4oNv+5wB7+7XWtISysixS4AebvZcnk0ztz7bAFVZt4torE= + =GH/7 -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-03-05T19:18:09Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/9F0ibO+bBykoK/fmSxhe/+nsrTnCpT7fYs1G/30f8UqXB - Elhwwftb01L/awAIOOep7LW8JS+1hPbYFvQWCe4m/U7daBtiQm5ujKq1SQWPP82t - KK4un2LiNc0KTCU4F5FFRXa+I3E65zrSkBYXgT1Avv+TmqB2aaocKJa9Gg7XTtj0 - ekM1+gILveZh1domAHp2JC0VZ1evC/2ws7uwrZplUrb+2690K9Y+WbM08egpVPG7 - Fv+Wx71Qztt1yRbGVdZmpW0uPH/mEFLZ38WfxcBE77WDSav74E1/Gg38zULNDfwM - yODyu8d2iMUF0K9kuTEos7op0bF6vGhkBVegSXQW3YpdDDAwj5Q2CtmZjVBD6sKK - EZ8A95hsYfW/nC0yeLs7jG09uZbG5mcey4wIoIDJu7Nr+lUxy/v5yrT87cCvaCo3 - Sqv9pGyAcpmR/5wl1M2uZ0scnj7g+BvyiLkHgZB/jmijiwEXMv4AWIrRUJXe37dY - HWF48GAKMY87Ez6RHipQtgOl9L3hpiunM6VN2seCa4cKvWfvFV+1hfK87T2CcQTA - Ax+giP60T8nMSiRqv+OQmIV/KnSZqjEM2QRES//GFxbPBUqQcNw16b9zgllsvdd7 - ZprQ7K5EC8dYZEV1DqHVt3WbqusomSo6goe88Zs3VjuxBEy1lVKy734G8AGXWGnS - UQETfrJlKtSHtelM0avg7vCVZlySnqK9mNZLUymusS+hsAyP+bQfmUtfzy0n2mby - 7AKq94keikUqqC/Hs1MRKy5r1oR7Jj0MHsrwe3MmC80r8g== - =hyrW + hQIMAxjNhCKPP69fAQ//SXzyHDEXNp2+YjCN8wbojAJO7FybzUa3levyLJ3wPBam + Tz9ICeeEGKGWVQp2zj1ef9ZNpKHYDICMHUTVoDAIqZnnfhwk10j8ocPe+QgwGhjC + Sxt/EiuUTKxfIyU9TGbYpFBP+OgG0bw2AbcDWx8n+dXftZfftwRxXi5M+dNKMzDu + pkM8wPlkGMvlsOMjEGgwF4cdIPvbRPpic6VvvETGj/LsLgCHVmfCmvQPrZtu9vZZ + zNQ4DL8QCfX0DjTy+Ps/zHeXAiNteX5S7KEEs9DVeqZXaSJs/zkBQhDYTsQH5fXD + rXB/Avkls81vxoxfGiJRUqi9U8A5BJqwlJRJ4oLNhJ1zX5FMqVBiK9OqIFce5HLz + gyJYiuzZCiiIGW196ugoojro5zIjACYeWSy9KxthdrGZZaTYAf8gWu02teIf8fCL + MHOqCqtDFI6yoRbn5bNclTL+x0A+6CQBNScRqi7NlZkJ7sJvaVbFx9uT9tVUTew/ + CdJahdqcBeU2TzVGHawozcInv6Cr/RzPq1mCItnOG9oDJhR5/iBm2/4bMNeISH6Y + Yy9bUMWUB5t7OCgrqyWBfCIaW7WHSTafDEg305yY8G2LgixKTdw/BZjOuORfEcRW + VSpF+B0/bmfohBqjU9d37Biwn4pVPS02NiNKWA+EpM0hLXYBQkPgsRuwNpCMNkfS + UQHtwfN7Vg6V6p3Vauz0ahyy+fi+dsEBDRRLL3JygbpWH5gfU8Zlkuv192YmljJD + gMGTrGfV/eFIXEGNV/pAaO4y9/eK24GFfemajS2p5+Sl4Q== + =U3Er -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-03-05T19:18:09Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoARAAve1lhAvg4cTVUT5Xw6VTN2Cm872dB+QBELuiOWYOREYg - nKuK5qtYhBa3UXs5KCBJvNhdua+0NaMjaUjyNPKqqkknbVtQl/HA/bCmRBEGGDIW - atssKViyPAZZ0qcmCqwPRy7UzUWmsZcwxrqIQ/NgrJMD2SlPrn9QIM/l1zEYiEYT - W98OVc1lZv7vn0mM58G1B3ODvFSRFSzZv6yfXzH7UnoEoazZIxVjbhUoyoXO/AIZ - Bz5Ys/OtE6CmI6Gj7Sbyg8u91fmxp3yix/QcTe9TfXfHzrIYtAZBj57B1hPPqz8e - 5FfHF5FnoMYIyMy1LekxGUsuc1kr5TlQuX6SNuTK3ENu9/XQ/+G/T7kG1gl4h2Ae - RQMninPnHPnOsl++nbO+qeHHNT5lCWNWUXbg2icmeEzLj2Q1QQPAiOvA0dC6Xuc2 - cIrwzb8c8JHQcDTv8/En1aPtfZH/iPTrwRXB6KBfpAXnNOyCUChaxPqWmUjU6Xm3 - ucjWBGRpDLOIzaVTF1J5HBQdIT7neNWG7/rR9WT6rwTAY8Y2kv6aIQHEpSyXeRGr - zXEvDgVznqbCnTSgS77WJvNIce2ny8ngLO29EJdygz9rUCUreqlwpT7sAZmC8kbA - nC096YvrIWaE6qRU1lM36s+vK8GB+UeFK8jQZlWZHWHytBc477aGiTj/vkWiNEjS - UQHkE/bvWtoon990MRFMv/VngN6TYkdcUjNblZEs/lTvDkcJTdlrzNLlE0YkXwRV - IxDp1kXvItS0ErRov8f0JvsYp5jdLP23i3oJ0LSS/Magdw== - =Gumd + hQIMA1Hthzn+T1OoAQ//e6Ps7t4ErD0E5rd3X5jcIzdy+rxwUsbN5lOWJu+l/wlW + tEiGcVtjsWqOTwhLAA71ANUYRz5nrEIW8HRDnU17XaqAbHZLHL4MkDij0RzT8WoT + VsHHi+dWAk4LgaabayA9uzqcRfqWfA5mcT94oPl98xOH65OzpFJPjNKS1hD+kvzX + WlTlkOKh0H5O7UknCbvPwty0aVuVI0MDUpzn+Ihf3EZWGRYhtmHNMUDr00Ofh1k6 + rDB+ZS7td0ShrMWUQMvy77gfduCACDbJyqhIw4Qpk6uLhRUL3PXE8ecGF+yz5/SY + 47vABKuumyyOMPT20jm5lEt+rnpu3dnrA1WCXciEmHRvKNYgSdZzBY0tpqVZwhR/ + sy95yi8NLMqckMwm9G5CfffIXZ58ynYZi8+e/paT1SOV47nOd8lqs+zuUEi06O8+ + I9lzjUS4wumgjTzKRekI3F/VU6Rz7Md9gFNGWlY9BXXtXp39XaqXnGnHFrXQCZLr + RH8d+8y4NK1zqjKo+M333AzlfWzJNpdEmYEw7EysqHsJAukQ5No68id7LZK9dVbY + TvcBCh1YF6WyYPz+fNtpj4eC+7eLiUCGpk4x3V0sjSph8aWylN/Uc8Juo+xtT0FQ + fkuz+jLbAOkPL7yge0aepwTpC23ptuLLGQRGkyg/33L+/oxSX5l7dftKkkv6LDbS + UQHNHSHFdj/PLDgaUjP04qGr3J/XNAYKoj+5ues/xIkqZG0LkCCxfQPryqslxP+p + b8mv1RA5cKTiCsYDQ7MvV4fItat45EwUXeqzEjbDP6fkeg== + =kFfE -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-03-05T19:18:09Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqARAAqOjNUpDtTfG7rA6lhiUEiHQEUXBu+Uu2ctoB9BwhbUbe - k/kOoSbHotdKyrm2msgZjFDgKA5eHwOx8srLubsBC4q3k4oYZi9pPoPjyDiZkdMv - QViAp0Y1W2zcno7guHs1nWPD4nzeEkMDLs1ktvU+rH+StrI4uT3JrPzwK4J51775 - PD/FzWg2nqyWmMa+vnqgkYWrDkO8eqvoILovuUUIrwkqaJnpp80Vkl1QQnWtlz8y - zVg+E0ynFGuNsqb38PYIGYvtFq9XM0DXbJH9n0rLUaBFC4uReEYsXS8HwfSp0enM - qsKZVIVnIVPSdngkSactE5jMy7w7LtdBpkI5ZySdcFBfRMsyU0G2DGOXNoiwAyB5 - rxIBXB6Y/dgFqtg5KNhIpwPgK2VjYUCoHa3XyZXD2Is/GM4gjQ7s1IgjeH/vpo6s - 4zjNXeEO0vejgph6QyA+f371QInA3hM0gjQUd9686De1nbou04F/6Zbngqn2x9I3 - yLKh8gmHzA6qM1SG8KW+ZrHYA5HdGnJskLFDZOFcWdNPNnHpSOkWrXYSoDmOUqIH - f5xAP1qnGeuehm0duXzsdLtDswNZwjpRTbxtGC8y36VlBiKeAinpAKo2EeNtE8zn - eMlf7y9Tb/IKcWewvae0EBogJAjMXKjen6uhdnXc97m+hyapk8tbF3vnAVCP/I3S - UQGTFgVFWfuCHxTzWUFywpsZGXk7kutZy341Kota9OyU5qTuQnG9PbRqFUS+C5Z3 - 8IB0rhP/UFRz0UJSdsBYPHhdPN4M8dUDnl3QZTC9GiXxjg== - =8kvw + hQIMA46L6MuPqfJqARAAosYQCCTEGKgqd25OwiiVQZdYuewKuV99l0Db8/J/sAh1 + x7Sltr4Wc2h5Fms8AhNXzJjq8EuQKrPHJUTPf1nnnRdZBUizGOWd9arHUl+qK10/ + AHfSGs/9rh2lK92cx/ANymJuR/QIl3oDAaQSKBcy7emeZx705PTE1hfMTwe3LA1k + wnV0l/po/3TJlQXtQYOVLIGpBPp13/1BD6+17NaVUY3bsv2GZv6o75h+nHLQ0NdV + kLsmzJFNbvFPisB1cE3N76ZvPbWB9pW/a7XOAZeYGsK7OAUp7nkQYVBFb6A5b++k + v6dQq3vlf/nP4ngCd0rsrF1ANThbylY3RqJBAHEahSr4kbBDww+/cPR2hTH+QMrX + JJKzyPEfe0cEJl6Cmfxx6X2d7TqyLjQtn+vjHO6+bnEU0TGxGtmuTV+AP2nF+C6g + 5qH1zUFKTnxeOPAAREj8iTtK900Hbk1Dl5EAZ53cDX1IDL4hhkiOa27mTLEPNBs5 + dJIvKd9YpmbPcSBlbGmMpeEKCnZ7LkvFhr/F0NkhuLGzddWFzQm53DQB5fKCxLo3 + MHPofOj1/mwntbr0XceUy6QsyqSeautts9vAoC1XOxgfAqJER6xkp07f2EDlPYJY + iF/jWpW7w0vym/mBHoFmrKIac168kit83dycPJsSYrR7EwmZBWqUVNHJRF4P1snS + UQFxpf0Tk1WZQUdJie6bB+aDliF3Cpa8t2qR5g5hZnuhJ3H+BxPEcCWZ3D1nJ8kk + Ss4S+q86B335S5yF/phQqDu+Igi2dWhrfADLlHE13z5hbQ== + =uqUW -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-03-05T19:18:09Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdA9Tdqxpkg1Te29GFgjavSDOIEeyQj7yeduJ9lBCtmjF4w - uNMAgWANpJLI5Ndd0CWR0bj18Hp/N+U21KigTseeVUMidpKtA22zwJmukIPWaJF9 - 0lEBztvB3lt2C2xsivxakSNNTD13pjcObjN67PsnK3PYiUrNvo9lz1b14QNCMg4p - 1RNsZ/DTMS4Fle1iWlkh+6Qsq15wvfzXr8wyRj+5nqZjZDg= - =tpPw + hF4DQrf1tCqiJxoSAQdAiprtBG6nz9lsM80/7J6j3+Qb+S3wZRMS5o4PaK6GrjUw + EWISyohS2BY9JmgZZuUP/wBNRre7THXHom9soEMtamvEbfg7mJwAi909X7YnbXxZ + 0lEBDWnya5cMjeBq3Lm/VH8aH0YeH3A1GIWqnsc9K5vdZoV7wdW7iQtBMzPlf94L + Kan517TqCo8Kma6FpVDy444etQed2wtIMoyGCbs7RacFPxM= + =D46c -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-03-05T19:18:09Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAXn4Gx8J0SaIVFfg2rZeIbGpKr5xulOYrcaZm6KM67i0w - iLEXiwMZMq9VEu5ImWe7BuJxUEBj/upEOVzriYQHBXRfepzEFQxhcKhrXOuQLjPe - 0lEBHtd5gwLNzi9FJ41v0QTlf3WqJw2b40gBMChTPjzuJqsBnc12Gdgo9q9D/Xx7 - jFmwAlY9jDpZSIFu4Pw/vxyB+/37XSG8pzmr3s61z07LC9U= - =JXIr + hF4DzAGzViGx4qcSAQdA2lgZ/3jmEONjhC/HiQdhfrbW+DPWUN9VqfrLNzasa3Qw + dnXTPOs2KitZN7c8VE1m64H2nt0hyvV5RV0b3q8Rt5foUMI00voIMpsG20xMH1ox + 0lEBMGT7/2bE8xVkqH4EZzG5e3tbjQyEGPgt1z19g28VtRJ/g9ues1ffPmwgNexp + xuBX7njKYSG+uc/gA1IbJ+0l1XTlR2IbN/XxesgyVyzmybY= + =CAV/ -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-03-05T19:18:09Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ/+MtLe6v0jqk9MrQmfzRb0Gq2zBHbEodBHg0BAl327Z4qq - gR7b4KiLqq5NpLEK8BQfrjzX9kehJyFdTtacoH9cezLpkPVU+T2hfllx/tNjqQbw - vlw6vInqknfD61hvSWczSqAbEaTRhV78sQTd3xLnlX9unVsY6IaCEjSgA6YFY26Q - /Twa0zQCMWq2J01cpN9qCAj69+MADSEmzHXrkjOR8DULafYza8trM85HgGF/w/lY - 4WCmmfXV/CNvoGv4vhK2ScE4tL7y1Xy7CVPBYAVe3s7jjQ6wHwTrBD5WPI1dNtoN - w21tD1CLGIwIVBsVGjk96n7PZM/c6uE+w8QNnk/7ZPlOHkseKc0+YvH02bztymtw - GpIadRUoXVklZ/nWRFTZikt7BAvjbg0XqEEZTnT7uE1fTjEJa/lT7dT45zevC67Y - ZSeBetUgTuTHThm8GvAYdeWHgqEKCeX7uc1f1VspbNx0iRIGPbuN+n4B0cSjnaEx - 5ELSQimV3oKC0vooCCRyUjIFgczK1DiAqnDTCT3HD9huVxgOBqdMXzBYQKysr/Cc - ZvAKO9oC9kfcZ32ueqTSf4BUfsr7E1K7/o3kDG1mRxHEp7U6ggu/LNSskQMkCI03 - iDtGNNH6o0KfPZloEbENRG08UoIZX2sA+s1HdrkBRuhGX8Z81jl0++hydY5DigfS - UQG5Ne1LZQLshbxhWIx5HvqjwnvbN1mFo4y131LXAWlzgChWYSo0P5HIuyNr0jfj - qjHzIUKS+IEv7gEcJYt9RuCPw9iykoQ05C0eATcOmqt87w== - =eby7 + hQIMA2pVdGTIrZI+ARAAyUtiza6nMcbwOgTfku4X1ObdV/CunCdfAySlZZs7ZTun + WhvLtJfsBRe9y4WA/yURTOoL77Lj7kvIatHwknOZK+F33FnNXJR6zkqOp7aVTfbn + 77SxZBhtbPwczEUx1YXcJ6vsQ4O18sE+AEcGIHtEZCcB4L0Y4g9oNSCWjBXeg3Q8 + 7MZQEC53DoiOqaWFX5OVEC/6UwUEt5WGjAsGc5AqD0jIiFk3cWbsqnwrHMP16wVH + CZ76sK6VsiuzH/kYFec7CMK+erY1WZZZAwsd6X2+j7E9R3N4tmwmINWFe8sDXUhW + ZF/7LSqb4FoLbjqtjqb6+Ag5DFZVCmUvwt+Vm/TKWRspQooJuXpL8SMOKieBKyNc + zwxipIUtFjsCK9GCH3jsEBEUNej6JuG15mlZln2wibNh38gQAllqKhMAHfLlFLPa + WUZIoeX/Hor4qgROoF/CA2ow7pGordDeIzpGcPpu2aMFvOPbs5zYKq5mdI5uGBLG + Y6K2Dlli1mF6aEyMYLNYIEh4FeHd9mHSdwEALgRSV1P7Hqcq2EYVt5F9jsmmw88K + ZxbRG0LOQyL2gZP782m3ZEiLWNfI9oT5G6ScWbqS6T5Ch7JBhoAvClNVo3YDKKRw + 28q0Dp4sqJBdNYPD4UrsL0lQdnkFy9iVxj7lqKHbvzqMlg2JxZyrDNONhz/oadvS + UQEXfxpX3Of8AhreQ6dpSRFr3MPE3zzcCdBHL1hE8M6SOm9744O/94r5RVHUxo8I + 8SLboSlbQs6VxHzybT4vU0f+rzqtvKg61Yii9o1RFNeOAg== + =OfQ1 -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-03-05T19:18:09Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAxLGboZt4V4LfZtKQEM2ie9EjX5h+WYScvkKoIZNwzn4w - lDhRmMQjgSHBhlVUqAYDHp/x9GOt0XSh8pG2SPubpmLQScA1SbpaDfSNCFQw6zdE - 0lEBASkANDIyzjF8AHzQbnMj+qNI+HgpEPlYrIvoStY2ZUi0NOxHBstLr3cklwI3 - lKGwGgAEr6dD0ukSkYiF4HwIOiZgUgXJ80Thaeca0ZDPD0U= - =os61 + hF4DKKbvh61jX5USAQdAU5xT2veiv7lMyuNB2/g33n4CLM9ul6BPmlQKTwQTAGQw + N7y7J/Uf8tqjAOTKAkChpS5+t2XAo0I5QTEcMLshCgMkEwRem2U94aATCb99gXUi + 0lEBiBykP7POwnuCibrJD7wLttt45VCkqosiJvJY2WpLyj0gmGMNcjuNeK2/hpvf + G3iegRa94jflUGGHrzMlb0i6xj5L5lnf5GS49Ui5E7eq/4g= + =eLhg -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/netbox.sops.yaml b/inventories/chaosknoten/host_vars/netbox.sops.yaml index c0cd3c045b..d9a4284eef 100644 --- a/inventories/chaosknoten/host_vars/netbox.sops.yaml +++ b/inventories/chaosknoten/host_vars/netbox.sops.yaml @@ -7,212 +7,203 @@ sops: - recipient: age1ss82zwqkj438re78355p886r89csqrrfmkfp8lrrf8v23nza492qza4ey3 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBLUlNTU3VPRTJPVG9vZmRk - OHp0MXNGK2ZDeUZZMmo5VG8xaEEzYnlZMUh3Ck8yY3dpOUNxM1gyWno3WWw3Wmty - SlBMakx4K1RNUDIyRlJjV2xpeTFPbTQKLS0tIGpQT2lvaVNvcVZtYWVTQmtOU1lj - R2ZmdzY0MWxCUEtIcFFKdFVpVkE5RDAKXhQvJorV5DSWWNIzJ80ofKOtR0IhPKAg - TtF+/AQZq4yXzKE87yScQsTBl3Sy9o+qJk9ElOEgb+9G+xuWBo+MLA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA2MVZSREZ1OTgxZTR4dkRJ + djlDWFFKQXVSdytRT3hYMWdYUkM5Rkg2Tmx3CnhveTMrL0JTd1dvVlhRNnVPZ2N6 + UTA0WE1JVlBFU3lVTDRXYkpIOVoxZWMKLS0tIDhZRWxnMXd3N0RCSmZFZTlpTUxM + emZRbWNpRkJzTUx1UmlrakpnVXBtOVkKbClkiZ/JlXKJnbjFVetuzVdmj14+6ngn + LnMtnd3oyp2cRGZQKP6l1pXM8jnmae91IdvOhe8QLIXw8ie3f6WK3w== -----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: "2026-03-05T19:18:28Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/+PAKSnSssOU0woKXgbafkteDezWkcgMX7FRm2lVe0/KMT - 9i2mwxXjbEkpc6hvq1oHp5Ax7N5MNOdPeoARkCh6jIscRlv1KzRiiGa/LRMh13J8 - 1vDyvFAtn9Ot3VXs5QyU3gDsXDc+xGdwchibUqb6DCoqDr9aOFWpV9YI2S9GJLUN - dVdiym6GkU1PepOjYrD/e8x8W3aUBJ7fO2kMFAYuG7XVCvJkY7FRrhPDdf02Xyvd - wrXz1UlzJMneVvfjJ41Q2TS3U0G6Nz0YJXd0cQAZQukPRveZ+BJfo3/BPXfdxt4K - WwMi5WhdcqpFnS+td5JIETUqAoS6BIHgs/xE+hzEEiFfkXvky5mBhA3EppSoE0vT - 4cZqI6wQbsWznsqgOTHCtpMD9ny7Ez+KVkDg966GSQZEhYYlct+ZRd7QbLrLm7e6 - /cKCt5RjBoMAA503ibuZXJL8YBJXvuA/qgxVlQWzkZaAWeSOdYvQvSoitC7dC5Uw - QNzGePp6/Dl+8mN21uuDVe7LfnzC3GTG6ZAmedPKVsZbRXocrnpq+BHdi0QgRwJh - JtN1dJ+A+TdHf+tM9Afg/3x5ORzyxayxN6RFlDdTJBR2kuVpeZkRqbLV1lSo57a/ - oW4laXGvUltPCdygJnoahrbmQwq1dkeORk8or6Pv13Egdg7Jp5xerCih8+nuOuXS - XgHQITaLUjlLamYlq+kOm3GzJsdZfQDRY5FW+An5pzUmGmyF4vtM3cTtdgAGVxDw - p3kYndW/qJHa8B3MX96rNn1rEFb91L/t6O4OLoLqEl+fvvpLln8YB32MuiWqiTw= - =kSkw + hQIMAxK/JaB2/SdtAQ/9GTKII6qlhGbWV6thbaA6d+Wnf6KqtctwSIVYuve4b6gj + +U8oc/oIO2mqznstqWTlfotHVBXguWH4PLVMTnnozPye65hfnuK4WQhoJHLsCWDc + P8F+YHuKsUQg0EeWj2cfkETRbtPlJtWHCq8N0/A2AfLBNvfScMnN/owuRYFzf0dD + GAcv/Q9iXgirZ+jq420GBmbiGzKfkJ5JcxlTzdEWtekzcqXO2xyt59+ZUEonsE2Z + 4CUbPS3hSSYUUppUpPTLrOC+pPWYmP1hCNowq8lWz6BT2dqHoITsAL6eJJZWfO7Q + eSP/C0z8zdiQ+mI9M1cDYylvf9aJWrpE2etn5N57ilj5EqFo8IZ7VN/n/oQlEGk7 + lVvwWKAC9oMvIiiFuf5ttmvjz4MlT8opuso0BMIkrR/BrDvlddoQfnLtARd5xqTo + QQbdpu60OR2HtPXuQZNOJgoDXcjiNYAAcUpmqQxkXptnND0xa5K5/F4mfhtnVDTp + ILlCWJiBgM/7WXXgwC/HJJ8Vm6/74vzjgZFi1J0HNoqo1lWHP/fBBSn9C9aPRhSY + iL0urry2FE3z20F6g6c3Af6yHFBP+HFT318/BR3gzMFA/njwpqcPQK47ZfqI8M0N + 1uzPX0cnFSDFH3SeO+H32SgcJWywVDQP+SQJ51TtKdQOsIuHo11T7hLReERf7jPS + XAHL0Rwc11UO1Y5KM8875710dysixqoOY9uifTU7b3abt2WbET6Ec6BVLsLbT8qd + yDK4NBENEYlf+PdTdJVqiN7Vlw4+dKBj+Ybo782JIzdjPexWBGfSnAxygu2W + =Koym -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-03-05T19:18:28Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf9GnCim9lHwHl4Xs5sepIBhtBnxNX7w/rAXt2p7B6EQAH8 - d74huPB1HoPTRr36MDzmtlzJfpB7ktphyDj7jQ1QDg/HZBD4y3cvfuXPbseMxfxg - lQcgf6QZBRiElykvbxufUlOoI6052RX+ZsCYcVZRrdEb7VtpTvBL0FzCjzY8tlJn - cEl4H/2TLFk4RJ/kGr2pJWlT6+dEFTJ6+2WRHL5jKwch1K5mo647EjgvGNzTWLFH - 4fOlWwVMF/NBveM8l17tzkJSNgryOH6O5l6MqCGeiRNpxljY0XbjmLTArT7Iwoph - xLtpa66y3de2xbs+dxFscQXUO2DUi0FfTtMFGtwPGNJeAXkRHjjAVicSX3IH9/AJ - aZbVPoqROxieJ32QGh9EcM02ywx0TQ8AhrJT9mczUPx+/TVN/lKTD/xLoUjgefG9 - cdmT2ec8exXJ3jucTZtAV2X47zjR/G56C1p5XelIlQ== - =G5Ji + hQEMA1QflAioE8i3AQgAmN5Rdxc8OXUb7bvAtr84qVFz3aMKhFiBW2fKSzZk6Yja + Sggs1wi53swWFWV7cp8UthHE6kelDhKIPqZLRL4RquOU+2/v0VmxhjAg8pMjPcQW + B6D5RoUxrPpI2SIZmd70lbi2pS8Tuh/cUZkEsE36NkaLXRPEyCke13ZjJBpoO/T2 + bpDnAdi2PVq/7aft6kXH6AvzxGiRgeVpunvR2iA9SQSYz+C/hA2KdO5N9z7P/pOP + RSOmfTE1CtwXoxv9B1JLxVvs54CwTAzQk6Vg9ByXjYlJNv2Wwm8SEwOjQ2T3Larc + PsQFwg1W0tXHF0BQAeI4AH8+ufDS3GywkK9yWcWOF9JcAcsZR/7bMHAu6XFcD0C2 + rgpcGIxJsRiX5N80uxm2T/lFWui4+v+E9JatKsnF9XBwBQhzYzkTD/RUzRgDgXdf + Fo/ImuOg4vjjGoZXZKZ96AQNv0+yXDyvXQnHKYU= + =TM/C -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-03-05T19:18:28Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAAggjBKClqgOkYGQ44g7XQfi9inpZ6RSZO6iLnfq+gSi3p - VXpCjHgYDaMc3PK/vhCp9pCffkc2eO6jzhn4Ev5zugWLIdgNqB6SGQ+4ezlweN/M - d/xYxX4I4kLhJI6jqWHjPC4dn2L4+mO9VqTikblWb3qXQuV0l0mP5AC9lntIXmNV - 1aAFDwK/pZo7kXBlNVw8oO4J+KLslT3upVEDD1e0e9I7MANbJ5I3P0tXe1zSXzRm - WPejeq2RW5JMeipJepnREedvPUAlDNF9gGdFeOTj0wyHUiefh+cO2U3Kv4JCsdcr - E8xZBGuOlwoJ7qlesHQBqtg+/J+JsF4dUuI2ZMGcUq23TF4iY4+XsNa3+yXWgjGm - mD0gO4Ny8gbnJJ+gqfTnP2Sg7oSyepGdNVFt4e7/4j/9zyuzqOUlGcuFGRg0wI7R - zamF1wP7PQjX1jY88W9em5nGmKI/e0Np9VfbYRvCxfRoRPI4teUu1LrkGDn3XKDc - nNzJwjcxniQehjsEGB3hSd2Ks+He4eXcN5XN8EkDkEyoNE0I6BGyJ4Rx9TRlYROO - trjDursHKjVggZpEL40VWGV2CKWmP/g3D28VzmsfHaaMP70bdtAt1OcVigHJ0vu7 - 5cSSKrQHkEy1+foSsmY+hocW7xg+VXToK08SQCqm0oJ2OUTrgx8CuT9z1KIJLkfS - XgHrJWFSs1IkWHbMS5Bfu+Hs3neduA3zLr1Z0r2OTU2YgD+r9ZH1onN1QjCRqMnp - HGpMk6SU+kIj6Vk5tfta1wjnZvMVR+9ltW9EJW1OxMW3VCDDaiL+tQ/FK01B5bA= - =nuuv + hQIMAz5uSgHG2iMJAQ/+KGs7W5+z/dxfag1t6qCiTzZ9DBo4j1dQOhobSfb6DjDS + Sdj5Z6gVFkWeJb/fdcyArW04Y+oK9SwVH9WV25zO3B90OqcI3Td6bWPYXO3k85gi + O8jjcTmmzhF1AT5COFbobTmGqJgfbi1wDRBIpQ4vJaHDs7QoUe/tSDlXeV6d/d8q + iYGx6IL2nqbipfYoefkPkAXT9ig3BFExNKA0JkP/B0Etdab/dILdhH0FzuJ9SDNO + khJQYl4KbZtkzo8lkJN4BGPfH/OMzqd9pLz8Ty/+cDPRrSBtZ8cwufJBhQq8qsYl + gVEJGqp36GSbPMXCBFPB0ShXoiDShsycvsPHkhCKj2u9HNt2sZp7+xlOd4ksS/aE + uzIWCZSm800kYeUJR2JI8OSEzJrynMQwAYn4MDggOWYeto/vAMLmOZ5hRH0AAcWF + NfosS+zne+LnsEncNw7L6gxMJ9Gj6jeyqWn6VxzHw8JbBW864xSWT3T8IkudB75j + ZJMYnWap7dtg9d21of82tvsgH6yjKgsHQUXOH/HnmbxQYhn3BKV/U5umvN408i/j + lhfvEUX+ZHriJhNK7g8IqPJgHiy9LsJDLNCudIHU1mqZ0qXZT14H126QfbuWNnW0 + kUzUrojSfo9t1zKlSNJRYU8pzILlDL+EpZ/Vy6ZelfPkj0InfWhj1CN/77V1DmXS + XAEPFya9Zui0ttn7mDWvA2ZJ4DI1v0ggn2pojAQ+a/co1L41lnj5t+Kb6pfYg6C2 + pWOF+lXua2t3oehf/dXCAVy7eUQIuUhPp3WCjeS66vJ8Vbol+LTFqA0mkCZD + =sGKy -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-03-05T19:18:28Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ/+Pc4g3v48m8CIRMgk4Y4N1fY0Ntw1OhOxyAsMr60ofUSB - TQts5EBnnCpANMV9bz0dDZ7LFHrtMCcsTCEMAyiGRDui99OZAPGiR/nYFixx1iLn - i+6Wd5sJFCrKflmAKLJPTWO7wHVOFLw2/oEW3VrbdIaHMQL9nBOWWr8crLCEFas0 - LchQDNim4A88QfFrJrXGu4DEdHii99v/BW6MTNm/MXA0BWAoNfw3rnWxDzXD+LAg - YE/R4IgpNvI+Z8sbFqY8jc/PkboozuBqr11PZERP5zcc9bvcO99d/TBdzng2efCj - lcpjvHdqCLQ0mNq4PB6Mp3UvKxg4i+bbts8bAuDVY7U/kCZaGN3kV16d38qZecpI - 9+ZrbV/VNe7eSfwxwtlWjwJHc/3aewV03Qn4g5JwODil09WedXRAxt4onzNakYhy - KCYfijNGGaBBPPnQm1dOGvonM5AXWZGK5uvEQnjwveV7BHEgdrlCP0hS/WEjY0xK - kvCs0q4dGsRpl0O1hhrFbONloRuHeXRB0CYwy5zASsTaovidRgZ+zOShtYRjKduH - /5M00zs1SmQC6uvZ8ovt7wN3OKNR9GCzzKD/LF9AoWhGj/1JTpo7Jl8ZQjiJMbw1 - w2bQ2GhZfZ4KewvSyiNxkpLeEjni40xptWWEwDnGRJodPBs9/2guWeXsZB34QOLS - XgGYNuSQGuXZ1/gZ30Ym8KNAzPwiLbfnuMg7bUYfk+/kHVmCyKJ+pa9k0J2aiLfx - 0wkEp7PoTERPnVx1KD9Xr4FJGxRNw/6zL8JVWdKDNT90uEH/qCGUjUigh44PbAo= - =yaHY + hF4DsZXvxFXTXoQSAQdAlTF5TNCmjSfF9K3BHwLSoKcISaPDYh8nqt65vdYs9G0w + JyRScTmDXt+48ivxscGISCQ4o5vMa152Q69qGKGLfUbR3+I5UBe1M/0Nr3Hz0aQr + 0lwBqDYcUPkLN5AW6kFPJ4GO9QiMN2JDOtLOzrqB9QBy4aW+m5LaDID3kmGwWa54 + LcrOprn/lBrOjs7gzurcb9jpwAffuQFniC8DJUskEAC95QU8wIHkPrs4cq4H5g== + =aZcb -----END PGP MESSAGE----- - fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-03-05T19:18:28Z" + fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAkGfmH8uThMY0y1U11Bs5leHQKOIaSgtgQj8DwM7CFzcw - c3umthtSZ8QnQrFcm+82a3kHuQnAVkh2sS5NFIU+YeizIFyaGUKVUXIqdWK9fUmH - 0l4BreqbDV+bgteEIH1lt3fX5EoA7c5Dl/FumYR/V3sS5eQIzDgc1vlOIj7bqHv0 - 42Sbz5+BwmdINdH6trKt/kteukAIJ9FkDBUxi050e9nWyj8xNgEcZY0HzWIveoBZ - =aUM5 + hF4DerEtaFuTeewSAQdADOrnwLpOXOpE/E66MGOIyadF/lv74Jo6PiqDgdw1NBsw + jx+r91bPPqRA+yxpsNncD1ZfhcaUFk2rFlLFG8MS2r/A5T/bAQ69nun8VhxzOl/j + 0lwB/sjaGpXFUGmEXGwriYbPf808VPA/v3pVZAjPtMXvbBi9ZHQBaUl0rEH+GSBI + wY12hhsTiqt6XpPcD9D1IuWv30ANx7z759+RdsG2OAlafiUyr4nytNkgf/TmLQ== + =Epuq -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-03-05T19:18:28Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//ZjhIy6/JTsrupji3iXY1LIdQAGmRX7tAVMHfLKL2EPQp - dz1yZMAxcDuKigGMQwXa35bTcNIO/e+YHe4pZh8eh/j6ddbDGF+AgGvepclDsIdf - WgfLsL26CuSZXt1H+XKRYX734Joy3rDBhFbIJOPaxekrxTfDfyfiCo28p0k+xbOw - K7dJb8BSRRSs3ZayFMKbaVI2g1pmOl006hj5YIS5LCnwumbiPRbVH/M/MyyX2+PZ - 5xIxaSr++n6kzB4gJOiO5q5xbBqoSjYtCZYtM2du3F16iLTN9JuSDo6FjIKtJcNL - yD1kQyzGV4acC64Y9+r3qDSbq9DuLnfPkYu/HAUuItxHo7z2XDmnh921svPQuAT5 - tz7B8OnkUSjSpXgq+DJtQCmidKaExpsUK1+1iMhGQL/tNmFCx8ACyqFx0q9BmMLL - 2o5hy1RuKAbDTMA0iD6tKnyBnonC0rGhcd7lfqAUgMo5tVFcpFPVCQAF7thi23El - 6OCqxisf7P1Bar+QSLH+W6zCzz5mKv+6y6Bm0MX/4EAvxjArHxGKiUURpUr+LkKE - oPgTzxgWGohpn0PvqWANfvh1slf0nsYqtKsSflycFilvCxjNVPoGAUYdCxVGWfGH - ovucSqfQkGzIFwSxclm9t2JN706SSYhQSHnvzzD5Hkkkt5rfZ7GwO7GUhamUE5zS - XgEMvaBHAf0z4gJzZgL0Ez9C5M2ORf8jXI5z6QZCt8wKfvz4VEjUXzBil8+xhlFN - n7upKvaq0fdLh5M0Ln7/2VTgepJxxC8GqlYqDf88WaiwcL/WQl6FVQdL7xDspug= - =m7xO + hQIMAxjNhCKPP69fAQ/+NGUAMIOHZdoFDb76qmpu4BPWGRHP0jnz4WFIrrpcuBWC + KTc6rOIWWZBAVER7OU+uw75BGYQWvUcMX20kEaP7iUCb/2tjpMen+U0HCoXdjp5p + gf5J2PzeFmXgikSZd1wTezzEecvc0EC5SSDWRdqIuS2/TKLLU1TgN1TKMHypp3li + F/8z30KCNUBWME1alqHTwPl935FMjUcvK/WdxnhkS+/amWNLTMbwJGbVp/vq04BC + 9wgoKGMFWMnCs4e+F5GWDjpRB6wPXm1+XxtwPFPKDYDAHAZEnT6EdhcCW4TZIPie + 0bTt7+kS3VPufI64CMTWbafpAtJHTLLJAAZ4AgORSJWazFxzVDIeITm8Q9Ji8kCZ + ofQJizOSA+v/9rbe9OgJWQwe6zFj+MK1sJW+k6VXhzely2BiZGb5PbkB78qsnXH+ + 7rbcvCc2kWMASvG/51DodySdKq2SbcomMM8iH846omULbgva18HCo+XLAXQd10HG + S5PBIXm8UxM7aRZwCJWbG25980jC04zLibFdzSYRHK4HyHUkLh6qWBnlOmPKWX7k + /YL20ufPekD3u554zGYscB3ZXZAyOMvuDuJ4pH92C06pKndzkX7+DeTEb0ejzvK4 + H+B7hVYuLPyEzNu27fSiY7YXt7JEFEd5nSY4L3AQVWdBGie9Hj509a/pmLO/+WfS + XAETvZ0xbPfgx1uTDhVnAHdLHOWIQrdqNNmXqtP/rMfGviVMroO+MTIavZNCXb0f + 03+lgh2k0ynOAFhasa0uCjzG81ybrHF5KZJ7w3kKn1ICmY/pUQqjwBX+jLzO + =Ri5I -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-03-05T19:18:28Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//fjWD58xt+2RqTZbSmGzs1bsYkMajIC9dkrlVyiCqaNue - tl0h2j2LVb5WoCDlC8e8WZjH2Msc/cMTwVTjHZum7/uLOWlIMTTTQHPhxb1DdgiP - HyodQ0LoYFGNIFoSGxqgwnagDyKCEgwGJfwM0xiXS8CRrKZiAFRPV4+wz5E6QECb - f0Ts3sLNjhrXciD4oL0je/za6c4fqgRzlasGEN16mn8yFCqCXpmYzKFmLqXvxWYw - 9jMz8toFiKjkSfrLKUpXQtuAQWGTXgNE3N+eSuyXVPKPe/BwIc0NJV7T3fh20h7n - I+PBetLl+/15E9lpeJil3mV56TCdCehn601/xzOCO+XqhUv0btc44jV5XU03UcyG - O8pMOQP6dJps8IcFyHwAb2AAecSnVa3Bw4tnnYbak9DAm+CmEv6RwiwRJ7nsvHhn - N3wKLoxNJJSD21RweQomlE8W95xCwTt8bZTrjzJhIX8R15PCWlYewLVxndCZM7Bt - VOamJmsNt6OWKQX3kYqbfp6Tbu5gbo8K/rTA90kp5l1d0AiIjWvwCCx1LHO1jxuh - KmOrwfb9661ykENvD7uaM5vLm2DoYtct+VsA5hewLqTbKcjOkPwO5i9EE0r03oS4 - 7IfqHFLRa5vEgtCnJ1BvxXfh0rveC97YqJaniuIlv2X0GSkDfOhoONXRltVkS+nS - XgGFvGIbnYoD84RWZ2KOgxgCYG+l0WAtHZtmthLKRxMLGx0QeurKqP5bS4R0uh7X - V/Vp5pgsxsfYaATFeSAkLOukGFb8lS44M7sbYEwgJs3PWVQUUgorbP+5qXPRe60= - =fU46 + hQIMA1Hthzn+T1OoAQ//YcGA+PKm5vXYdEwFfwf8Dvs9e8qRX9WbR3PrH7/rgfLC + y59Vnx+lJ61D9OcpQhxpOe8TF9YX7rujRxuZ22FDPHm8O/DGCI+3suOHBkdwAsJv + BjSrZZzX66xFGv2FyVlu9ZgdLpVijwA2vUpTKwn2EySbX1ArNZwm1Y/lk3lC46QJ + 8nVi5l7Gkb5j9p6nQakt4p2gK3aGd8ZkjPD6L4/CpCM4HmzhkO4sRV/6ykf3Vmle + 7YsdzC6y9LM/uEHx6CPOsMuufPadulPukP58tp+wxQ73V4B5SV61NgDPXmvq1LC+ + R7e2iUtu8DpYMAebW4neFRTmwLEyWxqhlshMyIFjSgG7Sb4xi/YhxewyaLNd5Cot + /9n6kT2Ekior820ITKQNXS5JLM5VEFEVEtAoGr2oWTv0IdhlonfgR6ZasC0wYGzr + Wqg/2eIXdbFSdr5YdSZ0VvMyvC/wIY/P4UEBAyHuTKxEH9MstC92RuS3HakXubvR + 0a1XBWd9tKN3tyvKBpvvbnMbq9g7gy3PeE6i7BYZ6soHnQ4EyUNLCuYhObyLem8A + LOPaDE2skcAi013i9jXhmMStkhgXOf0ZejeXeTwBfC1zrC2fgj0nV27X3Yd1cROp + 2LAzyJunhepKB9ZE5Mm6Mb5oztiVgJ2IpGlb3Xvw4Jl3rozjdNTPuw3OLL/ctlbS + XAHg77IMVsPb+qKLCrf5hjxOJb5GeGX6z76s+/h9gkoZ7jWPqWTMIf+rtQLtgscU + 71NKZSp7zBCsq3S6dNnoZGqIhQEBUyNnY6Twd1etoj2JJf4KmwpyTT3J96W0 + =rWrI -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-03-05T19:18:28Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQILA46L6MuPqfJqAQ/4z2acXXIUeETerJ9KRGbbeYw4xf7BTe+rqe0Avd9KmKJK - Vh6ilSdlffd6Ni/SKoEmvYIp6ZAppWqgbog1ca41jTs5qgtUN/96ma+kwYyjiHnj - EuGbTYLhrv3AKAUpwMie97Q4YupButGyM2WYzN3BKkdHTsrWHLDblsf3EgheWrek - d4QYsUeBXs6nF5AKxTmTEvGbhQp0ZfqeyzbQOaRLqUCzCMlcqp4aVUK70HPm7Vjo - o/M/ZIXP5oYu64Mxi4R/sf+57rh3pyPlELRJE3fEO4qgAaALB+6uaorqlG8f5l9e - fSDqnqhqHIiJfPOBC6HVRtvlqLW7Mrmy1orfhsrUxsAdsXM7CBCJ62vome5WzRJM - O3p1orP2CXjoyi+4AuZ+tMu00REyFYLuD4vO1F8uazZ5aytZibpvwJ6N8WfJLq79 - bRPwxw4c9b1c95eHKlrlI6BB93UmGo7t7rxCSIwmt3Qv2mv0utL7gI/9S/Usq8bt - uv0C0rcjw3mEefAnowHOJx5UrFmrVpm333jBQwCRq41KLRGxTWjfYg5+ji3SGiAN - C92v1yAnNxLE3+z/o5WGPpXKOdmr87TPqMShymMkZ2htk1iH/A8qC7lAko3r3a9W - EAcm9XAAzWlBp1iGD/RmYCtu20zrHCReRd7idce7qxaWI44NrvVYgocyo65/LNJe - AYpPdmnNB52qU0ZRL6fgyC5WKEO59r3qeb0Z5EX2FhegZu6F8G78/ZsxXQHZ0EJQ - rdLfEUajthH/NK1TzHGjYx5VBv9QV0KZKXFoZKlkfGicuDGsSyC0js8EFagFWw== - =Tstp + hQIMA46L6MuPqfJqAQ//U3EJSgMdTcdxVaMcm5o1vEp6p4zCddpt4X2aJtamN/wS + 5BY98W8jzteXY2objm46e3Eq8EjQPT+ILemS4HRIrMlRBkb6+A63soHxJ7TywW62 + +2l80sC2Gyb57OrdrsECzGkqydNM9CuYcnCUnWaRWLH79FfOFakidAmcB3kjlXJo + QC3NzaSG4fJXNL6WWxMLroeOK4R8oAb39hYbpKeDEhhWVci6h6dUuOeyGIvlwjtF + a8esUdw2ezl5uqhMiwDidVKVnfPTAWw6g4m4qN8ip7ru6sNGmx55M9uxj6KtZcVr + Zpc9U2TI11S7zw+Sh0P6HDDXFIxehCqPHzZBds+Sq/oW7n6oMeg5xMMFIUKPDcaE + fwXkQ+J+nc2w1ZZMaHen5LPwreh1/xZB4ECjkAOGBu2F/AnnmZ1DX0+YTbXDZNaw + 9Grozot/O+DTnwt31Mr3d2pcUvjJ8Xylwoy4sf5Jh9uuzJW6HidX+nCXv7TLHrAx + Qj5zlIjblrMn33HwaoHPxWidCbUAumlACbQjoJvbOr+1rfgarjqPws/a6gsn3EYv + aEGCDwRXejUKhqUQNR7XbJ/CBdqneVzQC9eigXA9PcFKW5EhiUQIEcihcSaXLT7L + g7e5VEii3XXDnS+PMZRptpZlEH4eFz8XUYamrZ9oESrcoE0gOoIE6UGGr8ZdHgTS + XAGjOW5xcx2OfRyEO/a7APIGoTEgoFPo1s8cA3v6FEerkZ6hbCUC+YR2ae7s/mhE + uSAOoFryTXFBOno7bLfrQfR0VLfGLT4kCeH27j3dxupSFzCQuJ/ZByLBxdZf + =Z8BG -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-03-05T19:18:28Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdA8t5XPBc/00zkeREBvVAV0PijlaK3LGcopzNCyuaGAR8w - 6Xh7hR4nR+BDgRT6WL9k1k0JImPjHYZjchg7x9YFQUY4R6Gnq1qJcjVeTyuqyxQu - 0l4BNt3gU+AxYZG2Hrd0/fBQFuP4ntqZpyZcq9l8Xz8veiZ0figslDVupCz4NOyS - PtzbRUiW+5mJc7zc7Q/qkZhPfWPXQuAj/cTfTuZNUI2OhJj5/0+/NVT+1MgucI3y - =EBs8 + hF4DQrf1tCqiJxoSAQdAXqK6wGYbSyHmDU15txoG4/Hg1eu1IItUfFGsrxgCCkMw + d2elDs3we1J2HcFPFpI8Mm4ukJOcjcDGHXx/5pStVnXqOlelI7bYsTTkWfUN+3Q6 + 0lwBrfhZjXVrgFQi61rVzAgaci+sEhbzw2nGOddV1emFLr9F3p8SK1MeoO4WbJ+q + NssA8h4hnL5UUZAl0u/5c64nCuBQ+evsjvsJNiDdgGBEtQv+VlOI6ZaIuAqguA== + =aZ6M -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-03-05T19:18:28Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAbLeKcKN2BHoDyisdl98d/CkvFO3sYWgPtPalDhSKhwQw - aSG1LRn066sDcL5W276vz9Pr2L3ivN8HH67sSswPckwM76WGbIL7d1vDLHTykq0j - 0lgBl2pXfngwIDBBKU1CSsbu4b94WPSYpOgqcl5pvqJwJHqZ81bxd7uqfjiJJTPq - NA6y7dx1cGdEIWGtNFeOARUeuqSWtxFUXTAiAJ8ugzfSJqRPRlKeBvyn - =XP+N + hF4DzAGzViGx4qcSAQdACxQrwi/yHUbO4ZFlFNMLtRR1d5JY2zCtl/1X9uNk9REw + TX3ddTn1Tz5MfhIg1W/6rsRxuP1hNERWzHl/tYfV7oo+XJn9YDMmZM7lFNWOBuVl + 0lYB+Gh1napJQL8JP2XBO7DX0soEqtP0yQAHoKB9O8rk9VtODJ9SuydzXgdJH0bn + 3FjJkP3bygnqjwjzLR9HHGnpmP4Le0s6xSVr4RbK2A9+NMsJOcJRKQ== + =cEas -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-03-05T19:18:28Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAAz/pmR6zYKES6EWku4O297Xk94GNeGLWpS5UHlfWE3Sxx - cY29n3IbjDpeGOPYyP0NHQ3y7fIkTZ4nwZtFbm1DLQnSPHJp2E2lBjUmkdH+qwv7 - UGnWcaEoMD2DUSK6AYUEPso58C/GBAEvr4feVFaLWm4cnucoZNke4XIZbyuMAi72 - 0qj4NQeKiUeYO8Z+9lcnyj6gOjmCjiAhiGQ5lEcu6jRu5g+vzBkcHBVYG6h+QdNd - BO/OrIwaWATSSEWqaG09MefAOXw+itzOVQ2ifv7HvLqk9rTJFoqwd+WL9ibAWDSn - J90afOpa904qRtwSF0lu4ABn8iklbQhHJBtm8AD073RokMk0+kJnftVJktnMdg84 - 5VXD/Itg5VVbIvXvlyqQsqJz/yktv/2ML54ONw3ogbnjly1wWmDFuOyupBsSWH82 - ifYP0w2k7hFBQLRsdQM98OzdOUxymioOHU6Io+6oq6Dcyat8eyp4TpgZx7/Ngs5I - eb6TxNKzVxvZxDt9rvqPGjhwA2LnFBg4kU2fLn/tL1Is+/4VvnFy1ac8jQb02/CY - ZAJDSGWTCIS6fsVhAb09fiLTO2EhQYk7RMscLeF8DJ6ftZ/jJhMnrPZRRJLSLpvL - n0mNduXbJn2cGhuYv0aJdaLFKOPocxRZO/18U1oCM9BGHpdJ8pap+YC5vN2HyYrS - XgGh6jutpqNUqcycXu6qgo55SEiNTBwHN059QJ+uNtU8EYSacRGlHK86s/A45BGb - a6VQIo/FM3qbK0u+UF6ZHM85Y5KXx1YDL8GL/D6BBdzG2kootsvvv6Zscv4Hdg8= - =KI1f + hQIMA2pVdGTIrZI+ARAAh7W4VXGDkBfyZYgE9NWj752na2B2xPllcHbvB43XwCj9 + arxliqLkD/FPZSJK4LDW0BSUbikKMpxjR3TUpzz+PTXAnCExHOecPfOkQHe6eH16 + toeSGnmKW6gchlWqxsW4s7fKx0hTYe44NHBpGv3wUbCys+I5H3b/gy9Ho0A3/GjX + SD/NDs69Gt9Y3Upb3xkc7Pqu+g9B+3vU06ldGgpfFb1145btJDMkpr15PwOBHXUR + Ca79niFfkIVDQ14E0HrbFgQkIR5QeP9QK/TtEc+ToYrZFDa9VAR8YHWZb1sqw7vw + 8apOVnxAjUmcjOeKJIjPVCxDgKmCrXqQH1gawVCS556dBsCCZj+rc6ecWXFKxmtT + FfEFM+/fV5lVLoZdRDcgay9oR/3M4VRRJF7F6FYY+vG+Nh3m2/avkihv70V+bT6o + 9BQKlmRfd9c7WC29qmuFrqaGnryTJmOlU9R2tR37k7ZItAOF30drUHw1SE9vTgFx + L71E4raKujvY5X8ZuSXZ49fa/9JsMAZiGtTRueCvr4ybnZRkAJrtVl3JNs8I4dOE + evIxPW1Ap6oejqh+NQy+ZVgRd74IQQXiY2Vd/Q1516iLnv8pmZs9PQBDbfHrzDr4 + x+mXs62fMOFSnMzTNLYgmx0g4bW0F21dcKcEMMYUPXPd+AMpvB0VQ9qua1CmqNXS + XAHQyy4hX+8Q/iuVXP4CZYt3ITWa4DWzMcGfiFvEYeX1BKmB9u6tfMzgPcysif6x + a+K4kqHptAMYqvZK7F9PvBr4MvUId2v0gJGpZb8ikrLO3EbhV86a/lySoYEv + =TnoJ -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-03-05T19:18:28Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAf7RD+jw4eBe+mj4wCVFPjz2lFVlQM4OlWhwGM2If3F0w - lMoUOTeRpjmupMXWVJNs8cdJ3PWsDRzw3aLW5ZrMVGns09O3Jwf0+XAgt2mCyh2L - 0l4Bg42emEufRJcA50qEtOWAybg8EgP1Zbdh6uC0C+UT/fZyaYhasT0GBd5IBbOW - lLbWHKws5zxS7yK5fLNjemssKIM+41lsiP4TlETeptaWe+Zseps6J/FYLH11mfwJ - =1jgt + hF4DKKbvh61jX5USAQdAGhmCLaTcCWWFhFBoltvOdySsWNKvdQ4NzCvbld9vZHkw + f9cAi+ytf6adjbAhVSrtLsUVJ3mz0reFXT7PTE2PT4yEbwNLMl5WmewTRW5oeEfI + 0lwBy125lrxmSo3QlX0j9Lo8P2KsQhfc8cYORNqil4CnmS1q5DmPHUUgJwGWUdgA + i5OUiHFZqkxg4h3fcOtRLWmgpXD4TVZ5DoZjpujtvl8yXpFQZA6DrUHxtufpOA== + =Lup6 -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/ntfy.sops.yaml b/inventories/chaosknoten/host_vars/ntfy.sops.yaml index 6db4f7a15a..7bdde15190 100644 --- a/inventories/chaosknoten/host_vars/ntfy.sops.yaml +++ b/inventories/chaosknoten/host_vars/ntfy.sops.yaml @@ -10,212 +10,203 @@ sops: - recipient: age1dkecypmfuj0tcm2cz8vnvq5drpu2ddhgnfkzxvscs7m4e79gpseqyhr9pg enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBUSjhVTlNsZFdrNjM0NFQ2 - Um0zWXYwVmZwV2ZHUklmOXRXZmJMY2ZPMVRVCkE3eFZsb3g1dk1hMEJ4ZkY1cmNm - ZzJYSkY3dW1iU3Z1RkpMREl4ZUt1RTgKLS0tIFFrbm12bmozT1dKRnpBZkY5N2Fq - T3JSRVZsMVo1a253bEFyLzg2UlVkbm8KlqAxTUin+j4scHRuImN/h8Kt7znh1O8r - zovHVQaSMESAalmgByDm+9f+J65BGxW+vX2Otg8REFmByWkFsaqGbw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGZ25NeDBJN080QndZb0hM + WTZ2NWxPczRYRzFPcjB2cG9qdy9qQTdrVWxFCnhucTdYdENlMFQ1RGRKbG0zOFQv + anlhM2tzRGk5cEUyZUpkZDZ4bitQaEkKLS0tIFhvZTBwQmlRN3E3MUdDVkR4TVNv + Y3REREtaaVorQzJybGtxakRpRUQ2TGcKLNfvkrmQFQaj9YO0HTa8N+58fjkJgkC7 + 1f7FJYs8bda/nIewSfUeZlpla8iRUaJMJ5cjqKfOoM2uE7PtewmMnA== -----END AGE ENCRYPTED FILE----- 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: "2026-03-05T19:18:02Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/9E7E67hksPM6KqpSPqLxhwG+LsNqqsYNVC7HRULMqeRz9 - wlOgISxUbFIUAY4xhqvoHLTjDMCoj9FJXzSaQwR1QIm8B6q+nqcxURm+l8eiiVCZ - lZhHbicDVCt00XQIMAm4KhzRqyq8ZglyNljq7clB0OKtb3E4e3P0Isz9cYW+qwZu - vIvwX52BcZ9cHoam+FA/CoZpaJ40t2aSFExJdWIkyUodc92Q9eoquhOBN23xtp7G - G47a1VQbY58w3h4dMfCKDTnZIef+bB6H9yIaMkIxcPznF1EoZSWuTeHQ+cgIeH0P - hHf6n0+FrgtVbrUwUd2ypvIkv6DZFZH+ZCY0nPcwaxMnfx8klNk7RV4Ojro5T2Ps - WhbBRLAvzAr1m9mm1Fksmybax4UcoY2NYpBxAJh62l/cYDV33kq09INQEICG6+tQ - IUJN3OCYV7oE7gc9yzWAhMkU3gulgil8kR01PzTwo2WrPYAt2TDPKPpMxPUSJsq/ - AgWsrgxuWsL5NGcdMBv63vvXSOvByy331sEiOdAPFiTpL0/cKA2lF6FFAjXOMp+E - ksCKj6wij0/bft60tEIpHnC7yKI82s+4Y/cQkur4coA3l+4qNR4o7Q3eb6S5oZtJ - 07TeQZ2Gjq/f87ho6w2I8nGbpYZrdDVDQpFs6euUw6+wOJMjfB/9ISXWVEMx0Y/S - XgH/dsgHT7F9MyU7rgGDdCDRVAaa6RLy9uG36Kc4yc2yZeJjlwOVP6cvTptE1txr - xy0ilZmlF7vdmsAAvHxdZGmAqgZREEYKTiVYTThlBoBFEVZyokvFrbJaLijGTtA= - =cA5I + hQIMAxK/JaB2/SdtAQ/8Desrk7uheYFrVxc8exyEnRuIIZlF3uEAKCbualG5vHew + yu5kfHhIuVi89BiQ5n498mCPp2CGOrysNuQTTQISDTlsV1fhc6LK6g8meuGpNwfo + VGZZjq2iwpB0f9I9Lk5d39eRgH6Ug7/J7RazzhG0QsXUSWi+Pm5phWSyHgQGUc71 + ktnBcy3vT1HMstyD+K/hcH51ko8AmchsyCNWMarbOA4eh6/1866UhUsJLau/QyNi + p6qmQo50LYT+NJXPFZ2FMRaxPeIW5RMxmsZziZM5MlKWVObk2YcqxAwkY7NojJeN + YjtFoEl9ps4OLJ6CEpbd00ePJbgw2Qu2NZzfvPWFq/EubWL3zGdEpR5BGZ1Me7YY + 5LqHxV2G/zCvgquwx9hVhU0JsmT+FRPRQ4XTUnk32v+nRq5vKFfTYOObUpMUG168 + ZpK3SGgkhRZf6aCCvDeMmlpWhngMGwpAGsrLp4wAh3G1q4BAgEWcKTfKDY2gm/cr + bGclvkjAsfah9Z6LvSoE9NW4atrb9Xu81zcAtAsxK4Acg5BWA+PPmDcySe70nEqt + usU2w2eNvs8jLDULQNIIZh/usuPSwqX4NKGZoGOGB++NBAC4pZgxfgLKN2ZRTay9 + NftKBjjs2Ybts/lbIJr8eks4pHNuQnCCgUIddW2DDdW1ZkuQqH+4BdcwBOTll5PS + XgE7+2GwazJTnrRXRz8SrSQY9zx/i+H3foNkgGDXnXrPVNTH59ttlVi4fU4duMpU + A/HZuWwh64oai086TvgG0IEEl/Stirqq3fiYuu9YLtxcQIeWnnwDn+8D0adLjDc= + =NcQZ -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-03-05T19:18:02Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf/XUYwQH3IHuPebzT0g/RyUyWlUOzf2fumTS+runWew4Sd - Hyh5FoNmGirQw5W8UsUb6FfVDVAr7jnsSU6t1K8G36/ChtWR7wNXMj3fjjSLwvcy - yoKd9cGUualKDZR5n1+EhZ1IHtQ1n4evi+WsEra/OJEIGEhgVSSHIGUJfxZQzs5H - QEXeZj76146FwKP39GajTkguHIkkJeL4ekzdPD/hvSnQrpNlWZEoDLLvsIYFqSmS - x3g+z76ORkCFbnSSHRI7dZw0Z7huOQPaicIiqM6GKrvzyKV3A82BSE/m5dHsdKHg - PcYOVJvj3k4zDEK0wuL1/cuqxFtgUrEzOnertiq9r9JeAX8hycJvTKik5URLYp/D - kOsQzqY5NlGTC4arNCOo1pLxoYTRcVGBPrRfDPTV+vxDicfMRoLnqyv+TRTZnwMh - 2zWv8YDJwL3n+Xwuz2btwAFlkly0r9F8y3dAEfuG2A== - =/Uw1 + hQEMA1QflAioE8i3AQgAlFR3ocelNnI++NaAl90rzQ/NWryLdPy6XqH64rbKkv3n + m4Mp3JtqE95TFQzx4erU0fNyzgkU30KNbQV5N5lwhh/zHxf7szTEYDCRD9OsBvJ7 + u72H3OGVwWzFs2P9Qqs0/NE/hkaUS0FIEad/9xjN98HEe7YQjHdOdxaJAGPpJYWF + 2SWBLHZAFHsWXCXx5M+gd3TmuhbKaysb1FDr6eh3ht3adVUaILK3Gu3+4FK0Yf4c + Q025YmnC03btd6S1ZaWbHBaYq9xlxnQUT33cb1+i/LMQuz/tFMG71oCszlom5Gfh + pKrbOg60/GivhB37TKYOX40Ndnl6Y1BUHR+d3NEdn9JeARx5BHTYqUan2DFrHXlp + BsZjyujLnO7SK+wLIuvqpFXHyC5/6ER+OQtvsSNZ3NPcXxitSwu9IwHsNtmrBiOU + Q6XmKADytBw49DWwu+Y7CCL+ZxLjh8iOWW+mXvCxDg== + =l5fj -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-03-05T19:18:02Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAA4w+a3rfVO4pbk3LYkC0NF82vzrSzmI4pl3cavEr6kKTp - h9vVqBUUHN6UyYrFxmkXqCGEE/zcqnKrl5NJGVcUDkT5l7P3PUybPEmPUxLDTeoS - KctYhoItWM+6SEJmKMBEoe9a2NFPrUxsseV02U0wdHIN5KblH1gY8lr3MPp7K+0r - 3MSePZXxjAvZikVJSxxS/TALmlNMP2cKtaz4VoAWMzhXr8Y8WVzm1eUTN1e5Qxro - v/P1JTtUPGyppglR3lpwRchaOju6GATwAi6+xkYI5EAHnZmsfioyeRIqlMrOn0y0 - hB2mfcOksv1WoqVCbQ2lWb8Ks3PXw4OHSVKZJFfDo9jICNWM+z1U4zFYwz/KH0Y1 - IVuGNivmDu77vH+NEvj2nAxlC4vecOgTqAjcapg310GwFAI3iW/PSOkKy+esWAwl - xtXZDFBIOdP3d6Zq0GswdLGsaS34nXHh3HPILlJk9jNTxXdJpd540quCH4uxECfp - WYtLjC8xstkXZVzHzwgVsdjXbIaZrvoZWDB7rtp9xKNAl+s+EBT2TO7SQobTKVFe - zgOLa/JE7vAmN9Qn/39Qy/rHWR50rW+mu+QTimp7CPgJSmqLtu7id4kUfa+ZSv7z - lZjOIglbVfs11ni5pK4rUDI88WJ4YOEIb5nKf1uo8CpozbCoCkW6T4OwBSOPpM7S - XgF7+9xFppIZCMgGeikXgkvbhvfoxRB02pSxmM79iVhx7uqG/pdDlZjWVkjngGRo - hZyNHQPBCAvNM2cQlQik4+eDbbSqKlmKT7uhjg8vOz8Y2tqSgBpti2ljPruiFSY= - =ttcO + hQIMAz5uSgHG2iMJARAAr1h4N+YdTdw7cL6FAOL/lyFbgNRk0s98rnmtiFWss5pb + OoB+V6w4LWjDb8AHpB6NV2gWuxDbs7TE30i7BkGKHtJQ2knT0y4J87pIFuq9+Bwn + o1oN4HCloHe5cbWtrmF/T2cYFaprUOkWxHNZ8pN64UJVBi0jAUQKd+MVZvwfm2iJ + 8865sEOCD9ztqDysKV3cIBhJnMCIM+o9iJ8Zf6nENS5hDK217VlMZtpS51UvE3KR + oqIngG4TqsCFPpCmgK6EwjS04bEIBNiowLXc0TAOysjQ/KKHrFXmK41HRdvm04Cr + jTJ1F+fVIX78MfIkW4v5EN5xujCz85A6B6LIclV4a9wJTI1gBim25qHzO2QnXV74 + ufSU95DWQfg+dtrokaTJ71EihLA6OYgwGEGvKoY83X+FE3NWoeVd8v6Sm+Nh42wg + fJBVhHDDtjZLcCdDhJOO6c5YzvUP6CQvIIDWeoOa8e8J0Jx82SuOobddLiAuDsDV + sncytIWizFAorwTDuhdov7r/X61aj3KKWTixHF7NNVSoqc7f51F3leux6wLwA/28 + +1EX2ZB1dO6XDNcT9Rpsb1YvT6jsWr1MnrCP8pRZYIy7QF5IeBDcdo/E0PBtGW2g + 7CzIXbbEamUJbR+X42N06xgD4Lfy/3uRPSHaMqrxCrKr3E4w0lRR/u2ylscwHfTS + XgEMeZmiozYXojzhsMr7XkktskfZNgB4NF08xvGPmcjGO+puFHX8/OKKvzBcY/1c + 0HanmYQVLeh5qeOdi0m1mB82JrmyzH/OY5N4QRZIQbEZVT3jd7the88P/xpCHbw= + =n9Lh -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-03-05T19:18:02Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ/7B/iGiiD+uZo0qmu9t7yNiIdTeLrgmixASdHpqZAx63cl - zRRlqpGRmLa1pj0zLK2RstpO7zYeiiXUZtftCcawrY2Ow2INXTBIbjKobedQzHND - OY18BeIi9bAJofdIT8okLDXaN42f0Jpb6QIhqkraGZcS56yzkTCtqfcV3u5OspcR - Ou6UlqqeIKUjtjVbL+8cPatyNiJqTm8fDJxr+HnCmWoyeOf4g6uIC+eAVKx8zlEx - 8Zd8I3lCaDNb8tOx6nE91/D2IiTE+N0fMY1YknQryr1lGfQbY+5D7OXCrAtKYgUI - pKglHrjTTWREegCCBcCP0SZIZaJVN4YtX79Ti1Bf+1+VoS6DejoUQmq/NK9Ciz5H - p0aH+hBmR8V4bpOSyfvP5GllNWqkEtyE1pfcNqMum6Z69zUqWgp7s+6IqLT0ujvy - d54tkvIAfpaDUuQqvGsZ+wgruvrkRNSRZpZp9AN3B/o/tY5E4ihYFMO16Lwg9O+z - ufY+vo3qD5sofEci33QeGyNFAVmfwT4z0rR8Im5en9x2OapsiBkEqh4TQ8X8hFXv - jFYPxDnOp57kk3QyQVWdLOShsl4Tl4DLgzYI/vdDdPWaaWQ41urBYqSrEvh7cyT3 - w9UfeGz1OczHEFkr0m8uesxTjJjZMgwHo+D25r/IA/JeTZi3l+OZxbMnLrOpFxXS - XgGAewCboM+rhYLnCwGbDN+8w7AAt0Rh6DBMw0FNcsj2AA7ZD6yILB2RuSWnQoJP - 5WZMpyBU5tfaRNo3WtGDwaUn1xHtGuNmFm90gR3dobz5vvg3UxD+FHNXjdDlmPU= - =oO4K + hF4DsZXvxFXTXoQSAQdAN+KVkLk9aBOPb8ED9V0TgYYqoDCKhbtDxRXeJB3hjxYw + i122RCVU6Ur8fpyrdBlrnoks/VKkwfqcfl0C/NK4SjZ7p1Z0Aj8f3JnxyHaFfinm + 0l4BGoV/ZTgTivxwBwlqZj+CZng0ErGAp7oD97wuzCYyZoKaTJvIGXeDfInVXY2w + VNPLSmKcbVCerMawgAh9sdAmVZ6FDRBLm0yB546a1ck+AoxjN4p4VRQuVKCkZvqB + =EDTu -----END PGP MESSAGE----- - fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-03-05T19:18:02Z" + fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdA9U9yZ/CD+vR7Ee2I5eencLqk8yzk2d7toI/8U+3taBcw - 5Xi2VB+HnOs0uQZheB6+60FwrrHvoQJ4nzt0BC0RPGdP4d/bdzLsRVv6mhym6vST - 0l4BWd3l77NVJmMoYwLjwTZNVpWTJjRpNm4QowSnRc6ncgR579/4s3lXn0e7b/V4 - BKuNXG5vJXiDESjrL7ZeaonG9R3rqMAKQEZ6R6bthOrBM1n/s0qC1dFhVC5faOem - =omsV + hF4DerEtaFuTeewSAQdACIKP32fed6OC/p+I+g/5pv5Yj0DrUoL6IjuG/ivOeXcw + W12fIavzHJTPjND+ClIjHGRAu6TNLvRWTbRah8XiJDBF6ObZPnMXu4XvC8J0rsaz + 0l4B/N8YnItS5PbpBfppJNKLXYJsvEet3OF3ff8puy3y0IQGO87HgmYE2w9PF59C + UdCNvGQslAhFe5wEhxH1xq4F5VIQkFHsKM68FyVSpwBbOm9dFLeo9WbGV+lytdNg + =+yTe -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-03-05T19:18:02Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fARAAgOY3b+8Fz3p1+RJOqYl8YWqvArljWq9dzMCt2fkwiSmE - 7VL2f3RAY4icqJmJrSpC77+AbAcNuqwHLdOT2i+T3Z9Vwkh2PYFGBTmbZfaF//Uk - pCSbR2P0wlV7amcizyyRmwmKIjTKi+/EYiUuOCOMLvujP7ErP9BJWkpBZekMt4cv - UyKhsgrZ8tS/dA/DKNSPUWCMbikyvfa1DyQPPwua6nbxtRK8o03oiHZVEQYN7VDh - Y2JIzbGeTMJDkUs9C2saBiFAHQH2/P6MCM3mEl9dTNo08NqXzfXe4hGxX99Sdjig - Ut1EAGFY+t4Ktr9SurXvcCNLeWPMEjeQTk+p2jh/8gVYLdQsHYcVGOa3mBJDHvgG - pzgt2qKiFiedoHjAPrfZFyzT9TnQltE0YNpOkoHtw+hUC7VvUwg8iplsF6q2/pdk - ODFtvfOQ3Sje2LsSWgjlgL2sB47VYibNELUdiOaf/aWN0cB4VilnOrcPj9A57zMi - yQfHYvEagrbI/lvP6AGcqw4nYZk9n0vVGZWUGXQD2GlyP33u1Q3W5n6DtuvIGTGY - INY3OnXj+k//a+qNN7JEuqfLs1eDyinmjg9iPjiKEf6QQmAFtkQGv0a6Ouo7HSsK - sT/PWwvyRc4+OjF7CjFXQjawIqUZeeXedDoza8rJ3gGoIrnd8iQBf7taMXMmaErS - XgGXfD81kq14zLil5IlJO0SvfHWLjukqsfVl5we3wfAqVuHXMFSvXVnFapqVXx8c - fKExMfdz2rc7AFI+W7gsoWRLx1BWoSN6N31ygK36RwUNl/VSYp7TC/B+BGTGL0c= - =+A2J + hQIMAxjNhCKPP69fAQ//djNKoJcBJBioSh3h525htxR+hGSpCkBX+AXQZHVWuaFq + +6Ow87gSnisXqOB9j6RYmLN86FNTysf7EFtZtiuDpqSaboT5i/cf7+EVIl9TvKEk + haRI8Mbi9vtXrc8rhhfRUJhGa/XfkjXr6/dDTc6F9PoXjaU/nTYFbSg+LTT8LLJD + jLvjLB0wmsix7ZhQZAU+uwNPCh76CeYaEyOsk71JDTCmdAsHN7eZAaYATU2CITFI + cihnvisazKqjGxTl2LtTPKFsv+iF2i7TlI2dyyueUohpTdHSYZwU8VVLVJZyWOhv + hqvJ+DqHFNAS7ub5hiI+yguj24zYleCfPTLh1SBOW521tvEH1UdK3irwh4yoJwzY + fjUt7nvoKPdU+5RaFiYUlRs7Z3bEazYwrE8Bje6l3uGXjJEYrf7oNZU2z0ku8Wxg + wfg4RpC8dzj35VL6z7OpXk4uplSb4fKhVuAkurITkRO9Yw2NMUk+Nwi9d9T4tAhT + vQIrb5ufiIp4gFoZR5ef7FSEvNotdDC9qZJJhtjbkF4k/nErkYdoscDcdmb8Ssoy + Z3s9d7hcElP1Hsou1IRDceSc+uW+AZqGREGnCgm0GDsa1kV6j6OOl/DaeDmwyj9w + 7Bb6nADhbHBgbcSHdpIhJTgLFrOP8amW44Ewg6EQ3LQUJTOoS73xbEqBK4DflajS + XgHxbqJb1tgQOoPL89x1t+tx5Y+lXs9L93a9jVljSpJHoZ7Yc8pL7Yt3IU5uVo/T + wg1WAduwd1pMzutHarAKxYGNzetx9M4X1xykE3X5h4grY9tBGG48GlTUdGkVWHU= + =wF42 -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-03-05T19:18:02Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ/+OCt9ZCAlI/5NH+GvVaVs97DFn8c8GvGVMwfl1eSK2U6W - bgrZk0Y7Mt/6Flbj/ud0XJls+YDKuJY8jB1uk+Wrz9NRwX21DPv1DugnS1y66oF5 - EhrmoAaHiac/Rg1VCdjOKIlDi4C5473WLT2SFFxH7DEUjMoTVbzb2wx6Ow2ngumG - ccFis6coYctvYMhdsJs/shGk4dC9CTjebZAjFxdX6hUM2QzOs8yIJh2DJf4Hm+cV - 6/RcFGkTrLXR6cJCMZDbkWfx6wMAYwnMkQ1j2s7BSOOJkg2WTd59P0OrgEXyaZk9 - JgINEG1AcCfqclWyk9TWUaILSdbhRxVnZWBWTieo5fw/r+j+sIcZFfUfD0F8v1e/ - sbShb3ODC+bb7O9iLOjlOJciE7U7pUq6Ob9jXapdoQ+LEPo2SzzzrlAmKJZ2zPFf - LDm07JI5xAy2bePetmxO8WFRpPNIChLgrGU4Ev3i90aXJbP9ddysp1jjt/BAEHj9 - 3uVkfmPbH75eysUgeySlEjknRwHzJ3SJqVA/cTGujJXFhMzx7OWn5tWze5At03ZT - oFiygLO91DUFCm5eDB0Ge6Ov5Y3gHx3lNWdBXvP8CLDJu2Dks80Up8/8voqfTt8B - CZ7oJZaMFXH7zMb51qAeIhavQwelb59mGGSPAgROei2N9hTapxcIftDM5/nM7evS - XgEU+VxYhBzYKnRg4viofMJYLHeJDNjjCWHb/OpUJWRAC2sZjJ6ndqJHaQT+AT3O - 0gU+un0gYS1UiPpgVyv0Nd/n5vlr5Y3MgXcWdQeoJ60/SJiz1jxHGgw+9NgIVSE= - =A2XN + hQIMA1Hthzn+T1OoARAAqSY6gjxjm2VEfQL0gymnmh4kXrf6nOK6MvwcQAnwibgP + WQpJXHKiEkDZF2JFr6hXA0ThLGnAxotcTHANm0aZLeZ4SYbcCMeeB9+iT4I0XRbl + YP5jhcBk7vGDOcUXxO0f2HnYaxGvUkRdUE0b2Bt0pQdUQ3RgVewczZzgIRs6YOGo + s5pRAp2MDYqKA96L5dYuda7xtkVCHL9pST/UGCR6n2h1tG6Y+becN2v5hlp7he1E + sjKIelJr1HoxCeNvjOGdvxGr1nEqRgCiquQ5tldyhu2Rxk+kTf1PRx8L2EBuTFD/ + Nw3UWjXux3ib7oDbKueMYNzo4Qnx9jcw05NfuUnM68L32RyGVkbVxBxE11QXed01 + LIWIi8dKz9rqC3HxV4QZ3YHuJDL44CNPRxVNAb0cRI1+ZmUt0dDUNfW3rkvv+sA1 + 3d7KGn5ARrmIpLMltIyupKI02xlhqmEOpQXDIRzfS2B9YUjq1OGZilSeZtbP1ZBp + yrkRDUldP6b72B0OlIIQN49x6Hm2xcH9ofBoGL4I4xzlmXkjSyc+37plxd3pWoII + 0EXM975XYQImOPKdaOicJwnt9GsbNpupNs0PKL3KEMSQwpIKNkFQynkK+HtlrNrU + ayawfzbr4Ls7a0XAh3RyHDp9t9UlyetnnCOowSXriF4VofoIvNZBW5WFKl1q9u3S + XgHdTAhY7BEV/PGSIAWYHJ36N8216PHDgUnYiNtq75F5I0hOZ1YOsqpHrUsBZPYA + neo7+4zx+L5WNcIG9Tl7jOz41DWlopgIfptkAK0DBmuwxR0iAfi7jDvIBR+t9C0= + =swMe -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-03-05T19:18:02Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ//cz/zfM1Tt694ZPvwaGEclTgojnAT1ULmndMA4L2ifd4W - 4l3AAzPBA6Onm6Uie136s9Q7sXTxU7rR48UjrvuLOSLkMXy52mTYgy1Ls82e6AX5 - YZFfoqe2yXFlKIQZgWylgf2VSdVIqKsnyciZaUa2p0YkOU2/CasITOVQipbWonEd - KeTbPGtM6gdSHqvhle5Lz6wIWsLa4+CZ3Bvozar1YFEZWU5CSLKOoznEL4TNZVDv - DIlXAWAs5Pv9dgbPAI0jd669pjiBvppsYgnZRhurknf+w/mEoCFerytYNVpS4LW2 - A2QwDw7+KSgUSIt9BLNxzlvxM4xrl4PV6EhRDfk3vUti7Z1rNyWNSuMVbUh7xrY+ - fN3RFZU/OtJHF1NOMN/bTYWi+UG30NLghuyYi2k+emSWDcRByolxGsnCEl5YVgcG - BqEh6seBi6f98X5Jup7l3sJc+V/903aOqK66BQP6SZGUDmCBHOLmXSm/XAGN6QlN - 4FqCjOO7AoxRVktM3bl/vcSyy2ii5TdCqckvh451DFWIHGFZ+/9UH9oXJ27h0HMZ - 1BnRfTvcMc7BkgM4NUMoeGhShcvi/M0VLbcEr8zsdY4JFpN7Usjw8A8Prp18y7c1 - bDCjf6OsOf5pxshXDlXqGfCNQfcDVtbZYrMCf/3ijaz8FCYrEPUVZ2Sr6E1ZZFvS - XgH4AWqxCAabqXOOnF2fhqoYShERPodQ5bFUXZE1x1vh77LK8b/fxkgsCB/snOnK - TZlEtXdF6UMpZl1EWfewQQXz+UftlijFl2SyPZzB0/RRkTH6urNWvU3RlbLEF+A= - =AXBG + hQIMA46L6MuPqfJqARAAr8hBuOlsd7E5ULu6psY4kNyqJ8ecfmV8Ndhy6JTXJiXO + RLGHynxuadd5/kxvM8ga0p0dWJ/r4A7PbuQTzo/iqRnppqCP6a9QncmCoiX00qfc + ahoN+u47biqe8qTCcyvza9b7J2sFseQ2QhpnDQYNMgQZSXFD9TjPVRx63VLRs6hw + /R2m3Hc4w8LNYUBMjSjpVOFfSIh0mNgz/M9CzjluLAed5zlfsiddIHJitEvKvsVY + kVllfX0GZjxobrnUbA5v6CK7o8Lo4tZCqjW/M0TWG61+BxQuxFx440cCvuTA/QGI + TdIzgUvXKFyz0A3zzcG2l+ggO2AyTPy61JEqnnZSiexsH5CbTmKFcKfQnMeb/u0u + svnwyq3UCz3kQWYWzmq0lHV/OUtxdH6Lm33OdTzKViKtQryuAsqiZP4AefNI2ZO2 + vffND9SdJ/W7JjCU1q9j91sNPcid0QFzuVEPkGEyLrqLT325uO/fG8xXZh4nOS5B + kYnajgMExtiRdSFjL2l87GP4OqduEek2oYgmEdKqDW9tjFyrMP0X++iDHJcxRS9U + rIsIdYAZx436cfXNxQOsdT74M6FRIJjygvxxC7ewBCQZMYt4JM4OX4aDDwGKVO/4 + OZCadttcGES+JKuclTiRzkCYExvK+szKY1kyP9iNKdNZnRv/MjSbsSRKvdqmuCzS + XgEMr9FEPviSqEPU26+ENi90NM/uR3CruPlnNqPQvg4iBEVOCLEjLJRAgKpdLe5I + nABsFQudkrny/kMVgMIH4MB6psAYorWwsS255lMbZCm2BluxUuhpDAmEtFDlgTw= + =uEv7 -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-03-05T19:18:02Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdALAYlmotws1ybYVQhy4wLEn2d4IoylPO2XaawYsurAXgw - ncvUfzFnqX79KC4PCeeVrTT2bpe+od9gbbJXuRcS6kR+QpkxBJEilp/6oSrid7iX - 0l4BCAWQXXjUmk0dBwZNj2e778GXk+gA3lELmwYcPAJXaz99D9zN8mjsvE8+Qivi - mGT5id0qp/q8B1bLA6yRram1zxTY9Un/CmsSsK0H4UdJZZrCcx+dQWIhTvjQ2Ptt - =vhje + hF4DQrf1tCqiJxoSAQdAOSsXDPRgF74BNdeslCFCXiiWjrMOBLZT9FOnN09THWIw + Ykyd+RchPePMUvxy43tBCR8EoU0oGaOqsKb+X3mNMPQStjvy9mxtduLkAiTV7Rly + 0l4BrTzOKL34m/BuAWWPiKC067WL919sPwgpznXminiJvQzpY9evWsLkjM8GTCzA + YsnUsGA8zk2o8VDPf0yyJUmd6RZpR7Oqji4OZSql4HCg9tDYMbHNvo34zP5RdItH + =1r8Z -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-03-05T19:18:02Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdA6vopaCy/fS6ab/f6FEl+nCm7Xa5LILEKjCx8D2hLhgQw - p1rFwDRZSQwrrjnlkicu2u0xfHTAA+Lzc3kWh36d3U2XiGZZdk51Lk5OkkS4UdQl - 0lgBOBEKcHLKnesBRJfpUBb6HN97flDdVX2T9F2NmLLAlBpXgCWRmt8qv4dghKNC - pWW4k8lpRycJCzPUgA67KfReuliT1oDFkUAwg/bkGv4s5WwjKQCqcM+h - =HwlZ + hF4DzAGzViGx4qcSAQdA4Xn0x+bSHNN5Oxg4BnWh8BiL4Z9MYxdmT59xgSR7rxcw + KBxNZbsKO2GMqEIKCxm0X+ulVJToIkUtTuv3YN4Tr4Y9CMG0jEVi2hONNtToLKZv + 0lgBDkLFR9pczrT07PmMRkWkgKr99/Z8xtNyUt8ySt/vlDkUTVsrR2HcA8lkVIpJ + Al8SOHmcUiGw7tcOfIM0XLWL4Oba5HXPNFCK6j5G4BoNY/22yjvaqsbv + =bqQj -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-03-05T19:18:02Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAAl6uF4HbiQMKEueEM6RkFikGVQwIhJJFlVmSyA4sZm6vU - RUU0GvTPJb3mU2+uY/ZjxQWAsBEvIQP6Lae75HAvQ3rh6Bz39W6GeqskJPj/SDpW - HVkYY6eIcXE56Vx5z8Tvyrm9ZyXmR983fofmFN/MLUc/wI/TgqwSh4KzFk1pi5AJ - Q0DDf+KI+DCuOgQK8l4WXIJ0BNu/vsXe/gL27b570qTDcxHm6Diuuuvd4363raJN - /8zSySduVrpn/e0VjNKf1yYdPB4yfH/hi+AAxgNKALxyy3KtpD0+PfdJaqcPXp70 - GT5N42svAO1AL+eIKbTKF3IWkYeawo0FZyhyTfUjszhY4PSsffj9Qu7UxwgXPva7 - zz83Ukrni8oqTYn6ou/hJXBVxrSxxGaUFO2ngSiMeB64C0oYTihSyGNOGLhbFhRT - rEHxzn4nK37TSpnb643DSQQPozKgUyjqBV82vvrnl8b/1DkRS/lw5nOmrFm/SgYE - bawXSBDQKcCb6gP4sU1/duoaQ/RDK5PewVCCpWt/y3b6ocA237/9mP2uLOLVKXaP - Qt/vEzLk9CmL5z9D8waLQ4bnrTDlNC0v71Cb1/C+edyMEl1oBTzg99AH9c6S4K6R - yUvL5yWU5BHOwmBuUqcsUYRS/2zTk2ArcqTUlC7BGuli0RKhuxWHHkce+tNRG5/S - XgHgjx7LXo0qqpiulCrtlf5yW6n2YPTEBpXs2lxZMkkxvM4as8LoYhJJhb+sbkm6 - pej7LRbihZJzR7eSsUw92PpQOXo/ujRlwEws+iMDCFC+IcsArhFCcQboomFYxd0= - =Fnej + hQIMA2pVdGTIrZI+AQ//RVL6yy/ailgFxgk1xzNeniL8wXbFzkHgETNJJ7x+SdRG + Ipg/h3i8KmvFkG6k5E1o87ian+8zTvj9egaVqsacnSJv1uKv4InssfmzRxpw3vlO + p+6dS6YvEFNw/mgesHvfAQesGd2qvFW9et3GrDO2yeh8skhL71JCqzVXok0NTBwK + WBRwoCKG2fkruf87/8I6uz7/IogXyWAHYibw6NCJM40+rIZNNZ9LGs+Hl5t0TmLD + tocsiGQypZsYxbkaOb/57e97xP/oxvwG09K0lw0DO15GfHp3+oM9yHL5ZdjNZIQy + SH4VTu5znbQxOK1dsgHvPoCIB1C3izIJ5NVJ/b2hzr+UBNHfVLyuyJqYNEMTzS8r + HHLrahdLwQqCimW+zIXgUEhWt0OuDJTZRmduLJ6TeQRzvOUETHpGkuW/962El5hF + KK0omWgM2dyK5vIYJv2Wo0mLMUkfh+sbpn8G2GOMk1WRN1lI0BqaAEx7gRn+SfRG + RvKlcK1NhFY6K1GnDWTSTOQqBvXiO8Nb3uQqyltJ7ktd5MHOc5itDbIP+DUj4AfY + B3rgXVwFngh7YcOUEcy7zrZXSoEecs+kTZ2k/s3IPYIHUajLBUx9zhRsnDoPC/ws + owTtNgwes6yvFqb9Y5RdjQ5djinkcJs+CFCOxiHHtRL8B08Er07NmonKNg57hgfS + XgG7NhjN+9Hhax/Fx+yWkmQxruPsY7f8O8ZWys+UoZlDedyDuhvCC7XQW9fi5q2+ + Tq2NDtqAWJsCEpB79qOHrxaQ0n0YyxkIRdGJ1ijm2NAzbMZN3xSOJ4epkPZqL74= + =URvR -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-03-05T19:18:02Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAH84Fg7dmo/6qcZTeNWtql7s2HEZgRRG+sB2gZIOQxCww - 7e+RoafysizFyukizm/WAkPvjEej/XSDUzcH/n2DSdN78m54lKxoeJPt89V9KvEt - 0l4B6/GYPvs8rXcDrHrvkzPSmlSZDIo1nFodOvCv+tR0ACdfR/EnajoTkJgmuTvq - xCjpZtMIEyEZN0e3JdkirxFP+B6F0ZpbvFHS7eb52Q6SBSGyUdvSseueDxh40vdB - =oQu5 + hF4DKKbvh61jX5USAQdA+gfrkFNaSea2Khqd4T+AMTJ5LHxNhVa2c09OVQUbQm4w + 0WcFZNgft9uTfHKlHsK94EK++7VB2mELV9CHwar5RihLb0RyilEL0dk/Jv8z4rwR + 0l4Bhrv335JZROCvbk6ryCDvE7nmtTIcuhuKQ+xPbQ+Hhd5naYHH+34vdGyvPEbu + XEptx+6prN0cX+Zc+7LT+V2FuS7eGRWKLXCfs/NenVM8+bXWW4g28ZivgXZ5s4qO + =s0PO -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/onlyoffice.sops.yaml b/inventories/chaosknoten/host_vars/onlyoffice.sops.yaml index dcd464970e..479d6c6d7a 100644 --- a/inventories/chaosknoten/host_vars/onlyoffice.sops.yaml +++ b/inventories/chaosknoten/host_vars/onlyoffice.sops.yaml @@ -5,212 +5,203 @@ sops: - recipient: age1a27euccw8j23wec76ls8vmzp7mntfcn4v8tkyegmg8alzfhk3suqwm6vgv enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDak5YS21qU2w0ODZuVk14 - bVE2QzJaR3MzdUQrQkdCNjk5UWJvQkZITkFvCnBIRURQR2svbzRXenRLY2R2NUtP - MGlpL0tWRDloYk5aWi85OEt5SHJ0WG8KLS0tIHR3S0Q3SnZVQkl0TkVGNW9kanNa - QVRpVFZISHRrL0NtK2ZvVm5UclZOUWsKFlHwzXbNiANHaQPhyFu9L4klDIkTk8vs - F8pRXJGQX19zN9hI2ed+rZdtO8zWhpzmm8uyouIvTE/Y8qs5UISJig== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3UmdObEpCNTIzSnR5R0hw + MGFJWkloS0UxM0NMZTZ1R1RsdVZXRnZ2Z0dZCkh5RitHYkc0dStJTjl4K2ZIenBv + Smx2T2EyM1ZxNlhsZ3plWndGMFpVY2MKLS0tIGwveS9RdWZFbStMaGNuci9yeWE3 + Z1JYVUlEdEhNTkM5eG4vL1Ria0dtanMKuwDkoSCHqLrznNSHIA9uwLtzIXpUKC12 + GrRxACZJctSBhprXabdKzhCG+oh8s1ZxOUPDw7x/s30W3B0jomoYIw== -----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: "2026-03-05T19:18:46Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/7BbW6Ek/aH1tIkxfz3C0FCTr7RPTqJAWYdIL+2dPTmZcN - GuO+0JEA5hQSMBDOxi0axzskL7LH3OyGrZg/On0MjQ6vPHlUrKUJBXPDvIT+b0vu - K4y7fi1OGnZR7HrnwKGIrA4iFx2V1km2Sab6HRpngVUw5SS/7ovdpNWNnbvay0wo - iZH9JIqRwGj2QExzXppHDZ6Cg6DEy8GjmnkVSDgD9QF6wqwNizRK56UI9NjtxBEs - TJ8e+DJQV0AWmkCiW4lmqsc35S1wnFM56BaP01r+BZQ09ChFiA5So6OXFkRiTEbT - kLmpou9LBHldC3dv6mIj2yfawvbqFo8heJXlhIFUSbGTFjBKujSIpj6LoNTZ86fk - dQjUIct8sAiSgZRc+m1aT1hSx4DJuBIb++YKrCwchnVML6ExsODO57fqe3js9IeG - sixc99jFOW3IP10JygioBdxcoqwmIZm2y4y5HyFlknC/c0H9i4AnM+te3j5SE46y - kzqhbtSmPc8S32NrxFENQY5Z7V94l5Z5DL0R1ddXOv5nn7Z4nf/DYcbbcTJ4cf7d - 9qgSxIhaTZqmkjqbW0ffFZ5+ewxlb/aW3GdR24pPGw3wuF2FJOVWXbIHxmOfnEay - +5ZRsltA/cx902mn9eaFs6WPknE3GMqjRLsQ2DTqDPZxEzJfqDORAzBua2bqXNrS - XgGPZcc3R3ND6S0D+S19KYLGZjPZymUZshdcU2jXFbekCG0xyfxnOA6dmn38yqNo - UdpnsMYxxWbSuaLfNcPmcPPdB9tAEoyixZYmThTwkQ6W2plXTOsDB3H+cl5Y6Z0= - =8iGX + hQIMAxK/JaB2/SdtARAAqABxpK3oxh5nhkYkUuXRa+R6l5HTLCfsuDOt6qixx5n/ + 69MONuThjwSAo3cCY3aaM9LJ2Ecmt8sxCZzFhFVdsnMYdciy8SE1V0jPuKCs+7sS + KwxWwa/wVoDgo412prvXtC3EKVde9lJYli8MsdrnWFo+tAvT9PpXuebR7LyDXO6W + 2DhvmINYM1IjWIt0yquiwOoFsdBjh23idGZkkPORv+Sg16jgF8z4Gtgt9+QUWkSf + AjgZ0Sz1tkQU3HiXYn13V3rpgh7GTWslkDIkRffHYC7eMZCCO1EMCSaOOtNp/xOa + v1NJefxZTnKbsAQWgcxTVgrshudYA4mx+6bQTetDK/VMaK9qt/9nxDfMGSXp96bT + 5wiArMZUEoDaGgvdG+t5vteQ+ZIuOBGidXRNUOavegcQJDAyc+Gxf8B4BSKtN+bQ + lAS844IBvYnTF+CFS7AiaY2m/k+Ye0we9jFyciXH6IjGGwzJasHgXH8/GBJPVC+L + H+NWa0MY/RzC4P1MAGUo8EPnjaH9fZN7+svrAWf4SEox+dQzBkM99rQtQiYjG1p1 + DCBrgeNNh9w+gMTZVwYuRx4jtF02h3nBBP1X24l8yBkhGyF/QX9zDtH7ueeUeOXW + E3KQdf2ifPQroXvPfWDRVImgZCjUeG1PHClORXSeahur83zfYQYmoVPdwYg2aQDS + XgEmLvlS8ZFaNCAv94s8zOv4S4qVMZK38F/WVaFpAM8uEVy/L9MrqJWTJcsjL8Xm + Ffud6rYAoRK2i08ESG8dKxUBvEigl2ZvNPuk8/nWV5l0+ghoPCZxg2dWQkVywy0= + =gIl4 -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-03-05T19:18:46Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQgArNR+t5gA2n45rRarMfcyGldy008Q5RLsW/jxf9wg03YU - NqBvB4+M2wVRj2ihRjSwo0NMLYXyD/K3FBVA2vTQlz/UVoRMdOY55P2le/fsA4j7 - Qpz6iFwmAZ3Ds+Ekk689CH/AU0kR3xcxlU/I1V6rskkrnK+IIEzvQcl7jhQCBc3Q - O1csHrGgl8A62+iJcozhL3mu9Rpcj96pNmlQJ58szMTvAhvrzKlk7QSRlPa48oye - u96klFdTujHXP5dgf7RNypFZkhbejJhZ3fEvlo0zAUx/plw49LL4ZHEsOBIlGWdm - 5QzHZC8f+nj6BtuUxX6ci18MGpQWSJmZrkjKK5dyStJeAZtkD4SX2PaAM0z8V2vp - GsO7pC65gEvW2NAxF8NmSAJ/Q3vcRQZrDd6NMalakbCs42mD/X1C7qMspbpq0Rbc - BKdO9v8eAhB0vSgeDot17VAuo8CLb4O0wDMX9NduLQ== - =eL5p + hQEMA1QflAioE8i3AQgAh/avUcKuZdZWTjz/BWZ/OtnbjT7+5CtvcDOemr2OM2Y3 + WIzY1Cti0qW5552X65Ot4xdC2hQ5F3DP9NCg+96LFgIOkN4eOox5PMxWpmCulXOm + MQ6kHGBDvjIqRWo83wn8DwUIYIjlH9hOepicMPEEmPEadMCT9W+wd1wV+Bbc2Jll + tfu8i/K8ho0WCs91FQmU9HRfgOaT8v1ARISssFTYIVAsZ8RtS+HI4WXdnTOCEqOf + 6XHusr3rnW+fScauLjvjhwDBEQoEe715U0zxg4QzB+54qObXgPgnjrlDiEskhmDG + imLFlfTbo1KPlYTE+zB6Wadwjm7HFYNnfZ/gTHYIPtJeAefR8xix5ZgK60Aj+/Pl + RFuTscxIGPvX9wFkUJiG1rSSgUfjucoBatZLTJh9CsGk8MzZKL3GqBzHP4WU0qGM + 6RYi2Sx/a0UZKG9JiPB5kCZ2liV4cr1wv8XdA1sUiQ== + =hHso -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-03-05T19:18:46Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ/9HYAlxyflZV2OgPoNp04HjXT8vqxFJZx6cMUIDpUWAXZk - vHmyDMPQQNEFMXGU9HpiMHaojyEcT67krxDTIWz7X/pHuLoJhYBpxpsUpuroTtC6 - nYta21Nfj+ajFVSEWuWdrUMHN/RqodRqSSBdEoxHOCp6+WGBkKl64WAfculZQeuN - s3ifTxRydOHsx/Do8nnh1suZIjN8PEpKuHjYzeJYBqD0TLasJlZ0tRYoe4VwZLWS - T6kVdx2UpV87mOQvfsomNpFaj8EOiXZ6xAY3lzZQBoKRS1PGu+SUH1MDQxb9HJNw - uOkHG+vqg+nioet8hAbO/2w4HWPCvsVG++WiJIEnLlN0otGtoH1RIwapowIG59dS - SKQ6o6afcqXNwlbFrGDwGd5uOt4l6xHIKPcGop5RsbCnifxmJ4Qc3lWxx+cTjRI2 - fX2w/y2tEZ/5tbrduv5dRBoKk9rojjBN3o5lrXdLYLLEvGoLGSnLkwx8iPMsZCLI - 4fvMDxCAIU1g2LyfaHIbguQziRHxvnaxZDNRTUYTiAxYxoFMt+0bY952i8riCYA9 - WK8KJxJzImbInYLuo9DDHQpZPeZLu+HppTuqxfZ2+7Gv8VKfvs3xUJZwqML5PfBE - zmlIs5nYV8JiG0Eh3BD8oxYX0z3SJlpFpE49+IyJVJKBS5aY3pB/dfJi02QjoSrS - XgFtQZPc9WKi3golKq9f+DHrKXMAhoa01fnIYhYHtagY868+7AAmxC+51qLMWUFr - R1+AMOFOAjw+e5Xf4m8qAST+Sc6dGhHwtv63joW2OgetgWrrEN5ZaPGSyItnoIE= - =WNON + hQIMAz5uSgHG2iMJAQ/+O2Ts8HxCi+/7stekVH8JR7MimVrWQ8U7estAoeIbjHJU + L337Sf0iJIFFo5jo8753bKOMShsxfBJKpOZa63TfopPQ+CvSryktxmWq1tUYmljK + rmdARhBLDoffogD5QMLgTNp4Jac84Op/lBAxJy/YxkS2SNVOCYj+PhJJwy45SfGv + Z93BV6wVK4m1PDytKT55ahiQgU22ib+5DhHfIYrbuxXr6/jyhcfTItCfH7baIRB7 + 0NaKfpH5YEqQ/ibE3rtX3iTsZmIZlepR0Pmvcmt1EAiTHR4lKMfJwrThV0pZBvQM + sOTYI6KZNe/FKt6ACHITIUssfx1tstmFEHd7dQvSLzP/N8PBkSCRbgyfqgw0Vu7M + PxbTnD3issTMX5u9Yg7cS29eZq5ifhEygI4iOVWlpU517OSGMqz1HsHITb5VUJJ6 + 7YVrSwdJVfszDJlzO1oCCnglxxgaJaReA6FtHtpl0Jr5AQAVKROjSsotYce4ABl+ + VTlZGbvlWWt1utb6C9bQ1Y364gzczVK/zhfJ1duQyuIDdrroz8x4Rw3B/5aOmqVc + OtDOQunGhKzSvmnVcTu3pKJ2f6Ru+mWrSmgxkOh0VxXbLVeqrJe7fY2KduOnMeqh + Lln4+ghqr6z2rPgTkBfXbDeKtqPVfa+YPAh19BQcLa9aLWQls72OuWTp0a7oAejS + XgG60NzAc2Jp+M3C/6DcwFyxN2oxyt4DjNa7FKkNO966iS0QYIq6EVN4Kd8mbhM7 + IVY5Opoya7sXDCX6XzGcKDVLf6cV4Q4zZ3zyFA2gtuTRgZcg36brEZr1SghRLQs= + =DOn+ -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-03-05T19:18:46Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ/+OqhE1M1Mx1aIk0rngsXLJf1hpoW+JRvbeAvhdWyg/uTy - 68XsVkoubCKhDqq57DMPwdsjqU8vUGuRAf3yCcBXmLVdUl6oOrd0PmP471M0d+6/ - o/tA/Ke7rHEDgb94DO10elS/L1RvBVHvXtz2Vzpdh2ovi2m0JdoRNY3IZ5zWJfHa - Q3RUUkE0m2tTzMap1LLey12UsgU2IroUcMAxD2b4csZpjWTKplAS4Fu5aluvfCFX - V6qrXznxtnBgXbQLddzA+ZO/0/8CjQ92+rSLKLzVlaoZJah5lLs/aALQlomowgJw - NZqfa7Ik0YinWglF2ZKk2JpnkL5T3PNI0fK5Kb4deyehvUKd4yI2ADdtoZbWy6PC - NoyV22xzlBahPRygH0MLwgp+4+hCRMI+SdIWVH4/NZ4MAHPpjvHcsplaoxzwGIMk - +Ppa1x6POga9JJA80IAtnbRavc7u6hA9isVG1wDEYzPMtRJimhfBJQ/2MVGD0jAM - jDnlVPLxOaKNXUZe8RMgZFwL/NeDgPPPFH4eLg8MMY2N2NpW+358XE3hSrOhnns7 - X9Sk+nezqBAqdv2c0Y9nxyAG5+BCnecEWL3mV6My5Dn0AIdt5oF7zI7tntu4PaHu - HXrUNDAxdsA8IfN3k/UCCMbNeyfmD1ST5kxBQhZQkIQ9+DTdgAW8vOjpahXGhanS - XgH2y/Rq9M1LaItpY/86ws+nkt+zqe5c2TvO6JMZmpTYZgIv5dQPbQyPTl5YhqGm - pFaD22mx69kxGCx4YULauXgMl4/vPYrm7E2cjl5VYUBmA4OiaFzZlVxlMadFieE= - =AxSa + hF4DsZXvxFXTXoQSAQdAnLPzYPZN9ZdTlinfikiwgnxiUPjhLieM++tDI2waqEUw + r5KmulZ7DPtJ5QL0oULm0g9bboeIYd+psGcUIOuzcnVst8R6J7D7r+GPjvDTj7Pm + 0l4BzK8RBVhoOrF7rW96gB5YwnMlgUwEb2R97b3lDmsiDX4zoF2BsR4lLzL9ibWw + NcX6B0/5NIPrUwsigRoKpwPJsxTRskvCeLhTS6qWDUbFeSg8iP4PGou1hV+GGVGJ + =LxiO -----END PGP MESSAGE----- - fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-03-05T19:18:46Z" + fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAKAet/D4YIXBFrC1oXu0OuIxaOpOVDOLd2OF3jtVz3mcw - vTx2G/dI/IV4Xl7IOKTvQGRJZEqo8BUmFu/GLr0xgzPC0y9qZGuThCl6It+Mbq7U - 0l4BHbPvS9tOW/WzH4pGJkziVrMkrWHjRL9Ymm6rUctFEFEeX28ZMvCgmvWqJntQ - JI/abrczgDFnjbQ32p2y76G0vq3zFX95ecm3RqeO82btwPTu1mboA72bH7DM0YSL - =swLQ + hF4DerEtaFuTeewSAQdA9PiUpK2XlcJvVYpTFpnX9/TZP+muDLa1s43ZU02B82Yw + SThpQVRo/uBChvBTC2liu/A/V9i12zK6vNVjC/JWJxyfVzUB6cgW+FF7xbhNz8Mj + 0l4BP8+RdN3MFosQferaRvSK6UJfWk/iPKrpjQwbaAOjijmLHNvCVadq6lR6OgL3 + suUwnHmk147yEM64MVpqLeI2/9DjxPB7hoLXL/axd2msK1N27AAw1QA+5b2k6GSo + =Pcjo -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-03-05T19:18:46Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/9FuIr3QwLtOLzWZdJCK0mP2RjRGokNmcw9SqKQFQyqt4v - 58BeWd6eEqIBl6OfQe+uEr61sXhqbQ1Ogl0mJyGyS1ZBypYeulvHUJtLXEBM1Alm - 4p7XROIAhkSqAv6+zMvRxV2A/Cz0hi3kS8RdPvAfwzVElFHsn4on3rM77Njqd3uj - 88DPJkSjLc1x0tNTjXC2feLoJq20sL4NLJB4AE5foa+AdlQEjfuU+FhqESrmJzXI - gA1pVW8dAJJVxXQ35OIn8knIUbqcORn1Z1Kjk3Xr7K5XVbMQklfoqFplcV/ZNxsh - f+dUU7ynbQcbfhy91vpxjvYlyrbgTEMqhh7+sbanF3F9leTIB6q8n4rOBKcoaAf7 - qIYYVv/nRkOHOvFDvH1pKTXsX/9y0LVAhExovvkwCqPtWouwmtANwXsvEOCSqLtO - DHC5QPIHS7EpB9I3sOK92Y5hxZrK3kXIphMgWY0ogaR/JcMrS1sc6ltRMElfl1qT - 9rA1CAoZ6o739ONCAKDR6H1Gv/Obs8upjR6GEVMVg6fE/kuGrIXPUgMz81hGqJqr - ohngQBDz1fG8hlAi5gyOuMZmb3Dhlo/2i43l2fwzdpGjm663Uc881PplIWzuX0w2 - FQLnDxd4Txfgs94o9CbcZayESq/T0iTdDbsFH63qk0mkeyTTczrddM2+WO8ZqDTS - XgFfj3f4aFCqJUuiEnqJbIQ2yM3XEbFf/18uHWqmm3D4pz9MIySsFR7zF9beVUmR - S9c+nBjZJDX6khqcvi3XBN7DaDrSgbrozJqAITnfsJtYAFkMGY+fsMk0mqUs7S8= - =obon + hQIMAxjNhCKPP69fAQ//XjUFzOPc4nMW60RJihidmTCSp4XOP0ZT8zH72K2p/MD0 + Pdeyg+4l0DvNS53ze3K2tIDmXk5kw1N+fN58fP+EMUWMgrfK0XrB+OoE9ayV51gI + Sv8xOcJv1fqIjcf3/GyxoUHX0uPW3ZSfL/LThlaRCh9CcnHzJDVOTxOm3t6qMG0p + OvS88d+Wn1Cmmn422wZqeT9KPz3wCd0mBy8YcYQ4Fj57O2TCmLINn1MtGYY9/PM7 + /9jELGJ55t8+s/gb+RfQbhOnyy8Xfm3cxQeC/GJu3XchkCZ1vcLcAWFoiyXS3/8x + eYJOIvo2EBJP7l+RMUk7UbxbnIuxrtP5klKPZ/oXI0fkqYeK9R3+CeB3GW5pAO4M + 2gRfGJheb9feUDG8g7G1bM905qe6DQDFBYb1vRfX7tV7Qtj3nxqGfBoZMw8v2ibK + SUqAxOW6JkTK/DNgeFdUpP6nxmFn8hf6OQjIKJzue53p+TlbKk1NM8Agl8kE9b5z + Iq8P/lCYUlsxJpXjB+4dqWYzg0xDuMNoO5RIPb64YZYo1IsBMo3J59XgNoLppAh5 + LQEiqSfeDtDuCqn9B6Zl8VvVBeLiRHBCNDwUeZVGhjUYfgzqvFv/p1zOmWPSHrbr + LTOHWYqV69vTlkypneZkXPjLFHabP2mS3oGb/ZEQWr5KmOJ7kkUCtQ4Gy5LIaZzS + XgHVgKnsPfxZ3tWmDLYZL5gfRtQpWw5Czd07V2/cz3F4Zqpkv8VUbT9fT0w+bVq/ + TLO82ukenofepou4eU1aOyQd1oaTFEoZbiLPS0hvtmMYoDYdvDOju6+4dEwjKrI= + =WJT2 -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-03-05T19:18:46Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ/+IkvAzSsPs2f8wMewka6CWezRMHs6H9HVge2YlHyJoSEW - 12pypsfWnmj0qgTpVfuVqTsDrmfl+4/gFw6ONFstbVkzx//VwxyJTX/cSxvZdguo - iDaHVCaYlrQCoi3jLhTV6qoOxho9kqcf92iPF0NKqtGEeNZW+z6/8B+4RvF/K0eZ - mNt9gkcTP8Zj8b7/kBifKLA2hu/2lEzoHdYdi73wtRURDb4e77zANHIG4PmyLjX3 - tqnsDM8Lwhfoqx4tBpYn+BXNfk+LY1LSXVqLzdgNNpPU2Q33HYA4mARfn1Mi9w+1 - z6r5m23Mn6/iVATzMDEkPuxZPA/dOL6w1jufhe5u+FhlkIfZBL5LGWocFFqEz/mz - +kXY7I5VgE1OClKRRXaesTZ2BYCVBX7Uhob7BSsVdQGXPHfZ5Azd0YPD2i1X4AF6 - 1RQtJcnYBggkDf6+UrWBO5jtQs5R3LTiprrj+53DTtr6dBXeBOfx5qEw7eP8Qzwv - VzcgTB/6YSfGe53sNWfoDX+aJ1qJvRAUIsJN3S7HKN9dRKwG/Op6reNCGLMhhEUV - RgGcD5MWfDCMvh1mtPT6+bMkt5mNz+TwZi/H22TqMyn0dTSzNu87l7lDJi6Pt8JQ - /8LH9lciRN98rT/w2jv4TYjJrOCiPW3A66G8VvhWURuxNryHQWshugeI5F8Es43S - XgF9akkhBbB/sSwU+Ao54625tqVzqNw6jaj/YRXcNi3qALceQVd5uhs2+Z401QXL - 6AtrKmhYBC4a7qmA3SSt35dnxjQPVHzkoQ97j7dXmIvwuPNtRVM4jSAzKxyK3Zs= - =HFXu + hQIMA1Hthzn+T1OoARAAtlhp582iMUIvwBuONoYp7Los96WZuimXxlz+iBFyh/DF + GXt7/UlU4kxM68yvnHcUEXvEPg0MVpDI4DFvJhVcKOTQtE2Dyx05LpKpn4LzZSN4 + WawEvrGIKYWPWvJy9+vwsW1oCCt6+1/saE6tgaBww65z/roOJbWoTs3Es3PQvjsJ + QphXxTP9JcFViJE/7jv28U3pgsbCV65UwapF+3zJ+GGUl6btu7s3PbC6xSEts0iK + PCmLSPeyCdZbDA5EP9BI5s9+ESlnkYoWIEoRQh7fO7Kn2xH+WwoWOL8X098Oms0n + w9MmBVjfJDsL071eZ/rLv3UvN5rubyZwt6x7mzgd1PKKZaT1a5T8hsvv7g6sl+kQ + mfHl479DZMS1tks2hsUqeqZQHMMY74GSwYgCFWoEcqXmM/f7iCvjDKspAoLvY80n + NOmkWb6U9jHu+ZB677/ibzeZ7Inb7loWz3scqDwjwbpvrT7JtZfrvQ5Iltv2ST5f + DdhHByJZSfzEJBODIaKnp8xrummwNQhdSB7yUrzKP39oTYd8plr17AOSeT7Mnak1 + 2n2YJyiAaNEX+MUt4OQM7ILnoxUS5S+Ba0QipFRXRm72ilIQkQvwEz+sJzhlPPJO + TUR8d/NMvTCTlI7rjsScBVFnYYuGQYGPJma7zY6D/HyPloiT2wBvM5ypj75AYLjS + XgE9PqH3O9t/dZEZJOqhuSwWiwLcafeN7wWzvSjneVioKZRPc/X4wJkPNmz1H3UP + 80MsqssfoqQc13dsiOmdbqdsCMAoP96M61qjncBWTmgE9sNJ2FcbiIU4ZHC6aB8= + =UCyb -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-03-05T19:18:46Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ/9GmnXEM1ajMJHgKGLo/5qqcIBumDZwFJ+tV5i8N6ESJhQ - 1aGj+Kge8XChs7wBtE2lUe8o+azgw87eZnhtCAngcgzi0lWgFR4c0eAXOzLhYXZt - pSI4btEhS9vHGLvPJagXVUevOa0h7xyMgOcptiRk8w+eVWu5JhSTqzN/GXPNHTAi - Y7DJ9ZY91Ct2lCFX2zjbWTBD1zElxLUVDpcLakfwdujcu3pKbAK04zrgVstI0sCh - WH5BzmGChwD9i2MgSOgD8kIMb+GZVBw93xd/MXILogBvD7O8TtEFhrCybBtmSkuZ - N8FpMo2PyJGMFKyBdN+KNDqh+u59ol4FqMm4WOphoynCMFawamShScLFLsm3TOt1 - tcwZMAFcTxiV7zzZjALr9DPrfj31xhNAIonm/byYUAyjMdml3QTpuHmn9XhSdlvs - VJtZxx5zQel+gtP7tEwjRTHNBwraKbJIHatWQdKVzMSZ/Ga5a/dgOUk7RLpzq704 - d5sSrowQQfKv4KKMMJm+D77yj+64q1OhQfYG8WYG9433zq/CaEJEz0QI5G6PFDd4 - 6z9CU5WnkJ7YZDGOiUwdPRkf40RVURMKAYlx6pK4qxwRdDxrR2EmzDped+deFTp3 - TuqVIIySS1K/Fhh2ygvEpeptWaN8Y7/XxXf/FBycPaUnIsTTW1sFbagW9FyYqX/S - XgF6zy5Tj9JiLtH3Qjx6NqkctRu6I5X4v15NbWEYUXVQug8U/xLun1/4T5wOsDZg - YmDnL5x7wogZjo2BCqY9S1Wuf2aexiQ0504cyBGn+m+nNd+xyPbZCQJM/55tCO8= - =dgUl + hQIMA46L6MuPqfJqARAAmb1i7Jopa52JwCPTazr8IZI4QPY5DodFDMetA6phtH0w + i2A/QBAzv8VoCcDDfEVlP960ohBkD+hHkHLrjsgT0Z79iqHNkx/iqj6K9u6yy2x5 + LN3Rk2l30iUl9FnDjpRKtjUzqIcZzynxTSxYUjmL6OTq1nZJWSXpTcsoh/JMz1fc + 8L8fjgRlshROjb1x04akHqeMtsiDMUSvkSqCn08NZeOYwvvt2GZyI04wuUTBG8b+ + aBUQa0MXz/ajkTFlSI25uSrnTu25t1ZLBTudTv+OhrDojL+nh5Me9MjxQZuzZqoo + 6q4xrKO6SzQIGW/mv2IxomP7IuIzsnLeNPJ9CBG5hKBq0wjxrAdq1xis0nFAt47J + D8fj5Dxx6Ac8stzxupmknggG+UAv8PPDJD+Ont/2RUwXXFa0Nbq8df9ZeBjghcun + yApeeaM8qtTnj9GgFBcvN6ZCVBOQk391aOyTeDL2BeIBIuJko5gKivy+Uo6wN6Sz + /cBSQA7ONaJe7VUBZRUHGB8EG8vRVvKB2rerf9ixo2SwTXPFebGYEMddZrumkeop + 21qcsHFK+QANlQ90BtOr84iClF3xN8x660WziJmd/NdEHztexGjS72M6CSilbsse + L+w+U7zGSZbr/IU8bU4DDnwsjhanpRgx1SPrl+98zTgzBI17y4ljOEOoJgRq/0TS + XgGQClPkXXeNQ+ASXK86gKwgIdLwjaDyVCuL/UHuR3+eyqFcspg1PiggPYXMczGz + Ul6SMmD0/pGOP3hL32C7XTxPYXuCdrXafWu0a3mKs2ki0/ZtPyfJscXGGbVu8i0= + =3gVQ -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-03-05T19:18:46Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAXX+5h7CdVFDpn8V3D5wW56xwylXuuFbDgtRI5bT7EWsw - k0Z9njafq5TPlazuNympG+DdbbbmSqRz9yHtnsZtLEyJHoN0cprbjtcsSTo5On3f - 0l4Bz3ig/hHDyx/5keoMqdEVYIlxRmfsEeTBMlRzuxCSaxzw+wV2IFfyH0X/rLAO - wh6gYHo2G5JXiLy9B/PeliFC39OdzT/zm1QLjUGpSoHJFRD9sguDuNLv7AaOiv0p - =d0Ao + hF4DQrf1tCqiJxoSAQdAYIBmjNrggLfAXVkyh2cMvH3o7rmNH8fHVMal1qQKGi4w + i9IwHPoIFIRjeqPwUpPojkawxyl33sTujMFN7As+D3l3rrXTXZugTh5EeuZv1NE5 + 0l4BYaUFH+FrsQ5dq3X9555nc92j6rk+UNVrs8GB6S4iG49uTpQVNNr3yZo/n/NR + bwdaWJT2twX71Deo+pcOxEh0gzA2W9hi/eiG8Qt0mPC86sl1o7Ww3gKoEjYmBPUN + =jM5B -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-03-05T19:18:46Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdANeEx9uK7B1z5gP6JnY3XueQvJFlQihEt9tQu28YpwlMw - cNxHTuUGEQUoK22TAIDYCqXpnTTPn+UvNxVbMTsw4zHdZbVrJLArtQqhTKUWizHv - 0lgBNmgA8DhzNZReNiRDVoeB8XDoh1i2IZ/PihQj7pJTOxINfRi0mQ3T2fj+8vR7 - epsc4hts6iRgJa3WZYCZxBlXdYvOlnI2BS8CmwHP9uJtErjg77DoB9sF - =ZUKO + hF4DzAGzViGx4qcSAQdAD0AltMDf/SWSshNVPs0rkG1ylARj3m+MJ7HPe+XDaCgw + aSA2dGLZsXp78Ku9ORsADrSHsQSlOxYMapCCFguDHjBhfbssv6q/PL48RF5Yxnqh + 0lgBkhSNj6DPtLjdwzqDnvxOzmJs9056wUM1fJyFWle7PAq18kJdlBlSUMTPekup + tqA/jxW1419/NNjkw0DknYSVbaxqgOxnyyM5Tn2eH086dU91kBR+9F9r + =w4XN -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-03-05T19:18:46Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ/8DUSM4vdkXAxBsFjk8BwBO502/PGkfKZPs/Rx6Y03VZbj - 4uQ4GLZL2SCgw5VsaiJv2vv2oyMuSIbz2lZvz7GFsV7puFn8rGXShM9dgjoUmzxK - aMt3RepBYGfrGmj7yCCfuJVDMT5rARO13rLYx/B+Is/tyiU5XSjtncSTPUZ3pMqn - zUUa37ySCb6YOea046eW3ELT0nU0arLbXmsSOERn/R5KQtX21i2xi8G0Wakpotzp - WIqe7ugQAn70jlFkSCB1os42Qsqtu3xKvG12J2Pw4m9BqQgTECdFRZdbz0IkzFyE - ijJdNQVBHS5TdFghtSYadWvrNxpC56CPiqPp2nu6Ge/EbNAoQoVHFQrdLlShAzLL - m62J3CRtbDguiNFX1rRvubHv410+qTW50ZKl4cjN8/h0awEuVnQIgIgv1ZVEs+mq - iGYtuMJEJ3w63+QznNzfXYF23ENgvoo0BTFerA2yEwvqGSSxSPAKywlxeKFUpdmx - lmnJzftdVcJCBNRXfx0q7LNRhb4Yf+UsEFxZ4m9xJtecWJFKOpYB1ClLnKRLQ8lX - 61WiGBCr33ZA3ZFn6rhyC0PVNfWuMKaf+SJ15OG4VPiEYN7ukhYnodf27Wpad7TB - 63sXfot9mb/4u7gy24yJJR0gH2+xWEy3CnZ52RN5DKnZ+//TQgSKtXPkA/J2sIjS - XgHgY3BNmuw1cfkOq2hfp80hnW5EUdnPBCLaBvLdubRKRPuaRU6HgZLANSevThnN - rZZ88pnpnrdozMhDT+bZ18RUmr8OFtGeHM7xCyyNaxE3aFZzyDjvFwzWAYYanCU= - =wP2R + hQIMA2pVdGTIrZI+AQ/+Pty3F0VQ8fC0dnhAsn678VadLy3TV0iRAJKdFDbpCSgn + 4nE4G5TuH8FcmH3fqhK5xHY8wS6R/hjswUnTBuvQmXUjCPU1G1zI8hqzJo01jHZI + PiLcPp3dn30C3Rb1D/Vc+fu6595KYaZXQL4JG8TygTjg7wLtUypVHm43MSR11YtZ + M2ZgN8B0An+ID4lL+Q+qYHQHPipaWOpf9toE0Xfny0PpF1VviZJtXOv6AlXXTNIE + QX9tEnm1IwpFsqfq0xW1iQ42KwQaT8dNVteNz3o/G/9PQwFBuE8/odccFOTVh3Jg + VmDbLjuObQQn4J5RpMjCeRcplV1xRgAsDI2aYbJnOG0Nq/08y9jrc40OxzxnyyM5 + bHs8rrLN13sBNUlqAUqZXDU8hyH/4NOJUeHfXvELKVn7NmaMn63L3VbIC2A1ZbLz + j/jkyfQcCQ0YMp90VOTceWEeCJE+8SXG1DizI2D2ZoDvpncF0AN0mLgK7UFwCdLq + Y0/PzVB4/4HB4kiqhbgxRU20lAXJvk1M4qk2JqO2v7mkTUeoy9DnOPuajH571VLX + IejebzJyQ5TZh4hAqYXbwg5BWZUQ2utKgmMVlyCCQ0PzPhTfizQGqgdM2JPNJ5k9 + U/ERIkfaYwJhv7N+USJKd3jwiBl7RteUxS9VmOU1bz168nEnnIFYepoaWhb98h3S + XgH7ZDq7tno6CuGtc8dBR3LOviYFo2FRDRU8B4PmBBYYCqkvoHZ4l1kjCoqD8HwB + 85ae0P74U/U54bsU60Bpk+0oTU1wV5uf+/0XadACnTWWQfsOtzJlSpPTcI0YmVU= + =KoWb -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-03-05T19:18:46Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAGvsuIKkn8ZJMdweTgOlKUefXZOu6LtEeY7jOAOxlJiYw - tTAiUDGIs7s+gMQ7RPYwEhyBz92gv6Rmm9QxsqgH+CR91W4qkelraZToz7687nEG - 0l4BTP2xH8djFaUaA8tI30Apx57Hkyu+THMeDOelElqnIuc21MkDKphLkPsL1NbV - z7YcB0Bzi5ltwqMt+9TfLMa0R9CZVDVyjOo5tFL7OmBuCpfGjb3Qnu8mb50VVDMb - =Rg56 + hF4DKKbvh61jX5USAQdA53jDxPsRIUW9UBkAVVQutabTeSv6rtx2iHWZgX/DIFsw + u/pehjxVUMV8HoVdN0Uu3BJa4zpMq1UugaRsgBK1Isr9dGt+1CUO7pPqzQDIU4Ar + 0l4BoCEMcseyFkNuzo9vFK1x0wIGddTNuxVGb0h9+k9sepREID54OTB08gsFbWht + kPndPj5M82GJ13MAYR8HpYYN6J/+p4Z6UKUphUGbSNMJwPF2ZIFE6R1+Sf03/Yhg + =qqlS -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/pad.sops.yaml b/inventories/chaosknoten/host_vars/pad.sops.yaml index b256777eae..e1c3d68b47 100644 --- a/inventories/chaosknoten/host_vars/pad.sops.yaml +++ b/inventories/chaosknoten/host_vars/pad.sops.yaml @@ -8,212 +8,203 @@ sops: - recipient: age172pk7lyc6p4ewy0f2h6pau5d5sz6z8cq66hm4u4tpzx3an496a2sljx7x5 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTQnUzY2ZjaGVnQXFOblFj - WGJkTy9zMmdSZHpJK3p4NFk1dURtQXNqL1NFCmJNN2psOFNBMFR3SVFudWNFZUdI - cENWV3VUTHZKY0lCWEMvRVNDazJaLzgKLS0tIGw0eVpySWRydklWdk9reldFd0xr - SzRBbUNaWUZMb2hXckQ5ekFPQ0hSQ2MKYcb+ylmw46a5xmDZSW5HfxUvwtsH2Aqw - hgMNTkiAKyo9JWjhbAwdkZd75BTsukIB5846Fbblpjo8kGdP10H6vg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSeEh4ZDZZbWE2ZkQ1SDdp + VlVLbjRPSlUySzFkS3ZtYlRwaDdWTDJ5TnljCmxLWUs4bVpXMk83ZXJwaTZMZDVF + QkJ6MkFMb3EvdmNjbGFrNnJSd3JvTkUKLS0tIEJtUXhmMXNtS2s2TkdVdU9ucDBV + eGZnbHhjQXZ1YWQrUmN3MHBHeWZPMUEKNUrdyQYWIxH01TeoKQlTSlC4Bn7Nhd8x + j3vAl++zhn66OSEgyY1hHC8iWKaAsCWwA+ElQKdm5ATX46ObSeMCYw== -----END AGE ENCRYPTED FILE----- lastmodified: "2026-03-09T20:05:54Z" mac: ENC[AES256_GCM,data:iTfsv2WoOoP4RHWRhau/8olT5BQn2jWE+iizKuVSGIqcG/MZKastj536ZjhM5GYZXyROXEObAenB7G7Zjy9rK5cv4QUIw0FiYN0irObOcXm6/mlVb0OoYHv4ObPhRvGidDNONhILIJwW8+TOHPMfwnhswff8+32gkVvdZtk1u4A=,iv:elNrdohgQVtqxSX6IC8lNUF0mWPV+maYX2MrletkqV0=,tag:RHAlazcp6mp+BLomFV7Z3w==,type:str] pgp: - - created_at: "2026-03-05T19:18:04Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//enTP9DIjKYQmXTzuKn7Sjzj+Xz1YAwn6hk5BnFC/lfVu - vT7ein+lHvFHbCIdzLDOSVAqLaKlmRQBEENG5SSugZBbzlgFoEsCEKQ8qfW6E91F - cm8Mu+HrctPkRioPONA0VSuh8KknMhpC3tgTnoRYd5rYlBQn7TBdT7aASssChwH/ - U21XKh5K9O9QfKm/WQdm70R9V2XYF5umiUaiT0nxgJTWPVOtb64Hj0G318p0jt2n - ssJNdXoHAEfcsZjNZ3Yyp6mP/sdjHyMfNVRqvIVDz1Scve2anZ6e5w5O7z/MrAvg - kC3OE9rdVMJpLXV0BtJwLvc6R37BSreUK0jFZqK6OQcVpk0j16xOnY9RNVQmP6lC - HtneEGown3EvtqMCsY2LZ++tIJr0OZorYHI4Poj/WNtX/pY0X5YwcK2RxPXdzLLL - Yy5r+b+OZsVkASxUuDC58+jQpxXCrapp1UrPJLCsSSLOza0ZOTNcbFUxdHIdTJB9 - nGRi553WVgevAX+EXXeLYHMi/gIDdW99uhwZ//0MWAxgdeB7Ro0b/csrZqmqohbz - HGp6BViwe9U1UJMUGUENCBuevI5zqJZHLOuMhrSQsdEsCfYJEmTwa9DPTh3Hc9fR - Hsskn4eiPLFVo8VGWJAvRHo0r9jbp4RrUjC+LY8pFHADeHcBeVofRM1GQZ570G3S - XgFVHSzTBi/d3PR3IY1K74st9EiHaRq9rzZHUqxs9qzyD+tSAGg5CyjBwF7IjGzh - Ec/jV4z8CxhTbRNYy341ANbaZYZmqyx2hSXVdKLCP3XKI7Qv/w1KgGcjI9S9Vyg= - =oy/y + hQIMAxK/JaB2/SdtAQ//d+kpf6eIrAR+0DFgp8dU6KKPMsr0wYvJXYonEbj3Fjjv + wjxQGrVRn6kIU2S5HnGFX3s+U8ypkrZYuuRCFtISM2uCkxoO21xwjBYb/NgZnppc + JIIjrVB/FAyrQFFGQSytSobnOQ+BUYq3rcPPydsr3f7yyMauQJph5N16B8ISkKRw + M2KyPrchGXIZ1OLVC3BHYG0jkgi9BbalpmRk8p1vaPsYIwOmYqDehGS7904iTxO1 + mdBLS3PXcw+fE3M7Cl87EsGzOEb/mlpENltCaPvC6kV0X/xRVUKZufWzA0KHD3zN + /RaXpOJiJV8qiYyvd4BGbPqC7apZX+R7KXBLuacbISLPfSnGC2tIs0WX0THfKLug + qwYbLjaVH/t/OHXITL9yK3hbHJFzTX5zMDtPGvYAEMC7VC4NiZnuFzzjXUjeUsd7 + KZvDZ+7pugpfLme3QMkAziPuHG2zKeeH60dg+IyCiBarHNUUuaMtLHEejVnULT8A + xLEyBbH8cKAmmNMlC8rX7Zjglk1hAOFXagWMSx6yF4L/zs3sxDbdptqFQRhWwQ7K + 4v95dBYTWZfXBV63MgKxlnAfXZb5JR1Ly3hgSjxsa6NYvN279kOlyCNfEyz2VmWJ + YlfaMcMNq/qnPTzsgvbUGJY76mgRVr9WJbuOG544ISOE5cB1CbLiQYCeMycE1p/S + XgGjdzqJAs1f2Y1bDABPPvgJEUrfaTQmd09kIV+PTfGWtYG7zNnW/wY2Sl5PIJKI + QNJi+DCVpjyfRdJoavHf7hOt3d2sjVkfAPbIkg3Odezlb35Ouni6sLLoIxcOPZA= + =jeX2 -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-03-05T19:18:04Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf/QVlB2zh1xTe1ZMmtZ9oUKHTBieKXwozsjvDiBtJ5LvDL - OHEOZ9qTN3bu4rvGVn0ClfhPFHlahenxfTPpP/LbJYN+PfAV0m5iGL/uJaLqJedB - 917dUS1dwGSBFPDGXbQaOBaxiQPXdOKCY6LyAQC4bfnPzwsJyJVtZ0BC5P+vEmQJ - DML58cLZN2fSqk+eGvapIf0WKit38K7tbmfQOhTz1p11s6mI2JMkS36z2tRkkpXD - zlgEDygg+7Z+srHAUYXbvWozihjlfWppM3sgyBF0WyyP2EfL/NsUzBlES6tg1fEH - NUAN5ZTBQUEUn3iEbLFk7WK8K18ITgrVGqj+6Am1kNJeAQKeJZb3fgBTlX17KWIq - pLyV5rGydgwVHyOVpNpxI4J/h9r7o1ZdjOcxVcI58NZH85zRTpWde/Qg25glrSmT - QeOHCCmf/D/f8/pOiplHE7rerji1Vz2Pg4CiwsdvIA== - =kAr4 + hQEMA1QflAioE8i3AQf8Cfc/k/LQ2ah9ds1ulYlRhjYGZ+JdB8uxmVMCwMYZq+r1 + 6rDjr1wXP1DeKJ+pzM/WB7YujHw0yUkf0319nMTIr9vssCBEQcg+TAKRZBTauOFh + RlEbPXfhiHozQ5+49z5bqmHeIQ3dnYJ3EyHjWpYhnRA/bgVTZC9uMo5+68Xsfg7S + ebKo4T3h3+hXMvWH4NgV+dMuYy0qfojW5jAcizbPvS/6o7nhygSRdoT0h12vymeP + l3oTQLnY5VyjOYY+T2D5cJ3RCYUSnmGtgqdyYf1k8Pta0MPh74PD9cRfi0bLSrO/ + zT22y0b8Bav6k9MgDl7iEjjznvlFWFDidul31fmGmtJeAWy/D0LB8wGACf98n6cD + 4D4cAD/UJ39y0uM/SNmrAWwR6MjYDzRJ+pH09r/8lrOZ2VPH8TkIPXjyeD7wZXgW + 3oDpStWLMQiH1MJY4fDY6umlVmqcb8Kxy1Ft4H1i8A== + =hxt8 -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-03-05T19:18:04Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAAyRdmy7wOd766GbbuzoHkkFxk5twpHyQmLJokqEFdBR17 - ga1MbA70UR8KEq3XtNnftUd+f01M5mFRrlMJon1316IR1HgdVAaC7fXY9eRFJvG9 - aUDn3avTawvmCTWFxuHSsoebidTJvmd2v8vm9GkR8WBzndKhGBkzjaS+y9K4CTF1 - C0/Nk+v+NSe9QVdTJc9Jy8uLWYMNktW1LAfts+kfwSauUlKk97qIZ/FuG/Xb6FrD - TgiRFsgYSn8FItnKIqB+OZXYT5aIzXCPIaago37sgm1oYJmzuPeS0pzYDgCbcIZP - q2N3a+6Tv92LrfC3jWWKVavrVOMJK8bwq6Lj1X5Oa9zO0ZdGlv2VJflu3gaw0D9z - LnIv2vLzZCTLcAZ0NE9+tWA1jDZvHlx4gsDJH4o7lMLo9Tct4I8V6JNMME/oNat9 - WvF92CUnL1DOWxijK+G51k4BnHpvJeqDwtVOkmLpcWbwSDAH8Oe+5YjwIyxSTbtu - J5o3mYjv3S4SOWWXkgM6CMZmlYfEFVE6EfgIqEUZgAnM2YpXCxf5QjENq994PMuI - 7SQpBQ/mu0H2hKpB4/6tOUTVoqPczVpI9k/ksOXPrUyzZZL941czuvmBhYQmvlh1 - 6c6kds79F4HTsP3agPQzeSs9CpDqE2MxzVbX3hacnV2IDjNt0Su/q6eazxDjbmfS - XgHD8P/SeHHnX82P4tF3UMr6WS69e2wNU3L00UOKzB/UBube5wtvgmZvqa6oUfnf - lyHhiGghFNirHJfXJbdbZnwK7vsSqVWvG1EyjBtnVtwXaVVsy8lcMLSKvcSRk74= - =KA/M + hQIMAz5uSgHG2iMJAQ//QOQ5cseCg4NUWoA3A0fywXgnUNmfKOYVTm7F3iM375hV + cyFINZGULHyvGR7SbPuHRy8lwVC2YM+OjnUzW5OD00zY5NrtFFJ9ArQRTlHwlMRt + EKZFzBrsGljgC9qWJxqbBL+ypy7dxCoDUtwIuTzuHda7/7ahAYMttJkDgGGPqYV8 + ol2lRsK2ETBCUWd16VrlzfuxvxXssq4ZsqeY+prG4txs8zetWSAfuK4b17bUCKwq + L0a9uZiP+zJlqm3AzbRnhv/WOkYbcsqRcZ0KVTheU/Ct8gVwcToq1Us+6v8C2cZ8 + aV1iA9h6CKxQxu5WgY97eDQcPc9qcgulJ3zEFOQk+gRGbcob6dKsyDhmTkOaPe7H + 7BgHRA0ANLu8Db28oMDo00pQXeTXKZt69eo79N+yTRgmeqS1uHLBH7+e6/ATCglg + yRjgp1yM7iSK2yXV1VoZDFed2N1kXZKXLT/3WBXaWkeXocQppjQ3OvhoLEoj/I3o + dgbTBM+OPMWmMCNeurJ7LAmT5Wihqd9NVvMDjueMNkHXDj4D2KHPRydnN0SNxbQH + 7qeeEBb+NboIzaEczQKPlLhzrM8xkXsKe1ZTvP1vnpcOkI3fqJoHamgqKHVP0c9b + sjpMilQxPImOlTUSi/JXBzefHrTu/Ug5oDOTQ4HvoPL8cjR2WhAcOxOGs8ICj+7S + XgEekI5a828TH4r/2CRz2owE5l5cJD19OwSWVdZ4ciabLiQ8TuA7ce9isoKHtoXj + suObYeWUtPnVHa5rkd5D3a8IHSBi5zPHQPBcVA0qoy2JLLsBPNDmloTPId6kESo= + =XuhS -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-03-05T19:18:04Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1ARAAoNxKB7UDXPXuJzok4iBfKCS7tERVMOeZUQcHq2Bf2BcZ - 02GYPoQoFSXy0EdAmHnWjOCohKoB+OeyjL8mEMVPqRU2ATP3rYCe90XRlCDj8pY4 - vC3Y/7OoeMlhfA8mv/KRd+tzLz5Ta1CaX5vPguy+L6lC7fJzrtff4yR5bzpP4Mha - bPAevThQMZzxfdeHVCMGi+d2c+rSR3SijTUCoO42bWUYOx9sDQ4ZRTKCBdd8PMs3 - LsrEjJcQ4IRQbRyKH4ThG84EMs4JrWZ1rEOZquP7uuVOnjBaLL3KH8kFyYe6JBhB - J6gCjWgQFr1AQwsJ/yQO4bnOou2+aTz1HMq90EBW23eiVDcOuw2ZmnSNMhwJWYDx - xug7yRl1YTVRnRJ7K11rYOXzSIID0swXM/X64W1NYwAnNJw2wFIR0S5c20EcGHR3 - ULKDv9aROAlgZqTDpjyR0Ai98DIbLZP+JeEs55mM2rYvf85zU7imfg+ku87Qu1Xn - psjGs425kR9nxBADfNdFGXG7RqkqKOCm73BKRK3+vmhNFyjiJpV+SKsteIT3ubN5 - v9GrKvyYdBqQheZh9+w2xCpwIg73fUKoT5/nztcv4kxNpn4lt51R0HCelE4NRrua - rIkbNcbyfeMs+ZiWDJIwtVn2VaVppX3HIdgbrBU4Mpwt+BACHDidXEMKyouMdHfS - XgG10yPl+e3mX7SkQeKyOBVVqRr3xA+6jrGyLEp3uqof7nv8R0zoCgdv8HLSHoAc - PzoxvDNbXrOKmEDDtCsIvAJror9n9RSlsAF/jcUsPEkPLYaNy5VW5Q4mvb/vQH0= - =XjM3 + hF4DsZXvxFXTXoQSAQdAQIkajIuQYmzYIYwh5ph6v6ftXz+/WEpf2hz00jXpvyQw + Y2yxkGLgorKwz/+wlr0Ig//ap9l1jXF/aODOB15XW25BcX+/ls/5p9oLPVJZHycz + 0l4BgmPMmXv67WB935APpFMEfmDVt+lN+eJR+ho1YfiGEWOSYO3gWpR/hvYSufmS + 2CK3m1Gm+roca7OVUP3N3ZajTNzuGdFHs0AgbRdG8LmBuxnXr0MoRk8+3wbZUvgD + =k2dY -----END PGP MESSAGE----- - fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-03-05T19:18:04Z" + fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdA1sb2dmATR26q3wEpzhrDo7/B9N+IUpoGsgFM7Nepr28w - gmECdkiWCvf/yMYVFc4fTr+f5rMBZEFWuIBPJNqBX6P7Y0emU+69wwRKFiY7rasd - 0l4BUO1dzsZetw+81d1JZYdGQKwcvRsBNnAVRDSpld/oy67jq77HQAKJYH7pyxrT - NVGFPj6m3vlDzoGU/jeqAOV+rbEPSs3otjQY8OIWcBDDpTHr16H2JTrcSXAz2eDe - =w4n8 + hF4DerEtaFuTeewSAQdAWw13hKQ9OcsyeWaQLKcxMAAv7X8uqLzB3NQQJ4SDSlcw + c/Kouylot/cIT2/JyPpAxYI923KKIM0NndbFIpWbWAgYE+DSjJJXo7nxKugifoTu + 0l4Bz1n6ZXOG4Ve45OTBQvIVZZHpfIYHgyGFLLg5U+yuVnzfF7i3SiFOPf5dX7eh + jXOKJCcaHLbO1H1U9a24KGdw0FonayGLQF2iB7zFj+jUBU+++Gs89F7C6Byy+Why + =8Wj2 -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-03-05T19:18:04Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/+PDYK4T6brpX6LTFtdlFXS7D5Hzl5bratf2bOgS35Ow2Q - 1rNQfH3TwYi+pmXi8AnFTiy/cpt7kzJm2WKHmVcPfnkf0oYISmtoaxY2ML1FLBaO - xTfWjdYdoLCBM4M/e6HD4X4dUH1hMikma/zci5Fxa6XRzB7PIc1tVqWce+0C22/g - 5yfeYN1lUqGHhJKQGy7idasd7ph2SyzC+tW45CvyBoYEMr8FRqUeUj3yLU+rqT+l - 08l2c8JiRMC50dKYU+9mRt6Ema2kvpoKGW+NcHF7OpZOjfD/2CLHEFTf5bInRUF1 - 3IPvKWERs5362kpEkpq/MYboiuzPSP23oAd0MnJaXdnz1FC6aNYl0waaNdZv9ZRn - jormNvnymRXyHK24Jm4FxPycUuGZBJDp/QLBA0ZJVQ/y3oyLsZfdkuTP8fc7hpki - z6BSBu5R9ZoKyGbz0zyYhnWB+6WClYmrb/neTh4JlnJ69phu5C9Ib2DxnHTmr8zg - pfRUCb4v4Ey0HhwONpJZdPK58PXYcNUXRS+iRIvyfhdAWnQE9iAWzp+t9JZpVkMl - aW1xgBfIUHTzpKYN/8aQgntwg/PyO5bisx6Qf+fQJNXxiqSes0G8IGXaf2iu2UZl - jkjSYN9Elq/PX1a1kGxrQaXBrvUcqdddNHeA4LqGgblt8ovKyoFLWPzkXyHN60jS - XgE9gVEdMehkIwIEjomdzgqCeQfHvl+hEU4sA/j70Lyu78Rz2UiBPtQdJ3hMxrE/ - /qIpavXeaS+tVjybKiN5YfNw+/HsiYGchOpLUnexLzGOFFRqnJfUhGthOCOXHGU= - =vXMk + hQIMAxjNhCKPP69fAQ//ebXjOm3xcmz+r2xhSpLQwqQt8rvcokPWProREWuCdk8P + 60ToLEZr/Fm5E4hx59SGsbLQJSPmbFO9/Sb/gLiEtaCT8Bp8jpe1LxnJugg4UyaU + PSKm+LrU8mQaJ8azWiDPeCS1x3RVqiYrY/ccjz4hB1t/EcJFu2KZgcPktB11a3wS + PLQZoDOnn+EQnzQwoqK7rk8Y6C/wIKLazCWDQ+EMtfzqmRlULZovpNqhLvUtCAso + 5PgV8hZhQssoNl7r1ss7oF6AHmUmZtgusXEWkzkWXm0ZN0bw/NGcCcBX/lbUQG4F + mojbMqmA2Uso9N2DP7h+P1dGoQcumBv+1q23CavmL0rTPKOgsf8FRDqBDnQFQacI + yeHpxjpOZ2QiC7PmPEHKLekAdzEC6zjPNrAm12fjKTAGa2e1udxWf6BL1vvqOhVq + YeZb7czxfOJrM6pS0FsVp30w+fuKDhvAZTS1M+nhq2+oP0DwRHEoa0RcJYYHjEI8 + 1T1f05Wh7XPP26c/TB03YWXECcGAybG9xXv8sAff9zuLc1XDJm8K2dUH1omCXLen + XHO9i8MqUU8ZZLkZA2DZaUhxGvtUFNU+6upfUT6kFwMVgoPxRrK5E6c+JNuFy7AU + UlH5YoXbjn+havu0G5zRHboPxLIxgwZFcUUVFm9C2yd6IuvUt9iGQmomLXhbvBDS + XgE6Vxg58L4sSSKO9fRZPuAh20ULc//JMvqthzGYzgTTBYNREHnzi/3f4I1ZYW9M + 4nfziATGnNz3wPfrnXCawYwy8IGt5txS52xEFwaiIaLpzOQ8ZAEZuZZDAWWdB0U= + =nmnQ -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-03-05T19:18:04Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//SMP4LWK20skxlbJ/TkvKIySio3Q1fBG8iG0mVhujQ57B - s5wLcFozrGkqo/jXFOAUqH4CHuR2DC5ovoI25G101Z39lRgjvYm66lMpJ2xqO+Dp - YOXsy5aRaWxiXjMG0XslaLQAaxqZZ7Bv2T1xM4vh5y2VkoZPuuvjaFffXJLn5isU - 1d5D8vEne5ArDXbwHCaDKHcIBu+rxT3ZDzqefmQJVtS6NRRMCZOKaGpnRCgr3pD2 - p9pldaIEYxvZ/pmfcoVWHxHFRKidM9ojMgQbQ5Ye2FBjNElOxQitni9uC+dmgKWE - gbZj338txKkcfgKqxANnbRG2HBaxLI+ujZdULg9UgHDkJYFzI6u8k56rNwbHu7vv - 7sja6NMuP/m0mNBcS+s2VtnZNkHwk1XDE12ERbBVxYhRdCaaE8Pqe8oKNR6Cu++j - 6xfxSSrRQy4rxX/m/IKnpz4WWrBDHf0urG7Ve18kfkoLvJSVmqAw5oKlBGpg+Zxb - a0qhWP1SISBkZto2U3AHCWWc74x8SwVpVjagyNaw/8dYZ4a+WLQTZ5AgE5FUWL9z - rkhV+tHhQqEsJhS+PZu2kONLVFK7nQMdEdy+qvH4VW64VJNtP4sRD0hM8i3VsJ0F - KYT96T+c7/8LVWLuUo2KeWfGa/x69aZXezWeK1kNba9EVxfuGbVuezrFsXr6RR/S - XgG6FGAfFVIZo09ls9f8G0B5MGet2ZCY324viLkZSzjj6f45VI1p8cJHliLPa/RC - UeJIlZQ/h9Qr9y8lfmWFP59SPVVYf5XXsySX/XYvWL6eIMBGTqqyP2OjYkarckY= - =1NpW + hQIMA1Hthzn+T1OoARAAsBsrT9XXA+Qni3XFqquN03NzqVwxE8tmDyB815lgWtba + P3Ser/2UkQY+X4a8qWCDp+i48Mn2dmp3LUO+iX5gmcOXAMeQZDuKSz/4O5NGVzv8 + 9766y17rpqjibJBogENZQFTCNTnoeKBl4Mq7rlSJKajKM29mUlEkkcG8HsW6iXmf + zm362bMuTRBWGhHZzPWwqK2sXYeRPCLbGSOpYIdRXMY9k68V6uXHipDvarVEdZ33 + Gd2X7E2z8hutTsxYzY1rgVMuGpwIeiVZ1HQCEriNSQF8OjBrL2Tn8lEuauauqtlX + Swb02MGhDpZTGsMOtETq4VsBkEu/tpyi1q2XLhNBoF2nsRxKuy611ebtbTgzYejv + eFP35wM+HfxawQRsZBidnC7j3SbStiLmyUJBJ8qq7lZXDmTEHPWF2Rcb9SwFGHu8 + ZtKU2UNzlQI1tMbWHfR++mynuKWp9PhEwNnLRIHvWl5fq6xYHPlvHULQPgEvxjLZ + 9j3pTUg5fuq1KIcMRAKeMt1K+P0HbnW+GW7MSx2QDPLsw8HQhpCE3n1hGJHGAKfc + UXfIlVPeLEJdjGCoNEIbE7XjVBScnkBcgq+3FT/kXOBgQnC9Z+ll9iS3qMA38dtv + iGyyZXHgzliPGaVduhgSDBoQ5GfOaqBjVaUNmtlKKl37iA7ND3Yy3rltL1bWxpDS + XgFKIfzd8V+84w9UG6Ckrxyxm0NymZFl/e1dPfVp33iYEQOPpfMnIdVd2uXOR9pz + 2DKr7wvBKBnbXQQFY+rvrPYPPRGmsi1uYZT3fjGBCfZCz6RN5nhUzmE1gmtlg6k= + =5HD5 -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-03-05T19:18:04Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqARAAgC417+GgKVyvEOgVpHo/lxuhU/U3rXABC4xcGoNtwXWH - O43axMMz/G9C+k7SO3o+xfD00LQJSQjwFabpYwtkiRE7rT4L8rZY2pJrAk8FhP4X - 9o6jJhxrzm4KOdxV+UBh6gMwsmCEdBxCwPF+dXDE1OhDfEe3WAScK2FAhpDwE6JC - C1/9Nu3876Qumxt6b1SE5dnkIvVwskik6RqtyJCTmI0Goq313COHUCN8g7NMwy8W - X5ZPbuP8kq0rP9GWexTMl7s0CTzcVyqKAa7NTdVfs9k7sGYQN1lg/Cvq7gQVeydW - AGiDu5W1IffqstIRnLu1cYIi8iZ14tdhn5q1n3uX3M5qayA2hXOgDOyMsNOHzz+E - s9+uXigTqnyvG/IwriLpbxjbk7vHiS0k/4Ol71tDc454u35mqV7aBbFIMNm1rmwf - sftWUhOgUMbwGAhAnNhPTTwRMTRnqbjcSa+vz2zTvIr6H/RxF2kx1w5mFXyiC15g - z26c+abeFXpsd4FLs9eHlGW1C+hBCVMulei03aaHUu4uxYZZdqIsd+cBvs+sa5eY - BOPL3yeGTZmcouhan1LIadYWQ06g/+1QppkBN7Y4F+UjfyE7sBAuAa6SSHYnxo+c - rrK/r32Hsiw5XA9Yum8w9oJDzTSMxckiFtU5ym8/I5SFg13iwnOcW8K7pY9Uq0HS - XgGiQrFc4dZwoouqztV41Fz5eA9uU6PsPgKXdZM2ya6gI/vbEOu1VM4kv/D/5jTO - E6qSUhjpZZk/xDOLBPWwYQmBfzYaf4OtCdyfgUMpXvDDOQkbbMgoHFC4ro7xKAI= - =zxCn + hQIMA46L6MuPqfJqARAAlMfw5PXpcGtDzNEqMerEaTaChsJLjF9fMoQOk3ybJoBh + V3n/nvd4bcT0neTSu64u4LK0F3IUPM7rOWYT8+ZPKsQttEBPiTK9k91Ny7IAovN8 + HhITvfkmc9G1VNLQ5ct1yxej5GZCw0Ce2657lQzLy0WOLeLxP9ra+6USjZnTp14A + bvIvIb07JwT1f/1Hdbfi59AbwXY/R/BfppSAW/+52lx/mNVQ3s+cg9im9Kld8ea/ + mfpa2OD0uLowrAIUq+cuW0dAp4qLTJ5bNs/SF3GpYBoarGkHatdodrgNDhEcNUoe + QlNWQanqmJEQnN7m+lMmPPN8S92QLS5ioXb/RosyoPpFqIB2a44TqZPpk3ADXP3J + CJc3jOLxxrg8+os26RN3nAt0gXhkTfdeRjKjCjCQDeRFDsDpNjJtvVVR4yFAVz4V + jiTbUlIuXE7JBjo1HA7QcnuFQgjscctetb6Zrd+vFtevfwtkZFHW/tvKaBBnSajp + /0tJqkY+GuF3TxIxq9eX+dPwsBxGkgs7ZjXc9qoxgGt3MxB3BpcgewkEKbMqBg07 + 217Uub8O6LtaWaazuTkko42j04sjy08NLOVyUoTiYIm2pPbWY2UsX3nMVeBMPhcc + BrdTjhBAUdV+9ksAN/TOuH958y7BGT94NsOdGsDchLormzfukOubkAHTqwhRGC3S + XgEk4Fl8RPIigm65rnl4iS24PMXlSyAh8reSzy5gJ1Q5a79QMQaHxAYZF3QHwaQd + rsDeDjRW1+cOOWMAsKcRj+oVwi8VGDq0gMlK1UjzxDqtF2klNp6vEhKunUJjXiY= + =J1Wb -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-03-05T19:18:04Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdABx1bFOTL51TdN3JWUbJiAReAsKCuIWljohnvBpkCQVgw - M211JW1MolBr/75zZBeEybjHVsO8mrkAhRadrsfKFDrtdJMnxdURWu3VtBpJ0Eoz - 0l4Bm/k1EuDW8xG6Ct7OjTU20Ls8wgT2pZLu6KXEdZNLnNrxzQdCFPCgHxOeUFqG - 4WEXWboRy4QlmzkZ7w7PjVLXCTniIkV+lp1tnj1SX2+WvNqQfGYdPeVXx58WioiK - =4UqY + hF4DQrf1tCqiJxoSAQdAvKEvSzBoDTFv6eyiyPNo8Le9VR2Eb8FkyaWPJ48hLGQw + sLenP6WBgCyYgefOGUjzbh0Bk1cB+Fh/adK9yj6leGFBimD6dIMc/ZyetSCwZt7E + 0l4BwkRUtHGD4WfVIMXXINqnI1SFMK9/ZgeSKUti6xzd5SegYBdthN3K6DWtLe/z + lckzEyMLR5g9k0awFA5IqoM38uifyU9idmiD4UbG3TLYQ6Y0GjBglKIiGSXXOK0r + =/XG6 -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-03-05T19:18:04Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAYP9944P4Aq9DQ0DVcyHt6CHlMrAFeXyggwhCbGoUqRow - UvlXQ35Uy1W3Of9HqwM2ZyXyLY7PpTPXmjc8O9RdUnuS0sOvPihzoMQF52r6VQ6m - 0lgBdo1WiZs1VDzJHBk+5pMcrt3TbBA1VRgJELA9N7S92L/iJC89VPghSroCduQf - wT92usIH3fIHXTxpvRbvVnCISP01da00+TemwkqAGf2bBRwuu2AY59Fj - =Kb/p + hF4DzAGzViGx4qcSAQdAmGoq8vPbWFzZ1RjFpeVSwBbe1xc9uaK5Gi0geBX80HYw + e+z8Lpp6JQn/AvBeSTSBY/wlp6s0uxuFC3ZwR+cdO5W7wVV4CCjaiizzuC0b+5qy + 0lgBMSSBas99DC4TEjMZY53/wuIQM9ZEnu3OALYuh0WJKitqz9uYH8TxyCNZEtbb + f2UlQyMmRl0Wdp6BXMZOh2Gj+PDo5xaOYfwgrgOs0WwuyrbEB9rdz/Nc + =gg5x -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-03-05T19:18:04Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAA1K2RzGkBDkewnJSelv/IP3QjjnA50Wy9jPBKKIHhLwtz - 4gqaJ1QyMkUrJUVPZ7Jpn6+lNnVu6K45Om4N0pjD1RDvs3UWUZQPU7/QbtwL4/is - PeI/MuDrWQLTVfL6PTOzl+VqlOBGyF3pEjIX8SH5GPieRmzkb/NOdMxKvGySvN3R - yDfKoG/gMhJRoEl20vgVDq7mHTmZcXtGTNQXejjy3ElTxgcyqgq8Es+6vvsB5Me7 - o9c3E31Ab//8L+uMXytC0MP3q8mkIv4cQsbDzsPo0vpxslGRCtf7etsNH6WrQJ7L - 9REK/81pkT59GCTdPG4P6HLxR0H6uiI1gmT05AFI3PM29It1QYuSDtapb5ZvImMe - 7+vmR7Bq6TjqOxBLuiOJOa09myg/L7bvaSVq2KSm9l9TmHi1Cb3lD09OvOOhTLA5 - dsyCXoOZoJ85VC4BL7RjdwDU9Cl1nKsxOAOABm+dgOJWFAGNCtzbZzFO4Cm1Cjwc - fHt2zCjgB2jQL3bvHeWeqwXaUCVxty9GtB5p2MZyshnwNFk67fWi3yS3LW6Az8PW - z1pR3dEIvab0hn2GVtfXx7VpJLtiPphwde5VUZvTgFIdDRvVFtXiT1XHC3DTY+kI - YQeRczFJ52bar3yj43SayE6nhGAVc4zB/WPSZO4LoWt+BfwuiNX1w6TL7KgOEWbS - XgGxCXACzwbLNgtLXfVMOqlg+DHrbFIjxfx8yf65VQv5PWDn1xW2S3/8qcX2r2p/ - c+S4bx71xCwq6SRghwoVrLflcHGHl5IPmYjT1+EWr4OmKcJLESl6ae3fuhIpInI= - =pj4L + hQIMA2pVdGTIrZI+AQ//T6W8lZMNc4Hl53aC2+Z6FyLqlq0RCN7WwGoVP9+DYVMS + rBqWmO4Sw6czfpz2dzrdsk93Ivc7I2Lg1PdnMF1SDnw+hOqpA6mk7IEjNckb/VT0 + +iqIw21Gn73HChLvjMjSKjt0DlS041FKDeMh/35AzLdyhIzt703/InFIIACCifP3 + 3qYJroPMsIt6bL4rSYE5YiF/xQM+nfq7PG4v/RU1YB6HDumNOtW9lXx0jFrN59Xp + I3NppAzYzpb9rxyAK0A3eUq2QODSj+IUc0QPljKo3sdRKbOSY0/JXdBOjAitvX6J + NpDIzFOqowpV8ZYmJqByxUcM+mSXYvpgvsV7B2crhtK9m0eHknExnxWgmY6dBOGI + SipQ/vW56QUkP+0Dwz9FMKolQyjhwH2OnMDEyB7Xu971lXxVnwFV8P3JMeA8h3Wm + ccgpMjoc047sebrRywAeiIYSMNxtXiNOryyPFY+uPIQTeADOHaIMzAdOCtMVQZs8 + Xb5M0RNJVcDDr2VZ3VqVyBwJOQ3lX0xESVJhYwOrZGKMWEBse1aE6RcKpuI8HwFe + MuEjkc4O7iHyKLZJutyYVdhYnJckuSirGgou+gNblRhXAM6Ouod4c2fFOfSHs6ey + JKoJdZ/6JsYh+lyCPCqPBFodOBpo2R98gTA93RG35hPYZGzNLxNWYp+0U8YxGzvS + XgEq9ql6LDIsaWsQ32fTk4GIkF/P2tnX4oPNjxioFG4BxNB2Gi9Rmm+PWAbN86Ro + rQSNnrmvlSgCIwUxMu+L32I45iDpW39CsD05FJAAbgSwUhyCuZMlue5LCCQQals= + =n4Ic -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-03-05T19:18:04Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAoELKkyRGc3e3SHnRvws1Hg0mt4wgHyDNTVol6GUAlBkw - EFkil/L60+V+5KtmZxCaiKHO/l+Wc4BdzfojUthkMP2czm044d0pkyf4/giNN1aj - 0l4BT2IeG2jTdBj9jdL0jIAWdg9S+1xJPRmxlgak02y3Qm35SBppZec1su5keFTM - duB8zwOLpiTuvDslh/+kEv20noqUG1Cl4is4w1x9JOPJAeOqSAI769BvAIXyxJlS - =8ipw + hF4DKKbvh61jX5USAQdAaISrMkj/h4Lhp3nqgo9TAQ1SV5mmjozdnreuVZky0kgw + GaL/zlxdEZRrxdmF2/KTCz02cn/sOYPqbm3A8+YA6Ib9UzoKcDnsWUMd0g5oV/rF + 0l4BPEeHedzm/rWmhs/L8VIgT7nBd9zqv3E3o/g6kQdYNbjtTviMZktkghpKHab0 + VIahda8rxvu7wWVKRfQKqm1XRXreB+sW3CQ0zyJdnCZgDlBTavGiUMeBigCqnzkH + =6EeJ -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/pretalx.sops.yaml b/inventories/chaosknoten/host_vars/pretalx.sops.yaml index 7a42dcc6cf..97a1a7cf39 100644 --- a/inventories/chaosknoten/host_vars/pretalx.sops.yaml +++ b/inventories/chaosknoten/host_vars/pretalx.sops.yaml @@ -7,212 +7,203 @@ sops: - recipient: age133wy6sxhgx3kkwxecra6xf9ey2uhnvtjpgwawwfmpvz0jpd0s5dqe385u3 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBPT2V4RzBMZkpSMHBhNjlh - VmhBMlI3aitvZmx4RUNvMGxyNkhTT1daejNZClhsQ1EwMnU3YUJESDJEUno3TXdl - czZSNlNHaDMrbkFQNFNBK2xCMFJjSG8KLS0tIHlkWTgrcTJpRFBWRjNnZXlaNzVM - T3BVQmZyVFlyaloxZ1lUdEtlbDYxbkkKdaYhzRq66SVBbhn4iNVSDSoEBk7+zODh - cogERhbBCuz6WXCKBHjFwLDggM6y2cLo/uk3qkG2X7YDXUqO/DMwSA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxdUUzYkc0WENWSVNaQ1R5 + WnZ0VVAvaUd4NGlONkZsMnZFY1JjR0d1eVcwClVhK2FaNlByTlR4VFJvUFF2czZo + ZkRHV3ZJNGNYWU92SU1VSVF6NXQ0MDAKLS0tIHQyaXdCY3NTQ3lqaUJWcGpuTUVv + SnN4NmhkeTBlcFV0TEowY29XV0hoN2MKdxOW9TCdtDoeHATQodxj20PcZU9TY0dG + RD5cgDKIqbPM6UyNspAWOprPoJTlfSV2ip/y/NUDwSkueevM4AF2SQ== -----END AGE ENCRYPTED FILE----- lastmodified: "2026-03-31T15:20:20Z" mac: ENC[AES256_GCM,data:XUk54tSq/2B5DlHSOovKuGT2x5ffl6EahmqriA6P+V0e8D9PNemgOcV7s0GfW3QgKNQ7RCCRaXZpOZADh4yIR/AslrIGAJ1qNHgekZgRJ0VX8yydjHMpVG5u9Qi4Kr/u867xXhSzjSLEsefT60RGCKyrQs5/QqkK833PaIJylqE=,iv:1sRcJlDHN3eu/oRyJ8e9TB7+5yThlf6iboBnaaO/IvM=,tag:EW+m//ycUf+crIeEOJoPtQ==,type:str] pgp: - - created_at: "2026-03-05T19:18:39Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtARAAq13EX/H/1JZ3R+e5hrVcHf7dPm1Hjq/GfvEQLAlciloe - 6Gpt4GdXPiV4d0RDl/JBOwEvQyUMPDKYj1gEGbUDmllF1MGa0+eiTRupJJvwvC6n - eQ9W7+S77+gbxejcCnt0gb8c2HU0xxvfssT9ldTal1xxRNzMtKuNF84bb+AMI/+X - ZY54NKhNkqTa05w8LuPr2xnAr0CUkLAHtYWqDtwSzUOjn+amXdRjxtocdCQwA94d - 3D5KWKsHjkKj4Xg637bMbsrlj8NCeiKEHUHC22bZCMvcVAQn43nzO81YORfVLY4d - EucKQ97u5wlztt1LPgak57YSjNjdRK4DPyW/RoyAXD7vfVMUMJfPlC+KIsr23rB1 - 2ShSFK52RLS7Nd4c9oxG9HeFjHzmrL93cg+J7r0c7FDQP6/dgMP45KaroDRvARDv - 6C2XcUkqjNO/2W7m+kSzuKI72Q4fkMu5mMSypsLXg7ZhydX82LQfMtWU7bsXq5qa - plLACiQih+ZV7Q5vJuOvWvy3ajj9hICuBNcyPn1zIuusNALmdNo07T7H/C7Z7UW7 - PoByKlGe8v2pOFn4V+1yN/6JZ0rAM4Hw4iqcfs2qTaZHbM6q6gsJmKxKGKvJqA85 - 4N1Da8Wuj76dFh7ZPoXT0w5/ml+lg6MOm5nTOYTYR6lURiC9clonS4gAWMPXV1bS - XgHNffagtxXcRGVFM3CESeae9DtTZdZ1sBiw0rOsRYd6lhufZPBIugCHW8zK7ZhK - xP8ISMeFc00rJoHltz5R49b815bBwpPZm8pOpFkpTOOBQy65OSdN8WTr1ABDIC0= - =2+Eh + hQIMAxK/JaB2/SdtARAAk/B5Lnbw5v0ntaBpVNPjDSt8K0TVpk/tPodQsm70S63E + FRzK3+ZUdgQeMsSmVOsE4J1aGaSXNnKnmoeXb5QFfD4/l5ojqFXX3rbJo5HYnT0B + DI+H+blsOm/EFTmmIDjpUMuUcOZ/coT06U+MCYab4RCafd65Bu6vRUHyadhkEBxX + 9wBtraxAhRtQ5Uz3iDy+KteTiFrjuLPns32YppQ2NdfEB21tmLCPoo1UvAhYnKbh + Ld11ZbjYWMi/QFWOAjGrAt7KHd4Z9I1JajQ7c9ckd8TySE7ATocU6RV2UgrRJmA/ + c4QTzaqjjQRdUR6TpmSES9tH9fh8BoBv4xzgaa2/pjrdAKAfxVdpPPywA9m49NMH + yvW2ixbj9H1b9brKidi24Lv82dDeAkiMwcca/eIIja5r4sqXkmI/xYn2kZKS3FKS + EeiHyc46AqtAamzV9V1xtEGiRb9RyzjAZRSQi2hbDr/E1j0IdQ6sv/uHw36YDvU5 + MheGJtzo1QE0kh+wfWzDbW6RiiBOeU5qUIAgEbuetkPf68Pe54o5IixCyOHkzpEi + 2lDacJ129Pv4kHM9m0jzGVQbwyAp3mz9vMJ3V4HaNciso5iZ90IVDh206ddWk71a + xbfDpqEqTAwyKPvPSMiPeLSAzpKO3WpId0T8/B0K+JTLTM5O2g+W8tYshX6Qdy3S + XgE5LCL/enTTF3k6JxiYfZprE9W9fuoDvGYEwtsKaP3E8x4RzkVSWPsDvNAjOOWl + FDCzB8SxrPxN8ELD/Q+ao0Wu1/i4cyGER9EDNr46u01BeRc03SltO9x4BK67Dig= + =8qFN -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-03-05T19:18:39Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQgAqnmHh/Gr+bUvT0DnVEC+398MleS6oFbZx4xutx/Wmhxq - 58WQ9I7ffDpC9UwH5na17E8YesExqx5XImz9Fxad1vOm0yg+AIleaaFMdQ/BqW7s - jdNml/IbhuUGyQoWHPN2XbGr+GHAJ4TVcHYlfXlro57Ka5BlAkm4wnlJVCoXHQHo - VW5cA+4MrHoUZzhhHo3y/d4ESdRay2TKHyCqQzap+vb0WXws5kfbS1CTSN81XSx2 - 7MXcq0k48OhsdZOsMm+XY2JTaNTrJI2F96xPmeg6FLg6pj3xKKYgBqe/edOwe7cl - rzTJ6elh+vCv5TJnUJLA2hdY8K6lk5faz+/ZleYMq9JeAZFaqA+AfNu4b6BQmXcY - olU9j7zKavwbaD6udXEkSdtbFu99VVB7Iw833FIL2mJL4FM74CEb5yTKx4DsCax+ - oSCuxopejUAWGXZxeulZ3aZEntZkTW4eQrt+wu5NFA== - =xM5w + hQEMA1QflAioE8i3AQf/Uq/nfjdtdxSF8MycVSVohKj4+OIv8YYCULjImgcj3TDj + vlHphMQ5bYptoRxLYWcWBQvnTJdeZ+JXU0P6PSi18+LLC/T2v2i1u0zYCG6JZnfg + J76BdQ6EzF/s7l7171OATI56hexIPVYl5X9SFIrQbucqS8CBgOBVnjowh+9QOHhk + 2WWDXaqt0H1JCx0fl2nGDqAsYN24bsoxFpHI+mLBVzlqQoEJ9Xa6z7X/n4PJmflO + 2GRv061zdPiy/uzzXl4+h4tAzovcjYAgZabUcdBDU4sGqYX+vrrHvDIgtF/eBJ1a + sEG5t64U0TKbBv8v4Amr43EhJZoIdJRhouKEnI+cIdJeAUi8V6fKo7NTQRUdsx1F + eie7LL2khVfC0lUJD8PfWi7KPojjNTmQdFOstX9BCSGOiDqJAm5gXVxbejypoCdn + 9ZAd7pkjGVVDHvEKyZNGB6puWK2q7hEBK323upXlaA== + =/Gcs -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-03-05T19:18:39Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAAuqjaugFg150RfN7Iq1Mk7hWI1MpSlFOIbNU4gojM6PlS - iyDHrO1Vt+3ui4YVJ0ZH58PZroQP0lL2IIhjgMfbwQw3yT8pWqiX3+YW7DOTAbfR - aFQs0W3uOjInDDAPUr0Wn7OSBwa1O6aXcYUkQjGzoeS8apt2fYEM8eaHd6kGbyyU - xwb9suuxV3vuDPJVM4Xym0U/EYekJzwrVbB2KdJLlqy8DS+UxOW//7mhq2QHRNE8 - wDodLpSdajwxBTRxJzoGqlefhQ7qJiLCzXt3WDfU6JvXMHk9cibUQjuoQWWSDwuP - U/abFnMDqI75mLbGoDGpzTvrtH10CTcHRf+QzhD7WWW/FmhkycN0xboWRT0xR38C - dA59eaS+puWtJF7lS7hUXBR7KvJlmje/WMhKTEkWDRuCUeMJSvD8G89Z5Jxf/vj0 - YelsGi6vHZNgMsQA6aIvklipoGlq7/c5iwxVuTlvN3iXMQ7ADvcogUML+wvyzJUv - x5Ex6GawVerby3/2CUNb3BRerI4lV1fkPw+rIjD3PPoWNrIOEY0YFv1Z1CMkC1MB - 9Ays+wyTPcj92Tmh3S8ZNz3X3GzIXvJCzTkXaYV6muQ4yRFaos3Da5MiSSAHUtTC - u4aGMbLGG27sg0iXIS+bM7nUBSlNMsZ2jJlXqngoVLvJqg6isWXMrQnMJQJ6HEnS - XgHupqMvORYcMJOczHScYKwfXixKE8koHTltXdcq35d/uoL0a2QWvlnln817BNId - WkePmm38ohsp2dq7Mn7pmHmKwnMpmf5lb+EwMw3UEcnpL3VslrzTLEv0QuIp5YY= - =3zNX + hQIMAz5uSgHG2iMJARAAgc8WmBFH8NYpCJBo8bhnFT4v+dY7cwjY5pYW4UvD0oPF + zUT9x3LteDpQYInlePAYFUmAJVy80T/kIiQZWw4ERKwDPK65WqpKIHLtVkPhLPMk + aFsfKmAqKZPVBjwBkxNshG2weqH2NDDkA+JUHYO6W6QFjXWKAZ51ZgnQOfT0PxIg + HCWlmlS9ESstrpXppZUTABt3VtyoeEMfO6ix+lrHaZssy+sIMBCXy8hEmkgBKN0f + TEkPYdwJl4krV090gXjBpu3et4DMy9UV2Qk2h7NcL6Hj+73vr6SRZHwv3X6fXtm0 + s3BXsAV0fMDYN2yIyCwzvJglWlNEhrD7AtJg5gostRKPnFMXmxwMZnD2XhOrkpMq + 9Dwl/53/r7BmWlf06rsltZGWrNjMI1aim1I/6y1RsvM+h4Y8Px81Xpd98bN3QE+/ + wT/N1Er/T24s+4sxayLrJph/+U64slUwVrfaYuJSWf1m+Rv6K6LuzpMRst5l/DGo + kf+7yl8dxmF8Aihr8EkFHsGH0QhP0J5kW8C0BS+qh5fUiU87EIwBle1LawTrtXd0 + Epbad3wTMn5c4ZSHyhMDu+S2Gr6AyfB/Rsivx6SfUWOPnXAe0QIdAP6PAMSUSIZU + hFU+aL7Ygod1ADVKP9LyVE/ShJqP5Y5M0WscUtmxmFU5VtCaXoL0xyfHd3/e81TS + XgGC6F1Ib19FLg+4G83zp3j/MFu4Ud3aDAZKuJMLVkA6YS8leqFgv+3zmK8K1W7V + 7SIF3bFU/OJhqUhSabh5I8GZwd4MMHHdZMb5GZ/V0C1bUajZDmJKZTdQtbdH9cI= + =sAHb -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-03-05T19:18:39Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1ARAAuH6xK6tUPimWASohAgLP/h/5swxZ7UEEuV+LXrBhbZbm - rFnCqsZT8A+hq5Ft5u8X2JNCIpBLDmtY4PO2G6xxxqQ/OBahEYNqpiWQuwyipFFh - uiriJf+tDh+sOuravtxVJwkW43HHtkqLlcv9Z8vFulp5myTj7nHoqjAXspozgcH7 - /wCbGCNtg1m6BI1n3ZkX3aNH6yfWjr9gPVBhTov7WTb0HDRctVhDqbw5LNglmiS+ - ypWjJo8i31qSmFPdnKhOhhwL+NTnZTDocDtxv/N/pBK0E13z04emccPoRmFW2Bty - EoFybmEmwNKdHQ2H0qnw6rNa1mEXINo7wfkTvZRFEpIHJOcgA5Fza2xAMZHllws3 - uf6hMoW5+qmD1jk1MKFwoZZW4/gL9EK2jcnPtIScLdti+7IeSMrrUnVZYzEZiOXw - nuAI4hHS3yvLIvW+oDzKtiRZgUVtUHy7fGRbo2eXLIeLAPYWg9hosOBwtWhkjmOs - IooedybywPWnQW7HwB8uuZDaWQaLtgVZOZPVucXA1YgZRCfbk1lSj4U4hUk/PXi/ - Lzxk7dEpSKgykSORAkKjMOYXnKHZvHOz8V8AzRRE2h4ZDKqsNTcy3gOg4X8uyMVz - Ncr2UDGvKNA9kqyw6P/gFHoR8JBjZeMSosSKq9Cee2pCmWOln2Zr7Momapal+tvS - XgG0hzIRGA8zjxVR0Dpdto2cXvRngenvZtq80b8kqQ/tNwAqfoaKU79MxKH7M+EL - 48RHHHVyGTmPddn1hLum0XxJ0GumiohLwkVZS3gC4dnY6A6X+/VH7/ONH7vZ130= - =DWfO + hF4DsZXvxFXTXoQSAQdASa5m/i+cbzbAq31Cr0anwjDcPLMAzVQ/ScUFi94xLFMw + YP29ODVCPg04M1i8tq4EHMPf0qbJhl9I/wRxFei9SxDRbOhFx3d60NrIcVgAaDNy + 0l4BHFAdDZJ0CUmmGlX+ezHYwY+WbxI1bLB8yCcCzZi91QHNqgTATgj3gTuLmo/g + GXZATt+ZZtOVZkf2ZG4IM9Gic8Wj7EMv9zH5yfEAXTejb/dL0mCTzYU5ubgZqt0U + =2KON -----END PGP MESSAGE----- - fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-03-05T19:18:39Z" + fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdA0RC689KLHYBx0kq6vHIdckdwe6X9suzjqJPZbTj5zG4w - liEw7J2VrjtTpO0/F4GR2s4Lg48neUeTW1Xdj/relEgO6zza09iFBprf3TS1dYAy - 0l4BgHghcjK/ryB31MECmaI/gU2r7bXmSea5X9mRbjm3Jq0razUiKe41RgX/XJr8 - Syb9LdS1Ur0bpIXEmKnj4ztqLnpMs+x7HMNIffkFTvAbytOhcwG/RN1JJjvN3Agd - =CecL + hF4DerEtaFuTeewSAQdAEslLxliHZSDJFDDJ1DEcoMoHaOhawZaWCaayiI97C2Yw + VHdHltO6sm4byDL1p6GuxmHtrHXdC09GaSQ6zDfVU0U9vw9XwoTyIpVaiAetCsF9 + 0l4BH5/DywqJNl/7jGgHc+ay2Kcoz8HZO90QVdAqyT3IPrifIA60u4TMekjTbjMQ + Yf7ja2V/ogkbZcE3i4S8UyxJ1YAGZCpnd6bUnyY4zz1WmZGVQj1CFiIsdGDn5bPU + =10HI -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-03-05T19:18:39Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//fbtaIyWBCNW+QSIGB9IwhygKfDy9kvb/ZNyZi/pflUdY - qXjvAyhr5ZFf/+tEupYRLEebhNCQz/GUZDCMCG2qyrswMVbyAl69soM4JLyewqK1 - J+72oljKcRSB99YjHOGQCPlGgyiCkaYTKP5p0mUAKU+D4QKH75864XhcqhVAVT9w - Ubjegiw8QXL/gfewH6Wqd8yWFo0SHpgvIIS+YwWsyb2VVv3DBDUNNkft5e8lic6+ - 3c2vJ57yZ1ROtBpz9KNjdUrTcA6xzZ5hrq9HB2Zmo+MqYC+bTfFHUNiTNdNNQ774 - FcHNcFcOnyXMsOyXOjGbjv0LofUm64We+Y/jLdlI4nyY9HJ6ZX4fBngqsINW0Lcw - 4l3B2q6U9NRoIblcteX2jcR8CdC3EcyNDEalOQd/XRCmnE/nLPgAr9CqCznri81N - LV1vqfqkc0MkWKXvm30iL+jeW3kHWtKD1sMAAL6YZS0aIZBRr9D+22jRIfGU6fb5 - 5LsfOuufivfeQuNTV7QIf+Hu5lqcgGbcsvRa4Mds/UwFs530a46aBuGpbM05o9jh - 6hA8wpNupCHsFfMDxFiW6TDPd2mG+kpsZpfAdxFrgoYj/+ZJWrHxuHh/yewuMQ3V - LnJfmtcAi61QaNg4cIERVBuuqZh9y0t5YMcmpPvpABTjhOAl9lIFi0MWmR5e42jS - XgGht7TmcKnkcu+yAPqPWF6YpEtCh5nGyAZ+RhBWaV5Im0pEGesu/mgEGfQwMnag - lRWe7QlrbSa7HAJude40jbUSr106FNNUQQKjTcaT47bDpS7iMo+PeUQMYIOAdWY= - =padH + hQIMAxjNhCKPP69fAQ/+K6/DFK721fJlDWQYZt1f36S7uMBog28wBaaQVmh9Snv6 + 2RtsBaso1qlXp5NVaWZGCI5hsq3pdI8x+9mgTaJW3qoWjHZVd/LGSYtznWkeQmcn + 6cvC0hIf9TSO1ukj+O7JtlXycrGiZC/W01o2TPSqwzLXsEshaHG3zYCGWeE9SNh9 + sraI43ud5EQIgLS9Wtru9PbDzMZQ4plsrSDXoy+YhO8M0KVZ93am7IQhjaTjLgFS + FM2VU3Pa8F2qBPtl1nCo1XHZl6Pfrg+s/6drJfnEyj7nV8m49WedvpV1gg8Wmmld + JQU+yQts9CCJEJZhpQ1IUGvOl9OvSBmvXLS9gHBxkp7nW8uW5OyAKeDEUXZ8L/RA + To+qPRtHZHDf2Q8G8i0jD+qasilZ1k/+uuEXG023ahivJBIRLId0kLyuwPP9c2Mg + luPoGMAb2bqKpVJ3qzruuzeZnAULDfT+p5Nj/HyHqDM8QqM7tWsiUrNAq8i5RHqe + 67x4d3zSkzsXtEkbylxwAVi6W5ohJa0w+UTCDMF3K7n1CbSpWQtL3ycDu6ysI2Ee + 4wGFUz5Q+Qz6Dme2siqxqNiSQTCs2wc+7PzarImKiAcdaikuMPYt1nviROsHV5HP + 0NTpw0Z7C9CW9pxstsXlTUOtjTWuxH+4FXwjdbYb5CUfdXZBflBe6OmDv/x3pVnS + XgHLKdT9NAvyGbphpIWgai2ugKgIwZARDD+uvAKaUidsTbbIstV7tlQXD3jyD62y + 4YsNjtdb3yfiBeJYCpZ4zeCaG21faG28ZGKhgKkMXqFFL4yZwVXK7PcladIpCpU= + =3EiA -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-03-05T19:18:39Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ/+IYVzJZGJRKim72mtwwJ9Me0PLV+7sLL0/R5tJ/ZwJpC6 - 0QJWV8fxVG+8/wKIjdlFAfRtjUrj3FKGzgN7mLXrHiaF8+RPSwXJm+WOkm5mm4Pe - ORu0oiCccDlcL97Q3VuDEsxht4C2HU3gLgPUoWa5c2pDYV0UxbH8d4lhLS78k/QQ - QBIYY9ZUta/EgqvGT6s07cXc1dOgDeyPLzs+apwj7QWkmDPq+LVUUitZqzskgBb5 - z4u/zl/CH3Po48HNIWmjzEIEbkzVn0wknLEl43r8QOGsBH3Zcj3qjkEpxnfevbwZ - aXXqNTtgZnnmhSgTAvHwjz4Nx9EaoQWu0CJIcftFhC97vVcMSmlgxPRFSkXARbjJ - hjNFEJn9T8NsjHZfQkP/07vnl+at1gcbXFoU5MezaMCw7a9jcc/sRKUh8qQ7Ibji - jI8w2m/HRVF5/mQP15rtiIkZh+ketaqXrApXstQcvGwdcFBqV+FYCK0m24SNl2QA - coQCDhGoby0Eg7FxP29NLusqcn5qBQ3J8X57oV4+/h7KH2E5MXJiwCWftq7MttYZ - PUDN2cFQ2Y6YSi6QGeAYhW5bNToQuLGy6+roo9Q81eHq74rmu3FQv1FWQl+RX/uw - 3qz/8ngQBy6uefPNmJiBnF4PCXNpM0zxcp3MhAT42+LCmQ5yO2+zdSgr6WDyMbzS - XgE9MHxAYcPtfxT0Dv1jmfHwuKxE5R4jjXOMbsuBFXWg0imUKHIygjQf2Ci+/p2j - Iu56rMRrb1z3RLOXYkTpx23RCOGp7AS8W/P6WS/ZEq0dknfJ56EEeQozcaWqyZ8= - =rOW9 + hQIMA1Hthzn+T1OoARAAixi/EZ7lRm2InYCo7siTgLSPq1ghlHrmuIhiTfG+Yurv + zUlOhwYtemzmyJoOOxWDV3X7YwwRcyjW07qem0Zp1H3Xyw7mUJbL8X/r53sb69An + rOJ4ugbhX7LeRCsiXTzPEXFDFp3jOG4KIqQ3r4eTkncuWDW7HPdMMX+oxKJ6LyLU + 08L3B1fHwaA5krdhVYWlLP6w/rsjWH95lkffN18fa/7k3EUTWFUDqJX+I72bEN7q + s5tBrsCfgFZ1ODjvthQvT52wkquzXJoKmifPNjTkryTTVgPGYP0UJjAQyksS0tal + afUbAnHTwqKEw62v3HkEdx+JOFIrs1OwJSMsFslcRC/I8zMp9rXhwcbE/CB6X71S + YoCqWLsWcz8QLN2e9FEuvK7voxlQgahHCgXNn6Hb+XlGwxy5Z9L48cLlxxoBMBix + h4OZla9oOomZ9IM9ov1g3NFWLdVVupcDXeVSRNp6v4r7bl6BHXajpjW2JZ21lRQI + 56MArWVJ0vRNmgxECi8yrbo4csOou50giM3cxfflZ+2kwJnZz0mGLAyt/Ig4X660 + Rwk9QDCwoK+crNHn3HOuuwYcKV9kNNQNjBCDXK4qc0tZ0Zt696lY/JVgi/97bM3N + ww4eRx7ZNG/MmflZD9u761Af+UAXHj1YZBSRMhdTF36ZL6mpwzDfm0wuTo9d6NfS + XgEil4hMJH/PExPnWBSpBvcm7UQQJ0jky97GmqOyV3FCfaxWXO/31VEC+9mxM0+p + NoOwJcEg9olvuSZRFmf6BPiJVP1BgPMem6aC6gD+6dZnMv033KBLDow7NOV1BrI= + =em0E -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-03-05T19:18:39Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ//Y/YLV/nhdDBa8ymrDNSPEBSisIKdBwe1zK83hxa2AKc5 - BikOMg9S+x5CqaFCtOFtt+jui4k2jj52HwiOsjDGMqyOgk3dN7hk0Wbj9Ku8lBhG - 42SUU7/rkSjsXd8oxG2DWq4OdA1AP9y6ODCUJb+RmWYQw2gvWZe7TzGzL+EsD1Om - b/h7oDuFo6+PpjBYRHNmnfQJknbNit2k04YYm3J86TJaCLQ2mZGeKsIJi3STNiaF - onugzsrAzqPNx5cCEAUGK4W5dCEsv5SxvxaygDyz9tVmZfYXEbLRgBGSxL9LLnE3 - qmVaEeYWjcNXP+KBHkhAodun5Fb3kmPKYlRgTD89r4J9lMqvIMuOnPn0SR6JEhzo - RLhAquI9LSci5UJWUp40pz16isRrFUlmhXzSjeWZa1vU75UgVHvi8FaGOY84qfPz - l3cSn1+GtNJARVS2cJNW/XL3ZsWcX1IbUY8mZWe1DN53HdZqqQAGIbQzoV8R3IKY - NrEzaByy4EN/Qk/LJvzDSQbq5FRGiwr6ZJELUirJbXmok8VXk1IvW8UkA+aJrE0N - G/61OWTQE2oIgo301Q/rlXF4gsc6nz/eomphOhZUDB953IkRvsSpvqKobPyFX/j9 - ldCiuH0rdpgGLaKDfsAXoqKO3iZO+GxnLuHMRC+JvNRIprL8dZOe5mJjmiFhbJTS - XgGl+pN5Mi2QhgQU26zmrRGjOqrLJwt62DmwWi3pRxoVm1jOSucTlXlAqezArc8a - NG+AcU41tq6Zg47TipJuxEF/LyexVoy8EyeO07f6Z4yPL5rbsjz1p6Kh8mcm8MY= - =vauB + hQIMA46L6MuPqfJqAQ//ZBBS4Yt1hKK0K//NzM+i+Tvc35ckAgqcMNRGvgz6TH9q + key/v10RPdz5hSFKOt49eN8C4Cc/pY3AiqEZAZlCHbONlgcSb0eU+Udi3oz+ntF/ + ovUyV8fvQAClZJc3IuI1YmaGjh0Bx06rIVTxhOGwuuYfREeQZDajoV2Vko45gJyb + idNwFpKnegiYE/JGh9IKQN9Zw1DaPgKJWJz4ZAWwKtBfMuiWUpAZkHgRIBdoR6IK + wIaSbDiYYrwPmqnEvwoNgiRjNeZzNNegYVUZ5nAfDdrYWpsrFQKxLoUzfHIv6W8G + znPHKw0OX83CqwCvhY2qD5v56pEm0p1ceI0tcuhGR17PiIxqa4mCa8fviZN1rGpJ + S2vVtE1f3NK5JwqMWKc5oKNOVoJAH6Oc8B5ACI2TobAkaSsIHskszeLfoYl6Etja + nw/ckFmotgF+J8EdSWpfb3bAK2otT1fo0ZMCfwDdDfb8Ui6/Phs974yk0x5ULjzF + eBHRqT9JxWJRqNIlBRc0YOwdo3Ef1dN/XRvGPslzDoPTaxzWZJcEX1YzV98ux4oj + hmghSk/iNEyp0U9yT4xznqAtJRgOwBZptkCJUo+LHQSPChaaQ0MHGo5g9Le89IDt + hXy4tADD9l0ZSXj7otzNhWN9OHP8VrONM1CQIM82S3658e+4rKcimpFF3cEqu5fS + XgEZSNd8nUzG9X/jIjuMnxfKblt+FB3Fphyot1/WA4es/bzQfxTYlgw62wUQAhuZ + TE7GntQ3Z4w50H0C7oSfPgbzhfVS0p/iMrp0q5JV/F3UHU9P+/JuG5ipJozbVyk= + =oQC5 -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-03-05T19:18:39Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAlkdMC2q6Zxyipm40asFWrSJwfzNomlu4dzslMWWdbjIw - CyuqrCdxmVtz3As5aIlvmuslyveu8B3zxFcfqJ9MZ2Ao3dcAhH2s2htTdk4uTMgC - 0l4BmGHWLfQyjiRHf0myHREbbk5J3edZxXVXFVp+udtD97urqWYNgZihICTjNnkF - o8CO+BwjBW+r/9RCfFlU6rs2Mm6tY/Ka/wjM+RPopkZP7fsiE+cNt7SyN1bmmruI - =EVYP + hF4DQrf1tCqiJxoSAQdA0pPJr7VsKXdhrv3IdUl0JxGRyoOzE+YHvGK3ih2DagIw + sFacCf5stEegLg+wuxVD/FgMzHb0T2Xn1Q8o2q23CkGn3D4jN34ac0p49IKFxcHq + 0l4B2uIyawa8fHXs9J2wrscRHU+ZLR7XvQO3In2WBHJ/Br5xfSTcNhUVINGqb6NA + 7O3NpfDCimHRGPnQBUW4iIN3N1vsjW/KQUcNZE6hMV/1lZWzwm7aHmtejwaUIlJj + =dL01 -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-03-05T19:18:39Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAGk1LTapYt4dHMH3wNfJKJ18KHsC4xsm2P748ATJQIwAw - xWb9eDTX6NwxFH8shSldQ8htq3yLn0z9De/T4TvPvxNlW9JLUekJ9b3yYoZ2Khin - 0lgB0t1VP3l/zSQ+3FShorhWnny28KPpA7y/3TCTAr3iKrFkSxSFtJLRnZZxWnQb - LkPUnTVhHEfywVoOfnNWnnkNw7dIKpfOFVzxlXwbDd1YYD2HMIfuenW4 - =Lhzq + hF4DzAGzViGx4qcSAQdAGwFoYyG/KFoWTfzgE6RM9v9WoHSDC9ahq7dmJ/LSBFEw + mv8+t71BZ8e+0KJ1eBCEz6M2+8CzCiJiWoCpxTU+UJRn95cIfyiP3nGoKmckHNQq + 0lgBU88mT5jjHt7/bQcB0Jex6SvXWL2Qm4jZihWZnoAPRnbcufuZWugK45IrBAr9 + HLyDxsrkx/eRNrnBjbY84Y/aYMHgULwKWS1BKEt9VSYlGEucivhRbbK+ + =4lzB -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-03-05T19:18:39Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ/8CyHGM8IIC4XPlF4i/hKHX6rdmVbNF1V7hFiaiL8jlwOl - 3a4ztvA1mUXUGT8r19wcBsWevzsoL5WR0N6jjCPsd3NkJQDs8tXz0zUE3iCYFRwU - p59tM1gKeYMx+jwngPDic7NL4smW5Sj5noenHlk0lbJQScH6aPU2HwgB0pQtG37j - P4URQgHqM0uA5rBYs27ReDbNbQ0+kW5or+KsgCM9CB5YlcIZHDXE/WWH61sK19up - MV2Mn/dYNd96tnZLhQ1DOkRu51jX2QHT3Bz7f+L7UBtymlCap0gENTbmJa6ggC/T - sbbi/3UcgZmRJ7KMeYnLZ7v/xHwd58Jhj3Gog80AF/fagjUhGggFWbIcJreci56S - TtXFm6GZaxpVzJimF6xTsc567V5stxNf2/GMXpH6eC0k0Y2TvDUZFN7FCh2u8Pui - LL6CDgVrifRak1fDty5iBZHcFEM4SFnUCMYQXlbTjj5l6Tvu7bF4CtGFawipPH3U - 6M7M12B60LCkxzfAUBN9Cw/iZxP3ywV8RWIBRvBgX/BErVlASUYjh6zIVESWcsKY - 7lFC5XvWnagev85a3dH2kchhVJR8N5rlXGNZ+X4CfEBgwStwCAHGaFJaogGQ7dxN - pYA/NU+ABFJaSyvCO9GU+4N28YMZwR0kQ9T3eB0h2gO98+YKGiCiU1bvvrZs1U/S - XgE7rk8jKd9X75g4y7yUmkPrcyslBYRSm0Op+6dtoZB5DS/xsGhuEZbhZGdmswSD - xyyIR+gNT2H7L+IumcEEFaIJmrXPjlsKcJXQpPPSFbCMYRGBH3gT2zboN35i3xU= - =6yXE + hQIMA2pVdGTIrZI+AQ//RxnuO6odP0W3iXdZYp+HBei97JKFiQ4uxgsfPkFvChJx + 3ASahCbSSXSyn8BgOygNYFVzEtOf1rb8ZQ1WgTwQwP342bmEnoHlS3Jo/33HumsJ + cipPxLHLO/hPxIlgVmj15qQhOHAGtSUTpA+lJYd7Aj2vr8t1JSfIIzNDVjBCiCZu + 3qz/qegmsYdeuXsQ4qff83euoXFoSoGjyg9av0jWZBOQL47h4jnQF2k79iMwwCqc + M5JwfLo1rV60w5cAcRz8UgBThkdEY762gFBTaw42Kq07qrnwB0x0IiLgO9RQjKtH + lo2DIrxsY0zClNxkS3HWVefIiud/tfWitt46QuqiHHBSlFJIN2oOmIppCHZ0bIsO + mbJz4GXt6qljzBPMP4Fpq9A+nk85Nr8THnckn3wK0jBHi0cQTBknfxEN/9SETLvs + NY5EwP5+9GqPmvTbjyL2wrT/kBLPCO+pNft/JSSyeZGVmoKClva7rPjw03gRSnNE + opdx/XQpyczbAte2HU2h+iG5dkI8rXrP3KA0Nusjw40pJfDu5Gcd3HnNQ0eH9mRH + pKQNOKjQviHMr/7bm6UHZZTFqKJthauNoFggnNR/0EBJWUZ1WSPkXVI6bw0Etrfv + LPQCeGEU4ishoBZKTr+OaqO5s+gXblE8pcYoHBaFvpnJjPBw5rpvc00Vn+SlQYnS + XgFcStDQXDGG7VVyHWxVoi9uK/Wk6kKtz3e4ht/J4xUHLcgIpmULRWGH3Xw6JQOz + hKlW5cxgpbhbzK5DjfFifGURzWw+uu4NxQNZI/8gm9mfv9FtNI1+coND1e46fOY= + =YnoB -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-03-05T19:18:39Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAC4DcPKNy9iEFF1TFKMYFOpMTiIAwiU3o2o/2zBDjK0ow - mRy0CDcrmNF5jCa70GRE5e5maN7gFltv3wVTFYw8EEi6fPg556Op19QDvYXPmBwY - 0l4Bzoiq9kCj6LJcs56fw0nBLjfVCxw5vs+31dVhKWgYwNd6UfWFyN8ydUPszGxe - G8bZWNFPFm0cySN4LzY5JWZDHKmj2Xxc7ok167UXbqVGn/Lh0OCjzP1hBlAcsHzv - =uYtx + hF4DKKbvh61jX5USAQdA8n3XphxpZ9R8L874SakEbrpx2MJyw+QouaA0WSaKzVQw + 2EHbxB4DTwz4+e5edMqN9AlgAl74fAeOSeirAce/ieVFXksIA0NyYuQHoUAOnC2s + 0l4BULCxw5zdgN2zgL6EjH79/WlSkB2LSg+QgEnTcdJD0ChPI7muw0c+SGlzdbWR + 1ts0eaSfbIowkh+9Tw9KCOLbH9vhC0L2tADsQY0Chx4yA3GWuqchBARRUn4vtYtq + =0dNe -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/public-reverse-proxy.sops.yaml b/inventories/chaosknoten/host_vars/public-reverse-proxy.sops.yaml index 91298c75c5..b1f0dc1872 100644 --- a/inventories/chaosknoten/host_vars/public-reverse-proxy.sops.yaml +++ b/inventories/chaosknoten/host_vars/public-reverse-proxy.sops.yaml @@ -4,212 +4,203 @@ sops: - recipient: age1p7pxgq5kwcpdkhkh3qq4pvnltrdk4gwf60hdhv8ka0mdxmgnjepqyleyen enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBJN0psTmZkN0xEc0hpcFc2 - SzVQbUdXcDNoZFZzdjVVUlNGUnFva0hKczFVCk9FbHlvOU9TWjVGL2hhR3p3d1B2 - YVUzME9sWE1LV0R6TzQ0VkNXM2w5c3MKLS0tIGdDejZWb3ljL3pUMEowcmJnMm5D - aW9ka3N1UFNkaGhMc0NlTWhxTWhsTWsKJ9u7TFhIOOVFLhOpCm1zIMMg5QOCUs0B - wOjj46u98zSAeROmN2LASdRikqbbnrrFi/26igNDSb51QwQgdawxFQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA2cmUxUWFTaGJRZ09WQ09o + YUpvK1AvK1lYMy85REsrM05UY2pZTmw3azE4CjN3Z1FybHZGNkYxYTVTYjBSYm9l + dmZVdDJERG5YckF4RVZxaG1ROEpvMEUKLS0tIGQ3ck04ZW9hM2xPcVlPSGpJajk2 + MTdJVGpuUE9UQmZ0TVBtU3g5YTExZEUKK20jVcAr7fauYMXIBSdyLnyjXZd+hLMM + TBZSbFQyzU2Y4fwDHC2NI9RVHfPymgitlvLWnaFQ8bVkBRGtvH4VRA== -----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: "2026-03-05T19:18:16Z" + - created_at: "2026-04-18T22:36:21Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//Vx/5pkJMr3rTpsng6z++BpZ3hoU5tN0wd6uOeVxSLenL - rLgUvK61dfEnAb0sq9MCObUYbMwZGecTN6Y/1LTlO9tb4HOiis8lecd/Yxu/Issa - 3qA86BbSssNP9vrzAYEdQGy8Kip4pqEvX4s3Lhn6gU0SOlsjif9lkyPkvNDvpQNZ - b4SW5X22FnukjGGw0ASuLr+VfsfPpSjMtlLqu96q7YaIJfUx9E30k713Gl7pp0rb - Zc9CIlYVeY6QoByXnGi3hscrIbJUuayvrzlZ41Iz0qc028ZspjlCyUijO1tT6k6k - FqcvfjWkcUwvMb6lY7IOpL5TVIE6i9mIy8IlT5iICheWHqnQRluuY+wCHfrPPuNf - 4R3Tg52Wf0jzOQiuDLQVHTDiK5Z+sW9grpMzpFkXZ0shhSmLpzVDevmSVXFO1Jzm - vk1cFPHASrt/43V8LPLsG2b5ltH/k0sCy2ABXa1+QMsjACcYqMio6Ajh4sZLvxXJ - 3p8ucwKROuRWMBTmO8+PrGD3kYzs69xp/UCBtoCkz5zEQb9PNquQ+oComyNOFHss - zNZ7M8uqLvV+ufbmRJGp6UsAxTwnBuKMc9vfH2KTH7r9F3QcigjLoRKSSYKXPc1j - MIr1x0tggz1+zSGbiHLQuI3ECbJMtqaMhROoI+GzwSaf36cvivDazq4h6TWvx+jS - XgG4yJ/wcrBCQOjoVNt+mJxZBbYFTojiKsqJAJrT/hvGJEv7C4kN5YEKkYrtdKFk - d+c6I2hIL/scNgyUTMS7cmSCs85qX1r3vq2pJNXnRHmaa1LEzVfho+7OJDQvoAw= - =A10+ + hQIMAxK/JaB2/SdtAQ//UWu97JUkGY46rlCWlkSpNC5TldW5zU8eI9ahVnGG4bEL + I5Rr3Qf7E3BKxTs67P9kSU3cHUcLK4pW3IcbR7m5oLNfTfdCqMseKrMTQR5MKvg7 + sD5YQrF/Bd97k6uI4g/uFmfpfvHD+9/KXAVBqB1tzc54zgPD5nbyIv0kARexi1GA + DKHpcXAMMw4PogNhGrUCRPjASQY/vp1D3rldnb9Fjx+hPyDDdaLfXBGxZRbexpLd + WhUwziQgr0BkFJF4LchheukAJA3sPLUtMiKQO1XzODv57jNYAHAR6i5zs6LGXpED + OkyhMJVqkLUjnjPGGYu1S3IKGZYbblhpp3/ohLgd7zav2L/n6yPfvmzOPUvkZPCJ + 3IK9h+o2tITV6oGqnbALrBpPBMKw9409xmm+qn3qdiXn2m1sgwOORJOEKZGHmdVG + vrLBsfGbehJDH/IjPSYB1xHFdAO+fhzKrK/vD77eLnwT4pCY0xZQVasV0VRy6Iop + 2SoIbgnHAeuxuwThn6Z15hnUeMo2rDquHtvWq8J2lqeMpLlEaD/Wjr+v1OXBtjnX + jNNYgirbjUAGPRoC1GpCATZOeCweYpVgNQW5B8TGbPTiAAydFTztXgeYGJBHgRza + ojsQxH69TTHZWE3pv1fDT+8iAPl8UZO4A1j0GYyB8JIVcyYZUBS6xBk7BeEQmn/S + XgGz99gFZRyxMR39aNmGDXh3yE2tXD023KX1MCWi6eHv0b1EQKw/hEMePivl0FH3 + 6+fX9Dr7CktanCdsp9/dxDsuQauzHfb1SS14OL7yOqI5acOvHAZVH8AIHcjbbOk= + =Z/sF -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-03-05T19:18:16Z" + - created_at: "2026-04-18T22:36:21Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf/esbDrspXliL7SudRAb3Z/UnwahJMv4ozx8kdO2obl2cH - oC+rlWNKZY71V/sbL5ASBtZG4Rk/CbwCQhnSc/EY6s+DEVxWOEMeEEtig/e33Ca/ - NgIGzjRW7EQYbHNLv7DnXsrh0nabnb4u/DJoZ53wUPDiM1ZsE6cqGyZ85Fb8+NLu - zF77bXq5PX0Wpc2ekynYRGLZ1EgD+S0PVQdYksrbIRSv1wORS2G3ahdPDisnFbnm - upZqUMimPTkOTSqK5SW3EkNbjSTvwoxk65sBfEwGnBtSCxv/cBLdhdX6waUFKUpR - 7eNkM8bdPlJjJlzjiJtsmrCJOJNGkvmXO52tdEnuONJeAWLqL8C6H6MqYM0GoucT - RF01qcZ8F3hbNFhYLw4qazX7nbFiTYPI9BpEjZLBrksPGJ2V5JXZ3UZnFoa0hiUL - y/eNdHcTE8DjEHE8aJqnS18pzjzOx9FawKGcErgn3A== - =RQau + hQEMA1QflAioE8i3AQgAodcsTij8PKNHD2F//swMTXN4no/i4kUORQbnWHTy2ZCc + B3ZNh8aAI+9QjVjWA580fctpjelBsMusWuxAGSa43v1gh+U5ZAO9VPkOPOwQ6qd3 + n4Cy2w1qcdMFGQgoi5lBizm2MYuSYLEWMbiJutqpm3mKo1vyt64RJRHP/vQxootQ + 02wVBUZt1qpiqmXpdIAnGdkcscalc85fani3nSKKJHbGtat99zAD2qL0xPxf6q5T + BZS74zx/993HGcfEM7yz8Zugv/6Z5xSMXrg77YKybFGSTifAq3CF1C15B0ZFCTxU + /9Z2HuapWo1iF6vEulRYuwElGbBsmK41m5y0qxgS7tJeAaE5Ghu3v/pcwHXQRj6O + sJ/SIjFZZV3B0e+RXzv/vfTuwt6XndyJjRwchx3JD2wAzzWcS07hg6RNXhli5gQl + CBUiQZ/YV8GxtOL+wcfvjOvYZgTqr0pR6e9iLNJReA== + =t0o6 -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-03-05T19:18:16Z" + - created_at: "2026-04-18T22:36:21Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAAgCNW+G1twuqwOunfimk7FxUDTzZ3SbP1Gw9UJ5JEVhJX - JgMh1Hw+dsEzi59IJZbIM0/IOtfjnz85q1sd40V/YaIBzexw8ThBxoOS2h2Qefft - +kIo6VOTNYG5z15H8mG72vU8k62ZzyGDc+IwLo1l+/EXZKtBLKmJhO/p9hu4d3/Y - HAX6LyIoEt9MLjhxtJCA64CCWciOD0NJVLzwOkinab9B0SJLu8/xTGWjW+NQKPA1 - Csq93xi727G/HWq8mfj+3tBAj9tfKgbdq5yV6R0hsvAoOJhX/XTvrcZPY8ZNwVPo - lQfY2P5gSUW9GXYQP+sSuii7/XkhX3IkBQcoUoLaQ2DA7x2lT2d/dHf5i4YZmchm - PO5pyOgEPhNZXtSDNqeXHohj0CyI+QFn05BaLrb/psBBxQrHYuJ9UdW7E4nAFdzU - 2f0wkUvbAHy5t6cjCUEn08bKKIxG7MmZQcwd6YiHHVbbCOLrMQLbRy7zLs65M+aA - 90JbWmtntAb93YmSBj3/uxn1e1G6ytCgG5wRg2nswIc1Q29cT2Ch/8E73EUiYGAd - WQtKaYwSyXbbLOoA93OMfkFNRy+Er6cakWhzF20Ai7zLTNK1dYGyxAXY6wIGj3ou - SXwSOy0U0/Yorhhz2vaJkcqqgLii/2jvTN88ohoFkjWFY4yAozMwl88YzVJY5t/S - XgHlJWeXNE5rpjIEOqzr1IVkn/aRNIXTKOyyct+3R05Xr5GU3olZqLEhDRUkuw0i - tPV/9TpeP2hEvxMKPMaN1UANScGOmw9aZkux5trGfBq3WIYMLvKcgXsopxj4WmI= - =tUPi + hQIMAz5uSgHG2iMJAQ/+Kosi9cR8SU2QHaZ3lzqHSw2z9fcheS6xNE83/hybefiK + Ij0uJaINb+GemojJUvmC7GbwPPa4S1LFNBJoRgapWDBsxourR8ezS6z0JG22pcFf + BJ9s+nfvnoP9bgWP2LuEiOigBFbLehbqAs+y4HO52qRKv7EyviFn9XdTo7ZVu08j + vgNMHdf6PtKQxdyegX7Gx8eU66sEjUq1PnuAUkxai/KeVI2nH17RF+j/IJzO6gyT + t4CqFl94NZV1+ytGjrGmeAcVM0psJhKPIhWllSTysl+IjUjA0atGl0pjmLgvdPoi + CrP7DMJS7L7T9EjseD50wXG3/TGIqtfh2Xdu2q8VDjaovUesqF2xdYVVaOtrnKcu + MP5JSJdUUeZBJokst2sWBMkPMVdOko8lcy7S39kQC4QU/dzrnur049D3R1qWYG62 + 8CfcUBw4OOYzd20GeZW5Iak29osaxCLYhtP2cHFkL23zgvLVwbudpCLY9+KrtxuT + nq5ErdzKlSZnyDq0f9/u/1IzMjTfIC1CGi9eFEVuQHNe9k7T30brjT5xycwxvByn + /YTkMEg/3C/Gat0DqYMSParkwr1TfH28skBwL/7qg4dOr02bqbtTI+HXayOi85dM + K0n2IXRl24bLwmK1iqLbOQlBFLkwOCZJeOW/0AWE5m2QtOtcXYyAXUkNFwNKqyjS + XgGnlvKtBQMqJ74UNG/7p/EMhbIkz6xsqeu4ATSr7DAdq9G8T5a8y/1OhF/kJ1yt + jj05SimVDL9a1ya3rz4HAzWCurENVGy28CLStUZJtqEQfFVMvgf74D9LleJS+5g= + =sojL -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-03-05T19:18:16Z" + - created_at: "2026-04-18T22:36:21Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1ARAAk2IQL7O06prWZOizSpM8Jlivg/ySeb9IlI8tued+bOoJ - rcxMfa5D+qFIAgoFQFQStNpEDnSBaFPwbw1lxewuDhxyeAQsQ281CwAIe6ZP0GAg - iDYkTzy/uc/jaaH2bTjrcRrW19Q83zZg0L7js+YWL/AXCUIwyykctKqBfE3va1kq - jlFnb0zwPBUbKCR78mAIngT1KrZgNsivHBOgBykSw52QEPmnvUd7FQht4sshOYiD - ZHR6BLqYBxJHLr+gK+QxzzHH5TDUNm7E0SVM9h09irK03fRV9iBPVe8hdbcSeeok - fu4ZKdIUg01pkXKYJuiX6+twjPU1aXqw3W8nYE1MydFsgw2VxGO3WQH/KLgeMZHx - bO5sJ2+I4k+IDHTC1PF5YZReOwonK86cyjHmgRBf/y70IphfjnAuC2S1MOFiznH8 - C+WYDKs9XECXNInXTqcC5fhnr6Jasy6keEmZatgW5KWJ41kwGevmTuLtj1uYWwJQ - yBVE2sGT+IOsAZOOVpdAB2rzrHRVHn4fPNy3JMQJOeXmSvpBLxSqSDt5MgE++noV - D0bYjp6rESx+6/LLsKwAHIyWlwul+5Mc8W7JXBNeZj+296+aafBpDnY8YXpXmrFG - smWtt2JY2NEmJw6WrE0v7orQDK4maoblH59QqakQ6vFdDGMW7XoAUKPjkWSHoxTS - XgH51HpkJzzDOLT9rs6qYx+iFNfr77rK3mQrMy0yA+PiEO+6z+/UgFwnq6WMw8Eg - X2hXVj1vPgt0W//CYDFZ4GWodfHldQFEvQuhr4ANu5zR/I/RPsZ4lsqm0qhJ8gM= - =+Huc + hF4DsZXvxFXTXoQSAQdA5CfO1UHjdrM8h5FypIRNs5ePrQzYCmPI9cr2UlQ7UCow + YPWITXbTXT7gqmgSRKfoi2Ub4WX8KAudSLqCws6phWumGl4rY47ZJm3H3JiQKrtL + 0l4BG9+iZtDaRd0IKSN/6YyQMunUEGmLeYtOudWrAZA6T1hsYnj2oicPfF3VhPGd + eg82POcf58HClp92Bd+Jvhzh7dnwh3BHYcv+J10u6wQuk21yAyDylz98Ku59Kc27 + =+dkc -----END PGP MESSAGE----- - fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-03-05T19:18:16Z" + fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE + - created_at: "2026-04-18T22:36:21Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAl2Ggiz+S3yVFlVFbTRMxNGX0afmgGzwPEfqUxVObT2cw - GM2HttqCucNn/yreDasLBgssYhc9PD3XllMBcM4Y5NRTil4Fq6yZTRaBUKhwlELO - 0l4BrX3+xzIyslKltKBsX9DbqnbCRzUgZNzevo7FKOCkKtKVG7/BYQDR1/i71XS/ - iJ76aVwzA5VoNqTTNFItowbnIXyC+F5k7qQ37/GtcFauPH4HjLygl9uSEzB6JL45 - =mNng + hF4DerEtaFuTeewSAQdA9hSwwYWcCiVRZSZJqm62d2kacrqbRhtfpLbBbmm4zlMw + bMHFYk2wWet4ZOyq9586xNmuWfxtJxh/3so8aEAofd+fjwwApZMPxfeeDz1ZOFgg + 0l4BU8KN0tz6oWXdBW667ueIhsSu4AN0HC3AaaufpNBc1zUpcCL5ubxdMTv12MW8 + 1pjmFVEB1TVKzCNfufptlx0FWjMPczh1/Y+Y/bOS7XlxpG8NpiBGIoIlFKgys30z + =Q/Hs -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-03-05T19:18:16Z" + - created_at: "2026-04-18T22:36:21Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//UwQF0YWALIt6hkGqts2TI/rq9Oz05+fwJHHLQSdY/a4A - 6dVDyadqWISRx2EMDMr9mQlti79Poq4Ak9U/WhujuJTUQLDZkwWdlkz4zC4gbTh0 - fy4dm12bimaSehSrkwTNR7eCapPTyjUJigsF1iPT6AUH5nlEXiYd7JAvasrA6ETg - Fm66kBoH0c1VAAKYNtOcHmEsZ9Hn8x4KnpFBBs3oBpMwAYmYpBXcEL5KuQiGxDeJ - p6/sI40ESMRiCmza2fA8LuY7NMSIQiD8r1JtX4Y7Fd0HSMSFQf9yhGl9hc59b8ZG - K9jvFlZ9b5wcbW60MX6LQWRn3FnPyb/EHzrkTjp8ka+QOb0oW2qTdsDj6XcdR+Zn - LK2tM6k17s6fGhJGwGQEg1EvR7QQSd8ewBXhnm5J7oy5B3MQ+MiU9FumMMZJgSSl - 3wnQi9ivimr4NbjwyZdXwV5v2uvzf0eWCP9Y4WeSea97ROimQDrOlhRq2SXh4JX6 - wVfAuwDdzUGhD4dq9D5ulIjrc0BgtrwR51ov6irHirixoCzswqquLp1jhvTKH4Rb - D6JbUKHckWt6ijqT9qGdMlPl6kuK4kXBLOrltACHHe4b6uJExn7YjhswDYfdYY2X - EXAMXMDquaHGa83u0LhDBsg5JUcWaxg1FlHEUktn5tOHSfHsWxowin3Z17mdTVDS - XgGcg8xRIMG9tsXVodTPrPMBCxonyJl2atn3TEuUKmArRuXllNu4Gr61Tu2/4S5V - 3R5gq85a4TJue6t2/OHoV12uKaA6P1K54EQ8PzXoN06fhgND0bGlk8noQ+pvlV8= - =fs8R + hQIMAxjNhCKPP69fARAAgGcyh3dZXJO9vKi1gNzXUGY2pM7jSj1M67BbS6dAuJV4 + Ns7viA1ZjT5BhI/kcO1vsr7Qt6ACsgshk6gi1W+m2Cx4fyfGkbtEZuQJ9A4lDM7r + W6jW/Ooe9GNf6CmG7629Aal045zREbd1hTeFBLhbfHjjHdAkzliGWim971zUtWc2 + jik1r+tSTZlpu946hZ1UDjRZJmBHP7AVe3CbfoyxpAummDzxiz0vBGcWZqKDLE1J + NC0xnnaDjB74f/CLAgz/cUOO1LjkHuxtHTPt1lPAPRcxtYMt2wZ+yPC0sovuMwLa + oYaY8z4y8yStDpET2XZAebSaunyJ/FoFSHsNrSdkQIF66EjHeVBHU71Iw+Tivv1V + ElsU+VMjuPk6ahcf0qUnQp0zxZNQ/4OYVQf9M3r/KAOM/HV/7vjG3ihWc5ehxMSL + ZbDB3TfLgQ4t/fUr2sle3kqPeIVMqt8a5Cf9694B5qBzVo+9mgn49qiNNFUxvnCV + f7QndRhcnu5fmBfQJKlukb6X2zXF2joDVhzuxfwr7t2ZjavOeQbs3OgoH+maSRmq + EXi3jC6mjRmDxL6btH3/VgAXK2r7i+gjYzeeSyCRGlWPlvJMo3UOFpKcrtaGcT7/ + A5D4ewZlG3fz6336Ff35toqHD2w1e2ij3syUdAGtugka/NkboaDypgsCxQNX2DDS + XgHSX8qC4ErbKFDl0G11XC+Lx4gmMHFPAFVEeoJPv2k6tbXvfYFQcCyEfXxUZ2XM + 6tl6+Hnj/x446E973/caB5QJDyOGQGVg0hIvotVsZVA6a8EtsqdCsy85w7SLSLw= + =VOkz -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-03-05T19:18:16Z" + - created_at: "2026-04-18T22:36:21Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ/+JXgWBms9wbNeADjiTz9jAzQYM9G8LHySVY5+j4ao8Gnk - X0u18nq/yOOgiUx7wjINUtOeGchHO/5DTuePyrcl61T1V4xetj84QtWB4wJb/OoU - TqzT7SL4huanQnrTWCwfLhDZRkoUVsqwnUxY1CSkq+X04Gd+XynyBfxvvi3xcetd - nhwZTpapCn3bBvJiCSFukkwBOgv2tSqll2l22pYMnSvHboObthsNdmDPPqOXWdHm - XlJGZ6K+4BLri4o/wMrxWmGMrby0sUU4X9VlYK1knFSfk3kjSt1tf9Alys5lwZpa - wT2wwoDUSThw527mYi7LXdT7N1j6gojsL3DehBi32Kotcz/hpPth/62JCJyZPNKv - hkSFRyfGT6LbWQUtoUNepUQBhuvRMoNI/P8OT4EuVrYu60JMFkgNqxUwB4w+3mIT - cezvNPr9dSS/sGglKmUJqN+qRm3I4lNt6xZprHD8YpV6lGUWd7dAcK+wQ7Lt4JcX - RMltFOkNgAu5w6dlXkc5LyNpth7g881sw3GjGhcpnyMh1OD9EcrYHjh8xk87Z0Nn - 8uQrI7EebYhPX9j28229uiFKjB5vHr1a2ksNzXz5aTj5lLQyDnE7wRdvVg43a21g - mFTaqo/U173ADg4Gm8aT+CTHaBH43awONUjGTVkHNTP3wGqzl2+ROxqJTxzit9PS - XgFfwhTgVKdsSN6rZIpGFz4yJ1e9JA7huI9TU9+N8oCH5XQeEPzGEwG7yx0uBxik - iAPu8z+SHbeFucXlBnM57DDu/7a5oCNWFh4ZK3oLKYTwHWlC4GENPICIQ5rBxBI= - =+cRz + hQIMA1Hthzn+T1OoARAAta2oMEAfZxGNPBZO136E1cENG48UirIRbWKrXGzylprJ + 3vXb4nHdUZHzP8zzNu2Am4nuZekUniQJ4UC58WBrzCg024ye2izysbKTefgHe156 + L+mp5bwCALTHKrQ4vCF5RnijJeCS680wUtR6+367KOBoW8tSL4/EmdYqtzLwmjdk + uY9LQdhITtt/3A7CpD0/qjyWpKjD2zm6Cz1Ap49ttEkEJqxOhafTh9H3pMNQMGYj + SLHcPZoIP2z0ofc+fUJzC7hwxgsxmGV4xj2AZFf0HWHiB0b3MzO38cvxU+BDNfSJ + uN70Wv0Rw7wlcSrpYyzPNSyl0tj3z1AYne7Mk6Ngj8FBBjjA6PtkBrZjwc85Fsb6 + GiVc+rEareVsc9Yej3t7HDSCLRAFB+8+NZwxcmSR4i1arVyWLu4L7ZQjNh+1aWhH + ybho8cnUvEIGxduIBdRpmaz79IKRE0t23glkyhIB5ZjwLTSdt42hnK4FBXQTER+G + UaQzf85TYaI+kBzNhPiyS9wHdgo27L2wHrJR8P5dfxbwWeGw4XfnQrRqkjD46EX9 + dGjG30+VEQI1SlWUBQvAnGKDxPerUqZyI5Ur9JUUI+5roQ41gvtUwJwrV2QLq7LO + cpodLBJNxDPfLBFJiXmePUfUK505RL/yKDE65hy+P/f/6XLI9zwsfO8Bm/zy0CvS + XgFFY8pV10TunOQWHs20Sr+VswCTbHNj4qcHhtjN7pZg6RRhY/mQ2xYEbKxMmrB1 + GxZYjGBjPrUr/lDs6Zx0nkDjC865U+OsDFh7NNznxDLRJoMJhLaXP4QseVEmYgY= + =ttMp -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-03-05T19:18:16Z" + - created_at: "2026-04-18T22:36:21Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqARAAu3Bcf3WSkzehAIq3feIIybapgY5ilCRUciIt3VgomuaW - vn+PZiCrhEyiEZ+m1ibaM8eVlZOjIx2OfVwVgvauveSx+iTRosLn0CKRWJAfXEL0 - Lh2l8PQe1lrzKdQa9eW76ljuIBa4LP3kFmqDXP8ACbjwLwZZQN2mAYaf044EFuko - 2YPMvwzVgT3y3+koKlW2vEWwF09YN11ugJD5KHoUyu9uWXnzMvIqt/QZgxfOZ+9J - ICY+KUaVFhyUFmNL8Zs8JUuXwmR9dEvhPRdiT7JmHSEElHd4sLEhkMJhZI0zChWN - 5FOYTRgBW2H5fFzUiQ/9OwJJNnZCL5weRqcfXIy5f3ikyB93LQOrTFa19mozcqYN - 8nWIRyIce0g8Un/laCABABEZY0UrGH7rUk9fSg8RcJGtwN9fkBPbo9w5KtIZGpm8 - Nc1P1zoMxRqSLd8iUXFaYFLWM2rky5LeooqHYUte+5qGj51Kv49533i1bRsF5f3A - WQmLnGbaZeiKYwrIHs59Bx+fpZgzI1oMDhPdP0QHErcEym/yIgzZzyqtA9riDHt7 - yS9VWhtsAVVej5YUXvFQ9FBqv6RGIyyAOzBBO9/Avy9aZ7t/6Y0GnR6SULRl33r+ - KuaQChZgq9u5dDXJU7ZI12PVZFdsb3iJ6QUAW4lS7lhjq2cNTEqnF/ovayP6eVjS - XgFElyyCqW1QXYXDD399XjaZhPCZWUI/aywlPnGUO40g2bNfjNT5UOmPPm3XkAGg - OeNfkc4DMhsf/vz90YlCR1ARe70bUdpFiKgkv5ow4/ZUb6wNaP6M31fCRNuJAEg= - =E6pK + hQIMA46L6MuPqfJqAQ/9HjOjLBRNw0Ya1x4zxCi+D7+46nIGIwszrhYHzLgTcs1l + SInuqj38RekdowitMhU9xmonN/MjqR3Tw8D4iKc+Y8dDSHEO+HDQAo8ziQybmWCc + YaCm0KoWqXSQ5YoqFIiEGfAzywdAtA16nGDmPtXB760CT1KM6i5lZzcn7KVmI4s9 + wPNrhSS+8pAa7EsMS/LjA+gO/hzgQF6wt2SndpQf1xUX+bQlJ3wrOHHvMG2iDmYn + sRbmHjifTX4Gva5+5JS+vn8EhQUqlvhDgker6dIFwX3+v2Ks80+fYW/Fnx8k1krX + SCkPLZIxOxN4FOnKqjBpqLbyG0dQS3sBZUoqTGLQ56dF3mKlpR0imnA7nMjy/z/C + vZMfSCv35l2HpjUEQCc/cZV/7LQE5gV3UKZO9U1tlDs6YRWNeTsHCHvBNM+j/v45 + zWRFhcSpDIdLDeLIiAyOBR40oonpXM4az+ioYosN+lLtSQK+VpjFOGXG0LJ3z2z6 + 14zC/zCDQrZJxA2VGg8dvJMm3c2vAwHv0crRsmxcoEckjDV18/5cHfjbl49zOToc + ev6W3zQ2hb4gk+V7QWi5SaxfsRMcaT6zHcBfSz4MXZF4ReLz+JxgTMtNthGQQpcP + 8nVGkidsqdiSQj/qfPTA7odZxclpX92rGAOPA1PZHhLFEagoWqGqZzW0zQY5py7S + XgGyjx5QOH+UfjfpVGzjg+pgN9JhZGP0ZZOTM3cFWUYcWXJ2DqAkCxhpHHabq7qv + NRHo2AlyUFrO7IAZtzI9Ly0CnVMEPO7PDJjgoNNGmQuT6i+6ndKothaNAh4jkKs= + =X7Fb -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-03-05T19:18:16Z" + - created_at: "2026-04-18T22:36:21Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAd0BF0MpX492erFYV+DXY9TduATvEt1oI1A4iq1f3lkAw - fv8AJvqrNRQZfvkneUDok+0N1xOZyKySuld+Cq6RoZOYvikumg5joAjf3AMO1Fh8 - 0l4B93kbesd6Z2tT1/a8ztl9XFdXhsY6wO8JSyPGOfkNkM+A1t0RJwwKZCDWG3w2 - gLRz2trUmGGEXG9RR3VFKTxkzDod6QsGr/nf4JAaKObYUJVFKos01nlzkWB20bFx - =wqo9 + hF4DQrf1tCqiJxoSAQdApUbCLACVOke8pB+m5v/LjJOdggf18aX+MjCoFFtib34w + 0i3A60/wuwXeXm/rIQ43zHeADIbTGTHTO5/Jji65sqneSMMfbNbb+ICCawh82K35 + 0l4BsbT8L7cnTLF2gGcYpie8KCdYmO641FT2zTD/xPKnyT3TQRJppMueRuYU5yjy + Toxs3h8k91LQeb4/Jyul4htebmQxxLdjaZiFRew/wKOWykFz0voP8YEhjiaETJzk + =dgZz -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-03-05T19:18:16Z" + - created_at: "2026-04-18T22:36:21Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAFPib89nKfS+v7b0+KfBQQxJkfzfr1RlEMjNh0CpuM00w - 58n10PCPXShmmgFB4AMvVn86D0K0rpbMgYk1sEuqbhZ86c0KfLGaMhMEMUfDfjVG - 0lgBNmaNy2uua3fTY+0aOfOpXAaKymIUfXZfkRsL8es2e62O9WDaUfIIdk5DGuFG - zVZauN8AtHpA1ghtec/E47IYEm13fST4P/kP9LQ/zOURKFDvto3WnZK+ - =mg8B + hF4DzAGzViGx4qcSAQdAXLjA2aUD9xRumZPy3qY07b79VvFV1G14b+tEo1YlV10w + v2i78nZjyKTE5UdTxHFlSPihJG8NsEIsQ28pPFOPle0w9PofXgXVyBXgCnG+0yFB + 0lgBUFLb+sKl3W6Pyw3JqdUaeOhl5DzNQ968DBbqur/TMDLsvCgsb21x2fG3qcQE + 6LZGC+fgunYbuJ8BoVdlCqjNdBdNZEuBSNMbK0C7QADUruqaLsHtsY8S + =Yclq -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-03-05T19:18:16Z" + - created_at: "2026-04-18T22:36:21Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//ZYySYjaOY14oo9fox2pOdex4OQKzR+391Z+d8ZuQp88H - QqLPrjzaDiS3TdefcR0ol/xSmycGCApRGmEyyM/+2gj7MFl+bCv/1FX5LUaGaMcK - xUPEi71kB9VONEV/Cbea3O0XqUnOjmW7z8HGUx6eTutMnR50FKrhN+8KDq7h3dYT - PsDGOhh1ttQKNGoWHS/Oz8TAWhty1gcIUtUIjwtbozVcQ41DPqW9w7o42xVPVDAh - cNKRMznDO3d6e7gyn77pel8jWDN9q2BEEGAK0LhdFp29rIO4xY3GWTLcD/tMbOjU - XgGk0mHE5NVzAa2mDeTMOTgy5BzGSTP4U0QK+/oGpBLV2iiwWIMlBR8yv4PpzjR2 - vcU/eKBCpZGKZsQ6VkyIZ8Y7HI920wqyVhNQJ5WqUt9zfMqEhEnaL13xr1sHIL1e - airXdS6uIWkvNbXX496SpoZgVM0OZNpcfuQKtm/FXkT8XMLd9G/ipRswYPa1oE1V - AbelEx7F4y8n0XTX6yr5my7PHLoRDVbczKJTX2hfojQEqKPkH3aj429aMcDHu5C8 - dUhxM678VVzygU8FrMkIwt+Ye0rzlShAjx9wftBU/VLp7GbBeDy9R+tTx5cauC1V - +6jS+nfZOvFrcBlr5bz0cT479FiUfHiai/BYSQzgYIymy+nSix4IvNpTYofudQnS - XgEo9TlK7l3L3lki1S2VHhYVJ3EkdYeQFhj48uO6wk5FesaUfpFt7DsDVfbLATYI - GR16IiSVXLlmgUiseWhg5nexWWq3I82swfegFjGV+nuLRKAryrTfhliF/8xXqS0= - =Z+8H + hQIMA2pVdGTIrZI+ARAA6JtzCGNCHWyXerMFXYx6BwYs2nMaCbsC/UZ5X3v/UHG7 + rQj+nEdZJJjwO9pNn7WetVoEG/i4y4Ow9WanI0W9bTKIcfyM4fohfMJ7jqKJsH86 + 6ltzqzPPZhJIZ8vHw+7RkHhPEp7Hqbc+DvWo4Ji2ZVsH7KOFD/1/81FBXdb+m7/W + qro0CS6C7I0w6PAVMAriZR//kz9MbaKolheUi5tqtGhho11dvPeeu+5lY2NclaJQ + l2zHfYbBsIyhoijNtW7j5rATEdRebC8oqlJ2izOn1SQnmbn7ayKT0I9A/r+7HFMQ + iQZP45RmxuhJpT+0pzF4I+YE7g3btoFOhep9eLq/wLXaY5IrrMIcRdvbeaTx+ENe + ZjsLf8aPto0Cd/gjYa1ZamcQ9cPFDn9s+Nl150P93ibuo5cjuKjzvRv3pTStOLJK + c09L1hgBqRPysfrGynbtHpui5MroAWild9/yt/BsnvfVMkxz3JNn2AmtcKHZNvNf + bg6xgWG6l7O9GIahS2UyFGiGcjMAK8FtuRdmT+jCIf3dLz9uBtjrFOGK2SDKJvIm + ce4HsVdOqBK3bDNcHpIYB1nrQC6oVlTnsVgxyZ18NTd8/cqXJHtJpM2CmXvT4Cjb + iOUq+OOz6Exlt08kv2K3HYFQdNPxNHKgVHDs4MXluGkSOuPjoCHwEqjOYVXRSlvS + XgHhehpJcl/MWXcBLmUBTVh3pmha/xzBbLqbIvfjhS7GgoZt48OSyzhJWvQcNKDq + uMvhDRFV0Et9NkM5wds34zMJbaUqSedLkrug4cfqS+m/Kyo4+skQsGusOeBxinQ= + =Clyc -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-03-05T19:18:16Z" + - created_at: "2026-04-18T22:36:21Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAhDxMZ9xx3fNlzs7AdELNLBLc75FRC9+fSBt3VA1HLmYw - gbDhnTmSbRzVK99Me991abj5xt8qlU/YkmC5WmUEc7cd9anPmzJPfdSBMARFRnOc - 0l4BBNyuQiR3/220MNNeT9ao2YwjXeUESq93rqUgN3DyI7DrzCoiMxvfQgeXegLq - U+l9SQFcp3VUyJdfbeeajRrul/z79p6bTXC0Djk3RIyiRrnWKLCkkTYrrxrOjtpb - =v5n9 + hF4DKKbvh61jX5USAQdALdhJa4zrMQMQs65fyR+i4TiYWNXK7dTVtRY06WTEDU8w + IYu/OPOhSi5Es0Xkt5aPewH2a3YfWfjMnHhuQGgm4LfsMPJx1qm7bT+xmVDpJqJs + 0l4B+dtUzZM6gsfU0yUSp0oO4198EfTI+Emc6FHyIgE5mN1+TVLJkdmG1YtmQbr8 + 88IdR/Sr81QvthJIUZcWk6pvYadD+02PNROT/HXz3R+V+ae4eqYPab9cusnZiOYc + =jVnR -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/renovate.sops.yaml b/inventories/chaosknoten/host_vars/renovate.sops.yaml index 7814f99f45..2bdd26eaa2 100644 --- a/inventories/chaosknoten/host_vars/renovate.sops.yaml +++ b/inventories/chaosknoten/host_vars/renovate.sops.yaml @@ -6,212 +6,203 @@ sops: - recipient: age18qam683rva3ee3wgue7r0ey4ws4jttz4a4dpe3q8kq8lmrp97ezq2cns8d enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBscExmMm5DOFU0b28zcy9Z - TFhxRFRkMS9RV0dtS2tsc2lFcHBKQ2ovM0YwCmJGVGdwNDJRa0ZvTnlKS2RnUFhl - SllndEwyWjBQakkyeG5hbVBKWHFnc1EKLS0tIExjNUFObTdWL1RxWVF6L0dLZ2F4 - YzNlZW90MUlHei9CMVVlcXQ0REhHSGMKWy1saYjH2Z1BVj4Ivtk4ZBuzt0PSZ0kg - K9dS+ZEv3G8vw+yfBgedrdp5qWRwmzq/mB4v2Z4Vm44tRUKVK495Pw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBybjRYVTRlSjlic3BMRmx5 + VTFHSW4rWHBWRlBia3d2VFM3Qk5ndDJjR2g4ClBjQ2p4WlBvcHV3VUxNM3dQVERa + aUluNmp5dlVXZlp1WHR1ek5pVmJvME0KLS0tIG5iSWw2djlMc1Z4YVJCb09oTlpC + Zm9xUGFodU11OTFMRFlVTU5pSFppRFEK0kUGOpYzkVlj69DqK1L1b5YBIfZOc7sr + PV7X6xTPIOzt7tSSRmEVJLilhCZ1pz3OHasj2QzG1kst7kfQJydkFA== -----END AGE ENCRYPTED FILE----- 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: "2026-03-05T19:18:33Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/+L6Uedj2YqdTn6gKUn20L8iFhzwx+PlSIAEsR7KlnJbwH - /FRb6lWzK421d3Hw5m08N01zoFkmOwWACS667k2bS8LE4dAD0XrL4ZJAibG9LJXb - rVvSX3GH7uDe8oeZu23A94QRi3DpQPHJmiSuo/GfhtaN+lyRPrQaa08zTcQQh6z9 - Kvs5px2Oj18Fp/ZH9rTp05XvnhK0/MtGD17uM8qM82xqWoftdA/2z3cXXeiUPjhn - hdg7IMjCZjIq01Pc1w2zSq1mSZItrbDmxUjcQ67MkrJz1SXpAZluwH7UAfE+p3mL - 6ytKRmZx31Fl4BDo8ZyCc2SwPj5d30aBafrpL+DHgrn+uGecAluogzJC/V3qG5m1 - aTPmOhGNWEabBp0QQlCnmJXPzJ2elnD038SRqpkwYc2PIj63YPGMiZ76C3KuA4at - 1oQhuFL2taiJU3fMsGKVCg6gDFQQq7fvkEuUkgwG5yRcsEW7o19FcAY6HBNA5jU6 - NRs6EKsGMY0Qi4VsoXqyWguu2FZKF5h4z/mhDqNc4Xd4UOaW6jjzJojJgNlW0Ohl - sKAlApca5c9ddoyRgVN/pfb39c/pZJ3lpNozfc4cFbbNZ/vyhqyihV2TxVtZs009 - NZGipENkgNYA8s5Onix2rpNL9+Bxqa3m1KVbLWBm0bYLq/IR1Frwq8sjqMANZgvS - XAHnry+gg50p3bOI28AdartG/GBrKVPyEnRCPkfElcgWRx79dtGmaEL45E//0jda - cKfW83ZQ0QQviSwN8LIMT1JL+J8nW6u+e27Zu8j2m2YItAhAhCoscVyMhkMc - =xO4o + hQIMAxK/JaB2/SdtARAAk3WFEqGrO0qjIA5bc2R92hsBgiq24deOGKVMY3981en6 + 4hHAMMUWrWw0WLAort+NVdafZ8rZ00RDDY/7TOitvVD8nLv3TN0vTvdtBuUUWPhU + MXDP976RIpfcuJIGEmiBkG40HcwzKCvdca3kNi4Afaas+2eH1VgnzX9oYrYsej9K + 1aXGMQzfMAleVwA9srsXTE2O8rbUKhylZwPsrY0DnLbk+f3YqR1uPPzPH0tSjjqS + h0EBP2Q9wAVGVbI4YPAapFhNFGtuOBnxh2z73VXOIpweQEmmCardnKzjSDPBDNx1 + cFrAGInx0uQ0v3tX42L3fZ1M0bdaJsba6AFiP5VOqukSCgfjCNw09z+ZF8BFA0ox + uCwBLGs45OI21fyOu8Z0VlFSNgQc+3KYzwPUrBnyTE6NhOXBbcIFTc3qyiQVugqt + x2pLsUvr9NQTmvYRfUMgzcJB/2PpSlQAK4x73v4s14E9H/gfNvXaMGSvLH/Cf/Mc + hKZBzgWY+MB/4GOs3s8IJLDBMly1LGpioXmxhd0gHw1KjBwNFdCaiZnYL7SBtUAC + twcpKo28uz8xlNbiOjMo4Mf4A8MvX+frUCUBS3uY4bMczKI5OVYPJxNGjRwjHiyG + LkY0PtVetJb+hDrndAPsgEUQXHfW4qVxV0YTefUUErO+DOPOR1d58yT3AiLBlkDS + XAHvyVs9tD35FEIpsRU9QEIR+KIPtD7Yp4OG0GBeJeUZvn4SAeplalj0G0GTgsqL + hAFpE0Iw4PcRXA5QwgfQ76ktdBJNmWVxhJU2QK6++nkCBB6O/b/kb1K8i4FU + =ABG6 -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-03-05T19:18:33Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf+OErOjcnjnyt21V0DtRgytCw0BmjpPUJ0XBAXszrBbH2J - dlvNxDhzWIoQGoMXFvSMS/zsd1b2XPJbdkn8d9xVaFbJ262jUscCiww9DZbO2Dne - XYIPT6rAM4yuKGtwNyaI8cwuFm4mQapAzc9KwS3ZgVmVVq5K7IN2vgrSMdkk0xnB - S+m4DTX5vP+O4kzgCWbzlUuGPZu35JsmZuJxitwttvckeiVkQWRQzfe0PLTpxYK7 - mvfASyc8wZSe6pVAGYXO65GaYFUOpPbPpdSCmhyyHyYwE0bluVePAwu08saWpcdm - VjnCKjuRT13a8+evToFgPTiqQiwHSXWRtfVbdCPy5NJcAUiJeSgk9jrCZqyt+fH6 - z7F7kkQhcJyEE9UAa16D/NswiVf9OJPrVsANGhcrOyUb228x1nLco9eHhI8A4c50 - vY05TnLfnAuXhpzRJ0BF0il2jGSOLJmUpDDuU34= - =zLGo + hQEMA1QflAioE8i3AQf9FYH6IECH2N1uYs8C2WXkWIhoqo2PCwJvte/uKyyOe4UX + O9SZY28beMA3Zl9ZeJdxpUTHfyX079WaCeoY12DqiU3l2dWuDuaExS1ykH8pOfjt + E89KSotlG6TmLrnbOWzpBUTqaI+Gj3IaLFcFEQZxfORfhJvSBnxbM8Sa2nAx5uZ1 + SUNIN/nlylvclpVUOYHa8+W4ewzRn6aPYu0/EHcSvTES+bJzuOhuyPwCQNIuZoFW + TWfu7XDj2DBlOoDvxK+h9rK0nK7R76ZakabkWGja4hm1VRy9V9bJvIT86NBd9xjA + K1isKQNSQpZz3J5mMt9zZ3lz8Fb9u5ZwxF3d+hgEhdJcAeULRNq6CZgCJQz6x73Y + eeCAFem4pHXgJuSp37hp4T8ebJls7asqNMHS1LY9wNxx44R69/Md1YTppjepgbw8 + rrzNMZpl+2uWAY772Pf0vLsUYWoMU0JTfhUvdRA= + =iz/D -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-03-05T19:18:33Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ/9HM5wdslzV5mvpBrJ9t1eU+v/x5xZPJ0zQe+7yIYxIti/ - O8duBbIWo2oiwgbnfk0qfm8IFaSRmpqadXfnyFZP8Uhxwfv8RN7AD+BYJDgw5qJt - Sb99avZP4tHr8VMeMqZwgvatOO2LQgPReoTn6j/XTmgNcCPftxWXyi/xurGJfTnG - asNOObagGrmFE2Tug+26haAQrrTz3dcEVaJ/0PniQ4zOYcvp+IBSMdyYKNGslWCq - MYywTYmK9+0dLFSo5H7jxvMrqjnCYd9N6zZW5lwYpb+tW9zE/RLXGYDj7d6Shmm9 - YZ6gVsriZGBBpKoehcJ1BykLQWdZ80fQzDb5GNzULd2I397KwZXZ1ZWXne6fb7Gc - NyncyOftdnFZshzO2n5ZdIAUZYVo8YFAMcG4YPAhKTNKuCzRxkFfpxKmUXgWYrL+ - mgWRC4dHPLw7RPdyp7wSG7u4rSUwawj01VE3WAipw9/IE8FC6J5vfxxccVJkhTQu - ied4KMCp25icvTS5Dj10W6xB31BUJ5NzBCD4khAh1F38HcAIfP3XPGHEQ3ynGbBD - 5g0cPhZ3P825bO1hrdd0QxhKeJXwk9gX5kIHT1thoH4AwLIM+E0c70degddnDbil - Pt/tY0X8NNLpR/lgrLlF18IB/FQzym3Y8l9Fs6Zj6/KKHJyAT1weDgtxSAg1ewvS - XAFruKyEw9Lz7mUUzAR+sWqiBvE/90Q7jKYsTvXZeIa+IQaxO5K9CRHxdsDvZeMm - ycDt+vO0OZKNx38O8VW6OLSgxQFyE095CRjyjnOjcLP0vjkCTvTPLgPJooJ4 - =FEXl + hQIMAz5uSgHG2iMJARAAp0VeBD+kyAKrJDA/CBYO2Gm4ONcU3T6++Ixdw6C9h20q + TbaiyfxkC0/8UPqBtJmnBUOQGnEslccWQFEwR6m0vfjDHLz+R51ksXNcK+ehX5r3 + rvrlkw/E6qpsKUB1P8j9ncvdhMiJcB5bPQKoilYh0sgRimk7FxzCVOIgh5Uy/MH3 + pbBaamazjgQ1Zj0CxBz2A+QrgD1piumXm/zDpjc9bRbLVW92oVxqpmsolrcTmyiY + U0xwOzuSt8ERCtSRMFrkWMFRZ7Sw61v9tBeSsoWVgJ8im9LjaCT2oDhgk0zyuHxh + v2o2fiS/0n7LG8yYRAkfDOxs8wyqo79HzpamDAsMl9VdHdavdCT4m20LPQ19laWM + 75lilG2V3zlXbZUu8SkuwsUeRo5oOlWXLzEUGygoxWx5xyhaV+G6m/qnN6lRK4+B + CqtJNrjh1EMPYYiV0f3aaq9fcuXF3cFK7xdbkLqgWWt1sAVy+znvfRmrF8iz3vxr + 8Esxt4v/VPOxk7jfeFtdIQ1gcwa6bMfMQclVUbcSDWGXyNYlrK8aITM4Ifl+JgnC + x8PQrDWmU3JVzJOyA95ktsxN78/iF3UOgHFDG8Ffwr6FPx3qXqBM8GbY95H6OXdq + w/cmUXF5RBKK13w/v6zMhl8agWfe4OnpUT0jBbhslQ5ZAwtFOz4MsAJnh6qPaKvS + XAG38nVN4XVLib8wAIi4z59e5lxGPLoESHDX+mlgBJuePUaBFU07AO+LBlTpuPwM + hJdBymwIKs1+CvdhjJu+XWgRGnVxaDnDcm95j8Jho3i7B4VngwZJlhY4EVWB + =KObT -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-03-05T19:18:33Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ/+PHFy9mx36DDsczc/nPo6gFvV4JkJSXU2Qz/twIPR+o7B - Pa/WWnKjeHImE8vwntotPhRc+UC9AI44Uvza47l2GCS7a5+33GKsdwuGZaJpDIsM - hCmPXI1e/VqW7JRkIRGZgWZyTPzZLrjHmTfGJP0x0lyGJZyf8Y0pRbQB4Xshq2X4 - kAXcAMumG9CUcSO0bJth5HVEqk+RczpPJEfKbmzGilbXbk3rFjTCWjkChhj8Oa1O - /zT6PGXtlUyA8XY+SJ3JlMY673GInIGrNcdWvZqPQHnpY8VcWESYpYvy83ZCuCGg - NvBR8Uc+bk9nCOTdTSqXeVspYqipisWsK+jCbz4ERzZsjYdHfYyS1Ml3gCTNcDCE - Gjw5Rgt1vOLuM8QbCDmGmcic0p86EhgRt+7HiJxZSD0siRIui0ccpaFq+1V1sapI - mn2TjpSm9f3I3JSZ5NhOnb1YK/gWqHlIRirL5DrZaOzAle8toH+I8cQE5L087YWC - PLm/NgRPne5fhaTfOM5EhP6eGSOej47AdV88VNEe5Dc4xQSWn4jhnOTGb0bUotOd - rV/SXKeSIl2R1CI8byH++36TIewcgtEVhm5+QB9Ve6q6k35KitG4y0QoJ4y86tFw - T0zD+aqqjx4Rk/Xcqmst16ieFQSKYEWC39XkXbeXexuK1h1WqbweX4FbGnC0rEvS - XAEf+jvbbzE8WVR+3U+7GDum2WKWolTfCSHXj7JqmcLk2JNvN59TRK/kubyds/Dk - MQfjTDhvhzn/wqFaKOcP5Exeuy+gSfZJauY5LC+5wMrhsQ4lkrnh/Md9TCye - =uh4/ + hF4DsZXvxFXTXoQSAQdA5Cr1c8N0I6Di5N5FADsfWuw5U7aojqHTomwkvQCAzwEw + iwaNpT2aa7MoVM3OCbI7qJ1bvjDPPXcHJQFEyAeMY/RGaVGwP5hlZ6I/0dP//Wn3 + 0lwBAiy3t+9TRLwS6vSHL+wAIoFMcIrRJqKwLpN0bCgmFlYBvQzT2P5u9MPU7svU + EHCRnInBjBCdPWunTSLol/JN7497liyJ1div1zlZPCHoXVC311j3dz4LNhv/6A== + =SOxI -----END PGP MESSAGE----- - fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-03-05T19:18:33Z" + fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAnt4ouzxKyHF10xroYyi3wQKcYbI8kA9HXor9sisyaRww - opIYgLBrHyyywF8CWglOvEt++lHwp+I5CuF+if4aOkDqYnE6vIIgBLAIMZ/QDMa2 - 0lwBoSZ5wcOY6s6yCkMIrtLIa72xferlVwc0GRazHvmKbeFmoOwvEkXqM3sLfQYE - /ACp8w909IsUzHT9SmteXI5m/s9cmf2pZ1TSTQ7HhbW09XktlzuZGsKouC22jg== - =Z2nS + hF4DerEtaFuTeewSAQdALFBhlj3630K1xbHpNPFXVN2RdpG9IScOOQhsOPzXVkEw + dw529fRlMgMCtS3XR79FOwPGBPlxEZvxcUm9juKgjCpvNHyhckXtTLvvSnEMBaRX + 0lwB1ryRfMRXPLNBk6yR5gZZHabNtF3GHX90bLZjz6TiVRebi0puP5KUYe+YtOu4 + eEm/GPQs8SN2088J2k/7OXaxWPq56G89dqrRw2DEh/gO5nqqFBjql5Sdfdo42g== + =2pvA -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-03-05T19:18:33Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//ctnZmbnOtLAotsirKvseJEuPjNND+UrKjk0Zdxv4f4kY - i/E6/ZLAH3gJCD1PGj6UNcdWk2q70kPNWmrrueZ3/Xr2eQSVPueGAHnl1bZNVbfZ - XNlBThDZD32uV7vq1+E2lcIYSZEq2Q3faAIy4PP3goyFLPb3t4PjPQnC6I6rqpsW - JEXFPE5tLXZJpEWza/6loF/zZWaLwQaMwxhmsZYiE3bmmWOgPVb3jZZXhPYEcYr4 - 2Xf6Ibh0qc9qdMhrkHKMl7xvUodnebSogXdnaOZbhJPgsT6yad/FBw2YqHSBzwbR - 5MBtTeKZPvIBR08fIN0wzMy70ap+oKZ1AchAjIeuPAn0RS589wsIbp82/nOHdJur - +gN/svrQipyWOn7m62dwxsy/NVoAYCMsiay8c7HIoN9eUxmLNsJi9AzbO6rv/z+J - +polaI54QwliBPkgG6CM1BbMGGKxI2aoQFQhjniduuO9/UThTdpDHI4MOftfjtvZ - 1G11UnszI2xZhVZFMYF4O9DJEyDaSIKW4m3wxgplkuBJ0j0kK8eINfGNSUh7x4Uk - RpxC2qSizrCMVsGJbkb1yxggObEnk6a1BGRTMKvO6syH4EgxaiP+JD59tGFTJoD6 - 850p9mlgV3y4zmhjC9m5V1Mwfy85PKl/P3DuObQ4odCz11n6q8yAehg2oDivMgrS - XAEezwxJHs0FHWj4/gXe0geSUX3aDCgCti8iv+bAubHgGM15UaBz+AnuVprNoltk - HB3w32vrEZw1zwzeZ3X8yl2pvxaYwtStoOv9eMaRCobFhaJC3O7UuGUhavUk - =t9Yu + hQIMAxjNhCKPP69fAQ/+Nk7Va2kJGmAUjl54nNIX8IGaCldj4RCf3rfTeV/Hk8W+ + LprBbBEYs10XPbqkBn9zzf2LAJsxxA/OeClrDNpR2MfBQ+PrrdShl+V842tBxzlY + rQS0qw0WkoW7qX/kXRWNXc2erhFqRRnlcDLra5RHe59VUmIDamFuyMS7hzu85J2o + IgYwGEr2vFXuJc4HEXAuBEcoj4HtlbNlDloLyj6rEGW0aoVLXlG7rFWiir2fCXsy + 4CMydInoXcmaagEjnDsbmdN5QT2X5jJ5qGEAAu0DEE5J3lF/AH30ClmAWtj+/+9N + GYlgS/Thcd5oSwxiYbT+8rA5y8FR3Zpu6AnSxmcXU9f/3j6uvnTM4l4TeLArsdl3 + fqMrFOaBSYRHPGuZ4g1H63W1vJX2zPW4jS9V/wqY5+FIjcuX5C6gl+xKWkIAQRYi + 5ltfa0zbaovH7kV/zD/pfASdZu+7A9uWCGdZaX3y4YTDUQRlPvKuSZajFTGZgT/v + A+yBb7in8JurfVkprOLP6PXlpaIm7Q4Rd0AhNr3Ybp2uMejtemKkObtwGnFvyFyD + 7wodJMMpXl3W/3JUbFSni4nCHK0aTWkUCwzCNO5UM6zGL8hEubH2xTV3IdZTGusy + tM3ipH1GtsAzdToqk2ls1cLYZyTjY36RDDUtaGGqdVjySlwOawwTjDF0tUCec1nS + XAH9e23SDecklzrdmgdIZ9eMl9qmUIVRBAY/dHBrIhK8MtZR/EqFlAxbdquTuI4i + GRamSbs28h2uQV6Ze7VhKXmobUccwS3tM3P6t7QtnLWIBYTf1WMhN5+Ie11Y + =JB+G -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-03-05T19:18:33Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ/+MgXMekOQjfFMHtqW/3v23K7p7STEuVkLphvBapNQO/nd - xWHAjYMTx0ysyksn1+MzX41c2X1VV/NYkp+aKUJk7zaD43hWJqkrhBKkkyd81Tp5 - G5gxNlBshzsrAs4ousevydYVZCpbOrgnSMHp5OyDDAXcqw744kQtCsrgYjUS2b32 - 2gTD1q8rtkkxDGHo/bwyPBbJsDXeVeVHNbPq1n7/XN9qRi6jflk3S3qKUpVdAGyR - pMCg9OSDWfNFIF9A5XS8KlA+Jj/o5u2HilrPvQS4dC0KlMzFYq2f6dEukRBi22jZ - 3rS2Pr7UcDy9Y8fVnN2yjMoFNO73pupSHGYYQUL0c4e3WgHHXtap7olHBKxBCNvB - ICmJi5sZ1UZCcwmkj1vRRVUSJzeuzQmbYFfdEFnRd4OVrFCE8cfjZ28GjnjL+bxJ - N45LVwB97pPW2VqnT2nOUmWEXwUP71JGCFB6FTxBkYY1m4Bnq41svx/3df81kiCM - gIeeeJTKuROfbA9P70m8OrHEDfK883t7doGFQk9hKYy24DyXXG4VpDx5JntwT4ED - rrS0434jw/kxrlAZ378+nueajP6UsC+Tg87xoF3B25LIp6N4fTRw8NLZuQQwOK62 - MTkDTGPRsRfsCflw2emPulzHfgUwlNUlFqjG4xudVRj+whZG60yERQww1f/6/bnS - XAFWZg/1OTglERNx3dfOOpaYeO0KkUk+o0QpHOjCWnELHmvOtdWHmxkzlXjXUJvo - 7zEeQU2S7+U38b4ifZ5xhM7IA3MZifsYLHGRsV6GHq+xoNdIeZNQAHkylzJU - =S0ja + hQIMA1Hthzn+T1OoARAAg7gFkMGcOBjjRGXROohIwabfau6f7MBNfGHPBsSm/DQ/ + ydew1wvN8cGt0q1tFNgsxVPELVmDicIo1VvSxdJ2kXSB04FDB2RBxnllDaxKd20R + e29EvsFrFbi6biPii11ybZmLz+nCrj4ets1lOD8KzT10B7j0viGkJdk8sSDxqTVN + S5dLC8YXUSw0x4RdWkwXSqcyCbN9n3ryx2S8MsdaRzjyNfSANNavFW/9a/sBb3V+ + ZX6Sye5wptK7x784opGlvuFK3xIrmYZWRxtN1N50GgGIH4DKrmBTo56rLMt+ifC6 + 9ImeSIRWQu9t0qw6sMMmjtd3YoKQjHAZzfKSFkH4A0Vyl6P5aAKA466ar/bns1P/ + 0F15SC2D0uwNdgZ9j4c4io+MD+0vIaEOyuwrUdJfrxK1/5BB07RdXt1LjkPq3sBN + Gp3WZk9vSMTWL4C1rrvR/cDIWixTTEon0VbEO3NHxvbFmJVRs3xJD63hHVtypHWS + xR4tIbUspBT30WdVlgBVUd0osNzFhamrtQvE1NnIiezlt1LrxfMn06l1t3SGabPN + Bgi8r0/VjD9DYXonQn77dj74pnN9p00GpFmHAr/MiiGoyLv4CescBEZhZW9Tfulv + e1lU+73S/XV4fjR22bW0lLMQ/I5PPkVC0GubxOdPF3UfrHSFAevJqVuxvLWPq5nS + XAH38t8HhEuPZuthk6WphaqG6SfzOe+6DdSdSKHv0BurenV+Mm+oN9N8X7iErXkg + zEjiBV6VeMsgsjNTvBRLUgVphbmQfgMLJItjX5tKwsjeKY/EKDsS1ekNKKkc + =LLUZ -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-03-05T19:18:33Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ//d5Jr/1V4aKEX0346sCiAAb6mn4Cdjw1s70tkZz8wX2q9 - zyarLMks8n/UhFiRa2jCqbnV+mc9tA3uA//4s5cwziggbyXxDhjSblswNfFedM6w - res+w5vWWXaAw4sQuwaV/1u0+etgff+f7+O6OkigouqDkUvP8Wq3NCiTItqOURcq - JaYXwPy7UzapSG21JLhiY4/g3nTcpQGIHtbdcDiGbfsfXK1Zx2iBTQayHJmTrw+r - 5yswmtl1c4LCDQxhAGQyg0Y180uXMhrsR96OR2DD52qQ27pVxVCShHz/AgLchtvD - a82m7RN/JaVxoYAoY4FQtzp3+D4+fy20Bef2k1trJQpmO61RALpn3yIcPas59JKN - vVBotw8WXGzef50KUAczc5bakuhmAQWmJ1TD0xwkHJR0fWD4hZjPwf0cGtqqIwdJ - PJwdAjxdRmkTGAZztityXgaXQdb8UryHgSnhKMXnk636k8Ln5C0nYSP9qfGHL6HK - AAzuPbmKrWNmwqAWDGjuWEomLf6Gq6o5V7RtgpGQMA+aOtaGTAvSVO2bYqEq4O77 - G/qVGQNBxe4sMFoqWFSJcgQCYQ9S3oqdzkrx0AToz4AFot+lpLvjNvTQn4NO8h3L - YOXtICdrcq8c1GbqyOOFJ+hFvSQoe/bvi/S2vxM2jRshKSAu7keJR/a4U2rW9zzS - XAE2XX5yqNpJ8v+pmq1gu9a58beb9hRL2uLdC9obQCQwymXZYYuRGVaQMm4zMpeQ - v/Gv3d4bVTlnqT4nVuvU4An2Au4uKMWfiiaXxXL/PrCMZmIZUEAAf0RW+L9m - =E0eo + hQIMA46L6MuPqfJqAQ/+KtUv9omHQJR1iOuJ/DvL2Ztee5VTXPTV0SF1aYuhVGdz + X56LK/pB5beiPFREYaaHpFhalj0rQphPWr//zhjA2LFwEYUUm+4hn0NCCkSpoH03 + aLRSGmKiR/Z8ihoIYl+JpnM66j4IFQhC5JmDocENvGz7LOsDr6lwJYPYI7x3yUSi + OrMkPPP8V1R8mmCLqjt6taSWF3mGwbJJI6m+rUlDZTU0daHczaH9UEfPR5S9o1e3 + l1ZPcUL/Om5XA8LbPHDgLbeYAg5nZkyx6yqPVyJX+xiweG8WHvr5adphg5Ncibma + wHB4MWz8TM0AqAaS7Fom+xAhPGcGmyQjBGpbuB6g/OxuyCrh9TccBti3i/OZw+3P + 2M017Ya5NKmTuXPzr1fHfZvKrjnGtWJdxteCB8uDZVi/mTYbGZhMfB7Q8kj8SJYq + Sq0DJYmqOv1TF/4gUvxXq4VCILmhh0pV31uF9geqVMBHXZ/f5gRXXHNVErp8oHDb + lUKyDu+SkXNH25GOL52MoJ24r50TxiJxNqaQhEomn9TTSuaU6mUZgPoxJnI+/oV+ + W2VDyGpmrNkjApw3f4GwuDZVmdol+igucc6/CCcUn1K0TYum0waWSln/Bxs54XWa + JBKG6dM6BSv7B9n64cs9GE2nKkmf8B8BGzNgc/1ijzMkKpGnGAfnukH3lwu7fP3S + XAF3A+fyTybAm+Ro50MB4GXwnNAF0ynpLBT6BGYiKqCijFidWiijXtJDrhc7lT3a + YUpp6t/r8Kwd/xgJRQxP+AAvYJ5Nmg7rpFr9V7C9edsowJBzqqiJt/mweHZW + =sfDF -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-03-05T19:18:33Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAlxEzbbRT/qlU5YHCOi5cuT7w+cRGz7MpDghvvqITQXow - Nt/rz042ytRyTrNxXjALl1oVUW1hLSJxOd2fEpS9gxnZhg8JxabBBWwiW3RwYK+R - 0lwBtc9SyiVWuqc8d3SCWMxCw/CTpkRkSZyh4k0gnjtJPjEGh8S3uSyvKb59Lgpr - Zcq1pdpb6og/rmvRehwZBGjE/pDoiPUB0IdRVvEjDgO5eYX3RQvI+dKeLkT8fw== - =iokj + hF4DQrf1tCqiJxoSAQdAtPuZVsbW+9jvM89WalT4LlckhG3vYUc7zqearuU/GgYw + AXs0PvQVBDdSwpHAR6uQDPjSlS9NRdVw7R8KnnWr3AmY18FQ5axAy78D+ol9hd88 + 0lwBxuFjajHeK6sTBHRDHufO/rOw4/ULZYM4l8+NSDuCrfzyeCL7/SVXNfiQfibW + Wm9YKfFoN8xj5tJcdYeeg6jCeq/Ab/bihvnYyxnlqTK6vvak1Of2XuzW20gnvw== + =eAuB -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-03-05T19:18:33Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAABWrphJeM7B1dK6Cl12VfDlrjyGV2zk5L3QdxHst1A4w - WGWAjpbns0cB6/nSNC9ILX55yzGXaukPzYDRNCMPD4q6caZKoWWd82w7xkLR6GYk - 0lYBOo67q6Qh1G2oINGXY357D1AhK7N2CRPqPu196qTz8SYJR4OyoXdAhxft0/5R - HWGKjyX7WugFFO/tkJfg5xHudkfufYcs+vRS4TjMLHiz1v8E22NW/g== - =mKLJ + hF4DzAGzViGx4qcSAQdAaYTExJZFlseEZdgmnxRKvetsx2ZIBuwOntykmntPQjww + imdk6VIGglMA1rdzq+lnD/8o24vfeFKiMNlT6cFMM2swqoiQWEYEZfGWhkQhMxBA + 0lYB6Wf8MKNssErOzCNL7rZcxKC/J7mi//tJtrIZmajhBWEsxyLbrefkKeEviLdp + 56vUG1JLw1KBFuTaOgyrZ9xgMnspv56mJH22LkArL0dDKbYsOH0M7A== + =U0eb -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-03-05T19:18:33Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//RjbgY8mZTYA510JsOgSyCiDnm+Ot+jBuZr7tVzr86k7P - nXYAV80fO5MJM/rlTZZ7bX4cKSth+myO5yDAlJ5h3vIdAHEcGaAqN2vnOgGFY4v7 - 0IWvFPUrDP2RH3t9/dUJWQ1FEq7i4OjRunwkLMvnJ+LLWgIRazaeTOCzwE+3afxd - 0KE0omDY3Zl0FZOmT2Ai5VP7G7laDRSvJC3MWA09vR1v8UtVAZLgFHEk0X4L9mHM - Y//5oMKE3WVwvqMutgGy01WvIz/dwZegfaXcMOaSt2NgoTDvPp+hKFc27e5Yg7jw - 88FAVwz6HcUZCrJjAo8B5a5k5JhyX3u1HY9RfBGj/oCRbKJlC4WkoMxIr4AI7T2W - pOzC/zE7P1Ied/npSGqLfOWvxwC1b5u7zQYz6SkJc9IPb8L5GTEQgSHzsjh19NHp - AcjfzuhwdpXT0azW4Q5rxBmnhUBRZqYpR00ZZyvIXY9KfEJkC8RZB9+wR8QIZ5aF - tFS7SDnl/rdnASy5QU+KJ/YkjHs5DCkUmaPPi7yrcxyigeQf5UZqxb1XvNd1Lwe8 - LnoNyPz7IDFy/v/xpBGcJ80NrAUnbp5fyi6ZosZRzAqBjCs+UH/KMnNO/HWEWFm3 - MZb8wDHgqU1pmzn/kZ5tpwQ2ntsDICMXUyi4goyHiwVV5I6YvCUnJv5ng7H4YKzS - XAHT5LiMGD/SPDgkOj1vMbRicPBnACZF1VYKBJml6YtivlETwfKahM4qT6AGffhy - oMoJjlyuW2ValBQMHTFSBi3THJ6N5rig8cAbf+pDq2fepCOka6Sde35Cb5vO - =RExN + hQIMA2pVdGTIrZI+ARAAqOxEnUp0BlpxjTEswyMG6r691THshwcA0pd13G32zeIY + h56RkBP+MurtTkfGSORa0sfRJQdyx0I5n+9GE1yua90WUtlCWUySntcGlIaJCA5O + +BE67zeEoVhnBU1Wu2HmpQgh8zD2w/LAv1ET2ILDvhKbDaklBAabCWjy2Wkkiebb + 9K8f6PtRm+mJMbE6ydY9RagclTsBkB9OFikkO+V+Y2FpShQxbmO1gIAu13aDU88k + hNBXRIsJwzSpfglNQya13aHPCYjid+5ylVYlD+0+rPA+FBfzwVz2u0JrV34v9RVF + W9bn6hEgBpANnxjyYuDWrOnXulV9F6avoZA6oTNgH6ntbuD1u/rXqz4ZscT1KDQA + HTyakOpzVQf/YjXnzFXSxX+y8+A4SIR4yYozBzHpsMjz+DCFaeAGeimyALotuUZn + eppA7Hu8FJtRWXB4YWUIWdi34xiV2FPSrV2U3ymiapApuBD/jlaZFzmvkEB2J1er + sEOJA9JxwdhXIhhU9SMW2HKSL/clKz6zXHvl2W4nff2Q+oY5iLM93wKUS0KS7vN+ + X1q+2lN46Ty+vK87p2ZpCbMH0hsrZb0x49HBfSFSisU+3bjMkNP/olruUIDVsUrf + j1EnRjzXC6vgj0iehD2UNhlJTFghF14/XQonbk933EKLCiIlul5yG/gHw3xrW/DS + XAF9HEXUVMXxrFA+e3yiaTP7lYgo6H/lq+OJckaH+LRo7ytVH+1qb/8HXADAX4pP + lYMyHRFzVuGrg9ARnaggChV/zk0oYzNxUxb5NNrTwaSVUK8xGcLYTZjg00js + =mK3j -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-03-05T19:18:33Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAfjzpYqCQEXv0U9N2p7p8ehUZsGvxJiKa6FtB9aUiHHgw - x4zgUIqeskfw4lA+OmwXP6NM/tApbuy1elAhVy3IhIbBU/B4o93j/SsTWPQkv/AI - 0lwBOwZ8xC0e+pmZgYkQsnsx1dB05DOcYgeLli4ZKSehTfGEbz2IhsfklKLxWlM7 - QKdcp7tKh9MaVMI4XAnVqas/IKWwjmt8KTcbdop4hgPXh9emnTKEMxExjyCAEw== - =R2VU + hF4DKKbvh61jX5USAQdA6ioMrtC1KawuMQ5/Mh1LOMfTU/H+D2dtEPW5UmCyvxQw + ZSm+1+DknGqPdLhGUw7LB738Yut1XiVkv1hd4v533yCXs5dQ3EqdmwWGn3LWEUS/ + 0lwBjfALLJ5BaAgFYn/HODtPQJJSs+Ngfc2uP0CxNIGdwraB6oJwSHKp7h6gqPo/ + 1hd3GrfCL64Cgvbmi//2FNcOPgbEj0GmDpTQbsuMQTAHw+VGQdB4J2/Fs3OLGg== + =CP+F -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/spaceapiccc.sops.yaml b/inventories/chaosknoten/host_vars/spaceapiccc.sops.yaml index 7c21579ac4..09cc9ac831 100644 --- a/inventories/chaosknoten/host_vars/spaceapiccc.sops.yaml +++ b/inventories/chaosknoten/host_vars/spaceapiccc.sops.yaml @@ -7,212 +7,203 @@ sops: - recipient: age1mdtnk78aeqnwqadjqje5pfha04wu92d3ecchyqajjmy434kwq98qksq2wa enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGTVBKbmN4QU0wa09KUmFt - YnN4TzRKS1ZZYkpnTXl2NjJEZXZZVHp4SVJRCmVQRnlNdG1IT0dsdnoxeURpUm40 - Q0piNmo5QlpkWm5oUmcreldhTGFlc0EKLS0tIDZiaDVNUk1NbDdDUUNLK1Q4ZUJy - M0F0OUtORWhFdG1jQkk3WFdBS1hnT0kKvQETeg8e+ZOiG6TG887axhN0RJ7FZfSp - woTVVIWrWdfUZZOZR6Y4lucAptYhMDWgyYSD+3V4GZ/hbKdk23q9Fw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMNkVlUnZXZ3BEUFdXaFpJ + VkNPSzJLVFN4K2lPNXVzOHo1VVFWTnNDQm40CnRVbitoL3VySW4yMWxrVWpZaVZr + UWNjSW1kaEJUSTl6MXlOMmRHMjlScG8KLS0tIHpkOTNsTVZnUzFic2pDMk9aajZ4 + VHFjNWdCZ1NKQ0RHOVlraVBBbE1TMjQKmryObFd6l8mNoBoGrvNRxNHkTPUnOU/i + gLX1Qyp3OqgXvree62SFntkRXTZCVpAbLSxfaTIHuFF764DQh3f99g== -----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-03-05T19:18:13Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtARAAjIfgHYnpNYn3KrOhew9rdtpT15Dot1XQ+gHpv5eirjhT - qnZhNOMAUFNuxXNG9O4g+1U8ddn2SyAaw4cTXVoPYsZv8ROQ3DUTvKpQl1h59Y31 - 7IehkYko7jwLYF0yV9/B1LH3b7cIIymSXqHf8DCGCC18zXVXwgTnthnObUigoGtl - k6cDpxdN/O04axnzVatsqTwP/kBqlVAwDaV9fpX7Qqvgr1x8m/uhMdWsP5KzOFKi - sXacnWQ3ksnkpyi+Oa9xv3XPWkHPyiqb84x7I8NpbEA7w+Dz9grnFTRNzwXLdnvL - 1CRN/bZ+juxi6QFfIF90VVGa0DYz6gPeK84DFsx0F886+aVbpAUCJLzze1kP3wQh - 1pnWZAo97N0j/kFSnnAv7yJCL6gNPf0gXcZvtOoSrs+cuaAa70n1rJ4Rb7pkaq6L - +HaoEFAryABnJmx81GjzntjAtdB+g6UYiibFKI8Gn7wQnw/h8/piqL2CMy0sVo0K - nFv5/6Emk2ZibghV5qHB+Xo7tz0YKXGncwMOioZBmAZVcdRyNvhIpXQ9KWEWm64x - 7gq8A+lhwO0HcLn0ZoNxVOzelHPBbgteFXVbCHf49Q7/kvMcQzO9FlpYnInoz5jy - Fibalwn6pbmm/BiWHRKzp9bCB/wvTBamYEkVi94Sm2KI17tmBkRLzlfnJXY2MUTS - XgGZP016Vc1ob0nXahDZs4T4Wgii4DxcjXmc926UWNpbK5J4OExKW4sRLaCH/+vx - fBTkrZwgurHm6Nl1XLgBxr8rYTfYdWG0MZYL+ry20DM0zqkPTC7C/5IEJXBH2Ag= - =FTR9 + hQIMAxK/JaB2/SdtARAAkPv1jt3dzT36AE5bbQ9uQIGmx2/YPIbN0OzyJilVXhhE + 0DiTvAgEEZlGGhOIiyuw0iA0PGboGThQ8E/kd+AqduZd+xrfaClWyfkfOw/Q85vv + n9uQ4Qu0keA/yaQumIEc8BT3USpuBbGkIDup2S6BkDbaWPQq4Vkl0bqaUUwf4ajp + smuFx0BlXGhB3duCq3Sdg2iN2z67CgbCO6ESKbRKrV3adgWafq50tA2di6KYzGdt + aVBOeZt7duDKY2ppUPtx9LCANdbDSGj5HFug1A1tehEEEBw7PUYHmy/t2+mbcfae + GqjsQtNvP2IwO1mjkcOL4Yg6F4xUCVwDrIOcIAhVLgmTnIyU4mh4qCQC8h3P9CeR + pWuzf7+acetfZWEYCusXxirUK/fnv8KNmJqElUo4YrQ6+DCapdGeeuOWMZ4riSzK + 7pwufRvPl0Mp06lKYMynCFuqVlg8BsTViWZg9faSLSa/E/cXR2KJeR1LLb0NuwEX + iAaQUxMpeRJVsCKaOeQiGwysXM6SSm09+B9CeHTo7Z/N3cGMaU0cyX+TAl45p3d2 + BGvkhUSnBbgJ4ykzRQiI3LTDyJuLWlEl6vRqNMCOiqB3NWTetMX3LIi/RHBMJkNG + 2Hu6MIx1pWIsg78vEzA3Go+SA8Ik3pShuNpkFar11IX7Dx0VZmof05T0s0eranHS + XgFZZVXIha73AnOVba9OGXpwq2+jhcZxmZ15n33Zu9Oji53wizi7oK8HVkplvZpd + kYcxNbpiJsyOmbGqBbVaQrnvnUu2gcsCzZvCAJoeMPQBEYf/Q4+WUyO/LjAlvCU= + =JGgN -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-03-05T19:18:13Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf+Liy5nzVTqACiZORBzVC6kSlNfp7yq9s0RiiVmFmIxqCc - mNJQ2aLtlZMhUV7/7ZVY6X2FBosL9GyfS72gPLo3aavODx/3XnnfXALRneO7Ehn7 - 7wDg05ElZTeRgDTwMKkQTSaKJrNM3fv26npEVqZD5Y9paoGTzJxpRqiHtxwqdJvU - l0dKbJJTSyI3RL/GpMbI66Gi9XX3e6jxBiOUQSOgXfNoFPmNjzy84yBs4Hy+Vmiu - LEysMg7nFCpvkcxssr/3XJP6I8I1SI7fq4hWgvKAb/lL0DfDonCQiTts5RCFwG02 - tW+Uwn/0ySMSAAmf7k92kEMZgyveAgvE1yztd5drAtJeAZQROMNOwI7yfVmAcAQX - MT5+U+eIzjZfxhrQFc+dJeSs5WBq0zTbJDPBfC7wXHnZTBZN/SdyyvQjVgr6Z/xK - cHr+CzULC6rfQB7j47ovPYj4TMnu02U/+QDsbKpgRg== - =WUPh + hQEMA1QflAioE8i3AQf8C9P6gnk4j2THTzWkzajDDGocvhRrYlJlKy1YXCM5fQb2 + Ze2gQPQOiPbxomzAY1+0MrV9O4dfAXCaSyEuavKvwPXhGZXiGfxElY1kHfv5n9DD + DBWMY0Aj8EY6jeAOzzyCAwkyGW2S/J677Cz7va/UKaUrF4WXIRnE1hXGTtSVCRr7 + oP8Eggkp7HIlEk7pOf39/eeY0W4QKAjL8jc4ktbDEJgsuwFiHKJrOJiu++Xq44uD + 7YXXItsGu8rMMn1eaFeD0zDUWP9uQNdk39FmkLafsfBV5s1LHAXNAT5mgNGbTRZK + HbYVec7xpOAceg6XtpAZRa5neBvfm495z4DhdkMOvdJeAdPF69v4KOuRVby+NEvK + +x/k2y7hI/+gzkcQtBX7aK53teN3th0EjzQevoGcongKOfk9WCotI9ni4IrL9Exe + UqF25DGjxW1kLwURA0Og8dawLq1j18ZaU+eB8GzonA== + =OJ8o -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-03-05T19:18:13Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ/8Da1DIBxNI65hgkMGxmNS0h06n7AUP2cokPghHznkDs3w - NtZrNe6IZzjExGAMvrmE/Zod0p6dhSZu0D+snp1zQ0ojjtZK/yyjP/T0ZAG/pwcR - 4Yu8GlHoBR5xWcBjNxbeIqNNMyE+7Zg1XjB0q3pWzXjR/6tVI8wDJjALaN7oPZ+r - d9xxMjwOCLyPhxKNisKchzJpM8rZr07ufAKewV8i3lqOopcQdmdWSXnl+NohbFRK - VAWe/NwRKT/IcrDLDmhOmT2vFmceEgbghbTdCQ+K32dmbW5BeQY711LlkcGTOJIG - Yzfkc2x7SKooRRBW5+WzMFwz06MugREL9W416Bxqe5NR6CFkxbn/MqFPaYHClphu - YFDDOaFHs9dUi8ZNzFkRwS8R0luBj1+SrKsZZ+TY1Kdh4LksBIiHgJ2pc5TFQsU8 - ulyUxKHVkEb/qci+8M12v2rTbAbBMWzl0481fVpVx4OFKveOKOUGO9nGgO4ceG6I - XRfK7RoR4Uk2tt9d6G4tZD+UKFtNEllqtwC7KiQEd7t4vqsGHNvNnCR0/f1gF0e3 - mRgNZFT92LiTHXM1Xk5gEKaXEfWZc0jY5eYBDPQnW9cOdu3n0XUhGsrGmom8Guxh - OIpmQZr2hDcfbAN6tRrvd/1Zn1ZL9BochVgOqW+LPCY8tRjoxYnxnmYyLjGY6jfS - XgHa3KVpsGOd5eR2kZZIT03OAAikXjiet/0gg/z0TLAG+U6qgXM9nvw3ePZJwRyH - qY9X5HiGsK3fPZbeBIsUrLLb2UX73CjP4141CWWn5xYHgaSyVCAb/mZRlJSU6rg= - =YIP/ + hQIMAz5uSgHG2iMJAQ/+MLPuGQUDixBitdgSedKBDHwqVPTPrBnJv4E2dukfhf1n + keRb6ToBafj+vfxo+QFbW6zu2AoKm0PF8RLkE3+N1qUpzcxdnkszO2KldYTbalNS + W/zT0uJzvEukfgal8VGqzdhKbpNIlyrDTHq3sUNgSRnYuuERNe+11M7CLhhOeDQX + oiqqOxkLPmlT7WMSSRtlr2dhm72p/FgPjD4iWX0TzGSSrz8GgZ91EA9ZrTGdSX1Y + Npkl2M9wKTkLUP8IdD+VCByTvkfkoQkiMkRFXXjiFxD9U6qaXsKml++up0KAzPzf + 62CO6mYd4nuutz4N3L0JPNmZkVnMv3wD3jfzv/7scto2LKJPjMpGMo/bBO+zHK8S + wN9P5UQnkKhI2Gwlwzrx5Zt+Xa0nZr81bp0nKEtTYgE960yEYpptfHN511ynYJPS + wDygAjvhG81/s/I6a2HAQaVp6p10+8Q7/bP0d1JFUMbOSIuD/gi6ANONS3/CdvHm + 7kZ44rBppV/Ett4P2w3UirRz7Q8SxwAZvMCO8oHf8+8UP1pqhnBWOg3goy7Gahgo + wfyQEL/9WExs8gbpXFzjvS253BmknfLYL2mmXejuUrmiNIbWp9z7baOzZDykSTzo + +8LzqWdtlcte9cC9jEQi9B0E62RT2rGvRN1XujVB5ScqX5RzL9O5XChzIEyN1QLS + XgF/W+fhnmdCj6x+iTqE163f4BHYFykwBzpMdnfk3esMXPNB/Xrq+nkYR8PWVEZi + XB5XpiG8YBNyfnF2xIE+LG9bXJC1jb+oFh+D4X9k7z/99Rgy9WfH2JMN7GDMqGo= + =zt21 -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-03-05T19:18:13Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1ARAAp84rNKtCsR8usRZEejxg/QPYuZZVGvPNlI7pfiAcnOwB - unuklF6G3AhO7I+aaT06CJD/4q9Z0tEsyxMqWO1VyA1uik+LrJOud2I7JQqmwh11 - PeHQtmRCYt9Iq3kA/XGAhGaHmPlT/33zJgytFW4UUSsjbx2Jx+lAon08W9xk7W+9 - +qsobS68l7PRpLQDgqjBZCsddXseQDm1QAVrb7ZtQj7M/jpwLPxhodcNJylMJ4Ul - qoT8KvdaIpk0nS9ZEllp4KaHjnWgd++Ys8FfLs6uQpl0szupYrK6tYG6wSGjRQPy - VGHotI0PDK4rKV6ezEnR8wEz15DD/eOFDrmf6lHxXi5iBYs+KHhtSM3NapsKXxUM - /7QnbIXL9Lu0p/k3ouOn1cTWB9/hLhFJbF6m4My0MPp6/jTuEVpcFAei9B/0aOQh - B2Yv4UC9R7WiJpnnj4CCd/+AtJW2wv4SIExSa1yMUEIChtZvr+mixtQ5yqSbtMzK - p9gS7W6WYvs5xi6Xhc5Ns+67sQy0wECjh0n1ZLz5uZht6jhGBRh8mMX5clzkQQMC - gMeVrq6HPZ1dCPaK1WIMjTLPm20qZNgTP1kSsyOU7035qsGsN04Bc5bxXc/Qe066 - w2ysxGvpNNausLWTivK6jFhTHLkajvZCq+KMrIfwPPJ/oyk6+Qtv6Pok5TH9NzbS - XgFOM+40g0B5OD5979bi6yQoGptKKqJOXqGHJCdAW18fxxt8gzCMXOqdWWfUZTfU - yeNL5IA/jyX2VZAc5uYTL17LhbonX9kbN2ZD1gDnGbRQ/vEJeQmXlbkrdk8smUI= - =dZOJ + hF4DsZXvxFXTXoQSAQdACBKpsGChBGh99AqEXtgF31iKrOqxs0Htn5m9r/N4xWow + CQAJWWl8o1MIJAEhCfT0+bLYGnV9x81EKm+Hu+xQ/sNRgJx8Y4+YyGwS3S6EJfBC + 0l4BSYgAhtUdmKdQOMI16Tt2S2zF/wJsZwYu+/T8kcx9uvr3Iew/ZtSAtrxNrB5T + exPv3TnbjiC5tex3SjbeS+vsvuzGqay4g07I/rBJ55tsCHdEa1w/7100h/ep40x+ + =WGNs -----END PGP MESSAGE----- - fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-03-05T19:18:13Z" + fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAH0pz0B+kSZOJvCW4T+MWfmrfTMCn0p9ANbUssG4JXAww - AfjSo1yFjc9CmXQIIoISQsT/qlenPw32FNVh8SdX6+4kHhxdBs+RK2Le9GdcZ/uI - 0l4Bh+ZpfbHvpsw3Cd/OVlGLQzqs4/b9H73nbZVCAg2RHEd269Ge5PhPbgj7RD8q - DgiOGw8l+NUpXSccmxKo+Veo59aOkxkwLlQ0AmhDXSJDvQQDHhqeQR0m3QsAJgyd - =p/fZ + hF4DerEtaFuTeewSAQdAcemel392cuyxZa7IG7uDodLLyCzwlTW1QQJ3GFBKHnww + WDof008OxMMCWYpkpO0B7iHVZJL658w64xTcGhH3U1smcFJxuhQbReGJudihg1rY + 0l4BDrR3f/uUqVLVjUmemsaWpz9yOTU8KVFQROBAuJM0JyBRZ7hV7PQITfqnwNYu + f46zKUFc9nxl30IKLme3RwvBmsa3aaYjGoY49ntNR5qP0bjlxCLXfFEpD9l4DKyP + =Vu3w -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-03-05T19:18:13Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//dNGFESIfCL9M/WBRaLalCDmaUFG0Cq8pjr9t6KbO0lwr - iVDSachlqffJOnXOW3yHs/tib3pU+Ho1qJOAfUr4HAeXsxOcPn91jEVXRu6ViAoi - BKsKX7CL/vhvFqUgTuXduX1fQWRHowZsK+T7YG7CazeE6WbryqqQuc5e7GbN6o6j - l5tUhjrbiDNh1wnaN1hlYtGGEl7dY0+AXWUHAn7kggK+r59oZTVeROwNKd5Psg5m - T/1jKJwhkhgKKW/b2Dek/HrbzX2MG1hxAJrVKd4h3gNGPI0FMIcZF89JZkoDvFGf - rhb+2OHxCHWvP4GoIQgvkjhu4xBCr9h1oBJodA3zNgeterM9FimCn7MyNTmhvgwM - XsdqjmryhNG3SsjXC4MqOf9nybK/v+634tXSBRI2H2KZWghP6fy9RdyGYXlP7FIY - YhJqOXuscG0VF+nF9lWgkKsYKUBEgGSuJz6KQeZgecdq5HkWM2fTKsSQ+jgknfbG - 8AxJLVqO7xtbGhFz2FsLC7v4s3DH3ee531n9dR3jk+EN9pjzUFSMofA/96rvJhWZ - EJnAo4N2Wfn03vnB9HOewMg37Qrqucx+5ghIWnX0WNiidTVaql7qcBsFOcXQ/Eld - TP5AUEMKHRXWpZbNAZCvYFmzmmClRAnu0naCE8c7AJ0jpuEL3pi4wE2SB9Gei27S - XgHBxL41zi2OhUK5XrUj7naNyt1ncK5EP0JuhVXsJxofCzIWnLVkY3AAVhoMtzko - m0/eB5htpH3fqTvvG/0z5yJyY1BykXDvCcc5lBws4GTyJcsMKiMMHhpRxz+tDiI= - =NBqz + hQIMAxjNhCKPP69fAQ//c5qEsfr4c6j+EXPQV/JuNjlNx+nfl+cEXzy0asUJmcVK + sb0AhuU2V2GJiY5KKZn8piuXRKrTwpyOYK/4RMjYZ4eJ4U4f4753NGiFIFbiTlEl + wuW1c9qbZT6vqVkKLWUeYSC8OXJ4pcyGX1LZqU+9WpDdtx2nX1NGvDkHYpF2gPcT + zjkz8TzsZuWpPT1P7U5mLS9vZLw4X0af7iI2M1dDvPsLzGk/AZ3A+g+y/h9dVWKL + GQwWZDTCjcqgPV/aRwdyk+01ZrclPakm69kngD0YuiJ/eLlgkTLY4G5ymkuLyK2p + OHZwMP4+RXHAgH9csLiSeaxCSPPhMqlQ/wdiZym1+fVmAzru8Zp5bnogAtGb7kni + XTC+jMl3B5V9pvypaGMDeORt9Kup5FimYq1Ty8TiGWJDHzU3dpJs6jsttcJMLPCc + skZ4Ea7+YylFDZ3/MQDZjyq0A7X1r02BIsuDXFnAKM07ZEAUVFxpNJf9jZEoTnhP + 7YLUnVmfG8V0LCtuBXl1AIR43et9NCO9t05HUyVjgxj5NYXOmXExzit0L3i7D2fH + wzSIdPR5W33N+oWNtx4V1YIx4VowLY5HV1YmI83E2cAL/8ku2c+F9LzfDMs85RBh + Tuw7AEPgxJQ1GWa9biYqZ2FLO00Vgf6qU9eUEQShIXj2lEqArNkiq+eCjGgPoaPS + XgEwy8mo/Q8vTcgLUhB1ZH2UU6HGP08UswgZ0+Q78ZzBNBeBkzQs+AuTS9QY6PaQ + D2P672mFjiQYViiODlysDsjBa+XahNlZi6X3O+yfLNPBVCtKUxqAAsFsut/10x8= + =a/My -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-03-05T19:18:13Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ/9HP7WaLEldd5c/D6MK7WSoW8Ybu/lRzTjEbFYOlT0kVA3 - xcLYQMG3lKsNJUrQmMlFi5+dqwa/YamPwONIiPBwEbrYkQacA5Q1R87hg2HtaPuG - iEfoebFqkclRsLO8TB48plEvevf2bbK1pYqZB+SSsNh7miXQXtz0VguuBjl2auiT - VWTF+3iP32cnKoCo6OK8qC3RgTvRacO0SABvqUnJ5HDMOabxNpSL8mI0d0cIXHm4 - 0ryB5I5KytTHKeWF9nCqE/FVARKMa9jr6L4TSRO4xHvzp/VaLtwthshXAJk0psrW - jmpZnCLK+yKS1nr28CkZgn3FIk21eG6mbGrkx8imhStdDlBqoP51IsxkP+kHDf6I - uGPpYq2zgL2TXpicV4GlyPwhEUMAWfnbL3V4tyffGzkHsCj0/mgBVBCQMqU/DwQ3 - QwR9eKF+gHqECggQPNR2OTLJrdfUZ2EoOlZsHvY3QFTdLoXA1m+HV54CG/7UQ9js - nMStnrMD9iM331VLF/7PHt9C5hb/NsD8a6MhOBaQNp3MPdo/vU3F046lK4ObtxSi - a0kKV4ocz2QzGJOOd8IbmC22+K2QN+U1twbE8TQ5vDr0d3HLvdylkGDG8PqcQHCn - OFmjaDd0LRZnz/DC4I85FD9XSY5foRBXUcqE2cfzHka365QdRf10nS91HMPY2oDS - XgFzbmcoKO/DMNCZUP9iKSC7P3mkZ/CdvLfSzCSzyeBwsNWLUFFgQmVGy+E6Ifg4 - 6IyLGNXwfKz5tDfizjW8S6ybNTeB1BejU1MWJp8QUPLJgmVc8w8szg+DWTb+y64= - =jKLD + hQIMA1Hthzn+T1OoAQ/+Ku07r2k74lPam/sMr4394oz+y81mbPPf69kLM6N4yOv4 + ZqFfwvybOFFExOI5N2al3GgLSD5geJHk6w0rGxxajNz5J8aliQRn7sZ4aCwOjs7e + KlO36pvHIOmCAQZUxPg0eyriVKYw2FFh1MDRmI/n1neWJtbqnBGky91Pi11198Bg + 8/SGiW3hJiL0E8DZ/XIgaWuDjvT2hwA9RxPBMTAGXBNSqJgWS3SD28nfiYhcKvuM + 2n6na25T7DkAW/+aRiOLXD4gTSZvcF1Kluv/MTJgLvEechGNZWJzc/fS00FxvoTF + amvkbcLF5CrVqI69+B5JHOBpsxT1uhEL4KV6HzA5PHpfcmfcOjzK6VjvfCVItYRv + 5Om3+MUxOV2Y/fLHNWnDRClkrLvfmcxEN5sYgUfiKX6iQd8wv5Z9kzM0rKeirhYc + 3DWXZasWCQg1wTBxyjreDunowYUnPKdUZbQgnWWUCdOabCkS92cZhqV+Jby8ESXB + wTsffPi5S+QzidGZcbahBpowfkADHp9ubFE7173OuaRxYAbg6AEUxY8RTUWxm44q + qhvu1Bnz0EPRTcY6K/OOoPeNn1nWynAkBt4Ee0dg282ry2r91WuH3s1wf/lxb6s2 + 5F6JioVPWWp9J0pwt6VlXfJq4mkoorhZlwASRyiZCHnyOSfvwq/v/vUpl/q/aGHS + XgGNcZofkaTMC4RK3y+TFnIcl9p25tAP/5J6WXkKrxyZ9bwc2WmwsY3tzUcVGG36 + zHNpQgaPg6TmdrkfyXlxYU4ORhi+uJR6YSQ4hksds4YN6jC3t+ZRhYWibpQ/R4o= + =xpZc -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-03-05T19:18:13Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ//VNDm63LOxKHYeaSq6Zc9oYFh4GGgQM2RlLK8P7ZBEFQE - WYU9r4P1koMuOB0nejN5rSEISvMkfxPBAdaeqkUkYO0IUS46z1XBfOTrbIKdy8yr - 27iKoCe9iXFHd4ZX/2PS7dJuyBm2X1I15nE6yZrqjst+kw7935cjgTSsb5//bVqZ - nwsU9QHxj4iyjYp1tKiUs5CGrC/v1LdsmJrAfWYx1J6A/OuD7WeJem0pC/TkUHuQ - SzLFoljmAHoH4cyGd56MY+uPcSjoAmI6J26wWBc/dSgRGEBUhW1N1lvdPqr+zHJx - KMResOHFss5m/V3+AidKNa7EUehiHGI2bUtSghXWZDmq69uizNeuXIf7NLwArwvc - S/UCc2bFAA77tPOwI+8MvsPMflrOMuSRDR7dBVs7aYPMmHp3TAfFPhUNQ7G3boez - f0cYhTcUYxFNSjmlX7Aav+7EcssMkpQ2NUWChvXEEJ51og3cAYij0aqUDm4Ckhrv - NMuaPo3FH55BVcZt1u0Hv9TBokhtrKde6tludFT+fZUSG4JZbP5E1IKOtKt8JGlj - /U+KF7ZZSanhUOKlYtXhynf4VuzhDB601oVQtBMSzCXfeWG2+4pEwYinFvgaW0lv - KF3JbczLRipWGuDf93MZCbAF/c17ZofKo9CyxbvfSnPw0r5reXd0Ej+i0eEPre/S - XgEl3ytcqi5ShYj/xjOb1AEfiXVp5Iw3qlUYTIVx8SMjyKvwvSsPA2MQ/kOQCf1d - mmWz097SR+BGqBOIS1ORnGUT97G2TjHMTOFzgA8WasmAQI19hMi1DjDmjKuiesw= - =I45F + hQIMA46L6MuPqfJqAQ/+KuWUHyFQ+AFe8NyHlAUU/ch0Smg/DEte2FEL1uSV3EKT + plUfKWi/2IuQY7mzdFHYDjQFXnLN7xViN1jf5RmTzmJ28BOXWj/Z8tP5Tq7AtIv2 + E6STcajdqhTpMjIaRHSYwIDvoNrXT9suUsHJFM3QHB3kiGWEdeL8E5Nf635tat8E + BeJcufEwCPkgz9Bqq699w7Qy60npm112O6mnqIRUzTh2TVLatvTVtHfpx8xIh82R + Mz03oU2r/2sOkb3iBypOsQjhhoh2njp4Rv+78+Dmh4bc1XMOXgh61KQtOS3VZYt1 + QTeXqpFLlmDuB85hHI8UfyqftLgal9IwrkC3/3vTNeWqVODRsDZo6qDpmc/gLccL + u7qQ7Ny7aO4Un39JEJgorL1cAMSduaOtpaLjdpqeAAcLKfhONTtTQK3Pq1sQqx0i + PcitfMaD3bgMY134S+O3dQ2gYNttntqJ9CsYBg0S3GwMvexCqKadN3FxJAZnIr1W + W5I0BDIY9s92972hGofJr4o5bbjouQh6tcInYHQkl9B+htRBZSzuKm+h9OqTuiOA + U+PVd16eSpP8cTRSvgFJC1wHOnpRdzPSj4KjfgaLaFsdDICyfQ/ZACpiavfTHkA7 + n/je4t2E3eiA0dDIQ+dPV3cNGnkxkLZbb9DY3p5zPOrwSN9xWTJgnHOmqJVeGiXS + XgGYewRgJpR0a80dZdoRrL4JNlLXWSN9eKlEvOz8G88s6PRNjGaImURunZDIndbj + uq2E0qiTbFdvdkyvucAoqrkQBgBFoh2lmxKo1ZtlSgvn1l6iG2G3AialZJ7n8Vo= + =btY3 -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-03-05T19:18:13Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAL6YMbdgBQOvEuNId6wd9TTIIFvKM0dvN2Ksf8p/N/x0w - w0wKaAwyY0wrf7xbK+T9iJznbj7jyYMc7ytbk/KJGdG9xDZmNUDKZ+04FVuWJIBC - 0l4BBuoZZnx5vmF7QePyPUga9MfSvePyjQTr5YkB041xp8V8ExRNfa+8pMXu6GA6 - 5piLAjyD6UGoj0ToTNoeFi/D7QN5RmgWzLffI5EWnEhg45RyhhK5AHFSlmjWbin0 - =tTgS + hF4DQrf1tCqiJxoSAQdAwd6l5UbIQMHC6l9M6V4fJJi6fsP7IfOJWvLGi3EeRCEw + fdly0NHDoK2OXeL4wHIAOMHosWn10BfyAyWZLJoPOK5XPNc44F1hm2jYV68ndM8s + 0l4BFeP+LG3gv0V0JXNpUaj6zHabbP4eLKS5b///KtMWNo3NpkUF/NPe9n881nc1 + WHHjSJL4XoRkuwL2T4Pc2ikwjnNwchCWHk19WSrF3VLSYrilIKxyK4lQZlV+4z4L + =P9Gi -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-03-05T19:18:13Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAkswU6KHuxuQyk+mfq3xQiubAvDzGk+K48EtBVZPCvAow - ZveVCdFbZDgBtNYVgAv1nuM2vlJwT0f09Lw2NEyThR3ie71rCls7BlNmCcn4Gko/ - 0lgBqmrqUnCevkmiLUJgLfxzpxjQh7iHL2HVabO7s5LbOAkS7K/vlq6bKX9MX/6X - 1lN0ua77kzAkrRj/DTlsX7XYXZhuDqBJ9dTJx+wEA8i17Uu8wNb0NIV0 - =T39/ + hF4DzAGzViGx4qcSAQdA/t01OdnPJ9W8+pxulWtHheAlS55G9JJvS1huVkiR6jIw + uy70tvgVAgdx7hr+MJdN8aUhuxxUQdnkGsIrFX0Rww1VGMlwp9S4JotyMU7TESjc + 0lgBvz4S+xUhlXtWPutV4Pi/frVpAYt1tQYmrKs5ieQT1x63IBCZGR1t7mek1QJd + wxCI6B+F4Xo7sqAWunDEQYz1SL5h6oFplvFsJlYJ3/nB+IkUxNWRDgzq + =CVMG -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-03-05T19:18:13Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ/7BKcWNscmi961ITf85bgY3W2AKvvRmQZlRlyQ3luDMUgS - q5KoyrjVmTXdYmzyUw0LzDgwjaIh9WqBo7hA7xT6WfqR3sWmX8ESucnFanXEbQgJ - lmn+ikiG5fIngJ5+SJKo/qcp7lANRvI0bmew/VbHxc8FuaPpwE1E3x4tEEnzg5ho - tLV6p91xmkFfgplG600kgx+r1OawJTzebKaSNzwOEPzy6erZ4oTH588npXnQg0/8 - ApTJPloKa3QhOtNr4eLzqfw3r9D6iind8XQQSUDR6JJQPQXhYagWpCZzO9PW3mXj - NTyoXib+eDUI3jKlT8FqYJqokX1Qschbv5yIc8PpqDfmgi+THcRgl7HCDMvpjcLy - d0piLG5YAv3RVvlY2lZrX2Dh4xbdLVqpG4iBruKa7Mktpvmc2ifqDrrHPlcPyUgk - nARdpUSiSQ6p1nz5bOEpR+PhgQYhO+J4vsN9yyyg0DHGzmbgxXP1T78/6u9JXiVL - yuw8VlNSH1OojQnMiTEkjezpXYTZwxfeXkW6Y775SjTWIpeJhKcnto+PM07xaHWw - YuSyUxtO6VJLyWcjf72pHfC1T8ewp8DTFjJ35USai0tptulZmboGEa6xuy++o/pW - nJXFfvlbT/7f20ipWLkHdYGgqeLc5KYylwTXn3lsq5y5a4JPWv94TeE3j9ffnnTS - XgFsdntSPqIQ44yW0KnKBbhMY/YDATumEw9qcW1ueU5MpBtYUS8jGQSXq5CCkAZl - gIVVU/A18y5qU22RBGmhucIjUEogPvUPbOJum8SC5pDkBmzPiv+5Kjl9e72goS4= - =OVP+ + hQIMA2pVdGTIrZI+AQ//eLpuK6HP+OYk85bRzSl+cWNmi7WiS/piOW7m2LSMFxvI + sGmJ1YoB/ox0wuHQRjna5zFAl6kGosjupCBPaK1ms3vEzxmX/Ge8Km/D8tQEsQzY + 7YjX1hCugzS4du+9hfbVtPAAcEPIAmK66/dmJ9ZoXe9xGTxXI9kJGQVTESnRTTGu + zuUlVWpz2arbG8BzI3zgiCYEkH7lb0rq22Nj4Hx1Egzhcyn8np2zG0c+KVlISwcS + b8LomaJjzVhVTuqhNFQJr/utDC3X6+002PLJ8JM0hwPqWOrGfPbcAkrxzW9kaZRl + XLoAWoX795OwwFVjSj1ui1PiOQoYZpnl9wsagfuzDun9S4eM6rHSWQV3NA3dVOz8 + 3WZ1kAZ5ekys8iY7D8IPZKASgcQLVR90ppgC9+mAb01KdyJiB61nTvamD2QG559z + z6Uk7RH3hNbIbXO0/acw8b0gbnTAsq3IPIhRFE6v3yYTXmiT2JHtsrXf6xRkCNbr + nKCdOtJekdm8xZM+cJKgRDgcVn7qBkr/7ePazmn1VtL4TDACFgeA+AXL5/gzMhSK + kCjArjoicskVkQe+DS8x6/gmcrefnWwsnpAUdGg5xNOVor+T5JetuwwlkPW4Nta6 + tzdCxxYXUJz7cIQt0IvVzseem/Icd9ONq+nzu1NfsWaMfiebeOMqgn1oEAQxiwHS + XgHdCyCaDoxhv5E4Avi9CvhekBlXxeKh152QuMvOSyT/XHiNw2aij+ZxG3/yXuQu + s7pnY4soPINoS+S0OSW0Pcz/tX9rNl+lnCgkb4g1mSj1LD9az7puNRckz7yIfsg= + =v9qy -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-03-05T19:18:13Z" + - created_at: "2026-04-18T22:36:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdA2m8ZxiI6rmWubO9hu5XqGaZZETdRTvAjkdCwPcJgxnww - Lp5zt7B47JUcc7w1KNxOzmOYpKZoqXQj75woqil9pj+Ce8C2t3ux4qM1vv0AROM/ - 0l4BidzJuVicZpOH9pztyGTWeT21OtliP+tM9HuS1u1YPTXxi7p4dE58moIibkeR - Vr/4YUAy0r7LomVvb+qTuVsClEMea1LR5PS/ib6Rirttq0ZciqgWlpEw1tABNS3q - =MA3P + hF4DKKbvh61jX5USAQdAiCD7jlfGv7UXHl8kccNfiSXehIpxDuMHCN+g+1ZQcwgw + f4IReOWrqp/CzhOEJa59osBUZodhtTjjoosXIuwSWyvbAc3iSxtIAxhxb7I8PIEU + 0l4BmnQyNUKKobj7NYdzKOsHy76lp0aYT2g27YYNb+bqJgsOm/ae3dTkaAUlwst8 + bIzflSkLuAmmiOX0viesBTYo/pko3ibAGqVGnJpN+TfRhT1B7W+8oGhVjrcfr2/g + =g01t -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/sunders.sops.yaml b/inventories/chaosknoten/host_vars/sunders.sops.yaml index 75b2d10a2a..dea5d61660 100644 --- a/inventories/chaosknoten/host_vars/sunders.sops.yaml +++ b/inventories/chaosknoten/host_vars/sunders.sops.yaml @@ -8,212 +8,203 @@ sops: - recipient: age1na0nh9ndnr9cxpnlvstrxskr4fxf4spnkw48ufl7m43f98y40y7shhnvgd enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKTlhuR2ROcTZIMnJTbGVS - NHloQ3FsUnNtRiszUkt3T2JwYkNHSmNPTFZrCklnRUdJeHZCRFMybHJVMk5tOTB3 - K1ZjWGpuSzR0aDBiUHVqRmxRUlorKzgKLS0tIEtMVHRldDNobkFZazlScWpFTzVL - KzBPS0Y3OXBUSjFWRVQwaGQ0M2M4ajgKYGgcfiDsBsJQmSodfPejhAcAekatqkJ9 - Xa6Y7mWUiAKcbYY9to7/7/u5FUW3JYdv1GX7vAC2ZtZv6WXGLtjdwg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6RHNpdjhPbnRYV2JjLy9W + cmY4QVhXNExUbk9xUHBRU2VLWTMySHU1UVdVCnNueTdud0FXWjk1Tkl1TFVSNmFp + bWNFN280S0ptQ1o1M1JaWHJQb2FvM1UKLS0tIDViSWdWVXlmY1J4SmFDOVR0bzgx + NFZzclp5M2pKYUxRRlFpR05SdGtya1kK+uJy5tiLg5SVFJPu66geTdK8bBK0wNov + CIsJ6+ZZ6ToOSZBczSoV8T4TRFuezXt1wbrYnw6WH0zydiBJq8o+Jg== -----END AGE ENCRYPTED FILE----- lastmodified: "2026-03-31T14:49:48Z" mac: ENC[AES256_GCM,data:Ln//LDvcSqRknJGQvdzwoRvZOK/ZBqfTJqnxm9fhQsfZudUchZ5u7PXQf/0y3GnrYVx9agGGoKQN3VFehrZfpUE4ygjvmLHiqJSZVREaD4Yq0PuaY54/wN4YX8H1nE7ILdm1QvFRzpMUpSnTM1Yrr6cMIFMHcRRpL73LfG1nwPY=,iv:NXT/cPTnbg7ESiI7Aj3OOpCLMM4j355NAMVJNsIppzY=,tag:iLFTfiFdDxpwvC88fLf3Mw==,type:str] pgp: - - created_at: "2026-03-05T19:17:55Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//a0L5AByAIzh2T3KFZOzux5zN8/QC3ZA6jS4hpvfYkykz - D0knlDwZTd4L44kSnvMOplw7AR5oMuSYmjB8Ru2M7PSYJLPL3SE9bHXzOz7kqBmT - W6jiEMTusq6MU3rbNKeyM+OZSVMq0F8YcB4e8lS8bSxR2onyotMWiadP99T1hVwl - 2n2ogWhIfQTTsS/H3NUcch8VQ6+QhNxtuDzO+frQhvaHenOv6mrZ9P9/0N2POFUi - n+rtJw2zAi5pd7eFiFXEmkPOcHd/K2QXA0QHmpgTubkXrHM2kVfWSQqWx0Be6J6J - KQFZLql5nRgpLd8BC9btuJl/w38ll2EPY1vUvYKqnkH4a407WaMxBxgZ6XriAdrk - owzXP0a7ukrvBh5HLEM/98pX2Q889qbfLlgEuat80dlI/UElOS6dWr/ovaE3ZlOf - DXzZlQyNq6swpJSQqzxpcnxSANrAc2x5pLeo9PmR7e9QMnFCgSVx62AT81neA6Gj - XfAFppNkoUdD+QQH/YN/a2sBh7qf4SlRY8qlv7ObENWH4++nLpx4waiv2DWrv/fU - rUta7lT9VAwbqRyMh8ad6Rd9Lj/MO5qMJrZMQ42Z0wBmUOdOO0lCjiD4zPI2tHYQ - EKwB9qFBZHaF/qzsWGO7IAUwmFyzczpMQT8+NUsdTMVXpEODU5E0EkspAROO0N3S - XgE1NAM/yQl66ZiE77WSYU9Ax9jkpy0tAwbWRfWUjjZyKx10KPQ18tVJrZBZASnL - Wgw60tqEBjEGU1S0Q7Lrn6tSwapvmcirAaEyRrSj3HrOjs02ev56uzu8ipBO0A4= - =j2NS + hQIMAxK/JaB2/SdtAQ//Rs4iTzX0kgpbSu2sE3UW5k5WEjNBaayL296MsTpHIR5h + bzsG4M9XhVvTjoauGhvVGn50nYuFbGqF0IaWEWTufVXDAO38P6ixcLscSIvTtJBr + TP9LDaU2/aoMVaNaxI83SN04eKEvcdel2dJ8JEaZvDZ14AAZSETljFYUjHOoiKDA + 1m+PQnIrexpJMsQwMITQBqgjHyUfL8GZ93JncqkGEHaAgqyQpTYWtfE2jFuNjxSd + Mbvs172WHSfRuevNHHiWTLtWFVNVPU/xm02I9c09fsZvm3tvDyEdCuk/vb6AaHbY + WM8mehV+3gWHauc95L1kyUbjs7LEyXrwE+C+QiUiZLkBrMMWsDtVAyr64RqgBu+n + bSm4q6MwQJPKyQR1nn1cywIcD/f+XCgFU76+/VNhu15D/zzFaesERtG7mAtYxwsd + ciL9mBZaqaChYslhhtwyv2hUHb35EqJDtndj7qdEylbxBNkmXUEUcBhn1eyUojpI + kIfYG+8ZHH2Tm3HKL2eQPskThZXmA0a3CYrkK/cr7bK06HUKCzvtIRk/4NNlSrA9 + n2cVjh3gTtY0otwh9UmvIPug0clvadoWyeWktjVnKfpKqRzX1KwvWAwHcWdCbbNC + q/pjnDm400ZI2g6279/l6ph4awXhLQbOuZSO45Z56NttYnvYdoNRcxvegdWp4kfS + XgFbyTH3k3Mc29bog3ZxJWPdrV1UyKKe3SC4tMO4JpYoJg7KNBKhpFV+L7tJhRuw + dl0LRfiGwWSZVNam2U60HhRfaRZpGWDwe/NRRByBUNdCu/GoDIMYsJm0HLE++mU= + =nVhp -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-03-05T19:17:55Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf+Mkw433RvcDC49u1R4snHov/yqtr2iOi5sQhdCY0wcS0e - xKvI0w9dyP0EVQRvu9x4HhvF/CM9PeGDnVgDOIZF38FHyyUSvYxukQycSf5XcRP6 - soj0rSgmO+SONpPGgonO8TOgFcFvGxrQ/GOKw1wQEsOzrX5m220BGRNQsSQoVqqK - JNP/fIjBjgIsJau9dTg7bLmOOfiKpTu8lCuHpByrVTeL/F3pLBiMRRqm1/hSvAk5 - fG6JGnDUuc0D/iFkPTU+tRKyXJvXblt7vvd9B2lVylY03dzPzBbDe2zLQRZt5m76 - NOmWqU0fmGaKbr7aA8p9oHqraresHGBtLPkzXn3XHNJeAQlKUmm+6QaR4WfWH3ua - O96/Bf/CduaYPR+pu2tR9/vkfwz6aogINjvlaAcJKu2sMj6Xzip0nBRh2+CzO06s - uHZNKs/5OSW2L/Zn+A3zVZQ9+dmgYBwIteAz/dHVWw== - =wGuY + hQEMA1QflAioE8i3AQf/eoCw869wLs6U/oZBtVH8YnM8MGVPCayydTInG96f5h3M + bAcFbZ4wgQ2TvlG+FKfNf8Z3DhmhGGqqcELhTmo/t8e4/W/bb3NR3w5cB8xESLg8 + 2eGzONvMt5femcbUs8iK/EpDwNpxxN9/Z1PxUn2lHz9qw2jBkPFu+ob3hIUSWHuW + zhud+PkExU58yuEWecfvxfx4Lk4/OaCMh9rQeEPWuEjjL7TDcqdaj/OJ/D0zDtCA + xXVEsJDmPdaLOI49GUxXowpXEO6JxjJ3Kq7tecJSUPNQSZ/doTGDLJMUf+YFtxNm + fyxUunrPEn6q16gDduKwheRbECMKTdmBPUvYxR/RAdJeAfMNIeEYvEHkCm1sz9Sz + qtRgVBFsYCEwmUSECi1r5sZObkjcbH5v2RG2wiAtsKP/dUEVbqhxS4Zaw1itFV8b + 36+gaACr44GrY2uuWJNa4Zslm0hSz9nzU3/w3hb3+w== + =fi9D -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-03-05T19:17:55Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAAj7R2G1jZCtIRTVpQtTpaZ3YS2SflruoZ8BcKb2u/VLk/ - N/L8vEHESvrajn4mI5EJ2QJCNTRTA8S+fDq/fIkcw+Lu8n71GRe76Ru9IZino7Pi - PSkHf1710Mbt5BcX04yMhg76Yk+9sRvKmZAQwu420TbsfS/Q542LCGldU31ew6sX - MWox4lF6LgldUjgfqcPEEU0p3yU2+Rp1jde/f8EG+NtPE9O6Ay+46p7TRklZicG7 - rZhfyjt0ixrV42e2HK01IkT3Yv6A26A2+Mi3yLFRjI8+lVNT78l5HuS1iAspToDd - d8Mb+FLyVKDSNxKEiNRby+PsvaVRRT2+2hXcfuaJifV38sH2sy7e4soKPge6NOQc - 22w+1r38CmiwJVOPOcczH5xX0VjGEBfoN5i4NnuWv1zgQPzGBgATYTeLVVQjHOMD - uQwh9qlpnzxDMmm2L6Us3lY+fH2IiRWbrvsKtO/gP0ETM2zf1YeK43mxW7PPE8iQ - BiMAKCh66SqnaE0kON51ChB5tvuFFHvy6RJnS5yGI+Yc7TLhZdufURzSGwXAmLIA - beNyti+De9xDWaXpCIxT+0ICse/XUSArhyRTl1Dyx3ecq9CVRJSZxGyESjMghkIC - APLcoYhnXGq8kWEKT//ntkxsX9GgdpZUiVaYouE93r8fszcHHDky2cWNbIoq7UXS - XgHmbsMcxcsJZje3qMCEIbo3P4rItxsVnfwo5vxyQCih5xgJJ2dUdlULIhU1TfR+ - wMMLOgZmA8F+f1YCWYDWTHnWh41YaqP8zVqbfCNegO4ORWOiirQM7BamGOfFx0s= - =bpZw + hQIMAz5uSgHG2iMJARAAlnB/JdgrzrEvd2nJ1eM17t6a+SyV8apOpUPR1KuJt8S8 + 2x8Z3rHLMQDbvAmvC6W+SpNeueWxVVxgL9kQ55dzK5ie6HgsfuxnXeh9TWISzHIL + /yyzatpZMrAYnzPKInut3P+gq1IKoPiOoE8sdy4ohf4pA9kI/LyJs4aFop8ZkGt4 + kuzrPCM9zE7Qnd20WztpXjVeJ4+S0NDUd/nqHBRsC/4X7Gso9r1EUVzx/buJmpO8 + 3Ty2s7E1oaraKD9GQb00bxbex3RI/ooixzxTFHjuKsyTNEOCvohAbj1+r2V8qTxF + TNKhLQv4bVjM+ndpt63Z3j++gyUDqkUy4hvFkYW60R5F8XO7usQhQmXGvP+Ia4Ev + yKTQdRM4DAN444LMaeYS/ZrxDWsC9EHyMJ8l71qKhpiuJec42HZM3VPu84T9Y+tz + AIZUSxvig+fSSBxrEgduWYab2m96xzWUHI9FZUE3ctu7sXothT1MCZI/gBFALtQC + yq/eRo/Dhfh+nn4gc7yiXk8NkYqPbdmLi5FxwzlfHcis7hrWPDF/br62Bamm+mis + ixlCx8i2+ClEBSZI8agdSV2aDaQEtDGYc0+qedSntxyiBbbFVcdagrCil3qgqEfa + CuuzaGFzCx+AJtKUhdDV8ox51gZro1rR6MWD2wPbiYUjRJvRovQrIX0zFQtJj7/S + XgGsqgrC3DjlzHN6yib+M7AzBTyX4POPUPtudT7t8JHdOTyv/m8SmStT8IPIZ6Mt + Vnc8SV1ZSIbsU8BMZ17IRdHEj/nCakyWt2AlzA1SIkn1GEhrfxWnMA/oOT6IUVg= + =0/u/ -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-03-05T19:17:55Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1ARAAmHa6ByojaudS2XubpvBniLIQAr9X8nGVc2khnXSsSwqT - yO628AldGtJKUJTK30M4dFhcXoXIl79lXq0F0uQfbsA6krwvrto5dthCjBOxTlhh - m5gAPAnm+5Slxo084vehc4eHui0lQo5mTd7efHimeCqfuWg26dsAzqVpO7PJaJnH - lpiIdZbi5DMkxvCzb8J/fPsLeQcnzvPQ2F9n0ME6hcqSVUK/sPCR6qOazw9a4ikL - bNqeoGa972B4LU/oncExnZw9FT/8vDBpWGbFzIVLowqS1QMuHoeEsFz4XxWxbSwU - u4avODLWZjQdQuamA6d2BC2p6TEhKRn/lXhAuXYKEeOULDpHeEvcBVV1GK+md8ng - 7AoBeDbxjonKKuVlJs7a8XYnufG9vZAkLDceqNoDPb2XB+0P94knHd70wOolS2I9 - WQuBGMpNs3rGhKcaa2jD87FnMgGaGnMFWg+yDFULHJuo/bxVnWqJJ2ZptlBkZkNj - SMD8f5JsdQ0ZA+OWc9FjJdcrHepwWNo94jAA0yF5qAMfddrKeZvV7Ih9iQoigVO4 - IBcc3slA7VVJmGu5UM4niWWQB9inBSbf6Jq2865RDnU5bgQ93T56Op1vxwr/GG0C - I8TfKC5rjMoxowntIz1Miq9Ze0yiA0GZ6DNdMwCyA4yRZjgxhm++PRISq0Q5aZ7S - XgF/i7ki+JgRBKWURRRFN0CeZtotr+sKdKJZkxFuQBqE9W+I19dyCnZlUAWUSrxT - Eh8duZ6kH3BngzjZPf2e5IVoFD3TrU711a/+eP2u7WVujlPgZjMB2pLKTxj2hv4= - =0H5A + hF4DsZXvxFXTXoQSAQdApE92x2ci+ZPnH26ZcWnEYXBHBaJdrXygYxuy+BpH9Xkw + 81C4eIZDws7w5uBtT6nzKNCn+hXUmitLTo/GUQLPEYigeVPkea5kkL5o+6FAhTRm + 0l4BNUphaR2EpUZXateYbs12/fxMztZ+xPi7WyQvfRGiuiEO+vqgmZW2nIxPNcKK + Y2O6nK3kCxpvGQsQxsK1/2TEP8PMS0kG8QP5FBPDr+ajGNrfoBYXo8HyC9Ci39X7 + =xRRu -----END PGP MESSAGE----- - fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-03-05T19:17:55Z" + fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAibUuwW0apshIj8+shH+ssZ1gIpyqmA7XDhrXwhyKSQYw - TREcQ3cqGepihnHvahzlpM6WcyXl9W9oYobkj7EHs9B+cyh71UKrbaIYaY1eBt/n - 0l4BQ0BIA1E8reTWqa7oxNNftvDJoEs6FPKcX8ffIIVyWvP8QfEzfnI0L4pkpG8H - Gke8QmaguPb1YWD4+DriTBTjZqEDb92JlikpJrGnvfustXysVcrTvKGC/exlB7s1 - =C+DJ + hF4DerEtaFuTeewSAQdABpSLbeV1UQgkAawjI+Lw4pqXNV3iioMZXgdZerzGr2Ew + QjB81QSfAeJRC4CAKi464Hk+48Xlxy282aAz3FZXo/iDrk+PBxWmVcQm7x1NuFCR + 0l4BRFYxC8sCUhLg9s9220UPAFVyDTRcn5h5GRsbkVELzded+jdvm2IOSaXfejjF + Jp/Az6ZgA5dOwg+VOsTNthsAGSMdX3jRalZAedKjxOux1l0QNK4hyD4a3mSu3Ovq + =kPDp -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-03-05T19:17:55Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fARAAip+5fZxPOIzJ3Ax1/kaedzDEvUDHgsIQpnJRteg+qE6a - NR3r51rCAJ7M6MOSRdWW4mlcCN6LsqwRqqMPqMUn7KXLi3l9vpeX0s+P/98+dynb - hm2N5topGTgb74kzOwPIJCGb6Gv4HduMtGVaILKJm3mFBbzzxBZmh+c9ONuGY9Dp - wgt4z6lAA5SmcOiU/mqqQktVEV7e4qihbzVlxMhsvzmqH9gRrhVA53EYPlZDl+aY - dKxrg99ktifDErLe5kC6qTVp+hK2kGybxedqH8sg+HuO4YxwTZo+vqfk2QHbZ5vg - YQf1GrIJtwbOpjW8P/ANH+EoDUo3uEEtQIKOUm74yHN1UT21ytlz0VZt9EQOJvhX - 0JRuSXEXlGdkUZuoYLrQLRmQ9x4GNtPtggJuEmOlgpJZN/jKmrC9H82A41cORBTD - h3IbvRziUYRXx3wBUwbrUbJF6yW6AUbo5qbMrgXZAvrW89WE5OIoynAroTW/MJQ1 - /s+0fAfiIE18rcBUhgWK1O+dXxR+T1MWoTqHJAafLn2mYuDpDnG+c3rW+Or+0OcG - J97YmwZRiLOqL0yuXvlr9k+13vNP25CuBAboAYLCu/FaSQIv08pOnqVwW6Ogrpqe - +j4uObs+W4Qa1SyBcyMjqnrNqCpSHLPsP6fXZqxoOhdJYeb9yEjxLdN413CB6dXS - XgGILvUAmdyKdVjFHS3c0tfai0oq4wZjIafJfKtN5CvgrCbAegE7ceRpaYuoAy25 - 0TX3EXFGVyzHTS3b3ucECDubpZ5bPOXZFuy4C/oozTxxUq3gmXEbPTkqZKTo8YU= - =Pmku + hQIMAxjNhCKPP69fAQ/+NqzqFTxDnD8YbLE+HJRTegxzRB45yi+fHr9f7iILBCd8 + PYFpqQjx4x2vnEoIPrY58fjs8lnkCDECUwBHhC2T7ty+DX16ilqJ0jzZRRHiYFBa + CxYxhtVBtTuH439K+zpJa2CjouTICKbNDh4zpr46bBBov7fz29pufR8PoT/TFYZJ + 9CiekPdGMicYYfkMvssgQOVydILRk8D4kBNBY12WG5wIuiDLI1yWLwxQwTp0dlEg + oKDCInpCAkfUjCd4nuIxjhFHksM2NqsOeBLXCwnERsBf6WyZIx9TBJiXnO/vpYww + 50UBT6dP8qTGoOX4zuO6IscM/6a8XDcejNyNKC9tAjaKA99LrllLfOQuTdzSFGJ7 + 5RYkAZO5AhFNtR5Xw/7PiLK6+FTv77QMI3srg/AaQDY7ydPyMkoydhT+EZe3xCZP + zOqR7gspSm+sb9JW3HNvDk1YQCqJj5wXs6ATkGhooxSDgpUwoeIxc6Yewa0aVWuN + kxO3foPU46wTEAjZ6zOcWeznWJC6prFbix3ZS7zADEtgKT9/GS3PrABtnrSDoVjh + TU6m0QOV6kj+tv6R2Smx1GZCDhK1Q2Yp4KC6x5h7swLUOqFIBTDhcq7MlYryuNOa + FlKmCl4UizZuw2t8Nml9XjumUzJQHWtytat/VJhtdDThX61oPXWIS8HEVCjclGvS + XgGrYfKsxX65S7YeMb0sPCOoeElbJWWF55KTHT7m6Q/loNtIWHfsDc7TafkiBXRF + 2XSWUfeGk7hkvVT1X9nluEJqFidGd/c9E2pjNHtpcvGfXewSRfWdPeSWLLb9czw= + =EV5/ -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-03-05T19:17:55Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ/9EeR0Zt5h9JQpPPhCLLmFER992ao010Yc8+p+0TGt+lKs - lb03YsSKoPAAEjLOjzGOj2MklIWIp3h9xTPh4fQpWqSvgmgeVXxVUmwdbkONNGwU - h3VK78Z2lik+N52NXUXOewt7xvBWO97Oa5mQuXFKI2pUbYCCENiKs6RoRGPmur9E - MAYQaVbVc83F4LLaioZgRNg9gU9q+ds7KT83e288WHvqWVdHlouzk7jdNW0VAdtc - Yrig91Z+mKtIUfpabWwzwVkes5Mh/PDFSnAJRo9qBVg/ygoUwwjMn76vhnhPAwvR - VS1O47TPGs7GTXwLAVKlfupuRXhbb8pHm+Yc12diqf6POlGtGg+EN7uBBU/WZTIM - cJVwHk+QW1K4v08NP6fc5te1+muCNeIGpq1IdCuJFZ69YIxI35HFd3CKR6+v8eQ8 - ODzEUlH/wxVLRulBfICYoA1mh5WtJXEdHf2KU8j8OsiEgwdsN0Ho1/KcaO3mzCA6 - Wgo105qyWiqNgkO+0MKjs1V0qY58w6RkxJDkpn8+05COyVTkIcHU9mb1GrANqOJn - B0dTyv4EZOS/tt4isLSQW0p0AWhGXd1mkwnU/XkSG15QP+zzRHJ325eQjfbMQYcI - mbv2FzmCt2sB5UkxJZrDg6jfJ9aTz5WenKp5Q36bvilSkBxHw0NVdIfA6tRvA5nS - XgGUsRBX8NCRcEFro54G4BZaV6LvnR0fkG/fSxhx+ZWN+taqQJ6Wqh8IQne1c9lB - sup5kGBsDFw+nfYpJfXwqAyH+BMVF5BIE1bJTY8SuDy6nUMHiMsRU3i/gy1m1tM= - =e+Lx + hQIMA1Hthzn+T1OoAQ//VwGApUPWxvvg18hjIbeE/Ck6lStgOYApZAZdAEhwX1Bm + VBA2AT7XBUpFmLxg1Yeb1f/4CE32mRyF5DV/PSEtb/+GOmJ550OYSYVEWaYoEiQm + GCw+gXpEny3MF4rNINoaYyKCbi1mvMV6e1+coLqwKIYYk+C3XqFTWJ/WwfRBQghX + jSWcnjnG8bdnjUvgrBq7ukmNDxt/l1kwtVq5YSuKgKtt7txgUuFojFpvqI2eiY5e + lHDVZo1zGw4wPbDNcSq+UKIyVPnd73jXADIk2958OIFh/4YL8WOO/Zl/nQ/27Rm5 + nD4ZMrNkFBp5trmX/f3VSdn4rZJ7pwrtvSG78rCGav/RZ+4zP44/m4J6IcVpJxxm + PmbqKWs3HHRpcuuyvkl8eG2ZSQnP2RuFEMuG5ZxYdCHDGFcEJBiBXILvHWAHqOJe + aMVwb/+5PgFMbgVetIY21KQcmKtrBiXpoSTNIFosVQQK3nk/TV+lMDs4Tgc5gGug + kFMtGdo0/dKuMdkxHeWNQJRjYNGeKMFsJfcEFwocOVN8sh4RbX7Y4wuq+JDDM14i + da2Wu0bsKhTB9K1CLhU9rToZi+Wm/5LNfSeqbxqg+6GLKrJc8Jfv/VJsXvDKRqnn + yNgxI5LSc9TDN2HTAE5aalZU6waJ6/z5u1wm2C8SVXT/z+dWhNkWUwOUmm7oHkrS + XgGpv6eBUQszd3D9/UFpzNUi9H4vnSzgUi+GlyXx1EnF1jKAh0kudOBPyI7qxa9P + Dgx0blYuFVTQ7WTGCoIc1sfeR0b7fQ8ejfrRDbxuzAgcZaorVmeYbb47jDF2FSQ= + =jazE -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-03-05T19:17:55Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ/6As+x86v//xrZOy+goiqIXYr0zDgsFDW+NmykE8RVHrgX - QBOCMqaB3rzH/BjcAh7KQ/of3ldPH9I2KJpalAu0eAA4EY4utLfwbL6p4X8+bCFP - zOsWrQ/EJ7ZWPo3Hd3mXzWQEwUFQ+3iFQYd5uMI5n2h8dNx1H7ecp3ArgvH8/kC2 - uqoeuI1hhQsOcsRKX3UAmhAYrVVEmt0R0IkzCesMCUrs5QSzAh/JEUd0BxvGxZUk - /6vbD67p0hj4Iw54MICAhAqKGCyeNKlgFNaAxiErBZi/aZUh9xQpHayS9EwHj7TP - WDGA5Qx18cD8vjb94f06yd9bsaqVUBTlD2xNlv57ZTHDN8T7X8auC1ornfp6z//n - jh9mf+eT/yMF7cp2oA/xKkyIQA9fSZiLRrjDc8VmWA4xqyvjqTZwhdCkBLi++Oqp - Zb1/ZxIXLiOHHMRVCDmzZi83Om3DhobDj9qBGJmhWOYdO22SZEn4uZPW58cazkSO - ZXywcM7+NVL7A6jw8nAwCZBoOAFd4eykarfoX70S3LqiCvCP4hJU1ckpa4NAPpOY - WHAWxEwcC0JEhtB+mLb/HOYjjo3iCFUvltHUc23nmTV0euWsugY2BX6KSp82xDzt - j86+f/gyxWwbgqP/RrjmKl3LJY9JPD586ItaDWoQ1MdpA2cFFZcXCwM3SnTZXIrS - XgGW7gQ4XdQNDrD2fixeWF1CI6WasXvEEjT3wN/uJqvFBIQk16NOGoDJXx5FXun6 - 3EJOSWx6bKJalOsGlUxwsWWj/TSigrDmN/m3c7tU4F1cYMydLD475TivXRC0JFk= - =l7qO + hQIMA46L6MuPqfJqAQ/+MV+6xtfvjAKH9+yDTXBpoHP+h5FOjkLz8haCu9hOpx/A + JXACI3djHLX6xYEqL7HdnvSf/BBxr0jiYCFQSHrAb495KphrGiOw+ktRybc0s/1o + r/XB/4Wb99qRHcwG6UgmYJP7A6dR7MbseTCjaEqKWoDoJZa90b3ltk55+zmxy0vF + 2iUIg3ISUWpIs07lL2Lcnyy8d8MawofMvkXOPmisYkGzbvfwjashy05K2zZg7BPP + 4vooywS35e2zkAP95fKxu5GOWyrsWGgfVt8Yol4xXUj5x2gAn3xIHqtSIAPOvDee + ShaDLiU6S827F+7yRjmXaoaZZwWZiMQ1GlkchN0uW/cUjfepXi9F8IgbUyKC0qdy + cFnPN+7uawG/tVeH8R6R5iNAjgCxhPqhMcQE3CPaf//bvjy2jnqSJ5KjETwJ65sq + HBempbBuAuoCvK6jHZEB3FUuDvCwYzTbuByoudDVW0KFIhwTt6y2S5ffkoGm883y + EgYwO5VKVJNEbIjUuIkudtuXLH9YcB3xeiow3ZDrC7mtL/6I4V2hDEcu66N9/FkI + aiKJ7GMRaLFzVXkb/EkCg0whQrUGhw1NLgcI+dH2lXE0aRFIu5meXbmGyaZVeivS + aq8YueQE5bJDnbS4a/YGcXS9Iwy75VVRj9S8tQDjAERtnvgYvmGkb4sc7ScwKYXS + XgF3cTadkLGQKvxMxe3fI0tNU/I/eHUBEkiv2H4kkqcOcyje4aOtuYrvTZh/NYHV + NBVcJwai1hSUO7Z2qbrTdzjZ9H7iE1J6bm1c84qc4wRSY5XLZphZjxYMRAV/HKY= + =qOXl -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-03-05T19:17:55Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAkj/S9Gz+vvm0b4wJ4H5hdUcQ+irrAo7LnMfo5t9QIlow - B3S7mcJdkMh1SbJjzabvO9Xyae4s1ie++jXd0pJMjj67DKx4+XpA2iKRjuLXFe5L - 0l4BUM38QjGxwO+obenkDNSkiwOhbE5lmn+vVpmhwIRyC2bLDhO9ATvKh8uWbFmQ - 8Hhd7N01cLSvDMkcSPkGXtK5RLnTfLrsyfM2HVxbHEPgVTBG0If1Fr2ORFylWAA1 - =X7S9 + hF4DQrf1tCqiJxoSAQdADv7yfe7OiGLx4NCkKjM5UtNiQ8ZIqtHUOrXSQsMnoTUw + BIgS83FCFe7YvUpAfPLEEfznQ0tOFwD9NzD/aRi4mkV6NNeownMtfkCXXtSqpP7l + 0l4B7BiXIw+UkKVHCIRFywVbUOK2Pil+xgncP8FccZhKl2CNn7aADeFyynlD24k9 + cJPU6988gptQjFocPCAJI0oLRcx/tlJpKeq38oOcNBS5/9QHmGDjnW6+kw5h/BQh + =9b3R -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-03-05T19:17:55Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdApvhZlinh8EvpYbJ3hLr4kN7mOaoHir89xv4A98Ooym4w - xJLJgJiqTxHKajK1aKA3gkoAVlWkhweemiFkvGzZ6Z0lmjqzaDCm7T8aZMHOOSXg - 0lgBL6sZCa53r20aqsiPvz0M7qjO+SMyssFSZRo4yE7Iz5UWhiw7yrGk78l6KgXr - rlI/bvyOe8TxlSwIjw0ib5J8PtMvFY3pRgn3UTzYssdgb8hfhYJJdrO0 - =tsnc + hF4DzAGzViGx4qcSAQdAezfrCaDhtnqbyf649WVX5HYxnJNwq9hq2Mgc84oNBSkw + w38xwA17/RM0bVGZ0n+5MIHnRenNrobJUVVMqiY2vg548YwIM94NFrGVZOCCUu8y + 0lgB1GBII3PCtyEQ3m5MPWLvzl9ZwEWbRYV5PrdaYykl4+dPQ+gjlphrnFRAieHT + Cmu9pFL2mpNkm0FSaAkIK8cVZtiBr+LiZwulD5W2vrBfAiChxEWjMAYd + =zvRN -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-03-05T19:17:55Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//bUKb8kI4PYIriL/sQ/MdR+O0rbTvT1IMqjJtQkXXpjkX - 6+BXYST5LRwcOpQHWYEQ3vWLZYA4ooEv3KCxMYZbpHnRPV93MCXXCzU1oNa+IMEo - r1scU0aykM0dZ38vuTyDxioRrRn9KMs2fO53p4Z2hF1+DwYeMgOwW6r+Cyy7pDiD - 85Sk7tm3NHCx12leH1Xx44bq1x+hRHK5QKfcisEJPVQyCtZGNzL+/VUuDTysqmG5 - Ftin+d8Ox98jTTr3gjGwoPa1I1MxLvWncUn85sN6Vx2eDAI/4gxzKEmDe6UrvyFp - WrtYDsp79E7gTEnFDJ0tlpLPezFqQ5LpQc2iyAgUmy9BKld+8WwY5Nz2wv3YqqGz - inQng1D2kLDbAEQIdRQ5mub/XBvlVj3LOZ5wo6Ic5z4+3IJXSGpoB9uaHHhTfOju - Ru8CvQG/thtEz0jeVpIIJ1of6FVamv66YzTXBtklO8iKo5inqfNJgjqFOPhH86mq - dgaIUeC18PJ6GQBQl3sNF1jGPgfJh0l3O4DyUqRZTWVR5k3AoJezMllxXAfswGGi - O3abk96Kodyzqbfl4pJzFdliiV6WXE62o4n+NhRkzQOrRXXr4T+L0CbnFWhcZMvx - 4NYoc40EDVoBw+lakJVCOARSHVn9ieXu4olyXkFHdppA2LhYCxUT88JhWmEOHX3S - XgE06tCnf4oMYDCZURawNDD1GUEOBqaw/a8vDXU7RX2jLlOb306jQ7+//1thCd47 - 8Jwr2ya9YAL5zWArzJAFt8VJ9Zl9clOg6i7YgNdLjg+qrpxTNI5LP5iSpqz4w9s= - =eXXL + hQIMA2pVdGTIrZI+AQ//T9h0xgfOtckiaMIWE16ipfoXDxyxLNeKHtv9Pe9UUzYY + KQWHStvqXciq4ZTUAMfsKMpTTurm7oGilfhC6UtMaDTC8281c4hgpaOyFzSjA6VV + AF44Vw5LPxTuTHrNEYVyZrb1dR3dF+yNQcLfIbMohl9eU/xstzcMCHkCV/ql9QQn + ItZFDivoLSii1oKS6wkL5F0cHz8j4PISs4tblnikIF0gm94nBscNvIBy050NKDFj + JKAZYWPHwhXQyZxGRAadCkXxt9ml/ERUwjPwzxLPpSnQL+3V1vPE8QIzhu3j2zbQ + itIB3HtOe2AuOn/xzZtH22TUMU6jPlpN6cerkQ/jQWduSEXWauYJ6hNZTJekk2LA + rEcLeY4dOSt6xkYMK29sjtfTR6GK/KeuIvyYir3lJ+SXhZuppo2ei7HzR4UK0QLP + I43zNCtiq2lLQp27ZsHJccAOtcgzx6Gx8+7bUkR/Z1660ndzWsDODrLrKhGpFIZU + C2j566crNW4dkrqauj/IVzutIEf+Ni9ED5lDKbtGNjZ9mOcWlmy9QPh5KbnKchDv + DLP9FWA8+K5krn3+iW9Am4zaNZgb/D10aKktaYbsIFbBLLZuGKgd6vNQrm2LpHqx + b0DNwl59pxF5iHcfArr+Z9sNehmalKqRuZVXl9sPmsjnwGkm6kqGcU81pFaezLnS + XgGHhXHOEb7rCmlmQGHFIcfaEjMVtuaCXBjg7CcPuNRS2bXHuBLWJFp7+ynYWeYp + dEE78w/1Mj93Aeza9EYLDSC7lYF4k0tJySMpHtO0NZpgAshWmfd9J0DhJRj4GE8= + =Tt+o -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-03-05T19:17:55Z" + - created_at: "2026-04-18T22:36:22Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAxM13mekK6g83iE8BaRPbhR6O01hG4OhrX7mWbddXoTsw - WeaGWWNytVne/YWjgHgIp63NNhcALPIhHfTYNTcGjFbc5bn8BjRCeOaeKqiiJPyO - 0l4B9WuNbL5mTExufrB1B0Gdp6tqoRnRjTU70ptxphbMlLNI8B1SAmtFuHH3e1Es - OOz4HKhsZfCkYzXJKceiocHDDJJbIKKwnr1q7RoGCnSMYqMRHiozOChfeMzKBTFw - =LsZt + hF4DKKbvh61jX5USAQdA7pY3iz4CulRelfWe+TFiE84xkwaMmF/N+6Ed3zAaYQkw + U/3wmOEj86s5NhJd8lrskV4nvhuEbyl6fNTtCu6PdptIK9Pn3UZp3kGfzuPBvRDI + 0l4B3B0B/4G92SbuX/MSaWYvCDubgfHldOTg683itQO0A89D581v4p4tgi3qEucP + ecUHEEvCh5uDAhBMO5SSnO6Fp9X6MN1W45aBajQzTZc9hMSAlmBlYVt9FGnkOyVW + =xbZw -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/tickets.sops.yaml b/inventories/chaosknoten/host_vars/tickets.sops.yaml index 68d3b7ba0a..e6e78aa83f 100644 --- a/inventories/chaosknoten/host_vars/tickets.sops.yaml +++ b/inventories/chaosknoten/host_vars/tickets.sops.yaml @@ -5,212 +5,203 @@ sops: - recipient: age16znyzvquuy8467gg27mdwdt8k6kcu3fjrvfm6gnl4nmqp8tuvqaspqgcet enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBhTDNiK245eUtxNUdON3gw - bTJvcDR4cW1CRnZGU2VBOXEwZi9UMnpPMVJjCkxLQ0R6TFg3aDZuSEcwM1lIU2xD - OFZIWlk3eEo4eEtJY2VKYlBhK3RIRUUKLS0tIDIwTjVZWGxjb2g3eS80VmIzWjBF - VmdZRlU2elZIdHpnczFqbDJwV05iYWsKkeOPi2vwG0f23t6GRnOnwdBSy3oaRSBb - gg3K4F+4P+zSKaZPP/ruDQncTI8fLkwZZb2l2LrmL1y5vJaZl4Nuew== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAvQyt2TzluQVUzTVhZc3pV + ekNpanZKUDBORTd6VU8rekFnV1JBUlJZcVRZCk5BeU1HUk5lVUJocys3T3dwaTkv + a2RMUHNDckxwZm9EekduM2hKN0kvR28KLS0tIGNhMCs5ODZrRkp2aXZkZ0hnWU95 + YjQwN2lrZ0llbHZyU096bXFtNzlyM0UKTz5qDW10XMpJO3xGhYZ9lpL6fN4x+zB+ + IvHWGA0gHij1qxzz6wgMC0OchHKCTRkLodoS6FN78J7iSdH+isVZlA== -----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: "2026-03-05T19:18:07Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/+IxL14SHs2gC1CK1+kS0qPqU8DYvni8bXX7y/wJgj14/Y - /Ethu4i4f7qOHkzojH+rZj++K+Qw1XKTCmuWEP4oRQmIr+p1n6WH9FEdYHZjYqOw - pAA7bqJ/GsnXk0jnYgM+gonteNPpDTH1qe+CZs/ibc+cGHxDKYbkYeI/RrPIdR1g - MjS8wTH+9p0dSWkcAarAQg3WDOCKLzwt4rdhd0gh/qBUprsRZw9RzqZgDpqcTBX0 - kpUxyov1G4/rNWnPRkKIpfOSgIAKpHkzYTrhSUbJv1LbsXO90GSdFyoGnHTd8LZS - dZDxwezAtXtsxRXPy1xmsgJeluFsIdg8xq/fNzTv3wrnsLW2b9P1zY9mfVXSO3pz - veGLsuv7+42wxuiW8y0GsRastSm0FgVeEY6T+gMSQcoPBS0CkMPfb29yIKR3EN1w - 5zAcSb0Ec72g2NlnWz29/FioNJ5dEBOD398u8ICM+aJuFIRfTGMBcsCEOSEemKsB - tnjEEHYF7TUbiXycpPV+T+HvJ2w5OLG+yGbfLYSeq9EVXh4Z9yuE3RCUSPTDFczx - MGS8xCpuOV6/46LQrY8SFDUtDLww3D2S+6hN6MjCbDzGJertQNIQZcHvyPokzB0N - QeY/EZZO/O+rDX8TtIZ5zTdunQdzHPRdu4rkq6mYANf4FmBZbqN61+XwBBGNxP7S - XgEnMN5YKQhCcVoctxK4+M4mgmdaTZ7MnTzY4MgEmwMnwWYQ5bH2YNVJMjTFfHPL - pxacLapNmYJNdPPBF3k0dZgVjY7qKDjbCV4JPKllXJ7e/5Ldq7ayMdCXHmOk03I= - =Ah7Z + hQIMAxK/JaB2/SdtAQ/9GZVmcxiTH6n/kIPAFkWAgNLICd6jTyuTmLgkg5fBzknr + xG9PINEPmQCo6yaNf/EJYooPh+9YpnMhl0xcvSEbEIOU3zRL7KN4fCgtmE3EO9Yx + CvXvO/IhwklDseQX+yjxa+smueRaEJlbiCU4w+Iakd5dFd3rIC/jAkpSGE5y9oJO + f/C1SxbpgVzyedZ3KcBP6UNHy46IO4IWTtmW4IWqQJkYxGrjiCIK6JrMQf11Zc/o + kpvq1T28AjYw+VMJ/Wa8qOJZi7OwISYYCfCeZi0sDDs5fQ6iat4UZAzdYW08/loA + yT+TfxI/FN1rbt8KMjhkWtctE6Xsw1eu7zhGIpd/+QSQDaanpBNNQylOF6gVTBHl + iSgiDFFXfgItJAZv5CYJ3FKvwBv71//x5rceS+wLL8QdzMuhDGBT5QS5p36HH2kh + uJUlRwqpuGQ7wPf00r47Z3HWZxunl2CEfRoJBO3KixTJoHPwHAxEFwxRoRhRJmMx + D2ImxNs2C7oT/Z6uLZhXrVZsngullkNcxHGtukvjP9UIM26PdFtc+Xtqc/ThJYQV + y0wnaulJZIU/nkRcqj3Pjn8wCqqlIG2E16vkbpWHkGNTJmoJxkUwCYutq5WLxqtw + yt8kUxY/h+Kzba18yQj3Yngf/dZvKr+M/WvttqS3CeEEFg8OdNp7nvRyCjL5rqXS + XgEWChLkhLtAWzsTZIZmJPOS6hyxO3MlS6ibf10vQxqCY9jgip7C4brmTr7pVKKu + 35dXBaz2ZDwA3hzyw24/a974TXbCh16jYWCu8craKXaOh60+cQ4V4a6wzdvuWpo= + =Dms+ -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-03-05T19:18:07Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf/c/j/YtxkfJoGeWLNJVUCgwZRfkRUssmE2HiUWhmrQw4J - 3vN8InSjh6uV+rYjfxGwMbJcA38t8KuUowFBetpyT4ceWFhxPpaHrNE3qpZZLv8e - hU7Qjtnkbqu/nA4TvCLmpuCsCMWuU4IVBjwYR3n8QRNc7G6obTEvAeBNXBctr+K6 - 0tA4K23lTm8tNYi7UnDCUr4bamDX2z2ebSWPEfl++YmsKC/0/npqhkVfeOwZk/T0 - rox6J4EnsWYeAKkbhC7AgZSvgaJ9UzfZebMS2+1iNZqFHUKcNKMHhR2Z4Yf8ARYr - tHN+s6Bchj22gHVlD9UzCLvzd6N0b0hmv/HFbDtkldJeAe3Ya083Haj2/HFNKUS0 - kiOyLmjX8I7J3isoLQzgFV/OLG5IuW9pi3SO5GwROfMxeo7K8cuXEYzqktatQKmB - RE1XMDUJ3x65u2S69rP3TOQhavmX+fOT2UbhpbOqfw== - =Re0I + hQEMA1QflAioE8i3AQgApgJwtox8A4KIpN1SxZlLwjxYHIP1amEtRPLgtA6pH6Nk + fJMn7Y2EwS5mR6QoYroEzqIzSJ0ekHYjk9Pc6UUYc1hfobhARvrrjatMSJy5zbO2 + LGNWPJJTC1EVXn4DfMSwcJXpg0iYmUWjVuS61jhlHXdSOynbOe6a0Um68j0Z3sLP + oWPLW7zxHAy/gYFHE4Cyw1p0SWGFVGfd6YXhl2IwIqTw+iNxDbAQbhBsUjcXBNHS + uSRsRWkl9HCuMRKJi2LQKC3i05nugSF/F+8n6aBF91khN0tZix9pINMo01HvzNna + XWyvGlABrioglTh2h5ikzMjEUYIxbf13yHllCDcOj9JeARDO4JA7hOTv4+MJreqv + ix7QpisTodqlBS8orHGdK9zlXibOKi2GvV/GbcsS8lngdwEH7imb0Zf33EtPuUAr + otYogUZDxwwdVKlDxINKgIiVsTM5oRV/+yPhvHSXBA== + =YnRb -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-03-05T19:18:07Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAAxlEH/zxQ/X91szuBKatHHJ40nNnpr94sywlXCrGWFqf6 - XfhZUEoFsLVwxhRuU3MWh8rsAztp6ZkTKlr9pX+YxL6HvCleVwmiR0azLUfKK7ui - q5V52ba34aP3sNlgUbX3lj330c5JHOiW1BVKhex3ABFN+JWZTfd3bYF8nI4OT+He - QLf50cWTrj8DQ0ShAesJemB+2qifsebRsTLSGrIzxJKuHM6NxLgLUAFLxa+ss/or - hxgvEzy5tZDcIlwIXE4y+X7hggpt+ynuppma59EkOpd2CIhloRG7us3FDjxRb8qm - 8Nry7NlYWH8XiDBOgFT2jMcbffnv5mOYhpAMx3Czlpk43DxUeT12IcvNteLyiNBB - JEk2SiEJk3utnZpQXq8yv+VM5DHi2eKv69rZ+IJ/wGYK24VrjYsls00zWbxyrPYG - H2T5d/np4rS7HkMpcbi1Zo4LsJQXfFbMPwStq65eMviuMA24U3yFxe24eqNFerR5 - gNz0ZNbPRCuOkA5OEAlf5WPWGaD41SSxuqhBSS5he1XpZPzre6+Nb+Dj9NACIt2A - s5W6mnpGxw4slvVyItJLmpoV2Q3/HKuMu5nfoudc3x/UMsERZ2NMsnVDsFJPrSrB - 6wW3/I3Ju6fQPlcak4mlXxDQiHwy8+VXWLkQPlAVhfPxhQZfphvqLt3TEaIrQQTS - XgE7ufSuYlstglTEx0saWey1t5NRQJ66lLW7cFAiJoK2e357gcZBc0LTkaMX3sYZ - dngg04ftqMFaqTstrsJkkfKpUM2KbMwBre2obKaB6+e4OE+cV45NbSsi/JjNHTE= - =L0XZ + hQIMAz5uSgHG2iMJAQ//T0KSYKk/Z/G5JYzJfU4FnZI6/A58EOD4b81i63O2d5DY + kdakypbYVLuZbPQVA5/2h2LX1fAk/p9FJSQsE3yz5tgfk/9ilQ300SwOCXAEiYms + 2fi+AhcIXo57VOY63FZEW69KJ+xQ6YUXKTb0S151ADK0xNbAZOtqbeBbbFZAUyXi + cw/0pDWFjataJbPVMsVsuE2gjcFGnGBGeC7kTiU6Ic6Ov1abSs0KsgpucmnKfEnB + MJjaW90pDDIuH7vNgPBQ6QMLnbVQHX4xFmyzr3iLUgjuMznBrZ8Ya+zCKW6nGlTq + 0chSrjSJiA/FhhedP5Rpjy0bXXLb0TKhMsy+3lLE44H7gHDMb3zDhi8jIaiUUbNu + nZvK59d0Bb9+6ivfqK9N3hkKAhjtEkn08pQOdPOixJRmtR1MriqKFL8KhJIX+yku + ZhtddY7km1OgjznN9+WXUTU1ahcYgXFpvWS7ERGmp/+kdY3+PymsuBp4UkXlaUFm + aPdQ5HLOIELSQ0kTqa+Y0t0N0uZ8oX4CiyM1VUj7KgZPyxCEkdRY9ou4gxlOL7zp + x4YKKfuXL4iU51Wla1Gi0FlJmEwdCEk05uohJloJEpjAKcnQ7UfVco6vQFCHJzhj + EfrSdPbpkTMaWAOXn/MGQLD54gzqUgOZegUjekX5YQAiGc2cvzMWeR4Egj5tAPbS + XgFNG/oycxZbVtHQ/bB7/UDYIBOjT/czhzuhEe1FLMuoFoFgxikDY5aGqXyEXvkJ + NCnvaZ743vfn9ymGcy1Arhlm82yzdO5ZwG8EbtdCQQPtTnPOA7FpF3WYs2F1Dx4= + =p6UV -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-03-05T19:18:07Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ//XlCD2lGU/nIgsfYWro8LYrpaLbHCLJaQCBUvrBvUKM2Y - ftTowFeeBpnAesrF9haM26Qz8IjBGNhlG/6N7g79WclHeYFW3as1pJag25De6m0b - bGz6USmSBlXgPcxMU3T0SzH6P13TnGO5GOGu37+o9K7xRgps5FUi0ojB5mc88WPj - lCxAeQHIsELssM7AFalbnQdUyW4t/MchIXqnME1aR6YqX2fe/K/rNm8YgPykifz6 - NbbEPtR1uTrQL5kk9caTB+jMPsuya8DOvc2K+rMK3+3SZuPS74oGKWQL7e/amz9e - qWC1iZMru1ah7bRUNfJH+nV/Lv7i4jhwAMU0m2nFkQxuEwyCW2WtVmCuwIFnjnlK - a8WQyTVivF3HpiJp9TG6BJQHaJmSjUYXTwcl1aDIWWkPe2kceM9wvX2kFic3GHLx - RoPbOfCGMcHa2q6b6EzuFFgTz1Zx2HXfojhKcbqJEx9GNh0KFyLK7r60rgobzbQY - O9vCpdiF2Ipo5fxgUUgoqI63HfiGMyMDEXg+/lZNXO8SqzS9gGH426zu7wmvL+8V - L7Q1WA7zyROfU8I6GmnWz4fZ8+v7Ct1Fte51nVlo89TK86oI+Sphf/KU7yh1zbLW - tqae37uYmFXUWuQNxX34VoxgbeoCUADIdFUivwi01Rk9iAxRzms/JzpOHPeAePDS - XgElJ1ioy9T++zsB6Jv4OWaY3jyUkYli1KlaZClgvDZC2g57fEuHxTRDAzkUEA6N - //VSTqqf1OrRF44q4nxv9j1ccsbXZDkC7LrDRZ/MWforvlM7OAT16cY/y9O+nkU= - =GDpY + hF4DsZXvxFXTXoQSAQdAHIP/6vpjtzDmDnjKKLcE9opKMlTaAlNybqux2bODxCsw + AzjUYLxrbM149jFXUqs1VLBP85oGSrTpuJVMD7fQtWBaVJDbZeycvDJ2/4BH9v7i + 0l4BEnxgGPY9A/CwggQrV1/qxz+ay1nEqU2sOtq8y29/doet7KY16QyqibkEZrti + A9yfkBQMcsWDJ7Ltz1jj0OAOZwYxVyMST2wE3XQI7At9GFs+zm/raSImeLUOLpEV + =KrZL -----END PGP MESSAGE----- - fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-03-05T19:18:07Z" + fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAJ20hL0QQk2NvOPw5lpLllovwlscdj5V/JLWuHPYo3mkw - OKMuPb08PKjDHEc2shIK8lwox5TZ75orhuvDEaHNGxPzoeXGbZis/LBcxojQJuwK - 0l4BcwqeC9bJOKj03kTAbsFWbs4VMVqlf9rKEOUSdPzgd8s+C7/WVrsPekqrWwOG - bv9bSgLSyl2uB+JTxurmUYbMgRSXDTfSK1V2qZfu16f6rpyrgYpmB3C5xVnuDAyj - =hw60 + hF4DerEtaFuTeewSAQdAk+q1OIgfx/th3+WCBkN0s9VAFXF5Lud5EG+gm+dCcDEw + WrETfBuMcnt7+GZlsX4uXjyz61a4WWLQDMInM3qOOKjW3TUcdZNqN8m71++3lgPi + 0l4BQFjE5Za3hA0ioJmEgvSBsZL51kULDDaEuRDHjnHkEetsCmBUXmfRL2RfnYph + AwZlnHkB8fT6Tm0PmAYrN3by3pWmJ41XUov5Y5/GWjeFzK0zc8mHj7XFZav/sr/U + =QmVL -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-03-05T19:18:07Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//bQ92j4VAlcP/Ihz+SvrzLMGSGQzagU0aMdTWHimY5uh3 - TSxK7NRyDkr/F4mDO37n5NeWPsFqdP2au/nEcAKaval79D/wSWXyLpIrKd2NC4D5 - D1odfOZluC6RL/PbQiyqEtIMlBAh8jE0EME514kRg6ToJJsMkOz36zhtfuFpMOFJ - MGEwJI4Gu5QhxXgul0yphyGgYP0SBFILLGONddKBdMmHWB4ArbjDdzMAEfhlr20l - VopYdLMVpBTs6E8VXKVCKMc1Ps6Ej17JTO4tNict09xmubW4AxstiNDGl93kzire - NPhUEfi+3yamyXdjYtOvGjQP25dS3MszU+RjTApvF9Lpg6KAYwOOcG+eJ8JIFzkZ - XhNbkj2UAdj069Z/KxopRgLKfTv3dnT2mhkXfpYX/wx1SPYaJb8HP+NU9UYGoA1Z - 3dJWsBSWmLJTnE+d8SE/ek5twFqx34mbEwv/J2jQWQDIec/g1Zqr+ptWaDa4Jfba - 7qFE1BFgp5def/1JnZV8q+lqJWFkJyodwXLbtUjNytNKyWlTtNecOzwLaecRvhcp - b2aM5m1prh1SrlNbq/0l4WYqaH6DQVH8jjOxvyGPMKDptGNLwUUVr18yn9T12ur7 - 3xriffRfYVTImUOwpZW2Z97Y5KxtOzZtyeqMjqpk7X8JLaH6ijoquBM3rpDjRgfS - XgElLlt7niRGXwVChb4uzL4o8aW4sYhcJmSn5sDkLxpxSrjFp0fpujPDQ43Sgqbn - L+upR/BOl9W00+RFs6KL54BdK0/s7b2ISR/tx4gpsj8LVUyS+eX4nsMB4DP5dZc= - =YyrD + hQIMAxjNhCKPP69fAQ//YlzFeAsesfqo7+moopEFD2aWhhah6/Qg1mfZmADAm/pR + pUFd9El8IggvJqrySzbdF7Vruk+7ELcOvtHCghXhJAScRbb/POZKQARz8tlce7xV + y+oqAyPbcRFAcjWwDIW4O90HINHz2sX7Ht7a4YOtLNFZvHarUZqkVRmr8hbiYeL5 + fZyhjcM9kj/wKF8pB0TDa62wguGAe/sVAhQ6+5i5Xd+8KJxchmHJ3150LLFedgCc + juqG/8y/+7e2lB7c2xeqfK/j8hJPTFjGlr5of54wsYNstW+jwNIxXkisnj/RLwTX + iS51K9bggs7ilyqS1agSUljvgfYt/tlBFiEcM897JIBYBwf5RN+DhZmxvkihUuOO + iYR2FfCSqLzPztvatWQnZVo3B/Jpt/gcEwgUBw0Tlho4YKC7An2amubiSvc+r8wN + eMeT6/mNr3QgwNeMt1ZBXk+fJAkt8Z7G7uAgY1MfBmgpAxr5zeeEZLco9nWTmUS5 + BjP44dMOKROsuFYqst1aTKF8RiJ7mtICLMTYlKDV0MtAmOOV2OnKvx9XQvse2Mdx + fnHw8aGHv67cNG2GwqMbATA7wr1qtFP1mGyM5rNIywQf+5mu5xjs/GGMJx3NF9Cs + 2jkvtr7z/gEoAt+Ec1mJAShxJpiq1KwCdMiYMyRe13JSyzCIESQtuZWR06wiGnPS + XgF99cStMc3Dx7AE6LeTwp46sm5Rqbod/ehSerWcM2GJ5jS4OEu1+DNAdis/qmSB + pFFAiY8jZU6UlEIuBCG6ernP/ktIpsA1hk+Ftww2q4hSDPV9FRWTSMRmuuQUuCc= + =rjgM -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-03-05T19:18:07Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//S7fBx4MQNBxuc5QDrorOvEfM1MHEeCO64CqOU3ORild/ - Wb6zShPrHeAZRYIh2IJpEVxCGQH01LGN/d3wSi0frvOMt+wbY0GTx8iKXufdQXUX - 9IZ1EXDObe+KNB/nE75gdKSu3sDNC9GB8hiJbcNj85UD+ET7ir0bXbsYB8nR/imO - EUp9eovrDlKw8vQ1sju7GYPAuAhRcac/BrkryZWvYJFdQYMEXtClPDM4UEwzgubY - 2zRBjoBWRcN64yAjgMPzk5jdVQBzZcFex0if0d89axG08zQAYRSPfeQDpWSxSh15 - PEONhWmWQ+h8kZaMGo/USE8w2+AC4NLWlaPDyeUsUUIvrPz9C+eLDQrJNZRGhQPF - iCygTfZ6I6/cRD03L93jZdiBp3xpJ2AgJFRirGIzo2wHSDDAgEYnjmn6Ux/WQD/z - SpV4VoJ0/10PzTKKy9SBGtYzbEK/f/hK/x+yrbWM1AUzbH25qX0+SpqPrRFGBkGW - aYQHfL0dXh43wEu7a2uKXGYujBW1Sygnyg2w7gBcFptU/BP9gBFLOjIfe9wFXvvd - u6ViFvzmE7jhE9f6o8DZAdv+RARJG3bYB6KqHnAz2jzZucWnd7OEqaTgbc8uWM3C - iVaYWbdYCxrSDvO2WM2QV55N8hX39ttXGD8GdHi1Ily67PC1qFWUk56YwBdq9pfS - XgGSw6FdUoGo8qlvmJ0w29zN1MlGrGBiTSG50PSybXCOiZWUc5SsYxP2U1uWD1dc - 9w4G7k2bbGK69DI46GNxFgRSvGsiU6YAkxkkJSnUaSBFGj5hcCpWl/a53zDRosc= - =cpYb + hQIMA1Hthzn+T1OoARAAtMm/Bd5b7EFalgBaPXlfi3AqH5eeqlu0Qo0Asnm4YJeO + U/W0Q9flkANGRxPnQzTAqLX3tzgpxMapG1mjMvhWW1aaBG3qdRXFEpVoQJJVFkFY + a7gDs/8dVUJugd1dy2yoZQF82UICFFDMsll8UR/NwD1nFnGeE9CPsbeGjIdJKT4s + 7ZaiqoZE6ifWHJIe/8eCW7F+CpEgxnzZX1rWom8OInK5QnXdCRUte1pSeo6dSC7P + X3EIJtChgE0DqS/yNpQ2hEXD33TcNSAeDbV9x1zano6aEsVAwBS4FKdpD+c33/Rn + nQtmyp1fmI5q46fsXEMfDLJAdb4aasmpHDRbs3nufU56MM+6eYsp0lOkiIefLl1B + fy+TpnplV1o9qhA2c8H6XOmouzw5YAd0glqojMlfjDn4Tp8qqnIiel6TLl8yn8z/ + bwQGLDOxjNgzuN5EbXpD9L8dURf4Isi4G18knGzJtIKF6ybZQj84o6PMzMcKOJDh + noHhum/ZVeUdQTphzl8A1yv4/kjsBUOWYkZpzlRjX49ls1WwGjte0VhsymVeGsyt + XfQqeWRja8O4d9vhJcLRTrOVhevPdkLeMcx1XJGNUW2EmKyhYNNmFc1ZxtFhoyhC + d3xQ7U+L/oHeLsPMA7rDFRRJF+F2BuiruZg/Q6OmjU3xiNymCT+0ah4+oZsW7SXS + XgH6AxG9Oaz3SdrpdfJvSvlOVhIZlgutir9nmAEikNDhlDZG3HucWDtre3ZWbwV9 + EBVnY5vLKrLIXe9Vsbg9EbqgHPmNpsfzwmFWUra0C+tukkLlui8A2Jv+2YbaMM8= + =vGo5 -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-03-05T19:18:07Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ/9HZaNaZwepDOx0CoGVMZq2Crsut05YhXdr4m5Uhf5+Y0T - iGoUNVdP+IGO+tQO28cX2Rk36amynpkZ+mgtHoIHZG/KpU/AGOKovs1X6KD+Ict5 - 3I1baCwVxX/tM5363jp851uZ1LYEZDnM/TLLxsjw8DVhcoRhaG2SrvhvlcrLQ4ye - xubx/VDJbe4pKZo72m5o8ApSPx6Jvi82kjLjL0cQAwtD/F+aL8KlgeN2gC8t+T6O - uRJ1SQHydjGbDbBcX0jOF+pa+gVNULQ4Tq6oTKWP5LMdZ8YzDDoCJkVaXgDH0y+t - bECne7+2pDaHbbV16V33fRDogY3PPs2pO1tgPhcMl6AZFkbIhc6E5E7XkPKkEz05 - 2Fjuc+WT9WDVGG1R8ZJCTSBgpewpxjWMzIwkoJVztRiGiHsFZOWIrBHVwQsmOw7Y - ojhXGkr/b+UOTiGo/mcYN4gm8PDOOtsuj9zM8RDWr8v8w13tWDpXcHQF7lFwSWsq - yg+n2M5bTJvgL/CyxDbt5xYp5YNVFKJM0B6t5H1jbqYo5BdU24VjBe9UuUUDRkDf - opOo4WdWIHLQLRCQ8me3PKP5jsfmXn4YwLcw6da6/REso5Ofcxk/94gv/IBMHdD5 - QCaSEakqCjtuBu5bs/JBJSOt4KtulykDVKNRH/3g58vOwdyjJlYGY3Pj22W+EenS - XgFY7RGR4fn+clplwKIujXW8gXCbtOXYoD4Y3XXC1OCfsit9Hy+kLLjFWFZtnbtj - 34u8LizTTNrMbTIzLf72We0xYMcqn6zO3jAwUJmyW6TaL79eF6ZsYElc7tFp4xI= - =+uDf + hQIMA46L6MuPqfJqARAAuYLJziWrdHrcr78+Uiqscr+vrPFqSWhXNFOD6cJvBKBN + ZWnBFeeJKXIE4iCxnoqmQ5k/pBFdk4Sv8URN08C+XOXo1Nmxgj6M+3ffGI62uk/y + uSKrCe/CFKJWiGMHEVkFZIrvhIv22tHOnYpzx8WCljKK+HLRNUy21xpEVdjPZxKf + Lvv8Q6FGL5ZSxQ8sTd6sJhUlaamStYSAcf8+TRxoA9a4LR9Q/fJDtzpKP3gP2h9N + GRiYxSqn8breOgvBq1qhSgrfho/XEFFeoO71Z36QZOj1zmZK1gGoWziGNtVHCVtB + zNasfO1my2nOzxaVgKaPztfTeh0Is6fludEqx8kpbp+ilOmydH5vBaNM6V6ibn7S + v24VC6RYOK6O7CFGAE0MxRtI/5LObFdb+BBnixJzWnkPH7BxUui1Lc6TDxX4LIYv + 5krE/X+IOjtr2zwRRVOGC96YpclK/iVYvvFpmqYHQz4dhguSEKD2miZaArzmhEdE + 4RUIy+nzhwugM4UjBGcbECKH9nzf6Qg0syIT6eUEhOVqKA44VptPCdqv4izBAAmj + nwmUfTneB6k4L/qPfrFJp1hqhSx6keJr6UDArB7bYaWmn3BQPjoEjBfGls+YW6yi + ThqA/EEMSLhux0kMlOhabTH4qOKXA19nT+j9BTY/vcWi6c2g6I69UsvWC80df8fS + XgEpBTSb5LXvJd9E1q8xICw3vyFVkKsKoxK62z8L/qxUcZt7ltzxWhSgcUTLrynt + g5hkIzd7vT7cLuJ8RH+ztEE2FD9k68MacgCcAlI0TwfnPpGXRh7EwUSQ3Fpd7s8= + =RKqe -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-03-05T19:18:07Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAy/CA4k2vA9VZyWlwefh+7Ufs0feas8QNhpyyK6ZKSk0w - y8qEhzp7tS3mQxCAH83uiXsv8wtgjgapiBWOVc8xHb5YUkSXkedR0j6v6I6SAB21 - 0l4B1e2+XnMr7litbYak1OtvFryGuGVLT8mSYGdb+0lX07ZoYgsQbmU7xrnyJ9Vn - Lbxx0gQyK5iiwODQml5P9kC3EUaAJ3BlwUdGzCPkQSpqf7+LWLGszD8IHlkMiy8w - =38MH + hF4DQrf1tCqiJxoSAQdA1uhcruxq1eYwXIeZgDOgUewyyI5vNWo3hX9iMr/gnAow + hLutyhmh2bKHd51kp6fpjSjyd2gi7bcM66BbbNG5dxVQeENfBixrqU1IMWVNE0Ns + 0l4B+C3b6ECSC5386EkQrtfb2THGLc7JpqYM/+Dy8Mn39Pb2DIR3AXh/gwH8b4Fm + ubJfXR30iZ6tV+KpBplFhO7caMrbCLreVR0zTccHwAiIHQcwWCvnizmaw81cZ1z1 + =K9B5 -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-03-05T19:18:07Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdA8Q/2mQylLyDZIsF8Xi5zF7AG21daJtSQin6gOyQA4ngw - z/xd4657gK5sY7Q3WRD5QPldvY5Qi3msNmj7YCUoryaGJKqSVO2mMxcJFX1twARR - 0lgBe6BWA4SRMHfegYNWj1WTZJ3V79vUB87NBrsOETJElYqXoVCE98SrH4aqLfKr - IU9pmE9dMg2wVJ4gJZRhO2c/Ogww8ui39uhMwOFzZWX0+oH5lZt4ohua - =v3lQ + hF4DzAGzViGx4qcSAQdArNCC4xihzDAyIZp2lMHFAd+6T7kalxfiC/ux8OOxKGUw + /6wJDeXykmKYtd+VoP5ZthfJ0SYcRrMHNozWmiw1oLUaZ1W4EGyVA0nmmydbUcho + 0lgBo+kQqbv8L1hY+tqo8DHGEEe3hF3dg9pVveV/x4MCinOhvjiRgKihdwaOUTdY + gzwXmMu0Y+fLUtOI9qduvaiFDQfum0mep82z+N6T73v1WBCun/Ko1vN2 + =uFhk -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-03-05T19:18:07Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ/+Oy2iqMhJRZ3VxTw9jHxAxXH9iz7+i+P7PChWka6lL38y - fTN9r+myIUG4DZWz/8viaK3MWqMB3ei6G0NZ5h2Y75tVltR4bnyAWW+ju2OWNPr7 - FrlaI8z5LxhA7UZFA6mR82FLHfTaN9hwAhspQwd1av8aoCLPLPbj2SIvOspTixQb - K5dexrIUjVh5GgkeYZfyzfZ+dysr+vWRiBZwkv+v/GBnGPNW25m5iizecSKx3KUL - afKDYsmxVCE5E7ejMNEbSYRCdhGZSxKIWCL4PaDD1jiBAbon+bjFES4dhDJGqfzL - PaAZuwzNC4ROsf1H3L2pkOF6TehldjS2OoiBszrrRJwcN/FykC9gRK7UCTOpBGqS - bITF3i1VN5U4GaPP8vyhhwvNmPxlpZVeXa3BlL0B0ZUBvAY4L4aoJFQqxRXfUV7E - kjDnQ/K26H3K5rPWjtrJ1PJ0MJu8gbUMNsJa3QTZin06IN0KqeTDFW17eg4Xa7T/ - PSeyjTipPl9nKj+YEMGd/FUgHRo1wwq4WwZrfVuL+FdLv0HFXVvMZ+prG0zhDFRH - QDY04FE8LspP2kph0e2YE+P53vUHIX+RUbxtlr5wCK4s1/wK3Rt4VVbg1/W9Dm65 - ce3EayaDMxV8yLjrWc+34+m6yVIXZOcx+uCEPynrKQEj+vvEGFmFYfsYpZXePVDS - XgEAcxWhDEv3wuZCWsvsc0MylBd4snn/x9kIVSq/86hF9LaWV1apYHAVzGnry5yj - E6CJMRtdjPnrNZtJE5W9bQtrB1YoAZD5B3r4JWfwcyfesdI0LELmHzNC6rMoPi4= - =qdbg + hQIMA2pVdGTIrZI+ARAAj5/9HbBrBj+NfcrmvqdTjl8qW2bvvjeIMgqzYFrGruBc + hpO3pYiis6+Ywr2aOvgsLPzwg2zIEvIPEKqTEuBRFsOFXuTHZwuGVBE2JK16QhGd + +gUN2YHFI3fj+owRALDSWpwFyMoHw55rYQqnXYfnfLLTSAaWDqUPwZVapLmKe8IG + YG5jqRgGBE5yi+uSWNJVlbweDnVIhVxdc6TO2bLR99jhcJ7k/TGmfLyHnlr2RMsQ + yB2uVE1yaiHk8hV0dSNh30dCXDsPPpyoQPNdk9lbe8q7P03b/8g4lyH2v0vX2iHZ + qMxzXfrq7D388whSNTXikPGVqpN35wXlJZN1KbAJG15BJUD4HntR7gUElF9VXM7n + c7o0p9reYGJxDrM2szEFkz49NoYJiZzsO/qTIR92489Ybh5gjMVngIqAsLPd36ky + Z3/FBE1EI5FX62lF57KxIopBEtJFOQYCkVtL9EGdilin056ACC1rpQZyw4XuDfSf + WzBQWwKDhNReJSoLHLbLNSLpDmncpd2aObEWBojeK0fyDKTfxFGIpRX5gWpaHBGY + ESHTXI27017X5du5GLCxiGaMau2XTaruZr+s6mNDMu+6L++Ntp7qhy/XJ2OBuhen + ssLJOrvO9GKmLjLFWJ/UI3pZT+2bQBGPDcoWzVpK5+5p7eyLUJeyE5FfkXHwV2nS + XgH2tok/s0dpJWSSYFAaM/Xu6b8NELnKgGtVa3389y0CiKuCPek0Y2JIGcbbcFAl + RonF7AgxEiIKoSh23WnoF5GGlD4p/Gmsv8IodVvpC+TE+tGGcDSyOAR6BFHtvXw= + =Vj7U -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-03-05T19:18:07Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdA2WhURCQj3SXUMU3dAIJXRY8eCg2yhCSCfQm/kW/kvXcw - hcItY+g+zBgOM/d2xDAQCAeAJNuDN1+XINTuwAsf2d0cHubdo6DkNL2A9Q+ERYTz - 0l4BzIvRGNSVN4tX6lq3diP9IQvUETQ570qqwvDGAc1UpV4U++pKBSUIcOMU5yhG - pXiCSlvjyejpXNipbubet8nrzMAnQV/Iw6NcakZBYyVntF6jhmoPiCTfeQMBU6Yb - =H1UG + hF4DKKbvh61jX5USAQdAY9xoZLc+fX/Fq5wPEcnb33wu9cs9ys4d1enORdLTi1ow + Ly3POOwf6xiuYt2lqvGP5EoNLICFtFMl/J1Wnq2iNO5/ARL5KC0R65cKZJV/DeKk + 0l4B8b/m8QzLhvVrVw+RAFawAiujmEtJwrcuuutlmy39ovjDvR7TNZlF4H2rqY/9 + R0f4Ya6PE8tL/HSVy4GWCBQQy4BTx86ouDVgDf5IEtgFah3spxFEXIkmyVtYjhYB + =ybbP -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/wiki.sops.yaml b/inventories/chaosknoten/host_vars/wiki.sops.yaml index 0f287f4c6b..0f9f61fb46 100644 --- a/inventories/chaosknoten/host_vars/wiki.sops.yaml +++ b/inventories/chaosknoten/host_vars/wiki.sops.yaml @@ -4,212 +4,203 @@ sops: - recipient: age1sqs05anv4acculyap35e6vehdxw3g6ycwnvh6hsuv8u33re984zsnqfvqv enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3SHpzSkdCbFhkRnhITkpa - MldrY0F3bjlsUjNhakloRXM5cEtIMXBDUzBjCitBSGFWM0VMeS9PWWtCdXBZVU1m - eDBQazJpUGxUWkJ2MDdvZCtlMzBmQ2sKLS0tIENrRlZaUjNCQU9QU29VMTc3alU2 - QzJyN3FNdTR0Q3JJZnlDU0d2Q3FHODgKhKcQX9RK//BIadFHVcZToqAI6l4FEYUk - n9DCWWUWYXKwBnVKLv60Ssu+LPtBaYf+0c++lbnVlLtrqrM3PUhZqg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBicVd2TnozS3RhZlVsajFy + TjNRRDdLVHBZeUlmakxrbkVlNzcrT3NVWUZzCjVsVVdxd2NHaStiQXVJcElUenl2 + cjl0MjRFOUZwYUErNWVoLzV4NjhrTzQKLS0tIGEza09oWmNORmhOaDdzM3hKa3l3 + blRhenU2T0FJZE9pRU1PVXBPVkdIdFkKQI+dfFy860vH/mGMxs95Q1pSLdxe6sTb + N0AApzX5So/T9oFZGuVPtU2jCkztxoU6gDuB3U2lESTrPk/ql3Sz3g== -----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: "2026-03-05T19:17:58Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtARAAkoScg9KQ33yz9pMPK7rMkhgvt/xtnAXUPfQefWFUiEFX - u39X6V+mqoogrta7g0Lxn+4N0bcgM1Cz4F/aGEc+kgKvW4372N/39XON+b5bL1gc - kW6DslmKJiroj8CjHqwHBTcPUWYThzi7vIqRgtsmP7BZUnVGCyiBJhDAldiPhpj5 - osbUxQWwxhqieq+O3X5UXYWh3JPIX+XXK9Wb6E9b6xEN6liNnVT0txRXkAO0bfaX - p2I4lWYL9R0yQ5wLhDmkvhxU6OerU6QdSTpBpwhLQmG/CErv/z5KVW0twt0JuKUq - t8hyuIa+cm8Cr19TgaK636a8pBzdvRU5nNBtBep7LoFRPxJKMvEUFvkAzUw9YI73 - 3RCUjm98ku3QPtJaZE92mRCOrTMJ1QzkkGk5EApyaD66LwlPNSz/ZqxVHoLwxfgI - QmN9ynm+iMdFIU3+bCoSp4dCjvEAsYmotLH88oYrQ6BnXy/oH73mXWUqB2IBJqzP - 2VG4mrj53CtgBm0eZNLrtei0BPXi+3AauceknikWcISt8QpRtWaJ3PrOzMp36sTL - 8mgeQqJF6EZncuQei3+471FYzmJacuqLatzAQRkwP3wW4cNT0+LbVfRN1tiP2sVw - Ed6/h0lig3qfWkhinPSG01Kq6eLQq78VKxclKbb/D046odirC9Vr/kVZ1OjS6a7S - XgEhrlCqOrYz0hAoYNYAqkBqu25PveDmPRgcz4OxBa1GrqzeUCIMSG5XdNeJkSgI - HkBWQpQQE5v0+BYb55jP1jA1u3GqbiIRUHpoEtcqOH+RmmEoHw9UI5sNTIFBYnU= - =1q2G + hQIMAxK/JaB2/SdtARAApQG8QMmTGvW9r9BoKK2Nadrx+rf0cPNTlsG5eHjD4Acv + JHr4JMokR04/CcpWfQxdS+0MJTA8kWxkiAMV/Mn+ZysSFxyi/ugTiXmrnTKGxNRl + Ar8qjAuRottYJ3UkZ0riFJ8webINjHm5J3mpUOwLjHdxuAp01xgIy8MSuPVFWmJg + TnRqUiZXygZia2LciIyyF+fpPnapIewtrM2ap42Rk8Svtt1LyQ47bSjv7x34nDny + X/BRebLVo9SoLoru5i3jcyvdfkYZhCqWxKsLI8yZwlAWyksj6gi7bm7rjT3Dh3Xs + ZwX5Wu0V8HA8Pq+zbkAeXOzk8guzHfM6bAJBTwXucGQEUPtOKXmyj9v4Oj5Y+ft/ + csVSjedVAjiW+UA17VFaVHwDnqXEjhpwarT9m0LhXx+45fPLzAp4/4Kn8pbQkdP1 + u8ga2XEEaqzzoVlI/u4IHH9ii20iyjE2vMqPHsE8r9W+5b8oDeePJnUJ9eqdMGqR + T+6pBoF7A6qL9A1GxbD1iNnaIi3lJQuewJLxaraNe+Ti+7vjecFhWtajw3/E43rE + ZcquIKPH/S7t8EeuE39JmipkZ1AULo2YW/wLf5lBQCUYMk27tvAaUgFELvBCCWNj + fYrrrepvKcdEr0SYMmcGSXrJVpc/cnuOinxrUZmaE3wCwPWeFjpU0FkWU542eszS + XgGuUUUxuHTSYlf8SCfENM/kENpOrStzMldGG9zflG5a+IZOPSVBL+NhhCmMMfEW + bbEbS9nauLquDpUKy1pb4Hau2QxXy1nDqi0A35tj23GNF9n6WT9v70YI9a+NamY= + =vJH1 -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-03-05T19:17:58Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQgAgojh4q8vR7rkplsLjsYPyPTXK54uGI6OdO+klAMn99h9 - cRCZqZr/ft3hXuMtCESn27uAl6+NsiD/0yAfG+ALO7JCmo2ZbpIy5IvrRbfJhL/y - oqzIpryGG2hbx7Vip3oxKWDaoNUfr1pRg94YZswDvuwlH4cUSX5qqdKetCs5WOJ8 - oXiU5atAZ8Wr/ebZkDSPs3LL2lQkQjkazo2ustQ7PlQLejRixdGI9awRgsRaagsg - Un5yKjCPXEhUlzpmou04sXpghkQki93xeCXmK2Xv8IY40C2/bWgurxosanzLMTQm - +QZEA0NPRdg+6YASUhA4OFXpWmId/6eoORWSgxFFltJeAUgGggbNpGAvgtxRxgul - RlkWmabVjDclN+yRsH7SqqfVHSKZa5CP84zcHCH5Fl3HpJDUblj/SiFVn6RDcRks - kCspnN/v4lAU4YSUULd1T4RVOXZJFMLwl7qZAdTjvg== - =970/ + hQEMA1QflAioE8i3AQf/WgwOB5irOSYAeawahEjqlfAEISKeVKwVHWvtUuQ69nTW + 44klCkzszsLzaLk2YWF4V+t5/hesm6mOEejUJW2sEQ3JZ60Qu0zi8d2vTCsvwgtT + 5v27PmUjsQtxMr8gghe6T1mILRCMTl0IkyiWpxOzb3PviMmJbCCM3B0eOI/XHyiH + 5ykNJcmj+3QkRx/qcbEARG/ueDiK58e0jgLAEXHb4v5tUzP/CcErX52e+bXwEZzu + HKRngNLzJNebLH6G5tKNsEoGxoglEl9pnfLyfSS2q4ZjQ2ker/c6js7ArMRpmS0G + +AZ0zTQmK8ldlbO0EqZELwm5bllT0WX8F4j52Qi6+tJeAU3wJKvkeVXRVJqo10LY + 2YWp3YxD73GHe4pZavtM6mJpYe55GIfMrFX+plr6bNYzrPh8RtXPK3Th84PEqxXa + QS6RsK4Gn282vKK8O54fkNx+I7FqPtBzeG3HobqCDw== + =uzzg -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-03-05T19:17:58Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ/9H54MOD/CPKJLDi6uhM7XP/QL1HJjYcmQnVk2ACQ6Gjey - 5hQtxqNKHeqc/28ghKNv613E7kfkHct8wVBnOjs/opo+4l75yIi92dvqbO86XCU6 - oTHTMjACHLwrpyUHU0vkWkvY+trDKNYikFMywssKfIBNprjxhQhrNUG6NQdD9aym - nyum9WwBJh6CK+ewjU7NpE1IhjuJ94+rCkX8NA4pE06FG8uUSzksExZtjCW2m3jv - HqpTDBq8QpMc/k7qA2nAWdRkgVNOyhFf6/Q16NqOprlS3Bur2Pw4hjy3lh/S4bac - t143fSC+y91U/w/C5J/oPSuGmu7zkZEP9hgr2K/E6WHfukK67NMn67lYX3DX1mcL - yysbHgbjdd8NtZ9A9YB4PAf6A8I/ch+BWWX0ZBHBEbtQ1aGCstn/20/35L3VstJW - 5ucKeNLZLe3eB+0W+vsT6IblBBxSt5K3onv1czRwgrtUWgwhexpvl4t9J4mftGfR - r7P4wcrRhZZWeHp8qXAiDB9B+4vJg3xMC9gXIvJAgqbjV+jxQzo7lDx4p32lwg7y - a+ma2QD8Z3Ah9wGx3437bFo/yzErDd9yYtoLfxn6nyb2xmFOMH4al2+mQTOQxqnT - hnlAcQqFurRFUN+2P7ilKQYjKWB4+i/ohxN84A0MDT1E/EP+EGQT2XVuTme5ADbS - XgFaM8qFYFdf6NuKndSxCtc35c0MzGLfejbcBCnoEVhqvrErD9RVMigraacalJFW - p/jS+tWGwJoF4+2tQuPHUiB8ICgEAB6C/++i4RIrtf8osGAAblsFKPU0u5orCXQ= - =St/v + hQIMAz5uSgHG2iMJAQ//a5Sst4BVklgIFoDo9QM/d5Res4B95cThulmFVXj2ZZ4L + SlBkVvVzIU7u70rwU5BpZqs0wkR6Vwr82q9r5vvOCEFzBVlngyv98wCT9tePnpMd + xU0OZYKxKUrRZGgOIBTZNTSYBGNnKZY5No9WZtE8bfAIdGt3gbX/FZDAq0B/moI0 + bUpScwjntccjcOce5fuql2tUd/C+j8DKL/LW3WFphbmL46YFW6v+wXIeStCEvAI3 + RrDCIiOEaF4xDUwB/x4utVtwCHwqHU5WoUKPIw7SazU4a+ExAUUjD1D5oxEUquwQ + vy/3iUg2jMaBJEn8VZdwuhwJ66bHd8QPbIM8KFq89Sa4m6Ci/NDo5Vf5ci9JuynA + UU+jduj+e3ZGjxmqKUKP3Yl6yHQj2pFj5AcBzW7KmUmI2FuomubkpmqTBYZ48pnu + /3sOM4EHeiEmJviaWH19iY/YC6kkdvpwvDcuz1WTzMNi9GA4n9vw2PQ2TgtW2nuY + +lxnHQNXWnKQZpEOICXwOhg6eZKiuF1KsB0omfk24bDaYVRxnFfLHVlQUgULmjxD + VdMAoTmq4WW3bS6p8ojj1BIKgesS3JV9wahrMNTA9k9XiSSkgFUCz8nBMcucsy1d + LWLctUrBo0eOy9GxI/kMepqsIUtSfVSrrSdtbFkJXWfdOmHIbzCswr/aBSwPG8bS + XgHcZtyyZKzAFeEQ/PWPOL2q8omGy3EjG4vA16WNQe5FbISpH/Yk22OkedvrBBP9 + iBkvvE2t76exAe/xFIJmQCKK6EVCQr+cXm1q8Po+sHgHYkO1jEjPBAn/ncKgU9k= + =5Z4a -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-03-05T19:17:58Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1ARAAih1Qz1Vu8226GdkRTA21tUjl0cF2yak183q8notIrBQJ - IGnDIgzREnyHylh0F5eB4TbIrZhDPg5LDCKJXvjpCIGpOSqXig7hAfaBDZ9ml077 - ae4ecp431Hl4KC9YuywR1lx4s5L47XhkFWVCJsFuHDoUDbVQcOdVbkB/4VMt4XaN - vp4SZhHgE9TWcWx1adb7O6mRlXmqedb+xwhQARgUT9PNDO4cgLsW0/Bw7ewyxd1N - tHv9YTLzEJ7E2/R5KcwFUbLt27LiB1yNpQ/IAIxsh1BV5LxaAI7YrY9VyeOA4iKB - AeAIr4qU5LfjVFfzA0W2v8Xn51/tl5b4C9bWrfew62PISlA9h1v57C3F7IkFBSvd - FjTtJi6o3xP20UCKzV5n29ez/MIWY1tr8GhbKF3Vft/wcPMdmGUavAYDMAXQjrDB - 0e2gCS46mP6mJUZ7bjXEv5o5ti8vq0RKB2S99pcVMGh38c2H3mEBPqqSnZOntYUb - xGEEd710peQcNLhSxDisGdEu48cZXBo4NkX2rQv50SBL4f3giwzBUoB2WmfgMQWV - WvqWATIHw2egqSrE+rvanlcyNKMdW1j0Wi3Szb7Sx+PT+NcxULEBDtKlDeFlK/sl - S7Z9ERFEvyYSme+2sM+4SHQiUvUZVDApdjoozZFIYCG4xHdRoPMafBqXIQ8stzjS - XgFlyxtpOLVsHUcNJcuoN6M+LVIqhawXbBh4vzv+JN8bZgTccgddiDG7+sjvMHO3 - pMEECLimOIiqn9reiSZx+di/65E4S2EmJjknMik6qEjv3IDYZexBqVEqyc7Di8Y= - =5nia + hF4DsZXvxFXTXoQSAQdAdjS2fIJ9WxBo9LNJaRV0a8Uawxoy+5+m0QrXl9DBVwUw + nESgE+rBcxbMN6i6zIH/ne1Kz1lWtRBwGisX1uZ4e83UYWN2srA9miCxxw/ZP1mE + 0l4BOE8AWv7QrqA1Gb1nNvDVxBSndx//qIIeorf7A4B8j45lh3eVrB1Alp5oVjVA + thUXHdpPNXHxo/LQt3AIUUE9E8BP5ExVWXlxK9CnnX8bOJxoY8bMzBK9hXXj9PDB + =tlpI -----END PGP MESSAGE----- - fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-03-05T19:17:58Z" + fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAtkOPt0KtYsPcjoAHEoREvjr20MldS24IpqAAMEsznDsw - FyooQwSCawtx/2mnIyT2t4jAj9K7r6dCvqP3pqNg43jvlKKVFlcKOzlt08PYtNHA - 0l4BMiLDkGbtAFzhiFct+qWQcUpHoXF/iU81rkH+o+VkhAbYKyj3nCx7zmay3ndc - YFqkBtar/eTLGFiAdvyLqvADU1hDqaTglHfd+c3PbqteVf9Q0GMxFS2gxpGBKndz - =7I79 + hF4DerEtaFuTeewSAQdAUvHOCvGqzsg1LHEK3VjCnkwFG3V656yk8gODQ+WhBQkw + Q8uoCi70eu28GfmIYDGkNuE7BpD56GF50PKJ0W87M8dSzwvWX2sbM8rHePy+KJrs + 0l4BwAyKltpSkNapxx23T5OBhYOx3yCwamOZ7eFkd+9Mfy7xTAUysxcDGfutajwK + ynPzTECIOgFhpgWy/+5W15IKpNNAvWyyTQJ8ARChaD/OWWnWa7FBz6aRixDkoIQ1 + =wYuq -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-03-05T19:17:58Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//SoS3uxUPBbEQEee1VmZerzHhoRgm/9ynRpqVrKvPGKeN - BO//XFOrjqwjwW/JbGU+B7/+7wW+Y8tgltBlug2EShB/w/+UbIl0yiqHBaQq6fUb - 9lnwcBpldWfQJiY4j+D3LxZ4fe3iiNG7ahLibvV7D53Fd1KN1aHDdpzzK8EFOnbO - we6vLAG4ZLTx6QEkA+1XDqaE355u7lbSgE5d12FNAmTk+5AJd93qj1vx+nMydHX6 - YjnJkXMLOnAMmL8k1U2/S4hDbHUdDnD99v52yYOREfioavp6ZhtR4xcthZPH1HsI - 8Aisl9L82z/n/O8o8z9PfFO3d9+jSoZDJuTp68oblpMJD1sEvp0JaEMq2jIOb1Mi - WAWnXLg3aHQbytsYTgDWQDTCcvpcDsOwZpjNR1WUcRI0xYzOh+aO908xwI0wRUFS - 5ynKTUnNuFaR3v5EXP9PF+RDmPlXE327fBCB9Dx3z8unn0l4NZLNNDMJ87KQjbIb - rB6bSIMUYOuijRVQFDmTUgs6huL+Blj9MzUOvEwewKU6v9VCczfB6Q+ET+eYBOwG - 8dCLU4A9RAmjv44Pdx1b8kzK7qCsG9DhKVXReXeZajXvmCcRQc1L1WQeE06DUPPy - XvIsTMe0IV2uFmnVre/lpoYEftwSD2bExBAZWeUIpGr0IOelnc2yeuBCmA7SQ0XS - XgEB8c3tmp4OZSav6qDCjBppAs+6LNuFLbP16y9mFv1utA5iys5YuDVGyTVItleX - VgonNpBVVKlEECSn0qn15qfg9fO6OUDzHhPv9MXulyWUjyWgd8CIdjFMZRFddEg= - =8m1H + hQIMAxjNhCKPP69fARAApLqXabRZM1js2AZeJ9rkK6J2oG1HmZuiRqsFL1v78dDL + ZMvLiSXEjFNjAmtiX/RWMvY/pGRLtwrq9i0dnTl9VMNnds9e96SPO4m9RwN3ZTjX + 0AnUr0tq6t1c3Zoygm267R8B3DYls37vn/0o0hC0HOaTQE5oks94LCZATSJQNpbo + HBXRgnqBoIvGc0x+6D5BrIH9Zz5mjnmCgqkta4H9OLz9Vq7uOrZVfReiLWj8oqEE + 2JYSio8PFtCblYKlf/ih+BzGYO8Nci+PrFw2r/tgvin4XZ+SecEtK8dQSRq37Oge + kIIPtzcu1kRo5xzoRYTWn/k2diFmhaTR93RN0XN5QqA+9brAcbmpIM+GAKLPRzFa + zQuAtxN/c5f0FWEAbbuNe/3mwtL4lz6LM5p8p45930w/maye/Z3AMY7oWygG6DjM + eKUcte/s+zq5KE6niIpGNLrgPUb7HSSaelOS06hV5HZRhi3wstw9pysEV8a4p54n + v02Vt5vP+MbUhFdVzN3LXBalfeJTQZBuzmhqFvRHW3CrxZ3r6qkt3bHxItJ1+jpa + TRoxCE8fdLlzqJXqq8+lr/+MMsZHntqKoBYR06l3LATsw6nWpI5VOQY++4DzwHHM + j6fJBvaO158SBjWFJmdhBiLS9QH6s4GGt9FIkttE5ayA5aiUahCEnaDXYJJlYiPS + XgErrQBvmtDEQBJslmuax0Mk8dgoLopotyCv+8hSh4XLSgOsTtXsoGUDk1qcAdN0 + wEoMsl8Ub0Rp0qaS1IUuq1/1GqoPqC8yyCm+kRBd8I9gNlmOqKOgXgrK5TjvBx4= + =LIW2 -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-03-05T19:17:58Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//XoEfVHGnqbqZbYHmOPpHpdmDvO4E4A9HVVGwlnKjuTj2 - DQB2naURGY2USL1TSQ4+jO5Bk98f2U4+NIJNNq5n/vF9Ukf8RT0QnfD7yBs5sCeB - XyDuM+EOYUANkJl0G2YmJayVi3LhNZczrPJTecXqSZHxKCxKow3bzzc0s0jbup6k - co/DuQxuRqENknJOGGEgMhVnlceceiGtuIEa+Z8f6hiCchh3hr2xvzncPQ/73fZz - Y8421wH6p40cB8a53QjmEFXkhmT1UfcB2zBKvz65BdENkXIYAYX5nNFiVkqG3cEV - GCbl4giZryEk2Uts4llHE6khcItGdtQ0YXxgNwGjoRm8w6X5WJqgRo2U6O7bxQhc - TzM8gKGefJiOYOzMxGfapXrukJhZe0XEw8YHsZHVd9V/zHICRHJIxYy5B/SRk+Ue - TwnKbsws7FzMGfavAwfiZZVa7INm9cCsgfLXIA6gxv1q9vyeWbGcqzISFCPm3ogU - ACK1DBPNNfUTKi64oDxUB0hRmWSLrc1+Ny9vz6CZp5ly8kfdIWPi5QAZggRMlxTf - ke45XyFfAu2BMTt0a9/sRWkcfrUt6afla047Y/bI1B/8p9tPOppjsDxHzQUmwMQx - 82NzxeAasblXEG6XAtelnjr6LgKmbuN3ylixHzzl4xkte98oyIcwfdbJ/tanchvS - XgHEjHXtiEMIUW07s2VC9Proer8kDtdofi+lSvJol/ag8bFz1m3G1qkFKgJdeNFJ - qKCrbSDV6Cm4XiS1tPUzl2LRlps6fKbSWqu5e5jIMcSVIWeVrUzcJEWIbAZiolE= - =Mv2j + hQIMA1Hthzn+T1OoAQ/+I0tPev+VTjSH0/b5Da3VeXX2lW26VLKRLgMdqjlEhKfN + hEE9Qm4n63D5rK97c9Rxs6oecjyi7ONexvHBayd5rSeyo9xKHArDrokpl6bIU0nd + I9nZ8bRT2GccaHblxgomphPSPSTGNB6oqKqmFaoa+efash4BcFoQwKxbrrLqdCey + WQW/RzIOYwQSbKkVZJK10AaiiYlDo/0OzeSRqF+NjfIoiaO5BUEmltfzw970/ze3 + 32XY8vnst57/GKZeHpn6thFtURicI9rNrKaOUDyHQKpx0dS2SwC0iRkB8JsnWEnp + hPtMDjBh+DSwwFTXUctVz1tUGwmCRbrkhMvZdK4iaSea74i195MRpPBaInmHVYSz + UGCbm1XsPf99+JD+LrBFwum21lsAyv4zNRDBNbyH6JOtJDIOxEJ0VRIqj0j9uTAP + ideiXKzhYM32h6/HwcZhccQ4vcxcd8mG55Q2YxzrXlDSIMaGZsykiFPG4ew9SKOv + 75JK4hf3ZfkBeQ05Xik0EFNpYkE8vEZ0/jgdCHfmErc3zdWBGSKdWoqGMGs1cOFl + GVAmzzRKqvHsVglRHXGVRAGhRPUsUqRWL23tZxMWbPuSzOU+EDxMDVwEjrdsKdXE + TDnQySCFdK6k+YBAyjMiYZhg12f7vebnCcsqxvknATq7WQaksvIBuKZFoQI1w6TS + XgETTNdmHF0nutPnHMBlFJu/RWzYPCNpNRx8DnnWp00XTCKZONal21wGh6uFyJWG + Uymx5Ryi2md/e1WFwdyx7HhURaGWhEuD4mvdtO+CDDx7XwrkToFmPfrUJTZi6AQ= + =kFcX -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-03-05T19:17:58Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ/9Ejn4gTCYkqb22bPYxMGTCVNsVMT6/aaSsRO19ZPipH/S - oFSMA6c8RnLJwdCdjXHFO3sCgu4w/h0MFLASPdhRVpJqTSZ4NrHn1NJN3w3+4OhO - Rf6r0R5UfCmUmTDmy3I3o6GmnAlWSVWQ1O49+CDoXZcrOXB3X5C2HZvfzRpUSQUR - dprf9bKuVm8Nje3zNKh7lKNdQw9Y1Aw69IgPXuOvgqnTI59ihHZx8kw40ZSEYRyV - SCicYdnb8RAKzyoscKCttiVgMWB80DZi0RzILE8EbCZsKoOMlTqjguq3sTr1vfQA - R/RcaGUfX35ocVmNSCZa2/CxHJy29iVnsNTLNu3f4KwDYlaqob9eMtFjQIfBkE2U - aczx0VgUjiN8qAvsY/7CJ3pjjsQqO1+M0LRAVIoKmgrQy2Ez1/ctKmdE+NluRpxI - vHTv36VzU3zbao4O/jtKnGRvh9+nUuDG6EbOaxeBHpPxTRpG0fH1UtnQk41dcJff - 7wrQqTirH5Pe1snP437B3aJeIrBhCnBIz3TzlSDz2YLy9CjNkDwm6fj4p76fIobz - 6+9bKJxDz7DyTrJbpclVqZSnj+fvfRxcae8+/w2hvu9N/O+JEbNiR2VkIKRCeP5x - sVvq1hXNq4RPrP/S5RcgMFCIbobCJVebMjYY4aLWGcVgvaXmPGV0IjTqWX2cWlnS - XgFi3wp6FdpOGl/+9xD/ccIHoJsWxwN2Rl0K6dXCJ6WSqfpwuoQHKxYGxY2ZQEt9 - dpPS3gfomE3Zcdvha3DL1DT3WnKz6LkPxX2lXivpxByMuGuhTa6PUV5Sk8RWF4A= - =bUs4 + hQIMA46L6MuPqfJqARAAuF1L7FiPVl6tyZCXcIB5FJ7xrbsywY2GsCxxH5SVKaqq + 5Pgkd0I5sTxVGwO6vI303RUSI3SYF2yBv39+u7a9M0obYGP1/JCCtVIGqZTdU6NX + t6RZRVzn/YM8naV/uimGM+4y9OxnuquLfHeHwBXpWtdvy7SeA0buyufTMVQlH7/O + DkC25HwV+Ps/5qaqT7N8mz9WeuU5UI3vNLSZ8OGSSIv1ry3C36835VFnPqNhUx++ + Qz8JslfvDZMpY7Z//7jLDHljdQnguK8zSxStM8zdgkhfhiUOGnBJQSfTXnnYUxKo + JL0MlX+CwmI+SyK3YUC8eoDnsIR1pHleXNYTHNyMH0c2zRVPtYvNxBvYDEN954oi + RgJhJE9k6aZQYE+qZZnXBqjIkSOZFl4Pajo68uGLluVQseLUfVMYtlOtM3OyiDSY + 5ZXJKmUnUt8HU+WQwE9O0yhhWsGcj9yQFblsA1F66Ma+JWFbV+kZvcZjWyaACIN6 + VDzhX5kq/kG4g4LQSGWB+oYsm92h8gWFp95dtrVkBrd+4t8Z35WjmNCQso9gL2Pf + EnskZsbNGrwQIhQgqmqZFQ0j/Uc4KPzJrrwmteSGbWz5atbWZW2m0yHV5DvBzc4c + wYpxFgKPxhjjhPt+LcpG0vWU8WFzkx9E/1tXEW/PCdXlu6T43zvRcXyWiA00wULS + XgFMln0tH/jdWw/loHecywoMBl8JerQ6JsuHbYnqGrhAgL5pjVU5otBPukRVH2J5 + h8C3AmNl4tdiGS0GRWiRVE25v3ArsNeFI9hZyx/+HG9XmyR4RFD6qECswo6ItCE= + =qbvh -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-03-05T19:17:58Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdApKCCydvf9aamEJeHuIdVhhpDtrYZJ/4Y5zKY37ptmnIw - nuAs2s7ebWmNhgvDmDMZDzVcOjhA07A6e2yQD9/MXLiQCfofgy+rQWQg4vfV85Jb - 0l4BopjkuiMSu4yxkJLWL6k+pVhj07Ov305SPyWrpdhxT/bTzTeTzMbKvGPA0Yt2 - EebZVhOadGeB8+Oos6o3lJjOsVAPbFvrDTB3FefGTC6zg4g/8Fo6tXrX9mm0fbqk - =+Cbv + hF4DQrf1tCqiJxoSAQdAsW1jracZTGphlNur/HGIJIxzIubjyJR5jvQqS4LSEUww + S8Hzbvn/bRs99spntr/Mmb00XpfcjL+Odq7qnm76xnnbbTx3m0izl67BZaBrKVKh + 0l4BSKtVorELXvielPR3mScMc4URBEcIr5sY2nOSLUc4a+PkvDl/xiTReKWfsojP + A505eUxY9lptnzta/wKqd+rJObsOKPbrOZeuwIGOdOjLlSVFydZNmykkJJz2lu3p + =/RAc -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-03-05T19:17:58Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAvu00DX6TGAldLVdAEobiGZtPtEIZ/mksIWYLcSvMF2Qw - b5aU5VAqVRqWkU1iIdzy0eCdeGTUYw+/Loo31FDj/1DMAPl4KS15bqcq3GI6a7az - 0lgBKHSJAqiqQXvyLaSPGhAZinGvaMi3BHejt1FdQJQMwbyYA6i7+VvVMTQyCprv - hYlyoHOzs+qbg/3nxPbRbn+UGb8WuAE4bxezCepE7iyMhVPosqz0XTnp - =rGmD + hF4DzAGzViGx4qcSAQdAxcCjgx2tuaTGKsNZuXSGhtMf9mEIH9hm4ll0PZrCIRkw + +hPiRxBzct3I3gO5a0teacof6a+B1cmNhYeXdPsKNC5k+xbqA8pC3pDLZR4CTeJC + 0lgBz3aqzFIDatX+8gVWHP02Ob80GjXehwHTEwahVP3GTjo9PxPsFARufqYmLvQr + uPSRuU3/VeoF3qQA/+64Fig240jE+TaBswJvBA+yU1Kfe/ZgmtDiazhl + =4aOU -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-03-05T19:17:58Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ/+NKJgxMNvqp6rZsOOroADrqmEkfgvK5x9ULtFWUaES3q6 - dSI/e6CTwdZtRqzchO/H6SL5Lr/E27xQXR0i5CB3ThlX7QrW8VZsNW0Q6N44pty+ - qitPY9FqKRusNPqHrSz13xBmYXMtMtSyEQxWzAIHtKbaqYBPpAbX8t5axz6IDtEu - lrsP2m2XGIiTM+8a4JFjKW4YZSPejU1zWfp0PHMEqJDs3+iuztvNG1//VzIP6KXE - ywnjiOfhfQRFubaRI8gCSq+nCkjvWR181LW2pJ9ganGJtkf4qIXpnrUnGuQ7W1Yc - xxTNFtkG4Xdc/WpX13j5tcZ1eETyNw2zmr472sqXHxHdRS6M3XA8TmvAckHG43CR - 4/pKuTErTUwuaVjU4GgIbegpQMIcKd2Xza0CFQpO2TTJfXa2RdsRCPKb85uOL0KG - TbQ6s7uLjpfQ7NSBG+ROjhfhvJBoIvlXKIZqaBnxY8t9TyFfDFQezPBi8se5CYtj - DIHU64R/u/Y9ZMkdWRoK78qYt84YV2bRVIFPmg91EMUBkUgy1EaY7o2ZJg0c9ItR - pSs7qlJ63WrQrZrpZt8dCz2ZWQCngMGAaz6W/cjzIZNiDCMLpOVL/2kQPjUFzdpy - 5JpRoyVW9ULcbLDPLCOAWBIQwTRHV4o4DW05EqxW/nrTa0gpr15k3SOt6GuWpsrS - XgH/0GPrQDUz6ojMYDsQEmtuYLPT4lDBRZK+fGzQ5PQg/dNQMTKSg40dBjGcwCS1 - 5Alz95N9bHIDun8CPGfzUpVCO4DHzMLTCVWAnC7tfUqEczFLK2GBzpWUaaqq0rc= - =M8S/ + hQIMA2pVdGTIrZI+AQ//Sq5rONN3HnKGiIuu3X7KQPG6tleyBIhXluaWrA9/TMK1 + 8hAkOa+oNtm+vQSSk0+5omQVYYgN5pfbrb7BsA8p/4oYC8MANfk8LvrP60Wxj69w + 4CTGFz/GtYhI4vcZQnRpfM6VcoVgntCBd/7zPTS2rcn6Gf7F6BQwvfBaE81xGdiQ + Wfrazpf2sfuDeIFkX78VyuOU4ls4EU5dePd0nlagfebh2nNlpqWYssrxkQqMvPiS + iB2wXqlkQDG8iB6yJF0ZMra3Sx7p0skPis598Tudr93Wq/QYmxi2rKVfLZ5LHL7E + i8X231kfVmVBLYlhwF7AgB5SJUXC/jq8SARofckBBTdTsvf/ScOHv5xVOheR0Nmm + /BYYs2h26M5E81AREr/0ctVnp6PdsuBkU+yIhgIUp0gwRD8iiJ6ZYKn4algo39qA + ZLl9sOqcsn9V6ts8W2fsJTv0FSWIdv82CmEZgJKe20U2E8zp83qb/r7RUvwhnFnZ + X1aHjQrTkQZJiKFowShW7gLTCokKRxZ87U44kn7qFlKzKp8DQ4bHGz2Re/v2Z5L0 + I6/3jQZl9RZ+PG78Q6t1fMQ7WefIow1Vn1uuW0YrcCIs5Lz7ZZx/mQPE1Yxlks0S + 0p1KlREj6wUJaooAbBuGaPTSxooYxUg7Z3f7JdK9cuSXI5N2BRj9xeMI4of0kvjS + XgF3lA1BoTVxs1bc39upu3Hxd/GuMxtl7JKYQOfi22owFfOHElEfO9lC0G0ZW6uU + Zbv8SB5hLH14DxMBeNUR8kwhjpRHkK2vCV78KqMFbbyHqJen+VEPqQSYm7lvpLQ= + =CA4g -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-03-05T19:17:58Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdADBgvxBFD5HPZrsJohKTA+S7g+AT/ZbJCsbwsSYUJdmsw - FtP71fKYk5H5iW0938L6bpTR2mWjG9AzTNEXxpkymkagmoTAUutC5Xh4+qVx6OCp - 0l4BgRYEm6hRR4q1DlzEzBCqrN2W81ZYjuRzrCMkNKhvmhWeqvYB366n3wZBIlsH - g5lNnMt8+hS0bAgrmrfsGH/QrhDC4vREmQJSDRVFmoq6ka6HLtxlQ4tR05d5p2cB - =1Eoe + hF4DKKbvh61jX5USAQdAcgRdobWlhH3r5R3kp9hezCvdZF4AOWhHZr1hBk6QKVgw + CX1bWXv/wPJOdnCIEibROYF3RBXCJlFVTcrghMLx6QdVE5PmGZs1Qz76+aqrqAvm + 0l4B9BozhN5wX07YcVwvHa+SK0IZ8HuqSJhTp5tUIH/RlUAkekuT0l1Ogyx2JfO5 + p3ESSRY+WgDTqwURfKMCGaTRzrQWex1MgTlqSyZ1AJTEO+fLnJeopkhc8BY4aWPw + =ZpqB -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/zammad.sops.yaml b/inventories/chaosknoten/host_vars/zammad.sops.yaml index aec95b69a8..693170cae0 100644 --- a/inventories/chaosknoten/host_vars/zammad.sops.yaml +++ b/inventories/chaosknoten/host_vars/zammad.sops.yaml @@ -5,212 +5,203 @@ sops: - recipient: age1sv7uhpnk9d3u3je9zzvlux0kd83f627aclpamnz2h3ksg599838qjgrvqs enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBnM1FCMmNRTW4wUVZNV3Bx - S2Z1SlNvMk0rZkUyd2hEQlhqWE1kQjc4NGdVCk1oaWYyRDJZS3BENmtEVm9oSDdC - QzZBR1RlWUpHOVdyRFJtZ0RHdlE3UTAKLS0tIG1pcCs5N0d0QmdYWWNRVWJCaTQ1 - a1dKNEJKT2pFUll5M1ZLdHdzUGhCdDgKstRcbgqIPcibYXvg8QoPisxoJatnUXPG - WAyOaJFjY3FjwZldIacUtlwa6a+RDQ83U0Finus8BIaedmd+/fx/5A== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBiUk9ialRhTWpteVFFenQx + L0U2aVhoSGYySXN2cVM2dHJhZ25mMGx2QXhRCnFJcFNQWVVNanlvdVRZV1IzWnJO + N2oxUEtCZFRKUEozbEhGL0JpOFdGdjQKLS0tIHIwdjRZMmtBSEt4YVdoeDJkZ1dv + RTVaeWVXdWJqNXdXWG85S0J2Tm52a0EKmD/cDclWQktf6qomCtj/YkLyATM3kHyy + +i4OuD9fyRq6CMpRiMEpLrQOf1abHGYUjZgnzW69zV9FOgBkLatOhw== -----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: "2026-03-05T19:18:42Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/+IRQ1BIhN23+oJOZdVKomp9YYMYtYD3WSB+6NxbEMTd4s - uqcC3xqGAyzZa3w5amAyejb5RsmMBk67AexrLsugYiNsqJtG+ngpxMBm2En2pvUR - 6kMhszOAwpESqk2NBTemZ3vx7f3Je+NNynPaClX4Wf6Psf5bDVYI9XFh49z1e7KT - arFb4yormCA6dpKSQtw806TPzQWJjcOABMDnE0J4viDsC1Ph8hsQFHQwhx6N8170 - NELVXO6kwFVDBgAw3efqmlV3sL15rzjFfJWJJoYA6bxmm5AwkAOwR9kZHnZS/xuq - eAw21iHlGa4CE93hb2FUzJPBRXFw41J1iF+n+KGL6g0tRuoUeWe9SYzBnX4B+6q0 - e2ic6aIKnBtNTploPeow3DYTIBj/DtFglYsRu6MPF1sDfjbH7Ducd6GX+NO++0ZT - cVzeRwrkERClCmjeY6v88aDJdxXVUx3vCx+eYVSPgDFnzlBa9o7oWbUahMw88umB - 5R4t1UACBayAvkihCZlc4blYLqFHhI47OACVvU15Y5XfinHZFp2HCIly6hth/nAm - MAv0Ri6dUZ6yszQ6CCWhguaHmO1rYd7SbrfjJUu0aqolp7UMrIwaFSIdfII429jD - W4quP2Oy136DEuZnJY5KNsdE3GbLQwJHlZYfmEOb7xYztiEuPUdzwD+qYfyCe7fS - XAG8u2rjpIWO795IBytO0jfe4SDPxrnrNF3ZKxZ4OdjlsQjfyuEu3H+C1hxK7gdg - zt2iErAs9HWXcen29W9BOgOFrTrsnhp6NQvsLOLfiF8rrI+8jowjwUc1yq5O - =twV0 + hQIMAxK/JaB2/SdtAQ//Y/qOnQlKryJe9DG8y3usKT3nXk6yVt5mBrbt3CXlgHqt + CzAFovPOvIroG65SgUsQijV63EalaJ0f7002a1GIOOCCZOdJG80aZwjj72ZIUpPm + ia/hIZ6m+VMCPHvpihiwDrU4eROOzl7XCmPT8ub9+EDzghEIT9UduYtFNOdfX8QS + bODRoaO0SrpgIPo1X2UYuRqyLbSSjDv0mE9Bo2f8s4ocHwCd9qr9rcQ0kvyovQGx + 22GGi6+mNVgMpsIWPDBqBZH4qN681sHACq7pbA8DXnl0DFSD7Ellp3uEGObkrQfZ + cjpUe2tsw69hBxlNX3bZNWSjSXEYHz8C3TWF2GSTL7jIe/P49Q2LHq3fV1Gp/ERK + 8yRfVc8m0KGEjPHeH88mlPJtUDgPwcCbz5W9ms9s0OlVkjXfhBIIRPNaV8/eYGSq + THnUHTNlp5JDSVvjd+V92m2pCBubj01PHGS3OgHRa3o+HF7XnQyI6fuEH879zbv7 + 79pTnp1caS3N9unf+Lx5Fmrg/ObC3lX66X8/4S0+VK/ZkXBz6qoW6ondyyfzAB70 + cZGb7CM8p1JO6t7FbhVIRPaN4sA5N1fDxOW+dZox/TSH6Wf1XB/FofL645ajlhPs + jTHNq1JPo6JsNd9Q2VOJI49za3VqSilU5GaNObbL0swpgMSnk5QDS2MKscedxVPS + XAGC3dgK4Ra7kOuUMnrbo1Iqwg1TUq59WQcvWAHbM80yzzrFylMRb32zUQ6dQB01 + afhc9+6Bc3SEcOiWWKv+t5CtB6E9HvHNigPyehOALRGYNDyA9U2XyBFtqg6H + =7ICm -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-03-05T19:18:42Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf/RVLgldmndorq8KeSsQQPGvAsUayjkAxEUTse9WpOOBsE - k4u1fee6ZLKCGJkUCiYfORzoIcYzpjqVnMh+atfZKyEF19/MCtKa0VcxEQECfqr/ - 4RUIKO6MGki9fqPxYn0CCfgjksAyRDf03KTMvX74A9tYffE7X7APcK8LvqwIrz7L - ru3a/aJ+HqOE3O8aMDLyDlYHFQZHfNcJx1GrUuiHo0LQr31dZDgnI4YgTyLSAcWS - asXjZlGWBQqxr0Rq+9bFRkSmizjq9GafksAPN2Wq53T+HrLMc/PFCdmHwI90SCp8 - cpt5Ld4xhP4v8ldY5mbTc0DEFB93u83LMQNts4wZPdJcAQXaT8yU1SKipEswArbq - 6LEOj4B24OPmDju1e90auCVc6Q4zOjvjQckmGBFgpVVppjo4jRVXHF31FrYom67l - oQNv70kw4diwSUu2BnNfWlrYV5DHylwfmSMrMEg= - =0g7m + hQELA1QflAioE8i3AQf47JybddiEYo2fbuxwMGzAauQmZILc/Kh7UG144Ex09reo + 9DQAGUM0CTLUVOLPw/tH2NBFtBM88w5SN11bZX7ryFHOBDZ9nbZTYGHYD9dbRzrJ + I7BKIqJlU9tos/IvxB53lQ/nSbrxXONfUz2UTtipVnrD1J9mDEtXItRLs20bm9M+ + Ixm+ioYY4pCcBZubOGiJenX9MGPqeR9DwbP11QPfDZJrbl4D+Amp+PumdDvay9xJ + o4y916axt59D5czuUmhy6JnqUq3sM2dNQLDdGaf6oWzem9Vwr98ja6Z0OzEoaUae + OAXc3C1dpBabMiWD31LwIx5cl2950ORYFmrirpM70lwBYhuNhn8BYe+mrO92IcsV + 2iaiNz/pvR8yaJIXrdAWU/B9wH804gLzQ3rk8Y2ZJtB4/q3uIi6Gtp3xgvcSRT1l + ls5E/W41FcDyxiI9c//EcXCsgUo4LkHDrTrAuQ== + =2Web -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-03-05T19:18:42Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAA7HNBSy2s4wO+M+9nPtX6Jbl5urD71ZiUR9P0OmTb0tio - fFnvVG6PDbWeB+itZkCkFgKFuNT89Rd7C+P+dBdF0G1UYzwGBrYETJ9tuJv4NoUZ - aaC7cez/rd35wH2GLYYUZbW9pz4aXHU9FaIGyGEe092bIkQEli5+9gRPoN7kWsai - r8tk+rygRCXJ4dKZuVPRLYLND9HZAeSHEXXInrwru15E1k7m5s9TmjC9yhxI/5Fz - EpM1oyAIfQFqYt3iSujBgZNKq32rpktfPGy0MpwpZNSGLjwo4LfIUIIbgwDdDgQ2 - qJIU+W86WXBtlfgjge/5dmQ3JQ3+y8oMR34ZpHkBA7NCQ63kTzQ/0sLVg2VIUuRS - ZDzvsXFCWmbGraiBwNQrqddB2GKmgbWGN6u3ov6RcfF6voKmS851yEfpCbdjOqDC - rPpIMQl7Uf2JVwEdiXQSAVvehZ3uguusKMKKLQbNDQ4lfmuhiGfCRXHX270eeyct - M1RcnnpXI5ZwYWZZ30FdaFQDSBZhz9+yBepcmMDNACTMJzfuBOqI7AqR76pfBl2/ - 6JsgsP/fAANe4UIPGEk4wD3fzedvDUEiU9cg2RHpsAzP6UZrD39d693fnrcrvCuD - 9Gjr/uxjJGnPxnvbUYjCEYQefuHyd3JKG4AgKxeHw8as9cwvyHatL6QtrvptlxjS - XAFQh2Vmgafua763uRzXJcc2yfozRgH3De4qjOWkjaCzkCdnhbGY+iUE3DhkA61x - WAPtDDr4DwyxqKMVtqnTF7r91sNON1L4x6adWMkQlAQ/+FZ6tHRoy8KUnYz0 - =6FmT + hQIMAz5uSgHG2iMJAQ//U3DKUcfd1cKIOvOk+4ERidRNoUDOaew9Cg8myrIkfsAa + Z0ZUvcPgi1Gi40V7yqdUFmcwARE2Uqqy38+x5diWdYyz0RJmUwrfPS+0M3BnUDTu + l9zrG4pqEjcxCCh8jBM0ycAsfzRMpgKswO+w3wPrz7t+94RZ+GKOrguSFBmjdrpu + 9SiQCu/toSn9AU6kqtM/uKvktsD4xoyWSjVUOxTSl4FwO8sC14JaijJMCFACOOYj + yOVTr8uz2UpoNoFOqygbdupQTaUfyDxQubAGOxcDySOA8nAUmFHCk8kfuxa2STyM + pqrxIcBPZXqGnGmasDxSJcvi8+ziW7rejv1r76cuiwD968GmaXH+Aa7eDUZnByt/ + t+xJ192jLBxgPpyK4+Z+AVqkeHKXS7Kq65E3qVuLwuo/isG3IpjKObPgajEcvbCj + 1qU6QZPZEV0XIeMVnbYL5sTkrXISRHr4g7cVrkdZ9FjDhxneivmU30AT2b4778Vs + 1tUJu+MQLb5FWv9x+Sa94eFg26TForGFr9z0H6RxVq9m0Tu2BFFsjOwkEFA/i163 + D4WQV8pUaIp7HltXo9g0eGpTBCa+AhwJg+bnMTRqLWF/xd5Mvw4X2nLuGkv1RScp + r3sT8LRnCGFuSfbmF2RK0VGqPlRRnQyji4JrUgxHXZx7UPZfsQzqNlaNPW1LUVrS + XAEB7xXLi+W55h326xBlZOCTkeka5dcYDjzEzRPcqPUHwZcBGD/GhmTpY3aPeyVb + XCwBc3tJ4epLoy06B2uDxzKO8EORwdsgmLnOmcFeVfb70wuLXq1HA2bWqX8w + =v9cs -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-03-05T19:18:42Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ/9GWht1c+mn7HTtwFD1408YQcqkRJMKgQIvisrwab75IWl - 5M1XlnvLWJ+ubNNx66iFtLZyRzBD73SfobrwuPxkQHeOvdoUtMSfM2We2eoel9cL - 3UENtjqobFoz9+XI4Z41/J0T+xHUqzTGnIpsPagDvgRLcl3YaG1Db0WDbvFaA3by - kwe7TNhXi3Xl1cqW8pVlB7Sfbw6ca/NLq5ceQbDSR8pSToP+cZEjAGaA5/+XaJfA - 8gek3iorkT5Cmkgi90lK1wrGsg/FLX/xmUZFQaaSAWh9byYmDrGtt5i5jlU7sKhV - Bj6j9d3jCixEB0B0fa0Z3n5FrTTkjLA6zsKvHtU1KF1rcs88kbe966ZiNdgZSZFJ - yOqj5TXryvYgGTPODfqMwM1me4+XVALlas+TR5gdUOJ0lQs3oM0XZq842VREDCpf - yN3yK05zqTpLVf05+g0E7uqJFgUQm0bIURw75OYMESx3EfC1LKIb4EIden4Srzar - JdlPfjAPFm7gwZkPzxao0O+FADLN1JuJjQcLT04Vg7j77lGBspDXD4wPjiZawQsa - HXeJOblQV/Kfxpx0meN2ZVYHleK7+fAC0TzhLB+gpzcRf+vlvHerZxRUcwJKlzfS - wjorFYcqz3uYGKFjWLAstIZP3fewhYpNLyBSwf8x0HjRn0+g6Cn05lleRiFeCEHS - XAExt14BEMIboAgIVssaOmwCU4BhdGDSinS/zfXfaXQtzo3wLAS14sPzcDAREb8B - zfKeeiW/o2cIA9+s6SsOzBsGqqQnlyz2DtuWpYWuWEQ1AwL0ONfAhXhHsqzS - =797j + hF4DsZXvxFXTXoQSAQdA51i4tIZFBWutZ8EAvFW53J19EHspN4CCXXi2imwwQFAw + A1xRFAk+MtiVDmHY8ANyW4VlKCyc1ykICZILyhYwmHXWYGLfTjt3XpcX9Erh753o + 0lwBxi1DU1cINl/49duhcXXF9Esw1UT0hI5Q/2ORf6YLrOJ8IclJXI2EksJp/5Oq + XmBDbjpQE8LhsnQaIEeNqbMn/YBZlWBiy6spXiVyiPmtjYH2G7gFte5QykF8uA== + =XxiQ -----END PGP MESSAGE----- - fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-03-05T19:18:42Z" + fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAlOusbtucDpj65BioOXpcBPGCs48XCkvOWtEHNb9SVE0w - PaBtelaWfFxOIheeEyzdgHI7UOfX67hTZnCXHM8nkoyQyj/q3k2Okz3DuNwTN3eO - 0lwBFBNCstD8muzNN1sneYwKEi5OYFODEAVZPLYI3Hqqla2odibOsPZbYTxELBQN - EOfIU5lQhuyw/QltnIp0Fyj8ePIMgJ84hNJ7z3kT9R6NgiDkiKyu1tdzmNjGFA== - =g1oc + hF4DerEtaFuTeewSAQdANDXcR6Rl4VMkuoicRZLLisZHp9v0PNwCjQ8lHHOpzWUw + l/GBcdkbi/UM+tpymDfuf5PqW28fl278isuUMmcuXmxZaUMywv+Gsmd1O9I/MZb0 + 0lwB+6POGm02/yZYSv8nznPCbYxwgTjiNhq9ydloVenowYI2cjHeeMd6/LqcV27n + yEKbZ7hFKab1Rt8of2e9IELtisMg+QfZiNeMI0a8IdRs1q6v8y40sjGulV+7kQ== + =0tWR -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-03-05T19:18:42Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/9E1GBu8xzxPVYq+eGzF7bdV3hYI67pcESdXQVsNtRkLUV - p+dYltU+XKIzQXRSTlWQ4Ucapl1Yoq/K+ucdiDSAUQ4WeVxv9mdSxsEVtxRPnu/4 - xXFlHziENk+6uMcNIQrSZrTdwL3Uzk2zdKAAGpu6nfK6LoQQ8n/h8Vonnzy52gIO - 3BSWH5Tki/N+clSLRN4zoxuf2yrxU2Rl3ARdC88gRzH+K0FmzVQGTLG93sEpB7kp - IHHzotTwWI7VxZCbjkotUXqBcAW654axiPy9AM5yNQTeInUoAApZi9lDcZqEkldN - CGFiQoSydWcmC3SGKRMqBeYPWIHf/+ymcQxK/tZMFsHUOymqU8WlYISWRNhJePPD - ew15097QjD9bB7uyFmOCQix2ic+XJis9Lg7po/BJ+znCazz64Dmv3J1KBvPp5ucH - Dmfcn/AG6esMIevspp9SyMCkPC6UjudLltFek/H53he+00owSgyUlfc5eEpISRDD - +JHxYnGakQCZZ0jilen0MN2jFM+6ICIW/BP95aJ2qRw7ltZQjZW1x4JrZRN+FoyD - RYNMSMDezYiSN/VEdA27tuppu/Rb0rU/K6Cwz3fRt/YC+P4uiFiLipsJ74BcbEgR - PfCMRFx8vOA56dHsHeU+WOIH50S/1/easekia5TQklBOOWdK6DB3Li4u1oZ8G1TS - XAF2lZpOkZTpbIhWjV3r83erA2P6VWvnt4EsjHhxXdi3rT41pNv5qOkPhFVM0SsC - Hs8bgCgYuNQDcfNAwO5d8LVuRxOUrf9jnzGd6lLl7taT2z5QbiVh7oaT7iqI - =HkKx + hQIMAxjNhCKPP69fAQ/+Mg/P00QfCRt5NAFGciA5B6ONBbZfXJp/Jr5perJRvVDT + cIy+DWtyARuVR1aH93+Jh7BwEGR6SegQGZvUnIN2cJPhZ9A+6m40gImca3Hs9+6R + KYADrgCLl4McqwvNV4HKEXeZ3S/9GvkhPsFrJJJuEc0CGRSBxwuOc+EXykmZ02Qh + IHoraVOR8/dHIMmAxwJ8/6LkieHsavtbiD3k/2Jgg72hzBXB3OhW5I8q6cojKI7t + kgTyO7UVrA5LG/8etj/7RWU6lot+Albak1Argxqmhcs2WT2F9bLAV5PG3Fk2L+TI + ykjO90RyU9HxWgzBcUMj8CcDpbxug1sLmLiUBOTtYLSOGkNn2YX60ahzkX/QU6V/ + ZIiaGT4O/E89TNHrHYli81E9m75DQL5yQycmhS9DCEjoxjGgLSESNmkUzLD0JSoD + VyyERG8YimVnc0CMS07A6rrySQ3GeOqxDFHQ/gTb2sAJ4d5zY4kQ3dAWc9YNu38Z + OxzZX8yTRdiKNsQjByyJMNYIq+boPbxjqg/xpifL6PVW2zpo57o44/Ip5Hqv9C9s + BT+iZ8iCSyKaGs3Xh9zv+p0dNb8SkC0Tvi1Bn//Pvl8FO8hqfVJxc1HM6B4Zvi2M + g/H1dTv79f2o2cyTrdcJnfVxq17hK2SdE9cVCFYKSI2ZQ/r8f1oahn1UYwruOlLS + XAG2bopDm3P8q6A1+0IEilSzU/fSKqFLYwEFULN30z5Vf8+INf8lcRYQ//1EaY7e + dywylQJub9LXs8ZEhYJ4JkBt5rWZTD9TMyNjdhWGE7R8ixDJrOZeIubjPqV3 + =2wTR -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-03-05T19:18:42Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//QYbwswRKsQqnzHiUXc7N46V40DatTuwXF/VSITt7O3kx - PDjZNR9n8UBxJKsOZ3aYdJjfvEp6IpxhlKoAz+sX+a57MmaMjbhpIU5R+IP5NMfH - 8NyOPKsRj7+IzAnFar+/bnAjKtYD4He8Cc9XDl9/kZNkptB/khjv/9ULXseOUzlS - qkizaQlDGcVBrCJHM0B46lrNBn9J4WqzY9KMXVAyQICgf/4qpnu0QUulhElD3bSq - 2KSoLVRExkmMueGlzDAZfvKu6VNWd3CK72hkYdaqQa0Abl2cXWUi7jKjTaOI23IW - KNd1ne95syTWuY7mQATDxnlqmialh7kl/LIwc3TeVp0kG9iEUvS5gEJuzDAYgQV4 - RwfRgTPmkc9SVCA7VAzE9QgE1izhVq6H9oAcHEBo/ON2cCDWsbrQDOj8BjgZTTCv - douK0sDYmSLikHMk00bELJ1C9OFj58oTNoWxSZkywmbXYFSXb/tfCD2I2FGJKthx - kPIKpS6CQdbfOIOs46RaVE6ZmysB3D3XUYdBE6TnCxnArUmzoOpD6f6s6NYs7eO4 - GBZEaWij3pHCxa3Yz06ZpwfRHRkvxmwu6rPdO/kLKrBrhQ+8G+hT/QCrNreUc5qm - LGXA0vkW8imt3RMNDMmXl0NqgLRC9CEq3aPepxyVB9TugBqhpjW1qP/jpa0lDhLS - XAFgSTHr4by33cfOn0LiYQS7k2uNzME9S9cNUbJixn98MJUYKZLfs2YQTk0X+8lL - GbkuaxHPWFuqfTNPtKE6XHv33qR8966+MNQRcKUG1dYSOSzOY71cHCIftg7U - =EPZy + hQIMA1Hthzn+T1OoARAAnOfPaRQELH9srMxcaaZ8aqcKN9EGF9//7wWgOtzJsZY/ + 15SWJPfbcoAgZNZGqtENvZbPFZqemz65db79Hw2rIQBvj1VwYvX3+jygu4s4/zuA + dgj/P4D47fLz7O/auIzWlBBAGJd9WaPL8TYfpum5e2k186MQo/8QL4l4I3Sr0XO1 + cOxbcR8ObeI/K5FFuTZt81QQQ3WM8aOoe+s0MdZIc6F5DmN5UuLLqpGySQ/UGNDS + krKg3Rsizf459M36+2xx5mZMH/z6giXgBoo/2xBPL76KmPhCRy9ihRvMdyNA/tgZ + wdud2+BW+PgPI2sdLQvCGOtn5GuhLX4KAp13emddg1xjZJJErKQS7bDg3DR/eytJ + Ob4BkWkUuU9UwVKBD3+hyHLMesnW4WboecFRswFL8gq/SigX3HMdutl7J2TjMw/y + oLjVDIssadWmnkJoke2lieWRhsCj9Qn8fWg9V1ZKjnURZG3DIdrVemGhhRRzFf+d + mEbOOmZ2EcqjwlVG+aJCldxIqRYPaAY0GVFLl/979/dDACWp6EN7uarYE/a9I8l4 + DTIzHWmBQR2dvynWV7o311Tl7Ump15usGRuj8Fb0T/cGmieCedBvCqBXzBpp2BoX + yBDSzgaDrfySRF/IKS3fVQD/avk8EaerYkmSghMMQyZDh3qDyx1vOiBatkEMu1XS + XAFlMF7YjuiBzbi30Q5R/yhsOy7tA1zHnD+dSiaYe2RGizSzMe0IlRZE3jkbNPOj + sSbTv2Ns0QekEnyjntLXADqGrBJ8uvxdscf7z7h2Y6IfSyoGEdDjHOeuawDK + =G4yP -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-03-05T19:18:42Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqARAAsaKXW+pvpC5h/fkHlMIHUh6whuJuXfWlUfUpbdooNU5n - ErHJ5TQkCKuoHSHqJFteWMMckB07JPRHD/fRziR8A3wwZAczzImZ2ef5TLwOsSgE - O+l957+16JP6TsnRZTemvIzw11vAfnzTNybx4f33aQzWwuJSgudbPv6GEH6GP9N8 - /6cGaU6zQlw4sx27DIddccMyj9r10dEift7N5WRgtIoKEAA+YBxlo7cy/Np4qrfA - BzsPfK9XvzZEHi1aQZNb9C1pzCpf7RfGZaj34+ltos1vCUEWTzq2499+VW5SXXdg - pPShxGvnNfzz37cD9V4MTsQS2AjjYr8EtKLtfhwtooWfYhRzYrlTxm5ETDOshtU/ - GAKWAc/su0mYZLCwi7BZARyX0nHTJxOrQ7/VQ7eCenmd2AeK9hs0w4k1GzXAhS82 - fFYNzY5aX/E3mtWnMwwfN0W/A0TgoWMMd6kabtd/wsUYyx2JLusMq85XNgiFryRi - ZxpbK7iFj+a6000EaZbMZX2yL4IfAYo2Ew6ZiupAvx/SP4qSGrHDc4g+CeMPBDqN - Erxda/N3rGP6eHxFLNVk1jl9xheqd3ILwhAi0cH5agc983yKUbxxGAL80QrLWCnk - +7Fg3VZlJaZS7N4wuqpds1pbSLh3Qq+dyoJ53leFuNdQ2H7y1xC4IUal7cvxrerS - XAGHWTIasgKWbCBVUikvAZu7DCYMbUwouK+Srdz5FCe3ZFwbvYJvtymBSB8ko7Pr - P+Y92PJoaX+cF79XF6a2qiqWFu5ieoUfvdfkMsWIiIWkfAsowkQLDxAmi68q - =zeV/ + hQIMA46L6MuPqfJqARAAifu3QXwLv15jfdZ2UUwkq+i3n62B4vTT/ywzbHCN/XO/ + TVsDQ9aHC7W91uCUus7NLNf18zHojkHVSpSuAzi8v+QR452JDJvg4cuWs5gaYR+u + 0qAIyJ58HJcGZTkOVX76JOd2HSiiRkDr2p4m5979DdKnY7ta26DC5cJrmlmQghIj + ElSjvUE0SZGC3bFqLHlfrmiQ9vgU1T76jZTzqQNWsH/L9xQXMyfT+KsLsJCu/NwP + 6W1i4WonT74C1Y+aK80WcqHE3If4wUDhZT3Fqgyv0i3faWhwD2WipgopDPKIbIyO + MEjUVHjPy53oEW4Gf7+OJkA4IfDqJrLzdnc9I1lBl9GgDJHhXfZQ6vAupX7lfZQR + lP6WZW78Pp2IeIGnn211Snrg/0F79AJmTqzN+PCFpLKiiqbwQhQKXoBkR9zZReRF + eJ+rwXzdaZV5Y95ToACkESLIskiPXtivqVxXCX7VPZML5xBNz8n/qYTDDKBebLFA + v8t+NCA0K/evT7PpIsjsUnQNNz+L3FQ5woc1HFOxtyji7cU8q0od1KDRHuCUBk1a + m5MEqE2N03GmipYZykF9bOo6LS3CtksQyPLpK3F7Wq8IsHiUZOIdsuGVjg2cF+95 + IoV7hFaeWZgbE+BR0KbTH9Sjwt6fY+awtQTIktgzYubudQ7N5xRnf9ZygZFkY+zS + XAHAliE6oXVv7DYBBtK4jQEBu3EQfcvPOXlGvztPPLCsMq/MnCv+TfPQc04Oyecx + bLjFh9cGQhQxxuUDnMMwud7KHb4foRGXoxXs/zLhOL+c0kkBrl2aENvw9Izt + =JJkE -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-03-05T19:18:42Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAHQYaHA/5uKJS/HAZxPWjyNTZ6ddIqbwarI//nE6DUD4w - wep8nyQlOjh6q9+mcVqoVQfG0wogJVj08drNFin6NMZWakDT8hhsImldLHcuHtso - 0lwBzDrNBg/S2DsMG57L+zzotv4tynePEewtS0dZZKv6iz5SAnvGHQY0cmDrNCHq - cRPcFeAgKSO/YBi6nvXIRx52WCt0SD0Xm0B1keTswIkkIPWZSQ9CEQkD+t5Q1w== - =uBw7 + hF4DQrf1tCqiJxoSAQdA1UcqjGUQ8rUIDSJyxZOCpB8yZ5t3u1CXACE7Emuf0Ucw + 10myhPwPCRQ9G8G2r1AVrtf71p80gbwB8huIWEtkBpOJtNf9z2sijfYaNmT2ZNub + 0lwBNdWfA2Xr4Dj5AIjwkx6Ro+BrvxSN1s706RxGTy9Rcrln86AEQeBxrjas5vx+ + QatrVEID2T8D5Bpv7HsR8IsEHYhSazhajRhfZk3GIwT5hcj+msZ1P1bWfnQ2XA== + =vq1i -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-03-05T19:18:42Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAIpb2fnFlsM3Z3HA70kF5i6iWOZiWsE7A5ar4WbM74m0w - hlqtDB9Rl25DArUzMw6gnZrt1SMlrErZia47n2SaYakoY7pKdHNYf1tZoscbDyqP - 0lYBv2rDSW9rwGfB34w5AAuXec1e5nx6NcUKDoDI303CBRA4qqtXsP6Wun8OkBJ7 - N9JxehItzL79dp48x+qHRwUlReKyvvTJOs/Fg5TZsHqEowb6sS9v/Q== - =XewJ + hF4DzAGzViGx4qcSAQdAiGD6B23LYXV+4+DkL8v9vALYSHJZDDrp6xjLp3Ht+jUw + Y3R3xlkceZlX2CbBYy0CpZ+ewtVEAxNXCXJFv5shSrnUG5fyOGVtA7iLRLVXJieq + 0lYBVUhYVi5B/A/8olegrqDqT+ZQMrj2hfDkSrozBU1YBZh3RaKkztcM7rD43b/3 + G5Uto1Tkqdk9UG/EHCYFCB5jLOCXF4x716q6dO+kb8YuNET9tTxqkQ== + =aGb8 -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-03-05T19:18:42Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAAx+MrIe1xnrHzlk22cvJ8lY+Q0Ose5vF0XOsvDctI9F0p - mhLKhP4pUNa6TKV5xyo3t20kdM9Sxt4Wl5rZ1ptkdLKy0fGEbWvYGaGeguQGnvpz - q+2UyDa9j/RWcjhbnOzeWZAcw+mhHAPKLnv7fb0kujq9wUgdDIIH4vlb5fEUfISe - xeTFeKOFSD20TFOyN86p6BNJmO9vEsu+/R4DUJjf8m90N6rrTq1AfS/XXTz6zbLX - icWtiMf/MEUEoAAwhY0mZpGjYDYWXRKrjbDX4oha/kcxGCEc3Y9NCcGQtj8pHOZs - mkd0MpyojmuiGQPmB2EMJb5leLFDt4G52H2zqngzKYjKnPQzXXAV/bYyy9Fws2i/ - th56t0O+KVyYpPvtRbC425hzKWXv7RGXuEv2U37eJyaYjQrbKnuFyvghQTgGHck3 - LNXs3ETnveMAfZ+79Uz/bnhYl4F7NYrhDqlHtpeEHVWNmXWzMKdR8yw4Z5nNZdk4 - XQwfpCvNMmrSxp+Vkl9dpnT7Cc8j4k6gslV1Qenb8WvsO3G0jxmuV+ZoXr1vkuUZ - x2s3qVQQehj+mAH0YG1UclxWxZT/dtOMRpF0eesmkDGCNkYN1nCjAKAlCkXTYLRV - xNKomeVO+VvknH5MbYuIZEy8TFEnNyw3ARnBvagc5JudosgqIsNIBM4tgw2FSK3S - XAHXp3nX6xrVDfL8pOqI6zDCQT3oxmlKu4jFh3MMZgVE28bq8E9xFa6AhPN9//Z1 - 4rX5uYQqUVy0J+rTKwBUsjdMP1FpasWGxJX+XxKuCSB6Lg+X182XiBizy97d - =5DpV + hQIMA2pVdGTIrZI+AQ/+JvbMDNi2bk3K0/qgixwyPm9FJ942LARMOj1+XlDB3RwI + WYVoooTskcfZjua1mptqgmiFx33yQSxonNZT8ieaIFN1e1hUfeAqNct2swZqExY9 + lh0vushgzFlyqw4KV2K+0FZnrVEKFDF3IZXFdZY347nT+KJqrjabF/U9pV8HPuZG + gq+8EwIW4VTZCW2fC+2ehaqSQ5JuUp+Jq6XGp8F7ml6AxlS46sJyQwBLZH+6nFNw + U2+gbjSEVd2t0soSpfiS7bx5piXx/B88v8BcMWtXP7C+7PF3YjbvTEKdBLTHfhgU + cSqZuONHPjurKjbmDvQi3P1xeuGK69VP0iHv3oPjsje4tn9KTc9BmwO3i7uCtWE4 + f3GStOOQ31ec+wcsKlgxBRZUKUuPDV1YCz/mUbERhi28H8u3JrzKsfbEFhmtTng4 + wQLbSz/bky/XGAkUKGuDIaLRH/JT0ErSA/Z4riwE0byP3RSFFIWr2z6DHXnDh8rX + eA6dUnyCa45CqSJXWONAoupQfARZn+a7NC0KCxVoRs1Q8KvN080ocbzujGUiWl8S + XomCIRcog+PJunBw8JnX/IlSXBwmSGbDmUhuKaYF3LrfUCDtCgJNXsZBCkRvLfYj + 5GFBfuZssFEETcwwFAY5TVScu3sZLOMJToHCu9BUvGA8xGCjvIYi0WIwxwAcO2PS + XAF2DjFu7jUrfhB/0ytEITmRNZd5CABn26sWs5DirFheozFPN8Ls0aFZ7JY8s7MC + uJJIQ/6mb6dMaZ39OkEZQA8CETlP0asCbq5bWf/WE+UD1oyqBshRscMvB9E/ + =782r -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-03-05T19:18:42Z" + - created_at: "2026-04-18T22:36:24Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAL9lQl8vM6QP5zxu+zaJ5ZBhmOJY3DvWstqsq6v8QzgQw - ELm5+S3NgrkYvef8AA2gespe7TGAKYrpXVB68HgmwGUIVM2Bo2D5EHgotT6HnWkI - 0lwBSygTzltiUigL3PK0X2KBJOYus5i4jcIdHsiq51+JqrhXiv7Exu5i5JDzgDuz - BOumuF/IQfX4BGYpTjD4SfFzC1ofT+qTTf+O+og/d6aGQQ4rf29P16m9urXzgQ== - =zkQB + hF4DKKbvh61jX5USAQdA0llebdeoKqxhFesB2xTOT7R2QndL0MXI59GHjAmaKnkw + yu5qc3yflGCXjhsSejSYQxmsnRI6vOM9EdYUNy8Zi/kelam8VmKpreNDzMTLClvt + 0lwBpFgqvjUZFav69L36WCaah18KjvmrzN7njj++qYZdXxIIbrnXVPQIQr6e7ECn + urqhcXNEaq+e5RvVPCK1XuR6Gece1oKgV4vYzF05oX9LQucv40ZsYbLK5jIBoA== + =7TUD -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/external/group_vars/all.sops.yaml b/inventories/external/group_vars/all.sops.yaml index 20f6435669..3227919e54 100644 --- a/inventories/external/group_vars/all.sops.yaml +++ b/inventories/external/group_vars/all.sops.yaml @@ -4,212 +4,203 @@ sops: - recipient: age1p546j6whqsyfkjuf674lawrnk2ex653fuvwhcwt46gkrspkq59sqzm5y87 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3WDY2azdEN09VRUFkb2pD - a05zMjhodGgwd1MxdHZYb0pYZEJTaEcrUXo0CnkrVmw3VGZ2SFZydVJvNmdteGhz - b1ovcmtxVFNvVTZ6eGptQ3pxWEQzR3MKLS0tIG95K1ovdmwwRTJaVkpIYk5hdUxF - VGEzc1hRMElCTFZOSW4wM0gxbWxZWG8KwwtPXOULQ9VGJfPKUePkTHrAOpQ0345s - G4KuTLj5rZtFoEHgeyfkN3SJ2H6DRIAIsBlCOyKr6XzEtl4GZJl6Yg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB4TW5yeVhKamx3b1grM3dH + Zk9OTzlEbkNhdUlKRE9qNzdTNnZiMjdnT0RvCjFYNHo5Sllmc2R6NGpNUFlhMVBO + VjlieVU5TTE0RDREb29FaWhuU0g1V1kKLS0tIFlhV0JCZ2FOYTF4T2hJSnZmN3Qx + YWtxQ0hyK1Qyem9vN3YvNWlwTjBKaVkKQTTFmCO1n7Ls/byE7TBsnK2dlMhqzYur + T5Hzv6tvwyDWm5f0Evk6MO/2ZU5/uQ0Aqxt8QsBX3RTY/W78PGNCeQ== -----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-03-05T19:17:48Z" + - created_at: "2026-04-18T22:36:21Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtARAAlxz8dQOYkVXRtpRgB+mCPnGWiwloTgfjZaL8+Ud4GZUv - r9qVuljll3oWfmEl6FN9yDMwdjZhuW6SsYOPKOoKY3Fu+Ku2mQ649k8JKUFL643j - Z4Oabh7eRGxUri1EVX1J4MZViEOHRUqCs6qPxb9HP5LLVW5+1ZWYaKHqutzHZ8JD - wuRRtWRUkKm2mYkbiy1d4bSsgAhXQOBZz/AR+NOYQq6j814xA2wEd0PqZHFWGuan - bSolxtvqw+ifOAgTjI7ux9mxWJq2I/047O7iu9OEtDBDK5SHoVwCFCgR4WrVS/MF - NYrQ3nVLHG6YbPL2rPYtXyqNfQWBiYLG9uimkCPHvureO3aWLNsePxb3r4GnZcBL - nSSXKhZQKrKSdJywGzFU6TDgodi3UTaHG26l+Y+wrgDWer8aw/fW3QDoQRTy4osg - 8s3wcngeObL5NDE+CaZ2opUVc01yOw+Ta4Vq6Q2bC+r9yfZZlAz5YXGtyeYkHN/I - qfopXTsXDp0gymg3Mz62fVzOavveFAJx69JRqeAlkzIWfxjY7QzGEDtbuZjD48D5 - H5JzLV0JcBIysQlEufQ94abVSo4d3/w8Avt4vSoB/FZOC5HpPUTDI625ogInQH1p - BItUrzrWsNayxjRgpO7YramA4GvuyWmIBvq6MFXSB6uLbm69N9ZMNTyuaGl5TtjS - XAF8cyT3nmJNCWFybdHxvqBg0/IvI8qRX23laiNcxVYlvM0aX1UwwGNAkuJom+5F - fd4wSoURzmF4KEX4oKFPcieAWuASLIO7e+bgPV/rFLycBhjlSk1oj5JwS9aG - =pJp9 + hQIMAxK/JaB2/SdtAQ/8Crww3aU8vX8uAq+PN8bk/363XpXrSaLmfhPAk4Cb/rV4 + kv4u8wlTjHOdIxD4ELG/7HJazJ88Pql9cIm3rggjRCxE0mGOXjycqPBK+FhqAGlq + AHSwNbDbU55Kbky7QCRO9YiiBt2DkyyJ6DMQTEvJ2k4HNvDmteFqj2EPuiWAw+SD + AolHqbYXmHs6nwQzF0gdZ6SfUFIsbtympUIX3T/AUrpXWgjBj6y+SZcehk81jUXY + N8NE1WWczkFHBs6A/cv5tn7Vq/s1xS9yS/kLlX+GaxV2msvAts765CELt3mOPSie + iw6o7y2LgitXCdQTmUup8LmKwpb7YdU4yn8gkvxkIZN7F5Q94XKmwdsXEZ3UtJ4j + ZHWBXB42nF2MUs0LxiMLw17Zu7NC9jYLcCbzUf5RLhArABVeZ16mQB1Rn86vSP6Z + qp+YGl/iYHSMBMIvKbgZqZ0CoNQpsnzEToOVn37Y1BiiAVMl3rslWMO1Mqx8Qmjx + fjv0NjbgHZVikNeA3VDd2ZZ5lnQbRB7IyWinRucaYT2GKfDp7hoI6KkzexnwOxFp + sCzdkdQoAlVwKENepdA+j3KA3Vjm3bh8uksl18svNrGF+gCewUNBhp1sB+6c7wV+ + 6WlTdos/qHkv2n8DWa76zaWmLhMkpJbPbavrl6nbPYmOnmhVAEGRQozuK1VdmBjS + XAGxduJqsCIKIeYWYOwJ8YBovWpH1kX1Gn33GDYNMUVXMmwbxicLnk7fftnCw64X + g4OBaDQUSTU6dRX2rE0d5uZBd9yifhtIiF4/1MDMLnKPTkYPOLmPn49Ucxl2 + =Jmnm -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-03-05T19:17:48Z" + - created_at: "2026-04-18T22:36:21Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf+LmMQHLtVTii2U4fFeAJbaAUhh8Raoix9z857AMvvJlwE - 0uYB7gD0n9nZ1avXaJBzOOK//YbrCdO51rrXEDjFbfJfOhXODtVHjrKr8D5iPO7i - 7gTMjmqydtYnYVtP9uSOWI9K172ULswo9tv6ltgRLUzaRyh1aKmCKOiBArZgN4k9 - 2/pkNKrlmqRRMNrPU1R7wl4cJb9SredVoQgWvVPSmjINL/1gJVur/W7fVrRhFff2 - RNzd/eL07/Y0NCkR8l7DHRRHQmhdHZSXxpDHmQ6qv8K11lEYbAaackZBqvJxQA8y - z3IRK+4r91mbbnPZavqfd5FzvokdWGy6ZeadE+CMTtJcAUkCererongTxOVEYqg6 - dW9uHsvptsZ1JIYmbdojb1n1xrbshATHuWYnSmUgm0Iv1hHn5JrIaZt/tn17iYYT - oYWvrSFKCoSiK8LQ4FdbsLQSf9QfxMqUwO7SPd4= - =1+JD + hQEMA1QflAioE8i3AQf+Icpr5zLywp/iTF9zioL6R1r7orCwvu9GPlZYYke8eiva + /QlC1oqHB4SW1ewFa0QiIHe8wHYar3qhCr1qWDQ4UQq+6x3699VhFfr/AQc9hsml + vZiUy/D9GyxBbznCzuFvcqJRuVfvGCeMU2PExrLXMjMhyTd1jR6c9C+wZry3inGZ + mtnjCzxfh1EiZu4ZTN7UfEH2OEarkzs/4HHkGs0BBNI7karEcAWZ7TK6y82ToyY+ + vjmyp8l+EDzwYjTwr7stbrq+L+G1q7uwpfHJvfbhHgtYbQY14ER36R0a9jGG6ozb + bE6azBqVEw8wuyHyRIH4G5ess22fVULmC9dYuITi1tJcATONWel7Xauiwp+aJBRw + lyCt0fpCL84o04o/tztRKTx2p9TUXcNCq5iLG7+HUCyNDN1O9fDLDQVljfEUyjWv + KimzeOItIgKbCTAE9Gkg0u+zgkwzj0wnD6drgZc= + =1lLV -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-03-05T19:17:48Z" + - created_at: "2026-04-18T22:36:21Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAA1tmgWBwtG09lx0IpIKs8Ekq10rxpCNhzxhnU36jHYEA3 - mgtBNahvK/c4XVKDFVK3vjAVVblE5TLsT22IeKIfEcuxzLPgGm8TvC2gc3WdJBDS - 3wygANQ0DB+aNDBkDHZRHQQDSPEB9C42nMWBaNxO6n0up1bzhkSHusVYKL0JOccA - x2Rfjhk2mIK/p0N9Lz9tuLKfX5KneQS6YJwrHWcXGxRUkRDJWWmaKI61Yuq69yAe - Nniii3RdlM5tajJaUTc00QJOXbJUBcOsL/wTeJYt1VAENoL5BdTSYl6cjSPK/p6v - AOy8I4B1A7r3QEOuQT4YtCKCDJflqnEbafWN1BmHJ1zT0CZJHGHA/BZEWo93CbTg - 4Jbtx6T0RokPeDv2TFqsANOXbBALXpr1DmBvxuvQw/YJ7fN6Yx9zo4+T8Bf9Utim - T78tB7kXbLDuqVD1UqZL2Cxn1ylPRfKzjgPXBQ0VhoX7bie2W5ZVdELQpCK8pbr9 - xJDJF3lGbjZ88RW4LwwGYyE46z6OrsuFSAObVI4Eusza8lKTYgC7SSR8YrzWzPEz - DkSacQHT5X6RtIUVihTDgE6luqp6ES0Ms7etj7NqiHLyhOSuoS0vB75YwLJJ2uWA - 4GLOchz+foRfULGSPaDqlRPlynjfZSqilGVSi88ZYPmIvIoHDw8XJvGhaU2Ip2vS - XAEXXZ+n8c3wUB+nQBxUuYBbS46TP4H66MXqfrMHxf+WA992w7H5itRpkpVDOR57 - 9jMxwjlOFWAFlq+CMyxQiXjcLWixMx07iC3lEW62UNvpKTiUtliGIgSwrSee - =9uur + hQIMAz5uSgHG2iMJAQ/+KgyYw18YvzxBEwCXyai4XoOOxcqOjyp5oufj0QhEg+S6 + dZCoQpB3MbUVs+g2dhqmUfA6alP7X/5mMbvboTxRe0R/8FZR3y6UGge7XhYQXCkx + fDiQvYp8y2BLauekbylx4wNo9zvQH5+pgB63jyRV3ZgtjqI5bTTTGHEPJ01ZqMq2 + 3WPjxJBR9wlOrAj+pY6UOHeg7GczBSFKxTV4Eyny1zxRM1SgXQq2Cxs4eBDrcEBV + 6FeaYxf0w3AwxtGwsJo5QglybgKFD8xIshdwd6hW0IN/IVXyz98rvtdzcxZOllY0 + 2OHQ1FyzplpaFxNwWVT0iF2kpo2Rt11L0X3gHtGhuk270My18SKH+Pa/mgqtXnyy + fEbIf0hXwChPC1J6DCPCgIVtnOycmg8DQUXCQ3//SCZ+Sp9XD8JQ9FOUzfooK2dN + fMx5zaL5k5BHYKUNK75ZxkAz5WdjHX9rES8+eOnTK+BDrBe/wUc/MQ3SuTcxeo1X + p3dugegQg8RtGBKqVYGyJTntnntIsNZEKswFKMf9XGHGDIxKyV0AZFHN5LI4sPYt + 1wPlUcl5KgZr8T1kj/O0o2s4Zy1Aah61vKUj/NUoEUDf8jj4RLVwr7gtQAiQhVao + Bh/2zNGqfl2WgwUAXzCZVTGw2snEHv6Pa4gyVSgbWXw0CURzUu096zsmxCt69HvS + XAHe/8fsKXS/f7tpguTKDGxxspfROWxoPUi6ZNUOooi87tlawozFqmi16KNJmh92 + p6Z96aoe9JClL3xTD7ViIJwLHrWj1hQ/mYrCI24U6dOHGXKmdyC+n+JHvo1/ + =7csN -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-03-05T19:17:48Z" + - created_at: "2026-04-18T22:36:21Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ//d+c34f+CpobqPTxl0rZtQf3MU4kyND3I3GbJoA939dFy - pM1D94uphhF/8fPhhb7+pPlmWhwB0QFaZPqBF/YmJnLUuXpa7LFTlSRJBAwBB85R - PHSlaoRlxyO5unBhjMP4SJtVl/dYisSDLJMgLAa9G4N6wBangO5LgRNHB1xf+26A - QXCCTRW4I08okNdfyMjYtoTbMQ8Hjkziu+JU6fq4MR+whR+S3ukt+ZISrbSFSiYB - bKVJKj0IkJAzDVasTWOiTv9p9s8drR8OYFpfbzpxl4rKujRklvIHtOmT6RuycPnj - V5yAsHm5wrcAI/58oQZDf9p3vZnvbJG8/oGFTJrQbolyoX4P9sn2DSUAT8rrb4ns - aLLrmUhtNr3pGSmB2gOYUkxkDa9cc1B+vrErcrMgQrYy9GCE+A63fxQhacd6P5fE - 4Bmut7YinPC+wnHkfirlID1849uy4a1HBw0/Ek8EeKZWiU7hOWcCpdwe2Neue+FS - sG7fWYBFk8+NB3vsTlk8dsyNCTn3aiayvGKCqr/NR5g4wDXfgQ0IG+Hu15wsgWkQ - YxzXaMfAyFTxbO+FEa+IdYk4khxZuZn5JRChrgSznAzbcEEmzwsNaJxzurgT6SM+ - La+ASx+OBhUhdXgpqfw8axWrSaTpNP3yrYD8QdzadPiM3AXEWQBdtAsuuqvo3y7S - XAFE4iXGGCLagGs/K5YlyRix27boL4HK6TaSs8YLHsRRDS6+FKnDL3IAUFO8dO0f - On/GgwWOjgjgzbM+7K/s4EtOuF93nJgdB9ykASulaWPyngpcaeVgA1PfujJP - =lTlB + hF4DsZXvxFXTXoQSAQdAoi0YgN0JgszNceA+f3H6kBhrdScaf3GpMclmDKMvvTcw + lfurxDww9ApBhlZ718v5rOYebClOsEK5JQvbqB4xMUCEGWe8s3pJnUWf75hHO68v + 0lwByUwlvSVevJe5oYmeFdCVSikZLfPqQuOQprdEangO6T2uGqQpPlqX1PbnOBYL + Yomb0hKST7itaQGEGMEkwPraB27sQrgfYbM6wasjjfBmFScO0fM3VWi0To+hrA== + =6WFn -----END PGP MESSAGE----- - fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-03-05T19:17:48Z" + fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE + - created_at: "2026-04-18T22:36:21Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdABmnJRqAaOwfT5aWDymDw0ZOJtqvi2Sf6FfIjlCT8CxQw - hz2tgwZiDx1gJP6kmXmbO648THZSDgBZpSkFyL0yc+HzbgQOQvLRWy9AaQehbNYG - 0lwBx07XPpT9Kpe04Tjc/EzL6pDfHdtnMlfsqvduoKC7fKs9OcMX9qu7ulJAYfCF - nVBbe9bxgK/P2MoxgBGxNlX3QwinYQVzwb7rvSBftV1Wf0E0ntFjvJkpY7HuAw== - =F1WP + hF4DerEtaFuTeewSAQdABSfweAg1TzqpWs2klr/kxVAFECqDYlmb9FKAJITMsSsw + icVwZ1OGwoJ5SRUgsMRDqmU1iBROAa2/0v4Sv1TKZozn4N/R8EnOFP3uF8+0+FnY + 0lwBk4+197OUmfaLp12RiFPbszzdR5wuPVujqr1av+DLPrXWtsFpagzlc30gntEV + NNjkEunZ6hhrKgfyChlLuXcz4yJTspu5a4e6HAZQP1OuQ2/dxotP3bwP84QEfQ== + =rFtZ -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-03-05T19:17:48Z" + - created_at: "2026-04-18T22:36:21Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//VCzyABzuG3nkkMhkhFNVtNjN48bjY+Fb9R5jIfI9VSGm - DDWsM7MAoQsVkHdicmO9OaCqSN+3c6ESTMUnN+YPxxYjWJUJuKLYBDLzF9xFJGSv - OT/gWzsapc6fWt6QF0ZQsLTdCL7ur3bJuvPc7Zv4ogcW7m/+f5dHqDwqq6krTku0 - 3hYM8fX7lU/wslLdBaFXnO3Aol8bQUuoQnGn7WCHp6WhwVIMjb4+5H2YEr6WcX4m - Kic3l9cMuPM51VwFbX3tKQwZYE2ADcdlkEo+tK7OiKTIayli0evs3Ff5mLIQCQkW - VolgpTbTrcg/j8VsgFRsRbT8ZInzc1hlIQJfSqrWON/+rxQRW7E3lTTxAz0sV9z7 - vIFu/CoANfW4iszzSae8R+qyYhQ023EmgylwW39NQwNH2dvvInguzqa/pfFEgvJ7 - Jm+3qjBfcVyzxvgHL5u06XoJaAnPUZHG/EBPtntDI10vgLqOSbaNDUgDIPWnrcmz - JHifj30KIJ2FMAJO7Xg1iHYWe9BkTEuniC15246RIl0M6GgE3kErrHqz32Z8lLup - 8rBwKXlANwpfxBjiVltffqScgibyLvpI4MnzP53EpoI3BLGPe1EdKJMBDTj2HHx1 - 6Uru2ioLLfBB74KQIdLodOjJJjeC6MBAq3qDrxm0+v7eaRdON82ozOO57ZnXNbLS - XAGw81wfVK9M32PhtTwE2EXzpDsvxDxcOVs9tWsN2J6cZNForLcXqap8IQ95QAxj - 3/huWbxkFrmNxNqtLMbAk3QUz2nCweV+vqwGkjpsLikHLk1ic9X1D50XxgHV - =AGIq + hQIMAxjNhCKPP69fAQ//ZO5GsbcBiYgpTn9mBItrbxGUUopRp9934hitaFLwPnPg + y5K6vfrFFjPq3U+0jqOpVrCiuQLMa8e6kXbsFJ3a5lG4ObFfhCy/hwDKPlhf4sXT + QU5WZ9PfGSv4MktZ4Np41OzhjV2f4msdHo3vP9TClW5HlXL0rFUwOZ3Ip9ZqhK4T + XeoDSYD028lxdDK+6daDfWvtuSHMhG8CvtB2L9J9f8TOcu0IQCpLAnYUkRM35xpf + szpiIPWe7GT1h9LC0ZtWReTA4FBlF75w9d7CRRc56uBORUDGDs7OvhKXOYJoAdNb + Z2US5iiIcamgX8tMBLX0TsXewq01o/zEXP1U3Fvoo1ptuSpE/18B4bwIqLYaY+BP + wE9qxLBW7YHji355d+kEYJOdwKzTSoPmcWZsSWD3vkAXRZJu8KXbvqvReLx/xRWk + HyVhDJmYsUWqQIkzkkM6QSCSIXmh4us8z/zkWARzGLMHjc1X72WdyfEpCw3ePRpN + XopGFVh0TPlZhAfm2I7X3DkdUP4eXk4UydCqsSrwl4ztJ6TqkHoINnZypCmGKNFS + 4QhYROu/J423R2Htqjn+V+Zi0Y2pPO1SIfvI7MuOny2UdZ0RWCXkGEf6o4PMmpI/ + r1FKAZlC6qbCvuOUlEnECCktVHSNhXJITBsdlzeBHVEMAyZUQmE7AAvnHtsdrt3S + XAEW+QhveeCDAcuk9KABgBdbpYmrX+T4f4ODFBe/ycd6b2IrZe5F3mDg5/0JgYWr + JPo9WFpJ8syyyBJMZIRLXlDlwkTZNsuoluMpCGbjBzMgcGMG6oduk/nt/CRY + =OqKw -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-03-05T19:17:48Z" + - created_at: "2026-04-18T22:36:21Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//fNzXjy+69duSkvoeovf3x2m31eeJjhnr/amdzXTDmewR - NwwurJIOkxDC9Y5yVAe1kMZ/GsOKGqcsoiUJsxowcbcE72egVF9UvO/4YCIqTI8y - peuhu4QUjQg+dSXqZ0ALNVX7bsYXptmeEDvmBw6FYt2jn8jfYKPbIfpHkAdTx8kn - uWnbtAFqpVp5u/9GeKBgR4HsUK71gJ5/WbLQWd1roPBehZxqbRhmtFBPrQgkHpux - 3sRHbk/6qKixKEal1A0qScP+i/Od9CduDjEZ8u73dltmv8/JLHTjEQJjNcr8yUvB - XPwJlfthknUrDsdsoMMpdVJaIWCaUsRu17nTgJqgUTmP/pyHIEHfX/w5Dv/5zwNP - 3wKCJtqFq/MLsoEAFz4CKq2CLPZ8gR5yDJb030kDE0nJOSeUy+vZ8fuwQWnuHD6V - qUxwJitnkJztqdtFWZzoiu8/72NbR9f/Ys/Sr201m8OsENC3SmpCeDA3LBDL+AX3 - QROPGfyLIJMApEGET+i2FYme2u0TtEwUAyFbNDKleoe2qQvFgcpFAvefrHnEj2xp - 2Gm74ebaIksguYZ2zX+mggBVVw8q4UaSBsKjgiM1DXjqtDnCcBd/+mRzA8ZXdf8A - cXKkkxSpEIPH2OqvgVtYd3AkLzMN4jJJPpSHZUBA6Y8+jUkMQKqYRZtXvDQGUz3S - XAFeEBuinpfLWgetuH9fhI79BlfHgb9isVw22+SJkUiJzu/GZqSNSXVwVlfmmyns - svSxx/4e0rD3MioIw0WLj+knC6mSIYV6WmmOiWpPKJU9fqXAEpEsDkey7njm - =odkM + hQIMA1Hthzn+T1OoAQ//TtiyM0G+s4AcDJWaE6LFm06kYd2WbwBmyChYWvUj20n2 + HEYxHXWAJSzmXjStbh4TZQuPnuyhAokczlBSI8crj2ByLfnhO15f1dlt8Ul7JuZy + q0pU/OiK/LrJy70z0kjHVVJXtWihAAkX7yMP25/jDGaBMHShJO+FurPOa3FJxYTQ + +Kpfhk+urIPd6a8pQlOor4/iDkiO7SiLvUeCVRa9mCZ5B8kEyxCTPROrtbUQ3UEH + SorciIzJlWhw/FScVOPI0FtlU1lU/9yosBTHPtdfPOp/bSuv4yrvSo58kwg73L8T + vJAsmmiZhdCOEd3VEBc2l+fqi+XQutag+Y1rbwS7rEpvbuxJvllf2LaoUfr+CYoE + Gd6ypTcbdpPdtWwoaPyegRlV63JWJRjNRjD07Ic4JL+93nPJsu8s1XmHRFM1/DHN + ZF3eUgXONIWN/1mEvTJVoZFe8hiW2R5+rNUcMjCklzJPOuzFDNI1b7r/1k9nNnOt + qoH0V72nbMm6KeC3U8uoHhXRBXQj7GF5w0MKDRlUPF8uVt4QUfZ+bmfbe/pCNCkh + FndvUQKYxUANCX1t7vS8DwREqQPtdIBb3aLpMLp87jNHuKRFYeQvGd1Er2b66uct + xIaB9/AGJ7L5u3MEU3SEa8zv+fMwKgR9oVA04Ch1wXEeVGcnPHirSCuSNnGZptbS + XAHMW0RvOWA7nxqVWdbLbbCcIXet3vg39zKTvgCbBYmMng3ZScs8xqCe9oOT5wdB + 4mtMd63GQHFWiBTw6MJV189sbmhzgWYHfleISttmUR5W3yD8Gj0491pl8dqA + =3kUJ -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-03-05T19:17:48Z" + - created_at: "2026-04-18T22:36:21Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ//eWnH6hZTh6xRnPEathehh8oa3GrzBCA+osb9huKsJQWA - be7KTWncXWTCb3YWD2TyRr3tfpqZ+JF0Cy8JOQT/oBAUZlrqJCJXcov0FCHjgfyu - 2nA+B8BcH+W0QmKd4PAgXFAd0/p4oBhD5nWXu7KmgkUGqGNPQm+bOJn+C7tOdrkf - GR20zF7aqvia2vy4e2uPny64qeXtox5ESiipQxU5rIl8C1iMhA5jXyNU5kcM582W - KzbbuBM8nzFwVd2sUWXTUXuBprjSPqlVXaHBdweJGCvCg1wRBTHu5DWoNB3MQICb - 2H+GydEnNjhw7WH2f6FvCI0D0GkYIRtxylsoJLPkITIUHgr/BRWBwtytReQ51+Iw - 85+HY8SzJ7OKgn+UJDP3pc+EtsdGb/Fa6FNGmcd8NAniHwF/Ytwj/xbCBnd6oQL7 - l6/jyg3Cp8vA57UyFaECA4pISlhQVbzRwvycIyfK+HYq4cwxMtJRjmoz1p9SmJYD - io7CBz+kTMtEZbzW3bIJUggG1SycnijIk09wwB0TB0hGtquu+MdutiR46cYsKhhF - ctGor9Nll95X9ebPULJ5WOkH+Q5chvxcAPLt0qppP2ZPdigSEC6q1y4Pw1PG4vIx - HHhr1/wHNrtrWOVrtXSrxl/5EpPEsGvzS1jOtPHoDzRzB181KGwVBsbrvflRXqnS - XAGAKr2sNvGluk8sk3FZ2DODf7qq3i+RpvqEABflW970EQ5vxP9XcH23/WQ9buaI - vxrBTMPNezbNV+XT/761RDkZB1PS3Z1O8jotI11aXu5VpXXiIl4oZwUc+t25 - =onrY + hQIMA46L6MuPqfJqAQ/9F9tz1v58vRsFeAl/W+8H8Cl/6GpdEUPlQhKUzDviWe+0 + ZZ+L+p3VfrTt6MH0OuInSiodjkxaUwAbrzfRJcd2T3Eft8/h0qTFhVKbOHFGuqU1 + EbtGh8EH04iEh+FYFPRSNTDUT1sEabskcuAJcAuKAayTs8BMKf7tLLPCgLlVKaog + cXmIUgRCaTPGuN0kib5HdU9OZIyJy/gwzApWtsJLmdTPuNHd0vEAIXwoIuLeeV82 + BDIezZPYWWLenN3mo5Ti+3nqlWSKO54NA26qfVuZHUdWiSh6x6ZcCSR19dwKMjGV + tPu7/MH2azd+KPwWfWgcxMAg1gqttxasrJdztHwaaheDVLMjVQFIXAtSfOJktI27 + gfdwhxJJTrTB2okNXrSOaY19973yjz7g04PR20W8N0EQVaXcCjuI8Nk0iouweBZA + dlSMMjQnVdpnj3kSoGE3JqwViXNW7Sq4/kZUAsyyxikg8kPgyOG55Hstee4W2+63 + ro0bcm1D4HZrXqLe8Na785mBFtTJnGc+7jUo1rKmn77g374Uzl/0iAznyBOPdliz + WcdGYRaJNMKAxTCachBacBkuLvutP/gfRWjxiA5G28JLg5Y+jjrVNMrWekFY4nzg + 9BTwVvJGbTwkP39/y0AAthWp/mrpX5pon+L6xdtCeE4wvthxkspmnuUH3yi6tmvS + XAHtZQXGqHwojjd9QqKR0amTCRCd4GorWuzkcGdvGECI9BC1rH+iDyN9Bw9xQh9S + i6d3f7azgmZvvit78zR5pkXKmtx5hGff/bT1jBZCj18KXW8sq5M0faE9Y8k6 + =jjOL -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-03-05T19:17:48Z" + - created_at: "2026-04-18T22:36:21Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdA19MmxNAK8uVguGx9b8X+LtRF/pDNA2rHBdeWvg3z/Bow - xUgJKAhU/XgIUVtIa1XDASzPOIuVPi0LuR3VwBn/Do2DXKLfhYi//exj83FNEM4G - 0lwBcsvxwPGCtghVP8gVkFNSNi10ShYIsA0omMpkZP/UxFz2MQVjwOzEweuODhu0 - v+AxBfZJ5pCWU4BWUG54ks1Vd7Qf/7yaQKwiLh6hZZNM+Olu0xhxItIaDqYP9w== - =fyfU + hF4DQrf1tCqiJxoSAQdAkWkhVH9z6Sm77jvkscNWfOIKVzBGCmpxP91XxPENIU8w + MhGnSch4HmitJEhAE68WjEcBjrbr5zgwAh+CSsph2Gghp1hj/IfeegiFAXPnvWFo + 0lwB5Y2HxD1N2rCDUjnXI83/+heNX95TAvHzDNRdSddFlPHjByph1DrTZHptn3Hu + nqFm58o+w2q5HSvS6wE2Y4C1aMmJnY2cLd7x5G/c3aE3xB+reW+4zwAT0RSvKA== + =3MMt -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-03-05T19:17:48Z" + - created_at: "2026-04-18T22:36:21Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAAe9pap2FR/lseAMS4WilTifq8CfguFIZR2YGxCA3QVMw - 8oKp5Ysxtm44daK2wmgUvMHhTVp1L/d8WpK7KDK4SQ+XrLHYzcPxbODkAaKwIzlu - 0lYBlGWbz0PsEdmbg/cNCc8YHai+3JZRzkJ98t+iEPtQ3v9ySjH3+7KFLztmPoFX - 95pjLP/R8wNfW6Dpip97qBsNbJr0Mz8DwWg6uoQiJRmAbSkUvLYIlQ== - =9L6Q + hF4DzAGzViGx4qcSAQdAmsW7vzXGcysNXilPTK6bPQdBFeYLnt/QeZqLqObyCnEw + Rj3QZRNdnAnO/IyZhZ6NDC7D+JGEJCXPQd5Lh9HPCyJIYI2RBrkfxarEPJrjnpyC + 0lYB1v67FFqte5kMAD3RT2HKxIy0Wgy7Z+RiAEaYIT5k7XZpcBLD6s8Zw49sUyB6 + 6iB9TtoVEQPRQ6xe/r64/AR0rj+U2K3fKQqYQo7gSoe7obQzQjk16w== + =PySc -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-03-05T19:17:48Z" + - created_at: "2026-04-18T22:36:21Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAAogLxQBnSzhS6oz2Tcu68YlZARmXiM6RihrQE6TPl7680 - xDbAkwL2QsiRQIYfEndcaEZFa/5wVUzErSNlE7ONYO597s4jIs/09o5ToI+jIFtf - C06ExgwfFfJn0Pl54LaO9WIKONeV9yM8GD7nCBIQXvjbpH3U7pPehgN2nTsmJQHO - sotkDjjzgw8OldvIevdgoKdocwu7FWcb6Hy9BJVfe4MFc7wlliLQ8PymdhXu1mHg - OUSgqxzgmAQxDwgHg8ufTfw8D7Pgl9rFMnC7XTtQ7wIJg6xbD4t7hCMlMkm3LbW9 - kEK5hAbh6HCoXAASEuUwMOYuzWyLjocfoe/ebf7+wTjma4XM1yldWKgZibY8uqPf - VlQGCiiq0pDwcER2Q2XMYon60kCu+OTVeALfsJRMEqxyAWzBabxCVOB/49/qjKn5 - gthSZvBXssd5uOWovp3C0tlOWNNn9HHN1Bc3pVPl6TC7sqn/MZyQqqn8qTsL05oN - 6D5upCqQJKdg5+yxJ5gu1YKv0S/w5jEMdOdvuKY7zJUEbIZ38s3AovMPYLDTyP2a - qn0cbn2qMWLpnrRfK+s/PkSc75cXlgqe4Oi+6+1sndv5+YFYtcIhQXnL0aq3+ybA - bsZZOV1J8EHOjYV/bqZVHOmYxd0cSTk5ry78AXqr8zQjB5IKZmZ17cOvP1+jkprS - XAFC8sJzeR2onUivS0bakUma1Xz7rMkCxt/CNQB99GOP9h8VSU9iHyCeL3SZhSAc - 1tTWd5GAvE5HPHkRrZQtzEi6DzlL2Sm0etkuwYZnW7emvUTuR1O8vi24LS9E - =rBil + hQIMA2pVdGTIrZI+AQ//Wq3JNd9f4EgB0hxGIj1Ak5NvhScsZgqb+CMErsesopz8 + FCulYv1/MkVa/UF5F9DVmjqxkdEnZGrT24HF8GxOHdetkFDB/QjRnuWwhXJy4UFB + rki/evhJ/sjtFmXjWXL0GzUjnEuDMWF9Ro3Q3c7Yr96CJynyeysQ1Kv1UigFh4WR + l3VSfYH+u6rEn7iHbN+R8/88OEIAx4TRmjkQoPzjH9CU/8pMpNnYDdBy4fM3YSDb + 1I6o/NcdUJYyausSF1aJsXfJnIo8DbAUa8PlCyRAqwun0IRrzuw/MJkSb8Oo0nxV + kcEj7Yzf+y2JUjLI+vLWmtM8pmk0FCDu9NhgQicYNfPegCeKmTl7XghqzHFBm6Qw + wYMI0k3/eR610fXozhjysbM2SOrXcSpP2iKnZjN9UMTMOFdRHSs/njUt/nimUr/N + S/sf2EdMNVvGn8xDqgbvO7xuofHdZpkA/mHTO/YOCucqmVXjriDvpcw0FgDmuGJY + iYVUCMYUJKv3R0dW/YOlFIR0lC2FWjiPYxxx2+uegrWFytxUpEPoUYmmJ3mXanAn + KNtRuHFgQuryPsNmzFhOEGn8kXUpQc6K2I/ZhjN1nTz++soOMyFPsqpemCb71sAa + ACzc5mON3hlnf/cDFiEqHTaA8a9x9wsYbvReSkJ5RLvA9A9900acx7qsixlySMbS + XAGcB2A9d+uUtw5s4MiemIni9kUG8BZ4yS/eV9xRFaLnZ68o7S3CKwdL0LMTVFFG + 7WtnGT6HL8mhRRl83nFzoTCUZHSt/uux0obwiycQvqVyowAAJQpp95xcLJsM + =G1BC -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-03-05T19:17:48Z" + - created_at: "2026-04-18T22:36:21Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAU/KzaoFUtvroNZf1XFGK8cUem/pqLhTg+Dun9af6bUkw - 54KMDjFx4nGgMbPFlEqqxzJ5/x/9KHmM8HgnHkBb+l8NfKWccg0PM4f+NZl8CeuK - 0lwBqoDC4yBE5e1dnMs51zvcnCCc9Jm3H6RZHqOwfe4gngWRGoewD4pKQ04dF9JQ - Tr8djHuGPEeC55FRCdEtOSfWPeHDFOFI21sJMo/xhqG/YJ94mwkU3lzrayMolQ== - =y3UK + hF4DKKbvh61jX5USAQdA5l6AFb7ItpdgVv4uEn7+vmeOkZiidr0TqvOnp9LzqhUw + S1h2Ro+BRoRnG1svhNumrgkpSpSr82KISHJqpQmY8JgfLStjTDlocyJvCLvk2Bt9 + 0lwBlu+SZYYY/xJnvgStkLnJm22BuJ7VPbYCbnzZ+VGCBJtQWsD6JfCEghU+Xo5w + 9F00BBbC+Ad1KyYQeh5PuSf7xpAMPJYkNUr5Z1LxbpjLluNKvPV54uudMb2eAA== + =Py0R -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/external/host_vars/status.sops.yaml b/inventories/external/host_vars/status.sops.yaml index 52c7c8814e..a0f634e680 100644 --- a/inventories/external/host_vars/status.sops.yaml +++ b/inventories/external/host_vars/status.sops.yaml @@ -7,212 +7,203 @@ sops: - recipient: age1p546j6whqsyfkjuf674lawrnk2ex653fuvwhcwt46gkrspkq59sqzm5y87 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxbmtBWkFhTEUvMi9XNDZI - c2JpV3FmL3B3U3pLWXI4TS9uWWpHWTV6MUVjCkdMdkVmanpFUzFybHFLUi9Scmxl - NGJjNWhyR3dqQWgyRjVvQ1NabGFVY2sKLS0tIDlobnNvdmFEcVVKTWxsVFBwY0pQ - dG9yZTA1a3hGdjVsZG5Ed0hRNDRpV28Kyjy09rx44n1/wGq/2Gw5vq43P87o/rt1 - kwtU2pPSZhqyFj6g+TIaya20jSUGMdPntK3abzmJEzc5qh9G4Vzpsg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTM2RVZVd4a2hGVU9DaGk5 + ZWo4SEZST2RjNXhlYURNNmxIY0g5YlVwN0J3CjNDelpBdFgzNVYwaFo3ZFJxZHVZ + cGJ4dW9NOGplYXlTY3JUcXhPejR2aTgKLS0tIEh2V1dIWnlpTzA5RWk0QU9pN0Rj + cDkvdk5xeEtab3NRMkZvOWhiL3NXYkkKaJgXAgVIWZcyRuU/Xeq8x5DS6ooO1nEq + m9IsDVssiZRbeOXpvBKCb6Jpr2YA76+mwnzVR0pLipd2WroCz2a99w== -----END AGE ENCRYPTED FILE----- lastmodified: "2026-02-09T16:38:36Z" mac: ENC[AES256_GCM,data:tiIGYUJNapNZVrSq4Hsf+rhklUAHNN+cHXz0UCeev4nXJuidUV5qj+5+V2V1Vl46FTG7PPiNoNtL4UVIfepZ2q/hyR6yE0KGx9C/gv4xjS3ufrGTYavNw7K8bZtUCzmo46Lf40HD8K/wYLPuh9elWdnGLhHrhl6qpI2MKcX9u2Y=,iv:FbTY98dAZtH7+jaaZLdI47+ryZm+ZxGXgc6AZRIiGEY=,tag:OeK+BS3WJeXjnWX/er2YzQ==,type:str] pgp: - - created_at: "2026-03-05T19:17:46Z" + - created_at: "2026-04-18T22:36:20Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/+KIbAOvt5tNcHQRzoYfinVtvDLNJChmsmA4jzttDkfX2J - wEch2d0SJSRLj2mQ/WHWgGR9oxYAFJRFs6gDcNeDUrv+JT+7QR1eHPrPaeAEabPU - yAJvNW5hX1pR9y/jkiHplXkW+ray6qhkmpG7eoBSswvUlZOgJdMuTcFzbw4LQ35q - tR1nJgUtYIavs9ZXuxvC1D75UYkFCLtcv5Erf9K+OEJlJKFDF7JYvZrQFmlq5EQR - Xr82odIoutcC6SLa27bTHT1I3lojdJWZEhckn2NZP3DRVzlS1qau19Z/vp8Ms8JW - 7MCPSPaQli9XDN/4ml/XXO5L7ylQ0ksqgPoA7KnLPnp+koZOCIbP53gAEhrkojQF - CLMTmzt2XgMaJ15VQ2BuHs0x5br0WUvWjlAyssyIMpIGFodA4NCNqcp2oKI/hQec - 4CbjLtUFoJr0g0YktJHBUlk7iIAqe5pehTfyFrDKO6bPZt6rK4DZCNNIqBXcqF3J - ZMPMkChBuKDstOnteYVeuQVOkrZ64zjVyxU73q99uGXRIn6vx/3z0eGu9f/DLTfL - eI0yrFDZ7NObepbuJe6xLvPFCT+svLnOV/D/ERXzBBCQHHYkWYmxmfOW8cN0I2SY - NetnIIwXjQrbL3TqcyRKh9MyvrHDWsQe1gjsMmxz+hGbbcS4bfCDSbsb0uRhueXS - XgGzWswkSraJ3RvHWgvZd0s1YqPR7yfJRW2Es4StrQ7vk7+IICjv17v9L3/I+pN1 - 84wuUyP6EqDsOTPdrWqom81XKEvpJJJamDr66CuZ1ai7MCIhXzQRYarf8kWvpe4= - =gKIG + hQIMAxK/JaB2/SdtARAAn5114qnT9tbGPWbV5B8+ivZfJjamlCIUwsAZbKIswq6o + A9eU1Jc7BCI+8u+/L2Y4mpxOArjghTEVxz/7nQyyl7FdLFWU5qZjfCV/FLqRK5QE + 9Si0z2ixDL+CP+yuqtC0KvBUsi0dUml63KXmvHftRto73PnSgza9DMO1oRjq0VLc + 5CsHkHH1ibdY5DEjmN6auzehaZ/ymbGLZoD0EwM7cz+cVkop5dl7xth7CQQMo0Ku + yqyQm77WwQGhhBUy+4kN6rxXAxbGT6aTqYgWM4CMw6F7Zo0qaSDCC4aIJZ9BKpcj + D3ENqdLBmgl0c7HT+PQ5RXh2GvQPJZ9OF+BmcUrMBW4Y15k+/U6DScXw+oTUqZ1w + mSaHG4pZUDXv8+I4jedHLJZ6QipjvyTvrNgleEqyCPpugrdIo7fD4BlKgMRr1VJE + zPE3uUZD+OULu8EKoPf/l+B1n84epQsBogj4Mb9NltpPijg+GWyrphEGGsVWuavo + BkHAjQ00sPT4qJXVVLEV7sMPcbF8hElXYNeVDIAZCypSSA/hCeKflmk9I671gNZ7 + GoAuZbYsACYav2HYRC62px0vaobSi7yxatwaTHdEyxF6Yi2TffF+5lFK6wERv/nw + W2cVacok/yadKsDVo+FAz59PUJxfvwGugNvIIP1/TW5QsMHdMK5zXOW4Cgd+9BPS + XgFfiyGVGYPcsjSKG6XaxbruCFzy/WbhoelctkwKeASfYbXOLcv0LyCJYzbf5MtO + TCN+qYM0eQqFnHC/eTYX/iA/aJ4OyVlpasshl93tuZIGoJzo489+N4GAXwRYH+A= + =N8QF -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-03-05T19:17:46Z" + - created_at: "2026-04-18T22:36:20Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf/Z//YADS15Uma5RdMDXCp+XqfCf56vrguDEQ6N0WXq7y6 - vtBI7/OEUwi3ESYInkIDrRtf9oN1GDJCKZQAgORGIsrCz4c8DWzn1ZJm9efpkbel - V5axhnQ8vKsqM+STb8UQKmx7oeYau6N7d5J67/KzAI2PAuyzIe4uPp/xxrj5hqDa - NGGuVp8pUmtT6HenO4ZtENTK9MwMbA0gNIp146qkEvmvlvKIxGwYRB5ze+hllG/L - X5e7TbMYN1H00TYsatO/3Q7fcuiL8YB+a1Ekh0SOXcqxvzX5qkr4QAKmGrKUiGWe - /dvEYPcdWi536GIvtbGXICAXBDENBncOQLOQtiDzyNJeAe2aaFNecyWTwZR9V/uE - 1RjQRlZqaGQBsaYXbeQazXYMVhSgpwfE46Il8ou8rpSaMxQk4zlol/mERPgAdz0V - 7LqfhzY+FsbqIiHaekwEH/JX47nuUnGT81aPCFQJFg== - =3J32 + hQEMA1QflAioE8i3AQgAjbLRj+M+NoFhUzQb9dQ9uCM1LMatORtFNyvyllOtqgOn + YHfqn4xRBQ85X6YxtQYfs9eLvCx4lz/Ab44MXk7hSuIOIjpEji495nXTeGYYC2eu + PryAc1ZU3NUZbTmWzHAaylSCyDk/nLPjDDhPV4jLJ0fCed4gqdXrz4QTkrCCSrNs + d6UOIX8wNYsSuSlYO4ZNpltJTkkAdozbFObJgF7vRZgCJnX0NfnBdxA09/110/pa + GRihz+zJFu8EWjFQC4363T3LT7ZQezd534zCKcpVhYiFBEI9WX2AWyeskFcrvnu/ + JmzvCiY51WamG9e1iDFC8AGTBSZcT7sOGa61hGBpudJeARBIX7jYN/dTJWvcIrNe + dxneC8ktxgqJCER/GC3XLPebGM8JyoXZ2TFJ4GOdCtnFnIdelnypiCMgcsU/Yplz + Ka3YWw/r4KoDRYha7bmUTrLKukeJvsghPCZK9C2a8A== + =GJil -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-03-05T19:17:46Z" + - created_at: "2026-04-18T22:36:20Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ//Z5neqON9RGlSHYfBFY8+QLW3lGs9Ow9BiJWSgiIjn0vY - yBa8FmTy9CUMQVol9F4ZOPIWggrWGSvOUEtHUw2iZn9ERoBZQ0i6p6OCfjzY7S6i - +m0P+nte1C1clBqzYutQWGQygCcDbRKbyucrUPPFNqqZH8ANmHDM03lY1/9bbTQK - df9Qz/fc05b+plLtvqZ6LzuRdV3WdS6xp07+40y3kESTjLNSLl6tW8awSWtS+9DV - 9MzZLy4d3occugaizvFWRDtal8HI4X4a5RWldgvKfZxmUQbncVqJGlu9YPQsD7qt - Dlhzn2z7The26hfIVtiYR72M9ZQUfxMQkBxfAr1GB41Z2WIkuk2hegsYBql/Zry5 - RW6X9oc1iRbZUxOhPkkKuP0ZwPDkZro/7Zm2W9Hm4jOmY0HIlcuJ7RDLrJ8R5NHq - zXwfK0s/7RjBV61poENfi5FdCqPklT6Hy2It+BVBq+z72NkgV3x6Ncu1CFWpxazL - JZIT7Cdx3rLiX9mDMS5FFObS2IcyNCmjIrsvzc3oh79nZ+UX6bmtqEdSNpdlVQLS - He8IRtkfef7199bLXd+Jj2LRjjUFkBzNKCxzsUQUnT8jVgYIBLmqxE60qWknJmkH - rlRzGGqlYcOfZyoIKx73gRvxH78pucEBXTIJMEgLxxkrJyZPQSgezmqPwR4mcszS - XgHutQnLOMvi6lH+Fm+dZed8KbkO3M/PDGBpbTsj/VNIHw2NUq98yIzSOy4c3rxL - uYZmqlVezIaG0D+6vIgLvFTUXhRRLbPHc5eJ8qJ/wn0D0wWYy3Ilsxm5XZvauQA= - =V0K4 + hQIMAz5uSgHG2iMJAQ//Va7Fp4tnSg79kJQ263ANBEeQ8POgWEuORPashgm4D1Tz + A6rW1n07ByPOkEtebjiLztRR3C+r+RQ/bdYkxAY2X3kQNK/F3ZJvquM4MkFrG5Hl + RVNUlwkgP2wqfUb2BIJKQxA1YatJbJPCkdPZPJ4b1bRG+OJ6a709h80y1DLdfXir + MugNwXkenySOgEDo3tV4q+hyT3fwAmB7H1pIub16UTWj7exSLinJ8UlUW/+GmRLJ + YEbGu5CRXBCWNt/bDZGFeBFEINBBjHMG1tw8bR16LtOHBXV+inv3K6As9u8ZJDKs + d5YEL2mXrz6AdLJNPSRv42n0EjK0YoEQffuM/vX4Orwt/kSciPveN+58k9WpL0nK + RpET+v2eexm9Kk9vIvxH/GnR3CXEog/lpFn9RAHPbkVkmU7m5FNmYlHtUUQSBCtU + OLMIluI64EBEC3N5Asz1QMpCr3+f/pQqPWYtkCb38WeYJbUleIz5Tj2sFz0cdTlw + OVqw4xbWCYgmF3qIeoGyKlzzDg7UWe4bMVYd8K2ED7FrJc9AyBo3FD04KULgnPfW + xk6xVxbQpNdltLw261Ll1etZIaShiRuXyLtd7ahNH8xXLxT8OxYkSdX3V7EMhM5s + 5frdP6GlmTl0sWOD5HvJrtRyvLuzTZolT9mOfvDE8FL36UVqepLogtM6RwKR9cPS + XgFA1aCr4qG9TFzilC+GfUeLmTCNbfJtlQe/8uol6IVoHFKm30Cz/cC5SSBh1PO5 + M0/yA3l4IoAcgYLuNX1OzNZczanNQegsj+MzZ6Ky1N9+rsYEvV1fBhAA8rsm2Nc= + =+ZLf -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-03-05T19:17:46Z" + - created_at: "2026-04-18T22:36:20Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ//Xs8JTsZIFJSGF86HfroCAiarJmH83RYDRieSsHFWemez - ReJHRmVIQAU7m01IbwZ+vGV4KsfcqkjpP9TlTU4SfbXbvZLiP/xHEFuvnlI7xBxi - EywVxq7UOJxgzCgJdWsuzZoe3hhab80Qwa8+lJUBpiyIEP6jkCZwLQ6ILyQT5GIb - EwZ3zp98NGyoO8eU9vMwEZwQ9Ltco6r4z4IXYm4UeA6ixWJf92o80n+O1dxeLVNF - LsTWNJGm5M+K18/zB6PF7f3RDSkBsoK9O7KcxeOzEKwvWHzyRcYAm0/Ry7CfTcZU - p938r8CpwjCVHNC8aRMEh7KOy5pHpap+EBNKSQFrg4G4BZZclHvuNBnegFNI1FAU - sN2nKk7wddMmfKYYP7glzGdSFwqW+URsj/31KP9L7R+yIVqFnp5Nz/ty27MvBOlj - LtoW5cOTRO7ZQFvEXfKMgKi8+AKTRJGVncyrcqM0ID/qPzPN1aLT6e30/s2pakti - b0jEbDGZU5/dfvmR3Zl2hz7hHRfFyMGiTCdr+41maWOzkAZWjyslRCbwbO7nVJ9k - Amk6JUXFKYQAjWDTUPpPMb/Yykoufm1spEXpcUPSFubbm+HDi4gEQj6SgYbt/ksj - GK5/GtkvOEVjKcMUFrxvIga6bbWAJnzzzAYHb1DXtiyG7hPpG5laz/YWmSBg+MTS - XgEZ4jhhMN7pGKa6LtO6bQ8AF3T8umX0Fex0XVAVZrdVLe1wawjaNi2o0+OCh7j/ - W2IHXj8jIRRz1KDZyBP9iTn+ggo2XYT+4iGIOO2hTRqnO2O5nmjXApzL37zxlvI= - =j+xJ + hF4DsZXvxFXTXoQSAQdA1R6uwYhj5MM722b4XMgwVJSvxv7cWjIaPzrDWavwNzgw + oqS6vLoOXqZ9oJt7I9K+jGzQgHbxrlazglynpdJD1WfXJipcWuFRJqVR6+HmkQy/ + 0l4BKPgATg8lN+vcqwq+Gj0fwQxHA2RRp1h4HMZepOk2DzByzwkOt7+R+3McRYVf + fdeqFapHFut95ECzR35TpzB/2Q+2dIsxaSF8aBPeIQLSFqO5ha/JQ1l9VQAaHEJo + =r8PP -----END PGP MESSAGE----- - fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-03-05T19:17:46Z" + fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE + - created_at: "2026-04-18T22:36:20Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdA9JggutbCS9FyRs95K87IbMnEr9UsL+DkefS+UD/guCUw - BI/GOTql54JZ54YlDOnpElDlpUCxUX+pWL3iN6zFiiq9+ne67CoEg2Ye385cAWI7 - 0l4BPaRSxLrFPnUtdGvRpjydCrb6dbABr/ZCHIbmYiMsipNHQl7zBtG/pVLTsHew - 3cbRlVAbRquqngUpPCbPdYBtAZU3HAmU3NN+gauoL8L6brJG8rmyGczxqRfxTcTe - =MQRI + hF4DerEtaFuTeewSAQdAIZ9BJ7h9tElSjOm5BzHKXPo9qrARsH2zg3Ymg8oY8Ucw + sL1Z5Mqt/bApgTIO2DvgBnKv7JPMY5lRdg9CbfJMHZPf/L54w7KWRLN0PAinWD4A + 0l4BX1RIiCwCdHpyEv7Ds4A///p2/O0xRvwcgigmIPBYa5sGfgTtdiATL+u8nwTx + VpzlugfAx/yANHaLRinXEsKQ32b47+4wF1nbar678adELcLzxHUsWgLKCDamkCJt + =smQV -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-03-05T19:17:46Z" + - created_at: "2026-04-18T22:36:20Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//ZXXpOWTheuHPhbJ6qolHZxF/sRx7o9Lsd9tc/rwFeBkS - 3FKu9ASJmX+b7+aaKYoYW5i0JFR436/co/8/S9McXXXgpjVGo60qo5p9rtAm4ylw - BFQ5+UnkF527B6+rLtVENwrquBYp7yGdcxu2TMaquaqFk/SJBWaqKrweDhkROJkD - T4ODX4eSqkfVKiq0urHDSGw8AMpmpb6DYAMPMme14RM2/IB8bmodue8108bGkKBg - hey3Vw4hrHSx/pUEp7X+p/ooAxsGywpo7ciufR95orRJp7VWVl86XKMsT0GH+7lQ - 9MnV8KJIG7OR1mluEqGjLDHnWV4z3UXBFMpTxmKzGZ5LT6MImMYhuQ0+KRaQaWS5 - QcQHIGQl15X3P82n9K78LUtAn1JhUayRBKMHz46LG9z+BhZe1Qaskc2W02hkPzKt - Cm63lBhXrO7xt3f0vU1Iekp2VkJiVjSZSI1L9+rP8CmM9FH0/134d39KhpIJp5Bk - e+vqqe1vjPkf0xv4yZPpgmmlmIki9g8eo/IXjSKKaoTLLVpHUZ85bUBrHK2eCxWj - OwRxVCKACEu3rwwbJ3Lbwyr5JiAR0PQ1B55OeamADL+473WpXkIp+x7YdgrAs1NF - Tu4pXvPqkNvYq//LyS6BtmPX1Bfz0bdgTGU4sWZxzHcVm//0pKC5HUZCtw7f/9nS - XgGfZOyygjKIsORjndoVy2BbR+ZrdN9r41fWVf1v9cBaN4pnN13xmBm957s79H/r - ZXKE/DK4AMPk5+4L1WE5kMRNWHjqKieunJmdnA5ol4/hC+dMhwcKCWb46+7w7jk= - =AU0i + hQIMAxjNhCKPP69fAQ/7BW0eMhspySji3RJWlsCI5Qi7KwwiQIVpGADuQ3l8VN3M + XU3bbvLh9C7tUAwpADCFiyIoUwaVth3UpgzhB9zGDV9N5O8SiOeO5ilrksIwTz3k + L4hsQSbLe+3YTKe+RZEHBi5veJLLrs4Lvn3pnFjDHkCs4JkXyTQUG+L7HYGlzxJv + GOUFzccHBCMIco8UlEE2tuwGp5EcVozp19qCiOY8cJAYYBUsAREk9m0vVSjzdmZI + VVSzihilJqy4tpuRwjmqx1XDtN9KnhKMciZL17f4B5n/tjpi+5XwkSLgBhZOpa6v + I0otI6trXyb4xHdZ/axrP13Ua4FE9qCCnW1IUm5d3b453YId4OxYqd/9qchqctDE + ZawrN4kEH6cfM62oO2FCTawLH7CEwus7aYo8hMyaG+LYycrG6qoSlu3RYqrhUU6P + rKzcgBxGANapbJP8O93onTs/6pI5fJAgMJ0pCIhthUZoW+wv5rde8vcp2477F2Jk + bJ6/JKi47lfeHqoTB97o4wVduRIrHGt15QS9bh4ORGBgHvvpPsm1XrzIrIGSSFqT + bFOLR6OwfqVtkWFN/tx8TCUyzan8R1LzzjuefWuplQhraZeNdfqzZ+dvoOU5QbAu + 10KtQIBY8B/eFqPZZ+EufdRyo7PIBzFJdARs9RcHnPGqQ53hDyrAvTrdbGYOnpPS + XgE0ekVKPwx7nTP51YuURudZzp885K+nkHCza9/nVtcljo8+KbzHxp9XshKd0oXd + a8ozzxwcIuqu5VfIZgGsMqCgyN8UROtv4uWOfNiF2qWj8t49lhKssuX5/bfOus8= + =z/AL -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-03-05T19:17:46Z" + - created_at: "2026-04-18T22:36:20Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoARAAhf5yIW7zUfg/Otb1TgicDiAH7ghlrBjgJD8odDT/oGpq - kKkIdRz7oyYS6lT+4gCefG5yxvYoLMkV6ZYnKeykbCoc5tdQ+JrBOEitjgAj9UDT - NEDA2kPVee7StDoVV+VmD2Pd3RrhyjcydyUZA4vGMg3GauBlIKSY1sFUB7F8ytHg - TLiispgyihe2rIneQeSUu1u/qM1jelOnytL3g7kx1DMbhBl1rQ0QFQcEKfcrIWaF - kQv/rGhXHboeWldWhMYmkv7V9ljW2h4Y1h/bue0DYLgYLaQ0ZeZc9Vw/km2rQWUn - aNS9GYzD8EazxZwRojuhJ8eoGgf3iZ3wC2j+jtb6fmXBK6GvPRisghMWogl1dZ0Z - auNkPu6CDUwYslhWBwOHvo5yp8WZojcVzaUkygnj8gQlGZzBS0XAMDUHtYU2SN3G - ScE/rcRDZGOxv1on1SgwufdwwG+TnxeRS4r0zwWtdrf653jPHvf1k/1T+Acb4mXo - Z/h6s0uBP+ZzKxjRHweDkYE8zhOHLGhpeZZR5d4MqIRloeGbjWt7BVBIA+syUSZ4 - uU23kXJaGoYjebsxYerXicgniqKeKyQsXdjOhzAi6wnE+9Le97edIX3drgtU6VbU - jvGbCeQx7h3RHksUpknjwJsA/d3Q8KxqDGZL3ktT1pxn42NrSwpMv12/ynk3p93S - XgHqKjx2BVVf5WCe5/7hwQePcg4Bgj6psGud0JpcNe+/XWx7861k9ri0QYsa3nka - lXMF6sU8MfZO+NzA5iOaaZ1XVLG8K9ZaAyjC7xN5/iwslrYexqnwJQZAzQZ1uVY= - =s8JP + hQIMA1Hthzn+T1OoAQ/+Ko/cnSfwttWCWGvhF5s7B9mRylNN5tE0Lr6dXborUH6p + ec4rtRWjLjsYhhSYGXNOY1vzh/on36FqFv5bP/fQ9/syMqjBFbhkuAvQs1R14+IF + MHR+H+Blb40r2okQ9YHmLN4gQUw+RDybFFy8L+NOTk0j9HhzQEEz96pVAU3GQboP + 8vBYXLa8rIaePNocRGoskKznQJBWCZRcCfkPB2/4gUBqPzRHXBKY7rFsyOQF6cBM + NT9RFM7kubNmOaxJlo7YeSM4chKBM3kiFiVr/AW9G+Ul0F6oyNnl+PYK++MHcX+a + /IhUHkpIwVc9OvtufIcyPKhhI5CykZko90W2Q+5WLU8BEirbOsAMcXglUvE+Begf + JCPV0geyAAwSDdOWR1oHWiYR51tDxh3XLnw6Gi2ZZvmt0yCn1EL2uRH3stRn1GB8 + E9iyEal7RyqwjSX1FKUwDUNQ6j+YKH2DcguQYXtP/ljIfqJJcJdSgN09JpHBLAhG + OhE1bD0oIx+hurpv+B39tzJc6i+JDO7ZMuQqRh/MNp8o0Xs2L68zFtS1ATYBR2aR + qSf8Kc9CX/TaST4S5E0kTHogxn3QfmgEMS/oP+FZI4Mz7i+VZ28QBY+Ivun/A5DK + GSAA87iohadaq+21DzPh+h5ooOYM7z/FdgMxD5we0LWuX6XcXZrTah+0uVMZ3ALS + XgGYLaxPsLBLq3InMfhqEtVAKgKUrOJikMImO3G70kDjdAKLgubEqg3YZS8JyuxD + nKmT3NWzh52Aiz54PdVuyS1d6crJhu4oYCJ6N4hq3HRVtxKoMZ2Ww4cAHsn8TvQ= + =DxOn -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-03-05T19:17:46Z" + - created_at: "2026-04-18T22:36:20Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqARAAl0Wo1nNbckg9eG6MQgqEOp56Gq8XND2/77Vx5duqbVC9 - xtkc/Ggpb+Z9cueyXg84zWRzPBVzcAjfk0GYD+sd+h8Umh/l2DiGT6PrNdzcQRUn - +kMHozFiVxbtQ5xMAyKggnd9+aByyue/zFnNSBiO+CFFLvjx7y0MHGl5hj2cGa8M - rx6ggxpumZ1Z4U6X4+yxmyVRLgOM1yN+fSQPCb4x/BK94KnSf7asuJQuBmn9IWfB - l+ChwhtD73uQne9DdqRwzwaOWLcEzqSisDkLZyx1rYVNuw9/wvFw9ykFCX0ixbTV - 73ZcFUVPuC1CZvVjIXgIf1IUeGjpe/2vbRCTrIqS0eBBO/QaXkVg3Zps8/Xq9u/f - Rr/cZFAMenbBWSQw4WG8jFQ1q6HQpTbQrTTh4xuqpqffIgvD0GCz5MwTQt7hhu0M - ucmWqgAbyJEGAX2MF7aopazeA3OvVc523QYcvILzBnd6Nplo1ussaCBbYsu60/K5 - u9/HjZqfsWM680xgqNVq2RY3S4NV6wT6lOBXbzydEACMN1i7q5HWdWeqLWuQs7/0 - NRneTsbj+uQBey4663qGo/lVHEkdu1r926KKVDOgMZ6gzSQ+B0HXsUBR+SU67V62 - t9uJOgYzvOvjj3pHP+LLKBfH0IFPHHYZxPxxKMBQuLDCPVYd9t3v6Z/2k6eeQuvS - XgHJnr0zD0N2DoYFIVe05tPNgIlxu27Ow3uBwz7TeAVN9zVJDwd4lNrVyZmDjkdi - AQKZWJT1I6NSvSiW9fEeq5RgE1GqNzzqSJ3ClIbaMJOCQ++Akoxs/u/oPb8oWyM= - =igpJ + hQIMA46L6MuPqfJqARAAlk28NQue189AOuWhSXAWZLC6DBE6Y+tVCt0q4Cruhkla + huGTae5B9HHSSDr4El+ebAjfDQODD5tXsQZubRzIlhKoY6lTNS+RkaP+d5949bH+ + lmeOlKwux67WnJlnxL0asxBVHOLT0i5yQEUqSDf7aDnnrOGwS1tSCwYMuSmzgPlH + 95gCEVI3sP8jB/pUkc6gGbERNCuOaBvF4u73/8RzJsI9WSaWxvj3sUSkhKSwSfn8 + Qb33zPKrEAuNvPj5ARGidrVG/L22tA8ThBjgSUhQ6pliVuUP72Ox9h7ahSmdT54Y + lnXAyuz9UHyCgGQ/mhcqnzhWQKk+svYYGe3FyFejGcDyltoJ+e+MBFRVYm/nG4Zn + 35dITtyo0Kbnjt/MnQlgWJtjSjULf3BGZeXCU1SoPENQ72cCstbTAvSH3hIfxQSp + kYltjpBMLpKWKT93FWQg6ZvyID/I+7fUD/6EWznzTUJv1wqSShc3e9gCSdPUM4ab + AkIvQlqzvY1i4TLcQrKUQ5dwxNsAVTpbeuwjGv4U52sTndYcB7/8RIsSkenPLMxb + vLJY7kSPHraltITnqs5UPkbHw6klkrsfJYG0AQA640woXageGfqdJyjcksx+dO0C + QSYLd1+wmR4lQtlL/+7rtmmCdJYR5wJUoLsjLNkQiO7mSrhhZQi+Y1LgSApsmrPS + XgHYlyvRJFqn2hp27Kek6X1ID1B0IOArNFFBwSi88cp9J0ImV9B+h0Vfj6Mx5Ywt + EAd/uXP9u0W1cdUnrv2hYBOc6UT2XErwaSEZHFb1w29YM8HyHEhMnVskv8jTBmo= + =0xQ3 -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-03-05T19:17:46Z" + - created_at: "2026-04-18T22:36:20Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAHYVIbbrT91Nmz/d6/0AILnxO8ahT7pzleg5AVwBWXyww - 6d8OzNan8TXdVpfBpSk7wkYXluVj77f23d1HVPcao6Uz3PfSq1bsY8KvRn6mbW8m - 0l4BjBZW0rediEg+coAM/GlqsgI318AWgqnG4M2LaBE455Fggyp6CUHzMgkazi+5 - TtI5+4gqnGe1VFij5PjO1bttF3Ox2TVW+Mg9xporPBo7TIt8/iRebrONSOrcpsM9 - =/phd + hF4DQrf1tCqiJxoSAQdAO5W1ZgLQs+eTvnqc5wPLzXivXmY/isHz2QRGDGubOEMw + ltvpvDqxerzdVwQlpd9zSplVxarhjjZmft/HAWYM0DtAZxyuKdXXbZPb20WGFiiv + 0l4BWmGTVWLFHjPzhDmJBeQeW/inWpdKldR+gJWwxOMEspuXqDKAHNoAoP6jObeW + kIFlVmO0FwMHSGhAdN3v9dfgA3VpuYTNwKa2l8cazmDwZ4OTSDMxkRky0/6ZUUGt + =cnA9 -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-03-05T19:17:46Z" + - created_at: "2026-04-18T22:36:20Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAH3LHhTQQBA5lk6X0A0N5ikQz2W03mpGBhNJpD+XKMCgw - pwguIunk5DY4a8m2TM9+v4fFBzN0rG8DMLSAZkVeNr9wagxiWwNFngFko+PyVUtR - 0lgB2kPJp/nxwZNQoxO/ex8018GvYoUeY9ZxhZ21w38ajrYWhkKvm/NCy05B1Zf2 - AmigozP+GfxX46pGjv0ynr9lWJjGqmK9CSVT+XNCF+p2sYvRINZemTiZ - =+gpP + hF4DzAGzViGx4qcSAQdAAiGdDnmv5fHW4HB7TkntTQqS9L+Gb9YDY5ipB1am7TMw + GbcAwQdnOYXCjJaOz/gncSMCHRZ4v4mrjD3FRV7m6MPt5u8E38JwHYPx697nNf6O + 0lgBo5HUIpWXQeQTbnM2G2eQZhIce08YVWmopd5Rjl+BKsXeXFpzY1J0Lk38b2VA + WgriGAnGwc9U5QNEIWBckvY+JR/9fu+f7V8Y5STFYFaoBlVFoSVq/DqS + =0CyM -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-03-05T19:17:46Z" + - created_at: "2026-04-18T22:36:20Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ/+Is2gTh0SzsedsONHEztm1jJCZdjxN506HyxQFZM0AJUe - zohG/242J495XMTJIdRyC2dEo61NoLFUSLCejJhubimrKxWxvLABn67SqY/RcUOT - NwAxnzzN/aUkLwtH0RGrKs5teoJskW8ISGcSbjPHrTIIAa+8gGJsmVbWpSSwsET0 - 6Bg1annLsqbgGwvNs/xqaZdpwU3eqygi3yO9VgMzk0vzPGU0t2MlRZrRHnd+cilw - KIdr1vkAwQlBtH8z/Uf/DLjCaZ/bw4rcF0gP8jIkOUb8mAk7Inrj4kBiyPY+eFA1 - pgVfRZCYZZrDrmAxwdRNO1+d5I+f0afQkuGPOfl3cdI25eHmpGP0tprWyAekN18b - h21BI05ybXJUXTgjZaYmiR8QTTHlIkAXjJxTPfkuYoWw8qvw67pRY75S22BqQRN8 - +LZda256uf/sBQwZC5xx2SRB8xSoqbGg1u4b6T4RwgdaLVZGYnL2j+lwaL/Frape - s10SuDFmQamquz3lFk8OdyEisfkF4z13L+YPL61uxuF67OJeesM+Aa9ZvHVQUO6B - bg37mwSibj8OGVXiCcOz0YhnaEezbNk5lyLWBGAvOPCE2UR0XyAyXR5+ybPnRiy7 - HJna6OSPldxJc398vovjyRZDegfzLP3hEIc8Uniqh6vt8Rey1Ab7dS2bu2YEQz7S - XgF1qv+SwU+6hbDn7InBeXjp2desOxwDoWZcHngNGJJESE+cvwVkRAxfOJzqAgV0 - IkXvhs5UcGWGULAUAnbtNGkVR0zdMMPixmLOouvW2Veu4WOaDmrXsKwLHE7HovY= - =/1qJ + hQIMA2pVdGTIrZI+AQ/9GibUZjEdLKnzrkpdXsg33Bj4OhdEQXWfSiNs8CHBOCxY + Rm8Py/a+COA05eX+ENWwVyKnnSflqy/TNMACfM8eKDWiCdlpwPks++vq+6dom1E0 + ulmv3ANuu9TZe3WRE0p1Gvv18aFhVif2sSWL5g+RQmF2NaPB8N/FrotYhB9T8/PT + LRz3PAbOwIsW5YLduzoSwycs7tcB7jZtWMm0zC6ZdCDsQbcVEUrL8FSnqmCfq8dN + TMUtF1AaBNZwfk6VrYzvjfPRUYS4FHAuivU0EpSFE0JzmwhrzsaUSarR2M5L4ltI + 9O0qSTagaHxbLsAnYm5OFjB8vE+FCqHh9b8VOIllpkPIrhElbYFDS4+HZYISrM8l + RLb8MGGRlyf1viC2xNZ5F6XKJBV7ZSxxuebeZgEp2IIi99sNwZ4n+1kG3dQdwUny + ug3A3WUd8bOmXxz+vVV+y+vFvTP9+QoSCoJOHsU+F4nOjga29BhUVQvLOgjJdidQ + t16uCLQ0E1ddxVygBEkuuX+mdcS1Y0wqNiFoVV8zPCNlVO9l2FHYnAGOjYFaxRvT + j3KmuFGvXtVqlxb0+piWXm7Ka1TI0Vr0y0xC4z1LilH1f/UEAJHu8dRYQnjApK/I + j2kYSU0VyaF60TmNLZw0oaGMqlTtQf6PoMB8QyxTLyQvtKpa1oreSmy0fYceTmDS + XgEFk5SDn26ZYIzlOrJKxZnjXDbK1/cjFlN6qCY+ct1iJAMDNHcXgDwEkEwnwmx0 + FrjqPNwJcLzjrgHmdYdaIPu0n8MG8dNtRzyOeRunDnQoTXbqs2lHpAGzlfMKdbQ= + =1fUM -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-03-05T19:17:46Z" + - created_at: "2026-04-18T22:36:20Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAo7eJx5yu/jiNQP4vWQ6CYOUHMosqrzOa47/VFyTaKGow - sHFcw04n2ETlYCkN0qGZsASDv+7VXwo0jeWmhJ1ogdEFYmYpbYquPPQ45Ts4B285 - 0l4BI3HFe8Fhz6htf1ys1e9WlaINYFPjFnRddfwDPlQenIluQiV8jd4RK807ocEf - DbsLSh/qWVsNh+cQbr9uWmIxqahqhiMLkyQIpprhFBvNV7ge8OR6PY7Y0FeALlzJ - =Mkml + hF4DKKbvh61jX5USAQdALa1gL5iUjPCN5tuz7/5/I2DTQdqOlgUiRvfVZB/JuQUw + tslKnCvbCj3jrxiH5NHAzcdk/C6uk54M9jIuHOzqqzeABbiT6tcVXHVtrE0t5DzY + 0l4B+W7OGU30pTvlJ+O082ajMpABvAgYM9TnSwXdWmB2jP5GvOdnjR6eqGfxTW5q + 6ksRm/v0RNlnkiAYIosaFi+EY9QJ6T9t7Ia5ZB9gOectl1S10yKrQuMlK7/cyiCG + =6xVU -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/z9/group_vars/all.sops.yaml b/inventories/z9/group_vars/all.sops.yaml index 96b32e0aa8..9c4c74ae00 100644 --- a/inventories/z9/group_vars/all.sops.yaml +++ b/inventories/z9/group_vars/all.sops.yaml @@ -5,239 +5,230 @@ sops: - recipient: age1j0876shgsn7f2thxh9kx9x5uwnh45z6sy2jlk2qz5jhgedm26g5srn9kax enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA5ajk4VWN0NUlUV2ZPUUdi - T2VYbjhxSWp5R3NNaEtYYzZReHV0MU9NSUZZCkhvaklBdFpEZUZTUktjd3U4bzlQ - eENrVHVFSlcwRlAxTm1zZTlUaDNuYU0KLS0tIDZPZjg5Sk4yd3VZNVhPYktwUGVI - NVZ0c04yUTVXayt2U1ZhbmFoelpJZ2cK3ZdyVwk0PprENnqI91Wk17oPXECfHFWF - 6uNykqEM2F455pYmSsCfGOsQ7OiG8xj/Y44kKmSY68T2Ryj851Zudw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBoTEVJaENCeEh1STVTZ2FR + OXUxYmFNTXBCeXFqb2F4Y21Tbm1wZzAzTTBzCjBlc3dEOEw4aTIwaGR5eHM2V1VT + aDA3Q1AzNUtOeDNsOGFvZ0hrUHQxTTQKLS0tICthNWlkZmM4ajAwamtzUG1CRFpm + SlFVQjVYcEdlazA2SzYwYUdYOXdEejQKgyrSI2JbsnhYw8sa5+cwIoBXyle4L1PP + lscbg4yrkSHkTKbG2NxyVJQICe9VnU9H6ZckQ1qzzMy3zWV/q6/N2Q== -----END AGE ENCRYPTED FILE----- - recipient: age1llkxtfx4dgnezmukj4ganx4ql9k4ga4ca9zuanf5r568jfp8peeqal490q enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDQlhJRVBVaEZ0Q1ZHWS9a - Yjgza1Exb0d2VnV3My85aXBtUWo1Z0puMFJZCkdPNSttaXorcXg2a3JBSTU5VXYw - ckxTejF4ZWxMdHdUTzdySzBSYmJsTG8KLS0tIDVqdHZuRmVTVEJTcjhMZ2g1WW1D - WDBlWEtnUHZZM0RKeXFTQmtoeUdrVmMKmcSujJlOKSZjQUxd2tNi81oR0n99X9aB - JAw0713s90PsfZj54ERajmN/cXSuLh+A2UDZ0KU2ijJXaiYXPur2PA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBNRnd4WkR1bHRvMndKTyt1 + MjBLcjQvalV3bmpWVFV4allRZ0lSZytPUm5zCi8renY4OTlLcGxMd294eGdYaEQ1 + d3hQWURJcDdZRFVEN1Y5SVpGTy9PUkEKLS0tIDhJNGM4US84TkVwOXYwRDhsWWtq + TFhiTE5uTVZkQXdIQ0RGS1NQN2ZGUFkKUmZ0QtaJnCsI69c7ziSRyLzkkVkkSLkK + 1sBdw/JbGmmx0FSVXwGWVQNq5r6KyVC51tdhcRzUhFAA/WOgBybwrA== -----END AGE ENCRYPTED FILE----- - recipient: age197tmckjll9999v5apqh5h70dktdxzxn92uyzce5j7jmesvnneecs9p7m5j enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBlaFllMklvTGp2MEhueXRE - bE1vTURBdXhFWWlhb0VlbEVGODA0QTZ6aXhvCloyajFhb2w3bGtrWURjU2U2UGFQ - eHRLZGkyZ3R2UlF5MmQrZlF5YTAwL0UKLS0tIFEzTmZCZTFKY2YranFYOHZ2a2lT - a05LbWJnRFpYTW44V09TelloNkphbWMKu1fAur3NXptRLv+URKQO1qA/QnjsE9Su - fZXeBCnEmpzHfPVFnE4vyJSM4A499t1d9DUeEeoPsgq2LzML+0K5Cw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB4Sm1yUHAzdEhWQUxDNDhm + RmVoRU5GNXNvUWJUdzlkZitzQTdHWGI2bm00CmZoanNTSXdQaWlHcGxRRU1XNlpx + bEx3OWRvdzR6UG1jQ1pNaWZNT1BqaE0KLS0tIHpPVkkvS3lCYTVLSUUzdDZWQjd5 + TGNQaGwzdU0vbUhyZXVDeEZnWmVla28KTtuenG9UpTh3Y/kou1IVBniCsQtKIl7k + cQ5TiuOUfarN3ixdcl5FTcRWm2tjEKtGdDN+wnc0X8jadzFKqGAM/w== -----END AGE ENCRYPTED FILE----- - recipient: age1yc9s8r7zt6tc7scfyxc3345khdwqrx0lwj4z6yp56h6rmauev50s5yqr22 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTcDdlOHhVMms5eForUllu - empvM25FM2NDSXFucFl0bGhBdXlzM3FRazJRCkUwNWxSMjFycDBuS2xRemtZWVZv - UlFsU25OZmxJV2M0K1ozL29oOHdRRVUKLS0tIGVQejVnaVB6VStJVFBEUEw1aHRJ - bHlFVnJWZXp0UEhmK3JOQlg4YjdzaWsKHXJbhzBLO4WYOTIRJUsMGK2shv2OSE6q - 5NduDenHZVvl6ZKyZ4dFjhklsaieYbj/nOyZ403L4AUhWOllUr562g== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBhM3RWcFBUZDRYZW5FRHlQ + N0g4OUE2WFF2WjNGcEdWNmpuZGUzTlFwT3cwClRWZ0lTeWJPdmhsSy9HdEhERmVp + UWc1OUppUnpPVHEwbmVnZUJ5bUJWOHMKLS0tIEtTa0JTclhheDk0eFc5Y2YvZVZG + NUVvWFAyTGF6QXJRRDJaRGZmSnp4bTAK7xRopHydOIAIljImix+B713aS6HyQUvl + YK41pazRRiZcdkxO/U/Uph7KZNsUvzt/flfBvtcuiunQ6yQreCsKuQ== -----END AGE ENCRYPTED FILE----- lastmodified: "2026-03-30T19:28:25Z" mac: ENC[AES256_GCM,data:IGai2CmOI46XHekSSpLgQxEGw9zIf7Z10K8eQyi0rJGha5ZOjz9jP1VIhC9m6LjRxOKJuEPV2NvBACC5tBUCGwW1Ym31spcROjjtCzyqRF8E7R02oNMIQ32Byb9ij56/Trl5UOBOML+WOdeaq8r74kEfIyZBCx/tfGENuTlBqd4=,iv:Gjzb/IW6WcRL3c4ShOH46cVed4duTs1BFygYnGd4d4Y=,tag:DZAH6tA92mFP5Yo9b4kmkg==,type:str] pgp: - - created_at: "2026-03-30T19:01:25Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//YzSlv3O9mPgARl90jAIT9qARlo+3FTlNtn+m6CEBxbjN - 4foyzz7d6Hg83wh93M+SXuSrqT3PYlAjNpwhpAyRIV5SEE+s9amhMUCF878ex8Uz - rjJe/XwtmBTzW93MWCOumXF4oj9gerh/+driTXKHOZQttgcbusyhTEhhi6tjGnq9 - 5f5Dze+UlfQeReyYaW2vytVQ19kOzIEn9c8p9/4CgDdH0ZX0pRFcKUw4AAKaagxy - xSrDp9BTEQk/36qkTnLSnLlJtBx9iT9En2QMGo9LXy1pxJwtsXoK6KrSyRKY8jlB - Zk9bBcKuHXfo5JlURHxDBWx7ZUq/T0fjnJLwe1w23u//GSSPZdrBTuVybA0XgQY4 - 6/kfh5CJvh/oLOW9+KQ7a4LtToKY7ADTV+mCDd+MjClOcpHGTv3NdCldilFlo7zi - Wi+OqckyMby03zSbByDCFlixpt8Q4Ayv2Zw3uzX8udso553pM7nNXAPqaqWGhxMP - Qw2jd0wYSvDb0DlZmA2JivXkNDYk487K+6RgP5PVzitIWy3JTTS0+uWqQaoDmVjb - vTGfh5hfRFo80JOyX31G2+o1frE382JzQIOMLP9OctxIzUS/d6eWbeEvuAgs9REW - 8dkPcEoQoIzmCPxikAioKGwiTSHZ+BRXWCWiVg5pV6+PFH85UO5QDvZr9cPZOArS - XgEUvu/d9n7jglKXbw7mQiDUCjuV/WNrWmGd+wV3EybJ+l8hFbwPdQcRP3WdGZDM - DQAJ7xp41c7BCsqH+nJiy+6fpn4P+HMoXSOvcCjFycwAvcfW2ZTvtiKY1CQTT9w= - =G/rK + hQIMAxK/JaB2/SdtAQ//d7j5cedeEIsXtU6hO5pEUQCBYt0kU2jkcSqFiGbbZXQb + EOgYlGe/eEQH5iExcB7bIxtaPqnun0gNyTDgQDkIxaZQTJ9R7+HmFWKzJva2FXw7 + lIlt4BImAGZdrhJgqWRMB5sFl3f4D9HqapeYBE4r7Ej565DB753sU+YBAPEAzAkn + M785Nx0N+J1nsTHiEo2c00d5qgzvfnigeSfMKYJBPl87AqJ2++oFAFRFeDjn3rqM + QFeQuyApsgf3qUUeYBOSS157/IV/qYKtTZ5mrxT3QgvPNP2H+aR7wxU7OcNXq1NB + vXqZCopHliPnUw74ByeqvOp3Im/Znhl8Ou3TPcmXf2n+zGjFz1SjwWZqiCQalCgZ + QF9BiyZ4eGL03SnOuoxGWpGQox6BZxn6Ed2UO8EWPXGL6eYX2oL7B02lxsWn4SKL + ezXb1EJCSKn1PHRM8vhvwZg7pkBaSpeFfetal6jv267FVGNqm7oIgp4E46EPGKCh + JcZMtsXpkbmwkd9bzstuBpXBQQzP8ljYiAC+yOBuprDmPrS89UDyFHqKcBsVuG/K + 51wbdNbnaHApFhh5/fiaW5nwtnEfeuJdROVj7JkiY+VdvQNIKqw0DzZsV7TkHrbz + GT4WaMlTUX/paRow7m1lU524Ixk5DVeBnBpsDJCxywoSvCWBCYCyJdoL6MCz6CjS + XgHfe4cPyBF+oOyYpogYzVzZp5v4eVJw/i6u1qmyEYMoDCrMJRGvz6bajW9ACyiE + 9OSF4Qkf+YSzhDtSlw2zaiUagANt/fOltSskwkzj76h57nxAmJEY41u8P24W0ow= + =FAjs -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-03-30T19:01:25Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf+PEgXt3S1ymitd4Z3QNniR8QyzfdgulQpqwXCJrhOIhxP - GDzRG+R+iZId77L33fh/XB4VL7nwO0YSM0e3QeJOWSYN93vAmSUBnpxjpX26jFzc - CmCFKDA3hOFreo2H+rm1MxMf/N/UXTl5GUuFkm4OMJlZt6K0wYpwfSr9BAJ3jRa+ - A5QL7JXN+k/ANwuS0D3Rd+KqcH4DgRbNa0ydj+ajUPk5Ikq8jGHEAXY+ziw3BCgZ - j4C5gb8YscjbGgWm/8JI/N03sBEGj0B1lrEtHwwFIsZn0oUEdtjlGCxfSGfltixd - z1I6CPVGCTrDIVtd6J8SZb4/ONS/UcIlcAn3Ynphn9JeAUie7925dk8JGCyaJqWh - uE5SaxpfdubXpuJDpLlA2uHXhBALNL/W50gwlyg/CpfZWJSnwjiTpIP2q/EvyfDE - zHZD1gD9a3Ut90KAMApQQVb9BEaqxMiECP8cEZmDGw== - =EqWC + hQEMA1QflAioE8i3AQf/ffB4Hg/grUGYu9eXalhufN2eozhxRJzKI4smecTEbv5E + DQDN3F8EQVCo2++lzv+wctBkhGygUSMnxEkvWFdXxmiFOQ24deucGJMHlDUOwH0P + yvzfeuJwhkhjNuQc01D4kYghSlYbdY1DTh5N+oUZlWiAvYJDDKGxKMskqs0J4ekE + f27iBZVVrrRjtvd4qlpM6HibPLLPQrw290hYszZODbvppnrcnObn8A8ZbRYXnicA + HXbcBQ8KqAyRkd7YDb55kBgxmXgAvR65YcWSMwP4CRrbqQ/sMT4bTZP8M4uudebT + 9t911zHqSzuno/syd3cf7xq7xdgk1jHDpt7tcj0Ao9JeAR72JkQaNMszx+VvtsQP + Tah4zJrYEs1nj90H7J0E8v1P8pmLtI/6sOzFKjao9Gyd6fv2bxaFc3V37S3np80U + S6yeRennzcW1siYGNqeqN0C6/4/T1QLP7jEtKRj75Q== + =ho4j -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-03-30T19:01:25Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ//Rlrrvx1YeZ6lmIIO9hUFGRQE4OAvbsJ+Q/OVxNPjcoR9 - 2/sas1WVrVt/yUs5HI0wEIneNo1IrYMAgeW2e9slmNsIHVGUy/hdrXXOab7s0q2i - dM3/IjAL6TnjvsrsKMf8fWF09U2yx53S6ajDFTn2n6QdDXq6j+PVfrQTbVA/2Dzw - 1SCPB1J0OUqJgxhtWHqFNVbJAaYQpRAykG1L4jDgfVnfA8ZTlBHdyJUiLAf1+9Qk - KVhtLe0DPU1bN9cAhbhDjEVYBjoYtgCynDiBAC10epuaPnktEa+OlL5MndUUxGVi - jTezHjt21p5+lbLvQ9VRcpFGFRMTMd5oVLxzwF+EzdoabRsHQJ7Vmt+LBECatNyX - ZPQk5sJIgCeZ7vPOLJr5WXsIXWM8LGqtomK9nhJb85AvelhENaABmEz7/6NwOcZT - xPw0tGBLcGS8n5IYGeYki5dJLuMBsko2tcy3VwhMVd51nSCTztfANbPE34+XviQr - I2TrklVBwB0gIeFGOpHbLgnqTciAswTuWWeD/qjnZir5cCq/9s2V221PAwQCErwD - qXRrPgZ73I0QzQ1TZTuzI5+yDPICIT81SA3g5jtbVXWxls92iOW/6cDtJmdkNVwc - Y6lNFGTJvOf0QOiI3qBp5wRNG9VCcSogMW8XLWCF9TnwFaU0uMPzdomArHUmfLPS - XgFPeZJHHAsey6XLLhVnATf0UudiRIM4uoGrDuHIGgBgVvckBl9dkiGAW3Z61lPd - WFyG59QSxSnyDIw0EwO6QNaL/E1onLkUuHfxPs00T7skJcJj5I/36AvbsvCF27U= - =e9sI + hQIMAz5uSgHG2iMJAQ/8Cgpv50Fz28nwgZruo/ieweugyKPewhvupBEsd1nDVdMI + htPuuoFjxTd8LjeQqFEl3CK4cOrFhG87xjFlYpGyVxXs1hU9u0ezuZuB/b1Y5Z/2 + CJJjdyrJkuqo3X6JHeVezodAE/D28B5ok+efzVgacoD/t7lEWtWd+jvK1pASsn6X + EGYhtF+ld6BC29B44SAyv3U5vEl54BxF9c7TtTGxesmjayELFawJ25KDVH7QgneR + 2edGHbtPkawxal+ubinrHL3XEnPLczrS7Arji6JF+nZqr9pM8p+v1viu8bE8Tm/s + delpKfSI05hiEPKv37ETZqyTzYgO59oeTLe3J72rSmSW15BruzKXQN0HJbFsqPGu + ZhuNmuzB6eeXwX287dcqogyvnecC9XprzJjySRTLy4Eviu3ghrSi739eFrIRaVNE + N0tHJtpTOsY50W16cxVbEmJzPoK/LKesl/giUU1yeXuv3i9NladTpUcH9tWfnZBX + umg1DhOVkG9oLBTQBPlRfLoZXuRFODCiiwoqXWsM8/f9E5dqk5qbfE/nNoIV9/HA + PaxBEwgGdZ1zsK2wCh9Ia7EkjNMyUlU6wa48aoM0M610002rcugKAsQuwZhS7Q0h + k9GROr1BKPdrn4eVCzUkoeZSbS4tUGI+A51SqD5QcqhG6x1jzqBfzT73t7n08yPS + XgGPwTBmcDlJA12uwBBBh7JDIa38blD9TrwynUdUr+U49E/dWJ84JZ/Ea6T41ILF + vYIjmTkFtQs3oJt1sX5tnoJNpxqf6rxATYJzMOHJ3XuYkd2hnMmv5Hdco2/JXuw= + =FNar -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-03-30T19:01:25Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1ARAAucGkSrPEg/AJWqdob6gmv4hnJ573QBV7PdqSwEtz7iAS - iD3kKvnHUH86HTwA2GDLzO9aOt+diEllYBlhh/XHBfoLJgbK67AoV7E+6w/RZY/j - WZIFYzDa2l/prUfK2izp/hqbkXQViq8OTfcteOQWCQWTthyi+qrKpbkyQdW7a6p2 - lsDtw5LaBnon0UmmZqgShWlxF/Pq6VnTk/x+cKZVd6CaLfLzwEWCtNjbNtO0emYJ - olA1ItnfrybIXrzAY9XFqWtKEivygb1pOh8UK5JFG+Tk2faTCvYncCbJDfBwW3BD - K9TonzIAuCP3Vn/9WQlcbivnjv5WBEidiN6V6ffmdhUxTcHiLPA4UdUqUELrTy2U - E84V1rzDFsGGSc8KwlUaifSIuyv0nOuanDfIO3xqVM+D7kbPuHYg82MCS4jBC0eq - 3DBz7RaNxJooC2gS0mRAtz32gxtJ8MLU5M6d4vTQWik2kOrhkg2wP/NbiZ7/FqCj - Q0BTml3Iu9egmaNX+OCnU1c1+cpD+yrW3zHreDmgHMq0doPr58+LoVzqQgZciV3Y - AKiHhu6Vz8VrEyd8k/iQwPMQ2orObMz/gPUul/116zSyw6FhO6LGaHpiNqw2ptXM - 3EkBVWViSC6ZTO63gDP8K8O73r83SQtBs8ogrCmVKBIon4HmohXeEwg2bVmgKb3S - XgFgj1dqbl1CoWRZJezSFT0TaECvNnhzWGxOkeRx/Iz8Jk4QMby1/8C/gLAbS0A3 - S2YVaHEKWpd60I4K/aP7AeWfhr5Tn3EXXLjE9Rnl1vBoDX9jjQQO6VV6DhbtvjA= - =iHoQ + hF4DsZXvxFXTXoQSAQdAW06i7F9ciH3jtDcZt1vtqRfgbjtxQ8hXyiv0zbttK2Mw + 0vvbTRMVC+pqjMJ25hODmqrIv6xt3TQKMx49bTA3RxS43qs6zoACBiftsp0xcnb8 + 0l4BoJby2bJE+K6gm8rw+cUjn73wP8csiwnYHzdgjYigjUAhMHnG8ebKiS19LZMw + NWob0yHFEi+85r8CQLcmqvafT7QLYX/ME2IBnzlMTxhVEXHjZOCrLsfXu6tSWUUd + =THCX -----END PGP MESSAGE----- - fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-03-30T19:01:25Z" + fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAaJosx9kqnqFCH+uj1BO9Ko9lJ8Ns2jtKXJvV36rlTS8w - /UJINbN+QtH2NYhoSIZAssROXxGxJ+vyYZjzPXinb4PzRcKBXjY98OdRl/+nNSoq - 0l4B1sFLsQIJZ6uOoA6yD0SwqMkpvcLZTJFSLHWEznLC79KNtcxC9h/Hmagjbjhi - S9SPiZH24YHunscM0Ym9NO0gjgXE9OCy0IgHCaHpb4FpKD2SrQCStDqBTSIs6xs8 - =o8Fi + hF4DerEtaFuTeewSAQdAZrIA2Mp189PuVr9sfGe7/OUP5vun8Bg4jepI9EQKwjIw + klzfCliYS6jH6gpz8D4yBCIFY+P8q9qH4cIgL9kxNrqOcHPHlHV6bjwqRv1LmMqd + 0l4BWZ6kaMKH6TF1v8TomroTl+PnbqDqLW55BZGFKq2xb9m2PPxJ5rAcfKW4XR7c + OBTqQMpv3v2lsj8aMXPNrtMalc8bV/sBN8tdTOkmXwMiKrjBNZbWk9O6u+qWooTo + =8SxT -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-03-30T19:01:25Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//WeSt78A22bIvLA2RdxaxoSpMIWKu62LV2grOdNeT3/J8 - dy0pAeinRHjn6i/ok8Nx0kIz6IrgIvyFL4LlmhV4vRsvF/N7m/JOMTpmY5rJ+BP+ - QiMuCIcprwET27kiEuw1aM3rKUXo5YWIfM+OH5ZYayiSXelZkCgb3RhRu9tDthAZ - vn/q+m/fBL/dIFHxVvpWhgYn1JgxznqbVSNsvsm/C5Mrd+pZAjDZzN27sjmJikY5 - pZmmVCQBQX982oz/JIhhoX/3KNHcX/P/l+jvzbuFjptsz9ipT5mm6NlXSaJcDcs+ - OrEHRzSKWSqqLSkFkwpT+/zERrfA/5PJDip4v9u3U465CGzidenxqJAaKzJIhuYZ - 4NYwmXdkPpgJ9SPkoa5VqSatokzTBR22x5/FaLB/85VslQ+2nq/IfYZWLKFXb7+r - LYqeMSVXdbounv1tFpYH1WHZ7TXF4HwAL0dynb7yJIJdLukbRl0a/JbxscfuNz/u - /y25RJRcbIklnUfVRxqdhqP9TxSm/Otb3KKRLgltj+NOvAP1cMRxpq7xe87KOkGo - UpbUFdXvcxZLCCCpkcsWBG6AbDSEb+AiTQpdrROB0OH5EpiY0+EQvQpd5j7Vf/5v - cSIaZrz5AqK0wRXazsYd8brn+FkFwd4DO86A9tR82nnFe2Gp7xQcz0vUEAdlRRjS - XgHUnPGg90qsZwOy0sMNu0LyxvQFz0vMEzSfWyvEAHxrNhmpe/tKjpLJBmgXNOm+ - jmwYuQOA4Z8UyPN/tWxHgDvYZNfp8sRC9dZim+GN4+96eP7qmUAGZBDoMTGsqJg= - =daEf + hQIMAxjNhCKPP69fAQ/9GnCDfxYi44OWGGTWE1Ny3hKX3HfyL5Ti9wJFgAJzWVlY + aHQ9jqL4Ia3rW5L37/VDRoaN0LmKUxZnjbdoJ15De7W4pnu++aWfXe8wNQVfsYVl + nrpnM3yNT1Vl/KQ6I1ADDZwsMsTiUWKvO/0zTJxiZHzid6ZcqLgK4MJXOHdtTAsB + bhox0GyHb3QRSn+ic9F8WF7iemfibYcMf/ztUHFemarQB89MNxJueDEoIKFKEZ/d + YGnynJjCJBWKumD2zBmnDIk30bSmAexZGzDyb2wu92Zxgn3qWxsfLZV6R+qSflu6 + Z0ZlzFXuo6zBKo7hgYvqwKI0XlC8Lz47y8sxgy40XYGES0LTNj23ndvC3Kr0G4w+ + BpHZ3ZZjaF/VLGM1ekWZqdpPCuShJj/qlTlLqnHHWxrzerJiwgvGm6hPoVzQs2m2 + ehG+fNxboLRF0ys2ho1YpHsOU52RpNi3K9/41Z0UnsPURUDjBOPkz7JFd7xRqxJs + 7NjrR/ocbQEyM0JGNmx7FegTl2vJ31+D51fY2KdxPZ4Z+WUJh8MtdeOm8YpGrUkq + VTPmskWs7wU3NMnMpyP/D1aN34632GKnXqFv/9n2IYG+6FZEVTCOhhp0KGZg/fQU + S5kzYc0E/jVTkACUtpPsx+5ZNEPvpOxpYRNfQ1K+lswY8/nT/nLJjMz6kAkYRFPS + XgExvHe+Xs52MFtGPMCVvTXUpQR2ebfFjUTf59Ys36DMxXf9VmJxciQqJN+9XQYo + SUvQ2RVjJSl5zr3KKREu9tVsy16BqeKXDYo6xOyhF8ftFi9nVs5vGIzKoNtGR3U= + =OiI9 -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-03-30T19:01:25Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//bOK4Z7o5h69xOVoplo4ug3B5blT2fUwk065AYQTbdKu5 - l3XCWdasVlqCA6lBfuvFtYp3GdF2Gv6cMms+c+zJu2p9Lni0uHnTZsZXuWhpXUUf - PePPJ5CUIoMq9He3qsQZPPvLjw7UwmvJ068PVsAcJAP1+j39lyOXj9kqSQ9lzeYh - HF2zPRigNrKriO6AOBkXEhNsLBUZAeeoWZDkRpOB9sJrH0HcQTxbeoaDETWVFfei - 1eaKmqlJKqQtPQFadgAdB0kVISiVt8YA0E4gSaj3KPx9Wu+h2+f2+2fcIjl+QCS7 - GBnT2A3EoUwEybgl1RlnM2FMHHmyGdTz5Tj4ng0kd8NPT8tGw8OqaxY96br/5QNK - MBtfxy1SrPiB3dBcdUIJZ/EqjPQjYGx/TypNJKHPrzu4Hcfagw17CLn79raIfpuc - EIei278rOMgy9mNY7Ol/duugYrBvYcNfKQZB1yVmlfduGcXJtQMYV/Ou56J/FawP - r1mgaGVc/SLjchItLM8bkjqYptxyEjverdZ1afiwCWZcmhoyAVLVWnfdPSU8G2mz - FGGvKSHL7wx2CZONE/eB7aKdUX5wryeCFEZqhgDQioIDb1U04KhgfTsv3rHGMNPl - FUVcvEY9aHkt8Hs+i3tPOYVbgWVKjrBFV6g7o8OaT0pwFPykXiCB6wCO3IvxMf/S - XgFwBlxd9yChcz3OR5FhoSbj4x7D5PsOy6bwMiVFhcq4fWOB6vNsZE8dca2WN63Q - uSZPOICGrMmTEl2Slp/Nm/XumYoRMvgm4ArgbDHyvgNnySV3eofRyKZlSCkHJ3w= - =tESC + hQIMA1Hthzn+T1OoAQ/+NNZrV0tLCmDMO1nGofY+7CaG6MLrodXk5IfYVmYcsCdz + 9Fbi2bPYzpadr9pZQA6HHVOoRtFCq03xi7hYPbtuEd9Wseou3G10dFpvovlw7DaQ + vOOuaND3VCDvt3cyLHqXbLROtKXIjtsg0BKwLpcxNOiG4TTA8CluAvDztdq0Rz3h + 8fJjCBTNmCycWsEH2ac2mPtFoWufkRIiKssmRlWTYUHue/UrWcQqmaUA4Tortkt+ + aHOlFeQiFRd3BRRxAoyE6KTxH6xrppk0G+oxSIYslMoqDBoJL3MN/rDjzxBOgtUx + j4ssuk2Gdy8jLm/nrOrBzVO448yqqFaAiqTVrZncBFdofa/Vn5v+UZIH6c9Sxupl + BmcZ08ipUu7lllnF4cygyPjcW4bMcGeRkUsvAoQ7ZqIgYecnm7ZqYE8O2C89BJ6D + BjnYoGN/BjRkVJKhFHztiHNk05r8KqPqXGCfsBiWxtr3kitvX/epsDkbTKalaPw2 + 9zc/CppKTpAtKV9cGC0N/jf9cSgaA7KbVQXAdjm/nTccYeuPO+HBVMEPFdmi/jgb + +i3NebpwWE+wbZB8g6a29gy8a76tdkWxnLmchyHQd2GcULQy75RzlJvqyyTEMeaz + JqQwfbFtLnRDEWDHRDveaQKdzHanydvFqSOK2suVW/O/sGXHG4c3pz+xBL6KkULS + XgEW2jEAkNHdt6vSilNN1UcqHG1Yp65FoHlMQx3190vG7vplWefvYm+cBDmHHbaU + DZHuachsH6cma4wyB2kKVEdZ94kFkfdK0atSwyRGjr77kLztjBTJYICYwBv6neE= + =JsSt -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-03-30T19:01:25Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqARAAto6IFIHHgo6xuEB3/BtsqdEs6eP7+x/DfsUbWR3pnT4f - /p5yRW4vCQaBVOxdwDu6S3v6Ws4Qkjzi/coP3JDaIwSp0BxwohdMxWDvkheHvc8D - 856dTZ674ZghbEGzHzchz6zyf0fMXwqaC0S5HpCQoWKTGWXIEtXZNDScsFWTIygR - VVwvwtmpamdJkHcvS4jIYBsMT3/l62AjnEKmthJ9i73/RV4x0/gpxSJ70C0V93Dt - jh79mSHIa7Lk05p6Y5wq8KaecbrWmp3cbB9YdPQlkpgNXdRyEo9o0dpXLcj/ig1Z - Xbe+HY5P/Xih3OWFDXdyTbBcvst6AEySneSfv8+xqn63tThQXLXKRgzXGiiO9gWJ - 3mQok+mmTEom7n7ch5jSqERV7d6kOz2aldsMSxT/9/CiQuQxuXuYIAsZMgsb+M2C - J8LSWEKDjPX1RyyUegaoEvo0GuzX7xrhpo1dl4ELgQbyRprGd3RqTuHlpUVtrh/k - oKT8VvjQRfX+q8b+inKFD9XX//x2BSO055ECi8sxwFe4YsTjhT4/avcFK+OxdKyp - O7F9J2S7Ojidy4i8UEIJ6upNm+KAriTtRKPmoghGyA9mQY5bcgrAG4f+RiqLI6F6 - yMQc//Jpjv2R1rb77ZRtxmpv7XvnqLAwIdR7KqhBqZrHGALkI2hf654p+ZJy5mHS - XgHLo/MmgSGerJjYGXa5/6o8rnfmUCoTqGwtw2ths6FZy8M7jlmXZGyDakk4NFPU - Zta8AgA7lOm/fL9IYZSQuz4ZSuMmWXsDa6U2rxfVtWVV/Udvu02rV0fmI4cx1Ng= - =busd + hQIMA46L6MuPqfJqARAAkp6hRlQ72snEkyBfad5JTLi/DUtQl6Fn7fuKefxrADmk + VNF7I/5YkdGcxz0+85fBmGwUvjOb7sHamMrkHcl59nqkX56LJdcCDcxRHGnz/34l + dZwAO5qKmco0vfCva5IYSzd1kTmK3cVRDChIdfh5eO3vSg6Y7JpNbkqVocT59ygy + +KgGnZ1wPSMaboSMM8ZzesEMe0YqLdjJ3+8NqwO1yLS4YTsJg39l+yBRxskSbIU2 + RPZsTi6q5K+sA9kSK5kmx6nQ9A3fidFgSCuniqlrE6/sgjO47f2kfleTkm86g2Vy + g660E4lNozZRNeAnXR8bDB75BLp9oBr2baiMflP+HfbktObDdaGE2AhDPMB9wBcn + n0Qae9+W9aGPnM+sfU3KMscN2cS5xbvueExvP8i8ZuYt6i2N8LfOd0xO2lM6mZ2b + TxpH1YIh1d6Liu6z8Fv756rdgy03zjdOzIPch21FAaGHjuSfRq6BS8o+dG0QT+20 + jKDFauqLh1FOzyUIFKw9oHt/jS4t6jQgwFcOTZL7H4utx0Y7lsuhtzrAZHK2Jua/ + 1V8MjUn0ABnCWN6o+SKAizOcN8uoXqrae4qH1CwwAj+Qvbgbob8IsTKhPXAB/H1X + ORoBTilugU6Lm6+wM5vkPtfaEaY3n9P72XPrLarvsVHsIwTT3MFYh8JLjfHFiZ3S + XgFT6/lIxH8N1OwrF2BnzFH5X+8laSeuNNfpeaIezXtdUMEHJlgu1arnvkEISgoc + UW2bIhKx03p/kJGpNMJCxkS+4ibbSsbbDAkOi/VUIhTahYvbSWSNxOEmlHVZpFg= + =v86r -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-03-30T19:01:25Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAdaKACawFy6WasUfONEUKq6sei8PxN/Hv/tQsnrTUXBcw - 2kLPPzDjZE14/VIaAV+ZGbtLDxJY3Tzm0bu8j8HfmZkKOxdccW9lg7j68LgjCQnv - 0l4BLvtEkJTzGmehXRc4dgQi/D83NUQR1xxv6mg9ZAHCisw4whGPBO7azCtQKed6 - 0gBnDYOhUUmrauE71REVazxCYP/j9cdxBktliKyPFnPXsauxllpYZZgXPnJcFvkC - =5b/n + hF4DQrf1tCqiJxoSAQdArYagXDCr3oHLgQTACf2vX3iTEOVwUBuVrpQZiytAG1Uw + VhCXUynaRwpnkApou929oDLnAO51KfZjfebCSape8IaDSTP0yV8YGmHxt/IxikfG + 0l4BgH57tlMelZ9cqVr100804EBN+f7P3exaueLJD8UmoAZinoonsvYXYvhv7f/F + jCTtkOIfMmsE55C9ysJLoWoFC/c+zu1QH6d1vbNRaDGYzX7Ve2MYV+UeZzhTIlLf + =wy6a -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-03-30T19:01:25Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdA9YMONX3Uz2ANfaIyi3fi/AbVc/CAz0+ymhJi/9RS+1ww - kVIrdH/iMt2aprpEnN7h3hSG/MjChfYiWcroux+PSZ+3FvC2AciXcY/fe0PCYIsL - 0lgBgv5zBPUPx+QxnqlWSqR65mpSEIW/scX+Xknhc119pJGf/WteB9YHkBC1++DP - 7hYanVYbcETc5ysxzj5tohX+3Hh6aDn4RREjK6OfQy2I4BPTvqmp6Xxf - =6Ax3 + hF4DzAGzViGx4qcSAQdAA296qf948blew35ooV2UXokKtQDFjRHYKw2TLk3S50Uw + 1aNUzjkQmzu3GrO/EKLN81XPUgwbYYaLa9D1C7b8uHPgvWQuu1RMaFq0i9vJvyQC + 0lgBV2CnFWhkFiIWR2ZouUWhv4GZIhU167aowLYMy19FrIrgxJ++/olySBG880GO + pUWh131ahRBdWXsa//NxFAERxBJfFC70REJuyb/0bCjhysFUqg82DemM + =rak3 -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-03-30T19:01:25Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ/+Lc+fGE0fEC80TME3FFRazuIsjHeLLUjmK6PZiab788Og - Txl3uC7rdozj9mqZPCzpATzcbO3VLv2oMO2Iel4YiMFtYvRj/7l1lPq/xK+1HNNe - 839Kvpl+jq3Gqj1LEyvNRBcVefbiisdvvYFee9m86QLBctWKw1Xu4xLMcgnvaQmJ - q3u2ufbRfcA3uc5MHz6mN8KALJmACeBM3nSPm2Jf2zUcAb7XM5Ub+1Q8wAIwCb+S - R/ZwXf5k8Wga0iF6WK1xpho8DV5Bpf3iaVc5nZLKOf+zt4QplqZ+MgMfVMcznZAQ - PpVrfNTXg36oGh272EKW7KBA8MWqir0F3MvCULscJU1kmPWsplu0uvT+UHv3Uq6A - EefFhwns6LjwFk73nlO91DxAeivBHw70YOcsX6p98jZ346o+/uEJs7lIErBZyb0A - NhoV9tDi64DMDkF2RwG8KtTjfzFcLBzsii/DHCxj5GhPJoX6kX06nJHyQ8u7jIJX - d43qORatXKqYm+s6EblnFFPo3Ft4xjYwT32HlJDLnNQuOcW2hlPRCvE939GTWP2v - MnvLek3+gAjiTL0C+41+qSSSOgv/oPXNv5QUsA/VLRSKX6zo6fcHNnHsDOLJMjC9 - nLI6VSsa/za3hjt14YwEIMhtE6yc/iMlSlPEC6X8cZs1T8FP+iOXg6Dsnx7jIaHS - XgFR4I7rkVVThNSByU1vBzMeqQ9LTxGItSl1LDr/lqkbiJ4fQmq97A1ir+DdtzCy - 0Hs5UEcjhj+uErx14EM8jVS9gSJQui4xDASY57yLKZkZMqQ1xt9LuEjHbIhrYk8= - =/64O + hQIMA2pVdGTIrZI+ARAAyjtWa4Elmoj2Gj1yuYxipSUho98L/bleTu5qENIw9NRZ + qmwH9qrAcTWBuFSCxh40e8rPS8ak3CU1oOaEMB/fZIMZ+c3r2iOlf3oVLmH38eIJ + 0mfGBGi4hcbK7OHcr7UTDwQr5KAuH34lKl0KMtn2SPcVp/4Fny1l2yOdlKIPl0AJ + LDbjfwtpZrWviVM3WdQbr1RVgmn8G1BaYeoyd9Bq9mzf86VYX2I20KA9vj9j+nXh + cUzEaiW0jKNNAVoD6dWrLi0HrwyUEDcBIYo0LGoIYjlUjFlhNKJf2yIpmAyJ3Qk9 + u04lVSftTnRKF+lijSKzpPiJCKGB26kWufTOEIWxmiJBNvzKXovlGhyrbdyFvvSD + tpY3nr8sMX1HMuS3K3f8vkPZQJJmfm+43xGAHZbgqKLBCVYeuT+9Li6fka0kIVRZ + odTQjFUhejE7owxzDD6JuHE8ZJ3JsHP1qqcy09C4WN0d1QDivrePJh9XT7bgO8mO + OWIFotCGHYXnxZsGf+CoiYcGKVBbMjZCs9bJAgyh+nwPC2U/OS4+qjot+dbafsvk + H2GgZ75D2VUnAD7bS81jZz08khRy7nSYcsv4jl4i4wL6pu3mcD2FpXHQ69YF4uCT + xyGx4I1DX+c8NPrrHQvIjUHrTmfJkGYWvCLKUbECfotl1C25L+rwlhA+m7Z1U7HS + XgEEB5Ttm6r9BAIuRKpN8R0CDGOaxd0yiwaNJbbpfFqYzO4IpaRCSPl90KDG600+ + 6hm7+Emp6AuSWZ5n5EPNXFiFo5Ja8wgTCvbT+k7pVs6eKeRD/eVPMtTOuHk3lSw= + =B9oq -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-03-30T19:01:25Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAlFTlRzneZKw8LDc2PFgK3iULOHj/imft2hh+6QdR+GIw - umcBK0YnwSqeue2kmWubwG5IqFHA/grMCK2JhfhgrIh8XBiDLh4K+SsKCoV4tGJI - 0l4BUwUbjLb9wGAau5nDgLflic/E5v746a4Ep/+mmOeTqKlRUKJT4PgZreRfMrbX - uG9fjIp1mrshADSP6DEJEAtz9U8RwsLrc0GF5OPwSa2dxCuWTKqbeCyrZeFltzAe - =9L6A + hF4DKKbvh61jX5USAQdAdF5IMjO5oGT6Jgu09UEl6LMhps1byKKpi/6WEQAzi1Aw + cI1Dhz3OARuKtOdvYJ2ayKp2/ki9WnTrkoq4Ey8uBy3/F6y1BlSh5USvJWXf/QHv + 0l4Bge/Gexib+b+LGnDSqTUPTBEO6YkNwcD3qZhjktPpPK0UYkhYcwx8EhG6O1ak + zarabdCjjdTeCZtunjJOkVwN2dX6VE0OW8+4kqlDbt/7bejzAOEIoRVtqnng+IDu + =eRe1 -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/z9/host_vars/dooris.sops.yaml b/inventories/z9/host_vars/dooris.sops.yaml index 8e21d17fc7..7b44e7ca3f 100644 --- a/inventories/z9/host_vars/dooris.sops.yaml +++ b/inventories/z9/host_vars/dooris.sops.yaml @@ -6,212 +6,203 @@ sops: - recipient: age1j0876shgsn7f2thxh9kx9x5uwnh45z6sy2jlk2qz5jhgedm26g5srn9kax enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBpcy9xU1htYjl2cDA4aktt - MDJLRmRvMDJEbjY2STdXbXNWR24wMjhFYUcwCnVEV3JMOSs1L1FrYjIvTGJYWE9j - SkhzN2kyNElENkhNbjVMTERKUVR5NW8KLS0tIGxhZFEzQzVmT1JKS2daaXJveE9z - SnpGKzVZT0I0S2x5ZFdsbytrWXV5UWsKLqhGwQjrpD7GzjiCG/vrZ2lHxVJ7Wkg3 - gUTpvC3QJzmHdK6pb8BSlBIShMM6Z3M/AuI0jr4os4/miwalHHWuVg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0LzB0Z0NDWTd2RS82V0kr + ei9EWXl0SkUzcHpwTG5yYmFQTUZjRGJDN3lVCmpkM3F4akRLejZKYzhDSUs1NlRU + ZUdhTURRcUNvYklXei9zRHNrcVpVRVEKLS0tIHo3M0RHcjBkVC82c2lRN000Mnpm + OHUrNW94NGwrckFJZnVJUGZYdGJOdVkKVL+SdpbhyxrCUBECEM32Kdv/4GgDSyaq + gNUS9OEwtgNSClVkNGtowMPCtMCwm/jOth6sJqqyiE5dTPjgXI55lw== -----END AGE ENCRYPTED FILE----- lastmodified: "2026-03-30T18:52:37Z" mac: ENC[AES256_GCM,data:9x3IZbUvmKIartKj+dlA7SZN1xMg3z9DisdFHbVc2zRoIg2qbKjw+kFDOAhBhesZNl/deBWHxLoqnRQjmkML/9QLtEFbQMlU8YjXG9gmM0tj9oRNyA4RQ4rEvnUmvWau/NVv5u/rBcv/8jyzQwRdpAcxzgRybaSeA9HNAxz2kEY=,iv:kOU7tbNsBzn5oF8qT4e4u03g4kA66S33H17k16WI02Y=,tag:BRtDa3F8ZUXMpNtrTmUIGQ==,type:str] pgp: - - created_at: "2026-03-30T19:01:24Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//bMVNf2q6bIbKXYzJnZgegxvO+E6vOKl7qXYCYOSWEWi7 - fcYOUV2CH3Pq3jGGlpfn9PswTJfpbjrvP/+SxjXxcQLKwz4YiXocnUV3PYZPEbur - Vn7s6EdUrSd+AcXGa/lb7kiYSmxy59KJ5oM81xVyGGljUoC+dkDcvROjOdXo8dqr - wvzR15xobRM+MIUsTy/bIi/q2K1EXEmgpzu38ah+KN08BAhPZZrHSYWtNCJtwdo/ - 5GiAr0eEVUofGnYEwtIJw3tubi1kDBdDjToh4jqCdvhELyYA9KNQHdcMyYbAOCgp - agRYXg/sdVfI0vX8fpQBHNUjHQshjo6s5xp4i3sThdtWuGLyDQDIQivkKkzevFUR - 9qvbKiyuoC2VHs0vP7iDTZFpCf5AT+JQV8PlX4L6yS65+gzur/wtw6dsQiUYt6Wy - wz5wcs4F1s7IbJY3YNFWZw9sE4qtfKHV603c2K/qVjz3MSiKiTXeMSvWik6Aocmp - 7ZZDK8fPI2loSz6+CJBZLRnWizzL4nYVxVh2sjrULRiH17CYuk20Am57KCpQ37uI - NlsQkgCyomPHaN+RM9ylt6ipdbSoTyyZwcXlrOJfTC7dzsq1blXQ5gyM+GFQzawK - GsfhFy4R5MNXmyTpgO7hez9cnbU7f1n9h7QlZZggXZ1yiqzT/QZe0tbFzm4SRIHS - XgE1ySaTfB/a5o3wZlpE/6PRDKzx+KbupxAUveeOq17xjFeAJ0M5IGAWtxZnSvY9 - 7jqtGWWYDeCpfCi4vcJh8GqM79o8yCqH+iJOgNn0HFKP9HgdY33rEyKv2auw6p8= - =fU2e + hQIMAxK/JaB2/SdtAQ//Z4VOEj2B2liVIgK+bf/GWCyv7wW8gGkc4H24oixPyybh + kD6s9QVqQrdSAkemGcZgFfRv+yt9AbQjwQj6XyLRAEEOhySsFpnVZchoDoY0vES2 + YVjvcE2vBmXfwP36AhDHW1ZO+myWQ03e29BpzipE2GvPAU/M6yDgZaRdZPSwu3NL + U8S5pvUv8rTbMLhgbO7LUPsPccPtgvFaCmyMDO/KNX7KFbzfghmi7IFltCK7djgM + 1QicpAjtcz1swWRgL38psROLufyB9+sFVn6StOm/N5B1TIJtBsfkGiCeK43Z3L4b + ZLInF8AnHWv9dJnvHzt+bdwjEO+EaxQK6RbFZQ/3bzlO4CUs+buejqaMgzsvu/R3 + ulUTwY4UoV4kIxIQbM4fQvBbehIYczKv+aF/YPvFYOKAC6/axslyZT5lA2wZZEL+ + QaU/WmrtTcEOWgPOtW+TjRRGKb3agCMK/ClkIoUJSgHPTMmlMw4hOOMYyG9ZDytn + GbSu6YsR9gDI/Vhzb2WvpwDtQkLuTXnaxaPDfvTiLLMu/HXs87xXqzYNgP1lRyo1 + 5WQVKy++hnIsfI3fuYcJnS+vAAWgG+5QRs+0xX/t7el2jfh4LQ0NJufjd14+bx7h + GWtJju6srhLstx+Js58hsq3g0skJhPDh1pTdHA/defdfxZevv6Dx/EvdwqxRkAzS + XAFl5wOaFPmwNVJSvDPFV/VFumLEjfui026VpTDoRmCDEXZxppuK4IHu2MFpAzQO + t3SStP55c5eOaZDZ7n5vralxWjwU73diblwjU/1AM5ujresY0psKnoJCYsG+ + =+DA3 -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-03-30T19:01:24Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQgAl3FvDJP05Ougle4xVFsx9SpS+qXuUzswrrlEKdrq/ZmU - KSi6hBM0PQMwVpnnOYDjFpqB1XNXgOREtQmv1kSHdtS3o2bnxENyUDUqpR+4vRhO - Ok8sKiHH1cZNL6Ya6ofe02U1mOcO9feWR/N8ozeWrhbAzzhUkS3DOL2OBPok6u2L - v1ybyEwCbLMUQxYic2eu4JyB7PeZGNv+j1zUa3w5ea2raV3w2l229sEfJUGDVzHu - nnlBmoB9KdVB3iH0Ea2FEaXLW4bFbKMKwjtdBM95q+PGvpTbqHidctWB6yOYjToi - sDArfxnD7HUiY7OJ9Qsr+cIzr7t++JG/lz7WLBr88dJeAYPxYQe4VgYLFFUX9XZA - dwdu6G+KMnkLohqH6vNNrygCFKHY9pOKpH7gJRooGVgO2qCIZROQ+jB1myN3kVN4 - X6IzGZkNeLLmV8mKR3uzJsHcwHGvjzsGmM39IBZkMA== - =Kf7V + hQEMA1QflAioE8i3AQf+ORzXqA6enHnszjTwMsYXeliD2dtAK2A/L29fZiJ9mX67 + VgziX76in4n8Q7fuzve9aCBqEKvW5J3sIy2G72EWfcHFWwga1zoSImP5+S8u0tk2 + jS4jJw3foz2wVsz470z68Az24kBXg9lZ1weRfC0OWFb0CFd8XwYLAciqp7eX6dKf + TF60zQCCMC/s6SsOQWGX6DKXJbT2NuKmDgh50NyrP7EGWWEN9DR8bCmPhQQvl8Ae + CbZ/iHS0SuPadTBh+3bf1ibKutIpRzgDWj7Yeeg3jIBNWhqzsspuNtXdIY4/fADz + lR7UrlPGPqyZ+OznRb+aMlVDEAKypllIFnM9F274ldJcAafE7vpyBjQDgbPhK7OU + VVbvMkzpNY408HHSf73feNihT+2X1Cld/Jve99s6sYEP2UYxC58B5adfyhuZ+RkP + O4WBtIGtcogtn4DZSrZBgSDE5gYeKHjqbAoQiXY= + =dHzb -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-03-30T19:01:24Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAAjGEKDdU3l7dS0IDhdZZ+fP2eV+f7OyRzbZnKy+OI4WwA - Sv/VeF/sEDoIH2rFdPhWpPKopGSdv+NcmnqXwo7vc98Fdetomyxe0JO/ARne/sal - 7unq+8iBizz2BhyZ6Y01NThdtxERBS9WB2LE24utyXw7vjtX7txMvUudWuSOOkMH - K3SknU4WjbIHg8+UBz/M7/RnntnYG1y37vTnQj1fIdWi32xeAVerZyfWutWxx4Pl - Zs4crRkLGtrmILfuhlEzpcvYRk0UytDJyT5n1nfBPEkZLoDYg3JThzhl35KkLAym - 8fKD+X2oBftpKitKHC0LYP0PggYZZf+/MwrGSDLlc3WMf7MSwJf6fB3jzufCSXjb - D5JW1+TF3M2KWks0cESkNUBb85SuR2/a2E2lSkOzPBO8G5WeuodK+/+5FcXYYDSB - 9avkQsbkEsd+afsx3QnDX+h6bmR0GYaGX75gtdQWL4oGZx3GCFJ0VXNsKfXMjXX8 - pyASkWH6J79neCOeqrhPm+qcia1YRjUhYAwPTosazDeH57aBYrtaymwKCprUUN++ - 14xtF4hxdOcByOzg10Q5K8i8zT6qT7NL6BTyXKd6o7xAcUPpf86cBOIqit1hUtBu - XUwjr4QfpgWiAFkDy325LVLBH52MUhqpGm+ecQn24XbYNFhJunaM7hfLDLjphV/S - XgGH7oqGYCYn5e7dB7YEoY+GGRV5sqH0SLMn5DQUeZ6CzaPTeWkFpCSzhD/Erl2w - 15gsKxa5R8h5k+Rq9phzfXuD4Bbm+QUmQkbrH1aK7jR+NZgoMNDonQPliAMajj8= - =jHUv + hQIMAz5uSgHG2iMJARAAiC5PdJz6P0OVcm8SEWKAehn209hAj0mbcMlw76IguKLH + lsOXkWYfvud/Jzs8LVC5+CqhHCePQbakqfymHxOUfT5bcrailPGRqQnoNCruPfpO + e13VE+Rj4xUfQZP421lHTzecUAWRYvkQ6nmQQLdhJf94syuqeo2Ntqa18jOe/vrs + 9NliigPhqswxtwIUJs8TEtsS7qshLA0Woz0zvBBqMY43IAIrf5lfVut+BgPOuzxK + ekWDPpiJjmuZ32WtiGC6Dfper5IYtnxWe4tQZYoYFj7cV8wN0nhiOT/4WUqxpIs4 + EplSzSUmQyvYXxH3PwzztK7uXwkpdsi8Xh+oLM9qNF0GoexmVl/UdMUwDITWR30X + cwey88MhXEvpTli5sc8BoLz8C159yxkWxbkF22Aj09e2oe/jBhzLjqHOf9OQ1kaM + nO+9vwEFWRZBuZ8/fatvGBZfXj5hQfSuv+MGd8rJLebfS74ZvL0VzbCwp8QZ7/w+ + W0hc4beBUtyG1SUX3MFX77PfqcuWp4OB+Q5tmH11Hrt5UJVrPkj3p8oV8vRm65Cc + pA9nG50684Qf1Ly8LBAOqkn0mXq6/gUjWRxc5S3lgazuasRnPSMojOao/+0r0P4u + s772wtnFhAFwcvhmej1bbS7ymcpjURWSgnoc1i76F3pB0akekq7TD0O1gPeTBpbS + XAF4Lv6JJ0yBlEmnekpGHnBzbi66asg4Z8Rt3dQgHmkMkruu5ikueWgEQP8LtCab + llJlsRzdB8WSXO1JRD8/IeE+C7ntxgkB8tRROvqOnc9NhIe4yy/leBiatt6m + =Rhto -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-03-30T19:01:24Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ/+I+867hrnjyqYw6zbw8ZsinS6/FIEZD+yn0eE6eAsgYOE - Nc7Dmg1WQV5cYLYtn2TqhLnGYuW59gh9LFBzYHvuyLicIa3Pjq2E0Kni1NejC6pb - DrX3GqxENj7zqvLi/iFmuYIsiu/EVUu7n7Vf9I57j4HqyIHSANr5SMf/wl8/sqsv - x7L0ej6FcVNTbESQonTeYk6YEmaNCQtkelKxOJFn/nEyQcl1xLziBOgTheA0m+a8 - Lr8Nyd2uAZnxDAbkmazURG/t3t4XwsGaL2eJ1Yzw13kGanPu5gI92/7N2mpV/BeR - HUQ6OPSA+tVPsU+KL3PiZMkB3+Z+Hpv4f91Wpj08PYMzTd7UlC2j/ohlftgpHWA3 - bLlnGAC8y28JBopXpPf8V0ON+GylZDXfsBNek4hyM/1h/nN9hy1vbJbFq2pA8HSk - 0iyiHQ40KEtjkhiNuTGf0MnUWXLf62Rdw//ARF8qLR0EH6G4d+88MFavwQR9C+hL - MQgIpfElj9gOoLr3CApyn002H1XGLjFMt7MfEfiKZgm6nCWmgMh8UH+OxxbjAtYC - A2iPR6z3whC+63mq9TUCGJTyhp3s9t9iWj32X4ofxYP8XG5l8rjqEoS3CFbtLrXr - 1bFmtxK7Rh7IfeDtDdVtVKH/t6L/8eeagODTgIoYb2hjKdbcGstv4h8xouUVku3S - XgFgW5W7jl9NvOjA2sDi3VyRxTnvJUrN879QqMR0H+YtuutrK/EzH7ppwCJPEdmr - pc4pYwZ4nglPQ7R4+EXi0OsX4oHgoaI4kn8MIXYY35qCOznqOgcEPWA/NF8/LCU= - =vwnO + hF4DsZXvxFXTXoQSAQdA5yuViS374xdpflgGIrYLLPTjbQjVVVSzE7/KyIWIlHww + SeBWQEUnO0QGoT5ePZPASR6Mn9v+EUqdYAGb4ErtvDot4WHPlzx6HxhJOlOzv2yg + 0lwBsCc/Gk7O4Km4IfQb8t86M8CYV2uXVb6chycSMqa2me2+hNR0e4ChXsm1eKAu + W8I7eQGqQachmOPG80x1L0ZcafLcWHeOOPL6dfNwhQSQGqQa3JAmbfCPVW95Tw== + =A+y2 -----END PGP MESSAGE----- - fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-03-30T19:01:24Z" + fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAZncysY0J0JH8g7nSycvQrVgroTWNdyO342Pm9TUFOF0w - F6fY8W5dt7YWqEZ6YA46yNYvw37RhAQUurBCGZEaZ9oTApFUGNvk+fuIWm0BEsfE - 0l4BHzUsGO3D5GDdYn8weFJ+l0bGlMBf35BOjgl9OmbhLxdc11D1F3nIyjUjJ+Yb - 4Xnu85C6xNjOxcLMc1oIberx51ZD8+tGWmO7Q7KGW6KaJ3WpWCtidps+kx8sjGWd - =psEI + hF4DerEtaFuTeewSAQdAit3Nc5Yr91JCZnY6Q95yL3VliMfKw+YNigLCtriuvBQw + rEMM3TWd+G/ansudhvEdsIBYVWrYyVf5kUOEaDkRoJGN72uJfKoTa1xqwwrlzRCJ + 0lwByTiYQab9ZuxWKlwEfdvGCePp0DfvG+HpaUTYXb9UpqjaBdRqumZNwnqpmJnO + SEHuS3Ft0qSnpT3QWFhQfdgA7hiLxkVB30pmsGgeoEXo3V6Q6B1EaFEY966YzA== + =KZzf -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-03-30T19:01:24Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/+PZXvyQaEj4rCMz7vdJH/whsTq3acdq6DXVILEljJ+3RQ - XdLyuMIn76hGM4U1QlCcuL4mYjWJ8xvRZxIYo8P6w461zkKInTW+MtLburwtLzCp - hhcj0UZ1cQDj4grCnr3g8/1Hy1c7lebv3ruee6uD+0mc7EAlDjQBD9qhKNj6M+oq - xmJVzy44iRxQIZqaVD+hO5/+Cg1qf5K7oGYXtKru7+E/wkkzGrW6qotn5gb5uxtj - AqCTPyJ0+U+EhYumHeoxfWrHb8WKAnhirD4LinauXMTd9veSj5+4PdRfSNsQAMwi - KdmVLuiOIuxxqMqKxu5IC8ulpa/KuckKwmeg3XoVi3b0LgSGC42w+uImA3pO98dl - KIqzc++nChbXTRG20o7Ljv73ino713JuXbqFrO2eiyUo8WxGiVVlMKKnfvA0mfep - F3FAzRvCkDj2tS7mvZp62Xy3ogkS6W5gPXSKlVOfixLwGo2GMaaGxjdmQ8TUTulq - th8pxxoLcxueoRp40nusZAIvmlG/tYsDTJ4eUX7LWALyYdXJdIBurZMicRnj21uK - HHxxNBok7uKldSOffyMrddY8E/r0D/c9g1MStBRiBVVMsVPFeHWbdOMDFhub03Ac - mQgW4VDYE97sMArFPYO2aefSZmvjxjqLsjqvoETCbwr2JVXtEkYoM3cbbRsTqxnS - XgEp3YWsIuacdf2FVklFkJ8Yp6sShFb+xTgE7htoPUqa21Xmp881W8iCdbkTdi20 - AtROADyZPOPt+GLPbxA/X/rHdnEnyKwwKHqsWd9kAS8nZiEXTT4oExWTVxiGRSc= - =6jHo + hQIMAxjNhCKPP69fAQ//ZWYoZrGKKjb+M4i9TA+ngEGvPyyqBG5O7DAJt4LyXZ90 + xsfNw3I+g6krKgSJ41vHYF9D8qvZSxGfCqdlBBxRdbknMkqbED5n4/z4YX6N5I3i + yhrbXy8DvDCWcVgd2w1YUbCXHWzYyeawcr/bLWdIKTW+iuDBR3uCmWBMdqCg6VSF + wVoUmL93BL5YYXGKwU0Zg7tPUXxi4lNW9ErmEXq1krMnYeF+EgbqaIaSpF74KSTZ + hL7ZIG60cOY0/PMt7IL8rfjYuOwkbIaHJzwvhpAnkRRDQ56FbtvLIlh+kIUB+2Cq + WZt7F0f/yIadSCGAiPVoMbAPGZc7mvJnTtiilqFGT8Tpf6wcKS8S8xasZHf4Vh62 + CB+LN/fROdQE6lVnESPfdu2mRbcGQuYvka4n8v8y4qTY1Da8c7/Wa8RaRrbenxnA + 8qxeoWKhz8lcSFn7KhKCKkht9OMqAwCo90vfnkm8Ty4iQ7LOem0oMCipYO9M+ANX + VJPVS8cSDCW9hjIWKKhSVkRK/iP62VNKsrKJ5Ido/+iBP9IAgOxgFm7/eKqn8hrP + QcZAG6GJe2IeFHRZcoc2POLcm1UBIvv6kgOsvUsMZ6rLvfAl94d+1U8O8z683N4a + yJAPDX3FqSvpJ9TNFpCsca+6wErTiwLv3gBsZPj2cE/1HVuPJqqJcGsmvvcCcsLS + XAG/aAqNNgOWFuQQgv4rq9ob2DP6IPGQW+p3UwLn5UVmgdKEkN2MAcemTVN9FjwK + CBuzx51VOaZ754SRztXaELG+ck0VWaMsefFs9akLWAvIoY5ieWKbyW0DyRpd + =1z31 -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-03-30T19:01:24Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//ZPgymztCBg7c/W0O4EhZZlSc8IkJbYGpBr18Uo/y9wEQ - p54mPK8c63Hu3Hj01K+Bg0JmjeKTIVJBezuK3iQsOnJv5xbfLyQ/hOlkJteG2QNv - IfpxI+hn9i1H6DuZh2RSHG+wfFiBwqKcHCeW7wKE/yhJItRDsBbXw82qfoRTs7sh - ALG/QlJjXSermIObn9nC1bR/PB2D7hJSeAhj9vqb08BZO9w8eG3OMFD9HxObEN0d - 8cGhVjQ3v8/BaQpvA5Bzq8VTp6X5MJQsUauG70xEAoN2Zg6xT+R5AcfujEdxw+HF - yOfBZ4F38Tpi6cnuJHkegnQJ/O5X6HfM0XqQPMsObug8rooukNWil/Bt/iL6iHXX - L5YLRnez108IMXKFIX3ob2XcuL5hfLpS5tVub5u28HtLx5VlFVbqPVBenKa640vk - johPh0VX6YL7619NvxCdmsFxe6vm365IjHjvXaSiQW2sjUycIaMZK+29cOtqEfme - gBax02k6r7tD7F/jsRsGdv20QXkJFhFcuwOkvinGvrh8x3gLpTqfMqfC/GGniYHj - /0feOTTno2Jvje+zwz6rrwYQHJCKDIqxPkVnfatcdJB+HWxKC8J8kprq3dwPwuKR - sMVr2dawTpI45RtX5PTuv1yW6pcHEVNzs3eTo8atrlgzMkVH4PvcqjFv8dIERpTS - XgEgKwhnGBB89l7jGKNFuq2h9RaSc1M4NcAbobB+kVifaKCGdZx8buGT5KSl2Jjo - Dj9IXQb01PmTnr1VOFY0HdNbHaFWpWvwYvpZlfbWbDdgUs6CYC7uPOppMECc+Vk= - =+WuI + hQIMA1Hthzn+T1OoARAAvJjHL7pKPff+tobJ5ktT/QWKSDuD+oGn4uhUkHIY1FyM + Zlv8zLg4S5ZYuDeTxoUDVX4mqxg35dSpAxeVGc+ykt51uqGhk+IEPXQH57gSQ9FI + CxAN6mN8sYLaVG4v7crwnJmfK0jyRgXfvL1lQ054GwrBIYKt0LLP21e+E6b8eDHB + NRd2TJC3L1P9EaW17SlwvHvnyd1u/G6dcIE82zeMfqLyrce35Xhamv7vphmf/YFb + YVMB7twYhm1d2/s6JKeGBTlKZw2LQAvMtPyfpcdu6grzzkCSo2hYDWBnSWnqWlZM + DS3kUQUAysz87M/M3bUhBBP1p/CJIcImJaeq5BWbk/YpicqlSFhGG79NGvdhgfCK + 5ho1IV4Jb+qFo4waNBKU7jSbGYFzDZVLSJ/GCB5NRODE9cEU+j+7DfJR6Rlm2wQf + GlSv0uuPAcXMlG2+iynbAwzlGCpogKuxsglllTKnJX/ZNnVbn0waRLpA7BJXVE64 + yHLaRtzJAOzePfZiklrU+fMUMqj8G+rCqbspDyWC1vgSQs4aDGg8RkCSWRx9C9Lg + XN/nLRJBtU7bw17NvAGNbxFFieIRsj/2Jg+CSIahR+UzhoXbxqh0uD3JvM/b2s1q + OKE79mhT1rE3nmHtFZfpN85elX02E782U860Aau4GzqETjNOw1+PulgMfUIxQZHS + XAF0gKxu/p7W2a2uqbK0zL2mMdn3ondD+U90Le5WAQOHYyxdkaqK146zBa2s/doL + 1xMfvajGQrnsBUxQopQzfnGAoDSX43dUb7HARjvjpe3aqXbzwSCFR2vn/94l + =eccR -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-03-30T19:01:24Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ/+PchMC5AfJdfgFAGVuAXJvL9NODxCM2+Cw16JsxviTay0 - lfEUDb+ckVrq1jAlkR6X1TEPtIbFbi41Tv598+YypoIJcUWV/cH+yr2qEVWiakIS - jJ54jatBGVsknIdF9uInpWmgZBVg8Qocw2QTD1vQ4Z53jedLAR/8PbmbMaqPBTV5 - iighv3zOX9TOH8/jVFDbyLQpBILKswtdvqnPECa0+gAsGkJTX2fJ/GuRS1y3vDKj - 0hyIkSGf0FFna2WPRf7hhF1YzRrrKdXVxDU2sws1qmkWuhkLuTsjOPMSvAoOX5PS - GTOLilTvV6iqgJ9pASiKNN4o2NlSBv7+CZODvH7N0jAdD4LfMTCQ7fYQZThhk6EC - W301hlnDCIUrplYg4Oo/Uy3qFYLa08OrB3iR0GxjZZ3Uzunx1cqgD4nsC2VWA6WY - m/gbH3+kxRyuSawp/92lC1sYVugef6g6xgUAnr6DQbpJqYlp6cEIoOgOTdRI+HjV - IzEXbTfa02yZRaVh3pa2nZYGKVrlQOWR4+8yLV2gSUCQY+PTZOx4PJiyctuRXsMI - /l/1WJoUA3lM6ZdQcoyM1bAr+f2yy1Bthk891wEMsgX9AcNHeIy+xIvExsNNBH6x - YEtOQMWn4UP3MXLvs6nonq4N/jzkOP/GqdEy9GzyFDEFa7KhzXZMftMig3e2WdfS - XgGeaS+nGW9r5o1c+4potDX4dmyW80tk3brnZzgEoEPNSOl8M+1DDCMFaud9we7N - twdCIa1R2NwKIEmrtJa4HxeQlKbOyeGX2Djzm5GsywvsvheWY1/TJK2NGREmHDg= - =4MjY + hQIMA46L6MuPqfJqAQ//SaiaaTRS1rGh5gxrZPyU4TlW25kITZ65fwRXDBX/sFAk + BRNhNtQT5owBDAuQQdwV3Gt+5RzLXsWIkc31vQ+tC7x92TME4B6oaQmIlE3geupg + BGg3SjSjlv4bWyu+FGQ7+2WMOiTLiYA6kkWLWKInmWbXSHl/zL0rzfB4yeK6CetX + jBb5DYyXG2KECBltHPhKHGgiTZI3EzUdrQbnXwL3TRM663SAGlA/1yQHeo84nGdm + cdwmoc4ud/L6xdSDb+f9ZMydXHtDudU4WGMN4hhVzBZYo3mGkNVwmjPDMSW965gl + f1f2kFGC2SbSOXD3NrUzcjSOcoXApQu/My5yvHJtRPs0LmfW5omnHen8VB8h1tMf + mwUW9/OQpy0f8izRjiK/uFQB3OwdIFQvzitcbPjheF6nuaYILKVnKbdVf5Se10a9 + UpzTpslFshJRsG2iriJO0vjBOBnDuEpM3lrZDpysanq17QGK6RwBr7pdCE63RJDO + qMd5PRzNdBYumz1g0jCx/qIuMGTLH74l05enBygrxAk1ra+VUSh7VX/aq/VLh3a8 + hUmeuZL4jcIgN8TZPwIC++oHphPsGYawsUfXFD+LgrLW4G2oEqYFg2ILh+IjRq0d + zoCs8zq4RgqtWIIizLfj8rnD511SOWffCY8wxoPW/MXY6k9TnLd1ktY76i48qN7S + XAFG+vdFQerHvUqNf2ppsFMrsdVtZPVOCHOILHmKPmxVpu0PES+SVTKy4o0tCDpW + wqOae4LktPU9hIqoBXpN0X/jl6xjbxnljiuJ5VZhR4xRBZSDLc8axBf1ng5/ + =VHCG -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-03-30T19:01:24Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAy6H1A+Bpo2jeAUBsQZEoHOWEbkJlsbew2VStQHy5aXQw - JL71Q1j/xiTIcrZkvSy0NsgJxkiSBEM+AOQ+ktTZxld/AdRiRnD4rP+eqJexB/Of - 0l4BzDkuIZiG3iRbnVUxRK/M5QBjaYuUGcle6gZTRjVB6Hfd0+rTlNpToCEr8lMI - fXqwPb6A5vRropzash2ndw79hvsfe4seiiJDVQY+gYmUwJYei2nQ/qoWNZPanul1 - =+1gF + hF4DQrf1tCqiJxoSAQdA6bmjleqBSOXgwlOqyP9qD4hyqH6UswMzLOp97L2JIhAw + /iXVsv/Lqdnt44gBRtGNdJPgij2bSofVEQA0dJiNkXM2eYT8wAQJTI85BHFBDvia + 0lwBeB7UeLnQOfjXDb2GIE95CXNnOzD2gBUTg0mmaYf1a/V51MgYqK9HGec39mhR + NBK/ydTDZpJUc2yYtkv8ocySJLZeYdjhnlD+eY1WieUm8jBHCFvVgxpt0KY/3A== + =Atvi -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-03-30T19:01:24Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdA/g1lRm04DZBhh4b0X48P69SsqagulM79iJDDyegNX1gw - S0op27VrQ2ggFbkRCamq1p31Wib+V8kKW2Urob09lHgrLFvKI6dzYLZyERPbgS+B - 0lgBHWtIWhJwdd6hcUIfw4gY2etE7tHrvm9YZnjwSQWpvbeMcwWDBX4HfVs85sYP - h3lhG3f9bsKdC/Ka4sso3ZzZ4XyKXFLOobkh+sMOeWqFLS1hgryIq1rc - =P1Wy + hF4DzAGzViGx4qcSAQdA0CYAO0N8AdnFBlj4YQ6p2LbfMmKn7pu2s1gPA9iNSBIw + Un2b33XSPhBONW0Rxb3N3VHKJ5qTjMgVs48ifz+fBN3WuDHBtBzyCCewCNWqZ7Ea + 0lYBm3aZbvK1IWtCqJmye8WFDoUmLyxok/lfy8aACzvdtgOV1/aGmCA3gaMeeZJL + 3lIBtbXJseToPGNJDONr4L/kAfylTOc6yh1rxDKXtINrNJ5JW4HlnA== + =i4MT -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-03-30T19:01:24Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ/8DIcBcGFTQaLOJtC1oazeAgViqIJR/OC/3gt+YRFFdjK4 - c/8KTHNzl/kMQiwEPvL/OmSfRwVTX4HVVjFttnxbCBTLgbAyqFCo7fJmwPEJ8XW2 - I6fZ8IQHdpGD6wcY2gr5svXBauMr7qKtEJ5RoKPT9XZAuUqMouICaux/eo8AkiuU - jl7/MaxWdtQuTmFFG5jxJpU5jfbRtf0Pv2rmt5mXBu7vE05zOUwdTTQC/O+Gi5cH - SAgzRNQ4+OyYIBTo9/DFJPTCqowjhSTXsHbgET5Nb15QLdyOef7QrnH/Vy5bFmi7 - rszPGl9pZrT6OyzFJrIkTXUlpBfmYH9YpBa5zVy8DoAlAf6xGWWbXavkL9fJMDDH - 0uJP78eWpkAzv07WqbcDn89S3aA/OH0hMHw97MSaPxLYkS2KQT0G110bcHEUOiwq - Rin3gBxDSsX3I40eIQ4Soo0tH4CnNRHe47p/Szkntq7Eint2dElC86gRHIPrMjtK - lE4yy9S8T8GG/lOca3j6sbDGLWb3YBAoqdsNTKsvKGrFX+HBsfWV5DRMEUdfbJMs - EJ2694MELBor30naPLv5xBEUxypsXMzCsmuRKCWOORMUJgTBvu5s67ZgUIN5LHov - Zhc9v5Zmj0vLiqT2l3RQIg4CoKMSVItUlom+BpVXsZRacVGKfE08rFbmn9g4NYbS - XgGf+xXWXhRswWJHCaZvZbf2Gp7sNR49ZhnQl7yjlH6ldNM/Df6NCfVK8KKmI+qZ - gVowH91taurekuxx6X82Md6IF5lrG5BM4oYJm0D4P54OlV7jHS2AX425Tmbrfq8= - =K/Ky + hQIMA2pVdGTIrZI+ARAAjUXStW63ZhHAaZrotRk6xyPOxYZUxM7EXDsYLCeBoxGg + myAQRnhLitrQCbrDrMzBStGNdWnpmdgcON21Fp+WDgZkbMev9AOY3cEDy40T48rA + MLNZKs5I5GFJ5lDtsbyv1IasFOPa0CWWz7OqgAXTznQgpr161/JzU2/SetuWFFFg + dy/wDekJD197NR1pNkX3+Sig7cV1F0pfVnsXwKel93uT2OcGfo4SLiXC23Q1LXIT + qmVLws1l6ygPUEKidIy2rnBMriK7vKR3/yeO8OZcOBDK3mjw4+YaXVxJ6rPsKlP2 + zjYY8zK6xAuFXByyfifHmpOZEYh+eOLZLATq58M8qCMCfQNTgFZx17hw5969S8NP + Hk9CUC666ZPmm5ogcNMGeeS4kpZES+5nAgGYlFL84jMK/No7OXAeFCRGHi46DQ9Z + hvkLDBvRlxNuNqq6l0H6XHAZpqJKvtEht/0xINk5TWwkgfj0kVQZCOlQPZ7kY+3e + BPjiAv6sSkHMKxsFB6sR/BmhCmEl6wLrJA8uNBMoWBqPJ1d9vuNRP0F9LRPu2Sif + meeuOYz6Yl4E/Ju1O4HYLx0dAYkWBVgpWwhQXGQHhK+mcxsi+7APHXUmyQQF8hrQ + CykIxLJcwAly+mi37G1IN1oF9q0CK7alb2N07HJWoFGNfZhVzHjpeB0WyB92EkzS + XAGAbs1f4JMv21aXBdQhBcWsWFz223fqqBzqJ2gKWsJHucg/A0z1YYhhWiwu+3Mn + itclnFVXBLO62izReI/KnAm9m1UrHZRY8aEcqWrRZddLu9ZIPd04k3Wkh3ms + =a8go -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-03-30T19:01:24Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAcNJgzK89I6ohwffchPR6aztjFmNQn2qBCp8RnNh05WIw - Es9wLLoNMrCXsp83rcuxJitxp4WkaOHNI0np0Lq3sgmWeRjJx/RZTa8wz+jWdbWS - 0l4Bc69omRSq6g1b0z1Lbp/qwbHwxbqYd1BQbNRN7OMd49I7PQQ5sCT3jjJ41I6m - RBZOhBPExdPZfy7c26q0kKp+nMuIit4VkGwqTJfJTYD03lytQxFa5UPtCT4PsDno - =ECna + hF4DKKbvh61jX5USAQdAXJ7GjZBk84WZYh3J+7MWDPn6pxJtJk6kHhxUDzu+Ixww + PLZ+ETd+hfJ4ODSh9I06K922EhTgiLRlQ6sstw9oAsgnInKVVbinMvKDrYU7FNDp + 0lwBet/C+4wbnT8GbR230z+1WPoE4G9y1Z5VkhMqPryignvRVCrf8JYEAwhQMNI0 + Rg4IaUmjlSVPkzq3Xgh45NckQs3sVP7n9It0jP2aku4dTCetSoK4+9fZP2x8uA== + =r8FM -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/z9/host_vars/light.sops.yaml b/inventories/z9/host_vars/light.sops.yaml index 2ce88079af..73dc4af892 100644 --- a/inventories/z9/host_vars/light.sops.yaml +++ b/inventories/z9/host_vars/light.sops.yaml @@ -7,212 +7,203 @@ sops: - recipient: age1llkxtfx4dgnezmukj4ganx4ql9k4ga4ca9zuanf5r568jfp8peeqal490q enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBNcFhxZUhZYXJjUU92OWs3 - NWx4bnRXcmFZV1dFTFUwMEhGNWpYc2h4MVZBCkxFd0F1anBiWXh4SGl4V1pubS93 - WmMwdmVUN003U01HY2EyVkJQOE0wNmcKLS0tIFV2YXlabVZZQVhwRlE5YlUzbWMw - SHgzd0IvZjJBamZFcHczNm1FN1Q1TzAKDgId6bAykxsgXAeBWXd6Dyxiiyh0gIb/ - Q6MHNtagsA5OrUtc7xEInVt8CYT8czI/Lr9pHzmx5bQPlDf8NkW0lA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1aE93c1RNU3M2M3k4Y1Vu + ZEFXWk5Xbnh2Znp5cndhL0JvOGM1eGhqWVc4CmlJZ2FDVGtTaWVkVC9DQzlKNHBY + OCtvdy93K2huZzB6d3A3VVFxbk4zSGMKLS0tIHl5bjJjYmtEQUs3SjdGVk9nTXJz + RXJEUmlnYlZhZytoM1dWMzZta3pwVlUKZjD1aTle/P6vywuJ7cH07ZnI66KvSPgs + WTHY4v/bhqimMWTQPD+eTYsqmAUa4gT3jyxeYySmp0R8NZrCNV/lMA== -----END AGE ENCRYPTED FILE----- lastmodified: "2026-04-11T01:24:10Z" mac: ENC[AES256_GCM,data:D7qAgDZX8B0oNdZovHE74sSZI5X3qd8oDPHWl13Q2ohLnp9vJsFxrKntXxeeHASzQceDv2RQ1exwq7ZPor62sLFx+xO1Dc0Awpq1eoclDlHPyKlvT3pgkcB8IxDO/FuO+7hg/bJkmTHhbHTiHLGQDWN2sQev309Eka86lQyCzIQ=,iv:OBCobeUp+GwdDQhrNtTJhiRVMxRJafq5g1rhMoEFhjc=,tag:OSAWMn2NPZnVKcRX+eJf+Q==,type:str] pgp: - - created_at: "2026-03-30T19:01:24Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtARAAk5+2TNDEUq4oHwp3CBXZzB6Ea5hxvhtkcPk9XUnjnfb3 - RLaW6kgRy7vXFwnnf0dtsKpx9cRDGri32OJfZ/o3tROoaiNdkrxwOlwTQQhd5dCd - qbG0XxvEZYNh6BEOTqPZI6ExPCP4f2O319W1SrVSRWrBE90vwddzMAsueC4v3Ono - XUMTJSlEpyEPf/LN26yKLVCjXA/z26QBhvuuNIv8+QlEWUqqKCshLsHNvXNTp6xt - 82F+0LNSt3ete77VfkiS2sMiHDncPFs5ShU2226wtWprNPfdCs8TV14svcALKONy - PUEO/EH3DB8gKvv9TmBDgcIx1WoaEHacbc1pmd/14oBp2/c/vVFD3C/k5UfvaM9D - PNvnLIVhW3gGHvGoJPzvi0AnAWZmSyY2/WMKOfTUilOlY68Mi9jaBH4XcwENfQ5I - zq3zFRdRqHDRnOvyp2qjgclh2r4a3T7afFgtikU3/HeXH7hykKsE8dhy3nsLinpv - jwbrlzqzeX92X3pqxQRoap1VHMXezBZV5ezUC7Y9M6QJzTHoINw4P3qNqGS8LUMQ - Q0xA/fkQ7sqQHEd+4IaZ2mVKzkoSsCEAS+5IOHz7IYvTAHiDg9te8lhb4htU3R+h - rpTOgcMJxvZmoKusCH1hSpFbgpYE9Vc2hAYukHE/6SnYNfeY9yXytHX9VHFLj7HS - XgG21scnBI+ygqIKfp9zEpxWlZ0GlVU6SKWfAejsO81NX7fzHO7yfsPyBKwJEFzm - lJ5WQkruJ1WO/ej7hjvz04afUCutjwDDcN+8PId/m5sQqUy+t37q7fuAeJPlHZM= - =8PhX + hQIMAxK/JaB2/SdtAQ/+MhIGWz3IFU70JNsGIX+vrP49AnHGoCGVinjwFBOg7DxX + CsTCK7n8+bJpArTTbu+ytue0kGzkftgpkvy5I8GL0SOYzOYa9ys1gi5mgfw2h2Sr + EnHBBe+i8U07JgsN7xaNCobcAPtzWx+c1PbKSTLSNvmgmhIPADi7BOge+9GlLIV5 + cp3d7d9CThULFAnCgReBWGmCTi5kO+yoXsy4wFtjlgNiIVZLKKULkaaLMXuQ165E + fL56rrgbX4ySfG8YTtbQ2s6qZFnSYS4FtYT1tk5YW4Gi3TNuHOZ9UL6LaTT2pK9+ + tAcFPTJX3WBp21s/cEW5Bjdz3AmqMxGWOa1iHJqCy+haK+k00esKwQrna5QLtl28 + JuguM6jEyNs/QhSjwRdWra0AzAeqfei+8EAY6pQ4oW1L3AxawqOEZ94iVPqv9oM8 + 6mbV+pS+RoQC5P7Ke44QwLQyRglvKY4FtKfPn7AVWhcWxRfoqk9nlpRDZN4tiaMk + +K3nOOZ71MeDzgGRg0TpRXJkPSUMDMAPABVG5Qsz8Ij6V3KgWKlDON8dtSOFTBmo + 50m8I9U4cWwFnCT9UMJnAr3RDCR1t04yZCewlfltXwdPRiB0ASLDyX2W91JuQcu5 + Qhc47AyMIu4Oc/7EPRNNH8eMdQhpeysrAh5oK5n5U0ns/cRsnedg5Y325JMsbXrS + XgFpFpuOvQSjm2pIBwe+MY7cZwIKtQ9TEYwzzMoyDx4cLCkUE87GzaYNiIAAUBLr + BpNRDDGYZC3Eeh5hSmwNwfI6yxh8zNjEIKF+jk+YmBREahaSoli+1BHaTeAS7sU= + =bNCo -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-03-30T19:01:24Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf9FdgE+Zvwv2YEF8xBIOCEcMb8+Xyxy4j4pghQ42JbJPgu - l34xtyf+TRDFn4Ks9+LtJG+2NB9x+CE5+OghvMZ2FHk9NDonzmHPrl7JRjNpnRsx - /pV5H6krXdOFlR8Y8WG4HEFQ8SsCUw2UKiGy0xfYOWphwrIpba5EQf/Z2QPl5Gbu - g6Tyyavsx/C0ihiwE6TWb3hHknp0F5lL8osKkv0NrkwdAhGNa2yqZc0oYG6Rr69/ - ei4+m/VBjF5Ata/lEHlNg1s16uE5o1owlmT2G/6v+8+dDsXWudCQ2IpNZkCz/wip - 54Pz+dBcb1mwaHObvYzaMOQZRGN0OBqlpL4k34TM9NJeAc/dTanIxOIBdfjoGrNP - vJcS6dmoGZB+IExpYbhABzQHeIdPfhijuCAxgrzYFYzItE4dqWfmCSGRFm3TUSkw - wxiOSUMP3uE6IudSF6Czyx+G1SHjzW1oWWq91LMU4Q== - =yiJz + hQEMA1QflAioE8i3AQgAhyz3P0XYPlXneWFChEcCsuEhA7ZuJpAb9CPKJTN103M4 + ircq3rRQajzaUFOL+seSGqwt4RbupglWHeg56ZLcVL/WeYzjRetPliPZSOt8bd5L + H0k7lQCbrKz/FBIj033OrYvygK0Xiz+6JMDmGpbPZY2HxmnTYKuqFySWoqvHYkwZ + 0uc/jr+p3HI32xnr1Q5I+gQL3uJh0EQrylt3wWNDPGnoZvFR/t4VYAM9IdVITQ/M + evJf52MXAmE33nmOdeppEbERS3K/rttoxV1Ob/Ci13nrzwcj0vBr34LlpolfAxEA + /1fPeoJDNY8IzxN1oK2A0WFXqAI+6nDJRKZcRqw/gtJeAVdPbUzzb06X6ae1oVzj + W8XPQDH37rO8D58IYghwvk0MHXxdgugR599GAUxq9KBfC5JemuWXXYCCSteiZUu4 + eKkMu1QMVRDakxmfoVao3P6GDP7WAjugFaF18MZ3Hg== + =nT+U -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-03-30T19:01:24Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ/5Ae7BaKmN5MQsSKETDiZ/ooxNrkUEbiwNvF1TvhbOEuTP - 857AXF+MPmETxa2748ICKg68weKTxkb4nInD6uZGGfWbsHEbMTDNgzLG/Q5l4avi - DR14S+jmAr/zqD2KwiKz6Z2gSjSyaRUTULHA9lWpCiYmfhwdy2mCfKoIhI/uWROY - SXzOCF6TWcuLX+S1lPLXpAx2vCbzuv1nDv4VSen6O0H0ZHn8e+CDQRDhpOQjV0MI - pEf8GUSKdKJk3wB1LVYZpPwfKLbCdm+/ZCdJ5qPCNJHKSbacUZyFwwPgMowBrIqq - RzOdVq7MGWqe24LjzPG8bjSIYfK7Cnp38I82jO92y8LE2HPnkU/ehoD0Muh0Ijfm - /jIMok6Q/gWjkPjmOLBXKfMAgap0zH0LmiV1zyMpscrCuXoFiznfaf0gHADPmGop - hngJs+jyDxRPdlDN84APYIBaN7EhMGY24KLh170w2Rej/0/LlzwlhhYmzJFPv2Yx - ZypS7f29ml5MAjwRYmHnInAtLqkYVabLPa8Wg19GPvshw3GUBOiWsxwaekfcEsr6 - UtLnA4Qfls/ziE3WudkU9VJIZdhMgFrnXluLCwFRkiglErJVTxEw36DL8mo0DYOZ - hP9marDTChGA5ca2j4Z/B3RA6ArJ1P0sdL3qwhoZbCejL9seBba2xGNT/Lxqr47S - XgF1CRnOuLShcPQ0v0LSskYOucIFBAgjkkgoBTo1Q0lBSF1EpR84/mHxJfJBt+pX - xyEYQNOOwWAhLiC3AySwN9hkjgft3QzQuNmNbUtRkKm9Aojya9KaDkVoh/ASikA= - =8e+6 + hQIMAz5uSgHG2iMJARAAswG0HPrWdZv2E2RcD2lUPVAb7Xed4t6obmV3oInvzDqy + Qt5OxBonznwvBaWH5dD2Pr4pfLPq6mw3QVyUWhqTGEYb3GUDX+8ixFyxXUVx4wVJ + B71GVCgxp0mT7jxPkz6Nsd98Q+93LL1cG9eQMwfiuHiCP5g+ttUP+TNE0CLt+lFA + TaOLFqKzkNbnkEI+w9yUBh/2HK9Ox+1bz8WgfzSaYzBVNaIU3xYWMMzzH/AvLCRn + UyI6I4zGvcoNjVKTLiAsqmdxrm23+MveFni82sepiYROiUx9k4jZOkzjO3+e59ir + swgsp2kwf9ic88t7UoArIYjmsTJCaoJ6e10SoH11PAoh8Itvuy3Q3P444tSf3yGg + eVhdiQWl0+7qtHtyxjgJTjcoZPWDFu9VLni6wl2oYmHii9HxygDjZizgYNvr/0De + k7v772KNISbpvdvSaIrQ4RAJdPU0XluhPi2gJ5YSMZATOMSNQfyfbmi3kaevc1TQ + BF/lMFi4Jgj+EUucnTcZSVrswWM+XNQnEuMLvn2QU69+YauNkilsVgxyMt9sqc2B + lIN1/c2XFOHVnz3WsQS9mkYjQnXA/Q3Wlr0KDbV6HJJ27TK242FxHtv2MattjFqC + 1RCOTh/ebt4oIWcJCZPJOSMEV0FqWog02cBJMYANyhD9L/kCQGaDcvqtqNJhWhPS + XgG9r/CnSRJQ8bWAaqbx9vXYNoVAKenTMM71fCbJjaea7lJncwtE64ORYRhbGmbV + PPRFJ2CdHxdA0zGz5YqvZf33hgy+7E7mGfuhC6VqIv4WP9UOCcmzMu9okKiiD48= + =JMOb -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-03-30T19:01:24Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ//YYs8xWxzs+NhCvMNEaJkx0RrljF56m4Tp4V/15FngQfm - 8Oa9Qh0ejQqtdRmsbEVbx+5Gxx4jv2ccBO3i4S7PziKTctMESZz7MsP41CIwNI9O - v/zK46sgjLBs1n1IZ7mSFwv5ee7pj4Uvkn4pF1BeEFHA3kOjCfCAstPGzxCt+0xw - pkbbSdyX4z5MiRXbF3R4qItQPabJ65a11q65LOl3wKQmp6tDMviPgqKAezzo0I5E - SBS++CpoueHWd6aTTBSUZtLuhU1z55MxpnpUfRPJPXI2EzvPeNyssoAr+RLll5/4 - LJGBowAFZoL96clfQGRIQQ6t58q2YbszQ4DvL3vJDdR7dqAhIQSwS1TXMBOz4Uac - Q2mMxZ6IlW4LgKPHS9VruDw9XrcTrGUNmOVoENqibSXmyhb923H6CxPl1Vwqfm6s - mxd8dESdBv6ImbzVYBxzPoTUTyd1YzTX/DA99ACYlLEAmqj7q5MF9+69f8+KgJZ7 - G+jBekIdJcXA2HkSzINz/n20w9ClPGqY42koVtNkQkwgySPgq2pClacTx8wBz6uE - Z+RtOauS+4j/5w5O17AsQbCUFbQMEf7PEYslOdmkQCYfaz840J8cvXmMHJpi2Tt1 - CnW0nuHG4P74VMy5ZMhbTFkBiQAqrKVkBW0WRPeNnLtSmA8Wdcak+qk6kAw4SSjS - XgHVSe6m64615scaIMFBpyI3mm/LjefIrbL5zlEtdLiwy92kPSRutry3oVOXrfGs - gUYipgqdhhoaUUqbr4sHoR6UAKp0f2Vd8livwgP47E1Kpm4YM2FThbEb0mNStvc= - =ylSQ + hF4DsZXvxFXTXoQSAQdAopFY4aMSj6xT4NgXAC+RnQtEhhIHJmygrVHAKFLWFF8w + BLumVXFmfEPQqxN6SWunQaIjWSAlTWSskPTrgku2lXzhCbXtGIHjeAwAkv6e6Lgw + 0l4BWMRSj/pJESgOw0b35NPaAw1HjL43f/AZCX7Wr/qROLEWXY2pueCSpkH3BBQs + LAQg5LnmTPhAW+nH6zd4BKWsGJNEA0mIOqyJU1lIX7xJrF7sh8ICuOriG1W70Svj + =C1wg -----END PGP MESSAGE----- - fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-03-30T19:01:24Z" + fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAZEpjfdpfswXK/lL1tVEcwRQKvOHFq4gAPRDSKvj6pBIw - sltt3lezynOEhc+ctkVOk+VnVR4VZxavU1KfvJvxshYyzaYGPA9I3mj6j7lLzm9g - 0l4BJFThC5utCaqborkjvxiZIjTXnw0RnKU5xdlM4bkkMjQ0HsYBKt/AhXV62oXZ - NjmiLy6ivU9bOirahW6xpgo/zhj77flTmuqhF/PELMmW2ovFhP8hGg5Pv/TCM6T9 - =URmE + hF4DerEtaFuTeewSAQdARmz5KdGdTKxXRCCbNmj47rt5kYJm/kKztUsZPCEcaBgw + uRFc65ePeqJanTGffSO3RTUFmUV5/dro+ih5jpVd+1NMt+upiT8urTbXIL7JAXeH + 0l4BPr+rX3XKru+41Fk/JEpqIOEtBBaDXTZ1sQZ4xcRXIFnEejp1d3BS5RnjJHDx + qXVu5aeT1HzG8t0jqzoJpLozVxaeUYJxfSoCg/PRhypBUe4q2qdnLiI3KQcdj4bj + =4b2E -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-03-30T19:01:24Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/8D8wAwARYJhA04Bw+IhxwKy6v8d1hSv12hNDNvZXiZZGA - aq9BYHI15LO81zpy6K7EGQk0UxR256uch1Yh9w0T6UVUHQoRvP6RnQSZDATT2EiW - kIWmX3423LH/RIS7V3HYdPpteiDCLYnF2fYljnzIuQk2Mr49EM7Z831RPz+gl/Sv - xMHqfxMRP1IqbUQ4tb6PREkfs0k7h+5S9GNif6oAew+irwPfjOTuZG8DzCVJYinW - XWVQIVdJIQqM68ewnh0qG8j/PwApx1xPDJ4Gst3E/PU+Qsw6Z4iCnhlCYPh3uLFo - d+ipLgINRY5GV1Sn/2iqQmefxa79Q1Q1yNwLjLEnIfj+75re9dEJ7Y/Atzhdof4D - ysP59rG/aspNZ0GWnwMRugJ51tQAJT0zP9SxxqY+xzM/DcBUkwU3yT6srunMW9b6 - 7JqgYDrgGrxAtolLzMtJVSrcjm++kQi/4vtx96Vc+4Hxf3TaBL+Ij86we5hdaRrF - aaj9VN7mjVMllWUgrK+XrbC10S7Wx4ljkkDCY/BuuJZ0Tvf4dtnuTtUK+n6bduhW - Em0PJxklZaovL99Z4f3/CfVEwrckMjOkMDK86CxqDUin7+i8c49NttBPqwmmkv5Y - 7YV7OwG7Vm10hL1gTDbFIsRNKdjJatWaJ3dQB9ogjhi5zmz5yiVpSTlTVAWBn4/S - XgHZ5c7mg26Qa0Staf6bBysiqL2VKlIml+SMKRcgvsIdvbz4Ya6v6CBgZNFGXk/b - EOkHXridbbhO1zVNoPycUBvTzc9Cx/GRiz/9au+RaK69mDUJM5YsW/AW35/xJkE= - =ngPb + hQIMAxjNhCKPP69fAQ//XZSXS8hNOYC1FyRSzzPnK6OyNS9Jok8Q1SKO2a3xMhE1 + VomhkBc8fyQb3XNAAA06uKk+dhKsP+Tz2mo9qV3EDEeIF6Wvoff0ZavwND4xOCzt + 6n9DtngLFGdaqzENuIBQoTO/xetShCfISVlpCl18HRYEZtfbqrLl/Qs1fEPJikKb + VZBEG5lnlvnF+//5859KqGllwx6Y0hO53wQ5LcN9x6HSxyMBZgo4VeQ8yYH4vybG + IG7kuFfX+VRBADG/B1zMjMZFxNiDMeOKByUeTMMNtb8rbIFhditSwA7dYFPK6Ajv + 4UEE7t/T/sk4SJb0YSA/yuuXQ97CGQHVVwjD7/aoXNksgEDAHjsLGEyS36yqb1FN + N2FAdYxpXWlUweAOrTQ8ljuJVR3C5hOm4tIkkU0aA2LfL36OO/ECFLmWYltNw7/7 + mg3S62WD1jgHT3iWzmx8v4WLZzHr1HU8bJOLDr0y6kF5D8PqZDrL9Ssg03C9xoCS + qV9mNRf420JoCM++0UnW5B1LFcmI6wEsd/GApYJcpKuV7Vd/Svgey6rxWtjm44ZK + Z1jZ5yRznrDp/+FvbwYb0Td8JZStI/1uLFN4luWCPsxd0jSayTB6+9V+Bbah781N + wB9pwlF0uDN3lXt6Vq+MEwA5uZUPo93/x591gEpQBRXxhYE+EGzmJnURMrHtwXXS + XgGijxlqNsFq+SyXm0MQMhdFXuGrqtgTvYtYbcgXMq+S6sw3voa7O4DQTs/M5XIE + DV6eocj7pkVmVKLNCNRK3AvZC0O8+RyoIpqdITJttmeRQHchjIf4pVxYJ3xZ7+k= + =s8EL -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-03-30T19:01:24Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoARAAi5LgfVJm1pp6Up8gQRW1B3UV0CIlYj1szlzGi3kNUu3I - 1S8iUqvmlqhC+j1ihAN/FuAM01b1eLUex1Sp7YfsoB2uH9IDv8eLOAaqMfIoMCAC - aj6aDH8bi9HsfVOOMnzvOnCM6LcL9n9fnMKszoaZb/wn61+eXxCUyH9XJXsprk4D - SDKsIE/HMncXeCjiSf4BwbwiNXGJBKUj26QDANtt9j1YgEyA3tvx4vfv5R4MWzDi - +k/vbOKQe3uHvpd61UioqbjT/ZRmr+xSb4NgR13MvUj6ZmZU2X8PCXgvPHKuIbPA - GHDjuFoY9WWVc3PE93vnkz87wxWkGTn8HHe53FcWf4kO0plVcZSfi0iZ8Z8/P1sT - 7TbuwBTKRh5cwUiRYyHeGwt03nFNAth/KerrfZSE4eS0u+ZjoCnrW4LDJnsP0aT0 - zVtIkSNaR/olbQArNDmpebNcNwbYoc7BkTVZF3evxbVktvm4eJVPzdDCWEXpirfs - NTMniW6TigyJZ5a0rJtTABKdkuZT1hGEVzlEpRu2T+51OsOFX7sG1DBCcHMYQGXP - gVtxRI+h6hdfr5MlYW5peDSR4lqqvGaMGYQCrWDBJ3PR61l4dI1Cp9m5XJKRClPK - sDbR/IwvCdGmUTeBRRL1etA/WXQYoBxtw7KurGyRP2czTlJ9QWms+l8klbgvyBzS - XgFOmz2gXSd2GYFj0J1nrYlQuCpPGBaaSc3mYV0iA0CGzA1WnjlI7MvtwqMeG1Or - O9jSlEn+f2OXpq28DcCvob1phbpb57eR9fVCT7Wu8NVdYStDEGekBKuuXiHn3cQ= - =ir7g + hQIMA1Hthzn+T1OoARAAkRytEs5bDEC3GBklz3Do1Y1F6LCKeIGiL07AKya3VKAm + mQoBPYZmimRtw5mZ0dMch4HIlHWbKweKDL23Ed0fuTRPR2+WEyWq8+U0baUCGft+ + zimkDuY16XeYwZmAxvb1Q1/0YIY1iznSvoRGM2x/eLmgRxNFW+2l+41VVVPiexM7 + YZIB3wTOw938SIensE3wuRqWwLqZ3HRMLYEEMwQdil+qP4WBTzq52bwPru4MrlpL + 0x4vecE3OCxR20xD35guoj6SrVHSQet3JTcTDKSnaaZbj02UbKuR4Zur21XL647p + ABfpNO8bhtPn+02D7EfmfPplXYz1TS/hOdfSfCBmNHhkALCGk3kjHsM9Hmaes0RO + 0BA2FpIZYnIUJ1VBLEiLy2yjkJlmsaOwB5hATN//VsP1Szo59jbZ5qhg3R869LVH + 60sMCp6ZpWCD25B6YeF2VWSByezzaw/34l+I5fC1iN9xdhRpV6EASYqUW7N80f1H + JCqyb6Lck/7CYWUNDrw+++3kpM7QV2lbgn/CPzH6h7JEkGfmLUAHmeWSXhE1sltF + Y/ZGoj8E5VjlyxkdfWgcQQM+eptCmwNCM+MQ29P9ObYABl0N+LohmHF+tEDtOA8N + UCavUTFMBTCRNvfyip5knVOPgqk9dhu1AAAvdVLc32yjD0VOSDs4FWxqFXLuGVbS + XgHywk5bhjRk3FL/+WDWLVKaFeZhLd/l91N1aBCV08EWfFHf1plAM300WInpdIEE + e2LQ8ltmO7+BNgZ47m3P0+ttD+tI+EA1oy3ADezPHkanEFI3ZFsjmtGqFhqtXW8= + =adgp -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-03-30T19:01:24Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ/9F8yARpYxQdK45TU3/3A2LHTlItBbpGv5MtOo76PabjWc - z9IfHQUaJSI5fnit/x4EKxcYmbVwj7Och2MYp71iosDG8qA3fUsb8lyyDDa2QoeH - B+bEec34MzQIvCEXe+wV1lxyatP+jQElzslKEcgVZwBdphll6NqJmy0phYRsWgzO - HIa8Rbhm89dRwYHg9d8Fqhk3nPnH/DqiTUWeVDjiOt09oL6Wcp/w1WYSNWNWaq+n - LPA3zIJKB1EXXz7M+skTAirsUWtOEhgHlZvOLpxP824GgMw+p+7GYpFDcfVlmF5l - 5EmCFsx7lDIfy+uI9iSpvXNr2emLgv1Dr1EytcVt/F7LEhq0dNy014LjSZYUwy7R - yB/fbv/I0Pk+QgWapNTkd4edDZRICa+lR3wxDKboBieyJ8oMxYrd4oYkLxv10O8z - gsBh//mPKH63hVGwz6YG06ElWznS4EpHeBBSzkHxbJq8XD22ZTUBu6eSCa8xsKUL - 30h8bBxz0aExiNa3jTRXr2pCjWdbBWHZJwZ6sgQ3yZUqVg2QPVOy5UWm4bVsfmL/ - vhh1eU+A8KLLlSKV6KOkjR1XspM+4vjwUWzaWriijMiiZyM+QVFS1QO8B/0mJtHs - FKhuNsoqRsydyysUdJ33EBvsthBNBR1jF2IBPnsp3u6piT+MlQMEYMOX77m/AS7S - XgEkv4Ie6qFN4WQHuxEgRAjVAduHd3Bf+xcJFpKRcV1VFPHl2ndrD5Qc+d0Z9dlF - zmJPavztSVJleCr3gD/3T4gFPI2frng1eSaDq8MlrkB/Xb9EoZEzAtE57R0fzbQ= - =bDng + hQIMA46L6MuPqfJqAQ//XjBwGEvbh5oWGIa0M4Om5s/IW8THjrvb//aHpQ9SeQNx + pnomfpMnQcEKKLL1XWOHAwcwnoeHoMK3U+Yhq4cjWthhVK/fRgQfZFTrI4PnENND + V7Z1+SkQeEngBiwhe1I4S/+JD9oM513AZaKwo7+IibS9+ROMMLnoDNFFGzTcXu6x + xcS8mihV43W3Q96pUhyxALVbsLsUOMxNB2jT6XZpSYuoC0KKw4gNsezt6t7JT3sc + PABTCuib/+q3/dVHuweA6r7Iu09i1NwaHUEwFsLJ4ADhWw6cwxo7YDbb7LhhlN4V + qoJ0T07B+1k+lF6DY9diwDwWeljbU+J4ElvHzu2PCBgX3j5oIbulaQeTxPEGC6cn + 9wQ9RZCeJ5i0FvfuJyxub5aVcMQI90FUKmKS1nFaLMk1EjUEyh0Ut1gqdHyS1ZJv + +sQ2zOlxnHnP/mjpk+3HeG04TsuX1cmUVB/GILdSLHUTKJ/tL8Pp3Wt1XSpyI6ku + S/dsTq865PBZ+tBEzRUYSpPcuiNiKrke1l/rGCY20JtFI5i5p93ACNmkZAgMSBwT + ripBOICXkhRw0j0r5zNRFCKxlTUU+/OPNYx+QMJONexPAHJwhBYpU/MzHo9n0FvP + LO1Yo3hJVKmlteNA2MNn7IjK4LtNpxcKuU0r+mrbEgO5xJs64YNyGzR/Ej8+z8DS + XgGE/O8xXhEdPZvxAeI8+oHsOK4WYYTckQIQi1crI2pNSmCssv6uYZEJWO3IKpai + S2rNRwggh8WjrIkdCq9asd+eLyP4nL4k+qZago11gtrluOmlKSR/UvOMfne04Tk= + =CogO -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-03-30T19:01:24Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdASElfAFW0GI5wF97mf+/3BRsQx59lKvM+0r/uCtD9/04w - jz5HXKgNnXRLOxBiscSbDOdNx4NInpjpD7GrBWnb5fvzQnZtkHONn+tqdpeIo/zX - 0l4BoY5Q5eOs+ZMYLrV7amDHABR+kkzdAzOCP8lp800ORBpUPhP9wtHmFMBYLF6g - N7StP1FrsHDWcycogDKJjD7Imw3FMxDUfM5QN1LoPtQgWS3fE4Njrli6fe6uY/lU - =qryw + hF4DQrf1tCqiJxoSAQdA7SsjTc3FKWv4Il0kfTBLOC1dcjoRjEyStkiBJwHZ2hUw + 3Hfpt7CBvWQyJIG33acQ69QDwHmCIsFrlM5258It/O3RIV6EhDeRMmNo5rS+sxHX + 0l4BFlBxOq7pvp9HgF5Mv0PXYg/8M54745jqqqRNhUBedpScb3bGSQZI5SQAlkUA + XuhaDl4K6QTfGVz3czLzGISNiONZrlSBuktb0QaFA+m5FhdIg11cUZELvm5QcwSj + =DemY -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-03-30T19:01:24Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdA5Byh8OyrGwATUeQZEXx3EAw7xMPKzl+p4GkeYeyj2k8w - pyPeE6a3Br6RyypKvydtrRbKWV0n0Xj+q0WJ5Fe5mm8cTtOUzfyEGtd7Y3wqgMiL - 0lgBsBGxy2h8WBv3RrBSEADm6yQoF0UDXDWHA38m0LU8U47TcpcT0CNUaOszrLlm - MH1ImB4SsHqjnaGl76wfVJ3fAa8rvt+zKnv0u1AymAEDibwoCqk+171d - =B4HK + hF4DzAGzViGx4qcSAQdA8moFCPN9v97HIG1Zqv3wdiqLnGAr688HVEnCXPuOKi0w + Hqgc++V5yrj+Zl94zk2DbiiF7BuZ4DtcV/RtjYgC+q4OLxwAsyVMl1qWMvio62Sv + 0lgBqiwgZK0o22P87ra5lRqsXZoih7EQ/IHK2z9pdQ7epptTSjRk2mu50YDZrtCZ + 8M43k+06Omd/ps6KUJbRXiLfA8LYfXGgRVPpA2xJWloyF+eY0BfR7nz+ + =9Fn3 -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-03-30T19:01:24Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ/9GpOmpgalbRLemZwysIW4FU/+27svTwGJlJMFilEOQZ09 - Ki7bKl8SjOVtu6FvDb5YHLHDlxlhwl3exoBmJcl1ys8ZnzVhOaiQoMsxaLAYbwbz - h0RVTFxk3rYam4KZqIF1Ae+qM7aFigK8Ieq2F9Pk8fn8DWXmHlzCXKPpgKl5/Igz - xQlwC95PsqlsxdpFMU8l8jgFTGPynXjjOliJofcDY7bd5T4twsgOI2nO5a6axtnH - Pj0ij6CiBQuJs7ArkXM/woe3HPo1qFkecaP/UcEKmciN3NuVLaQt++nEtPOstOuE - CYyESoCDmgj/uETBgn8GN3kXj2RyZu87rl39lzHKjwh1NFrayg1mPI4vEMmn3LgJ - AdtfbcbiGpLY4fFw7fnCeL5uZkL3T5ZZ00LUDlpvzjfE4dHVl0XXwwTOmElIahFk - uafrNNCixi4+faIM7yT3+agnyP4lflibC4chhBQwQ9u5gFx8Ce8zvuk3itaZ/Fgn - HJ0h2V5ueHHCu36biaASfGtAGbP3S7XkOowBu94PN+MIl0tFxcYT17BCN+wJL88W - YdoyqFg2490/b+HdxAotrzJefG5sSG75KGImMfeSFWnS1uHRSM/oCFZTBraBE948 - zRJgWJvQ/eszZ2FRCoGbNP075C1jWnOWREr5d5iT7dCLj6mkb3dURzV549AYLUrS - XgE0aIfh+jOdDopkUQKUnsTB2SKl5hT+361nZXPKLpvzXXA2bQA3yx253tcRoGcJ - 9HxBE42FQEEygfomy3jEybG6LiKFNBedGmgngIZufay4YLyvjgPqlF/1yVN9GNg= - =ARJU + hQIMA2pVdGTIrZI+ARAApsRsAX4B4s/EIrLWEdDJzM1Gz0BHqihY20eCqeQXOiCl + f3yx3N1qZxTOrEko4WjWTEHTbYAtT3Ev0I+LERcKFThCUPN94ZgnPj/SDhoAeXof + YUT4Q/VcoHGUgRZqqHHwHqYMRW3PJtZdjNQukSxHbShRtbheBQSx2Tpoz4aM8jcG + UoEudUXf7BbT26vpbLZcL67nDB2Ege+IaEGoiZG0lnIcNzKQVFoDl5h2xyFed85c + uW2s4APdiimqSEwk4wudxC5Zam6bCVaGFE0jmP/QdbLCCO2LSi+WihVv2zStn+47 + lrn/8DRxHv9pSDOH1BnPdZsQOQS+M/ZjhmSq1feRdr0w0RaZjj76sOl2srHx4VNq + +NffdfZKyjklDRDQLF+Li/AmUWhEITu7ecVth+C30DQ3Hvxu3VD/CfLAyFbp2rJ8 + OIQ95B3rs/6bgBHuZj+JwWUJHBl12i59RHFa8cxpuQT/mq8KeLq/Hb9uMpPdNNwr + +aQ84GMFEcOZCXeIb2z+PPcY3JB499Pxxw9wsAGW7+NHU9m4CVSlOpXo3rm/J0u8 + 7PlIBwKcd+ZXmZjKkknh41Wgpg5L+aL1HqJOAJ6iuUQlkO8cK5zOu1CxTwyiapnA + YZSUPza2xNT7/q1EPsiZF+EOD2+8Oji3zdFBne9Ee3khoHTekjOXrqQXf7vtsxjS + XgEDp90PNJJ3uzPWBE8+2Me5sq9yLQSG6PBrONMJNQJES3l15BrNZn3D8I4e2keW + boH3tSmLb3RttTsCq0a6Z5Ws+/shErndJ6G410ihzctXmMdqllEX5nQlsW/OIvU= + =yhWM -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-03-30T19:01:24Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAhaRQRUH6WpP84X2N+sVhWxZhZZf3BVaXcH7tgkvj52Qw - B0HuC/1qYiQDIfvF1Bb2gorwCANk8KOOs3CkyiQipug1N0E+NjTBiWLergetBft2 - 0l4BcDforyXVKoeX0132pHSh+F20TxAd8i5T+pemGS0BwYJ372k/TWmSYSFzl+Sz - 80Nm4a2hBUJayNTrnFccDTn4iFY14xthOuyWuf3QaQ5H9RCV6uTlnwO2SDUSicoC - =S4t4 + hF4DKKbvh61jX5USAQdAm/Im/ARGNQ18Gd54/JRfzetdBOcpcAQBz/TNanPnCnsw + 5WZ9yuN5J5sUlbAt1PyXq2AeAy21KJhf1Gb9ybCtwLk+nK6+t+ATPwh9m2Jd8Jcv + 0l4BiKVHC/VXFO7Amzvr0UMMSwJOE49nBs/Trrx1frWGMgdribDaUjYsB9IzHU3C + YHTZxTNkJ4NB6vNmcm3eIYpqXQ/VWe3q3wRchFUZUWueAaVHJKmqT6o1RVjbrUVb + =hnmK -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/z9/host_vars/waybackproxy.sops.yaml b/inventories/z9/host_vars/waybackproxy.sops.yaml index 437e511af1..99635fc05e 100644 --- a/inventories/z9/host_vars/waybackproxy.sops.yaml +++ b/inventories/z9/host_vars/waybackproxy.sops.yaml @@ -4,212 +4,203 @@ sops: - recipient: age197tmckjll9999v5apqh5h70dktdxzxn92uyzce5j7jmesvnneecs9p7m5j enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGZnhnM2VFTmxDTnRxNVRP - eHpERE13NDd4RlUrTGdSZU80SXQvWFBJYW00CkZaeTBFZ2paQ25lcW5qUG1ISWlO - RXQwLy8xWlBjazhJT0lPa2p6MnBjYVUKLS0tIFpCeS80MEM0bmFFS1k2UGY1bStF - TEFPYll5M2VvRHJudFF1TGtvOWNyWEkKdbsQIUU9zOfsQRkukk7TCAQtO054h8Cj - 0EEa/cQARaQmsah4uBp0dZ0SXn9mz0D6IAhzNaSr6I7ixUVgHsBQzA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQYUlzYUxJRjdhbCtOektw + QkJSb3hRcjN6STVCZUZHSCtVaDRvUG92cTA0ClJsSm1ycTBUWEJXUDU1Mk9MRld1 + Vml2WjRQMUM1Smc2WHJjQWxHZWt0ckkKLS0tIHgwV3VSYWVrUnB0MmViTnlkM3pE + c2UwZ0dEMXFVNUtCc0pCVGkrTGZkaWMKjlZAKLI+8xXYxHtiIrDnjl7VNkoZzxAd + G2oQxuDdwtfEDmCOGTtDV2h3t3HkuSITL1MVxe7rtBWpDCm6mZ7bhg== -----END AGE ENCRYPTED FILE----- lastmodified: "2026-03-30T18:58:10Z" mac: ENC[AES256_GCM,data:T+2onu1bM6QaD67hDH1hBUi3hf+UzzRUS1O+/+qV3F0tVndJ4nCO30cfsKRNvQiyCQL9qjGJkvvYOIk8FPEWTSH0k/sIyWAjjVpp1qQ1WTAo2KkRQnQpXdjd0a5cv4smYT04/LbNMnUiDJpLt9Ffiwhgu6MZtHwS4WzeqKNezwM=,iv:Dx4Pg+jXzciAOuRMyYjFiGpSC892iEpoCw7U2TpcVgk=,tag:Z9KcboQtD1Upk2FiHYoluA==,type:str] pgp: - - created_at: "2026-03-30T19:01:25Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtARAAmVOLFpqNDEJVHAEzW71mOnemLvAr04Z0xFVjWzpx3XTB - 4TCqwP/vef4J8jA0wMpMa//br6MVgr0JWY3DwHVSRKwIujQPk3HcIa1p972w25di - UhLVeVSd9ZI2oKSmfsP+16jUwXzsvZPLJkL3yFtA/9lmKb0ruh0/7E3BQqr/bZMF - VXgaw2NUnLoEewdkvL2xUiKeBeo3N6WnlpSp26WWBt/JpccMvsOYYFmM/jzshSif - +tw+VmgJbtJZW074NsDpuoLzbm64qC3qs+BZlkg2rwIZQVrQ1UHkOj/1BMxax+kY - j13/zgwbOzLT48uLAOTSLKlJL6DdBdUITlYu4QFltc9Vr5GwVqLZE8dnzuV9MPM4 - jOP/ajPGWbw7tn3+az9Ie1sxm+OalRLKPuSTuwxOJRsSBm4s2IBbHLYQJKLd2VIA - kbCIpsZGLKhsN3NoJ5lBUjIpvZinkYh2b7/6CwNJeyw0mNV+MbbJRIW6ROFCZUR0 - JOc3w6+mC2jr3rGYhkU4H16W1/oYEZRmIPfxiCu3nNOCPWycD7mIP9Ei5ojP/HVU - R4IQUoizDxx531ZeGIP2vio62JlKuJvSOwaQLBnqjTjtKL1x9g32i9eW7zhVS8IQ - DbAjgLsR1qOJZ4uupKYHF/7Ewf0zOtoOwx/X/Q+GHWPwzYQPUxcxNDwEx1mJnRDS - XgEriV+Wjhtpo44S6l9UCdd3DAbrPaS/D7DGTp25vxwCQ4bTriKF45/QrZvPRVeM - i1qXnzYYR4muPPowm9cER6wwt7eXs9x0O7dg8IQ8Qsf/xYi5TpoCtTB/TGwjE3k= - =vjcL + hQIMAxK/JaB2/SdtAQ//faQpi9sEHR6WkCtHS8OhcdOqro9bZCjJ8L5KRN0nJO12 + Nnohjcm1mMvKKlLB1j1rrX7PioJt04GSbJBCAEI7EEQI/nT+hLIQt1lRo51RRWyG + 0HvVuQA09zScvAgCKCGj/A2UP/kfVdCc8xaP0oWl+deVlnWlUmRv+MIh361ptIUm + zNlKmNZT4309o6DOSEiS4eXFNCoNjzguZWvFVCaAp2XI/JMZ9w1zQfh8e/f/WoYJ + BQP3/g7SGBhROuCdUnAMbROPYByUQfzlE5uNXAZ9tYA2lVF1oLVCBjrtipEq0jM1 + yPGiFpJEov3xH0sWkyzM/ZZVU9T5h4DGiH8+tknMlpfJUJuzKVBPlqiLOvgF/Dsd + 12gkKI1ENXktkOlDlkyFDGiUZkWVJEdF8+dBs+hGuLeEmEQMBwYuTOKTUXACDHLV + 1FbNkEAFg89NHm/+nvUc86jrD3n8IXqKHR82GXzwclmXhMF7K3/ZtBuGyAsbbOxP + KV037zWTR5bVyQiMq6emPnF6yRO9qXWzZ4gr4X4dzwFNv4ACv54JBVWyRoyAI9/s + kaYKVBI4h5zdiMka9fEU86GvVluPYo2ZBZxAhvWW3IkHnlocckneFv0bzcToCRgA + 6p0aVrNvx2UnFTy5qo8DMjR/s9cyXoKWSfQHDFL18LTSjaoB8iTRCacIJHRcW+HS + XgFci6EzdZA+xNfs4VO/eTap4nf3Aw5XeVplNjQD/t0p6lyGbQEoi0Su3hiNgfio + OO72HwtFWMWRfrYMsBh9ym250Wmi0dU+DuHutaIdGY+TYCDxYWyCJ1up8GsvqVs= + =9sZ2 -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-03-30T19:01:25Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf+LB/2cQEn3Vsr/ySrpa08dxpBe7N/Ha6ioH9L30ueoyJd - bKu64V4Fo+3gy7TjekRFRh85wODDz52Bma2W2eR9TJkQyIK0wc2QLnpau1WZUZq1 - TcOBgjS5xOn0OE/l+gvAkz/CghR1/cYg7Yek3Ad43S0AZPosIgfPwXg/BEcrqBCq - r/92ic7ZP3bdeqKR8MqRliXPCa9ONGujFlZxKMQ/agI+m1SP05uJD5KDO5j3QvCC - CyWaA8jSJKZlReFtLjIIIMQjGzzhSqhfPVtmw9i6RlSlihMnqxlcSAoHzHXRik2O - C1rKd6sDfXl3in3lx+YySNB/gXVx4DKjPY9uSPiMEdJeAQ8472S0OdVl7tj2NH1L - /Lfn+Ni2gvAotIEMCpSEij8CwYkHWYHTwScTebmsMQMge/ru7RXtlaZuRBvhlhmW - kneP32XQ/GoLsEmh1VMJX8kNRIGpDBAixsERacaqbA== - =S/0g + hQEMA1QflAioE8i3AQf7BxuYm7zWPTKj65/leoqo29ibL5YqhVIN91O+HeGvHnwv + Ftdr+6v0SpX4L1W3NGuBO8h7k0yWQqeECs/I+f6YxUZHP32OD9o4yZx/JW4SDomW + AXW9WHhGJoudkVrqKru1w8j2/bj11cuBO8CvoXx7Ff9Q3sNUqP3GM3EjRr4j6+hr + +uvnj5XAarz2GBTFkBfTT8CjtH4y5HjOmjrFt0XYqYutiPjtbCEPVa3JqRY5+AKL + m9nAMHkCSfGtDqnowGCqSV3M86+VTIn5+r6UUf1uLvMG1TOcgEDniNbhXfIcCEuX + RrzgmuAZVOSpP2g4P4LfUHtnH/w9gH9eX6IRtmcQK9JeAWUtVNqBNNUAprErsT93 + hVC3fZacGatPrYfYU3RnsENhhtLdwaB+gStSySTPkZSuhHv4AupszNQnv6bYkyO4 + FANDoDtwPR2DTOPwz4heQr7nHQayJtpylIlE+qXOMA== + =haqi -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-03-30T19:01:25Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ//Vk8rd6aXWs7qqmGag8eEw8eV5O3vcwjcM/8HCiSe9zMp - xCjVp49lXztZEnV06RVsnnebeCdhyMrjBrZOcx04KNg5y1O878QIqV33AWstefHO - z/dbSMDrqWzcXnUDWdPqQ3ZkcckaK5gRKQnNmSeYzIF3e+FSthnhekuJ2nEAuLiv - hg2+7J/YfANu5GkWH5fBkYESFIf0Jt/e+4XrLH5A49DS7KtBGYpDz6+tTBuP7glC - S2r6ZO6uL2NtejFc79503Si2zJI1VlZBKi9/B1VfY664qQAX6JkISHlUz+lIokND - dQS9WXWVYtO5IsreI4T0qRrfBcY+DKhTywP43Igbn+eS6plM25xZkcU5Eafhget/ - qv5V0+mMIpUTvloy2yOfe30WTP4hhiz5O4WbIjsYO60dmoH7PUDRw9jAVSlMH3ss - 1hoNUY+vKvSKB6Co8QD67Mkl0rtJAHcMVe4mJljel5hfph178oBC20ayn4ABcRNe - xcTFGc76HdmPL0cCqoSWizCK9qSOpJmc0SY8YS3C17KEfdn1EOgc5rAghb1NgrN4 - bnwo6StQ9JiUYaJ5a58G5bc43caHqBNZJ6ZaCiTL+qzAx6/LgqENDLWhVngZRcGJ - jpFfRY9BTEr3C/Uklq3EVzUz4aaUgzZaUhhGkRDC3c5scsDd5GNUFW6ppjsMTR/S - XgHu1EyNZ+ncnCdjyUQlOtWxzCk7LlGFEXod3DIwQV4sjoJWsK9ZGnrAUuUEAaD4 - ghC3YKSyMiqfftrn+mFQcgcEADv2Vt2BgkCqpWu+b5bGhnXKAs2MgTu4AKkalrE= - =UabE + hQIMAz5uSgHG2iMJAQ//Teh8zXAmpHYpLcyJhU8RET4xggiLwecbzDvzZr7RD2+k + fPdkILCyf/l7afoQ3JFzF1cvURU5JlH4+PuMLItw0Lyeea+A5/+YP6vZ1VIbYdNK + T+PzfhTTTtFa5TvhTMoMzcifahuJdh8aZE9T5tsZ0JGtpyBHmUW1gW1O9b61Nv1C + kLpYZdPrrhhhg0l+yPNdoyo6FshQ8916IJYt9/3llxfSRm+Ukd7cpbkbgAdllgE4 + DYhiKuiRIUQxTkgLEUG9pfhZbzP6Uo2bkt3miWGcgTazu41e43eSg9P0MSq2EJAP + DgLhdXqgxR2LMFLDUTVvkZG4oZ7QASq0h+1AkO/UJkcOiOty0ALfQJCCwlUCMdnU + YK2k8iHlW1PZX01eYaXIMpvmyAhPMko7rDEp7tSE9T2WGxLgIJxLDh2Mj9BAGtNg + fq9XI0r0vDdx/f2VuoMp5qbcdHgfGYwRKnCKlUxSi6xXCxyVGR1yoyUFM+HyFEvG + RnvXULfzFAK7IwFRL+PmQ+axAGX23cDFNdwA7T9fnS55IsJPVibnIOXyVvGhQzKr + HdVHph6HBLvuPerLv/WU+NQdDlFCqYBDk1N7rCOAznBEs6lzDF2VHkDMJ5YEhXTD + +odeasddQjULc08cuYeCrymA1nWBZ+OyRx57pVHUEsSEXg8mBLA3M5J5fNcgzorS + XgF1rZxB32mxhJTIv2MBPdvVvYpcCqve8Ea5Co27ArUO00z1tLsqQ1WHI4jeqUhK + 8vCrpADB3AAdCCa6cZyr7g4U54KMA/PSjxj+V6ic+rb04D2PZ2MeKlIKRfWRZf8= + =GqT9 -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-03-30T19:01:25Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ//RFw3nnJIuL8w1Ur4J4Zdd+UytlccdlXVtvba52fIRILw - tm53p1qz1UhVBAUkZ7BeWpW0/9Rv97/7JLPzZOxX/NtQGk9h4NMuczxtgK6iZVGM - YVZYtPQe8b3Fi502sgTQ3l5m1yiPWW/aH654nPq1HXqqTF4wF4KZeRlvTfkKzCAR - uQovS/faTEDIvUhuzZkAi1y7HwHp+0vMa3eMfaZYmIMIocBjxlpRml6DZgmRSWuR - lPY3rt3Oe1PzxVKAl3Q6l2z9/nzBAuuwOLtktt6FbyR1FVYQ5wigJ3fCC4Ae+OWm - gm1RGp4nUYK8Q/7GjLNqQ4ove1lflfv7549edFkL2MFMbwuUaj3fhQYXEaXMHaZM - xrgrrMB11H9Iktf3fGn8wRi4SFpAHcxN7OqQHSAaQbT5p1N90hvRj5YqACUF4SDD - s1SirEngJGys6Xh+zFUeGBPPEGsq7q2a/ye1+JiITQ5V34m1DzMoyH7wtfHN7uSj - uA8KNVNM0EO/DP9wFetC35+Be4OPiT1AACeyEEun+C9AQ3dAV3f39RCu1p1X+hkP - hVxt4P3NiPVwFgGYYGk2hhcCmvYzYPYagjkJobdKIkTawTA4N5oejxkaeI+z0/zR - NLNzfDuc1Fo7xZOtTte2DitV2rz7g/D4pUnBIlkbUWlRJ4Z0HY/z62VfyUzat8LS - XgGBwiU1obFwGINR0Rbk0LdfZk8RmIuri1aY9OaAwBPwwWRTdQjlnZhuk6FATjyA - udanjCo3GQSp5RQHSV/iXaiTQQNNEyTsQTJ2OuK5YPjQTmLDUGHnC7fwuItrmvs= - =1kIs + hF4DsZXvxFXTXoQSAQdAP3KITu0BazDcLOo+Gdtmhn5dSGx750IUCwffcVUHURIw + z+8/M/x6707mJufLfkxuuCKwraVUZKkOb+SW1tl9PwpNq2mHIImteFCw+e7ZYkYW + 0l4BK7foiO1tL9t0YKuXxBgOuWPIwSAKLJg7c4o3ECRWriC/rneEwn91aHDygbs5 + xMVU1jfbBwmGFQCaLcrrc0mf/CTOZqBsBrNL40NHCpTvYQZIK5KaKU9XcCcDqPou + =Zb2G -----END PGP MESSAGE----- - fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-03-30T19:01:25Z" + fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAReJcXVaDeYM4zMODEsFthBaDrrlk4v1IoyviTX2FESUw - 6c6QOcyRzWOxwPWw3vpevuYzzqbUfVb27CAJZWwJp5KrpBXFxDIy26uZxOXcM81V - 0l4Bcf+xcLwZv/h5DF0l4sC4OxKV9uVil8Nx2DeX5hAfMLOvX2PPJJNnKbalyMZZ - 3kdUziy+ZWSPz4CmvretgEw4jH7ErVMpiXWWpLvjcQF2MB4gHp6MH3mGMf8ibvqw - =M5OH + hF4DerEtaFuTeewSAQdAZFzav8RB0yXLHlf2y+sTjBWFAoyHXl4VLym+jsXVbwQw + gx5j6Pt+role3CgD9zWltYDhWvP010e8LUP1bY7s6Bv50RyTSe24SVVjy/K2Og0f + 0l4Bpf9yoyabFNoGv0Ee5bfKEai16US6mhxHO8cEEMimQqQMt7VVz0GWIPabZyWg + phVZKkpUMT400/079PBBY6orYCINK5y5UHrRPa9V3S3V7x2K7lohyw5662GCbEuK + =j3Be -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-03-30T19:01:25Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/7BVxGoPTnkSg2+X1VYP/nQwFPfbGqZs/1tu6rAu96YPrz - YWqQmMPNivGl6c2BMoyYz1TDeuVsL5A3KdFgqLIOGLW4bpYgGAVPjsSEpHf1fl9h - 8Rh9JwmDUy8fuEXQvhrCCPLzdgW2yajNKYwnc/muLY8b8G7fnC1R/n0qyj3i1toY - onSkB70QQ+B68Y2xyjZA8HXmnn20MHVZLDvFb3wFM1vApv+bEnk8hovCMCga5xEX - 38NdOOPvIB2Iwbe+L4SQ2b3Yc9kbHdoz4OayovaYSUxw6cwJHLdr1bzd74RmJ8z6 - kQVH3UCbP9mc7a785cZ3lZ/DakMxTBYNIVW7MYFMSuXPfrNocvEhzgpOTHNn+/ot - Ts6LBwwVifuuG+htbNjwwcgM12D9KDQlZKke7v76dfdTOhWLY/QzjqToJqXsvwV4 - ZlNkxzMJcEzmhXt2zTHseScYBaCxiXlHtyLV2l5ed9pvMKJzvO3+rYYDl59/p5AI - Emw/wiLKIXn7A5gCrdh/LjhbAYl+cibrQV8huN0wMbfggTUWWNRDyzQ2ivUM94tB - WvfBZZvPD7slxg4GJMCODOWA0uzP51N8iHxxVtAa3LWzmz8VCiJgkjr26TXvJbnu - UhL9YE2ULOm180E3dFbYSnaGhFQMqYDbSHBnpt5/AyyZXkT6WI6yYF2gVokfDlrS - XgGsvHT0nrlT5BcBghsph3RAwscSD8bvEOwJmLYA0xzjTMzoR6sqPak3/AtVhR1/ - bxmR2lQprc5NCvCbcuuAEiZ3bfcExycRqEza31sM50rWwq5/pKYgEKDTDQdvW6E= - =wdtQ + hQIMAxjNhCKPP69fARAAiSdlSVL+v2e0Ru8QMuOlRId2Poy6L25FYscBlqwHXFJS + Dnc0X4IgKD82+JjG3o6HI1Ni8jB+KoU2e3RLzBl60j1ocmlVxU1fnHHNHYJJ7ZJD + aZHIQ018Goxkr3iFLyOrbEy2mI8RR9R4VJxRjyxQiF31aMLXpkLu4WC1Am+1cgP8 + 8Yni+QXizjCfY1UwOSn9szecMED0rJLqUoPkpNrYIvFkY3J020YWqp50YZogDbxn + IKSFAdXcQMMJ3prYwTN4O+RO5csF111DlpUgY/BHIwoSl66jVgUEghw0BBwEZBm4 + tTrdwOe9v+UxbRVIf4ff4Gas82oaH12aYhv/BpcvM/owixKWe4/Z0vToRcYI8fWD + kTXgVpTfjJOn46KARFTFYQQGpTZOM+wAS1FLzlVVXPYB1tQclPuqkQKdOpetP5qL + WvjiQVF9zy5wIullB20XzohOpQvSyjxB8lIc7c6jz6T2RK8vy1MAF0ncH5+uox7J + Fwz0lQ9gWIzG+Idy8WcNv7pC1OMU2YaeEyPuH7PP39+xBTTvhA3LDrKDWMxZcjZf + 4yma8m2o0xO8Ex1HCbmOWR89X1z0oTx6tOiamq1hn0xyTdisjADCJlfrTpev1PNe + UVFHinzZP9lyDZyORrbHw2FHs8eryXBsYjBel+oMjQoqgl0QjuOKDhkzEE5147zS + XgEux2PhYQ1A/iSDwpCuWUiqiJrXTYYX09iye4E0c38ymgRuMpC9NcOA7YvfgJtz + OySE40C2gcKQQJoAt0B/lwhxPZ3e3X5RyGuPEwnLMjRK9GAqdfv9fvp6qMdjp1o= + =YKnE -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-03-30T19:01:25Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ/5AS2cK8cTJvag5Ge6W5cy6WfrtiQgEYxz+oRV/mMiG/oQ - Gdf4+LKgH4NGHmQb0ERkRJMeDrCLzudsShdzIq2ZsZELlIRdwwzs+JFxWbwSmBKg - 6k9zzu25DwEzooNmQtKdpUH/p5uqQ3GwFQM12VX7tc3tG3Mimr8jnf7t/vf7jXtZ - cjTBICHP1LsW93HmW8zIhvbtFazzYvPiwpOsrhKosbL13dWqQG7zCkhX4iqgJlhd - UH5pB07OvmjUcYMPUeKAhsmQwZQi/JOMaZsICmrPRNU+1TKxETiiewQ9jHRlec8O - 64vnWAveT+QyShbIlWoVMVpcxFx70A0LKD53H4v92JRXpJ+mAmwCWTwha2No79Ee - v9AFBA5ozzJDBnAXHncPPEeMDK9ZFzYlg9fL737mZuVcET1LfW0whk/moH7LSTo2 - yTaeYe9puuJ8TE3D3q6J3z9KNdSIqIx3pWXkIoRMK0zaGtwpGaeQFdCxw//VJ4kz - u6cmk2W4bCXLfSXqXG2SvifUJ9+G+DyIjRioH4HvWaJtpc145cyoJoi2OLDq9cAF - 8mEHXP8Dni8cZCVIoIFKsluymCieWEejqM1qPvN57+8WQvVfOhpQ3Mmg/LmFWqfQ - 2qD+WtR3F08M0pdG+TPGeCibHkiFwny3+8Oj00T1bWkJdr+D65i8wlltxhg8KUDS - XgGT5sZMUE6YSsb8p8Gbl04y9RMX9a53nUr2fma3EdO7w2nhPDjx56XrByJVvP0E - t+wikQUcem+jV4poIOEUgdl60/sV+w3Rx0oSKS2Bo3cRaKV0WuBHjDkgfphml4Q= - =WHjQ + hQIMA1Hthzn+T1OoAQ/6A2lEpwCx+CkYKPhkGgzNW+f0cUcpocjNCxJ4I/5cfnEv + hSKVUz92ta4sy1dmi6Xg+BadOegpIsYfYgDKOiNwLWhZxqNqtita0HVqLKEXttwr + hWP1IKZOT+VjLBA0YEG420+ZXoUn/Fd3rdynXr+EKSTAsO8MhwUZGnvVldx5sW3j + MB8Y/dQKaC7atKnkwUi0Jc8/aV+6hY+YelAr2Eio4aRygxJBbEo6AmYUfhlQ0WjT + pB8/VhTgyLUGpXpKceadhhEokqaGH2o5s134PvzS/WRg+5WMHO/GXmqjbSiqfb3A + 9OtGnMcFdJVrWsRJq5MvrfpGAOdhH3GGInnDACcHnNjdmakor/P4LCJmYbZGQ7cG + si6Gt2gGeG6RmXvp52FUfzl+b8FaNHyK94z2RJLNogQCCuWVj0krw8t9jO8M4JKs + 1WOCAy7+DYjpGJXjmk/NTfjr1QxtyQc0UOZA8w1SLkIxTnrEjxbE0hnxCsJVvrro + IRlh+7BvG+8sSwxnEuUt2ElBZQ90h/NqyOCeEWbP5yHXS03+NUZxGWDWC1BGAGtQ + st6JIvDbtKqMI0zBPSXboqjox/vu6FlAOBMJfTN6CLEj7GqblpIvdeEMOIDUEaow + 2rrksmOnLYz+0z0KmtgmDStZKPG5NkIoFBbCKjgMjovrNdtbV4c04Owm5yc7oobS + XgFy/2NO9db5iudIu/4jvWcQ7TV0AC1ATro13RFvEY3jmIjPygU3hyClG6C781N/ + w0OYR8LZPqNdIz3A9uYUbiHKzwQJ7KwG/o+7frke+0YSvM2gGuWzqEcJMe8wrDk= + =NJGP -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-03-30T19:01:25Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqARAAhLMbzLG/Q/OmHqk1Si+X33QBLaysa54Vv1xuQnVT+//5 - 4MepWYg5MMFPNI4hpHoUWMnSbn3eqvtnbwgo7txKuICqEIukjqOV/xG5A8gFlxAS - oWWfPgPE3JNT50mkCe/mfHxGvO3EwZJOnRM6Wkd73MtyOBk0a8YPwB0vWLEZ+490 - fVmYGhisWXGXaJU8g8lc4U3BvDL3q15f7bWMiPQU3VcDME1pt1eN0CQBXkkxjzL0 - 7c/muXEmH17Hpes0UxJqL+fAgZweL51+uEdnpZxuf/doUWngQew/DommgOy12rTG - Lzq/wfLkEiFaFEnAqQuB7KIEsNbGQ9KnDrbbrf6GbivOcohuXOs8idX+Y7Nn/29E - QfzwGbK9kPZB6K2cKQ6HDl34fRI4gx3GtgielxYXLGT5wi66rIznt6t5Hp/B+i9I - KdWbe5A1qDF82UM8ifqQQ777b9QT0iixcMWjh7RT3M3HgE5LTSPSrf58YokMQ6z9 - xHQ5c7MutQOcmbp8XI922C9mhcGRDTy4Zp6RMqbcoZJFZmm0+G1cXwXt3fIQoAcu - lLj+cbzb68EgU50mpZ8hQzoh0VjCWrO1ca84+hbsfXdcudszeAg4YeXY3QtHwqKv - Ulo4W4sCAAwZaPFEDQLaBmW+DooTqpuCdAX0JgD1Gw/KJPmKZaCANmAgaEIc9ZXS - XgF1ghsbGWNDh5l1GnhzqFRzPCBcj9ilTvLf1lvJQsB8d/cJWN3lQFhVBkmS1fDD - OPK+AO1Lo5ncb2D697YkHjBCkQwaTpblDoaJqPW4RLWozk3330kkV9/nmtGPNZU= - =TN1l + hQIMA46L6MuPqfJqAQ//Y0V0swSL9otAX0HtlgY3TSTXb/LL/2ta6aAZFprmu5S3 + A24q/iUTkjdvlCCPrR8ELyYo65lhVVnU/q/R/LvFKEKYGaVO1dkPPS6GeM/wyl3d + psRbt7lSv7/rBLGNqVRdrwof0QtGpBQ/+lGl4UcKnvU9nSyvQDqahT8tkIyYDozL + J41WrSo4pWtocjQsE2/4cC57gwk47kxWFDwpKhbGKP305FFzXy+q520eaC7Lw3+6 + IO2ils9jVYNMArgrdrHepUDfd4OfOZtN0pIuC2xAfyN0SWp2SdtbtWRTQDq8IDxA + fUrwSfD8c2zHXpdlblogjkVnvznUNIoWBZSLIThDRkCUMJdLJGyPmkHsCP1cKkkx + YRFO7fs7MKgO9ApPjHSA/ntZDP3bxWgdezatocknP1JIkYBqaH4kjXaLZ1O61zGw + IvpbioJnMWKYXKzmhVSzQFqE3xeD9qtIG4Zb4otMypcyd5f7xOapLi/8rKWqYPjj + 2bpd20FHbv9lzN6i1ciQf/a+N5XntsmJiX0DAyqwmH0Em+WTdUA/AfVoh/lv2zz7 + 7vM7Clpqqt0a9DKI/N5GXQ4s5SgFfzLjSDOILcvuVrM9TxeCclcVH/nfTys0B30x + pz4nmIhod3bTiUGmPXsBsL3g0Sr7X6dleHs59e8UBuUB+H4oUoGJ669M0gAulcDS + XgHhNmk9IFVz+/Nd7Y7Mq5iOV6eLqfB2FFx6q3lrckFrCR9WJn9BDGwTkQGRZpMf + wTZJFDN+mm6VxoDo9Z8XgzD3veMzI7HwCwNeVpDPl4/CWpjn65aX4HPTMbAbxJo= + =RaJC -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-03-30T19:01:25Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAIiG/rF87M2zc09AMYSXNJv81J5A9q87XDe4NVWAWkQkw - ARZv++tIZsaQWkIjU7nHQ7L6HH6eVAylhI6ElbNcPyeun72ATn9jZpQulnx1aGGQ - 0l4BZ+jQfmTECdADvm9EY2kb/LpmLqft71xBMtywGkEjS6qzVdHZhAb6ii+kDVvD - EwXeUgfsij0vZLnt1opXoCARrgPEOt0eDLtFpfR4zWs/qc2wLDOzb6yszNvte1Fy - =3ELC + hF4DQrf1tCqiJxoSAQdAtSP81WWZgXsdClWvxVYC50HAmgx+5QYTA+dnAbjljCow + hhYd6KldcfRUgs0yESXnaZWmaLjuV/C1+mDwjn5diedkgOD6pcGhD2cVPTzVjWLB + 0l4BCyPV6SAEMnlKbFvMV/a6QPb+G3May4Bmpdr0MuOOuvVQ0GfibU39Yq/l97l1 + E31918nOzxOoimX5+aD/Ipa6I6OeJWXfLoPwXrWF+W7ax37KBdreEiNsJFGmeTLO + =pusj -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-03-30T19:01:25Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdABka2NkGB4iLaaPRPzCrS45N2+gww9mvU91MmdXEGTHgw - G7/5YYA2bLliqBLiJsR7XHLfJNkNLM512Y9b7LORFZnqFxBoH0LhzHmPh0QR9qMo - 0lgBRPiakcIZEaydw5uVFe9Sv/axRQRgSi7a2AcpqHNNabIbRZEVe/fcLGY5AfNy - ldMAeNyR5ZRQBGEahNZIb9B6tRbDda8ArQKSM3LRnjgtqvCAHz58KDtQ - =Nw1A + hF4DzAGzViGx4qcSAQdAEBFNbbaQVJbZtxUwl4yhKknbOveJWo64XkinL7K4zyow + GMa2wcveVgLxZGTyxpJh1ZCTjhMholyh1n3oXfxA5alvE1KWP83slnB7vOPf/AtE + 0lgBhi6874Dv6xHo6voqCVJqCgKnjOt246FfpTMqF7JCyPO4WOEi/pVtvamLpzPq + OxiOZXclsR+3JJcaFoqnnEnAR63iD/s3dIPJ+JMUUJGjCA+n10qCEcZX + =I8yc -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-03-30T19:01:25Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAAt4UenOwCmB+Opi0/hQHXQvrSYKLFia7GhJFv1fEfiywS - vBbxZj25KkaHFbHNYPYtujCNFyjqrMVG5y6znLP1fQgybtEo95KAJGVqEeDrEB7Y - KtKvmoszIMUBI88brLioimk/5mKaSAsgs6pjPOobLgyk+rFpEVKKZZ9MQxDpW7Xo - /ALtq8b4XvfayNlDxcOP7XR41hThYsOyNsZeGDMxNruxtuscDdjp6Lviu3W9eLTf - UNsdCATaC4gzy+MjFUXwUI1eSEuBqRxjEsMLkDwQ4/aFS4TYjZJukhU5VVYT5Qm2 - p0pgDrKvBl2+aL9Cx5uKPXaTSvXbH+bRixSsQcv7A2LGk888UjTdCi9oTk5ke8xO - 2pEB/SNa8YfftqEaU0ygrBXB/YDPIfKM/+L6FHJ/hAB1H1D4KEYzHL5bpr1mDOUc - SCLe9yxbOW0RqkIK1TllgFFtN5Rbx6D2RQNBjLlaMTUOnAEGQEF7bSfkups809f0 - U0rkBGNTXrZDLZ+icaDeegsYOQ9qSUZVxnOgzgXCbaZC1Pg+brjubT/oGH30nLGl - BUIYpwScECZjYjwaL9FVILxDaQWXAZuDgq+86cGtaeOA85RNx2gwUODk5Aa5CcJa - 15k9LReCeWS9qxOmBe1RRsX30In8aUxScVLoTKTxqP6k1fa+paPC62S7hzyqvsTS - XgEQkOKwGQ6xuBZC4oGAB/DIP1BBgGKS7tjDji+QNwUEEziZpq1tqTcW0+MNM9pU - HLS1ZjPWCNzrpZSI1Nia1sipautxYy+QKy8RweTTejSSfYi62wBhs1Nd+MJw2MM= - =4fMM + hQIMA2pVdGTIrZI+AQ//b3W7bQ60adFEsRjETvruMaKygaQIV+hFqvENTCD5vna3 + FCIemfBNYO+KjnkbZznKrevEc2e3CQOuokk/7rbpALYzAZzaQBrx5arYObJNl2kM + g1vdDlD+ps/ouYmq+ztFCBqAmTj3C43GwCDs/1A9p2FipSeHzeDsv5U7XR30rOPC + ldi81SpKP2GLNt9GYgqyoKr99dk7nVKe+7cmd/arJyT6xTdAzR2i5AWc9qtJxUB3 + /5Od9YRd84SxDid/wgwvw2QKL7bhE4gG++rF+9lli88C8OLZH20hKje+XeSjogVm + NBPFhCiZSvVdLgVXWNjszfoHjiH1jNg2pEXAR0j9pbixYO+xFizp+/qD5dWRVFuS + iNBSi2OOKyT5yD35F0hDjy3WwHePjm9lpzpcYTJxbTYqEizlNDYRCkGdGou/iuhq + AI9+oZjwDihKsgp7BCUZEW+g2auRyLsr70n9Yfy2alEqOX70VWJrUstHMaKEUztL + VcY8YrvtEuMd9Voy15Ro7Yt2urI/E38FoJe5C8T/o6FTwbHgMNVPyKJ0Y07tAfkf + xV9EYrlIMMzHq9mtTG0YPOdJMfFiNmK0Tz/3+5TaiDTk5i0M+0qDf5KEqVZueEjI + Lrxy3gFV1Za4h7Ds4V9lK1x2gGlLMRhRcb5KyzKUrbJPIePYztEkNpT53/sL2fjS + XgHN0/fsxQ878ky4bglZHKD2/fNwB28VZ9C9MSyjoU/nvXSROWI2CIWCV2IUh9X9 + 50XkM6N1jk/lzqDmMV1Wg57Hdy3SAevQkUluzbG16j2/fbfbqVyB3G4mDduQ7vE= + =r0Kh -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-03-30T19:01:25Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAROv9A+64EZA3dVaRbPzobWcimOtqkGH6Lx3Bd7jP7GAw - /l00iGKZstgZiBzImMU8NFjbaaLyic+OBsZvkiYJOowThG+TTTVgha0XEwFhYKQP - 0l4BmruJycZAJqeyfKmM226C8eQruxbWN/WYJDi/rF1TIVA9z3bB2kWsmUpp2ngr - H1GeGzuQvFLPYCPxtnSBFMMrCTDX5sw6SgSkAOrer8hbqP0Rz0vDomLwIKzi7o5C - =x3ix + hF4DKKbvh61jX5USAQdA+xsgq0O5BrdLgSkSfXiosQRkN3zwGrWLS2Isn5Cx9HYw + DNNe7xtR0mgDdnJ+rXuGJEZIQF21qUv420DgBJvTukSgOaxAPB5v4TEvBK7HhHo2 + 0l4BAeVBrpR0sI6ublJuUsGXyVmJmJcYHXgeC7vyn994muAKsqZjtKUkAGXY+XeD + 7bjMG/Ye97Lx4KjIgs5ODKUnWB7xqUivjVUqA8f7ju0uPAETJ9NZMEMbjGcd43A/ + =7z0G -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/z9/host_vars/yate.sops.yaml b/inventories/z9/host_vars/yate.sops.yaml index 58ec382b3f..6f0ff43592 100644 --- a/inventories/z9/host_vars/yate.sops.yaml +++ b/inventories/z9/host_vars/yate.sops.yaml @@ -15,212 +15,203 @@ sops: - recipient: age1yc9s8r7zt6tc7scfyxc3345khdwqrx0lwj4z6yp56h6rmauev50s5yqr22 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBlYUFtd1VwWVg4NUZualJn - YXlZMTBMSXoxL0ZzMnVZL1ZkSDlSd3F1UkFRCmFyblE0Z1BkRDhYMXM1Y3dpMnVK - OUFrVXB3ZE9peDRRZGtVSWdNSU0xcXMKLS0tIFlGNGpUMlNZSlZuRkNRcGJTMVRD - T1k0S0hhQkRKVWxudWxHUDFzYWhGUVEKgzUYdk3U7W4TAMr6JVs9V1hUbhRIcB5o - Eo9Dnw+ewdy3yw0Ndmnlk3Etd7GMEYHNVIz2vasF8ST032JqaX/ElA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBPMjJ6alhPUlh0QWVPVmo3 + L0YyUGU4c0x5U2tIVGI5enh2UXhoNDE2OTFBClBGc1lrWHg5N3JHYkpIcDEwdHpU + WlNQczZxWmQrWS8vL0c0RzV4RWEzRm8KLS0tIGFPN3hZc3dNMllWTU9yV2UzUkJX + ZlBKeHkvT3pEbjBWWnFyR1RyckJ4bG8KfK/lT0sxbrstUEILKnxK7l166RLWFjq0 + gjcIXHIxwz8n9HfZoAj8KmBHU/iBS+cLNwv9JRBLjrRr3HKiTTOXCw== -----END AGE ENCRYPTED FILE----- lastmodified: "2026-03-30T18:59:48Z" mac: ENC[AES256_GCM,data:lvZwZfxSKd5Sm9H3sOuHQL3pOu7fRyOy2ywf5EN/y3Txuv1I8pPtpeODY2Bd2sCdwbL7oQTEr5C7h7SwPa41a2GxJCv0X0qUiJn39J4LJVQh3ytwQtOotBp4Q6T1CPqDSyQUooDMiXVrBu25WVDjvvB1X0O0/nztGk9e7h+7N5Q=,iv:zFYLvdAA8P7hz8k/e7RkhJqk8In+1R1mF6tFQDfPXX4=,tag:8mVY015BLGPh2D5XFvuFGg==,type:str] pgp: - - created_at: "2026-03-30T19:01:24Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/+MiGsAmy6lyFl5UaE/V1rRmJgUWp2mHw8D4kHzeS1dmv/ - +XBpfy+ya1odDyK+8qBb2yY1ADh9hL0VIP4jV3gbYkVEc5D5W150+8kuewmcBzWV - 5tgo/SM4vKO3crX8ULFQoQvDnD0/egJsHG6rlC9RQGX7DEXFtF3wm/aXx6a3Y9ia - At4N9KpoUINn94cbigPx5yPob/ttGOc+Ap9/OdVWPdiaYwhlGs7Ih6UAF+/H7w5u - htedKVR6EfU29qouePl1oxO1byalzoM6RCTmCDLgptAhU5cNl1VW2MMbVzRiBaL2 - OsaXoRQF66VDK29gEJksghKo4fFP3uwMDlJoLE+dA1F+W4cG9snVJiiHLngux0Gs - HszAWjW4xLC8nzcIdhYvgqI5sR9SDlYp1fZlswZe11jy8AScr4HUL7AWT1xlSwJB - Ze2SAjyOFj6U3YGfeHx42fgxJquJXd5kvWELx27YuPV4ERP2EaTInFk3fcKPgRic - vPn5aGlNlNBBhDJnMfXRGR9fNyz6d/XEk/0bMl9NTd4ZgiarXWrkM+a5uAzoBVm5 - DNAU1ZsxvkkM+szNqTWjoDYHelf/w/1ymoGsdHFvlcVh2FHXKgRikrYgJ6r6Nr7J - bJa/8hMWF/BBv55uvp7CB2zmiWU7radRDti0YFTbkWbUCONsnsDpTcmrwM686WfS - XAGTiZhIprYNGMhJTXyCFRpzw7R38IhdoyzHsJBzpbbVwmgZ+RqR69Bo66xYTI3/ - VsDe8vc8nzYBYtBlh27BigDEZTgWY5hYQjy7+4E2Bpc8CRIbl0EpHKQd38RU - =ensi + hQIMAxK/JaB2/SdtAQ/9F9L15CUOwXpxH8gMTcf+tgeY/js6Bgwjb18oZX9+ZPuf + sKXcAJRIcEGozUOonEosU78yalULADAHq6CmZoYCQzxlJ3xvA3qsZLTGs1iom0gv + eNbPbc9KDj0LopvXCXaKJzT873XdEpZ7v4kVj+a0T/4byHkkl5nRx2qmxTi4mbwn + feNcVlQCfLrJtWyPuRa4kGjoH7BgqqSHkh7OuMIj3HGW7yB9KY7NfdALZEIYLQzM + TEM0vzztzPm6bo3Vy0IrXyD1QbI5DS3TstduN12ZlBDwDJq5TvFZTi0ooK4zRXF3 + KmkoE/FJi6s/aTPrOTs6pA2GH2OEDsxAaJGtMgU52z2z0x1SfWZrCXL4LP5ADWXt + LuuB4Jpn2weHHG3Ko6gsL6IAvyqJDKnUKjbRSLzBZ99RKDOZZ8IJWoI26RsI/XI5 + Sy6TP+AhpcAehVJYP82Sd6Hz+kY0hBvHqdHaXz+HN7gmqWKmz7lpziFxKWiehuQA + 447GkJkFoH2QabL14WKbJ4Lo4otAU6w6YWUkVu3EK5agX3BOq/KbR4xwFzpshPwL + CETFuydkmeok3vgLXUozGf1NTJ26yx7vht/JUmpcQ91tEloJiLBRkVkvz26Thfcx + dtUWAU4eajwAm7mrHYz/Bc8sYA2pTjIe71cUuaNxW7JL4kvLrzS1diRxoKRvldrS + XAH1ua5vamHYRDskBRGTMRV7Cccxa0A7TALFH9q7hoEKtKy+FE4pKO6c+oujzdQF + YRBKALXv6tkoJ39K00BLXUENllYx4PBV89uBRxLmFKf/HyaShJmkikvbwQkw + =4oHl -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-03-30T19:01:24Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf/YXG0BO/rZRzrHlhgjgCUsKQmoo0vv+D0Lkpj7Gwc4Y7W - NRTMOBiA9TY2d0kDNskcQphIxyCgJTnTPclxm+smo++7rAQAx38adCS6RWNb0CYK - IOmo9Sg5dYSIlZtdY0AJSTWtgq9YCAd/lip8SCITNgp9r0Iv5lFo+0tKh0gqXcbo - aKWoVxXBVyjIFpIMl1+tNOfBAviXX30IW3KKc9ReUDhmPX9sSqA/RqZgcC6Zzp6R - CNU30JpDB0JJw3YUfPXXBBTxbU3VluypfT161B5JKxeHSE75JTZZn7FwNX6Fok2B - l2k48/tO4TaCQs3dTdV8XWzRe3zrADukpa1ODC8QZtJcAXhfoGQwyTsmM1x1ljxx - YU7rJysas1PS5nIXPlKOg/YhiyOs8nHg4hbQ+PFudVoLmAIiuwd3WrpKLUKMP/HF - gtk0bz48oR4StCaWJnIrijz86rZfvtPIGQBIqGM= - =MP5+ + hQEMA1QflAioE8i3AQf+MqqYWFwDzxSa3z4sDsitxgq8j0PpK0JUvCCNBa+gv8eG + 9chbXXIX/xIVbgMPAyS79bey6Pl7JxLAK1kGKqE8F7lQw2qXfQIHBBJK1NKPhS5W + hRdzMKhbF7ZNVgGbUlDImkxprQDG48km+w9yyRXuqidopjNNYZScWr/kbnVwB9eR + HNfvwv0q0CY2gYC2JT/+FdVkItgqioUoZQOb2pT73Tdpw8J0Awp2XL3JWhe8JL+s + Kq/myoATX1sLiOz3E27lnpgR94H26QTpdaDwomfJKoDdn3EBm6d8/hVpWUTzgfi3 + fKnI9fQ9VK9skz9R2g1feaXQ+wTaXgc9apQg251Zp9JcARMBWh9I42/Iny/9njFr + cjlm9oXgc62v2+TNdRgK+nl0MFbCS8wbYs+BQ+E/gquKxBwnBWjb0ruoLYDTxfj1 + pTyq65j2pc+PlE+1tGYE8Q5UYebYNhz6ClHfe08= + =otZO -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-03-30T19:01:24Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ/+LuBmqKge2U3+f+Uri1b4cY6seLX2RqThXDwft8j7LfNb - 918kJ8gdg1adCGy0aDDGWKcZD2Hx8zwgXt07esiNtAihApIABKRvmpxgF/LWIPBJ - XKJzKuI3bqiPfCnIXuVhoUDvJ9yDnMdlJmq62OnhoQm+7Z6Qs0KfzjJwM11/rUHY - Sahxe39v+E7Lge7Eum78T0XRmU7yX8pvoa50vEr9yrhAv1wOGgwierTJInZOO6gj - mQBfatrnvJB7lemjpf9czhgtlRam95Y5CU2XeNoRML/IjEG7E7gvFFDKhGjnBdiC - vUOr78QpyZuuzDBNqC+AuS+3Yk0uF8s8+/bYRRFLfxcdvEDDi18OOtp+9rLNEwMR - V7ezmoMN6ecKF0MVc90dXRMN47Cjh2LkZq0ahgpsxkHv1gQV7uNIgEFbNEKGo5uW - a8RNDcW4+X2/gKo0oh9pu6wudOM8jgeOScRsHBw6nLFpLpuT0yo99z+Y8DZ9J4qt - 1JU8auG4BplODj9gw1S3jAfFycUk3SKk5mPqPch4XPQ5A6ZD+NTUllpIfpeReO1F - qAdXu3DxT+f4AmT9Ln36BUPoNaC+1Z6RWZVN+2nf+RfYQlV0gsHtkh8fzjViWnT7 - QBQT5JACbNps/yN8jtvhTa4k5hcnz7FoROXCucSuGQE7c6cdeEXodS+657veuCPS - XAHqb/76l6KoK4BptOTXg4pQsXSpSWR+ko3Gth3WQ6OHGznmCDqWfmr2bMrWHoev - 65nwRSrdkY8Txrum9A2FDitPTAG2HT4i/vYnJvRT4PVMa2lyJNyBnGnv7mMg - =pU2W + hQIMAz5uSgHG2iMJAQ//bs3JV6rGwtym334ZU0+lPECpuj352p46seNHmY+FiOiX + 4Dafn26/7P+KLV6wVMBNhWmnxWvqDzcCHjr24bKUs24F49/t7CI6P/fc0fkCzGPu + mX0FGW3eOPRfeqrnrSjA5UWbq/UwzcWvGbQmm2MQzI/sgAiRj2N/6IBcwXfmqb0o + ksU2VKhFpGGVotbb7s1Mf+5hdVk4kB2sPy8ogX7Y6voSH1Zf2yWRSy89caQGJtod + fCKEBgJusR+F3xEcfnJVfmTknav0ObXz2m9mAFq8aosO1DtPZlKHx8aYnB2SkQl2 + zFYIF6OZXOlOkNYFo03Hl4VHnNUEA/jz4QRD4hQAVCWhCpPua5VvHGGZxAMBn7kp + iGE+7kuJ0iO+DC3OdenU/eP9C4Z9duK8bOMscfax8D2Cb+LwLLAxsnJgWs9F4ri8 + WIPo218GSFjqXQvDGyZUXv0rpQ1xjyGpLbTEQl+UURU9rrsZLW/BdGmABUKLlWOw + ZHFaoP6gAKhZiHB/hEPZNbJjPjQJMLF+AfyZSy4TSznPlddJdYuwTnf44Vk3j7s4 + 42FgAgxwiTEgVBQlvHIJn6HNvWg4bRXYWMVklB5lxnSdJWl3sAABD6vg42LaD+tS + HyyXDQP42lbqsxf/sMfz1kx3yK10yk5odx/C3M0TsWLhRkKjiGk7ze3StDshazTS + XAEvQEt5Z6H6hf1krbuCMoCI/3dN7iEKmoxDAmM6QWfmBEaHFYG/lzukmJ93BC+g + Ld9lI2kMb9aSOT5OaiaPRvzsKnWqoUUnXBvi7oovh0UJ0ZLqGQ10YqKSMudK + =u6SF -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-03-30T19:01:24Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAw5vwmoEJHQ1AQ//dsGRpvmg+hk6KgGO7KFICi9x6dXlipjIXUBUnq617jcu - Q+/SemIeOIdS8396lRyYhL1D16X4G/INhxlBf6CrBEsBVKBdxzSSqgf2aCn6kVOI - yEiVggnpouuTCnrQ9Gvj1kCgYgp6dtX8pnl820BxfYLtXxPVBx0i/d9qOyjbTUhY - xnOEHpEgwmwNqtb4hI3HObMq1qENMSRUhuQRg3w6UN1mrbGFa8B2xGOOyLMuNV/k - JXjb1UfLQVqP/JV9PI50j7pjkX3wWxl0NIjz4ciQWyZEAW1IAvPlxX00Oroizgi5 - jCdJDUjHipOhgZGwpDJa0HhuI54qhNLbvFoncB0meUCsB0RupwytBiQMQk7Mje1v - 0DHjz8ANotCLXhgO5KeLRXdXSSlP/ipfDTHGe1rZx05sjpnQf5yq4igx4hVhipXB - LO2Q8XrTlYqKpYAg4kYQdwaRHg8n1muR3ZeHtSpHlITGPSlAd9CDNTFt5313ePlD - jR3XWQCyxAHfJu83NeQyPq91GIPPQTDuxSFH2do/4yPla7k86kpUI/dOiHoKWMW3 - lY01vHfDfuVZHLGIQ1Bob0gRz4D0lNuuYUppfXZuuyj2IfrpRVEKNi/mXZQLVNaQ - 8RXA5nNq3xaxcEQjTq0ll+fe1u4jO/cZGVpMQruvgwvYIyQGqFf3AYY0b5FY9OfS - XAHQPvNxFMySYy83lYbOXPNBodQVYaqoDKyR1zs8/I+O9s7dFrh+HxAk7V6kwnO/ - FKheNmeMEO15UIK22SkTk+ZlxHgezDDiyMIv8qwJPRkMjCrxDC8nlXLKWa7G - =W79N + hF4DsZXvxFXTXoQSAQdATIy5gHjxZAmVSUVGKfFTyPuhQmT3pArcFtdqZpyV7Xkw + s1BGL6c929eVcI9DFCGlgo2TixNGGNHtXjKm+yNnI58hQAc0TqJxENrH1NqlsgOM + 0lwBTE6F/ujWQj78Bf4KXaLXHFjP7Sd0seapY6UfGNLKT83NL76fnIsa6ht072t5 + K83YMdvFXZ8J/MxSyRSjRxe7VoWomX4+SrVZ62ndesYTlWOkufneUOJrWXYYGQ== + =/4yx -----END PGP MESSAGE----- - fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 - - created_at: "2026-03-30T19:01:24Z" + fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAtl7BhjnIALRrm9rGoywHpxCWFnU+6pkAV4xj3gwotFAw - gq9z9iLRNif9U3WrIhehuu3ajaWmvGnF21MipviEqhWUfEsyLSHF46IzAkGdKjDF - 0lwBTGxvf5wdOHjtXJsoZ+XJ/Goek/iw+BFngrlrby3J4gKlHJw52N8tQU3RjKIP - G9K5dPz/BU/OKevHYoeDTMa/U4gkHomL3AHmiDdMGyQsvGzS5FQ7TfcHaRJkRg== - =7U5V + hF4DerEtaFuTeewSAQdAvgGJg8s8i2AViW6lCsgcATNJtFJjDrsQEIeY/5jDNA8w + 8s819rAhtppURZGPo7nt0h6p0cCJUZcsUtbEsrpOsv8HWeByj1nSgko/4O+rkO+Z + 0lwBGdyA6y+HjMiuxsiBj5jvtL1IBMwxV4o/Kwl78HnOnTk1sMu3EATeYiUcisED + IuPxauGsjIusLFWM6g6Q7lpku8Z/Zgiea7uC7hnTwxZ+QzRt7kwmmXhSN2jpbg== + =2+p6 -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-03-30T19:01:24Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fARAAn+8Ix4fWu2VmoAEN+f8uXBNlsWnJEky9dTTS81Hc/8RH - G2PSbzZtT2W9qsv6SJn8XAOqwDkv5aqgP3fPL1Yz9oeaEBeDtA6MzUS97K1t4/9Q - yOGrleTbpnLuE2vaG8MV0FlbThwSJw5BnXcR9NTdglqpeKoaeYVAr9MTerhyLJ4x - ZrZT6LVPNW8h/9ZdDGJu7Z9wJR5G0DFquXiDzLqJHUOiO+x2vN8OR5KPhI0/vGWP - iUwqc6FQMDKCgHZN83pUamvx9Gn1K1VtfXSJkMbEN3+VIRIYAbKKgigp3642Hb6w - iAfIG0Ig0wCxo7Rlh0J4Fe0ha9rbggD8synPpoP9ai1KZ9prJXN+3My0ThNc7dYr - /mjLi4hanVRs5JvPGXS7onJtQ/bQRysZ2wKBPb1dKQWiSeF+xjMpCF0a97u+1RvK - 64OMD/0wdbEUQ2iyNrLJsOKQ8VwZZG3uuqO3HNSdXXFMB7t39/u5aB2a/IhlwT/U - 456eyGSfuSN0my820PdbvGMF+g3P89pcjkrwEMTnuenz+9rLvuCPTxf3WFJPbnNJ - zsMb4+TGa1M7NVnqNCU08mUcHrfknK2IyiI3cx2jKH5iw+M8mZ8YolX2NaxwQax/ - /TtZcvdxJ9PuYIlpdFINk3vjnvhePoSjgFHYxmzQCl9Mkqd4+g0ER9370tO4sWbS - XAEjBphMcKguV29avossfTKw2hMGOeAReRWEcjsSqzqgtb0BFJ2S65ddjA8J8upZ - v8Gs3chNGaG6w8AxKO2l0fZFUg+V3Ut0cIk4RADtqzXHxiiaXXJAb4AQ1c11 - =mmu6 + hQIMAxjNhCKPP69fARAAnYApG0QBR50c7TqbldpmIhZXD1XSwwoNsIRDNCT2E8PE + DDKhNMH10OLHRaylO6zIRcAoqu3EKwLuGT8wuk8hqK4HqGtWhSopXcqpTUR+aWpU + 6URK5/Ffc+asg1bqpxFzRFkHNZ9KBnczOCg/0LObCIRPMSA9vyYEDVEHZTgC2j2j + e9VQx1xOLHvjEfcTJsmiUMUD40XwVIk7IelJM6otd8gDApmaF2GNtB0OLA0oLFLe + rSRKKdRzSJ4s2s5GCyCi3ulLEUldrjeMgLfxZmNOyxVB9abt/OcpiiqJ5y127OmQ + zEt0EMMwYMBJDYE40MAZTEcYh0jU095PwpXFPtrdnMCeNppvPtjGtfxchyXYUhLG + 118PAgx8XmgUJo95YpvBp6U8cNWYiX1cq/Fku4qD71UWMcGVt9vnmRlFWACU4Uxm + Ycf7u8Jff8kOFSRaPU2bxqE3ex7FbvP5ieoOg6UdnJhY4syX57X0DiRzg+Nzq0E3 + Zrso+pLTRv7OLFbzxsffNd/AoQ4KvC8RsmZTPRteKJRROk9IouEH1YUZIYau8Mzv + GLpZpqerbuAPX18fRh2QlrE3X8qEAjDz9vyLmmoI8B0ROsRU8PEK/LMmBfUqXk9F + 0FSGGskWNtX0isjwDMebYd/5uvOiNEWBBE/PsyImzpYYupyBPoyPb2N/idmZvnPS + XAFdUwOqo0VPZFAHtrRysO0n+6SvZhC5+onATPz/9Do3PEX0tfC+vLPljsvvBBG3 + 2nf9N9g40hEnRoVnX+3QWXvdOeRdy3e+RimJqLN1ZU79NwQWg6vXnudrroJ2 + =EGQE -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-03-30T19:01:24Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//Z0WkLFi0Qgc2rKCD8VBaeWrlue1U58wrgkst9VfzSIbD - Wc+H6qSe+lxm+SMW7pDKTFPR83I94eL9oasCh1MlcqHy8oUNkTgoAa8jS5s2K0Xs - 1rjESARv/S0HgKXIW/jDltxXdjHtjqpw9wIbgsRxsbs4iOyl3skP9sFJLhVLKnQe - syN3+TTUc6h3PgT/o6j34H32RGPVYq7S4hQ+N/cRkp7HVRhlt1yN7Gkpup0UQKV6 - HLmLfyAk8PSlTGwtZrvW7wLfzJ/RTB+f0R++Z4Y7HFIb3A/ik74waJRkKW+QZuJO - CoWMByH1PC8WvrsF3iikcJe7CY7CRTnaxTwDtejLIGHu/EavvruVA91SeJEXh0Io - fJ6ciJaiuNPnEmVkwBraX06ZO2B1lvK0nc1tovku9psm2/7zAr2Mp1H18wReBwi9 - 4WaF3Vn23N+GLBFVerBp8bcAfyIbaG33dkOXHUoU/YNZi1KOSautdQLdBBGYh/2B - upRL7Ct8SPBIRPcl82uoam2RIupvXEkUzoLNsiIjw+S5tjsRGKHfumcz+SKudT8T - X0ay15Eta6ZpczalhMWfuEOygG8ChvtyCpVamwv2JEkAc5jpfU6gcCrrNH4aQskt - XBGdPdcXt7KCHHgEzMQ5Rge8vQC647/km2GrYjnB05dYa0hwSoA3GU1r9SWO8A3S - XAE4VRrXp5ZZq7ZWKBLe/CpqQN62HWaqeLCKHW8foSrXnejsA7V9vpwgS9wvaaop - X/G7vLijdbDc+zqx3vAeGakdRkeWT+3rlqW9L/TI96R/ctFB2rPGnepG8iAg - =25GD + hQIMA1Hthzn+T1OoAQ//YKw9j3kohiHZWFiKKAKU0w++ltpf6k7+bTsbc6ckLBAL + qpoPcpXWaoU4ifa0aJi5iItYqqziwSKcgZPK25OLe96861n8YeLxyIsvg73OE143 + 5BBmGP4ZtZ/H7Is1BBpnHmu23WfInxIRQbNDvtDrSTlk4FsrrxQI9glkJvdemCtk + 2+NO8eSwA32jAaDy4vMHH8vM5fOwpDa4MphsITfWwICydFuIRxEdrGbigJUqqekP + YLcBQ2MfqTHvjP6tDAYOmiqYx/F0Hg1JRsLnwY1vqRZmgwDr+srG+soA/1uE5ywn + FYpt7JI95LRz2Dan8n/iPev3vss8+hvo1tsTyDkslCfOWF+ZS86fkGiI4014UF5A + zX6RrfsyNZbhoxpqVRWU/Pb2Jayl71SqHRGxTB8/iY/UivLfpLYJ3oNFGB+1yPL6 + 3u8SUXabq5FnIMgUiPRZ8PLkou4wxEG96preGHR8sPlu1BVG/Um4aIanJPsMm9qc + ppNQOv7Ilp0693kIYA/+zSJV969MZ/eQIW1MD8yj/pP7QzVM8JHOZJVYshtBtwf5 + Wh40WVg1DiBMU7dpMLOR7182wg5BiTgiBzq4+cd5a5smvKtpo5/ZkEx6yXUgcVMw + VuarQ3VDKW4c3j6oLdq+kHmdcOm9wxkXgemU4lrdVmlzT7xUgXmD6zpbUnEuTxnS + XAE2bS2sAzTaw67hFYI1fKax/YTsOqJjV7GVgNMEQ/8YVpnoWUMrqDj34nijKw/C + 4xJD/I6InvlrIoWjUec8qQGLNIEMf6+hRgIJMYZm53AxCIEnmq/vO4JgdYDA + =yEXL -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-03-30T19:01:24Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqARAAr1nctTKLYBzstyFZD+Ytlsk0z1Pyhocvk8US02RKgNaz - zriNMH6iZ1f/Qbhnsj2tdVdt9It+uVivsj5uVUpRRLCUPaBRkIKQLOda5S1ghdoa - PHPpmHAGCP37BvHtiAVjXAaJCOvr3C3axwWyvBHzuwCpLyMs7EAg1HM+66LrV6iv - erGEoTtjQVqQ/aB3fik4XGxBrmejpS/vMIV2kKXFmPP+cDo9f+iBMWjMbALXbpkX - XcgQJlXdy9jqy+geeTbUReRENKHQsnF4+vw+B9IvapJfrvL3FHWeJbkPlxLWbf0e - Hv5orbqpNn1PkHHbaS49w8D/PpxCRVMFUrWUZwRBhOeVajvz3S3Geko2A+ryZNwH - LN1D9puH56gyqKOmt0DoMX+RDT2mFHpx+pJGRSqz6MVGcKbnvYh0STPbQcDAAPuv - irJ3Pw7k6z/CHn9BWz9dEDJCb84PBii5YY3XHAdLhXXeR8yq3ArScFNS2pfZEFA5 - d8IKD+MR1mQZLtPVe+DY4rbnbOyM6BrqZyIe1Me3z7G3LJ5oMJNTJ6sKXsKT7fCt - WWPXAbvFjdbpp3x54CBy7Ka56whD4yzoGGICBX0rh//ufA7lFw1gg6TkzjUJ+neY - bjMSNxtaaGTZNweUUUSLiAalQ8ep3gEcgjvg8XiSvAcDd0+HSlfBhqdKQz+hbInS - XAEu5bW2GE3+oHiPmZV2A1rFhzZvdiU2kVamUI4OBh+Hqos4GdP8EUmE0GdoKLMj - htCwBGExQH6eCU4g9xcJ1E6MtTMse5uGKYtGStrgd3WutxstBv/Ruy9jru1v - =qvDj + hQIMA46L6MuPqfJqAQ//Wb9PK+/Hf5p0Tl0tmAvyS3cXVS9UkCocDxHQFtyqhDxa + xJMR0zuMl1oUG5AmLfxGKd97btErNpVjARAGT5jl1DinSC9mbSqJEv4ZJCV2gTBV + CIHjbEgenToJlR0Xgn32WIl5BFKQCQS4CJ9k8N8jGIzlSvMfUK3hSHm1k7XJZuvZ + wbH+I/wbnqAGZYec40DpYs4AZOhq378nVtUSD9HqVQErM5nFc2OJUxtEwnB1WvX+ + PmN/AS0u6P0SKPRqhQKiUMo3lFjxmkfigyEZveIIFK+pzlvmWDyOkGqqqpG5UxNG + rkzpyg8RKLW7+7BoULRoW1y058cA/WFS2AeYBahrnLVT+t1wfvzNc1jN9pEqd1R+ + xt+x5VWxNFprs94RSiOD6yMVGLdmjGEZhjSaXYMPJvWplbF2MmjcTepZL4YW5Wim + aOb3hH5G5LGcw6bmwiYO0kOIRbOsqFCKeaz9fdgZe/6mqCkJT6USie5kAXxIzY4k + GbXtZrXAWRO7va2TQ9XIrB03AeClWjPJYM4PdFaIXsGQfafqVeZ4w5diGoba6Ryh + 9nhGin7mPiRQDIEhlb2+xzY51J8uZEBW7cXoYVU7EVsnPpbh0TZNretR4eEZ+7Y5 + VdLsybUZIns0AaDgtnlanKr6+ZiBBck5xflZIvSy4n0IR6tPq5QYGCi845HKCPzS + XAEgkdMYD3lJKlN8Y1rN1yuUjgulkDGQijcGnxNOSIVo4l3Py1PHMdcJaI1K7gYH + VQZ8Od4DMrFHPMQcNLbWJ861Ak5KVQl436ME4kVzQulDFjySgMLAjQH121Oc + =zA04 -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-03-30T19:01:24Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAs2VjRKUG8GHoSA9tW09IKvQ+4p8bjEy4HyOoOjHgqlEw - 02ND9w3JouwjMR4tM35sBf3GYAmASs4iVi1l0TXF42GioXVy4Yj+KNZFYkrSWHnj - 0lwBwPH3q0zJjJmRGsyiSdEvk8TXTSoAzbFz9KfP+6EK4e45m4mNxHMhZinX025+ - uGI+sDxUk6aN2ZylK4u7z/e71stYQoqA9c4vaPo9PwR9ME1dGOVakcFVNK6fKw== - =Fr++ + hF4DQrf1tCqiJxoSAQdATh9i015LfPfH/krGV6UrgD7OqaQXCw4vEvD5/YJj3QIw + M+H7APXqiPb85OtFZDB5ZgE0l4iLh1iLkHGd0qNMPIo3koGMckgiXqL0plkqWGTv + 0lwBHh9pBc2qRspXaCy49yj9pPR4PMxlrZrCvugQVh6IFVV583JMQMNfqLV3X/dy + 1a/4qfGW4kpllSUjmRkbXS8vnWabBNH3osYGjhFgEWyKU1nQxx+E6NjlFDu1ow== + =XRtj -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-03-30T19:01:24Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAUC1L6XXtOLL72BU/WEkRvFi3iQxpI77BZFyN51pEkQww - EdxpjdWO1mvpJMU+0l2HCOmyiny7hT3Zc5CSA7kXjH9FvYqahQkxagoEESTQi8X1 - 0lYBGybpF98NEavrtJBrXl8bdHsc2aOvgLthm54fIpw+GYxLYD1uwkHIFIHa4CuW - tL/nzzj5P7DV/x6GgoHOxwqMzYpD4MIqpDu2+26I/s0Q37V5ZrXlRA== - =kEto + hF4DzAGzViGx4qcSAQdAkxjXvwHJ9a6wjjqdIFY5UV5cgy4cA2gA0c5lHtO/Qhkw + TMMVW2oTYGFl50qf1AVxdpmaSvsLre4JBqX2LDAjMF/HQVR3H3SsVuryBU+oi/pa + 0lYBd1FdsKAXvgvEQW8L9IyZWF88BPh9xBqGexGEX1naoN2UidAOOLSgpONFk53k + G/lT7+bSz+7RTxqc0WB6aeWGS4C9vyndm92Zl+cn6mWC7nxBdeXvYA== + =mTdU -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-03-30T19:01:24Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//YaVBibr6pgpgwh8lZEaelHGOa/213CBymhtBVi+s1iPw - jWbMQUaHNQH7B+2an/vLU9Y+I3I8A146S5OD5XML+FeK4YFdjpLu+7vuSd2AyiwA - emM02zB7DwycXFP+oRKA81y2CAYjR3yiTv9U5hn98dxFINoopdqziz3CAdq4Gka+ - tL0O+iXyVhCJ8eiBRxVOwnbI752UDG0g8MBBKUW3V/38az2tn0WOqTMhwB1tW3ZI - ar7mfCgcaXI9KBkwAk4uB4IM3NQboNYZ5hNjI/4TYJi8m9DdR4Fxc+kW/OA1NVbt - xQ/Cx5gf22WV1LDny/89+KQihmhQn+DA1ERUjE2s/CEwbd/67YZ0KEEgazloWXMq - PtwQxr2OPu26Fz6izloHVMSAF+opc8IBBlTCKck2UfubdSa0cyLrh3+TnQGXCC/A - psQJ5+P+rjMNVfyr13/0lVZUx/aD4x4sr0/AiODBF87LWuoA6D/WRUef6B9PGMFp - 0IVxqjeRTLjCxZFrPyRVakJpQqZZp/odHr8WKRrKUY32YHBu3p01zlJaqaHkoW9d - AcP3PhgSvm5WjM3btJQ57tH5afB+U3n0V3g6TvRVCu9S6ylpNz5YlPTZ0uuO1WS6 - uS6d/r38ZayA2NdBn9BG5LK+2NBiTgXVJfqLKq0e1A8Mxm4+OSeW3n7RsG0R/o/S - XAHdqDbRifdWEjvnsFmVRqN87RnIpOVOGsM163anyKmonF0FJyXkqv2wYwl3Pyy4 - hqH8lY6vfV7nZSEsf0wGoIJhiHeW7odWyUfRkwSn6noRzSQts1JY+HsShBJV - =J8M1 + hQIMA2pVdGTIrZI+ARAAuVuIkl34Z9RB/c+3L6f8ACMw3PZcpWkrR/QB4KDWhoCq + QYiPr8Yl7IDVeM97w/fbzn+uMev5J1f/4QlFYhYRJ/dVLR9j8K5la6i4rHXEsX9w + diqcjQjatg/d7UiI3lRBMm7KIeu59odn6VKq1c0nLWFL05eiesDjJr0JaPkwClvo + 1mcBkRqrk2/CL4513/txikk5YhBeuYp6XDx/oCEZPrLbZkAvt0oaCVrouT5OLorg + JtoMVr37Y6S17KEmcTGobMrpmM2Xd7UfEGjazBWJ8KxxbK5bZBjwERBQkOipiCpv + zajQm81Aluf+SF0lp0F45oG7xaF5c/iZiwkIkdIGJjTjZM8dJEAdY2V3Q8dayeqE + gx5jHm2nwYZ4QhSWExcv00s4TtZzPOM7E9jCTIRDAr7jEeAlRVKU6RqWxwFPF6Ea + 7XEK1I1a/+UGWLmMG1cdn5zGRBx10JoqjW38zI0S1sKwnr4+3ykrd+9P3TgJWfat + /FkUVMuevu+/wiTmN/ASUDuUGpHUVzZDpTiaWpetIb/ITFnbHmICoTjmJTqKaaFI + CtdjcdbSplWBALtgYuQjstZi4fiGndgfrOK/wJa77oF1dE8Kx3LpahxxILTSt/Gg + yeHPv+OTumS6shxsUjbUOvnOG6tBdDFniHbl9tGHH8Tthr0puCSr63/skaDZ5WHS + XAHxoBP81LRzu01C/N4FRu0CyWjL1ZFmu3qDC1HVVwN5D6JBXl31UHs3xMGp7I0Q + H860k8J+1q52MsJTZUQz9KdBFV2ot62omNgT9He2HrKJqkVP6BDTL01TFYPH + =bbh+ -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-03-30T19:01:24Z" + - created_at: "2026-04-18T22:36:25Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAuNayRxSb7cCTSwEoh9Q7cfQEMoGx83HOevMyg2UQ7zow - 2Uli6NswbXkKnck5Daf8IKsM3yQMk0eH9XXTIyJIJJDVOwRu/sYPmQC6u/XJS0eg - 0lwBxxzFpj7tEdFAsaMMVrCUGyUbL3tsXj510bBztW2B+34eo+RFQBIUKNEklZls - 4SZm7G4iqI8WxOBjB8bfjlnSLDD4pZZuqK7hbTI+Z6IZqUDx1PG4NQFl3AqJ0Q== - =AAT8 + hF4DKKbvh61jX5USAQdAWPhEHZyUzUw+SZetkG8YCjE2Y4MRLCPEIMZ6f0oyBgYw + M6lEEACJzY049EMCbSizN0OKGO/b21yQNTAyoa6vGcIi0YOhx4fkvq2EHey07+W6 + 0lwBmJvSDWiA/DM2pUV/VWu3qspScl/n00X5TfDhvpSIeHo8RGNvV00waswI0S05 + BScUCLWpJm39QQbu/wn3VQsrstgbpMJNBhYhfbMpPfMbhxZ/m/QSbh9tum2DBQ== + =w45x -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted From ec4dd36178ae02491f81866312215fdb5d0306d8 Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Sun, 19 Apr 2026 23:48:11 +0200 Subject: [PATCH 224/417] dooris(host): move to dns-01-acme-dns --- inventories/z9/host_vars/dooris.sops.yaml | 7 ++++--- inventories/z9/host_vars/dooris.yaml | 11 ++++++++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/inventories/z9/host_vars/dooris.sops.yaml b/inventories/z9/host_vars/dooris.sops.yaml index 7b44e7ca3f..11f20cc92d 100644 --- a/inventories/z9/host_vars/dooris.sops.yaml +++ b/inventories/z9/host_vars/dooris.sops.yaml @@ -1,6 +1,7 @@ secret__dooris_client_secret: ENC[AES256_GCM,data:v85gIBNH4s4j36crJ+Pb2lu2cdZpwz0xndHzBKZNGKg=,iv:Rlt6R7JMcHTAAVPiTtFaxqsWD8G5B9Ab3yqItYdFR+E=,tag:dlMHaxTMx3LgOzCsTLUdzw==,type:str] secret__dooris_ccujack_password: ENC[AES256_GCM,data:bHeftSA7eC1cSydBRumksRgw2v0=,iv:X/pfsvQPZREifGjHDGx8mVk2TDrlrRVb6MiAr01wI9o=,tag:ti//x7eDbheMG6Hsn2KBlg==,type:str] ansible_pull__age_private_key: ENC[AES256_GCM,data:Yi4ST1zDVN4dLDs9i6aajUvEzTSYvwfYIRZUC278rgdO0bGk4y6saevmqK4mUnpIpz8M+ze//1OTDTgU6K4AE1TsX8vWB7fboGE=,iv:srZYtxDXXkCu5h7HwYbMtPr7PYhhgJ8rZQ3H4TOJmTk=,tag:iq6YEEyzYd6rNoAIgdk5Sw==,type:str] +secret__acme_dns_api_key_dooris_ccchh_net: ENC[AES256_GCM,data:1qDNE8CeXo6SA5vaZYQ/2yNUE9Y1nUkL976Qsq6D9QYCc3fIrkKMXg==,iv:clOa/vwup2QS0Yvq8JTFGhCkuviWWBPNzp0tht8WZXY=,tag:WwN035cE5AxVSpJqRqkGqw==,type:str] sops: age: - recipient: age1j0876shgsn7f2thxh9kx9x5uwnh45z6sy2jlk2qz5jhgedm26g5srn9kax @@ -12,8 +13,8 @@ sops: OHUrNW94NGwrckFJZnVJUGZYdGJOdVkKVL+SdpbhyxrCUBECEM32Kdv/4GgDSyaq gNUS9OEwtgNSClVkNGtowMPCtMCwm/jOth6sJqqyiE5dTPjgXI55lw== -----END AGE ENCRYPTED FILE----- - lastmodified: "2026-03-30T18:52:37Z" - mac: ENC[AES256_GCM,data:9x3IZbUvmKIartKj+dlA7SZN1xMg3z9DisdFHbVc2zRoIg2qbKjw+kFDOAhBhesZNl/deBWHxLoqnRQjmkML/9QLtEFbQMlU8YjXG9gmM0tj9oRNyA4RQ4rEvnUmvWau/NVv5u/rBcv/8jyzQwRdpAcxzgRybaSeA9HNAxz2kEY=,iv:kOU7tbNsBzn5oF8qT4e4u03g4kA66S33H17k16WI02Y=,tag:BRtDa3F8ZUXMpNtrTmUIGQ==,type:str] + lastmodified: "2026-04-19T21:46:01Z" + mac: ENC[AES256_GCM,data:5VlEYqo7ez4EgdMqGGnelc02EoT/bCLYVbPGHth4kd+DhOaJ1EXhmVB5eiX3AwyRl2nr79z/idCDJ6R1QdfQ5v8rYnnWcqehtiIIz0RBXhbED/hN2oz48yRhIX9vCB0gjsK6cacDzTCHP0tPEsQF+Ax4uWdXNHKnZVYS70qxbEI=,iv:noc3LJdiZ10w9O6JfwTxzLUNKT74rfdTX/Gb94fP3JI=,tag:WgFpYsFO3WjrjCs/7R634w==,type:str] pgp: - created_at: "2026-04-18T22:36:25Z" enc: |- @@ -206,4 +207,4 @@ sops: -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted - version: 3.12.1 + version: 3.12.2 diff --git a/inventories/z9/host_vars/dooris.yaml b/inventories/z9/host_vars/dooris.yaml index 3bfd55da34..3792153dcf 100644 --- a/inventories/z9/host_vars/dooris.yaml +++ b/inventories/z9/host_vars/dooris.yaml @@ -2,10 +2,15 @@ docker_compose__compose_file_content: "{{ lookup('ansible.builtin.template', 're docker_compose__configuration_files: [ ] certbot__acme_account_email_address: le-admin@hamburg.ccc.de -certbot__certificate_domains: - - "dooris.ccchh.net" +certbot__certs: + - commonName: "dooris.ccchh.net" + challengeType: "dns-01-acme-dns" + dns_01_acme_dns: + subdomain: "37caae1f-b77f-4eb1-aa71-dc3f7ed24360" + apiUser: "fd42b696-a394-4e2a-8fcc-d44c9fac5d4e" + apiKey: "{{ secret__acme_dns_api_key_dooris_ccchh_net }}" certbot__new_cert_commands: - - "systemctl reload nginx.service" + - "systemctl restart nginx.service" nginx__version_spec: "" nginx__deploy_redirect_conf: false From 1715b4fc88304ec68bb7e5f6554b0222aa47290b Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Thu, 23 Apr 2026 12:24:25 +0200 Subject: [PATCH 225/417] =?UTF-8?q?stb=20hat=20IPv6=20zu=20Hause=20ge?= =?UTF-8?q?=C3=A4ndert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../keycloak/nginx/keycloak-admin.hamburg.ccc.de.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 b2e7eece58..1420e43df8 100644 --- a/resources/chaosknoten/keycloak/nginx/keycloak-admin.hamburg.ccc.de.conf +++ b/resources/chaosknoten/keycloak/nginx/keycloak-admin.hamburg.ccc.de.conf @@ -44,8 +44,8 @@ server { allow 185.161.129.132/32; # z9 allow 2a07:c480:0:100::/56; # z9 allow 2a07:c481:1::/48; # z9 new ipv6 - allow 213.240.180.39/32; # stbe home - allow 2a01:170:118b::1/64; # stbe home + allow 213.240.180.39/32; # stb home + allow 2a01:170:118b:f701::1/64; # stb home deny all; location ^~ / { From 2c1f95df9a22b0df3e8b037ddcf4b1d405979727 Mon Sep 17 00:00:00 2001 From: lilly Date: Thu, 23 Apr 2026 22:36:45 +0200 Subject: [PATCH 226/417] add documentation about how one commits DNS zones on ns-intern --- 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 b91d9fab93..b44a6e5b44 100644 --- a/docs/create-new-web-service-vm.md +++ b/docs/create-new-web-service-vm.md @@ -7,8 +7,9 @@ Let's assume that you want to add a new web service `example.hamburg.ccc.de` whi 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. On `ns-intern`: 1. Add an entry `example.hosts.hamburg.ccc.de` as an AAAA pointing to the allocated IP. + To do this, edit the zonefile in `/etc/bind/master/hamburg.ccc.de.zone`. 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. Commit and reload the zone by running `sudo make` while inside `/etc/bind/master`. 3. On Chaosknoten: 1. Create a new VM, for example by cloning the Debian template 9023. Give it the name `example`. From 0330c6b6caee303a794d708e011caae85b406456 Mon Sep 17 00:00:00 2001 From: lilly Date: Thu, 23 Apr 2026 22:36:45 +0200 Subject: [PATCH 227/417] reduce ansible grafana log verbosity by using loop_control labels --- roles/docker_compose/tasks/main.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/roles/docker_compose/tasks/main.yaml b/roles/docker_compose/tasks/main.yaml index bf02828b20..356310238a 100644 --- a/roles/docker_compose/tasks/main.yaml +++ b/roles/docker_compose/tasks/main.yaml @@ -45,6 +45,8 @@ ansible.builtin.set_fact: docker_compose__config_files_to_exist: "{{ docker_compose__config_files_to_exist + [ item.name ] }}" # noqa: jinja[spacing] loop: "{{ docker_compose__configuration_files }}" + loop_control: + label: "{{ item.name }}" - name: find configuration files to remove ansible.builtin.find: @@ -70,6 +72,8 @@ group: root become: true loop: "{{ docker_compose__configuration_files }}" + loop_control: + label: "{{ item.name }}" notify: docker compose restart - name: Sync files From 5242a14eed748f9ffd31e6787ca254ea531ca623 Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Fri, 24 Apr 2026 17:42:51 +0200 Subject: [PATCH 228/417] Update to newest version --- resources/chaosknoten/pad/docker_compose/compose.yaml.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 b/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 index db60eb9bbb..1d35832ce8 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.7 + image: quay.io/hedgedoc/hedgedoc:1.10.8 environment: - "CMD_DB_URL=postgres://hedgedoc:{{ secret__hedgedoc_db_password }}@database:5432/hedgedoc" - "CMD_DOMAIN=pad.hamburg.ccc.de" From b10d7d15929200a2be1b2e90b77125db710b1e1d Mon Sep 17 00:00:00 2001 From: lilly Date: Thu, 23 Apr 2026 22:36:45 +0200 Subject: [PATCH 229/417] deploy alerta on grafana.hosts.hamburg.ccc.de --- .../chaosknoten/host_vars/grafana.sops.yaml | 8 ++-- .../chaosknoten/host_vars/grafana.yaml | 5 +++ .../grafana/docker_compose/alertad.conf.j2 | 30 +++++++++++++ .../docker_compose/alertmanager.yaml.j2 | 8 ++++ .../grafana/docker_compose/compose.yaml.j2 | 21 +++++++++ .../grafana/nginx/alerta.hamburg.ccc.de.conf | 43 +++++++++++++++++++ .../nginx/acme_challenge.conf | 1 + .../public-reverse-proxy/nginx/nginx.conf | 1 + 8 files changed, 114 insertions(+), 3 deletions(-) create mode 100644 resources/chaosknoten/grafana/docker_compose/alertad.conf.j2 create mode 100644 resources/chaosknoten/grafana/nginx/alerta.hamburg.ccc.de.conf diff --git a/inventories/chaosknoten/host_vars/grafana.sops.yaml b/inventories/chaosknoten/host_vars/grafana.sops.yaml index 5ae794911f..720fb03e64 100644 --- a/inventories/chaosknoten/host_vars/grafana.sops.yaml +++ b/inventories/chaosknoten/host_vars/grafana.sops.yaml @@ -10,6 +10,8 @@ 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] +secret__alerta_secret_key: ENC[AES256_GCM,data:wMdKZ4j5iDYrFUsCK5KXGiznPZTtiHHyB02WlFGK976ypcA/1dh6b1cX1UbEI6i1us6bUu8oFQ97gG6NlVx/Xg==,iv:oZCgPBo2Us2agTxwU6nMqhYlEBHxG9D9GL7WE6XyEg0=,tag:4DVDVGwl92xHjatsek4NMQ==,type:str] +secret__alerta_oauth_client_secret: ENC[AES256_GCM,data:516IlJUnLNV4+5cpcJJOWSEhrjpI62mnzgOG3IFt6tw=,iv:pEqqKJyxJKM3z/CoeW6Sqo4fDyXE8fBxtjiFe/4teXM=,tag:brilNcC2W8sJ+uUiBLZaIA==,type:str] ansible_pull__age_private_key: ENC[AES256_GCM,data:OITNx5IxnrtyNQKrLoY7WKTLYeqjGXHAZ1bkwSrHzqUxXKMWOAGGHQkK5r+poOgGkiYSulNLA0NMgdBkkv7/YRQiu9Kt2di6pt4=,iv:CWGR9z1/KfCVoOOicqfWBu+XXGs6fTXMbk4De4izjcQ=,tag:Qum6h0k2YfWXPyunqFsQKw==,type:str] sops: age: @@ -22,8 +24,8 @@ sops: SWxKVmNXRDI2eHpIbThxVmYyS0lzTG8KMXMSLt9GPyqUVI40bRVGAllelsa8vujl FIoTVzjokV24wGXAV6RL8OltWWF3H9Lr44w8e/K0KnzmIWVhyihoIg== -----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] + lastmodified: "2026-04-24T15:16:43Z" + mac: ENC[AES256_GCM,data:X9IdO7KOW2FJtP87SpaFFsJ2kkaePtZ7dP1vKm+uYRpsxROWjmHd4k8hQw3ebYh2wXVYQ/fo7JH1RBKuOqQIRVGsKdit4jzYfEBS1GGH/aRVF/5QL0jBXzdrKecZazytEK8iY4y7PzdHCZZ53ZrEv63VRnesJIFoEV6Ti/UVmD0=,iv:Rxn4zZ7g1MNZ84ISvxFEhNnepTn8X1bgO5tUfEJmd9A=,tag:QGBnhAWNAf4BLCeYwtIW0g==,type:str] pgp: - created_at: "2026-04-18T22:36:24Z" enc: |- @@ -216,4 +218,4 @@ sops: -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted - version: 3.10.2 + version: 3.12.1 diff --git a/inventories/chaosknoten/host_vars/grafana.yaml b/inventories/chaosknoten/host_vars/grafana.yaml index f259ad7169..d60e7cbf01 100644 --- a/inventories/chaosknoten/host_vars/grafana.yaml +++ b/inventories/chaosknoten/host_vars/grafana.yaml @@ -24,12 +24,15 @@ docker_compose__configuration_files: content: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/grafana/docker_compose/ntfy-alertmanager-fux-critical.j2') }}" - name: ntfy-alertmanager-fux content: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/grafana/docker_compose/ntfy-alertmanager-fux.j2') }}" + - name: alertad.conf + content: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/grafana/docker_compose/alertad.conf.j2') }}" certbot__acme_account_email_address: le-admin@hamburg.ccc.de certbot__certificate_domains: - "grafana.hamburg.ccc.de" - "loki.hamburg.ccc.de" - "metrics.hamburg.ccc.de" + - "alerta.hamburg.ccc.de" certbot__new_cert_commands: - "systemctl reload nginx.service" @@ -51,6 +54,8 @@ nginx__configurations: content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/grafana/nginx/loki.hamburg.ccc.de.conf') }}" - name: metrics.hamburg.ccc.de content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/grafana/nginx/metrics.hamburg.ccc.de.conf') }}" + - name: alerta.hamburg.ccc.de + content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/grafana/nginx/alerta.hamburg.ccc.de.conf') }}" alloy_config_additional: | loki.write "default" { diff --git a/resources/chaosknoten/grafana/docker_compose/alertad.conf.j2 b/resources/chaosknoten/grafana/docker_compose/alertad.conf.j2 new file mode 100644 index 0000000000..2b5b2af286 --- /dev/null +++ b/resources/chaosknoten/grafana/docker_compose/alertad.conf.j2 @@ -0,0 +1,30 @@ +# {{ ansible_managed }} +# https://docs.alerta.io/configuration.html#authentication-settings + +DEBUG = True +SECRET_KEY = "{{ secret__alerta_secret_key }}" +BASE_URL = "https://alerta.hamburg.ccc.de" +USE_PROXYFIX = True + +AUTH_REQUIRED = True +USER_DEFAULT_SCOPES = ['read', 'write'] +OAUTH2_CLIENT_ID = "alerta" +OAUTH2_CLIENT_SECRET = "{{ secret__alerta_oauth_client_secret }}" + +# AUTH_PROVIDER = "keycloak" +# KEYCLOAK_URL = "https://id.hamburg.ccc.de" +# KEYCLOAK_REALM = "ccchh" +# ALLOWED_KEYCLOAK_ROLES = "*" + +AUTH_PROVIDER = "openid" +OIDC_ISSUER_URL = "https://id.hamburg.ccc.de/realms/ccchh" +OIDC_VERIFY_TOKEN = True +ALLOWED_OIDC_ROLES = "*" + +# AUTH_REQUIRED = True +# ADMIN_USERS = ['admin@alerta.io', 'devops@example.com'] +# DEFAULT_ADMIN_ROLE = 'ops' +# ADMIN_ROLES = ['ops', 'devops', 'coolkids'] +# USER_DEFAULT_SCOPES = ['read', 'write:alerts'] +# CUSTOMER_VIEWS = True + diff --git a/resources/chaosknoten/grafana/docker_compose/alertmanager.yaml.j2 b/resources/chaosknoten/grafana/docker_compose/alertmanager.yaml.j2 index 0689820cfe..382d4abcad 100644 --- a/resources/chaosknoten/grafana/docker_compose/alertmanager.yaml.j2 +++ b/resources/chaosknoten/grafana/docker_compose/alertmanager.yaml.j2 @@ -9,6 +9,9 @@ route: group_interval: 5m repeat_interval: 26h routes: + - receiver: alerta + matchers: {} + continue: true - receiver: "null" matchers: - sendAlert = "false" @@ -73,3 +76,8 @@ receivers: smarthost: "cow.hamburg.ccc.de:587" auth_username: "alert-manager@hamburg.ccc.de" auth_password: {{ secret__alert_manager_email_password }} + + - name: "alerta" + webhook_configs: + - url: "http://alerta.hamburg.ccc.de/webhooks/prometheus" + send_resolved: true diff --git a/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 b/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 index 8c385005ef..5ad46a1587 100644 --- a/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 @@ -105,9 +105,30 @@ services: - 8011:8011 restart: unless-stopped + alerta-mongodb: + image: docker.io/mongodb/mongodb-community-server:8.2-ubi9-slim + container_name: alerta-mongodb + volumes: + - alerta_mongodb_data:/data/db + ports: + - 27017:27017 + restart: unless-stopped + + alerta-web: + image: docker.io/alerta/alerta-web:9.1.0 + container_name: alerta-web + volumes: + - ./configs/alertad.conf:/app/alertad.conf:ro + environment: + - DATABASE_URL=mongodb://alerta-mongodb:27017/alerta + ports: + - 8012:8080 + restart: unless-stopped + volumes: graf_data: {} prom_data: {} alertmanager_data: {} loki_data: {} mimir_data: {} + alerta_mongodb_data: {} diff --git a/resources/chaosknoten/grafana/nginx/alerta.hamburg.ccc.de.conf b/resources/chaosknoten/grafana/nginx/alerta.hamburg.ccc.de.conf new file mode 100644 index 0000000000..7597c77254 --- /dev/null +++ b/resources/chaosknoten/grafana/nginx/alerta.hamburg.ccc.de.conf @@ -0,0 +1,43 @@ +# 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 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 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 alerta.hamburg.ccc.de; + + ssl_certificate /etc/letsencrypt/live/alerta.hamburg.ccc.de/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/alerta.hamburg.ccc.de/privkey.pem; + # verify chain of trust of OCSP response using Root CA and Intermediate certs + ssl_trusted_certificate /etc/letsencrypt/live/alerta.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:8012/; + } +} diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf index 2bdf9cca1c..6cd53d3f32 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf @@ -13,6 +13,7 @@ map $host $upstream_acme_challenge_host { element.hamburg.ccc.de 172.31.17.151:31820; git.hamburg.ccc.de 172.31.17.154:31820; grafana.hamburg.ccc.de grafana.hosts.hamburg.ccc.de:31820; + alerta.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 a7abf0303d..fb0d37a9c4 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf @@ -28,6 +28,7 @@ stream { 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 grafana.hosts.hamburg.ccc.de:8443; + alerta.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 d7811f249af1f24084af6bd2a6351408849e7b08 Mon Sep 17 00:00:00 2001 From: June Date: Tue, 28 Apr 2026 20:12:27 +0200 Subject: [PATCH 230/417] diday-staging-runner(host): deploy host runner for diday staging deploy --- .sops.yaml | 7 + .../host_vars/diday-staging-runner.sops.yaml | 207 ++++++++++++++++++ .../host_vars/diday-staging-runner.yaml | 8 + inventories/chaosknoten/hosts.yaml | 7 + 4 files changed, 229 insertions(+) create mode 100644 inventories/chaosknoten/host_vars/diday-staging-runner.sops.yaml create mode 100644 inventories/chaosknoten/host_vars/diday-staging-runner.yaml diff --git a/.sops.yaml b/.sops.yaml index 2941a53ed6..3849354581 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -37,6 +37,7 @@ keys: - &host_spaceapiccc_ansible_pull_age_key age1mdtnk78aeqnwqadjqje5pfha04wu92d3ecchyqajjmy434kwq98qksq2wa - &host_acmedns_ansible_pull_age_key age16pxqxdj25xz6w200sf8duc62vyk0xkhzc7y63nyhg29sm077vp8qy4sywv - &host_mjolnir_ansible_pull_age_key age1hv7m3xypesdfm0dfzwgctde8v307g9xaunnfu2687y0lagcs5q7s3eg0kj + - &host_diday_staging_runner_ansible_pull_age_key age1522f3qzddm82w63j7ajdkr0khvced6ht7tzp3grvp0j3hewtvesssr5kpf external: age: &host_external_age_keys - &host_status_ansible_pull_age_key age1p546j6whqsyfkjuf674lawrnk2ex653fuvwhcwt46gkrspkq59sqzm5y87 @@ -195,6 +196,12 @@ creation_rules: *admin_gpg_keys age: - *host_mjolnir_ansible_pull_age_key + - path_regex: "inventories/chaosknoten/host_vars/diday-staging-runner\\.sops\\..+" + key_groups: + - pgp: + *admin_gpg_keys + age: + - *host_diday_staging_runner_ansible_pull_age_key # external hosts - path_regex: "inventories/external/host_vars/status\\.sops\\..+" key_groups: diff --git a/inventories/chaosknoten/host_vars/diday-staging-runner.sops.yaml b/inventories/chaosknoten/host_vars/diday-staging-runner.sops.yaml new file mode 100644 index 0000000000..11e6d0082e --- /dev/null +++ b/inventories/chaosknoten/host_vars/diday-staging-runner.sops.yaml @@ -0,0 +1,207 @@ +ansible_pull__age_private_key: ENC[AES256_GCM,data:WU0i+4Il1sTq7IR9ryZJ5HnLJWndNJXsKTGnrD3uJPl6xK7ndV6FM1VtII8zjj5MYGcWpj4K7F6tzeKYzUtK9Wi82idcOFMIhO8=,iv:FS33ZQPjFlGnvKbbNX9qJ16K50LZ3SFyIPWxI5C+nD4=,tag:lHATJlw8yBWSsWXJHeQLYg==,type:str] +sops: + age: + - recipient: age1522f3qzddm82w63j7ajdkr0khvced6ht7tzp3grvp0j3hewtvesssr5kpf + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSArZWpJcXpIalRnUm1BWGt4 + UGNNNTlBUG8zVElOTTFyK3ArR0NZb3BWeHpRClQ5TDRMNFZTb0lrOXA3U2JpSm1x + dDFSaDQvbUFzcGFveGJ0eGVnSHEwZVUKLS0tIFQ3U1V3U1FRMlJ0OWYzZjAyWXhw + d2xYV2NyY0hCZTR6QXhLbDNOUTBrcFUKQ0T37Ln3T+iAwY2S0uOciCbwcN42gwU+ + 94AYml1rtoFOljmOu7UBli3I5ay/T15hgXf2hCARzYx4d3+9EJIY2Q== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2026-04-27T20:44:59Z" + mac: ENC[AES256_GCM,data:4xJHdhlmAysx3Cx6BXrxAiLdtCjN78n+9mwnvUFj+UQofogpFBjQ95OfbgvtMG77SWXm2QJCv+EuPUF9wVaTam3zQQRa5KLqaPL5sXlINxGMUWs4xsmSa01O4b5Hr/NqnmSb8HyQD2zLIRNpEy8Kd3OiGHjzzcIrtHVb6g4Oozk=,iv:Y4gMVGvYp1kmHFeMceXMwrvZ8Dmb3Uwc91k2xIqovJg=,tag:lLWFn3YWQTw87vGD5EJHng==,type:str] + pgp: + - created_at: "2026-04-27T20:44:48Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxK/JaB2/SdtAQ//ek1WyXU4a9gYTW8RlzrPABtvkx3kz6y9Av3Uje0/Okul + UJGzYRWXsHm0rBHIG/VRnDBa9NqKXTh1cOnalS+dkPFyQMLXxkGHxxykzzeYQ2/W + P9/ntoA+m9Wt0khCgQ7sP88+9rBYwW+n3cCdogQF3XC5Ybj6zI25gBQG/EGvOq7r + MSQax2vsrPjTT32d1v/OVAWQjXaJR9lRwqVa/0i/tWtiWae2AsfYDoyLcaco8Mc9 + XssVuQ7outtKJi/AFN2x3pd9sWyndeOBpyBSF1UosgnGKg2YtvGmVf5Dv0vxxSgH + SZh6hU2ZAW0dHjj6wkkKoefK6Nd326EC2fcoN+PttvZOP6MVCu4BNP59Jp+ajSkZ + QZfYe0E6HtQVqvc6B7PNL+iOvmW5xMXffOrWVGnKQvPceO9WER6H4MqpH9cyB/tM + kgTh4/ldJBwa4nzW7yC1t38kANB5YOTJ2SUD6JAP4z+L6aXyr7SI+zRIOzyad6xY + vg+m5Hgrcchghk0cK+nB45VUUjUtg+h2T3BoTQtGSrbDMfvPQHMhv7i7SkYXIjOL + 8gL8v6eSOotg//e9NKRCRC8YB0Kus2D0oY0J9i0I/XyA7LhZQGbYgVp8GyupReKo + vzCQPKBL7q/EriA8EJRJy5LSVuXybEtwyaqkp1oSI/OnnPwC87R3LrLWn2/UUg/S + XgE2iZF6h1Jg0NE36Lvmv5fImBT2bjAklu0FtE5tttaP6HvmdrDbk1156/XjmDkn + 7WierL/Ot8it/GGLGPd3HL2BaFMHNaJESo92KaKia2yEiXa4gYcAJJjjYX/3yco= + =0e2Z + -----END PGP MESSAGE----- + fp: EF643F59E008414882232C78FFA8331EEB7D6B70 + - created_at: "2026-04-27T20:44:48Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQEMA1QflAioE8i3AQf9Gkaoik3xxrzzwpAa8DDpsGB7q2B+oomp7tNGhmrDlR0U + aVn0xGFXWV0G8B9CZfA6RDcNmyED2yKHPcCLNkv0LpezJq3psVW3ltXgYO4ka2nN + AE2sN6t7F1KeF/S5VoxMrTv7ij6NEU5aQScwxyDJbaiJdSw56PAG6WkHW2eVKx87 + 5gQ9iCY05Lhe9K5NhzK4K1Ck4Z8flH1NRrJlQ/hDA8qWgPwxWG+B4Dgu1OZVltE+ + Ex2LbS98F94jJ00lRrSCAORknbcyns81mSbj/Oi4W2as5f/vcyJzqk/hqF4f3yLn + J7e+hJk0aqn2Bs8m5tQ5etRJWLbbhwbEOBCE3cYCodJeAVTv+2tuHz4dpE5trmsV + wHubUFp876yhlaTElW8sIP7qMkVa8AJte3IycytUOgutKDbA8m1N4zeFvFCXrlyM + seYGY3dbRgwJQVAAFqI8LHjOQWX0Vj/ooc2tG2W+Jg== + =0FSI + -----END PGP MESSAGE----- + fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 + - created_at: "2026-04-27T20:44:48Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAz5uSgHG2iMJAQ//VBk18HUhwtbqgqd7Xn9x35Gy8OPzWcFIS83jYCK87LZW + d3GS6rMsk2SxnEd7M5ho0iIm6bi0NBPBLkmpvGgM+wzXTv7V5RMEGLs5HPHOC4Pg + kVJmDTF2eZxKOwWNuSdTgSV/p5+DEEJyXFhE/vdT/0RfUP7DOwWcoxgfJIE7omMh + gElwOoe73Z+yFDavyD5fOJ2A8JCHOuXkELVT7BBfK4a/rld0G4+74jTUPHPbBV9Z + 8bHBtxUBmPpa9Ob5DeagApTLp2MVjVESURKcG4TF4RgKSprvy7LTPgNLP8RVg2PO + 7c+vMKSQ4jjYNCBM/C4voO6gugvFkzO0JQ5ZcukVJZlHlvSfHto4eR4nUfyBUO44 + hVytdSSgYcXfrs7pFz1OFAHs1miQ72lEpqS1qNecJS8omGZI9DRjeaNDLRUBC4s+ + aY4YtmzzFUkxxvA2MBISwHx6Jt6PA3Jk2T8MXRunY+zWfEQZpWG3zyVeNKUskVcy + yJS4i4o0+PKEt7KLMLMO3GhZGpLXfn+F8VW0RSQP/dv4SM0WCShJ8Vvc5eVujUUx + K7EJbfvCwYu4zukc+O5MilyfHh2AJXS80tc7w6OBYvcyPa58PJldereWFdPaj+Bh + scjPYYp2O+CFaFTi7b+HMqynM/wpJOFcJE6ux8qh0xJvaV7/LbGGXtQaTCyWrXHS + XgGwbgV31Lowo+M3OCvBR+Zh32i89t4bCF+3NYwyPs2+gI4dLAIPSu1g/678dxuK + PkUk3OLBJ3vMhKxs35L+VHtwZ5zCr803+Of6EH/mVrfIxDJWTYonUfqOhHybpv0= + =Fm3R + -----END PGP MESSAGE----- + fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 + - created_at: "2026-04-27T20:44:48Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DsZXvxFXTXoQSAQdAZgm5y3mgVQqza0IFmG8Cm4/HzCQFxObqWKx5O8PANC8w + cBtR8dbeFpZocdecDmxRbB9s6L/GRW15JBG/13Dbj2MELlHJp//nJM1NEHYmg5XE + 0l4BV/rvRrZgZL+r/VXSCn9uXUQ++3eV0O870jV2E5bHViChYuELcXqjSPYW5y2e + aUZ1MaafHCfEfhs6tsWjdb+kJrzT6LtxF2yNLjVrCoRSGpqQ9pLKKElgSxPrLzaZ + =zulj + -----END PGP MESSAGE----- + fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE + - created_at: "2026-04-27T20:44:48Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DerEtaFuTeewSAQdAfURge64gkGuHQeTUNyF3hZOpX4ZCFJkwbcOr5dXnzUAw + UhXmPmGJY35RdnYtTLGy5sIUd1XQYN9KBhb9d5/3njkZbmyYJxWhKJQlR6n2BNIM + 0l4BfqXb9esR2HIgUsq8zpWS85TTwMNJZv3XbMJ0utlyHJNJv7GBiZnqLWQvoGkx + EMEtOWxKPIfBVAt5rYEEi4qPi6JqKOhwne5F8AnJcF6l2odJjvFZppDCmawDglBD + =LR7X + -----END PGP MESSAGE----- + fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 + - created_at: "2026-04-27T20:44:48Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxjNhCKPP69fAQ//aD6sVlBVm5fNPGc25r3c1kXbOg+fVfK1hXGPZ3LLqk+U + aoKZbskb8lv902Q7klb4MShMRzCXBpC1Y05JrOPi0h9alII/q4TfbDsxrgrsWHBC + zqRaxRWz4GuQeJk/w0ScK5j+1RVYEk+7bJQLtOHUXN+QZbZI5l3cOlOMixMpnIoU + e11GMM2aordqlZJ427RPST1YRo2oli14RMGgJiwBCWJBHfKIqcCCP1TrjQI95kfc + KR7eleyqxJ656YVBJUYxocUoyKvDaEpk5RyI+ajqnF+tiWI5+zc9JJTFGhWqp3BN + 7SdsMIeoFpk0OSoAGB6chEKFMOte0fvQA/XdIHMeigv3/mTsBM1zKavWPqEE7wsQ + mnhyYgcAK85G+Pd3WX7DvhyXGEo7q6xXVfEFt0OfZAAhhVA+Iq9FjOF6PCDKcsAc + tKbmL0RChavKmnOuDdYBRq8NIokH76FXVs+lcUlThF9cEa3xvtsx+/qRIg/TMHLn + IpNpowdzahs11qDRxr3uc0bDZWaQ09q7VwNQTyrJRYjJ08h3pJBLZQ6ic3A4BLE4 + ww/3UbYQGlemu5ZOxAlWx2Lou1lmO/8+ubnGaXgiS/nbujVqPs+eDdWVbRSEc3/d + tBX6UEdbvbK5LO0papMGWE9VL1oUuXwyGSw0mBAWmOtqScnl3ytwS9UjE2NbWyHS + XgGIaBbCEAZEBa9ER1HnjX6P37luC/BPF5NOL/492DbntUzEGkHTJN7z+A3hzS15 + I8gqJpNOeZYb0HSVQQGHhrTnMXDoCuplBh1HJF4T98cmcCTagQx7wBJKd6gK/Ao= + =nWUM + -----END PGP MESSAGE----- + fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 + - created_at: "2026-04-27T20:44:48Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA1Hthzn+T1OoAQ//V1mzCQrg9fi4d1TqQtQyRUkvWNaGgO5voi9vjoLDBEsu + FNoT5jmkuexsjkNhP+kAnt4RvnQOUBlV2uo7hc/C9iRbQp0px5IkYA0PscskiAze + a+2fYJw+Bz+i+kvvqL1h0MYzdWDKpOJR61oZmpE1db/iiNL8rqIQoqW8TftmV8IT + cvYlKTLjJsvs0BUcZFRYWXKfYh9A0PmDnmGP7t2oQq86W9xeB7TZRPEGAmxm4UAD + D6hSKMWVsFdUVaITQhvlfwhJgxwXj39nnGfYP5kGC9DoLiNeOcSK0ICN53LiTC1G + WHcVV5KDqpkZhPPbzDHT9JlYeUeqW2z7fEw/CwCftTz31hZK3q2qh1OMaXvtLi1/ + FQir8rjqwlW+s4PLRNOmWtxRvdN1RkWEQzvf1Q9tgRNNyftmfxN8UTXxgjJJYbW+ + AJxi0gOwYP1e4XBk70fo2QFDp+pYZdZu1xthngLax6mwOLhDXLH5Se8oVM0J78tk + BgtprnZDKugdwQBGmpRRR2TqrPa9P9iSGkCvz3vcedG8zo5dbabc7katwLpMLxmF + S+Mcj+AMg3lgamryl/X2drghwWdZughyuKiawyPEtJqT+twGB8e8Y9Et0kASw1Tw + 9O+iwBaEuOEle5LZ343rBDEy8enuC5pwgNEQU4jQ6i+3T12h1O1+6KxdoIbYIBvS + XgGfj3kJJ8K2wd75K3gBB7Ft37eQhb3Otlkpd5SRu9nnIOOg4uH6KnaLvEVP4AJM + qBUnvMW1E6E2lyOFqjNCGuThMVJGAoZEMgdgXkfbUZepLiAVpxBOboti9wPSvNM= + =ESJ9 + -----END PGP MESSAGE----- + fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD + - created_at: "2026-04-27T20:44:48Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA46L6MuPqfJqARAAuTY4vZqy8PnegR6fDS+fbnd06DGw6rXXHy+DXHV0UzBG + fDTVHufWIqtVMvc5pVy81+VUVMl/5ru29Yt+mWdL40Han8lcNPlRHwkeaZ3Pj3Ah + OesiSLU6NaKrgTKs8XL06cfqpXz1LH/lw1ln/1xVYJ3rlni2N9L8UF/DtIahEj4j + cg4SlhRCDsvlYw7gM7jf77GRCWD2l+0VdyDdjalDSrkhis5jvMLgPkeMF92D0aUK + 7JnzKkY2iKG7at4hnbXIpeJPA5ZGi7OB23RK4U5GftiOcX0KYbEzW1CRZNDL0aXV + Y1vPI1W3DrlYmN000YKFMj9waJST/snYej2vyazswjNtTcLKMr2XFUeTvwcC1QQj + WAYtW/nUphrynBeHgcTR7KRQnBjxYmsrf0YWW5/Gaj1nuFj8I2fQ/7EGt0+ODmqk + Sr/kKJIPZrFMA13v5Wbq0Tf9PtM3+5vGqYxZ+6szttnsArRRilDyIsG0GNVTx8vU + dn9nuxA3vYrefymljSkmvkklqvX1eAixU/lR6S/IwLZ5aSc+BjRxyP97UpLDtxn1 + KM7BWrvtyZr3ay63UJ+to8yNGkbH8EUVYQ1eZl55RIxb7om3tcOJIJOwYVmdTz0h + 7XzLPKYU/WBmoITXZyxJPsqFh6Tr06ANLZHzg0swqeYQE6WcDwFvAJxKbnddWgnS + XgG0f9RYBLnU20GCipX/RGopnXc+XDVi8dm4nbtUwJf9ahkJfG3EUVeA8lkgaLtF + Okzs7XjvJRDH9Pd/rZkW7irvrnJAit6jhahvwr7vrAdOzB7MFWjimrUQFuHSb2I= + =HZS+ + -----END PGP MESSAGE----- + fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A + - created_at: "2026-04-27T20:44:48Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DQrf1tCqiJxoSAQdA3/3RLLncuT93zrR/S6J1rCnw8tZrPsRhENUPJoYFIAkw + N5NOUtN8o8H/U67q88f98wPaDo7RjS1MoYAadFJVWymNfcSkXDrmK540bjMtBjyO + 0l4B85WzU7dZIZFuLInQtHLAVi+NJdjYWgmSB8BdRs2NAcAsWcNfpexJGNdLXbJW + iU8dEBQSj8440pccGV39w2Ru+4segxTwNa+VpLyH35cZFee8m4A6QZvUqSYhJMH8 + =J8aO + -----END PGP MESSAGE----- + fp: B71138A6A8964A3C3B8899857B4F70C356765BAB + - created_at: "2026-04-27T20:44:48Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DzAGzViGx4qcSAQdAPa0O/k8VoHp4Osf+7gxp6TXz+K8pC9IzAjSMuax09lcw + m31keLTbi9i/wwt96AHBXaWXUljiRu2lkWGPkYYAt2mEhd45l8zvSV+T/xD4Jisa + 0lgBcuWox1JgdJU1nBdXokNu7fHeeIlmMod1UxJcn53tVDofHcsWRlU5J/wcqLf2 + ctwqLXMhNcFLmuD9Km1gQ5wkEmS5LgBB2TxGDXbuGvRYngi7/Qy0RC3r + =ok2P + -----END PGP MESSAGE----- + fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD + - created_at: "2026-04-27T20:44:48Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA2pVdGTIrZI+AQ//UwB8+r5JouKdouSud/ScsgEOZ7HqRWNymYmjDuwiANcp + wjU5RGwIUEQ7cit7zY52N2FBZOovoolujtmY+kXcrWu1jaaB8ddswMpTYXHpRINQ + q1YW1mtM1QITXaJ39ZxeAuqkCtk92LxbeIPQSnkXyy6vC8D8qI+oUBeskpxMSxNu + MnymU4/S2wZPRBwiABFiWk3uC36qVR7goyA7helsin864UIjjnBCOQFK+siY3KGk + XdUEhQmQf440ghF3hcP8UdAN6elMOS+O/oyR1WVyPzuIslPIJRKkY49jAjPn2OdK + bxxiWqXvEZrZRHDTYNpxCRh9+XBfjNfpMhZOkLNl//9mdG3ddrp4hMkeLR2cxqmF + zjPnzyGjA95aAPT3xBwEusYEQEQPcj3plunrlAYscMauYfcxd9IHhXgspGhINeU9 + qbIk4UBh50TyuCWBOqvQUE3Uatn6q4YD0neSrQgytr23jrjF2v+qDmLt3GnXuTrq + D3tbgQYSBPP1mGoSArN/1fjlmIvm1I5DZELM6O29dS5CJv+Yzwp0A4WeEKsDNZTm + yQht0zi3wrD+gZ9cV+owYLUS5t3GmOhc9jJghWpvsIFxzAm5wPJF1UF0mg9eUJio + 54jbyzFhZF+zUGNOgnunw2IZzWa8y3oGopO1EppDDUkYibkzwCaiKZbTi6leqB3S + XgHL7cHDxY7Fyg/YMLFLuWgznnQa2V8I9ahgWB7i0bTaW1JE7wrvcKIbJumsAy3L + Sewm0BSD9jyK44NcSpyB+gyU/oUXjE0puYevUDKrKftylfYFkFqKuUyG04/TyV8= + =vwPX + -----END PGP MESSAGE----- + fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + - created_at: "2026-04-27T20:44:48Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DKKbvh61jX5USAQdASLvFz+hXIlKfS7hJyKodObsde3uqN4KbWrpceqKanBcw + RqvYe59ADNnMF3vCEcfdX1D3GiLET6WeGyg9KH5cMP/cpiRj4jBDsIIuXBbHqmfn + 0l4BPQRvLsXVRacZbIbwvj/JxOA6t8cJVZfbOmHYiHuXXcQaSHRjCS/SkWU0fHuj + 0xckwj/khE81xzOkZ3UlgeBhP9ic9EgM4ryFYRdzkcL6qPq9UPxy9YM3S7BnZFov + =MhFI + -----END PGP MESSAGE----- + fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 + unencrypted_suffix: _unencrypted + version: 3.12.1 diff --git a/inventories/chaosknoten/host_vars/diday-staging-runner.yaml b/inventories/chaosknoten/host_vars/diday-staging-runner.yaml new file mode 100644 index 0000000000..6a09716112 --- /dev/null +++ b/inventories/chaosknoten/host_vars/diday-staging-runner.yaml @@ -0,0 +1,8 @@ +--- +# Just using the docker_compose host group for the docker setup dependency. +docker_compose__compose_file_content: | + services: + im-sorry-i-had-to: + image: docker.io/library/alpine:latest + restart: unless-stopped + command: sleep 3600 diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index 7bf45449ca..59252ab9bc 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -10,6 +10,10 @@ all: ansible_host: cloud.hosts.hamburg.ccc.de ansible_user: chaos ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de + diday-staging-runner: + ansible_host: diday-staging-runner.hosts.hamburg.ccc.de + ansible_user: chaos + ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de eh22-wiki: ansible_host: eh22-wiki.hosts.hamburg.ccc.de ansible_user: chaos @@ -102,6 +106,7 @@ base_config_hosts: acmedns: ccchoir: cloud: + diday-staging-runner: eh22-wiki: grafana: keycloak: @@ -133,6 +138,7 @@ docker_compose_hosts: hosts: acmedns: ccchoir: + diday-staging-runner: grafana: tickets: keycloak: @@ -251,6 +257,7 @@ ansible_pull_hosts: hosts: netbox: cloud: + diday-staging-runner: eh22-wiki: grafana: onlyoffice: From b6cec3ad61d295c832936c73109fff4e997bf7b7 Mon Sep 17 00:00:00 2001 From: June Date: Tue, 28 Apr 2026 23:31:41 +0200 Subject: [PATCH 231/417] public-reverse-proxy(host): use new public-web-static hostname public-web-static got moved to a new network and has a new hostname as well as new addresses now, so use that. --- .../nginx/acme_challenge.conf | 124 ++++++++--------- .../public-reverse-proxy/nginx/nginx.conf | 126 +++++++++--------- 2 files changed, 125 insertions(+), 125 deletions(-) diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf index 6cd53d3f32..1fa5b04eaa 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf @@ -1,92 +1,92 @@ # Keep this sorted alphabetically, please! map $host $upstream_acme_challenge_host { - branding-resources.hamburg.ccc.de 172.31.17.151:31820; - c3cat.de 172.31.17.151:31820; - www.c3cat.de 172.31.17.151:31820; - staging.c3cat.de 172.31.17.151:31820; - c3dog.de 172.31.17.151:31820; - www.c3dog.de 172.31.17.151:31820; - staging.c3dog.de 172.31.17.151:31820; + branding-resources.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; + c3cat.de public-web-static.hosts.hamburg.ccc.de:31820; + www.c3cat.de public-web-static.hosts.hamburg.ccc.de:31820; + staging.c3cat.de public-web-static.hosts.hamburg.ccc.de:31820; + c3dog.de public-web-static.hosts.hamburg.ccc.de:31820; + www.c3dog.de public-web-static.hosts.hamburg.ccc.de:31820; + staging.c3dog.de public-web-static.hosts.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; + element.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; git.hamburg.ccc.de 172.31.17.154:31820; grafana.hamburg.ccc.de grafana.hosts.hamburg.ccc.de:31820; alerta.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; + hackertours.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; + staging.hackertours.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; + hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de: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; + element-admin.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de: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; - spaceapi.hamburg.ccc.de 172.31.17.151:31820; - staging.hamburg.ccc.de 172.31.17.151:31820; + spaceapi.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; + staging.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de: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; + www.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; tickets.hamburg.ccc.de tickets.hosts.hamburg.ccc.de: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; - eh09.easterhegg.eu 172.31.17.151:31820; - 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; + eh03.easterhegg.eu public-web-static.hosts.hamburg.ccc.de:31820; + eh05.easterhegg.eu public-web-static.hosts.hamburg.ccc.de:31820; + eh07.easterhegg.eu public-web-static.hosts.hamburg.ccc.de:31820; + eh09.easterhegg.eu public-web-static.hosts.hamburg.ccc.de:31820; + eh11.easterhegg.eu public-web-static.hosts.hamburg.ccc.de:31820; + eh20.easterhegg.eu public-web-static.hosts.hamburg.ccc.de:31820; + www.eh20.easterhegg.eu public-web-static.hosts.hamburg.ccc.de: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; - easterhegg2003.hamburg.ccc.de 172.31.17.151:31820; - www.easterhegg2003.hamburg.ccc.de 172.31.17.151:31820; - eh2005.hamburg.ccc.de 172.31.17.151:31820; - www.eh2005.hamburg.ccc.de 172.31.17.151:31820; - easterhegg2005.hamburg.ccc.de 172.31.17.151:31820; - www.easterhegg2005.hamburg.ccc.de 172.31.17.151:31820; - eh2007.hamburg.ccc.de 172.31.17.151:31820; - www.eh2007.hamburg.ccc.de 172.31.17.151:31820; - eh07.hamburg.ccc.de 172.31.17.151:31820; - www.eh07.hamburg.ccc.de 172.31.17.151:31820; - easterhegg2007.hamburg.ccc.de 172.31.17.151:31820; - www.easterhegg2007.hamburg.ccc.de 172.31.17.151:31820; - eh2009.hamburg.ccc.de 172.31.17.151:31820; - www.eh2009.hamburg.ccc.de 172.31.17.151:31820; - eh09.hamburg.ccc.de 172.31.17.151:31820; - www.eh09.hamburg.ccc.de 172.31.17.151:31820; - easterhegg2009.hamburg.ccc.de 172.31.17.151:31820; - www.easterhegg2009.hamburg.ccc.de 172.31.17.151:31820; - eh2011.hamburg.ccc.de 172.31.17.151:31820; - www.eh2011.hamburg.ccc.de 172.31.17.151:31820; - eh11.hamburg.ccc.de 172.31.17.151:31820; - www.eh11.hamburg.ccc.de 172.31.17.151:31820; - easterhegg2011.hamburg.ccc.de 172.31.17.151:31820; - www.easterhegg2011.hamburg.ccc.de 172.31.17.151:31820; - eh20.hamburg.ccc.de 172.31.17.151:31820; - hacker.tours 172.31.17.151:31820; - staging.hacker.tours 172.31.17.151:31820; + easterheggxxxx.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; + eh2003.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; + www.eh2003.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; + easterhegg2003.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; + www.easterhegg2003.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; + eh2005.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; + www.eh2005.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; + easterhegg2005.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; + www.easterhegg2005.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; + eh2007.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; + www.eh2007.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; + eh07.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; + www.eh07.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; + easterhegg2007.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; + www.easterhegg2007.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; + eh2009.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; + www.eh2009.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; + eh09.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; + www.eh09.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; + easterhegg2009.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; + www.easterhegg2009.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; + eh2011.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; + www.eh2011.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; + eh11.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; + www.eh11.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; + easterhegg2011.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; + www.easterhegg2011.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; + eh20.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; + hacker.tours public-web-static.hosts.hamburg.ccc.de:31820; + staging.hacker.tours public-web-static.hosts.hamburg.ccc.de:31820; woodpecker.hamburg.ccc.de 172.31.17.160:31820; design.hamburg.ccc.de 172.31.17.162:31820; hydra.hamburg.ccc.de 172.31.17.163: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; - staging.cryptoparty.hamburg.ccc.de 172.31.17.151:31820; + cryptoparty-hamburg.de public-web-static.hosts.hamburg.ccc.de:31820; + cryptoparty.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; + staging.cryptoparty-hamburg.de public-web-static.hosts.hamburg.ccc.de:31820; + staging.cryptoparty.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; spaceapi.ccc.de spaceapiccc.hosts.hamburg.ccc.de:31820; - cpu.ccc.de 172.31.17.151:31820; - lokal.ccc.de 172.31.17.151:31820; - local.ccc.de 172.31.17.151:31820; + cpu.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; + lokal.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; + local.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; acmedns.hamburg.ccc.de acmedns.hosts.hamburg.ccc.de:31820; - diday.org 172.31.17.151:31820; - docs.c3voc.de 172.31.17.151:31820; - staging.docs.c3voc.de 172.31.17.151:31820; + diday.org public-web-static.hosts.hamburg.ccc.de:31820; + docs.c3voc.de public-web-static.hosts.hamburg.ccc.de:31820; + staging.docs.c3voc.de public-web-static.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 fb0d37a9c4..8145895f04 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf @@ -32,84 +32,84 @@ stream { 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; - hackertours.hamburg.ccc.de 172.31.17.151:8443; - staging.hackertours.hamburg.ccc.de 172.31.17.151:8443; + hackertours.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + staging.hackertours.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de: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; - 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; - 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; + element-admin.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + element.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + branding-resources.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + www.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + staging.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + spaceapi.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de: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 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; - c3dog.de 172.31.17.151:8443; - www.c3dog.de 172.31.17.151:8443; - staging.c3dog.de 172.31.17.151:8443; + c3cat.de public-web-static.hosts.hamburg.ccc.de:8443; + www.c3cat.de public-web-static.hosts.hamburg.ccc.de:8443; + staging.c3cat.de public-web-static.hosts.hamburg.ccc.de:8443; + c3dog.de public-web-static.hosts.hamburg.ccc.de:8443; + www.c3dog.de public-web-static.hosts.hamburg.ccc.de:8443; + staging.c3dog.de public-web-static.hosts.hamburg.ccc.de:8443; git.hamburg.ccc.de 172.31.17.154:8443; - eh03.easterhegg.eu 172.31.17.151:8443; - eh05.easterhegg.eu 172.31.17.151:8443; - eh07.easterhegg.eu 172.31.17.151:8443; - eh09.easterhegg.eu 172.31.17.151:8443; - 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; + eh03.easterhegg.eu public-web-static.hosts.hamburg.ccc.de:8443; + eh05.easterhegg.eu public-web-static.hosts.hamburg.ccc.de:8443; + eh07.easterhegg.eu public-web-static.hosts.hamburg.ccc.de:8443; + eh09.easterhegg.eu public-web-static.hosts.hamburg.ccc.de:8443; + eh11.easterhegg.eu public-web-static.hosts.hamburg.ccc.de:8443; + eh20.easterhegg.eu public-web-static.hosts.hamburg.ccc.de:8443; + www.eh20.easterhegg.eu public-web-static.hosts.hamburg.ccc.de: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; - easterhegg2003.hamburg.ccc.de 172.31.17.151:8443; - www.easterhegg2003.hamburg.ccc.de 172.31.17.151:8443; - eh2005.hamburg.ccc.de 172.31.17.151:8443; - www.eh2005.hamburg.ccc.de 172.31.17.151:8443; - easterhegg2005.hamburg.ccc.de 172.31.17.151:8443; - www.easterhegg2005.hamburg.ccc.de 172.31.17.151:8443; - eh2007.hamburg.ccc.de 172.31.17.151:8443; - www.eh2007.hamburg.ccc.de 172.31.17.151:8443; - eh07.hamburg.ccc.de 172.31.17.151:8443; - www.eh07.hamburg.ccc.de 172.31.17.151:8443; - easterhegg2007.hamburg.ccc.de 172.31.17.151:8443; - www.easterhegg2007.hamburg.ccc.de 172.31.17.151:8443; - eh2009.hamburg.ccc.de 172.31.17.151:8443; - www.eh2009.hamburg.ccc.de 172.31.17.151:8443; - eh09.hamburg.ccc.de 172.31.17.151:8443; - www.eh09.hamburg.ccc.de 172.31.17.151:8443; - easterhegg2009.hamburg.ccc.de 172.31.17.151:8443; - www.easterhegg2009.hamburg.ccc.de 172.31.17.151:8443; - eh2011.hamburg.ccc.de 172.31.17.151:8443; - www.eh2011.hamburg.ccc.de 172.31.17.151:8443; - eh11.hamburg.ccc.de 172.31.17.151:8443; - www.eh11.hamburg.ccc.de 172.31.17.151:8443; - easterhegg2011.hamburg.ccc.de 172.31.17.151:8443; - www.easterhegg2011.hamburg.ccc.de 172.31.17.151:8443; - eh20.hamburg.ccc.de 172.31.17.151:8443; - hacker.tours 172.31.17.151:8443; - staging.hacker.tours 172.31.17.151:8443; + easterheggxxxx.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + eh2003.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + www.eh2003.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + easterhegg2003.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + www.easterhegg2003.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + eh2005.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + www.eh2005.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + easterhegg2005.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + www.easterhegg2005.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + eh2007.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + www.eh2007.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + eh07.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + www.eh07.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + easterhegg2007.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + www.easterhegg2007.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + eh2009.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + www.eh2009.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + eh09.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + www.eh09.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + easterhegg2009.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + www.easterhegg2009.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + eh2011.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + www.eh2011.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + eh11.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + www.eh11.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + easterhegg2011.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + www.easterhegg2011.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + eh20.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + hacker.tours public-web-static.hosts.hamburg.ccc.de:8443; + staging.hacker.tours public-web-static.hosts.hamburg.ccc.de:8443; 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.hosts.hamburg.ccc.de: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; - staging.cryptoparty.hamburg.ccc.de 172.31.17.151:8443; + cryptoparty-hamburg.de public-web-static.hosts.hamburg.ccc.de:8443; + cryptoparty.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + staging.cryptoparty-hamburg.de public-web-static.hosts.hamburg.ccc.de:8443; + staging.cryptoparty.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; spaceapi.ccc.de spaceapiccc.hosts.hamburg.ccc.de:8443; - cpu.ccc.de 172.31.17.151:8443; - lokal.ccc.de 172.31.17.151:8443; - local.ccc.de 172.31.17.151:8443; + cpu.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + lokal.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + local.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; acmedns.hamburg.ccc.de acmedns.hosts.hamburg.ccc.de:8443; - diday.org 172.31.17.151:8443; - *.staging.diday.org 172.31.17.151:8443; - docs.c3voc.de 172.31.17.151:8443; - staging.docs.c3voc.de 172.31.17.151:8443; + diday.org public-web-static.hosts.hamburg.ccc.de:8443; + *.staging.diday.org public-web-static.hosts.hamburg.ccc.de:8443; + docs.c3voc.de public-web-static.hosts.hamburg.ccc.de:8443; + staging.docs.c3voc.de public-web-static.hosts.hamburg.ccc.de:8443; } server { From 5d16c7781c46eb7ffe3158df423f2128e3184ea8 Mon Sep 17 00:00:00 2001 From: lilly Date: Wed, 29 Apr 2026 19:02:42 +0200 Subject: [PATCH 232/417] Revert "deploy alerta on grafana.hosts.hamburg.ccc.de" This reverts commit b10d7d15929200a2be1b2e90b77125db710b1e1d. --- .../chaosknoten/host_vars/grafana.sops.yaml | 8 ++-- .../chaosknoten/host_vars/grafana.yaml | 5 --- .../grafana/docker_compose/alertad.conf.j2 | 30 ------------- .../docker_compose/alertmanager.yaml.j2 | 8 ---- .../grafana/docker_compose/compose.yaml.j2 | 21 --------- .../grafana/nginx/alerta.hamburg.ccc.de.conf | 43 ------------------- .../nginx/acme_challenge.conf | 1 - .../public-reverse-proxy/nginx/nginx.conf | 1 - 8 files changed, 3 insertions(+), 114 deletions(-) delete mode 100644 resources/chaosknoten/grafana/docker_compose/alertad.conf.j2 delete mode 100644 resources/chaosknoten/grafana/nginx/alerta.hamburg.ccc.de.conf diff --git a/inventories/chaosknoten/host_vars/grafana.sops.yaml b/inventories/chaosknoten/host_vars/grafana.sops.yaml index 720fb03e64..5ae794911f 100644 --- a/inventories/chaosknoten/host_vars/grafana.sops.yaml +++ b/inventories/chaosknoten/host_vars/grafana.sops.yaml @@ -10,8 +10,6 @@ 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] -secret__alerta_secret_key: ENC[AES256_GCM,data:wMdKZ4j5iDYrFUsCK5KXGiznPZTtiHHyB02WlFGK976ypcA/1dh6b1cX1UbEI6i1us6bUu8oFQ97gG6NlVx/Xg==,iv:oZCgPBo2Us2agTxwU6nMqhYlEBHxG9D9GL7WE6XyEg0=,tag:4DVDVGwl92xHjatsek4NMQ==,type:str] -secret__alerta_oauth_client_secret: ENC[AES256_GCM,data:516IlJUnLNV4+5cpcJJOWSEhrjpI62mnzgOG3IFt6tw=,iv:pEqqKJyxJKM3z/CoeW6Sqo4fDyXE8fBxtjiFe/4teXM=,tag:brilNcC2W8sJ+uUiBLZaIA==,type:str] ansible_pull__age_private_key: ENC[AES256_GCM,data:OITNx5IxnrtyNQKrLoY7WKTLYeqjGXHAZ1bkwSrHzqUxXKMWOAGGHQkK5r+poOgGkiYSulNLA0NMgdBkkv7/YRQiu9Kt2di6pt4=,iv:CWGR9z1/KfCVoOOicqfWBu+XXGs6fTXMbk4De4izjcQ=,tag:Qum6h0k2YfWXPyunqFsQKw==,type:str] sops: age: @@ -24,8 +22,8 @@ sops: SWxKVmNXRDI2eHpIbThxVmYyS0lzTG8KMXMSLt9GPyqUVI40bRVGAllelsa8vujl FIoTVzjokV24wGXAV6RL8OltWWF3H9Lr44w8e/K0KnzmIWVhyihoIg== -----END AGE ENCRYPTED FILE----- - lastmodified: "2026-04-24T15:16:43Z" - mac: ENC[AES256_GCM,data:X9IdO7KOW2FJtP87SpaFFsJ2kkaePtZ7dP1vKm+uYRpsxROWjmHd4k8hQw3ebYh2wXVYQ/fo7JH1RBKuOqQIRVGsKdit4jzYfEBS1GGH/aRVF/5QL0jBXzdrKecZazytEK8iY4y7PzdHCZZ53ZrEv63VRnesJIFoEV6Ti/UVmD0=,iv:Rxn4zZ7g1MNZ84ISvxFEhNnepTn8X1bgO5tUfEJmd9A=,tag:QGBnhAWNAf4BLCeYwtIW0g==,type:str] + 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: "2026-04-18T22:36:24Z" enc: |- @@ -218,4 +216,4 @@ sops: -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted - version: 3.12.1 + version: 3.10.2 diff --git a/inventories/chaosknoten/host_vars/grafana.yaml b/inventories/chaosknoten/host_vars/grafana.yaml index d60e7cbf01..f259ad7169 100644 --- a/inventories/chaosknoten/host_vars/grafana.yaml +++ b/inventories/chaosknoten/host_vars/grafana.yaml @@ -24,15 +24,12 @@ docker_compose__configuration_files: content: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/grafana/docker_compose/ntfy-alertmanager-fux-critical.j2') }}" - name: ntfy-alertmanager-fux content: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/grafana/docker_compose/ntfy-alertmanager-fux.j2') }}" - - name: alertad.conf - content: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/grafana/docker_compose/alertad.conf.j2') }}" certbot__acme_account_email_address: le-admin@hamburg.ccc.de certbot__certificate_domains: - "grafana.hamburg.ccc.de" - "loki.hamburg.ccc.de" - "metrics.hamburg.ccc.de" - - "alerta.hamburg.ccc.de" certbot__new_cert_commands: - "systemctl reload nginx.service" @@ -54,8 +51,6 @@ nginx__configurations: content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/grafana/nginx/loki.hamburg.ccc.de.conf') }}" - name: metrics.hamburg.ccc.de content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/grafana/nginx/metrics.hamburg.ccc.de.conf') }}" - - name: alerta.hamburg.ccc.de - content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/grafana/nginx/alerta.hamburg.ccc.de.conf') }}" alloy_config_additional: | loki.write "default" { diff --git a/resources/chaosknoten/grafana/docker_compose/alertad.conf.j2 b/resources/chaosknoten/grafana/docker_compose/alertad.conf.j2 deleted file mode 100644 index 2b5b2af286..0000000000 --- a/resources/chaosknoten/grafana/docker_compose/alertad.conf.j2 +++ /dev/null @@ -1,30 +0,0 @@ -# {{ ansible_managed }} -# https://docs.alerta.io/configuration.html#authentication-settings - -DEBUG = True -SECRET_KEY = "{{ secret__alerta_secret_key }}" -BASE_URL = "https://alerta.hamburg.ccc.de" -USE_PROXYFIX = True - -AUTH_REQUIRED = True -USER_DEFAULT_SCOPES = ['read', 'write'] -OAUTH2_CLIENT_ID = "alerta" -OAUTH2_CLIENT_SECRET = "{{ secret__alerta_oauth_client_secret }}" - -# AUTH_PROVIDER = "keycloak" -# KEYCLOAK_URL = "https://id.hamburg.ccc.de" -# KEYCLOAK_REALM = "ccchh" -# ALLOWED_KEYCLOAK_ROLES = "*" - -AUTH_PROVIDER = "openid" -OIDC_ISSUER_URL = "https://id.hamburg.ccc.de/realms/ccchh" -OIDC_VERIFY_TOKEN = True -ALLOWED_OIDC_ROLES = "*" - -# AUTH_REQUIRED = True -# ADMIN_USERS = ['admin@alerta.io', 'devops@example.com'] -# DEFAULT_ADMIN_ROLE = 'ops' -# ADMIN_ROLES = ['ops', 'devops', 'coolkids'] -# USER_DEFAULT_SCOPES = ['read', 'write:alerts'] -# CUSTOMER_VIEWS = True - diff --git a/resources/chaosknoten/grafana/docker_compose/alertmanager.yaml.j2 b/resources/chaosknoten/grafana/docker_compose/alertmanager.yaml.j2 index 382d4abcad..0689820cfe 100644 --- a/resources/chaosknoten/grafana/docker_compose/alertmanager.yaml.j2 +++ b/resources/chaosknoten/grafana/docker_compose/alertmanager.yaml.j2 @@ -9,9 +9,6 @@ route: group_interval: 5m repeat_interval: 26h routes: - - receiver: alerta - matchers: {} - continue: true - receiver: "null" matchers: - sendAlert = "false" @@ -76,8 +73,3 @@ receivers: smarthost: "cow.hamburg.ccc.de:587" auth_username: "alert-manager@hamburg.ccc.de" auth_password: {{ secret__alert_manager_email_password }} - - - name: "alerta" - webhook_configs: - - url: "http://alerta.hamburg.ccc.de/webhooks/prometheus" - send_resolved: true diff --git a/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 b/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 index 5ad46a1587..8c385005ef 100644 --- a/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 @@ -105,30 +105,9 @@ services: - 8011:8011 restart: unless-stopped - alerta-mongodb: - image: docker.io/mongodb/mongodb-community-server:8.2-ubi9-slim - container_name: alerta-mongodb - volumes: - - alerta_mongodb_data:/data/db - ports: - - 27017:27017 - restart: unless-stopped - - alerta-web: - image: docker.io/alerta/alerta-web:9.1.0 - container_name: alerta-web - volumes: - - ./configs/alertad.conf:/app/alertad.conf:ro - environment: - - DATABASE_URL=mongodb://alerta-mongodb:27017/alerta - ports: - - 8012:8080 - restart: unless-stopped - volumes: graf_data: {} prom_data: {} alertmanager_data: {} loki_data: {} mimir_data: {} - alerta_mongodb_data: {} diff --git a/resources/chaosknoten/grafana/nginx/alerta.hamburg.ccc.de.conf b/resources/chaosknoten/grafana/nginx/alerta.hamburg.ccc.de.conf deleted file mode 100644 index 7597c77254..0000000000 --- a/resources/chaosknoten/grafana/nginx/alerta.hamburg.ccc.de.conf +++ /dev/null @@ -1,43 +0,0 @@ -# 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 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 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 alerta.hamburg.ccc.de; - - ssl_certificate /etc/letsencrypt/live/alerta.hamburg.ccc.de/fullchain.pem; - ssl_certificate_key /etc/letsencrypt/live/alerta.hamburg.ccc.de/privkey.pem; - # verify chain of trust of OCSP response using Root CA and Intermediate certs - ssl_trusted_certificate /etc/letsencrypt/live/alerta.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:8012/; - } -} diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf index 1fa5b04eaa..93968b03fc 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf @@ -13,7 +13,6 @@ map $host $upstream_acme_challenge_host { element.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; git.hamburg.ccc.de 172.31.17.154:31820; grafana.hamburg.ccc.de grafana.hosts.hamburg.ccc.de:31820; - alerta.hamburg.ccc.de grafana.hosts.hamburg.ccc.de:31820; hackertours.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; staging.hackertours.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; hamburg.ccc.de public-web-static.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 8145895f04..843c094711 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf @@ -28,7 +28,6 @@ stream { 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 grafana.hosts.hamburg.ccc.de:8443; - alerta.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 69fcd2691e6fcf80ab1c31ae2f66b1e944e4c522 Mon Sep 17 00:00:00 2001 From: lilly Date: Wed, 29 Apr 2026 21:13:46 +0200 Subject: [PATCH 233/417] clarify some docs --- docs/create-new-web-service-vm.md | 5 +++++ docs/setting_up_secrets_using_sops_for_a_new_host.md | 10 ++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/docs/create-new-web-service-vm.md b/docs/create-new-web-service-vm.md index b44a6e5b44..bf7d65b9a3 100644 --- a/docs/create-new-web-service-vm.md +++ b/docs/create-new-web-service-vm.md @@ -14,6 +14,7 @@ Let's assume that you want to add a new web service `example.hamburg.ccc.de` whi 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`. + Good $genders also enable the proxmox firewall. 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. @@ -54,6 +55,10 @@ As the first step, we need to make the host known to Ansible. 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. +## Ansible-Pull Configuration + +Since you added your host to the `ansible_pull_hosts`, you also need to follow [Setting Up Secrets Using SOPS for a New Host](/docs/setting_up_secrets_using_sops_for_a_new_host.md) before continuing. + ## 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. 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 aaed515199..a0e8935cbb 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 @@ -6,16 +6,18 @@ Because we're using the `community.sops.sops` vars plugin, the SOPS-encrypted se ``` age-keygen ``` - Then add an entry to `keys.hosts.chaosknoten.age` + Then add the public key part under `keys.hosts.chaosknoten.age` in [.sops.yaml](../.sops.yaml). 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. + It should probably hold all admin keys plus the host entry you just added. You can use existing creation rules as a reference. -3. Re-encrypt existing files with the new key (manly `group_var/all.sops.yaml`): `find inventories -name "*.sops.*" | xargs sops updatekeys --yes` +3. Re-encrypt existing files with the new key (manly `group_var/all.sops.yaml`): `find inventories -name "*.sops.*" | xargs sops updatekeys --yes`. + + If GPG yells at you, follow the instructions in our [password-store](https://git.hamburg.ccc.de/CCCHH/password-store). 4. 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 + sops inventories/[chaosknoten|z9]/host_vars/[HOSTNAME].sops.yaml ``` 5. 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. From d9fc1ef4010a2af7d41eefafebbc5b2ff5157852 Mon Sep 17 00:00:00 2001 From: lilly Date: Wed, 29 Apr 2026 21:13:46 +0200 Subject: [PATCH 234/417] add host auth-dns.hamburg.ccc.de --- .sops.yaml | 7 + .../chaosknoten/group_vars/all.sops.yaml | 488 +++++++++--------- .../chaosknoten/host_vars/auth-dns.sops.yaml | 207 ++++++++ inventories/chaosknoten/hosts.yaml | 6 + 4 files changed, 473 insertions(+), 235 deletions(-) create mode 100644 inventories/chaosknoten/host_vars/auth-dns.sops.yaml diff --git a/.sops.yaml b/.sops.yaml index 3849354581..f668a4a2e9 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -38,6 +38,7 @@ keys: - &host_acmedns_ansible_pull_age_key age16pxqxdj25xz6w200sf8duc62vyk0xkhzc7y63nyhg29sm077vp8qy4sywv - &host_mjolnir_ansible_pull_age_key age1hv7m3xypesdfm0dfzwgctde8v307g9xaunnfu2687y0lagcs5q7s3eg0kj - &host_diday_staging_runner_ansible_pull_age_key age1522f3qzddm82w63j7ajdkr0khvced6ht7tzp3grvp0j3hewtvesssr5kpf + - &host_auth_dns_ansible_pull_age_key age18zgt4y2sd75hxnpe333zz39048ctxpr0q8a3uqh3jajjkyawsdrq8yg5ve external: age: &host_external_age_keys - &host_status_ansible_pull_age_key age1p546j6whqsyfkjuf674lawrnk2ex653fuvwhcwt46gkrspkq59sqzm5y87 @@ -202,6 +203,12 @@ creation_rules: *admin_gpg_keys age: - *host_diday_staging_runner_ansible_pull_age_key + - path_regex: "inventories/chaosknoten/host_vars/auth-dns\\.sops\\..+" + key_groups: + - pgp: + *admin_gpg_keys + age: + - *host_auth_dns_ansible_pull_age_key # external hosts - path_regex: "inventories/external/host_vars/status\\.sops\\..+" key_groups: diff --git a/inventories/chaosknoten/group_vars/all.sops.yaml b/inventories/chaosknoten/group_vars/all.sops.yaml index fc25dfe305..482de3a87c 100644 --- a/inventories/chaosknoten/group_vars/all.sops.yaml +++ b/inventories/chaosknoten/group_vars/all.sops.yaml @@ -5,383 +5,401 @@ sops: - recipient: age1ss82zwqkj438re78355p886r89csqrrfmkfp8lrrf8v23nza492qza4ey3 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0SHhPV2tlWkR3N052b29C - b2w2Ui9XOGw0OFV6SlU2UmVMaEdpbCtFQnhzClZaR216L0VsRkFxRmcvR3JZUVJy - eDFuRVpTYzV6QkhtcisrV1E1NktYWUUKLS0tIFVzVmliZE5TYlpUdHlLSEl5SEVB - UzBVci9zNGJMNDc3dFMrUWtPcG5SdHMKfCAdWj5685bbR50R+RSd6S7b4C72vqiV - elD/28Abm7ESlAz9pm/iKFqamyCg7m2Vp6Ys2r6ovwDOb5KMnR+n/A== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA1MEM5UjJTdEJpamc3NGxV + MHdsOGFVUlQzRCtVMnJCVnkrRGRET2FZZFhNCk5pdWpBRUZWdndraFNialdJNEcv + T1J4NjFzT3F3cUcyWU9GNlFlSlR3WU0KLS0tIEJqZHhsQ3FGcHJmT2NwRFArTWNT + QllFcmhFRWNHMW9wU3ZOaUM4bm44UmMKxpl5t6H6mUz784WD01MwLbqbVRnI6MGE + dzAftZGjZOQUgO2DWMyHJJR0kbmp0XP68AipBdfnh1DCBGZdmT6RhQ== -----END AGE ENCRYPTED FILE----- - recipient: age1gdfhx5hy829uqkw4nwjwlpvl7zqvljguzsnjv0dpwz5q5u7dtf6s90wndt enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA3T2JmOVhzcnlFOXdDRUx6 - Z0Nwd2h6bXh6bDZFUnRXN3hmak1kOE9JYWtRCitvOFFpU3VYMmZQUm5XZm1VSUpj - ekxISXRPQXYrQUlTbTQ1aWtOQnJoQnMKLS0tIGlvUURQK3NQWnNxc0ZTK21DUWRO - dlJ3UnpPWGpkZ3RPc3lMZ3hTeVVydEkKY+hjz62dxezXLiCxnIzDHu+AD+hPBntO - ZI7QFFKXnioS/xt2AVvqc5UxIleVbyxK8soPooYGKJ4wJjkVYk53qQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaOTViNi9tcGN2WERKM29J + R0NaeTdYRXVvZmo3eFlDRHgxbEpFWlUyekVJCi9zcmkyekxUeXhUWlM0eHhHZXpE + eDJiZjJJZjdITTFITlJhQVNoNm5ZV3MKLS0tIFA1OVU2UkFJV1kwN2dobXRZRzNY + REUrelZJN3RWRzdaVUVQTy9iL3cwSXcK4cDs3CPbh/7wNok6q421Qt/A8XaYdWuj + C6O16WbA7/OqMuPsEdzpvUMCXA7t8ibX0XuifOf5Ddfc2N8J2MpvEg== -----END AGE ENCRYPTED FILE----- - recipient: age13nm6hfz66ce4wpn89fye05mag3l3h04etvz6wj7szm3vzrdlfupqhrp3fa enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXeXlIWVNhdnRpakZaWXpQ - WGZxN29uRUVVQ09OTi9SZ0xic1BQUkxVVXlRCk9vUTJxWXdDekxkRDBKL09vU1lv - ZWR6eElpWkZmNk1DakdpWEJGR0VYdHcKLS0tIDh5c05MNy9aWXdGMXpBRUk0eS9a - anhYWnIxUGNyZDJCQVpEaDk4RTU1OUEKrEMfvOQsuhqKe6n+a/JWtxzhxmDETKR+ - tHZSOX6iOAYHOxB+wJLszzIEMZJ3fYO5lstz1PMeOvimMPPRODWo6g== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQSUt6RGloTE9WWjNLNG1V + Zks1eEpvTE8reERpRkR1ZGhIZUhqTnhaRVNRClNQd1RDVzR2cmIzUVNHYmgwRlFi + Y01temJrY1paTE01OUtWZGQrb016TUkKLS0tIEdCb2s4cE5FZ3hkbFJpSy9ZNThn + b2xuSUFhOU0zSHdBQVNCSUFwclFTNmMKqzaCRypoN6qZV6Z2wxazS5pdAZxNOG4r + dGjlX7prmYT3AeoM6Ez3QA6i6talIwV/XPUTA2BNBSya70P1rXy3WA== -----END AGE ENCRYPTED FILE----- - recipient: age1jtusr294t8mzar2qy857v6s329ret9s353y4kuulxwnlyy4dvpjsvyl67m enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBlTXV6KzVhZ29MOUx6RGlD - TXkrUWJ2bTZWc2ZHRFZDaFdCYUFLNXJZMFZBCnp6d2w0MzcrRDFqUW1CeTU0d053 - NXdkZDR3N2dwN2xzNmhNb0dmeXViRlkKLS0tIEkxYzRHK1ZvaDc3c1JUaDFDTlJY - aEdLdFdoL3NXMUhxblRvUkhoT2pUSjgKgTxyWIn5Ma8R/Q9+vw+Rqv7s0pGaxZz1 - HNKGBfsCf13SPjiiy4v7d2+a8GJLa9J6pDyKq0/Jg1OGMSKksK4aKA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZVGZkZ0V6S0xBSzNiRnk5 + ZjJheWNyTDFZbTlYbFJROVpNSi8xcTgrRkZjCkhWQW5KSnFZRTNYUTV0blR0NU5J + NlpLQU43akVxZ2VwYnA2THBOeWhVcXcKLS0tIFAvcXMxaVpiL1cvN0I5akE1UytU + NVpZRVFHTmFJUTZqVkN3NUJMUjJGNVkKSkvfZL0AuhQ7g43clsafTBMcPTmfaxc7 + ugimVl7J9W94FGc1JWpiNLKPElJrmBwfzWK+ymsSvqMnZsha2L0tRw== -----END AGE ENCRYPTED FILE----- - recipient: age1a27euccw8j23wec76ls8vmzp7mntfcn4v8tkyegmg8alzfhk3suqwm6vgv enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzZG1KZEgvMFVoUk45dWxr - N3h6bkZuMzJ5WnRFN1ppdDQ3Wjc4YTJ1aFhBCkdPSmpmRytKUVJkUjlpcWZaREpT - MzhGOFdSblpXWmV6eW9oVlpZd0lVWHcKLS0tIHVETTgvRVJFYlp3ellTTVVGbjJ5 - SnUvN0N3cytrMDJsZkRyczFxYzNFeG8KLzDzXx30xHBoy15NPmHlE49ZwhMWBEb8 - HWGjJKVsH4XL6u9C9pPc4ttN35KkW3SnYTe0O1w2VCMmMG8vOCCC4A== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQOXZaWGZUaUZObXlzbUhj + MEVxQ2pXWUhzdEdMVUpvMThSQWVDVjFZNVVNCmhlM1ZxNmhEaFdwclU4dFRXaWo5 + MkswbGNJVEs1bFN1RGxYVy9BSE1qbFkKLS0tIGUwYnFVbW5ZQnlxTkVJSDlTVlZt + d3NlbEpxTUw3UzRQUFNMMmVFY0NxSW8KeGHRbJpeM983lZ+dydLCh6m1KAu+GBjv + +WvXCS8zwNJAlWYrerEc9dyMdm8ziqWFWf+vdExvWw8W3V9AXunCrg== -----END AGE ENCRYPTED FILE----- - recipient: age133wy6sxhgx3kkwxecra6xf9ey2uhnvtjpgwawwfmpvz0jpd0s5dqe385u3 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjcXhYcFpiUDJ6Qm5TSGFT - N1QyZEJXUEdtdTZoUTdVeXhFcUVvVXdYbWtNCi9RbytrM2laS0xYUzdVSk94TS9n - eEI2MUlZcCtqckl2NmNvdWNub05mcGMKLS0tIEpVc3Q1R0JIcTJmYnBOTGRiK01n - YUZlNjh6MkZoemROLyt6bjZrMisrUWcK2xLt4YKc9N9uWoNuvEf7XrgNOBeYaUpw - 0nW5Q9jnQgDxJwl+Gs2uCgsSP8pB1pJYxdoiHZ43yF30GTAhlqNIiA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYa1laTUZLMExaYVdWcGpF + RGVaTXJoWno5UkxPaytRZHBoWEhzMnB2ZFdRCncxT1ByQ09oNmoxVFh6UTFrVVRq + allLSXF3cVpjVGp0VE9QOExyVEhPL1UKLS0tIGx1SkJrU3NhVUFLdW5UY0U0UmhQ + WjUvTzE3T0hzSytuVmlaZDVlV2VjTUUKbpqnjckJ5IhUDA5JDCtPn9R5bbtoj529 + A5LgDR7jQxncYugKgS8NEn3W9jn+qir0QCfA3/SCQXoCIphgMqCG2w== -----END AGE ENCRYPTED FILE----- - recipient: age1na0nh9ndnr9cxpnlvstrxskr4fxf4spnkw48ufl7m43f98y40y7shhnvgd enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtNit1YmkzSlRxak1XNk8z - OVZUS1lUeHlQc3dxZXczelBsMktXVjhWaWhjCmI3RGl2VEtQNjhoM3FhbTNUTExv - RTZHdjlLTHdzN2V4SWk5RDIwbnhGK2MKLS0tIE9VMUFhY2JrZFJ3MUFxanZnVVpr - SjVuNmNJM25wRjB0RFk5NUVpN0FidmcK3hjlhkN3ESTn54/CP2QPanwfHTELS1hj - J1aJRmmpmUcwK2SmiM4BOBjN5BWopT/9hz3J2h9JlxDNnAg8amLfqg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxTjMrc0ExT1dLNGpaZzdq + UGhSTlk1UTVrUWtmRzJNY1JVN21vOVh4OUVJCmJWU0xhb2NiZG93RG4xUEFManYw + RTgrSjZ0bTdzaXpENS9VbWlLV1R5dzgKLS0tIDhMOERucG1mSTFaL2Z4THkybEI5 + L1ZSZlJwTU1VZWpOM3E3K3JpeUMyWlkKEO6owT1gMaOQrbIy7xPZxSG1KwD+m5Rj + NYZEKIS79ULKHbMx5hW8Lz9KWOFtMxBt6WlIOgE+CUu+FJSt44EgTw== -----END AGE ENCRYPTED FILE----- - recipient: age1sqs05anv4acculyap35e6vehdxw3g6ycwnvh6hsuv8u33re984zsnqfvqv enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTMi8vUUlZTXdQQWk0UzhP - SkV0eEcxeUtLYU5IYnpBbmlvdnJadVIvRFRFCjE4c29jMVZ2OHhtU1hjRmU5RHY0 - UnpDTWRHaXFOMnM5bDdXZ2pKc1ZyancKLS0tIFFmUEE5amtQVm1ubml4Yk5EVkdU - SjcxVmpzYThJcFVpK0lFZysrVktmM0EK3kQd5WC+rhBhaM8r1qU/a+Ycg91xtyLb - PHMkHu36zdZZDy8FHF10XBATR8Wl7CK0SPiAPQy96kFMtlOdbNPUdw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHM3NJS0IrUjJ6dmVFYlVR + TFRvTkFpYVpoaUFkZTc4VjN1UXkyTjRpYXpRCmh5SUJZVEZMUjRkRVFGcWJDZTNo + YU5pbmV3Z3lML0x3dUp2cmw4REFVMlUKLS0tIER2cVhQOTlMME9LNmpIYnI4cmlt + eDAySGZEK3NvOXY3OGxoU3BTdER4MHcKSKUdU4cBePruQl7gksmrmc+gSPxKUixO + 1F0sJo5kXOxI3F78XBS1Xt0LwC+Tbd4w0jfdevNaC6MaRv/KdsX7Pw== -----END AGE ENCRYPTED FILE----- - recipient: age18qam683rva3ee3wgue7r0ey4ws4jttz4a4dpe3q8kq8lmrp97ezq2cns8d enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBRZWxTOC96SUtua2ljOHlH - dkFQZmc5YUpmLzkwc0xiUE1sSHQ2b0ttaURnClBIaWpaVnlxUU5Yc0NIZjBHZmkx - dzhRVCtob3RPOVp0anNxM3BnT2MrVVkKLS0tIHlTTXM2YVZqdUZSL3lhQ0tLSWhl - aTVSK3ViOUY0QUpBaUdBeUtWSllZaDgKoPeOtwkrjMOvutf8/gaynNQ/sGyhbf3H - MVGkg3N4r7w1zRW6gqlQG8fZfGXpF6vdU7Jaxid8Lzy7+k1FLyuShA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3cFQzK1A4UHNmNE5YOFNw + RkhMYmo4bG5BY2hPcVlNMm5sTkNpQXJqNlU4CnFBL3p0a002K1M0cmtZR0tJb2lU + c2xGMG9JTmZYclNocUFIc3ZyUEdPYzAKLS0tIEFtU0E3bUFxaUk5VmQrSFBUSkhH + K0lHMDArMHJ5OGFvbWlqMmZUMkROLzQK6zk6z19K2r7LriD4qsvBEuof75aHB38V + HKNmlY4GuZZhrRXt/itNbXrW3oIKJBFgsC0ejv2ybVRqC6gXCcjqyQ== -----END AGE ENCRYPTED FILE----- - recipient: age19rg2cuj9smv8nzxmr03azfqe69edhep53dep6kvh83paf08zv58sntm0fg enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYQkxLdDhDRDhkZFIxbUU4 - SkpTSTkvL3JUMENKR205K1BhaFlRRnJjOUdjCkZROGl2UVZ2clhibTBMamhkZ2JP - ODFnbzMzRU5XOVF5ZXlDTnVlcFJ4Q28KLS0tIFp0NUxHajN0b0FJWityNWcxaWNZ - QTZnUFhoWmZkUyszQnRXQzlxS2xySW8K8Mvfv3RkpM9e8U5lERrcF8GgU8Q16JlG - +jW77k3VQ00fpk0+/9Nc/cgV8bkiMhSzUkYRzffx0XIw7CMwRAGlwA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAyRWhvMVpQNlVWS08rK2FW + VFFlMzB6NWU2TjlSWDVYNW80UUNtdGZRS3lFCmg0dWREejZIVmdDV1p3QWJTR2pZ + M1JzNFlKOTcybk5MRmtHalQvRTZRSlkKLS0tIDhTangvbkJmUnpweXZLcGE2eEk0 + S2xpaXVySWRWRzFOSEw4bU5PVmxQZ0UKRxqXH/Ye/MTS7DviOf/5SeOKH+QIC5zW + ZMgnwSkO+cgdpecOQKcy3UlrjKuKsll9Kf1JyUV203IBP9LIDgweqA== -----END AGE ENCRYPTED FILE----- - recipient: age16znyzvquuy8467gg27mdwdt8k6kcu3fjrvfm6gnl4nmqp8tuvqaspqgcet enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBvSmMwVE5qQ3BJa3hYOGxq - UVl4Wk1NNTN5M2tpbnM5VHpWOUtWSU5WT21vCjNDY05idDdSY2NqOVk5NGF1bzRm - RmRhQ3ZCR01pcFIzc05peDhXV29oRkEKLS0tIDk3UTYvRDJiUDRwRVppYzZnNUxW - QVdwWVlZR3BaYXZqQ1JSbjkyYXpNQkkK3/GjFCrR2PSNbKwIQy8OrVTCPLtSbaOR - npHyCDzER4X7eQZGIAleMe2R0UEd2330aUzk/Fw/Kdn95I82t8si8Q== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSd1ZmMTJLVHZCUysyUmxT + eGJleXlvd3VjeGtNODM3WTJ1N3VzN1BxSkRZCnpXRDBjMytoWG1mMWtVZVhUTE50 + RC8yK1NJUDEyeUptS1lFUTVHRllVTWMKLS0tIE9mNG4yVXd3SlNWbTMwYmZQM0U0 + Ym1zWjBmM2pJS3BuZGgxZWI1YlJPVTQKdRZOyOv5OI6Cx327jHr+7/Oo5RXTjWZK + Ysq6GkZ6EmZjYtkTkRGwygrGBB1qi8KYFFkbeDu5jvAH7Dpcm4DhZA== -----END AGE ENCRYPTED FILE----- - recipient: age1azkgwrcwqhc6flj7gturptpl2uvay6pd94cam4t6yuk2n4wlnsqsj38hca enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1Nys0QWFqbTlHTHpQWWhr - TjRQMWJCYWh1bDNBZ0Y5aVc5MldkTDhKU0dJCnk5eVN3Ymg5UnZQT2FHODVPM1ZQ - Z0RMVlhZb1phaFV4eDVJcTRKeEFEUFUKLS0tIFpQcVZraVlmT0dGWms3N3JQNFNr - MEtwTStHQ3RJVms0TEZQdVZxOTI4eVUK2DUI6QPKg6T28ENK4ioL366Uj4coCGyy - aBiVa4RZybTDVv7LHtLfPK5wjFilasn+lnXCnX8BRmq9o0GYKzBZLA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBUVzF2dXhGbVVOd285ZEZs + T1pFYVZCeWEvNndDdEpJYUIxYmZ0bUkxa0UwCkxLelVaQjZBbUJ3UVdxVUdVVC9B + WE9DRUY2MXRBUE9jQ1YrUHRXRjdIVG8KLS0tIGhXVnpVUldSVEJXWHRxazFuUTR3 + V3BSZUNET1hKMnozcldKa2V0MEdGdE0KwOHKLQLnMXjn10K61ugzms9XirG40JXU + J4s94r3/ZG4xwwWGYPn8f+dExTz8wwuclXtHg1sYCgWobM+yUjXAmw== -----END AGE ENCRYPTED FILE----- - recipient: age17x20h3m6wgfhereusc224u95ac8aj68fzlkkj5ptvs9c5vlz3usqdu7crq enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSByT0xtU1ROOVFIYk5CWlZL - UW9sMzUycUg2d2Nxc3plbWhUUExFQ29GQmhJCkdSTW1Ecm1CT3hzbmdSZGRWeGo4 - NVR0UUJhTzZFYXlReHpacjQwWDRVbXMKLS0tIGFEVzdXN0Y0d1ZUWk1CbWd6ZHpl - MTJFeFFpaEVRMk1UYzhYODZBSmE1YzAKisxJBfcR3HBiIuh1e1wxKJ50kyJ/CotS - 9up/2t829UCKAHbrGQZgsZYdpw7Mv5DiD/lijoel3s+mNGWnTU48bw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCalUxVVc5R1hLUS84YkRB + U1psWFBEVEU1VWlodk5pQnptcEJMeE5HR1FnCk1lU05JUkhEenkxWmxqRzh0NDdk + V2hERUxyUXRVbUc1V0lNMlZOTENSeDAKLS0tIGZLVzRTc0h0dEJsU3VuK3JhL1c3 + SVZRajBBMlpVQkxDT01ZZVpnOXJSVEkKfTx3/lg5iRx/vO2QA8KqX+sukU5HsgTF + mqmGJEm9lFaDWJ8dVipNd9pNm3J+Srv2CEnPpOTWduG5JuyZ/CcboQ== -----END AGE ENCRYPTED FILE----- - recipient: age1wnympe3x8ce8hk87cymmt6wvccs4aes5rhhs44hq0s529v5z4g5sfyphwx enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6VGxYM21XVzdjRDQ3VkZS - cmhoMTBVZ3pzck9hSnVZWTZVWmFGZ2VnZUJZCjFRakcvcEhoUjY1Tjh4K0JOcS8w - N2VobHRjMU1JWDhPb3Jub0hXY1llZWMKLS0tIDFpTFEwUlhwNm80WWk0SkRLc3BZ - dEVua2pBYXZnRE1tcUpYcVBGbFMrWHcKeyuhXl++Z9PLbiKuHPWQV0xn1WveVdqS - AFp2kPeYs4/EYUxBJUsPQV2Rg4mmfa6L/hxYyFm/TzYZvzRiuMMaGw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB5WktEQ3lvbHFzTDlYdTBD + NjVhVjVOMTlkWEdjVldxYWxSaFhTditBUm1zCmE5Qk11ejRPNFlLMkpjUlJHNVBT + K0NoWlBMSHc1VlRaakk0WmRpd0NZQ3cKLS0tIFIxK1p2YlY4SkNkYVJjQmdGUWly + QTlmTFlZdzI0LzBqTG1sZkh3U3V3a0EKxZIc6i3mMSgYs9FNmZ9cVBaeYeq04vUe + IjhnwSc02E3hWtFt9qqhhZ77th+HFYtFq22RnQEt69djrjji19R5PA== -----END AGE ENCRYPTED FILE----- - recipient: age172pk7lyc6p4ewy0f2h6pau5d5sz6z8cq66hm4u4tpzx3an496a2sljx7x5 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSM1VIUlh5WHY0RlZDL3Jh - NmNibUhBQXdUV1BmZ0liMkdVRHB1dTJPQ2w4ClhxUUpZTkh6Tkg4OWJ3VXdVc3lD - ZUdncCtqY2hwMUg4QVQ4N0NJQ3BvdU0KLS0tIFI3YU5PR0xhNkFBNkNFY3FzNHRX - UEhsc210OFREbmlvcXBZcmpBY2o3Y2MKDmwNbEgi/tNQ6KoHgWiZwZo1npxBhrjX - I341yyaCvx8r8cxgAZ2vyTOjynNUV8wwl248QERAa6U6yVW0Qb8puA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBSlhvWWRiM2k0YXY2Qnhq + SUU4TzJ0WGRlTGpaZkNiTDNoZThkR1k4aXk4CjZvZ3FJM0k4cGVzemQyVjVScGs3 + S1hZeWdFS1lKci80QU5ySUkwRDJTejAKLS0tIDI5VEZsT08zOWszcU9OZkJpMnYz + MDlaNlg5eEd5a0R4SUtRVloyOHBzVDgKQA7hnBQ5rbWX8Leo5IMF4R13gEoH3zDQ + gpQZw0N1GHmb0+OimEbK0Vkx0kc+/8MDYk0EDhN/dbIOyrR3Ms8InA== -----END AGE ENCRYPTED FILE----- - recipient: age1p7pxgq5kwcpdkhkh3qq4pvnltrdk4gwf60hdhv8ka0mdxmgnjepqyleyen enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBleUl4TlF1Y0pZRFFONk42 - OGZjVkJNZktUV3hyaXBPZ0FTaEFHSDdib0FRClJadjB2bitldmxkSTVyaFZxL1Fr - Zng5S25JdWpyWnRtMWNVcllMYXFnV1EKLS0tIC83U0RxU0FNRHBKUkxnVWxSeGpp - TXlQNGs4K1pMdWEwRFJyaUU3aE9KWWsKxHnQTFW4XGaRuOsS0W3bO7GC8xZr/D8U - /UX7Ggo0BP95XM7VXrsGYzXReOp/z4qR6iEtF+CL9ny832VAKM8LUg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBVUjhKVTU5Z2RIWXFwS2hV + UDZubXp2c21uaEw4b3U3am84YWlDZ1J3cTFrCmwwb0QvazRPNm9MZURjWHBDVkJl + cElXeTJPVC9ZNURTMUx5RE8zZHMwOVUKLS0tIGZPVkNqVHIvbERqYUpSRDJGaUdm + bit3QS9DNTdRbVU0Q1NOUmxDVHFYVGMKWcQe0q71BY9dzpxZ/C3un7nsWBU5wuNN + pZVxp7SU9nZnz2L2VjQVJ7s/kLLVJsPCPglPIq9dvzsQgZJrHrfEng== -----END AGE ENCRYPTED FILE----- - recipient: age1sv7uhpnk9d3u3je9zzvlux0kd83f627aclpamnz2h3ksg599838qjgrvqs enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYSjNiNUFIYzZvL3o0RUl1 - eXFhWXcwai9PdlB2R3FYRjNON0RVZWxmWWs4CmNqT256bCt1cHhNSGIxMjEzRVg1 - N1hoeS8wS09kQUNVZ3hyKzgxTDNRRjgKLS0tIHF5a3FrZ1F2cVc5Z1NhZ1J1U2Fa - ei9MQVJNN3NCUG4za1dPaGxQOVRsSG8Kx/ygS7jX5xB6xNi6YEjJU3sY/BiZibMi - 5Ajtu3gzB+U4pJyOBGS6wIyvCwgNjVGmjTaIFSb4CDWUsXBMG3jkwA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBOaVY1T3FBSWRGOHE0cHRl + K3VrdUduZk94cFYySm5wZGhucHNqd3d4UWwwCjJPT1RxMW9yOHArMVJPMWdaQ1hx + clJ6UjBuRUtnWkFhQm00eXZISnhsSlkKLS0tIGYrY24yTkQ1QldlMnpPZHQ2c3NY + aXZzQWFZT1ZxSitZUGRtVTNmNC9yYnMKP97sFS8CVxEwRyHEDLhox33p34tn4it+ + yRDs0iXY9GEzPnfmH6S1Szh9jxuLbKW7PB8pEPV4yiuGoHLEWyritQ== -----END AGE ENCRYPTED FILE----- - recipient: age1dkecypmfuj0tcm2cz8vnvq5drpu2ddhgnfkzxvscs7m4e79gpseqyhr9pg enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWcEFRL2QwQmkzUllyWmx6 - bWpkRldOOHE0QlUwa0w1WWJocVBITC9GV0FJCldTN1hkd2F2MFJCMkZlMytKa01l - WHJaOEFQTVAwUzUxN2tIYmxqMDVzVjAKLS0tIGhmUmh6ZzBSblFOL1FaUm1HWlhv - NnFVZG80ZVc3Q3djWkh1YnhOS2ovSEkKlAq0Zv+U1oMt5jm+BKf3Uqv7IoOIRDs7 - mqn2va/EjuJoglqr45eq7ipUctg+wg5ijXI6OfANYqUaSnIaoTsPhw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXZE5SeFBsZlJBWnFRNGlS + Q2dCcVhuZ1ZkWlRPUFAyMktRejBsVWJrNjB3CklMa3JwZnFpRTZKa2hRRFRzQU81 + eEpkMnkxZzFFQ25mVTQ0ZTRkZWhXM1kKLS0tIDU1STF5cC81U0d5QkE5SzlQNERp + c25qNUZJbEt5Y1NJTVR2TEtYeXRMeGMKIMFH9xzPuM6twDH9d3rKKjzbruH7xfot + Dkiknuqv+7iw3dVJKNGiadDh/AMlE7M6lfF9OXhUPHCaR8E11DWSJg== -----END AGE ENCRYPTED FILE----- - recipient: age1mdtnk78aeqnwqadjqje5pfha04wu92d3ecchyqajjmy434kwq98qksq2wa enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBvTGdxbkkrcVdGQnYrOXNL - SFBUd2pmMWFaeURLeWJobTJmZU5qNCtOb1dRCjhVSFhlWldmbWJTbG81NTNNZHZC - QnZibitsWWl4eUNneDMzUGVLb25lWWMKLS0tIFpsM1ltdEJ3U1ZQTzY5clNTTDcr - ZE5xWDNCalhiRnY2WU9oZFI0b1VLWnMK8pOimnXZLgkKgf/meqaJBQg8wVU5E50D - k+LN9oZxB7SOunMiQHUROPp/ib1OBlWTcuVVj8pRb+sLXd9SV26hSA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxY1ZLYndkYWtjb2xHc0Jn + eXpLUCtVRkdoOVhZR1dyeUw1emk1c1ZCd2kwCjFKbG0rbzVCSmZNQk5JbUFlOHpj + aU1JVlJES3VZSnlkWXowQmlFcDI2dm8KLS0tIDlqZlNWdURNdSsyYlVtTHRaTkIx + VmhvU3crRHpSSWRKN3hlV1dZcFplUkkKGjNXgrwypJg+4dY7C0UdWyAl2whALT1B + GvqovLzd2nGZAvqFNdnlf7o0OUgSjsPG/PuYkWARsWEd8Dm1wXqmiQ== -----END AGE ENCRYPTED FILE----- - recipient: age16pxqxdj25xz6w200sf8duc62vyk0xkhzc7y63nyhg29sm077vp8qy4sywv enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBFNUZEVldoRUNqT09jRU1v - VGxjbUxFOFZMNTJVZWtrOFcrY1FxTURXaERZCk1JWWhySXRJU01DU3piNUxZbkNo - MVNVb0ZnbFBUNm5QLzlDRmhFalc4MTQKLS0tIDlKWHF0eTRiczh3T3ZVNlJCZnZo - MXZKYUx4eFpOMHE0WEJNajVOZ1YxNG8KDYWpoRRq507hXclxh09Hc+qTHJpM0hW9 - NwjyOJRT1HLAdSutL8I9GaNpGGJBNizouO65BfJp0eVzqK4GKejMOQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYVFlOWUtRNWZXcjBTWXFu + RXkyVzlVV3o1RzVpcWNPS3NtUkNZa2ZSL0dBCkFRc2RLQzQ5RE1zOU5aYWdXaHZF + dk9DTnNIdUdINXRyVXB3QW50TytsUTAKLS0tIFhxcU9Sa2xpbkdVZnpXR2ZyaFZ0 + ZHNISkJpZjBDOFJFVUowWXBmUW9TWlEKs9zAz2NrkZ4liwtt+Exrlm5xhdLMzxTO + AUxkfeGAGFFxB+9erbUs37PICrGNtcN3dw+hD6UiCEFb7fPg8YFrVw== -----END AGE ENCRYPTED FILE----- - recipient: age1hv7m3xypesdfm0dfzwgctde8v307g9xaunnfu2687y0lagcs5q7s3eg0kj enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3VXZhdGlXa2lRa1JrV3RG - cjl2LzB5SllvSERWamthMHV4OEpRQ3VsY21jCmpyai8zY3FFa0ZBK2ZCSWEva1lZ - bTdQWlNDaFUzbUFPTVhsTDFEcUR0QWsKLS0tIDVPM1F5UzdYSnRnOFhCaVF5ZUJO - ZHZtMUhjdlJ6MWM2OFBod2ZmMkdZcFkK31PoSqKZi7/Wdn/g9VYuYY93McNFqgth - yJjSr6P3vzrOXRewdSwT6BsnTiJbcV0MXSRp3EN+8/xA8IsPg4Of2w== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2NVZMY1BkMTZDUFpjOWtr + ZFBQN3M1Y0JEdWdkb1dsRyttSUl1YmQ3ZXpFCnhSQjJkYm00QXpXdnFidFNGUUNZ + OWdiVFRUcTZiZFVVTENxRHJ5QklXQTgKLS0tIFpoNU5tZ2dxK0pTeXRWWlVQV0NB + VFNEZU5JOWJEd1pLNmlKaExUejV3WWMKuaPoDZOIe5WdLl828kf4rsZiOQcQUqEA + S9WTYVl20MUJrzPUS3mEksD4O7F+9QE0Krkb/eO4pgXJVvHpdgNM2w== + -----END AGE ENCRYPTED FILE----- + - recipient: age1522f3qzddm82w63j7ajdkr0khvced6ht7tzp3grvp0j3hewtvesssr5kpf + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBIYzlQY1VvVkJhYlFYTXpp + dUkvRUhFRDY4Z3UzZm8xaFZROFFTMWZXRGxvCjBmV1V4cWx2VmdpM0sxMHNLazNX + ODJxdXVFVnJULzdtcVBoSVhKM3VNRXcKLS0tIDQ4RHRiM0R2TVFmZEx2Sm5xVVdF + NVhjV0pUSzVYVkJ4NHRnYm0yNzhBZk0KhYjZ5APXfIDqfYOyFWv81Cm0cBP28s23 + iWl1+LNZXopNgiZSPY9YTri5QjfrzdjkmzoxcaGwCo7Bg0tUDL16Cg== + -----END AGE ENCRYPTED FILE----- + - recipient: age18zgt4y2sd75hxnpe333zz39048ctxpr0q8a3uqh3jajjkyawsdrq8yg5ve + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBmcWJpNDJJR2JIVGx4TGdw + VE80RFpSNWZUN0VjZDI1Y2dteU12V20zOXlRCjd4TGM0cVFjQ2RZbEhEcjQvTFc3 + NHFWY2FmVjJ2M1ZXOTAvRWo0ekRWZEkKLS0tIDNpM0VlaDlQS0dlam1ieG92YkRB + VnN3T0Q0ZlphS25BMU54VGxnQ0Q3c3cKoQ9JoBb+6koGebDUa0T5eQZ630UqRGlv + RQs07A5771zr63BzivhXVxu2+oMMKQqt/qThCvUxPP66p9R1164fbg== -----END AGE ENCRYPTED FILE----- 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: "2026-04-18T22:36:25Z" + - created_at: "2026-04-29T19:17:31Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/9H8/E+EwjeR9e4MHSsRfSMO+2KZ/9IYtAFojKfMiaOJFJ - QXFsJf4cz7VFfYC1NV+hhEWPjT4tSXHxP6UGmnrJkHk4jW12LprfSo7qOJ/2xajM - livtyzp0DDA5NpetgLxGe/hEEmpblzZgjSblqfvRZmcpMIbO4AIf8WpJJ+fMk17Y - /rts8soEDOuZTW+nybiNEfcPyLRUj9FKnFgnVB57C1sjdPlJeKEzHqV4wVfeYRw6 - Xb/5sGpXfxvoJpEm9BJjnocK3npRWIgJylxf6NqTYkaI2AS5s4IpaM54gYNIRv5B - EBJCnsE86C7hC0Go3/xLqvoRAGcUFC8x9mEWywZVjf/cXzzoJvpRQCQy1drCSnKM - GwSUDSEUUOQt81pRqH2Do9lhHWK8pW6gPBfepOnVI4iRrPmEjQzmDF5bYWZWxj8e - zvfwa34Upd5j62P6LtQLUatyMGD04XRrzRVmrgKhb9rius8jHS92GpcLd7UNXc57 - sux1sL2VRr5RMiQsD7/Bxili9fZzdTZdbWNY3j/hRn5MrzwxyYlCG8ujDxipdmlu - WVP41B3UVFgSnC0QNJ2Vx5txBnA4MtCBv9+QO47kiSE4vtXP7qp7oCNfJimeuG8v - kX64oPDHr9A132U1iG7oggxdb/j0fXCovkrodEpVZR4kg8Okwo0cYiMsqUP8xZjS - XgG8FxHP57wVhTy3gOfBgbeCWwjW62AO5fdRzCXXJ2cvoM78XmNm1JTIWR1sEhUX - TK6aiYi2VyHOZXlv2EsP5yPSN/piatD2xa1XuaHOQ47t+vpXvEHDu418TtDRo+k= - =mvkT + hQIMAxK/JaB2/SdtAQ/+PyJYRRxBL+4dr+CY+3hEplzkqt4+LYgjtKx4z1fCOLKT + d83AjsfdM8ddJtNdh/Xg94WYZ6en2d7rgVtLs+Jxpfohb4Nu6KSWDpcJyuqLaHTs + cGstX+nVdjN0BX1yis1HE2wZAtKOZo+g4xuY8CYHbsjML5NyWNwE3xmd3oZbtsy2 + C8myY9aHhPv0ujSIp3fXF0KNg6SDaHyNfnZzCrPHX+HQN25U78FPg3mjuFVmymFc + UwNMbjoCTZg62bd+oS3b06hCc4XgCS1K81rIj0yzbUT1tDFVDkJLuYLPzS8nNq/T + jBGJnpYD/S6PP9l1GqIzkfDl+Qnos3fXCHV0uNFGGrz6FWg3Q/lunXACqgD1+v4r + z7ez1FgVfVB7ixzmhfV0GOwkWDAhvoKysMhURowxDtwYsSOg9gVRYvZuXcRxCo7N + nJwKrzKPPL89no01Uqas2Nxb6z/NAer4n1bOH6mAWmOHrCL8vug7M86W8sH8edBZ + C/z/0UWj0oji6fKeORPN/HATgvu8HAycDOnBp+V1aZW+fsTWBALCvlXPQiIMw8E/ + PBeXr8QFIbP8T0CT4NEsPDFHr/bBV8WgELyxyTnwWCK+G56MASu+x+3Hd9MJ6BRS + 9krN2hnN3N2UlnsYn8Yg5noeQCNmpk299DFXOlp3QxVFAMUIFa42khBf+a3rmm3S + XgEq1uTcD68eOVeW1ovC9TlBilq08ScqE1lImS/RtTa7qsApqxzjTkz+zTtOlYuB + w38uH9haJOOLL1ZIPjS6ZUX4mJscXRWzA/j1yZpGmEbg9YnxkAcfaN7PB29ref8= + =5qlB -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-04-29T19:17:31Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQgArO3p3hIK2TDgq6Hm6BAz9q5KSKpmLynRTUk7x8xyrgv6 - fjiIVf6PnkPST8sl4Y18cotLIIEI2Qqc70RP98et9ROMiyp3uFrgb30bPlQVIJLl - 5oobFHa0om8eiqal9HV9WmC+bwBD2KKFzry1rjYAJ681mvWBkNijIoSQBIdMMVPN - CTPqIiNhHt9yz+XMGO44+RillA/i9GDrd3G5pQl+NyZinr2GClBEt+gf6oR9YJMx - pN+PZ0+V8hjrKkjvPlIkE+GLZt75oTNeYmdTjQu2apA+Z4G8AZCJNZb6o8aYeuzs - 5ExPFWLE6xj1ZSh92aRJ1uokjS87M9+5ME1sIXg46tJeAYYx5n6mQeV5jvPb9N6a - W0i6EC6EYrvB3BW5qJvh7TCx8/TBmOcTm8uvR/qzelgp02sufz9rExKtl+EX9Oxv - Sm7PlFzxsO9qQCIzbxxVcRRJWtEkwlu12s64jn3MlQ== - =jcH9 + hQEMA1QflAioE8i3AQf+Nuf6tFip/Ig0E/JWH6k/xadaLW4WQgy8utumI8Q0anMS + 0m9VP5RqUBv2UtkWjnzpUCKvSnIGqGIe7hfeueTMXogEIUBOMtbmmJ1d67/y7z0o + N2ui7cdJOAiby5nyf8x1tas4vD8RWp5L6NhHwlPfnZlRcCAw6f5MThXMnve2hKYV + +/N9DF5NtjEhWgusnlmnBaGuJb2ZFG8muKTpGf9J55iX5G9523HsFIWVh3WeyWhD + +aC84k1cSIAHanFEnzfK41ALyPFGtRXyacEHJwgbh01VVC79VR/XwDpqiRp2YTXK + EpeU8eGedEjVmK4MB0mTY66YFR5UUaZIbMHk0E05eNJeAcMOE8lJpmXkoUqbzftL + iyYh+CxXBoVzKN0uMLOMaI6bbyuU8/MKOJcsyTuu46Kw/bAGwDXIz9IpnnUOM63i + 6oIWt7jIcY5F8s4SbhszwOtlPP1IWj9STeDrO4dhcw== + =/IyR -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-04-29T19:17:31Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ//REljeqnM6ArVUaw8i/6Ja22sea7XGZeAfxqoY/R0hWWh - 4zFaDSPShcYP83VNQ04FnxjmjSjzDp2GXywoti7KjwIhz93V79y4zFWParZW5qhS - 5xkquBrY8+xAYQqAbEZVZBN3SsOQmm7d5L3ydIknZYolqdTTv1JRpBgPvXJo4+el - T/WC7WsAFWpc/E12IkDTlH+qtNUYZYlKbEi05Yq1MXt42KNEOtelg1IfpvESOXtI - ub+Gbqj4b4e+M2B/2g1jJUv6fOuNsEXiyOBBk69KdDck31Gju3YfsAsQS91cIMzk - oXFdKnbRwtP+byIvCKt8gLZXFABQDjgk4CEuTMrxnr6GbLCdTYLkhVsAy5aQTGQI - osWKPncld/diMANMgLwJSQbDromDrJI0O7CEdqb+jOGE0X4RlpCdQhTmOwal0EfC - 9hsH+yIIgrvHmx3nmoYDjtkKZcmO0+oxPcm3Rd8Omhp2n/te0VO/YjtK3NO+Go4a - BcbHCJH2wV8UIkzQslFlci0U/plCq+VowiJaBXDhE5E6pwrw5Uw/1emZDIpk8Q8Z - YkJ1PG/69Cug9TGum3hAqS9HWotTHVELc1WUQ0FO/jYzkijIovJYbrqzl5ddzZW2 - rYSdmQ4etYGh+gb6fBXZlghc8SV/jPtFM+S92QGftNT+yoI/oGbd2DPAXqh64tDS - XgGrLb3JoWWRRHQFTthG++pwxT8/VBWC4WaQ9/PoekI10mQiwJ6iowYzmHm7EQDm - xDv0Fjh9nWwMlLyUIcVgj85mASpJvMCpXJg+0o2irYDBviHEKe1WvNODnML6coI= - =cGxg + hQIMAz5uSgHG2iMJAQ/8CI40TAnOcf//+joMWhKPPs3BM9eOqYgA+Xk4yWrsRNXX + KrjgeQJRV8L1Y117bfduFWcYnvR0S8pSsngQNOED0OENEeEwopjJoXjI1+4XRsYs + sMKSY1ioBvwR53rMfqXIT/+U/lgqCTL0TkybGD4O/4Vi1ITCxpcUjkYf2GM5A9XB + cEsf7OJCRk0+obAWS5nyzSej2XEowom0tBfwsbPn+VPqfP+8Y1KlDduSVX+QQmE3 + D+Vn12UxQRvdcJ2v9x7sr/HeK1ISvjPwL+WDtmHQBY/pnSVuIwClIG7Od7ANK/g9 + 5vcygw/ka3AUlFGPptk9oXoKqPtvtCL+IQOlbiG9kl1fnqDMKQC1hp7eX2vuTsLf + XH6qFlDhZN9nY38mwOTfC1a6iFkCFXrb0RX0t7ec3tweK70HBjV8fvKYO0UUVsDE + OezkqfeVZp2Wnsm8UmtlEMa0OM9eQlAjtJKYusVpy+dWmxDmktqsSrq6OyfqGtBX + 1trKVtSc2ConE0IyMkmiQnz8k13lD8a5PHil/chFfW6zs5MCE83ZfW0mJ4OsJ1ni + /d4ZLdky0HQhGlL3O2xs3MdR/hu8+TR5IkFqgyGsT5p0uLHz8p2WfIjuNVVRbi5a + l9LBI5g1z1G9yYLB7ta3+1tB3OC1SpIdF5rqqNL3nNuCvfVeGhMUjXNBjok6Y6/S + XgG9EoweMQGSSav6DcjzhWC70iQJi/JN4/zzQfVvCykaOvwVx/LHi4NtbiV/fPee + zwBjfwKruoi0n7RsSucUw1rQNBeQ44ZfDOB2Aq0YWKL8p6NtiCfQ0+Xz5Iv4XNI= + =c9mO -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-04-29T19:17:31Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DsZXvxFXTXoQSAQdAdjLJpu2sv+AERjo0Nl+Z/dhSc8V/aMNbL/VLc/6g6Fow - 6JPzG6YQi1ajPSHOn5XcD3Z/GykhOHt2cYBs7n/UkujIQGO+yM57uStoSYXLA6As - 0l4BIWKzMDSfH0uoZq1erqfWbdZVI6h6ZLcgn4M0nEwuJbeuAVINa++QBzT5L53/ - i7CnfNSI9reKMfOYKAftn32D9LxNYckrJwtxR2CLzjt/d9CKImsgGZtp+jL02clc - =NX55 + hF4DsZXvxFXTXoQSAQdAlHfgecaPX2YdrqVMG8SE5y0hd3cn8aTBpmhbD7Tmz0Uw + 5WHJPloCa2jj0rhCSGvGAgGvzQ48AMPWDE/saW69fJOeV9SAUGXRtrqaIuQwborw + 0l4B0h3yjJw7Vo3r9Szr58Gw/YKm7126Y/+JqbiT+4zn+iFF/RgIkeI8sla7BHKR + BRSx1d20ydBF3PELw4iwepotQHyNjaf88jWuklB5zvrZI/t/3GP37aDErEB3ml9+ + =+LQ6 -----END PGP MESSAGE----- fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-04-29T19:17:31Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdA7MaZKDWZ2u0/khO6eEkABJKaaLjrXWVLsoU0/ZDwjxcw - Jwxmpr0P773wwMmVHUGRqa6jMSkaCyfdZy0aBpEaWV1jXt6HSlTxUgPR1qc+YiC6 - 0l4BXnq9fFAkDe97qmVTUh9vJx5179R4H1dqae5ERjZD+LngmtJcItVupMFMxCem - vdRrhB41R6amjVq4t2tMhzg5s9k1EDOGcxiSTNu588KE7n5SFVQRd3v5N3u93Fg7 - =cNv4 + hF4DerEtaFuTeewSAQdABxGNJ7fKmjIFt8QReNBEsyv24JKjqIURd/7WjMUZtxUw + Pap9hBYDj+S6LBbkwWjbhSTcm074aBUkqe7LKsRCLGNCHzzmT191ASmQVidwhGfC + 0l4Bw3Q0+MeORkS1MqXwt9Dhd1S8Ht2QBNA9eBQpnv3U4lHXE5vbWJHdz7OSBbwo + Arx/PhSo+Y5b+j2OdYDWQ7THDw7FTHmDAjf8gsBTeeekEWVsKcp8rVgNo2VqCiw6 + =j6CW -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-04-29T19:17:31Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fARAAh/Jz+JmlLWD+eOiAsgY41Okawn2T8KxmVVQv1koRh853 - 1eZtHiXafqsEWsbWdCafSbez2Q2iuZUATXRQ3V4810x78BbpuETxgbJJ3XG3aQBd - DMKD/Uoau3/L2n8oNBoe2m3qjXxNjzFPMTWYBVm+jwEXyV0MthjrjmGCBaE5S8nq - SB5DhTVyBRItAmhccCV4KfDEpwb+xqNCzKBFbcHRZkOie2Z2XPJkymQatvgw9nFB - ThN8QYuXBNtgNqCZmpcZFqstKCUzI5YI4fvmRvo23iuoXluaGwnja/3oOagXzQl4 - wXEJn3bnSGS+++M8bGEYMCnUg9DDHrcVt3TGyfIBOSmf1sUHRDGsX8WGtz+bWsTK - MsThuhpzfbARQwW1caFsmPL2meTGZEM7NGRkxZ1F9+0dxxo3mB2OWMQE0emcSnJN - z1IftXsSr7mXPy1geUjI55g+WMf6B/CBfP6zIpKEXmdCycL+upA4XhKQKqgBDlOC - hWzp2PPeCXHOKAjdEkVc2x1/m9Mq8filFoRpEK3c13wqvC/3nDpyWSF3S+hkIyiZ - +63PVH0l9Y6phUx5ixy9C2V1XvP4mpcdPZA+1OIN5n9ra3n7lCKc9GpcuQNY8S6W - eoF3+ES7xRR6lY7M97BWjs+ZHVGLJweek6drilBFjJ92YxbfvKFw5qk3MbmsyL7S - XgHSJn2mwV2qAfm9UQmsLhUq6OU6tW2vEtIyNKLbPIzziNdQLo0nkbBgk0CMGvuM - VlNOo4ihNRq7Xmy5kk9LxshGk6SuYRPYh6ltj1jvWAcFXBnmdwsX9pRGjIvvOwY= - =1i2z + hQIMAxjNhCKPP69fAQ//TwWn243v9q9YX2+969TELi4/vFwykdeLTYnMgtADh3za + f64k2y9sxfiYBvK19pG1rXr/qb3TfyVnN6FRvvQZzzCxA5Qr8o6QWznZjIlzKYUY + j0lGy6tZIfnB6ZcPv3q6mmKnxii83cj8wECYnY6fwyDIlGGlsHS20+6/w9vGu2tG + uLHg/603QnloqBE4ZM+1jYjX70zThtWbTKqrh8Nn3iZh7UKO5x/5tsgwKo6cr6ce + tU283bL3h07QZLI/pMug34LQPraenbr2PH4CXeNIHGEWIg0ZCyC4Td2s1PIrk8rW + jwrnfgo6JDr2l2Yzre3XJO3rwwN/5uTuhvVYWMch6hYTaNFE2VHpEalscKumm7ra + OY99qHh/kjLUxnOkwYY+xEUx+s9/VPLpCjAptF/Cx1i4OkzUGSvbVbTD9gc6uxBb + 6FKhgDcTjtPxfmuRcwM4bMRcCYv2s7ciwooStsXSPO75CLFK9UdWfumCY8vY5joC + zcqRGJzCBRwJRVFS7IK10V6K2z0C69Uo76eGzb80LW4NZvpXKrGLaCQczHXYggWE + 7jSAyByoCiYCWdV42rXWGp/o/LeS8B/u+vYP2VfWuQn056WaF7/86Ueqtx12JaVj + gCcyWkHJorIuq/AbI8lMydu4z0w7AWJotArwTGkL3rp7wnzFfOkMjKAjmMQOc4bS + XgE2Evrvct5VGYjMPtaRnlzMHTDwM1B2FC7QsKbMpBVdKC2Zo1i/N8lyUUUxp3Gr + +RbdbUbDSXBRwe56XjtM6Lr/VUnOwrKvzxzJ8hOK1B3Mav40U4DoR8nAIZMxhLg= + =2kne -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-04-29T19:17:31Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoARAAuFTHSlVNwc21P3VMy8CsSRAFWYFDgdMcnTFX2TtUZFvX - QZomRmAyMuq/YBlQY9tf/rIruEV3YWvpDHzTLp9jAUXguECSEmtbsLMges7js9so - V/lUbIoJi0T68bo/ZOroYtEsFfynLZLuP3BYYuFbDuM8HUjgFobC8nb2m0BcLUT0 - 3Fo8EkN3+9ui+xXpobY7OvLojTNGu+8NOR5xM/S48WKUE1QDOhDxbH4ox531S2Hu - kmsOZkT0Fn/l72bKZfPbjg+dg4z5I7EBy7lkWLULV6ofknxzXU+/c0W7vcqakG3V - ABRGmIKEJ3RTyR3KIdN/65EmVI/BUKHSpvIqmgXa5DaAsxlLQn0I4GxbYyfvrrNQ - OZQ2pfpwFCW6D6OaE4DFQtYjcaBsHZ3PkiVD8R3dIzpwtNa39AqIYtpjLeaDFJbj - 2u9HBkYPt3Lag4Ar/G+TG/uTSCeLudYDEV/NZ+edbVEvRrBgy3Kl01Or23YwSW6d - 1t8Dhehley9UEF7t1da2m38v99OZJxziMTw7dPzvW4yjPxsrrRN05UzB3OhBWIfC - zDz/pkE+hSDxehl/Heayq7i/oHCHgiV3usJIE6tOUuftzIHeYSjsSI9MUvVZttb+ - HSQpfC61iPa3EzIwnYVoAImIJiG2U+fASLvhzbR+gjxr/7MNdpeGNpNCx6bbpTnS - XgHuOdeZXBEE/F3ziNvnuDXuRe2LPL9qcYErVa9yYUj0fy5dIWVqS5/ye3TGtAN/ - 4ZF/69vGrrvnM2XjEcL+Xacwh1GlfzHT6i6Y2ryEkc54JMK1QDVQxODA15qs9LI= - =D8io + hQIMA1Hthzn+T1OoAQ//SeZyWjwuS7ZGjQXeWVYNokSHiVHk5oIzEIYFsfsWtfLD + EK1MaFlXUFjRjxHl9B51yK0L6TJf7xQ6cUbCluERJtnmzWHxVBqXJGZ41mSmt7PL + ugRoIqv1mMt/3h2byH3rycv8RmYup6n+ap6R4PTlgbiJ7Dvbq6vJYikxv4LLxwOB + tji5xLeqO5NqDRKBk4ypahQ+kupZ4kjtTc2sHibwwj5c9L1qWaoWf7i8gi2LNQjr + ZniTOozatXL5HAbWXHl3Pf+bmcTj1p70RdfJXVHH0uA4G3Zzh2vFR8d7EurlzRSJ + F0PZ0B4SS9v4k9QUVitxr0de9ro7DfhdK7Xrr94IXY9MvBp/Xb9z6QfehSPjdv55 + kF1NZcMT2me87r5g5pUgxKCIbHWlT3zKR9fiHfgWSlMGRvsv4BFzRBTWxdl6kPLK + 86A0QQJOso2c0Cl4uf3QUvykh+rdTogf9CMc/Y22JgGz6maR05yh8WQjmVRitr1X + +HugWyQXD1UflwQBZi+dRNhdLd7fBib59k9rHOw7nrRjUmLLHyQ12ZxzhRP0d/M5 + he+n1v/hf6Iu+xZ5d2ahmibngsRaN7XB2cFQH+IMz/3vDvsWFnak9s44TfXdmKop + CoJ+JAzJR0lGEQSZhf3bc1RGNTJKNFv5NjGyHWbwSKglUt03+F5S88n9RGk3J9TS + XgHPf30r6dVH1lPYkjMXrjL0nxmRuZDOEHli91LdvX37P49MjEAdNaHFMExUaPPW + WUUQuYw8oYOdEKdJCXc5n43LgcC/VxivNGl3XEhBWlhpvVahBsjJ2u6QgWRbFqg= + =dIik -----END PGP MESSAGE----- fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-04-29T19:17:31Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqARAAqPPUcmWUpdN20V486H+2KdmaPXX9oHtDQR0G5Kk+XI+6 - pkcz2lGHlqBXpRQo/ZkWFty4QMvM8U8FZrLIWMMwrw1qvLs5abCFB+5kTWK7KEIs - thgA9hJiAal+wpBGX8i9XjcACleNheH6VvhYwQow6w5Z0bNfQ3C711fsSEDqOa8R - cNxvVJDKFiCrtFWzUzFJaTVbldMEegwHp0kLjMYZWmaBWGgNkF/8c3I6BQ2DtrKZ - N2CYHrQEwLD/6iJOFOGNiSB9fCXxuzRUp3Uqe6rphFBy71NeIxAycC7/gOPJRmyR - KMwSy4BrOwLAVFGIC7rLE3V2nuSVVx4byUFPkExhs0AgKPl5wo2Xp/g7flTPJ7lN - OV/kT/MbprJe4QuyBBbceafE5NGsL2C3vkWp+VzvkutVAl7x2r3u2ut0Xhy9FFF3 - +A5cD9szveRNZgJIhhU6iPREQ/miQq09iEY3vFhZ5REHylGzn8VQKTHUmT/NKUMV - Y9YIfOIvnupjdfVLnp5qTGbzVy/xeIxeG/rFM511m1zUJmBBwaXS+gWs/oRSNeX7 - A1hlmzsh0Zu3YyEjSsxPl10uNmNgt4bIBLV6S3O3D+FjCX115erVcBXqPg/XxVqf - GbvhCA/aH6h6fkgospSPdJmM4qE/pvsGPZ5PnfU2vR5os4CP51cWQicMn727HhzS - XgE/OZbFtCwyyuAXUCeYh/hjWIOQ3B20nZmT6pofeoKTOVOHfnOJD5UUxbLIn38O - 4NDH/MboxOlpNMpuk+NAJZkAdQdk1rudWsR6vBldO9vAQJi65htfQ2hu1x3/yig= - =ZGtD + hQIMA46L6MuPqfJqARAAmzMtEoWvtV7+4UOlsObzDq0L/ebYhjqvVDcoJnP+O7av + K2ZWerKOyTk2wJYoMoDJTurTs2SrqiqMYXST0dWUrh1WpqjbtsU5U3Q03OkKv4WY + Cdy81etUxjKTOgx0FADDnmbdKAZKYsfOaCZQ0wKvQ0eLeGw8fknr/cz3GJ0h3Y/V + ZLdZjle4nI5Yp4B05f7sGgRZdIzQd7X2f0Kb9rO47dtv9DW71hCGGgmjO21sVqKj + hunzCeCQRxbiHTrb3Fu3Lt+7wK9Ed2NdqFR9N6P9K/TWOjcrci14vKvM/CejQvPf + 5gHWEcNAeTWS7A1JR3RmD7NSUs8yFDC4kq5oOWtZlOuJEtrSYojG3XtoeOXhf42e + yxbhsPzzy4fzrOV9sigwoVXTRe7aC2Xo0IoZG1an+0fvjs4yKE8WTfox/v8Bihwz + IHRMhS0F+4osOo7ld7pQys2NkUdWYelb6Yat0lgWio4q7my5Hjx1MMfKIHleMPit + hiU9AUGZ4UVZFz7L4h2d4uyFFw31ZfC8TlgHvJ6em6F0oRmgMBqLaziHSZq5AKUj + 0CJf9h+PrYRInhwrskLCdblmR/MqOdQj7mMDifcjsZzS89oTX7VmJfXfeh6XKI9E + Zt33CILhqzDjbLt1Ev0vvzhAGyU4XP8Q80OtfVWybbpJeH9wzZCc5YfIGk0gLFrS + XgEskCxhgZ9RALz+5pvAWcaRNss1fNE2KfwRKCT6p1Tf2LhwCo4WtaZIC2KQzRBa + AguUarDPFdPr9o9mgxE2l2qpWbUpCAcmWv5g/a2mEtvzoMNs5Ua9Yk3bNqbiZUE= + =yRKT -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-04-29T19:17:31Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdACwZwpDk9l9Bvw7TZ9R0r1YdwZ1dypkT9kD0idUN+/BEw - WhLlizN60OxA+6RBelg82XCYsFImPFolg+NR7h+oBOLndcuUQGOg4/ry0kqhp1MU - 0l4BDA37DtDUx4/Z5L/hXW2nOWHWE+IQma6LFTMVYT0ak/YNvRJF1q18UA4HyA4n - rhvUhP2C7N0fBNgN1ExFrFqOyJmsWve5GhVgw0OxwsAFATjxYLtiQyDN7MX9aQre - =Sdiq + hF4DQrf1tCqiJxoSAQdAoO2jbRlEBi+xPTCJXPbvvM7NkwRFz03fDOuEJaIKOx4w + B9RVqK0vmqeM7e7lgMhUmaXzgCZvNJyHerHAApL54ebaxSSJUipRG5hMfS8ogPRn + 0l4BMkA5b+1KWwM65dqsqlhVY1wy4T94XYSwKJgIsNY7NlUKpZVpVG0YRqApvrzd + AT3cTOKSo9ofrSjDpmdfVoL2rB2nwoGVDE6KssqNle/fFKov5xEcau0VInAVFTvj + =MHAf -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-04-29T19:17:31Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAng3WTmhMO0N0Y8H1jpX+B5LRerVj91Ef+ejPgwHd5lww - eXb4olDSUWJ2OFZMlVtRQjsFZAnli7hfKaAErbRc7qnZg9k7dOGTSQiEPFTak9D8 - 0lgBt/Y3k4yMmqhG5w6ACw2bs13rk8tCgg9muocgu4XgeAiutdDbKnbpjSVLANZO - ZjMb4OT5OvR5BbLLm7BAtwEXEdj+FfL4/l/ZUwTIHgbFZYqyDFHA6fvb - =frOu + hF4DzAGzViGx4qcSAQdAh8NhkS6+tpvx/z9D9vV+imu7GYavQo2dewyLHUa8z0Uw + UczX77OvZIA40Z71DVvGmnPuPu3o5ggkRrpJWgL8JXQP+uOVnJuFfG7lhkrNyyV9 + 0lgBi+1/1O7vQW5/uj9xwuaarzTe3/bTjCZTJcJubJ6UV9R3llhH8szquLs8+kVF + DU72aSsw97fXoDVnHuS/9MCg38PRaUOuAt48rU5+oWyUX/eONUdGpLJB + =01HS -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-04-29T19:17:31Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//ZCsXBsOckzZpFKeL/wm3Cc4rbqTkKh82b/XJK20jX0kT - CXwWsQbnwFLYG4CwaB+y8zOZb9xgcNy4RYjSiBM3owh0YOuuVTDaEaFbK59WTMXl - GOYDTK+OXECQO6rLEPxCLczkrtmCUsvGpGvvLeIdUiOJH/1ETWcqpD9M8FfyrQt9 - WjT/9tk8zTlBaz8/GiNRw17EMUe2Vy36KEjGP4JF+XpsR+eePXNS2CjDIcrZho3K - 8d8225a6YIOWqO1D8UabZgjF1zTdsfNiSL4OTF4uBa1EA8Bln1bDmvwxIKlDlpoe - dz9Y8t4tSWFz2AYwmQmQzcWEm8/mXp6D9Eu2R02Fooen/9EE7YIbS+jx8aFtDcjd - dnKQrAMwOM+QBrZ241F1MW8Z5pGa2MG/+4UEwb8KxHoutD41pKifxLHJmxuFwFFV - cvYosb8MgSb5MK816Jh6Djq2/9N7fwyP9QF3VvS6Ip1ZQ8pxP1JjPER3emFB5CZT - 9K7TeXUbJek3dJvB1Ru0GdJb/m15UtYnxB91gszjmH5hcxxCmfpvvpF99d0XhysW - NALx3a2NKIlaW7WOZ3S08QmpDG0xf6rC3IdXbZjNiA6HXvIMb+8HL0aGBaP1Bu4G - sn1VoxUsRmiRDLg+v+zUnW1VLyiwhvdv9soX8CHAgcY29doKKWXnk9wAU8gAY4TS - XgEGxJxe86htrp4ZuKbYALg7jyvuSh29nejpVxKNAwzzVAFMKZVEOKyt0WdzRS8e - ZzU0BWKYRF/BSg1bvAzrBiEY6jSZdLg9SZjUXmTitTQ5CHspRqiwiRMSFcJUWjQ= - =l0Wg + hQIMA2pVdGTIrZI+AQ//WNtap2qBuXxK8DwbA+gAIA9pNOZg5dwW08XWkHa7k0wW + KYgVrUoHjaZhtecXdJ9HTLimmo9y5k0lgFEt7yVJVkfDScvZI51H/JOtms93vahF + CpSInXdT19A8qpV7HBb8S1fc5O+ddNEDFdLR9RqaAR8gZr3U+2otrIWFAyxv+u4i + KZ9aIdfoLZiROgChXbtZ35YfgfZy2mWK9OiKT6Iut4sBUO5Pe77Wcgi50IIC+RoW + 82rRE6a31TsoFsiBQRClMdJTRYhHoe5hPnEfdj/O1GYG8fq4Wxwa7BtyAzkN9PcS + yw0ZBlTg6mx5h1BG7A55t2I3+3oGNGahapYRwAc6g8lXWhjNURXQsLYTjEAXYfxE + uCBeiI/dwdj6rTW4AjQ2DXLI1OPtwD6y7F3d66SPZjLgoIKu+HCkV7EvVFDveM8+ + xw0unbmVRAiUyCToeFX3DM/HmEcvdOGiYBK0zIAyBgzoweWsZEg9iEMWg8lExEp6 + WgLLKJ32+gA7ipA2ZP5vK5X6lIgft1TszKkVk5K7rCKLVdXzB+4P1w1RSqS/mfsD + rKGzraQM4iEKunxt91Z3RhC8zrdSz+NcOtPDc67M2uWwfxQ9rPpVnhafKA0nTTDx + RAYhF/shEzbueLQHVOdXBG8vCCRNPvbDoMGI1nJL5njMHHRWrYT4ls6zTjnlX8PS + XgEBjKviTlFx/6r1D/zpE0P7huNb3axQHMtHPCkI1MqBdVItTKJYZx2he+zw5c8B + pOqBzckd1bIlvCStMIZVDDSW1rFB5hL+ZrtSrswI5zJm7xTL2gdqRtOAASKPkSs= + =p0ik -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-04-29T19:17:31Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAL5ehqitzk5IKEw5rkfG+ICVJMWH7WUUGJpZjl2ZT0ysw - qDFw5Srsn+gU6zrzDiYid5HOahu/4T+pSItHrBjf8wBrPl9bP+IBytw2OKA262+F - 0l4B9tUKxvMbcX5nJBAPFnneB0HUrpGwodbeNqsy2DweY2PZWe58bWw0al5V/jZm - Lk4pU2gIoc+BI2GWHMLCGQSsMjID7nka3mdP3Vjdl2xCWFvAnWcu3b2JbV3KNPBw - =NTXU + hF4DKKbvh61jX5USAQdAfd/pq7CEPL8kCoHYKtu9O8kAMF/zd1yE5BaYXa5ydmIw + rouuLdDK82RNv+nE2Mbkho+LhNt7SwVDvDyKUfBUjUKKWTVR6afCT4cvEkGZK7hw + 0l4BHBHFP63G0hGwUH5iF7Z6BoR3JJMo5BjDjhnVTZfeXYh0lEPJSnRqOd5q+arA + 3VrkevOC3iK3jl6qnbn5ccSKY6CsBJDF1BlChvnGLQsnAqHKdx2+IVz2m2LLSwg5 + =OD0w -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/auth-dns.sops.yaml b/inventories/chaosknoten/host_vars/auth-dns.sops.yaml new file mode 100644 index 0000000000..1899a2771f --- /dev/null +++ b/inventories/chaosknoten/host_vars/auth-dns.sops.yaml @@ -0,0 +1,207 @@ +ansible_pull__age_private_key: ENC[AES256_GCM,data:2kBG8j8JHa/dlXgWMdbSobulFdVunf052T1QQfm1X2vpEZx2HPCL87fWea+O0WOg7+eoMYbiShu0Vw1eTjb+687LjU8l4cj2JWIajnYfDGH+ipWXojxj613C3RZV3JfDOclVTwP8fCHu7z7P3fKrsKWb5d3t2ohTT+sGdVdimakAOf192CkufcVIthq2imiWbntiMTOdMGJxyIjqT2Io2H89nSbJXkONsuHCF/PbxhryB2LZbl8aZV32knk=,iv:hpscVc7iO4r/h31vS6Zno2pkEsgA2uR7wD/1PjH1znM=,tag:ypiwFtgeXuj4gOsgTCRTBw==,type:str] +sops: + age: + - recipient: age18zgt4y2sd75hxnpe333zz39048ctxpr0q8a3uqh3jajjkyawsdrq8yg5ve + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBoYVBFSXJkUGtGZ3IxV21l + aElBWkdQVnFzMVBSQWsvWW1hVXVHMmFuWFNrCi9zZHR3VTVWb0g0Yk9LT1ZhdTNu + aEFrMVNZajl2eFg1WjR4d3ZFQ2JSVjgKLS0tIG04S0VKeTRUUGVJekp5Yjk0dThm + MEZQTHZXNExsSnl0WW9Vb29sajE1YzAKoYU7rGuR+52+U02uf3eTH9hkIECWdcJv + wN9JTwsUn0c6mi/d4AHgv5O04Uw7NxUyGVmFlDZzjxLwPzZyR73SvA== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2026-04-29T19:21:55Z" + mac: ENC[AES256_GCM,data:RLXsIsSdrCuElYQ3x2YpwYzQx0V0zoYP6h9FLD+RqmZ1pWhlk6Ijp9WxCAlEWps9n5rPYYyhZ3ldSJluTVeroPwpzrmwW+xXCGsCC0BFk6PuB4UynfHwWR/3jEK47nAdPbNfONhzGfOeTObYp22c3iHiKL8YochOSlBToA8mFr4=,iv:fZZEa3C/BsNKGdTKlR/hexrzhmLxiMVxgL9nXjX2Q1E=,tag:I5M8SNbSw4w1crsl0z/5+Q==,type:str] + pgp: + - created_at: "2026-04-29T19:18:43Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxK/JaB2/SdtARAAprAAcNL2V5+aZMxersIlCaMh2QVhZs6rxRlG+siH+zT0 + raPl//5kz8i85+ayqOBL/1P1PnLRjMPOaiCIcQWZaGP/U9R5GPyJZKaGZmQx2cDz + vnuRQ2zOHGen13s/Iju2vB+Or6fWHzEDcM2y1J9YcneuRNHCnIVp9U+LlPrIjEUt + +nueDEcAct8jjWjXre7IdTU05TqIkHPiRQrAn58mhpgMl+Ubtc1S6uNB0vkh2obZ + MRN026w8sVti6mgivZ0g7Nhtkq6JgKLUyu8jf1aajzKP+gTrYbkwmTzq2JyiOyPh + k6qFnT/7sVKqH2yUGZFvforEDlhld7jqZjqzyDHd60GN9GTboeaSzvmGVkvVDd50 + YbiVijMqVkFRcrb490G8jrL/7/eWb99uQXUX3OX5WXq7TFdRVT6uxGoXPBdd8yc1 + jTvwU40nS47o53qKJCP/WeESuXNIlvGIrt2MZ1Q6FSBu+XUI/nTuKpQyr9Qq2WN2 + q4JxnUnaXmovk2GzmfC6Zmk6qEGUHznHmy6EISJTb4lstiULo4yH8VKwhRWRAqNo + TDipXEjSyQ60ppScnz77UTYhV+dHjZIWbN2M00tna92ZgDED0HP7szSEuKCFU75n + HwSc+RHKfse3JHHq/ypN0rqmxOIStC4x0wlulCMUKWdOyXq3TuslKmrJBkN/HpvS + XgEB5boE0GSTwylChO99eB2+cxKzW01hmtPbeW83lcX3uO1TSPnIrp+CvuTU0LpR + /qnB0r3PUccID4c/PqOJ+5rXGSvmNePS0fCrV5XoIQle4RFibhTxDMDu6u9/3ZE= + =jzo7 + -----END PGP MESSAGE----- + fp: EF643F59E008414882232C78FFA8331EEB7D6B70 + - created_at: "2026-04-29T19:18:43Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQEMA1QflAioE8i3AQgAnInKqN9PjXQSsLg7wUkv6Zmd6pTcywnBJe4DTaBFlhmF + jIQDU36FMNHBhJ4hG9i5dggfGV4aCMoU4EkkkIyvyogU96dRloy4f7c8rmw/oGvR + XWq4OaIsHlz+AvnELvEUgaSUZnKX/oz+0wxwYmpE06BmYiAo0sVfgqotEfnvhu8N + nBVwuTwTGVfA7IsfXBDAavgzhNGQHytUSu28DLrpfRw+3qinQxkb6zFVkRG0asdY + Tt+JSPrN700CS5Ln12g9fijZW/u2bZWi9VnL67PTkW+Qn3s7h6kT3zp2ECM965ul + CC2iPJyPnoXL1Z97uAgzc/qhv3WwvNUSS/kvUF+lJ9JeAavfZh6OK6PFlFSeHyVM + lC2+6O3fSAHTMeq9No3lx6vkENAdOJsCsPAGqTJMe2NFGglzJ0rhuUqmMn0tSNO1 + 1zitlwfYO4qDW9SDKv0l0acBuDv6n5GhBvLSe3mMjA== + =ePv5 + -----END PGP MESSAGE----- + fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 + - created_at: "2026-04-29T19:18:43Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAz5uSgHG2iMJAQ/9FY+A9psuL+q0ZHBtq5/IPawMlxaFIrKa88PDSRkMcQ1Y + u2vQIRgocWhxZHIdmdRF0vUqSBtfCcdmv6wE4qhkDxyVwGeHsFPidiqUzEE8HFVJ + rKzo1oZiuDk2faAhgGLpoSqnFzxUEMwrZnqfDRsZGUOLvXw0EaDHeCPXQCZRYuHn + dNEbZ4bSTt9w5XoTY9mLN66q3U/XxDFxNl6Z4kCgk88HcGXY7mW4AcdcAu3Kw4LX + 6iXNj949ZVa5JV2wAYZIfDDgs/tslDFN7yi8G8AOQVdHJHw5yh5/+GE+r3mbZ885 + zWDyRSiERqk3YAHwwW/LGHodXJyi3ZzQdusUPHTQBZ4HOkUX3D755x79uw0ZyRJj + SpP7ASa3MPRfGJlmkMQ7ADTcKZvWlX1ymYwh9mjocUAulqclM8XbQjTr61mB3pnD + EF0MpJnkz02ZHHcZVelFJc1aTsUwvNdN8xOHL9HIbTshE1E+myYnu1bQTzsqQnwX + lLaOLgX3uI5tJtHSxWMxvzz47iDLUw9fzWYUB5M1Fn34j6R26YEmlCTZgpJuqX+P + c6tMqBCAZxUSdL6HW4TEBbEl+XdAlZTAoj1X9kH2SGC1K087w2QC36JJulkteYbF + j85s8PNTKru0516UWpgyIIHJTSAB81hvZOJ6tQyYekF7C6W/V2e0sTwENHrNH8TS + XgGpGnl6AdX3tC/+6NFKg70a7EtbrxNXf3dRTY3YWUgI4gFgoWIDW0DU/wu+u84U + 2zlC2bP2l2B0MtBBulmXr0V7sOVJQkiNKjacl35joT09VSJwuwGrsZahTyRGz3Y= + =a2/K + -----END PGP MESSAGE----- + fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 + - created_at: "2026-04-29T19:18:43Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DsZXvxFXTXoQSAQdAgRYONXUKq3RdEDtip/lea4IVIeE/imupcUFN/GzrwgYw + XnhQYjYkGN9HIkFMEKbUyle4F6Sp8wg4AGgPOC0wzNVXGhYeLMs6ybu/BsXAGD0U + 0l4BBzCLRQl+FiXFMjJviii7HeDYq2wcZzqWX46Oypa5WuezvcybxZZIrHTeDrsC + k/Ie8oxBoPa1eQIHafde5jbcKBP5v6+aUxEc1ly70r90CckJYdARggltx8sEOvSR + =1O98 + -----END PGP MESSAGE----- + fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE + - created_at: "2026-04-29T19:18:43Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DerEtaFuTeewSAQdAs98uz9XAcuRRnIqRHbiBZYhMiejmbkM1RZbY3hPVBngw + H0abiCvS1xX/Uln2kJR+PsZWkyaSGWAS9iErHSHR3sLM8Era/W4OfmgQlA3eg2gZ + 0l4BX+YygykgEd25g2PaQtZahfW0ZG781bJ0Q0oqySxQMdg6Mxeb6NtJTG7EZso3 + JlEmgVZqd2wZqyzIDYIZMrvBmRF4GNYnz8Y/x6BsTBPRXsX7eQHlxrilE/G1yXTC + =Y8RD + -----END PGP MESSAGE----- + fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 + - created_at: "2026-04-29T19:18:43Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxjNhCKPP69fARAAgsm/os/dSSLjxlgHi/BOMb2vl+Rsz+zXxpofu1uBgQ21 + MwDBQiZohiEcD+IRj3oPv7zbtc/TKRDmcc8NMtkybG5/imV/osIuLwPAPkvPFI09 + rfky92no2GxXhUhmFUwElmwVZMUgVrq5teXnajDEpsffqGI+5dRtwkBceLNr5GB3 + lMOiTpuLBpqD9nHWetvhdg/TwQLNBCzYfDBxvLXe53RT7y0wncM4woC+BVnBxlf7 + tkmegf9Xf74qmZT6oIgLilSqgDuJDX5EYDu8BIwxU5B67diXL17H2/etagjaEHFe + l7pFKva5OkM7e2hhxrBlxGrPxTW5ng9w1O0JFy2Hz6q65AnNw0Q3Ji4O+UDSo1qw + WEWVYYVBETTJ4d2HLPRWuTuIph/t1Pxo48DywOvmOgyQ1RfwOp2pS/81S/M4FCiC + lzJ7jWV+A6wdACtKxQJ5t5+PFf9PlUFjnN0mif+4FJf6ZZRsavSoNg9msStCcl6f + MHd6hn/EVbwZXzFRsIX/GtikES/rIMn5aCG7tl4czRCXRqrA3JyV202fwKq/dshV + +S/HHMj9kLrj/VURDlGktmdBDyFgf0PklHDg6KaBPH/pHgjd6XvEYzhT5vo5uPmr + yGbntwaHT6h22x0h4FWVHucX0a6cKLJRGVbvBAOSjID44hzS2/b/FieNU3vMgsXS + XgEvsWmwdZ5Pizhzpcm88HVn3DPpWPbdutxxqUzjA9IhxRYMNoAC+XIac7wXsAvm + QOM8Mho/7JGBR3TmE2qObrGbdBSw5XrpjrHCdBuK52lJZwTySSZSp1Qo5pNHm7E= + =S7Vg + -----END PGP MESSAGE----- + fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 + - created_at: "2026-04-29T19:18:43Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA1Hthzn+T1OoAQ/9EdO6mvxKmXS5CgQCZEpqS5i2YPxz/FDxO+D0+IBM/E4N + zz/TTwDpN28t6xIrHxOBfi3aHrhBWBN62mIuWu/x+Wp6duW7y03zprUv53u3MvEm + AAn99pMb09Hodw+coSzJpvlPKx44OvaKGEgF4m1nbLzPR5x6v6zb3nc5MjalKYwg + qNhoUcCUVV7Og6Lz2erVPuEKab+xFanUKCm65iSo2OMy+XnYRApXl0RnBOTiwNNF + a3dnVFp2vzIkWSDcZT2wo88F9PJchpFV0IxOHUAnPnV2oxn7rrcfcAjAAw5OzSmx + NjZUPVKbN/o5IVpe2fuR/snUsNhURYC5QM0ggadouQmgKlkScZlPJ5uygGb7Ufl8 + Um3YPrOq9gi+OGZYYSCNTU6FXt8cXVqws4DBKRZ1vO2y+CZvUi5KGqKmPrX/bmZ5 + poJoRp1MYQPr8z3lmFqCqrBeJNEyexxbCbNLOZgUF7LwGvaCyHKB03GMsagW7+uR + 02B9GUQM81LCIK+6xsXRP2a/vssWTb8Tw9SbAxVgYZq26Z/FyipPG/GPatWOV69b + 71JQRT4xJiMtodBg/vNv3gnsJy6AwcOi8l+qxSBwFnXOgNQwHkvV+tjh+d/FmrRW + iV28SFUlg2MSsPr7v7DyF4HuwH4tCxonZKqZbPOR1adHpUyWYeXp8fJIWjB9jLTS + XgFopMPZEaDXlizt6H/0Gl1Hwwt08+RwItz1N6WqhNwqc2blhVrMElzAX+hF1vVW + JQiCOEAxT1oTztW6VLJFwF45LBVsd444zbJNKDSmvIm8SsYu8ORUoWWZddgKhEk= + =wJsd + -----END PGP MESSAGE----- + fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD + - created_at: "2026-04-29T19:18:43Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA46L6MuPqfJqAQ/+OoE9y0D/UawN7ksuv1TCDuZAgtX1rF7KCKrAKXQUrW8W + Jkwt3iWn3YFtDS+GPyPi4NilbZieKr8mn6ixLE1XyVRiFejjYPeKe5Sta/mpG6kP + r1oXasAJCps570SBRXrGi4k60YYdDlHNlJAXslhILv1Hzq1FhG97iw5OO6EwjewT + F2qU3HvF+b2KHDrU2Rcbol8QDNy5tOY3/TtXXd6FjHwNkw47aBiR8ZBDulYjdQ8p + ydaYikz2MWxp+e6VPKC0pmHaWaP1plBRxgzFnIXvzlk63rLHy0vqDnp4Wp8XQZXw + v9ZF13vJfeWjp2DkhLjuAnksSLnuddIhB/FS20ms89QSn75gzarzymOI0RhlxLpe + SYEhGou9qopmCoPbBmuBDDIFaECxY6Y8iroPGNRSuxX/4k1aZ53z6B4FBxYScDpV + vMQowVOG6pSsTpC+GHJvKaf0ynzpLtbczXJEWAiThFt7N9IaoVqrgqBQCYMdkbps + 3PZnuTBNvZrsAeyqKr6mlBHcV1otIFnQ2LY/dT3p6L2Gg0VuEn2cbETLNTWYXxp7 + vxPP+fGITdtcl6EyiEA6QHr8gs4xYTuQtPDxapNlDQB0/IMTr4Tc7l+jSPYaRC2y + vkNAGKoHKYY3dK2T/cDfx6UNZy92dqLKbJFOnO7SmsHUXKCWE1TcYcEqIoru3TLS + XgHIpimFDg/jU8rJ5mlDJtkDuWu+2ABhuY9QZHrKrwx5EKTWK0qiABsKqqRvEpEZ + /foR2TbAY2q1Ee25M5XvqTJoc9nd43tLNkOlVxzGcIHpP5ea2SUOw32Z8jnANH0= + =vOjZ + -----END PGP MESSAGE----- + fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A + - created_at: "2026-04-29T19:18:43Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DQrf1tCqiJxoSAQdAdiTy3LGZXRFySQ6d5fY+khLJc8OD4Vedfq0N0Lo4KX0w + oiiI7CHwXIUo9fbX/9Fp5cY7RsELssrFpUJ9HtbyBVJXh9MUaXv3BGEk4eJTTP1V + 0l4BVbUQcIo0bruu1BEW5kozfvFaN6q6f/k3r535iC7H44aA/t9EpA/ZO4gVH3rf + 2WXqLjapvTpITOMHcLItJ0a8bMi3zB6BdxPkay7xLrUEjXxi+ZGo4D8U6xwopKxi + =c8c1 + -----END PGP MESSAGE----- + fp: B71138A6A8964A3C3B8899857B4F70C356765BAB + - created_at: "2026-04-29T19:18:43Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DzAGzViGx4qcSAQdABMyhW0CH5eMZEreebbnnpJCsRdUtiFaTHM7mqB0pGw4w + jVZVy6eeIohIwngdOsoIhQQ5OQdIGD4s+j5QJ6dNcJzEPZS5wE3W8csiSYKCTyNV + 0lgBAJV0NOFSVQOJvmxvHCRALvNr99YLUoJ3lrjbdgpLvXC/WU8OcUu9B642YNGe + n0esX+Kwv5zlvxUdjbZAp7yY7Rza+zuIx0qcM4MYZzS9AQboJdOEjiLK + =ffrV + -----END PGP MESSAGE----- + fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD + - created_at: "2026-04-29T19:18:43Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA2pVdGTIrZI+ARAArK5DSlr+wsCdvRggcTnQDQgnn1sQkeQFxtK2z7BrdcMR + dykn4IMFw9XDYU+iNY3gnDYdK2jZThm2kQujKbQINBIQA7en4bpJKvu4UU4a2xrF + tYhM/7tOSN7DnZWx/7qnYuHDA/5frwIL+csWXbp7tVeRAwRLkuJKMuMOl33bXvj8 + mZasXWtdUzrcnRgAm4BxhYpSogQ1gu3ojIVn15Wr5Lnzt56NAcmCfMl+GNbJxmrC + ftt9B6mXNQLj19p+cKer6PVK3F1CmN+B2TdPDGE9DHZ0I+t+tAitqtm/j9VvPiaH + gHEHRQ2AFmU6UTXa6X9p7PxWOGlJeSZEaOgz99TfM72mGvzWvEh53tXFNINeBnSU + KQJDlNWmrGRfa3cdwyq/kAVySpYAtMSaiAIpDw5zOeuLuplGVTr+HkAEG0UHAnaB + /4yDOq3q/2awMlOpb8syREGDAPI0q3qAt2KZl74sfdvNjLJ3iUhFRG0PEtNKHV7b + fgGZEiLsJPjiSjUAT8PLqzByxj9Lg/Mc6b8XDFe/eC75o6bUOigK+Zh//EK646+N + hAYDQ0jDiYJUSP6pFk8OvhokW8N5+oNCBsd0j4MV9NPQ4e0EtI21XrACMjo4o9As + rTnY0fYeZ7lU0b6L/I0OpXKDSNa7iQL4NO1dRJysVBGCKOxbDfKdlbwquu+6YCHS + XgFIoF56xzkyHu5v6xaf+vBArsw5GS2M2IgjqnOFVsYHthfi/lU84U3HNpnNa7Ky + 3igXQkOCBU9k/7qSklnsPGlkP2e+dQm0JkqiZWk76VJxQAcos4SB+OotErmEFlo= + =WcNY + -----END PGP MESSAGE----- + fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + - created_at: "2026-04-29T19:18:43Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DKKbvh61jX5USAQdAzS2Fnf6RNlceP0CMR+WaBR04wWH2eRASnbAAkhRMglMw + 4YM63ITWhiEgWJ8CXibxxN92Tla93YvIId8ahHaRUnnHoG6T/zGlFTXfTsp2Ao/c + 0l4BcwjBbn8miHU3wRx9TY2M5jIatbsZL0tNTCiGaPKfG+RdQ2fHAwLXTk+xC4jG + 70gcDtXlHDJV9hRn0R9cyfJ7UTEI45bE9Pt77CXAAkL7Ii6g6lQUdW/FaHXM9hEu + =SWXD + -----END PGP MESSAGE----- + fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 + unencrypted_suffix: _unencrypted + version: 3.12.1 diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index 59252ab9bc..a6cea9b1dc 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -98,6 +98,9 @@ all: ansible_host: www3.hosts.hamburg.ccc.de ansible_user: chaos ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de + auth-dns: + ansible_host: auth-dns.hamburg.ccc.de + ansible_user: chaos hypervisors: hosts: chaosknoten: @@ -128,6 +131,7 @@ base_config_hosts: mjolnir: www2: www3: + auth-dns: systemd_networkd_hosts: hosts: router: @@ -243,6 +247,7 @@ infrastructure_authorized_keys_hosts: mjolnir: www2: www3: + auth-dns: wiki_hosts: hosts: eh22-wiki: @@ -278,6 +283,7 @@ ansible_pull_hosts: mjolnir: # www2: # www3: + auth-dns: msmtp_hosts: hosts: renovate_hosts: From 58ced1a85e428292dc8aa2042471bf2785b2e2e0 Mon Sep 17 00:00:00 2001 From: lilly Date: Thu, 30 Apr 2026 23:12:08 +0200 Subject: [PATCH 235/417] add capability to disable systemd-resolved to base_config role --- roles/base_config/meta/main.yaml | 1 + .../defaults/main.yaml | 9 +++++ .../handlers/main.yaml | 7 ++++ .../meta/argument_specs.yaml | 21 +++++++++++ .../tasks/disable.yaml | 25 +++++++++++++ .../tasks/enable.yaml | 36 +++++++++++++++++++ .../tasks/main.yaml | 10 ++++++ .../templates/resolv.conf.j2 | 11 ++++++ .../templates/resolved.conf.j2 | 11 ++++++ 9 files changed, 131 insertions(+) create mode 100644 roles/deploy_systemd_resolved_config/defaults/main.yaml create mode 100644 roles/deploy_systemd_resolved_config/handlers/main.yaml create mode 100644 roles/deploy_systemd_resolved_config/meta/argument_specs.yaml create mode 100644 roles/deploy_systemd_resolved_config/tasks/disable.yaml create mode 100644 roles/deploy_systemd_resolved_config/tasks/enable.yaml create mode 100644 roles/deploy_systemd_resolved_config/tasks/main.yaml create mode 100644 roles/deploy_systemd_resolved_config/templates/resolv.conf.j2 create mode 100644 roles/deploy_systemd_resolved_config/templates/resolved.conf.j2 diff --git a/roles/base_config/meta/main.yaml b/roles/base_config/meta/main.yaml index d1704a2c17..d7cc109174 100644 --- a/roles/base_config/meta/main.yaml +++ b/roles/base_config/meta/main.yaml @@ -2,3 +2,4 @@ dependencies: - role: deploy_ssh_server_config - role: deploy_systemd_journal_config + - role: deploy_systemd_resolved_config diff --git a/roles/deploy_systemd_resolved_config/defaults/main.yaml b/roles/deploy_systemd_resolved_config/defaults/main.yaml new file mode 100644 index 0000000000..c322507f81 --- /dev/null +++ b/roles/deploy_systemd_resolved_config/defaults/main.yaml @@ -0,0 +1,9 @@ +--- +deploy_systemd_resolved_config__enable: true +deploy_systemd_resolved_config__mode: "stub" +deploy_systemd_resolved_config__dns: [ ] +deploy_systemd_resolved_config__fallback_dns: + - "9.9.9.9" + - "149.112.112.112" + - "2620:fe::fe" + - "2620:fe::9" diff --git a/roles/deploy_systemd_resolved_config/handlers/main.yaml b/roles/deploy_systemd_resolved_config/handlers/main.yaml new file mode 100644 index 0000000000..b40760b9d9 --- /dev/null +++ b/roles/deploy_systemd_resolved_config/handlers/main.yaml @@ -0,0 +1,7 @@ +--- +- name: "reload systemd-resolved" + tags: [ "deploy_systemd_resolved_config" ] + become: true + ansible.builtin.systemd: + name: "systemd-resolved.service" + state: "restarted" diff --git a/roles/deploy_systemd_resolved_config/meta/argument_specs.yaml b/roles/deploy_systemd_resolved_config/meta/argument_specs.yaml new file mode 100644 index 0000000000..d9ad05f623 --- /dev/null +++ b/roles/deploy_systemd_resolved_config/meta/argument_specs.yaml @@ -0,0 +1,21 @@ +--- +argument_specs: + main: + options: + deploy_systemd_resolved_config__enable: + description: "Whether systemd-resolved should be enabled or disabled" + type: bool + required: false + deploy_systemd_resolved_config__mode: + description: "Which /etc/resolv.conf compatibility mode should be configured" + type: str + required: false + choices: [ "stub", "static-stub", "passthru", "extern" ] + deploy_systemd_resolved_config__dns: + description: "A list of DNS servers that will be configured as default dns servers" + type: list + required: false + deploy_systemd_resolved_config__fallback_dns: + description: "A list of fallback DNS servers that will be configured" + type: list + required: false diff --git a/roles/deploy_systemd_resolved_config/tasks/disable.yaml b/roles/deploy_systemd_resolved_config/tasks/disable.yaml new file mode 100644 index 0000000000..9092116ca6 --- /dev/null +++ b/roles/deploy_systemd_resolved_config/tasks/disable.yaml @@ -0,0 +1,25 @@ +--- +- name: Ensure /etc/resolv.conf is a plain file + tags: [ "deploy_systemd_resolved_config" ] + become: true + ansible.builtin.file: + path: "/etc/resolv.conf" + state: file + +- name: Write nameserver config directly into /etc/resolv.conf + tags: [ "deploy_systemd_resolved_config" ] + become: true + ansible.builtin.template: + src: "resolv.conf.j2" + dest: "/etc/resolv.conf" + owner: root + group: root + mode: u=rw,g=r,o=r + +- name: Disable systemd-resolved + tags: [ "deploy_systemd_resolved_config" ] + become: true + ansible.builtin.systemd: + name: "systemd-resolved.service" + state: stopped + enabled: false diff --git a/roles/deploy_systemd_resolved_config/tasks/enable.yaml b/roles/deploy_systemd_resolved_config/tasks/enable.yaml new file mode 100644 index 0000000000..395ef0d6c8 --- /dev/null +++ b/roles/deploy_systemd_resolved_config/tasks/enable.yaml @@ -0,0 +1,36 @@ +--- +- name: Deploy systemd-resolved config + tags: [ "deploy_systemd_resolved_config" ] + become: true + notify: "reload systemd-resolved" + ansible.builtin.template: + src: resolved.conf.j2 + dest: /etc/systemd/resolved.conf + owner: root + group: root + mode: u=rw,g=r,o=r + +- name: Make /etc/resolv.conf points to systemd-resolved + tags: [ "deploy_systemd_resolved_config" ] + become: true + when: deploy_systemd_resolved_config__mode != "extern" + ansible.builtin.file: # noqa: jinja + path: /etc/resolv.conf + state: link + force: true + src: >- + {%- if deploy_systemd_resolved_config__mode == "stub" -%} + /run/systemd/resolve/stub-resolv.conf + {%- elif deploy_systemd_resolved_config__mode == "static-stub" -%} + /usr/lib/systemd/resolv.conf + {%- elif deploy_systemd_resolved_config__mode == "passthru" -%} + /run/systemd/resolve/resolv.conf + {%- endif -%} + +- name: Ensure systemd-resolved is running and enabled + tags: [ "deploy_systemd_resolved_config" ] + become: true + ansible.builtin.systemd: + name: systemd-resolved.service + state: started + enabled: true diff --git a/roles/deploy_systemd_resolved_config/tasks/main.yaml b/roles/deploy_systemd_resolved_config/tasks/main.yaml new file mode 100644 index 0000000000..00bc293ce7 --- /dev/null +++ b/roles/deploy_systemd_resolved_config/tasks/main.yaml @@ -0,0 +1,10 @@ +--- +- name: Include enable.yaml + tags: [ "deploy_systemd_resolved_config" ] + ansible.builtin.include_tasks: enable.yaml + when: deploy_systemd_resolved_config__enable + +- name: Include disable.yaml + tags: [ "deploy_systemd_resolved_config" ] + ansible.builtin.include_tasks: disable.yaml + when: not deploy_systemd_resolved_config__enable diff --git a/roles/deploy_systemd_resolved_config/templates/resolv.conf.j2 b/roles/deploy_systemd_resolved_config/templates/resolv.conf.j2 new file mode 100644 index 0000000000..fd06a1a166 --- /dev/null +++ b/roles/deploy_systemd_resolved_config/templates/resolv.conf.j2 @@ -0,0 +1,11 @@ +# {{ ansible_managed }} + +{% for i in deploy_systemd_resolved_config__dns %} +nameserver {{ i }} +{% endfor %} + +{% for i in deploy_systemd_resolved_config__fallback_dns %} +nameserver {{ i }} +{% endfor %} + +options edns0 diff --git a/roles/deploy_systemd_resolved_config/templates/resolved.conf.j2 b/roles/deploy_systemd_resolved_config/templates/resolved.conf.j2 new file mode 100644 index 0000000000..67968e4b2f --- /dev/null +++ b/roles/deploy_systemd_resolved_config/templates/resolved.conf.j2 @@ -0,0 +1,11 @@ +# {{ ansible_managed }} + +# Since the config supports drop-in files, +# use 'systemd-analyze cat-config systemd/resolved.conf' to display the full config.' +# +# See resolved.conf(5) for details + +[Resolve] +DNS={{ deploy_systemd_resolved_config__dns | join(" ") }} +FallbackDNS={{ deploy_systemd_resolved_config__fallback_dns | join(" ") }} + From c304a1c82a188bc1725cdb08c59a4aa4d631bad0 Mon Sep 17 00:00:00 2001 From: lilly Date: Sat, 2 May 2026 00:42:16 +0200 Subject: [PATCH 236/417] add README.md to deploy_systemd_resolved_config role --- .../deploy_systemd_resolved_config/README.md | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 roles/deploy_systemd_resolved_config/README.md diff --git a/roles/deploy_systemd_resolved_config/README.md b/roles/deploy_systemd_resolved_config/README.md new file mode 100644 index 0000000000..fbd6c7890d --- /dev/null +++ b/roles/deploy_systemd_resolved_config/README.md @@ -0,0 +1,21 @@ +# Role `deploy_systemd_resolved_config` + +A role for deploying a minimal configuration for [systemd-resolved](https://man.archlinux.org/man/systemd-resolved.8) or alternatively completely disabling it. + +!! Note +If systemd-resolved is disabled, the configuration is instead rendered directly into `/etc/resolv.conf` to ensure a node does not accidentally lose name resolving capabilities. + +## Optional Arguments + +- `deploy_systemd_resolved_config__enable` (defaults to `true`) decides whether systemd-resolved should be enabled or disabled. + +- `deploy_systemd_resolved_config__mode` (defaults to `stub`) controls which compatibility mode is used for `/etc/resolv.conf` when systemd-resolved is enabled. See [man systemd-resolved(8)](https://man.archlinux.org/man/systemd-resolved.8#/ETC/RESOLV.CONF). + +- `deploy_systemd_resolved_config__dns` is the list of primary DNS servers that will be configured. If e.g. a specific link configures other DNS servers, they will take precedence. + +- `deploy_systemd_resolved_config__fallback_dns` (defaults to Quad9) is the list of fallback DNS servers. If, at runtime, none of the configured primary DNS servers are reachable, these servers will be used as fallback. + +## Hosts + +This role is included as a dependency to [base_config](../base_config/) and therefore does not need to be explicitly pulled in. + From d880eb867798f24f44612f3cb5d8029f39651186 Mon Sep 17 00:00:00 2001 From: lilly Date: Sun, 3 May 2026 16:41:19 +0200 Subject: [PATCH 237/417] fix systemd-resolved not being installed closes https://git.hamburg.ccc.de/CCCHH/ansible-infra/issues/88 --- roles/deploy_systemd_resolved_config/tasks/enable.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/roles/deploy_systemd_resolved_config/tasks/enable.yaml b/roles/deploy_systemd_resolved_config/tasks/enable.yaml index 395ef0d6c8..9a7438ef1d 100644 --- a/roles/deploy_systemd_resolved_config/tasks/enable.yaml +++ b/roles/deploy_systemd_resolved_config/tasks/enable.yaml @@ -1,4 +1,11 @@ --- +- name: Ensure systemd-resolved is installed + tags: [ "deploy_systemd_resolved_config" ] + become: true + when: ansible_facts["distribution"] == "Debian" + ansible.builtin.package: + name: [ "systemd-resolved" ] + - name: Deploy systemd-resolved config tags: [ "deploy_systemd_resolved_config" ] become: true From adc34001770be1ddd67a397b10c5b6a634bc0c45 Mon Sep 17 00:00:00 2001 From: lilly Date: Wed, 6 May 2026 11:43:33 +0200 Subject: [PATCH 238/417] mute ansible discovered interpreter warning --- ansible.cfg | 1 + 1 file changed, 1 insertion(+) diff --git a/ansible.cfg b/ansible.cfg index 805406f0c2..dd28116467 100644 --- a/ansible.cfg +++ b/ansible.cfg @@ -4,3 +4,4 @@ pipelining = True vars_plugins_enabled = host_group_vars,community.sops.sops collections_path = ./ roles_path = ./galaxy-roles +interpreter_python = python3 From fa94d59df60b892b71dfafe737256cb6dfe12611 Mon Sep 17 00:00:00 2001 From: lilly Date: Wed, 29 Apr 2026 22:44:20 +0200 Subject: [PATCH 239/417] add barebones knot config This configuration does not yet do much but it provisions a knot server that runs. --- .../chaosknoten/host_vars/auth-dns.yaml | 1 + playbooks/deploy.yaml | 5 ++ .../auth-dns/docker_compose/compose.yaml.j2 | 13 ++++ roles/auth-dns/handlers/main.yaml | 8 +++ roles/auth-dns/tasks/01-install.yaml | 11 ++++ roles/auth-dns/tasks/02-configure.yaml | 11 ++++ roles/auth-dns/tasks/main.yaml | 3 + roles/auth-dns/templates/knot.conf.j2 | 64 +++++++++++++++++++ 8 files changed, 116 insertions(+) create mode 100644 inventories/chaosknoten/host_vars/auth-dns.yaml create mode 100644 resources/chaosknoten/auth-dns/docker_compose/compose.yaml.j2 create mode 100644 roles/auth-dns/handlers/main.yaml create mode 100644 roles/auth-dns/tasks/01-install.yaml create mode 100644 roles/auth-dns/tasks/02-configure.yaml create mode 100644 roles/auth-dns/tasks/main.yaml create mode 100644 roles/auth-dns/templates/knot.conf.j2 diff --git a/inventories/chaosknoten/host_vars/auth-dns.yaml b/inventories/chaosknoten/host_vars/auth-dns.yaml new file mode 100644 index 0000000000..ed97d539c0 --- /dev/null +++ b/inventories/chaosknoten/host_vars/auth-dns.yaml @@ -0,0 +1 @@ +--- diff --git a/playbooks/deploy.yaml b/playbooks/deploy.yaml index e032782258..130d9145c6 100644 --- a/playbooks/deploy.yaml +++ b/playbooks/deploy.yaml @@ -101,3 +101,8 @@ - name: Run ensure_eh22_styleguide_dir Playbook ansible.builtin.import_playbook: ensure_eh22_styleguide_dir.yaml + +- name: Setup authoritative dns servers + hosts: auth-dns + roles: + - auth-dns diff --git a/resources/chaosknoten/auth-dns/docker_compose/compose.yaml.j2 b/resources/chaosknoten/auth-dns/docker_compose/compose.yaml.j2 new file mode 100644 index 0000000000..7ebc230382 --- /dev/null +++ b/resources/chaosknoten/auth-dns/docker_compose/compose.yaml.j2 @@ -0,0 +1,13 @@ +# Links & Resources +# https://www.knot-dns.cz/docs/latest/html/index.html + +services: + knot: + image: docker.io/cznic/knot:v3.5.4 + restart: unless-stopped + command: "knotd" + network_mode: host + volumes: + - ./configs:/config:ro + - ./storage:/storage + diff --git a/roles/auth-dns/handlers/main.yaml b/roles/auth-dns/handlers/main.yaml new file mode 100644 index 0000000000..5ee0a5d856 --- /dev/null +++ b/roles/auth-dns/handlers/main.yaml @@ -0,0 +1,8 @@ +- tags: [ 02-auth-dns ] + name: restart knot + become: true + notify: restart knot + ansible.builtin.systemd: + name: knot.service + state: restarted + diff --git a/roles/auth-dns/tasks/01-install.yaml b/roles/auth-dns/tasks/01-install.yaml new file mode 100644 index 0000000000..0a269d6e2f --- /dev/null +++ b/roles/auth-dns/tasks/01-install.yaml @@ -0,0 +1,11 @@ +--- +- name: Install knot + tags: [ auth-dns ] + become: true + ansible.builtin.package: + name: + - knot + - knot-exporter + - knot-dnssecutils + - knot-dnsutils + - knot-host diff --git a/roles/auth-dns/tasks/02-configure.yaml b/roles/auth-dns/tasks/02-configure.yaml new file mode 100644 index 0000000000..661864c0f1 --- /dev/null +++ b/roles/auth-dns/tasks/02-configure.yaml @@ -0,0 +1,11 @@ +- tags: [ auth-dns ] + name: Deploy knot configuration file + become: true + notify: restart knot + ansible.builtin.template: + src: knot.conf.j2 + dest: /etc/knot/knot.conf + owner: knot + group: knot + mode: u=rw,g=r,o= + diff --git a/roles/auth-dns/tasks/main.yaml b/roles/auth-dns/tasks/main.yaml new file mode 100644 index 0000000000..cdf9511cb4 --- /dev/null +++ b/roles/auth-dns/tasks/main.yaml @@ -0,0 +1,3 @@ +--- +- ansible.builtin.import_tasks: 01-install.yaml # noqa: name[missing] +- ansible.builtin.import_tasks: 02-configure.yaml # noqa: name[missing] diff --git a/roles/auth-dns/templates/knot.conf.j2 b/roles/auth-dns/templates/knot.conf.j2 new file mode 100644 index 0000000000..d0e5a5a634 --- /dev/null +++ b/roles/auth-dns/templates/knot.conf.j2 @@ -0,0 +1,64 @@ +# {{ ansible_managed }} +# See knot.conf(5) or refer to the server documentation. + +server: + rundir: "/run/knot" + user: knot:knot + automatic-acl: on + listen: [ "0.0.0.0@53", "::@53" ] + +log: + - target: syslog + any: info + +database: + storage: "/var/lib/knot" + +key: + - id: auth-dns.hamburg.ccc.de + algorithm: hmac-sha512 + secret: "" + +remote: + - id: quad9 + address: "2620:fe::fe" + +# define how the presence of parent KSK keys is checked +# in this case, we just ask quad9 which is an open resolver +submission: + - id: default + parent: quad9 + parent-delay: 1h + +# define how dnssec signing is done +# in this case we don't do anything special but teach knot how to check of KSK presence +policy: + - id: default + ksk-submission: default + nsec3: true + nsec3-salt-length: 0 + +# define default settings that apply to all zones +template: + - id: default + storage: "/etc/knot/zones" + file: "%s.zone" + semantic-checks: on + zonefile-sync: -1 + zonefile-load: difference-no-serial + journal-content: all + default-ttl: 60 + catalog-role: member + catalog-zone: hamburg.ccc.de.catalog. + dnssec-signing: on + dnssec-policy: default + {# notify: ["ns1.hanse.de", "ns.bsd.network."] #} + + - id: minimal + {# notify: ["ns1.hanse.de", "ns.bsd.network."] #} + +zone: + {# - domain: onsite.eurofurence.catalog. #} + {# template: minimal #} + {# catalog-role: generate #} + {# - domain: "onsite.eurofurence.org" #} From becee70ab916662295e29a417ed88955de6548cb Mon Sep 17 00:00:00 2001 From: lilly Date: Thu, 30 Apr 2026 22:53:07 +0200 Subject: [PATCH 240/417] disable systemd-resolved on auth-dns --- inventories/chaosknoten/host_vars/auth-dns.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/inventories/chaosknoten/host_vars/auth-dns.yaml b/inventories/chaosknoten/host_vars/auth-dns.yaml index ed97d539c0..25b3de195b 100644 --- a/inventories/chaosknoten/host_vars/auth-dns.yaml +++ b/inventories/chaosknoten/host_vars/auth-dns.yaml @@ -1 +1,2 @@ --- +deploy_systemd_resolved_config__enable: false From 6fa2d65db2755c9d11dd1cb0743c03c72b6afba3 Mon Sep 17 00:00:00 2001 From: lilly Date: Thu, 30 Apr 2026 22:53:07 +0200 Subject: [PATCH 241/417] enable auth-dns role to actually configure useful zones --- roles/auth-dns/defaults/main.yaml | 2 + roles/auth-dns/handlers/main.yaml | 14 ++++- roles/auth-dns/meta/argument_specs.yaml | 59 +++++++++++++++++++ roles/auth-dns/tasks/02-configure.yaml | 41 +++++++++++++ roles/auth-dns/templates/knot.conf.j2 | 55 +++++++++++++---- .../templates/netplan-disable-ra.yaml | 14 +++++ roles/auth-dns/templates/zone.j2 | 4 ++ 7 files changed, 175 insertions(+), 14 deletions(-) create mode 100644 roles/auth-dns/defaults/main.yaml create mode 100644 roles/auth-dns/meta/argument_specs.yaml create mode 100644 roles/auth-dns/templates/netplan-disable-ra.yaml create mode 100644 roles/auth-dns/templates/zone.j2 diff --git a/roles/auth-dns/defaults/main.yaml b/roles/auth-dns/defaults/main.yaml new file mode 100644 index 0000000000..50a3ffb5d3 --- /dev/null +++ b/roles/auth-dns/defaults/main.yaml @@ -0,0 +1,2 @@ +--- +knot__remotes: [ ] diff --git a/roles/auth-dns/handlers/main.yaml b/roles/auth-dns/handlers/main.yaml index 5ee0a5d856..0d74c5133b 100644 --- a/roles/auth-dns/handlers/main.yaml +++ b/roles/auth-dns/handlers/main.yaml @@ -1,8 +1,18 @@ -- tags: [ 02-auth-dns ] +- tags: [ auth-dns ] name: restart knot become: true - notify: restart knot ansible.builtin.systemd: name: knot.service state: restarted +- name: reload knot zones + tags: [ auth-dns ] + become: true + changed_when: true + ansible.builtin.command: "knotc zone-reload" + +- name: netplan apply + tags: [ auth-dns ] + become: true + changed_when: true + ansible.builtin.command: "netplan apply" diff --git a/roles/auth-dns/meta/argument_specs.yaml b/roles/auth-dns/meta/argument_specs.yaml new file mode 100644 index 0000000000..40a58238e6 --- /dev/null +++ b/roles/auth-dns/meta/argument_specs.yaml @@ -0,0 +1,59 @@ +--- +argument_specs: + main: + options: + knot__dnssec_key_id: + description: The id of the TSIG key which knot will use for zone transfer signing + type: str + required: true + knot__dnssec_key_secret: + description: The secret value of the TSIG key which knot will use for zone transfer signing + type: str + required: true + knot__remotes: + description: + - A list of definitions for remote nameservers that are used for different purposes + - See https://www.knot-dns.cz/docs/latest/html/reference.html#remote-section for details + type: list + elements: dict + required: false + options: + id: + type: str + required: true + address: + type: list + required: true + elements: str + knot__catalog_zones: + description: A list of catalog zones that will be served by knot + type: list + elements: dict + required: true + options: + domain: + type: str + required: true + notify_targets: + type: list + elements: str + required: false + knot__zones: + description: A list of user zones that will be served by knot + type: list + elements: dict + required: true + options: + domain: + type: str + required: true + notify_targets: + type: list + elements: str + required: false + catalog_member: + type: str + required: false + content: + type: str + required: true diff --git a/roles/auth-dns/tasks/02-configure.yaml b/roles/auth-dns/tasks/02-configure.yaml index 661864c0f1..89116a44f4 100644 --- a/roles/auth-dns/tasks/02-configure.yaml +++ b/roles/auth-dns/tasks/02-configure.yaml @@ -1,3 +1,14 @@ +- tags: [ auth-dns ] + name: Ensure required directories exist + become: true + loop: [ "/etc/knot", "/etc/knot/zones" ] + ansible.builtin.file: + path: "{{ item }}" + state: directory + owner: knot + group: knot + mode: u=rwx,g=rx,o= + - tags: [ auth-dns ] name: Deploy knot configuration file become: true @@ -9,3 +20,33 @@ group: knot mode: u=rw,g=r,o= +- name: Deploy configured zones + tags: [ auth-dns ] + become: true + notify: reload knot zones + loop: "{{ knot__zones }}" + loop_control: + label: "{{ item.domain }}" + vars: + zone_content: "{{ item.content }}" + ansible.builtin.template: + src: zone.j2 + dest: "/etc/knot/zones/{{ item.domain }}zone" + owner: knot + group: knot + mode: u=rw,g=r + +# this seems weird but hear me out: +# if we don't disable SLAAC, the node automatically gets an address based on IPv6 Router-Advertisements +# this results in outgoing zone transfers failing because knot will prefer to use the dynamic address over the statically configured one. +# so because we are configuring a DNS Nameserver where known IP-Addresses are actually important for ACL reasons, SLAAC is disabled +- name: Disable IPv6 SLAAC + tags: [ auth-dns ] + become: true + notify: netplan apply + ansible.builtin.template: + src: "netplan-disable-ra.yaml" + dest: "/etc/netplan/10-disable-ra.yaml" + owner: root + group: root + mode: u=rw,g=,o= diff --git a/roles/auth-dns/templates/knot.conf.j2 b/roles/auth-dns/templates/knot.conf.j2 index d0e5a5a634..243c0b7abb 100644 --- a/roles/auth-dns/templates/knot.conf.j2 +++ b/roles/auth-dns/templates/knot.conf.j2 @@ -15,13 +15,21 @@ database: storage: "/var/lib/knot" key: - - id: auth-dns.hamburg.ccc.de + - id: {{ knot__dnssec_key_id }} algorithm: hmac-sha512 - secret: "" + secret: "{{ knot__dnssec_key_secret }}" remote: + # static, external and public remote used for DNSSEC KSK checking - id: quad9 address: "2620:fe::fe" + {% if knot__remotes -%} + # additional remotes used in the config + {% for i_remote in knot__remotes -%} + - id: "{{ i_remote.id }}" + address: [ {% for i_addr in i_remote.address %}"{{ i_addr}}"{% if not loop.last %},{% endif %} {% endfor %} ] + {% endfor %} + {% endif %} # define how the presence of parent KSK keys is checked # in this case, we just ask quad9 which is an open resolver @@ -31,7 +39,7 @@ submission: parent-delay: 1h # define how dnssec signing is done -# in this case we don't do anything special but teach knot how to check of KSK presence +# in this case we don't do anything special but teach knot how to check for KSK presence policy: - id: default ksk-submission: default @@ -40,25 +48,48 @@ policy: # define default settings that apply to all zones template: + # template for general-purpose user zones - id: default storage: "/etc/knot/zones" file: "%s.zone" semantic-checks: on zonefile-sync: -1 zonefile-load: difference-no-serial + serial-policy: dateserial journal-content: all - default-ttl: 60 - catalog-role: member - catalog-zone: hamburg.ccc.de.catalog. + default-ttl: 7200 dnssec-signing: on dnssec-policy: default - {# notify: ["ns1.hanse.de", "ns.bsd.network."] #} - - id: minimal - {# notify: ["ns1.hanse.de", "ns.bsd.network."] #} + {# catalog-role: member #} + {# catalog-zone: hamburg.ccc.de.catalog. #} + # template for automatically created special zones + - id: catalog + catalog-role: generate + dnssec-signing: on + dnssec-policy: default + + +# define zones on this server +# See https://www.knot-dns.cz/docs/3.4/html/reference.html#zone-section zone: - {# - domain: onsite.eurofurence.catalog. #} - {# template: minimal #} - {# catalog-role: generate #} + # catalog zones + {% for i_zone in knot__catalog_zones -%} + - domain: "{{ i_zone.domain }}" + template: catalog + notify: [ {% for i_notif in i_zone.notify_targets | default([]) %}"{{ i_notif }}"{% if not loop.last %}, {% endif %}{% endfor %} ] + {% endfor %} + + # normal zones + {% for i_zone in knot__zones -%} + - domain: "{{ i_zone.domain }}" + template: default + notify: [ {% for i_notif in i_zone.notify_targets | default([]) %}"{{ i_notif }}"{% if not loop.last %}, {% endif %}{% endfor %} ] + {% if i_zone.catalog_member | default(False) -%} + catalog-role: member + catalog-zone: "{{ i_zone.catalog_member }}" + {% endif %} + {% endfor %} + {# - domain: "onsite.eurofurence.org" #} diff --git a/roles/auth-dns/templates/netplan-disable-ra.yaml b/roles/auth-dns/templates/netplan-disable-ra.yaml new file mode 100644 index 0000000000..505fba27eb --- /dev/null +++ b/roles/auth-dns/templates/netplan-disable-ra.yaml @@ -0,0 +1,14 @@ +# {{ ansible_managed }} +network: + ethernets: + {%- for i_iface_name in ansible_interfaces -%} + {%- if i_iface_name != "lo" -%} + {%- set i_iface = ansible_facts[i_iface_name] %} + + {{ i_iface_name }}: + match: + macaddress: "{{ i_iface.macaddress }}" + accept-ra: false + {% endif %} + {% endfor %} + diff --git a/roles/auth-dns/templates/zone.j2 b/roles/auth-dns/templates/zone.j2 new file mode 100644 index 0000000000..59edf5fdcb --- /dev/null +++ b/roles/auth-dns/templates/zone.j2 @@ -0,0 +1,4 @@ +; {{ ansible_managed }} + +{{ zone_content }} + From c0a09cd2991e58dfd7a9a78e464f29e23c03c34e Mon Sep 17 00:00:00 2001 From: lilly Date: Thu, 30 Apr 2026 22:53:07 +0200 Subject: [PATCH 242/417] add old zones from ns-intern --- .../auth-dns/zones/0.0.127.in-addr.arpa.zone | 12 + .../chaosknoten/auth-dns/zones/127.0.0.zone | 11 + .../auth-dns/zones/168.192.in-addr.arpa.zone | 10 + .../zones/17.31.172.in-addr.arpa.zone | 49 ++ ....0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone | 16 + ....0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa.zone | 43 ++ ....0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone | 15 + ....0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone | 15 + ....0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone | 15 + ....0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone | 15 + resources/chaosknoten/auth-dns/zones/Makefile | 93 +++ .../chaosknoten/auth-dns/zones/ccchh.net.zone | 72 +++ .../auth-dns/zones/eh20.easterhegg.eu.zone | 27 + .../auth-dns/zones/eh22.easterhegg.eu.zone | 45 ++ .../auth-dns/zones/hamburg.ccc.de.zone | 590 ++++++++++++++++++ .../chaosknoten/auth-dns/zones/hh.ccc.de.zone | 69 ++ .../chaosknoten/auth-dns/zones/localhost.zone | 12 + .../auth-dns/zones/old-old/ccc.zone | 61 ++ .../auth-dns/zones/old-old/vpn.hh.ccc.zone | 37 ++ 19 files changed, 1207 insertions(+) create mode 100644 resources/chaosknoten/auth-dns/zones/0.0.127.in-addr.arpa.zone create mode 100644 resources/chaosknoten/auth-dns/zones/127.0.0.zone create mode 100644 resources/chaosknoten/auth-dns/zones/168.192.in-addr.arpa.zone create mode 100644 resources/chaosknoten/auth-dns/zones/17.31.172.in-addr.arpa.zone create mode 100644 resources/chaosknoten/auth-dns/zones/2.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone create mode 100644 resources/chaosknoten/auth-dns/zones/3.2.0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa.zone create mode 100644 resources/chaosknoten/auth-dns/zones/3.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone create mode 100644 resources/chaosknoten/auth-dns/zones/4.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone create mode 100644 resources/chaosknoten/auth-dns/zones/5.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone create mode 100644 resources/chaosknoten/auth-dns/zones/6.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone create mode 100644 resources/chaosknoten/auth-dns/zones/Makefile create mode 100644 resources/chaosknoten/auth-dns/zones/ccchh.net.zone create mode 100644 resources/chaosknoten/auth-dns/zones/eh20.easterhegg.eu.zone create mode 100644 resources/chaosknoten/auth-dns/zones/eh22.easterhegg.eu.zone create mode 100644 resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone create mode 100644 resources/chaosknoten/auth-dns/zones/hh.ccc.de.zone create mode 100644 resources/chaosknoten/auth-dns/zones/localhost.zone create mode 100644 resources/chaosknoten/auth-dns/zones/old-old/ccc.zone create mode 100644 resources/chaosknoten/auth-dns/zones/old-old/vpn.hh.ccc.zone diff --git a/resources/chaosknoten/auth-dns/zones/0.0.127.in-addr.arpa.zone b/resources/chaosknoten/auth-dns/zones/0.0.127.in-addr.arpa.zone new file mode 100644 index 0000000000..770447b904 --- /dev/null +++ b/resources/chaosknoten/auth-dns/zones/0.0.127.in-addr.arpa.zone @@ -0,0 +1,12 @@ +$ORIGIN 0.0.127.in-addr.arpa. +$TTL 7200 + +@ 1D IN SOA localhost. root.localhost. ( + 42 ; serial (d. adams) + 3H ; refresh + 15M ; retry + 1W ; expiry + 1D ) ; minimum + + 1D IN NS localhost. +1 1D IN PTR localhost. diff --git a/resources/chaosknoten/auth-dns/zones/127.0.0.zone b/resources/chaosknoten/auth-dns/zones/127.0.0.zone new file mode 100644 index 0000000000..b9b7bf5e0d --- /dev/null +++ b/resources/chaosknoten/auth-dns/zones/127.0.0.zone @@ -0,0 +1,11 @@ +$ORIGIN 0.0.127.in-addr.arpa. + +@ 1D IN SOA localhost. root.localhost. ( + 42 ; serial (d. adams) + 3H ; refresh + 15M ; retry + 1W ; expiry + 1D ) ; minimum + + 1D IN NS localhost. +1 1D IN PTR localhost. diff --git a/resources/chaosknoten/auth-dns/zones/168.192.in-addr.arpa.zone b/resources/chaosknoten/auth-dns/zones/168.192.in-addr.arpa.zone new file mode 100644 index 0000000000..910c5963df --- /dev/null +++ b/resources/chaosknoten/auth-dns/zones/168.192.in-addr.arpa.zone @@ -0,0 +1,10 @@ +$TTL 7200 + +@ IN SOA ns.hamburg.ccc.de. hostmaster.ccc.de. ( + 2016111701 + 10800 + 3600 + 3600000 + 86400 ) + + IN NS ns.hamburg.ccc.de. diff --git a/resources/chaosknoten/auth-dns/zones/17.31.172.in-addr.arpa.zone b/resources/chaosknoten/auth-dns/zones/17.31.172.in-addr.arpa.zone new file mode 100644 index 0000000000..ea2c1cebf9 --- /dev/null +++ b/resources/chaosknoten/auth-dns/zones/17.31.172.in-addr.arpa.zone @@ -0,0 +1,49 @@ +$TTL 7200 + +@ IN SOA ns-intern.hamburg.ccc.de. haegar.ccc.de. ( + 2025020101 + 10800 + 3600 + 3600000 + 86400 ) + + IN NS ns-intern.hamburg.ccc.de. + +1 IN PTR turing-vzhost.hamburg.ccc.de. +14 IN PTR attraktor-intern.hamburg.ccc.de. +53 IN PTR ns-intern.hamburg.ccc.de. +122 IN PTR oldturing.hamburg.ccc.de. +129 IN PTR turing-router.hamburg.ccc.de. +131 IN PTR officemail.hh.ccc.de. +132 IN PTR turing-new.hamburg.ccc.de. +133 IN PTR gitlab-intern.hamburg.ccc.de. +134 IN PTR jabber-intern.hamburg.ccc.de. +135 IN PTR turing-db.hamburg.ccc.de. +136 IN PTR chaosvpn-dns.hamburg.ccc.de. +137 IN PTR attraktor-intern2.hamburg.ccc.de. +138 IN PTR gitlab-test-intern.hamburg.ccc.de. +139 IN PTR gitlab-runner.hamburg.ccc.de. +142 IN PTR turing-intern2.hamburg.ccc.de. +143 IN PTR cloud-intern.hamburg.ccc.de. +144 IN PTR keycloak-intern.hamburg.ccc.de. +145 IN PTR grafana-intern.hamburg.ccc.de. +146 IN PTR wiki-intern.hamburg.ccc.de. +147 IN PTR onlyoffice-intern.hamburg.ccc.de. +148 IN PTR tickets-intern.hamburg.ccc.de. +149 IN PTR netbox-intern.hamburg.ccc.de. +150 IN PTR matrix-intern.hamburg.ccc.de. +151 IN PTR public-web-static-intern.hamburg.ccc.de. +152 IN PTR zammad-intern.hamburg.ccc.de. +153 IN PTR ns-intern2.hamburg.ccc.de. +156 IN PTR ccchoir-intern.hamburg.ccc.de. +157 IN PTR pretalx-intern.hamburg.ccc.de. +163 IN PTR renovate-forgejo.hamburg.ccc.de +180 IN PTR rproxy-intern.hamburg.ccc.de. +199 IN PTR template.hamburg.ccc.de. +201 IN PTR cow-intern.hamburg.ccc.de. +202 IN PTR forgejo-runner-builder.hamburg.ccc.de. +202 IN PTR forgejo-runner-ubuntu.hamburg.ccc.de. +204 IN PTR eh22hub-intern.hamburg.ccc.de. +212 IN PTR eh20-intern.hamburg.ccc.de. +213 IN PTR cryptoparty-intern.hamburg.ccc.de. +254 IN PTR chaosknoten.hamburg.ccc.de. diff --git a/resources/chaosknoten/auth-dns/zones/2.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone b/resources/chaosknoten/auth-dns/zones/2.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone new file mode 100644 index 0000000000..205bda522f --- /dev/null +++ b/resources/chaosknoten/auth-dns/zones/2.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone @@ -0,0 +1,16 @@ +$TTL 7200 + +@ IN SOA ns.hamburg.ccc.de. haegar.ccc.de. ( + 2023073001 + 10800 + 3600 + 3600000 + 86400 ) + + IN NS ns.hamburg.ccc.de. + IN NS ns.vie.ccc.de. + +; 2a00:14b0:4200:3000:122::1 + +1.0.0.0.0.0.0.0.0.0.0.0 IN PTR turing.hamburg.ccc.de. + diff --git a/resources/chaosknoten/auth-dns/zones/3.2.0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa.zone b/resources/chaosknoten/auth-dns/zones/3.2.0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa.zone new file mode 100644 index 0000000000..240d783403 --- /dev/null +++ b/resources/chaosknoten/auth-dns/zones/3.2.0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa.zone @@ -0,0 +1,43 @@ +$TTL 7200 + +@ IN SOA ns.hamburg.ccc.de. haegar.ccc.de. ( + 2025020102 + 10800 + 3600 + 3600000 + 86400 ) + + IN NS ns.hamburg.ccc.de. + IN NS ns.vie.ccc.de. + +; ccchh firewall / tunnelendpunkte: +1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR fwhh.hamburg.ccc.de. + +6.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR jabber.hamburg.ccc.de. +3.5.0.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR ns.hamburg.ccc.de. +0.8.0.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR rproxy.hamburg.ccc.de. +2.2.1.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR oldturing.hamburg.ccc.de. +3.3.1.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR gitlab-intern.hamburg.ccc.de. +5.3.1.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR fftest.hamburg.ccc.de. +4.1.0.0.0.0.0.0.0.0.0.0.8.4.0.0 IN PTR wiki.attraktor.org. +1.0.0.0.0.0.0.0.0.1.2.0.0.5.0.0 IN PTR lokal.ccc.de. +1.0.0.0.0.0.0.0.2.1.2.0.0.5.0.0 IN PTR eh20.hamburg.ccc.de. +1.0.0.0.0.0.0.0.3.1.2.0.0.5.0.0 IN PTR cryptoparty.hamburg.ccc.de. + +1.0.0.0.0.0.0.0.0.4.1.0.1.5.0.0 IN PTR shellhost.hamburg.ccc.de. + +1.0.0.0.0.0.0.0.0.3.1.0.1.5.0.0 IN PTR unallocated.hamburg.ccc.de. +1.0.0.0.0.0.0.0.1.3.1.0.1.5.0.0 IN PTR cms.hamburg.ccc.de. +1.0.0.0.0.0.0.0.2.3.1.0.1.5.0.0 IN PTR lists.hamburg.ccc.de. +1.0.0.0.0.0.0.0.3.3.1.0.1.5.0.0 IN PTR cow.hamburg.ccc.de. +1.0.0.0.0.0.0.0.4.3.1.0.1.5.0.0 IN PTR srv01.hamburg.freifunk.net. +1.0.0.0.0.0.0.0.5.3.1.0.1.5.0.0 IN PTR fftest.hamburg.ccc.de. +1.0.0.0.0.0.0.0.6.3.1.0.1.5.0.0 IN PTR git.hamburg.ccc.de. +1.0.0.0.0.0.0.0.7.3.1.0.1.5.0.0 IN PTR unallocated.hamburg.ccc.de. +1.0.0.0.0.0.0.0.8.3.1.0.1.5.0.0 IN PTR unallocated.hamburg.ccc.de. +1.0.0.0.0.0.0.0.9.3.1.0.1.5.0.0 IN PTR jitsi.hamburg.ccc.de. +1.0.0.0.0.0.0.0.0.4.1.0.1.5.0.0 IN PTR shells.hamburg.ccc.de. +1.0.0.0.0.0.0.0.1.4.1.0.1.5.0.0 IN PTR mumble.hamburg.ccc.de. +1.0.0.0.0.0.0.0.2.4.1.0.1.5.0.0 IN PTR regio-stage.hamburg.ccc.de. +1.0.0.0.0.0.0.0.4.0.2.0.1.5.0.0 IN PTR eh22hub.hamburg.ccc.de. +1.0.0.0.0.0.0.0.5.0.2.0.1.5.0.0 IN PTR eh22hub-meta.hamburg.ccc.de. diff --git a/resources/chaosknoten/auth-dns/zones/3.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone b/resources/chaosknoten/auth-dns/zones/3.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone new file mode 100644 index 0000000000..3b3921c9bc --- /dev/null +++ b/resources/chaosknoten/auth-dns/zones/3.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone @@ -0,0 +1,15 @@ +$TTL 7200 + +@ IN SOA ns.hamburg.ccc.de. haegar.ccc.de. ( + 2023072900 + 10800 + 3600 + 3600000 + 86400 ) + + IN NS ns.hamburg.ccc.de. + IN NS ns.vie.ccc.de. + +; 2a00:14b0:4200:3000:123::1 + +1.0.0.0.0.0.0.0.0.0.0.0 IN PTR unused.hamburg.ccc.de. diff --git a/resources/chaosknoten/auth-dns/zones/4.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone b/resources/chaosknoten/auth-dns/zones/4.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone new file mode 100644 index 0000000000..4bba9bcd91 --- /dev/null +++ b/resources/chaosknoten/auth-dns/zones/4.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone @@ -0,0 +1,15 @@ +$TTL 7200 + +@ IN SOA ns.hamburg.ccc.de. haegar.ccc.de. ( + 2023072900 + 10800 + 3600 + 3600000 + 86400 ) + + IN NS ns.hamburg.ccc.de. + IN NS ns.vie.ccc.de. + +; 2a00:14b0:4200:3000:124::1 + +1.0.0.0.0.0.0.0.0.0.0.0 IN PTR unused.hamburg.ccc.de. diff --git a/resources/chaosknoten/auth-dns/zones/5.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone b/resources/chaosknoten/auth-dns/zones/5.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone new file mode 100644 index 0000000000..8eeaf6435d --- /dev/null +++ b/resources/chaosknoten/auth-dns/zones/5.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone @@ -0,0 +1,15 @@ +$TTL 7200 + +@ IN SOA ns.hamburg.ccc.de. haegar.ccc.de. ( + 2023072900 + 10800 + 3600 + 3600000 + 86400 ) + + IN NS ns.hamburg.ccc.de. + IN NS ns.vie.ccc.de. + +; 2a00:14b0:4200:3000:125::1 + +1.0.0.0.0.0.0.0.0.0.0.0 IN PTR public-reverse-proxy.hamburg.ccc.de. diff --git a/resources/chaosknoten/auth-dns/zones/6.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone b/resources/chaosknoten/auth-dns/zones/6.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone new file mode 100644 index 0000000000..154508404c --- /dev/null +++ b/resources/chaosknoten/auth-dns/zones/6.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone @@ -0,0 +1,15 @@ +$TTL 7200 + +@ IN SOA ns.hamburg.ccc.de. haegar.ccc.de. ( + 2023073001 + 10800 + 3600 + 3600000 + 86400 ) + + IN NS ns.hamburg.ccc.de. + IN NS ns.vie.ccc.de. + +; 2a00:14b0:4200:3000:126::1 + +1.0.0.0.0.0.0.0.0.0.0.0 IN PTR chaosknoten.hamburg.ccc.de. diff --git a/resources/chaosknoten/auth-dns/zones/Makefile b/resources/chaosknoten/auth-dns/zones/Makefile new file mode 100644 index 0000000000..d3b6687277 --- /dev/null +++ b/resources/chaosknoten/auth-dns/zones/Makefile @@ -0,0 +1,93 @@ + +CHANGED = $(shell git diff --name-only --relative -- '*.zone' ) + +export GIT_AUTHOR_NAME = "Bind Makefile" +#export GIT_AUTHOR_EMAIL = "$(shell whoami)@$(shell hostname -f)" +#export GIT_COMMITTER_NAME = $(GIT_AUTHOR_NAME) +#export GIT_COMMITTER_EMAIL = $(GIT_AUTHOR_EMAIL) + +all: rollover +install: rollover + +rollover: autoserial diff check reload eof + + +diff: + @echo "Diff Zones... " + @git diff -U0 -- $(CHANGED) \ + | grep -a -v -E '^(diff |index |---|@@)' \ + | sed -e 's/^[+]* .\/\([^ ]*\).*/=> \1/' + +autoserial: + @for file in $(CHANGED); do \ + perl -p -i -e 'if ($$p =~ /[\t\s]+IN[\t\s]+SOA[\t\s]+/) { $$stamp = sprintf("%4.4d%02.2d%02.2d", (localtime)[5]+1900, (localtime)[4]+1, (localtime)[3]); $$count = (/$$stamp([0-9]{2})/)? $$1 + 1: 1; s/[0-9]+/sprintf("%s%02.2d", $$stamp, $$count)/e; } $$p = $$_;' $$file; \ + done + +check: + @echo "Checking Configs... " + @if ! named-checkconf /etc/bind/named.conf; then \ + echo "FIX THE ERROR AND TRY AGAIN"; \ + exit 1 ; \ + fi + + @echo "Checking Zones... " + @named-checkconf -j -p /etc/bind/named.conf \ + | perl -e 'my $$zone = ""; while (<>) { if (/^\s+zone\s+\"(.*)\"/) { $$zone = $$1; } elsif (($$zone ne "") && /^\s+file\s+\"(.*?)\"/) { print "$$zone $$1\n"; $$zone = ""; } }' \ + | sort \ + | uniq \ + | while read zone file; do \ + echo "FOO: zone: $$zone file: $$file"; \ + if [ -z "$$file" -o "$$zone" = "key" ] ; then \ + continue ; \ + fi ; \ + if echo -n "$$zone" | grep -q -E '(sc-eur.com|db.root|named.dump|named.stats)'; then \ + continue; \ + fi; \ + if ! named-checkzone -q -i "full" $$zone $$file; then \ + named-checkzone -i "full" $$zone $$file; \ + echo "FIX THE ERROR AND TRY AGAIN"; \ + exit 1 ; \ + fi; \ + done + +#@echo "Checking CNAMEs and PTRs... " +#@grep -l -E '.*(PTR|CNAME).*[^.]*[.][^.]*[^.]$$' *.* \ +#| grep -v '\.sh$$' \ +#| while read file; do \ +# echo "$$file: DO NOT FORGET THE LAST DOT"; \ +# grep -E '.*(PTR|CNAME).*[^.]*[.][^.]*[^.]$$' $$file; \ +# exit 1 ; \ +#done + +reload: + @while [ "$$answer" = "" ]; do \ + echo -n "Do you want to reload all zones ? [yes] "; \ + read answer; \ + case $$answer in \ + [Yy]|[Yy][Ee][Ss]) \ + answer="yes"; \ + break; \ + ;; \ + [Nn]|[Nn][Oo]) \ + answer="no"; \ + break; \ + ;; \ + "") \ + answer="yes"; \ + break; \ + ;; \ + *) \ + answer=""; \ + ;; \ + esac; \ + done; \ + if [ "$$answer" = "yes" ]; then \ + etckeeper commit "Changed DNS Zones: $(CHANGED)" ; \ + rndc reload; \ + else \ + echo "Server reload aborted"; \ + exit 1 ; \ + fi + +eof: + @echo "DONE -- That's all folks!" diff --git a/resources/chaosknoten/auth-dns/zones/ccchh.net.zone b/resources/chaosknoten/auth-dns/zones/ccchh.net.zone new file mode 100644 index 0000000000..f95ee6328d --- /dev/null +++ b/resources/chaosknoten/auth-dns/zones/ccchh.net.zone @@ -0,0 +1,72 @@ +$ORIGIN . +$TTL 900 ; 15 minutes +ccchh.net IN SOA ns1.ccchh.net. noreply.ccchh.net. ( + 2026042801 ; serial + 86400 ; refresh (1 day) + 7200 ; retry (2 hours) + 3600000 ; expire (5 weeks 6 days 16 hours) + 7200 ; minimum (2 hours) + ) + NS ns.vie.ccc.de. + NS ns.hamburg.ccc.de. +$ORIGIN ccchh.net. +aes A 212.12.48.125 +club-assistant AAAA 2a07:c481:1:d0::a +;_acme-challenge.club-assistant CNAME d50ad73a-f82d-4244-87f0-6f5195b37d21.auth.acmedns.hamburg.ccc.de +club-assistant.z9 AAAA 2a07:c481:1:d0::a +;_acme-challenge.club-assistant.z9 CNAME 0efa74d1-7dcd-478b-bdc5-5b76d0f07642.auth.acmedns.hamburg.ccc.de +esphome AAAA 2a07:c481:1:d0::66 +esphome.z9 AAAA 2a07:c481:1:d0::66 +zigbee2mqtt A 185.161.129.132 +light AAAA 2a07:c481:1:d0::16 +_acme-challenge.light CNAME e59f55ee-9013-469d-a146-a159721b6fea.auth.acmedns.hamburg.ccc.de. +light.z9 AAAA 2a07:c481:1:d0::16 +_acme-challenge.light.z9 CNAME 3bc9e7ce-03dd-4533-a059-b5d38407eaa5.auth.acmedns.hamburg.ccc.de. +light-werkstatt AAAA 2a07:c481:1:d0::16 +_acme-challenge.light-werkstatt CNAME f408acc0-d9f5-4525-bb01-28938e3bb7d0.auth.acmedns.hamburg.ccc.de. +mailserver-endpoint A 82.165.121.46 +ns1 A 185.161.129.133 +send-only-mail MX 10 send-only-mailserver + TXT "v=spf1 mx -all" +send-only-mailserver A 82.165.121.46 +send-only-mailserver-access A 185.161.129.132 +thinkcccore0 AAAA 2a07:c481:1:f2::3 +thinkcccore0.z9 AAAA 2a07:c481:1:f2::3 +thinkcccore1 AAAA 2a07:c481:1:f2::4 +thinkcccore1.z9 AAAA 2a07:c481:1:f2::4 +opnsense AAAA 2a07:c481:1:f2::1 +opnsense.z9 AAAA 2a07:c481:1:f2::1 +pbs AAAA 2a07:c481:1:f2::4 +thinkcccore2 AAAA 2a07:c481:1:f2::5 +thinkcccore2.z9 AAAA 2a07:c481:1:f2::5 +thinkcccore3 AAAA 2a07:c481:1:f2::6 +thinkcccore3.z9 AAAA 2a07:c481:1:f2::6 +miniscccore0 AAAA 2a07:c481:1:f2::9 +miniscccore0.z9 AAAA 2a07:c481:1:f2::9 +uptime-kuma A 185.161.129.132 +status AAAA 2a07:c481:1:ce::a +status.z9 AAAA 2a07:c481:1:ce::a +wiki A 212.12.48.125 +hmdooris-ccu A 10.31.208.202 +buba A 10.31.211.137 +buba.z9 A 10.31.211.137 +dooris AAAA 2a07:c481:1:d0::1c +_acme-challenge.dooris CNAME 37caae1f-b77f-4eb1-aa71-dc3f7ed24360.auth.acmedns.hamburg.ccc.de +waybackproxy A 10.31.208.99 +yate A 10.31.208.12 +staubiv2 A 10.31.210.233 +staubiv2.z9 A 10.31.210.233 +; Mail: hosts.z9.ccchh.net +hosts.z9 MX 10 cow.hamburg.ccc.de + TXT "v=spf1 mx -all" +dkim._domainkey.hosts.z9 TXT ("v=DKIM1;k=rsa;t=s;s=email;" + "p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvsdypQ/tlrzto5KVP" + "5o7tEblXK/hOVRFB683uODzo26XTFMSRGjumMuo/tej59GMePdUu0uIsdq8hfj8" + "ot0R2OQNazdyp4NW4TUWfFGJ4S2f6LR3lE3I5Lw7fHiYHz0GnCGTqZIItkHK+xQ" + "i5Fdhwd1YbFJtO0XiZ0jY5w6pvny6pEH8WaKX85rEmz2zqCtpiYPRPmoK/Tn+rV" + "2e8fVioMRm9W8E4PU42WLds66qOkFR0KjKIavE6y7JahESEoVGcVnSPdtMOX0Ln" + "KbSMQNrTvNbBoPdLYvNaXOw7TmVPKjDV+FRCIIdK+m0fL82/vm5jPBvDr5+WlM1" + "xV/P/KlSnQIDAQAB") +$ORIGIN send-only-mail.ccchh.net. +_dmarc TXT "v=DMARC1;p=quarantine;" +key._domainkey TXT "v=DKIM1;k=rsa;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDqduM4+SQ+IQ2uAxbjFkd+0hAjohTgT3nM76jyrWGHJ8TizNU2PGkta0NjCq+m9VLBZUjIJphW2vrnlJsnN0JkGAdoLBL3Qs0kShT6V+xsxslZG2KHApihnJUp34tPSMES+aTnD+jEPGyxFLeoiK+3gywNhCGalHSQ+G88Z2n59wIDAQAB" diff --git a/resources/chaosknoten/auth-dns/zones/eh20.easterhegg.eu.zone b/resources/chaosknoten/auth-dns/zones/eh20.easterhegg.eu.zone new file mode 100644 index 0000000000..ee28f2b7fa --- /dev/null +++ b/resources/chaosknoten/auth-dns/zones/eh20.easterhegg.eu.zone @@ -0,0 +1,27 @@ +$TTL 7200 + +@ IN SOA ns.hamburg.ccc.de. mail.hamburg.ccc.de. ( + 2025021101 + 10800 + 3600 + 3600000 + 86400 ) + + IN NS ns.hamburg.ccc.de. + IN NS ns.vie.ccc.de. + + IN MX 5 nomail.ccc.de. + ;IN MX 10 local-mail.hamburg.ccc.de. + IN MX 10 vworker02.irz42.net. + IN MX 23 nomail2.ccc.de. + IN MX 42 nomail3.ccc.de. + + IN TXT "v=spf1 mx ip4:144.76.16.19/32 ip4:212.12.51.133/32 ip6:2a01:4f8:191:331::2/128 ip6:2a00:14b0:f000:23:51:133:0:1/128 ~all" + + IN A 212.12.48.125 + IN AAAA 2a00:14b0:4200:3000:125::1 + +localhost IN A 127.0.0.1 + +* IN CNAME @ +www IN CNAME @ diff --git a/resources/chaosknoten/auth-dns/zones/eh22.easterhegg.eu.zone b/resources/chaosknoten/auth-dns/zones/eh22.easterhegg.eu.zone new file mode 100644 index 0000000000..0d936e628f --- /dev/null +++ b/resources/chaosknoten/auth-dns/zones/eh22.easterhegg.eu.zone @@ -0,0 +1,45 @@ +$TTL 600 + +@ IN SOA ns.hamburg.ccc.de. mail.hamburg.ccc.de. ( + 2026033101 + 10800 + 3600 + 3600000 + 86400 ) + + IN NS ns.hamburg.ccc.de. + IN NS ns.vie.ccc.de. + + IN A 212.12.48.125 + IN AAAA 2a00:14b0:4200:3000:125::1 + + IN MX 10 cow.hamburg.ccc.de. +;autodiscover IN CNAME cow.hamburg.ccc.de. +;_autodiscover._tcp IN SRV 10 cow.hamburg.ccc.de. 443 +;autoconfig IN CNAME cow.hamburg.ccc.de + + IN TXT "v=spf1 mx ip4:144.76.16.19/32 ip4:212.12.51.133/32 ip6:2a01:4f8:191:331::2/128 ip6:2a00:14b0:f000:23:51:133:0:1/128 ~all" +;_dmarc IN TXT **TODO** + +dkim._domainkey IN TXT ( "v=DKIM1;k=rsa;t=s;s=email;p=MIIBIjANBgkqhk" + "iG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqoWo7mbis3REqBURP3ZQZwOY7RSsS7" + "TY9eFHvW/O83YseEHoIQmeKkHj1lRrP+6Jhow2XngveBzt/m5AQclLVMURt5" + "2zsLCtiXxOYMLIIAgFOfxGjMdfqh9+X0wuOqHgoZiP2uBfAWLKfV/CZcovI/" + "0d2d7vQvc+7PJwZ9htoIu3NesasOFsrhv1yfFJidC87focQdaVKfD9cF68/w" + "2Ri2TGzcSQHAiIxJq3MgawSJZiyVD+psZdzZDB1YIw8NJxmDskzFicTLrYyH" + "8XOf5f5lOWjRYrfe0H8sAe1NBb/OP2T7Qs3S9DQosMSPwyALC3FPZKsVMbtI" + "mr8F+J+M/H9QIDAQAB" ) + +localhost IN A 127.0.0.1 + +intern IN A 172.31.17.212 +cfp IN CNAME public-reverse-proxy.hamburg.ccc.de. +_acme-challenge.cfp CNAME 295a66d4-1d71-49f3-a80a-1f7527ec9cca.auth.acmedns.hamburg.ccc.de. +netbox IN CNAME public-reverse-proxy.hamburg.ccc.de. +presale IN A 78.47.203.122 + IN AAAA 2a01:4f8:1c17:b147::2 +pretix IN A 78.47.203.122 + IN AAAA 2a01:4f8:1c17:b147::2 +engel IN A 167.235.129.15 + IN AAAA 2a01:4f8:1c1b:e967::1 +radius IN A 94.45.254.130 diff --git a/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone b/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone new file mode 100644 index 0000000000..17f4dd74d3 --- /dev/null +++ b/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone @@ -0,0 +1,590 @@ +; es wird jetzt der hostname mail.hamburg.ccc.de nicht mehr +; verwendet, sondern statt dessen local-mail.hamburg.ccc.de +; die popeye fuehlt sich immer noch unter mail.hamburg.ccc.de +; angesprochen, und nimmt daher keine mails mit absender-adressen +; die sie nicht kennt an. +; ich hoffe diese aenderung arbeitet um diesen bug herum. +; - haegar 2001.11.14 + +$TTL 7200 +@ IN SOA ns.hamburg.ccc.de. haegar.ccc.de. ( + 2026042903 + 10800 + 3600 + 3600000 + 86400 ) + + IN NS ns.hamburg.ccc.de. + IN NS ns.vie.ccc.de. + +$TTL 60 + IN MX 10 cow.hamburg.ccc.de. +; IN MX 10 local-mail.hamburg.ccc.de. +$TTL 7200 + IN TXT "v=spf1 mx ip4:212.12.51.133 ip6:2a00:14b0:f000:23:51:133:0:1 ip4:212.12.48.122 ip6:2a00:14b0:4200:3000:122::1 -all" + + IN A 212.12.48.125 + IN AAAA 2a00:14b0:4200:3000:125::1 + +dkim._domainkey IN TXT ("v=DKIM1;k=rsa;t=s;s=email;" + "p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4wZRajtsQTrVgXco7" + "1E2T+UDRxzzXJ+0F7m1UHiPpsjGQJ4Njs4Zc6qC21FLxhUIRFURy9mZ2mGk6hnL" + "w6wi0xm0N3MOH8BG/omPfWJcH4C1XXMk6trYSjhKQb4FzNbusAFoldIdwtt/aa/" + "GJBvRD+XYulvuyqolD2SGY62tAiXqls4ik2ZiDrIv+Dglg8b8fD4kzqe/aXlUvD" + "j3hCMHmyjE8mn8lYnS0QfSnV8NlqKwOhF+iwqfrhMI2bZFCQ+td03RtQjaXw5W+" + "30NMcOv6Se4vPDl4nUIBJZ/wP3CBz1k66VShHB+un7SxoUQuW0+oDqN4QHH338b" + "2dDOoBJndwIDAQAB") +_dmarc IN TXT "v=DMARC1;p=none;sp=none;pct=100;rua=mailto:dmarc-report@hamburg.ccc.de;ruf=mailto:dmarc-report@hamburg.ccc.de;ri=86400;aspf=r;adkim=r;fo=1" + + +;_sip._udp IN SRV 10 0 5060 vermittlung +;_sip._tcp IN SRV 10 4 5060 vermittlung +;_sips._tcp IN SRV 10 4 5060 vermittlung + +_xmpp-client._tcp IN SRV 10 0 5222 jabber +_xmpp-server._tcp IN SRV 10 0 5269 jabber +_xmpp-client._tcp.jabber IN SRV 10 0 5222 jabber +_xmpp-server._tcp.jabber IN SRV 10 0 5269 jabber + +localhost IN A 127.0.0.1 + +dante._domainkey IN TXT ( "v=DKIM1;k=rsa;t=s;s=email;" + "p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzMLFoEXbD/IgP6TIz2KDZudbnYtcJ4QjdWiwEP5NMvugymzDCiLaKTwNUFycKA1TvW0Y7/x0EEgqcSjfV87GU8xs6qsArgbQWBCs9gPBInbA8LBX9RN/JX30pESh+jGfdNWl7mWkkyVuONUgy/vFHWswJZ72Lg96gyBBCAR1ABC7qM8PYjoFFlRR76PfZNV8YHRBM/1ypQthtjPf" + "NKhV8MksNIXPKhcQwy6/JAVpkUunVpOrsuf2K6RFVMrVNUEtEYkpZUPtnoTYwaB0rRLg0f+InHzKZx2uv6JexyWZOwxsv8Bv1I+jdiEkQMw9kORZ81sv2mcUO+0PubeYVpvWAwIDAQAB" ) +hansenerd._domainkey IN TXT ( "v=DKIM1; k=rsa; " + "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDlxTgmc5Fe2aQc5razQYlk3OBGNePuevJQ7YVp5j5IM0ukBLM1erTR6DLZZvoGd2puKvfjlvejR3GRY4YXeZkCJoS0ZjwpR3Tfy8PzUbPNMt5e/buHGK1v+9E9zrl4vrxgYYYlYqjl1HF1K9oE5yPI1AIeUxzZpduheJASlxr9VwIDAQAB" ) ; + + +; VMWare ESXi Host: +worker IN A 212.12.48.123 +worker-ipmi IN A 212.12.51.136 +; Proxmox Host: +chaosknoten IN A 212.12.48.126 + IN AAAA 2a00:14b0:4200:3000::126:1 +;chaosknoten-ipmi IN A 212.12.51.137; unused public IP +chaosknoten-ipmi IN A 44.128.124.4 + +; DMZ-Server: +dmz-net IN A 212.12.50.208 + +turing IN A 212.12.48.122 + IN AAAA 2a00:14b0:4200:3000:122::1 + IN MX 10 cow.hamburg.ccc.de. +turing-chaosvpn IN AAAA 2001:6f8:126f:11::3 + IN A 172.31.17.1 +turing-vpn IN CNAME turing-chaosvpn +turing-vpngw IN A 212.12.48.122 + IN AAAA 2a00:14b0:4200:3000:122::1 +turing-vzhost IN A 172.31.17.1 + IN AAAA 2a00:14b0:4200:3000:122::1 + IN MX 10 cow.hamburg.ccc.de. +turing-vzhost2 IN CNAME turing-vzhost +turing-router IN A 172.31.17.129 + +turing-new IN A 172.31.17.132 + +oldturing IN A 172.31.17.122 + IN AAAA 2a00:14b0:f000:23::122 + IN MX 10 cow.hamburg.ccc.de. +turing-intern IN CNAME oldturing +turing-intern2 IN A 172.31.17.142 + IN AAAA 2a00:14b0:f000:23::122 + +ns IN A 212.12.48.122 + IN AAAA 2a00:14b0:f000:23::53 + IN MX 10 cow.hamburg.ccc.de. +ns-intern IN A 172.31.17.53 + IN AAAA 2a00:14b0:f000:23::53 +ns-intern2 IN A 172.31.17.153 + IN AAAA 2a00:14b0:f000:23::53 + +vpn IN A 212.12.48.122 + ; ipv4 only! +www.vpn IN CNAME vpn +cvpn-dns IN A 172.31.0.5 +chaosvpn-dns IN A 172.31.17.136 + +turing-db IN A 172.31.17.135 + IN MX 10 cow.hamburg.ccc.de. + +jabber IN A 212.12.48.122 + IN AAAA 2a00:14b0:f000:23::26 + IN MX 5 nomail.ccc.de. + IN MX 10 cow.hamburg.ccc.de. +jabber-intern IN A 172.31.17.134 + IN AAAA 2a00:14b0:f000:23::26 + IN MX 5 nomail.ccc.de. + IN MX 10 cow.hamburg.ccc.de. + +gitlab IN A 212.12.48.122 + IN AAAA 2a00:14b0:4200:3000:122::1 + ; ipv6 also has DNAT rules +gitlab-intern IN A 172.31.17.133 + IN AAAA 2a00:14b0:f000:23::133 + IN MX 5 nomail.ccc.de. + IN MX 10 cow.hamburg.ccc.de. + +gitlab-cr IN CNAME gitlab + +gitlab-test IN A 212.12.48.122 + IN AAAA 2a00:14b0:4200:3000:122::1 + ; ipv6 also has DNAT rules +gitlab-test-intern IN A 172.31.17.138 + IN AAAA 2a00:14b0:f000:23::138 + IN MX 5 nomail.ccc.de. + IN MX 10 cow.hamburg.ccc.de. + +gitlab-runner IN A 172.31.17.139 + IN MX 5 nomail.ccc.de. + IN MX 10 cow.hamburg.ccc.de. + +lists IN A 212.12.51.132 + IN AAAA 2a00:14b0:f000:23:51:132:0:1 + IN MX 10 lists + IN TXT "v=spf1 mx -all" +dkim._domainkey.lists IN TXT ( "v=DKIM1; h=sha256; k=rsa; " + "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCvNlbGPBluV3q3eT1C6nJ" + "8KuSNAx9ycTO0urNkz4In1I2srmK8qPTfqfPU7y5kjHM1oC31+LwVNiyzeIQl" + "cdW00DMTHfzkQAjtdDXgKG5db4Dqw+2wtZfLGvBFOSfV0RspZmSDSN6ON81dk" + "lVABMMOA7Vd8wwIj0ms/gb/+AB0IQIDAQAB" ) +ccchoir-intern IN A 172.31.17.156 + +cow IN A 212.12.51.133 + IN AAAA 2a00:14b0:f000:23:51:133:0:1 + IN MX 10 cow +cow-intern IN A 172.31.17.201 +auth-dns IN A 212.12.48.124 +auth-dns IN AAAA 2a00:14b0:4200:3000:124::1 + +cowtest IN MX 10 cow + IN TXT "v=spf1 mx -all" +dkim._domainkey.cowtest IN TXT ("v=DKIM1;k=rsa;t=s;s=email;p=" + "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy5aAMRgFdGdG+Ewmn" + "OZb8gdCjSSoFjTxu/GW9edVWU0zsRRQT9r6oF82Cn05jEKNra3D8tE48jBaDQ" + "GOAFa4BgjxiIfP/D36CaN2JT5sno3faSBkqaKoBG0zRD2UsNj/ROfHB844BOf" + "AUt4KFMMHUfO03Gu6ps9nq/QBsrR5Iq6sMv9WiftKjh4twS4S+Wz7ZXymY3yd" + "jRLI8r48pASg6IoiByV8kR3r7OZw9dzmNgbTCOEyKaicB4KJDjgJvQut8af8g" + "sYQYTCSPVqkwb5Y+yJNKhQmsYBwUX23x5Yng2gDBY/pjGeWl28SxdGhm8C23a" + "0wVCz4kQGNvcULnrzifwIDAQAB") +_autodiscover._tcp.cowtest IN SRV 0 1 443 cow +_caldavs._tcp.cowtest IN SRV 0 1 443 cow +_caldavs._tcp.cowtest IN TXT "path=/SOGo/dav/" +_carddavs._tcp.cowtest IN SRV 0 1 443 cow +_carddavs._tcp.cowtest IN TXT "path=/SOGo/dav/" +_imap._tcp.cowtest IN SRV 0 1 143 cow +_imaps._tcp.cowtest IN SRV 0 1 993 cow +_pop3._tcp.cowtest IN SRV 0 1 110 cow +_pop3s._tcp.cowtest IN SRV 0 1 995 cow +_sieve._tcp.cowtest IN SRV 0 1 4190 cow +_smtps._tcp.cowtest IN SRV 0 1 465 cow +_submission._tcp.cowtest IN SRV 0 1 587 cow + + +mail IN A 212.12.48.122 + IN MX 10 cow.hamburg.ccc.de. +local-mail IN A 172.31.17.201 ; make hosts with relayhost=local-mail work +;local-mail IN A 212.12.48.122 +; IN AAAA 2a00:14b0:f000:23::122 +; IN MX 10 cow.hamburg.ccc.de. + +jitsi-old IN A 49.12.8.103 + IN AAAA 2a01:4f8:c17:392f::1 +jitsi IN A 212.12.51.139 + IN AAAA 2a00:14b0:f000:23:51:139:0:1 + +mumble IN A 212.12.51.141 + IN AAAA 2a00:14b0:f000:23:51:141:0:1 + + +id IN A 212.12.48.125 + IN AAAA 2a00:14b0:4200:3000:125::1 +keycloak-admin IN A 212.12.48.125 + IN AAAA 2a00:14b0:4200:3000:125::1 +invite IN A 212.12.48.125 + IN AAAA 2a00:14b0:4200:3000:125::1 +id IN MX 10 cow + IN TXT "v=spf1 mx -all" +dkim._domainkey.id IN TXT ("v=DKIM1;k=rsa;t=s;s=email;p=" + "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx6wcQjo7qgb1CMOv5" + "6odc7Ef8rocu3bv3JKBIqL/msuoEFOiXGpPZrwcWQJc7lS5tLTxR5XuP02D3D" + "Vif+8D3R8YzLsNMdLZ5moQacdJK2OFFiet2G3kWjBdKH1em9FwMa0MBWlk6LR" + "YWRgsByFBMNIItwkBmqmNrmrPRneRprLYQCf34McDmkzpzUpFdF5sgmbmDpdX" + "genmqXgBopvmnTeXa+kQnoVgrMyWE41zdWaXrDAtoYye3e31j0Nxhnfg+I7vO" + "XPfmatTH7yieDaLG+3kHjbA3WFyAkb/ZAqZaFM8k6cQJEZb7jDzdKlm1fuPrk" + "YUrfZ1V3pglzdm0QbM4wIDAQAB") + +aes-intern IN A 172.31.17.145 +tickets-intern IN A 172.31.17.148 +grafana-intern IN A 172.31.17.145 +loki-intern IN A 172.31.17.145 +eh22-netbox-intern IN A 172.31.17.166 +sunders-intern IN A 172.31.17.170 +renovate-intern IN A 172.31.17.171 +netbox-intern IN A 172.31.17.167 +matrix-intern IN A 172.31.17.150 +; have this for compatibility (like references in CI) +public-web-static-intern IN AAAA 2a00:14b0:42:102::17 +pretalx-intern IN A 172.31.17.157 +zammad-intern IN A 172.31.17.152 +nixos-template-intern IN A 172.31.17.200 +git-intern IN A 172.31.17.154 +forgejo-actions-runner-intern IN A 172.31.17.155 +nix-box-june-intern IN A 172.31.17.158 +woodpecker-intern IN A 172.31.17.160 +mjolnir-intern IN A 172.31.17.161 +mjolnir-ng-intern IN A 172.31.17.169 +penpot-intern IN A 172.31.17.162 +penpot-ng-intern IN A 172.31.17.168 +hydra-intern IN A 172.31.17.163 +forgejo-runner-builder IN A 172.31.17.202 +renovate-forgejo IN A 172.31.17.163 +ansible-testing-intern IN A 172.31.17.164 +ntfy-intern IN A 172.31.17.149 +status IN AAAA 2a00:14b0:f001:100::fd +status IN A 212.12.50.253 +design IN A 212.12.48.125 + IN AAAA 2a00:14b0:4200:3000:125::1 + IN MX 10 cow + IN TXT "v=spf1 mx -all" +dkim._domainkey.design IN TXT ("v=DKIM1;k=rsa;t=s;s=email;p=" + "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtod7q+mkIcZFe512v" + "jzXF0UfGmo8R6UxeJ/MCi/qjjN+sSqn4dohQx3NBhK3UF9/8Ze7FT5znTxeWj" + "Ks+le/dSS4CKxjSFAV1FjcaAqrUaxO1V8+fxcUSVzAQZXUVyNqqv+SAFUVJSE" + "3zZIuJim4F1HVVLvwbLJZ450ns8KQ7n3RNY2+mqQoxo8xmMg2QFOoQKlSYspC" + "TRTV4LM/n5Jm7Mm1F5DwJ+7Ie9s/WvTWKKKUExmoa5SNheGcfybC+sqnJu7L0" + "F5dWFwk0zzQDcVSY2m9qFWPEuO2fZmiB4IoG4yXkooSY2sH9Z8eX2+6i3k/ub" + "qx58Mav6VlkTxsOAdbbQIDAQAB") +hydra IN A 212.12.48.125 +regio-stage IN A 212.12.51.142 + AAAA 2a00:14b0:f000:23:51:142:0:1 + +public-reverse-proxy IN A 212.12.48.125 + IN AAAA 2a00:14b0:4200:3000:125::1 +public-reverse-proxy-intern IN A 172.31.17.140 +router IN A 212.12.48.123 + +rproxy IN A 212.12.48.122 + IN AAAA 2a00:14b0:4200:3000:122::1 + IN MX 10 cow.hamburg.ccc.de. +rproxy-intern IN A 172.31.17.180 + IN AAAA 2a00:14b0:f000:23::80 + IN MX 10 cow.hamburg.ccc.de. + +bildungsurlaub IN CNAME rproxy +doku IN CNAME rproxy +test IN CNAME rproxy +www.test IN CNAME rproxy +eh2003 IN CNAME public-reverse-proxy +www.eh2003 IN CNAME public-reverse-proxy +easterhegg2003 IN CNAME public-reverse-proxy +www.easterhegg2003 IN CNAME public-reverse-proxy +eh2005 IN CNAME public-reverse-proxy +www.eh2005 IN CNAME public-reverse-proxy +easterhegg2005 IN CNAME public-reverse-proxy +www.easterhegg2005 IN CNAME public-reverse-proxy +eh2007 IN CNAME public-reverse-proxy +www.eh2007 IN CNAME public-reverse-proxy +eh07 IN CNAME public-reverse-proxy +www.eh07 IN CNAME public-reverse-proxy +easterhegg2007 IN CNAME public-reverse-proxy +www.easterhegg2007 IN CNAME public-reverse-proxy +eh2009 IN CNAME public-reverse-proxy +www.eh2009 IN CNAME public-reverse-proxy +eh09 IN CNAME public-reverse-proxy +www.eh09 IN CNAME public-reverse-proxy +easterhegg2009 IN CNAME public-reverse-proxy +www.easterhegg2009 IN CNAME public-reverse-proxy +eh2011 IN CNAME public-reverse-proxy +www.eh2011 IN CNAME public-reverse-proxy +eh11 IN CNAME public-reverse-proxy +www.eh11 IN CNAME public-reverse-proxy +easterhegg2011 IN CNAME public-reverse-proxy +www.easterhegg2011 IN CNAME public-reverse-proxy +eh20 IN CNAME public-reverse-proxy + +oldwiki IN CNAME rproxy +nonpublic.wiki IN CNAME rproxy +www.nonpublic.wiki IN CNAME rproxy +planet IN CNAME rproxy +www.planet IN CNAME rproxy +chaos-macht-schule IN CNAME rproxy +www.chaos-macht-schule IN CNAME rproxy + +branding-resources IN CNAME public-reverse-proxy +element IN CNAME public-reverse-proxy +matrix IN CNAME public-reverse-proxy +mas IN CNAME public-reverse-proxy +element-admin IN CNAME public-reverse-proxy +netbox IN CNAME public-reverse-proxy +woodpecker IN CNAME public-reverse-proxy +onlyoffice IN CNAME public-reverse-proxy +pad IN CNAME public-reverse-proxy +pretalx IN CNAME public-reverse-proxy +spaceapi IN CNAME public-reverse-proxy +staging IN CNAME public-reverse-proxy +wiki IN CNAME public-reverse-proxy +www IN CNAME public-reverse-proxy +ntfy IN CNAME public-reverse-proxy +sunders IN CNAME public-reverse-proxy +spaceapiccc IN CNAME public-reverse-proxy +acmedns IN CNAME public-reverse-proxy +cpuccc IN CNAME public-reverse-proxy +did IN CNAME public-reverse-proxy + + +auth.acmedns IN NS acmedns.hosts.hamburg.ccc.de. + +git IN A 212.12.51.136 + IN AAAA 2a00:14b0:f000:23:51:136::1 +git IN MX 10 cow + IN TXT "v=spf1 mx -all" +dkim._domainkey.git IN TXT ("v=DKIM1;k=rsa;t=s;s=email;p=" + "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsUGmKDns/qokxyz2u" + "lcyKIcs/S+zf+0wHCfhSOK4lLnws8U/wIny5FAW3zM/7TliqIftzZ2B0Cz8W6" + "YvmtgLyKqBzvCSG0dNYyy9TVeGM4HyrmLBbUkQdGGQwmoJTnCe9gT9z6GO9k2" + "uFfHJsk/iffU75x9iXqLXPGL/CGmLKuBmkYGda2rQ9ATUIpQhIxnerZvVc3RA" + "qwD8/pYvMLOqvCStVHM5Zi+j1Jr0BC8mxU8pIY6rfOVt+h/V3wh0F6dL0z9nw" + "ZhDE53K8frGp2CC5dW/A37FrfMJv+ODw2tX8EdyL2hDBshBQ4r8WiYJTtIMPL" + "50A9UzZndyiLAHoeLrZQIDAQAB") +hackertours IN A 212.12.48.125 + IN AAAA 2a00:14b0:4200:3000:125::1 + MX 10 cow.hamburg.ccc.de. + IN TXT "v=spf1 mx -all" +dkim._domainkey.hackertours IN TXT ("v=DKIM1;k=rsa;t=s;s=email;" + "p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnG5J6rMvbOy7mmV4mKfN" + "7SSrtxKP/jI0XWwO2njO3jM6DkAGDpmRH69B5sOW/53/yg7MMdGytGfNAk61YJknP+" + "NGZNSk7F2p2aB+zoksLVcIKdY1YwicYS7l6Q7qWBfv8ctmGTzcwO0UEAizD6xdINN8" + "YmhHorgnxR3HbHeUmaxIe4WM2wWRYiD+9tpY1f0O/NEEoHxmFecRhU9SVmuhLgiOyF" + "AWpPYBMOsKEHoKREENc+4VBj6H2GYTKIs+dYKDNEmVVdnRkgtAVO3FrjCkedBJ7RbR" + "RNHIqdt9u8AF+Vrs1Oq72ZQrNVR0ezEyBScJaxy5JphvBWkMSYSoDpvXLwIDAQAB") +staging.hackertours IN A 212.12.48.125 + IN AAAA 2a00:14b0:4200:3000:125::1 +grafana IN A 212.12.48.125 + IN AAAA 2a00:14b0:4200:3000:125::1 +tickets IN A 212.12.48.125 + IN AAAA 2a00:14b0:4200:3000:125::1 +zammad IN A 212.12.48.125 + IN AAAA 2a00:14b0:4200:3000:125::1 + +loki IN CNAME grafana.hosts +metrics IN CNAME grafana.hosts + +; attraktor openvz vm +attraktor IN A 172.31.17.14 + IN AAAA 2a00:14b0:f000:23:48::14 + IN MX 10 cow.hamburg.ccc.de. +attraktor-intern IN A 172.31.17.14 + IN AAAA 2a00:14b0:f000:23:48::14 + IN MX 10 cow.hamburg.ccc.de. +attraktor-intern2 IN A 172.31.17.137 + IN MX 10 cow.hamburg.ccc.de. + +erfafoo IN A 212.12.51.138 + IN AAAA 2a00:14b0:f000:23:50:210::1 + IN MX 10 cow.hamburg.ccc.de. +local IN CNAME erfafoo +lokal IN CNAME erfafoo + +; fuer vollkorn: +;webfoo IN A 212.12.51.138 +; IN AAAA 2a00:14b0:4200:3380:138::1 +; IN MX 5 nomail.ccc.de. +; IN MX 10 cow.hamburg.ccc.de. + +; chaos macht schule server +cms IN A 212.12.51.131 +www.cms IN CNAME cms +schule IN CNAME cms +www.schule IN CNAME cms + +; Firewall: +ovpn IN A 212.12.48.122 +fwhh-v6 IN A 212.12.50.214 + +; (irc) nat ip +chaoscafe IN A 212.12.50.209 + +cloud IN A 212.12.48.125 + IN AAAA 2a00:14b0:4200:3000:125::1 +cloud IN MX 10 cow + IN TXT "v=spf1 mx -all" +dkim._domainkey.cloud IN TXT ("v=DKIM1;k=rsa;t=s;s=email;p=" + "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvr7XIfOFt99cdEKeP" + "Qhz7miwN2tIZF+imJ3p/r/kam0TKN5pbRMDK0HH4Jl8ksBDozXrLo+U71TX+m" + "XBBeNca4QSfmJh6cAesibf4v/6ssGBdQR7efc2b3dFvZS5/qdS7oLYqYbGpuv" + "aUB0gzhatrAR0i6HdtXrsJxGemda4WvZXaPLPwcWByHLZsHQUbaD3doZOJGXI" + "7+HQs9BuDo4PKQs1/mE5BEWQ0ISEKZ4bk1p8U0ZsfcdQ8o9X53Tj+JxvJHgxi" + "h7yHMr4y9hCOAkvZTFZ/Z/r3KU+N+t9NrVYm995KEernSxE3MXYIsdaFKBDvX" + "Xq837yzJmv7D9S9We3YwIDAQAB") +; Mail: hosts.hamburg.ccc.de +hosts IN MX 10 cow + IN TXT "v=spf1 mx -all" +dkim._domainkey.hosts IN TXT ("v=DKIM1;k=rsa;t=s;s=email;p=" + "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyFnskyCW0420D+5PA" + "L6cKmPoZR2nrPaMPiJl0+DbDhnsLdXtt3cKZkAin2GYQRvZJvlcJ3JFkFljmQ" + "sZk7BJ02rV7S79DgeFhKMzjE0p/GaMBSdzDZJQEVkKhEK+KBbSfaZ0FM/4Qh0" + "beI26kBgbR6bc+SGdB7+LB2JLPxr5ipP0gJ7RtE+QWIoDaU0e9dSYhucJ4A4k" + "RMs3ECvcCVgsyhRPJahs8tzbKjhnp956ru6Jda3Yo/ubhy4AztP/7ZQayCv/W" + "06PfZNo/i2711F98L2ATQaDsOCKWhpskyrCRcR1nTWNSL7qYhOPD1hZonsd5I" + "f5WwrR4meWD3wmXbX29wIDAQAB") +; Mail: hosts-external.hamburg.ccc.de +external-hosts IN MX 10 cow + IN TXT "v=spf1 mx -all" +dkim._domainkey.external-hosts IN TXT ("v=DKIM1;k=rsa;t=s;s=email;p=" + "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkfdJvL7Tpdw6JLkuU" + "nOLwtxojWZ5Xq6rLDK3EzrX2Tyeq03nqgQuI3ruHgodHb1D7sieU61x30+g7y" + "8HnjrN1bfH1iQJUzEOCgOWHwQEbLdbQxcazmbEdowBuA0VuYrXL2tcCFJwdcZ" + "MKZAyuba7leeRgSngZJnesT7aaGvZSuzLa1/KaW4MRbOOmy5LlukBC3EZBpWn" + "/dL73spDajlDx4VRMUpZQq/PAoPPwCFdw/HNnzxBYBIdVloeJx91qBRaNyUIb" + "C/to8YSDVi2aMHiXhTBfoNd1VcxjlBYWqEZtdUhecUjwmbbAO4f0ECO4bs0Yz" + "d/EgJB70ry1quA0MqgZQIDAQAB") + +; for thw: +orga IN A 212.12.51.130 + IN MX 23 nomail.ccc.de. + IN MX 42 orga + +shellhost IN A 212.12.51.140 + IN AAAA 2a00:14b0:f000:23:51:140:0:1 + IN MX 5 nomail.ccc.de. + IN MX 10 cow.hamburg.ccc.de. +shells IN CNAME shellhost + +; chaos vpn-hub on haegars hetzner machine +vpnhub1 IN A 136.243.3.60 + IN MX 5 nomail.ccc.de. + IN MX 10 mail.sdinet.de. +vpnhub1.ipv4 IN A 136.243.3.60 +vpnhub1-intern IN A 172.31.2.1 + +; special +ccchh IN MX 5 nomail.ccc.de. + IN MX 10 cow.hamburg.ccc.de. + +office IN CNAME office.hh.ccc.de. +officemail IN CNAME officemail.hh.ccc.de. + +template IN A 172.31.17.199 + IN AAAA 2a00:14b0:f000:23::199 + IN MX 10 cow.hamburg.ccc.de. + +irc IN A 176.56.239.136 + IN AAAA 2a00:d880:8:1::1aa + IN MX 5 nomail.ccc.de. + +;anonymizer IN A 192.162.102.224 +; IN MX 5 nomail.ccc.de. +; IN MX 10 anonymizer +;mixminion IN A 192.162.102.225 +; IN MX 5 nomail.ccc.de. +; IN MX 10 mixminion + +cryptoparty IN CNAME public-reverse-proxy +staging.cryptoparty IN CNAME public-reverse-proxy +cryptoparty-intern IN A 172.31.17.213 + +; Freifunk Gateways +freifunk-gw01 IN CNAME gw01.hamburg.freifunk.net. +freifunk-gw02 IN CNAME gw02.hamburg.freifunk.net. +freifunk-gw03 IN CNAME gw03.hamburg.freifunk.net. +freifunk-gw04 IN CNAME gw04.hamburg.freifunk.net. +freifunk-gw05 IN CNAME gw05.hamburg.freifunk.net. +freifunk-gw06 IN CNAME gw06.hamburg.freifunk.net. +freifunk-gw07 IN CNAME gw07.hamburg.freifunk.net. +freifunk-gw08 IN CNAME gw08.hamburg.freifunk.net. +freifunk-gw09 IN CNAME gw09.hamburg.freifunk.net. +freifunk-gw10 IN CNAME gw10.hamburg.freifunk.net. +freifunk-gw11 IN CNAME gw11.hamburg.freifunk.net. +freifunk-gw12 IN CNAME gw12.hamburg.freifunk.net. +freifunk-gw13 IN CNAME gw13.hamburg.freifunk.net. +freifunk-gw14 IN CNAME gw14.hamburg.freifunk.net. +freifunk-gw15 IN CNAME gw15.hamburg.freifunk.net. +freifunk-gw16 IN CNAME gw16.hamburg.freifunk.net. +freifunk-gw17 IN CNAME gw17.hamburg.freifunk.net. +freifunk-gw18 IN CNAME gw18.hamburg.freifunk.net. +freifunk-gw19 IN CNAME gw19.hamburg.freifunk.net. +freifunk-gw20 IN CNAME gw20.hamburg.freifunk.net. + +fftest IN A 212.12.51.135 + IN AAAA 2a00:14b0:f000:23::135 + +; Shellbordell +colossus IN A 212.12.51.133 + +; generic aliases +LAN-212-12-50-208.dmz-net IN A 212.12.50.208 +ip208 IN A 212.12.50.208 +ip209 IN A 212.12.50.209 +ip210 IN A 212.12.50.210 +ip211 IN A 212.12.50.211 +ip212 IN A 212.12.50.212 +ip213 IN A 212.12.50.213 +ip214 IN A 212.12.50.214 +ENDE-212-12-50-215.dmz-broadcast IN A 212.12.50.215 +ip215 IN A 212.12.50.215 + +; ChaosVPN +hack IN NS cvpn-dns.hack +cvpn-dns.hack IN A 172.31.0.5 + +; IPv4 Reverse DNS + +122.48.12.212.rdns IN PTR turing.hamburg.ccc.de. +123.48.12.212.rdns IN PTR ip-48-123.hamburg.ccc.de. +124.48.12.212.rdns IN PTR ip-48-124.hamburg.ccc.de. +125.48.12.212.rdns IN PTR public-reverse-proxy.hamburg.ccc.de. +126.48.12.212.rdns IN PTR chaosknoten.hamburg.ccc.de. + +208.50.12.212.rdns IN PTR net-12-50-212.hamburg.ccc.de. +209.50.12.212.rdns IN PTR turing.hamburg.ccc.de. +;210.50.12.212.rdns IN PTR erfafoo.hamburg.ccc.de. +211.50.12.212.rdns IN PTR ip-50-12-211.hamburg.ccc.de. +213.50.12.212.rdns IN PTR cryptoparty.hamburg.ccc.de. +214.50.12.212.rdns IN PTR ip-50-12-214.hamburg.ccc.de. +215.50.12.212.rdns IN PTR broadcast-12-15-212.hamburg.ccc.de. + +128.51.12.212.rdns IN PTR net-12-51-128.hamburg.ccc.de. +129.51.12.212.rdns IN PTR ip-51-129.hamburg.ccc.de. +130.51.12.212.rdns IN PTR ip-51-130.hamburg.ccc.de. +131.51.12.212.rdns IN PTR cms.hamburg.ccc.de. +132.51.12.212.rdns IN PTR lists.hamburg.ccc.de. +133.51.12.212.rdns IN PTR cow.hamburg.ccc.de. +134.51.12.212.rdns IN PTR srv01.hamburg.freifunk.net. +135.51.12.212.rdns IN PTR fftest.hamburg.ccc.de. +136.51.12.212.rdns IN PTR git.hamburg.ccc.de. +137.51.12.212.rdns IN PTR ip-51-137.hamburg.ccc.de. +138.51.12.212.rdns IN PTR erfafoo.hamburg.ccc.de. +139.51.12.212.rdns IN PTR jitsi.hamburg.ccc.de. +140.51.12.212.rdns IN PTR ip-51-140.hamburg.ccc.de. +141.51.12.212.rdns IN PTR mumble.hamburg.ccc.de. +142.51.12.212.rdns IN PTR regio-stage.hamburg.ccc.de. +143.51.12.212.rdns IN PTR broadcast-12-15-128.hamburg.ccc.de. + +; hosts.hamburg.ccc.de +wiki.hosts IN AAAA 2a00:14b0:42:102::2 +cloud.hosts IN AAAA 2a00:14b0:42:102::3 +eh22-wiki.hosts IN AAAA 2a00:14b0:42:102::4 +pad.hosts IN AAAA 2a00:14b0:42:102::5 +keycloak.hosts IN AAAA 2a00:14b0:42:102::6 +onlyoffice.hosts IN AAAA 2a00:14b0:42:102::7 +renovate.hosts IN AAAA 2a00:14b0:42:102::8 +sunders.hosts IN AAAA 2a00:14b0:42:102::9 +mjolnir.hosts IN AAAA 2a00:14b0:42:102::a +netbox.hosts IN AAAA 2a00:14b0:42:102::b +tickets.hosts IN AAAA 2a00:14b0:42:102::c +zammad.hosts IN AAAA 2a00:14b0:42:102::d +grafana.hosts IN AAAA 2a00:14b0:42:102::e +ccchoir.hosts IN AAAA 2a00:14b0:42:102::f +pretalx.hosts IN AAAA 2a00:14b0:42:102::10 +ntfy.hosts IN AAAA 2a00:14b0:42:102::11 +spaceapiccc.hosts IN AAAA 2a00:14b0:42:102::12 +acmedns.hosts IN AAAA 2a00:14b0:42:102::13 +www2.hosts IN AAAA 2a00:14b0:42:102::14 +www3.hosts IN AAAA 2a00:14b0:42:102::15 +diday-staging-runner.hosts IN AAAA 2a00:14b0:42:102::16 +public-web-static.hosts IN AAAA 2a00:14b0:42:102::17 +forgejo-actions-runner.hosts IN AAAA 2a00:14b0:42:102::18 + +; acme-challenges +_acme-challenge.sunders CNAME a5ee8a99-3cdf-4212-972e-c0b6fda1242f.auth.acmedns +_acme-challenge.pretalx CNAME 295a66d4-1d71-49f3-a80a-1f7527ec9cca.auth.acmedns diff --git a/resources/chaosknoten/auth-dns/zones/hh.ccc.de.zone b/resources/chaosknoten/auth-dns/zones/hh.ccc.de.zone new file mode 100644 index 0000000000..8705e3facc --- /dev/null +++ b/resources/chaosknoten/auth-dns/zones/hh.ccc.de.zone @@ -0,0 +1,69 @@ +$TTL 7200 + +; es wird jetzt der hostname mail.hamburg.ccc.de nicht mehr +; verwendet, sondern statt dessen local-mail.hamburg.ccc.de +; die popeye fuehlt sich immer noch unter mail.hamburg.ccc.de +; angesprochen, und nimmt daher keine mails mit absender-adressen +; die sie nicht kennt an. +; ich hoffe diese aenderung arbeitet um diesen bug herum. +; - haegar 2001.11.14 + +@ IN SOA ns.hamburg.ccc.de. haegar.ccc.de. ( + 2024012601 + 10800 + 3600 + 3600000 + 86400 ) + + IN NS ns.hamburg.ccc.de. + IN NS ns.vie.ccc.de. + + IN MX 5 nomail.ccc.de. +; IN MX 10 local-mail.hamburg.ccc.de. + IN MX 23 nomail2.ccc.de. + IN MX 42 nomail3.ccc.de. + + IN A 212.12.48.125 + IN AAAA 2a00:14b0:4200:3000:125::1 + +localhost IN A 127.0.0.1 + + +; DMZ-Server: +dmz-net IN A 212.12.50.208 + +turing IN CNAME turing.hamburg.ccc.de. +www IN CNAME www.hamburg.ccc.de. + +LAN-212-12-51-128 IN A 212.12.51.128 +gate IN A 212.12.51.129 +END-212-12-51-143 IN A 212.12.51.143 + + +; convience and email + +backup IN A 172.31.16.3 + IN AAAA 2001:6f8:126f:1:16:20:0:3 +; IN MX 5 nomail.ccc.de. + IN MX 10 local-mail.hamburg.ccc.de. + +officemail IN A 172.31.17.131 + IN MX 5 nomail.ccc.de. +; IN MX 10 local-mail.hamburg.ccc.de. + IN MX 23 nomail2.ccc.de. + IN MX 42 nomail3.ccc.de. + +orga IN CNAME orga.hamburg.ccc.de. + + +; Die alte World, aka popeye.crew-gmbh.de +; Legacy-Names, do not delete +world IN A 192.76.134.7 + IN MX 10 world +popeye IN A 192.76.134.7 + IN MX 10 world +uucp IN A 192.76.134.7 + +; ChaosVPN +hack IN NS cvpn-dns.hack +cvpn-dns.hack IN A 172.31.0.5 diff --git a/resources/chaosknoten/auth-dns/zones/localhost.zone b/resources/chaosknoten/auth-dns/zones/localhost.zone new file mode 100644 index 0000000000..0ef6b019ff --- /dev/null +++ b/resources/chaosknoten/auth-dns/zones/localhost.zone @@ -0,0 +1,12 @@ +$ORIGIN localhost. +$TTL 7200 + +@ 1D IN SOA @ root ( + 42 ; serial (d. adams) + 3H ; refresh + 15M ; retry + 1W ; expiry + 1D ) ; minimum + + 1D IN NS @ + 1D IN A 127.0.0.1 diff --git a/resources/chaosknoten/auth-dns/zones/old-old/ccc.zone b/resources/chaosknoten/auth-dns/zones/old-old/ccc.zone new file mode 100644 index 0000000000..cd64c12ddb --- /dev/null +++ b/resources/chaosknoten/auth-dns/zones/old-old/ccc.zone @@ -0,0 +1,61 @@ +$ORIGIN ccc. +$TTL 7200 +@ IN SOA turing.hamburg.ccc.de. haegar.ccc.de. ( + 2002101507 + 10800 + 3600 + 3600000 + 86400 ) + + IN NS turing.hamburg.ccc.de. + +localhost IN A 127.0.0.1 + +www IN A 195.21.255.248 + +hh IN NS ccchh.hh.ccc. + IN NS turing.hamburg.ccc.de. +ccchh.hh IN A 192.168.16.2 + +vpn.hh IN NS turing.hamburg.ccc.de. + +; haegar: +sdinet IN NS ns.sdinet.ccc. +ns.sdinet IN A 192.168.18.41 + +; falk: +valhalla IN NS thor.valhalla.ccc. +thor.valhalla IN A 192.168.21.1 + +; jeedi: +ghetto IN NS semaphore.ghetto.ccc. +semaphore.ghetto IN A 192.168.20.2 + +; count +flatline IN NS aleph.flatline.de. +flatline IN NS pulse.flatline.de. + +; thalunil (Alex Bihlmaier) +core.kallisti IN A 194.122.183.51 +fnord IN NS core.kallisti +kallisti IN NS core.kallisti + +; sz +vogsphere IN A 212.12.48.51 +datenknoten IN A 212.12.48.49 +znet IN NS datenknoten.ccc. +sz IN NS datenknoten.ccc. +chaos IN NS datenknoten.ccc. +funk IN NS datenknoten.ccc. +presse IN NS datenknoten.ccc. +weltregierung IN NS datenknoten.ccc. + +; migri +migri IN CNAME migri.homeip.net. + +; Enno +enno IN CNAME home.verbrennung.org. + +; Dennis +desc IN NS freya.ainex.net. + diff --git a/resources/chaosknoten/auth-dns/zones/old-old/vpn.hh.ccc.zone b/resources/chaosknoten/auth-dns/zones/old-old/vpn.hh.ccc.zone new file mode 100644 index 0000000000..cc767688e8 --- /dev/null +++ b/resources/chaosknoten/auth-dns/zones/old-old/vpn.hh.ccc.zone @@ -0,0 +1,37 @@ +$ORIGIN vpn.hh.ccc. +$TTL 7200 + +@ IN SOA vpn.hh.ccc. haegar.ccc.de. ( + 2002101502 + 10800 + 3600 + 3600000 + 86400 ) + + IN NS turing.hamburg.ccc.de. + +localhost IN A 127.0.0.1 + +network IN A 192.168.0.64 +fwhh IN A 192.168.0.65 +worf IN A 192.168.0.66 +sdinet-cut IN A 192.168.0.67 +migri IN A 192.168.0.68 +cemil IN A 192.168.0.69 +fw IN A 192.168.0.70 +fw-server IN A 192.168.0.71 + +broadcast IN A 192.168.0.127 + +net.znet IN A 192.168.23.0 +gate.znet IN A 192.168.23.23 +bc.znet IN A 192.168.23.255 + +net.no-maam IN A 192.168.24.0 +gate.no-maam IN A 192.168.24.1 +bc.no-maam IN A 192.168.24.255 + +net.loom IN A 192.168.33.0 +gate.loom IN A 192.168.33.1 +bc.loom IN A 192.168.33.255 + From 9ca4eb14e17833c0c07058f5ad8e8dab09ffaeef Mon Sep 17 00:00:00 2001 From: lilly Date: Thu, 30 Apr 2026 22:53:07 +0200 Subject: [PATCH 243/417] configure hh.ccc.de on auth-dns --- .../chaosknoten/host_vars/auth-dns.sops.yaml | 5 +++-- inventories/chaosknoten/host_vars/auth-dns.yaml | 17 +++++++++++++++++ .../chaosknoten/auth-dns/zones/hh.ccc.de.zone | 6 +++++- 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/inventories/chaosknoten/host_vars/auth-dns.sops.yaml b/inventories/chaosknoten/host_vars/auth-dns.sops.yaml index 1899a2771f..b69debc526 100644 --- a/inventories/chaosknoten/host_vars/auth-dns.sops.yaml +++ b/inventories/chaosknoten/host_vars/auth-dns.sops.yaml @@ -1,4 +1,5 @@ ansible_pull__age_private_key: ENC[AES256_GCM,data:2kBG8j8JHa/dlXgWMdbSobulFdVunf052T1QQfm1X2vpEZx2HPCL87fWea+O0WOg7+eoMYbiShu0Vw1eTjb+687LjU8l4cj2JWIajnYfDGH+ipWXojxj613C3RZV3JfDOclVTwP8fCHu7z7P3fKrsKWb5d3t2ohTT+sGdVdimakAOf192CkufcVIthq2imiWbntiMTOdMGJxyIjqT2Io2H89nSbJXkONsuHCF/PbxhryB2LZbl8aZV32knk=,iv:hpscVc7iO4r/h31vS6Zno2pkEsgA2uR7wD/1PjH1znM=,tag:ypiwFtgeXuj4gOsgTCRTBw==,type:str] +knot__dnssec_key_secret: ENC[AES256_GCM,data:WPFTLyJIttFtqqTZV2fGN0Tt1vRS318TGmd2YqNzYisE3TBi6Z2aClxuYh56Q+j7TUQwCvga3jd5w017sEz3kA==,iv:umaFHBCy9AZgNFv7uXLCtO0o/NZDAZ1QNg5DcGHWEW8=,tag:oR92C1Uj5iXU9L02MqzGSQ==,type:str] sops: age: - recipient: age18zgt4y2sd75hxnpe333zz39048ctxpr0q8a3uqh3jajjkyawsdrq8yg5ve @@ -10,8 +11,8 @@ sops: MEZQTHZXNExsSnl0WW9Vb29sajE1YzAKoYU7rGuR+52+U02uf3eTH9hkIECWdcJv wN9JTwsUn0c6mi/d4AHgv5O04Uw7NxUyGVmFlDZzjxLwPzZyR73SvA== -----END AGE ENCRYPTED FILE----- - lastmodified: "2026-04-29T19:21:55Z" - mac: ENC[AES256_GCM,data:RLXsIsSdrCuElYQ3x2YpwYzQx0V0zoYP6h9FLD+RqmZ1pWhlk6Ijp9WxCAlEWps9n5rPYYyhZ3ldSJluTVeroPwpzrmwW+xXCGsCC0BFk6PuB4UynfHwWR/3jEK47nAdPbNfONhzGfOeTObYp22c3iHiKL8YochOSlBToA8mFr4=,iv:fZZEa3C/BsNKGdTKlR/hexrzhmLxiMVxgL9nXjX2Q1E=,tag:I5M8SNbSw4w1crsl0z/5+Q==,type:str] + lastmodified: "2026-05-01T17:08:09Z" + mac: ENC[AES256_GCM,data:TaMWf1ESs8nYzxkElMYtsz+/Be0PtI7FA0q6IFK+ob4dl/EN+AeTD7Pp0MZF8zcRvZ4hF0Ybimet5bwVR+d7UIXlXz3qP//pX68JDCvcLMQuhNtm6Ws+mwVxkpxEvBr1PtxlSvcQ76vH3ryEsXkP84gmlCDEdX1GAZYZ9ZS3Cfk=,iv:g3tzUfTPNUQyOAxWJEFPHg0IAPAzQgwYABHm4mFOOrI=,tag:C6KE/bg/3jS7Wc56y6YOJQ==,type:str] pgp: - created_at: "2026-04-29T19:18:43Z" enc: |- diff --git a/inventories/chaosknoten/host_vars/auth-dns.yaml b/inventories/chaosknoten/host_vars/auth-dns.yaml index 25b3de195b..1534e4ac06 100644 --- a/inventories/chaosknoten/host_vars/auth-dns.yaml +++ b/inventories/chaosknoten/host_vars/auth-dns.yaml @@ -1,2 +1,19 @@ --- deploy_systemd_resolved_config__enable: false + +knot__dnssec_key_id: "auth-dns.hamburg.ccc.de-1" +knot__remotes: + - id: ns-intern.hamburg.ccc.de + address: [ "2a00:14b0:f000:23::53", "172.31.17.53" ] + +knot__catalog_zones: + - domain: "hamburg.ccc.de.catalog." + +knot__zones: + # - domain: "hamburg.ccc.de." + # catalog_member: "hamburg.ccc.de.catalog." + # content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone') }}" + - domain: "hh.ccc.de." + catalog_member: "hamburg.ccc.de.catalog." + notify_targets: [ "ns-intern.hamburg.ccc.de" ] + content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/hh.ccc.de.zone') }}" diff --git a/resources/chaosknoten/auth-dns/zones/hh.ccc.de.zone b/resources/chaosknoten/auth-dns/zones/hh.ccc.de.zone index 8705e3facc..35794baef6 100644 --- a/resources/chaosknoten/auth-dns/zones/hh.ccc.de.zone +++ b/resources/chaosknoten/auth-dns/zones/hh.ccc.de.zone @@ -8,7 +8,7 @@ $TTL 7200 ; ich hoffe diese aenderung arbeitet um diesen bug herum. ; - haegar 2001.11.14 -@ IN SOA ns.hamburg.ccc.de. haegar.ccc.de. ( +@ IN SOA auth-dns.hamburg.ccc.de. noc.hamburg.ccc.de. ( 2024012601 10800 3600 @@ -67,3 +67,7 @@ uucp IN A 192.76.134.7 ; ChaosVPN hack IN NS cvpn-dns.hack cvpn-dns.hack IN A 172.31.0.5 + + +; tmp test +merz.leck.eier IN TXT "kann er mal" From 8c1553c707cf08b534f4a0ca80d304c495351eb7 Mon Sep 17 00:00:00 2001 From: lilly Date: Thu, 30 Apr 2026 22:53:07 +0200 Subject: [PATCH 244/417] fix role name auth-dns -> auth_dns --- playbooks/deploy.yaml | 2 +- roles/{auth-dns => auth_dns}/defaults/main.yaml | 0 roles/{auth-dns => auth_dns}/handlers/main.yaml | 5 +++-- roles/{auth-dns => auth_dns}/meta/argument_specs.yaml | 0 roles/{auth-dns => auth_dns}/tasks/01-install.yaml | 0 roles/{auth-dns => auth_dns}/tasks/02-configure.yaml | 9 +++++---- roles/{auth-dns => auth_dns}/tasks/main.yaml | 0 roles/{auth-dns => auth_dns}/templates/knot.conf.j2 | 0 .../templates/netplan-disable-ra.yaml | 0 roles/{auth-dns => auth_dns}/templates/zone.j2 | 0 10 files changed, 9 insertions(+), 7 deletions(-) rename roles/{auth-dns => auth_dns}/defaults/main.yaml (100%) rename roles/{auth-dns => auth_dns}/handlers/main.yaml (88%) rename roles/{auth-dns => auth_dns}/meta/argument_specs.yaml (100%) rename roles/{auth-dns => auth_dns}/tasks/01-install.yaml (100%) rename roles/{auth-dns => auth_dns}/tasks/02-configure.yaml (91%) rename roles/{auth-dns => auth_dns}/tasks/main.yaml (100%) rename roles/{auth-dns => auth_dns}/templates/knot.conf.j2 (100%) rename roles/{auth-dns => auth_dns}/templates/netplan-disable-ra.yaml (100%) rename roles/{auth-dns => auth_dns}/templates/zone.j2 (100%) diff --git a/playbooks/deploy.yaml b/playbooks/deploy.yaml index 130d9145c6..ff9110d244 100644 --- a/playbooks/deploy.yaml +++ b/playbooks/deploy.yaml @@ -105,4 +105,4 @@ - name: Setup authoritative dns servers hosts: auth-dns roles: - - auth-dns + - auth_dns diff --git a/roles/auth-dns/defaults/main.yaml b/roles/auth_dns/defaults/main.yaml similarity index 100% rename from roles/auth-dns/defaults/main.yaml rename to roles/auth_dns/defaults/main.yaml diff --git a/roles/auth-dns/handlers/main.yaml b/roles/auth_dns/handlers/main.yaml similarity index 88% rename from roles/auth-dns/handlers/main.yaml rename to roles/auth_dns/handlers/main.yaml index 0d74c5133b..11944a009f 100644 --- a/roles/auth-dns/handlers/main.yaml +++ b/roles/auth_dns/handlers/main.yaml @@ -1,5 +1,6 @@ -- tags: [ auth-dns ] - name: restart knot +--- +- name: restart knot + tags: [ auth-dns ] become: true ansible.builtin.systemd: name: knot.service diff --git a/roles/auth-dns/meta/argument_specs.yaml b/roles/auth_dns/meta/argument_specs.yaml similarity index 100% rename from roles/auth-dns/meta/argument_specs.yaml rename to roles/auth_dns/meta/argument_specs.yaml diff --git a/roles/auth-dns/tasks/01-install.yaml b/roles/auth_dns/tasks/01-install.yaml similarity index 100% rename from roles/auth-dns/tasks/01-install.yaml rename to roles/auth_dns/tasks/01-install.yaml diff --git a/roles/auth-dns/tasks/02-configure.yaml b/roles/auth_dns/tasks/02-configure.yaml similarity index 91% rename from roles/auth-dns/tasks/02-configure.yaml rename to roles/auth_dns/tasks/02-configure.yaml index 89116a44f4..12b57321fc 100644 --- a/roles/auth-dns/tasks/02-configure.yaml +++ b/roles/auth_dns/tasks/02-configure.yaml @@ -1,5 +1,6 @@ -- tags: [ auth-dns ] - name: Ensure required directories exist +--- +- name: Ensure required directories exist + tags: [ auth-dns ] become: true loop: [ "/etc/knot", "/etc/knot/zones" ] ansible.builtin.file: @@ -9,8 +10,8 @@ group: knot mode: u=rwx,g=rx,o= -- tags: [ auth-dns ] - name: Deploy knot configuration file +- name: Deploy knot configuration file + tags: [ auth-dns ] become: true notify: restart knot ansible.builtin.template: diff --git a/roles/auth-dns/tasks/main.yaml b/roles/auth_dns/tasks/main.yaml similarity index 100% rename from roles/auth-dns/tasks/main.yaml rename to roles/auth_dns/tasks/main.yaml diff --git a/roles/auth-dns/templates/knot.conf.j2 b/roles/auth_dns/templates/knot.conf.j2 similarity index 100% rename from roles/auth-dns/templates/knot.conf.j2 rename to roles/auth_dns/templates/knot.conf.j2 diff --git a/roles/auth-dns/templates/netplan-disable-ra.yaml b/roles/auth_dns/templates/netplan-disable-ra.yaml similarity index 100% rename from roles/auth-dns/templates/netplan-disable-ra.yaml rename to roles/auth_dns/templates/netplan-disable-ra.yaml diff --git a/roles/auth-dns/templates/zone.j2 b/roles/auth_dns/templates/zone.j2 similarity index 100% rename from roles/auth-dns/templates/zone.j2 rename to roles/auth_dns/templates/zone.j2 From 416ca85b119e4d66c008a06cc7e43547d4bfebb3 Mon Sep 17 00:00:00 2001 From: lilly Date: Wed, 6 May 2026 11:52:10 +0200 Subject: [PATCH 245/417] rename auth_dns -> knot role --- playbooks/deploy.yaml | 2 +- roles/{auth_dns => knot}/defaults/main.yaml | 0 roles/{auth_dns => knot}/handlers/main.yaml | 0 roles/{auth_dns => knot}/meta/argument_specs.yaml | 0 roles/{auth_dns => knot}/tasks/01-install.yaml | 0 roles/{auth_dns => knot}/tasks/02-configure.yaml | 0 roles/{auth_dns => knot}/tasks/main.yaml | 0 roles/{auth_dns => knot}/templates/knot.conf.j2 | 0 roles/{auth_dns => knot}/templates/netplan-disable-ra.yaml | 0 roles/{auth_dns => knot}/templates/zone.j2 | 0 10 files changed, 1 insertion(+), 1 deletion(-) rename roles/{auth_dns => knot}/defaults/main.yaml (100%) rename roles/{auth_dns => knot}/handlers/main.yaml (100%) rename roles/{auth_dns => knot}/meta/argument_specs.yaml (100%) rename roles/{auth_dns => knot}/tasks/01-install.yaml (100%) rename roles/{auth_dns => knot}/tasks/02-configure.yaml (100%) rename roles/{auth_dns => knot}/tasks/main.yaml (100%) rename roles/{auth_dns => knot}/templates/knot.conf.j2 (100%) rename roles/{auth_dns => knot}/templates/netplan-disable-ra.yaml (100%) rename roles/{auth_dns => knot}/templates/zone.j2 (100%) diff --git a/playbooks/deploy.yaml b/playbooks/deploy.yaml index ff9110d244..a3b047bb3a 100644 --- a/playbooks/deploy.yaml +++ b/playbooks/deploy.yaml @@ -105,4 +105,4 @@ - name: Setup authoritative dns servers hosts: auth-dns roles: - - auth_dns + - knot diff --git a/roles/auth_dns/defaults/main.yaml b/roles/knot/defaults/main.yaml similarity index 100% rename from roles/auth_dns/defaults/main.yaml rename to roles/knot/defaults/main.yaml diff --git a/roles/auth_dns/handlers/main.yaml b/roles/knot/handlers/main.yaml similarity index 100% rename from roles/auth_dns/handlers/main.yaml rename to roles/knot/handlers/main.yaml diff --git a/roles/auth_dns/meta/argument_specs.yaml b/roles/knot/meta/argument_specs.yaml similarity index 100% rename from roles/auth_dns/meta/argument_specs.yaml rename to roles/knot/meta/argument_specs.yaml diff --git a/roles/auth_dns/tasks/01-install.yaml b/roles/knot/tasks/01-install.yaml similarity index 100% rename from roles/auth_dns/tasks/01-install.yaml rename to roles/knot/tasks/01-install.yaml diff --git a/roles/auth_dns/tasks/02-configure.yaml b/roles/knot/tasks/02-configure.yaml similarity index 100% rename from roles/auth_dns/tasks/02-configure.yaml rename to roles/knot/tasks/02-configure.yaml diff --git a/roles/auth_dns/tasks/main.yaml b/roles/knot/tasks/main.yaml similarity index 100% rename from roles/auth_dns/tasks/main.yaml rename to roles/knot/tasks/main.yaml diff --git a/roles/auth_dns/templates/knot.conf.j2 b/roles/knot/templates/knot.conf.j2 similarity index 100% rename from roles/auth_dns/templates/knot.conf.j2 rename to roles/knot/templates/knot.conf.j2 diff --git a/roles/auth_dns/templates/netplan-disable-ra.yaml b/roles/knot/templates/netplan-disable-ra.yaml similarity index 100% rename from roles/auth_dns/templates/netplan-disable-ra.yaml rename to roles/knot/templates/netplan-disable-ra.yaml diff --git a/roles/auth_dns/templates/zone.j2 b/roles/knot/templates/zone.j2 similarity index 100% rename from roles/auth_dns/templates/zone.j2 rename to roles/knot/templates/zone.j2 From 91005230458721e2254c70ba9f48bbbdc8b2afa2 Mon Sep 17 00:00:00 2001 From: lilly Date: Wed, 6 May 2026 11:59:49 +0200 Subject: [PATCH 246/417] remove obsolete auth-dns compose file --- .../auth-dns/docker_compose/compose.yaml.j2 | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 resources/chaosknoten/auth-dns/docker_compose/compose.yaml.j2 diff --git a/resources/chaosknoten/auth-dns/docker_compose/compose.yaml.j2 b/resources/chaosknoten/auth-dns/docker_compose/compose.yaml.j2 deleted file mode 100644 index 7ebc230382..0000000000 --- a/resources/chaosknoten/auth-dns/docker_compose/compose.yaml.j2 +++ /dev/null @@ -1,13 +0,0 @@ -# Links & Resources -# https://www.knot-dns.cz/docs/latest/html/index.html - -services: - knot: - image: docker.io/cznic/knot:v3.5.4 - restart: unless-stopped - command: "knotd" - network_mode: host - volumes: - - ./configs:/config:ro - - ./storage:/storage - From fa021fb73705a38e3c6e05564f2cc98423a37fa8 Mon Sep 17 00:00:00 2001 From: lilly Date: Wed, 6 May 2026 12:05:05 +0200 Subject: [PATCH 247/417] migrate dns zone ccchh.net. to new auth-dns server --- inventories/chaosknoten/host_vars/auth-dns.yaml | 4 ++++ resources/chaosknoten/auth-dns/zones/ccchh.net.zone | 2 +- roles/knot/templates/knot.conf.j2 | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/inventories/chaosknoten/host_vars/auth-dns.yaml b/inventories/chaosknoten/host_vars/auth-dns.yaml index 1534e4ac06..1e0e317db6 100644 --- a/inventories/chaosknoten/host_vars/auth-dns.yaml +++ b/inventories/chaosknoten/host_vars/auth-dns.yaml @@ -17,3 +17,7 @@ knot__zones: catalog_member: "hamburg.ccc.de.catalog." notify_targets: [ "ns-intern.hamburg.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/hh.ccc.de.zone') }}" + - domain: "ccchh.net." + catalog_member: "hamburg.ccc.de.catalog." + notify_targets: [ "ns-intern.hamburg.ccc.de" ] + content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/ccchh.net.zone') }}" diff --git a/resources/chaosknoten/auth-dns/zones/ccchh.net.zone b/resources/chaosknoten/auth-dns/zones/ccchh.net.zone index f95ee6328d..b112bc82e3 100644 --- a/resources/chaosknoten/auth-dns/zones/ccchh.net.zone +++ b/resources/chaosknoten/auth-dns/zones/ccchh.net.zone @@ -1,6 +1,6 @@ $ORIGIN . $TTL 900 ; 15 minutes -ccchh.net IN SOA ns1.ccchh.net. noreply.ccchh.net. ( +ccchh.net IN SOA auth-dns.hamburg.ccc.de. noc.hamburg.ccc.de. ( 2026042801 ; serial 86400 ; refresh (1 day) 7200 ; retry (2 hours) diff --git a/roles/knot/templates/knot.conf.j2 b/roles/knot/templates/knot.conf.j2 index 243c0b7abb..c661e25e76 100644 --- a/roles/knot/templates/knot.conf.j2 +++ b/roles/knot/templates/knot.conf.j2 @@ -90,6 +90,6 @@ zone: catalog-role: member catalog-zone: "{{ i_zone.catalog_member }}" {% endif %} + {% endfor %} - {# - domain: "onsite.eurofurence.org" #} From 04a6c685d1d511868686c276b6ac1ed592ce3cf6 Mon Sep 17 00:00:00 2001 From: lilly Date: Wed, 6 May 2026 12:16:22 +0200 Subject: [PATCH 248/417] migrate dns zone hamburg.ccc.de. to new auth-dns server --- inventories/chaosknoten/host_vars/auth-dns.yaml | 6 ++++++ resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone | 6 +++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/inventories/chaosknoten/host_vars/auth-dns.yaml b/inventories/chaosknoten/host_vars/auth-dns.yaml index 1e0e317db6..50f5fc809d 100644 --- a/inventories/chaosknoten/host_vars/auth-dns.yaml +++ b/inventories/chaosknoten/host_vars/auth-dns.yaml @@ -17,7 +17,13 @@ knot__zones: catalog_member: "hamburg.ccc.de.catalog." notify_targets: [ "ns-intern.hamburg.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/hh.ccc.de.zone') }}" + - domain: "ccchh.net." catalog_member: "hamburg.ccc.de.catalog." notify_targets: [ "ns-intern.hamburg.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/ccchh.net.zone') }}" + + - domain: "hamburg.ccc.de." + catalog_member: "hamburg.ccc.de.catalog." + notify_targets: [ "ns-intern.hamburg.ccc.de" ] + content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone') }}" diff --git a/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone b/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone index 17f4dd74d3..02360c978e 100644 --- a/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone +++ b/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone @@ -7,7 +7,7 @@ ; - haegar 2001.11.14 $TTL 7200 -@ IN SOA ns.hamburg.ccc.de. haegar.ccc.de. ( +@ IN SOA auth-dns.hamburg.ccc.de. noc.hamburg.ccc.de. ( 2026042903 10800 3600 @@ -239,7 +239,7 @@ hydra-intern IN A 172.31.17.163 forgejo-runner-builder IN A 172.31.17.202 renovate-forgejo IN A 172.31.17.163 ansible-testing-intern IN A 172.31.17.164 -ntfy-intern IN A 172.31.17.149 +ntfy-intern IN A 172.31.17.149 status IN AAAA 2a00:14b0:f001:100::fd status IN A 212.12.50.253 design IN A 212.12.48.125 @@ -329,7 +329,7 @@ sunders IN CNAME public-reverse-proxy spaceapiccc IN CNAME public-reverse-proxy acmedns IN CNAME public-reverse-proxy cpuccc IN CNAME public-reverse-proxy -did IN CNAME public-reverse-proxy +did IN CNAME public-reverse-proxy auth.acmedns IN NS acmedns.hosts.hamburg.ccc.de. From d535607ae6b4f26c78f4299a6f8465a3544d5a5b Mon Sep 17 00:00:00 2001 From: lilly Date: Wed, 6 May 2026 12:30:22 +0200 Subject: [PATCH 249/417] migrate dns zone eh20.easterhegg.eu. to new auth-dns server --- inventories/chaosknoten/host_vars/auth-dns.yaml | 6 ++++++ .../chaosknoten/auth-dns/zones/eh20.easterhegg.eu.zone | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/inventories/chaosknoten/host_vars/auth-dns.yaml b/inventories/chaosknoten/host_vars/auth-dns.yaml index 50f5fc809d..75f332dd5f 100644 --- a/inventories/chaosknoten/host_vars/auth-dns.yaml +++ b/inventories/chaosknoten/host_vars/auth-dns.yaml @@ -27,3 +27,9 @@ knot__zones: catalog_member: "hamburg.ccc.de.catalog." notify_targets: [ "ns-intern.hamburg.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone') }}" + + - domain: "eh20.easterhegg.eu." + catalog_member: "hamburg.ccc.de.catalog." + notify_targets: [ "ns-intern.hamburg.ccc.de" ] + content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/eh20.easterhegg.eu.zone') }}" + diff --git a/resources/chaosknoten/auth-dns/zones/eh20.easterhegg.eu.zone b/resources/chaosknoten/auth-dns/zones/eh20.easterhegg.eu.zone index ee28f2b7fa..5103c2a24a 100644 --- a/resources/chaosknoten/auth-dns/zones/eh20.easterhegg.eu.zone +++ b/resources/chaosknoten/auth-dns/zones/eh20.easterhegg.eu.zone @@ -1,6 +1,6 @@ $TTL 7200 -@ IN SOA ns.hamburg.ccc.de. mail.hamburg.ccc.de. ( +@ IN SOA auth-intern.hamburg.ccc.de. noc.hamburg.ccc.de. ( 2025021101 10800 3600 From 46b0a49eb8d1d9acbda10df57555b6a7c38cb59c Mon Sep 17 00:00:00 2001 From: lilly Date: Wed, 6 May 2026 12:33:23 +0200 Subject: [PATCH 250/417] migrate dns zone eh22.easterhegg.eu to new auth-dns server --- inventories/chaosknoten/host_vars/auth-dns.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/inventories/chaosknoten/host_vars/auth-dns.yaml b/inventories/chaosknoten/host_vars/auth-dns.yaml index 75f332dd5f..007ff0e5cd 100644 --- a/inventories/chaosknoten/host_vars/auth-dns.yaml +++ b/inventories/chaosknoten/host_vars/auth-dns.yaml @@ -33,3 +33,8 @@ knot__zones: notify_targets: [ "ns-intern.hamburg.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/eh20.easterhegg.eu.zone') }}" + - domain: "eh22.easterhegg.eu." + catalog_member: "hamburg.ccc.de.catalog." + notify_targets: [ "ns-intern.hamburg.ccc.de" ] + content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/eh22.easterhegg.eu.zone') }}" + From 3aa146d72334cf58666cdaaf4d94c6869891f09e Mon Sep 17 00:00:00 2001 From: June Date: Wed, 6 May 2026 14:19:38 +0200 Subject: [PATCH 251/417] nftables(role): reload instead of restart This should make the role more robust against misconfigurations. --- roles/nftables/handlers/main.yaml | 4 ++-- roles/nftables/tasks/main.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/roles/nftables/handlers/main.yaml b/roles/nftables/handlers/main.yaml index 3b72c54cd6..45f20c9233 100644 --- a/roles/nftables/handlers/main.yaml +++ b/roles/nftables/handlers/main.yaml @@ -1,5 +1,5 @@ -- name: Restart nftables service +- name: Reload nftables service ansible.builtin.systemd_service: name: nftables - state: restarted + state: reloaded become: true diff --git a/roles/nftables/tasks/main.yaml b/roles/nftables/tasks/main.yaml index 46ea18dc7d..6a72800fe7 100644 --- a/roles/nftables/tasks/main.yaml +++ b/roles/nftables/tasks/main.yaml @@ -12,4 +12,4 @@ owner: root group: root become: true - notify: Restart nftables service + notify: Reload nftables service From 5283d2da951629c6213e6acc9dcba7e986dc451a Mon Sep 17 00:00:00 2001 From: lilly Date: Wed, 6 May 2026 14:14:17 +0200 Subject: [PATCH 252/417] improve knot roles reloading behavior With this change, the nameserver is not restarted on configuration updates but only reloaded instead. --- roles/knot/handlers/main.yaml | 10 ++-------- roles/knot/tasks/02-configure.yaml | 4 ++-- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/roles/knot/handlers/main.yaml b/roles/knot/handlers/main.yaml index 11944a009f..f89fedd5f7 100644 --- a/roles/knot/handlers/main.yaml +++ b/roles/knot/handlers/main.yaml @@ -1,16 +1,10 @@ --- -- name: restart knot +- name: reload knot tags: [ auth-dns ] become: true ansible.builtin.systemd: name: knot.service - state: restarted - -- name: reload knot zones - tags: [ auth-dns ] - become: true - changed_when: true - ansible.builtin.command: "knotc zone-reload" + state: reloaded - name: netplan apply tags: [ auth-dns ] diff --git a/roles/knot/tasks/02-configure.yaml b/roles/knot/tasks/02-configure.yaml index 12b57321fc..2b0b0fa0d7 100644 --- a/roles/knot/tasks/02-configure.yaml +++ b/roles/knot/tasks/02-configure.yaml @@ -13,7 +13,7 @@ - name: Deploy knot configuration file tags: [ auth-dns ] become: true - notify: restart knot + notify: reload knot ansible.builtin.template: src: knot.conf.j2 dest: /etc/knot/knot.conf @@ -24,7 +24,7 @@ - name: Deploy configured zones tags: [ auth-dns ] become: true - notify: reload knot zones + notify: reload knot loop: "{{ knot__zones }}" loop_control: label: "{{ item.domain }}" From 021843b5cebcdd46409c8cc3e6ca1fcff242d338 Mon Sep 17 00:00:00 2001 From: lilly Date: Wed, 6 May 2026 14:14:17 +0200 Subject: [PATCH 253/417] migrate reverse dns zones to new auth-dns server --- .../chaosknoten/host_vars/auth-dns.yaml | 23 +++++++++++++++++++ .../zones/17.31.172.in-addr.arpa.zone | 2 +- ....0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone | 2 +- ....0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa.zone | 2 +- ....0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone | 2 +- ....0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone | 2 +- ....0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone | 2 +- 7 files changed, 29 insertions(+), 6 deletions(-) diff --git a/inventories/chaosknoten/host_vars/auth-dns.yaml b/inventories/chaosknoten/host_vars/auth-dns.yaml index 007ff0e5cd..2fa8f91039 100644 --- a/inventories/chaosknoten/host_vars/auth-dns.yaml +++ b/inventories/chaosknoten/host_vars/auth-dns.yaml @@ -38,3 +38,26 @@ knot__zones: notify_targets: [ "ns-intern.hamburg.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/eh22.easterhegg.eu.zone') }}" + - domain: "3.2.0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa." + notify_targets: [ "ns-intern.hamburg.ccc.de" ] + content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/3.2.0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa.zone') }}" + + - domain: "2.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa." + notify_targets: [ "ns-intern.hamburg.ccc.de" ] + content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/2.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone') }}" + + - domain: "3.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa." + notify_targets: [ "ns-intern.hamburg.ccc.de" ] + content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/3.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone') }}" + + - domain: "4.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa." + notify_targets: [ "ns-intern.hamburg.ccc.de" ] + content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/4.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone') }}" + + - domain: "5.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa." + notify_targets: [ "ns-intern.hamburg.ccc.de" ] + content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/5.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone') }}" + + - domain: "6.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa." + notify_targets: [ "ns-intern.hamburg.ccc.de" ] + content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/6.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone') }}" diff --git a/resources/chaosknoten/auth-dns/zones/17.31.172.in-addr.arpa.zone b/resources/chaosknoten/auth-dns/zones/17.31.172.in-addr.arpa.zone index ea2c1cebf9..dd13af3c87 100644 --- a/resources/chaosknoten/auth-dns/zones/17.31.172.in-addr.arpa.zone +++ b/resources/chaosknoten/auth-dns/zones/17.31.172.in-addr.arpa.zone @@ -1,6 +1,6 @@ $TTL 7200 -@ IN SOA ns-intern.hamburg.ccc.de. haegar.ccc.de. ( +@ IN SOA auth-dns.hamburg.ccc.de. noc.hamburg.ccc.de. ( 2025020101 10800 3600 diff --git a/resources/chaosknoten/auth-dns/zones/2.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone b/resources/chaosknoten/auth-dns/zones/2.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone index 205bda522f..d7e02c397e 100644 --- a/resources/chaosknoten/auth-dns/zones/2.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone +++ b/resources/chaosknoten/auth-dns/zones/2.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone @@ -1,6 +1,6 @@ $TTL 7200 -@ IN SOA ns.hamburg.ccc.de. haegar.ccc.de. ( +@ IN SOA auth-dns.hamburg.ccc.de. noc.hamburg.ccc.de. ( 2023073001 10800 3600 diff --git a/resources/chaosknoten/auth-dns/zones/3.2.0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa.zone b/resources/chaosknoten/auth-dns/zones/3.2.0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa.zone index 240d783403..59fc28f767 100644 --- a/resources/chaosknoten/auth-dns/zones/3.2.0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa.zone +++ b/resources/chaosknoten/auth-dns/zones/3.2.0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa.zone @@ -1,6 +1,6 @@ $TTL 7200 -@ IN SOA ns.hamburg.ccc.de. haegar.ccc.de. ( +@ IN SOA auth-dns.hamburg.ccc.de. noc.hamburg.ccc.de. ( 2025020102 10800 3600 diff --git a/resources/chaosknoten/auth-dns/zones/3.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone b/resources/chaosknoten/auth-dns/zones/3.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone index 3b3921c9bc..a14e026bfb 100644 --- a/resources/chaosknoten/auth-dns/zones/3.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone +++ b/resources/chaosknoten/auth-dns/zones/3.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone @@ -1,6 +1,6 @@ $TTL 7200 -@ IN SOA ns.hamburg.ccc.de. haegar.ccc.de. ( +@ IN SOA auth-dns.hamburg.ccc.de. noc.hamburg.ccc.de. ( 2023072900 10800 3600 diff --git a/resources/chaosknoten/auth-dns/zones/4.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone b/resources/chaosknoten/auth-dns/zones/4.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone index 4bba9bcd91..1a8fb86af9 100644 --- a/resources/chaosknoten/auth-dns/zones/4.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone +++ b/resources/chaosknoten/auth-dns/zones/4.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone @@ -1,6 +1,6 @@ $TTL 7200 -@ IN SOA ns.hamburg.ccc.de. haegar.ccc.de. ( +@ IN SOA auth-dns.hamburg.ccc.de. noc.hamburg.ccc.de. ( 2023072900 10800 3600 diff --git a/resources/chaosknoten/auth-dns/zones/5.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone b/resources/chaosknoten/auth-dns/zones/5.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone index 8eeaf6435d..d46cc3ccdd 100644 --- a/resources/chaosknoten/auth-dns/zones/5.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone +++ b/resources/chaosknoten/auth-dns/zones/5.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone @@ -1,6 +1,6 @@ $TTL 7200 -@ IN SOA ns.hamburg.ccc.de. haegar.ccc.de. ( +@ IN SOA auth-dns.hamburg.ccc.de. noc.hamburg.ccc.de. ( 2023072900 10800 3600 From f7306b91a67aac28e721d744fe9a93a2077ca72c Mon Sep 17 00:00:00 2001 From: lilly Date: Wed, 6 May 2026 14:34:34 +0200 Subject: [PATCH 254/417] remove unused dns zones --- .../chaosknoten/host_vars/auth-dns.yaml | 3 - .../auth-dns/zones/0.0.127.in-addr.arpa.zone | 12 --- .../chaosknoten/auth-dns/zones/127.0.0.zone | 11 --- .../auth-dns/zones/168.192.in-addr.arpa.zone | 10 -- .../zones/17.31.172.in-addr.arpa.zone | 49 ---------- resources/chaosknoten/auth-dns/zones/Makefile | 93 ------------------- .../chaosknoten/auth-dns/zones/localhost.zone | 12 --- .../auth-dns/zones/old-old/ccc.zone | 61 ------------ .../auth-dns/zones/old-old/vpn.hh.ccc.zone | 37 -------- 9 files changed, 288 deletions(-) delete mode 100644 resources/chaosknoten/auth-dns/zones/0.0.127.in-addr.arpa.zone delete mode 100644 resources/chaosknoten/auth-dns/zones/127.0.0.zone delete mode 100644 resources/chaosknoten/auth-dns/zones/168.192.in-addr.arpa.zone delete mode 100644 resources/chaosknoten/auth-dns/zones/17.31.172.in-addr.arpa.zone delete mode 100644 resources/chaosknoten/auth-dns/zones/Makefile delete mode 100644 resources/chaosknoten/auth-dns/zones/localhost.zone delete mode 100644 resources/chaosknoten/auth-dns/zones/old-old/ccc.zone delete mode 100644 resources/chaosknoten/auth-dns/zones/old-old/vpn.hh.ccc.zone diff --git a/inventories/chaosknoten/host_vars/auth-dns.yaml b/inventories/chaosknoten/host_vars/auth-dns.yaml index 2fa8f91039..bff4b10497 100644 --- a/inventories/chaosknoten/host_vars/auth-dns.yaml +++ b/inventories/chaosknoten/host_vars/auth-dns.yaml @@ -10,9 +10,6 @@ knot__catalog_zones: - domain: "hamburg.ccc.de.catalog." knot__zones: - # - domain: "hamburg.ccc.de." - # catalog_member: "hamburg.ccc.de.catalog." - # content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone') }}" - domain: "hh.ccc.de." catalog_member: "hamburg.ccc.de.catalog." notify_targets: [ "ns-intern.hamburg.ccc.de" ] diff --git a/resources/chaosknoten/auth-dns/zones/0.0.127.in-addr.arpa.zone b/resources/chaosknoten/auth-dns/zones/0.0.127.in-addr.arpa.zone deleted file mode 100644 index 770447b904..0000000000 --- a/resources/chaosknoten/auth-dns/zones/0.0.127.in-addr.arpa.zone +++ /dev/null @@ -1,12 +0,0 @@ -$ORIGIN 0.0.127.in-addr.arpa. -$TTL 7200 - -@ 1D IN SOA localhost. root.localhost. ( - 42 ; serial (d. adams) - 3H ; refresh - 15M ; retry - 1W ; expiry - 1D ) ; minimum - - 1D IN NS localhost. -1 1D IN PTR localhost. diff --git a/resources/chaosknoten/auth-dns/zones/127.0.0.zone b/resources/chaosknoten/auth-dns/zones/127.0.0.zone deleted file mode 100644 index b9b7bf5e0d..0000000000 --- a/resources/chaosknoten/auth-dns/zones/127.0.0.zone +++ /dev/null @@ -1,11 +0,0 @@ -$ORIGIN 0.0.127.in-addr.arpa. - -@ 1D IN SOA localhost. root.localhost. ( - 42 ; serial (d. adams) - 3H ; refresh - 15M ; retry - 1W ; expiry - 1D ) ; minimum - - 1D IN NS localhost. -1 1D IN PTR localhost. diff --git a/resources/chaosknoten/auth-dns/zones/168.192.in-addr.arpa.zone b/resources/chaosknoten/auth-dns/zones/168.192.in-addr.arpa.zone deleted file mode 100644 index 910c5963df..0000000000 --- a/resources/chaosknoten/auth-dns/zones/168.192.in-addr.arpa.zone +++ /dev/null @@ -1,10 +0,0 @@ -$TTL 7200 - -@ IN SOA ns.hamburg.ccc.de. hostmaster.ccc.de. ( - 2016111701 - 10800 - 3600 - 3600000 - 86400 ) - - IN NS ns.hamburg.ccc.de. diff --git a/resources/chaosknoten/auth-dns/zones/17.31.172.in-addr.arpa.zone b/resources/chaosknoten/auth-dns/zones/17.31.172.in-addr.arpa.zone deleted file mode 100644 index dd13af3c87..0000000000 --- a/resources/chaosknoten/auth-dns/zones/17.31.172.in-addr.arpa.zone +++ /dev/null @@ -1,49 +0,0 @@ -$TTL 7200 - -@ IN SOA auth-dns.hamburg.ccc.de. noc.hamburg.ccc.de. ( - 2025020101 - 10800 - 3600 - 3600000 - 86400 ) - - IN NS ns-intern.hamburg.ccc.de. - -1 IN PTR turing-vzhost.hamburg.ccc.de. -14 IN PTR attraktor-intern.hamburg.ccc.de. -53 IN PTR ns-intern.hamburg.ccc.de. -122 IN PTR oldturing.hamburg.ccc.de. -129 IN PTR turing-router.hamburg.ccc.de. -131 IN PTR officemail.hh.ccc.de. -132 IN PTR turing-new.hamburg.ccc.de. -133 IN PTR gitlab-intern.hamburg.ccc.de. -134 IN PTR jabber-intern.hamburg.ccc.de. -135 IN PTR turing-db.hamburg.ccc.de. -136 IN PTR chaosvpn-dns.hamburg.ccc.de. -137 IN PTR attraktor-intern2.hamburg.ccc.de. -138 IN PTR gitlab-test-intern.hamburg.ccc.de. -139 IN PTR gitlab-runner.hamburg.ccc.de. -142 IN PTR turing-intern2.hamburg.ccc.de. -143 IN PTR cloud-intern.hamburg.ccc.de. -144 IN PTR keycloak-intern.hamburg.ccc.de. -145 IN PTR grafana-intern.hamburg.ccc.de. -146 IN PTR wiki-intern.hamburg.ccc.de. -147 IN PTR onlyoffice-intern.hamburg.ccc.de. -148 IN PTR tickets-intern.hamburg.ccc.de. -149 IN PTR netbox-intern.hamburg.ccc.de. -150 IN PTR matrix-intern.hamburg.ccc.de. -151 IN PTR public-web-static-intern.hamburg.ccc.de. -152 IN PTR zammad-intern.hamburg.ccc.de. -153 IN PTR ns-intern2.hamburg.ccc.de. -156 IN PTR ccchoir-intern.hamburg.ccc.de. -157 IN PTR pretalx-intern.hamburg.ccc.de. -163 IN PTR renovate-forgejo.hamburg.ccc.de -180 IN PTR rproxy-intern.hamburg.ccc.de. -199 IN PTR template.hamburg.ccc.de. -201 IN PTR cow-intern.hamburg.ccc.de. -202 IN PTR forgejo-runner-builder.hamburg.ccc.de. -202 IN PTR forgejo-runner-ubuntu.hamburg.ccc.de. -204 IN PTR eh22hub-intern.hamburg.ccc.de. -212 IN PTR eh20-intern.hamburg.ccc.de. -213 IN PTR cryptoparty-intern.hamburg.ccc.de. -254 IN PTR chaosknoten.hamburg.ccc.de. diff --git a/resources/chaosknoten/auth-dns/zones/Makefile b/resources/chaosknoten/auth-dns/zones/Makefile deleted file mode 100644 index d3b6687277..0000000000 --- a/resources/chaosknoten/auth-dns/zones/Makefile +++ /dev/null @@ -1,93 +0,0 @@ - -CHANGED = $(shell git diff --name-only --relative -- '*.zone' ) - -export GIT_AUTHOR_NAME = "Bind Makefile" -#export GIT_AUTHOR_EMAIL = "$(shell whoami)@$(shell hostname -f)" -#export GIT_COMMITTER_NAME = $(GIT_AUTHOR_NAME) -#export GIT_COMMITTER_EMAIL = $(GIT_AUTHOR_EMAIL) - -all: rollover -install: rollover - -rollover: autoserial diff check reload eof - - -diff: - @echo "Diff Zones... " - @git diff -U0 -- $(CHANGED) \ - | grep -a -v -E '^(diff |index |---|@@)' \ - | sed -e 's/^[+]* .\/\([^ ]*\).*/=> \1/' - -autoserial: - @for file in $(CHANGED); do \ - perl -p -i -e 'if ($$p =~ /[\t\s]+IN[\t\s]+SOA[\t\s]+/) { $$stamp = sprintf("%4.4d%02.2d%02.2d", (localtime)[5]+1900, (localtime)[4]+1, (localtime)[3]); $$count = (/$$stamp([0-9]{2})/)? $$1 + 1: 1; s/[0-9]+/sprintf("%s%02.2d", $$stamp, $$count)/e; } $$p = $$_;' $$file; \ - done - -check: - @echo "Checking Configs... " - @if ! named-checkconf /etc/bind/named.conf; then \ - echo "FIX THE ERROR AND TRY AGAIN"; \ - exit 1 ; \ - fi - - @echo "Checking Zones... " - @named-checkconf -j -p /etc/bind/named.conf \ - | perl -e 'my $$zone = ""; while (<>) { if (/^\s+zone\s+\"(.*)\"/) { $$zone = $$1; } elsif (($$zone ne "") && /^\s+file\s+\"(.*?)\"/) { print "$$zone $$1\n"; $$zone = ""; } }' \ - | sort \ - | uniq \ - | while read zone file; do \ - echo "FOO: zone: $$zone file: $$file"; \ - if [ -z "$$file" -o "$$zone" = "key" ] ; then \ - continue ; \ - fi ; \ - if echo -n "$$zone" | grep -q -E '(sc-eur.com|db.root|named.dump|named.stats)'; then \ - continue; \ - fi; \ - if ! named-checkzone -q -i "full" $$zone $$file; then \ - named-checkzone -i "full" $$zone $$file; \ - echo "FIX THE ERROR AND TRY AGAIN"; \ - exit 1 ; \ - fi; \ - done - -#@echo "Checking CNAMEs and PTRs... " -#@grep -l -E '.*(PTR|CNAME).*[^.]*[.][^.]*[^.]$$' *.* \ -#| grep -v '\.sh$$' \ -#| while read file; do \ -# echo "$$file: DO NOT FORGET THE LAST DOT"; \ -# grep -E '.*(PTR|CNAME).*[^.]*[.][^.]*[^.]$$' $$file; \ -# exit 1 ; \ -#done - -reload: - @while [ "$$answer" = "" ]; do \ - echo -n "Do you want to reload all zones ? [yes] "; \ - read answer; \ - case $$answer in \ - [Yy]|[Yy][Ee][Ss]) \ - answer="yes"; \ - break; \ - ;; \ - [Nn]|[Nn][Oo]) \ - answer="no"; \ - break; \ - ;; \ - "") \ - answer="yes"; \ - break; \ - ;; \ - *) \ - answer=""; \ - ;; \ - esac; \ - done; \ - if [ "$$answer" = "yes" ]; then \ - etckeeper commit "Changed DNS Zones: $(CHANGED)" ; \ - rndc reload; \ - else \ - echo "Server reload aborted"; \ - exit 1 ; \ - fi - -eof: - @echo "DONE -- That's all folks!" diff --git a/resources/chaosknoten/auth-dns/zones/localhost.zone b/resources/chaosknoten/auth-dns/zones/localhost.zone deleted file mode 100644 index 0ef6b019ff..0000000000 --- a/resources/chaosknoten/auth-dns/zones/localhost.zone +++ /dev/null @@ -1,12 +0,0 @@ -$ORIGIN localhost. -$TTL 7200 - -@ 1D IN SOA @ root ( - 42 ; serial (d. adams) - 3H ; refresh - 15M ; retry - 1W ; expiry - 1D ) ; minimum - - 1D IN NS @ - 1D IN A 127.0.0.1 diff --git a/resources/chaosknoten/auth-dns/zones/old-old/ccc.zone b/resources/chaosknoten/auth-dns/zones/old-old/ccc.zone deleted file mode 100644 index cd64c12ddb..0000000000 --- a/resources/chaosknoten/auth-dns/zones/old-old/ccc.zone +++ /dev/null @@ -1,61 +0,0 @@ -$ORIGIN ccc. -$TTL 7200 -@ IN SOA turing.hamburg.ccc.de. haegar.ccc.de. ( - 2002101507 - 10800 - 3600 - 3600000 - 86400 ) - - IN NS turing.hamburg.ccc.de. - -localhost IN A 127.0.0.1 - -www IN A 195.21.255.248 - -hh IN NS ccchh.hh.ccc. - IN NS turing.hamburg.ccc.de. -ccchh.hh IN A 192.168.16.2 - -vpn.hh IN NS turing.hamburg.ccc.de. - -; haegar: -sdinet IN NS ns.sdinet.ccc. -ns.sdinet IN A 192.168.18.41 - -; falk: -valhalla IN NS thor.valhalla.ccc. -thor.valhalla IN A 192.168.21.1 - -; jeedi: -ghetto IN NS semaphore.ghetto.ccc. -semaphore.ghetto IN A 192.168.20.2 - -; count -flatline IN NS aleph.flatline.de. -flatline IN NS pulse.flatline.de. - -; thalunil (Alex Bihlmaier) -core.kallisti IN A 194.122.183.51 -fnord IN NS core.kallisti -kallisti IN NS core.kallisti - -; sz -vogsphere IN A 212.12.48.51 -datenknoten IN A 212.12.48.49 -znet IN NS datenknoten.ccc. -sz IN NS datenknoten.ccc. -chaos IN NS datenknoten.ccc. -funk IN NS datenknoten.ccc. -presse IN NS datenknoten.ccc. -weltregierung IN NS datenknoten.ccc. - -; migri -migri IN CNAME migri.homeip.net. - -; Enno -enno IN CNAME home.verbrennung.org. - -; Dennis -desc IN NS freya.ainex.net. - diff --git a/resources/chaosknoten/auth-dns/zones/old-old/vpn.hh.ccc.zone b/resources/chaosknoten/auth-dns/zones/old-old/vpn.hh.ccc.zone deleted file mode 100644 index cc767688e8..0000000000 --- a/resources/chaosknoten/auth-dns/zones/old-old/vpn.hh.ccc.zone +++ /dev/null @@ -1,37 +0,0 @@ -$ORIGIN vpn.hh.ccc. -$TTL 7200 - -@ IN SOA vpn.hh.ccc. haegar.ccc.de. ( - 2002101502 - 10800 - 3600 - 3600000 - 86400 ) - - IN NS turing.hamburg.ccc.de. - -localhost IN A 127.0.0.1 - -network IN A 192.168.0.64 -fwhh IN A 192.168.0.65 -worf IN A 192.168.0.66 -sdinet-cut IN A 192.168.0.67 -migri IN A 192.168.0.68 -cemil IN A 192.168.0.69 -fw IN A 192.168.0.70 -fw-server IN A 192.168.0.71 - -broadcast IN A 192.168.0.127 - -net.znet IN A 192.168.23.0 -gate.znet IN A 192.168.23.23 -bc.znet IN A 192.168.23.255 - -net.no-maam IN A 192.168.24.0 -gate.no-maam IN A 192.168.24.1 -bc.no-maam IN A 192.168.24.255 - -net.loom IN A 192.168.33.0 -gate.loom IN A 192.168.33.1 -bc.loom IN A 192.168.33.255 - From 291ebce9434459f04b7b5b87cf4b369be1fb026d Mon Sep 17 00:00:00 2001 From: June Date: Wed, 6 May 2026 14:42:34 +0200 Subject: [PATCH 255/417] router(host): configure public (v4) network --- .../chaosknoten/router/nftables/nftables.conf | 15 ++++++++---- .../systemd_networkd/10-net0.5-public.netdev | 6 +++++ .../router/systemd_networkd/20-net0.network | 2 +- .../systemd_networkd/21-net0.5-public.network | 23 +++++++++++++++++++ 4 files changed, 40 insertions(+), 6 deletions(-) create mode 100644 resources/chaosknoten/router/systemd_networkd/10-net0.5-public.netdev create mode 100644 resources/chaosknoten/router/systemd_networkd/21-net0.5-public.network diff --git a/resources/chaosknoten/router/nftables/nftables.conf b/resources/chaosknoten/router/nftables/nftables.conf index ca62a97280..b9978d8b0f 100644 --- a/resources/chaosknoten/router/nftables/nftables.conf +++ b/resources/chaosknoten/router/nftables/nftables.conf @@ -7,14 +7,19 @@ 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" +define if_net0_5_public = "net0.5" # 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 } -# define v4_exposed_ifs = { } -define v6_exposed_ifs = { $if_net0_2_v4_nat } + $if_net0_3_ci_runner, + $if_net0_5_public } +define v4_exposed_ifs = { $if_net0_5_public } +define v6_exposed_ifs = { $if_net0_2_v4_nat, + $if_net0_5_public } +define v4_nat_ifs = { $if_net0_2_v4_nat, + $if_net0_3_ci_runner } ## Rules @@ -73,7 +78,7 @@ table ip v4nat { chain postrouting { type nat hook postrouting priority srcnat; policy accept; - oifname $if_net1_v4_wan masquerade + iifname $v4_nat_ifs oifname $if_net1_v4_wan masquerade } } @@ -89,7 +94,7 @@ table inet forward { 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 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" } } diff --git a/resources/chaosknoten/router/systemd_networkd/10-net0.5-public.netdev b/resources/chaosknoten/router/systemd_networkd/10-net0.5-public.netdev new file mode 100644 index 0000000000..be3c9d93be --- /dev/null +++ b/resources/chaosknoten/router/systemd_networkd/10-net0.5-public.netdev @@ -0,0 +1,6 @@ +[NetDev] +Name=net0.5 +Kind=vlan + +[VLAN] +Id=5 diff --git a/resources/chaosknoten/router/systemd_networkd/20-net0.network b/resources/chaosknoten/router/systemd_networkd/20-net0.network index a32d75ea09..a9104ffe1c 100644 --- a/resources/chaosknoten/router/systemd_networkd/20-net0.network +++ b/resources/chaosknoten/router/systemd_networkd/20-net0.network @@ -7,6 +7,6 @@ RequiredForOnline=no [Network] VLAN=net0.2 VLAN=net0.3 +VLAN=net0.5 LinkLocalAddressing=no - diff --git a/resources/chaosknoten/router/systemd_networkd/21-net0.5-public.network b/resources/chaosknoten/router/systemd_networkd/21-net0.5-public.network new file mode 100644 index 0000000000..2a7b0db235 --- /dev/null +++ b/resources/chaosknoten/router/systemd_networkd/21-net0.5-public.network @@ -0,0 +1,23 @@ +[Match] +Name=net0.5 +Type=vlan + +[Link] +RequiredForOnline=no + +[Network] +Description=public + +# Masquerading done in nftables (nftables.conf). +IPv6SendRA=yes + +[Address] +Address=212.12.50.209/29 + +[IPv6SendRA] +UplinkInterface=net2 + +[IPv6Prefix] +Prefix=2a00:14b0:42:105::/64 +Assign=true +Token=static:::1 From 50beedbc629743dde2dc4a052cd66b4c065496b6 Mon Sep 17 00:00:00 2001 From: lilly Date: Wed, 6 May 2026 15:51:08 +0200 Subject: [PATCH 256/417] configure metric scraping from knot on auth-dns --- .../chaosknoten/host_vars/auth-dns.yaml | 2 ++ inventories/chaosknoten/hosts.yaml | 1 + .../auth-dns/alloy/knot-exporter.alloy | 6 ++++++ roles/knot/handlers/main.yaml | 8 +++++++ roles/knot/tasks/03-configure-exporter.yaml | 21 +++++++++++++++++++ roles/knot/tasks/main.yaml | 1 + roles/knot/templates/knot-exporter.service.j2 | 17 +++++++++++++++ 7 files changed, 56 insertions(+) create mode 100644 resources/chaosknoten/auth-dns/alloy/knot-exporter.alloy create mode 100644 roles/knot/tasks/03-configure-exporter.yaml create mode 100644 roles/knot/templates/knot-exporter.service.j2 diff --git a/inventories/chaosknoten/host_vars/auth-dns.yaml b/inventories/chaosknoten/host_vars/auth-dns.yaml index bff4b10497..970e2f8d97 100644 --- a/inventories/chaosknoten/host_vars/auth-dns.yaml +++ b/inventories/chaosknoten/host_vars/auth-dns.yaml @@ -1,6 +1,8 @@ --- deploy_systemd_resolved_config__enable: false +alloy_config_additional: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/auth-dns/alloy/knot-exporter.alloy') }}" + knot__dnssec_key_id: "auth-dns.hamburg.ccc.de-1" knot__remotes: - id: ns-intern.hamburg.ccc.de diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index a6cea9b1dc..9dab3235c6 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -224,6 +224,7 @@ alloy_hosts: spaceapiccc: www2: www3: + auth-dns: infrastructure_authorized_keys_hosts: hosts: ccchoir: diff --git a/resources/chaosknoten/auth-dns/alloy/knot-exporter.alloy b/resources/chaosknoten/auth-dns/alloy/knot-exporter.alloy new file mode 100644 index 0000000000..1e532a16ce --- /dev/null +++ b/resources/chaosknoten/auth-dns/alloy/knot-exporter.alloy @@ -0,0 +1,6 @@ +prometheus.scrape "knot_exporter" { + targets = [ + {"__address__" = "localhost:9433", "instance" = "{{ ansible_facts['hostname'] }}"}, + ] + forward_to = [ prometheus.relabel.chaosknoten_common.receiver ] +} diff --git a/roles/knot/handlers/main.yaml b/roles/knot/handlers/main.yaml index f89fedd5f7..38fce7502a 100644 --- a/roles/knot/handlers/main.yaml +++ b/roles/knot/handlers/main.yaml @@ -11,3 +11,11 @@ become: true changed_when: true ansible.builtin.command: "netplan apply" + +- name: restart knot-exporter + tags: [ auth-dns ] + become: true + ansible.builtin.systemd: + name: knot-exporter.service + state: restarted + daemon_reload: true diff --git a/roles/knot/tasks/03-configure-exporter.yaml b/roles/knot/tasks/03-configure-exporter.yaml new file mode 100644 index 0000000000..db5d830946 --- /dev/null +++ b/roles/knot/tasks/03-configure-exporter.yaml @@ -0,0 +1,21 @@ +- name: Deploy knot-exporter systemd unit + tags: [ auth-dns ] + become: true + register: deploy_service_file + notify: restart knot-exporter + ansible.builtin.template: + src: knot-exporter.service.j2 + dest: /etc/systemd/system/knot-exporter.service + owner: root + group: root + mode: u=rw,g=r,o=r + +- name: Ensure knot-exporter is running and enabled + tags: [ auth-dns ] + become: true + ansible.builtin.systemd: + name: knot-exporter.service + state: started + enabled: true + daemon_reload: "{{ deploy_service_file.changed }}" + diff --git a/roles/knot/tasks/main.yaml b/roles/knot/tasks/main.yaml index cdf9511cb4..bdf5cf7803 100644 --- a/roles/knot/tasks/main.yaml +++ b/roles/knot/tasks/main.yaml @@ -1,3 +1,4 @@ --- - ansible.builtin.import_tasks: 01-install.yaml # noqa: name[missing] - ansible.builtin.import_tasks: 02-configure.yaml # noqa: name[missing] +- ansible.builtin.import_tasks: 03-configure-exporter.yaml # noqa: name[missing] diff --git a/roles/knot/templates/knot-exporter.service.j2 b/roles/knot/templates/knot-exporter.service.j2 new file mode 100644 index 0000000000..124669457e --- /dev/null +++ b/roles/knot/templates/knot-exporter.service.j2 @@ -0,0 +1,17 @@ +# {{ ansible_managed }} +[Unit] +Description=knot prometheus exporter +Wants=network.target +Before=alloy.service +After=network.target + +[Service] +User=knot +ExecStart=/usr/sbin/knot-exporter +ReadWritePaths=/run/knot/ +ProtectSystem=strict +ProtectHome=true +PrivateTmp=true +PrivateDevices=true +PrivateIPC=true + From bc4df9a3f40c1cfa06c0f80927ea13af2f8f0909 Mon Sep 17 00:00:00 2001 From: lilly Date: Thu, 7 May 2026 23:45:48 +0200 Subject: [PATCH 257/417] fix ansible-lint warnings of knot role --- roles/knot/tasks/03-configure-exporter.yaml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/roles/knot/tasks/03-configure-exporter.yaml b/roles/knot/tasks/03-configure-exporter.yaml index db5d830946..4254acb340 100644 --- a/roles/knot/tasks/03-configure-exporter.yaml +++ b/roles/knot/tasks/03-configure-exporter.yaml @@ -1,7 +1,7 @@ - name: Deploy knot-exporter systemd unit tags: [ auth-dns ] become: true - register: deploy_service_file + register: knot_deploy_service_file notify: restart knot-exporter ansible.builtin.template: src: knot-exporter.service.j2 @@ -17,5 +17,4 @@ name: knot-exporter.service state: started enabled: true - daemon_reload: "{{ deploy_service_file.changed }}" - + daemon_reload: "{{ knot_deploy_service_file.changed }}" From 595b19375a9ce442cafb23f10e78bc3023502a8d Mon Sep 17 00:00:00 2001 From: lilly Date: Thu, 7 May 2026 23:59:50 +0200 Subject: [PATCH 258/417] replace primary NS in all zones except *.hamburg.ccc.de zones --- .../2.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone | 2 +- .../zones/3.2.0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa.zone | 2 +- .../3.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone | 2 +- .../4.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone | 2 +- .../5.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone | 2 +- .../6.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone | 2 +- resources/chaosknoten/auth-dns/zones/ccchh.net.zone | 3 ++- resources/chaosknoten/auth-dns/zones/eh20.easterhegg.eu.zone | 2 +- resources/chaosknoten/auth-dns/zones/eh22.easterhegg.eu.zone | 2 +- 9 files changed, 10 insertions(+), 9 deletions(-) diff --git a/resources/chaosknoten/auth-dns/zones/2.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone b/resources/chaosknoten/auth-dns/zones/2.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone index d7e02c397e..baacd63496 100644 --- a/resources/chaosknoten/auth-dns/zones/2.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone +++ b/resources/chaosknoten/auth-dns/zones/2.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone @@ -7,7 +7,7 @@ $TTL 7200 3600000 86400 ) - IN NS ns.hamburg.ccc.de. + IN NS auth-dns.hamburg.ccc.de. IN NS ns.vie.ccc.de. ; 2a00:14b0:4200:3000:122::1 diff --git a/resources/chaosknoten/auth-dns/zones/3.2.0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa.zone b/resources/chaosknoten/auth-dns/zones/3.2.0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa.zone index 59fc28f767..e06c4a2509 100644 --- a/resources/chaosknoten/auth-dns/zones/3.2.0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa.zone +++ b/resources/chaosknoten/auth-dns/zones/3.2.0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa.zone @@ -7,7 +7,7 @@ $TTL 7200 3600000 86400 ) - IN NS ns.hamburg.ccc.de. + IN NS auth-dns.hamburg.ccc.de. IN NS ns.vie.ccc.de. ; ccchh firewall / tunnelendpunkte: diff --git a/resources/chaosknoten/auth-dns/zones/3.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone b/resources/chaosknoten/auth-dns/zones/3.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone index a14e026bfb..6972a51a9f 100644 --- a/resources/chaosknoten/auth-dns/zones/3.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone +++ b/resources/chaosknoten/auth-dns/zones/3.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone @@ -7,7 +7,7 @@ $TTL 7200 3600000 86400 ) - IN NS ns.hamburg.ccc.de. + IN NS auth-dns.hamburg.ccc.de. IN NS ns.vie.ccc.de. ; 2a00:14b0:4200:3000:123::1 diff --git a/resources/chaosknoten/auth-dns/zones/4.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone b/resources/chaosknoten/auth-dns/zones/4.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone index 1a8fb86af9..a43bc068c9 100644 --- a/resources/chaosknoten/auth-dns/zones/4.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone +++ b/resources/chaosknoten/auth-dns/zones/4.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone @@ -7,7 +7,7 @@ $TTL 7200 3600000 86400 ) - IN NS ns.hamburg.ccc.de. + IN NS auth-dns.hamburg.ccc.de. IN NS ns.vie.ccc.de. ; 2a00:14b0:4200:3000:124::1 diff --git a/resources/chaosknoten/auth-dns/zones/5.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone b/resources/chaosknoten/auth-dns/zones/5.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone index d46cc3ccdd..b03dcc71f5 100644 --- a/resources/chaosknoten/auth-dns/zones/5.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone +++ b/resources/chaosknoten/auth-dns/zones/5.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone @@ -7,7 +7,7 @@ $TTL 7200 3600000 86400 ) - IN NS ns.hamburg.ccc.de. + IN NS auth-dns.hamburg.ccc.de. IN NS ns.vie.ccc.de. ; 2a00:14b0:4200:3000:125::1 diff --git a/resources/chaosknoten/auth-dns/zones/6.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone b/resources/chaosknoten/auth-dns/zones/6.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone index 154508404c..3de9e0939b 100644 --- a/resources/chaosknoten/auth-dns/zones/6.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone +++ b/resources/chaosknoten/auth-dns/zones/6.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone @@ -7,7 +7,7 @@ $TTL 7200 3600000 86400 ) - IN NS ns.hamburg.ccc.de. + IN NS auth-dns.hamburg.ccc.de. IN NS ns.vie.ccc.de. ; 2a00:14b0:4200:3000:126::1 diff --git a/resources/chaosknoten/auth-dns/zones/ccchh.net.zone b/resources/chaosknoten/auth-dns/zones/ccchh.net.zone index b112bc82e3..40d4c94682 100644 --- a/resources/chaosknoten/auth-dns/zones/ccchh.net.zone +++ b/resources/chaosknoten/auth-dns/zones/ccchh.net.zone @@ -7,8 +7,9 @@ ccchh.net IN SOA auth-dns.hamburg.ccc.de. noc.hamburg.ccc.de. ( 3600000 ; expire (5 weeks 6 days 16 hours) 7200 ; minimum (2 hours) ) + NS auth-dns.hamburg.ccc.de. NS ns.vie.ccc.de. - NS ns.hamburg.ccc.de. + $ORIGIN ccchh.net. aes A 212.12.48.125 club-assistant AAAA 2a07:c481:1:d0::a diff --git a/resources/chaosknoten/auth-dns/zones/eh20.easterhegg.eu.zone b/resources/chaosknoten/auth-dns/zones/eh20.easterhegg.eu.zone index 5103c2a24a..2820b680ae 100644 --- a/resources/chaosknoten/auth-dns/zones/eh20.easterhegg.eu.zone +++ b/resources/chaosknoten/auth-dns/zones/eh20.easterhegg.eu.zone @@ -7,7 +7,7 @@ $TTL 7200 3600000 86400 ) - IN NS ns.hamburg.ccc.de. + IN NS auth-dns.hamburg.ccc.de. IN NS ns.vie.ccc.de. IN MX 5 nomail.ccc.de. diff --git a/resources/chaosknoten/auth-dns/zones/eh22.easterhegg.eu.zone b/resources/chaosknoten/auth-dns/zones/eh22.easterhegg.eu.zone index 0d936e628f..32d9d0476d 100644 --- a/resources/chaosknoten/auth-dns/zones/eh22.easterhegg.eu.zone +++ b/resources/chaosknoten/auth-dns/zones/eh22.easterhegg.eu.zone @@ -7,7 +7,7 @@ $TTL 600 3600000 86400 ) - IN NS ns.hamburg.ccc.de. + IN NS auth-dns.hamburg.ccc.de. IN NS ns.vie.ccc.de. IN A 212.12.48.125 From 3c558003a9ae66d8e158899dcd1a34203956d03b Mon Sep 17 00:00:00 2001 From: June Date: Fri, 8 May 2026 21:20:55 +0200 Subject: [PATCH 259/417] auth-dns(host): format hamburg.ccc.de zone file Format zone file as first step of a series of clean-ups. --- .../auth-dns/zones/hamburg.ccc.de.zone | 978 +++++++++--------- 1 file changed, 489 insertions(+), 489 deletions(-) diff --git a/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone b/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone index 02360c978e..5c19401d0d 100644 --- a/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone +++ b/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone @@ -7,584 +7,584 @@ ; - haegar 2001.11.14 $TTL 7200 -@ IN SOA auth-dns.hamburg.ccc.de. noc.hamburg.ccc.de. ( - 2026042903 - 10800 - 3600 - 3600000 - 86400 ) +@ IN SOA auth-dns.hamburg.ccc.de. noc.hamburg.ccc.de. ( + 2026042903 + 10800 + 3600 + 3600000 + 86400 ) - IN NS ns.hamburg.ccc.de. - IN NS ns.vie.ccc.de. + IN NS ns.hamburg.ccc.de. + IN NS ns.vie.ccc.de. $TTL 60 - IN MX 10 cow.hamburg.ccc.de. -; IN MX 10 local-mail.hamburg.ccc.de. + IN MX 10 cow.hamburg.ccc.de. +; IN MX 10 local-mail.hamburg.ccc.de. $TTL 7200 - IN TXT "v=spf1 mx ip4:212.12.51.133 ip6:2a00:14b0:f000:23:51:133:0:1 ip4:212.12.48.122 ip6:2a00:14b0:4200:3000:122::1 -all" + IN TXT "v=spf1 mx ip4:212.12.51.133 ip6:2a00:14b0:f000:23:51:133:0:1 ip4:212.12.48.122 ip6:2a00:14b0:4200:3000:122::1 -all" - IN A 212.12.48.125 - IN AAAA 2a00:14b0:4200:3000:125::1 + IN A 212.12.48.125 + IN AAAA 2a00:14b0:4200:3000:125::1 -dkim._domainkey IN TXT ("v=DKIM1;k=rsa;t=s;s=email;" - "p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4wZRajtsQTrVgXco7" - "1E2T+UDRxzzXJ+0F7m1UHiPpsjGQJ4Njs4Zc6qC21FLxhUIRFURy9mZ2mGk6hnL" - "w6wi0xm0N3MOH8BG/omPfWJcH4C1XXMk6trYSjhKQb4FzNbusAFoldIdwtt/aa/" - "GJBvRD+XYulvuyqolD2SGY62tAiXqls4ik2ZiDrIv+Dglg8b8fD4kzqe/aXlUvD" - "j3hCMHmyjE8mn8lYnS0QfSnV8NlqKwOhF+iwqfrhMI2bZFCQ+td03RtQjaXw5W+" - "30NMcOv6Se4vPDl4nUIBJZ/wP3CBz1k66VShHB+un7SxoUQuW0+oDqN4QHH338b" - "2dDOoBJndwIDAQAB") -_dmarc IN TXT "v=DMARC1;p=none;sp=none;pct=100;rua=mailto:dmarc-report@hamburg.ccc.de;ruf=mailto:dmarc-report@hamburg.ccc.de;ri=86400;aspf=r;adkim=r;fo=1" +dkim._domainkey IN TXT ("v=DKIM1;k=rsa;t=s;s=email;" + "p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4wZRajtsQTrVgXco7" + "1E2T+UDRxzzXJ+0F7m1UHiPpsjGQJ4Njs4Zc6qC21FLxhUIRFURy9mZ2mGk6hnL" + "w6wi0xm0N3MOH8BG/omPfWJcH4C1XXMk6trYSjhKQb4FzNbusAFoldIdwtt/aa/" + "GJBvRD+XYulvuyqolD2SGY62tAiXqls4ik2ZiDrIv+Dglg8b8fD4kzqe/aXlUvD" + "j3hCMHmyjE8mn8lYnS0QfSnV8NlqKwOhF+iwqfrhMI2bZFCQ+td03RtQjaXw5W+" + "30NMcOv6Se4vPDl4nUIBJZ/wP3CBz1k66VShHB+un7SxoUQuW0+oDqN4QHH338b" + "2dDOoBJndwIDAQAB") +_dmarc IN TXT "v=DMARC1;p=none;sp=none;pct=100;rua=mailto:dmarc-report@hamburg.ccc.de;ruf=mailto:dmarc-report@hamburg.ccc.de;ri=86400;aspf=r;adkim=r;fo=1" -;_sip._udp IN SRV 10 0 5060 vermittlung -;_sip._tcp IN SRV 10 4 5060 vermittlung -;_sips._tcp IN SRV 10 4 5060 vermittlung +;_sip._udp IN SRV 10 0 5060 vermittlung +;_sip._tcp IN SRV 10 4 5060 vermittlung +;_sips._tcp IN SRV 10 4 5060 vermittlung -_xmpp-client._tcp IN SRV 10 0 5222 jabber -_xmpp-server._tcp IN SRV 10 0 5269 jabber -_xmpp-client._tcp.jabber IN SRV 10 0 5222 jabber -_xmpp-server._tcp.jabber IN SRV 10 0 5269 jabber +_xmpp-client._tcp IN SRV 10 0 5222 jabber +_xmpp-server._tcp IN SRV 10 0 5269 jabber +_xmpp-client._tcp.jabber IN SRV 10 0 5222 jabber +_xmpp-server._tcp.jabber IN SRV 10 0 5269 jabber -localhost IN A 127.0.0.1 +localhost IN A 127.0.0.1 -dante._domainkey IN TXT ( "v=DKIM1;k=rsa;t=s;s=email;" - "p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzMLFoEXbD/IgP6TIz2KDZudbnYtcJ4QjdWiwEP5NMvugymzDCiLaKTwNUFycKA1TvW0Y7/x0EEgqcSjfV87GU8xs6qsArgbQWBCs9gPBInbA8LBX9RN/JX30pESh+jGfdNWl7mWkkyVuONUgy/vFHWswJZ72Lg96gyBBCAR1ABC7qM8PYjoFFlRR76PfZNV8YHRBM/1ypQthtjPf" - "NKhV8MksNIXPKhcQwy6/JAVpkUunVpOrsuf2K6RFVMrVNUEtEYkpZUPtnoTYwaB0rRLg0f+InHzKZx2uv6JexyWZOwxsv8Bv1I+jdiEkQMw9kORZ81sv2mcUO+0PubeYVpvWAwIDAQAB" ) -hansenerd._domainkey IN TXT ( "v=DKIM1; k=rsa; " - "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDlxTgmc5Fe2aQc5razQYlk3OBGNePuevJQ7YVp5j5IM0ukBLM1erTR6DLZZvoGd2puKvfjlvejR3GRY4YXeZkCJoS0ZjwpR3Tfy8PzUbPNMt5e/buHGK1v+9E9zrl4vrxgYYYlYqjl1HF1K9oE5yPI1AIeUxzZpduheJASlxr9VwIDAQAB" ) ; +dante._domainkey IN TXT ("v=DKIM1;k=rsa;t=s;s=email;" + "p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzMLFoEXbD/IgP6TIz2KDZudbnYtcJ4QjdWiwEP5NMvugymzDCiLaKTwNUFycKA1TvW0Y7/x0EEgqcSjfV87GU8xs6qsArgbQWBCs9gPBInbA8LBX9RN/JX30pESh+jGfdNWl7mWkkyVuONUgy/vFHWswJZ72Lg96gyBBCAR1ABC7qM8PYjoFFlRR76PfZNV8YHRBM/1ypQthtjPf" + "NKhV8MksNIXPKhcQwy6/JAVpkUunVpOrsuf2K6RFVMrVNUEtEYkpZUPtnoTYwaB0rRLg0f+InHzKZx2uv6JexyWZOwxsv8Bv1I+jdiEkQMw9kORZ81sv2mcUO+0PubeYVpvWAwIDAQAB" ) +hansenerd._domainkey IN TXT ("v=DKIM1; k=rsa; " + "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDlxTgmc5Fe2aQc5razQYlk3OBGNePuevJQ7YVp5j5IM0ukBLM1erTR6DLZZvoGd2puKvfjlvejR3GRY4YXeZkCJoS0ZjwpR3Tfy8PzUbPNMt5e/buHGK1v+9E9zrl4vrxgYYYlYqjl1HF1K9oE5yPI1AIeUxzZpduheJASlxr9VwIDAQAB" ) ; ; VMWare ESXi Host: -worker IN A 212.12.48.123 -worker-ipmi IN A 212.12.51.136 +worker IN A 212.12.48.123 +worker-ipmi IN A 212.12.51.136 ; Proxmox Host: -chaosknoten IN A 212.12.48.126 - IN AAAA 2a00:14b0:4200:3000::126:1 -;chaosknoten-ipmi IN A 212.12.51.137; unused public IP -chaosknoten-ipmi IN A 44.128.124.4 +chaosknoten IN A 212.12.48.126 + IN AAAA 2a00:14b0:4200:3000::126:1 +;chaosknoten-ipmi IN A 212.12.51.137; unused public IP +chaosknoten-ipmi IN A 44.128.124.4 ; DMZ-Server: -dmz-net IN A 212.12.50.208 +dmz-net IN A 212.12.50.208 -turing IN A 212.12.48.122 - IN AAAA 2a00:14b0:4200:3000:122::1 - IN MX 10 cow.hamburg.ccc.de. -turing-chaosvpn IN AAAA 2001:6f8:126f:11::3 - IN A 172.31.17.1 -turing-vpn IN CNAME turing-chaosvpn -turing-vpngw IN A 212.12.48.122 - IN AAAA 2a00:14b0:4200:3000:122::1 -turing-vzhost IN A 172.31.17.1 - IN AAAA 2a00:14b0:4200:3000:122::1 - IN MX 10 cow.hamburg.ccc.de. -turing-vzhost2 IN CNAME turing-vzhost -turing-router IN A 172.31.17.129 +turing IN A 212.12.48.122 + IN AAAA 2a00:14b0:4200:3000:122::1 + IN MX 10 cow.hamburg.ccc.de. +turing-chaosvpn IN AAAA 2001:6f8:126f:11::3 + IN A 172.31.17.1 +turing-vpn IN CNAME turing-chaosvpn +turing-vpngw IN A 212.12.48.122 + IN AAAA 2a00:14b0:4200:3000:122::1 +turing-vzhost IN A 172.31.17.1 + IN AAAA 2a00:14b0:4200:3000:122::1 + IN MX 10 cow.hamburg.ccc.de. +turing-vzhost2 IN CNAME turing-vzhost +turing-router IN A 172.31.17.129 -turing-new IN A 172.31.17.132 +turing-new IN A 172.31.17.132 -oldturing IN A 172.31.17.122 - IN AAAA 2a00:14b0:f000:23::122 - IN MX 10 cow.hamburg.ccc.de. -turing-intern IN CNAME oldturing -turing-intern2 IN A 172.31.17.142 - IN AAAA 2a00:14b0:f000:23::122 +oldturing IN A 172.31.17.122 + IN AAAA 2a00:14b0:f000:23::122 + IN MX 10 cow.hamburg.ccc.de. +turing-intern IN CNAME oldturing +turing-intern2 IN A 172.31.17.142 + IN AAAA 2a00:14b0:f000:23::122 -ns IN A 212.12.48.122 - IN AAAA 2a00:14b0:f000:23::53 - IN MX 10 cow.hamburg.ccc.de. -ns-intern IN A 172.31.17.53 - IN AAAA 2a00:14b0:f000:23::53 -ns-intern2 IN A 172.31.17.153 - IN AAAA 2a00:14b0:f000:23::53 +ns IN A 212.12.48.122 + IN AAAA 2a00:14b0:f000:23::53 + IN MX 10 cow.hamburg.ccc.de. +ns-intern IN A 172.31.17.53 + IN AAAA 2a00:14b0:f000:23::53 +ns-intern2 IN A 172.31.17.153 + IN AAAA 2a00:14b0:f000:23::53 -vpn IN A 212.12.48.122 - ; ipv4 only! -www.vpn IN CNAME vpn -cvpn-dns IN A 172.31.0.5 -chaosvpn-dns IN A 172.31.17.136 +vpn IN A 212.12.48.122 + ; ipv4 only! +www.vpn IN CNAME vpn +cvpn-dns IN A 172.31.0.5 +chaosvpn-dns IN A 172.31.17.136 -turing-db IN A 172.31.17.135 - IN MX 10 cow.hamburg.ccc.de. +turing-db IN A 172.31.17.135 + IN MX 10 cow.hamburg.ccc.de. -jabber IN A 212.12.48.122 - IN AAAA 2a00:14b0:f000:23::26 - IN MX 5 nomail.ccc.de. - IN MX 10 cow.hamburg.ccc.de. -jabber-intern IN A 172.31.17.134 - IN AAAA 2a00:14b0:f000:23::26 - IN MX 5 nomail.ccc.de. - IN MX 10 cow.hamburg.ccc.de. +jabber IN A 212.12.48.122 + IN AAAA 2a00:14b0:f000:23::26 + IN MX 5 nomail.ccc.de. + IN MX 10 cow.hamburg.ccc.de. +jabber-intern IN A 172.31.17.134 + IN AAAA 2a00:14b0:f000:23::26 + IN MX 5 nomail.ccc.de. + IN MX 10 cow.hamburg.ccc.de. -gitlab IN A 212.12.48.122 - IN AAAA 2a00:14b0:4200:3000:122::1 - ; ipv6 also has DNAT rules -gitlab-intern IN A 172.31.17.133 - IN AAAA 2a00:14b0:f000:23::133 - IN MX 5 nomail.ccc.de. - IN MX 10 cow.hamburg.ccc.de. +gitlab IN A 212.12.48.122 + IN AAAA 2a00:14b0:4200:3000:122::1 + ; ipv6 also has DNAT rules +gitlab-intern IN A 172.31.17.133 + IN AAAA 2a00:14b0:f000:23::133 + IN MX 5 nomail.ccc.de. + IN MX 10 cow.hamburg.ccc.de. -gitlab-cr IN CNAME gitlab +gitlab-cr IN CNAME gitlab -gitlab-test IN A 212.12.48.122 - IN AAAA 2a00:14b0:4200:3000:122::1 - ; ipv6 also has DNAT rules -gitlab-test-intern IN A 172.31.17.138 - IN AAAA 2a00:14b0:f000:23::138 - IN MX 5 nomail.ccc.de. - IN MX 10 cow.hamburg.ccc.de. +gitlab-test IN A 212.12.48.122 + IN AAAA 2a00:14b0:4200:3000:122::1 + ; ipv6 also has DNAT rules +gitlab-test-intern IN A 172.31.17.138 + IN AAAA 2a00:14b0:f000:23::138 + IN MX 5 nomail.ccc.de. + IN MX 10 cow.hamburg.ccc.de. -gitlab-runner IN A 172.31.17.139 - IN MX 5 nomail.ccc.de. - IN MX 10 cow.hamburg.ccc.de. +gitlab-runner IN A 172.31.17.139 + IN MX 5 nomail.ccc.de. + IN MX 10 cow.hamburg.ccc.de. -lists IN A 212.12.51.132 - IN AAAA 2a00:14b0:f000:23:51:132:0:1 - IN MX 10 lists - IN TXT "v=spf1 mx -all" -dkim._domainkey.lists IN TXT ( "v=DKIM1; h=sha256; k=rsa; " - "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCvNlbGPBluV3q3eT1C6nJ" - "8KuSNAx9ycTO0urNkz4In1I2srmK8qPTfqfPU7y5kjHM1oC31+LwVNiyzeIQl" - "cdW00DMTHfzkQAjtdDXgKG5db4Dqw+2wtZfLGvBFOSfV0RspZmSDSN6ON81dk" - "lVABMMOA7Vd8wwIj0ms/gb/+AB0IQIDAQAB" ) -ccchoir-intern IN A 172.31.17.156 +lists IN A 212.12.51.132 + IN AAAA 2a00:14b0:f000:23:51:132:0:1 + IN MX 10 lists + IN TXT "v=spf1 mx -all" +dkim._domainkey.lists IN TXT ("v=DKIM1; h=sha256; k=rsa; " + "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCvNlbGPBluV3q3eT1C6nJ" + "8KuSNAx9ycTO0urNkz4In1I2srmK8qPTfqfPU7y5kjHM1oC31+LwVNiyzeIQl" + "cdW00DMTHfzkQAjtdDXgKG5db4Dqw+2wtZfLGvBFOSfV0RspZmSDSN6ON81dk" + "lVABMMOA7Vd8wwIj0ms/gb/+AB0IQIDAQAB" ) +ccchoir-intern IN A 172.31.17.156 -cow IN A 212.12.51.133 - IN AAAA 2a00:14b0:f000:23:51:133:0:1 - IN MX 10 cow -cow-intern IN A 172.31.17.201 -auth-dns IN A 212.12.48.124 -auth-dns IN AAAA 2a00:14b0:4200:3000:124::1 +cow IN A 212.12.51.133 + IN AAAA 2a00:14b0:f000:23:51:133:0:1 + IN MX 10 cow +cow-intern IN A 172.31.17.201 +auth-dns IN A 212.12.48.124 +auth-dns IN AAAA 2a00:14b0:4200:3000:124::1 -cowtest IN MX 10 cow - IN TXT "v=spf1 mx -all" -dkim._domainkey.cowtest IN TXT ("v=DKIM1;k=rsa;t=s;s=email;p=" - "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy5aAMRgFdGdG+Ewmn" - "OZb8gdCjSSoFjTxu/GW9edVWU0zsRRQT9r6oF82Cn05jEKNra3D8tE48jBaDQ" - "GOAFa4BgjxiIfP/D36CaN2JT5sno3faSBkqaKoBG0zRD2UsNj/ROfHB844BOf" - "AUt4KFMMHUfO03Gu6ps9nq/QBsrR5Iq6sMv9WiftKjh4twS4S+Wz7ZXymY3yd" - "jRLI8r48pASg6IoiByV8kR3r7OZw9dzmNgbTCOEyKaicB4KJDjgJvQut8af8g" - "sYQYTCSPVqkwb5Y+yJNKhQmsYBwUX23x5Yng2gDBY/pjGeWl28SxdGhm8C23a" - "0wVCz4kQGNvcULnrzifwIDAQAB") -_autodiscover._tcp.cowtest IN SRV 0 1 443 cow -_caldavs._tcp.cowtest IN SRV 0 1 443 cow -_caldavs._tcp.cowtest IN TXT "path=/SOGo/dav/" -_carddavs._tcp.cowtest IN SRV 0 1 443 cow -_carddavs._tcp.cowtest IN TXT "path=/SOGo/dav/" -_imap._tcp.cowtest IN SRV 0 1 143 cow -_imaps._tcp.cowtest IN SRV 0 1 993 cow -_pop3._tcp.cowtest IN SRV 0 1 110 cow -_pop3s._tcp.cowtest IN SRV 0 1 995 cow -_sieve._tcp.cowtest IN SRV 0 1 4190 cow -_smtps._tcp.cowtest IN SRV 0 1 465 cow -_submission._tcp.cowtest IN SRV 0 1 587 cow +cowtest IN MX 10 cow + IN TXT "v=spf1 mx -all" +dkim._domainkey.cowtest IN TXT ("v=DKIM1;k=rsa;t=s;s=email;p=" + "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy5aAMRgFdGdG+Ewmn" + "OZb8gdCjSSoFjTxu/GW9edVWU0zsRRQT9r6oF82Cn05jEKNra3D8tE48jBaDQ" + "GOAFa4BgjxiIfP/D36CaN2JT5sno3faSBkqaKoBG0zRD2UsNj/ROfHB844BOf" + "AUt4KFMMHUfO03Gu6ps9nq/QBsrR5Iq6sMv9WiftKjh4twS4S+Wz7ZXymY3yd" + "jRLI8r48pASg6IoiByV8kR3r7OZw9dzmNgbTCOEyKaicB4KJDjgJvQut8af8g" + "sYQYTCSPVqkwb5Y+yJNKhQmsYBwUX23x5Yng2gDBY/pjGeWl28SxdGhm8C23a" + "0wVCz4kQGNvcULnrzifwIDAQAB") +_autodiscover._tcp.cowtest IN SRV 0 1 443 cow +_caldavs._tcp.cowtest IN SRV 0 1 443 cow +_caldavs._tcp.cowtest IN TXT "path=/SOGo/dav/" +_carddavs._tcp.cowtest IN SRV 0 1 443 cow +_carddavs._tcp.cowtest IN TXT "path=/SOGo/dav/" +_imap._tcp.cowtest IN SRV 0 1 143 cow +_imaps._tcp.cowtest IN SRV 0 1 993 cow +_pop3._tcp.cowtest IN SRV 0 1 110 cow +_pop3s._tcp.cowtest IN SRV 0 1 995 cow +_sieve._tcp.cowtest IN SRV 0 1 4190 cow +_smtps._tcp.cowtest IN SRV 0 1 465 cow +_submission._tcp.cowtest IN SRV 0 1 587 cow -mail IN A 212.12.48.122 - IN MX 10 cow.hamburg.ccc.de. -local-mail IN A 172.31.17.201 ; make hosts with relayhost=local-mail work -;local-mail IN A 212.12.48.122 -; IN AAAA 2a00:14b0:f000:23::122 -; IN MX 10 cow.hamburg.ccc.de. +mail IN A 212.12.48.122 + IN MX 10 cow.hamburg.ccc.de. +local-mail IN A 172.31.17.201 ; make hosts with relayhost=local-mail work +;local-mail IN A 212.12.48.122 +; IN AAAA 2a00:14b0:f000:23::122 +; IN MX 10 cow.hamburg.ccc.de. -jitsi-old IN A 49.12.8.103 - IN AAAA 2a01:4f8:c17:392f::1 -jitsi IN A 212.12.51.139 - IN AAAA 2a00:14b0:f000:23:51:139:0:1 +jitsi-old IN A 49.12.8.103 + IN AAAA 2a01:4f8:c17:392f::1 +jitsi IN A 212.12.51.139 + IN AAAA 2a00:14b0:f000:23:51:139:0:1 -mumble IN A 212.12.51.141 - IN AAAA 2a00:14b0:f000:23:51:141:0:1 +mumble IN A 212.12.51.141 + IN AAAA 2a00:14b0:f000:23:51:141:0:1 -id IN A 212.12.48.125 - IN AAAA 2a00:14b0:4200:3000:125::1 -keycloak-admin IN A 212.12.48.125 - IN AAAA 2a00:14b0:4200:3000:125::1 -invite IN A 212.12.48.125 - IN AAAA 2a00:14b0:4200:3000:125::1 -id IN MX 10 cow - IN TXT "v=spf1 mx -all" -dkim._domainkey.id IN TXT ("v=DKIM1;k=rsa;t=s;s=email;p=" - "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx6wcQjo7qgb1CMOv5" - "6odc7Ef8rocu3bv3JKBIqL/msuoEFOiXGpPZrwcWQJc7lS5tLTxR5XuP02D3D" - "Vif+8D3R8YzLsNMdLZ5moQacdJK2OFFiet2G3kWjBdKH1em9FwMa0MBWlk6LR" - "YWRgsByFBMNIItwkBmqmNrmrPRneRprLYQCf34McDmkzpzUpFdF5sgmbmDpdX" - "genmqXgBopvmnTeXa+kQnoVgrMyWE41zdWaXrDAtoYye3e31j0Nxhnfg+I7vO" - "XPfmatTH7yieDaLG+3kHjbA3WFyAkb/ZAqZaFM8k6cQJEZb7jDzdKlm1fuPrk" - "YUrfZ1V3pglzdm0QbM4wIDAQAB") +id IN A 212.12.48.125 + IN AAAA 2a00:14b0:4200:3000:125::1 +keycloak-admin IN A 212.12.48.125 + IN AAAA 2a00:14b0:4200:3000:125::1 +invite IN A 212.12.48.125 + IN AAAA 2a00:14b0:4200:3000:125::1 +id IN MX 10 cow + IN TXT "v=spf1 mx -all" +dkim._domainkey.id IN TXT ("v=DKIM1;k=rsa;t=s;s=email;p=" + "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx6wcQjo7qgb1CMOv5" + "6odc7Ef8rocu3bv3JKBIqL/msuoEFOiXGpPZrwcWQJc7lS5tLTxR5XuP02D3D" + "Vif+8D3R8YzLsNMdLZ5moQacdJK2OFFiet2G3kWjBdKH1em9FwMa0MBWlk6LR" + "YWRgsByFBMNIItwkBmqmNrmrPRneRprLYQCf34McDmkzpzUpFdF5sgmbmDpdX" + "genmqXgBopvmnTeXa+kQnoVgrMyWE41zdWaXrDAtoYye3e31j0Nxhnfg+I7vO" + "XPfmatTH7yieDaLG+3kHjbA3WFyAkb/ZAqZaFM8k6cQJEZb7jDzdKlm1fuPrk" + "YUrfZ1V3pglzdm0QbM4wIDAQAB") -aes-intern IN A 172.31.17.145 -tickets-intern IN A 172.31.17.148 -grafana-intern IN A 172.31.17.145 -loki-intern IN A 172.31.17.145 -eh22-netbox-intern IN A 172.31.17.166 -sunders-intern IN A 172.31.17.170 -renovate-intern IN A 172.31.17.171 -netbox-intern IN A 172.31.17.167 -matrix-intern IN A 172.31.17.150 +aes-intern IN A 172.31.17.145 +tickets-intern IN A 172.31.17.148 +grafana-intern IN A 172.31.17.145 +loki-intern IN A 172.31.17.145 +eh22-netbox-intern IN A 172.31.17.166 +sunders-intern IN A 172.31.17.170 +renovate-intern IN A 172.31.17.171 +netbox-intern IN A 172.31.17.167 +matrix-intern IN A 172.31.17.150 ; have this for compatibility (like references in CI) -public-web-static-intern IN AAAA 2a00:14b0:42:102::17 -pretalx-intern IN A 172.31.17.157 -zammad-intern IN A 172.31.17.152 -nixos-template-intern IN A 172.31.17.200 -git-intern IN A 172.31.17.154 -forgejo-actions-runner-intern IN A 172.31.17.155 -nix-box-june-intern IN A 172.31.17.158 -woodpecker-intern IN A 172.31.17.160 -mjolnir-intern IN A 172.31.17.161 -mjolnir-ng-intern IN A 172.31.17.169 -penpot-intern IN A 172.31.17.162 -penpot-ng-intern IN A 172.31.17.168 -hydra-intern IN A 172.31.17.163 -forgejo-runner-builder IN A 172.31.17.202 -renovate-forgejo IN A 172.31.17.163 -ansible-testing-intern IN A 172.31.17.164 -ntfy-intern IN A 172.31.17.149 -status IN AAAA 2a00:14b0:f001:100::fd -status IN A 212.12.50.253 -design IN A 212.12.48.125 - IN AAAA 2a00:14b0:4200:3000:125::1 - IN MX 10 cow - IN TXT "v=spf1 mx -all" -dkim._domainkey.design IN TXT ("v=DKIM1;k=rsa;t=s;s=email;p=" - "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtod7q+mkIcZFe512v" - "jzXF0UfGmo8R6UxeJ/MCi/qjjN+sSqn4dohQx3NBhK3UF9/8Ze7FT5znTxeWj" - "Ks+le/dSS4CKxjSFAV1FjcaAqrUaxO1V8+fxcUSVzAQZXUVyNqqv+SAFUVJSE" - "3zZIuJim4F1HVVLvwbLJZ450ns8KQ7n3RNY2+mqQoxo8xmMg2QFOoQKlSYspC" - "TRTV4LM/n5Jm7Mm1F5DwJ+7Ie9s/WvTWKKKUExmoa5SNheGcfybC+sqnJu7L0" - "F5dWFwk0zzQDcVSY2m9qFWPEuO2fZmiB4IoG4yXkooSY2sH9Z8eX2+6i3k/ub" - "qx58Mav6VlkTxsOAdbbQIDAQAB") -hydra IN A 212.12.48.125 -regio-stage IN A 212.12.51.142 - AAAA 2a00:14b0:f000:23:51:142:0:1 +public-web-static-intern IN AAAA 2a00:14b0:42:102::17 +pretalx-intern IN A 172.31.17.157 +zammad-intern IN A 172.31.17.152 +nixos-template-intern IN A 172.31.17.200 +git-intern IN A 172.31.17.154 +forgejo-actions-runner-intern IN A 172.31.17.155 +nix-box-june-intern IN A 172.31.17.158 +woodpecker-intern IN A 172.31.17.160 +mjolnir-intern IN A 172.31.17.161 +mjolnir-ng-intern IN A 172.31.17.169 +penpot-intern IN A 172.31.17.162 +penpot-ng-intern IN A 172.31.17.168 +hydra-intern IN A 172.31.17.163 +forgejo-runner-builder IN A 172.31.17.202 +renovate-forgejo IN A 172.31.17.163 +ansible-testing-intern IN A 172.31.17.164 +ntfy-intern IN A 172.31.17.149 +status IN AAAA 2a00:14b0:f001:100::fd +status IN A 212.12.50.253 +design IN A 212.12.48.125 + IN AAAA 2a00:14b0:4200:3000:125::1 + IN MX 10 cow + IN TXT "v=spf1 mx -all" +dkim._domainkey.design IN TXT ("v=DKIM1;k=rsa;t=s;s=email;p=" + "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtod7q+mkIcZFe512v" + "jzXF0UfGmo8R6UxeJ/MCi/qjjN+sSqn4dohQx3NBhK3UF9/8Ze7FT5znTxeWj" + "Ks+le/dSS4CKxjSFAV1FjcaAqrUaxO1V8+fxcUSVzAQZXUVyNqqv+SAFUVJSE" + "3zZIuJim4F1HVVLvwbLJZ450ns8KQ7n3RNY2+mqQoxo8xmMg2QFOoQKlSYspC" + "TRTV4LM/n5Jm7Mm1F5DwJ+7Ie9s/WvTWKKKUExmoa5SNheGcfybC+sqnJu7L0" + "F5dWFwk0zzQDcVSY2m9qFWPEuO2fZmiB4IoG4yXkooSY2sH9Z8eX2+6i3k/ub" + "qx58Mav6VlkTxsOAdbbQIDAQAB") +hydra IN A 212.12.48.125 +regio-stage IN A 212.12.51.142 + AAAA 2a00:14b0:f000:23:51:142:0:1 -public-reverse-proxy IN A 212.12.48.125 - IN AAAA 2a00:14b0:4200:3000:125::1 -public-reverse-proxy-intern IN A 172.31.17.140 -router IN A 212.12.48.123 +public-reverse-proxy IN A 212.12.48.125 + IN AAAA 2a00:14b0:4200:3000:125::1 +public-reverse-proxy-intern IN A 172.31.17.140 +router IN A 212.12.48.123 -rproxy IN A 212.12.48.122 - IN AAAA 2a00:14b0:4200:3000:122::1 - IN MX 10 cow.hamburg.ccc.de. -rproxy-intern IN A 172.31.17.180 - IN AAAA 2a00:14b0:f000:23::80 - IN MX 10 cow.hamburg.ccc.de. +rproxy IN A 212.12.48.122 + IN AAAA 2a00:14b0:4200:3000:122::1 + IN MX 10 cow.hamburg.ccc.de. +rproxy-intern IN A 172.31.17.180 + IN AAAA 2a00:14b0:f000:23::80 + IN MX 10 cow.hamburg.ccc.de. -bildungsurlaub IN CNAME rproxy -doku IN CNAME rproxy -test IN CNAME rproxy -www.test IN CNAME rproxy -eh2003 IN CNAME public-reverse-proxy -www.eh2003 IN CNAME public-reverse-proxy -easterhegg2003 IN CNAME public-reverse-proxy -www.easterhegg2003 IN CNAME public-reverse-proxy -eh2005 IN CNAME public-reverse-proxy -www.eh2005 IN CNAME public-reverse-proxy -easterhegg2005 IN CNAME public-reverse-proxy -www.easterhegg2005 IN CNAME public-reverse-proxy -eh2007 IN CNAME public-reverse-proxy -www.eh2007 IN CNAME public-reverse-proxy -eh07 IN CNAME public-reverse-proxy -www.eh07 IN CNAME public-reverse-proxy -easterhegg2007 IN CNAME public-reverse-proxy -www.easterhegg2007 IN CNAME public-reverse-proxy -eh2009 IN CNAME public-reverse-proxy -www.eh2009 IN CNAME public-reverse-proxy -eh09 IN CNAME public-reverse-proxy -www.eh09 IN CNAME public-reverse-proxy -easterhegg2009 IN CNAME public-reverse-proxy -www.easterhegg2009 IN CNAME public-reverse-proxy -eh2011 IN CNAME public-reverse-proxy -www.eh2011 IN CNAME public-reverse-proxy -eh11 IN CNAME public-reverse-proxy -www.eh11 IN CNAME public-reverse-proxy -easterhegg2011 IN CNAME public-reverse-proxy -www.easterhegg2011 IN CNAME public-reverse-proxy -eh20 IN CNAME public-reverse-proxy +bildungsurlaub IN CNAME rproxy +doku IN CNAME rproxy +test IN CNAME rproxy +www.test IN CNAME rproxy +eh2003 IN CNAME public-reverse-proxy +www.eh2003 IN CNAME public-reverse-proxy +easterhegg2003 IN CNAME public-reverse-proxy +www.easterhegg2003 IN CNAME public-reverse-proxy +eh2005 IN CNAME public-reverse-proxy +www.eh2005 IN CNAME public-reverse-proxy +easterhegg2005 IN CNAME public-reverse-proxy +www.easterhegg2005 IN CNAME public-reverse-proxy +eh2007 IN CNAME public-reverse-proxy +www.eh2007 IN CNAME public-reverse-proxy +eh07 IN CNAME public-reverse-proxy +www.eh07 IN CNAME public-reverse-proxy +easterhegg2007 IN CNAME public-reverse-proxy +www.easterhegg2007 IN CNAME public-reverse-proxy +eh2009 IN CNAME public-reverse-proxy +www.eh2009 IN CNAME public-reverse-proxy +eh09 IN CNAME public-reverse-proxy +www.eh09 IN CNAME public-reverse-proxy +easterhegg2009 IN CNAME public-reverse-proxy +www.easterhegg2009 IN CNAME public-reverse-proxy +eh2011 IN CNAME public-reverse-proxy +www.eh2011 IN CNAME public-reverse-proxy +eh11 IN CNAME public-reverse-proxy +www.eh11 IN CNAME public-reverse-proxy +easterhegg2011 IN CNAME public-reverse-proxy +www.easterhegg2011 IN CNAME public-reverse-proxy +eh20 IN CNAME public-reverse-proxy -oldwiki IN CNAME rproxy -nonpublic.wiki IN CNAME rproxy -www.nonpublic.wiki IN CNAME rproxy -planet IN CNAME rproxy -www.planet IN CNAME rproxy -chaos-macht-schule IN CNAME rproxy -www.chaos-macht-schule IN CNAME rproxy +oldwiki IN CNAME rproxy +nonpublic.wiki IN CNAME rproxy +www.nonpublic.wiki IN CNAME rproxy +planet IN CNAME rproxy +www.planet IN CNAME rproxy +chaos-macht-schule IN CNAME rproxy +www.chaos-macht-schule IN CNAME rproxy -branding-resources IN CNAME public-reverse-proxy -element IN CNAME public-reverse-proxy -matrix IN CNAME public-reverse-proxy -mas IN CNAME public-reverse-proxy -element-admin IN CNAME public-reverse-proxy -netbox IN CNAME public-reverse-proxy -woodpecker IN CNAME public-reverse-proxy -onlyoffice IN CNAME public-reverse-proxy -pad IN CNAME public-reverse-proxy -pretalx IN CNAME public-reverse-proxy -spaceapi IN CNAME public-reverse-proxy -staging IN CNAME public-reverse-proxy -wiki IN CNAME public-reverse-proxy -www IN CNAME public-reverse-proxy -ntfy IN CNAME public-reverse-proxy -sunders IN CNAME public-reverse-proxy -spaceapiccc IN CNAME public-reverse-proxy -acmedns IN CNAME public-reverse-proxy -cpuccc IN CNAME public-reverse-proxy -did IN CNAME public-reverse-proxy +branding-resources IN CNAME public-reverse-proxy +element IN CNAME public-reverse-proxy +matrix IN CNAME public-reverse-proxy +mas IN CNAME public-reverse-proxy +element-admin IN CNAME public-reverse-proxy +netbox IN CNAME public-reverse-proxy +woodpecker IN CNAME public-reverse-proxy +onlyoffice IN CNAME public-reverse-proxy +pad IN CNAME public-reverse-proxy +pretalx IN CNAME public-reverse-proxy +spaceapi IN CNAME public-reverse-proxy +staging IN CNAME public-reverse-proxy +wiki IN CNAME public-reverse-proxy +www IN CNAME public-reverse-proxy +ntfy IN CNAME public-reverse-proxy +sunders IN CNAME public-reverse-proxy +spaceapiccc IN CNAME public-reverse-proxy +acmedns IN CNAME public-reverse-proxy +cpuccc IN CNAME public-reverse-proxy +did IN CNAME public-reverse-proxy -auth.acmedns IN NS acmedns.hosts.hamburg.ccc.de. +auth.acmedns IN NS acmedns.hosts.hamburg.ccc.de. -git IN A 212.12.51.136 - IN AAAA 2a00:14b0:f000:23:51:136::1 -git IN MX 10 cow - IN TXT "v=spf1 mx -all" -dkim._domainkey.git IN TXT ("v=DKIM1;k=rsa;t=s;s=email;p=" - "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsUGmKDns/qokxyz2u" - "lcyKIcs/S+zf+0wHCfhSOK4lLnws8U/wIny5FAW3zM/7TliqIftzZ2B0Cz8W6" - "YvmtgLyKqBzvCSG0dNYyy9TVeGM4HyrmLBbUkQdGGQwmoJTnCe9gT9z6GO9k2" - "uFfHJsk/iffU75x9iXqLXPGL/CGmLKuBmkYGda2rQ9ATUIpQhIxnerZvVc3RA" - "qwD8/pYvMLOqvCStVHM5Zi+j1Jr0BC8mxU8pIY6rfOVt+h/V3wh0F6dL0z9nw" - "ZhDE53K8frGp2CC5dW/A37FrfMJv+ODw2tX8EdyL2hDBshBQ4r8WiYJTtIMPL" - "50A9UzZndyiLAHoeLrZQIDAQAB") -hackertours IN A 212.12.48.125 - IN AAAA 2a00:14b0:4200:3000:125::1 - MX 10 cow.hamburg.ccc.de. - IN TXT "v=spf1 mx -all" -dkim._domainkey.hackertours IN TXT ("v=DKIM1;k=rsa;t=s;s=email;" - "p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnG5J6rMvbOy7mmV4mKfN" - "7SSrtxKP/jI0XWwO2njO3jM6DkAGDpmRH69B5sOW/53/yg7MMdGytGfNAk61YJknP+" - "NGZNSk7F2p2aB+zoksLVcIKdY1YwicYS7l6Q7qWBfv8ctmGTzcwO0UEAizD6xdINN8" - "YmhHorgnxR3HbHeUmaxIe4WM2wWRYiD+9tpY1f0O/NEEoHxmFecRhU9SVmuhLgiOyF" - "AWpPYBMOsKEHoKREENc+4VBj6H2GYTKIs+dYKDNEmVVdnRkgtAVO3FrjCkedBJ7RbR" - "RNHIqdt9u8AF+Vrs1Oq72ZQrNVR0ezEyBScJaxy5JphvBWkMSYSoDpvXLwIDAQAB") -staging.hackertours IN A 212.12.48.125 - IN AAAA 2a00:14b0:4200:3000:125::1 -grafana IN A 212.12.48.125 - IN AAAA 2a00:14b0:4200:3000:125::1 -tickets IN A 212.12.48.125 - IN AAAA 2a00:14b0:4200:3000:125::1 -zammad IN A 212.12.48.125 - IN AAAA 2a00:14b0:4200:3000:125::1 +git IN A 212.12.51.136 + IN AAAA 2a00:14b0:f000:23:51:136::1 +git IN MX 10 cow + IN TXT "v=spf1 mx -all" +dkim._domainkey.git IN TXT ("v=DKIM1;k=rsa;t=s;s=email;p=" + "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsUGmKDns/qokxyz2u" + "lcyKIcs/S+zf+0wHCfhSOK4lLnws8U/wIny5FAW3zM/7TliqIftzZ2B0Cz8W6" + "YvmtgLyKqBzvCSG0dNYyy9TVeGM4HyrmLBbUkQdGGQwmoJTnCe9gT9z6GO9k2" + "uFfHJsk/iffU75x9iXqLXPGL/CGmLKuBmkYGda2rQ9ATUIpQhIxnerZvVc3RA" + "qwD8/pYvMLOqvCStVHM5Zi+j1Jr0BC8mxU8pIY6rfOVt+h/V3wh0F6dL0z9nw" + "ZhDE53K8frGp2CC5dW/A37FrfMJv+ODw2tX8EdyL2hDBshBQ4r8WiYJTtIMPL" + "50A9UzZndyiLAHoeLrZQIDAQAB") +hackertours IN A 212.12.48.125 + IN AAAA 2a00:14b0:4200:3000:125::1 + MX 10 cow.hamburg.ccc.de. + IN TXT "v=spf1 mx -all" +dkim._domainkey.hackertours IN TXT ("v=DKIM1;k=rsa;t=s;s=email;" + "p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnG5J6rMvbOy7mmV4mKfN" + "7SSrtxKP/jI0XWwO2njO3jM6DkAGDpmRH69B5sOW/53/yg7MMdGytGfNAk61YJknP+" + "NGZNSk7F2p2aB+zoksLVcIKdY1YwicYS7l6Q7qWBfv8ctmGTzcwO0UEAizD6xdINN8" + "YmhHorgnxR3HbHeUmaxIe4WM2wWRYiD+9tpY1f0O/NEEoHxmFecRhU9SVmuhLgiOyF" + "AWpPYBMOsKEHoKREENc+4VBj6H2GYTKIs+dYKDNEmVVdnRkgtAVO3FrjCkedBJ7RbR" + "RNHIqdt9u8AF+Vrs1Oq72ZQrNVR0ezEyBScJaxy5JphvBWkMSYSoDpvXLwIDAQAB") +staging.hackertours IN A 212.12.48.125 + IN AAAA 2a00:14b0:4200:3000:125::1 +grafana IN A 212.12.48.125 + IN AAAA 2a00:14b0:4200:3000:125::1 +tickets IN A 212.12.48.125 + IN AAAA 2a00:14b0:4200:3000:125::1 +zammad IN A 212.12.48.125 + IN AAAA 2a00:14b0:4200:3000:125::1 -loki IN CNAME grafana.hosts -metrics IN CNAME grafana.hosts +loki IN CNAME grafana.hosts +metrics IN CNAME grafana.hosts ; attraktor openvz vm -attraktor IN A 172.31.17.14 - IN AAAA 2a00:14b0:f000:23:48::14 - IN MX 10 cow.hamburg.ccc.de. -attraktor-intern IN A 172.31.17.14 - IN AAAA 2a00:14b0:f000:23:48::14 - IN MX 10 cow.hamburg.ccc.de. -attraktor-intern2 IN A 172.31.17.137 - IN MX 10 cow.hamburg.ccc.de. +attraktor IN A 172.31.17.14 + IN AAAA 2a00:14b0:f000:23:48::14 + IN MX 10 cow.hamburg.ccc.de. +attraktor-intern IN A 172.31.17.14 + IN AAAA 2a00:14b0:f000:23:48::14 + IN MX 10 cow.hamburg.ccc.de. +attraktor-intern2 IN A 172.31.17.137 + IN MX 10 cow.hamburg.ccc.de. -erfafoo IN A 212.12.51.138 - IN AAAA 2a00:14b0:f000:23:50:210::1 - IN MX 10 cow.hamburg.ccc.de. -local IN CNAME erfafoo -lokal IN CNAME erfafoo +erfafoo IN A 212.12.51.138 + IN AAAA 2a00:14b0:f000:23:50:210::1 + IN MX 10 cow.hamburg.ccc.de. +local IN CNAME erfafoo +lokal IN CNAME erfafoo ; fuer vollkorn: -;webfoo IN A 212.12.51.138 -; IN AAAA 2a00:14b0:4200:3380:138::1 -; IN MX 5 nomail.ccc.de. -; IN MX 10 cow.hamburg.ccc.de. +;webfoo IN A 212.12.51.138 +; IN AAAA 2a00:14b0:4200:3380:138::1 +; IN MX 5 nomail.ccc.de. +; IN MX 10 cow.hamburg.ccc.de. ; chaos macht schule server -cms IN A 212.12.51.131 -www.cms IN CNAME cms -schule IN CNAME cms -www.schule IN CNAME cms +cms IN A 212.12.51.131 +www.cms IN CNAME cms +schule IN CNAME cms +www.schule IN CNAME cms ; Firewall: -ovpn IN A 212.12.48.122 -fwhh-v6 IN A 212.12.50.214 +ovpn IN A 212.12.48.122 +fwhh-v6 IN A 212.12.50.214 ; (irc) nat ip -chaoscafe IN A 212.12.50.209 +chaoscafe IN A 212.12.50.209 -cloud IN A 212.12.48.125 - IN AAAA 2a00:14b0:4200:3000:125::1 -cloud IN MX 10 cow - IN TXT "v=spf1 mx -all" -dkim._domainkey.cloud IN TXT ("v=DKIM1;k=rsa;t=s;s=email;p=" - "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvr7XIfOFt99cdEKeP" - "Qhz7miwN2tIZF+imJ3p/r/kam0TKN5pbRMDK0HH4Jl8ksBDozXrLo+U71TX+m" - "XBBeNca4QSfmJh6cAesibf4v/6ssGBdQR7efc2b3dFvZS5/qdS7oLYqYbGpuv" - "aUB0gzhatrAR0i6HdtXrsJxGemda4WvZXaPLPwcWByHLZsHQUbaD3doZOJGXI" - "7+HQs9BuDo4PKQs1/mE5BEWQ0ISEKZ4bk1p8U0ZsfcdQ8o9X53Tj+JxvJHgxi" - "h7yHMr4y9hCOAkvZTFZ/Z/r3KU+N+t9NrVYm995KEernSxE3MXYIsdaFKBDvX" - "Xq837yzJmv7D9S9We3YwIDAQAB") +cloud IN A 212.12.48.125 + IN AAAA 2a00:14b0:4200:3000:125::1 +cloud IN MX 10 cow + IN TXT "v=spf1 mx -all" +dkim._domainkey.cloud IN TXT ("v=DKIM1;k=rsa;t=s;s=email;p=" + "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvr7XIfOFt99cdEKeP" + "Qhz7miwN2tIZF+imJ3p/r/kam0TKN5pbRMDK0HH4Jl8ksBDozXrLo+U71TX+m" + "XBBeNca4QSfmJh6cAesibf4v/6ssGBdQR7efc2b3dFvZS5/qdS7oLYqYbGpuv" + "aUB0gzhatrAR0i6HdtXrsJxGemda4WvZXaPLPwcWByHLZsHQUbaD3doZOJGXI" + "7+HQs9BuDo4PKQs1/mE5BEWQ0ISEKZ4bk1p8U0ZsfcdQ8o9X53Tj+JxvJHgxi" + "h7yHMr4y9hCOAkvZTFZ/Z/r3KU+N+t9NrVYm995KEernSxE3MXYIsdaFKBDvX" + "Xq837yzJmv7D9S9We3YwIDAQAB") ; Mail: hosts.hamburg.ccc.de -hosts IN MX 10 cow - IN TXT "v=spf1 mx -all" -dkim._domainkey.hosts IN TXT ("v=DKIM1;k=rsa;t=s;s=email;p=" - "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyFnskyCW0420D+5PA" - "L6cKmPoZR2nrPaMPiJl0+DbDhnsLdXtt3cKZkAin2GYQRvZJvlcJ3JFkFljmQ" - "sZk7BJ02rV7S79DgeFhKMzjE0p/GaMBSdzDZJQEVkKhEK+KBbSfaZ0FM/4Qh0" - "beI26kBgbR6bc+SGdB7+LB2JLPxr5ipP0gJ7RtE+QWIoDaU0e9dSYhucJ4A4k" - "RMs3ECvcCVgsyhRPJahs8tzbKjhnp956ru6Jda3Yo/ubhy4AztP/7ZQayCv/W" - "06PfZNo/i2711F98L2ATQaDsOCKWhpskyrCRcR1nTWNSL7qYhOPD1hZonsd5I" - "f5WwrR4meWD3wmXbX29wIDAQAB") +hosts IN MX 10 cow + IN TXT "v=spf1 mx -all" +dkim._domainkey.hosts IN TXT ("v=DKIM1;k=rsa;t=s;s=email;p=" + "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyFnskyCW0420D+5PA" + "L6cKmPoZR2nrPaMPiJl0+DbDhnsLdXtt3cKZkAin2GYQRvZJvlcJ3JFkFljmQ" + "sZk7BJ02rV7S79DgeFhKMzjE0p/GaMBSdzDZJQEVkKhEK+KBbSfaZ0FM/4Qh0" + "beI26kBgbR6bc+SGdB7+LB2JLPxr5ipP0gJ7RtE+QWIoDaU0e9dSYhucJ4A4k" + "RMs3ECvcCVgsyhRPJahs8tzbKjhnp956ru6Jda3Yo/ubhy4AztP/7ZQayCv/W" + "06PfZNo/i2711F98L2ATQaDsOCKWhpskyrCRcR1nTWNSL7qYhOPD1hZonsd5I" + "f5WwrR4meWD3wmXbX29wIDAQAB") ; Mail: hosts-external.hamburg.ccc.de -external-hosts IN MX 10 cow - IN TXT "v=spf1 mx -all" -dkim._domainkey.external-hosts IN TXT ("v=DKIM1;k=rsa;t=s;s=email;p=" - "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkfdJvL7Tpdw6JLkuU" - "nOLwtxojWZ5Xq6rLDK3EzrX2Tyeq03nqgQuI3ruHgodHb1D7sieU61x30+g7y" - "8HnjrN1bfH1iQJUzEOCgOWHwQEbLdbQxcazmbEdowBuA0VuYrXL2tcCFJwdcZ" - "MKZAyuba7leeRgSngZJnesT7aaGvZSuzLa1/KaW4MRbOOmy5LlukBC3EZBpWn" - "/dL73spDajlDx4VRMUpZQq/PAoPPwCFdw/HNnzxBYBIdVloeJx91qBRaNyUIb" - "C/to8YSDVi2aMHiXhTBfoNd1VcxjlBYWqEZtdUhecUjwmbbAO4f0ECO4bs0Yz" - "d/EgJB70ry1quA0MqgZQIDAQAB") +external-hosts IN MX 10 cow + IN TXT "v=spf1 mx -all" +dkim._domainkey.external-hosts IN TXT ("v=DKIM1;k=rsa;t=s;s=email;p=" + "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkfdJvL7Tpdw6JLkuU" + "nOLwtxojWZ5Xq6rLDK3EzrX2Tyeq03nqgQuI3ruHgodHb1D7sieU61x30+g7y" + "8HnjrN1bfH1iQJUzEOCgOWHwQEbLdbQxcazmbEdowBuA0VuYrXL2tcCFJwdcZ" + "MKZAyuba7leeRgSngZJnesT7aaGvZSuzLa1/KaW4MRbOOmy5LlukBC3EZBpWn" + "/dL73spDajlDx4VRMUpZQq/PAoPPwCFdw/HNnzxBYBIdVloeJx91qBRaNyUIb" + "C/to8YSDVi2aMHiXhTBfoNd1VcxjlBYWqEZtdUhecUjwmbbAO4f0ECO4bs0Yz" + "d/EgJB70ry1quA0MqgZQIDAQAB") ; for thw: -orga IN A 212.12.51.130 - IN MX 23 nomail.ccc.de. - IN MX 42 orga +orga IN A 212.12.51.130 + IN MX 23 nomail.ccc.de. + IN MX 42 orga -shellhost IN A 212.12.51.140 - IN AAAA 2a00:14b0:f000:23:51:140:0:1 - IN MX 5 nomail.ccc.de. - IN MX 10 cow.hamburg.ccc.de. -shells IN CNAME shellhost +shellhost IN A 212.12.51.140 + IN AAAA 2a00:14b0:f000:23:51:140:0:1 + IN MX 5 nomail.ccc.de. + IN MX 10 cow.hamburg.ccc.de. +shells IN CNAME shellhost ; chaos vpn-hub on haegars hetzner machine -vpnhub1 IN A 136.243.3.60 - IN MX 5 nomail.ccc.de. - IN MX 10 mail.sdinet.de. -vpnhub1.ipv4 IN A 136.243.3.60 -vpnhub1-intern IN A 172.31.2.1 +vpnhub1 IN A 136.243.3.60 + IN MX 5 nomail.ccc.de. + IN MX 10 mail.sdinet.de. +vpnhub1.ipv4 IN A 136.243.3.60 +vpnhub1-intern IN A 172.31.2.1 ; special -ccchh IN MX 5 nomail.ccc.de. - IN MX 10 cow.hamburg.ccc.de. +ccchh IN MX 5 nomail.ccc.de. + IN MX 10 cow.hamburg.ccc.de. -office IN CNAME office.hh.ccc.de. -officemail IN CNAME officemail.hh.ccc.de. +office IN CNAME office.hh.ccc.de. +officemail IN CNAME officemail.hh.ccc.de. -template IN A 172.31.17.199 - IN AAAA 2a00:14b0:f000:23::199 - IN MX 10 cow.hamburg.ccc.de. +template IN A 172.31.17.199 + IN AAAA 2a00:14b0:f000:23::199 + IN MX 10 cow.hamburg.ccc.de. -irc IN A 176.56.239.136 - IN AAAA 2a00:d880:8:1::1aa - IN MX 5 nomail.ccc.de. +irc IN A 176.56.239.136 + IN AAAA 2a00:d880:8:1::1aa + IN MX 5 nomail.ccc.de. -;anonymizer IN A 192.162.102.224 -; IN MX 5 nomail.ccc.de. -; IN MX 10 anonymizer -;mixminion IN A 192.162.102.225 -; IN MX 5 nomail.ccc.de. -; IN MX 10 mixminion +;anonymizer IN A 192.162.102.224 +; IN MX 5 nomail.ccc.de. +; IN MX 10 anonymizer +;mixminion IN A 192.162.102.225 +; IN MX 5 nomail.ccc.de. +; IN MX 10 mixminion -cryptoparty IN CNAME public-reverse-proxy -staging.cryptoparty IN CNAME public-reverse-proxy -cryptoparty-intern IN A 172.31.17.213 +cryptoparty IN CNAME public-reverse-proxy +staging.cryptoparty IN CNAME public-reverse-proxy +cryptoparty-intern IN A 172.31.17.213 ; Freifunk Gateways -freifunk-gw01 IN CNAME gw01.hamburg.freifunk.net. -freifunk-gw02 IN CNAME gw02.hamburg.freifunk.net. -freifunk-gw03 IN CNAME gw03.hamburg.freifunk.net. -freifunk-gw04 IN CNAME gw04.hamburg.freifunk.net. -freifunk-gw05 IN CNAME gw05.hamburg.freifunk.net. -freifunk-gw06 IN CNAME gw06.hamburg.freifunk.net. -freifunk-gw07 IN CNAME gw07.hamburg.freifunk.net. -freifunk-gw08 IN CNAME gw08.hamburg.freifunk.net. -freifunk-gw09 IN CNAME gw09.hamburg.freifunk.net. -freifunk-gw10 IN CNAME gw10.hamburg.freifunk.net. -freifunk-gw11 IN CNAME gw11.hamburg.freifunk.net. -freifunk-gw12 IN CNAME gw12.hamburg.freifunk.net. -freifunk-gw13 IN CNAME gw13.hamburg.freifunk.net. -freifunk-gw14 IN CNAME gw14.hamburg.freifunk.net. -freifunk-gw15 IN CNAME gw15.hamburg.freifunk.net. -freifunk-gw16 IN CNAME gw16.hamburg.freifunk.net. -freifunk-gw17 IN CNAME gw17.hamburg.freifunk.net. -freifunk-gw18 IN CNAME gw18.hamburg.freifunk.net. -freifunk-gw19 IN CNAME gw19.hamburg.freifunk.net. -freifunk-gw20 IN CNAME gw20.hamburg.freifunk.net. +freifunk-gw01 IN CNAME gw01.hamburg.freifunk.net. +freifunk-gw02 IN CNAME gw02.hamburg.freifunk.net. +freifunk-gw03 IN CNAME gw03.hamburg.freifunk.net. +freifunk-gw04 IN CNAME gw04.hamburg.freifunk.net. +freifunk-gw05 IN CNAME gw05.hamburg.freifunk.net. +freifunk-gw06 IN CNAME gw06.hamburg.freifunk.net. +freifunk-gw07 IN CNAME gw07.hamburg.freifunk.net. +freifunk-gw08 IN CNAME gw08.hamburg.freifunk.net. +freifunk-gw09 IN CNAME gw09.hamburg.freifunk.net. +freifunk-gw10 IN CNAME gw10.hamburg.freifunk.net. +freifunk-gw11 IN CNAME gw11.hamburg.freifunk.net. +freifunk-gw12 IN CNAME gw12.hamburg.freifunk.net. +freifunk-gw13 IN CNAME gw13.hamburg.freifunk.net. +freifunk-gw14 IN CNAME gw14.hamburg.freifunk.net. +freifunk-gw15 IN CNAME gw15.hamburg.freifunk.net. +freifunk-gw16 IN CNAME gw16.hamburg.freifunk.net. +freifunk-gw17 IN CNAME gw17.hamburg.freifunk.net. +freifunk-gw18 IN CNAME gw18.hamburg.freifunk.net. +freifunk-gw19 IN CNAME gw19.hamburg.freifunk.net. +freifunk-gw20 IN CNAME gw20.hamburg.freifunk.net. -fftest IN A 212.12.51.135 - IN AAAA 2a00:14b0:f000:23::135 +fftest IN A 212.12.51.135 + IN AAAA 2a00:14b0:f000:23::135 ; Shellbordell -colossus IN A 212.12.51.133 +colossus IN A 212.12.51.133 ; generic aliases -LAN-212-12-50-208.dmz-net IN A 212.12.50.208 -ip208 IN A 212.12.50.208 -ip209 IN A 212.12.50.209 -ip210 IN A 212.12.50.210 -ip211 IN A 212.12.50.211 -ip212 IN A 212.12.50.212 -ip213 IN A 212.12.50.213 -ip214 IN A 212.12.50.214 -ENDE-212-12-50-215.dmz-broadcast IN A 212.12.50.215 -ip215 IN A 212.12.50.215 +LAN-212-12-50-208.dmz-net IN A 212.12.50.208 +ip208 IN A 212.12.50.208 +ip209 IN A 212.12.50.209 +ip210 IN A 212.12.50.210 +ip211 IN A 212.12.50.211 +ip212 IN A 212.12.50.212 +ip213 IN A 212.12.50.213 +ip214 IN A 212.12.50.214 +ENDE-212-12-50-215.dmz-broadcast IN A 212.12.50.215 +ip215 IN A 212.12.50.215 ; ChaosVPN -hack IN NS cvpn-dns.hack -cvpn-dns.hack IN A 172.31.0.5 +hack IN NS cvpn-dns.hack +cvpn-dns.hack IN A 172.31.0.5 ; IPv4 Reverse DNS -122.48.12.212.rdns IN PTR turing.hamburg.ccc.de. -123.48.12.212.rdns IN PTR ip-48-123.hamburg.ccc.de. -124.48.12.212.rdns IN PTR ip-48-124.hamburg.ccc.de. -125.48.12.212.rdns IN PTR public-reverse-proxy.hamburg.ccc.de. -126.48.12.212.rdns IN PTR chaosknoten.hamburg.ccc.de. +122.48.12.212.rdns IN PTR turing.hamburg.ccc.de. +123.48.12.212.rdns IN PTR ip-48-123.hamburg.ccc.de. +124.48.12.212.rdns IN PTR ip-48-124.hamburg.ccc.de. +125.48.12.212.rdns IN PTR public-reverse-proxy.hamburg.ccc.de. +126.48.12.212.rdns IN PTR chaosknoten.hamburg.ccc.de. -208.50.12.212.rdns IN PTR net-12-50-212.hamburg.ccc.de. -209.50.12.212.rdns IN PTR turing.hamburg.ccc.de. -;210.50.12.212.rdns IN PTR erfafoo.hamburg.ccc.de. -211.50.12.212.rdns IN PTR ip-50-12-211.hamburg.ccc.de. -213.50.12.212.rdns IN PTR cryptoparty.hamburg.ccc.de. -214.50.12.212.rdns IN PTR ip-50-12-214.hamburg.ccc.de. -215.50.12.212.rdns IN PTR broadcast-12-15-212.hamburg.ccc.de. +208.50.12.212.rdns IN PTR net-12-50-212.hamburg.ccc.de. +209.50.12.212.rdns IN PTR turing.hamburg.ccc.de. +;210.50.12.212.rdns IN PTR erfafoo.hamburg.ccc.de. +211.50.12.212.rdns IN PTR ip-50-12-211.hamburg.ccc.de. +213.50.12.212.rdns IN PTR cryptoparty.hamburg.ccc.de. +214.50.12.212.rdns IN PTR ip-50-12-214.hamburg.ccc.de. +215.50.12.212.rdns IN PTR broadcast-12-15-212.hamburg.ccc.de. -128.51.12.212.rdns IN PTR net-12-51-128.hamburg.ccc.de. -129.51.12.212.rdns IN PTR ip-51-129.hamburg.ccc.de. -130.51.12.212.rdns IN PTR ip-51-130.hamburg.ccc.de. -131.51.12.212.rdns IN PTR cms.hamburg.ccc.de. -132.51.12.212.rdns IN PTR lists.hamburg.ccc.de. -133.51.12.212.rdns IN PTR cow.hamburg.ccc.de. -134.51.12.212.rdns IN PTR srv01.hamburg.freifunk.net. -135.51.12.212.rdns IN PTR fftest.hamburg.ccc.de. -136.51.12.212.rdns IN PTR git.hamburg.ccc.de. -137.51.12.212.rdns IN PTR ip-51-137.hamburg.ccc.de. -138.51.12.212.rdns IN PTR erfafoo.hamburg.ccc.de. -139.51.12.212.rdns IN PTR jitsi.hamburg.ccc.de. -140.51.12.212.rdns IN PTR ip-51-140.hamburg.ccc.de. -141.51.12.212.rdns IN PTR mumble.hamburg.ccc.de. -142.51.12.212.rdns IN PTR regio-stage.hamburg.ccc.de. -143.51.12.212.rdns IN PTR broadcast-12-15-128.hamburg.ccc.de. +128.51.12.212.rdns IN PTR net-12-51-128.hamburg.ccc.de. +129.51.12.212.rdns IN PTR ip-51-129.hamburg.ccc.de. +130.51.12.212.rdns IN PTR ip-51-130.hamburg.ccc.de. +131.51.12.212.rdns IN PTR cms.hamburg.ccc.de. +132.51.12.212.rdns IN PTR lists.hamburg.ccc.de. +133.51.12.212.rdns IN PTR cow.hamburg.ccc.de. +134.51.12.212.rdns IN PTR srv01.hamburg.freifunk.net. +135.51.12.212.rdns IN PTR fftest.hamburg.ccc.de. +136.51.12.212.rdns IN PTR git.hamburg.ccc.de. +137.51.12.212.rdns IN PTR ip-51-137.hamburg.ccc.de. +138.51.12.212.rdns IN PTR erfafoo.hamburg.ccc.de. +139.51.12.212.rdns IN PTR jitsi.hamburg.ccc.de. +140.51.12.212.rdns IN PTR ip-51-140.hamburg.ccc.de. +141.51.12.212.rdns IN PTR mumble.hamburg.ccc.de. +142.51.12.212.rdns IN PTR regio-stage.hamburg.ccc.de. +143.51.12.212.rdns IN PTR broadcast-12-15-128.hamburg.ccc.de. ; hosts.hamburg.ccc.de -wiki.hosts IN AAAA 2a00:14b0:42:102::2 -cloud.hosts IN AAAA 2a00:14b0:42:102::3 -eh22-wiki.hosts IN AAAA 2a00:14b0:42:102::4 -pad.hosts IN AAAA 2a00:14b0:42:102::5 -keycloak.hosts IN AAAA 2a00:14b0:42:102::6 -onlyoffice.hosts IN AAAA 2a00:14b0:42:102::7 -renovate.hosts IN AAAA 2a00:14b0:42:102::8 -sunders.hosts IN AAAA 2a00:14b0:42:102::9 -mjolnir.hosts IN AAAA 2a00:14b0:42:102::a -netbox.hosts IN AAAA 2a00:14b0:42:102::b -tickets.hosts IN AAAA 2a00:14b0:42:102::c -zammad.hosts IN AAAA 2a00:14b0:42:102::d -grafana.hosts IN AAAA 2a00:14b0:42:102::e -ccchoir.hosts IN AAAA 2a00:14b0:42:102::f -pretalx.hosts IN AAAA 2a00:14b0:42:102::10 -ntfy.hosts IN AAAA 2a00:14b0:42:102::11 -spaceapiccc.hosts IN AAAA 2a00:14b0:42:102::12 -acmedns.hosts IN AAAA 2a00:14b0:42:102::13 -www2.hosts IN AAAA 2a00:14b0:42:102::14 -www3.hosts IN AAAA 2a00:14b0:42:102::15 -diday-staging-runner.hosts IN AAAA 2a00:14b0:42:102::16 -public-web-static.hosts IN AAAA 2a00:14b0:42:102::17 -forgejo-actions-runner.hosts IN AAAA 2a00:14b0:42:102::18 +wiki.hosts IN AAAA 2a00:14b0:42:102::2 +cloud.hosts IN AAAA 2a00:14b0:42:102::3 +eh22-wiki.hosts IN AAAA 2a00:14b0:42:102::4 +pad.hosts IN AAAA 2a00:14b0:42:102::5 +keycloak.hosts IN AAAA 2a00:14b0:42:102::6 +onlyoffice.hosts IN AAAA 2a00:14b0:42:102::7 +renovate.hosts IN AAAA 2a00:14b0:42:102::8 +sunders.hosts IN AAAA 2a00:14b0:42:102::9 +mjolnir.hosts IN AAAA 2a00:14b0:42:102::a +netbox.hosts IN AAAA 2a00:14b0:42:102::b +tickets.hosts IN AAAA 2a00:14b0:42:102::c +zammad.hosts IN AAAA 2a00:14b0:42:102::d +grafana.hosts IN AAAA 2a00:14b0:42:102::e +ccchoir.hosts IN AAAA 2a00:14b0:42:102::f +pretalx.hosts IN AAAA 2a00:14b0:42:102::10 +ntfy.hosts IN AAAA 2a00:14b0:42:102::11 +spaceapiccc.hosts IN AAAA 2a00:14b0:42:102::12 +acmedns.hosts IN AAAA 2a00:14b0:42:102::13 +www2.hosts IN AAAA 2a00:14b0:42:102::14 +www3.hosts IN AAAA 2a00:14b0:42:102::15 +diday-staging-runner.hosts IN AAAA 2a00:14b0:42:102::16 +public-web-static.hosts IN AAAA 2a00:14b0:42:102::17 +forgejo-actions-runner.hosts IN AAAA 2a00:14b0:42:102::18 ; acme-challenges -_acme-challenge.sunders CNAME a5ee8a99-3cdf-4212-972e-c0b6fda1242f.auth.acmedns -_acme-challenge.pretalx CNAME 295a66d4-1d71-49f3-a80a-1f7527ec9cca.auth.acmedns +_acme-challenge.sunders CNAME a5ee8a99-3cdf-4212-972e-c0b6fda1242f.auth.acmedns +_acme-challenge.pretalx CNAME 295a66d4-1d71-49f3-a80a-1f7527ec9cca.auth.acmedns From d76212c5a89f9a8cd0ad7af96ba005bcfe842a3e Mon Sep 17 00:00:00 2001 From: June Date: Sat, 9 May 2026 18:27:54 +0200 Subject: [PATCH 260/417] auth-dns(host): remove legacy "-intern" entries from hamburg.ccc.de zone --- .../auth-dns/zones/hamburg.ccc.de.zone | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone b/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone index 5c19401d0d..d314fd6928 100644 --- a/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone +++ b/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone @@ -213,33 +213,14 @@ dkim._domainkey.id IN TXT ("v=DKIM1;k=rsa;t=s;s=em "XPfmatTH7yieDaLG+3kHjbA3WFyAkb/ZAqZaFM8k6cQJEZb7jDzdKlm1fuPrk" "YUrfZ1V3pglzdm0QbM4wIDAQAB") -aes-intern IN A 172.31.17.145 -tickets-intern IN A 172.31.17.148 -grafana-intern IN A 172.31.17.145 -loki-intern IN A 172.31.17.145 -eh22-netbox-intern IN A 172.31.17.166 -sunders-intern IN A 172.31.17.170 -renovate-intern IN A 172.31.17.171 -netbox-intern IN A 172.31.17.167 matrix-intern IN A 172.31.17.150 ; have this for compatibility (like references in CI) public-web-static-intern IN AAAA 2a00:14b0:42:102::17 -pretalx-intern IN A 172.31.17.157 -zammad-intern IN A 172.31.17.152 -nixos-template-intern IN A 172.31.17.200 git-intern IN A 172.31.17.154 -forgejo-actions-runner-intern IN A 172.31.17.155 -nix-box-june-intern IN A 172.31.17.158 woodpecker-intern IN A 172.31.17.160 -mjolnir-intern IN A 172.31.17.161 -mjolnir-ng-intern IN A 172.31.17.169 penpot-intern IN A 172.31.17.162 -penpot-ng-intern IN A 172.31.17.168 -hydra-intern IN A 172.31.17.163 forgejo-runner-builder IN A 172.31.17.202 renovate-forgejo IN A 172.31.17.163 -ansible-testing-intern IN A 172.31.17.164 -ntfy-intern IN A 172.31.17.149 status IN AAAA 2a00:14b0:f001:100::fd status IN A 212.12.50.253 design IN A 212.12.48.125 From c9c44efa0bfaee64276eca3ccdca898732293cd8 Mon Sep 17 00:00:00 2001 From: June Date: Sat, 9 May 2026 19:16:34 +0200 Subject: [PATCH 261/417] auth-dns(host): remove entries for old and deprecated services --- .../auth-dns/zones/hamburg.ccc.de.zone | 51 ------------------- 1 file changed, 51 deletions(-) diff --git a/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone b/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone index d314fd6928..21a8d0eaa6 100644 --- a/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone +++ b/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone @@ -37,15 +37,6 @@ dkim._domainkey IN TXT ("v=DKIM1;k=rsa;t=s;s=em _dmarc IN TXT "v=DMARC1;p=none;sp=none;pct=100;rua=mailto:dmarc-report@hamburg.ccc.de;ruf=mailto:dmarc-report@hamburg.ccc.de;ri=86400;aspf=r;adkim=r;fo=1" -;_sip._udp IN SRV 10 0 5060 vermittlung -;_sip._tcp IN SRV 10 4 5060 vermittlung -;_sips._tcp IN SRV 10 4 5060 vermittlung - -_xmpp-client._tcp IN SRV 10 0 5222 jabber -_xmpp-server._tcp IN SRV 10 0 5269 jabber -_xmpp-client._tcp.jabber IN SRV 10 0 5222 jabber -_xmpp-server._tcp.jabber IN SRV 10 0 5269 jabber - localhost IN A 127.0.0.1 dante._domainkey IN TXT ("v=DKIM1;k=rsa;t=s;s=email;" @@ -55,9 +46,6 @@ hansenerd._domainkey IN TXT ("v=DKIM1; k=rsa; " "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDlxTgmc5Fe2aQc5razQYlk3OBGNePuevJQ7YVp5j5IM0ukBLM1erTR6DLZZvoGd2puKvfjlvejR3GRY4YXeZkCJoS0ZjwpR3Tfy8PzUbPNMt5e/buHGK1v+9E9zrl4vrxgYYYlYqjl1HF1K9oE5yPI1AIeUxzZpduheJASlxr9VwIDAQAB" ) ; -; VMWare ESXi Host: -worker IN A 212.12.48.123 -worker-ipmi IN A 212.12.51.136 ; Proxmox Host: chaosknoten IN A 212.12.48.126 IN AAAA 2a00:14b0:4200:3000::126:1 @@ -107,15 +95,6 @@ chaosvpn-dns IN A 172.31.17.136 turing-db IN A 172.31.17.135 IN MX 10 cow.hamburg.ccc.de. -jabber IN A 212.12.48.122 - IN AAAA 2a00:14b0:f000:23::26 - IN MX 5 nomail.ccc.de. - IN MX 10 cow.hamburg.ccc.de. -jabber-intern IN A 172.31.17.134 - IN AAAA 2a00:14b0:f000:23::26 - IN MX 5 nomail.ccc.de. - IN MX 10 cow.hamburg.ccc.de. - gitlab IN A 212.12.48.122 IN AAAA 2a00:14b0:4200:3000:122::1 ; ipv6 also has DNAT rules @@ -235,7 +214,6 @@ dkim._domainkey.design IN TXT ("v=DKIM1;k=rsa;t=s;s=em "TRTV4LM/n5Jm7Mm1F5DwJ+7Ie9s/WvTWKKKUExmoa5SNheGcfybC+sqnJu7L0" "F5dWFwk0zzQDcVSY2m9qFWPEuO2fZmiB4IoG4yXkooSY2sH9Z8eX2+6i3k/ub" "qx58Mav6VlkTxsOAdbbQIDAQAB") -hydra IN A 212.12.48.125 regio-stage IN A 212.12.51.142 AAAA 2a00:14b0:f000:23:51:142:0:1 @@ -350,27 +328,6 @@ zammad IN A 212.12.48.125 loki IN CNAME grafana.hosts metrics IN CNAME grafana.hosts -; attraktor openvz vm -attraktor IN A 172.31.17.14 - IN AAAA 2a00:14b0:f000:23:48::14 - IN MX 10 cow.hamburg.ccc.de. -attraktor-intern IN A 172.31.17.14 - IN AAAA 2a00:14b0:f000:23:48::14 - IN MX 10 cow.hamburg.ccc.de. -attraktor-intern2 IN A 172.31.17.137 - IN MX 10 cow.hamburg.ccc.de. - -erfafoo IN A 212.12.51.138 - IN AAAA 2a00:14b0:f000:23:50:210::1 - IN MX 10 cow.hamburg.ccc.de. -local IN CNAME erfafoo -lokal IN CNAME erfafoo - -; fuer vollkorn: -;webfoo IN A 212.12.51.138 -; IN AAAA 2a00:14b0:4200:3380:138::1 -; IN MX 5 nomail.ccc.de. -; IN MX 10 cow.hamburg.ccc.de. ; chaos macht schule server cms IN A 212.12.51.131 @@ -453,16 +410,8 @@ irc IN A 176.56.239.136 IN AAAA 2a00:d880:8:1::1aa IN MX 5 nomail.ccc.de. -;anonymizer IN A 192.162.102.224 -; IN MX 5 nomail.ccc.de. -; IN MX 10 anonymizer -;mixminion IN A 192.162.102.225 -; IN MX 5 nomail.ccc.de. -; IN MX 10 mixminion - cryptoparty IN CNAME public-reverse-proxy staging.cryptoparty IN CNAME public-reverse-proxy -cryptoparty-intern IN A 172.31.17.213 ; Freifunk Gateways freifunk-gw01 IN CNAME gw01.hamburg.freifunk.net. From e3ef60186f52ef3c3f9994aff3f60ce184774403 Mon Sep 17 00:00:00 2001 From: chris Date: Sat, 9 May 2026 21:34:08 +0200 Subject: [PATCH 262/417] grafana: set default alertmanager notifications --- .../chaosknoten/grafana/docker_compose/alertmanager.yaml.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/chaosknoten/grafana/docker_compose/alertmanager.yaml.j2 b/resources/chaosknoten/grafana/docker_compose/alertmanager.yaml.j2 index 0689820cfe..7276bdd733 100644 --- a/resources/chaosknoten/grafana/docker_compose/alertmanager.yaml.j2 +++ b/resources/chaosknoten/grafana/docker_compose/alertmanager.yaml.j2 @@ -3,7 +3,7 @@ # - https://github.com/prometheus/alertmanager/blob/48a99764a1fc9279fc828de83e7a03ae2219abc7/doc/examples/simple.yml route: - receiver: 'ntfy-ccchh' + receiver: 'null' group_by: [ "alertname", "site", "job", "hypervisor" ] group_wait: 30s group_interval: 5m From d2f95237a098abcb47525a4f0f2db5363f215023 Mon Sep 17 00:00:00 2001 From: lilly Date: Wed, 13 May 2026 15:11:23 +0200 Subject: [PATCH 263/417] add wieskes nameservers for reverse-dns zone transfers from auth-dns --- inventories/chaosknoten/host_vars/auth-dns.yaml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/inventories/chaosknoten/host_vars/auth-dns.yaml b/inventories/chaosknoten/host_vars/auth-dns.yaml index 970e2f8d97..badd093cd9 100644 --- a/inventories/chaosknoten/host_vars/auth-dns.yaml +++ b/inventories/chaosknoten/host_vars/auth-dns.yaml @@ -7,6 +7,12 @@ knot__dnssec_key_id: "auth-dns.hamburg.ccc.de-1" knot__remotes: - id: ns-intern.hamburg.ccc.de address: [ "2a00:14b0:f000:23::53", "172.31.17.53" ] + - id: p-dns.irz42.net + address: [ "192.76.134.30", "2a00:14b0:4200:8600::30" ] + - id: s-dns.irz42.net + address: [ "212.12.50.130", "2a00:14b0:4200:3280::130" ] + - id: k-dns.irz42.net + address: [ "212.12.54.252", "2a00:14b0:4200:3600::252" ] knot__catalog_zones: - domain: "hamburg.ccc.de.catalog." @@ -38,7 +44,7 @@ knot__zones: content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/eh22.easterhegg.eu.zone') }}" - domain: "3.2.0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa." - notify_targets: [ "ns-intern.hamburg.ccc.de" ] + notify_targets: [ "ns-intern.hamburg.ccc.de", "p-dns.irz42.net", "s-dns.irz42.net", "k-dns.irz42.net" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/3.2.0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa.zone') }}" - domain: "2.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa." From 18ffa42358029d9135c35b36d35ea0de7f29a01c Mon Sep 17 00:00:00 2001 From: lilly Date: Wed, 13 May 2026 15:11:23 +0200 Subject: [PATCH 264/417] remove actually unused reverse-dns zones --- .../chaosknoten/host_vars/auth-dns.yaml | 20 ------------------- ....0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone | 16 --------------- ....0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone | 15 -------------- ....0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone | 15 -------------- ....0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone | 15 -------------- ....0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone | 15 -------------- 6 files changed, 96 deletions(-) delete mode 100644 resources/chaosknoten/auth-dns/zones/2.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone delete mode 100644 resources/chaosknoten/auth-dns/zones/3.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone delete mode 100644 resources/chaosknoten/auth-dns/zones/4.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone delete mode 100644 resources/chaosknoten/auth-dns/zones/5.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone delete mode 100644 resources/chaosknoten/auth-dns/zones/6.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone diff --git a/inventories/chaosknoten/host_vars/auth-dns.yaml b/inventories/chaosknoten/host_vars/auth-dns.yaml index badd093cd9..3efb85d04e 100644 --- a/inventories/chaosknoten/host_vars/auth-dns.yaml +++ b/inventories/chaosknoten/host_vars/auth-dns.yaml @@ -46,23 +46,3 @@ knot__zones: - domain: "3.2.0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa." notify_targets: [ "ns-intern.hamburg.ccc.de", "p-dns.irz42.net", "s-dns.irz42.net", "k-dns.irz42.net" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/3.2.0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa.zone') }}" - - - domain: "2.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa." - notify_targets: [ "ns-intern.hamburg.ccc.de" ] - content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/2.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone') }}" - - - domain: "3.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa." - notify_targets: [ "ns-intern.hamburg.ccc.de" ] - content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/3.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone') }}" - - - domain: "4.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa." - notify_targets: [ "ns-intern.hamburg.ccc.de" ] - content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/4.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone') }}" - - - domain: "5.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa." - notify_targets: [ "ns-intern.hamburg.ccc.de" ] - content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/5.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone') }}" - - - domain: "6.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa." - notify_targets: [ "ns-intern.hamburg.ccc.de" ] - content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/6.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone') }}" diff --git a/resources/chaosknoten/auth-dns/zones/2.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone b/resources/chaosknoten/auth-dns/zones/2.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone deleted file mode 100644 index baacd63496..0000000000 --- a/resources/chaosknoten/auth-dns/zones/2.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone +++ /dev/null @@ -1,16 +0,0 @@ -$TTL 7200 - -@ IN SOA auth-dns.hamburg.ccc.de. noc.hamburg.ccc.de. ( - 2023073001 - 10800 - 3600 - 3600000 - 86400 ) - - IN NS auth-dns.hamburg.ccc.de. - IN NS ns.vie.ccc.de. - -; 2a00:14b0:4200:3000:122::1 - -1.0.0.0.0.0.0.0.0.0.0.0 IN PTR turing.hamburg.ccc.de. - diff --git a/resources/chaosknoten/auth-dns/zones/3.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone b/resources/chaosknoten/auth-dns/zones/3.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone deleted file mode 100644 index 6972a51a9f..0000000000 --- a/resources/chaosknoten/auth-dns/zones/3.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone +++ /dev/null @@ -1,15 +0,0 @@ -$TTL 7200 - -@ IN SOA auth-dns.hamburg.ccc.de. noc.hamburg.ccc.de. ( - 2023072900 - 10800 - 3600 - 3600000 - 86400 ) - - IN NS auth-dns.hamburg.ccc.de. - IN NS ns.vie.ccc.de. - -; 2a00:14b0:4200:3000:123::1 - -1.0.0.0.0.0.0.0.0.0.0.0 IN PTR unused.hamburg.ccc.de. diff --git a/resources/chaosknoten/auth-dns/zones/4.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone b/resources/chaosknoten/auth-dns/zones/4.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone deleted file mode 100644 index a43bc068c9..0000000000 --- a/resources/chaosknoten/auth-dns/zones/4.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone +++ /dev/null @@ -1,15 +0,0 @@ -$TTL 7200 - -@ IN SOA auth-dns.hamburg.ccc.de. noc.hamburg.ccc.de. ( - 2023072900 - 10800 - 3600 - 3600000 - 86400 ) - - IN NS auth-dns.hamburg.ccc.de. - IN NS ns.vie.ccc.de. - -; 2a00:14b0:4200:3000:124::1 - -1.0.0.0.0.0.0.0.0.0.0.0 IN PTR unused.hamburg.ccc.de. diff --git a/resources/chaosknoten/auth-dns/zones/5.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone b/resources/chaosknoten/auth-dns/zones/5.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone deleted file mode 100644 index b03dcc71f5..0000000000 --- a/resources/chaosknoten/auth-dns/zones/5.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone +++ /dev/null @@ -1,15 +0,0 @@ -$TTL 7200 - -@ IN SOA auth-dns.hamburg.ccc.de. noc.hamburg.ccc.de. ( - 2023072900 - 10800 - 3600 - 3600000 - 86400 ) - - IN NS auth-dns.hamburg.ccc.de. - IN NS ns.vie.ccc.de. - -; 2a00:14b0:4200:3000:125::1 - -1.0.0.0.0.0.0.0.0.0.0.0 IN PTR public-reverse-proxy.hamburg.ccc.de. diff --git a/resources/chaosknoten/auth-dns/zones/6.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone b/resources/chaosknoten/auth-dns/zones/6.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone deleted file mode 100644 index 3de9e0939b..0000000000 --- a/resources/chaosknoten/auth-dns/zones/6.2.1.0.0.0.0.3.0.0.2.4.0.b.4.1.0.0.a.2.ip6.arpa.zone +++ /dev/null @@ -1,15 +0,0 @@ -$TTL 7200 - -@ IN SOA ns.hamburg.ccc.de. haegar.ccc.de. ( - 2023073001 - 10800 - 3600 - 3600000 - 86400 ) - - IN NS auth-dns.hamburg.ccc.de. - IN NS ns.vie.ccc.de. - -; 2a00:14b0:4200:3000:126::1 - -1.0.0.0.0.0.0.0.0.0.0.0 IN PTR chaosknoten.hamburg.ccc.de. From 637dc6b25a7f1ed496a73b71d83e0b9a827f2a74 Mon Sep 17 00:00:00 2001 From: lilly Date: Wed, 13 May 2026 16:53:57 +0200 Subject: [PATCH 265/417] consider ansible-pull jobs failed after 30 minutes --- roles/ansible_pull/templates/ansible-pull.service.j2 | 1 + 1 file changed, 1 insertion(+) diff --git a/roles/ansible_pull/templates/ansible-pull.service.j2 b/roles/ansible_pull/templates/ansible-pull.service.j2 index b34450541e..9607fc9deb 100644 --- a/roles/ansible_pull/templates/ansible-pull.service.j2 +++ b/roles/ansible_pull/templates/ansible-pull.service.j2 @@ -6,6 +6,7 @@ OnFailure=ansible-pull-failure-notify.service [Service] Type=oneshot +TimeoutStartSec=30min 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 From 164f78495735ad3085e1d74aa733fee6d2ac0597 Mon Sep 17 00:00:00 2001 From: lilly Date: Fri, 15 May 2026 14:48:38 +0200 Subject: [PATCH 266/417] remove errornously added irz42 reverse-dns secondaries --- inventories/chaosknoten/host_vars/auth-dns.yaml | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/inventories/chaosknoten/host_vars/auth-dns.yaml b/inventories/chaosknoten/host_vars/auth-dns.yaml index 3efb85d04e..dc91e90ea9 100644 --- a/inventories/chaosknoten/host_vars/auth-dns.yaml +++ b/inventories/chaosknoten/host_vars/auth-dns.yaml @@ -7,12 +7,6 @@ knot__dnssec_key_id: "auth-dns.hamburg.ccc.de-1" knot__remotes: - id: ns-intern.hamburg.ccc.de address: [ "2a00:14b0:f000:23::53", "172.31.17.53" ] - - id: p-dns.irz42.net - address: [ "192.76.134.30", "2a00:14b0:4200:8600::30" ] - - id: s-dns.irz42.net - address: [ "212.12.50.130", "2a00:14b0:4200:3280::130" ] - - id: k-dns.irz42.net - address: [ "212.12.54.252", "2a00:14b0:4200:3600::252" ] knot__catalog_zones: - domain: "hamburg.ccc.de.catalog." @@ -44,5 +38,5 @@ knot__zones: content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/eh22.easterhegg.eu.zone') }}" - domain: "3.2.0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa." - notify_targets: [ "ns-intern.hamburg.ccc.de", "p-dns.irz42.net", "s-dns.irz42.net", "k-dns.irz42.net" ] + notify_targets: [ "ns-intern.hamburg.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/3.2.0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa.zone') }}" From 83e6f764648abff411746bdf899b8e2ef5dda17b Mon Sep 17 00:00:00 2001 From: jtbx Date: Fri, 15 May 2026 19:25:44 +0200 Subject: [PATCH 267/417] deploy_systemd_journal_config(role): Disable ForwardToSyslog We don't want hour journalctl logs mirrored to /var/log/syslog --- roles/deploy_systemd_journal_config/files/10-ccchh.conf | 2 ++ 1 file changed, 2 insertions(+) diff --git a/roles/deploy_systemd_journal_config/files/10-ccchh.conf b/roles/deploy_systemd_journal_config/files/10-ccchh.conf index 3419fd9a88..eea3754df1 100644 --- a/roles/deploy_systemd_journal_config/files/10-ccchh.conf +++ b/roles/deploy_systemd_journal_config/files/10-ccchh.conf @@ -1,3 +1,5 @@ [Journal] MaxFileSec=2day MaxRetentionSec=2week + +ForwardToSyslog=no From cc5dfb3cf703b3819838cb980d03fdb29efc4888 Mon Sep 17 00:00:00 2001 From: Renovate Date: Sun, 10 May 2026 01:16:09 +0000 Subject: [PATCH 268/417] Update docker.io/grafana/grafana Docker tag to v13 --- resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 b/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 index 8c385005ef..1f6c42f403 100644 --- a/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 @@ -32,7 +32,7 @@ services: - alertmanager_data:/alertmanager grafana: - image: docker.io/grafana/grafana:12.4.2 + image: docker.io/grafana/grafana:13.0.1 container_name: grafana ports: - 3000:3000 From a76f01aea7fba1aec8fe6e639a82d6799562ef14 Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Sat, 16 May 2026 13:06:19 +0200 Subject: [PATCH 269/417] Move secrets to SOPS, add REST_USER --- .../chaosknoten/host_vars/lists.sops.yaml | 10 +++++++--- inventories/chaosknoten/host_vars/lists.yaml | 2 +- .../{compose.yaml => compose.yaml.j2} | 17 +++++++++-------- 3 files changed, 17 insertions(+), 12 deletions(-) rename resources/chaosknoten/lists/docker_compose/{compose.yaml => compose.yaml.j2} (75%) diff --git a/inventories/chaosknoten/host_vars/lists.sops.yaml b/inventories/chaosknoten/host_vars/lists.sops.yaml index 76125b92a1..21c97c8f7a 100644 --- a/inventories/chaosknoten/host_vars/lists.sops.yaml +++ b/inventories/chaosknoten/host_vars/lists.sops.yaml @@ -1,4 +1,8 @@ ansible_pull__age_private_key: ENC[AES256_GCM,data:pUFhg492OUXVIlDZ3Z9A/H0doJCuTX0zh9qLU88nz18jMzWmzXhc2kbQkk4QeSTnZ12juiTbpUFW+1cE1bOontIu5qiQgpe3c8s=,iv:bONSyFUibcszUcxBt749aiVVnqLKBuEJmfege0dGaM8=,tag:cvapTnTN62XTR6tQBSe+IQ==,type:str] +secret__lists__hyperkitty_api_key: ENC[AES256_GCM,data:byO7x/r3E9mwxOwiK0Is+Mp+d2uRIBgNsX2YWUg20Cs=,iv:H9ufaS6JlKhkbsG5aM3owR0U10e0JNYX/s3AJagB6kY=,tag:5umAs792BwNF9bMCX69PBw==,type:str] +secret__lists__postgres_password: ENC[AES256_GCM,data:HcH4Lyw9uuuqXGrrXkUqzg==,iv:3adzec+Wnh37LjzwMp7zhWMf9jZzI6EyUmEGS9TUYBg=,tag:8/jZrUzkcM+U3nME6+DSSA==,type:str] +secret__lists__rest_password: ENC[AES256_GCM,data:BMCNEikejiDET0Mdlrzfcg==,iv:U5hVjM/epfzz2m/wXKhYhwFI/3zKX7XS/UMlBqwTZNk=,tag:0n79+5mP7ocY7jVQmWm+WA==,type:str] +secret__lists__web_secret_key: ENC[AES256_GCM,data:3DntszkNw5ciwRUJJdmHTGTpjm9ZMBf9wO3MHAeiXuw=,iv:GqqjRcg0zG193Y04UYIipB8BBk/JUtGvtTCVQ4HCjDw=,tag:aY4d+CPGxMvRz8t983p9sw==,type:str] sops: age: - recipient: age17x20h3m6wgfhereusc224u95ac8aj68fzlkkj5ptvs9c5vlz3usqdu7crq @@ -10,8 +14,8 @@ sops: THpvS29mY1BIbktZYkhCYm1NMFdLcXcKBtXXokEi1nSVA099XXNrx3w4Fr1lnLMf 2KTuylUef8RUgHPx1wo5Q7xlYNR48GupHVQxb9VvyDTXOZEiAV7Pdw== -----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] + lastmodified: "2026-05-16T11:00:16Z" + mac: ENC[AES256_GCM,data:vwQc2suUJ0KiSsYRcrvsYHNYF2c8SU58LxWoFpzTX5hSDNy8LOWJIa6Ouo8c7gk4gYB0mS/FbmgEo8LOCDvRKamfgrpZQ2wvxI7GdGRjR0LOsS8O2xZ8QZ3BK9DfEfnA5ESgzRzX6Iuc4ZBUGfAQoDDxXrnh2ogWUdYPC81T5qU=,iv:Vi74U97iZAqQ8DDW2p3ncg58l6+mxar4hC5f48AuPAQ=,tag:Jd09hXId+ogV4rB0AWS2NA==,type:str] pgp: - created_at: "2026-04-18T22:36:23Z" enc: |- @@ -204,4 +208,4 @@ sops: -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted - version: 3.11.0 + version: 3.12.2 diff --git a/inventories/chaosknoten/host_vars/lists.yaml b/inventories/chaosknoten/host_vars/lists.yaml index 0e53178019..e6680f4bd3 100644 --- a/inventories/chaosknoten/host_vars/lists.yaml +++ b/inventories/chaosknoten/host_vars/lists.yaml @@ -1,4 +1,4 @@ -docker_compose__compose_file_content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/lists/docker_compose/compose.yaml') }}" +docker_compose__compose_file_content: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/lists/docker_compose/compose.yaml.j2') }}" docker_compose__configuration_files: - name: settings_local.py content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/lists/docker_compose/settings_local.py') }}" diff --git a/resources/chaosknoten/lists/docker_compose/compose.yaml b/resources/chaosknoten/lists/docker_compose/compose.yaml.j2 similarity index 75% rename from resources/chaosknoten/lists/docker_compose/compose.yaml rename to resources/chaosknoten/lists/docker_compose/compose.yaml.j2 index fb65594534..11ea8a4217 100644 --- a/resources/chaosknoten/lists/docker_compose/compose.yaml +++ b/resources/chaosknoten/lists/docker_compose/compose.yaml.j2 @@ -12,11 +12,13 @@ services: depends_on: - database environment: - - DATABASE_URL=postgresql://mailman:wvQjbMRnwFuxGEPz@database/mailmandb + - "DATABASE_URL=postgresql://mailman:{{ secret__lists__postgres_password }}@database/mailmandb" - DATABASE_TYPE=postgres - DATABASE_CLASS=mailman.database.postgresql.PostgreSQLDatabase - - HYPERKITTY_API_KEY=ITfRjushI6FP0TLMnRpZxlfB2e17DN86 + - HYPERKITTY_API_KEY={{ secret__lists__hyperkitty_api_key }} - MTA=postfix + - MAILMAN_REST_USER=restuser + - MAILMAN_REST_PASSWORD={{ secret__lists__rest_password }} ports: - "127.0.0.1:8001:8001" # API - "127.0.0.1:8024:8024" # LMTP - incoming emails @@ -39,11 +41,11 @@ services: - ./files/templates:/opt/mailman-web/templates environment: - DATABASE_TYPE=postgres - - DATABASE_URL=postgresql://mailman:wvQjbMRnwFuxGEPz@database/mailmandb + - "DATABASE_URL=postgresql://mailman:{{ secret__lists__postgres_password }}@database/mailmandb" - "DJANGO_ALLOWED_HOSTS=lists.hamburg.ccc.de,lists.c3lingo.org" - - HYPERKITTY_API_KEY=ITfRjushI6FP0TLMnRpZxlfB2e17DN86 + - HYPERKITTY_API_KEY={{ secret__lists__hyperkitty_api_key }} - SERVE_FROM_DOMAIN=lists.hamburg.ccc.de - - SECRET_KEY=ugfknEYBaFVc62R1jlIjnkizQaqr7tSt + - SECRET_KEY={{ secret__lists__web_secret_key }} - MAILMAN_ADMIN_USER=ccchh-admin - MAILMAN_ADMIN_EMAIL=tony@cowtest.hamburg.ccc.de ports: @@ -57,7 +59,7 @@ services: environment: - POSTGRES_DB=mailmandb - POSTGRES_USER=mailman - - POSTGRES_PASSWORD=wvQjbMRnwFuxGEPz + - "POSTGRES_PASSWORD={{ secret__lists__postgres_password }}" image: docker.io/library/postgres:12-alpine volumes: - /opt/mailman/database:/var/lib/postgresql/data @@ -70,5 +72,4 @@ networks: ipam: driver: default config: - - - subnet: 172.19.199.0/24 + - subnet: 172.19.199.0/24 From 1757c366059fcae5e4e70553c1283d24ff41a3d5 Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Sat, 16 May 2026 13:31:18 +0200 Subject: [PATCH 270/417] Postorious needs REST API as well --- resources/chaosknoten/lists/docker_compose/compose.yaml.j2 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/resources/chaosknoten/lists/docker_compose/compose.yaml.j2 b/resources/chaosknoten/lists/docker_compose/compose.yaml.j2 index 11ea8a4217..db605b571d 100644 --- a/resources/chaosknoten/lists/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/lists/docker_compose/compose.yaml.j2 @@ -48,6 +48,8 @@ services: - SECRET_KEY={{ secret__lists__web_secret_key }} - MAILMAN_ADMIN_USER=ccchh-admin - MAILMAN_ADMIN_EMAIL=tony@cowtest.hamburg.ccc.de + - MAILMAN_REST_USER=restuser + - MAILMAN_REST_PASSWORD={{ secret__lists__rest_password }} ports: - "127.0.0.1:8000:8000" # HTTP - "127.0.0.1:8080:8080" # uwsgi From 1275d50bdffbf5419a20241d39c4615b882d8ceb Mon Sep 17 00:00:00 2001 From: June Date: Mon, 18 May 2026 18:00:30 +0200 Subject: [PATCH 271/417] dooris(host): use new dooris software Also fix DNS record not properly working anymore. --- .../chaosknoten/auth-dns/zones/ccchh.net.zone | 2 +- .../z9/dooris/docker_compose/compose.yaml.j2 | 24 +++++++------------ .../z9/dooris/nginx/dooris.ccchh.net.conf | 6 ++++- 3 files changed, 14 insertions(+), 18 deletions(-) diff --git a/resources/chaosknoten/auth-dns/zones/ccchh.net.zone b/resources/chaosknoten/auth-dns/zones/ccchh.net.zone index 40d4c94682..bb5c16f0c2 100644 --- a/resources/chaosknoten/auth-dns/zones/ccchh.net.zone +++ b/resources/chaosknoten/auth-dns/zones/ccchh.net.zone @@ -52,7 +52,7 @@ hmdooris-ccu A 10.31.208.202 buba A 10.31.211.137 buba.z9 A 10.31.211.137 dooris AAAA 2a07:c481:1:d0::1c -_acme-challenge.dooris CNAME 37caae1f-b77f-4eb1-aa71-dc3f7ed24360.auth.acmedns.hamburg.ccc.de +_acme-challenge.dooris CNAME 37caae1f-b77f-4eb1-aa71-dc3f7ed24360.auth.acmedns.hamburg.ccc.de. waybackproxy A 10.31.208.99 yate A 10.31.208.12 staubiv2 A 10.31.210.233 diff --git a/resources/z9/dooris/docker_compose/compose.yaml.j2 b/resources/z9/dooris/docker_compose/compose.yaml.j2 index 38db85affa..d16c8ad772 100644 --- a/resources/z9/dooris/docker_compose/compose.yaml.j2 +++ b/resources/z9/dooris/docker_compose/compose.yaml.j2 @@ -2,21 +2,13 @@ services: dooris: - image: git.hamburg.ccc.de/ccchh/hmdooris/hmdooris:latest + image: git.hamburg.ccc.de/ccchh/dooris: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 - HMDOORIS_CCUJACK_PASSWORD: "{{ secret__dooris_ccujack_password }}" - HMDOORIS_CCUJACK_URL: https://hmdooris-ccu.ccchh.net:2122 - HMDOORIS_CCUJACK_USERNAME: dooris - HMDOORIS_CLIENT_ID: dooris - HMDOORIS_CLIENT_SECRET: "{{ secret__dooris_client_secret }}" - HMDOORIS_DISCOVERY_URL: https://id.hamburg.ccc.de/realms/ccchh/.well-known/openid-configuration - HMDOORIS_LISTEN: '0.0.0.0:3000' - HMDOORIS_REQUIRES_GROUP: /intern - HMDOORIS_URL: https://dooris.ccchh.net - PYTHONWARNINGS: "ignore:Unverified HTTPS request" - #DEBUG: true - ports: - - "127.0.0.1:3000:3000" + DOORIS_OPENID_ISSUER: https://id.hamburg.ccc.de/realms/ccchh/ + DOORIS_OPENID_CLIENT_ID: dooris + DOORIS_OPENID_CLIENT_SECRET: "{{ secret__dooris_client_secret }}" + DOORIS_BASE_URL: https://dooris.ccchh.net + DOORIS_CCUJACK_USER: "dooris" + DOORIS_CCUJACK_PASSWORD: "{{ secret__dooris_ccujack_password }}" + network_mode: host restart: unless-stopped diff --git a/resources/z9/dooris/nginx/dooris.ccchh.net.conf b/resources/z9/dooris/nginx/dooris.ccchh.net.conf index c1ca082629..efb5b1f1bb 100644 --- a/resources/z9/dooris/nginx/dooris.ccchh.net.conf +++ b/resources/z9/dooris/nginx/dooris.ccchh.net.conf @@ -32,6 +32,10 @@ server { proxy_set_header Connection "upgrade"; location / { - proxy_pass http://127.0.0.1:3000/; + proxy_pass http://127.0.0.1:8000/; + # Increase size to fix nginx error: "upstream sent too big header while reading response header from upstream" + proxy_buffer_size 64k; + proxy_busy_buffers_size 64k; + proxy_buffers 20 4k; } } From b0347d64bf9603c9bce1a05ef5e145ed9bb7d6a6 Mon Sep 17 00:00:00 2001 From: June Date: Mon, 18 May 2026 20:13:48 +0200 Subject: [PATCH 272/417] remove configuration for deleted woodpecker host --- resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone | 2 -- .../grafana/docker_compose/prometheus_alerts.rules.yaml | 8 ++++---- .../public-reverse-proxy/nginx/acme_challenge.conf | 1 - .../chaosknoten/public-reverse-proxy/nginx/nginx.conf | 1 - .../docker_compose/config/services-chaosknoten.yaml | 8 -------- 5 files changed, 4 insertions(+), 16 deletions(-) diff --git a/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone b/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone index 21a8d0eaa6..a9c4851ffe 100644 --- a/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone +++ b/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone @@ -196,7 +196,6 @@ matrix-intern IN A 172.31.17.150 ; have this for compatibility (like references in CI) public-web-static-intern IN AAAA 2a00:14b0:42:102::17 git-intern IN A 172.31.17.154 -woodpecker-intern IN A 172.31.17.160 penpot-intern IN A 172.31.17.162 forgejo-runner-builder IN A 172.31.17.202 renovate-forgejo IN A 172.31.17.163 @@ -275,7 +274,6 @@ matrix IN CNAME public-reverse-proxy mas IN CNAME public-reverse-proxy element-admin IN CNAME public-reverse-proxy netbox IN CNAME public-reverse-proxy -woodpecker IN CNAME public-reverse-proxy onlyoffice IN CNAME public-reverse-proxy pad IN CNAME public-reverse-proxy pretalx IN CNAME public-reverse-proxy diff --git a/resources/chaosknoten/grafana/docker_compose/prometheus_alerts.rules.yaml b/resources/chaosknoten/grafana/docker_compose/prometheus_alerts.rules.yaml index 4a2bc6f155..15b9b1f90f 100644 --- a/resources/chaosknoten/grafana/docker_compose/prometheus_alerts.rules.yaml +++ b/resources/chaosknoten/grafana/docker_compose/prometheus_alerts.rules.yaml @@ -129,7 +129,7 @@ groups: # General high disk read and write rate alerts. # Excluding: hypervisor hosts, CI hosts - alert: HostUnusualDiskReadRate - expr: (sum by (instance) (rate(node_disk_read_bytes_total[2m])) / 1024 / 1024 > 50) * on(instance) group_left (nodename) node_uname_info{nodename=~".+", nodename!="forgejo-actions-runner", nodename!="woodpecker", nodename!="chaosknoten"} + expr: (sum by (instance) (rate(node_disk_read_bytes_total[2m])) / 1024 / 1024 > 50) * on(instance) group_left (nodename) node_uname_info{nodename=~".+", nodename!="forgejo-actions-runner", nodename!="chaosknoten"} for: 5m labels: severity: warning @@ -137,7 +137,7 @@ groups: summary: Host unusual disk read rate (instance {{ $labels.instance }}) description: "Disk is probably reading too much data (> 50 MB/s)\n VALUE = {{ $value }}" - alert: HostUnusualDiskWriteRate - expr: (sum by (instance) (rate(node_disk_written_bytes_total[2m])) / 1024 / 1024 > 50) * on(instance) group_left (nodename) node_uname_info{nodename=~".+", nodename!="forgejo-actions-runner", nodename!="woodpecker", nodename!="chaosknoten"} + expr: (sum by (instance) (rate(node_disk_written_bytes_total[2m])) / 1024 / 1024 > 50) * on(instance) group_left (nodename) node_uname_info{nodename=~".+", nodename!="forgejo-actions-runner", nodename!="chaosknoten"} for: 2m labels: severity: warning @@ -147,7 +147,7 @@ groups: # CI hosts high disk read and write alerts. # Longer intervals to account for disk intensive CI tasks. - alert: CIHostUnusualDiskReadRate - expr: (sum by (instance) (rate(node_disk_read_bytes_total[2m])) / 1024 / 1024 > 50) * on(instance) group_left (nodename) node_uname_info{nodename="forgejo-actions-runner", nodename="woodpecker"} + expr: (sum by (instance) (rate(node_disk_read_bytes_total[2m])) / 1024 / 1024 > 50) * on(instance) group_left (nodename) node_uname_info{nodename="forgejo-actions-runner"} for: 10m labels: severity: warning @@ -155,7 +155,7 @@ groups: summary: CI host unusual disk read rate for 10 min (instance {{ $labels.instance }}) description: "Disk is probably reading too much data (> 50 MB/s)\n VALUE = {{ $value }}" - alert: VirtualHostUnusualDiskWriteRate - expr: (sum by (instance) (rate(node_disk_written_bytes_total[2m])) / 1024 / 1024 > 50) * on(instance) group_left (nodename) node_uname_info{nodename="forgejo-actions-runner", nodename="woodpecker"} + expr: (sum by (instance) (rate(node_disk_written_bytes_total[2m])) / 1024 / 1024 > 50) * on(instance) group_left (nodename) node_uname_info{nodename="forgejo-actions-runner"} for: 4m labels: severity: warning diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf index 93968b03fc..e8b8c8e50d 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf @@ -70,7 +70,6 @@ map $host $upstream_acme_challenge_host { eh20.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; hacker.tours public-web-static.hosts.hamburg.ccc.de:31820; staging.hacker.tours public-web-static.hosts.hamburg.ccc.de:31820; - woodpecker.hamburg.ccc.de 172.31.17.160:31820; design.hamburg.ccc.de 172.31.17.162:31820; hydra.hamburg.ccc.de 172.31.17.163:31820; ntfy.hamburg.ccc.de ntfy.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 843c094711..0a004c9ee4 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf @@ -91,7 +91,6 @@ stream { eh20.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; hacker.tours public-web-static.hosts.hamburg.ccc.de:8443; staging.hacker.tours public-web-static.hosts.hamburg.ccc.de:8443; - 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.hosts.hamburg.ccc.de:8443; diff --git a/resources/external/status/docker_compose/config/services-chaosknoten.yaml b/resources/external/status/docker_compose/config/services-chaosknoten.yaml index 0ee6ef4c9e..74991b7945 100644 --- a/resources/external/status/docker_compose/config/services-chaosknoten.yaml +++ b/resources/external/status/docker_compose/config/services-chaosknoten.yaml @@ -294,14 +294,6 @@ endpoints: - "[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 From 6b19f69135c7dcda3d3a812155f9df37c609b2be Mon Sep 17 00:00:00 2001 From: June Date: Tue, 19 May 2026 00:21:51 +0200 Subject: [PATCH 273/417] renovate(role): add cleanup service and timer for renovate volume With time the volume seems to just keeps growing with cache data, so clean it up once a day. --- roles/renovate/files/renovate-cleanup.service | 7 +++++ roles/renovate/files/renovate-cleanup.timer | 9 ++++++ roles/renovate/tasks/main.yaml | 29 +++++++++---------- 3 files changed, 29 insertions(+), 16 deletions(-) create mode 100644 roles/renovate/files/renovate-cleanup.service create mode 100644 roles/renovate/files/renovate-cleanup.timer diff --git a/roles/renovate/files/renovate-cleanup.service b/roles/renovate/files/renovate-cleanup.service new file mode 100644 index 0000000000..55c191e382 --- /dev/null +++ b/roles/renovate/files/renovate-cleanup.service @@ -0,0 +1,7 @@ +[Unit] +Description=renovate cleanup (delete docker volume) +Conflicts=renovate.service + +[Service] +Type=oneshot +ExecStart=/usr/bin/docker volume rm renovate diff --git a/roles/renovate/files/renovate-cleanup.timer b/roles/renovate/files/renovate-cleanup.timer new file mode 100644 index 0000000000..510004d1c4 --- /dev/null +++ b/roles/renovate/files/renovate-cleanup.timer @@ -0,0 +1,9 @@ +[Unit] +Description=renovate cleanup (delete docker volume) running daily + +[Timer] +# @daily with 10 minute offset +OnCalendar=*-*-* 00:10 + +[Install] +WantedBy=timers.target diff --git a/roles/renovate/tasks/main.yaml b/roles/renovate/tasks/main.yaml index f6988ab973..4a6c0182fb 100644 --- a/roles/renovate/tasks/main.yaml +++ b/roles/renovate/tasks/main.yaml @@ -16,31 +16,28 @@ mode: "0640" become: true -- name: ensure systemd service exists +- name: ensure systemd services and timers exist ansible.builtin.copy: - src: renovate.service - dest: /etc/systemd/system/renovate.service + src: "{{ item }}" + dest: "/etc/systemd/system/{{ item }}" owner: root group: root mode: "0644" become: true + loop: + - renovate.service + - renovate-cleanup.service + - renovate.timer + - renovate-cleanup.timer 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 +- name: ensure systemd timers are started and enabled ansible.builtin.systemd_service: - name: renovate.timer + name: "{{ item }}" state: started enabled: true + loop: + - renovate.timer + - renovate-cleanup.timer become: true From 73e77bde703ce52026e19edd56d482e89afa46ba Mon Sep 17 00:00:00 2001 From: June Date: Mon, 18 May 2026 18:14:51 +0200 Subject: [PATCH 274/417] tag plays in playbooks (instead of tasks in roles) --- playbooks/deploy.yaml | 43 +++++++++++++++++++ playbooks/maintenance.yaml | 6 +++ .../handlers/main.yaml | 1 - .../tasks/disable.yaml | 3 -- .../tasks/enable.yaml | 4 -- .../tasks/main.yaml | 2 - roles/knot/handlers/main.yaml | 3 -- roles/knot/tasks/01-install.yaml | 1 - roles/knot/tasks/02-configure.yaml | 4 -- roles/knot/tasks/03-configure-exporter.yaml | 2 - 10 files changed, 49 insertions(+), 20 deletions(-) diff --git a/playbooks/deploy.yaml b/playbooks/deploy.yaml index a3b047bb3a..ad866cc307 100644 --- a/playbooks/deploy.yaml +++ b/playbooks/deploy.yaml @@ -3,69 +3,98 @@ hosts: base_config_hosts roles: - base_config + tags: + - base_config - name: Ensure systemd-networkd config deployment on systemd_networkd_hosts hosts: systemd_networkd_hosts roles: - systemd_networkd + tags: + - systemd_networkd - name: Ensure nftables deployment on nftables_hosts hosts: nftables_hosts roles: - nftables + tags: + - nftables - name: Ensure deployment of infrastructure authorized keys hosts: infrastructure_authorized_keys_hosts roles: - infrastructure_authorized_keys + tags: + - infrastructure_authorized_keys - name: Ensure Nextcloud config hosts: nextcloud_hosts roles: - nextcloud + tags: + - nextcloud - name: Ensure ola deployment on ola_hosts hosts: ola_hosts roles: - ola + tags: + - ola - name: Ensure foobazdmx deployment on foobazdmx_hosts hosts: foobazdmx_hosts roles: - foobazdmx + tags: + - foobazdmx - name: Ensure Dokuwiki config hosts: wiki_hosts roles: - dokuwiki + tags: + - dokuwiki - name: Ensure NetBox deployment on netbox_hosts hosts: netbox_hosts roles: - netbox + tags: + - netbox - name: Ensure NGINX deployment on nginx_hosts, which are also public_reverse_proxy_hosts, before certbot role runs hosts: nginx_hosts:&public_reverse_proxy_hosts roles: - nginx + tags: + - nginx + - public_reverse_proxy - name: Ensure certbot and certificate deployment on certbot_hosts hosts: certbot_hosts roles: - certbot + tags: + - certbot - name: Ensure OnlyOffice custom fonts ansible.builtin.import_playbook: onlyoffice_fonts.yaml + tags: + - onlyoffice_fonts - name: Ensure Docker Compose deployment on docker_compose_hosts hosts: docker_compose_hosts roles: - docker_compose + tags: + - docker_compose - name: Ensure NGINX deployment on nginx_hosts hosts: nginx_hosts:!public_reverse_proxy_hosts roles: - nginx + tags: + - nginx - name: Configure unattended upgrades for all non-hypervisors hosts: all:!hypervisors @@ -77,32 +106,46 @@ - "o=${distro_id},n=${distro_codename}" - "o=Docker,n=${distro_codename}" - "o=nginx,n=${distro_codename}" + tags: + - unattended_upgrades - name: Ensure Alloy is installed and Setup on alloy_hosts hosts: alloy_hosts become: true roles: - alloy + tags: + - alloy - name: Ensure ansible_pull deployment on ansible_pull_hosts hosts: ansible_pull_hosts roles: - ansible_pull + tags: + - ansible_pull - name: Ensure msmtp is setup on msmtp_hosts hosts: msmtp_hosts roles: - msmtp + tags: + - msmtp - name: Ensure Renovate is setup on renovate_hosts hosts: renovate_hosts roles: - renovate + tags: + - renovate - name: Run ensure_eh22_styleguide_dir Playbook ansible.builtin.import_playbook: ensure_eh22_styleguide_dir.yaml + tags: + - eh22_styleguide_dir - name: Setup authoritative dns servers hosts: auth-dns roles: - knot + tags: + - knot diff --git a/playbooks/maintenance.yaml b/playbooks/maintenance.yaml index c912a530dc..9fe3886038 100644 --- a/playbooks/maintenance.yaml +++ b/playbooks/maintenance.yaml @@ -1,5 +1,7 @@ - name: Ensure NGINX repo setup and nginx install on relevant hosts hosts: nginx_hosts:nextcloud_hosts + tags: + - nextcloud_nginx tasks: - name: Ensure NGINX repo is setup ansible.builtin.include_role: @@ -13,6 +15,8 @@ - name: Ensure Docker repo setup and package install on relevant hosts hosts: docker_compose_hosts:nextcloud_hosts + tags: + - nextcloud_docker tasks: - name: Ensure Docker repo is setup ansible.builtin.include_role: @@ -28,6 +32,8 @@ hosts: all:!hypervisors roles: - apt_update_and_upgrade + tags: + - apt_update_and_upgrade - name: Run deploy Playbook ansible.builtin.import_playbook: deploy.yaml diff --git a/roles/deploy_systemd_resolved_config/handlers/main.yaml b/roles/deploy_systemd_resolved_config/handlers/main.yaml index b40760b9d9..05b7521fd8 100644 --- a/roles/deploy_systemd_resolved_config/handlers/main.yaml +++ b/roles/deploy_systemd_resolved_config/handlers/main.yaml @@ -1,6 +1,5 @@ --- - name: "reload systemd-resolved" - tags: [ "deploy_systemd_resolved_config" ] become: true ansible.builtin.systemd: name: "systemd-resolved.service" diff --git a/roles/deploy_systemd_resolved_config/tasks/disable.yaml b/roles/deploy_systemd_resolved_config/tasks/disable.yaml index 9092116ca6..afa646ad18 100644 --- a/roles/deploy_systemd_resolved_config/tasks/disable.yaml +++ b/roles/deploy_systemd_resolved_config/tasks/disable.yaml @@ -1,13 +1,11 @@ --- - name: Ensure /etc/resolv.conf is a plain file - tags: [ "deploy_systemd_resolved_config" ] become: true ansible.builtin.file: path: "/etc/resolv.conf" state: file - name: Write nameserver config directly into /etc/resolv.conf - tags: [ "deploy_systemd_resolved_config" ] become: true ansible.builtin.template: src: "resolv.conf.j2" @@ -17,7 +15,6 @@ mode: u=rw,g=r,o=r - name: Disable systemd-resolved - tags: [ "deploy_systemd_resolved_config" ] become: true ansible.builtin.systemd: name: "systemd-resolved.service" diff --git a/roles/deploy_systemd_resolved_config/tasks/enable.yaml b/roles/deploy_systemd_resolved_config/tasks/enable.yaml index 9a7438ef1d..2659c3223b 100644 --- a/roles/deploy_systemd_resolved_config/tasks/enable.yaml +++ b/roles/deploy_systemd_resolved_config/tasks/enable.yaml @@ -1,13 +1,11 @@ --- - name: Ensure systemd-resolved is installed - tags: [ "deploy_systemd_resolved_config" ] become: true when: ansible_facts["distribution"] == "Debian" ansible.builtin.package: name: [ "systemd-resolved" ] - name: Deploy systemd-resolved config - tags: [ "deploy_systemd_resolved_config" ] become: true notify: "reload systemd-resolved" ansible.builtin.template: @@ -18,7 +16,6 @@ mode: u=rw,g=r,o=r - name: Make /etc/resolv.conf points to systemd-resolved - tags: [ "deploy_systemd_resolved_config" ] become: true when: deploy_systemd_resolved_config__mode != "extern" ansible.builtin.file: # noqa: jinja @@ -35,7 +32,6 @@ {%- endif -%} - name: Ensure systemd-resolved is running and enabled - tags: [ "deploy_systemd_resolved_config" ] become: true ansible.builtin.systemd: name: systemd-resolved.service diff --git a/roles/deploy_systemd_resolved_config/tasks/main.yaml b/roles/deploy_systemd_resolved_config/tasks/main.yaml index 00bc293ce7..00558dccdd 100644 --- a/roles/deploy_systemd_resolved_config/tasks/main.yaml +++ b/roles/deploy_systemd_resolved_config/tasks/main.yaml @@ -1,10 +1,8 @@ --- - name: Include enable.yaml - tags: [ "deploy_systemd_resolved_config" ] ansible.builtin.include_tasks: enable.yaml when: deploy_systemd_resolved_config__enable - name: Include disable.yaml - tags: [ "deploy_systemd_resolved_config" ] ansible.builtin.include_tasks: disable.yaml when: not deploy_systemd_resolved_config__enable diff --git a/roles/knot/handlers/main.yaml b/roles/knot/handlers/main.yaml index 38fce7502a..feb3cebc0e 100644 --- a/roles/knot/handlers/main.yaml +++ b/roles/knot/handlers/main.yaml @@ -1,19 +1,16 @@ --- - name: reload knot - tags: [ auth-dns ] become: true ansible.builtin.systemd: name: knot.service state: reloaded - name: netplan apply - tags: [ auth-dns ] become: true changed_when: true ansible.builtin.command: "netplan apply" - name: restart knot-exporter - tags: [ auth-dns ] become: true ansible.builtin.systemd: name: knot-exporter.service diff --git a/roles/knot/tasks/01-install.yaml b/roles/knot/tasks/01-install.yaml index 0a269d6e2f..8a5feed59b 100644 --- a/roles/knot/tasks/01-install.yaml +++ b/roles/knot/tasks/01-install.yaml @@ -1,6 +1,5 @@ --- - name: Install knot - tags: [ auth-dns ] become: true ansible.builtin.package: name: diff --git a/roles/knot/tasks/02-configure.yaml b/roles/knot/tasks/02-configure.yaml index 2b0b0fa0d7..a2a8e55e5e 100644 --- a/roles/knot/tasks/02-configure.yaml +++ b/roles/knot/tasks/02-configure.yaml @@ -1,6 +1,5 @@ --- - name: Ensure required directories exist - tags: [ auth-dns ] become: true loop: [ "/etc/knot", "/etc/knot/zones" ] ansible.builtin.file: @@ -11,7 +10,6 @@ mode: u=rwx,g=rx,o= - name: Deploy knot configuration file - tags: [ auth-dns ] become: true notify: reload knot ansible.builtin.template: @@ -22,7 +20,6 @@ mode: u=rw,g=r,o= - name: Deploy configured zones - tags: [ auth-dns ] become: true notify: reload knot loop: "{{ knot__zones }}" @@ -42,7 +39,6 @@ # this results in outgoing zone transfers failing because knot will prefer to use the dynamic address over the statically configured one. # so because we are configuring a DNS Nameserver where known IP-Addresses are actually important for ACL reasons, SLAAC is disabled - name: Disable IPv6 SLAAC - tags: [ auth-dns ] become: true notify: netplan apply ansible.builtin.template: diff --git a/roles/knot/tasks/03-configure-exporter.yaml b/roles/knot/tasks/03-configure-exporter.yaml index 4254acb340..8077ecd201 100644 --- a/roles/knot/tasks/03-configure-exporter.yaml +++ b/roles/knot/tasks/03-configure-exporter.yaml @@ -1,5 +1,4 @@ - name: Deploy knot-exporter systemd unit - tags: [ auth-dns ] become: true register: knot_deploy_service_file notify: restart knot-exporter @@ -11,7 +10,6 @@ mode: u=rw,g=r,o=r - name: Ensure knot-exporter is running and enabled - tags: [ auth-dns ] become: true ansible.builtin.systemd: name: knot-exporter.service From 6bb09901a04be03371bf936686e92dc9e8913eda Mon Sep 17 00:00:00 2001 From: lilly Date: Tue, 19 May 2026 10:58:40 +0200 Subject: [PATCH 275/417] add ns.vie.ccc.de. as direct secondary for authoritative DNS zones --- inventories/chaosknoten/host_vars/auth-dns.yaml | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/inventories/chaosknoten/host_vars/auth-dns.yaml b/inventories/chaosknoten/host_vars/auth-dns.yaml index dc91e90ea9..9191e8bd02 100644 --- a/inventories/chaosknoten/host_vars/auth-dns.yaml +++ b/inventories/chaosknoten/host_vars/auth-dns.yaml @@ -7,36 +7,39 @@ knot__dnssec_key_id: "auth-dns.hamburg.ccc.de-1" knot__remotes: - id: ns-intern.hamburg.ccc.de address: [ "2a00:14b0:f000:23::53", "172.31.17.53" ] + - id: ns.vie.ccc.de + address: [ "2a02:1b8:10:31::228", "146.255.57.228" ] knot__catalog_zones: - domain: "hamburg.ccc.de.catalog." + notify_targets: [ "ns.vie.ccc.de" ] knot__zones: - domain: "hh.ccc.de." catalog_member: "hamburg.ccc.de.catalog." - notify_targets: [ "ns-intern.hamburg.ccc.de" ] + notify_targets: [ "ns-intern.hamburg.ccc.de", "ns.vie.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/hh.ccc.de.zone') }}" - domain: "ccchh.net." catalog_member: "hamburg.ccc.de.catalog." - notify_targets: [ "ns-intern.hamburg.ccc.de" ] + notify_targets: [ "ns-intern.hamburg.ccc.de", "ns.vie.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/ccchh.net.zone') }}" - domain: "hamburg.ccc.de." catalog_member: "hamburg.ccc.de.catalog." - notify_targets: [ "ns-intern.hamburg.ccc.de" ] + notify_targets: [ "ns-intern.hamburg.ccc.de", "ns.vie.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone') }}" - domain: "eh20.easterhegg.eu." catalog_member: "hamburg.ccc.de.catalog." - notify_targets: [ "ns-intern.hamburg.ccc.de" ] + notify_targets: [ "ns-intern.hamburg.ccc.de", "ns.vie.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/eh20.easterhegg.eu.zone') }}" - domain: "eh22.easterhegg.eu." catalog_member: "hamburg.ccc.de.catalog." - notify_targets: [ "ns-intern.hamburg.ccc.de" ] + notify_targets: [ "ns-intern.hamburg.ccc.de", "ns.vie.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/eh22.easterhegg.eu.zone') }}" - domain: "3.2.0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa." - notify_targets: [ "ns-intern.hamburg.ccc.de" ] + notify_targets: [ "ns-intern.hamburg.ccc.de", "ns.vie.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/3.2.0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa.zone') }}" From 3541c68357d2e8367714b414a9ac6d828670ba2b Mon Sep 17 00:00:00 2001 From: lilly Date: Tue, 19 May 2026 11:01:51 +0200 Subject: [PATCH 276/417] disable dnssec for catalog zones on auth-dns Catalog zones are not real zones in the DNS hierarchy and don't have a parent zone. Therefore they will never have a valid DNSSEC delegation so we should skip signing those zones. --- roles/knot/templates/knot.conf.j2 | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/roles/knot/templates/knot.conf.j2 b/roles/knot/templates/knot.conf.j2 index c661e25e76..45a0f8d939 100644 --- a/roles/knot/templates/knot.conf.j2 +++ b/roles/knot/templates/knot.conf.j2 @@ -67,8 +67,7 @@ template: # template for automatically created special zones - id: catalog catalog-role: generate - dnssec-signing: on - dnssec-policy: default + dnssec-signing: off # define zones on this server From 55d1279c3ead8327b4bcdc62967834add3725ed9 Mon Sep 17 00:00:00 2001 From: June Date: Tue, 19 May 2026 14:16:50 +0200 Subject: [PATCH 277/417] status(host): add check for diday.org --- .../external/status/docker_compose/config/websites.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/resources/external/status/docker_compose/config/websites.yaml b/resources/external/status/docker_compose/config/websites.yaml index 78426f6807..7ac34a202e 100644 --- a/resources/external/status/docker_compose/config/websites.yaml +++ b/resources/external/status/docker_compose/config/websites.yaml @@ -76,6 +76,14 @@ endpoints: - "[CERTIFICATE_EXPIRATION] > 48h" - "[BODY] == pat(*Digitale Selbstverteidigung in Hamburg*)" + - name: diday.org + url: "https://diday.org" + <<: *websites_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*DIDay*)" + - name: element-admin.hamburg.ccc.de url: "https://element-admin.hamburg.ccc.de" <<: *websites_defaults From dcd454011f877931c07c76af211ad9c28662a79a Mon Sep 17 00:00:00 2001 From: June Date: Tue, 19 May 2026 14:27:54 +0200 Subject: [PATCH 278/417] status(host): add checks for auth-dns --- .../config/services-chaosknoten.yaml | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/resources/external/status/docker_compose/config/services-chaosknoten.yaml b/resources/external/status/docker_compose/config/services-chaosknoten.yaml index 74991b7945..ab426bc970 100644 --- a/resources/external/status/docker_compose/config/services-chaosknoten.yaml +++ b/resources/external/status/docker_compose/config/services-chaosknoten.yaml @@ -57,6 +57,33 @@ endpoints: # apparently TXT records aren't supported yet. # - "[BODY] == ________________gatus_test_________________" + - name: auth-dns (hamburg.ccc.de) + url: "auth-dns.hamburg.ccc.de" + <<: *services_chaosknoten_defaults + dns: + query-name: "hamburg.ccc.de" + query-type: "A" + conditions: + - "[DNS_RCODE] == NOERROR" + + - name: auth-dns (eh22.easterhegg.eu) + url: "auth-dns.hamburg.ccc.de" + <<: *services_chaosknoten_defaults + dns: + query-name: "eh22.easterhegg.eu" + query-type: "A" + conditions: + - "[DNS_RCODE] == NOERROR" + + - name: auth-dns (club-assistant.ccchh.net) + url: "auth-dns.hamburg.ccc.de" + <<: *services_chaosknoten_defaults + dns: + query-name: "club-assistant.ccchh.net" + query-type: "AAAA" + conditions: + - "[DNS_RCODE] == NOERROR" + - name: CCCHH ID/Keycloak (main page/account console) url: "https://id.hamburg.ccc.de/" <<: *services_chaosknoten_defaults From 8a8ce7206d5bdb73fc84d35233abdd949be67e4c Mon Sep 17 00:00:00 2001 From: lilly Date: Tue, 19 May 2026 16:27:59 +0200 Subject: [PATCH 279/417] add infrastructure-authorized-keys to lists host --- inventories/chaosknoten/hosts.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index 9dab3235c6..c737f34036 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -249,6 +249,7 @@ infrastructure_authorized_keys_hosts: www2: www3: auth-dns: + lists: wiki_hosts: hosts: eh22-wiki: From a93d22fb053ea90e4e81ee8aff84a0ded19f40e5 Mon Sep 17 00:00:00 2001 From: June Date: Mon, 18 May 2026 21:15:45 +0200 Subject: [PATCH 280/417] add configuration for infra-docs and infra-docs staging --- resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone | 2 ++ .../chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf | 2 ++ resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf | 2 ++ 3 files changed, 6 insertions(+) diff --git a/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone b/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone index a9c4851ffe..8c30fb4f2b 100644 --- a/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone +++ b/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone @@ -287,6 +287,8 @@ spaceapiccc IN CNAME public-reverse-proxy acmedns IN CNAME public-reverse-proxy cpuccc IN CNAME public-reverse-proxy did IN CNAME public-reverse-proxy +infra-docs IN CNAME public-reverse-proxy +staging.infra-docs IN CNAME public-reverse-proxy auth.acmedns IN NS acmedns.hosts.hamburg.ccc.de. diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf index e8b8c8e50d..304072b0ea 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf @@ -85,6 +85,8 @@ map $host $upstream_acme_challenge_host { diday.org public-web-static.hosts.hamburg.ccc.de:31820; docs.c3voc.de public-web-static.hosts.hamburg.ccc.de:31820; staging.docs.c3voc.de public-web-static.hosts.hamburg.ccc.de:31820; + infra-docs.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; + staging.infra-docs.hamburg.ccc.de public-web-static.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 0a004c9ee4..5e89aa95e9 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf @@ -108,6 +108,8 @@ stream { *.staging.diday.org public-web-static.hosts.hamburg.ccc.de:8443; docs.c3voc.de public-web-static.hosts.hamburg.ccc.de:8443; staging.docs.c3voc.de public-web-static.hosts.hamburg.ccc.de:8443; + infra-docs.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + staging.infra-docs.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; } server { From 31cc60c648546e1e97a892d9e20c24b0a3694288 Mon Sep 17 00:00:00 2001 From: June Date: Mon, 18 May 2026 23:09:43 +0200 Subject: [PATCH 281/417] docs: add mkdocs config and CI for building infra-docs website Heavily inspired by: https://forgejo.c3voc.de/voc/av-docs --- .forgejo/workflows/cleanup-docs.yaml | 24 +++++++++ .forgejo/workflows/deploy-docs.yaml | 75 ++++++++++++++++++++++++++++ docs_requirements.txt | 2 + mkdocs.yml | 19 +++++++ 4 files changed, 120 insertions(+) create mode 100644 .forgejo/workflows/cleanup-docs.yaml create mode 100644 .forgejo/workflows/deploy-docs.yaml create mode 100644 docs_requirements.txt create mode 100644 mkdocs.yml diff --git a/.forgejo/workflows/cleanup-docs.yaml b/.forgejo/workflows/cleanup-docs.yaml new file mode 100644 index 0000000000..df56258885 --- /dev/null +++ b/.forgejo/workflows/cleanup-docs.yaml @@ -0,0 +1,24 @@ +on: + pull_request: + types: + - closed + +jobs: + cleanup-staging: + runs-on: docker + container: + image: code.forgejo.org/oci/node:22-bookworm + steps: + - name: Pipeline info PR + run: | + echo "Run triggered by ${{ github.event_name }} (${{ github.event.action }}) on ref ${{ github.ref_name }}" + + - name: Staging Deployment - Prepare keys + run: | + echo "${{ secrets.SSH_DEPLOY_KEY }}" > deploykey.priv + chmod 400 deploykey.priv + echo "${{ vars.SSH_KNOWN_HOSTS }}" > ./known_hosts + + - name: Staging Deployment - Remove PR from staging + run: | + ssh -i deploykey.priv -o 'UserKnownHostsFile ./known_hosts' infra-docs-deploy@public-web-static.hosts.hamburg.ccc.de -t "rm -r /var/www/staging.infra-docs.hamburg.ccc.de/pr${{ github.event.pull_request.number }}/" diff --git a/.forgejo/workflows/deploy-docs.yaml b/.forgejo/workflows/deploy-docs.yaml new file mode 100644 index 0000000000..537d983af2 --- /dev/null +++ b/.forgejo/workflows/deploy-docs.yaml @@ -0,0 +1,75 @@ +on: + push: + branches: + - main + pull_request: + +env: + TZ: Europe/Berlin + +jobs: + build: + runs-on: docker + container: + image: docker.io/library/python:3.14-trixie + steps: + - name: Pipeline info + run: | + echo "Run triggered by ${{ github.event_name }} (${{ github.event.action }}) on ref ${{ github.ref_name }}" + + - name: Install packages + run: | + apt update + apt -y install nodejs git rsync openssh-client + pip install --upgrade pip + + - uses: actions/checkout@v6 + + - name: Install Python packages + run: | + pip install -r docs_requirements.txt + + - name: Build website - prod + if: github.event_name != 'pull_request' + run: | + mkdocs build + + - name: Build website - staging + if: github.event_name == 'pull_request' + run: | + sed -i "s#site_url: https://infra-docs.hamburg.ccc.de#site_url: https://staging.infra-docs.hamburg.ccc.de/pr${{ github.event.pull_request.number }}/#" mkdocs.yml + mkdocs build + + - name: Deploy - Prepare keys + run: | + echo "${{ secrets.SSH_DEPLOY_KEY }}" > deploykey.priv + chmod 400 deploykey.priv + echo "${{ vars.SSH_KNOWN_HOSTS }}" > ./known_hosts + + - name: Deploy - Upload PR to staging + if: github.event_name == 'pull_request' + run: | + echo "Deploying to staging.infra-docs.hamburg.ccc.de/pr${{ github.event.pull_request.number }}" + rsync -v -r --delete -e "ssh -i deploykey.priv -o 'UserKnownHostsFile ./known_hosts'" site/ infra-docs-deploy@public-web-static.hosts.hamburg.ccc.de:/var/www/staging.infra-docs.hamburg.ccc.de/pr${{ github.event.pull_request.number }}/ + + - name: Deploy - Add comment to PR with staging URL + if: github.event_name == 'pull_request' && github.event.action == 'opened' + run: | + curl \ + -X POST \ + ${{ github.event.pull_request.base.repo.url }}/issues/${{ github.event.pull_request.number }}/comments \ + -H "Content-Type: application/json" \ + -H "Authorization: token $FORGEJO_TOKEN" \ + --data '{ "body": "You can view your changes at https://staging.infra-docs.hamburg.ccc.de/pr${{ github.event.pull_request.number }}/" }' + + - name: Deploy - Upload to prod + if: github.event_name != 'pull_request' + run: | + rsync -v -r --delete -e "ssh -i deploykey.priv -o 'UserKnownHostsFile ./known_hosts'" site/ infra-docs-deploy@public-web-static.hosts.hamburg.ccc.de:/var/www/infra-docs.hamburg.ccc.de/ + + - uses: actions/upload-artifact@v3 + if: github.event_name == 'pull_request' + with: + name: docs-build + path: site/ + retention-days: 3 diff --git a/docs_requirements.txt b/docs_requirements.txt new file mode 100644 index 0000000000..f6167f13e2 --- /dev/null +++ b/docs_requirements.txt @@ -0,0 +1,2 @@ +mkdocs +mkdocs-shadcn diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000000..c258e2e793 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,19 @@ +site_name: CCCHH Infrastructure Documentation +site_url: https://infra-docs.hamburg.ccc.de +repo_url: https://git.hamburg.ccc.de/CCCHH/ansible-infra +copyright: MIT +markdown_extensions: + - smarty + - admonition + - attr_list + +theme: + name: shadcn + show_title: true + show_stargazers: false + pygments_style: + light: shadcn-light + dark: github-dark + icon: oui:documentation + topbar_sections: false + show_datetime: false From abcc14471139a061d41ad6dcf8e4d3a6acf0ca9e Mon Sep 17 00:00:00 2001 From: June Date: Mon, 18 May 2026 21:53:38 +0200 Subject: [PATCH 282/417] docs: add index page --- docs/index.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 docs/index.md diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000000..e390c5e08a --- /dev/null +++ b/docs/index.md @@ -0,0 +1,3 @@ +# CCCHH Infrastructure Documentation + +Home for CCCHH infrastructure documentation. From 197b9c297c84cdd57d262a307d5ce058b515498e Mon Sep 17 00:00:00 2001 From: June Date: Tue, 19 May 2026 01:11:34 +0200 Subject: [PATCH 283/417] docs: fix code blocks overflowing and add syntax highlighting Without these options code blocks would overflow. See: https://github.com/asiffer/mkdocs-shadcn/issues/57 And it also provides nice syntax highlighting. --- docs_requirements.txt | 1 + mkdocs.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/docs_requirements.txt b/docs_requirements.txt index f6167f13e2..ddabb05a04 100644 --- a/docs_requirements.txt +++ b/docs_requirements.txt @@ -1,2 +1,3 @@ mkdocs mkdocs-shadcn +pygments diff --git a/mkdocs.yml b/mkdocs.yml index c258e2e793..5a8af7b808 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -6,6 +6,7 @@ markdown_extensions: - smarty - admonition - attr_list + - codehilite theme: name: shadcn From fc47d119bba36857ffb0912787516118ae4f30e9 Mon Sep 17 00:00:00 2001 From: June Date: Tue, 19 May 2026 19:24:06 +0200 Subject: [PATCH 284/417] docs: move guides into sub-directory Also start documenting the docs structure in home. --- docs/{ => guides}/create-new-web-service-vm.md | 0 .../setting_up_secrets_using_sops_for_a_new_host.md | 0 docs/index.md | 2 ++ 3 files changed, 2 insertions(+) rename docs/{ => guides}/create-new-web-service-vm.md (100%) rename docs/{ => guides}/setting_up_secrets_using_sops_for_a_new_host.md (100%) diff --git a/docs/create-new-web-service-vm.md b/docs/guides/create-new-web-service-vm.md similarity index 100% rename from docs/create-new-web-service-vm.md rename to docs/guides/create-new-web-service-vm.md diff --git a/docs/setting_up_secrets_using_sops_for_a_new_host.md b/docs/guides/setting_up_secrets_using_sops_for_a_new_host.md similarity index 100% rename from docs/setting_up_secrets_using_sops_for_a_new_host.md rename to docs/guides/setting_up_secrets_using_sops_for_a_new_host.md diff --git a/docs/index.md b/docs/index.md index e390c5e08a..9c1e48eced 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,3 +1,5 @@ # CCCHH Infrastructure Documentation Home for CCCHH infrastructure documentation. + +- **Guides**: Documentation on how to achieve various things. From 8428d5a66b22ef428e7ade8cc07380430dd883ac Mon Sep 17 00:00:00 2001 From: June Date: Tue, 19 May 2026 23:49:06 +0200 Subject: [PATCH 285/417] docs: use pymdownx.superfences to make codeblocks in lists work properly --- mkdocs.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mkdocs.yml b/mkdocs.yml index 5a8af7b808..f5c2358be9 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -7,6 +7,8 @@ markdown_extensions: - admonition - attr_list - codehilite + - pymdownx.superfences: + css_class: codehilite theme: name: shadcn From 0c83fcc2b21dea59d1d4b8c745e54db00eeb506e Mon Sep 17 00:00:00 2001 From: June Date: Wed, 20 May 2026 04:09:28 +0200 Subject: [PATCH 286/417] sops: darios key expired, so remove for now --- .sops.yaml | 2 +- .../chaosknoten/group_vars/all.sops.yaml | 480 +++++++++--------- .../chaosknoten/host_vars/acmedns.sops.yaml | 260 +++++----- .../chaosknoten/host_vars/auth-dns.sops.yaml | 260 +++++----- .../chaosknoten/host_vars/ccchoir.sops.yaml | 260 +++++----- .../chaosknoten/host_vars/cloud.sops.yaml | 260 +++++----- .../host_vars/diday-staging-runner.sops.yaml | 260 +++++----- .../chaosknoten/host_vars/eh22-wiki.sops.yaml | 260 +++++----- .../chaosknoten/host_vars/grafana.sops.yaml | 260 +++++----- .../chaosknoten/host_vars/keycloak.sops.yaml | 260 +++++----- .../chaosknoten/host_vars/lists.sops.yaml | 260 +++++----- .../chaosknoten/host_vars/mjolnir.sops.yaml | 260 +++++----- .../chaosknoten/host_vars/mumble.sops.yaml | 260 +++++----- .../chaosknoten/host_vars/netbox.sops.yaml | 260 +++++----- .../chaosknoten/host_vars/ntfy.sops.yaml | 260 +++++----- .../host_vars/onlyoffice.sops.yaml | 260 +++++----- .../chaosknoten/host_vars/pad.sops.yaml | 260 +++++----- .../chaosknoten/host_vars/pretalx.sops.yaml | 260 +++++----- .../host_vars/public-reverse-proxy.sops.yaml | 260 +++++----- .../chaosknoten/host_vars/renovate.sops.yaml | 260 +++++----- .../host_vars/spaceapiccc.sops.yaml | 260 +++++----- .../chaosknoten/host_vars/sunders.sops.yaml | 260 +++++----- .../chaosknoten/host_vars/tickets.sops.yaml | 260 +++++----- .../chaosknoten/host_vars/wiki.sops.yaml | 260 +++++----- .../chaosknoten/host_vars/zammad.sops.yaml | 260 +++++----- inventories/external/group_vars/all.sops.yaml | 260 +++++----- .../external/host_vars/status.sops.yaml | 260 +++++----- inventories/z9/group_vars/all.sops.yaml | 290 +++++------ inventories/z9/host_vars/dooris.sops.yaml | 260 +++++----- inventories/z9/host_vars/light.sops.yaml | 260 +++++----- .../z9/host_vars/waybackproxy.sops.yaml | 260 +++++----- inventories/z9/host_vars/yate.sops.yaml | 260 +++++----- 32 files changed, 3846 insertions(+), 4466 deletions(-) diff --git a/.sops.yaml b/.sops.yaml index f668a4a2e9..b517a43bfb 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -7,7 +7,7 @@ keys: - &admin_gpg_fi 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - &admin_gpg_june 057870A2C72CD82566A3EC983695F4FCBCAE4912 - &admin_gpg_haegar F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - &admin_gpg_dario 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD + # - &admin_gpg_dario 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD # expired - &admin_gpg_echtnurich 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - &admin_gpg_c6ristian B71138A6A8964A3C3B8899857B4F70C356765BAB - &admin_gpg_lilly D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD diff --git a/inventories/chaosknoten/group_vars/all.sops.yaml b/inventories/chaosknoten/group_vars/all.sops.yaml index 482de3a87c..5b3f4dd9f4 100644 --- a/inventories/chaosknoten/group_vars/all.sops.yaml +++ b/inventories/chaosknoten/group_vars/all.sops.yaml @@ -5,401 +5,381 @@ sops: - recipient: age1ss82zwqkj438re78355p886r89csqrrfmkfp8lrrf8v23nza492qza4ey3 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA1MEM5UjJTdEJpamc3NGxV - MHdsOGFVUlQzRCtVMnJCVnkrRGRET2FZZFhNCk5pdWpBRUZWdndraFNialdJNEcv - T1J4NjFzT3F3cUcyWU9GNlFlSlR3WU0KLS0tIEJqZHhsQ3FGcHJmT2NwRFArTWNT - QllFcmhFRWNHMW9wU3ZOaUM4bm44UmMKxpl5t6H6mUz784WD01MwLbqbVRnI6MGE - dzAftZGjZOQUgO2DWMyHJJR0kbmp0XP68AipBdfnh1DCBGZdmT6RhQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0SHFlOFVSbisycXk3em1N + V3RvaXNNOFIvdDJobk9kSVBmOG0ycCs1T1E0ClZ1NnVGK3VNNVplQkxjVUw2dUxu + SXU1RjNLTE5mZm5yUVBDa0NTTkVhck0KLS0tICtpTDNmeFhWazk1U0FQd21wM1FZ + RkdwVXBSK2xySW5qMDg3TzhVeG1Rd0UKXfj3aSYJWBn7EhsUgHnreeARsjWfjs6T + 79kvBkQ+Ovn9zvUZZ23I72rtEjab3Wt9gK2FdmEWVkHYS0ZvA8ymbw== -----END AGE ENCRYPTED FILE----- - recipient: age1gdfhx5hy829uqkw4nwjwlpvl7zqvljguzsnjv0dpwz5q5u7dtf6s90wndt enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaOTViNi9tcGN2WERKM29J - R0NaeTdYRXVvZmo3eFlDRHgxbEpFWlUyekVJCi9zcmkyekxUeXhUWlM0eHhHZXpE - eDJiZjJJZjdITTFITlJhQVNoNm5ZV3MKLS0tIFA1OVU2UkFJV1kwN2dobXRZRzNY - REUrelZJN3RWRzdaVUVQTy9iL3cwSXcK4cDs3CPbh/7wNok6q421Qt/A8XaYdWuj - C6O16WbA7/OqMuPsEdzpvUMCXA7t8ibX0XuifOf5Ddfc2N8J2MpvEg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA5dTdXN0xPaWliOGVqS2NU + aCt3OWl3K2FXcTlYU3NDOXhGc2paRmZnMmtJClN3L0JJRXZDeWloaGJqRURWU3ZT + Sk54TGZHdFF6OUkrTVU4RDF5dXpIeTgKLS0tIGM1Z21TZW96TjA0Mm1WUGZoZnpF + WVBJaTUyQWpyY2ZZeHM2VXhMZ0VvSmMKTfmZnaNx7jz320cco7HThAsOPsnQOtCZ + MbVNfu7iltvgQDhoYwhSrnHlqFV4ogeacT2KXS5mO2M7xZK7N/IegA== -----END AGE ENCRYPTED FILE----- - recipient: age13nm6hfz66ce4wpn89fye05mag3l3h04etvz6wj7szm3vzrdlfupqhrp3fa enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQSUt6RGloTE9WWjNLNG1V - Zks1eEpvTE8reERpRkR1ZGhIZUhqTnhaRVNRClNQd1RDVzR2cmIzUVNHYmgwRlFi - Y01temJrY1paTE01OUtWZGQrb016TUkKLS0tIEdCb2s4cE5FZ3hkbFJpSy9ZNThn - b2xuSUFhOU0zSHdBQVNCSUFwclFTNmMKqzaCRypoN6qZV6Z2wxazS5pdAZxNOG4r - dGjlX7prmYT3AeoM6Ez3QA6i6talIwV/XPUTA2BNBSya70P1rXy3WA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAySnZSb1UvOFJGZzFCWmZl + MzgwWGxTOTlIM1lJVjBRRmpXc1YwUHQwcmtNCmRFSTVFUGFJQ2dSS29jNWJ5QWlP + RTIzcGpCWmEzVUc4dUZRVy9uSEtBQlUKLS0tIGUzQm5GZ2EwZDY0NEoxME1ZTTll + Nks2Mzk0M0pCZWZ6ME02dWovSktMMWcKgHTs5kzaIpuobI6KbjzWB9W2VOh50mB1 + Y+Z99tY96p47nRKOrYCNxkPMytxZEPZYg2hkz8gXH4UKC2eHJj6+Dw== -----END AGE ENCRYPTED FILE----- - recipient: age1jtusr294t8mzar2qy857v6s329ret9s353y4kuulxwnlyy4dvpjsvyl67m enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZVGZkZ0V6S0xBSzNiRnk5 - ZjJheWNyTDFZbTlYbFJROVpNSi8xcTgrRkZjCkhWQW5KSnFZRTNYUTV0blR0NU5J - NlpLQU43akVxZ2VwYnA2THBOeWhVcXcKLS0tIFAvcXMxaVpiL1cvN0I5akE1UytU - NVpZRVFHTmFJUTZqVkN3NUJMUjJGNVkKSkvfZL0AuhQ7g43clsafTBMcPTmfaxc7 - ugimVl7J9W94FGc1JWpiNLKPElJrmBwfzWK+ymsSvqMnZsha2L0tRw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxRmpQTVVqTDNTYnZRYW0z + Q0VWcitOR2VYc3QzbUdvbVQvamptaDh4Q1dvCkhkMWNoL1JPcVozVWE3VTBtU0R1 + L1JwdTd5WXNEam1KeXFBSUVaeFUyTVEKLS0tIFNmWkx5ZWVtUGxMcGl2dWNWSnpy + WWhVSzIxblJsNHZRZ2JseFUvNmxLclUKh8akajMIkvAdYhwG9AAIB4br8EKJvVng + Nc4E/bUm5t6xxw7SVfxJ3HXWHYT6O5zC2sOspGi39oodgUKtQdwiGw== -----END AGE ENCRYPTED FILE----- - recipient: age1a27euccw8j23wec76ls8vmzp7mntfcn4v8tkyegmg8alzfhk3suqwm6vgv enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQOXZaWGZUaUZObXlzbUhj - MEVxQ2pXWUhzdEdMVUpvMThSQWVDVjFZNVVNCmhlM1ZxNmhEaFdwclU4dFRXaWo5 - MkswbGNJVEs1bFN1RGxYVy9BSE1qbFkKLS0tIGUwYnFVbW5ZQnlxTkVJSDlTVlZt - d3NlbEpxTUw3UzRQUFNMMmVFY0NxSW8KeGHRbJpeM983lZ+dydLCh6m1KAu+GBjv - +WvXCS8zwNJAlWYrerEc9dyMdm8ziqWFWf+vdExvWw8W3V9AXunCrg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTejVEYlEwZE10OGt2TTFn + cDdVV2VXeGpIclhCMCswTGY5UHlld09RSmdvCkYvdzJJTGVYYjZSS0xtWk05MWtr + ai9tQzhJTE92d1NzQ3hpZEY2Z0xzTUkKLS0tIDhSbnR5UzJjNjN2SXlWUlJubU9a + bEVNK3Y1c29DVXBCRGQ2Y1dOejZ1WUEKh9ehZCtmNeErAPbfFdjkE2Bs5Y+CuLtL + bgoUrGv8rBt+rmtgRLSBAj3frYRsR7kA5TsYtcVF3CBGqsZuCn/8/Q== -----END AGE ENCRYPTED FILE----- - recipient: age133wy6sxhgx3kkwxecra6xf9ey2uhnvtjpgwawwfmpvz0jpd0s5dqe385u3 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYa1laTUZLMExaYVdWcGpF - RGVaTXJoWno5UkxPaytRZHBoWEhzMnB2ZFdRCncxT1ByQ09oNmoxVFh6UTFrVVRq - allLSXF3cVpjVGp0VE9QOExyVEhPL1UKLS0tIGx1SkJrU3NhVUFLdW5UY0U0UmhQ - WjUvTzE3T0hzSytuVmlaZDVlV2VjTUUKbpqnjckJ5IhUDA5JDCtPn9R5bbtoj529 - A5LgDR7jQxncYugKgS8NEn3W9jn+qir0QCfA3/SCQXoCIphgMqCG2w== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2dytYNExPdFFVWmF6Y3RP + VnpySExpMURISnVhYWFtR3Y0bksxN0JLOTIwCm1JU3JiNldCZW40b3J6cGsxd2g0 + c1RMVG1Mb0FURlN5QXZzL3ZMK3JlVUUKLS0tIDVaV2IwcUQyTlBENnZWeC9BMkpH + eDZ5aFFHZWd6VnNGSkgrcjR6Q2hxTXcKush+dylamXtpu6XB3nLjXYW2KbOymCWj + C4uK7OTmOyNXobQh5k2S120J581BihmQpef5LMhxM835VNEFoQ0G2w== -----END AGE ENCRYPTED FILE----- - recipient: age1na0nh9ndnr9cxpnlvstrxskr4fxf4spnkw48ufl7m43f98y40y7shhnvgd enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxTjMrc0ExT1dLNGpaZzdq - UGhSTlk1UTVrUWtmRzJNY1JVN21vOVh4OUVJCmJWU0xhb2NiZG93RG4xUEFManYw - RTgrSjZ0bTdzaXpENS9VbWlLV1R5dzgKLS0tIDhMOERucG1mSTFaL2Z4THkybEI5 - L1ZSZlJwTU1VZWpOM3E3K3JpeUMyWlkKEO6owT1gMaOQrbIy7xPZxSG1KwD+m5Rj - NYZEKIS79ULKHbMx5hW8Lz9KWOFtMxBt6WlIOgE+CUu+FJSt44EgTw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0TWg5UHp2cHIzeDZtOE5j + bGg1MzFxQjhnTUdFc21kbVJxa2JYOTA3MUVNCndDUXM2NHRqOHFWN0VzdVdUYzhX + ZFZEelRVbm52UmZYa1BMeE1qU3RnL28KLS0tIHlNd0VNblFBQ0ZlbUtxM3dXbGJr + TUFTZ2hTbnU4RUlHU0Z6bzZqK3hIdlkKpxlcZipq7aBCHc9DDqCmOFlER+ed+LY5 + LBBSsL6ReDgJDFOVx2XGEuMO3mRP1vSOXnro/pa6oP+qodW8fJjCPg== -----END AGE ENCRYPTED FILE----- - recipient: age1sqs05anv4acculyap35e6vehdxw3g6ycwnvh6hsuv8u33re984zsnqfvqv enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHM3NJS0IrUjJ6dmVFYlVR - TFRvTkFpYVpoaUFkZTc4VjN1UXkyTjRpYXpRCmh5SUJZVEZMUjRkRVFGcWJDZTNo - YU5pbmV3Z3lML0x3dUp2cmw4REFVMlUKLS0tIER2cVhQOTlMME9LNmpIYnI4cmlt - eDAySGZEK3NvOXY3OGxoU3BTdER4MHcKSKUdU4cBePruQl7gksmrmc+gSPxKUixO - 1F0sJo5kXOxI3F78XBS1Xt0LwC+Tbd4w0jfdevNaC6MaRv/KdsX7Pw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA3eHNmWThRcFA2VE9qYnkr + YkdDU21palBseEZOUCtmNkZKZE1ncEdtc0FrCnBWMXBKRHhBUitMZGt3c3FIeWFS + ZVJMNXdpUTJsTG0wd09lLzJDV25pOGMKLS0tIHlib0YrU0xKRUJHN1dZRVJDN1Zk + QVhDS0ZrU1A4NUFIekphZjFvT21TNlUKviQt+DZlmp5ZFxdlkmdlfqW2+BTotYJU + j/St6J3Ibt0nnflz+oiRunndHsaeZG6xBY3ueRThcjlInF2ycYsJoQ== -----END AGE ENCRYPTED FILE----- - recipient: age18qam683rva3ee3wgue7r0ey4ws4jttz4a4dpe3q8kq8lmrp97ezq2cns8d enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3cFQzK1A4UHNmNE5YOFNw - RkhMYmo4bG5BY2hPcVlNMm5sTkNpQXJqNlU4CnFBL3p0a002K1M0cmtZR0tJb2lU - c2xGMG9JTmZYclNocUFIc3ZyUEdPYzAKLS0tIEFtU0E3bUFxaUk5VmQrSFBUSkhH - K0lHMDArMHJ5OGFvbWlqMmZUMkROLzQK6zk6z19K2r7LriD4qsvBEuof75aHB38V - HKNmlY4GuZZhrRXt/itNbXrW3oIKJBFgsC0ejv2ybVRqC6gXCcjqyQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBJRWlVS0o2ZC9sOGd3S1JI + RWdPZ21Hd016WlE1QjBONlVLTUMxWFA5dERNCjBtYXVMajBDSnhMbUlFY0ZQQ0dr + YitraTV5ZUlDbS9XMWxKSUQ5QXFpU1UKLS0tIEk1Z05NUDB3enVvNDdNRkpnU1Q3 + R1RnWWFaSmRtdDFVVW9jaGZUdUFQWFEKCE1osno869cTyuxQhQC3TjIfo5becoQk + ItN0+DrfbJtIs51+gu9sv92TFOWgdnvkCI0M6wzYnYCT6hH7ibwfrw== -----END AGE ENCRYPTED FILE----- - recipient: age19rg2cuj9smv8nzxmr03azfqe69edhep53dep6kvh83paf08zv58sntm0fg enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAyRWhvMVpQNlVWS08rK2FW - VFFlMzB6NWU2TjlSWDVYNW80UUNtdGZRS3lFCmg0dWREejZIVmdDV1p3QWJTR2pZ - M1JzNFlKOTcybk5MRmtHalQvRTZRSlkKLS0tIDhTangvbkJmUnpweXZLcGE2eEk0 - S2xpaXVySWRWRzFOSEw4bU5PVmxQZ0UKRxqXH/Ye/MTS7DviOf/5SeOKH+QIC5zW - ZMgnwSkO+cgdpecOQKcy3UlrjKuKsll9Kf1JyUV203IBP9LIDgweqA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA3OEtZYSthRmZVbFY1dGx1 + TFVTRGh4QTVUZU1VVWRpU0FXMlVyQUhTWlhNCmZRdjc0ZGRGdFJCYk9weXJjSU5P + WE1GbWprT3RHeE5KbzNMNk1lYVdaVEEKLS0tIHJ3ZWdzbEVrNWJFZUIwSUplQUFm + WmpuWC9QWjdmUkxzSmhMa2R0K3ZYZ00Kl25L6Ya5bV4mPgq/OPxYq/D2xqszFVr9 + FkdgDr1VfbvU5wdA0QjIo+gVaJI7EazUcy2UJerS+uvL0dIn+RwsWg== -----END AGE ENCRYPTED FILE----- - recipient: age16znyzvquuy8467gg27mdwdt8k6kcu3fjrvfm6gnl4nmqp8tuvqaspqgcet enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSd1ZmMTJLVHZCUysyUmxT - eGJleXlvd3VjeGtNODM3WTJ1N3VzN1BxSkRZCnpXRDBjMytoWG1mMWtVZVhUTE50 - RC8yK1NJUDEyeUptS1lFUTVHRllVTWMKLS0tIE9mNG4yVXd3SlNWbTMwYmZQM0U0 - Ym1zWjBmM2pJS3BuZGgxZWI1YlJPVTQKdRZOyOv5OI6Cx327jHr+7/Oo5RXTjWZK - Ysq6GkZ6EmZjYtkTkRGwygrGBB1qi8KYFFkbeDu5jvAH7Dpcm4DhZA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYTlVXVlo2Ui9ISTY5dnNS + UFNzZGVueXA3dXkyb0NFNzlEVTcvM0Iwd2xzCkhsRGxRU3NBNURBR2FGay9wMlk3 + M3ZBTzlRNlRCVTFQNGZndEJFeDZzZUUKLS0tIDVGcWJWSUlnV3dSWkdzMjdZQkJs + dTNYQlJiNmwrbGdNNlRxZnBKcGNJV2sKBw6OlaoIcb9hoJQY6i5tI2ln9ug8KySE + 4jvaInODSz1eLaF/W+wxgiDxqgiB7cgeBxeCQiqNe8ZZz/7Mxhg6qQ== -----END AGE ENCRYPTED FILE----- - recipient: age1azkgwrcwqhc6flj7gturptpl2uvay6pd94cam4t6yuk2n4wlnsqsj38hca enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBUVzF2dXhGbVVOd285ZEZs - T1pFYVZCeWEvNndDdEpJYUIxYmZ0bUkxa0UwCkxLelVaQjZBbUJ3UVdxVUdVVC9B - WE9DRUY2MXRBUE9jQ1YrUHRXRjdIVG8KLS0tIGhXVnpVUldSVEJXWHRxazFuUTR3 - V3BSZUNET1hKMnozcldKa2V0MEdGdE0KwOHKLQLnMXjn10K61ugzms9XirG40JXU - J4s94r3/ZG4xwwWGYPn8f+dExTz8wwuclXtHg1sYCgWobM+yUjXAmw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBhbXVyZjBsdlNOZS95ZkhN + VDZZQkxybTh5NGR2ZzI4VytMeTlseG5pdlhrCmdsdWY2cnZpa0xJaklvK3Z1bWRN + OWhCaHMyT1dLNmo0blBiU1g1Slpoa0EKLS0tIG42QUZuZFNVS1E2REV1UGVvRjI3 + WnplM2ZKVkVlZ1FIYStzYnl6T0xtcWcKiUfgJWlz6dwyFg0ln5a9MwZuQwwHv9f/ + AV4QcSWXR0rh8oV4PWw+EYYmtmX7GICNVjqruHmokU83xpcqu1g40Q== -----END AGE ENCRYPTED FILE----- - recipient: age17x20h3m6wgfhereusc224u95ac8aj68fzlkkj5ptvs9c5vlz3usqdu7crq enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCalUxVVc5R1hLUS84YkRB - U1psWFBEVEU1VWlodk5pQnptcEJMeE5HR1FnCk1lU05JUkhEenkxWmxqRzh0NDdk - V2hERUxyUXRVbUc1V0lNMlZOTENSeDAKLS0tIGZLVzRTc0h0dEJsU3VuK3JhL1c3 - SVZRajBBMlpVQkxDT01ZZVpnOXJSVEkKfTx3/lg5iRx/vO2QA8KqX+sukU5HsgTF - mqmGJEm9lFaDWJ8dVipNd9pNm3J+Srv2CEnPpOTWduG5JuyZ/CcboQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0VGFBSTk1blRwM0g0Vnhp + ZnNKOXJ4V2MzRllqL1NNV2VSK3JsZHFTMlhzClpHYXVqa0ZmSGFVWVpjSitmT0pn + K0txWHpPcDVKNGNTZjR6bEowSWo3Q1UKLS0tICs4dEZQeGhIUFYvRHZlU3pQTmdB + a05lTEZ6My9jM28xdUVTOTdqSkRHMEEKjdhHDpQl8hkRiHheD9sxDZHnIeJmCjXU + GBpbbTjAoVcJDyK9YH43/jNr5rT4mxTogArNtk+cvUlV1Ryy+PED4w== -----END AGE ENCRYPTED FILE----- - recipient: age1wnympe3x8ce8hk87cymmt6wvccs4aes5rhhs44hq0s529v5z4g5sfyphwx enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB5WktEQ3lvbHFzTDlYdTBD - NjVhVjVOMTlkWEdjVldxYWxSaFhTditBUm1zCmE5Qk11ejRPNFlLMkpjUlJHNVBT - K0NoWlBMSHc1VlRaakk0WmRpd0NZQ3cKLS0tIFIxK1p2YlY4SkNkYVJjQmdGUWly - QTlmTFlZdzI0LzBqTG1sZkh3U3V3a0EKxZIc6i3mMSgYs9FNmZ9cVBaeYeq04vUe - IjhnwSc02E3hWtFt9qqhhZ77th+HFYtFq22RnQEt69djrjji19R5PA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBscjRHQ3lGaDJBOGxGTHIz + U2JmcjhyOVF3cEFCWXFFMU5Nc0hUU3pSWENRCm9vWXM4Rm9iSFZiTTNjeW1aNE5K + RjVoYUE2S3M3d0orVjFIcWhrVVgyUzgKLS0tIFpWeXNMWXg5Z2FTSkVDYytvdStU + MVNCQzVBSGIyUjAwL2NYK0ZSdE9kS0kK8Mo29wZlV/t1hixFL95NSyCvHfB1nUk3 + m/z5yh8CFwozb7ovd6MkAlqXB3bYAmMOiL+TPlvtqKkzcuQ6DRmjeg== -----END AGE ENCRYPTED FILE----- - recipient: age172pk7lyc6p4ewy0f2h6pau5d5sz6z8cq66hm4u4tpzx3an496a2sljx7x5 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBSlhvWWRiM2k0YXY2Qnhq - SUU4TzJ0WGRlTGpaZkNiTDNoZThkR1k4aXk4CjZvZ3FJM0k4cGVzemQyVjVScGs3 - S1hZeWdFS1lKci80QU5ySUkwRDJTejAKLS0tIDI5VEZsT08zOWszcU9OZkJpMnYz - MDlaNlg5eEd5a0R4SUtRVloyOHBzVDgKQA7hnBQ5rbWX8Leo5IMF4R13gEoH3zDQ - gpQZw0N1GHmb0+OimEbK0Vkx0kc+/8MDYk0EDhN/dbIOyrR3Ms8InA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1Q3pRZWVSZUF0cmJDUVJj + bmY5T3RhSmMvVGpoRlBOU21jWDZ5elI3ZVFNCkVUWXQ1b0dlT2JLK0diZUZpU2VJ + RExZQkpBa2t4aUxiMndpeStCUmlQalUKLS0tIGtEM25qenNSbmpGMlEzc0xvSW1t + ejh5dmtBZ0tsL0lIMzhmcjg4TmozL1EKRKzgHd2n9OqFd9AYsjvu4mk2IOOgFeF3 + x1toWH7frbK9/wyQ+jDJsWIthsvvGxOrU/bmiWYsFraEey3+8fJ3dA== -----END AGE ENCRYPTED FILE----- - recipient: age1p7pxgq5kwcpdkhkh3qq4pvnltrdk4gwf60hdhv8ka0mdxmgnjepqyleyen enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBVUjhKVTU5Z2RIWXFwS2hV - UDZubXp2c21uaEw4b3U3am84YWlDZ1J3cTFrCmwwb0QvazRPNm9MZURjWHBDVkJl - cElXeTJPVC9ZNURTMUx5RE8zZHMwOVUKLS0tIGZPVkNqVHIvbERqYUpSRDJGaUdm - bit3QS9DNTdRbVU0Q1NOUmxDVHFYVGMKWcQe0q71BY9dzpxZ/C3un7nsWBU5wuNN - pZVxp7SU9nZnz2L2VjQVJ7s/kLLVJsPCPglPIq9dvzsQgZJrHrfEng== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBpM1lUbGhIWmRIRnlJbEJa + NDRpN0QrQ0IrYSs5RG4zWGMzZUhoSjFqRW1rCmtNS3Z6N1d0WmNKM3VvSms1Qk5M + cTRjTFJnREVzUSsyN0N2K3NpMWFTTEUKLS0tIEhBZGphNVhuTkZVenhZcm9kejU3 + bXdLWUV6elhUcWo1dTZOODB4Wm0yQ1kK0K3NSYoxjIdHt8mkfZ6/phTc+yDEbjOd + +23I/LtmUeGLDYbFMnUVrs6IHdt0Wf6XiHihFeAYBzJ+MZJiBGA/pg== -----END AGE ENCRYPTED FILE----- - recipient: age1sv7uhpnk9d3u3je9zzvlux0kd83f627aclpamnz2h3ksg599838qjgrvqs enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBOaVY1T3FBSWRGOHE0cHRl - K3VrdUduZk94cFYySm5wZGhucHNqd3d4UWwwCjJPT1RxMW9yOHArMVJPMWdaQ1hx - clJ6UjBuRUtnWkFhQm00eXZISnhsSlkKLS0tIGYrY24yTkQ1QldlMnpPZHQ2c3NY - aXZzQWFZT1ZxSitZUGRtVTNmNC9yYnMKP97sFS8CVxEwRyHEDLhox33p34tn4it+ - yRDs0iXY9GEzPnfmH6S1Szh9jxuLbKW7PB8pEPV4yiuGoHLEWyritQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHYVh0aXlGRzRzVUtpcktG + RlNtUC93VjFYbzFDTGh3WUF6eStVNGpzOGpVCjM2dGM3ZXlzeW1hQ01SQlhIOElw + V1RaRG5kTDNHUzdSVm1WTEFaNXROVEEKLS0tIDdRM3IwRURrMWpWNlhPNFRMNmlu + UG10azZmL2J6ZTI5WXFjaFlhUWdzT1kKDiBjafMxI4hH5vXwYU0oKXa6N3VwwSh3 + SYOWwZrrXzC2XEB2btqWxuPOu4gH9qVJXjIM4dS7AaHJM0DmrzBj1Q== -----END AGE ENCRYPTED FILE----- - recipient: age1dkecypmfuj0tcm2cz8vnvq5drpu2ddhgnfkzxvscs7m4e79gpseqyhr9pg enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXZE5SeFBsZlJBWnFRNGlS - Q2dCcVhuZ1ZkWlRPUFAyMktRejBsVWJrNjB3CklMa3JwZnFpRTZKa2hRRFRzQU81 - eEpkMnkxZzFFQ25mVTQ0ZTRkZWhXM1kKLS0tIDU1STF5cC81U0d5QkE5SzlQNERp - c25qNUZJbEt5Y1NJTVR2TEtYeXRMeGMKIMFH9xzPuM6twDH9d3rKKjzbruH7xfot - Dkiknuqv+7iw3dVJKNGiadDh/AMlE7M6lfF9OXhUPHCaR8E11DWSJg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBFNjlSQTE2SFJVUE9pTXFy + NHo5czVPWjJYWFo4ckhDeTVQU1lFdDhQc0IwCnV3VWx4U3Z1cGFKdVl6ajJJRU5J + bWc3dkFiUlJoQVc0bnZvNitHV1g3ajAKLS0tIHEvNCtmRjRHRzE3Y2oxRnpLRHNQ + dEtZOGRkdTZIYVJrRE1Xaks0NjI0T28K9y8wk3WVv0SpnWj0FK8U4cRHYeuXIHw8 + tWL52iwJTf1Jm1uKw99S12ixhZIuNUM9J33EqH6PVQxDRCzM8/jW8A== -----END AGE ENCRYPTED FILE----- - recipient: age1mdtnk78aeqnwqadjqje5pfha04wu92d3ecchyqajjmy434kwq98qksq2wa enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxY1ZLYndkYWtjb2xHc0Jn - eXpLUCtVRkdoOVhZR1dyeUw1emk1c1ZCd2kwCjFKbG0rbzVCSmZNQk5JbUFlOHpj - aU1JVlJES3VZSnlkWXowQmlFcDI2dm8KLS0tIDlqZlNWdURNdSsyYlVtTHRaTkIx - VmhvU3crRHpSSWRKN3hlV1dZcFplUkkKGjNXgrwypJg+4dY7C0UdWyAl2whALT1B - GvqovLzd2nGZAvqFNdnlf7o0OUgSjsPG/PuYkWARsWEd8Dm1wXqmiQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4UVRZNyt5QVdNMThiRlds + Z1ZjVWZlVlpMRzBrV1M1Y0k3M2xCRnVUVzNzCmZxVnlkMWNPNTlkOU1IVXVHTWJ2 + MjByM09LTjR0UHNrYkwrOS9Uck1EY0EKLS0tIG9PTndzTDFSY1JzWXA4Y0l0QWFr + enA3QVpDZGwzaHZ6ZGpmK2JmMm5nVVkKrjkYCDyXtf4QMmC4IWh3ealGGFE2qsT+ + 01mAXWHGETiuezKRxJahSqWBk9JL8EvAPNGhi3o7B++H40U4G3dgLA== -----END AGE ENCRYPTED FILE----- - recipient: age16pxqxdj25xz6w200sf8duc62vyk0xkhzc7y63nyhg29sm077vp8qy4sywv enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYVFlOWUtRNWZXcjBTWXFu - RXkyVzlVV3o1RzVpcWNPS3NtUkNZa2ZSL0dBCkFRc2RLQzQ5RE1zOU5aYWdXaHZF - dk9DTnNIdUdINXRyVXB3QW50TytsUTAKLS0tIFhxcU9Sa2xpbkdVZnpXR2ZyaFZ0 - ZHNISkJpZjBDOFJFVUowWXBmUW9TWlEKs9zAz2NrkZ4liwtt+Exrlm5xhdLMzxTO - AUxkfeGAGFFxB+9erbUs37PICrGNtcN3dw+hD6UiCEFb7fPg8YFrVw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBJU3AraDJyc1dPTlloN2M5 + UGp5a3Z2cFpYWWJLaXFMdVByY3ROQ3ZDY2lvCjN3SHR1MjRTdTNERU16aGFyT0VG + NXVpTk9KVHp5dDdwNkQ5RDVsMzRsQWcKLS0tIFBjaVVZUTNzVDZJVlBQdGxZbG1L + MFh3MFVSS3lKK3NWdThGMzIwdUNoSzQKSREBS5WSMieyjWjuBN/faxsdF0Gv29OA + s5MLSR4YXdoENtBYJLl2NMU8+Qz/F1UlnuUtCzcW686Dy11T/CDnRQ== -----END AGE ENCRYPTED FILE----- - recipient: age1hv7m3xypesdfm0dfzwgctde8v307g9xaunnfu2687y0lagcs5q7s3eg0kj enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2NVZMY1BkMTZDUFpjOWtr - ZFBQN3M1Y0JEdWdkb1dsRyttSUl1YmQ3ZXpFCnhSQjJkYm00QXpXdnFidFNGUUNZ - OWdiVFRUcTZiZFVVTENxRHJ5QklXQTgKLS0tIFpoNU5tZ2dxK0pTeXRWWlVQV0NB - VFNEZU5JOWJEd1pLNmlKaExUejV3WWMKuaPoDZOIe5WdLl828kf4rsZiOQcQUqEA - S9WTYVl20MUJrzPUS3mEksD4O7F+9QE0Krkb/eO4pgXJVvHpdgNM2w== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjd0NpQjFVOHAyUkdYMzZs + VUplU3hpbzc1YVRzS2lMSExHb09uOFFRaFJ3CjBqZS9rYXl3aGZkdVVUM0FuU2Jv + cHRXdlNFRnYyK2dXaE9EbytOTXhxTDAKLS0tIGlEU1RpQWlkZGovR3JTOUNTck5N + RlJWZVJ0aWlHSngwUmRhUHpYNUNlNDQKX4jKugCpD5usjuQkSimKhEIPbvq6cTT+ + DcVYEw1hNRieZ3hrjMIqcoCjPOlXq0+hkQmAkZvrMvO2e1CAlm/DZQ== -----END AGE ENCRYPTED FILE----- - recipient: age1522f3qzddm82w63j7ajdkr0khvced6ht7tzp3grvp0j3hewtvesssr5kpf enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBIYzlQY1VvVkJhYlFYTXpp - dUkvRUhFRDY4Z3UzZm8xaFZROFFTMWZXRGxvCjBmV1V4cWx2VmdpM0sxMHNLazNX - ODJxdXVFVnJULzdtcVBoSVhKM3VNRXcKLS0tIDQ4RHRiM0R2TVFmZEx2Sm5xVVdF - NVhjV0pUSzVYVkJ4NHRnYm0yNzhBZk0KhYjZ5APXfIDqfYOyFWv81Cm0cBP28s23 - iWl1+LNZXopNgiZSPY9YTri5QjfrzdjkmzoxcaGwCo7Bg0tUDL16Cg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTc2ptTGlGU0VaMnVCb2ly + dzNUUldEeVBIbnpEdlM0QkI1Zkhua1IzNmhFCjBUQk1lanFWVGNjeDVGdG55TTVE + Z2lIWXNqY0Y1YUEwQjI5dC9UY01jSE0KLS0tIFVlOXN2cThQdldjWEs3b2pDRHNB + cks5WjFuMTBCMVhMYnJjbkpFclgwNUkKPh/RpdUCKYn76fm5MG47ePBmNHLATnFp + rrN+PHxj85vL/3u00j2kNY28dM7IH3qymMYKu1Dm+BO2RFI/4hPFsA== -----END AGE ENCRYPTED FILE----- - recipient: age18zgt4y2sd75hxnpe333zz39048ctxpr0q8a3uqh3jajjkyawsdrq8yg5ve enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBmcWJpNDJJR2JIVGx4TGdw - VE80RFpSNWZUN0VjZDI1Y2dteU12V20zOXlRCjd4TGM0cVFjQ2RZbEhEcjQvTFc3 - NHFWY2FmVjJ2M1ZXOTAvRWo0ekRWZEkKLS0tIDNpM0VlaDlQS0dlam1ieG92YkRB - VnN3T0Q0ZlphS25BMU54VGxnQ0Q3c3cKoQ9JoBb+6koGebDUa0T5eQZ630UqRGlv - RQs07A5771zr63BzivhXVxu2+oMMKQqt/qThCvUxPP66p9R1164fbg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYcHJaVExSbFl6anlLd2do + QlMyNU9zT1lJM3NTeThjYVlibTh6VVMweFQ4ClFrSDRXaTlDME50WlNJNG52SVoy + NEFvdko4QUdYRDNJSkIyTHo2aVlWTncKLS0tIHAvRlNISVd4WU1WMGZGcVk3aEhh + SUo2QWV6bEZGNFdaLy9BU3ZsQUY4eXMKaW/0KSpGic5BDOdmWmCHJ3NzBNC/+3/K + I9GEF07iK0tvIFupQToFuZ6uV0BdLmpHPfNBnSKY2+Q3r7siomPTIA== -----END AGE ENCRYPTED FILE----- 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: "2026-04-29T19:17:31Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/+PyJYRRxBL+4dr+CY+3hEplzkqt4+LYgjtKx4z1fCOLKT - d83AjsfdM8ddJtNdh/Xg94WYZ6en2d7rgVtLs+Jxpfohb4Nu6KSWDpcJyuqLaHTs - cGstX+nVdjN0BX1yis1HE2wZAtKOZo+g4xuY8CYHbsjML5NyWNwE3xmd3oZbtsy2 - C8myY9aHhPv0ujSIp3fXF0KNg6SDaHyNfnZzCrPHX+HQN25U78FPg3mjuFVmymFc - UwNMbjoCTZg62bd+oS3b06hCc4XgCS1K81rIj0yzbUT1tDFVDkJLuYLPzS8nNq/T - jBGJnpYD/S6PP9l1GqIzkfDl+Qnos3fXCHV0uNFGGrz6FWg3Q/lunXACqgD1+v4r - z7ez1FgVfVB7ixzmhfV0GOwkWDAhvoKysMhURowxDtwYsSOg9gVRYvZuXcRxCo7N - nJwKrzKPPL89no01Uqas2Nxb6z/NAer4n1bOH6mAWmOHrCL8vug7M86W8sH8edBZ - C/z/0UWj0oji6fKeORPN/HATgvu8HAycDOnBp+V1aZW+fsTWBALCvlXPQiIMw8E/ - PBeXr8QFIbP8T0CT4NEsPDFHr/bBV8WgELyxyTnwWCK+G56MASu+x+3Hd9MJ6BRS - 9krN2hnN3N2UlnsYn8Yg5noeQCNmpk299DFXOlp3QxVFAMUIFa42khBf+a3rmm3S - XgEq1uTcD68eOVeW1ovC9TlBilq08ScqE1lImS/RtTa7qsApqxzjTkz+zTtOlYuB - w38uH9haJOOLL1ZIPjS6ZUX4mJscXRWzA/j1yZpGmEbg9YnxkAcfaN7PB29ref8= - =5qlB + hQIMAxK/JaB2/SdtARAAgG60jnqSqxqyG5tpmOyODv8QP5CQ+2bhDUg9gZtaAn6R + CLseD2MGUkOn0JzJfDbLFNr0yCkNCq8hiCQl/4IuX1eCV1Yskbo0N9VS6aLVeN2H + GLkOkVBnA0/ipckcnqBk2kvxJLy39N4k5n6PAopen8rQcIuEN9Ljso8ItB1BJhKu + 1AQqZLw41aCyXFnK5fvT0s6U77VOjwO5CA/c3Cgz4HzR1cmZSr65a6oBBIOBkQCH + J3SSSGCJ/SgAAduQy5eHMLtCm/J20NYzLDCadwHTgGJMHkTaL49E7/JbYG3t1aEO + Le4mG9hXz2vC5CbZSaXzmbwv1APQ9PWRzjqeBsJFZx3rkmj8xhRdZcU/nqCXTvls + l+yG0rbMz1vHPW65nzKw+6AU974Mt/55TRxpdCQGg7EqlzS+JnbEGxnqtSHd46Sq + a7apnd0rbaZpUD94tYcUkG3MePslarCcv5hBPUD4hGjC5yfkkCdcRES2JnNDcCQy + 40mknB95dXomQf7Rf3bOpbXp/zagaFaWw2X/n3eEQZwXl6UCQQf5n1VriKMbCTJo + vlJsDGSsaZgA4c3O9Fa64hECnp5Uj1jtBbC4xxjljZMUjDnAokzWbJPpWh2wS6rQ + EKndLx23h6gHEOS+Qa3EixF+yVRHCSZs1WTWPlOEsXWJf3gduvmXY6FzLN4MPWbS + XgG8DyR91pv5Uj3/2V3eDExA0m+HyXhZZEo3j+0Fda9HZkvQERsE2lvkTt1hyB+f + cBU+7eXEWzOrulWpFFtKetk3lNdGEhSWXomGZ8CRCHrmu37settg4QqWZlUwXWQ= + =4FYu -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-04-29T19:17:31Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf+Nuf6tFip/Ig0E/JWH6k/xadaLW4WQgy8utumI8Q0anMS - 0m9VP5RqUBv2UtkWjnzpUCKvSnIGqGIe7hfeueTMXogEIUBOMtbmmJ1d67/y7z0o - N2ui7cdJOAiby5nyf8x1tas4vD8RWp5L6NhHwlPfnZlRcCAw6f5MThXMnve2hKYV - +/N9DF5NtjEhWgusnlmnBaGuJb2ZFG8muKTpGf9J55iX5G9523HsFIWVh3WeyWhD - +aC84k1cSIAHanFEnzfK41ALyPFGtRXyacEHJwgbh01VVC79VR/XwDpqiRp2YTXK - EpeU8eGedEjVmK4MB0mTY66YFR5UUaZIbMHk0E05eNJeAcMOE8lJpmXkoUqbzftL - iyYh+CxXBoVzKN0uMLOMaI6bbyuU8/MKOJcsyTuu46Kw/bAGwDXIz9IpnnUOM63i - 6oIWt7jIcY5F8s4SbhszwOtlPP1IWj9STeDrO4dhcw== - =/IyR + hQEMA1QflAioE8i3AQf9GnjRfyFcHOBCSMvAQTzSH1u68A51lgK8wPyxHhEvwipc + 6ZwTJi/V8tLJQzsgYq642dCRwHwvz0c0s8xNv0EyTjxLL/ituxcsGf3UeoigaQGN + 053vxufwSCuglWCgSVGy2nBXMw/v4oj+3dAl83cmmZFDaiMfN3i+cs8un/fkHLCD + IPDhDgvkfYfHAkezQ0mwQbiTtZGLURFMefXxdXcDTmgRJ4TsKER16uLwA8wOVe46 + bV4QzGY3+s1VJGuIXmYpsb79u54vch6M6SDy9VT7k0T3KA+tHYxB2k1WbgvHRZ+r + KNyITbqa6Vvwbd8LW9TvAdkmye3p/StlOD4DJH0GJtJeAVDkJ6Balsd1JEsHQqzX + 8iYRNCueqLorWncsJerH95dBvV3DZ7Cba9askEaIxNjtFTBO47ZyK7C/MwaTNDAr + 3qEh+mGsMC7ONl8erx1MheDoN24A9qUPQc6eJE97gg== + =6ciM -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-04-29T19:17:31Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ/8CI40TAnOcf//+joMWhKPPs3BM9eOqYgA+Xk4yWrsRNXX - KrjgeQJRV8L1Y117bfduFWcYnvR0S8pSsngQNOED0OENEeEwopjJoXjI1+4XRsYs - sMKSY1ioBvwR53rMfqXIT/+U/lgqCTL0TkybGD4O/4Vi1ITCxpcUjkYf2GM5A9XB - cEsf7OJCRk0+obAWS5nyzSej2XEowom0tBfwsbPn+VPqfP+8Y1KlDduSVX+QQmE3 - D+Vn12UxQRvdcJ2v9x7sr/HeK1ISvjPwL+WDtmHQBY/pnSVuIwClIG7Od7ANK/g9 - 5vcygw/ka3AUlFGPptk9oXoKqPtvtCL+IQOlbiG9kl1fnqDMKQC1hp7eX2vuTsLf - XH6qFlDhZN9nY38mwOTfC1a6iFkCFXrb0RX0t7ec3tweK70HBjV8fvKYO0UUVsDE - OezkqfeVZp2Wnsm8UmtlEMa0OM9eQlAjtJKYusVpy+dWmxDmktqsSrq6OyfqGtBX - 1trKVtSc2ConE0IyMkmiQnz8k13lD8a5PHil/chFfW6zs5MCE83ZfW0mJ4OsJ1ni - /d4ZLdky0HQhGlL3O2xs3MdR/hu8+TR5IkFqgyGsT5p0uLHz8p2WfIjuNVVRbi5a - l9LBI5g1z1G9yYLB7ta3+1tB3OC1SpIdF5rqqNL3nNuCvfVeGhMUjXNBjok6Y6/S - XgG9EoweMQGSSav6DcjzhWC70iQJi/JN4/zzQfVvCykaOvwVx/LHi4NtbiV/fPee - zwBjfwKruoi0n7RsSucUw1rQNBeQ44ZfDOB2Aq0YWKL8p6NtiCfQ0+Xz5Iv4XNI= - =c9mO + hQIMAz5uSgHG2iMJARAA0ojb8p8uQLivFc8DCYMeolgJa2APcE674herpCNDFHqF + bqwTiXFlfwtgHq8MEXW9ZzmLjGtv1xefNyV7FcsWIxLARTlm6vD7lXhbACVzDEt6 + NArvbZ7S9DNOqjmWMPZMBw+isSp49IWL6su4ayxDylX5T+lCtCt11xDVehkwThyn + espWaTTxePfEhvfa2qV/KlUNg0bUM/D2hGtccwoN9o6PKZ61XJXs22xRsAUAvIJQ + qVj5KzxtFuuMQoYpWKL/pbI5yTyyDxnv4hBiRm5c00Jh/pt+C56gOpHMFyoZz5Qm + Hs/Yx7IIExMJv64AcXxWSXVSUPwi6/5N4kuQNUyF+IGyP5ChiBANZG/1b77sSay0 + YXLp0s59NcgVk+qwokBnWjlM9SBvVSYe8UCKP2fmcGsX8z8BnRSLMgv7Vf7dp0Vz + 2Tn8KPORJOvl4AM5PrPLyGB22enBfNCwKNFnrc7vrxR6FRjY6ev3H3KfGpOFhFyW + niz419fK7suqzHealm0DW9bfW+/5DqQvhqhU6D+yaL3f258LGa+3xM3fKNxE6SKi + aoUo75/ejnVl0vdT53vS9WMERdCuuN2ye0EGsU/k+Ir92ZOV7wan8P62Sz5aE/sI + x9buFx1Mem7amIoAPLJ0iMjt8znoqguPMxI7nKp8PYJ+sv/z2oaBZf2ZpO6k64LS + XgE80imgQYw0LP02tolznROVwYUL4zKYUrRvU7DK/dj1ymXWePdfvBQ7QCJ8C2d+ + O1K1y1Ym0NusWbxz1sG85MTnANYwzHlmzFhJwsoJvdzs8c0SUxgsL7+m5/++qbc= + =HerR -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-04-29T19:17:31Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DsZXvxFXTXoQSAQdAlHfgecaPX2YdrqVMG8SE5y0hd3cn8aTBpmhbD7Tmz0Uw - 5WHJPloCa2jj0rhCSGvGAgGvzQ48AMPWDE/saW69fJOeV9SAUGXRtrqaIuQwborw - 0l4B0h3yjJw7Vo3r9Szr58Gw/YKm7126Y/+JqbiT+4zn+iFF/RgIkeI8sla7BHKR - BRSx1d20ydBF3PELw4iwepotQHyNjaf88jWuklB5zvrZI/t/3GP37aDErEB3ml9+ - =+LQ6 + hF4DsZXvxFXTXoQSAQdAozv/NDuwLWMHca7CXMS6eAyeIspdNr0G8Vrt1qUohlEw + O3zOGfc5EKGNAWremAO/cvqY1lBiftDKmn+nhP/+ODde0QyIMuZesTKW/RjqsHK5 + 0l4B51zXNybVL+WK0eHXdR9jBsJt2ml+B6Dm8Vrc09ivjy91rKh2fkE57LWpQYHN + Bzs/9tL3Go4cDKmm4ziiw6Gisw7dMJPI2Ys5goheG7KBoGtCzyX1qUZHElyiGHtK + =PEO7 -----END PGP MESSAGE----- fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - - created_at: "2026-04-29T19:17:31Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdABxGNJ7fKmjIFt8QReNBEsyv24JKjqIURd/7WjMUZtxUw - Pap9hBYDj+S6LBbkwWjbhSTcm074aBUkqe7LKsRCLGNCHzzmT191ASmQVidwhGfC - 0l4Bw3Q0+MeORkS1MqXwt9Dhd1S8Ht2QBNA9eBQpnv3U4lHXE5vbWJHdz7OSBbwo - Arx/PhSo+Y5b+j2OdYDWQ7THDw7FTHmDAjf8gsBTeeekEWVsKcp8rVgNo2VqCiw6 - =j6CW + hF4DerEtaFuTeewSAQdAh75Enh942cD3+HgiJEtjw//W7OV37U0rZvXi0y/Mxikw + 0XNYiOER3IIwoFS7a8eiBSZe1bbfnFD/0qOfbpD85orDiJzrnWAU5bq+NMHlBgzx + 0l4BXAmkkumjh0ZeaSRUayYmvaa/sKVnNFlbI8ieU7qb3zNUaC4mqU2MHQ0KHRJE + Aa4eqVFhsLEh+ULUmeXrbPYo8q3+IQZteQ4bpEv4c7vh92h2mw/bj8XphSxN5q8C + =Dvky -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-04-29T19:17:31Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//TwWn243v9q9YX2+969TELi4/vFwykdeLTYnMgtADh3za - f64k2y9sxfiYBvK19pG1rXr/qb3TfyVnN6FRvvQZzzCxA5Qr8o6QWznZjIlzKYUY - j0lGy6tZIfnB6ZcPv3q6mmKnxii83cj8wECYnY6fwyDIlGGlsHS20+6/w9vGu2tG - uLHg/603QnloqBE4ZM+1jYjX70zThtWbTKqrh8Nn3iZh7UKO5x/5tsgwKo6cr6ce - tU283bL3h07QZLI/pMug34LQPraenbr2PH4CXeNIHGEWIg0ZCyC4Td2s1PIrk8rW - jwrnfgo6JDr2l2Yzre3XJO3rwwN/5uTuhvVYWMch6hYTaNFE2VHpEalscKumm7ra - OY99qHh/kjLUxnOkwYY+xEUx+s9/VPLpCjAptF/Cx1i4OkzUGSvbVbTD9gc6uxBb - 6FKhgDcTjtPxfmuRcwM4bMRcCYv2s7ciwooStsXSPO75CLFK9UdWfumCY8vY5joC - zcqRGJzCBRwJRVFS7IK10V6K2z0C69Uo76eGzb80LW4NZvpXKrGLaCQczHXYggWE - 7jSAyByoCiYCWdV42rXWGp/o/LeS8B/u+vYP2VfWuQn056WaF7/86Ueqtx12JaVj - gCcyWkHJorIuq/AbI8lMydu4z0w7AWJotArwTGkL3rp7wnzFfOkMjKAjmMQOc4bS - XgE2Evrvct5VGYjMPtaRnlzMHTDwM1B2FC7QsKbMpBVdKC2Zo1i/N8lyUUUxp3Gr - +RbdbUbDSXBRwe56XjtM6Lr/VUnOwrKvzxzJ8hOK1B3Mav40U4DoR8nAIZMxhLg= - =2kne + hQIMAxjNhCKPP69fAQ//ZHA6fVzyT2n4i4AHHMXii+pJPEJN/8QRdAnxZYNZ1n8k + G8T/0a0l5xb6o9WmsqE2OYU554uzoHkyMIlM1kZqKZBeBXle7r1De/T10fv2pwBr + 1wclXJjP8NwyTECASKR10+iGoc0d7R7RZ74dnu5cE8Loj48oZqbZjIedNrQk4YBY + PhTyeGsRLpxVSlL3T6aHmw1MfcIQ+P8NVLlSP/61IM4GF5/mY1zl3XAu/GUg7hBS + L0mpLwSNHJ0frMKQpTwSSfg9Pi++0NqTSBgUh/ZoikPGmGQl1eFxQ5tFD811mHMo + w4xFTzt89pD6Q2cv4KAH7qWdrWBdEvx6O4uTLdK9Pp9zKzB7CEujco8sZWrRmwEz + apWI1Mq238fCEtmOvWos0dKZie/dHgYEkPkECcUtDD6kAMP8Y/b1XQ3HZcwuDRi2 + 7LyplVyZ7Qu24vSqK3JuMUghoJL+fqsfKcNAmUBq0ELI1HY1P6ad3PvjrMkHPNpM + 5MhxpBk61YUc704GFEZK13KNbJLcygA/d8KUB/ouDR/uRjN0xw6cSN2VmTHpGA0A + 98+3hrzJ3ANmLFxX7eoGKrTltk1m7sIPACw9pkj41z1goPiK9sFawGUN2M6o/7W5 + UXPL0GfBMTI1Jbgxvbnq05lNDAM7DkahagcmR+Rr7CJdmmQw1ovjFnt4knnC0k/S + XgGQM9gT6th0CGAJ3DHJm2yoY2GikeoLhDTzaksgCZM4d00WC21yD8dNPv66KuUh + +4pxu8xvyQpPQ2Lr+H4yvEgf8s6CINgYntbmzZIyWTu9mOKJD0iHpBQM3I+3iYs= + =zdup -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-04-29T19:17:31Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//SeZyWjwuS7ZGjQXeWVYNokSHiVHk5oIzEIYFsfsWtfLD - EK1MaFlXUFjRjxHl9B51yK0L6TJf7xQ6cUbCluERJtnmzWHxVBqXJGZ41mSmt7PL - ugRoIqv1mMt/3h2byH3rycv8RmYup6n+ap6R4PTlgbiJ7Dvbq6vJYikxv4LLxwOB - tji5xLeqO5NqDRKBk4ypahQ+kupZ4kjtTc2sHibwwj5c9L1qWaoWf7i8gi2LNQjr - ZniTOozatXL5HAbWXHl3Pf+bmcTj1p70RdfJXVHH0uA4G3Zzh2vFR8d7EurlzRSJ - F0PZ0B4SS9v4k9QUVitxr0de9ro7DfhdK7Xrr94IXY9MvBp/Xb9z6QfehSPjdv55 - kF1NZcMT2me87r5g5pUgxKCIbHWlT3zKR9fiHfgWSlMGRvsv4BFzRBTWxdl6kPLK - 86A0QQJOso2c0Cl4uf3QUvykh+rdTogf9CMc/Y22JgGz6maR05yh8WQjmVRitr1X - +HugWyQXD1UflwQBZi+dRNhdLd7fBib59k9rHOw7nrRjUmLLHyQ12ZxzhRP0d/M5 - he+n1v/hf6Iu+xZ5d2ahmibngsRaN7XB2cFQH+IMz/3vDvsWFnak9s44TfXdmKop - CoJ+JAzJR0lGEQSZhf3bc1RGNTJKNFv5NjGyHWbwSKglUt03+F5S88n9RGk3J9TS - XgHPf30r6dVH1lPYkjMXrjL0nxmRuZDOEHli91LdvX37P49MjEAdNaHFMExUaPPW - WUUQuYw8oYOdEKdJCXc5n43LgcC/VxivNGl3XEhBWlhpvVahBsjJ2u6QgWRbFqg= - =dIik - -----END PGP MESSAGE----- - fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-04-29T19:17:31Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQIMA46L6MuPqfJqARAAmzMtEoWvtV7+4UOlsObzDq0L/ebYhjqvVDcoJnP+O7av - K2ZWerKOyTk2wJYoMoDJTurTs2SrqiqMYXST0dWUrh1WpqjbtsU5U3Q03OkKv4WY - Cdy81etUxjKTOgx0FADDnmbdKAZKYsfOaCZQ0wKvQ0eLeGw8fknr/cz3GJ0h3Y/V - ZLdZjle4nI5Yp4B05f7sGgRZdIzQd7X2f0Kb9rO47dtv9DW71hCGGgmjO21sVqKj - hunzCeCQRxbiHTrb3Fu3Lt+7wK9Ed2NdqFR9N6P9K/TWOjcrci14vKvM/CejQvPf - 5gHWEcNAeTWS7A1JR3RmD7NSUs8yFDC4kq5oOWtZlOuJEtrSYojG3XtoeOXhf42e - yxbhsPzzy4fzrOV9sigwoVXTRe7aC2Xo0IoZG1an+0fvjs4yKE8WTfox/v8Bihwz - IHRMhS0F+4osOo7ld7pQys2NkUdWYelb6Yat0lgWio4q7my5Hjx1MMfKIHleMPit - hiU9AUGZ4UVZFz7L4h2d4uyFFw31ZfC8TlgHvJ6em6F0oRmgMBqLaziHSZq5AKUj - 0CJf9h+PrYRInhwrskLCdblmR/MqOdQj7mMDifcjsZzS89oTX7VmJfXfeh6XKI9E - Zt33CILhqzDjbLt1Ev0vvzhAGyU4XP8Q80OtfVWybbpJeH9wzZCc5YfIGk0gLFrS - XgEskCxhgZ9RALz+5pvAWcaRNss1fNE2KfwRKCT6p1Tf2LhwCo4WtaZIC2KQzRBa - AguUarDPFdPr9o9mgxE2l2qpWbUpCAcmWv5g/a2mEtvzoMNs5Ua9Yk3bNqbiZUE= - =yRKT + hQIMA46L6MuPqfJqAQ//ZRYrl3A0QNnXXnK9u1yOATNq5DlbIPpKNo7KeX8HL12k + km8LM4s2mLyruJkdoGfEWY0THpGhUGrnXMx2QDxVYf47BWxmBvGinQTw3FAHEpt1 + fl5PACh0g5tqGkwLHIowAPMjjmTNKn5pCgNC9NGfuco2yx8tZUfdUNWej+/ZFtu+ + Y14hn4nOSIvl565qT2T62uuPdaRa0pT3gu2Pr5Z1Tn9hGl47swnuq6b81IeqaPu5 + ukbT0S8UNcW1AxgN+pXfQiLg+Iro53DDxKyZ0usMKSi9eBl7uayf/063RIAZoYl7 + PkdjaUuhflsF6RFKof8qC2vDHRnQNtIW31u+gNxk8852uuJtYspDR6ke3LdZru7K + QpmendFKZUC+9EtUJwahLSeQQJ5Q/xgNuIxCCPIlDftfX6kY3Oi55rl1t7J1lu2N + D0cRIAszEC9thcyGlzg6g/C2LyqeHbHdPxpFePN4MOOA5FuATftxwxd248jnEJes + wuX6PdaZ0LrcLBdSMSmpgBoVgv8bcyxD3K0SmqfbpZbtFCkDiXIe00yy0KtStjx+ + b6YfVpojcnXuWEN+lZQDFU7bvMZnruo0L+Z8MFrUb+wLZ9Pini20M3QhH61VSQJP + O+s0gEKwaDYp8125iW+mV9o9nw3fMEE49BMjlOxTXCHZk7RVKADzbpmvZ8rWHnbS + XgG7HFzmVNeECKLtbVO4rgjLqDw+q9aJ/wFyXNjxuMJKa5FGgl8/g38KpfbDq7jV + ogBSYhLpr2cSsQ/sLoLJZZyfjYTmvmSLZpFPqzSRofUUTrBs8/jKtzSCCd36AfQ= + =Aa7t -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-04-29T19:17:31Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAoO2jbRlEBi+xPTCJXPbvvM7NkwRFz03fDOuEJaIKOx4w - B9RVqK0vmqeM7e7lgMhUmaXzgCZvNJyHerHAApL54ebaxSSJUipRG5hMfS8ogPRn - 0l4BMkA5b+1KWwM65dqsqlhVY1wy4T94XYSwKJgIsNY7NlUKpZVpVG0YRqApvrzd - AT3cTOKSo9ofrSjDpmdfVoL2rB2nwoGVDE6KssqNle/fFKov5xEcau0VInAVFTvj - =MHAf + hF4DQrf1tCqiJxoSAQdAFAf/+8TjczYTVpr5nrNKG2VHhOGfhHtswIg3pBbEsTkw + 90waRIH7AQb7pYgaqkfHZc1pfuA2EunAvEL8VsRUxrpueiWH0Yb1AoosjWn7VRuJ + 0l4BqsK0RFro18Q0xtIh+AEEYkFVJxPS2yJMD9e8Oc9uiRe8JCrBOa/inDGWHHVN + o4SY8heM7eWYW4qw/RnTayq4jqsA6vXJhgZHCSTC056RzELa4+WrtF5IVpv0lARf + =iTIp -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-04-29T19:17:31Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAh8NhkS6+tpvx/z9D9vV+imu7GYavQo2dewyLHUa8z0Uw - UczX77OvZIA40Z71DVvGmnPuPu3o5ggkRrpJWgL8JXQP+uOVnJuFfG7lhkrNyyV9 - 0lgBi+1/1O7vQW5/uj9xwuaarzTe3/bTjCZTJcJubJ6UV9R3llhH8szquLs8+kVF - DU72aSsw97fXoDVnHuS/9MCg38PRaUOuAt48rU5+oWyUX/eONUdGpLJB - =01HS + hF4DzAGzViGx4qcSAQdAt08Be192JdaBTk1XW0dqa20rDfFtMJh7lJhFLMXW0mAw + ff13W+ZxJ2AJAVOnqiza2lHqE0nxTC/TZwvxXmmIbZKjxpzjoV2f5HcW9FBkrZZy + 0lgBlVtniohqUAz7vbbfyqi/t/6Un/8Z32Cvr060vIvBSANX+Dd4J6Gel4ZA7F6m + 5rSP4eipg5yhlGyeUhbXzT8l/NcGytbEAGjwMA4olC4dnsdRkrCiZY14 + =bhCX -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-04-29T19:17:31Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//WNtap2qBuXxK8DwbA+gAIA9pNOZg5dwW08XWkHa7k0wW - KYgVrUoHjaZhtecXdJ9HTLimmo9y5k0lgFEt7yVJVkfDScvZI51H/JOtms93vahF - CpSInXdT19A8qpV7HBb8S1fc5O+ddNEDFdLR9RqaAR8gZr3U+2otrIWFAyxv+u4i - KZ9aIdfoLZiROgChXbtZ35YfgfZy2mWK9OiKT6Iut4sBUO5Pe77Wcgi50IIC+RoW - 82rRE6a31TsoFsiBQRClMdJTRYhHoe5hPnEfdj/O1GYG8fq4Wxwa7BtyAzkN9PcS - yw0ZBlTg6mx5h1BG7A55t2I3+3oGNGahapYRwAc6g8lXWhjNURXQsLYTjEAXYfxE - uCBeiI/dwdj6rTW4AjQ2DXLI1OPtwD6y7F3d66SPZjLgoIKu+HCkV7EvVFDveM8+ - xw0unbmVRAiUyCToeFX3DM/HmEcvdOGiYBK0zIAyBgzoweWsZEg9iEMWg8lExEp6 - WgLLKJ32+gA7ipA2ZP5vK5X6lIgft1TszKkVk5K7rCKLVdXzB+4P1w1RSqS/mfsD - rKGzraQM4iEKunxt91Z3RhC8zrdSz+NcOtPDc67M2uWwfxQ9rPpVnhafKA0nTTDx - RAYhF/shEzbueLQHVOdXBG8vCCRNPvbDoMGI1nJL5njMHHRWrYT4ls6zTjnlX8PS - XgEBjKviTlFx/6r1D/zpE0P7huNb3axQHMtHPCkI1MqBdVItTKJYZx2he+zw5c8B - pOqBzckd1bIlvCStMIZVDDSW1rFB5hL+ZrtSrswI5zJm7xTL2gdqRtOAASKPkSs= - =p0ik + hQIMA2pVdGTIrZI+AQ/8DjyU67Mch06O1rnBp5UpDTJYMsTL9hqfjQcxpsZG1gLJ + t5fCtwSgJaxVfx3BfegWuwpS2jNQvuH/oNs6T4yBeN6GpLOzwQGXUe+JBV+aXSEb + 5J6jyJ7UKwICyE2kN8iwsKMNy/NXa0hhkAt1GIYb0CgEJ6/FOAGxEh7D1lL4WpYx + iiNRtmWqJAiTKGE8jnMmFamddKc3wkh16Z7mu2tkdaODNwrzqXhlIrukUAnn/plc + NPTws9gsnnOw8pYydQcSDYkKnM3z20pUk6fAfIWZ6JSH7Bt3WJ/Ftrhwixr9Ld5a + TXgiyxzfJMo9eUb/GMh1NpRJjLMBflfA3DsoD6dlvUEQAhCpO58xz94dEMrzb1wI + mNPwFPMgtWesCzJqXZwVLrtFbU9+e+ZlJL4n/BtgPoe9qhPQpb+hjIJLL6P10vG4 + YTx0M0v03vHsNy57uBh+ukV0jkm6kcQR8cVm8i1HcX4T0b8UbGyh+FXuMbLPahMF + CAPexpw4Ai+lAQm9jpRdhxX4xkXleNfo5WKNjrM2VUxiayi4EElQ71y4MuYbLPgM + njYLEwwyRKUjMegOrTBnEsPwxDi0NpKrZ6Wjy/G4h2b7PZNWrOCKE/2MiCcVUm86 + V+9ZMhpMWfpnAV3cez5Xyj6juR4nL3bOTb4KH+R1hB5yCN9NSKxoZ5+iLBHKT/LS + XgFfJrAwCBbD4KBR1uzbo9qcu/VP2/dRTUODxZESpX6sdycg7mrPxhFDDULCR3cN + swfbQqfinaD8wI+dwaUOUwKnO2hiXj0wbnt1J7Bh2C9uiyPP7bVMSizO/rAJE/Q= + =xcBs -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-04-29T19:17:31Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAfd/pq7CEPL8kCoHYKtu9O8kAMF/zd1yE5BaYXa5ydmIw - rouuLdDK82RNv+nE2Mbkho+LhNt7SwVDvDyKUfBUjUKKWTVR6afCT4cvEkGZK7hw - 0l4BHBHFP63G0hGwUH5iF7Z6BoR3JJMo5BjDjhnVTZfeXYh0lEPJSnRqOd5q+arA - 3VrkevOC3iK3jl6qnbn5ccSKY6CsBJDF1BlChvnGLQsnAqHKdx2+IVz2m2LLSwg5 - =OD0w + hF4DKKbvh61jX5USAQdAWSpHk+R/CKDaO8c1UPr6fOMnivWMuIrBzZh2Q2JPPXww + C0C8VLfIorI6P3PbgbJi+BdKIPx4Vi8n/4t1y5fcPk/1NfALPaF2T0QuwhWiMpgT + 0l4BPZ5BAMvNLSuAiSIloGO59jHpsRNCxBcVQBPIYqMVCTZxwMy+gBki64+ypavz + UvHyj3/0Wpy1tHL/V9QSMhWW06S3jHMKS2040LYEY+WWW2+pmV+WJz94zL7+tw31 + =YBfK -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/acmedns.sops.yaml b/inventories/chaosknoten/host_vars/acmedns.sops.yaml index f8618ab46e..cdb2a7bb1d 100644 --- a/inventories/chaosknoten/host_vars/acmedns.sops.yaml +++ b/inventories/chaosknoten/host_vars/acmedns.sops.yaml @@ -6,203 +6,183 @@ sops: - recipient: age16pxqxdj25xz6w200sf8duc62vyk0xkhzc7y63nyhg29sm077vp8qy4sywv enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4Y2pKSHpMWEtGUXJOOWZD - c3FyT0pyT3QxaVRWUXB1b3c2c1ZSdG8zc0NvClE4cUtDTWlVM0gyMWpYVTFERnJp - bE5lSEd4L2ZuaFdWa3FwcHB1QWc3MUkKLS0tIFBaVTQ2dFk3SlhTMncxTHQzTXB3 - aDZxTmVsZ0hVMTJsTEJmV3pURWVjcjQKe8dfNolw5uP0UPSFDcidrLsYiY03CBa9 - htyX3ZaQ9ISQ96Kd+FuN4kfQ+sPbogf9c2QWgQtGCAAbKjSqS101Qg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzYlZVcXZiVFdpN2RpZytF + TU9LVVQwYXZWaEpiUk1ETjVlL2RHMGdaNVdNCjc2Rm9JZUQxTmRMOUFJc09DSUZs + TFBCZWt0THdEbFZsWmNXSnZraG1SU3cKLS0tIEhrOGZhVDJES2FNeUhnS3VOcGtP + SVM4ekNEa096RHBJLzNwVlp0dzZ2V3MK9T87e4GOXPDBAwEg4SvVjhA/iVi+/Tq5 + eN9CLcfc/i7Hzka5zc19YP2iqA8tgVK0B9EIDsLeMXm2+gqoDtDNIA== -----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-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtARAAlVbs9JFDVA2LxjeLB7OgiPgAkHpfGk0q1RmxqhDPdDRp - unbAEE1vwcl2piW5QhrpowzouytJpfBGwZYvDTu037uI3EMOmJcKI9QH+ZtKZ7yg - zY1B79Xye2hGte90EBQnt2wqLFFC0Y7HTaJ2petOiQMYAjxEmuUQV9tRnP7cLKY6 - 3m1OkGXIaL0fYjkyx5JEhyTH5vo16nVApotT7G8Q+S+88svcoJvIIrMWIqFAcqS+ - djfdYD2jHLeIo3AULwyHUtpab9QCcVnjPP7srI+Sir1coWqnuPRL1AO7k35mYFgd - cITE3G9g/3t3+numtO+/2SCi7tejuqCyMgpTPrE+QR/TrZNOx7TDW7VOPc0mlghm - bpQ8MvIiXD5DGmWLezxhGInnYhyrbT7CdUxUf0ZfF3yfAyTi+xfDozIdsCt8uDbi - zIuT3nXJv1cNyJuZ08B4hZ/thxDr/JLiItHUoWWa7TygEOBpUFq/Iu/DlW1lH/JU - xqLWq7oE2/mFO2kZmd3pP2v+BOfTLAWTjOyJMJTlo8GqF1D55Gcvol824mVKSH+h - xJHfE2n5AHzWLYKFN51HIz1eTQRg0X4mp2BXDCoPxBUMNTI8o/nAGoi1mo1fSXr/ - 2HqUI8oG75kU6h0g7fBCLesa9ZNk/1kqImDQ/9v3I/yL4WhrzurSS4sXWdLtpD/S - XgFzXskNNdUVL6G9azg+YgDdjmar4IMkuv/UWUhLCYCSTrkPtK734SsXDOjUTKjf - LJ9Jp9svXufmpbKXOWQ/KFPvr9jr3H8C9x9Vnt7C8EP4hbfVrJYd6zhSsasi0bs= - =xqDR + hQIMAxK/JaB2/SdtAQ//Xiy+G20sNiEwQ+vTPuAAjOgKdL3KuWaM6RX+OwcsugNe + RZlM3P0KBf6r8zOL6CT6NMOsOFizL6KK2+z5F6KYMkjOavjR5KRCyRjlB+QIrbfC + nsNQa+XpbZKazO/JWhzwZtp2BcTFPEPmXsw0w5Qz8TMX5aYe8fWEHgHl82Kgia/g + g+hlnD6f8G4vwg1h4oJ/moj6fKIFrfWqgICmLTXF+v+uaqJbhKx8nZ3lJqLHg6Gi + ZWgjTcdNP0g0UZNb4mxx1aEAgMhf0cRH1wD0Sd0bwiUdhJpAXPwlpnY4BwOPi81U + 4LeAXhtetbqQxpdRIZfZ+NUYDfhp2K5+1cnmyOJMmaY3KJ9/LbB9tr6FZm0zARkH + YExXODjS8U9Qh8UsFkN6ed5tjaidRH55yBpGd+qjZVm7vOUvNZkjiYHy41ObNv9w + IMa+4rhT8nOTGqQ0iFsXWEVjyqJtdgQqENOy88oVyCCLWoTDlV/2WKDGYaorIhgn + QC1LuPvziYIGqNpLKE9vLmoWrRLLj2lUrCgW83cM81000nRC8DMnTRU3XsU9qEGC + 2ksL4kG7ETcCCIoCzCCepvVthtM+EtIPTWQKRxAEJs/PGbz4mEXVa8CFWWH5kj68 + TDdFXCu1Ls5YrzhKPAhPfjEBhRnvVympRqZqAjy2evJmtRSC6ztXrJLBm1XH3PHS + XgF58ab6HmM81OG2STrDfBa626ImFZnoe8g5OeiNtb6GnYV7p/2CjFHzzz8xs/lF + enBAEYvmrTbW8s9cg+7MKhTpeW1VcnRg06GId14OOwNHtBlqSnqFhI7NbHULWmo= + =L3Vd -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQgAocdvt8wZaPqF7wEHHpkHnrmo1AXQTfFkg7pjd+9ghvjP - 1ZRF/5xR08gWM2Ru/jcuoFEAtDrfgzF9DXphsz1IxXwUOB9cpP0V52QmEY1FbPo+ - 2Px4r2q4ClgYdvqWXzzQbvVOcxrJ1qvEIMr4ZouNCWzpL2yHsgg54eHHZqylOcRQ - QbeHoNLp3k3fS/0+g8VPg1j+lC8KTs4xy0WaWY+hr+HMBss3Pz/O5iST/4WqwJ47 - nb13LLBQ4MwQ0gCZa3pE7+1I8en/bYOr2UqzKm1LoI/MktO+/C0/qLzSV/P6UZZ6 - jgvgn9EdnzEMzKCPPrOoyik+gXhbhKthnqQbmM/YN9JeAXzxNRjI35qTvWaMRgi9 - +ZvLxNhyZRoAFwJwUSNBqW8BFCqH9gVFCr6SwXMAZz99uhcldXQsvUK1v9gFbfCV - v9+B5eu64eFmlNcpbbak2yNnWIMbU1yt2UpY69IoOw== - =8rRF + hQEMA1QflAioE8i3AQgAimk16gBEfMeJdL7CO5NUsbJZ1fbo/iU1PHjR0Eu55IVL + 8rWDmFlk1FEKrpShoGZwlKcyx85mxNJsowWSk2pzAnZ5jh1Wa1OWS8RIC6vGS62/ + syUuO9bI5hKMvGj3UOwCXbfFWNjbLKxdGCbEZYiB131HuOge/qZ5WmB09Py3CwKX + iDwp182K5PmXrj+YSQ9pXXuliyiFeLJX/R0MXIElxlBfgHOqrZbEgu5/zq3f7j+A + jv5HdmYF4B4uuvRNlIzSkHSESzkA/IGBZ+bUXweGl8R4ALiI+IdzgRjHPmRL84TT + znHi44HpYTLkkak4T0ZaZtk+d+kjUCeQTIW9YZ/ZQNJeAUioocq4W/wV5PeajMd4 + J8hK4y6KVeizBmPmRjeRvwehnRJrdiypUgiTTQZ8bcnuilevNzNcvaBmhXFQtSin + sYVNTa85OzvUFPDcH70wCooQO1jXxL9+GCeKu060zw== + =/ec/ -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ//TOOlgI7PPiwehwlb2YnnmDVVDO+GwpX/o1PQuIvM1wru - +d2V4XTy9WUOwh5Yl5CEp4EcS4F1ZcMKyEeKLj+Fi6bgkkhilaZV8eOFGIwPgGvQ - HBvKndEO2bdSuNhKGKae00Slojaly3kcKoI6BuZUPXzG7qlL+zbLqYT9fE/A/hsZ - bAGDOPFkDz1E3KVyV32r/g6VG89Sc9YdpoqqyA4QBzEwPUfkgH/KhYQJmWD0pfi8 - HYAonm+CfFbGFtbckcMNWWGFx6Z77Etej6VmttnK/TS0rLhPVCI2n06kdGxnFMAr - NA2RqNOR1ekT+nxVDPlI6Os0KrBskXcOxskIXPDfzm5FUoJCSHLASvBJpwEX5q5S - EILpWZwdAs0V92Kfc5F2vLE1hGvspB4RDhElXBXnJw9P+E8tI+QOsR0jZwKYdsqA - OJdcDwHXaj8C9q+DF0PhWj4oz6rsOdLmBnISvf3ad7wnNv1FShPJxR3bMnrsDeVV - NSN1r4naqZDFlDuPLBVUY7UkLmLG6k8st6jJtRMB1tMVMH5f0mZ+6PJLwsR9SGGc - iBpQ2Nkt1uVveHOTBjQh3Y5ma5PD+Qj81QjtLdvxWhurhmKIkez9FrSY7tw8xx/n - CuhcotVoHs0DX66GcUtOaz58mBS1OdQD+Q+HmmEs3Xbf4InFiVLeOio6LKWxJ6zS - XgEas5EiTwMJ096cl53rMr12VJnjGGvaWo8NtVQ72CZdYkdY4M8znse/P9SuiqsO - hyeTZauRzrVVFvO//R1PbsL95APY3sh4TgU4BzES/OZr+8r34jeqwv5gurFg0QM= - =5Bbe + hQIMAz5uSgHG2iMJAQ//YUjxZlSmfLviSqSN8jQC0nqaDQ1ObrX7Z6crnuGf65ut + QHJRPOi+YEm81xTYfNdDc1++R8/LaCQWKfoBwNyGhvVC3haWTALi9ZWmYDYidOWt + OOObNaAaIj0Q/L68A40oaIvF/xy/1X6CsSRjVhUpnimv4SA/5bBlGrwiB/P5eQaY + bM5qEXWHAq57+/MLRdRp6700f0pyrAAhpWpHFMf2JRaABJL5n3fs/HYtE0nE/rt3 + aqwIcEIazelYmuARoqk2I4OSp8MHcwXPTxCQs/CogHXgvDFrhUMYhrmVGvX8cAlv + EsDfYqR7BT3IrdkJ1YfVN0xr0WRT5scTlrIQcTwWiszrJ+LHlPjNKrLOOlk2wsI0 + wOMCTHaaR9AvsOb6OdqU6+/4nSfAzQGhdUcz4xyb6cEpCLLrfwzr3n/S+46Ug83j + t3nxn7+cFAIofLegiRYvhnH+sax6ouhqcF20TZ5Y2ZC55zJjyGWNrrcySeUxBLBF + ofnQHrRpiu/VpPW9IvA9hxnh2crO04dsEUxPLhjg2ByQHRS4qCnMfeIYB6pIjkGy + 0+VO3LxNmnwgiSR97ZXL94Oxt7ygUhNduo2h8yavVVGwooQmtxLYcY+llHxwzSbH + F41u5TlZb5+2XI3i8M/UfExLU+/uGXb/WRLu2UBuhfAmT1qftDMy9XK7tK2E6U3S + XgGwpN5wmbYLQNU/m5ATBpg9A+fYrZdwxYKkSe09Kb0Jp0zP6HwcNLGOEje1Vo6o + TyIfFbTTPrsZD58m7u3i3WSKLBpmJFikWmV9q11kUgYt1DWQqxpLsXo3dd5k+oE= + =GsL+ -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DsZXvxFXTXoQSAQdAXBfMCgV6smbdFCISCE4hWhlHYjRXZKpdzetC3sjPfAsw - zi/sAZdYS/0IsHSnkpc/sA2czoZKarMG0Tsf1HAPE2c2xE5+k0XmsUCBxK7/2g2W - 0l4BAFII2i6txhgy9K4lmp7khZdv5H8KTy8KtceFR6Ag4SEZ8KqOB67YX7SHO7MQ - oz+dRCNMjFSmP7NFkliXF5ySjGv5n3iaXrHL2YIU6yhUdq7DHIE943IuUzV1MQcm - =CVp8 + hF4DsZXvxFXTXoQSAQdA25zLxfVzJ/FxQlI+JvUHlbt/76/sMzYBvFpFHw5FFAMw + OEzEelbEnxGjFISuJYkj0cisMgq8BbgWnVfA+poncnnHnD4iHTN2TsjCp7/RFphr + 0l4Bw73cIx2FCcTOhGWDpAGJxnH4uOxG7kDD6MwdFCCi7D8bfQXQHrcAoMlWFzr6 + rc0mSY2z/you0ZBxeOzef3EMYKxJcO/uHTAXyYLyDlGwufgDVaDaz04SDQxdLIA5 + =bOHT -----END PGP MESSAGE----- fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdALSfZ3hC7OA1xt+5uYvfAEVKxzPyICFJ+x6bqCDYjXBUw - p+pUn1O/aO30w3ciWyjPzZw7qpQFKjt52e6AMmT3HNaR5Jf0iUFMwExePWdKxto6 - 0l4BFal85FXW0QbStcydo6ir8LHWIC+96Nmu6F/l/7D4chOorwIu1hWD2OUJuK3+ - QuoG1sw5F52DaKAI36DTDxChybpUc7LGAGhyYFfrZGq0cNUCE1ovonQBxZTE+1cQ - =pzEE + hF4DerEtaFuTeewSAQdAksQdkWnS2DfQmaiRu1ThPJuBQHInO5QSMsbQARO7t1Mw + UAlvWb4dIaWGal1fSB2DZt4KHQ8JXntBlEdaMwpi3WcPjPQkKNeVRiB70mmwoIGk + 0l4BQhmiUyhv0WEFggx7RyuVKWV7Z8PnmEVYNYX3CYcdVRu3lH6o+bwzBTUeWl5g + 7AuvEMiyyn5fYSpJ1Va0EzniTZid/ptCGsVO955wY5dzDpkJjiJg7+kzOkArYZly + =OkVK -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//W8f0ia7hV3EnDamrPSCm1SZW76afXAi2A4RDRe4zAUKF - 7ENHdvoFuolKPi9ry/HUJzcfxc6OtzafkNQ2e0ZVTGilkVSjeA42Ckn+O/cv4Rza - zNqg5FDFsMWP+vhRlZnhEOf+oXDl0Ex7assF321ct980lI8n+R6C2IHHbrIdUgmQ - 8m9nwoOYlt8cDsfAGMKdKLW7TJHFgbOUv6gJdaeecCavVMeP08lSdslOKt6Vae3H - Ihs8lPA5Vbd08gMivqtcZLnc+vXouIc2L0eCXx2dvO3cowKPaUKDDlR3w0vdn/LB - IYjqgTHXRxMxcjP1eVaogL0JMANGz9vPL7uDSc0r5a/aeWuW/xu+O8uJ2UmvZ5hi - BPsYIHvLfs7M7YsGMMcDr+DEU6fHowFFmdkWmKVV0z9CZIEwkSeR2MPSTtTOQNig - a2Y8yNc1XwfhiHSNsMyJlycarxMa/iTyTwyjulgnFUgNW6GD3S7p4N1ClGZ514kY - j2B8WHeB9pmi+pE+QfjMz3OzeKJQkEacDQW3OteV/fuP52l3J0zI8eFNQ/LGli7D - /PHaw79OFyaKBbRdlxvVuK4OAh7xRTdUdK42vueV2Qa7fa6COa1q1ok951eTB79q - Bn80/5Vjoqr4AdVQanNwnrFe51kKWdlMJnNhcYVRDzkhdaLYsfuM55BgyziS+XfS - XgEIE8ZQ4jFqInA/o3rGZIbHKtWuPNOVDo3SpdrP9PQ0+O+DoKz2naIlelAxYIs+ - d7m2sKtUuKKOQlRrkCzqScfUACeqCaxlGPNuiZkLPCCJdCKXIKr+63h4P50Yhns= - =EwEv + hQIMAxjNhCKPP69fARAAqJJx8YqC7p3/prawVX02+gfGO30XjaD/bunL3b+MmqSc + Glt6YIWvaFONVG4GXLv1vDDGVG22Q7WC90ivDdy8NwDAawtYqMq1a/OfWQoy3KIK + 2EnU+8S5FDOXQ4Iz+UBWzDPvRDbOJyAuVdVfD2Pg3WAAK6698eG3bKe3NpB1i4gI + UErsODteubKhe9Of9uTER8DmLOAlZVk1nh6UJZXGUtsgKBRzEvVg1sWjDCbzRX/g + +8tHEveALvWPx4NcrZHBnP8ZLOah/ksTW7aCRrA/RfYlZHdUaTRb9DcS1ppqetsU + SMf327uVTuxg/SjaV5moT96QHEvYNIV4DyWDI0IC1dasmBrev6bKWViuVsLMljTC + S13FQ3ZC/SZm9GosImBD4cxTfrlG4sBvQADICCamX7lUH7zn96wl299hfjUQ3YAv + TrASNtzLnQ0M2pFCM+FNkv9YVjhJYMY0tcSfvsxArdtAmh5XoGe63TWUc5bz3Nw1 + 04PdHpzDOX9C8BR4j2baufbMGz1OGs9hYweo2VbMOjUbWri3LS3mXVwd4l4Qsxm7 + yKPgf9NBpJmbVkhi1KoU63pnOQxRTJcd79csKsyJ4qJWy8UdII3XcA0ZYGMMDUR+ + ySiMcWOgWt1rknGuzJTm6245/HyS+fKoPJDYdXj8icAgbWsYFrU/2b7Af46IA67S + XgGggQMVvZ+DTsDIPvq/bdVTVDC14ge0FYiHUIQVjz1V5qT1f6D+Lo/Sgpsp+/7j + Sqo+K5MIFC0lHqSAi5i06FIbyJylYtWxYgYCplIQq7V4+Q/WnGX6mDPbvUyx0Ng= + =AtDA -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//ZcjBGLUmwlFp2tr3bWXeHky0znMW+hppQjpMtf5Fp2Xo - Ra0e/ax7aDgvE7ANnF3Ync37fbJUvkIda5LF/JuUAnKg+hB7lCwj3//RKmZ5z0eo - BrjZ71HEdP6AKeGUxE7gM6WOS01R/7Vu4k7m6/wfgYkQQAZJSCJoK/AmpHKbKYyy - b3zQhBmDUzBobN5SsQA0vb3b//Hha+zBSFM/IoRs1OlK+BNW909xxU5D4VbkpGVK - tsKmRku053yH2PytjFMW5x+3PfTmyRCuw7qEEiECDnAIpudryxjezh09Vq2nOc7Y - 6z36oN9UDJhHrGxwi7TV4+8creZPD2qfC3QSXecWJSMKoFjFV8hTXq5O7WOGI6bN - ngkv9Sjgr6jt1B4dHSlybOnAp2Nl575cyDhe0HKzZOo+Nagp3l2Ie0IN6tjTJiR1 - 7X5MO8Mi3WH/wZ9CV6oh22M03rUujNkG6yjcsNSCNzgOjcXmRgAmbmlEvAx6LndE - VjW0W5Dbm6kmRxiaYn6NrTM3ClGGB2+LFC0aebxyQ7YwsxXndes95X53nsU7W9yg - o6nRnJVVtsaKZOD5kQqqXNkZc2webcSJf0RTfWALJr2dms086/tBiT6Pg9AV3ABv - IcPtUJ1hRGhBuBxYBiA00iYEATPmVZThst4Mqp8/9iRmnGrGpEn6pxJQihavbxPS - XgHt+XXW0rqKmz3AwvsHvc4zPEp58rJAuSdt9/gMxSU8PuwVQERX2A6hv5SfOf++ - cH+x+LA6HwlSreFE8WVQCtBX4QZqBHeYYPFbLsvC66FxCmB/yekR7CoOqAdPp8g= - =QqOZ - -----END PGP MESSAGE----- - fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-04-18T22:36:24Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQIMA46L6MuPqfJqARAAmvabR9WFRvrxjWdk9fTJAUABhUuHt3qrpqTHESGGGIOf - 7bK74DI4apI8wo9IY1Dy5KqcXoe3HGLw679INI1P99WuGb40PdRvf1Z2T1ebkgF+ - 5Mz5HaTQBgMdLTpuWaNj+iD3JBcUryoMXV+/cx/bsax1gs3IcBRXUR7+lUijAK0k - PD/j6cBh60JeX+sfMC/YeoGw00AShQstfDZYGE9/1Ba4DzhHI+tnvpWBogKDUJgi - /IH7xuggE2k3KlLObKq5jeBO7vpVGlUsLx/JX22cWk26K7gTa7wKoR5u0bZcNigi - 80zGN+HiYzn5RjMaz6Avg/GYGIKuCEOvdopX20KNRb4R7PcyQa1mgJdoBuRTNhu+ - JpJ9YFieB5/kDQRhk6Sd5pKrm4DZoHDWZqBbPZfq2ff2FYy1uQYSGCuHF/pvOl2P - 3cTr92g5TZx25w71PblyLxZNZtTfsxyzfHCzCV2We+ScVFNjCw0q/I0GMp2tVF7t - qjVHJYUNjH0eRnQWB/k/L3wBFFC40NF4RxugHa76Lye6rfvVRWzYCN+ktgD6Jo1F - 7Zj1LkJ6dmYy2ZclNcLC0M7QUb/6Ade4T+pJC/DCqjPuO/iYorZrJhs2k1sxLU5n - tpxhVergOPXBKt9fm3OjRR/UvDJOhQDxZvtDZJFITagq25hRX2HMrHtJnh/pJrTS - XgH+u1yCpC4QhTeV8nWu+V3IKK/trodRqTRxrvgrh3ijuNWGF1aYKSPyZy5/xEvf - qWwp+OTbuJ56SC+8DMRnxTNPY4ICMYGklQOzrj5SCx9ZSAnlaeM4xQgkoxIgfCk= - =W0iP + hQIMA46L6MuPqfJqAQ/+PH7IkVxZykdJzKs/i+vMOoZ0/eZjmd2BrtTHDS7NTfqo + bNLO5y1wRW8oSx20KPVmcxJEW9VGzkG+rQVp+kBXipg0qnVnlivOUaF34rDZe5rj + +YtrOux3VUomZ4BTnunKh/K+8DZuKQQyHcPwe58vBt3+uqINSvDVBir66+UzFteo + pk3H5Xq3FKEjdphlTBR3iRnt3auwMk1gHoonWw3iSl0+5YNuSmOXNWeBCyQCF+6E + E+629moOBdCPdeWnH62FAo5qw2OeMciMSWQf3vKD29gwhUooR+jXLDn7aiMeQecs + rOMeY8OJxyTrwqKf74t/3Y6qOH9ok/cgZrw8q/He+Onuy8cKVEObYz2Nbt6I3d7v + xLQv7vcRNrhjd3jh9NU9VTOaO7h1WGU4UCXl5U4r0kjsNxzJsf474+Pxxn2II4jr + tzKva0X3f4c3wg6J+0XridW+fX/OJDUpGPp2q6dgBwBimZObMOnGOFZ+Oew3cIDe + ihRix3tY1yrgb+NmsQgZRiFDr2SqaXdHsLo/xz5Zeg277640qyBnMfFUtI19WlBo + zBoCSyekwXtfQEuSWeWCEmLCKow5VoOO3DlbZkhuY6apOFr08bVs+GHWgokQIDDP + QdEFIQreVxgxuIAZ7VWHPg+sw5O2pJ1WJ7YSv82Yf5e7NnwzHbJO+St57bbQghTS + XgHum+hoQgaKYPxBH6jxaIp9Rogv4EiDlI1wS7Z9dCot1I1GCLk+Pv93mGsp5/K7 + t0qd8hvAkMNdQnJJRyO7xlanonsSqbKFJBKwRDN9cxD2onsX4ZwA7D7aIjgrYjw= + =9mR1 -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdA89FbLx2I+xU4fNqF+tlJuC43u3zfAyp98xKOMoVAvXcw - GEPp/Lq5lzJNWZEssOwgCEd04mlBQNpBYb/voBZHu1/aKVITnRvSv6d9VWAqB7qs - 0l4BQv7hPz3n/Q6YdoeyWDr4/1nBlqRR1VC9jgJ9C9JFqmWMt5pUCMcW9moAHiSM - 6WnwRhn2++8O3xgkIWQmLyPH/7XC0PzJwXj4STgTK+DJo9RI7wyf8dJDr075YAvJ - =kZ9Y + hF4DQrf1tCqiJxoSAQdAyLZmiBUuvcmECkLj6U2WkwDTQvQ2vARfL3w+vqXurjow + Z4Q6a6DGLLusbIr1dv9xNMqhvGbBuII4HWZqAqIdxPW554krbPP+7EqLTJ8MHdzC + 0l4Bj50OuOFMuYD6vLSOWEJve1nN6tkchMXHd5GtZ8x+0RKtbOeyYBe/vPhu69Jd + VabZums9/0kG9sXExNaGpV1ryBgI1dqgw8Leapuf/l3FMG39nr6n+h7UfLosLVnU + =Q6Cs -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdA1sG7VI+y0eE7123GZvmorgNYhLK3ftTcgIrrpGenEw8w - zHQqRCFekkLaI9jF6b1N+psuJu60k/8TESLDf8A1dXvTeev8Mb9T+h7GdtajYdG+ - 0lgBWr2ikd5p3d0B4uSACnOlicfAMXAaRif9Ceny8VC1JoZ2C3VKd0ZJY5Ut+6g7 - apc4VlFzjlaVsMLCNbuuvSTCXbIL87SBCci8sgI7ZpmtMJB7finIlohY - =/eTi + hF4DzAGzViGx4qcSAQdAKk12bvOVY84621oOeU0DDK6A34CffFEvk5uJ4tMhHCIw + YmggoUg8sDH6nX62qQSqZJH2Abg0kAVxvjHPOcGLrpYY4/0RXJbyMTW7mg/yhZNw + 0lgBvQQoWejMCaWlpbsQUUrbPVGrH8ZLS6glYeGcIl5m7qKtej8q1C8/L6VM3xSn + ASeqf4J3qpZK9Rc5n8hdeLAX/VaV0O85NfVplJlF9RFUt9GKyWUg7ZiD + =+zbp -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ/+IxJpC+5gRF/byIRqilX9LBErcOYzGjTFU5WrStFXhwrf - 4EtGFUqdU/uKLOaIsfVbJhtNLTFoOcntzaSojbT58cj5SAC//c7/nsEKd0UR67Py - w+7ZQHEDYa7mdbg+XCCk5if9HnU4Ml3h3rHIaaftIfIxXz67EMhkfb6y8dlHKn22 - m+wWWg3G8PYvNUbm4jnJDv0POqNUrxJYGX4eIST7YOaDzpf047kwhet3Wfi968Yt - 0FdL3sPfdZtOkTDI60YSr/irKD7EJvOxQZufTqVv105/K7YdufhCeRCHq5jmOL8L - OSuHiYLulRXdHP1T469AgP/oB9j+rrxGlVR06iGV2MtVzblUvVcZCaumazkK9/7Z - 98696LQXyd4kDAEPrsKWAi7Qyq0ZUva2TQd3Uv/KxEJ5t6Wg936LlsJyNzok83Th - qdOSaNJ/rgcd8ryAmUD22XnVbNMzfPmD+1lbj39HsR4gt9YTszKrUsUpVlKxnTiz - kjidtORMtpWb4EgMJ1HgITFmPoaQ9rG9EQ8zmYtnwbowvfYMomkdLtYE5OqkmuLd - d27JEwUgSuqaN0KsbI1CwJ7ATHWH1lZR0XHUEqPHOBANKgDOFbpwXKm8jXaof1eT - DkBCILwa7FXgzQMrzzIMLSGiWXd2qlH2sd3oGk7VtPv2BRB7UbpwuVDM89Em6MPS - XgFmDe392JDd4a1Ht3s6XURhJKhjbPxu94BSkKgYsWDu+1sCiZLvdHCBofSXlsQX - WIw4f91uCQCR7o78s6fWmgABu6dldr3RzzIF8pBmxBoiEfAiAr4ls5CeqYMfWJQ= - =HGsj + hQIMA2pVdGTIrZI+AQ/9He+haGL2+T1HToKM1Jiu4rMTG8lhQub6tl+yJ4mjN5Ee + dUV6U8CIImUs87LXaSYCo38OhfLUTN39aKTz3DthPajCJhnxc0Fj4CZMl3z3BC0J + wwy7085khin+rdKsSQyPxmGKFEzGo70Hq4eR1HGEMFigDAfSVFEasIPPkzUvAdk8 + pDH9h4iUQC/O33at07fJX7EaFU5RVho03bD4U3SIeEhc29oXVvRBrfwc/YBrpJuq + FALxpylVLqCkC8uUF2f1eTKmkQAmiCLKssEB5KVyA8NfFuzvk759lR2u9lafOHEt + XGVKD8XlFIv0qInVuYSnBy3GNwtWVPIhMsZ2T3+V03iYqjFRP/ypjOssgAr3qk+2 + SR14CvP0bCB8baZYjPVqJ7UGdYdfbXuSXPr3G7xvIqv8OWox8tE1DVR10qEAcC1m + gH+Gj2/n3WiBSRhLZgqKh0GH35p/n0abJJAlKC9FJNfsacFyBIOrvzWL+wbrOlqy + OgBaYtLM5RZf7AnHibed/5bDmUq2G4Xg650jOGvgOjWtFno5I2FT45xxSQfk4qZu + jNyXXc0IkUektt5kz4D2GOXgzNlGPg5ONeIdIjDkRwZUjlz5Uylny114Hz0owYkp + XAcuh8xZyai0WW+d27fgyDuQZr8DCYJKOfpFdXcIr1kwI5fd8DNSR0L2NMMI1HPS + XgHpd0EjTwsmFQCr01b2B7V5xDOTYoDij2xviZ1brfZFeFmTf4KYhMROeh+K+owM + j7U809cHE2np0Uo9LZXsRU5RIEI2eb+KXp/85rrOXzgCWLct4ua/1HmU9Ik0OWA= + =wgjk -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAlh3p83ICW4G+ijHafJ/4M2B/o4EPcX1kmcMctCInukYw - 9ve8xKJXZeSjB8y0jOp9JHp98u5ZG2HFuHqLofHz8HNEeHj+oGROIkERqCnmUeWe - 0l4B9z2UPU9U8rTs1mFDZMqiLkVtb0E8baDSRUOTcrxuNgNYTmt/Gu+uwxOxxJ+G - ggFPh0Xtjp+15Mch9pAUSk9+91HIOLcQYol8q40mFZA7dfXMCJkD1GD+ihWJBIAh - =qPoT + hF4DKKbvh61jX5USAQdAty40YK9Kmhl5BJsvFfqpSq/wYKlYUTf49RbvmvbJUBgw + bNefHYrBweQ0McEpTQns3OAOOXoONeeNcPODfBQDwMiwTwYmmGR/C1vf1nSI0XYW + 0l4BkXuriMl4FIi2ODwBv+dVFkWOOx4RMUUUAdnxjxVAYVyW1fNg2ZxyQEU1nuW0 + icpAusjDWH8aAtVIe5U4qjtfShVrPWBTO0EqtzcjOLQiQA6PoWO1pEGu57ldvs/P + =n6pG -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/auth-dns.sops.yaml b/inventories/chaosknoten/host_vars/auth-dns.sops.yaml index b69debc526..7883224926 100644 --- a/inventories/chaosknoten/host_vars/auth-dns.sops.yaml +++ b/inventories/chaosknoten/host_vars/auth-dns.sops.yaml @@ -5,203 +5,183 @@ sops: - recipient: age18zgt4y2sd75hxnpe333zz39048ctxpr0q8a3uqh3jajjkyawsdrq8yg5ve enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBoYVBFSXJkUGtGZ3IxV21l - aElBWkdQVnFzMVBSQWsvWW1hVXVHMmFuWFNrCi9zZHR3VTVWb0g0Yk9LT1ZhdTNu - aEFrMVNZajl2eFg1WjR4d3ZFQ2JSVjgKLS0tIG04S0VKeTRUUGVJekp5Yjk0dThm - MEZQTHZXNExsSnl0WW9Vb29sajE1YzAKoYU7rGuR+52+U02uf3eTH9hkIECWdcJv - wN9JTwsUn0c6mi/d4AHgv5O04Uw7NxUyGVmFlDZzjxLwPzZyR73SvA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSArVUxoOFhZdi9PSkZlU3pw + VW0vNVRTSG9EamUvVGR0dnN6ajcwTXdlQkdZCkFGVWxPcTNSOGtJdlpSMXJxOFBX + VllHL2k5WFo0ZXcvTVlRQkxwWVBISFEKLS0tIGFwNVJYZ0o0WGhLVDF0WDg5Qmxk + SHhROG5nMGp2d3dwWVJsZk55TW93dU0KnW2ZhU6OhwwPBIxcO1xP+W8DV5Obj6ov + Hgb8MQ6i9FlhAN/P8onBsqvbh0ttBEFQ6aRJj5njKs/MMfKUk9Q25g== -----END AGE ENCRYPTED FILE----- lastmodified: "2026-05-01T17:08:09Z" mac: ENC[AES256_GCM,data:TaMWf1ESs8nYzxkElMYtsz+/Be0PtI7FA0q6IFK+ob4dl/EN+AeTD7Pp0MZF8zcRvZ4hF0Ybimet5bwVR+d7UIXlXz3qP//pX68JDCvcLMQuhNtm6Ws+mwVxkpxEvBr1PtxlSvcQ76vH3ryEsXkP84gmlCDEdX1GAZYZ9ZS3Cfk=,iv:g3tzUfTPNUQyOAxWJEFPHg0IAPAzQgwYABHm4mFOOrI=,tag:C6KE/bg/3jS7Wc56y6YOJQ==,type:str] pgp: - - created_at: "2026-04-29T19:18:43Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtARAAprAAcNL2V5+aZMxersIlCaMh2QVhZs6rxRlG+siH+zT0 - raPl//5kz8i85+ayqOBL/1P1PnLRjMPOaiCIcQWZaGP/U9R5GPyJZKaGZmQx2cDz - vnuRQ2zOHGen13s/Iju2vB+Or6fWHzEDcM2y1J9YcneuRNHCnIVp9U+LlPrIjEUt - +nueDEcAct8jjWjXre7IdTU05TqIkHPiRQrAn58mhpgMl+Ubtc1S6uNB0vkh2obZ - MRN026w8sVti6mgivZ0g7Nhtkq6JgKLUyu8jf1aajzKP+gTrYbkwmTzq2JyiOyPh - k6qFnT/7sVKqH2yUGZFvforEDlhld7jqZjqzyDHd60GN9GTboeaSzvmGVkvVDd50 - YbiVijMqVkFRcrb490G8jrL/7/eWb99uQXUX3OX5WXq7TFdRVT6uxGoXPBdd8yc1 - jTvwU40nS47o53qKJCP/WeESuXNIlvGIrt2MZ1Q6FSBu+XUI/nTuKpQyr9Qq2WN2 - q4JxnUnaXmovk2GzmfC6Zmk6qEGUHznHmy6EISJTb4lstiULo4yH8VKwhRWRAqNo - TDipXEjSyQ60ppScnz77UTYhV+dHjZIWbN2M00tna92ZgDED0HP7szSEuKCFU75n - HwSc+RHKfse3JHHq/ypN0rqmxOIStC4x0wlulCMUKWdOyXq3TuslKmrJBkN/HpvS - XgEB5boE0GSTwylChO99eB2+cxKzW01hmtPbeW83lcX3uO1TSPnIrp+CvuTU0LpR - /qnB0r3PUccID4c/PqOJ+5rXGSvmNePS0fCrV5XoIQle4RFibhTxDMDu6u9/3ZE= - =jzo7 + hQIMAxK/JaB2/SdtAQ//Tnrf3iB6wg5E6ASwlJx2wyUkTodj+DtmziKPvj/6PNdL + YcfnCATYQvki880dQKQtVuxelwMcS38h7kXLyt6XSCccsxAfJNmxULEw3eJlln3k + fOBcSSgUChgMy+IyGXxmUiscfKXUCvAIaev63h5YDj6W/msZEDo7IrNoT0KYLX0e + l3rSSI2N7IAhXZCsi+9xVBPkCSCmRjYYQZU0IHSVoMmrpn7sNOw35hXcHuhGuggK + ToLx1vSST3pNA4B7LUFdfrVS1Sw2tYr1cIuPhGlqxpaJY6C78TYPCEOo2GC5I1/K + el9QKw91vByTDa8PVevSG2OVZREU8pAGY6MxaArnCZ5KAnIK4PKiKwV5pxHlT9XJ + y+0RtjTUQwKyvKIIVjVf8PSATIcQkauqMKplQRBERbzBsDPUgeLnDCFm0DfMsaBL + 8sy+Etc5+Wb6yn+0WaMOlBOsVBcdApKMaiEEzZzpR/LttRgFBgSIdiLWzOYZT0bF + 26QhltQPVWzrmIoxCyQBQXHA1B//ZjHkZscFvcHbCKH8KcFNJi0BImEyJhJv/4Rb + XfMzwLIqoAD+ZFMSmNNngRHvp6fdxSz5TAAyFBFsnPg8KZNk5GPzdmLcGahsVybC + 77X2qNJZOejvluLW34oAVvFH5hXGZXzrGo9KuCJ+QUmj0bWT7SZpFg92tf+3X4LS + XgGGBsCIPTT1kxfnbEo0EzVRtdL4BJ5sHRkwOEGEIxBMzAZMVxQE/e4LZRYQqo9S + My4rsPTyg2LTtZ5MTm/94M8OXrHfFrdkm3PeK9Rv1B/nP2TejogkbD1DZmEHlKo= + =3JfV -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-04-29T19:18:43Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQgAnInKqN9PjXQSsLg7wUkv6Zmd6pTcywnBJe4DTaBFlhmF - jIQDU36FMNHBhJ4hG9i5dggfGV4aCMoU4EkkkIyvyogU96dRloy4f7c8rmw/oGvR - XWq4OaIsHlz+AvnELvEUgaSUZnKX/oz+0wxwYmpE06BmYiAo0sVfgqotEfnvhu8N - nBVwuTwTGVfA7IsfXBDAavgzhNGQHytUSu28DLrpfRw+3qinQxkb6zFVkRG0asdY - Tt+JSPrN700CS5Ln12g9fijZW/u2bZWi9VnL67PTkW+Qn3s7h6kT3zp2ECM965ul - CC2iPJyPnoXL1Z97uAgzc/qhv3WwvNUSS/kvUF+lJ9JeAavfZh6OK6PFlFSeHyVM - lC2+6O3fSAHTMeq9No3lx6vkENAdOJsCsPAGqTJMe2NFGglzJ0rhuUqmMn0tSNO1 - 1zitlwfYO4qDW9SDKv0l0acBuDv6n5GhBvLSe3mMjA== - =ePv5 + hQEMA1QflAioE8i3AQf6AjgMwCKWIHme4YtM/GPciapmXRwKjhAxdcN0mc7badia + zJPvSIrdIY68+dh+WKuHRnswnKBwqouSbuQY8l8dPvPmmaiu4vacpZODyJQWZ2Oh + MKD2CL3i9FmyhTbIoFshhb1BhijG0pbd5S/XFvI5Xj2xkH9R/r1gfD9+ktJbL4K7 + HsQqopkVFSSrJqs40lOeiSbN7mHjf1QH89WsbKje8310ohdO7NHFPh6UXrZ6Kvoz + 062+37rQzSsET1WsWGq/tjnSilRqh5Toa/zc6PSnBZXFxlMKjTpmsWqgkiUkJGpN + Ya1NXXQDFdLJjxMOJ28DFajyddFjAXkJBCa/KEOUntJeAV0E1IwEk5bhULpuTwa5 + xNRxUtTaf1E2Sn9q+GonFjJOeOC6ilxpMIEd7MWIVuMZZOuE7zcG4CfbVnzlcU55 + pS/myCyNxd38qH9GHSUaSiFD92O6REUmgT45pWsfdg== + =0/YH -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-04-29T19:18:43Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ/9FY+A9psuL+q0ZHBtq5/IPawMlxaFIrKa88PDSRkMcQ1Y - u2vQIRgocWhxZHIdmdRF0vUqSBtfCcdmv6wE4qhkDxyVwGeHsFPidiqUzEE8HFVJ - rKzo1oZiuDk2faAhgGLpoSqnFzxUEMwrZnqfDRsZGUOLvXw0EaDHeCPXQCZRYuHn - dNEbZ4bSTt9w5XoTY9mLN66q3U/XxDFxNl6Z4kCgk88HcGXY7mW4AcdcAu3Kw4LX - 6iXNj949ZVa5JV2wAYZIfDDgs/tslDFN7yi8G8AOQVdHJHw5yh5/+GE+r3mbZ885 - zWDyRSiERqk3YAHwwW/LGHodXJyi3ZzQdusUPHTQBZ4HOkUX3D755x79uw0ZyRJj - SpP7ASa3MPRfGJlmkMQ7ADTcKZvWlX1ymYwh9mjocUAulqclM8XbQjTr61mB3pnD - EF0MpJnkz02ZHHcZVelFJc1aTsUwvNdN8xOHL9HIbTshE1E+myYnu1bQTzsqQnwX - lLaOLgX3uI5tJtHSxWMxvzz47iDLUw9fzWYUB5M1Fn34j6R26YEmlCTZgpJuqX+P - c6tMqBCAZxUSdL6HW4TEBbEl+XdAlZTAoj1X9kH2SGC1K087w2QC36JJulkteYbF - j85s8PNTKru0516UWpgyIIHJTSAB81hvZOJ6tQyYekF7C6W/V2e0sTwENHrNH8TS - XgGpGnl6AdX3tC/+6NFKg70a7EtbrxNXf3dRTY3YWUgI4gFgoWIDW0DU/wu+u84U - 2zlC2bP2l2B0MtBBulmXr0V7sOVJQkiNKjacl35joT09VSJwuwGrsZahTyRGz3Y= - =a2/K + hQIMAz5uSgHG2iMJAQ//TdGkJ+2wxxTqak+k23ZsfV8P60kqVTxezZXFAjaAbOhq + Yp/RjOu4M8fnDwMMMcUBcMD1eRg+N0ACHj6BxAk3YtdMkFy9Yz6WQSAZpWEbeorE + EMPgIrrgTrgGPEpKlr5PWF+nW285lvnMbiX1bMCaVFAKuoIh8R7SaLR1BV8UQ7uV + 6SsZ61GX8cabFwpWkVht+qjwdl67nSkPREeg0ezS5KZB4ILnuKvjBFKBpzXLT+9s + K0hrsPcfzchi5D5APy8ngufJVTXatGy46BkkSTx1+qoo+TddwsM0JqLRJT2VoJ0O + EDOV/UgDZHRlfLtjK1CKHjf60i6Kw1HXbJ37Wfb9AwRX7u002aU3JfApUDmSK8eq + rkcnTa4Ynb8oSqiFvQzvGmbeI9fc03GByQjCDgIowfyLV1EDhgqYayED/cVG2TQb + fXlnUlLq2tAzGCObZbq2v/dwDF+gRElKeqgkX1YEqNAz1g01Vxy21JnF2vRpBC+J + SndKMe7t7glN85p/1+SA/hbnIZT9QOmJeejlWskcFzICdStyI2T275jd8cYOmf/t + UsBk++7LkkdWoLdY0hPdiMCqfFDLaSRCLpV4fF8xX5PYFAcKr5ohbLQXNoFY1ull + 0GC7vSW63eyzQ97xmivxhCn5gUhkN5+hJquM8lmS9EMFy23RgUbe/gtgtNdXnXfS + XgEJpTSmJrtzfoPWsM1Y6nLHkSfTLBp13ADxFwrKrmWbN8+cxCoSSIca6KtfqBlq + UUYI8xltG0MYPi536/QhQkf+dsAlxyy4mgySXbp2iKGLhTKbprDPgNE3846nGhU= + =RONY -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-04-29T19:18:43Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DsZXvxFXTXoQSAQdAgRYONXUKq3RdEDtip/lea4IVIeE/imupcUFN/GzrwgYw - XnhQYjYkGN9HIkFMEKbUyle4F6Sp8wg4AGgPOC0wzNVXGhYeLMs6ybu/BsXAGD0U - 0l4BBzCLRQl+FiXFMjJviii7HeDYq2wcZzqWX46Oypa5WuezvcybxZZIrHTeDrsC - k/Ie8oxBoPa1eQIHafde5jbcKBP5v6+aUxEc1ly70r90CckJYdARggltx8sEOvSR - =1O98 + hF4DsZXvxFXTXoQSAQdAcBGUq+oshC9P0+C/IZswI2rOYkiH7u+TjmrvO73wtxYw + 6eaCdG8MnMExgdI8TQlW8NRhJwyNpOKHG+/LGXnwvSFocQeeLT47iwkPUSh4wQLB + 0l4Bm9zBtQ/MbQNKERwcQnnzFMAmcN86lBumgFYA+AyEWeR1xbxFUkb9BFJnbFU1 + kr9t+VwdeIzwahCplaH8BSAock/X/3Jq4QcfE/lA37Di5Kh3aUoZ5AyevDxZS4fG + =teMw -----END PGP MESSAGE----- fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - - created_at: "2026-04-29T19:18:43Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAs98uz9XAcuRRnIqRHbiBZYhMiejmbkM1RZbY3hPVBngw - H0abiCvS1xX/Uln2kJR+PsZWkyaSGWAS9iErHSHR3sLM8Era/W4OfmgQlA3eg2gZ - 0l4BX+YygykgEd25g2PaQtZahfW0ZG781bJ0Q0oqySxQMdg6Mxeb6NtJTG7EZso3 - JlEmgVZqd2wZqyzIDYIZMrvBmRF4GNYnz8Y/x6BsTBPRXsX7eQHlxrilE/G1yXTC - =Y8RD + hF4DerEtaFuTeewSAQdA1H99i9psYTOvpKRYk7w20Z2w6OUpBiwNs3kLUePVMFAw + UrDJ/JmNYLKbzVn4panaBf7IjO2OkXkKftvTpyCD1NQ7qsp58WppdDt6pXFUkcp2 + 0l4B2A2mCUvVSopPn0LcadfeblAozLpaXJv/5OOdbjNzX5lAYrisJ/NKzQNW3HGC + dy7sodmeetOofw1kgjNWoxZ4u/sx6uf8Lwf41dd4APV81J+IStpzXWS8zzTFZC74 + =F3IH -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-04-29T19:18:43Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fARAAgsm/os/dSSLjxlgHi/BOMb2vl+Rsz+zXxpofu1uBgQ21 - MwDBQiZohiEcD+IRj3oPv7zbtc/TKRDmcc8NMtkybG5/imV/osIuLwPAPkvPFI09 - rfky92no2GxXhUhmFUwElmwVZMUgVrq5teXnajDEpsffqGI+5dRtwkBceLNr5GB3 - lMOiTpuLBpqD9nHWetvhdg/TwQLNBCzYfDBxvLXe53RT7y0wncM4woC+BVnBxlf7 - tkmegf9Xf74qmZT6oIgLilSqgDuJDX5EYDu8BIwxU5B67diXL17H2/etagjaEHFe - l7pFKva5OkM7e2hhxrBlxGrPxTW5ng9w1O0JFy2Hz6q65AnNw0Q3Ji4O+UDSo1qw - WEWVYYVBETTJ4d2HLPRWuTuIph/t1Pxo48DywOvmOgyQ1RfwOp2pS/81S/M4FCiC - lzJ7jWV+A6wdACtKxQJ5t5+PFf9PlUFjnN0mif+4FJf6ZZRsavSoNg9msStCcl6f - MHd6hn/EVbwZXzFRsIX/GtikES/rIMn5aCG7tl4czRCXRqrA3JyV202fwKq/dshV - +S/HHMj9kLrj/VURDlGktmdBDyFgf0PklHDg6KaBPH/pHgjd6XvEYzhT5vo5uPmr - yGbntwaHT6h22x0h4FWVHucX0a6cKLJRGVbvBAOSjID44hzS2/b/FieNU3vMgsXS - XgEvsWmwdZ5Pizhzpcm88HVn3DPpWPbdutxxqUzjA9IhxRYMNoAC+XIac7wXsAvm - QOM8Mho/7JGBR3TmE2qObrGbdBSw5XrpjrHCdBuK52lJZwTySSZSp1Qo5pNHm7E= - =S7Vg + hQIMAxjNhCKPP69fAQ//VB4U9TAW/lxwdgKALoZ9wnfIWmc5xlbORt4MPJ3pfmRq + EjJhN/t695qEl0ePRfVteR5jc/3Y+dIS9d4aFkZ6m/iLWAFWdWIDfLV3PXCMMBVe + x/zBbspJGDXbWH9F6TwD601hMPyu0WEtP6Hyozo5PWzNxYaa4KsqgzeQuTVnd/Tp + zIvow+ClKY5U1KLY6510s/ZBqFU2yvyTlkg0nhouynf6YK+pQW61LqRnnYtIIjT8 + 7kMoqiP6tPtgFuSaLNqe98NTn7044ti+PRFr0sESbO4cVJPue4JEExycMOq6eSpS + jaOi1PhI6ZUb5/jd6Dp+SrgTYcYSwaltt4yqdYfvTgbo0u/VZqO7kRWFNrbSHL3r + 5DcsfdlA1Rg6AbQ7veAWPqYrBNVb8Bdg4e4PSZJQA0+B5LU3AWlAXGXsXyTYqxO6 + OAOkigH/mFftkfMH79879HkfEX4r9abBkfWIi7mVvWsyR811AlkjAmlV0zn6vTJ0 + r7ywLpVZ8Ofvmpp+BG3zcTxjckqhqFnuhuzaoeTLFkwdXBGbqHSFKBpvQKnbFTII + /82Iy9cgpAJ7mPeuer8Xuvr0xOYP36YXQ/D1i9RmI/abns0KutE3sEhHsY17IcKB + vTpT8q7vv5lgVMVRnfsXckWuCJ1u5x7ndWpWxISeZ/v4F+kZEUNPqiqKALW11yzS + XgHccL0RwQmBRqAoJCZdE9cJbSalSAauMC3Asp4KUSbUvm6rYNmJ3aVLMdDLtWdj + 24KLHZlZj0Cxox5niigdhEE4LOybr4J84tY1ANX7qs2NsVHR1MyrpgkZf0vkKlk= + =RN1Y -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-04-29T19:18:43Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ/9EdO6mvxKmXS5CgQCZEpqS5i2YPxz/FDxO+D0+IBM/E4N - zz/TTwDpN28t6xIrHxOBfi3aHrhBWBN62mIuWu/x+Wp6duW7y03zprUv53u3MvEm - AAn99pMb09Hodw+coSzJpvlPKx44OvaKGEgF4m1nbLzPR5x6v6zb3nc5MjalKYwg - qNhoUcCUVV7Og6Lz2erVPuEKab+xFanUKCm65iSo2OMy+XnYRApXl0RnBOTiwNNF - a3dnVFp2vzIkWSDcZT2wo88F9PJchpFV0IxOHUAnPnV2oxn7rrcfcAjAAw5OzSmx - NjZUPVKbN/o5IVpe2fuR/snUsNhURYC5QM0ggadouQmgKlkScZlPJ5uygGb7Ufl8 - Um3YPrOq9gi+OGZYYSCNTU6FXt8cXVqws4DBKRZ1vO2y+CZvUi5KGqKmPrX/bmZ5 - poJoRp1MYQPr8z3lmFqCqrBeJNEyexxbCbNLOZgUF7LwGvaCyHKB03GMsagW7+uR - 02B9GUQM81LCIK+6xsXRP2a/vssWTb8Tw9SbAxVgYZq26Z/FyipPG/GPatWOV69b - 71JQRT4xJiMtodBg/vNv3gnsJy6AwcOi8l+qxSBwFnXOgNQwHkvV+tjh+d/FmrRW - iV28SFUlg2MSsPr7v7DyF4HuwH4tCxonZKqZbPOR1adHpUyWYeXp8fJIWjB9jLTS - XgFopMPZEaDXlizt6H/0Gl1Hwwt08+RwItz1N6WqhNwqc2blhVrMElzAX+hF1vVW - JQiCOEAxT1oTztW6VLJFwF45LBVsd444zbJNKDSmvIm8SsYu8ORUoWWZddgKhEk= - =wJsd - -----END PGP MESSAGE----- - fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-04-29T19:18:43Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQIMA46L6MuPqfJqAQ/+OoE9y0D/UawN7ksuv1TCDuZAgtX1rF7KCKrAKXQUrW8W - Jkwt3iWn3YFtDS+GPyPi4NilbZieKr8mn6ixLE1XyVRiFejjYPeKe5Sta/mpG6kP - r1oXasAJCps570SBRXrGi4k60YYdDlHNlJAXslhILv1Hzq1FhG97iw5OO6EwjewT - F2qU3HvF+b2KHDrU2Rcbol8QDNy5tOY3/TtXXd6FjHwNkw47aBiR8ZBDulYjdQ8p - ydaYikz2MWxp+e6VPKC0pmHaWaP1plBRxgzFnIXvzlk63rLHy0vqDnp4Wp8XQZXw - v9ZF13vJfeWjp2DkhLjuAnksSLnuddIhB/FS20ms89QSn75gzarzymOI0RhlxLpe - SYEhGou9qopmCoPbBmuBDDIFaECxY6Y8iroPGNRSuxX/4k1aZ53z6B4FBxYScDpV - vMQowVOG6pSsTpC+GHJvKaf0ynzpLtbczXJEWAiThFt7N9IaoVqrgqBQCYMdkbps - 3PZnuTBNvZrsAeyqKr6mlBHcV1otIFnQ2LY/dT3p6L2Gg0VuEn2cbETLNTWYXxp7 - vxPP+fGITdtcl6EyiEA6QHr8gs4xYTuQtPDxapNlDQB0/IMTr4Tc7l+jSPYaRC2y - vkNAGKoHKYY3dK2T/cDfx6UNZy92dqLKbJFOnO7SmsHUXKCWE1TcYcEqIoru3TLS - XgHIpimFDg/jU8rJ5mlDJtkDuWu+2ABhuY9QZHrKrwx5EKTWK0qiABsKqqRvEpEZ - /foR2TbAY2q1Ee25M5XvqTJoc9nd43tLNkOlVxzGcIHpP5ea2SUOw32Z8jnANH0= - =vOjZ + hQIMA46L6MuPqfJqAQ//fQmEQSe92cvtm7VTP3zXw6UR6LS5rDgABApUIrM44jkB + WvBzGvpHOhct5eeBaI2LW3fN2iBq63G96anu8DxtkV/b7HAri9ltMuv0FxQ8pXVQ + 0FQny95Ba3VmdAaSE5pNzjj4B4HaI3BcC4NL0+JGiK3lzMiWA+6Hx7nP8VqJI80X + TO419TGEgAhm7GJsuAHtKD/02K9voA2ZJEtJDxNGSqoWCQsRQeVu232hKE1Mq743 + CBQAWi+ajRDa2Y7QmXniKtVYzDXiolKa/bNEjh8xyxeG4hyMuBjOD51RbLqFzz3y + LKEPCHjXI3Cq8HvJeaVXz7C0Tfxyc+n34ZHhywUhcefDLg+T1djxQfZlkmynrPEQ + Pf974T9aQ2BOcVWE7Wv3JRlSgz5PbOQRwClfCvaWz/RVUdWT1lvxT501+JTjgEQW + 52z88ydhX51Bxj2l5OvXY2ob8DeaYyzORIyfZsq2I5N3qmiJ0E2s0jYxRLUbvuT4 + 2DITsepMT542uESooqnL5TOZ4rDbG6n9pk5WwunQG1/4ExycUhil8oe4nHTtatuA + B5qbOqulx10t6KdhrQeJkfSvCKtmA6pT8iILb8m5r773wpezzgN7d4J2XcUQyROG + chwBt/XlR1dVAZtNjCVsPiQ05kj+mcBjzQmZs2j4P0gvsjdrB1nIn27zXdrfDHfS + XgG50cSHiwDkqLeEaP7O573rELabayok/x1NQFWpXVabhpaaYLTIBPgTs4plGXDd + COz2msyNapPZl4nPCIrB7kpYR91iHohgw2nTphsSQaa31Z5oqyrqRORrda/dW0c= + =lmnF -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-04-29T19:18:43Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAdiTy3LGZXRFySQ6d5fY+khLJc8OD4Vedfq0N0Lo4KX0w - oiiI7CHwXIUo9fbX/9Fp5cY7RsELssrFpUJ9HtbyBVJXh9MUaXv3BGEk4eJTTP1V - 0l4BVbUQcIo0bruu1BEW5kozfvFaN6q6f/k3r535iC7H44aA/t9EpA/ZO4gVH3rf - 2WXqLjapvTpITOMHcLItJ0a8bMi3zB6BdxPkay7xLrUEjXxi+ZGo4D8U6xwopKxi - =c8c1 + hF4DQrf1tCqiJxoSAQdAwn3AF5AOKbG/BaGs63x9CRKZdY/JVZG/FLFBMCduIGow + XFe11gvDhwMHBCbrF/Niq9Ke2a0UQ48/GscCu6UQzg7J84UHWYTPOWA8TV6mVLZT + 0l4BQuuyUX6VcLFc2SavjDFRSND8gymHQ49T2Or1BDHuT8WzNQ2NfGU33txcVj6/ + NrmPcDzAj6lvcb6/LjKoFQCLeNycMEqZabCHFd6PvNgWF/jt25TC3i00UvFW6gkj + =3hFq -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-04-29T19:18:43Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdABMyhW0CH5eMZEreebbnnpJCsRdUtiFaTHM7mqB0pGw4w - jVZVy6eeIohIwngdOsoIhQQ5OQdIGD4s+j5QJ6dNcJzEPZS5wE3W8csiSYKCTyNV - 0lgBAJV0NOFSVQOJvmxvHCRALvNr99YLUoJ3lrjbdgpLvXC/WU8OcUu9B642YNGe - n0esX+Kwv5zlvxUdjbZAp7yY7Rza+zuIx0qcM4MYZzS9AQboJdOEjiLK - =ffrV + hF4DzAGzViGx4qcSAQdAxQqwH+gtkaIf2LUQl4Ww/DR2TyifeD5cuaKjNx6WZRww + EEUizEy0xTZGosdsxwylCGefP96DyTdL3LtOItNEjzC39IyPNc0WtYRIP0rh03+L + 0lgBGpG4loGsa84rAevnbh0FHtT/IcT6qz8Foht0XTIv6pjqSt2Alqmvt5rFCzu+ + z+Tp+GWqTjaTFXnhodFg9JUuiGTAO/nHt0R/7tuBFPiq6nSwjLJI5GqZ + =hEZZ -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-04-29T19:18:43Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAArK5DSlr+wsCdvRggcTnQDQgnn1sQkeQFxtK2z7BrdcMR - dykn4IMFw9XDYU+iNY3gnDYdK2jZThm2kQujKbQINBIQA7en4bpJKvu4UU4a2xrF - tYhM/7tOSN7DnZWx/7qnYuHDA/5frwIL+csWXbp7tVeRAwRLkuJKMuMOl33bXvj8 - mZasXWtdUzrcnRgAm4BxhYpSogQ1gu3ojIVn15Wr5Lnzt56NAcmCfMl+GNbJxmrC - ftt9B6mXNQLj19p+cKer6PVK3F1CmN+B2TdPDGE9DHZ0I+t+tAitqtm/j9VvPiaH - gHEHRQ2AFmU6UTXa6X9p7PxWOGlJeSZEaOgz99TfM72mGvzWvEh53tXFNINeBnSU - KQJDlNWmrGRfa3cdwyq/kAVySpYAtMSaiAIpDw5zOeuLuplGVTr+HkAEG0UHAnaB - /4yDOq3q/2awMlOpb8syREGDAPI0q3qAt2KZl74sfdvNjLJ3iUhFRG0PEtNKHV7b - fgGZEiLsJPjiSjUAT8PLqzByxj9Lg/Mc6b8XDFe/eC75o6bUOigK+Zh//EK646+N - hAYDQ0jDiYJUSP6pFk8OvhokW8N5+oNCBsd0j4MV9NPQ4e0EtI21XrACMjo4o9As - rTnY0fYeZ7lU0b6L/I0OpXKDSNa7iQL4NO1dRJysVBGCKOxbDfKdlbwquu+6YCHS - XgFIoF56xzkyHu5v6xaf+vBArsw5GS2M2IgjqnOFVsYHthfi/lU84U3HNpnNa7Ky - 3igXQkOCBU9k/7qSklnsPGlkP2e+dQm0JkqiZWk76VJxQAcos4SB+OotErmEFlo= - =WcNY + hQIMA2pVdGTIrZI+AQ//UtTprx1w/pc6Wf7aTvAnhNO7qm0Jx0FUWjooUypU4J3P + H3u81GBL3hP+Le95dX3DzrhdgTvrhFT7FgeT2T9tyA+sERnSuaZYE39UNZZFLYeV + 82xqFNdUNviWCCDte2gR455VmOZumHQPCnzSAlHzTf+fBcIQqnDh5lTZDHHyu7hV + 9p4olDEp6BxQctVlGi3Vkk96UMIglUgOmBAKtOy3xi+HnO9ZhRNxFlubw5kTYzQc + rWjjDVsLsH7B1M4YT9qgx6TYjNXl54KeTNtR16u7DkKBEIZ4TSj/tFVKNjtwS6AQ + uZfgavCoImPP8eforSnbLjQAQ21kh+C3sJHs2hTNvY7kWq/LwS0Iewrk3VP3YkGD + xaxshDFZjUdKbbzxE6pLWJ3EHtcbk4GAGcG+0kvoFGEqyzWApXbbs2nJhSRMpF/k + 2hK+324v7i+DzT7vn+5cRnP4znMF2+cz5X5iwrLjybCScdHBUTD2NqrNq9aFFyMT + lBcl6wO7EAz7DDKP8TIs5V8CnSaUqKj0s2sIMqDlxFp9RPa7D9JvVhnfz6U+ksTY + AsbhNjVCLp71OBYw8zJmwxNIw8SGRQhchaX90+3JJSUoBXgPUUCBrdulzyrDZlNR + 2sUFRluq69cKpkR3f5t83wPZtzI+BmHV49U7bNkHvevnfJzTwJxOATgjbiO7muPS + XgFpDE2K8AMNXh3CAgGzHUie8JufI8ZJpivsoi/5eHz3l+yrYgFB8FxfC3tUGs3h + Wr/Vi1QN7bF45B02A/pI4NdKQzT8ZUpLw+49a6LfwZGS7nT/NsU0xjasMYIA/l8= + =wofd -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-04-29T19:18:43Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAzS2Fnf6RNlceP0CMR+WaBR04wWH2eRASnbAAkhRMglMw - 4YM63ITWhiEgWJ8CXibxxN92Tla93YvIId8ahHaRUnnHoG6T/zGlFTXfTsp2Ao/c - 0l4BcwjBbn8miHU3wRx9TY2M5jIatbsZL0tNTCiGaPKfG+RdQ2fHAwLXTk+xC4jG - 70gcDtXlHDJV9hRn0R9cyfJ7UTEI45bE9Pt77CXAAkL7Ii6g6lQUdW/FaHXM9hEu - =SWXD + hF4DKKbvh61jX5USAQdAZqEhoNNez3k4mqv8/g84aZOP6zvH1P7at0emX4Zk+T4w + hpnuhLqc2m0OuRTsehcQ4fS+9lU6YZNcVCom5+PICLnucPQM5hOU8zL6fM2HyDDV + 0l4B7k0B6l+7GhIUyioexwHtZV/I6xMLWSXY9mruFqXnPoehdQEKFF5eFuEOWmBr + zeCRiUYvGBo2Zl8hRf7+TI9DlpcTRpLk39Cl0XFdP2en8VGPzjI+MfqMSq8c6QID + =dvZe -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/ccchoir.sops.yaml b/inventories/chaosknoten/host_vars/ccchoir.sops.yaml index c4d4b17602..0db9f7c818 100644 --- a/inventories/chaosknoten/host_vars/ccchoir.sops.yaml +++ b/inventories/chaosknoten/host_vars/ccchoir.sops.yaml @@ -6,203 +6,183 @@ sops: - recipient: age19rg2cuj9smv8nzxmr03azfqe69edhep53dep6kvh83paf08zv58sntm0fg enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBkUTJsRy9DVU44UitKbENC - NWxFOS96SW1rbWpidnFjOFQ5ZlhsTjNpNXdRCitrNDk3SEJrcGpRRGtDL1FMV1Fo - VU10ZHdhWVlXcXl0UURzMEZKeGpRWVEKLS0tIFFlRW53UitoOC9VbktSOWNkUmtj - aU9lS2x3SENhNkprVGs0VzZrZ2RRK0EKrUPiqDmIhhnoXDhwozoChXWjvkOpYeUb - KiF99X5EDhG9xa3WlNv9n9e3DPiCWsjaJ4xuRn/8D+BfgxFalJoJBw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBnREJvL1pqcEFzdEJzeS9s + d0F6UnhrODkzdTlSUUI4WllFZzRJcGNTV1NzCm9WMmYvUkl2eVJ0dk93RXFKSXZB + Nkx4QjVnd1g0NXRWUlZ0d3dPRHE3M0UKLS0tIFhoS204NkJuMGVtb0JxZnNoTVlY + UmkzNWd6MUZaSnN5ejErenJJZUhTencKBqMDXhizRI2BaxgDyQ12eM6J+yaV5nrA + habBkglZALrlu3R9pIZy0Dki98Y6pMa/MRf47oE5anUXs8zbqudUng== -----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: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/9HlyYXFis0xRf2UCiJse+bB7nerIKoWPx/mokAqnrOj+y - WPHesJSi1FZHT5kG8TESb5mB9re+2ilwmLVW0THiSsDo3rLqc9/9bLWX/Ja1BnCc - 9qVGu6E2EXfrpJ7o/Iygl9Ritoy6MBvLeY3I7yHrFMXE/wGPc4vgXBu1jCoySBnN - K7o7ZqjNbPtO4y30cVCfmK2q0NGbLj6a6EYWBd59r3qjSZvKJ4ViGzosJN6z7Rib - 7Y32kqlCtE00i8tkcZ+6+3ewjPb0G02XdRLP7KoUtoUF6vEg0iytbGIzn4nY79cP - iN8K2mpnWw0bKMB8CMkv3GJ4m4hnTAcV6KiDkIE4heKmCxN2sofxkBY6q7+fNual - TgsqYyxvE7z35ep7QXudngeZBpsq3gTx/Zca3Kq60vCnz8ghuaREITsaOhqeZ8ef - bu99uk/b4thMlIpHHI+WSvu5mDc/CFpFy1ufNkUlGJEJUbNxH6TgD9sL7/jeCzcj - J4o4/NNDr2ZFFOJ2kLESuVwpx8V9nJgHcUIDj/t9e3Ir7xKAPeskyInQAeyv+Tfp - 7Hy/L/QnMB7TL5w0VsULrIHPAJz5iBVmKgJq4e/Fk85J8pRKaLL5Cg/8OL4u/mXz - vmU09Rm48lezU5JZBjyi3ai4AxvUGeKvlG/fINulbYtqH9c6FcS+TzKzSf5p8QHS - XgGkAeejX7R1vrzEJXs1nv7IoZUoU/3ymJsKxK8swJBfb8chmfjE1u/68uNYslHF - Wiz2LCZe9UVkJ668X/ikAly1sk+IG2C2XVbfXcenOxcPptIyFrILb9qDC+afFTk= - =qURA + hQIMAxK/JaB2/SdtARAAn3/Tg8DFoOnqH6T3sQQsjWlEyei4Yv0kvWUYhKmIqH4b + Fo3oC0uAW758EmFwfFHuiztFPrXRHtOU6/KEMFTFroQRfLB3YGytmNWu3+NVcaoG + 2/ds0jR9YnJ1LDGtq/DTkADMjcE69SLFO72T4qwCa01kwdznYBO3psmu/xg+Yh4z + WDjuCs94LWqtayR89+vixaeE4yAXKPJ4J3hseWJsfx2YwmBxHSHgd+8QIPWVwt4X + Ya7zoIIxdiJC7cgvgx0PoLDM7lGrcFAsULivqdNpo6qm412u8zMN5DCSue2ZbNRj + ZC+V30TTST+S5+UN5dPL7L8/VPeFXnT6WjmIAN1vxrV5JOXEcmKDp42csw/8NRbp + +rAKArqcaAMxiel1kq1tIdgUqiEj9l1JA0UBsPLQD0connuJZhCE/AX9I+f4gZVe + L9nbUcBgLQStfvYLb8YPYpChjNsu4B4SXrdv42vX+EKCTG6m9l/GejHNW+RY4Us0 + oRTWEQ0wExGD814kslQVXGS1vcUEYY2j6HBuu67BW1e42O0wUreakw7czTQb2A7g + 0qmRQPY4rhEst65bbW6KMSXCwN/EO7fqNXUifXyIdd2wAqmkOeKmwGOe8FixxP6n + J9MGV7HlfPCVoaHIR9DzwY17VRYr1dCRagWkLH4w22htffZJ0nrY4dc+NKkUOALS + XgFeQ35ueAHCT+3p6chqBIwqgqtO5uxXc0akeb6tqse63u/evA8/lSgDvvck3sU0 + OYkmK2rG4QT3lP2hns/36+nYXEsuewaXHoR2+T3iZPJCObJnFi7QxyOE5GBGYLY= + =F0lE -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQgAq1WAZrKqKEbUHq1E2rdAVdq3+K+8/d9ar1Vggq90WriQ - 9WD80nrHFYjz2PgPeINOxhy1+Bzwryb9/wIVIfyMTK2lAE+24ryZO9rHzgwB9X1/ - V1rbK7Yf1e5FDF0NyRcJB1h8Bg+0GACNCzqRxb0lybiLsQ+cMu5hNLSb7sZn7qwY - E2XhD+yGIrqvLLvoWeEQF1RjU66eRLcjZBldFRjGrplCzpjxZZtJ8onVMlpIE8Fw - ewdxuJNtB33KprqmJ3uDr09JijursNkNNuDxSKvcPoQG2EE2VwUAnXWRbCGXN08w - uc2dF2ay6eMooRtPmyCQcuL5zJRKAfXVZ0zL5p2Ar9JeAUDVfjHPM4fMXZeqtoJs - B6A8/fh2ipfFCf2IkOfWnJNK/BAuc4zsscPMOTEOFiANzvkR+rY+H4Z+h8f3eOx0 - O4ZSePTjpKBFKWK/uVgi6hXaSqipp6IxoDhNzU1zzw== - =ejMb + hQEMA1QflAioE8i3AQgAjWkTZ2MV/XHerYCi7xQb+Xqy8w4hTKpj3Wnv5QIYYDxw + Es1kOEWtMoY6TGlnis+8ZmYEcn9S8EFsC+uu/G5xbHzNlwjbk8EfuNe8ioVYTRF8 + bo9daPHAHEbZafiBlajSWeyyRdJTR+I+jX1AQ7DxkPy29uDnq3zMb20OWuxk4fga + TuXvM4qFa5YdQhbbWQ+oG431JIH3GRMngLujxAKpd3WjH/XCBM0aECZseLm+pAO0 + DkNoyODc6llO7tEaY2/3HyU8z7zOxtg+pcKe23cp5Om65SbQwKEPegEGuJ9HomS1 + vCFbusoQ2E4VZUfLihWgir9y3FeRbMN/MnaWnCAOc9JeAW7DiVipU3bOU7SzEwKd + goz+RdkEm1wYOZfoh7ecllt1TeghjqjzXjFy9TgKlc3KLt65GYityl4EhApt1rjj + gfYQQkh86/l0RH9SrZ2swMIurAZKGiFL4/0FHlakgw== + =MCjs -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ//XCRvmMAvTHzE8zWSI8wHSq+b640jaVBaZm3pS4WM+vdt - nie33ZxGyaxZnnzJ5zLOxkcbSZetWqytwQUMaBwKaZ2TAufS98oNoLkWQE4hrW81 - x/LWVou1NJ9raW9EQHca90ecMXdYXLBvqtZ75zL/l52/9XGm1rYHn3p1HSyiSr72 - o7J0UlIm/hmqXylGJLkEISRqCNRC9vROokiSSQ0Ds4FtE0joX5TBv9OsuFFtaPp2 - Ky9SXspJMfFl044CSCQnWcAzwKCpbTmU6JlPIsh+GaNKS6o4wrNnMKIVM4l3+GfS - 29QwsGYPjuUdYqAZqItY+Vu6Vp4D/kWrfn+7X4zZ2JHIGBKTutHt29xgdw6MPJ7P - m2jJP1bvycUz31mCk8uzBKVkZZ23iBOncl8UJoJsjAqnaBwjnNc7RQl8lzvFOxlS - uUxEsmlBE3PuUqqK9gfo8AQ46LQWjdI6HgRamlG2ENfVwEvKON9eh/5xqIOS5ua9 - A1OvIzdatfnMM1jo/SsJmNxdRjzgYmw3GJm65VZ9UF6qJGm9sEoVbkd1GSWsIpz9 - BvNMMynMODawb7DgeWyIXk3xMI1bOuVADrBr5AvNUzwiMQhJX/nDtjmkxmBXSpMs - kKBP3ojU2Fn/NOYIRiwUcUAF3Tg74FsjXHH/m4Ee6J/GPxUD9jD5EZEPnndYX7PS - XgExUmiXGp3wPDUYZO357odgqn5aG2xaddcizlpy6KGLgAuUpGM5ncWCXAjwF5Sb - bfAOoY8pPYEUPY+c6mPfJLyqOly4693rrcsnYHCQzbFKorQcnYVY0M4mUDrUcYg= - =L5hZ + hQIMAz5uSgHG2iMJARAA2D3h2oeyIfrOVsW9mKfdPMfxtX2Wl0tDSY1bNvmWF4VD + FdNZ7XS0zXPtZDW/22kPV1JZdt+mZCnTop5FcKpkM1apR+QlwUu6uJt7WcSb598b + gjd6xA0QyOw0rO6IYN+i+i3202HqlsdqaATQHpg0Hw6O0hFcd9cECzfOwNFb6WxU + HiZXwTYH2nfxiTchx2JiJQb/ZIa5H71lXfu1hPACcclMPkp2COAO9MiY/oSIzRGF + kTC/Jw+15oQsWnKFZ2+MSBfDwxNYLy+LCspdoOouqOaB0tACJtsz95PPfX6DVHhZ + sgE8x1f8QiIXSCIxO3yhxTug6Zx+q7yOrWr61OyntMaDr6hcJBX0NdaXGEHibMeY + bqU68PVKxg5DJLl0+/cq95q+6nM1SRI1pEZY4lun7HSNITCcFgMVUdOWF5htRQ80 + DGgrOdtocubPKF/rOjS1fFXAN+AJHIvRivh4dAfSYNlzKtPvWLu3CWdU6FIpc+kt + jk6hsxHHzQq0Bq/eSHZziCahy2muLay5JAr4RRqsnmILEpQAjRhkYBB5TeADCTCz + 6Zb1yBciKdeDLZ6Zi8H6qrrwwWJUcAoec/cSkB4xpesXuEuC6jkjHE9GVnoGYe3a + XuacfBcikCamIIokbN50AVe0R9o3Rk/lUFUliTmb1/u1UXHF0d4u3vLVuwZPIVrS + XgHXkFGi6Ke1RJrF++M66YqpZ8bhN6GGS2buyfT0+LRCzfIOgCIj7osa/g9cl7/F + vqWWtDBL/7jXnHae9oOSsH63T90juOwfkOb5XqQLguAjGhL5ajyCJgohLJqjKno= + =i0pv -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DsZXvxFXTXoQSAQdAkQEY27iaDGrBb7QaHTdFd4N2FAaclCYHLthOqN90ZwMw - /PbibMQhVd5hmBoIIARysJyFjmxA2+8hlUkNkuI6iFgDHVpRpf23DoWO6jNJjdlB - 0l4BMWXkT3KnQ5Cng9oRa1eC3xAhz57HAu9X0BgpgBixHx4c21xbtmuL7m53R73m - 6umg9A0VQfHzujDnStchZVMBVzvxEJiL2G5nYpc+ZQ7tK2bCBKOBmeKMjOnaUyh9 - =gm2J + hF4DsZXvxFXTXoQSAQdAQEVPksysp2FVh5PSvcVIHId2XnBRHDPTOJG1ricz6E8w + yRY8mfT9aWy1VmPc5wsIbodchZjPqOOBHL0kFCigmmPa9zkS+mH5QeL9hTwGZ8be + 0l4BOrHe+rHIB86JFQARxHlHfvYBI864pzfQ5alLut3wn95QOh9S6QfmUnmES+gY + uxiCgA7NcJ/nbsIw6DVNA1Tfy72912Xp3vh2zCV4VLjP6OZHF/Xr2+1YNq9X7/W6 + =Uc9t -----END PGP MESSAGE----- fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAu5qyFCwOLUrmiGecACr390L8ReDmx0vULQ8+uSqQpSYw - YuN46CmLs92DZz7f1PSSR33v+R5SZCLMNdyzWiVPPVZ+EkU+ywaM5eiH7rhtCqD0 - 0l4B5MmxwYeG/l1GfPofxHt4ofrtS4wxkoLqsiCqYFW2hrhcUOQxKa763DYAy3IK - WWMhawQPvMzsLYDQlxwMcDDiGx0O7M22l0RuteU5GBANyA4iei3l5AGehiHtTkyo - =RaxN + hF4DerEtaFuTeewSAQdAnVfkFHIDx3u9wWoYxPRBLwYixXXsQx6AB7vNS+mnuSAw + U8wHwcOFCkV8XWjF6UBwPzIsVKZEvTDM/eSPUSt68OAjFO4pF94XpfCNPufx1tZt + 0l4BlCQ3vJzd33QYndcAE09ud+P3wZn30FiSr/8dyGsVZe9zy4moOR0SFls8LVbK + QBDGoQQg6BDaDTGV/QcAMuADhCQqfyuQ7VZYDUpXICkNOosG1UiZyTU+vhfgXL7u + =NItp -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//TNz56fEM69OGsmISqmvaWF/7hd6ts6q72B3g7jKMNjKv - yqoCeesmtwvMeC/BOQ1RgUC8SdnsD2N0qnaDIUFFdgYG0cKsr734HOQ9gd1DdIcF - eN4q9zUgBvt0MLrfPPuawwBvaQVgJXbMT5BULH08yPrEK1fzHW2hd8Opur/b8am7 - utoN8RC4FUn/XJKRJKVFpYPFxMNLxMODI3JfUpWvICP6Fug3uG/Fd5oPGKSUYsP4 - EJgqnB+TwSdWAXmVbhc6qcz/7a+EtTp34ZuiLejF44F++/5yi8BXch4IjmQHYM9F - yUfxxSoFv3mBGYSqnSiiJ/F24NaJwbVvG94Ywzkw74a8m7zGvJNJtR5FfrmIxyYV - uXZoJPLbD6kRZihvDPTw91nEovRzvocEdgPIbzs/Bom9vtL1b00ZTSXP37YLyUAG - CZBkQLnBr7I43qAo1wpPJqnpkckLrqea6uOFoF7c004LmsoetbyT2hpdzf2n55Q+ - 3ZC2V1G6mMyInWnWFtWgJfaKcKopCq+2bqYv6gIBaoSjf8oflBJn63AP92ff6kBK - c8rqT7Z2tOeQAXNUV7aMmCNSSkEeX9yf+U0qibGGC6ySpnnPzsdDHCdKEnuGi/KH - cjn6F72bVVkCjAjt0i1r9ZJSKfPp67a1+4bt85Zv4fBbmlg1YqjdOp1LV7ltohPS - XgF9n9DWtpI8zduAodpwoL6RDV5XS8PHhPJCgeOA/2PCjZoZdVfP99D7BBfG+eK9 - tp/4IkeFS2cCK48GLRTRRcVZK5PJOm6PoRkZrNTh4FeQsOoCIRtXl0aWfGvoCSo= - =QGoG + hQIMAxjNhCKPP69fAQ//fiuWVi5N1oIjOuVOlVFk0tenC7UQ2V7+xBMCslVhfWpb + RNNVK3vRVMoOjGmD9QRXW+z2H0v37P1ytsWwsaC+ov5e6DKcbWMUiuOKRmH/p0PA + BHJFmQ8Y3Qr2T10DtBDkmSNW53nrwar7bjGHHbFXRkly8rAMR/iLJ3Hw3ADKsS3f + RMl9Hjla4VdHpJ6iwJQRZI3gnAFfYU/Diku/SaQxPHGSPzxo2TgCxOQYEXafeUUI + L8H6CnHaGUKJm8Jl81jnqn2vZWcvma3vai5m2UGy/t3OUH0vbHKhwtnkSx591FFw + FfiAd+iHrk/jx8jFeNRt9XqnTO2iC5DAvp/PfeDLsUqZ4L7uuVNKA9/ERrsHSBBC + ZPPxWJb/cbgb98MhFoV0QMpgo6BQr3BSKLEvn1M901LYutoAHBRWffqeiN/az9ka + /YSVz1pJ1+ZKlSgyJeB1JNe/9HJhNDN+uMWZ7doSgBCTfK0KkzNXGr90J3Yc+Lpz + Lz5q8+pGKPqdm5Smw2ZahSjSFpiWlt4ipnQpxEnSMyoqPbiTT31DGj5inOinURtt + LgYo8BSjFrW4++Yb+6PPPh+pvxmIHFSZIcGDu2PS2c/8i8LhB4PIMkPUUbEO+7C/ + u102H7FIcKTXg7MV3UwHxShaqW9n3V7Af0GlwRzdhzsj0CJzFVdNOMxzJUXab9DS + XgEM6Uh/P4sFsSzhfnL7pw/vY/Pv2XgF5/ZEu4W2mFctSLGVhjkCYIrmml/uMONt + bKapLBZTHycw1QyZ0162dmrgEIG8hZ3kl+srKbF06tYkEEx8PI7SO6XCV8AhRFg= + =xzSB -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQILA1Hthzn+T1OoAQ/2ONhqsRVoNgzS0LOt9SwWqj7Z9nW7v+U6ZjISYHHr7GhZ - TvjDEeG90M9axyymNxVFIWoG5LrHuXaNpkXFCW9hRAtOruhPre4ApM9uFmNCMEI3 - iFFCJUXKmSgcfmWi2K51BzAs5sVQ2suyYJCEACIfaaNfZuTzZ59VxT+YmRD+Wko9 - 3n3lWS9HOe4QQvxO7ec527sHUL90orA+v+wtpTBPekE4Y/T8N1R7ni2bANzJKuxw - 5DZH6mP7Y0yRvQ5TBN0I7kZuMG2vZmQ+fGxGMtad8s6uVi2yS1XzXDYbVAzOy9u6 - keR9kfbyzvFmXtuvFYeKTbDd6E5MM8vtr2IEAj6FHby4ubuFPdf+5QwTi4MTXuiQ - HEGd0Jff7x/Qm5M7wciKv0+3XBkLONHnzexy8W0AhVZhO3IL3qeO+ZJp04bEhE7h - Ph8OYLXljjH5yCVmNe90RgF42pMkMWK5DtyEh/G49RzSzdLFG6YcKCtANsyGtwmI - gtbYDSZCq+1Ba1pEB04kMt5meAUbSLBUOHcZ9pNyFfHH0KMsunAxK+tB1tUIIsa5 - hzjnWq/h/jEAR2VvCeHFvPfFvm5D6XAFI5kLQP6cFIyzujptksxvCakjDYXsbpNQ - cS9Pb5UtTszl8n9Cqn5YTduNJTittxw8ltG0gi++pxxsVFCyOgoim5lfx821gtJe - AR4VNY3e/g3aPvGuTpoEcS8DefibuvKSf1coKzOHNfIOiLrPYkShxIE0MgacCuzn - CcB1ZhkfYWHVqAi6HpkFvjSDcz8nh2Z+Z72HyZLNom5za3E0adh33sKT3p1+lA== - =9E/y - -----END PGP MESSAGE----- - fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-04-18T22:36:22Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQIMA46L6MuPqfJqAQ//cVyw6l1wqAlRQxr8f9+7CLfK6AGn345A0OGffebZ1Axb - pi03+Xg3Z8pBSfvBHvufRCBbKdoSqVrtkYvEHsBYDVclazs/coPNxG0xtMEWZAa6 - MUYSP8MqN19YAbmFs0C6Xh8qndcB3plI6Nqo8+Xi/APgVr2sSJzRj8l7XKyNwKpV - HGPPwsQ/DslLA9/fugXHq2a1sYtybRNA1Ea+iGQBQ4c+ea0B+3N2+WkOWE25la/N - VVmsLDPQ7ATyiP7Z3gGbqX111P0dk+++MPcFdAm4ZhWqHThFnwflLKm1kiwmBYVP - GCyopR7QghxDRYzDbYEDWuFnr6Jvpm0nsOJipq+WNALvvVtTb9DP4/dtTLZKpRtz - k+VZqF73fDYrjKiUnBdgS2MeP3HJC/BWnC0QtbeMrwbxF00Xp3g8k6oaG5p0Ardp - 5bg3MJx6QTz8bhad6TkVBeGVkj7ViEXffZcQaY/LGSlxmu3L6JxIMR0S/e4cl4en - 88Wf91Bsd/iHfDxZB7wQFl0oTR6nzuw2W/yy6K4HxtkZgUWUFeK1FI5mjTa+v4Sy - 3EkkjmG9uIe7pjR9poUykmxB0M4siCxhv9hQi3qKWHkuB0i7muyo3cn0SNKBjCGs - dkXUdH260Cd30Tp63tQ9S/Z2qckfPiOZoyi/18iKk58yFQPq2W6IU4iJehyFgSrS - XgGfHYmbVDCLdWHQfTkQnxTf0Ujp2z3iV/82f/n1R2HOp35JfYXjZCwc3YtoGMLX - X5H8qPgQmXCblZXUuD4CpW7kHIsxrKF75v9Zn0md0pk8SNX8jG59DQhOv5kyTrU= - =wntv + hQIMA46L6MuPqfJqAQ//bFCSLtnThEDWj5ZsSQamoRrztZZc8Lgj3fD/txoINBdD + +VR25vtt+yusb3ylZ+g9ZkWNNqKNFBZOc87OHALejN/g67E0/T1XRKf4ot9peWiV + MHsOe15D3R9uy1fCjFZYJQmpBV/VeZy93hkF0dHgofQjd5mXs+xblqnXq6lH1Mvh + dIyGVgWTc0ho/kiu9usQl0aSSgzGqH7b14Phk16sGptDKCFkU2BE+OY8hncLoGpr + SL81tNaNZ+U4Zj5otmciPmR/hUuUcI4mnyzyeCojDQM0NqxicAxHEsJy6yFnwx/L + dWciebP0565gi4QSR1P5zZejg6WalTpjW3EUoB4GkX0h0EWJb2D90y2CndOFMgWU + 9ipguIDCBtC6a1eQ6oE1QW4oinKz1RUg3CiGEEZCuwF56CPpamFy9NEqgm9o8q3V + E4me0jXqY7+o7HMABwyQW/ObbNxEWFz+TMmTIMJL50bISgVvU8DIAz99Suk3QCPu + Y0TPKwZrs5khRWJJIsvBojg91E3fAgxgiWaII23iSVW9WJNriwCoyh4hmDhy+HW+ + 2skybO7KDTT3aKt6GSt43wT2fb/blXywuv3z95+pv5viYA/N6F0izKTC2PoNOgWa + +F/jdmCrLzKLunjFcxbcFwoqnhhyDKORnCPNgEr1DkS7OAjlcOJ+DumdfVB1UnDS + XgEZWSQxNMpPHULd0c2ien3J3h2OTwDg9qlFrAupZn7WuU4kBt5Q6b7URbyXBBEl + aH6uz/15ECK8UzqB/ZVLQkV6wq3V0RHCzFk+u/jAM5E5tjar8C/RulK/7oLDhpU= + =97vh -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAihL8DmvN/S+X6exgJ77VLOOzrz1tz7cT8vGlc55uzCIw - /jG5ILGTModtEbpsfVvIQX1nt6MD8f1waj6mKvKE4PxI6yWHGwRjDJ1x0EkxlWWo - 0l4BW2sSLTh94gd2oFiV6AVqscPtV18ys3veXDPzAg6NMIHL5bBHuXNvedVeumYj - XwrAw9yAKa3Rg8LiLjCdJ4f83gckZ4CAG2ldY8OFEpHaNj0B5FtMBL7HNkwVnInl - =W0xv + hF4DQrf1tCqiJxoSAQdAUQQ4aErujv2rGFHXb7A5SU7S7m4cHTs1J7BIkTrm70Ew + 5+s6R5YuwQfpQ7sGvExEZDiEi67+R2BLJ6e75ZJWSfVK/7f/IM+/V9EDi2GtwEmQ + 0l4BuNzuWUEMqzc+VhO+nXNBCI6vlu0noHkaua4A0bWq+27U5vPhuauOWnNszpZ7 + tm6TkZjpDfYpaKVZwAIdaK4s5qyEf9MK7Kejx7OU/ZqglLRvuH3VYFiW46dVlFEm + =BPqi -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdArumKLp5tZyfs5mf9n4K/pbtQurYF8/WJzaOEb8vv6ksw - 8oaOI8rHf/g4crTt8ZAJyD5G1ge40CKG/6z0AwYg0WS5kkykEQchv+OQX4YDIXTy - 0lgBn1nIFvnTGndzl+kS13XQE9poSkX4AOJJ9Dc62uucgM4NC8h7vRFzmu913iVt - k5G+qj1ftjk2US0dK+DbrSLIk/k+1K+Ns1CnHiCyhQElyLFjnCElXf6Q - =QBfz + hF4DzAGzViGx4qcSAQdAsxQlM2/+WRTCEeatV4yGXqRP40NnEoPSxFEzV7bTnRgw + m/gvigOSnhvaRCOl9CRSbhj0sGsFURvBJQaKQk1khQdisKZqo8JyYWxpso83qBwp + 0lgBXcEZXyDRBGOh/q7ywjMM3pha4/yytn6h62C6JqaW653PcdGMNW4c0sRzpWch + j+W829O0N9RQNL/DBpZzYMthY77YBmD1aOLDYLMIN9A6qGdHZQP9Ettj + =23Wi -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//cRQxoZKQPLP7nady0XH9mIZRCPLJI0lmojdZiRBsudR3 - qKPEdlnlp+RQynwqiEmp8+gr2R53MbmJDGINVT604GWSMZHD75KhArUYmnLE7rBJ - nHHWm8rx/PFZ26rgRcsN6BMSqitp36my+au61qBjOBioQTehQRpkckkV/soApj84 - JRxn2mhSj0/OwMN4Tnw4YqPeDx7ADQlcCV70u1rlGN/5qpTcR6gmgkN1iHbY2idB - YLjCJNWKPTaha6qCbVENDxfuNRaYibzCf54cYW2RaE84uHMlRMD+tQ4PsDeR9UiX - d9AE8+B1fToLy5HCMu+CxyU67IcpZx1FrxnYGvBcem33m45fVSrfeXC8LypRJRno - HU1GyXJHMCQ8Dpi3G2kW16WCpzYmrP9FnJOFPvqt9KnMcV0VknpB7fkgs/KtgR3r - n6LInXzRFuJk2rCntIRLQpBl/0829fBiVrpGxnEr+z8T3zoopuFVxC/m+6XuHsom - rcxI88j5/Eif5IcdmUDMPzy3Yq7Na/NQhmzcaoPubjw5T3NZVrbhXdh4sWHv/3K7 - vFc0djF4xDGPkrPeW7HQj/INOkBL9ortCOc1K77aMNQLr1gRJHASQite1QitHCwH - uo+b5qTh6WUsh7fHKqoiHo7jF5x+dNHA6PvnebeerocE7FNj6QAQNuZ+Q68Z4uzS - XgFhUfzBsHctHKklQAp/4RPjIGzB3Ht4sSLNiDgcGYgdiMvVbMf0067kq4eG+xL+ - 8pYWwC7oUBzaE6k0LUb4SVUhGdKmFfBZO6eJvC2oJwyk83glufE1jH29qFYNBFM= - =vEl0 + hQIMA2pVdGTIrZI+ARAAsMeoFXcQDOrHYiUZxnhEf8C+zB9FI6+h+soRTyHxzFff + CyXS1yRyEhqXLF1L1w7bhilVVWtZ7KM+31IdnHVCnofu6+lX7vzQbfKZIUZXNEGW + N7ekSSrRhDYc55s17QN9/c4Rg6UTsTuueCb3xg38LSh9Vm8uCwTCkK6J+Jn0Ej2J + 5EN4Rvcu2hxHcE7Z/swEv6XzK3Yotmajujo2k3ckxk9OWz6YXSYdVQvq2LeEm2Rp + wseNIrm1rOEFSAh2zYAe/JtT6BOGdgLOpAD7tZ5XnhLNcUzS/eyXDXXEXWxkrF3r + n8aNnmgZmFrhGOxdA6LTaV0L1T/uBBeC8q7enR4KQ97zvxg/LRovQmJaPk5D/Woc + lQ2yob2OiXIrlOQbhsQDfS9nC6U6lXV8AgmgXwjPiPBlOLpzSw04DMPNDyphR5h0 + 6jHcLHkXC+hiZdef42Hrm0xkj+fKsnfFWFL9/ds1szEPS6aG71V85prvZPFv+SPE + DIk0UrVHuK/axdlRn+eYdNebERmSfKN6FeENyErPZuZoejeYP21PukGiAgxswOXI + Tbtrhg9n/ccTcD1VyGkABlryTN8cAdu4/DAEclafhItAdKNjimZmRJvjcnsPgPlF + 7Ml+tKAzDLNnRksTW/B83YU3XuuWE02NloE+lL02a4xaZiLZy8l9c12qSkcENOnS + XgGR8dS21vOMAY8Z1hVPIe+8PnU2D4H2/uk0J/CQog5Fwmcw4SuvD7/o2rp9N9sq + VtyPmmcliITfku3ZiOtbhjzDPIW2gjryg/hNgf1OUH29UC9w5C7t7TFr1nMbPgs= + =7Ib2 -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAJLVYyGCZtQr6f435wBZcJ84m7XNmzLGVMt5SEAkTxjYw - jp5E3GVWSKYiIUtI+I09QYsCnDDt4OLul7+G2VFnv2j/t4GoxuA9Q8KJjWmxaPUx - 0l4BFAk6yLIbW0aASHCsEas7ujRgEGi+z2OqK9vJ3C5LuipGWTNBBjDPMwPvYLnR - iOTb0jiueDqKeGHuuYBDO91Kxnt1Y8KBiSGgwnIDcV5z3IstcyFEA9sYtjQnn3I4 - =Zrv5 + hF4DKKbvh61jX5USAQdADkFBpdkdxPlc+fbzDagYi1iCE4i9AL0mJIMCh8sLZUQw + e7MQeSNeAroyForTBCxS1mU8yBRkKffV7SaBPwzRnr+6mUqCkE/zN0OBTKQ5fhPR + 0l4B2qoHTL7fWlfMmXRoxieuWj1+gvUctTdMpE22PRRqj1iFcbqPhIO9v+YKdZve + Cw7jrMy5CPJh6o9ie7HKorbHUEtX+tPbR6qyEjy7lGLgcrwAsHPPwA4cSdvEZyAU + =WEng -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/cloud.sops.yaml b/inventories/chaosknoten/host_vars/cloud.sops.yaml index e85071355d..8e4a7fc837 100644 --- a/inventories/chaosknoten/host_vars/cloud.sops.yaml +++ b/inventories/chaosknoten/host_vars/cloud.sops.yaml @@ -7,203 +7,183 @@ sops: - recipient: age1gdfhx5hy829uqkw4nwjwlpvl7zqvljguzsnjv0dpwz5q5u7dtf6s90wndt enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBhbjdjSXB0NUtRRDgwM1Mx - NkxWMHRnZXFOZDhkZlNkdjBrUzZBaTRDMTBNCkNqMUM5cjMzRXJSemxjWHNpR2Zq - Q0o2V1Ywenh1MHBUeWRkWjdKOGRudFkKLS0tIDUvdG5wMy9VK3JBTTFBOFA2bklz - SmdEK0RVd3V2OFN4R0lldllKVXZUQ1UKgoSPBxLwBps7EiO4qhhJdA3UbfAUG/+/ - 4na7wCLzfMPGpjifJ+GIDQMujlu7N5tX6oM90vWopgL1yTkgP44jzw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXR0ZGSkU4S1FIS2JKL1da + c29mc3RETXRJZllSUm9rZzV0NEpXQ0xWR0VFCjhPcU9nWmFIdlFOTEVSazBwV20w + YUY0UUtCMUpyWjVCeDRyeUVqdjJWV0kKLS0tIE5nQUZxNlhld3R2VWxJQUI2bXI4 + dE5TWkliejB3RFFLU2M5cE1MQmd4dE0K2NnlwhkXbrEQfGOHWcsoJsIfo8E4rUJu + 7aixlnmP/F2/NYAQCrbq09/gPHPVvKHGUfkGqCUg2jI6ywYR2GeiiA== -----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: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/+OIyoiOxbCqXkG8GaksrEAnUMyCIMyWWhqooSxpjo/Ex7 - ZVDRYQ6rdxn71JH08LMdQ6GyrGg0yEZg2Hfo8Fk992xBllchm7i2vjYx9HaRdWaa - KO0ANVc+Q6JZNG5sjLic+E6IgCUxgs44EU2xKn5KlLwPPjJ68NHESbj3Q6A3T+4C - 7psyVZgYxU33P/VQ+SyaGCBQ6058xTd03WJIt7EEZKTDhef/JFKQ7tBoFovC8xSx - rrUDz0mjpc5K1oMjGgUbVjnpdr9PU+nvURZktyeAEspHz52COB3O/NH0Jr5tTS0x - oOz1Gv0SUDgV6VfYat6vjUmK/4GGpOfK9PwXD884G8EHsavkixJH2rac28nKe2VU - vWFG9UDrxEJpZ3laZTyIwGK+oOJLN3NX/V5P5GAaRoLdd01UfDGIC7B89Wndpb1Z - bA+F9u4b3ZWEYsOG6NjkG7cL1Fm1u49TYyGdKPLD07CTTYb2/CRkKiHK691g40Yr - 9+xse2Aq4hMs7i90zOSkw7y36M0rr7fbwPXeZDKue5XLdWfrokZkgUYg8sk44pXJ - NLANXJm+9cQsCFshzmA4ROWWTSToXc7scLRyUtHZOL2FTuBuawHyZL+4HQbZZL+b - AL/o3CUjRsSmBBJA6fv957PsFnyH+m4IJMwNDSipaMjLKX142QT7bLk0JYKglEHS - XgF4tWivwvJ34xWRJ9Nq585tRwmuVTI7o0PUJP/NCs4O4UYQYNDNmJqIfBXQeQRQ - GdDbO96XadXAVJCwk6y+rLTHiOMZloFv36BAB9Mv46R/vMilEJRX5tweeh31Q/U= - =Vf3R + hQIMAxK/JaB2/SdtAQ//S/cdOB/DVNeWgep7CTm47IxxJ1ArxbpdCr24W+v+30Mf + GbLhHvtI/0SfftKXJesrOwrqXw+AL6n28U3cy5ABdiMq71MV/POdRIRgomzIrq/+ + 6kVvK84BPr4n5dD0MLYeb2JqZbhulgX53SI5nxU0EyBISBHWvPdYx9WGggNtkoAn + rTsHMJqWKsuQkyWPq2hNj6unM8rlF8CvhsafTO/V3vK7l98k4v5wFwXI7xstjSXz + UWTj1/SupeyzUk/ArSMt8QnIQCnHD6Jk95CV93QE8D6byh67+tOnuhZfTt2Lv/lZ + /sQEkHkbFpbMt4Wbtq8me//cRMwD/Y+UODR0geYYjwcU+kAOu6HY7kASNa51ejmP + 4hoMbFiwG5ZAn941S7RVngZdbNQ7mYqq6H97O876gl2FoQY2aEBCr15b7sFpQoy5 + 9SXTxuEpFybcNf5WBLCuEBiSSuVlZMAJAKbCFskzo1t7wknhMWUo6yRysH/0EWVL + ZHIC03v9v23cBwxdepqoeSX6/p+dVLcyxpyVJL5NF2G2TbeLOoVqjRWoTAfrD7WX + q3KTpCsnZgVMoIyLTyzvMwnCLXSugUpJNHaHtxdJ5N81qyiXekSMQygwFyx4P4oV + MQ1d4NgiXrgPuVhz5g6je1pVp4cPEhS1cJZmz30rraFKDsS+SG/LsVvEu67qrgjS + XgG5PZ5Xtj+ngoOMzLfSxxEEuNjRTn4ATJsHC9E+MS9NYVpqlky1ypOl6RaBKzIW + 57L1ihEWwN9tNn6sJjKmlC8ij0O2dz9TfnTITat5QuIw+S9ic8kr6bybUMKQqR8= + =J4Kl -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf9GECWP1y1989fO5rev+EBIhIiwLz/tDmcDkPIg03nkjA3 - Eb6rKYGkCutgrPBu04pRAVv6TbMvACD0UpDaSMs4vPcttRhX+F7G4Q7GvIcz7AJ1 - rMLyhTsBKNBAOShQZxT4U5pe+hrH5B6sgz4zGvG+wc1Os5xv8BI10+iOzOD22mj2 - M5pBRpNiiy8nI5JbJELFs8Q+rBqJKITfWuFQiKLjIWbu3ZzVKBjcCta8abMbQotD - odzN3pk1ciJqnFBALtjy/UQ4gatswAgHf2LcNTrwl5LGjqU7puZFnEJyU3HIgtg2 - OXopTzbwKxHHJ/DDfgo0tGj5Wmh/USLdR2Q/uFpj/tJeAXYOh0JRthhroa4tDYtR - lErR0X306sf8lZIwvhMuanwh7pV3bcN7cibSKKxPHS/muz6xqe6wptrhVbOuUiwD - b0hIlDIDqUFeNRoxBMo38kPvmQLfzY+Vo5Z3p1fkqg== - =GdYE + hQEMA1QflAioE8i3AQf+KhDScEc4TxJvoWPUZtvb0Eis57tgVyjEzPdBYljeEt1X + gK4whT+xEhcAomLd3byyBzzGhKfUJNHXYQ2H/4B9b42JdaDPobs1t5+/mjY56T/d + P4i+nkNAs7K4bzeTetcfBimNhI1KuK8pYV/3VqVNWOfiz6/JbH6ABZNaGa2uF2Un + V25ROb8YD1ZwAYddvFQNsMIXjkrCWb7jiYloV8FjqsYCyaL3NIPrpLw7wG4LAzUQ + bHuV3FKQ0lhhcd7IjbaLjMX5S+XfeqL8dlJSxSwtucbQ8fhb4EVdSNELQ7NGYLOk + bz7iSa9awurq3yToA0k1fs77Q+q6EH8fKNO675EPlNJeAaac3c2z4wLsci2yPZbo + dLyPVINY0VEQ6i8+1zdjhuOQaoNfdj2VuyjzRzbYAxrXZqf337Og1nm6TWB3DEkw + T6RngUuLGHETHrvITig5oA0/VqFRSap/JuRmGlFiFQ== + =GZwN -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ/9FiYt3bGTEylZLldmn+rPDwItJfJzAFlcAXc9idX28CO5 - YzUAspwKaLFoM925TwgXCG+9vYZ9EwfiMc7GEwL5d8jFo10z/hCEQlReMR/Slho/ - XhGn5N4ugCs3JiWY3Q1qbUTlTcFgORrLbwYXXDp6g1PItzNDIQF5URQhgSbNpXpn - R4nrTKxRUFVyJ9vKQn51GvSZmT6i7BE5hh8d3N/WDd6iQcYkrhUS6kC0lVynWgIN - ancHadu3RQV6iCEf2I1N+LTKbdnjW+gQH2r6ohwuqe2segZf/HYC0JluwX7Bq+hq - 7Fs/K7QQ/Jd/krGAUEszAQkMfjkESNTXLVlI0/MTIo6h4Jm4seN01Ljy3j8FP3Iv - 6RbJEv6H/D01bmYf1rAW2uc4x0+orDzl1RC2U0MW7IQt+7yd5oucnTYIVIYy366w - b1q9zi93cCQOftKb2Wc+s/3aAZ+XYogOlYp9ArFMaljCxqoahuoqodjvOpBwzxPv - GxEip2jSdn6UFvebGjSMuEoHVnq7tVKuxyJSIf5ECJfcBQFTiJEMjxwnkyiuAKQT - 00J+7qPpIO8MQaKQGSfd0WZ7NpsAX5gn+bgF7ElU/eBYRoCLklw27vo6tEtH9qoG - z82M1WoSuhzhUVIxVlwd6TiIJprq9kBKNL3vcBQGCF/+jPzNodSGxp6VZxWrfvDS - XgGpRRQ5tl4jJnS4W7ZfkNqJMB+9iyjqLcNmIP/0YtqtZfqH3bew3xZZLzdDYBay - oRxUbfxuu5fDrQKim8Uv7EIjqK4YP8tahr69ysTcCwPzM6S59OzfEBQ8C0V1FD4= - =cj9O + hQIMAz5uSgHG2iMJARAAxLmy/8nlmVzXiB9flqIl5zsT65jjqqTMXwssPk1nCBOg + ELnpKYXz6azim9rNNwN2fPqPkbSVyK2vQCvsEmDDSbEQDXwtYNECMJw7X8AqZDw5 + sf/civnXDX4Hvv3B9bZGEp+/3L2VP4BHSBk6kl+dmcBsNmjOWGqGCUB4wqanbXt9 + IXnh/t/6RItBpogmZmZqTeRpoMHm/vvxpUmdWDa01yr1oTOC6h8102AL/IlyzvAQ + YVltNViHh2UJFUUbXpnJPvfxTOw1Wyy3smp0uJVsfbRXdRdt7/K8ePNXEj0GtJU9 + v+gqbAbLYN4aLpZgSShJEaA3wlpBR3k+V9yorrtVSuUhv7pfajixjeGIIxE9xw0o + X+y8rQIPT5WplX9FinxCUf45GcfWfFVupBQJebD3OU5XnArxxoCNc0COt8UEPaFa + w9WrKqJDEJcImmUSWObbC1Rzm4vIKiw8qwkArsg2RgCMFq8l4smEXOhXltIBxu5Q + zClP/4jJp1hY5mHqLMY4wKRxXF/ZS5p0rC2DnRRaioAwGVYR8e6jLGKRnp9xGbCI + 3m3XMVRdkhFI2s8szVUSjyZV0xiBTODgZHZucXirHIOUR8581cjNQImHmjXOOMOA + tdMeKEDKHojjIiCmeo2/KICJlc60/xUmmL50T98vMyJTmoeyooHXKbiCFHwIhILS + XgEEwWktH/CPeDdjdGYFd4PsLMiZhfOL0U7Z84IKGiHoWG7dJei4jJwtS6Q/RXJ/ + udM5ZcbrTO/RjvNV6VdnVYG+4nzOL77S4SZLWwQOdfcwE3QqKvgpQbMclIYxZmU= + =MlNZ -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DsZXvxFXTXoQSAQdAxSGdE9hTEGWFcpcBSDqJ3HO2p3M/bqXbla596ujYeAkw - XHqO02hSJqp0L5LvFPLjpTT1XhZeLVWtaVX7uiTTsDuI2kqs+QOZPX5x0K1Jnzhp - 0l4BvQU2XxyTwEaT3P7FmPHNCDp/wf3CcVnEHfZZdGYaT6dWMx5urjiBeyKG7FLt - 0uHIVNi2UeikGrYOHxUJYmNg6T2XzZB9hKBhY7ksY8JoTa1J9TKllBfArQSUEZqy - =OnlV + hF4DsZXvxFXTXoQSAQdAYBwHzlyV+43hpl0RIe1lx9OVZMmNP9yM1JfKSSepbQgw + q0nlg+eNp8ifo8wf6w0a5cWFxgaMMtUGbOH5Dv1c4wU5NsVNWxZ+Xn3ga67VsL+f + 0l4Bp/X5GX8VvjITOdZ1V9fkyrkYiO9A0NT9w62VO/ZIk11Six4YQN31N2nqvlam + P52DMYnQZpa6y6L38YSU5QnvCn4RsQLToyDEK90lk/JiWs8QW92IAMfYDZI5w19I + =1NN2 -----END PGP MESSAGE----- fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAiJrVKAOJYHw5fstF5Wx86BNkdzwikM+xpZj8aZbspCAw - DNgV2cPOMiLfRzSVLirrqqYJDsk5qgyepk9tA77pVW/QmRz/luvHUG5DaZHS9Rj5 - 0l4B9TOZL7XVJ+tR6QTtT0O4XB15VNBox/MGgs7d2D45vikaocssU+QJ1E7aZLT5 - mXHZ1bEfLemIEo7qmKbaQRDIwc/GEVpvX3ETBi19SbiU5cG8GdUSmWkZfXVrecMW - =Pzbv + hF4DerEtaFuTeewSAQdAccpwdatJ62ROttb79v0hMVOprWIcvcxONkEzBcNReyAw + Zeevu+xmOTWSt4RZP+BF1blhJCtrWe+G1Xg+xcmgGdWJ43s0SYe++1nrmesDavaV + 0l4BfYOzPNMlDS+oUuabWATKGdhZqSFnDurLMeYDF/tsjCV0cTbqSe6BSOCPCseS + 9d7jyIZ6DaIjdgnKZ48gP3CwyB7Af3R6XY1EcyQT5zAugXXsoxGjhN3rybv3o1ST + =lfjv -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/+IsZ1eVjLYF7tDwUHkjqOaAnoPMOQ3rBSXEBYkVgi/ecx - dylPY3M+2onvDEbnIbl0hsue68QiJzaXbktGIieeWuOyjfju8bvzHAqlBl3eKEGG - kZoAUImJ4nbkoGIw4/af+DZEkyr0IHBgdLwTOOXTGW61oKlLU2XZZqY6vP9jltav - yBkBOtZDvovuJ2iO6IkMoksMH8xInwjJDchtjEwqapEhnZAUiP9m+RiMFnH/BhMp - rJWc/SAfUnukPn6747/IJxCYzWwkzu+jT/hL16SNKuCDHkBAoo2cQusj+ImK9tT8 - RnLBi9pD2yEvQ2jZbgR0zI3hJ8hliXTdppHLduP5Iqrwzs9GZYiqXSkTjVibsaqR - LnYK6VwnibL8OvhyRNOzyZwY9RJ0ZOlbBXvnTIdF4gdwbWSpJ0fjXDpeaV1J23/l - 5YCBTdCEQFXmbZA5eJY3BUU2Ksi+avjTXZo8jGoctzLKYQh6x81tiFHCgoub+ycY - MepXITZA8DYjf7T1YjRj6WyP83MNt6Oy0EQ3Q1f9Fz4WkB9H2Wo4oJ0ltUUyKq3n - e9lcW4aAf+d3ZzpIDC5sZuH8lUkrk1+sHImVz14/2XciQJZwgYllisjRBTUtpYP6 - AqPQRToMB+fQYaIjlIsWZ5HzDl9AJbKpoYK1c4dj+R4gJe0GmcFMsVjVGuyslPXS - XgEplWw2ACsIgYOY5WY8fOFbICaAjfAg/6fgt/WLavY92xTHlKjCP0W82YYFQHth - XmM0L2k3OZSkfQn5EiIm9/yChDQfz31+I4jk0i3HpZ/Iq8K9vSvHcRgFqeugVUE= - =wyqr + hQIMAxjNhCKPP69fAQ//QwPqeU9ULXtZ9Hd1qnwdlTZJw8w0PUE5/u4Fn0jmX98S + nhqIatPUEJOC397nfk0jEvOJvRS7JWXI92pkKChAerb2QqidBh5t2HLSsweb3F+Q + wRyfXlnqtxS3fu7zBfXJ3xHsaX+FaRk0k4wWZE4Wt7LarepmFmvV+JOO7AR7rjWQ + bU0aJk8DpGwSmXr/ZtQECBbitRzQGeY+dMZDJN1qe6vaTia0CFBfsthc2MuNK8yJ + 1Gm/xfer7QvitorLnNanZnYJVYOthpyf7CZPiguHUPtHHj06m/mBxMX7o4G4lRhS + Dl4yLOUlUn/khGgKpX5qFnizdTOia/L1t66VR7KA58uoY/bRZFx0ZE4KSjhwEGA6 + Pz+MUb/jgczr/mLONi/m4HSUmECVYG259QN5KKxffflvTbs4FZTc7V0BBTLdp8UF + k7aFVDDlzWEClnxasn5iLtawyyNtUR8sZRA+22FosZjLiXw06FNJpG5XvoyCCMoP + CydXCBfr7hEaUWQPv7886g+jrXCOQaPZ41IpCq1XDWikFJqsDd2vB7Vk2gIwH4s1 + SFuwLBRQ9A23BCZqx6QGg0O+X7uwWDh/JRHBuObNYSOoVeH8N0HGQCFs/KnxRdeH + k/1gzg868e5/Q2EYF4DCH2h5NQzhfJ/20+7U67ka0w8MeaLTuLd04+M0ArPw8OrS + XgGADd6qJdQQ5YacnC71xrAEdpvOB/akqG14g7KfV9wr/P/cEtdjHDYt73rpzlxD + 7uLE1Yngh+jng86Tp0ZqJ1oPvK8xrUk3V1n6NBF55d9a5O6bVpRbZN1kY29NY5s= + =IL/S -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ/+LKWblKXfhuHEqDUYJty2O6WjuDmif/NOZHKwqS0k5PV/ - kv/JU6D9fL4Kksta2d6L1npdgS0Z/2qruNG31qbsFL2skK6b1hd8xh6Y2gPpy4qU - deggC0eAV8TK2JNRN4/rPOGXu/k09ir9pMeefIeErB8xE4Wt97NZEP72pngXpwbp - lDhy+YlnzrUCMvfktsc3eHSiA9GcpMVw3Ld2WC4rhQ4/A2w1XPA7ZRgM/KRM4+VI - tA+LN8C/BtqirR22K7TAgf2Wy5D9GUSuC1VoMNiA+nohFYr6g0l3Qwf3NlN+uV2H - Mg5yACsCl4hJ31N7uuDtR6xp/bnf2IbLwxAt670sBjrJ9kcAbbaYHUuA/kMSMFPH - /cXaZBhKfoiBHjw/pEJ2PaesLgH+z6U1VTWR2HKvd8PPN2+I6jlUrKXkRQiNFxX8 - 3N2EypV0RVkORY9DSBc8Va7mB5cqJHaC2/vHWw8KoT8NiINhDKOOQdBQqRp8+CYL - /CiQHLuRkOAN23Ja2HRi4lWAlDxOiMR2kXUSA2uP+Wzj4VxkdYn5fsl41llmB2le - 74xEnFkCQrJRJh5QvdH5hqUcadhyQPiqrQXB5Q22/3e80wDnNkFMGYv2h3kGviIB - yPdo25S24cZDmOpD7nf5x8tSa3bYyo8DpPPArEh8IszuNginJ9lcV4ufwCcBMvbS - XgGLd/gqc0doTkA2jzhOBddVwG1vlvjv4BDdSbd2EebiATyCJqj4PHUH/Z9X0e5e - sbiAwL+vTtCug/x5zNWe9Ibs3zJkLyInQ15oLMYR6BiCIMAFVxuitBLkFAzicB4= - =6mab - -----END PGP MESSAGE----- - fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-04-18T22:36:23Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQIMA46L6MuPqfJqAQ/7B+RDPwgwM813VQ95BIuNq7Tg/Q6bO+njPqFAFvzmnZb6 - fZyN7TXJfRjYz17A+2N83hz1Av4odq0lWq0Rc9/Jp/aGHd88sohEXrW1ebNx3gyb - 78tDoyjNDeh5DDOQldhJNxmFZryx4Efn3M8/nMA/K0pIeBkHSXeTKC6JlooPCV22 - Krhx5C/7N/SyGxTXNey6OCJEZYdMxtuzt0P6qET6waC7ytunih3qpZNhXAItnikw - aaxZs+A7/PZ34kft0uuq7E8s82SQsU/0KPTSpeC0HPTbaZYwBZ2kJcU1KKG4KxRo - hZZ1aSG3NxPWgGgUB/Izx6es5G1fmc83vsllIrDGZELV970PPAICa2sNkDmhAqq0 - wuMhvHw1KVgsG5pdrr/deFYUqvkid+CeWFJqOypyDsISE/7CV+1/D/43zanM07S1 - tzhQ8TiIR5bt6SCUNfLK9eGcu3j1WNH/Q4obvalkPtTpM4AxYrhcgcYO/MbNafUN - p4dVcrPCuoXQUBGIWJNtEmEhWRN/2CtEyqdQar0NtwTKxip6WL9uvsLA0j+ja07s - ZBvutJ84P59vMvXMZUHfAzvJJWECemQatgor00FxKQ033MKtBC4xLVhgCj7VVFEC - STBr5DGLJuL2NzjfrO0W/0Fxe97Jk/SXk52UifLX6GlGYNW8Z2w9EZ6C905tQtrS - XgET4q7lphxwq7o61mWKca2HDEfJ+Vd0h6zcIwe7YK87UNXNhElWyguXfHmqkpMz - Hro9OOZ/fzBd6AzJChyyMXy69l2xHm9cSvSy43MRhkMRoMnIlNQHUsrS6XzVz0s= - =4Gj8 + hQIMA46L6MuPqfJqARAAr0PJ4pbU9VcCdGCBS2c1nahmpTRbhYviDSSsAJq5yMUO + MvBB6dBWk06KI1dERvz6YmX1k0T5RNsAhDKv4mHFpCrrlhXh0/ofSBB4QbTgFjxA + JbRRi1NPyEOf8EBVSQY0orm8LkzQ+aviK4wpOf85/eRhoyTMrj+Xy7p6KjfAx31E + XZTJhjwdr+83OE0BKN8TXfHshspysFnlsHhSRfgtyRf3P6KSjQyUscTOSA73WgJE + oUW6TBFAtU9DcvFoqNUsUyyfgvjJIl5dDpzKJCnOFfFUgmlC4LCZELjWeZaujYBK + na94pnPVCVgqlze/NGzxgeSNddKBtm/2sGRBhonlam5ki0FDaE3wimtswMFJz3ia + TBd7JMZTuDwjze9KkEEdYSjJUJ3K3dsKt1x8sMa5+ODRTeoyxScqOCJO+AvF2N9C + OxpyFQytNuz87BHm8bFJrrJePvOq3omZM7RE9N5wFgnlh5uOOQFkOukVEKQZzOST + whqsn63rYjXiyEGpcpSlEiFb8urGf4OIKuuR+8b4g1izsQtvkLNImz9ofQkB2SZv + LLING87itKZKomvy1XMyp1HOY172imDTI1UG8sTXOC2UyfbjZBaIVDUKIhpHDH5z + 0REr2rAM3QDUm+sM+HWserxElvvipmUuxv3LIjggo83HXZhNm+KQEnE6H+0Bfm/S + XgGbneEM8cUYLAz1ZiZJuXSNVngXjYyQRVQq4PDmLoUaevFDNxbL9KSgQ5R1A1n3 + C+LfZliQ3RXhqS71hin77QtW0LL7XklWRGeyyRTfNI798L4zEC9qpv8NsvNQjF0= + =QCBq -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAwLAt2St784GPvyH8R7zPyTPDkgbXkI58bjSmcPBP4WEw - ikNz4pSIcDqS1ID0UHVHyl6VA+UKMf1ioIKS+vIvUZ7oqbTbaTY3goPnJhdYtdNH - 0l4BcLN7gYKKypwj8pwNFipi39heCxl15tm2SQykGBYy9fuhQtr+QtaVVk19OGOR - rx4uY92o+DPTA8J1qzFHyx30juFGzJVXqe6dikQlytzYGzduRajNT/mD3MBUZdrQ - =51zz + hF4DQrf1tCqiJxoSAQdAmE6hz2Q1DiaH6aL+lV5AvVnoxV0kG5MCZ6QP1Pxf+S4w + D+nVyCWELhEZHOjj34x/HqRUqPmYmhWUPMvBuTzl9gFT9jU/lgEBSR2/kXYcsZIb + 0l4Bzs+VRPdnh4t2u1hvhHNj1tnLxdUjy41XBJ22qbLTYrRJjtPhsp8R28gB5qmR + r7+0ZqcD2nl5ThNUYCc/rgXZ1WJ/bRJh/cGfEHYzEvXsO8O+JmzoqOCNBS36ezbL + =RRmW -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAwI1LWudTyGWvF+W+LtpJcANV0LMvbbrX/GZtg/g8xEYw - 9LQKQKbvKdGhQS6lqz5qP8GzssT9RGixbGcnx6HLvKg4asDqteDNuRV66/1tFtF1 - 0lgBOBxyXTfT6OdWaoyVyqmeZozjxgCBdpIVxn3FFqiyWh9HQrN3NfHXm4tLvcFg - ZJ9U0kmBTvDBVSpHugQ/5OHEVrsyK7Jp07eTX4/W5yHYqHswfBuV1OMy - =MSR3 + hF4DzAGzViGx4qcSAQdAu6If/GojR8y1vvKR9vnvSa+TKhbqUwMtCnoezgWhMTMw + XSZjIc+7Gp62dpMl12OLaOiC9Bl28jRpzAS0nUAwMmC7g1WSgnuaKk/KOTl3VtgD + 0lgBzzD88Ahd5g6vATtIeR65MhimNRCNVi9xqwhlS4YGDx/MUJZIXrm6SAMGsBK7 + lkeNnR3r0IVgB8jV6B9l2w0Ca99egCjKijXCeUwka7j/oc1bEuWmd8pE + =MAdi -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//fp1HJq+fwKhLQfY4y+QXwmDrCiY0hnjTGGLrRwkXoslG - VZIcyEGos0O4AV8+J7V7ycqkAba9oY97PrQC0vfxqwEgPD4HwsEGwr1YDFvEbaWN - l2Gle747MOvxTjJzKtKZwGdnR8gkvpihFMHeoJZWbXbbzsZyy4Ps5OHUwxxBkKRe - UjxzAQTMlrwX3eyHlmi2h7dUYSn1QiFXE02uy/VLUucLoBnX3kO/iVPy7zkbE+vy - 6EmD9HkepbpDcu6iKWnQZYedkt3w5VyNPZ+a/OPMgKxgo0ngBsMY5GCDa0NyiLxa - 0XUSCsQJmZxSCOY4TKZ0q4mNfn+LdHl3mlA1VSKw3oNfUEoDXi8GTWJEY1pWpL1p - SwGNm/pKPhl6RrT6OCVR/JrvLzwciM5czGYKa5IKLDF1GLR5hngs1LRplzhKyAjc - jEh3gsggRgbxxTDpswRCOItWU1oUPLJoXUDzJWlyhKDV+LhxsqXOtBKhsLDMIX68 - ZI5l7f64zhfDQW/i+hAdRz1q5hwuz3Yp+a5VpVKhpddfw7ko9ARyJqtUnefVAEaV - iBo6fE6JkmfYeQo8T2wRyTcjOWEyqn8Pd93MFoJoqlyA4Ri/4TUly7xya3z5nYiQ - E9n0FXYUTKn2A9p1aQlyM6/H30EIcMf2Dzij8qIlA8Skt3wWpHe57KzrwoOuSzfS - XgEMHdyn21JsohvIg4nNnvdLih+TJu0q8SzdWOzNiP34aupkpRALbcCzR1iEVliK - uqv6ZQrXW7bSyst1Jyfgz3fh+plLMrT/YJGL7/U97VNGHNuZsGISbrCx6bdRfFI= - =hAIo + hQIMA2pVdGTIrZI+AQ//YFB8wWtUP67eKUpcut1wXXa8/QOdMAy6eQ8A6KxXC+mq + r8va8wgreRKyDPP3CfwDNLItC2xkkVQyHWZnlyoq6rt+UoQXlMbvamDbw8b4wT6Z + MqboCs33DrBUCf/pONkg4L+tAs116kNsSRcqOOkLukx6hdwqCbvaltewiZwcI8xz + FlHH0J023lWSteFaQBHbETWtqVplcvdA+Lsmglc8OQc14z5D3xsHWcu8px/6V/rR + K5c60a7jnixjpk8/npuEhezLSaGMVWQwQK6gCf94lhSAL6GPNVcQB5YAPbxzTaqY + rl0KU6s4jn+gjtpnCdJOsKIDvvQ/TWhFEalq03UjBLUVdvgqMSLT7HwDXkkRqJ+5 + 4bl4rB9Mm5YKZ5eiteY+d2kxv8Yo1+BwyNzbihQdxhSZGMBpx1UOUT5AOGYxnQzz + CMcnFUtAYJMpOiCGnp0cmbuJ3i7OuBC54Oz8r9v0Dhu434+17yxag7jmudsHPjwe + aHkVLNEV96kt3jmJqFl4Bc360e2Bex6NxgerJUk/y3CxJuFLUR6m5L1Z+mS+R1CW + yJaJNeg0dec38FSdqXYP/b7FcNjGjSw+8yOJza17kXxcnLW2ZLHOa9nw5Rrvc9JD + H3QfS0EHDW9lVmpbKqj+axLIy6Tu0MM2+uDP4CsikakiOljsG49x/JI7vfQAkn/S + XgFFGAw2Kd0P5flRp16OYXrjrhqZ76huic9lljPr1MQFzv9NheqwVs2XqTR5NSoD + 21C+tD65j4RTl2/E3WkBhGsKPR8awYC8YBvOkt31LRq4pWbQidURHCVbzVW/pCs= + =jxne -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAzZaQXrJ5d9npsJQ2WYo/dV3d0QK0qeuSGjl+LsdG9Ccw - uhdlcml5wHQHK7MSBiQetEkxXbhhQs73fYkq3KPSi04UPvhZexjayslHwCcfBIj6 - 0l4BI/YpX4S8/8RZdWDTm9Aclt3mO3PAATaXyCIIfSt+k7g8f9l7aJ/YXM4m2jJd - fNRMtSpoNpdtwCGa+pE/qTG0QnYorkanvyYG8Sx5XZHHY3SoJcB7vC1Raz1AVomC - =8thO + hF4DKKbvh61jX5USAQdAv2UAU2LhiawIkjdAc/QQ7Nua+e/QKHmaK674puqsgjAw + 5PEeCtKm/E0/LkbA6dc329IIgCMp1qtSvN+AvmdbJ5SEBbQrhcwP2Vbp2YvE7bsG + 0l4BYoELTPbbK47+GufVCRX0FheuAf8W0ML59P90IQd/ev/a+bNvAXJuNnQEqlSk + rwDgo0o5KBCf70cXXcawyoRL0qUKRxc2TImzE2To+zvqWYCkYEis4WkXn4lLogzB + =KTAi -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/diday-staging-runner.sops.yaml b/inventories/chaosknoten/host_vars/diday-staging-runner.sops.yaml index 11e6d0082e..b1e4789346 100644 --- a/inventories/chaosknoten/host_vars/diday-staging-runner.sops.yaml +++ b/inventories/chaosknoten/host_vars/diday-staging-runner.sops.yaml @@ -4,203 +4,183 @@ sops: - recipient: age1522f3qzddm82w63j7ajdkr0khvced6ht7tzp3grvp0j3hewtvesssr5kpf enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSArZWpJcXpIalRnUm1BWGt4 - UGNNNTlBUG8zVElOTTFyK3ArR0NZb3BWeHpRClQ5TDRMNFZTb0lrOXA3U2JpSm1x - dDFSaDQvbUFzcGFveGJ0eGVnSHEwZVUKLS0tIFQ3U1V3U1FRMlJ0OWYzZjAyWXhw - d2xYV2NyY0hCZTR6QXhLbDNOUTBrcFUKQ0T37Ln3T+iAwY2S0uOciCbwcN42gwU+ - 94AYml1rtoFOljmOu7UBli3I5ay/T15hgXf2hCARzYx4d3+9EJIY2Q== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCaGxRZkloS1cyV20yTzAx + azFGUS84QWR0d1BLdkJrWnYrTlF1cjJ4SUF3CnNLTHg1dVRmaTY4N0dTZEllcEhV + THFYRmxyZUJsREozU3dSUERkVTdwMlkKLS0tIFl0VUNyUmZYZnBQMDhkM2xiUnNw + L0swYlFCNTQ3ODNJdlFlNnJHZmVqaVUKVxisdtBe7iLiIQ8BMXdP+XDbVFLKHS4Z + u6ZDUR+13tOdq0AB+8l9lzORtudidCBwadpiQo7+TmEUBnyX6r5sqQ== -----END AGE ENCRYPTED FILE----- lastmodified: "2026-04-27T20:44:59Z" mac: ENC[AES256_GCM,data:4xJHdhlmAysx3Cx6BXrxAiLdtCjN78n+9mwnvUFj+UQofogpFBjQ95OfbgvtMG77SWXm2QJCv+EuPUF9wVaTam3zQQRa5KLqaPL5sXlINxGMUWs4xsmSa01O4b5Hr/NqnmSb8HyQD2zLIRNpEy8Kd3OiGHjzzcIrtHVb6g4Oozk=,iv:Y4gMVGvYp1kmHFeMceXMwrvZ8Dmb3Uwc91k2xIqovJg=,tag:lLWFn3YWQTw87vGD5EJHng==,type:str] pgp: - - created_at: "2026-04-27T20:44:48Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//ek1WyXU4a9gYTW8RlzrPABtvkx3kz6y9Av3Uje0/Okul - UJGzYRWXsHm0rBHIG/VRnDBa9NqKXTh1cOnalS+dkPFyQMLXxkGHxxykzzeYQ2/W - P9/ntoA+m9Wt0khCgQ7sP88+9rBYwW+n3cCdogQF3XC5Ybj6zI25gBQG/EGvOq7r - MSQax2vsrPjTT32d1v/OVAWQjXaJR9lRwqVa/0i/tWtiWae2AsfYDoyLcaco8Mc9 - XssVuQ7outtKJi/AFN2x3pd9sWyndeOBpyBSF1UosgnGKg2YtvGmVf5Dv0vxxSgH - SZh6hU2ZAW0dHjj6wkkKoefK6Nd326EC2fcoN+PttvZOP6MVCu4BNP59Jp+ajSkZ - QZfYe0E6HtQVqvc6B7PNL+iOvmW5xMXffOrWVGnKQvPceO9WER6H4MqpH9cyB/tM - kgTh4/ldJBwa4nzW7yC1t38kANB5YOTJ2SUD6JAP4z+L6aXyr7SI+zRIOzyad6xY - vg+m5Hgrcchghk0cK+nB45VUUjUtg+h2T3BoTQtGSrbDMfvPQHMhv7i7SkYXIjOL - 8gL8v6eSOotg//e9NKRCRC8YB0Kus2D0oY0J9i0I/XyA7LhZQGbYgVp8GyupReKo - vzCQPKBL7q/EriA8EJRJy5LSVuXybEtwyaqkp1oSI/OnnPwC87R3LrLWn2/UUg/S - XgE2iZF6h1Jg0NE36Lvmv5fImBT2bjAklu0FtE5tttaP6HvmdrDbk1156/XjmDkn - 7WierL/Ot8it/GGLGPd3HL2BaFMHNaJESo92KaKia2yEiXa4gYcAJJjjYX/3yco= - =0e2Z + hQIMAxK/JaB2/SdtAQ//am/88+Imb5cWlEBjtCoubPAiUxV/2ybOWJRKprXAsdZw + OViP5o4eCUdWNNCfITesz7+Az4zl7GuOhpyK0nLESOm9QU/P4tQVR1ykSx61Rf9y + CPi3RfTuGt7CMqKebVHhadH1os2aCWEZlDspU8PhjX7SlEI5hkxh0Em64bTZkDGw + Qfq1LAkSvVNHPQvIjuJv0Bq8/A7NLYNLXVWELy4kctb5nXtU9E+DOjT+3FTw+f3q + pQ1nyjlCMbSwO2Mj7kxxn16r2tI9SYWUlq4KsTaKD9w2EjvMZO4x58NnIYr3qYN2 + CPAd0dwHa2B8ceIBEtP+SeV3qkzHx2XQ6gafG9tYmf+qLVsEiizNUqglmAbauWrx + Jtp64lOwQRdfKNf2X83gbmLnsahM0bJsxVf5LRRtt4PGU5hnTRUV4dhrLiUY5y38 + aLF9x1tzg0FLD/z02r+8R3MPVAt/SlFKSIfjj9Q39UrW5Yjh3Qj0QJ+PA6NXM+iS + U6dQ0+SrQ2PUV9homP6LzUH69WOU8FmkTMQb4/MtVMIf2JtWVzFyY+jLrm/xHcQl + 4BmX/Yk/ciZJ0KROkuQcQDYKJU9O3+F/rd7GlG052lAv0iqcssJPXDLTZVghl1DF + qoz610uxCkyxHjtilzZ6Y+hWacDt0EQQZCKJI/gVLvtZ/xt0eKyIjbqEeZhFLbfS + XgE1boGmmAi3UIWAULnLTYzQ6M5V7oztQukZJ3dAjsyYdPdWwjGfFSoWZ/FQTcrd + WzrYnrfe9Uo2bs/7VRjs8Dzt/o/X8yIWp4GG1iulvHGITF4bwYCS4SLTDY6j0sw= + =J8AR -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-04-27T20:44:48Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf9Gkaoik3xxrzzwpAa8DDpsGB7q2B+oomp7tNGhmrDlR0U - aVn0xGFXWV0G8B9CZfA6RDcNmyED2yKHPcCLNkv0LpezJq3psVW3ltXgYO4ka2nN - AE2sN6t7F1KeF/S5VoxMrTv7ij6NEU5aQScwxyDJbaiJdSw56PAG6WkHW2eVKx87 - 5gQ9iCY05Lhe9K5NhzK4K1Ck4Z8flH1NRrJlQ/hDA8qWgPwxWG+B4Dgu1OZVltE+ - Ex2LbS98F94jJ00lRrSCAORknbcyns81mSbj/Oi4W2as5f/vcyJzqk/hqF4f3yLn - J7e+hJk0aqn2Bs8m5tQ5etRJWLbbhwbEOBCE3cYCodJeAVTv+2tuHz4dpE5trmsV - wHubUFp876yhlaTElW8sIP7qMkVa8AJte3IycytUOgutKDbA8m1N4zeFvFCXrlyM - seYGY3dbRgwJQVAAFqI8LHjOQWX0Vj/ooc2tG2W+Jg== - =0FSI + hQEMA1QflAioE8i3AQf/WztChlKKHmj91TItjfxI3pP43DgaVY/WE9tURiaG0jX2 + pm84VUSHM9jlOEiZ4YJUQ+1xvR/sZqOwlWIBRanmooldUAz1o8bZm8vRA5XLbY1Z + ePi64w+xxAkv2HNuFpUulWbBsR3nlzOOaMizFo5vrA1uqQjwadrAZkvckmBW1aD6 + /IlyRS5W6YyCzGi7i3blmcoW2HscXBHojBM1S7Tq6gMS69Lr4ihwYE+Uwe734Eq3 + +i3rSDqZ5qqm4PfWpjQ4fRRuFcedrQ9As50HQRLqzJTizMYop+bR+4IpfBMh8I0g + +gsUuULQkJjSp2eIVceMZm4edsJEhZvLTIdvxpvrqtJeAf0tiTs2BwXkavfukmRk + HuWdF34+O7mYW1/Q7D8eQKG4clogT9lgRT25kg6uyoCAumtWv5CKgmPq+Aa9FXTR + x3vLTFGt5EjndNHOah2yD65uX2Oeg0muz5CVj4bTew== + =RjIK -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-04-27T20:44:48Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ//VBk18HUhwtbqgqd7Xn9x35Gy8OPzWcFIS83jYCK87LZW - d3GS6rMsk2SxnEd7M5ho0iIm6bi0NBPBLkmpvGgM+wzXTv7V5RMEGLs5HPHOC4Pg - kVJmDTF2eZxKOwWNuSdTgSV/p5+DEEJyXFhE/vdT/0RfUP7DOwWcoxgfJIE7omMh - gElwOoe73Z+yFDavyD5fOJ2A8JCHOuXkELVT7BBfK4a/rld0G4+74jTUPHPbBV9Z - 8bHBtxUBmPpa9Ob5DeagApTLp2MVjVESURKcG4TF4RgKSprvy7LTPgNLP8RVg2PO - 7c+vMKSQ4jjYNCBM/C4voO6gugvFkzO0JQ5ZcukVJZlHlvSfHto4eR4nUfyBUO44 - hVytdSSgYcXfrs7pFz1OFAHs1miQ72lEpqS1qNecJS8omGZI9DRjeaNDLRUBC4s+ - aY4YtmzzFUkxxvA2MBISwHx6Jt6PA3Jk2T8MXRunY+zWfEQZpWG3zyVeNKUskVcy - yJS4i4o0+PKEt7KLMLMO3GhZGpLXfn+F8VW0RSQP/dv4SM0WCShJ8Vvc5eVujUUx - K7EJbfvCwYu4zukc+O5MilyfHh2AJXS80tc7w6OBYvcyPa58PJldereWFdPaj+Bh - scjPYYp2O+CFaFTi7b+HMqynM/wpJOFcJE6ux8qh0xJvaV7/LbGGXtQaTCyWrXHS - XgGwbgV31Lowo+M3OCvBR+Zh32i89t4bCF+3NYwyPs2+gI4dLAIPSu1g/678dxuK - PkUk3OLBJ3vMhKxs35L+VHtwZ5zCr803+Of6EH/mVrfIxDJWTYonUfqOhHybpv0= - =Fm3R + hQIMAz5uSgHG2iMJARAA2fcP2HjTrfc0pE+SBRlch7+lFcg+F12dZ0rAr/ZjbseJ + UBpsLWhCNCP+HlOWF48Fwum7q4jsFxD1+IMSXAIU3P3jv7uNy2w26WXoQ7pLY0vq + x04UPrZ02UPbaEP52kV3Z4Q8ItoFXU0+CGTFv5Tk6nl0AFh6NlUP/jm5nkyYVmwA + Z2wfEErOksdLXlTHdGA6VLldaUXSoF4+BAoj1TtaLaIr2ZFKLdCn9mFOKWB0Aq69 + cb5CoSdoTJHq0QxsHUU7u6NoLVVBwsWps8cTVFgfxVU+z0vxf4zeu1isfPoYMOn7 + X9flNaGSUTcf3wOi7ySI1SEY1kuaP+gfYWxdt1fgxLtOcgQYCtqSbQLy0SibIv00 + QILUOa3b4p0BWJY/sFpLOl2M2HSH/ZlauyL5u8wUAfLQbHJKE1u27QdxnLauUHZL + mCnH6ZFtg4QPvU1U3/SO7PmdRVB9r+aJnL2sXrF+ximg4KIOS7tzh9NjM9DyTR/3 + j1bByaQ/34JCPITn1WRn2TSC5rc/gqICkNDnSg6Sqifsjjb5c4vgC7yPHTMG5FqI + bWhzPmbC+WqXvAO1qsdjKbPjF0+AGfTNcVPAQ0CZu+iz6hg9j0AfoyIUVl1U+vBY + 7ZJkRxVdp0A7/Dd0Jig52ZbzZc22sZ3GyI50q24/XaxCwkxusR8t8ii+EWwbMMPS + XgGE6GZqn+2Y5NmsrjmUv5qCjt9zmyNeeS2oBvSgP8dHf3lQKJb2r2wJmYThet1J + Kuy018G9jgQPvv/sXXXcWXYwDPa98Ldp/x8ZYXF34Rx2tLpvbM3HQjMT8inZxoE= + =vPe4 -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-04-27T20:44:48Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DsZXvxFXTXoQSAQdAZgm5y3mgVQqza0IFmG8Cm4/HzCQFxObqWKx5O8PANC8w - cBtR8dbeFpZocdecDmxRbB9s6L/GRW15JBG/13Dbj2MELlHJp//nJM1NEHYmg5XE - 0l4BV/rvRrZgZL+r/VXSCn9uXUQ++3eV0O870jV2E5bHViChYuELcXqjSPYW5y2e - aUZ1MaafHCfEfhs6tsWjdb+kJrzT6LtxF2yNLjVrCoRSGpqQ9pLKKElgSxPrLzaZ - =zulj + hF4DsZXvxFXTXoQSAQdABO2Qc2q3FFC0LzmObvP2Wk5rLImpnZZlArZTO5RttjIw + 2xRPF6upvKpXMhQC1S0pISYXAETNkF3lxshCdtgLKZjUb35RLPIBbAC7fmcwJWa/ + 0l4B0AdsIFyKUiHXGkDxg1vHqp+RBJ3c5TMdz5X3P4C9HZD+8Ph4ifM7nx+ALOdA + jxLY6kA4+7WIg7FO5Q6NVsBTSRE3vSLCBM/n8MBGgCL9tFTYxxcCVXzWbhumU/JD + =WPym -----END PGP MESSAGE----- fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - - created_at: "2026-04-27T20:44:48Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAfURge64gkGuHQeTUNyF3hZOpX4ZCFJkwbcOr5dXnzUAw - UhXmPmGJY35RdnYtTLGy5sIUd1XQYN9KBhb9d5/3njkZbmyYJxWhKJQlR6n2BNIM - 0l4BfqXb9esR2HIgUsq8zpWS85TTwMNJZv3XbMJ0utlyHJNJv7GBiZnqLWQvoGkx - EMEtOWxKPIfBVAt5rYEEi4qPi6JqKOhwne5F8AnJcF6l2odJjvFZppDCmawDglBD - =LR7X + hF4DerEtaFuTeewSAQdAA3js564m0O1AQAJnGnIcdrqCU0YK7E9OrqoaTPWFVSQw + D0VmP2+jI8MeDdXIcPtFjCTtEi9b/aQgK0zfxOpYeU2+et2xRnUpU6AEbBmMmH9E + 0l4Bwh0WuerblfKEKVBs9OB8U/EljB75HSQ30HcAXZSiZ6AAi7UwMloC1fDMnwdp + HeH7r3untaU4hyGqq7emsA6agItyz53sGmNYU8v65o/unNSOitxdpLhWJLEbmorS + =L2Cw -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-04-27T20:44:48Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//aD6sVlBVm5fNPGc25r3c1kXbOg+fVfK1hXGPZ3LLqk+U - aoKZbskb8lv902Q7klb4MShMRzCXBpC1Y05JrOPi0h9alII/q4TfbDsxrgrsWHBC - zqRaxRWz4GuQeJk/w0ScK5j+1RVYEk+7bJQLtOHUXN+QZbZI5l3cOlOMixMpnIoU - e11GMM2aordqlZJ427RPST1YRo2oli14RMGgJiwBCWJBHfKIqcCCP1TrjQI95kfc - KR7eleyqxJ656YVBJUYxocUoyKvDaEpk5RyI+ajqnF+tiWI5+zc9JJTFGhWqp3BN - 7SdsMIeoFpk0OSoAGB6chEKFMOte0fvQA/XdIHMeigv3/mTsBM1zKavWPqEE7wsQ - mnhyYgcAK85G+Pd3WX7DvhyXGEo7q6xXVfEFt0OfZAAhhVA+Iq9FjOF6PCDKcsAc - tKbmL0RChavKmnOuDdYBRq8NIokH76FXVs+lcUlThF9cEa3xvtsx+/qRIg/TMHLn - IpNpowdzahs11qDRxr3uc0bDZWaQ09q7VwNQTyrJRYjJ08h3pJBLZQ6ic3A4BLE4 - ww/3UbYQGlemu5ZOxAlWx2Lou1lmO/8+ubnGaXgiS/nbujVqPs+eDdWVbRSEc3/d - tBX6UEdbvbK5LO0papMGWE9VL1oUuXwyGSw0mBAWmOtqScnl3ytwS9UjE2NbWyHS - XgGIaBbCEAZEBa9ER1HnjX6P37luC/BPF5NOL/492DbntUzEGkHTJN7z+A3hzS15 - I8gqJpNOeZYb0HSVQQGHhrTnMXDoCuplBh1HJF4T98cmcCTagQx7wBJKd6gK/Ao= - =nWUM + hQIMAxjNhCKPP69fAQ/+If8rmMUXcVr02hK+idWyPl5h3s8aEJOjqn9KJI2wPJte + YOVg18aLTg2eUnvcHcIPDvG5GCWPyPCHy3yRgxC3AuC1wbhlK9Lo6c4P8rzJSqV9 + wiBoYbTGTAk+l3EjDAMGCLqf7XYnQWT0z51dnuo4l15Vj9mbgV3tHA8od+XAMC24 + euDSWc5K+FM+LeVWgj5gIAnFrxkxpqBsG5DGDcWD37ebevxjuDCenFJGeGWymOGB + yYic7wgwxFRgA+J6RsgkTUpa4pwDte3o3wmyGxI68ufHDheJkT9SjKZ2F5q9xB/E + XlnNUtcMZjibPo4zK3lfoUe0tSZ/rdRmFhvO2MFBjlj6OAvqAdwEKNHJzZWX9Qmu + ygaTJKMqKqRSuJHbNCv71UE0Qxzqi67gTnTguC601FJUEAEtZbStVCAb1rWyengC + enS1coVjlcojj8+RWW3i4+07cXj7QLs6Zc9jxtp80c3cshtRURuJDJz7VAe9yzTZ + 4AxaczH8jYrf0jWQxXSrq0/EMjednHB3LCuMlCNybhsN7ako2dWa3b8D7YGkrBL+ + Jkdrz9+8PKWztp9HV2nwkdPFaYMaWSRraZ4CxNOuxmHUGFsV13L9SP6zHBUT4mMA + VzGqHe0uHpqSxsvOlmKCSHI7UWvDHDWgXqdaiLJtvT1IhCEJPhe/cQNoYBx9qOrS + XgGbjSWb39erpzHr3Zvmjg2fAXkaWBFgmz5iEj7+FKWQpUfnYpVEIkPBIEKefMzP + CRVnr+q13nyDov3fBrD8hE4HEu20lQ9Ag/B8zBtDgRlEpV2Z7Wm62mTjKyeqFME= + =irF6 -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-04-27T20:44:48Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//V1mzCQrg9fi4d1TqQtQyRUkvWNaGgO5voi9vjoLDBEsu - FNoT5jmkuexsjkNhP+kAnt4RvnQOUBlV2uo7hc/C9iRbQp0px5IkYA0PscskiAze - a+2fYJw+Bz+i+kvvqL1h0MYzdWDKpOJR61oZmpE1db/iiNL8rqIQoqW8TftmV8IT - cvYlKTLjJsvs0BUcZFRYWXKfYh9A0PmDnmGP7t2oQq86W9xeB7TZRPEGAmxm4UAD - D6hSKMWVsFdUVaITQhvlfwhJgxwXj39nnGfYP5kGC9DoLiNeOcSK0ICN53LiTC1G - WHcVV5KDqpkZhPPbzDHT9JlYeUeqW2z7fEw/CwCftTz31hZK3q2qh1OMaXvtLi1/ - FQir8rjqwlW+s4PLRNOmWtxRvdN1RkWEQzvf1Q9tgRNNyftmfxN8UTXxgjJJYbW+ - AJxi0gOwYP1e4XBk70fo2QFDp+pYZdZu1xthngLax6mwOLhDXLH5Se8oVM0J78tk - BgtprnZDKugdwQBGmpRRR2TqrPa9P9iSGkCvz3vcedG8zo5dbabc7katwLpMLxmF - S+Mcj+AMg3lgamryl/X2drghwWdZughyuKiawyPEtJqT+twGB8e8Y9Et0kASw1Tw - 9O+iwBaEuOEle5LZ343rBDEy8enuC5pwgNEQU4jQ6i+3T12h1O1+6KxdoIbYIBvS - XgGfj3kJJ8K2wd75K3gBB7Ft37eQhb3Otlkpd5SRu9nnIOOg4uH6KnaLvEVP4AJM - qBUnvMW1E6E2lyOFqjNCGuThMVJGAoZEMgdgXkfbUZepLiAVpxBOboti9wPSvNM= - =ESJ9 - -----END PGP MESSAGE----- - fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-04-27T20:44:48Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQIMA46L6MuPqfJqARAAuTY4vZqy8PnegR6fDS+fbnd06DGw6rXXHy+DXHV0UzBG - fDTVHufWIqtVMvc5pVy81+VUVMl/5ru29Yt+mWdL40Han8lcNPlRHwkeaZ3Pj3Ah - OesiSLU6NaKrgTKs8XL06cfqpXz1LH/lw1ln/1xVYJ3rlni2N9L8UF/DtIahEj4j - cg4SlhRCDsvlYw7gM7jf77GRCWD2l+0VdyDdjalDSrkhis5jvMLgPkeMF92D0aUK - 7JnzKkY2iKG7at4hnbXIpeJPA5ZGi7OB23RK4U5GftiOcX0KYbEzW1CRZNDL0aXV - Y1vPI1W3DrlYmN000YKFMj9waJST/snYej2vyazswjNtTcLKMr2XFUeTvwcC1QQj - WAYtW/nUphrynBeHgcTR7KRQnBjxYmsrf0YWW5/Gaj1nuFj8I2fQ/7EGt0+ODmqk - Sr/kKJIPZrFMA13v5Wbq0Tf9PtM3+5vGqYxZ+6szttnsArRRilDyIsG0GNVTx8vU - dn9nuxA3vYrefymljSkmvkklqvX1eAixU/lR6S/IwLZ5aSc+BjRxyP97UpLDtxn1 - KM7BWrvtyZr3ay63UJ+to8yNGkbH8EUVYQ1eZl55RIxb7om3tcOJIJOwYVmdTz0h - 7XzLPKYU/WBmoITXZyxJPsqFh6Tr06ANLZHzg0swqeYQE6WcDwFvAJxKbnddWgnS - XgG0f9RYBLnU20GCipX/RGopnXc+XDVi8dm4nbtUwJf9ahkJfG3EUVeA8lkgaLtF - Okzs7XjvJRDH9Pd/rZkW7irvrnJAit6jhahvwr7vrAdOzB7MFWjimrUQFuHSb2I= - =HZS+ + hQIMA46L6MuPqfJqARAAj/EuJtoflkrxO0YnIidYsgmKN4Oq6gu1O60LZknfZtat + lzF1yNLy8qOZZvY+O3kcbZSU9GX/pyrv1bzKCE3Kyhw0sEoc+NkvweqtBvEu6N/c + ukQKQ/KS7alsQIMJ9J7ug54fQE5QdH4SQK89bkaUJ4TAuDGQ4CnH8TdtKycAgmTY + 7PUy+UnIVSCYpY95eEs1ISTXVaB+Ik0GXz8DJjAUbkR+H9mwWQc1mIwsHVZR3eMp + 7HV8FeweX6dNyl5Pzyx2xjFLhLPrg+HHpgEcb2BFBa7LmKAuccTCSAhpIZdxjjPW + CcrAsOWGOaYbFxG0QfD6z/OviYgbjR0IU8ZEC2Kp0VbJgPSzc+TCqHKi7J6la/Mw + ric23m5gKK8crOOH+UXYZ21bQAKYS66bhvSb6A/jnuW2juoClUjPDWFiVG5mk5On + V6WagnDGDgO1xJVs1mZoHjg+rv12EKJCUNI4YEvfyGLnaHnVo/Dd1/oSoO7AWXaD + b0y3FfZGuPi6k2JlDU77jrFOHus58NB/+CguubM5h/d1j2SBwLwmMs4dc4wUV3G3 + YD8ymFm/k1z4eMSX5RJ2GSLF+c+EiOmmJBGwR2FrY3JiZNrIdpSn5+zLg47rRnak + IcDK9G3icaotq6mRwcjNPMIfLxRgm0bafFNNSIMSctfFgPPEDSBhg+Bvr0vJNsvS + XgGwkc83Ig4yEG1UwfCE93iQFSK4VHVkwwxlU8rSe6Ggc2BI/OEEE6vxsKUneAbx + r6xt//zDE75S1smKhmzRVtXjR4CxsECFp9g3rdHmujXjNKXAOHLDHmHrX2lVFwk= + =MLhy -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-04-27T20:44:48Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdA3/3RLLncuT93zrR/S6J1rCnw8tZrPsRhENUPJoYFIAkw - N5NOUtN8o8H/U67q88f98wPaDo7RjS1MoYAadFJVWymNfcSkXDrmK540bjMtBjyO - 0l4B85WzU7dZIZFuLInQtHLAVi+NJdjYWgmSB8BdRs2NAcAsWcNfpexJGNdLXbJW - iU8dEBQSj8440pccGV39w2Ru+4segxTwNa+VpLyH35cZFee8m4A6QZvUqSYhJMH8 - =J8aO + hF4DQrf1tCqiJxoSAQdA5OTtgZWZwoSyP5aVyH77ZMFUti6kxVvIz6GH2+QsCWgw + BfwRT8IOd+uNeLG+HuzPrnTlYuTGGn2tWE1um1dya261X533bVUNuU4BZ7JkODGX + 0l4B9DdPt3p+Xzd6MEDIuexRaSyye7KD+X/No9dyPFfsYBSZB39Dwb9yXhYA9UVu + YMuR3FZrfz/cKeYsbpwsD6F/heg5ya8hPJs2Os1+oQUYsPrxY+ccHXsroIRkbiyS + =OW/I -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-04-27T20:44:48Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAPa0O/k8VoHp4Osf+7gxp6TXz+K8pC9IzAjSMuax09lcw - m31keLTbi9i/wwt96AHBXaWXUljiRu2lkWGPkYYAt2mEhd45l8zvSV+T/xD4Jisa - 0lgBcuWox1JgdJU1nBdXokNu7fHeeIlmMod1UxJcn53tVDofHcsWRlU5J/wcqLf2 - ctwqLXMhNcFLmuD9Km1gQ5wkEmS5LgBB2TxGDXbuGvRYngi7/Qy0RC3r - =ok2P + hF4DzAGzViGx4qcSAQdA/cmvU6g4x5VTHX+AMoPuhlMNvFcz6kp9VRLYYuYqeH8w + s9+IQTN3H/Ppt7bSGa1gWYdTOpYNFwknCW875IJY+IR5jFQbm1ac4ZxuWZDugQb2 + 0lgBA2s9uvILL7IueeorbdpIljYjINSd96fEFLmPuOWFymF3X7O8EDs2sH4D+a3e + bURud2fVYkvKjeHTcVcdDAxY+N2qdjtHvKD+BrcAtBelf7/wZJ32uaPA + =s0nk -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-04-27T20:44:48Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//UwB8+r5JouKdouSud/ScsgEOZ7HqRWNymYmjDuwiANcp - wjU5RGwIUEQ7cit7zY52N2FBZOovoolujtmY+kXcrWu1jaaB8ddswMpTYXHpRINQ - q1YW1mtM1QITXaJ39ZxeAuqkCtk92LxbeIPQSnkXyy6vC8D8qI+oUBeskpxMSxNu - MnymU4/S2wZPRBwiABFiWk3uC36qVR7goyA7helsin864UIjjnBCOQFK+siY3KGk - XdUEhQmQf440ghF3hcP8UdAN6elMOS+O/oyR1WVyPzuIslPIJRKkY49jAjPn2OdK - bxxiWqXvEZrZRHDTYNpxCRh9+XBfjNfpMhZOkLNl//9mdG3ddrp4hMkeLR2cxqmF - zjPnzyGjA95aAPT3xBwEusYEQEQPcj3plunrlAYscMauYfcxd9IHhXgspGhINeU9 - qbIk4UBh50TyuCWBOqvQUE3Uatn6q4YD0neSrQgytr23jrjF2v+qDmLt3GnXuTrq - D3tbgQYSBPP1mGoSArN/1fjlmIvm1I5DZELM6O29dS5CJv+Yzwp0A4WeEKsDNZTm - yQht0zi3wrD+gZ9cV+owYLUS5t3GmOhc9jJghWpvsIFxzAm5wPJF1UF0mg9eUJio - 54jbyzFhZF+zUGNOgnunw2IZzWa8y3oGopO1EppDDUkYibkzwCaiKZbTi6leqB3S - XgHL7cHDxY7Fyg/YMLFLuWgznnQa2V8I9ahgWB7i0bTaW1JE7wrvcKIbJumsAy3L - Sewm0BSD9jyK44NcSpyB+gyU/oUXjE0puYevUDKrKftylfYFkFqKuUyG04/TyV8= - =vwPX + hQIMA2pVdGTIrZI+AQ//Qv14iQ+HXSlqbQ4EeObSKPYUDDDx9KSd3f9VeSq06nMa + QH0F43uuLZD84fH3A5hMN3Ca524FRpREKn7G7tfmsH05RsXjnL6D+MxH74GGUMle + RWVXA6xAEShrRCbvvxzTE3oI+DysgH46dnBWc3wnBIMyLfO39QgVtT4Rs35CizR0 + A5Ha2HPRG8lh6iegwjeNBQ+nUJgIEMvUqUF4vqZIMov4A8fE2xmcHHACdKzNZptd + bG9P7EEFIwolNQXen2NJFD+B9N/xkwbrwV1rgxGlJ/6Cl/MsI52STSFI1bnDDFUU + I4zQl9wTaZeVJKvYHtaBhyBW7W2PhE1MZMboWVXYcSvWrQ4JJC7+W+yU2HvdBKjU + pnuXa8H1yD/4MIHKIJIEv/ILHP3zvxXMBG0E73xG8/cKKcYDgpQ8/GB5/9pSwPWd + gI3fanf/QJvMLg5RTx8DmuufgAKARkqBpsCuBQlKRorFKkX9rbYw9aivE+WMe+uL + 6gyv1scmjo9hqGGgc/U7o4B9xdBfXjgfi8ZWl7sL5j2iQB9fJ9HxYzkWgj0mo8Xo + FkbasfyaYaFERGWfERrPZaQNGfMKPIqJ4CvifP+ZA21xpRK1qiMptV6EMPxKP4G8 + s5jCf6DQBp98hzafioJObuPBb4VIdRk+xKAE6Dao7jc+Hr/C/cInAwfok6X/qSnS + XgE8c5yBAKVgEDUxdrZaZKrfjRWvi03cK6gukhqBNfrwKAWV2sKoYyns3twLx7mG + IAVk6gO90T21Pio8ei2K3WkJPxdRT8ZBdTZ0sHhPw17cNQLuovmK+pqWhxJmxuo= + =1EIR -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-04-27T20:44:48Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdASLvFz+hXIlKfS7hJyKodObsde3uqN4KbWrpceqKanBcw - RqvYe59ADNnMF3vCEcfdX1D3GiLET6WeGyg9KH5cMP/cpiRj4jBDsIIuXBbHqmfn - 0l4BPQRvLsXVRacZbIbwvj/JxOA6t8cJVZfbOmHYiHuXXcQaSHRjCS/SkWU0fHuj - 0xckwj/khE81xzOkZ3UlgeBhP9ic9EgM4ryFYRdzkcL6qPq9UPxy9YM3S7BnZFov - =MhFI + hF4DKKbvh61jX5USAQdAgEFt8IptpLmyPsPddZGzbHB2nO8SjGVd2aQJG/d+fTUw + 1m02OcL/rnAU67jLtlosvWaN94V80Y7t172MfUUZOFssdSebguux914TITN6rXW8 + 0l4BphgMXQHLTpXMtv7ItIlHwwKNMlNpClpvxreatHqPQOPIhp5DE/tgFcHX+RaY + gWAJzK5UbTf13nFHo6buqVztl8CMXnBRsEYTCUejZvgrCed27+IkEQ8ETqJ8qxJ6 + =Rxyc -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/eh22-wiki.sops.yaml b/inventories/chaosknoten/host_vars/eh22-wiki.sops.yaml index dd9639b9f5..dc49abc458 100644 --- a/inventories/chaosknoten/host_vars/eh22-wiki.sops.yaml +++ b/inventories/chaosknoten/host_vars/eh22-wiki.sops.yaml @@ -4,203 +4,183 @@ sops: - recipient: age13nm6hfz66ce4wpn89fye05mag3l3h04etvz6wj7szm3vzrdlfupqhrp3fa enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBEUytOYjFJODNsL0cwMTlK - QlNvRjl4N0w0N1R2SmRnbDhyT015SFhuR1Y0Ci9lOHFMWkZuQzBOa3NmcnJWRTBv - bzlkUkJwQjltOG56Ykp5cVZrVHJZalUKLS0tIHJtQSthVEhwN1hOWjQ2b2g2cXR5 - eVZRUTZUUGZ2S2lvT2NKMFpwRVlzOE0Kreot5isXvYCDqUP5bGBZ2rd8BIBylYeg - +45s+J/7v6fRgs8w8f9opgrnbU8uy9T1TCb2Ik08oUtbtD6RVM9LZg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1NlplRW1KbHdTZ3BBaXp4 + SWF3cjZHL09XOU94UzdCQVVsZlRDNHN3aVJRCnNodFNuOGhkbWg4Nmp3RXE5di91 + SmNxYUQ1NEhmdHFyZFBIRDhnMnU3cVUKLS0tIGliQjBoNVpOeFFOK3FtU0ZPVCty + REkydVl0T081WlM3MGdJTUJUdFVUOUEKHPc/Iiw8iGhgxvuqZT3SPwSDWiOtGZ1l + 3YvhI7trKt945RuyklLiK9VPAOjXv1cqjte/4wJ04OQz4bCDB/R12A== -----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: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//e6t6fTrkx8szm/OZrndRPinB+WU4bcUOocgq3/Q9h6Ec - WZJkJ+YL7aBgzFbSX6n42kMRR/C9eC5dkQFcbACpkr7FbS75lMnYoYTVWh4N6zf7 - BhmQfdEbicuGN+IGSoS9tv/vP2MvbCowpsFkdjVlwuymMEWvdhew3/5+Rgptc4fn - vMcev/FAIzNdCp0bTHBbOx06NO9Hk5W3gwT6HWru7NDsQLBge8Ub/Vp9VjhrUyrQ - c4pEINn7s4xr3RqlqpCmBZksGuS1xzIGSq6sm2P3nKp7UFxZF/iSvJ3sqnFtk8Df - 8W98komFnaNBRO3kJbS5j+b1YdKMIoMpQ/By+FwMfa7hq0DcTb4D37HPBwausiyY - tkHQ6FtnA2amSv8+LXA2qxN0iO8gnpCem/f0VEJ5BcNSaZL7CkoYiMvW+6uCLm+0 - YkO0jUMRDqBGHAo9r+vqLsxoZn6gi0+nfxfAX5A1pDtqHaSDSn1ZSP6EBE3pymwC - F6Kz5IyqKxnKtIqcH8XIg7XlTVHbX4eVQVrlCX1CohtXxxFxjIQqnMNpreXII9Bi - sICL3NkWv7X+P2pKaiZ0qmecZu3EBzDg7buz+6/Ou7L6HynMS0M+8nHeoIZkPsCn - Q2FgAO/FBAfgYkhRjje1zVyPWr+R/j4Rx+yB/xBw0LF6vHClGXHQusEPsfHSj3LS - XgEbG5Cepna5VrYcy8uefN6Ga9JF6T1juWAou3UlT8JYXskT+7WhmM7vYR4/eV9Y - rfS+GZGnX8YHRKSLv1qoRLLARP7uqPRaz4yHZm+h6kHHC/XQQud2QQ8B9nyiEx4= - =XXVv + hQIMAxK/JaB2/SdtAQ/+LZ9b143cLnDM9jQgV/ozpfA3GLLgaeOu5CbZlLDntyX6 + PcRFoV7OP0SRf/wUy6efGav2ElzFpu7BVHsZHc7CNuDNWMx2YTycxsE7URn/WqkR + o4Uy/G1OHiGjFauU3mECKdePZerDKl7+r6bHysTojeyiz3PoKD9tPHNsTx7duuqz + Ap+aoRVV7lmtPHXOZ6KlnhAovfSRqF4k8/Pw+Wv3JuVsTQidFR44WSKRaKsGcEbq + 2KUHsvx7vpBdcC5BblWk4DZVtwDbnz1mDrDKgiXvgBV1geb4ls4KtQFC+kx7kYFd + h/wtVu/B/a/PB/7eRd3mJWfIwAi25zcw5AadlaDtzISr21Ja+h/3LoF6PjctTstM + +uYQyY561qcVnkUOn36PJX/qUOOcYfgGNvdtehqECTx0N9GFrvPyRUb8JXR84C8b + qtzQ59mW7BTLpfeORku7C6n0ntxqJcCuAplcR98DaiYff6QFT8En168fkRMu+F6N + ub0hzDbKnCiSyZAVKGjf5FDl4PE7j5jxXSn0wDMEUFs8unBMz3RLOut01/UTJ+pk + v7HX3cHSvxChwiJy97gKqGArfQomK83vprDWGcuJk2/EqBl6Y5ChGfloRk2vcNPK + NKNcoswquKT3oLRrnCA8OfOBNj/hBru4h6/WqJMNSp4MQYw0qHyKQtsHRokUfTPS + XgGyPROLZLajWtQEJqBO9CGFE4iDj4aTAgZr03Uk5dkUP7wnjOX54INjwgTDyjaI + nguUr35m3/LH7Wp65sqvQiwsZZFalebb0T0nDCl1xETHqgRjlR7jrYUSTHinVE8= + =PxKS -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf/V0jPArRoC8RHVWPzXxhWdr02MOCW/WNA2MKXb+CH+oDi - m7icbV0Lo28XMtaBEm7S5SVZ9j07zMoPLL/VOj6OueU7gBMHbMN6qxsUwm1OSHc5 - xC83TrMC+LCHZVbzvgX2evIp+l4nvHaS30hri46SaaJvoN/onB5O/Pz3LrREDKB3 - iwA1SPbk0nddfku5eUOPOVhCPTJ/QuUIZZha66dMJBFoqq5t6/+SANPSfDJYVmTP - hHE+DXVssWAMAXM69AX8zvL3mImNycF1MaRWLGM/SgC+7rTEAnYco5yvTrG0dHVN - 7Ifsb5Sfs/eU8y0SGSS28LRO7eh+dHJX41yWlVknydJeAc2FLi+6dkQzSf9g7Bpy - sYFyUJ7Wdtza9HGxhxPH7psx0ww6YqJOmrILOowUN9KX/8RwIHadIEruWSMvbvoX - BDwXMr5GbCjdbR1NlC0J9fv3ZcQw6ytRy6iKfz5ZKg== - =yaWZ + hQEMA1QflAioE8i3AQf9G0SSXd1uqra0wrGytnj0q1ZyDzyB9z50E1ns9ljcHdbw + ogWTKlJ6ANe81QtmNg4SeqyjomCWXwVtQ8VkMMMCA1DcZpz1gKL1hgmjh1yssGXc + jpmA1XiOeeW5hhr+sITkm2nSZqfVsK+kmP6LEyXFqABbYowgz4c2ZUd5xO6OM0ZK + dtgBwGcKuRwPOfxyHphz9HwuhEIuK13l1aZOgT1123V0m5jjTTV6rs3BGeO66/hk + NM1yqghZBH8L3uGqh7mugOTJINHQUpfkBklt5TC7MXqYpcsPAKIQn4J+QB9vBo0I + woPa49QpVcX2wK/gJIWAXNwhsusTbCNJ9rkepcPGLdJeATQ1F990d4umpMomxp5B + YiFPHqCGBHeBvYxOF7Fw4iWIMam1BlynDon8cY1HUe5kykSp8tzw7+ccMrsGdpdF + NU7DGeofS/NAxS7d2x/57H8hJTPKYmU1GsWNXWwiHg== + =+LHw -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAAhWVbx+S8mO/RN6Fii40rn+f9Y/5Er29UA9aAMbMbC4Gq - uJSU3AgEgt0ERzhFPMOYZ2OTXOfYQKm+O5D65PBuGPACtfCSd0H7WAkf27bY1xz6 - 5eCsAx+CIYHyvFJTUdCdbcUZSfTKIcZkFnYs7q0xQofv3S9+mgmMN5Pb8rjLW1Sz - zIppFkCsXbA4vUAR1G+bpq0CTHe10/fdd2hQeOBCoEMmGZLCrUa7tBLoFsFocz3j - v9InD+cUFa55iGyRnfp5A2N0vjHS61KtACtUeqqpXHOwTUjxJIiKkCSH3ihaXcbf - GBaeXwbWGrirRqp+i75OpQzZkSvp+TIFpXqK4ytb4Ez7nMDBJYF2vadFQU72zwBf - eVGqcmgomU+kz5/nejbdqCZ655hEoWK9oBU4X4PP26D/YNJDmMVUxL3sEQHITZQM - cICXorKjXwUeqDuVq2TT+XmjEs9glDWoC2ZSerRD+rOwdyQcNJT9BzByPqxx+Xy/ - Qxpd1FPim/8mGz8jg5IO8t0Vp2LC1q+vRVE9mI6hmeYaXucW6M/pBA18h34je/zD - /O43aCQ3b1Urn92QfJbUxOib+r2Q/aDiJBkmh+VEamhflf0MNDd1ymzRMNcGBJmN - VOVwxmlna/4e2vymYxOO2Wifglb0or/ny7NZrRaIVafuCeG14/h0+YWhAcR67ZfS - XgH7dmGfmJqRGwknr1eZoFe99OHVRWBQ8xTlSke0RKGwqChSHRAhGCr2ZLOl1WQW - psjjJT0VPO4XO5F6OHi2hHn7lOJqV4ytLPmkBvwCcY6xHI06v9NlW7hfYe2NrNw= - =PVk4 + hQIMAz5uSgHG2iMJAQ/+PZpBjJATzd3N0kk25wUFbdhk4uuDEFTSxJpujkql3i/p + VYINgLJaL8B2zKYjFqcpWJm9T+DZITqvAn1ngJ5IHyI8kjz5Mlo+71pnQL6Mm0L6 + 2SPx4usU/pLeim+m51LWf/ox3KusQZZLPj5FUSHXjPK//KIdhCP9A/q/g0yKICb3 + YRfmaTWgC5PMu0mHV6lBVEUsOJIKQiZca8xarvrqH8J/3HIH2VMpk2dQDh3EwKFO + WXZ+0B581NLMXcQD+Ap73orXxuzfAmf3pkshqCiDXtWefZS0wrujHtAf8FwyCkqH + uLjBMbnV3SmuQrZvEXelOprrLmt/3RSIcZ0n0ItD8p9eGSgSwuxpsHsIpMIHK2mi + drt+nJNNJi0Ft/zGrFqM09IuBaWnIWhid0EgcOnnpk9FMAIKPml9CVOp7LWzpBXu + /dMHEeufjHoN89L5BOfAtOOiJoAslWwNFJFDi2yv6NraBDyQ52tVjnzHMl7XYsQr + 5WudlljcwklkR+F2xX4sFpi+pt/hOL2VFvY3pSINfFtXlu1yqGn2dga/VrxVvz5F + 387jm/vSMmA/1qcrrpHeTy/+qn3DHW9DYg4+1VJpgG9OZGFuScZu4ptg+8uJxoo4 + X4JUpG5MoOLY752iBrk08qxvH3H72NJGQoGAgyTVCugfySsG/Ploui/mh3ZOwtrS + XgGV7YyvcV6XbiIRBjQmC/TqFqCp408Xo2dn48i3MSv/Jr+G8mN+PQ6XXzSVIYNb + FH0S2wYTJrtOkM8lJZb37TbLSVYmHT/fGwInT05NQkb+C0dBD5bnooW4melXGpg= + =/GYK -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DsZXvxFXTXoQSAQdAYyf5Y9OWwtcnzwlBe/znxqv+uocNMVe5G+xTrpNKTGEw - 9bCzO7YPRLClJkX1VggqWfT2jVuiHB321OoVNbk5X1MvIHojVcdVUCrZcaC3vaaE - 0l4BqIzkODGmsJ5WP28oUeKVDfa1r7tlnLcpqbv/Xk6a+xN+51h3eQRrwBRsKPW5 - KShu/kcNANnXPrS7LxmrWV667BFlu/bKZk4N/qe7g0K3yGUuOLgzjj8O5LXW6Lwd - =QQTt + hF4DsZXvxFXTXoQSAQdAe2fmfQDvhnT7pa7U+ll7RdnDEOnl4WixTk5fSQz/lR8w + 5OjIly7xuSwf30PuOyfZLNQm/6rOuD4HLEBg/kUSwXXH1f8SnH5uIlinqPEwNRUW + 0l4BG9LkUd2bKKI2+SnUfRJSAobKZHWtutrCEJCTLb+PEC5DY2FDVc1Dq7cvAtuw + o69Tm11oGg9GyHknlhDVeUOLpc/n7N9RvpuPvZuKJBdM85F7f/4WPpdQSzzALs7t + =Qwrx -----END PGP MESSAGE----- fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAtqq0Yi6mvqi4odA+WNHSHnfgm8S8Kx05LwLExmkTfj8w - 8SHSXIe4CrmqPW4WmW4VWmCdITXOMLTWZsLTjKHKvTDOnwWqIv7lElEnkFR2fuky - 0l4BNk/uaDk7h8Nw3V8/vt8D7hdVBSNFUeHkRDcvWfqmPAWrsvDX4nG5tmK1iNZg - wGnVC9nijTbMJu+THLliUJic2IVlPlc3xdsunWS0QzIwKbjRtNscja2TAPVE0Xa4 - =QqkC + hF4DerEtaFuTeewSAQdA+7Y4APT0gD0dE2SdZGlYRiWzJLqQt6juMP/t57/hGX4w + qhO9RY8AiMZrm7xG5LCHI9Jhx5wK5VFD+UMoaLOrESBG06XEGBBgLOw+kRfdQPMU + 0l4Bu/K/IfCVLqZvCGsSfgduuw9vS8qp0xs3Tp35sHpaKUfRaYsi+9QK/XaaH9+2 + kwuylu4WW9qkhwg1BftYL7Ah6U4nchNzVY2PBwAHyX28USPpDjkAFG7pTDKt6Q/m + =LotC -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fARAApRZhrzVP4KX1nJOYiXuBD4GPFQKSG0IT69SlNnI+3OmR - sZHDs3RDxG6mEafsueouqTe/VykmfoJdQsCgH2kj+sW2CJzdmLcy4cHs6OfngmRJ - TvNp9sbbuDBxZkq+68a3IiEsTPpqRfsvdAistQPrKm5W8pRHY29ykBc77pXcUJRF - 5xwPojpV1wmCFjnpA5tYzERLyQ1ZhEbb0HmHNCsIqLmtOwHTUChoklIW4leGNL91 - 9vywzJQFLnyn2ROmd/MmXqmgJwQ0IsKu7mueyD8pPhkiAVYK7s0vX9nD+zbm9gZZ - WayW0Oljdu/4Kj63VZBOzv79ZmhqNTeot4CgSTmMFFbVTqwTsqzI/vjcWDePzt8C - EPkA12E0+ucF3/FCLUpsfQTOqALNbTY0Ti/8JUpGSxeEiAFBeldmE6mvtoUm9LOV - byzs13mjJAHRPvdwJtjIcPkmDdW0hjm4E06qda2u4Czsxuu0WeBjx1y8b48NZ/UO - +9P/dx2/24PZnPIJ92JSuzUwZm8Vfayuo/EquRe9BZ6nJQycwvKTTTiPcYkadYmr - 094ONicUId4jL4a5iUykVJRe00g6m4m9NWmjpWXn2WIuONzb/nYjzVVUBVYtxwNO - 4GWgV5+2Uxj6VFbkIxkdo6vBlMUlOjFg9Pc+q19rOIOqwF9x09PC30UVnuWlmBHS - XgFVN/ZwqvgQRDo+bXgXWvDjcwrLlwTCiAsYfdGEWq7nI0+gl+/HHA8MKNamFtt2 - 81fytP5Jzvr+TbWnGTOoHW5CX21LlWE1YKbG58aNUw2xbTy6uDhFUJpFdjFVKxA= - =Xton + hQIMAxjNhCKPP69fARAAp4YrYdohjQP81WGdOQE1WdpGE56fatbOK04EiYBRphzI + xxdUQervcW91JNpRDGlihMAzPax2Cumkkj6w9Dg3HASO5hZ5MB2+LjVUp5+F+ZJ8 + 12Poag+sDXPHc6u0W03udRzoXN25FIvfjUMDgHqdLLmdIA787H4SsRsmU2P4CAJK + aH+OJS5IppXPDTSSUo2dtF1CE1IBQjXTpNJlae8ovV6MVhBlFjXA/9SB1dxb5Emr + cKfidkzfqNqy/ic8Yy83iWVCFVnq1JnRuV9Ce1v8PlaH7CIQJE2vpHi0ekG2MMu+ + U3ha9TnDowOrCI47v9NhikPbbRZJvFKoABzr71cgf39oidv83g1SYWJ0X8rtmpFL + OP1KxHCdHn2TtpfEK4aEE1jTK+Ww8hbqIaxS6j3PFSUZCo4C5c5Qap6XV09PjANb + u1Z4hdf654BC4gCRoJWhy5NBsspSWRUxcFikvObnXkqUnx8GmxQyTyKM/OBmDxID + hrjx48WD+fiuxY59xsafwiqiX7vdXgrfQTHcboR3Tko+qTBiP67c7OJyvYDTBStX + FH7cYrRdrQPlXCYiO8iPITTyFRphAdsrpOg7JZy9P3DjGBfCsO64Gsu4TJEDXab9 + VxlGD/7jHDCOlRPjbClgIutmXh55OCBSK+ff1eAV7C0DgXGN/8j1kgMeM5EKWe3S + XgEZfGuKfcb4mjJo1yKYd6bqRx7ujOHlkSCnUXCBgWHxuaoTyOggKMVE5BurfqMx + uFdE966mJ2fER+tMJaPJ08WoPYCvMu6j3xBY8OLdLnvftVcsiyXjbcnLAO2KTzI= + =qOOP -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ/+J3dfBDBJ9nnhbSZYSG0S4ADXXM+dJ2Arh7bj0YUgCcw8 - nEfXSG2L/ZmhNAOesHo5ysOlkXUN6G/PWnQorUVHIjAIjG9tUp34Bg7wwJhnlLHT - G9aH9cdVxc1AqWhjUaHo+S306lFvE72Nf4+SA6Hjbq/lNcbcq3boP/rC9gXJ4acu - icnRgMep3p8AhVQJSpjVlAaRSCZGmOPByPukB1zue3j+s6/i0PKqUGfNtR5McmuT - J+rJyWdSjf4d5z6mXC1bqPdsKZ1v1CSTvjnuI700Dt5+TEZ453fZSyD2Uz0rslER - pcumsDIG+t5oAk4H9scYuR5nITbtBE8ft3q4+kwZtaTeQBcf1+C1T7Vmsq/fMzQE - 2wP2K85SRSvsIN+ZS2G5VPwUA58f+fsF00n6+u2S8PLgDLssraaJCjbcwvwniCRP - nIYAhXWas8dcQGQg4V7/fmOtdC6hS7VSFehayQ+MZ1kqX3V95MHiEnR4K+dDhHjg - kJRwwYeRu5h9XXmQXYcZzLUIGZGrIHO59ct9cDzSnqJrG1Sm2JJl1r5UFg5mjBa0 - ELOI334NzM/UjWGv5HH6Fix6WXYwppniP3snSXpdZCeFXFJatXZYDhc4rUY3eT+V - DPIniJWoryS0cDs81jYFlIGUDTTjj5LtjDPHyDEnALsthl665Oz49Yg2MB23byzS - XgE8IU0eFBsSRPTSZnd1VHli0UiipKVhrPGBkufWAyEkNoqEnJTce+H3QBGCyyDa - 6HM/XOIV1xGqBgW4E+N+pT5XfY/wCfAmMHd+BdwqdtoQieNXmur3tF2UB5aTq9c= - =c6U0 - -----END PGP MESSAGE----- - fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-04-18T22:36:22Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQIMA46L6MuPqfJqAQ//cP0flUm/kZumFxv2hM3AbcE7qfmVObEJyS+ua15IACEp - JB/0MbJ5d+yUpOfDqKJh0f4+TuIsvcm1tO8SmyMVLcoV/H7zkCxiGh0AnHGKR2GU - 1S8YIQPaWIVQWcwkrxyHIFj37lG6pqEoOaY5qFN9snEyrnnbSF5p6FaFKZuAXE5y - gf95qgOy3m9fpywgl8PARQbEvz1DFr3ar22JMm7h0q2apu3ZxnYVWjYCsJz4wWGq - IrkRrbfFkWaX2TNSiJVnOHqpvdCzRQAxdJmpN7bQ2xev35bDhTdNSObmYpCC4pF9 - grJUnbmRdue4gGyjgvbIMNr7L7ptci2j6PTbb6tuu2ZvD8jIM4otsvyp9aLaBe9n - QR92SuKjYn/Ujvtwc++b6qna7T+4U2tQxCTgXYkHfbimp2c6brcEhiU4NJvA8eJr - OEnLdE+fGalygJkWFo6JP0ezCFZW6hhBJ2NRagLdG1SuDMOeTa3Ci54GRJXQLkOc - hpnVBAuiqa5mOHmuO68IPqHodgzVljhD0+M7IT0Z/XplfLbIsrHJIl04DqPT+flY - zXeX2QCTxZRELpTMFHklX/iepLq0lFveGPxjiBFQkQIcpgVKnDzuvVjSoCicXiCP - dvwb5BiO8DGMrYzJt8KJD9Aw2olL9UGaVGVF+CzGzfVQC8aM4fOOWZm+jY3U/vfS - XgGlbRgCGret4gQAWgkJCFtu9XxIYUual/mrCH276ufXL+zFn3AE2KIhalnR6xSA - B7Xdt7IQw5DsFYNlUrtarVP1pZ5zLOwQMoRspiRg2RFrHu2Y/3uSR2vjTuIyUwQ= - =yl3w + hQIMA46L6MuPqfJqAQ/+K103YkKXqjsimeopU6U2FPqn9jaikRmuVi4gS98v8+w+ + /z2yes8rX3+BpIaOeLoKcD9KOdggSTuZPzuDjD2VGa87qpBnHj4lHrf3VX6S5UIj + QYwzlRh9ODQG1szzFB7P3Z2sTwnhTF0a0qwUreO1z4BGCPouFCHsWKegzrcTlQeZ + 6GpH2ArlegXzbnKwSLBuwRWcSiBrxiH++8KOCSO00adG3TjVp+9FxYvDFo5QgBx/ + +QtILIW43Osu+6+OVjUaXt+EFMvqLG6u6sHsg/6HI1DAh2w8W8+/P1Mnl8Av3sbw + yWtKo7D09tGoLj8CUEi9KYPFejFMeEg05+CmHyYIVB2TtkAaLxr3siJ5SbNvuI6h + RMWedyDHxFeNX2XWYSy60VeJHdwTgKa474fVAV56wYgfZpA+hmhgdUR+ClQA2zpU + 9YZXswb0RvQBfYqPClfPZVKTxtQqFs5AwFB6L0qJsJ71HOpANZJnERkvZLCAU1x6 + M1of6qDhlJknbxns0li2KtKtibpSgzK6YvXld7DugGQgWdE8wuhKu8wEkg6Mzp/n + 0Lkuxys18zs3DbrJB0vAyIDFUgUjZaa5g9VD0xLocuZDqIWAhoQRX3k/RsVoHH6L + dp0fRg1Za+BUwjIWoe9w6ReGtuibgbXTn7XnP4R9fFtW3ZulE/HGqI/ndVGUEcXS + XgECsmedeUVC45EQ1z4z++6x/bMEmDkgu1Xjw27nzODxse08iRfrcgDliKXlDTEM + O06L5oqHUNoSAWjP044r3++mj+z6REhL9ejgvrEL+tAOVsokSWxTVSmAtzKkJ6c= + =L8BB -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdA7TVUcW8bGegL8rVPfcrJLRwO0kAxnaKXGMRpb/rQuQUw - CGgP5ipnaCooyIPydWRiJhsl3FFrZOt9ONfbIwW0mo5qt1s++2UNdA2m388b29Dg - 0l4BPilnPsgINPxm6SONUBg2Mo+yBK4ow9r5Ls1YH3sujCHTffjl5eOt9TExUSjN - qGfbYjuMv8fZtoXPtQ4+EVlPIMasYAnGMUjJg3w9ZviPe3aqWdnPn3fTdAqDnWpt - =pKyx + hF4DQrf1tCqiJxoSAQdAYFSvo/RyrGUlS3axxC8FmHMMX/CklalUN3bUZXloNw8w + we4ZS9iHeOpSwmNFgSjYpyJDS11cNKnj+l38ND2Yjypr6vAPxzvhg56v4R1FzFek + 0l4BSv42uLjvBNPOiO3b5nNKVWD5TN4SmkBcs7oCUKX9R30L9/rEUGojsTNadfYs + 8vHX5VCEayns4ofCJZ89FaqqpASrooNLxASoshGA+umB6+M5VA9UAtq9g7o2y32r + =NghD -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAOCpv/mO46SO7jM1S2hy3O7DCSSd7e5SYH9O/SWwzAE4w - jAjyD9I9Wldi1pBSRzcJ8D2TD1SxPwVfwEzFhTZ5kYv8clas74+YBa3sHvfJ6tvb - 0lgBJJ1N1GRLoxNDUi67RQWhuJaTxXOWOpmcHfBfkBvtqu1nIERqDEMgceTWmXpW - Js+yTo42xTgiND+92CUp0xOXa+bIUHXe94PfBHmL2jSaD/BcUaBZFwOl - =FZhJ + hF4DzAGzViGx4qcSAQdAAHM/GLHaEcCmbtYqwtQbgGIH5Y6oSBZ8cjApK0h00Wow + vqokpYdvhil74iN9pm2LnSC/o4RG0h5pCTJCNyhCYmbhYB+4lcMEJFLXAT84d3PV + 0lgBAvV37a5akWvXbgCJRW/D1O94zTfOb2IvDQrzbn7nGeZQ3T6tnM2h21ia9EC9 + gfh3lzyUiqDSjWPbi83vrsVH5NamK3e1yAEzFGb49u/6VpUHTcnZK6fs + =XV4z -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//T6ZPVDcKwXCiJD0hjLwD3DWuUAIW2qn98rKFdVX9dRlr - dtkZq9fmZz+ejqhKS6qPX2F8RNk0IalyyFFHeEwhLNbhCjjaktAcjBAWbu7WkFb4 - WosO82ohzz0aJuvlod9vSFGSCmADaPLirnJP0NuGA6wIEJ2iqYv5aHTO2/VAAbbA - 3A/hUPcf6ve75LxnyvHF3uxcoSl3TQYNqBjNF2A2c8UIu7xJn/z3+c7EZcB8aIUx - iNbLztTx5ST00tUb+sOw5xXRWkbxzYlY/Q4fNFKDDPIyN9tMQqdfCbZBPsxuDhZI - t7TyYQdutb0146/XN4aNcFQLwPkJsMZMOxPhAjctZ21NL27xE4zSpKuPeX0lGH07 - 2413wIyaAYluqjTuAaeN+1BeqCHHGNX65oQ4dv4PlCQzyGmSRfne8mZ2RKqyK913 - doetwpoUofLGUfuC6iRyGc7M/OcMGdTzfjV/MgicXPiv3XfJDJwxJIhhltZhDmh7 - dJKu/GpNPtQiGha8vblUv/pA8XT70DDuD6YdE48FBvbDrjTmpfYxZGk1aKfhkc+o - e6nIEfhRHJcJvgpDLI9CXTCh+wh7vfDCIbF4AklvYjBouK3DNrue6MjMt5RLAhJ6 - nFbg2c3vS2G8St6HbLKKl1XH+8sQ1IOr71TAESf75D068sFD9n2bIp8zwMcR4THS - XgEOyr6FKfA2hjRJAGA0VMs5FZ4Xk/4B++2SrOpynubbog0X2lwEy6VBhZQnAul4 - +KS2Nfv0ryywNgTy2C6xsINlORZQ4gY//oN4LD3wtZjY45njVPOrNKGB215NkiE= - =Kmkm + hQIMA2pVdGTIrZI+ARAA0nO3LbRHdBmyLKKu327SiOPwvXYRMqjap5U77bx2kNgS + yfDSULvqcOmubsBFTTlZ2LyZcp6jVsi4/AuOfLO9NpZMgXMcGzhRR8kC1CvhS6Pb + Gfq5s7878iBx2AGQiyWi/X5bLde0HEGNza5e8Qaq/dJSmoirw0VJ9aIvPo3UchIX + MBNHUO5kQqrwu79yprtPBbkQCQ9MbQgwBEC74XIWPA+URZlno770gwF2igOc8lyd + 6SBEBDyXVM0NxCCpdZqggiEl67Uyb4Y5/vf+p2i0hGPR+nKOyj+Xx1hmN5Hbt8cE + 88AkN1oLxzg9ua4wgobGHe/awC0N8NARhjmd4Fczw7g4QFpIxvWhuAyM22+pg1Eo + cCk7wU4GJJ1zTkLo7Z82Z2c0NOVx5EVKiOXA6JRZESYtClHYesSjQrTB5WsBWHJg + J9Lxx90TXOZoVTC/EFnG6GNb+70icmdPOKaz9b1A1q/R9JTq+CJugncwrLYvZ632 + IkNeTd2K5t1slKm8AjAhjRdA5hijbwVfzQSkNCcUAx+v04MJEJAMyhyEx9eHFKFU + TF8gjqJVbzzyQE8KqlEslbl8FMXe4ptTtk8G0bPga8/Vx3KZ1JSuOXiXE9QJ13aR + p2Ycg5n/YLP9TgHXa/xdOeIaEO7X+3rhfX3df0rhMNMumTOxQetXqkQ91diO9UvS + XgHzNgX3kmRdmqacO3NMkQQoAilw3un27HLBqVqr1AGjczrdpW5vnA4VQ0A082I1 + 1z5yVqF9LTQfl+HDUdVFhtDixLOwIcVuKeLPXGwD7QcbdvfnEnBlCidbiEDIUHw= + =sAuD -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdApCfjhz8OXIOvCPnlcxQbF6hOu0y+mrKJaQfqdFukQTYw - 0KavARcfzccY9WUNdgzgv/SLUZWWEVzb/LkHz7W94onTN9u9gP/O/XZhh4QA7zR3 - 0l4BxFu/WwGFlkZwJmXfgzLXSByuObipBNIoz0LxbNjCYb6967PZNlSp+cYTaZmo - lkyFdJyKvn7PfD1QKkrC+8XkNT31XS8ffzydKUBvBiIBvtEDmXqDlZOU/WXpOjAO - =DJH/ + hF4DKKbvh61jX5USAQdA0bs8l/1bA8X4KK5/HJfI1ZDyS8PJGGqtTBXW5km4m0kw + IixXAR3d9Ox6Y0cHiGwS88iTQNzdEYRp1AXtyRMWWiPQrME+mrifVrKJfQQzrXB1 + 0l4BEbvL369ttNSuRwfFv54m1NHac2TeLoqdbrKIIkSkeuUb6g3+Mh2UPz364h0s + 5bQ4VaJTT5lN3S10EtlRU6hOTRXVUxBaCunprjqYCOvJLwZispJUFBZW9DckawdS + =TnsB -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/grafana.sops.yaml b/inventories/chaosknoten/host_vars/grafana.sops.yaml index 5ae794911f..28ee96d062 100644 --- a/inventories/chaosknoten/host_vars/grafana.sops.yaml +++ b/inventories/chaosknoten/host_vars/grafana.sops.yaml @@ -16,203 +16,183 @@ sops: - recipient: age1jtusr294t8mzar2qy857v6s329ret9s353y4kuulxwnlyy4dvpjsvyl67m enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDQkdDYzNIMmkwZlM0SWw0 - dE0xbXdodkgzNDl5bU5oSmVVVzFWdjhWVEhNCkpuM3E3Z3g2YWRIWHhwR3ZJOEQr - bk8wYVhMN3B2RDZ0QzVycmVCZnRiWmMKLS0tIDZNZHQ5UGFpTTBXU0lyZndIZ1hr - SWxKVmNXRDI2eHpIbThxVmYyS0lzTG8KMXMSLt9GPyqUVI40bRVGAllelsa8vujl - FIoTVzjokV24wGXAV6RL8OltWWF3H9Lr44w8e/K0KnzmIWVhyihoIg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA3Y3Ryb2l5cGhqTkFHSk9y + NG42eFJGU09KcSt6RS9JZlg1WTVid21ML1RZCjhheGhGUHc4c0wzNU54US9zWUFO + Z3hjaHE3Z3BNUjM1QkNUcGNIUWlPWVkKLS0tIG1QRmwyL3k1WmdvOUMxNkdhUjFJ + K242ZkdVdTlMbnpoZFNTODRnZzdyRkEK7lMtoKya/foBI0RzRK+xj60jvo0TfYsd + n8BcAyRgaxTADUPxKSkLIU8exbI3htqq5ZXEdOtEwnRkmZ0+NZxiMg== -----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: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtARAAgIcNDYE//kVirpyvdnuwJAOxIZxgpaXs7ajdIo86tEEk - KI0OwOJoGI3OGiQqs2fo0eXrKbA8Pc/dX/4lf7he2ZqzMV6srBU3XUrFlVw/3maM - 6QWhpv8LWk0zO0AeK+kAA2hhZ8HSBQRhzTuQHl4Pq6vBBOoLvUo1HiOLKrnUc3/H - juXIl/9knbiJuL+BmmgLaytbJzH6EPje+pbJBdHILfC1Qa7KCXMSbBms7W3J5I1+ - fv7BH1lce67P8LEkY+nn2pc+kXLpQtB2CDmTvRXAY8z0LaS9LKrYxLnt7wHOLzlv - 2qZ6GmN0VG8kxk0y7/Iz3kfOfuYP/XuIcvqAXZVRy9hGR2yUX+Wm9bE26rK6EuJ4 - rEaR8FY6bypVlunAM7AkZojelscEQlgxAlBcfg3clS4P89QuVy0SuGldhob9vuGp - NxrecEnPOxmXQVLh6bP995fzi8JdIgGwq8+k1hUAVKaW1jBmiwjZHAa0lBTteVrU - hQ2ocF9Nfjh+5m9UAaETxmTIW0mV/vb/I3VyZ5g8wM917e5LWO0yqDxpyrEGU5qY - 45K9sMWKB1qfq76GiifvJlyDp/HKVCgG0Zh2Fee0YqEGF+nI8KWQAeRKgrVdeAxH - NcVJ73oQ7SG4CIldtHFOaNclK3QFA6A/Ck9NcnRIX3LKTAQnRn1FSNO9iI0aCbnS - XgHW1RklWzjLCi/GeDxPpM6/WrwIXOGCjgeCZH0Y6EvjayLp7VNLnP/xO+4yNDRF - 7EZ8GSCl61cPMuEv0ja3pfnq4104pV2RS0rYgLBR0h3RHZ8Y6UvQn65i8nKG/Z8= - =E4WQ + hQIMAxK/JaB2/SdtAQ/+MqHWf7QJUCuxOhqWV6Vfd14+mWymt+lmFfzWbvoVTHQp + 33h5WXP4tqpiQFVec1eHamIKopaHRWvYKaQhbH4fkuuYEwqPMKuCW/9yKyLIDcKf + gfZMmy1Utg5M1CibNfny5gUPI88q7FoHWc0pIQ09Bo1YksgVaFAsiSjNlD+DMrSu + Pwv0YjRdZ6m3ZQ6Ex+WWWZN5yMWuWlc9gJHuif0onae2y3r1+DD6NszJIO1wvnwj + 1+145WnTR9UN7RMHq8Vi904JJvuzBI/nWmKm+UdY4BCGOrWx1qGahcOFZcQgUVQz + TKw5mgwc7JNZJ0lifXXagDxGebsAi+Tu3upC7I+n+Z5DH/UyJBu+h2EGyoY512zm + p79CwP5AupbIo8R6inXcPvo7/XZ5fvoNLKilUv3Oq5bL86o5iQRpO+7bcvcO7Psy + vRSZyCLxCQJumyTH8YhOj8ZNGV3ioEy4Rc03LfLrniQbl6oPe1l+1gFyn4n51d7J + G7mvsKwwMPkBupZgiO1rbVUBNTKpzjqgevH0OCaCLqsPFtLrZNUSCT2xj8qtqkva + c2eeoqE2VeXlxKZHmInPir4iwzEuX4Gos/0Nds81hMDHJpr5aq+UGTxagRz4OCLw + wzeErzJnPlflpe8+iHX2Q2uMFMraxjrcBkYk2rUoU5V6rfSZHegaNGSZQIuAbYvS + XgFg2O/iOvScDYhHJXfwEaPZb6ZdDIJO5Ys4PczMCF8jUCIC4zt9dLZWmavfLdI3 + uGrx5j7Gg+4EtMkGTt8v+rKYPgEi2NMfPCxOmoqGPLZeZGx6URfRan1vx7MK3mU= + =IB+o -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf/XGWYFQAj+dQ6d1KIhlKUN9EmPi3fNuqWFUIHipo6RH7S - fENHf24rtyFFiWVXdQOFZamJdtiiYXW2KP6okMU1p1rqkQsrevjERdPQPFmi8TNd - BWvmSPMTeO0YB+bK1yDMB88K0n7vZwMKO4719HkmRakKezvH7R3tKolCNF4HXRXj - +kkeY3SwqOORliY5gcOoHe6wsWpdmhbfAmeRdKIlgTd2bwBxkL65sKQxuSzKfl9l - mB4tiG+pcehyVNBTdF6h2shJyFvQXgfsClCym8GX0JrGv8Rokfz0/o5ZfDXiFE/U - ymt2ejAh0OPNxOfAvZ6Fbk+74YnwfmUAA9rTms6oEdJeAciy2J7b8nxEaWn540wF - 7mKPLNmDgPg3yWQ430b9AbM7n4SAFZEM746w6yxMqzRXi33hwUon3PHm8ziIDNPi - 6oanWXCA+vm2oMi6ct5Ce90UnWrbdrSHI1Upu/afyQ== - =Vqsn + hQEMA1QflAioE8i3AQf/bPNVTstqyMYwNFkhzyuQ5zwiXxfB1A425/I6tKgqTNKk + s4pZUKI0X/OrSvDQG6hrHoqp8E8pbUGe0LVnyK0WKwKprVu4AEOnpAQn+0MAKpVX + WgKbfNGh+lj2HQixJ0ZD+u7G4EIegtbVH8NzqWovra9gocWmUx64lZJZ4qteRul/ + d7ZQtxF67eoTyp79FqMQPmJtCEHYfjvvQUgRmdg0AMqbRYYeEH7F60FenYOAQ0sn + quiAoqmuE9YAYFXp9YlhpFGjyXWHmUS51d81h3bU0wS1qsk/0EW3g/F9Zya1SWHo + F1G85tBLYeZHbjI/PXDYfbUDlMckSx0YIdU0xfk2xtJeAXzWPYItnqwm+sDGXhSN + qY53ZGd7sjWDUV6xZNvmKW9YV+T+ISyzPiYsTaXKWH+ZXRqwtMJHYBgqIkNtv1tT + SvYAKLIMXSGixLFZarZDGi25p9DEbjgc+LW/rrsixw== + =kbQx -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ/8CBP7XS2pSj2qFGoSIiNAy5reeXF2CDhjsqJ70+BbNRlk - 5URo1bZH+dhZz9oT9CU3RO0DLBecRaar5mu+3OuWwkX6+hPYoSPQqEHC9tKzoWu8 - K0MH+23H8a8+C6LIF5ogOfLAwz1K84llJujuM/m6fU3Zk0bmDSoqrQ0vXZ+0fmQN - KCZlQxqsF4RE0Q9W7UG/0B4MGP0XeJ5KcQJGPExIKHjVjiKhanVMKoMqySoZtp2r - qGSvVOYa/5Bdnn68IAWtqPWh6II+ovy25zR6KA8DZuJD/4r1xOJ7AiqApANHL9df - sDX24RcEuK8btdjEtXkOq1uIqXyGkVTHmEgCGp8Zwluqw2uW0jI4ELtPm6jjuVgO - Ow4/9VzvspWfsldQoTZlws68HSdxWK13oJI3jydHoCv4e04RzIYwFYy7yvBmdXs3 - IseiXBsgHq5FDaQDAeWvc1ofvLBeCLeHS0F4c0gcgNKNFrosDhTVb5vh7JWHYErR - t5sqDRGn/3jRv5U/FOryNlN0Uxolf0F6OFFAMiymVZjPxtrd/HWqiutluNo1bWZe - si/5n3nNzYmeJD4aI4C8xNYSWlGB/GNRImQFqvNbRDVp7WpKNqnq9BioPK92O4Uc - qkYVVCEomkxt6iAIpQZrug8QFM4TyfYGjDZvo5AQcSCrMK6ETXow1P1xB+IVF3zS - XgED9oEhJUyml5oRWN/J7NZZgfQ7GOdchVt9YgmDQwSF+ic9gDOoxszfil93r8VO - vN5OnR3eQ5EswUQ7zTHVeGssvEtrUZoRbXRYmAUIQDOyFaEfW8Tt88SvBvoDIZM= - =P82G + hQIMAz5uSgHG2iMJAQ/+LZKXCe0GA6SkB4OIqeDko/TaFdPfC7QSDmX/W0S9AL/G + 9LZomdB5cWAG/+gJSc2kDmKzKpLrsDvJ1GY9x6H7XJ7b9k5P4aPLKdA9Kdz15R7B + orJ+n+YGymqW0mH4LEWwoq8z0VzMOFsJUCUuUcmllitSdVKLfice8g0hybA0HyVF + smbH6ff+dCDwMGbt/gwa5ptHWUaKuRGJSeAbECEtXU0SCC55VpHfDa+hzbrDS6Kn + i+I4808R+c7qZY86pa1hi7Ts3HhIAqA5VdRAUWMelbIs8kPNNVmEvwVS6B8DwFnq + AQz+WcJ2dn85GQyPyFPAOFYZaOvKyVkih+z/rkNjOb0ILzHCt5LqsbEs2kp33ESC + xbUhsFtYZ2D063fGz562xBaUFJlc7LnElG+/yeSwgQ7hTqbwQmRjiKHbObTnutZ4 + Oio8u0qxWj++Uh1yJqKTtrjt5sSi9v0QSwY81k52tmQuymou1dNAUOznIW5dMKwR + onSbnxzwK0IUzo4p5mcPOwoA2wBpNO6uLEQhAVkL1NQHXFP7m+XsFD+qb4ptO3pH + rd5BcBtJ2FBrmPvEDrKRDmEwU7GRQr5zUXrIB3BtfGs1IddHMSwBLDa6RRvki84Z + Ee196EhIOqZOJ9eH0ZUzNnC8M3PZQGCwDVgokN5Llcp9tVd5bmFdF2RfYtEYTErS + XgE0Xzr0eJBvds4Tyt5VAjfkGvBPO0UHKh/PQ30vs+WJ0h+2ilP47MGuUL0wKiRD + rHru27y+mvtZOTZA3X3W9g1oV+rSPeID1DQXUcZnQlP6F3fOq2WU1YjkGSgsT0U= + =10vw -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DsZXvxFXTXoQSAQdAWeEgysvxYxVnuJJtp3KPbuv/s6EqSctrF4XJmftbWmsw - 72MVEdRkCogqmuzztD9YXmdP5rKgwTJdRczmDU+LIx5+RW30MlwOKWrCxKM7HxJ0 - 0l4B89kVzo1fmehZIqbO2HaD88NAleDUTCXuGabc/4ZowGpQLbzi5cTDVR3QoaCz - WVFgLLm9ViQFmiW1ubpDtwD8RNRBUcIAm0b/ERv07eu393M6p8CK5dGDjWQNKTgH - =hVTw + hF4DsZXvxFXTXoQSAQdA4f+XccwsAG9Im8f1pyXtaJSK0K1/ebxVQHNy/t0BPmMw + gRCLxWURZCtagRcJr8n0xnfuj3DgnpIS1bCGsljvHyRkYiA1sp114Zm8L0TUcQDt + 0l4BgPeHrgJcY1AfgdulgB6HjJw40gPVX3Rdf8fhfmAGAy2Vq8ZLdljAla8VQwxJ + aD/Tsf18j/1Ib9Yuth4LB0kzFYvVf2LC/VM4MVtipe1gs2yIplE7NOtD6mBAYow8 + =h7eg -----END PGP MESSAGE----- fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAkD1EFDKocbulMNvEy/qzEzxxsnlPATAtRnQPdrK33jYw - 21ABa+GyUsAed7y+/3ciXdKuXJI+Q3ryhdlikKJrt7q41kSA8TBTV7NR6LIFfVty - 0l4Bm6l7iqfDp9Js/c3g8pd8EQBOCgng7sWi8+jAugMYBbB9XYb9M6wYPhMaE/pQ - 4uKha6+jyVQnKwCW1kqJToDw6+FARHVfhX7ThE+XRJmwWbFvZ4uJm2mxoNNYMwQI - =co0T + hF4DerEtaFuTeewSAQdAxTnr3rpOSQapD6V/VxnOyhHGo3j+BrabUuWZ6uQxOQIw + oVoRdeS97axoFQyVS2W103ITcaZBqKAiIvjkbnCS5dcejs9x3wxyS0G+FFYUco8U + 0l4BkE9yrEKN80IBb4MXIYbnt/OspUhkC2qk6SnB3J6oCst3ExZMK+ad6B12pZsy + wsprz+YKEWqqBPviYtpyul67M5iiE4kr0tSoMsXJW8IWueCxVRSB0QAOOsf6Ntbd + =HXTs -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fARAAlMfM5tREQf3vpBggRieH9CJgjYryf2YEA6PeY8AQDWhe - 3BBQHpA1CneadftJbFAt5sbrGcb7NJGlpnxVfLLytpeR+keF3WhIgMw/U1wpT8Tk - SmiSjczFatTmRLIKEerGIzx5BZIrxDbRgQurAgzrStCg/IIdFtlgrFeJpw9V8vMi - 9dnbL8DK90DGwV9i/hvaiknLIGOUuBKapvheLcnQRYzq/DVWRE0kHhcajERMeuBF - +/ReyjoQX4mFRY1iErJFBAk1+sYfpDaN2loD2PWEEQEx4jR5nQIUYIfL84ajS2B4 - 8t8mN9CpxK32pZJelkVryz5gO9/zG2kFEzHV6vNDRqXdsCXC3dLgGUPyckA2NLa2 - XnG4d/dwazaMSEt5BIedyKcegXlmWwrhaSpeoRfrt3nq3y051ARQhTn7kJEO5SiW - 5FWkc1DP+VgWxC+xqiw99DVXtsccRhlHZHrETsl7d6g9jnSTftzyBHLLWbigfY4T - nKNI/7fsH1nL7+KWLCm3wpfsvBALaaOaL3xBZREUhghtgSJdmfT9Ri73UYj7jcjF - 8q1gnv/bVb6dlzsjJZZMs8x/fQVQ4Ew4hCZ8KT41Me8aVJmdUSWWaMNELON/XVpL - hvGWF27z6lcEwzVyU4F+c2hSAG1Q7tjYPVVtXoszbcvhSxtNH/FLeTvdiYw/QSvS - XgG7aocwU4dbgWpCe+0QXWut5x5QdUNhNgTAYXH8LLFf1D4DEHA/p0X25OFmInuf - pQ8RoaEOmCe7TJeIUEFxvB9AfLex3KCjewL69oqKjliHDV6tBDKJjhK+ROQuAB8= - =iQLo + hQIMAxjNhCKPP69fAQ/+Or0jterg9l43udPf/nse0Z4Oi6Zymrb/iYuBY7Qt38xs + oLemDNkY2Jw4/Y4PjZdqpaHWLWSmQdAxYZl59rVu8NYLNkMADCtNXQ5XreCSvErV + IoG9rxWSjunm4uWGE3B9LHf0OPXwbQmQDqs/5TrplpqT5FhwkGsf812wh5N7TcvD + XENNNTONu0VCx0X63glZSHM6ea3HoZGriOIHDdx28GuPerixW6g7hxD9Qc5xGl47 + 8CA2a4fXn7yR+VLHMeOfNSfyA0dT7y1NNlmIoTMSZ+UHgbRxT0IQBThBoEkto4VU + BY8zyScNkVLRZb3YVL7eXe1ryvGwn9rdf0G2n801zYQDHBfDWooZWztPizizDq5l + D7wJXqoZPn3r4AdwGi1qmggqKYIL79TNllXQKB4nbn4XsfHLKmdIHHGAo2aP5uJi + tERt4t27OQkz1Vuc8M2A5rtetHPKDXyeKKsVrldKoK2UXjBBkorPh0zm3WdLY8GX + NW1JFw7Fzf0DCWq8Rn23UbY9we1IJm7pLRwJHsfiZ2dzpxm2Caj2XTWs5IGzQbjv + xUadm6xJ5TG6mXymtSJVBJvCGH+bFWNOx9R+0zSICxKosrDx2BMubZF8GaiJFMk1 + Wnn7MXKMVP/RJ544+XP39gA1ogtZ39p0hkNpX6+iN09z6PRUyz4EITdlWXXEOHbS + XgHp/mX7ACqzyRV5n/Jws5uwNE69bhf1Gfgwc/Uphrubm0ii5AYvnUlIdZRazGvM + qDNGsudGQKCPX72ECuqHaaFifl2cdN22uJUBJHgKH3jvCUmVI1s8xLLa+dZdtaM= + =8Cxh -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoARAApZ7Fnmz5BcIqdw9IUuiCZU7I5Yg8n1vmzd4ACeBvRgYA - EAmJ430q5Mh4L5YDmP7Ghmlf74mdVR/JjZ/3arwMjVg+8sJjyCc0zpoeSe+10FFv - Hwl3j4PEbWjRCKGP0P48Ax6yuLWIRYTGbo8HrI5bRpyAGTnChH3FwSgoZXMMaIPI - OQEsuhcuOnygX5OzKmIfjmIfFC2DWs8SQrJIou18PMermhlcIOQ9EtVu62A4tfsb - avjCDwv3zIOgk0iSqQzo5SE3BGHTFB+hKCRTIZH9fBHAxJmILFJW4N5LZmM6JjpS - I9FlNE1VF5HnBLTC12UQKSkn8MIGvjQWWB50ZzhdtWCxbL6y06pQHbZSA154yW10 - PNHN4KjRVDGqesfNr08f3xPUarvydeIZjQ3NHWmLsSGzdKwibWdm5X2WRw4GuD8S - /gV2qa/jz/psUAJK6NxRCDHbbTqrF4PR12+5UTpFgWlDpLJtlcagqV3Wl0RoZohs - WakZfCkJemcy7/fKxaQ3FNwAQWAb5Yc6V4TvqwJllaNwfdO9BmEXhETEseRcZB/d - 1EkIvVvBa5GZNhfrXlUdeStvm7WXmF3X1YlN/ouNduJTsMgCUXhua283NKNdoeWL - qawI5fPbChi5oIDnOc2JZVeniK3MjmdgkyzbB8le2ZrPfkM/Z9bdio2UWpbkli/S - XgFvn34QnKPTfBeAzQ/X+0F9tlvBVW5ydJaq8CXmxLBxQP44m4nKOgc2raOsFjIw - iwVckoqgX8sZwvywOWUyCfmrhkckbJlwEAy22pWpU9WbAElivngBM/UwMXH5IAg= - =FYrl - -----END PGP MESSAGE----- - fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-04-18T22:36:24Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQIMA46L6MuPqfJqAQ/+LMzQqaB7GxKrLBe7MWo7n9PqaH+0Dx62XG+dJEP08Q6F - CLnQsJMJllJuk58GH+BXUEa4fB20WJXFYncTRKTCRz3hwsYRsVQCDxyW5P9DAXNh - uEx52e/FeG6O1Rb5Lr6lL852R8lSYLya9EnVOZKYV7KH/rsYcFLRwKVwMBjik6hw - Vj8rwnMQGe+Y6FKc17XuIZ5RLF5p5HOCGvYW6gOe9iqy/tRmnQ4GY89df6yZsTGT - i3goioAB3bLyhkMRX64UHM1DyJgkczmeYQw4RxcztOnOlp9qSpvUFOJKarHvGJKK - wl+FcZ99WpCzAr8clsHOxi9YjZu50y0T93I3p24U2qjtjatpI3juOuPqrLkkfDJt - w7gFkHGplBc4eozjJrZcCOQuNoE4Odw5k/92uNgOiL1z+Lma8dhypcCQmi3YXvmP - N+KOP8+LMiIA4I9cjGtG1xzZtNxNbiCOZF3o1tl+F8vPQ2zZEmSEm0fGLw4cs84u - 9pmt5D05r8J1lVhKd05OUS5k19FxGNTXwHYQDCHOd/02fvlUlcxd574eP1856gOl - d3vPqq3u5JzhXJhpVnnyyyXxW01hbcwRItH67pOqYdGAOlnFMkkmajKkO1cev787 - 5Jnh4R6cN3QA8ZJF53VJaxhtefIvnog2PZLPofETNJSi3u7jRdz9Zsuw+XFB1qfS - XgHaGLl8kAHmN6N8T9A2KZJ++whrkzxlh2ghOwpl6rGZGgfVKOiEQ5fhejCYqn8E - 1VvOCx3XusMRLwgsjnA1t7M0Rv3tIWjhO1tGxh2y0Ryce5AXdqjoPG0HtlpoZTs= - =eS31 + hQIMA46L6MuPqfJqAQ//YX6HaELNsZ06BsuAO2mnhI2Q4XI1Wfp1hQ6wGCR8pJc2 + My9Dy06tsglckPGFZYRhaOFcWSNksBYEMnGxp37aHEDfNpsDV93ENHB9LP+WYKxW + X/iMRuieW5oiMXaNm5KC2oVxt39MLg6B/9Lj/lT9C4ostQrIlpsl32n+j/8ICNVt + yuYzaI2pvgMo7AD0ymKyX0gm3Qkhv4XXdZDYTNSHEjhJ8L3fjH8vS8xXzffyL5Db + Q2tAPI3nPC5R6HDf3lb0b50e318iHAVq1xZzNCWePB+Xqx6Ur2UcZwdFHVhbpSCm + e+fro2M1d68AdMGWS5lma9Tvz0X0dB04H5JwOy17M6lyCkUt7aJ0PzyZBt9crepO + rsKjToLRZJ5MdWBV3mzV42LN4Tt1MqsfaMsrA4wELffSXf0NU13xH6dqJyYh3zbA + 2nuvcducPYUGlb2IpvbU7Y1KMlzIlrnMh2WogyTCiAsqCHOLn/+YodbORuV6DLvG + Br3i+9z+Y61JqLpja1KVbFY7xzsgI7KvaBDsF0cQb52nzQFDtZ+/yZkqhR1skDXk + 5STDK5dabLZQL8gcp/Q88W5a70Eq9ycKrGqj0q7IBxLvEI9q5MF8V6/NqAOxZ+wg + eIQDH24Yk+x0H0P+LniF0B2bbv2vmfNEhLB8UVoQcjUBaSCv3qqfXg8X6BRqbXnS + XgHXgjYZTQO8QeeCb9iBMu+vsN3JAfNIPDI2J4br+/8/zXdQ2z3/OcAJwq0Vkb6g + qKZXmq0QxIrEV1oyfdcojzEvr+a1GO/k3W93FC58frxAJAjwL+qFcUB3VFc2STI= + =Neu7 -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAM89SbF7ZfBmHuKXtCY+oQJnDJ+NYE4/fBBy6s31hSXYw - uX8BbY6ggC2aLtFUHkiBRbf3cn1TQ30baXa/Vsl3LpTAUjAsBuvj17eJ+IdaTv7f - 0l4BGtUG5bg0imPwZQ09Wt3yDOH2oYrddbj85Kig3rNMP3eNoI0yXYw9rwwGTW1x - V8ym5kiosmsHCo6/VjWHvtZnAtOg7taLDqpj4pjrNnLsA6e5CKnP7ZLSaO4i//E5 - =ZUDF + hF4DQrf1tCqiJxoSAQdAnqExdtn75awUFYW5b8kvggcZosLL874UdEMiVXwpSFMw + /SKx8ABK2kMTNmlVhMjKYqYkXeUMNNzDsFpc+vHMfJGUhks8YJK0hQeWe4G9+GQv + 0l4BxuJ1P9kalZkcKlzrQXDgMmoTvHT+xwjo+LfAQlVpXcyt9shsOWUdGDx+Humr + CVntpLtxqARSgvTWumfcti7r3zVPb6DiNOJGRLYlK9oIL+ULZBrbDq9JDDV0oIxE + =GnXD -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAvYtdsC8LrQ33mbBEXVQI3rAlFUKi0uc1dWjB58opw3Aw - XOVS1JB2penIdUGtNnMmOcdKvQneYESgvX4Asrv87LbS9NEOZ3ckgxzagup1yCi3 - 0lgBFQjWxqR+8YwKTv+QN2aKf3yAiJ2ctkYryQG7RyUfXX2f1lqpKoQNMZd8swac - cgvWwFuiRmAiga2jUu22T9MdVZWEfhrgXAEK0Gx6ZLz5ijXMIYW3mhMT - =IgLJ + hF4DzAGzViGx4qcSAQdAdY+usO/yHbUDNsHapm70of9Z1rKo/Bl9RMFmDJJ+G3Uw + AMuLLgs/kQ/Y1GoiePDAJyRHeRlLqEE0GNL3jWPdxUSpAYAp+S3auOo0hyDLAXiT + 0lgBamxHCGrUNWhLjZWln0myCv6N7qSNqK/im8xsXDuNadzXHxZlfC1Dag8oGatd + Hjj7ZOa+jxTCzHu0nCxWwoi+UdO3Zglk9i4/IgPR1naO5oZBa4pX9vfX + =G1c6 -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAA5MantQOH+ptqau+7VPCrKu09XiHqaq1ly9R+o8T7ruOe - GRMzl9URE4C1V+TROD1ejHHtwUenEtJab+j70cQVR3bupuREXfXKCH8HJ3rzJLkX - 9TX5QIq7NyBYPEFHuma/vxkBvpDo3oiCX5tJEjXNZRf0vX3lYB8Uq43Lez2JLyiG - fQUpiNWL+yt8TRJxop5rfHfYUai2DRR2+7Ko/xZHHdxZqMiD7G3qXPYaQsxM6zqJ - +LKUZXRT1hVJQVh9yph0tK8FkaCXop1Mf4Dxt0J0vOkwchmUBz88W9LgKcCFDUFM - y6zpZRAzWJZ2GBzSjLJbvmB3jD3Akph8w9DWRuwv8r1LXIJVtACjZyFoY7aFMRDe - m1ADfKVmGaVen/94l528pTYcnhstdflM/7BtzhjJSXajrpV1JMn6R5y5vmqstZi0 - 5JU20CwVeBR+l6Rau3j0Qno/U3B/y1NsucShk/ypWjYO8QbBbL5uKfyM/dvoJtc8 - +gEw88+uFBHQHMb3hlTFqfTQ9zEZNTnn+9NnG6QzoKEZIz8ZMt00fI0G98MEO4bq - HpkAv2BD4fUsCSFwYr3OanRVwCQuV6RfweMzIxkDErh6TAfq92d0WlzFMWhji2mi - VjUF7MIjs0mGdoH7IaS3GLbj+fXSQutFS5SBh8+S38tiG00/Eb6aRtg+zrFZr7HS - XgEUCFEMoca7DrlpAcOJxr4bgW1eWio3/CD1fgYock8sCzEejsY799YDY4aI0G5X - g0MiptWOV4SbfxpfDrNHzAsVBwCYG+0UnZSsin6Kav1mbc8llg0im1q2msJn690= - =T8Pj + hQIMA2pVdGTIrZI+ARAAsOmVHdwPLYgexxYyVDh/7MpBJWvQB+fJaDx5Atr64ybu + cu8RaEP4JDTTpn4hDk94sJwUQhyRR0SCUcdYThm9zh7pleCSOpCRzyTnseyLQoS6 + t9iEw2hYy9oEgcI1HRpSe53y7vPXbs9WVZpQGaDh96aVlgzmqE8UNTedoUt/+CFT + Su+3Op2TGZWkY7dsz0zpocQ+kOcjHqlkiFqdnlwoG6UCyYCBa1GkwvJKVhmfabP2 + FRzdHvnCqA6PGILvXxYXL33/LsUm97WNJxPlOzDVY1jVMJXZJVxBlXgEZnbu4OEZ + eFsjhE1VfDWtEI1/Yb0THxRiJIS7LfPI5xqFwl93Mjh/FFM/ugSm1T+x1WJnmwoz + hH4DXkArS1M3JLKOFzefc6rNAM9WD8Mon70MKKiCrimsVey5T1e54LWph1A9hC+i + kjaYB9l9gCPcs42q66V9CvMzatm108kNu5JPKjHT3aVmUHo00s/oXvD4PgEs2x4K + al+wkYVheedGUeSUGkkyIvLp+CEncoIuSKG5x2UyIKZuLA+tku37200q2LtdxWs+ + d35k6vPJvQogfkt7cB68wBDUZFamYSYBZWsckyxokwJVp3cftmWs5Q3uBsXdOC36 + e05NceYEs05ftp9+0xHkFIBgBz7WtyjFGa6g41P89n8GzWf9E1yHvm1BYavyMTTS + XgGmtjRRDRwurKRtrx6WzfRbvF9KaDg+w6sU9mwZMdeVv7ACffM382Zw0LO+nbvC + xCmZkvRk7kfdcdvrfhoaIfyXJMlxf9u/uNfI89OAsTiHKTjZFtL0LHz6r2RTr1A= + =kXeA -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdA1Ewxqje7TqV6gp4y9pvjC6caRYiBhPCceKXSHQhprxYw - vukvBbsFfCOhb4IpMpb/ynj1ROvUIFVjZtpnORh/tWFvciIinxXen+9emjX52uwW - 0l4BZwX+p5PYib0bsjgWkAdU3WVXD3Z3QFC+KsJVZlTDDkpJO/Bq/jdMskgrk21z - Wv9fodH83QnsDXiZE6LhLtfiAQCY+Es1wDPPtcG9x0BnlUhjaa6x9OskTV9jKOhO - =HjGy + hF4DKKbvh61jX5USAQdAuRRNS2Au73aHpHUBKz5YLN90xmtH1KCyd++d8sbmImow + f9YRG8RBQsfb6sBpw/lrIhi+F8yVQ9JlTIeSTWZxgWSjf44EUAtOBAa8MJiHh90A + 0l4BqjgrByGQ6pvIVhj5dynT5LRimGwIcCw141mdrbFahIgdQc5+AsH+0SYpZuVs + kcIdIUQyWlSIK/XsIRytGX9Qpp43lpu86HMcmOAQ8pRvQjnoTd8Qa4jnCZO+TLuJ + =bx0/ -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/keycloak.sops.yaml b/inventories/chaosknoten/host_vars/keycloak.sops.yaml index 12827eec2c..8902de1f01 100644 --- a/inventories/chaosknoten/host_vars/keycloak.sops.yaml +++ b/inventories/chaosknoten/host_vars/keycloak.sops.yaml @@ -10,203 +10,183 @@ sops: - recipient: age1azkgwrcwqhc6flj7gturptpl2uvay6pd94cam4t6yuk2n4wlnsqsj38hca enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3WkJSZ3E0eUFvWEVWZHEr - NlpnK1Fyd0VSNmg4ZkEvbjB1bENRakt1dUJrCnl6bXFnY21WK3JldExwalFTM3A3 - VjlmdEpveXZYM1BCQ280ZmlpakZ6OGsKLS0tIFFJOU5XbFlmSk9wT0lwV0xTRm5j - dExLSU5MUjhkUFFUL3VpeTQwSnU1OXcKRx69PgZmvxlWt4g/mECUxV1TB8ISsD5l - Hs+QwcFhq0HCPstFgjtHttXtVqKNlu8ow0KFs8eUV6T4v730q2P2gA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4dS9VUnA4b1RzekExT0RY + cHR4MGFWVTZNT3FjTXd3cWN5TmRwMnVCVWhZCmNVeUpIeHJDN2V3VVRVUk55T0Jo + T0dWclNxNmU3R1FQY0ZrK09seWcwTDQKLS0tIHZNQWZCc2xCbldRSENPSnIvbGFV + djdhL015VlVZbHc5NTNQb0k0UGFCRWsKcTIreKe936gjynMOcOAnQLb8+h087KSG + GsXRPj1rHdGqbRDn4qnGo+YruqZn6qNHlTKALrbrIleMrt3mX0TXrQ== -----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: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtARAAhnqE4IW/fqEyuc9uhLmLVAjmdOJAvM6p7DX0a55FXCbS - Gqp7AY1dhLCtuQaWbjZvVYhHrr/Rr02TVJZhew6KgehPPcwbWGb/aJfw3WIAHWG4 - jW85aLQLOT/tRkS0fYQy59liEmgRp9rKuufdQjEeK02uBgJfOGYXzZjH8hUrU9o1 - U8ZYzMkvLBWth5VpYHKQFnMIcpqeMtxWagZwGzOunQRVLbbznzJZjYh+s8qHPNFf - zm13J+8PxfXuEHOPH7CyP4EIWrt+hrrZ/vjloZdaYxnVvh3oq6Hh3HGvqNDHLGuz - 10wSdn8x5h0Muj6Sqex4mHcN5WIiMJtSEf7DGQUQ+3tgurRFilFASpB/HuQpqN3a - ud5LNkJ6aSMj1k/Up29hPXFqbrV0K3vSoNJw2XDP2K8lFPKrzDzl91cHRZa/qvRY - yPwFcZ9uCkhdoSZQpEQ0V4pLJjXe1HVGnMdaym2ToNoPPIPcmRRsVgODVnSvNNCq - pYRrpn4kSJwJC1/35cx4NqpkyjDRO3+mgYijx4e7DNi1Ss0buHttsV3BkO/bjWN9 - dsczgzAa7Dq4lvx9D1ghDpDuRviNsvIjY+wqG894BsVENtip6z4AHDxhhfw/ZSsR - W3Gd+MOAEc9KCohThdvE6owFjcJMI/AZa1yWsgx8RSryv0OGoIFqcZdnJMHgB/bS - XgHF40UX68phPIQQQoKcT8kGkpbuX9mF0FvLKB0KiuJZzLx1Y4pkk4KPLTwKp41Q - AJMpcsTaxCAO58awLKeSEL8gdNhYt/RxiRoyj3hg2Z0aoJIBriqPWul+AKAYWTs= - =gvdr + hQIMAxK/JaB2/SdtAQ//ZClm9pA7qIi+M/Ug0RqzUDkSfMUX6NGberzTpMlthOBj + ILnQXjBibWzsVWoguxeeBUGvgFCxMaTMNcAkQee3KyHP8M2G5e+DO96s6UVVPLNZ + FasJgZT2tJxqWebkKFXiIvkggPY07n8ClwL66Yv9wd4xH4mlAhydc3NhLu8y9GCy + S4gAaJenWLLsUR6E71vr9C+CzuE1h1oo5RNIqqQtZ0PUeVuexOyOnPZ4RlrTyxJR + jE7e8zGPsH7o9958u7yrEjL79/tgPe5rqeV/z/1aEjLctAI2TnIsHR1xd5aO9tqB + 4X6i/pi1E8m4AYvNm9HEKpSwhwr+jDtYRMs5qg4nwfTYpM1KLqEg1GV6AK2lIMWV + i6/Zi7NXUZMZaQivV36YAzYzavcXxpaD7faL99pBvf8N59G4xYKmRYfXGNqAunCf + gWqTzvZ2q+r5dWnT+JW+MyfdL1M6ExSqNL15hEENsgl/uohGOirKPTzteNTuhf1l + 0Me+OcZPNJV88vqtBtrTOhgec2RhhrwAMsq7gyPsVMoDLFWv0bIovLUc6ZKhHQEE + mbuPfthInDOg/hRHUtvzurBbUG/tm8/ORO17lv8yaM9Qw3KEVititMCXDp7sY5jX + CJrDEEuKbeInci7X50/cOsmaGxyrChPARhPIIBBi4T226yDmnnl6I57XPciA2ajS + XgHmFtoscicIqpB21yxB/3S4hewdX2GJ+I96nGluW9UIRbvoB256tUUy3z3Jl1Yq + mz6WOjzS44Mi2RPYsb5ecfbIBS6pJKGxetzojK8/uihsAYKl+to3KeJgt5lRKSs= + =morG -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf/TDKws9R4YBgLQdyHA4Dy1Yl42SE2e2E4q5AfgoDDQPQ0 - gsWrddL4r6OA5HUrprHJ9O7Q3TjdOGXYUjGNwkrwuRtg4sh8xVZ8zD5DMcwMJ9np - NAdJN+2z3287cOypLh5UyPyAz9oBUxp5S6+OVeNHm0oZlIMMANPdil5BBIrvnUtd - BOg9iOLnYBgyS/EpWDGFsh7hMN+UgS4KN8gZNW7lvw1wAk/5fwcMavO4gwtCc6c8 - TZIRydkouoovFx16hYK9lsoexNHF73gCF+waLKuZHv141UzIZIeG2wW0rujn0vPh - iHktzWiMDHiLcYIH0rKqo9Pph6Ate0VarSNjns9p69JeAXlpx0Wuk2sEQUtoo0HO - i6QHBfd+X87Yr8sTeL8jF7zNUDAwRVXL7fSAAm0GmNw9zdAS/hpSYuqqNazUPqB4 - zc5i8yAoQmmhVt5fL7zBs3eYrONDEPcTv/wr1xDLIQ== - =w1c1 + hQEMA1QflAioE8i3AQf/VZxNIdABXcRnoAQR7TI7wZwlf5/Z3NS6WSzyDmY2rWDi + hZTsjhX7Cl7My2q1bjXqBdsvus4p+2NzWEP5qNqEhEIOqhqXbmMhBcUXjyxiHhFb + 54L4ojL6tdPn3bFL1Z5Z4GN08lkM/g7OTBQWRqCENRlIgS1cSvTmohnW2I0MrRPz + z4T7lVgRffSlLZTPSHsk/phU5xbaVZvFF3hVD5E9b2H0VQ2Z8eFODDkJZmxdjQQb + RZ/KdffdD8X3XNZ9B58X4McASZbxRJd6rTBwZg1z3vH+xPyCh5EHLdpC5e58maBL + vjWWng3Iydwxaqoe16RVEAfT3eopVukqf/l8NYOHztJeATJVf+CNrWvhdzZsu7Va + 08Mf6I1qAVJkodHKa/uyhTuYG5yEeVe0I3sNXoMEm/ols2yeADajg5KSj0OGc+rM + onHhPD1YDm7x0sTA/Fcnm/CAJ1J1xwOzAXC2urgU2Q== + =648w -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ/9Fyf7d7SKyNMFxLTYpijlg+S8+JPttbBDJ5wkYmSFx3hG - jn+9X5RaOCMKQ3XXU1crBOy4jqzJq7m38Kh3yie7zB7A3DgSHVKb/JpSgoNJ2yPO - gn4vjjAYCGmWGejsNA7qlDeS+RFx7XVVihvL6Okv4i6HMHiUGjiXnUvVp47dpB0u - 9ZtvVFxw5liZZi2Sgi8FjTNvYJgycGWjy0zfrzefLHASM7jRliiEFQwophEHV3Kh - xAT2dP6Is/u9BNntMSkfffmi+2iyYMwJCE0jy7zbaUa+wjxiCrobJAzr41N4x865 - RENpTnJ3RP4p2RRByGiVmxwP1XmqQ9P63L/wIoNSXLp4Eh9fz9JTONevP5VcxpOj - 4vRxXecWe/k76WKMHity+sABbqtt1PG5V/vMprmMDiS0j81/Pi9lyjuBnLOrXMFQ - pyR1CvJaSJOM0uGJtD8tppOw8OiMfftHzdEqOr2lEpbbX/NREBu7Nz5A74oF0KuA - uzCzBfih5cebX+jyESB3aPIii+vvs4++YjsVRccN+pWKdjj2bgtxMSYBM2mq1Uq9 - Kol6E0kMBfLb1JeoKEqtKgkBuKgI+jwjTF3jx+s+jUjFeLbDQxYLOijC/51wEFlK - wiKkDK/CO1d4/Gtlw0cDnE03rO0cjriMe9SSNhLWMfXl47fEwlZCV3JSUoN9YfvS - XgFa/lwG42NzvOhMzER1ybqIo+OsTqq2jYX75kJHd6ZGxzUZcIzrUgmsUSf8WITg - AtUNfCB9cZKXzUEX0eoMotVGwpXl/6X477Ter1KnXXtqhJ+9bRYN1qm6DOuXyhI= - =dREO + hQIMAz5uSgHG2iMJARAArQvsgPDgGaHWWOmVMoUUBoqB56xGE3MyusaUmY1fJb3l + 5c8pFqfG0vSqavEUPQbbGUEPtvECKM0YkUJ3lV6GsOaz/Q1L8lEMIdHc2Chzigiy + isMjtq2xK5tFwPaf0a/8SwiThes90MubuRO9ACCicG+qZvcn+lf15KV+jnEi0lRe + qc2RW+YT7gVD8iUQMAr+vTUcGMwBdkPu3yuc5eSf11trH+d0DW341ikp3jIO/rUg + tpcNiUX2bhVH/AD6TpUkBA240GyRvvx7fpX7LtFcF1N2tNtk68L8BsK4UuG9MzUE + YX+apMl80o9XBMsO5MF1NUeywr6cD+bA1QiRQjYcS5ss/qWG59AgeWMU31+u8R0X + LRwaJ0NmkHMh7bf4RUL9w4LuvWPY7KhXeACGZg5owTJg/zb+3SGeR/tbBZBXbK2C + mgeGcShFlN3fPoiXgTR9Si69kbenLfH5C5Jcezu9Ho9nTMNdleHZfd0vh7/nye6u + h1rlM0PL8JwL/3d/XX1yhAb6Li7bICsnEOe2CTqejw0puMjML1KwlRTXJP/mvKo5 + ehWJN9G72I10sEVzQfSla+W1QbB09Ek0HqsJJLemnf7l3s6vtrQwGlUHGiXlJCoi + tdp1TC+ly14obwdUSzearGaXEZI3Z0KFqBVa5GgKJsZOOZ4dnIYAU0sip+NCfnDS + XgGmK8jAc72zJ1XZFdaKfqD9JITEh3OaAI2/gWOoeUMVnRiWhflHoOem5rMjKOlH + fHoq2/29gyAaBe6sO0zuW7yasZm3ugJIMxo+GjmBezw993F5VcC8LMyWqVVcV1g= + =q7gn -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DsZXvxFXTXoQSAQdAT6yh9q4tz+va8gJbioNCA8J4FIEDGOJM/PkCNE+nZEkw - 0y4Bh5USPqnVg+4vLadiMJWuVMgRpuwFck6ZJR+WgjC0dKO9hryCoMl1exOMeqdN - 0l4BRCEiWVCq5cPjC1/NR2uF1eJOu15Q/dJfESOfra2B80WNGXBp7PwsnQNJUE3b - KrGMfQ92F/iqC5HJlZi9g5wD1nV1QPjn7LQUEF5GeWMB/hHLEqSAAUxySi4oQ/Li - =EnRJ + hF4DsZXvxFXTXoQSAQdA5zq2XIREjgOyuOlHyUcl0zZKyqz1lTSofB41Ez+wDnkw + A+ePXsZ1uRlQzk9ZSnhdBKKhLP1nHwsgUd4571Z7r3npW5mDSl5mJK3QoGmLtxOj + 0l4BLBUT/MVNNWRisEKeVCJVDfYO3kUUskfwXOMZOlt6KXu0h472mB2vESIa+KJV + N4+K+slsAz8Oyg0T5emHrCruGWnskRQOzxe1+ijnmurM6G1uv0fUOFgjvjSWqn7N + =RU6M -----END PGP MESSAGE----- fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAxhpWcZUcSc55aTQMDM2Mnt63DCnyhXawzFd3U1hgtSIw - L48lOTjYBlygr37tivvj4aLVOV0f2xyD2f9exLAtZBldoIVwUDT4AseOcyIya03Z - 0l4BHqo1RxMTvL12sPQy4LDAq2ij39zs+LFB4ekKUWs5bywC+GP8tMzcpNIccjYK - YKS14zMD4bQZ+iSAmz4VPyXI2vfKNABwG7RM/I+kmTnbKX4sYYoc+EZ7fjo1TpKM - =4SHJ + hF4DerEtaFuTeewSAQdAFdTlCj1VGpqJ9ELBUm43yPKsDvtisa6Vtsn8easiOjsw + Tc4SelnWfooyoy3uUJsnEcopPzoVZZKYBD9KfS3iQuKf6fKjFYGUw0Mv/6lHqOMS + 0l4BxP5S5zKp3XkWcAI/+7UxEJOpmu36vGVueSAAsNx3+rqy5g2qpLQao5PamNHv + eMIWI+aR41Kl9Yktkr/XPKeBmJv8nmEBXa6NJx/xKV9Qj2ICQrVkm06OyxUBamlC + =Sjgf -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//Qij+rbn+sbSrKxqPVfK9Ifaq1zrDVOayUCQtHIZQg8DG - Sg//ajwYxxPmjgNNoZ6KA0FhABTjrVWTbjO9YKGwRRkJNL7Tg9bhxkGySl791K1j - DQeAfJsdgjxQTBObQFTAkOkSteOU2SPnTwVj+8KvqV4UEO8O4eTiIXd5026h/FuU - HU8Bn2RQOTU9E8efdKo9CdVQYNmYNomNUoQ1cYseQvDI6YI2i7szbWFjQHz+lpwV - Bc3m8NgUbm8LUm8NHEyxYB8E+W+Xrc/mn/cNEm0qRWyDR8+NG+DvIpxz6tqs3LRj - dl/NeHl3eEeGIvluONHzE0PYAcv61nrLLjISavycdamkHX6iE91NdsAxKbPi/LYr - hBd8g6wOClU8gAaq0mQcHRM9iIPzuS4pGDWGskHyHBeVcglwpF/tq8T29ECod3Vz - 3JXtDHzWQCqJhd/GpoXB3ZAFTT4/JKR3OBop7tbd1oeqN1QH5t8hM08srYi3U/BL - fmV90vgojZefpjQM9N6/dmky/7f9j4bBrZ4YvEnLasxSbKbkMAyxdrtfxk8pndpY - YiXtVSuqozqtEiZSQed2tf1wKq8JZY2SaRUBwtsL2WNqtW1ZIG251jZj+Bbg3+AI - zk8L2SrD3NUQY1fEd8iF0DLMGuC5Lgp0AsrmHECl4cAvuMl/0LEXgNdYXrTLVOfS - XgFsW2Ja62lmdc1aoKftZ66IPJOBhiVfkP2RF22k8fiyHaFHaGF2V3YxGmtKBEFK - Akwgfld2qlFONQmY5BqUoXkyLwoM+mBW+t8mDYtLfPwlsZEE7LRfeU2tsvmVevw= - =lXjW + hQIMAxjNhCKPP69fAQ//ZM7N0cGPM5IxL7IPwcRyXs4XXcUbgT1jPPxGDLYyMBTZ + qwXzc57XZZwnrcTVsYz6fFbtzkExS0ad+NeHoKfkchdrJPQvc3xuSG/NYQS4+Hkl + W1Yp/tTyysup+8T2au56i3vNM1B85wOTm94GZvEzMMMYBQKv8QiPkOd9Ph30s5sm + 2K3VVQIQFuCLFyoISQKjKTTH8MIMGJfxRjbGbI2VNmNwDGT+4KOKai73OMUzZHZh + It32zefd3z9fEtqc8fOzZ20tUfT1Bh/k+SR0I8B14xLc486YNu5LWSPsl8doVwkG + ddDFEdWxgNh/IpzDd8CWZsK3FWXYP/5mbsQKs4nvLntFOKhjCuKjbtzYKWCzN+fE + hzo1ZEVVREv7LaBtPNaUReut2jku9sGW/vPgTw9rM32PS0p2AV25JDqympQ8xUEA + ETl++huXVpw3XH93yaVEutS3diKDu3KKekO2IzEDxgBLc1iorQXk2yqykpD8xIwa + OwbpVz70VRvQRxZTxWAUhE4E2Znv4IB0jg2qvqNH9e5BcDXXbgKMr4Ei8Iv7iMkR + jAjbYX++a3u1q6S9VXbQFNp4IPr04HqrAz23xz2U3T2/ubPE0fXOpeo+vVNTNkJl + 3k8iuMbge339aq2tnNTjfLb9s6LYWLbtBQWiqQunMd9nEmTqpRspoY6pPqNcyBLS + XgHI6FHHqqSQ5EeoDrTEVPI/Uuc+/3i9v49pr4lf8Lpq3gOb+9M6yVzzTmxTaHKo + rKvLmqsOTJRLhlMC5S+rMnSWTj5LRcK0aJeXBvaT3TgFqIHvb+jeZbdVDdRg2Ho= + =3MzI -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoARAAgiQIch4Q8NkYgShnMmcYrQ57SVddJp9Y5sGP8lARzs/O - gl9Wf4my7TumRWFuBlyltXAVkJyjAS+rmTc7G04vKzHrJ9t8XdKJIzKvw3eaMxCG - 4xexzMi1ueuPQGhldOozee9kqW7O5upB/60sChAueZElPNNXfZJZvsopzeEMI21z - FNGhtu+Tk7Qh1CSmOGQkWbHvBW6i1Z/sdxpBuAOJ+iyVqLf8FRkao0+nMQVPSb7U - chsGIsLCNKp9uTgfKRYTY6PAp6BqrIjE60YrZ8I2H1lnegCeQSsWB0uNiexMODmW - OMxqVZbk7NDvdxNda0HYAfUa7PMLgQ7KO5YTM2sdcYajDviBq3ecPleUybhTurQO - Rr0+PUAoxOQiUyqCobVT0SeUOwq6ffGQ6L1v8b2xER7qse5SIsjQclnJhnrtS5S9 - gZuQmiZZo+fwoHYhKim1/GgLtdzAoB2YkxknQUm9bwz3Ynw7QRKKXQo6/EAfb+vi - 6OZWTF9qIQCpRwzE0+vpiSGPw8g0rgY/fCsdZEsStsXD2c78SXuM+D5lHsrZnwU6 - jz50nokZlDyLF5wcUJepC8MoYJdCbDzp/pt1Ee3i3XAIBZs+ufUvFt1oYJ9BbiOy - kwO96l8ZfH+DvLm8/4w6RnQtJ8rGgGYLC2TWWtYIPHfbBDB1+JjmquFChCFa6BjS - XgFIejMnCiTKPzkGA36qxCaQLzUiGqAHPpASLHcl4tYZXoBdrvozQlHJXAaC3Swg - fLm+eqgKl2nVWuKUX4L3pF/nkB5oacst3sQyD1nvy9r2OvOIATaFDpHcrCIWj0A= - =QYgt - -----END PGP MESSAGE----- - fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-04-18T22:36:23Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQIMA46L6MuPqfJqAQ//YLKqh0cvV30CEoZyKlPtXdgdmnSgiac8ydCh1L8+eEHf - UFkIAv0F434T1qd+ZuzeciQahwD3aVnqAr8wW4ah6UAkbYzaSu2X3FG7QSoBv6DS - uGtKoWWwj5QspPXMdZeYt6Nxjyhthox393F58He4TRRUwd+pF4I3vfMuZYsr4e3C - VFf3T7AvRI6m6w4erkw04+LJ0syzfbY/1IAu11jXKRnApWpT+BMG1RRAvNflmXvv - LxVrVAV7awsFD34l4tMmLx0/U1mm2KNfbMcv2JCg5wTDg7Q0ly1/ptBhYcGVrVFU - G1IpjsRZrp3PkoaCjMrNQC5qRsreUAwqedSsCmG/QK+UpgFnHtLANvclnuT0Fg3F - BgcCA9ovSAkE0xOiLVqoHtKR8naSLOynCDX8lnV0cUy8QSsZboKkcI2RWWE0Zgg0 - aJgTbrDC41EF7paVbjdluLUctL2ZGWeZotWZKloZkO7HrYaUQcYc1Bml3o/+61MM - p0IqgGbOwxL/3e3TIgkTvStw2tDIDQpyOk49IITFHuJrfOz5M8W3/AkpDYMVW5N2 - IiZ+ssXp4xW3hS3lMj69Vcx07+Fl6t0M8o8eTV4DUwobSbczJs5jirvk0ydlR6cW - 1VJ5P0jKrbU40CaPjwBRUuqyUjIaAWfgkhJ8ZE9KwZrFYIIL3XtLObWG5LEgt6PS - XgGZ96QPJMNt+LtRmfBBj97SPy35EQE+lkmSAcg21wdJlWKjaBcYBVyKxQmoAXOJ - WMaFoqLV4FC+257ZEHjb2+CNa0pme+tpkln/8B/nY05o90L+gQBdWMcqheaVz5E= - =+bN9 + hQIMA46L6MuPqfJqAQ//VbAyyytYWbF4ZIzdKqWF3oVy8qJbcQBDIy5hJn9zK+2I + A5PRobTEfB6D+/SvRaaaUTedC5xoGxhPGZBs0xdse0H9AE2Nl9fMFcxo8l9nLPjb + b+jwS7rq9p0QZ5F0hRrGM7nbbeUgmtcxMYXQw6WBHpNvLdz5iv0F9esNx7A19TVb + xxUqJv0RdhQmgsbtYugINbj3/ZSYYsfQEsOnLOnvq2nVOOLBZyR/UwkQBL9yncJ7 + KusGRzOTAISsXPZdi/MZUqIwcKT9nC02PlMQUoFkPmyFnnL0dily6Ll4J6OGgbMz + H2mrvvPyrYt1jityTpWqvVb2zX2aKXdBOc69+zijcpuKlDexp/ZCKCxGVCLINs3t + iTcFVslsTtLnfY7J/QLLaOsZKvtvFqDEFzqEIdQcG6AsYdLJCaZfjj+WsesohLzq + Lpk3Ia5b3+OXDHqgFRQ+qmRgcKSB8L6gcUHYydnLnqtRykeEhThkwMgMxQs0ydFi + rypO9AU1tGdsaqVNXLaCPhO4WTrmiGIRxy++fE98pgiHm8zie0lKVaPSDyV1pakg + 4tcv83P9Eded3ZGSrSzWNkY+0I2Z9havCfdqDZqCc+chFcWui3GeCCNtOE9yU2s4 + 4f1OitD+1bJ/GpzsFy+pzQnKXCiZ1OLKh1qIeQ55wslZC0t5a6zei94WzcBG9znS + XgHBQi5hCPoJD5gylKnkm7p8pI/rCxc5ufI4cFMt0blLY5iF96IDZJZLTcEXMB/o + +md47A0J/1uyg2xhmiwMtNj1t6Zlr3Y1JnbaAPTtAzcjJS8RhyjDZVGudVhHQSU= + =jZxO -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdApwQHFPTsmJIF2Cp1vs/1VKy+EcJNuvIOPNiLj6iSo1Ew - PYwIUA7shu++2f44r1AcGYEClZm7ft8SBcdVD7i7d3G5lio9aE/LVplIghIq30Sp - 0l4BFSDpvKXz56Aqb8U4TjwPTESqOhJmIDU8ZJCVO0aZNAYvooOYjwb7faT7oooM - 9gUAxTO7v4ry2eUQfHTDNOi7QZVZ3zfZku9/sisSUdTcexDoDcc+3NmWowTgp/3I - =++0X + hF4DQrf1tCqiJxoSAQdA1zTIX7HNPg+WEJ9EYPvTEL91NH6mUf3xBoo4MAJCfVgw + PFj+pJLwTCFP4l+JXv/Uxldgz3ZQCQu+JOm3UisKj88LQmBEZRfv9MwTD8iYcAnW + 0l4BDZ7iAjksd3kIVvSrQWm8uLzCeU+SADnlw98kVgDwiwHle2R8XzcMo5zg3OdK + KV0e+emgdeGEnrS9hvNQInVFZhpKQBlNE+1qs2uzhn3izl11URbWYGEPgKPrzuwz + =lOXz -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAbNONxtsLbb8hbQ9nRB5oSgDJ3mHjdV6gvVexpAXN7X0w - rqEnVXc1lp1VI2+L7U5h/A4evnlRfRg/dkvKOmsrFeHEMRwaJMyJ0fJ8kA0WJ8qC - 0lgBHsWbwtsQy1vDCr1eFp54XWxZVHiwgHxGmNrt1xc+ekupidZMJB8b3nDB0gGA - 62ehrdekfycbfGaz9TvNbAguvUcByTaO+opgKRjQESIYauFCARtkiACo - =JCn5 + hF4DzAGzViGx4qcSAQdA4LD8al8PpmomvOvj4Nl0Yc7SDIskkdZgZYPE15H+THEw + sZrCqi6P4Y9tQ0p/NlOW6LjlIDWEgfFcMccgaSI1bKeg0IfPLVXDIp1tVDZ7HnJJ + 0lgBu/73v5OL5iTAtG09VQ5gGQetrOKRNz8S1wcoOKBOAZeGBCxGagx50/W3Vxd4 + NQ6EgcQgkS84cf9hCD5LJySclridwa5KzaAKKk2n4fHymajM0w6lCMMG + =6Q0q -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAAxfn2Hvbfkgs39ApqNUeDKTWofRlO4eq19ezAs9j1nKDa - RzVorTN0AnA/E//D/T3ZjaQgWJ/y0itjCe36HxKeOJZIEeBK465m2UL/btz3F1SH - HyRCHNy1/msJzyBUiPYKnI+xrdPVa60OD685U+ZLRk7keuqcM5JdONs/w8FkPjXd - Oy/gipf3DuNUW62NjEuclyQqE+lNhBvgqc3A93AR0iniUNGKn1yHrQYhZosynCFb - VHO8xQNvCwQnj0/AkV3EU34VHlKTJGkg/ecEtQlQoibYZcddeqp11bHuMz+hmVFR - vhoTqoFyV8L9az6rvMim3KjEL3T6QJMc/Wd6i5ZVfn/zLKjJ8mdDGTXU+bVKnWwo - 4ALNzR2PUf6110RQ37sb3V0Djq5gxO7eYtXQ9nzmkrzoELGMCu7c8LyPtqu7Rk9H - C2aFtuEn3CCYrteW3uSduvMWVFJQkCalu4CM2MyXCdjjMzhNAr04p0FqElSmqaq5 - zb2JELwBnsoERf7H92EggTI/LRmje7s62MMn7wRRm17PM2whzu5l2osbZWTOCm6m - GcmD4Z3I1kvrOuxSSDXaO+ndSUWfZWIJU4YRge7F16szcCankQiAiIbWz75L1V+f - JD6duwpr4scIpxpfjDqunOYqXw+DfjJTQl/BqEzxjaULcIewvDzTL9vaJRZYtGPS - XgG0zcTtNY/n5o3W/QMkG6j52gtn/auZeQO10qPlsO0cStR9srt2AI0VKu+cVmRo - 0o3t/O5qE2636TzQcZnKwXJpx3GrsHvqABLQ1W8DxqIK0BLWMNnDnJrQdDA1xo0= - =VMn5 + hQIMA2pVdGTIrZI+ARAAwPgJPHsUXNi4ihDePDDQRFm9n20WliZd1ShgSyijhJbd + pzVMJ8bIx3yHt71a2DDVrskEZwXcnybArc1gzxWMId6SAn0F5hyCUeqlvDGrM55j + imAxdssWGwWChtnMqlo4jtdgFDLAwNwqRoVvnKrAqK2PJg4ueue8ETpS2BqwgPTY + Cx1PRawx/5bgvbQHoBcIg4i9zZJmne6uFVy73s687PBDN5DOzTSHW8n1ijlW9VkX + Elig/XQ+znW/o+qqXcHMII+NfD04OewDIep1QNeUhOPpY5lnGX0YWdOz9G8t1kjd + D6Ug3m3mvYzkEcQejTpTmiGyMVkH0GRs2ANe9H3itg/IKfqn577OOvmIfJvYhJOz + L+tF2S+DBahVaEUV4UJKy8GWRaRMHn3ifpza6xG/AUi2dLvzvPfZGYO350FEhaJO + hFN5tffPu4TwHT7APoEITTASHjkRLFhaDeGa2ZtQtAy60OLVviWuZN/fGF69RXzK + jwVb5icnsUVGfreBQ8sGL3FlkSUfba8ARdKE+ng/PrFUWZ07rp+qIrF8Lcx1L6nk + 2hWN7lymcAlY7+oNpiyXa2ct0d+Eo+gYjXjLnXZ0DeU4iaXnRgiU09L02tiwfBkr + qy/CXu/CxXuRcoMXfAWQiRFJQZNtC5zhMvNv7nnzKsDFfNQEppS89CqAkhWIlirS + XgGuWBSvhmw2Eski+w3kWLbOMbH5udhgiGD9a6JpBWIioY5qPZOF773JXcjjoB8a + jFQtjY1EvAP5HfXPIzJHD1yZ4QsNQWWAMdeyB+1BuWLrMxAtm6l3yAPDyGIHBkQ= + =+lhC -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAUeDR2bUNhL3Xf1OPpnXuGtKe8Xu+0X26wsgAPtREuH8w - 1ZNUJnYDTlZ5Fh3O2L0DzXYj3LWURcdlsGzRqERpZ9aBwrafJRClE9cOS7fuQr7A - 0l4BPGKtD1fru5bJeku0aTscoCCR9qeMaz9U5vi7O5wQvGfqsM+spJ7u11BhCaE/ - WFxrWRZsUD/ZX9knjAYmzjsx5Kra4uBXFR6W18jm91Db+ZLtxkxu8Qy4mh6Jw4EA - =36Kb + hF4DKKbvh61jX5USAQdAYWkzNIGAggUiQa+QHeGYu6pPFYuJP9NOye4ZLappZmIw + cUkr/Rky94kz4RS7qHQet6r/ftGl0d95OTyPxG5vAZditkA433VSSGKFolXix7zQ + 0l4Bpbx3ZV+PSgIhZW87Pgayo0cYtaN0kpvaOv4dtkOvrPgYZKouXu2V+hsK92cz + 1Wr8JmYNO5sdjz3yB/0zn6kau4qi6l2uiov/tsYsbH6fjPMUDdcsYNi73rMNxvFr + =YNir -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/lists.sops.yaml b/inventories/chaosknoten/host_vars/lists.sops.yaml index 21c97c8f7a..3435349394 100644 --- a/inventories/chaosknoten/host_vars/lists.sops.yaml +++ b/inventories/chaosknoten/host_vars/lists.sops.yaml @@ -8,203 +8,183 @@ sops: - recipient: age17x20h3m6wgfhereusc224u95ac8aj68fzlkkj5ptvs9c5vlz3usqdu7crq enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAvZjc3VG1UdXQyMWlDVFZs - MXNEcGI3MGdzMVlFRWdVdE9oZGkzNjh0MTFzClBNM1haZFR2TDFpMmpiMWVKOFpp - N2dod1cvZVpxRjduS0FDWHUwbVZWUUkKLS0tIDdUU3FaWVBxWVpMVW5md0FNNjIr - THpvS29mY1BIbktZYkhCYm1NMFdLcXcKBtXXokEi1nSVA099XXNrx3w4Fr1lnLMf - 2KTuylUef8RUgHPx1wo5Q7xlYNR48GupHVQxb9VvyDTXOZEiAV7Pdw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxNUtVWVp5Z0pseFNLMURE + MFY0V0E1K05sVGRnQ2lsMEhOWncwQzd5bURJCjE4cGxmeFNlS2FQb1JSZVhuNjFJ + bjNWS2FQWmdvMUtSVWlObkp3d1RVOXMKLS0tIHFKOEV3NkE2UDVSM003OHFabnJY + VFdtcTIwdWNLalFHdlh2dkdLWUhldVEKYygAfgJakHHw4NPfO1C3hd5HtJXMY87/ + Jh3LJn0sq+YKOVupd3G4FWVKozR78DHFNHvRmKQSR8OLmqEfi7w6xg== -----END AGE ENCRYPTED FILE----- lastmodified: "2026-05-16T11:00:16Z" mac: ENC[AES256_GCM,data:vwQc2suUJ0KiSsYRcrvsYHNYF2c8SU58LxWoFpzTX5hSDNy8LOWJIa6Ouo8c7gk4gYB0mS/FbmgEo8LOCDvRKamfgrpZQ2wvxI7GdGRjR0LOsS8O2xZ8QZ3BK9DfEfnA5ESgzRzX6Iuc4ZBUGfAQoDDxXrnh2ogWUdYPC81T5qU=,iv:Vi74U97iZAqQ8DDW2p3ncg58l6+mxar4hC5f48AuPAQ=,tag:Jd09hXId+ogV4rB0AWS2NA==,type:str] pgp: - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/7BUZXt5/3Nx0/nnd2wVsOefPaFgYOqnZXFZUIcDhe1zNk - xSvJOordi5pjMSEJMhJLua2LBySA9WVEbTDbT+g/a4LTje0rO56ULqvgGXpw7wAi - UnM1y8nHB2M/x4MBPdN1FnNPp0EpVi35t96YqJWWls+XlJLG/6DW4NtAsbNU9dQz - g3f3fosvIDAmadKOg7BqjMt4WEM3GF6n3vJ/PUFEjkZGV8O39TqJn6EbRe5EzIVi - 5NmAXGoJJCrt1HynuGUXEugU8vB4pft+7Rnkm/ts7p/EunRaIEQ7tyIhHZht5zw8 - og6xSu423p/7AujEO6nki/qEfLkOJ9eKQUm3zAfPWRx0hRf36Q/zQMs2PG9mrJbL - u1H/ZAUPfJobCL8MgTcWHt+120E4MGlPCVm6ciRV22IzLkKTaqfSYtVEiO43NAzB - CrNEmuU3OXdUov0aPD2E/s1S33zmErWCSNZ/lQ3TFwIccfm/UzFEEzGh5zVVop+m - fRDkdmde1UFCgjxyUYva32QzMJXk8ji1iNL9U06m2CxsRa4T1GhgQsU82iKlEWqe - sQICdnXdfLfs7txl8DA2TJSzJ8MZrI6JdURbB3gFsEZkBiMRBpx9M1U1SzBZJKJE - khh5dGxdX1gsBG325qyO0DNTNtC803IUSaXEvLE+AOzlc4SBbpN9/DA6ORuZuVHS - XAEPZitLr75+J8CxiPqi12Lxz0wEHBA4KxvDei1TTh4ljI/f/nqNJ6nsCM63wVz9 - BOmnMzgBlG0uN+WvciqlkUHL3lD5qmvBFOuznEa8pzSOEyNFy5/jaxiE2jrq - =YUpD + hQIMAxK/JaB2/SdtAQ//Sknaa7Hk1AYJ1ijG7I48ZgQSkmZqVnJmXc4ab4GJrtbY + Cp4mu0KdG9dJL4RL7ixOa0lOobcwJUtuEz4KT+0X5DA3fea20jXDbCGmGnFNNlx+ + xkUia/yFImPUvRbxpfP7Z/qFc3G8tfORddf1WRyFBXkPKphNvHL/1QULDTUys8jS + IJBTR0ABzYtzfb2CXRyZlv6ilOQ4Vbbmb2PzFzaFCcJB3MVkwJ1i4hmXn6kEazf2 + FcOKbSG3L477NtWxjvjR6wwTRf4FdJ+RwW86CJW4nWrpS60d8uYhwTGucPDBQh2g + bDNSi8MB2KUl3uXi8JGJCzHN2utmOl1KkHefeYYNGYvIgNyucsYXXCVhzlYSJJUh + ZeX/zF2OjS5bqKvgfbGMunhbEhx2LC8sNXuXYIIRrhsl4P7D8fE93FjhLhbSmT3B + p5UOE5xZCL7GlxvroTj14Paoy8j9OqZB0q0a95Cs7FLCScjUmwNgQS0AqCKkaWph + +04hoOnVdJbdvr6Wc0eGUEpGNugcOTGtvYkOyk3hFylE6sqYQDB1KxiFx098qS/m + iFFZ/mYTx4Mq/GbtfhEyHc78z0lRnb88R96CAizSklE9kf5bQqSC3F/Z8TrWWRDh + bUj7maZ9zXukr445ogGFPRQfRRCIbCR7MilgE77+LAQ3O5vuPtbkTtMDsImK1F/S + XAGe86UuuF2g8LkdbEB1E8i4kDNOqIKt3J9DcGr7me4lyAZ/sFIfdnPPhV9V/c9L + C1OtRCes+DFQZc98NDGke1yoASdbcDLf6pbRvONJyOby+DfKdKdsZ9P5am03 + =EAPR -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf+P8f/gxAcpNHazuSEKLy8oLUYovvQcxQoUijojPKf8Z/A - 9Rwro6eHP+yI3cYKsAC7Ioy9p0tjGBVqYij17pkHF4eGkfk9AsGPdF5x6mRsO5yJ - c924FatNBoxI3AONVae3R/21FJXmqIcUZdzEm3nhxF6MQbseZ4JKrRJIGQ8+ZhNF - 46BCsPxML5iycKFnFNdUohKwoc2/c7TGSeEzmBPElAzGMIhvu+aXkATTWk4wYlmc - UB0x2/he7nZ+lvDlIG4TfBrvcFlf3sDVPDgF9zDXhINEJY4E3GGZOPBXtAT5hXdz - 59FQ6qKarRLA3LW4esG+dfOliB6SeIwwGzg3i2BcwNJcAeHzlGk5ELo9kq/T6zOo - YStFHc4iF10Z55y4o8YYsLNiQmdKQJXj1u4rc1gDe3mBPI3YKtlQuORXjFyaeCvp - DkxngWs9CV/lhzctteZ3AiWmKRazitWwC3e9Uas= - =seQ7 + hQEMA1QflAioE8i3AQgArDS8yYOOVzFuy2E7M4SY2eNNv9AhJwAG4Fpn8u01TkX1 + VURj7owJvdlvuboh/AUYdSwGLUrXBCJJz4pIZGXp6cRS+8mosq+MvfM5+jyIBQtN + IXCUJEeQroN6RpyffEfShU1PjpWc+Sqq4AfzjkHP89nO1EDoFA8+QbGIWpS+hFgL + hxsMU3IWE2tf9Qgd22sEroSgfWVZJ2NRyXfX787FgPhnMm1GFoLNkRaR4W4KB93w + FTfyVGtshsQgDmudHgVoVI21yBVWhVelKqOnJHUVzdWz22ZxyUJlIZLYRsOokvOy + rsmbE2LfgIdSbUXxr7b2ef0xOIiCY1vFnzfBqUbRH9JcAYNfeMcQIIRirVnjlXDK + ouk62yG5mDQk+Fvie1KHachpIi+NSwCfpcjeLdQilUDVkqQZROPU0D+ynjPhBxdo + +daamNqDwUq+m5kBbSa3360rYKAB09jrHM7QNOY= + =ggg4 -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ/9Fl3oPjZZIPSMelyuLHWFsxT18M3WCPYZ7BTwjtvLqMOH - hoFs8sXCGJTWOjQoeAQckQnUkCj0Zxe/pr/lrHiSeZsHRL2TxWvoS3dGUFwLVUww - CXaUsZ43DGzNH/90w7Ks9+3BFtsJ7WoOBqzUNKAbqB5cw/bZbuNRtnSxSj/i2ZQU - OFb5RZGy8zFAIAhn0IBpd6+1h0XHrXyupH+x3n2PvI9rMgV/RqVb2SCzUZ2tkdXS - +VJO4CkDbNo0eP4Z96TQjUF8OWjaMcSVDON8SITlMYZD5KnDUCcv/gmIKLlBrKl3 - R3ibToYtovwQcjcKI3FL2clJPGzrhR5CsLUcWiLv0/6TMLqalH4Os+eDs509p5aP - t7vVjFBLS5WlztE737msFgji0V5FcjWmyl9M1IW/0ymrrebRx5X0tJzEWDmtzt2f - dSjuhdj+5K7FSuD+qcVwAGAOtjhRNYtT0DxUfL/OpxqvSoEv91AJoNdgsmjvWtoA - I/FsxMQfKLQPKakbqEB7YLgdT/8BihzOoUxoaZiDofNvwtixLkm+tnQNJNgBIjSx - b8Q06OPJx0JN3rOkflrCeH4rYaQ5RGxLGanbqj3pkXWeRylp147LbQf+Z/UlAzi3 - U6mzHqRLPRZcHYOmt3nhRBILqzmZr9+KduSW5/mIVqE+Xgm7+I9tIXjbGRox3+vS - XAH88DNO/IS8XkHkiP6f+kgmDG28fvDPHidyPodxGIMXPkTlYQOV/W4iOX3uE//X - Savrz41W5TwNdJu6duQdzWUl8BZSBjo7l2H+SqR7u5Cv9870gRrEbJ20P6JC - =BRQv + hQIMAz5uSgHG2iMJAQ//QQdz2y8nmwJu3Dgi8YX2BMHRv8qoWHze5f0mVrWh3xTQ + QwZmYhxohDj5xhTNyyLdaOE8N+cLDtSRRyyKnWNKEKwI8K/rQxqBCbcbyR/dnd+z + BuolCGPZlRXw+rLs7LM5DhXEi/rYRTjRl+jn2jMUK15nNklem1nyMj9dfiuNnvPz + uFZ5F79e7Kh3GMNxZ14vumLeCjLo3vNgFhGF0x/l2nIRSd8pKOerN+DvnU4OTP+f + 1/uqUjPkYGm2g6ZXL+0MgZ1FdUhxs1zeyYQxwTBeO4nNMlQO1ukvOpICfYB7GEY4 + b0l2qt4nbvzNrAjBxpwyqxzvJMh+OVcgTgQkpN5Sb6DSRfAc0cyTBnFo9Nwx9WpH + EVhP6zBtVetRKl5z/J8VcsbBGq594xk/nLHRk2BPyiAcHGv1ZnctCbxB8FBcje01 + paJ03TRhB7ZejikncA5uRcTVrARSADSYIyhZhdu22s9OPIoMurONouMWjz7NIl7j + QTV7Qg7QL9qMkL02tuhQ2p7MoUNt3o++A9Cx4ZFilHOykSo57tVN9ucnCnPUYcjd + 4XEZgl+/L6Om2JtBg9ya+gU7h9PupGZD7H5c3w7Fv1C5KYFZ7aNIb92by5rP7n1i + GPDRA4V6ZBq6An3g4+xwEWfqXbbxDVvBDERlFWdV30BpOHpNkMTVSBBkLxcq1vLS + XAFA5odX8/RTITq23SIUlNW3pHmWQqyWbEkXyLY0+DOZ0JBIz1mX9FwoogdH9TFr + GAXo67XjJ/1qVQasEpbve1YB1BwBZebSNJZuI7LI9eRt3NRkOndqcxpwPF7V + =5Bqm -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DsZXvxFXTXoQSAQdAEOWQSYtqUJqIqQjkEH5K8j+Y1IYYHro5jSGvumS2Q0Mw - ozWJdtm/anrf1rXjik/AvwnXB/3PZdgHzSAedd8E/ZKVlcV+solHDkglX6O75ePw - 0lwBg7j/Fnk0Lc+6X6VK/0xOMJgcWhftKE4ZDmnyq2mX7+it+tckexc4BSkpFCWt - of+UhDdyEy1LuRz8ZJf1y9IT8GQS798RUFdky+jlS6lqPAZj9LnXRsogJqs6MQ== - =Hxnd + hF4DsZXvxFXTXoQSAQdAzzD8G7Hi4BsOSIMB5uLcyvs/viaqH8+cieA8VHEN5Acw + cGTpDxBiqVIhRT/wpOJMrmYsD4yS+1RcQAxWSTIheGXmEU2+fvbQ/VYd7CSXBDUb + 0lwBQ203yy++BiEf+zBBuloizjpuxz07jREjZgF6BHFVu99w8+txfAkcS9km3rWz + u63xFpY8o/9Xs8Dv/tOTpB4pnJTsDmJzw2oNbcEgHqxPrjFH1nmJwMZOqYut/Q== + =a/5e -----END PGP MESSAGE----- fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAUg+zU+Rmr+qUWCYQJgpzlUIU4RE5djlYv9GxC7qXBnkw - PQBTD0rPZY2tFTpBfLVsbfEtqhpH0WLHezXmRJjnl13swRSlFP2UUbZtYwulTRNl - 0lwBYpelXppNKPHyP+cMSJb1rnT58ujpbpDLWJ4QPpO8VY5SM9DXP8hUv5rbOuBN - 6Tj48TlPkaehVM0TB+fSb594kczloGVwc9HRR8y3l97FVgGsQ2NxbqzWP6qMzA== - =XiFs + hF4DerEtaFuTeewSAQdAEvOhx1/6Ra8GV+BCxfK3RSsXDisH9kl4hvTqUr4o7Rsw + yWSEVrPMHO1M2KTzF6xo9nfbfYlQYMLBIqywAE8/RouiCBuEsX0qZLIBZIFZJc+F + 0lwB67t7Mrqjj5QKUHZDg1HJJDDM2RMM4OoeSQHmudmGWmSVnSTsodkpb32qAMOc + +nNmgEkKEt1ND/Pd1khLOus+YHfZ8ANNd26Ex7emEL/0SUaXxfyM/f4q1+UvxA== + =si+Z -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//draPihdqS9AlVDHirJo7miadcJW1FhwPAdo/wX6dOIB5 - rO1aD/+cR0c+r2hPilz+791S2QeVY9ARx06b2QSrR4qsCgRQO1/+VvM7/IcVBsNI - JfDyM5BaFVs72nVUWTBrtHFMgwSDgNHL7prV0KzFzrkMpjonlrwV8xpz0rnpjokW - 9C8gmEV2/3w6PA9O8K9lbSVLjwtvCMw65w9nbVbLLbSBAbTQtSLmXv86ihP2KEbj - ZjYGtUxUGWSz+6w8Wesf7k9sOBBy0Y+Aw+Ne7kpc0LMAXOfWnsD2hXwPwq12eTGO - GCz1urLL6h1bbsTEV6lziHhCnEo9bNiwRk+Y/XrN+m2PtUQvMOl8k5ZMBZpYrJAt - stswnTH7v1SDEvyweHO/vqiy4eicm76GcrUmg1cMeMEfbaO6BpXecIqwJzQkqry5 - eMLRcH+/qMbLZwfu00+b8Iy3ZxLcpk7XnStLf6wekZ0NLJet/tnFOr5wYHdaivIA - s9jjWmhxOlEjdmz/GmDHzf57HLMThnziJrrysVKXD+V6BYJnD9xRWqPtdfqAQMjs - PPmYPKhVb5FCB9U54i7l4kVJoS7otMFDMmEFDkauQNBVt7orculof2JdAFn+WwYM - SnfR3u3TEAJxcV0onTLK2OC8zcMLFLnWVy2ZLWeO5Zr6/MpousGUGHC6kI/5jKPS - XAF+4DD+SXMATH8zvIxsEJsagQmZ9/fS9X6XCE/RIfOWHbl3ogmuRXFvcj6xxkqv - Hm6pyMsUY5BPA/04+JilP6LYuWpB/ey7lvIhr4lNbqRXKRA9zHE/HaroEc6m - =yjn/ + hQIMAxjNhCKPP69fAQ//YREraXmCaFP1X01dxzAxSQSMLZkOzQ7zrAqmiAb+1mTo + DVJ6f21da4xTW28lakRl5dUWsg2GUtuxobfDAROI/QzVNUXBwW+8CUHCkjR9HpDZ + 1JxnQntK4X2dMyxZxwD7a4xAkdbtJK9nrsxbWUU/NlCLJX+PtoL5IqTkn2YXx5PF + cGjfCoFxivk3962l+fYlYDPj+SkvZMTR3G1ob0MEZus/tsubqsCAeUndxyiPjoPv + HpioY+XrZ6sc/6iZjAn2QpgIlmqYWYMxJaZgp1HfL9+YQVHskDZTkkPmGGDTiQLW + RlniQSEFiER/dgM9JPGhAStF1DUParrovFMU0VpamGeWuiS99iigGDfesDTtlWAG + AfcgwCwx8CubIgSMVYcBd41BXx9BrEy4XPtDogNi/EAqz3t8Je+GoSkF3FzaFGDY + T2z2TVUTVS0PZWvKGW3ISOykqWL85J+trkE/HUWEUsw51juMzsHLnZcBH86syKqt + dgwyb9+o4JFNGHeHuHlC92UnbmbHX3SJLqq1eHZm9bvzZOsQOeXB+4DcvSGv4I3b + y+LdgWu+UPOnH0I3+9s8s9yipdARhIrbug5VEatS9/5QDuGmbDgcLtCZhldqZ0XB + c8+Z3UurFlWYRrU5u/Oxi7uWYlAIyLstfiJNRm1OHGImIKNhG9WfZSdy8MmlTWPS + XAGiAEH8Gl3EKNzdhW6I/I2CRdSxV2xTloNehXBX2q4Os8N8V7kXJfVKv+2bRQ4V + 6qYa9heAXTpE3BxU3EQ0oLHZEWYZ+5hamWXlTS7aHnBx1nGoyko10BByBhpV + =jn4E -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//b16q+yzpsAxnu9piHRqTfJUo8UmvduQuqJcLOMYBq1aH - vdD/1OcsLr1u4SKSqXopfgBwlIs1txRiA7JbLTsaFLPgTb6J3blbbYQ5isdYxrM8 - ZC2Eo8KW59PgShN6pj6GF513/gKMBtsdbY2bRAI2dmYoojEq9xxWycOu75IrjzFJ - zMJ5s7ZUai8ohyuS/QhYY8t6zFgqJTUbSZ+MHjW6eQMGlDecrSbSeK3hO+n/sdO7 - 2FLDhwfmNgSll1mdAkH7VyiySZQGFO6yv6967SVUyZWQj7v2FfghAl7MwcBPFiWg - y8QmPnS5MhfmVPb/CsvXOCnspcR6aF54C/W2B9PL06RS98srqgr5oqhSNthnmoic - P3461tWvOTKbuIkMAMQPKvxbF/xWFs3l788IHv76T8ADwwFdv01Pmr7Lh+LrbCe/ - oBMbu+3mI3fDC6VrQy0iMvtK9kx93G7Y98ibjxMKbUGmzHyC27eCrzjQKRMWTiV9 - XFZBBa5g6eoSGyQX9cED20Kmk34BtekFi+Qdnegs/1CQoAOvvyt+pLrY3eRtkvRJ - Gtz7jdXjyI7z0JzJjbH5NCyZKYzr319FP+JGXNh0jvSLVO44TQViUFzx6FxVpzo3 - 4bR19tDO6WX9O75s4qFvXqutsqfEzK01btciyZDkY/orKxrQGx7gqpF8uVxdetTS - XAH+AF9CTfA+cXGBfufMS1ene+YudsPWfPSrg2bdGJ2unxb2lv3E1Z3ScGM6CYSm - zcff1e1H/i5xmiCRXivB3nV8KDVqlbw0PmXeJupI96vnx+Xg5d1DZRcXeOy9 - =RiDK - -----END PGP MESSAGE----- - fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-04-18T22:36:23Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQIMA46L6MuPqfJqAQ/9FXoU3+NpOuTug2YnpVTIPZOyYlJM5FNLgZerLx94llc6 - 6QXGrbdRMTIMoULODdw1fjOLCUiGwKRFqOZIn7VZTLOu22BJzuYyekyJde/EwUgA - W5TDQIqne1HCmHp1oiflYzTlk+xNVX4/Bz83SgQSkgT1+/RSOsNA0qOCL1CTHvfA - vUYgaeiGVFsVr3A2jumMRT5sp6p807fOElwuLeVKOvI5Px0ACTpedgyYXeP2mS2w - Laoh6V3ZJ0ege/GEa9HIWjQ5LkxL8sXrF4BLB4TsiI2vNtSY3NRsnHG7aolIW4fp - 45qIEyHI1Zri00aT2n0WF8qz6uiEupATMp5y0JeWE1SovUSIUOsKDZluNOu6sMkm - iypMxwLGDCPkcPmsyvKkiSCoT6UCe4Ern85nFeik8zJiqxSAkNTiJSlmuzs8Be0i - FvCZr+do380Usgrs5qHEE1vNlbWSyft0smERy2Io5Q2Q8nzunqk+S7BARuKFEjvP - n/6Y9nvc0lyorLt2ARu0V6rbMUCzZ5TbQz4IOCOptvTjfvjq5mGNIIbsFKGy0/cV - Ta9hairfHV/vTTEoNx2xNnfDM3U++knBv9XWX/j6914nfEsrMRXcWXxY0RXNUsW7 - HkDy2zSI/XtJdK3bC03Pbv0rfmvyZ30+ALTC/1Tos37sxrhji4Dnu/9KBrhs5qXS - XAF7BY0+DTzU0m17l/XPIO8CYKGleS1lqyTzryL4ZQjTH+dZqzud+ytMQoqJN11H - aUudrQD0kagVxyhRuPMIEsSR8Hf6To2Dbx1egK1npT+xWN/wzeFlAtHOcErM - =f+Yb + hQIMA46L6MuPqfJqARAAoshVr9bBNr68hGgL5fShbwzg4z/gkmTbjEO+jfgmtXTa + D/imfS/QSL2RLv9l0PvBFN8ixH2BPRrT3V4DynbA00UT7a3Kef/FbtR964jghTXs + 2mptyfIfnF4zpOYiOIdE4PNsbbEJSm1sjapxvwLw1BwIHZe0O8xNgd5OMeLex85r + CzI+Kn62mSFJpIOp99px8WOBvRZKDizOCAUKVnFK/B8VOQ+idDEO66+S0wZuFGsw + UE9hw4CT8ys5iQiPdlzBhqZuDe33WmPUzoYW+ENXZR96/eNfJO0plZloG76es9w8 + eVMdAzSeLWXQaE6ZFeAXPpcNBL5OmdV5zmLhUdbhCIPZyXiSXcfxpIg2GPHYqR3v + ONx0Mmr/shsjzDf8aYa/Q/J4yamAy3VK3Fn+6zZFWjvOwiTD6syn/jfvyIC9Qkzn + pEpKjqgu/mrceJvTk/BcO5KHuGeK5w/Vw28FFIWfL5DOZ+V4fSDiEpL0NOTFME4l + y7PwboiaVuINwBqsD+pCKMfDPw5+2yugSHVSfwbW6n/cy2c1eBmzIa3RhRy5aSVc + t2ucQyEC7nOrd8sdY7ZF9PiLRbabufRTzQ01gbO2pUi75twq690CkEnbFB7IwMFp + uHP23Vl0t7cNjpZ2GsWwXAvQzlpQAb+uyzvCjE+hspiBECBP4DZncYKHvEqYybXS + XAHGdfHuR/STTdbnQFSbRGbd0kvSgj4DJJ41zlW89WkCH94VBSJeu5qvnU2q4Sh3 + Rlcra/bEQ5QzHMQzqtfW0EueP7sB84c2Igfw6hZAg3GZM07hTEzJ3NEtGVbR + =qTkp -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAliC5AsFMFOVdy226/uLfb834LmqzZESEnRlwAeDoUk8w - nsoT1qezhzJTU6EfIg0anbK3wWkrCa+4CTyLgpFLoTz8N9fqxmOXMzc5dGFg3qMY - 0lwBMr2F1cpsZU8YLY7v0Whh/0lG+31gshiNtgIzKsisIz9PaCQuUBI2yTHmWcat - CA7fvZADd8nl1kfM8E62rKzC7PfYvVzPrBwtaS6ybCl0DPqmfLGF4xU9k/J1IQ== - =WH4j + hF4DQrf1tCqiJxoSAQdA2nCAPaElQEbrb9V/zF2XcEGEEVWy1T8h3bK279BNckww + lffBi6Hgxst4be71kSxSNZj4mhV+WnBkFzanNTlwAEyehoFzgWEwz3SAN5VPomkO + 0lwBg+Yr9mb+qR4Xba+fnOEP7D+QvuVYnRFalj6MbxxRmyFylP0P+lzO8jUJcyBs + KnrNWqEZ+HRA/wivLYZ2Cp/XTGyVnKLaLUErw03cj/Oq/nEQ1W2c5docmgZEcA== + =P4QS -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAS707KkEdl9nbyDdbLwWT9UFPGyHz7/rDXtTh47KEGRgw - MRAJpmTYPe808o5pJmEHZ8Qaw/S0UeNnPzR9MUhGq9RbjpfaZHnLLxZOdhYfdrkc - 0lYB1ZXRgwQ9QNxJC98HlPV69BbUqxxEMxBCGdGie0UCVJ4W7iVQ02rPwUUe23wP - eoaNpWwHC/9jYzxdEIW2Q65m5RiN0ISF+SyE6VflTGPoCMuX1EK1tA== - =YK84 + hF4DzAGzViGx4qcSAQdA9ye9yW7H68OgDjnEO9D+LicSDWcqEWW2mUepQSbyQBww + HlLAPdDQGBsEg+u2l0IoZKbOBrAjus3NWwUCqEFey1yGM7+JT/1FFIS/ue/4yrQ5 + 0lYBZ1fx3Mpu3LAXl9wWqbK/UVvw5q9/WFabw54HEGqI7vWoseNW4LendSHE/SuV + Utnpv1xRJOKBdj+g5KSoeADhHODoxM+rY0XVRy7l+Vn6mNPpX9hMIQ== + =xM8j -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ/+N1b8ClYePdpZNpZkaO4zRuwPatsW8S8kD2beMGAb3qvr - CwdDZ9n6Gj6bUMA4h4A+vSdG6sxUowr+2TUXSyvHdIr4qAB19xzC/vuhtqJkYfhF - T0jm4e1eeWMvFlSzxfEvsFNdK/ySnS+fEl0O4sIZXWUvQFUBlMvv4WUPtZQuAKng - IQETWl4/FaQJycgL1M1TlwT7bKy5pGEHZshxrIsTXwURHgMxfGFAX9S/GZAMLOC6 - msJGWRQBRDCjEnLBr4yr1k35rJVmJBGucQNkzpXQgdyO/4UqZQmPbjN8B8twxyy0 - 3/21mPCCt+md1sPLEwdWCmbvInQAJCbVzDlwF1zCBQZd+AYFIEDko2d82uIPI71U - gvCjNfvBV4JEOf7BgXk+OYS/oapcCVIOdDUFT21G21241VO3+rMuSgXfyb2AuEds - xZWePzTA3URN+t02+1TB8IXvKKE0OA8KFuKlTdPiTpbZ8BZ42zWzZdDEBCxicTfd - GDw0FQadnvMouKyoHja/NoUW/lJfA16YmmjSen/T2ySP36SS8/Gy3DqZGalByNzz - GU5FZ+aAhq1h+lCuOaCopxM8vJ1DUYZNFdNQJWkB8IJqX6xsDEcE1Bioxtv8j7Iz - VE8PFibOa/6XSyfVz86XqQ7Y0pt73kLkrGfnc0awNVTPrL8VohJ1jWqqxGM2c5bS - XAGX4vX7OkprMNBt8Ilp/DsNERVp4sS6uQP7NCSoknTGp5VwL0bI+8sr/qgaXZ6F - FeRT4dx26lbyzLxy2ht9H09k7S2OMWo5sZp8hGYRda+ns6S2SnKuekrEH6IT - =OFYQ + hQIMA2pVdGTIrZI+ARAAysrrtepFCJahQks8oBCqc7nr3OpoZ5nApiEEtaItEjEo + yJRIInWaWH0gj5QuHrs2zw/IaZ+sa1n/9T1GrRDlbLAKvK6DMI+io/VMKKol3zBT + gGqEyqjegPo5Y87EmyJqNzDJrkDkBxPSha+5cQSvhFFFszXEG6p/D00hzRXap0h6 + FUaYFnM6N39YHaAfqBy3Gw5nKnXJvvytTOj+dfnxUXfZM60q7ijR8C8zCttxMcHg + C+mmziaX9+l+rzsOGC/xjTtorhIXGkXZ/lJGBBmS9TJ291PQ8RMj/BRypH6Ki4o6 + VtpJcEjBgLOq9MltQzEioM5JOWuf/YL0LNUUn0Ox+dwI2ksv2YnmOR+NqC32JrAM + wW03B1GuKEjNyXmyrVfwHPNf4DNI0MrH1kXCeW3P/haVoyOvorc5HB6NPL/7RIPX + efCWaEntoNOuujtba/oDCWzx3/TirN14R0NsKXh8MtjKHY6OF2YX99j3ivJvU6Y4 + ZR0OmBA4ZfLg4A3Ah51XuM7AoJrutqsUqz6CQSbDMKk0tPIBsNYnT4TefbISpTZ/ + /cRQX1Z1AUzeAouJSd/HHI4AeNtSwQ9GdLCexD+yGiOKTfKa+5usfGRQU6SCdqEW + xPd++IKJuG/vAU8e8zObpExqMNY3fv85a6Vk9sPTmkqjJ/EabRaJCb7Jhr0JcP3S + XAHDzer74r99YP2tChLpt6Se15ExxnL5iNQiO8651Z0fROeLa8yoe27AsTvu+B3H + Havd0+5+R21V+uWydnr3b0OddKd8xLcW7cam/AZzZjM4CPHAJxMKVnG8PuLu + =wg4X -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdA9u4uTNz6tCiAiUDA0BkFBGCLkP7JPYNOIdNfHVEwVDMw - ytDShvKX+ywh0pPI2qJRAtniCfP3yKy5fh428VQ8GBgnD7yKI3kHjuB2inb0iGR5 - 0lwB4Su6jkBNNzDZoMZsqcUb2wAQhc71bUZ2S5wqCCdCuoTWPXO8CdbOivqrhP4G - DOeErMT2nv8MvDdB8YOQ1W1KW+vtXMsLy4sE+ngA/slfDQDDITr0lNvOfyKMGg== - =RtJJ + hF4DKKbvh61jX5USAQdA/YNSdrWCXwOeDg2CyGyvOe3fpI0+YMprHdbPlpnE5XEw + XF5E0XZczravP5Fwb/n06JuLa4aIl9lgMU9T7u/ZR+nf7J2CsZTorHk/VKedK43x + 0lwBizj/343sinXKHrsDCN6z+HKjpv0HYeemMK+YQ1uf5RH/eTSundE7r8crr+y/ + ia6su5Phdus7/KEiChlGTZ9xvji3JWXM05eL9chPbr73gTGH/WUI3nwxkKNl7Q== + =Aofj -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/mjolnir.sops.yaml b/inventories/chaosknoten/host_vars/mjolnir.sops.yaml index dac1fa815f..cd0972ed21 100644 --- a/inventories/chaosknoten/host_vars/mjolnir.sops.yaml +++ b/inventories/chaosknoten/host_vars/mjolnir.sops.yaml @@ -5,203 +5,183 @@ sops: - recipient: age1hv7m3xypesdfm0dfzwgctde8v307g9xaunnfu2687y0lagcs5q7s3eg0kj enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXeC92elFwRWdkbmxZNVVZ - UUpESnVSRzJnTEV5WkdibmcrOVlNQ2pENnhjClR6b3UzYzBnRm5Hb0J1b0NkRzJR - d0FoWjZSM1F2L3lkYWNrdmwzYjhialUKLS0tIE5xZGVSRWNPS01neVozSWNqeThE - VDRSZHNJR2JnWGxKSE5vQW4wZVNVbTgKwx82YNvE1xB/+GhXnodo4u0OlM9KGkXz - cT6d9zuWPodEt98nwexUA2RAEFKgM9FDTz4kwYJAPp9qEz9jL3tAig== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3b2MzYzFWaHJ4M3NkaDkw + cEYzVDhQSGQ4SGpJQllmZGNTUUhGSy9KZkZjCi9CY0pRVTh3SUQyK0dlckMvVGI1 + YkwxWmNkaFlZb004QUpsek1oNjhNS0EKLS0tIENDUmE4ZDhmZTlKYTJ3RSt3VXVj + V09XOXY4bHBpbWxpdTNycHVwVUptdE0KsksBHnhpGmag6KZmeUjI6GzYPVvG06bw + mGhQf8hwa4m7tTtD806kVuKJ/nXhOZXFr1Gp65iWGBfT5lJk2VIayQ== -----END AGE ENCRYPTED FILE----- lastmodified: "2026-02-11T01:05:26Z" mac: ENC[AES256_GCM,data:7DdCLStFif0EhqsgthwZD50v+FPa1drUmBKUhmWw9FKtCBKmNM5LbCI5TvKGJqq8gtKiMUKpOf/pA/8qGNavfl8MdRrhm9inlkHgkwgLQwAx7/ds8uHexVBjG2gV+hMPtoNCnGRkQRHwrepz/7L6Y5L5UUhWHEUEhMuxrejzNBY=,iv:SpziMsqQ34/hAH1HkbGjqG4ZyZybcWE9Xp5xWkPADGA=,tag:eYWlsKj+OPMcpU1u1Caavg==,type:str] pgp: - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/7BvSdCABX6KWiLSKSbfQO2epTRLW3db4LGY8eOuO9Lyph - gAJjPQVDvuccUDoqZGQYEVQJ8HMCj48FwshK4CdDGuK58SFflWuh0J6e63mob8Ag - Eq7JTT7ghY1wtSeUfwsaIUMS/1kEJn1qmSrgxz+tXCJRUwk/VsPibbAwJCI0FruQ - GsZLrZfOJNzPehb0emoQZ3IbkzTTM+rIDHwi5D4U4JldkhmyKJpERL2wu8g2eFco - vIj+fgWejG6eS2PlXX5yB9yIFo5YmClYzF/SXW6QnAvCJ30lbB2Vcu7ObYrdL4C5 - P8cuE+OvO6YJzJxXTPf8WZGTJN4riaVUbfErBnm+JSnUWbYQ0WM6ZjyviKEHYvkr - pwkneLGChUj/84L2jJ1JZLZ3Cum3+qdvUVpyIfw/XP1jnsPXXrROV7+GVvfRA40I - UrYfK2T1Vxs5KNBoGyRGBzGps5NgMiiz0sMIoLmQhRSFlo1pJL5cHsK1DolsEbqF - lObmWYRDjTIH4JdSKz584EicqDmnzz3BzT+8OYYtYbx4Hl1Idt0fQjJ541U9g4LK - wOChw5KXJkp+8bcdEQelh1YpF8kZ35fYMhu80jfE2oykfQKbjyHy3ZwAhVhUzssD - POHU/teS/sehcn78xUmuK7aSHyUXzH6mTjZsLb0ocCyx/ifcrCMnlIDPB7hOLd/S - XAFBYfBE8yqiVsvKts7JNLBZn/3bYKadHVMuhmUDyc+U3fbRECroknGb/YIeEA3W - iyQ9nZzGHh2GGDN5J+NQt4yDO+iOtR9PxxErDm1JKRqw5i+4XLiKEDvOXxGc - =Rv5u + hQIMAxK/JaB2/SdtARAAg3P/sCvXZNn/o2juDKNe17Hksk8whr7WmoUif4djRIUk + oZa1wR0l/WIdnCukQ1eSoLRJridumz4cM38fR/aRNYsetYwUwFpkOp+2W/kAutKN + tdoeWhUYXazJo8/MrrclBp/1GUzCrBNCeYIhfl3p6odJfZPu5+YWBta+bfKaeg5v + bpU0Z8FKIRM3Y8KG55aJKItUaNLpTxmS4uS6QFB9qXaA2cmO1kGACWnYizYPA7dg + LjUGTYnB9L3IkEmL6KPBw45ixW73tWQTwjPCz6qheRUr4nvUvLGfNzPL/V2XQhJn + ArTVLrTZYgnPxWt8RA6anJ/R286UQ3khWfA3oBX2r9mXUQJCcapU3S5GjAUd0fb4 + qLytT+qyeV/A15Mpq8m3nGyGhUEMZVYWNbydH7fR6MjzLhmwwk/qP/ByDUgWVq7I + uyIlV9rxIipSW5ZeJGWdJIlAdFXgeugI3QU26RkvS7P/m9XFom133l3erF4Ehujb + h7Tv/QjR5Z4gFCoEQ75y4egbqI6Ziuoi4o5FWMxEYvMTXiVB5nA+4zXLuL5eXYUF + UD9IKiyyme4RCzMZbycFfOc8UiQoS8/QIh3Z+AfrqWWAUU7NI8WARn6Xp3to0AFf + 7R8Miw3OvK8y2iD6fEpoyYgBOicCUCJwgriSYwWvS6eCui8r+5unv2eUoKo0gGnS + XAGCnXJCD2r9H90XzzYuG401C5EJW4aQ2erVJ+9gRqpnbfeCLurH0r4LLizPyeIK + YXSCm/e2da7pzKEcTudp/KVwoLxw60vjcahZJOWnrYXkvAV+XoVA/599x/kk + =56oA -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQgArfn/RKy8tI7X6iU+aFsF5ftCmmeS+rYiABDOGmwETYxw - bR+/DHSqGo7i5PV69P0W7SCzjZs/MMfFh9tAh4l3PbuP3J0HOpIRrgzVdRmiUNYC - BkT6KK3u1m4MeOzQlRUXPJWZFYd4Md0qOtlhyUdhKn6Hpnlo339aSxKZsmE2HbGV - /esJLULJAHvC+05fx5hhdRIPsS2VIMWguSGaWqj5Je9CIDRS5DkdZvwj17d5L/gz - MuKMcDkY+atR5kf0wbQ3wWlRHuSs6bc5WP9KxLgzCdoD4u0bSUZoNdQUwZZzUihp - UDC72lsYZcxFyeR4g5myR/tdcjj/R1KFsIKR7x6LSNJcAbzx1ZNaDLsJYr4kj9i1 - 7qurutn/UfWxRZgt6Hn7NUNJsxppPJCspPTthzSapET9PzzR8FyVBatk/0zHmGUx - ++5LzFWfq4XQdpuzfOw+s4Qpl8iMbXbW730J9xI= - =xg+W + hQEMA1QflAioE8i3AQf/Wf3a4dHFiFpopvb3UjFao6+Fphxj2vzerVcvILYOgfsM + 792Y0rIiDJyqSeP3cGI0UK2pDanGv5SqL8CgmNQBhvD6eWSngQMyaOFB1NA4h/LF + oT+wjmXWq1CSlllZI2nyjghMiUzuf4YnrzlE/zJCMvOTtbdbD+fxfP8u9ARJTgfA + j8axYUwP+J+V08SlvRSn9Ek/VFTC1A2VodAxQ/KRCnCVFI72BoAqNCvu00UrKK3R + 4SiaFG0bZm/NWxUjqDh1YNXSqyoqKKo1rkjUxesYCiFtvfZ7EIKjSKB1WTfVwI1G + POtid9UO6V+rLpbrIfs24CiidHmMAbnEjXf0LGdxJ9JcAQ3JsatfCUAGifcJsxKo + UKLDGd4+Sl3zv/1jKkoOtMDKxMgOp5LjpGLoi2ouEtT1YLJtKX8+SVTPrjHvWCUx + mZaTcuf0hUtVxOxj1D++Tq54V5H/lHsGegsmiAM= + =hKN7 -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ/6AxOJ4ay/3i47WZPVsh7nH0ol6EGPQglIj3ZOPi4YvQ81 - UUIntRg32bajf9e/vPBsHnsgmBh4oJEerhUrRn+miyhIINNd98XXILmEHYUR0F7s - BgZtWpHlEIoG85qLlAg4Azcmbc4XTsA5yec2JyqNi3BDhLpEK5hahATEtjWh7XaV - 0vi/kFEAFKF7tYIFM74EyHrD4V8G7L5auSa3Z+KaZlw2D9U3cusE5lMSZ14cYrgj - pczujqSKlUBPGBjrqBuU+6aSCPqwA2BFdtbT4+pJ7IcZNdzdHiakyTPtp87UgQM6 - uC3TmTjuv2O7knosph1Sc9+NLdm7c8rcq9hrpzibz8or0SPEuU5BHsFuF0LTDgMy - jWwSPdb1qHmcyy3ZWhHRdXEhQiXFXYKYHuas7HPZbey5rI1deNVEHtzlmM+zCY1h - Nj4fxJPWC/e+j9ziSGOCFaX17BSY2JzEVmRVWaDYuaTKE5ezC91/pAz2qbnBau09 - g8K7dyDfli09zMO7hOeIfDk5xdPrlNhRXxvmQ5/Fqc0ErC9n91VpwP1XqH1D7bT0 - fpXhM5xDXKQ22Ewwr+sDertq/0YzLT6niMpXdgpd4ThK5Y6ET76gMAZ85R9cCgw5 - DBW5xeVG9kx30cBrzMtNu5vXB+EijhKeK4ej00u5colD53owNcmRk/MmKdp7+GPS - XAFr1czStov05Fzoyoni4i3hmOYrMSGsDg8crVql66Q4vpXWrsRKNVJJln6n7jt4 - LchOjmeuUPZB7Hf/RFBjtu395EltSzeg63u8dLVs5WaInbM8AQQnXlll+F3m - =mW+m + hQIMAz5uSgHG2iMJARAAucnW94WGNwhzUp+lUU302YADWeWzJ2cImB9Dm4x9qsDe + 5k51F7wz0Tjj56Rwccc2zes4c9XepDahuMqFqbSIq0YABuDsvjWUEbtRMHt/fDbu + ySsHqYzG87GlS1zNsXStvJUdjlKHNZ7xTJAY99Esk9eAwHXpqjNeFgnzZQT7aKKf + bR9hlIj0YlI96YPFCwLnuxDrequEn5KFI0posDxwTii77Z8P5SxlqgGDQS+pDXaa + C52Eho0bS54MlqL8G/DiRsQ/tWEjRQ0PvZcDaPFkHVvwKElx0czyG0iNKwFQ2vUM + rOOrV1gMA4zVlumMwU/InfK1hw8MmrQUIS8TMTiGce5+7JndRdf9uPlIM5c95fun + h6D4/ecTJAyGtNpFiSxY9KjYd3InVb83L3xW9HGq3h6hnznvGV5+vxppB5dqLaIk + 5AezeB57Etu/Q4nzwax9oTAbWEc4eTSKrsfNUxXMk/RNfN9ZeM+ZTZ8wegcFEcJd + fvTaYTVFQRYw2/Lqrluz8Cw4vdp/7Ijg/6D2hsSqGQcnJK5EXTwvf/bHdr7fFyZk + KWyzyc/3Ek5yad2Q50XERU2T2vzVdmZmjjcCRZcWTQQo6OspOLvrgG9sb5xJNhRb + GZWpCL1e7cr5WlRm5UOztPvLtFJb3asauXmBcPQck3K0GPp71Q6HleUQRbnUcYXS + XAHKFEFcKu4pBX9N3s5zuUYJPESl5+HuXAt6DSy2uq0cgS/UnsiIbrVKNEdNYlE+ + TNOle6d92dsG3wNDD4cotbrDk2gQM3UWti6cQs/me8NioKbrfAazahOY3KQB + =4dX4 -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DsZXvxFXTXoQSAQdA0TQD3hOo5h6zs1ikDesKZ7SBjSggxzOHKMoW9uaHmlAw - vTi0MNmy3lf4gdHAakcpHoRIcFzD0FdSFm7ka/6QEzfnK/4VsEVCpJ68BFpnrC0F - 0lwBmpwG4B1ANuioWH0IIyGqp0a9YOHtGiymoz3anlv/uQGi1DaeO/f88j6HM8Uz - hv6JTc5DXFFFy8qTtFC9EnC4Iak4zBeVPRHCSrMh+aKkhsxZdERhJpeGIrgYlA== - =UcHZ + hF4DsZXvxFXTXoQSAQdAOmwavoedg1DAfsd+UzDzDWKAF8Za9jjI5taUXNyOElsw + YxphzLDLGo05Y5j8JbHLDnJK3zE7k5CPdy2iCDAJPCof74/05bngZnvubS0XAial + 0lwBGgxxBnTuQdeKN2oxrzqhLYLy9P35aO5PX9NoFIu0GSuwuqSUIKW1x4DXu/M9 + ZzDCPx8TUeVVGGPfvAU3GucTFdV9th+zHOzhlliMIaYoUrzEySUrAtN27UT/nQ== + =SMIT -----END PGP MESSAGE----- fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdA3hcxMZoZ3eycoq6I4bl6s3Qe6gI9inOITxxUU7TApn4w - OrkEIx+Oh36OUoUorDa9GM1fMTwPd+ezJ9A2xcwriwitpM1ZDv9AGqmcLoJ0ly5A - 0lwBvxgcveVv/2v96LiD6CA6GcPhRqmRkVS9G6JtRprkSGbiHaH2rNs/aa3zrDiP - O6LjsWg1/rgXTcHXnmJiESwv+v+QzwWo2TeUuwm/ushkuS41BDu12nMeob9JQw== - =QHxg + hF4DerEtaFuTeewSAQdAD8uSHTF5k96Posm4Q+3L/vOEmWYnY1H7egXNDhnaSyAw + d6mXsd9bnMlTI3KZVwOplC+iB5zazMVWZZ4T6H87kUMK5c/2RQTIy0Bt9eNroIWt + 0lwBEF/whwlo5Wwmn633UyNZdKc5MriomN9VyIYDIZQjis0fciH3hGl5O3YLwR3Z + IYjZRCiC3kfVc2SbeVBcx2dWgi3aqS9qutw3pN9LW3hED/OGEYe40xrKaNlmRQ== + =R4wH -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/+Nc0lgBVBWXE9MnhoVGHWrGMXI+7C0FiYk/vXQasRHpnr - jpKrTFG/WPCNqWKKYUBcXOFMnFGkR47OfWG+h2+uzZ+9FgiMrQEkGoMNFu00/WKq - zJjd1Hi1c8yy1lGVW7fdUu8RZNCNg3ulvsKCFzbyuRC4b+HHgE51bJdTHBLoM7/s - 0bYm8kWPwfKRwaWP5dxqeOKCRN+34KFPPfTyO9KOUHj2sVrd/AfOAMMOZp7s1Kvx - YKjoqKmMqVPMl0U8NoqApdjNfsAhQ3Pirhe8qQefSzoM7yguuLbk6l1j3VX0MHG7 - 3bALj2Z9JYaAQzhs9+h6/x/hmQjJpyxFbshKFgQaXbf4cqtwVnY5eCk3V+uwXiJM - Je3hVSLxYIN4kbApD9yFhfLCwof1lxNXFp03/74M08f4hQtMknk6PWpfqrhwmNya - xoPmK7hMmG+kpi4i1IH0X7RSxAjEPkiMJQ5nyFegroGpsa4PWRlJ2TKiVq2NhvPO - mtn75Zcon4J+NWg3iqVBK0AomhrA/pFG3AAN+9/likHtd9hQXiXVe7ulYsrNR5fu - VfizIHIdRraw9bBtZKdUq3WM0YFKlOw+bi+VU+Jazf4KcxaFHWcSbkxhzc8EybF+ - 8y5ssZORjQHvQY5QJTB2Uet2wMSyewui5m61QSkUctX74FFn4siGh30RQfl5XbnS - XAFnw5f+mXj+puy/udLOGFyiWX7A99iJHsFuQWZCppDxVCn/NuOUfN8Oyplz+qmT - X85G57Ky5I0xvI/1UnYpmv6eW0w2iGtON9UCmj2wv8UZXojVciljkODWRPy+ - =ftqI + hQIMAxjNhCKPP69fAQ/7BdZfG4cqrWaVVuheGjFR59Ni2ssP9nMdd5U3670mxYpN + W/NMKJoZFtROlSsQ6vUO6sHfdmmmFAzJ5lMJtqD6HU1CkVNIU54KiiYWSoUGxb+3 + oLc6g68VKZloFC9hcrS/EX0PmDUV2BJHxftTH9Kh61I4haFynID9i1U3yFMeSCpK + AXEbo8vD/+mOlcyXPSVR1eZL9Hcx157fhoSQJ1+fulPpLt2Xa0ieqmqTROxZ619h + +XKp4LgwWPorYfbupLYE5PfhgHRnyhISQraiVOed+hpaolUnxKg3Ag4V7qkSir7x + +sjlOJb3QTzeBLZBvDdv7DiWsTmMdijXoLG3o2asQSnp4LrR4Cz8m9VOjOtae2fl + jpyk2QqBFUqzCeTxysWBwEnRsJLVa1C+FwZG9UrJnrMNQ0TL7wapmvDtwl1hxlw9 + XH/7WTALR2GYzMHBo77ahPdtjYq9bD0YW7unI/l23vePVQn9/hASuvMWnwc+8ToV + ZIgNiIH0yy4FdQbgxhlcn3FMNgLwJBb2Bz/F0PDN1sTwlHGtI6ZlTAxzp0U0ccGE + 1W7RPMn7T/mqsZ1DTfSQE0DDwYyfn7Vl5mERs8/lLPrfS07O3aSCoh5e6IIYGiMz + ClsMjRvaqhWY7xJHWdQdL7iCCMVVeYdXEkvTz51bLqV/ssDEfch9EBk6m+lsqk3S + XAGWJXl3H+M1IYRrUHtAvMQvC40QZ55gY2I9Oeckc+1IZky4IuYymWJL2G+/M5Jj + jx3zGZ/PI50FUYHKkE0KXIIfk1T38QqMxjex0O2YVsud9jF0DbO2MK+DmiUO + =0Nta -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ/+Nr900qOUp4xUjENqIJdJcBOc7nwdFSfEErAMI1Er0yEy - 1WCZb2lj1pf2aS5J4Sda2AiYTNLDR1kUE5pyCVAZCAHVoUr/ZEPYYro+nJR0CTaN - k9DHodlDPYxDkDURnsWc2uC/Igm5ExiAiOxlNUA0LHZj7tDgw0EVmiSTZlabvp1V - hmx9gxHPlJUo19dEsG/incvQPLoytnuSOOmyWvOebk0ZjA6MFs/PSOzAI4M/ehr9 - phC/cgDMBiLbfB/6F9TC3E2IiVbVrBjBqfnWgHdtz5yE4hETmqIYYXw7m8Qn+9QM - MyLukNnMs7nv++RwijbRcz5KYlsMbOgVXbnK6p1NT0pI546DlghsvCPbtv4V+yvu - zutS9f/PXpAUo30qL1nht23w2jYFTUYFtum7D+4T2y5IuDgwno+IMkLbr+m65FAY - djrS3rJo5K9d38mBn3K96HEfE9Pyb8dCW/veJJsnC2daNykwy9qMB0MulZJ+6wLp - uB01q+HVvYYmOlHwCCxD0QX8WB9Zs789u78ReH6jGK19kM9NgTq8ya8YGNSgnMTg - IZVklmiPlkeRyiA6iyHb+PuJTQ1BrP9p2HRgLm4Mxr7YFpPN+tGuwo0taMHpxG2C - VZU8sSiFA6S9Rq4zALk/Fds5s7Myd0X+JcJ9sduuTQ/JOTGrhFMWSrb6ZC+bTOXS - XAEUhUNA+nNj9YBldZaCrp9a3KySm9YbS4OZfZU507Mj3VhVSiEXzZSk+aFNu0G5 - yynNe9kasl5SnQezmrQmiivib9ARo2jHrS/+fc0GppFH/Q6QoZmFdkkmenBy - =YTq2 - -----END PGP MESSAGE----- - fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-04-18T22:36:23Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQIMA46L6MuPqfJqARAAu1ZzmUbXRFpR0Yqsd+wvlSV9pAc5zaW6s3/v7NBmFiQr - pWHr60VI3mlWfrWVLC0yN2eBsAln2q/yeOcpox245edYEu4XRMuj+CmPmin3UjOs - c15QF9PF8xMm01bWeQiZc1JxyonMVx111cIbtX+35/mcitqMzFn6JgRyDInXUxE/ - o5O8U+xatig+rzv7HsyiiW3qBSfntx5K1O67UNriNLPns1i2TXPmZ3b22PX2AsVf - hLrMqQzy0oX9/TNVsHZqVlj6aen+qHaJBbfCYYddc6E4PfiBiWMhdlybpOJicQAG - 3b9qhr5OrjUug0KIDPK5rxol2K5sHkXulen1ptXuN+xay2G6/v/nGjb2LU9qJqKf - yVfE3+rStSIAL1D1V+4DR6DXQcsomDiExCLYAwuPyQ+qwDgr78Jgz/HAPL2A73yU - 4usVrDIPfaitHYyhvuY1XM46w7yfOi3TfhusojJjc6FZFIYKSf3HdWKNxiHx+Mcv - b7R9qwtRSzGrOCzL2lR+VVrNJfs8W7ZmXD6Fwx2TusEQ/XcrWq5ZD1X1TCj75CgX - 4aiRUmRxOmJl5ABtiYavsoaHny8GcTv7nx+RgtwFXm+wHRjNdEcciE28FB7Hj4Z5 - kTCrNUUWddAuE+c7T+PnVREEVcO/U7O9kFVsmmGmr001tV74iUt7HiU+9QC0Ad/S - XAHXuwTicmxoO8FkajVym9HSn4KE2c348SAvmYo+MUVCuRwLiQ8s595mTyowmFF5 - 6tpX3BfxhTe99Brx9bVHUQfyC3BTLS/UbHTuLTFAwAfBt9+wOiW0UM2wuJzY - =bMt7 + hQIMA46L6MuPqfJqAQ/6AmKU5wDLb+dV1Tr48dHE6rE0XwlRESnMWNIFP+zj6krG + 5drkRK7yKY2grfxcY3PXKALlxQfsjLaNqk6HQMEwuUmYh0I+1tZ0iKDPwskVHWPZ + g9QhwOG/W/gioWIvneeUhHmFAiww7hOBrvEgP1PBXkM3fwHMEl0H9+/abNobMDRK + uW5I8ynL9Z/BZgNhS/S61UuQoXejrSk78NkYY+YFRim45tA//EfWMv21PDiJJPCg + IM7+wAzzqfFQ4Y8rKmThkfz9NQKdCfkuXqT4ak9VerTsasB45gYkWp7B79jguPgv + vM4i2X1iMyyAMXpyvDDK9ZVJAZ2NzjSKfE2A0V0OtXnsLTAOCbf+6Ra37w3XV8Gs + 4ZoMDzdlHiLPujZqf132DEdbxAh22uAnLF+Hy7vBNHP08jcjrkC2P9JKjgpbDhrD + 34YdIAx3m9zwwr+Y5QZeq1VAY3ckWFd/F65/xzLInRnXmf6YyzX9mzJTC9WdtMY9 + 7jZAYuGGbsikrbV7c9jovS4AzqFOkmCJvnSGIGAmIctEYHbTp2XB6JGaitcvw6Og + vn6ReKlPVYO33KZ5qK9SyfMDNk4TNa9igSuNQqp22xs5d54Cm9gQvEnV5G79Hgc1 + SqkL2zuhh0Kol6PO0bVcMlnZUhdgQtIGOGMST455GTtnCuq9m9E/feturgFrSbnS + XAEuaspGbBCgpB3HzOjhoOWLnAzBmAYmDBcup3a67VGUkUblFnUsn4IuYxh7ruow + NxmjzxeLGL4kMmMkFYTZ4hdRLaLH1WP3fWBFV9DERG9QGifcPd64hX5fn7xS + =8aYy -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAnQzJZi5B1jnQVfTkyKdx6MdFoZ0MB0Y9zsEPHGukjFIw - JSptEZ10V7WWOcaBu2MyUGlbJ1IeoN3cKwJxg51ROrmHIy7RK10LxMNwoM4DAeLY - 0lwByx2p44BIJiZZ5bDS6W9BfPAkA9w1Ok2knaMuLKcpcEY84qyFRogo7i1uCeT4 - YRUGShigiAGvGfGkat6mdpLepvKz5WqwflF7QB+WTGQ9wxzz+9dAG/2z4rqRXg== - =7GmP + hF4DQrf1tCqiJxoSAQdAnt+BrerUruQvwmvDaIAx3m6ZqBjbJv4KiFtRB650EHEw + lmRZWsYjvY0+/e3LOYQn7jJ8VZe/vuGjDKaUcG9uQ4cSeLE+ZiYSsyO17kfF5oqi + 0lwBAyjS/8SS6/rQxLBTj452cen/fuIznY/eHY2IpLNXJzNQf09sH/rA1Rot/fxR + gi+85FfCXjtlgBe6Iwpj0rLmpUT9pbjgLMpBn2JSyfYcdp4rajjotYLZbXhVAQ== + =59ES -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAQ+ECaLKmby88iQyKINl/JzLzWfvEPaijWz51pr1ur1Mw - Qn8VCFbXPGMLdTmcfkaFs2DyAf5qrlbKhFKOyr223kPTF+ueLojPgoQfOY5jud0S - 0lYB5hSF3Xvn1oqgCJE/VGQfiVcOL9iH3Ufp7LaXwG651wumEPciUa9vcF5duK/t - O3SGKrGssry6JC00qArS04/ZQTOso2+6/t+bQi1ivNuNSCPpnDp56Q== - =mpf2 + hF4DzAGzViGx4qcSAQdA9Nf2vvTGhvEhgslQpNTl2A1p4gklFHrrBcK+JZBDY3Uw + A/vCtnuLYeKFNgSSHI7dIslck7+tzH/8pXxyXGtXSRUWmg7/uE7N5n4x9jEqUy9z + 0lYBv9ArQcGI1vetG9qKmC/rZ9FU2LqmkGZSufQTrVPKkHmxPQZIYYFFYzp8e/jg + BEbzxr3/qkAgkS+BAdGVFvd7DXzP8ui9SJn8GVxyCa9hFcRKcRoqkw== + =s+xO -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//flH3fpZ00MJ2O/D8oMwUKrGPnwIybqn6w1oJu0xeEpQV - jHP4X1K9Ud5Tu8sl/ZUV1xRu7AQunXPuUIGcHvNBsWk/6mL1HRc6Fj+l5/sfjxsM - fa/nihfY4aXwu1Og3qbu0aa+wNNqV38jq52plC1Ej4uBJQAcEtNWAMD4vEFi8VY7 - v91514GD2L25KnpCt2WnP/NTopK0Uxq2/M5SiT0SlZJf05K84wf12X1ggbpCfbSM - l5TRghiqJRI8+DSfJkDOzuuetC041lQRXaaG8l447U/qqVSNLQgauym01ohYsmuv - EDeKOyZHxfeVkT6BvdsV9t/14vVKOzAuNIlhzO4BVATOOKRPGQFn1I2G8CGvJ4NS - DFilW5dhuaS+5RKExoxG2py7ORbFrzXZIkZ34RR1zusKzUawHQkTIEW1bpXGtiso - cpBsB9roaQwX1+j2mZJ923u3CylvOBauc7RddD5g/lyDkMndWQEcUUn+1yQ6KVdR - X8nyDI+0A7mBOYBs1nIPls/xL8KrdiqsQ1MwoiLJOpsGmCldncsR3KCD3IZQ7VJr - 9YyXs44bHO3IB3mm64O2ym7CcI1PYluiseXXSv5XWGy0RYG+EnWlTBR7xBlrtUPv - lUA/Y+QvAL+vaSArq3ssf5wvR/iQ8AD+/aie1ffUojSMNSwjL1zBSyYl929IAT3S - XAGYXe2EpkqBxFtjCE1Yakhsfxvq6vVPUNN6FFLnOb5rIscOKd1tnXrdBjBbroS5 - jSra8yGIzAfZ/mKBxJbCOVDWCI8H9UHTxiIFHkha57Sj4xRw6Au5IjshOFpH - =FQVG + hQIMA2pVdGTIrZI+ARAAyezo2W4BSTA+/8m2zc7ZF+cFwMpoaTw9W6ImrouvG6Fy + k1zrVoM4nW87Yf7omNYm8dZjKxMgO30vRfJSvghjU1NOhcqt/nkUuynPdMa8YXrL + XAeACNXcHNkWOoD6BvtuPYXS3Z7fXZouK8P8SCAXudnicC5eKh+hFXIpeqYKamOk + 9+hPIQdN3a7qp1ofwNrkNGHOxytVuH5yZHB/RXB+/NgkTNsbC7cXXUi1DpHyFtoA + OEPFINu5THwaj7tTHlbqgJ3QVhoM3J8OEh3im8I8Zn/r/N7jyFT/R4f/grBdGRYh + iEnJelYhbGL2qo5YBJ2LHAezSJXzKm9l6H+WiyWQmK4kSH8kUb8vqBO8R4DR6mKS + 2l5HEbmZQfmllPTCyWHbxJoIvtx0/5lnulkjXq8kHcV+Ih1A8AUc+wCRb+7fPM/w + WOCmVYTo5c4GGr6D1fxN4pPzj/jksRdVduietIKKeaeB4AUTx9ljGimToqzQE7UP + yJ9eBaANrd91uz5rL8OSTBR9Ve7UUyA0Mchodacn4hpRZAZc4GwWPAI0sa4tnXP/ + RES190GCWdrXcMcCTZF9d/Vn6CQhYeQv/PYcTjo5qiXgVkK3RDg9V9m/dj6BP1k7 + vOM7f1oko5SV+weNPpNgacyHo0rQiFfdB7fjyOvDqMzINoAl+bL75sbHuJcpR4bS + XAHeNSMyvydLwIY8rfXtZslAQi56ft37UGu/4qZKwabCKRHsG9K/3lYo9Z+swACr + iE5G/o/RQgIuBDEtSjZVAMTAAXg1cz/Sd+5dih36dVhNzf6KR9WtReK4DmKt + =tL93 -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAkG2wKvX4T32hQFd3jegq121qY0cWybslnDXQj3DDoHow - 7CsyWtC712t4haIJCP2bb4ulxe5YNs95vgtx0cyQONAtkpk3SeSvTOGgqVDeNHJE - 0lwBCD0w0hTevAjwvq6mPBb8GDayi9FUGdZ8AYCbQnBahEoZy1P58V+E36o92FWJ - ocbiVjY/vtQZflXpYhMVXTHEuZ5O0as217HxVlwUZGgseZkdoFOfU5TAA9aecg== - =21FB + hF4DKKbvh61jX5USAQdAaXD57G+sJAGL6jrLPlprzmtsc24yqmmtXpUAnmLZHzEw + Gyfx7FQw+NibMrTVmorXpvySedqHvf8rMz5hfM1TVuea/VY9YSai+xa2A1TpJ9fB + 0lwBoxBBqh4t8wKk7DF/Ipv9pdmuERcjBGmc+DhYa/y5E5sG2du0jwEpYxQvRvaE + weT3ygHhzK0YwB3IZ4VXiV6rIuKg4aq1Hs3hQQicK72VPcdJFJzI1TQhQfAeUA== + =zH0q -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/mumble.sops.yaml b/inventories/chaosknoten/host_vars/mumble.sops.yaml index a37b5e379c..4fb324bfdb 100644 --- a/inventories/chaosknoten/host_vars/mumble.sops.yaml +++ b/inventories/chaosknoten/host_vars/mumble.sops.yaml @@ -4,203 +4,183 @@ sops: - recipient: age1wnympe3x8ce8hk87cymmt6wvccs4aes5rhhs44hq0s529v5z4g5sfyphwx enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaWStWZnpkM3djek9DQk5W - RFlURU5FUUQzdCtiU0NQWmhCZXdScE1pMzNRCmttOGZFdkU1cEtkTUVWbHY2YVZZ - VExnOVdZd0lvOGh3L01BVGthdU5ETXcKLS0tIGZnQ2k4N2JkOGsyN3FXaFdBSWtW - NEtxRkZVbjdlRmR6cURUWjR5OG9CSWMKKszj8ls5s82jNULr8HMgqi33PGW7G2fP - FCklcxhe4PEcWqqXswopP3fhksHoxaP72BfQM77JvxyuSSP9xw+7xQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXVmkrVFU0dlgvQ3QzaDhO + ZnB4aEZoL2NBNUFobEJtYk1mYUlqZkpEQkNzCkdxWWJ1SUl1NzFOSGIzSHRNb1Nh + NWtxTThPWDBQR2dhT1VUc3Jpd3B1ejQKLS0tIHNHOFh2TUgyK0JqWFlXWkpxZzI0 + TmtrckY4R0poN29Vc0RGRTVJQmI2SGcKQnwa1sbmGDACkOfHr6wnpIKILBs2cdRM + 29qyKVWOjxv0Egzk5xJOqaazN2/wJXl7YcGLZsu88PwP3VfMLjullQ== -----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: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//bVlA4ynEXwcN7JvEH/mHmxkSs9lwyt5/35eUN5chn36G - +4uVmiibHp8PhSl/+sIZ2w5HmXBe1rweDk3wGZr0J3JftNb/fFadOMr8oK4NQDTK - H4sLbXTWOaZAYHdGLBFln3pXmcPOJ9Rj04Da8geqb5Q+I4XH6dqBBRReIcPhiKEt - IprbKDRPjxnBzLpEeHirsdWcCDDvAkQ0/nhzBS71TRdqAg35bAN7Boz8fRNpQwo1 - vRWXStEto1W/2KIi2k4TIC7K7thmdZGKCrMRHuGaIV5BhVK49NjctN4YhFC1+nxc - 8Aew3TZ1KwXlz/t5nNamWhCRaQZG080PSk7F/OJdyP/o1nKT/1fyaQTgVHEyFS3s - h5v97oHa+rDhsXEsb8E94FMEHVNI7UuBmOlmyTTUV2jZlA6p1NS2s+6MMgCYIQBs - INjw8phE8VhzBN6hUCy3VvWXXR+C4nAC3S1TVur9uNRurn3gk9L16CLDhgfLL+ZM - BGxzHdrf0UEoYe833ivtmEZlnRbOZ9bocxmd4XKkcDFbuPnc4udYPy4WD2nVD/PZ - OaBI29mKOGKjkSNIlU4qQS38j9ZnStiqorI7eQyjB6BsjMHQGlwFsNiLp7qowXo3 - tbRvIhbjuHhXDVJIH3+GSmA+SQdfy/gaBF7kz8I1KZZ9GS2wsh4gZy2P5PamGIPS - UQF4JK7tWOdLqozSDaaHLMGRona/F0Z+u5ZlfKL6DGQpKKSs9S/9LS/4z/0+Vifx - PwlalytbsMIn3/jhADqtimIOiE1DNv/cpOHb0w6DVTqqXw== - =T6Yg + hQIMAxK/JaB2/SdtARAAoQw5cOHvjERi0MNRqEgzSoUZTyZwDRvKd28JTq681tIB + x9NFubWQzBtKQHG1HLkWIJeUrYGX5Rt/V903KtQ6lBpT6D5fml7VzObGkToJvWmK + 8vxny2WbAj5N2mQ9rg/EfPl9xCEA2+5/lzKGYT2d0rlSQRRRTsV6Fdj+RGuq9pdM + zakH7ncwGj3Q0dfZC5IPDvOxCf+HKZqUy3Mcf9piwm/2qX+HScWeOhWWReGM9kgK + 6lFpLwVtfORNHEd1iPH0I434t26SblXGwv46EUgYqBp8qjKY4wTED5tDqNMdaB2b + M66gt3wZS9EqtV0WsaxoWrsLpB9dOA1wa1eILF4JVpvCemVcTIILh6JA2orvOdgE + ZsBd6e/IS8QDVvoinfiOviacCPSe2SStuCYRcGDKbkVs6DvoZ7/+PQtomR0zQ6nf + t3G0Y+ieaauK/fvncX+WxNG/Jd9KszunzcSvFNQnn86Qd9oUL6w/mJNqssDh7DtB + 5QK2N3zPerQ00Fus4ezMfZGys8Yn5N/D0YyPe9yHYpHiZN7Y2ARW0PBjwrDUm22N + vuuhe/OnKhi+arbozBodSfhGDW2r64vIDJA6u/nTjQvHzajuxtX7m+T7ygRyj6m1 + HumkCjAtJuZmbvu6QIzrKY56mVeAD119Y8H8ikGYgrinPsAC+eZbTPYkDIGJUd7S + UQEgOtPRN+EW4peChzd8DeGJMWxndz2dwwB7mA069C18k4zDSsZta374I28nB9ja + S1X8oNEm0d4u+FvjqLUakLkdR9DxpXm+NGruiXCUSc/XXQ== + =Ca3f -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQgAn6a4ZgqZG86yEQXMYRHVKJ1uKlkYzozpf7XtBNLyUZsl - vV347tM6CuvUchHkKcWfd89+mPMZVpEdHG6V1JFPrPGS5iseegsiFQ4q2GokbPXs - Sb3P7ciacCWdhOFGoAzscJtGDjB6RHhcz3M05trQpgjQ1s8K6m2LlBoFE+YGxdi9 - LGfMhwkrqR9xcpi55WN25xVK4qZmOniXQeKEUH1uLPj45ORlhALQHyF3tjj6ELWP - tZYPrqXtDAY+QhBA33aH4KnZ2rIz+zS020nDRu86yDfuxPp7pHBOz+zUZrzCpvoD - c5MRGb51Epfn2eUhSTlkXCRmb75NbpFty6i9H0pHANJRAQJwMUttsWhBn78rggiV - izmghyqlAKPmW2KN8hftpkEkdl84DAIYe7K2mBb3URnsMEruEcZ4AWIpCZWFrFZh - 6vISzyoMgkX1lpYULDia3bZd - =raXK + hQEMA1QflAioE8i3AQf/ZtI1PmTNOA/mipMOUeN4YsJFri4pJ7EaEMEh+0MURrAT + Zc5STMzEPhOPy2AACrRhptO1DZRlaoF4uaUjzVpVMZ+jRCXTGWSDNOHVFpG5IzUD + 492MZT7UrAg4Fo6brh0pf9zYKdywxQ8VeJVwz7CD5LfE9KEBIx1zsl3UnbJNbr4p + GztNLP7lRKKCLOUHuZ6KU7kgeTUkYJw6vIQ5NpCuptYufnTuHGSo9X6cx8CkB06Z + uOddlApPKBSf0gO5K3fkwRTZgU6VU54kvD1ZNYIZTCwv1WYGRYiC4WmE70QiS9Io + nQdakEOYufUr0H6XTvcpSO0sfHXaJIMjv264wtNh+NJRAeGlslIYs4/jfRL8IZC1 + PCn1skypFo2LrXh1NqtWYAr3ZMkz19VFbyblhiYQO+Wmp7y4MQXEv8Jp906XfywW + GOA7RlsDATS9Lta2zMGbZjsK + =o9Lg -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAAtzZsgGNgFtPVYqKUk9tfTYrbMKs//CyHTvre5A6qZGeN - 7LozfxKgKRrtbm80iMpDfq554tcAALTFCgie7hH3cyCg/3tmHMeheSS2GIofb+j0 - sYZ0KMgvw/Bl88pb/AjRbQmV+8OaY5N/28aRu3/YsGlzSDV9YbfrFa7fufso1Pp9 - tvE+5QOKCtj+5i6KQxxNoj9XYXKAsUdjIs3PxvJQdtR0AguC4wUm0k1ooKCsrb49 - OXYymu+U9vVsoHuKodDbJQvtRAr6nIFC9zSY04IGN3O0Yb1YdeAEgX7Jx25sI58e - PTH+UF0eaq5vjR4Yz6T8OwIjDq2VomFSdoXAbW0j9YLvImAVU+V0zHPeI//CcI+2 - Y7pup2k5jpVkHFC9yDFZq7Gd3JQufe3Y63h+3bjP6UW4EZtDDlMPUcPVCRUTktZV - pLmo0MM3oSd2dN76nL0jFQS66f/63xCJNtC34fH4Qkzsdg38VNk8U3RPRMXFk5iU - ttXSKsHVn4M5s0IUKA2oF4jt6cEoBQ9jByg7FCx2Cdwi7x2ZnJ3uv5YhsCJXUBuH - OKfPIcb1oi71H/YJ1HYQyKMtPw2xsVOAYLta57A+0N5mYGwu9WBxieHGbjNKYQpg - VplWyLNZCZWOo3U0o/85R9nu4jn6Kr+3sB6YZnp+2X32AwXXFnflc8hA6arBWSLS - UQG369+4XBHrbEma47wE/0PXlrf8nhAdYMo/S/K6iZoIExXk469nOW+99XJyXMzh - wFeMKU3YN1ngcU8EOokWjFbY8s64QFDa5NP1Jtlv3g0MOw== - =ZZDn + hQIMAz5uSgHG2iMJAQ//Q/fma2FZ+7Q003EgCRpDN2UeA/RUnEMZzCbhVPL+ofNk + TgGEgZ8JhzkkQEDcOi90xejI1riMR2NJrV07ZiwhLdG5vcqfGX4tUKwRlkBLRDrY + MZraOTCWvBGZvSAi1ZNwEQvvCv8GGNEN4vmKYtA8/T60uZz/leUjiREpTClDsmDb + pjA4EhySvkJAKCIl4fU+b7hxQ1hyL6r1auvCF9lqVQHzpckMugMeow0qfb2Xeb9m + kHJdoM/wE63HvhYYKtS/yeBV9DeYV2PuCtSHvGZAPll8zxSIy1Zkn6FoHY/PN/1O + vX1N5joLKpl8f+dP6zspIqLkzetDC7lDoHcUimsqw7MWNpml9YP+EYYhKa4Rjxcd + sow4bFOVJqHScNOUA8UsiMr2LFinwAfYYeTTLuA/uzNNBKrA7NaFPIodHE/BKiF+ + 372WV74ry1Fc+AEf7I+9UnLzk0pJ9c515Ose03rPggLh9fwcEOkhU+MT8QH9BMsI + X98s8Pu7erHtpwk1HxrZatV3K0nIuqKFiJBzwknTzTH4Au1M4AZ7nsyvoeMOMdGQ + V3/uFBFfBD6JoQQ/sjVtkti2udjAYR7EOE7D5eH6UtUsbxf/j7YAQPWKZTv8p4mc + hRgHxBNrO5A9bKVlf+kfzt7el7kmvsD8nTSB2lrFdKZtF1CK/qam9fybl17+2srS + UQG4H1jBrymNC1w0NvG0zQK+hhScRtZcxqVYQBZ8tDF5J2UZGJ7ncfHDgT1xFNPW + SS0UqQVCQw3NRKP/dpHbnCmggVXHorMWOpQYla3yL54bCw== + =rYCG -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DsZXvxFXTXoQSAQdAI1yuceWQhEIpuWdkIJRrBPqk3DgNMqUsrG5S9m+tu2Qw - ZSNP6jKOiMRRSNqad5ZId5aKxgjL171BbsGVByL3RO6ecMTxVOKFAgysagwVLt71 - 0lEB2n35zNqbiErS18I0QRAMa58DJbUr4hJwkyEEIUblMLNWwihcl6hH9C3FWU1N - hX2jqEEQh1uE8iQhdEYA/zqXPeblQlHHOzkNyX2eY4SXYic= - =ou0d + hF4DsZXvxFXTXoQSAQdAAezql88kf6Xc2UtGQ3dYaLcd5etFj0YM8t9lK6h4KQYw + 94dBcRQo/W6ssiR7JK6ntxUasBKBSxGsMEf+D6Ay7bCv9pCqZ1jpQeIg9HdzHg4W + 0lEBZ6JmsQpIdQUF6UtQZLJZkdkSsbyjXe6j8p9dig7l812g1vYo7YKeQT9k78Sh + RTtarpUI1XYqKTEGa7Q42ljzYrRnZARp7Q5kWkDT3Nqie5k= + =xQi9 -----END PGP MESSAGE----- fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAwk4wmPdB2BLwij67+IO9hW0Or6zZypdXShIS91ujq38w - EVl35vQ5KcUXsPTi50SEoknlJcikmHfee0zGHQEgePHYttUbpw4ivwaOcVzbKCNf - 0lEBJXzLB+Sp6V+mnQE3A2jvIm7RwghhRKVtRYgKIKR2bOVfN0WTZvdrplOlvs61 - d4oNv+5wB7+7XWtISysixS4AebvZcnk0ztz7bAFVZt4torE= - =GH/7 + hF4DerEtaFuTeewSAQdAP2arD5h/JJht8gb/QBvtAR3l7zKJyp2VsJsmK3kzsHsw + hYvBcSYCvZxuBBPB3d7LolSpcXXyXHYfAOEBI+LUzkPW6T5W7u47M6woQcLo4Dvs + 0lEBie2+9KC3c6TQiDSinlF4VVnPTr9oa7Iai1WBvpNU0OvsSlTOTqjiXBWjsQuA + +lRbc/ulVGFQEQkzNwHmwCU7jka5wNrPbMuxxrrtzZCoWXs= + =IecQ -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//SXzyHDEXNp2+YjCN8wbojAJO7FybzUa3levyLJ3wPBam - Tz9ICeeEGKGWVQp2zj1ef9ZNpKHYDICMHUTVoDAIqZnnfhwk10j8ocPe+QgwGhjC - Sxt/EiuUTKxfIyU9TGbYpFBP+OgG0bw2AbcDWx8n+dXftZfftwRxXi5M+dNKMzDu - pkM8wPlkGMvlsOMjEGgwF4cdIPvbRPpic6VvvETGj/LsLgCHVmfCmvQPrZtu9vZZ - zNQ4DL8QCfX0DjTy+Ps/zHeXAiNteX5S7KEEs9DVeqZXaSJs/zkBQhDYTsQH5fXD - rXB/Avkls81vxoxfGiJRUqi9U8A5BJqwlJRJ4oLNhJ1zX5FMqVBiK9OqIFce5HLz - gyJYiuzZCiiIGW196ugoojro5zIjACYeWSy9KxthdrGZZaTYAf8gWu02teIf8fCL - MHOqCqtDFI6yoRbn5bNclTL+x0A+6CQBNScRqi7NlZkJ7sJvaVbFx9uT9tVUTew/ - CdJahdqcBeU2TzVGHawozcInv6Cr/RzPq1mCItnOG9oDJhR5/iBm2/4bMNeISH6Y - Yy9bUMWUB5t7OCgrqyWBfCIaW7WHSTafDEg305yY8G2LgixKTdw/BZjOuORfEcRW - VSpF+B0/bmfohBqjU9d37Biwn4pVPS02NiNKWA+EpM0hLXYBQkPgsRuwNpCMNkfS - UQHtwfN7Vg6V6p3Vauz0ahyy+fi+dsEBDRRLL3JygbpWH5gfU8Zlkuv192YmljJD - gMGTrGfV/eFIXEGNV/pAaO4y9/eK24GFfemajS2p5+Sl4Q== - =U3Er + hQIMAxjNhCKPP69fAQ//ZX6xzeE43BRXfwwqdDTmG92L4/8SsORc7c6/VcdmKP68 + 07PI/d1kCgWLMay/paacJQIm05YFj9X8/RETCh/N8mrflrmkjPx6CSFQI5+M9pU0 + xr4Jnzl7BECRbpqoy7hdveeBGneMtgRnV3fe0HUQy8JDf4I+dtu4DT7Ak6ZUG+9W + 5x4r/XnfG9FN3173ztwh28fRnAbnEJEY04P36hGEKhXJddNI9R40QrHEKGiL3Lfq + /93N0hgc7f0T1Qt0n2Htjy1xMfl2hT3kixiv3vROd/f7J0k27ez57A0SAAOy3a2W + unlbUjPsKaQRCRnb4S3nKp9TA0cju/1Epp+e23NE6bZeFdQZ38SGP4SxtLzbqQo3 + mZ/MtaMwARkIp3mlPqrEmp+VpEH7Rce0nZ+mQ0+RK93R0v1zIHl0EhJyr36GXoeC + KCqiQ91749AelImb3CCuHx5b6hEkod1fBXZ8WhF/dlhCYhfyPDpMzlegU6AFaHmg + jCyltGyBhLyxvqkJOAMRjV+HUnzQtnVSOpeV8mRV0fRqlSckQOYAj8Xu0z39f1QL + DAe24bo+Ro07Ez2VE6YPM38ac3oxjb+jPBETItySdAunh2ep8pJerj5mtidjPeTU + 7uiOewr15A5EZLKkX2rZkUoweDlbodePqp+M3eRsbpRkFaNECgahC8R1stHtKXjS + UQFrW95TDDrunoP1eP9mAlBzLSFsjNHlkTz4XiHli/f7KJgivTe70jgPUm0hwBvf + aclVHBToC/Vgl+g1iADUAgD05H6IKbMWvuOjhIKlYJa0ow== + =xDfV -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//e6Ps7t4ErD0E5rd3X5jcIzdy+rxwUsbN5lOWJu+l/wlW - tEiGcVtjsWqOTwhLAA71ANUYRz5nrEIW8HRDnU17XaqAbHZLHL4MkDij0RzT8WoT - VsHHi+dWAk4LgaabayA9uzqcRfqWfA5mcT94oPl98xOH65OzpFJPjNKS1hD+kvzX - WlTlkOKh0H5O7UknCbvPwty0aVuVI0MDUpzn+Ihf3EZWGRYhtmHNMUDr00Ofh1k6 - rDB+ZS7td0ShrMWUQMvy77gfduCACDbJyqhIw4Qpk6uLhRUL3PXE8ecGF+yz5/SY - 47vABKuumyyOMPT20jm5lEt+rnpu3dnrA1WCXciEmHRvKNYgSdZzBY0tpqVZwhR/ - sy95yi8NLMqckMwm9G5CfffIXZ58ynYZi8+e/paT1SOV47nOd8lqs+zuUEi06O8+ - I9lzjUS4wumgjTzKRekI3F/VU6Rz7Md9gFNGWlY9BXXtXp39XaqXnGnHFrXQCZLr - RH8d+8y4NK1zqjKo+M333AzlfWzJNpdEmYEw7EysqHsJAukQ5No68id7LZK9dVbY - TvcBCh1YF6WyYPz+fNtpj4eC+7eLiUCGpk4x3V0sjSph8aWylN/Uc8Juo+xtT0FQ - fkuz+jLbAOkPL7yge0aepwTpC23ptuLLGQRGkyg/33L+/oxSX5l7dftKkkv6LDbS - UQHNHSHFdj/PLDgaUjP04qGr3J/XNAYKoj+5ues/xIkqZG0LkCCxfQPryqslxP+p - b8mv1RA5cKTiCsYDQ7MvV4fItat45EwUXeqzEjbDP6fkeg== - =kFfE - -----END PGP MESSAGE----- - fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-04-18T22:36:24Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQIMA46L6MuPqfJqARAAosYQCCTEGKgqd25OwiiVQZdYuewKuV99l0Db8/J/sAh1 - x7Sltr4Wc2h5Fms8AhNXzJjq8EuQKrPHJUTPf1nnnRdZBUizGOWd9arHUl+qK10/ - AHfSGs/9rh2lK92cx/ANymJuR/QIl3oDAaQSKBcy7emeZx705PTE1hfMTwe3LA1k - wnV0l/po/3TJlQXtQYOVLIGpBPp13/1BD6+17NaVUY3bsv2GZv6o75h+nHLQ0NdV - kLsmzJFNbvFPisB1cE3N76ZvPbWB9pW/a7XOAZeYGsK7OAUp7nkQYVBFb6A5b++k - v6dQq3vlf/nP4ngCd0rsrF1ANThbylY3RqJBAHEahSr4kbBDww+/cPR2hTH+QMrX - JJKzyPEfe0cEJl6Cmfxx6X2d7TqyLjQtn+vjHO6+bnEU0TGxGtmuTV+AP2nF+C6g - 5qH1zUFKTnxeOPAAREj8iTtK900Hbk1Dl5EAZ53cDX1IDL4hhkiOa27mTLEPNBs5 - dJIvKd9YpmbPcSBlbGmMpeEKCnZ7LkvFhr/F0NkhuLGzddWFzQm53DQB5fKCxLo3 - MHPofOj1/mwntbr0XceUy6QsyqSeautts9vAoC1XOxgfAqJER6xkp07f2EDlPYJY - iF/jWpW7w0vym/mBHoFmrKIac168kit83dycPJsSYrR7EwmZBWqUVNHJRF4P1snS - UQFxpf0Tk1WZQUdJie6bB+aDliF3Cpa8t2qR5g5hZnuhJ3H+BxPEcCWZ3D1nJ8kk - Ss4S+q86B335S5yF/phQqDu+Igi2dWhrfADLlHE13z5hbQ== - =uqUW + hQIMA46L6MuPqfJqAQ//R7eyWVgDQLYqBZyH5+6JIPKF9dUuX5VRNFTZhMW4RyN+ + oNE+gwqh7LqxElTQKVXXaZBAHimnDaNjpPL3nyZMRGsmfgMaxoBDQuXOlrXwKTJo + bCMPGN7qveMa4jWSTpKgA4wbtzgjotvc0Y6d4gj6lhJ9gS/46AQwxtp/2mBoxVVZ + EzvPZ02uS9WNrMcY0sVve/JFbCzWRgQXuUY76952PC3+6yCU+lxQnI138oFRKZYf + Oih0VIwxigM6uHqSwyWiLv1zUxlf/j09mfQ8yHl+PScVg7SOt54KbA6U1CmUMcC8 + GPm/G70xVSxl+4ZCVPt4Na0ATqzdGpBpz7locT2+cx5bdwgIVyGSfQicCzPHSGEP + 49r2A2eq3gK707Q0eGjUD2BDY+1N8gL4QjqWDyPDVJPfQ3EOwgFJICni5hRK+u6H + J/huMLI+7kodz5K4Ui1aRJ/0wRVSg2AlWys2EHL7H/me3moOqShN93+TMJZsgD5N + vgKa028iXYGN6hgyuU8Mzm+3UwJGjV1zG5jGf/fE1zpu4VtsPUUsfFHD2WPp7072 + Q0fRlG1PvrkfPkcJX0Fk67Tj8W2K2LX3U8/cs90ltNcu+C7r7vLlC6gX5MPrfAwr + Q/AROCM/SMaCDWiRB7I2acg+P6Tx3XvCw7w5qutv+1Iag5IWxFIXR++OyFby6xfS + UQHhSy843yistZwVyccwYDG/zRi9TULL5FSfpUOZgVDLt7l25Smn5SHjC1KD+hY4 + ogdb5kT5EBvoJNgOKp8tW/OkaE/qiCVFJmxCVlb+jfcaOA== + =qpM8 -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAiprtBG6nz9lsM80/7J6j3+Qb+S3wZRMS5o4PaK6GrjUw - EWISyohS2BY9JmgZZuUP/wBNRre7THXHom9soEMtamvEbfg7mJwAi909X7YnbXxZ - 0lEBDWnya5cMjeBq3Lm/VH8aH0YeH3A1GIWqnsc9K5vdZoV7wdW7iQtBMzPlf94L - Kan517TqCo8Kma6FpVDy444etQed2wtIMoyGCbs7RacFPxM= - =D46c + hF4DQrf1tCqiJxoSAQdAGrIDrkjSEOQWnj+EVboWPn69XzXFq6iXo80iqOHFKXEw + XkiCN6lKIh3itCotYdB65i1OjoHBbgFqVhaYmEzhlzntm+kXf3Bb58DlMJeVaawR + 0lEBUMtQXdV7gEmuSVq6/ZYAeS9D0d1OYGByAMHGuQ4tn5+TI3YYf0GBxeKIHivB + 0hRORSR1efkLRFt28xj28PTGUCIr16oFYPApGG2UnfCVwm0= + =62rM -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdA2lgZ/3jmEONjhC/HiQdhfrbW+DPWUN9VqfrLNzasa3Qw - dnXTPOs2KitZN7c8VE1m64H2nt0hyvV5RV0b3q8Rt5foUMI00voIMpsG20xMH1ox - 0lEBMGT7/2bE8xVkqH4EZzG5e3tbjQyEGPgt1z19g28VtRJ/g9ues1ffPmwgNexp - xuBX7njKYSG+uc/gA1IbJ+0l1XTlR2IbN/XxesgyVyzmybY= - =CAV/ + hF4DzAGzViGx4qcSAQdAtEckCi8DQJlLro5X91Ha2+EzhpzPGVamwEev7jel3DQw + yupxg3Jzd13ZNxaH0KnBMuKSmiAKnXcP9n1RQqCRe4QV28ASF4ltqQbP65rZm+8d + 0lEBWvLOIe1lUannye27KWdsihLkoUNvosnZEJ9Kr72r/FXmL1bgZEPQtie1hCSB + QR8gb7cIgEPOnT9gXe611vxrMRHhNYM4u2do9ZH7XKXuAfs= + =KfCv -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAAyUtiza6nMcbwOgTfku4X1ObdV/CunCdfAySlZZs7ZTun - WhvLtJfsBRe9y4WA/yURTOoL77Lj7kvIatHwknOZK+F33FnNXJR6zkqOp7aVTfbn - 77SxZBhtbPwczEUx1YXcJ6vsQ4O18sE+AEcGIHtEZCcB4L0Y4g9oNSCWjBXeg3Q8 - 7MZQEC53DoiOqaWFX5OVEC/6UwUEt5WGjAsGc5AqD0jIiFk3cWbsqnwrHMP16wVH - CZ76sK6VsiuzH/kYFec7CMK+erY1WZZZAwsd6X2+j7E9R3N4tmwmINWFe8sDXUhW - ZF/7LSqb4FoLbjqtjqb6+Ag5DFZVCmUvwt+Vm/TKWRspQooJuXpL8SMOKieBKyNc - zwxipIUtFjsCK9GCH3jsEBEUNej6JuG15mlZln2wibNh38gQAllqKhMAHfLlFLPa - WUZIoeX/Hor4qgROoF/CA2ow7pGordDeIzpGcPpu2aMFvOPbs5zYKq5mdI5uGBLG - Y6K2Dlli1mF6aEyMYLNYIEh4FeHd9mHSdwEALgRSV1P7Hqcq2EYVt5F9jsmmw88K - ZxbRG0LOQyL2gZP782m3ZEiLWNfI9oT5G6ScWbqS6T5Ch7JBhoAvClNVo3YDKKRw - 28q0Dp4sqJBdNYPD4UrsL0lQdnkFy9iVxj7lqKHbvzqMlg2JxZyrDNONhz/oadvS - UQEXfxpX3Of8AhreQ6dpSRFr3MPE3zzcCdBHL1hE8M6SOm9744O/94r5RVHUxo8I - 8SLboSlbQs6VxHzybT4vU0f+rzqtvKg61Yii9o1RFNeOAg== - =OfQ1 + hQIMA2pVdGTIrZI+AQ//Xmt8qwMgY7ygUNcwc7SGQUmtcP/bwuxIKIfYbridXc/l + ZadvUYrfALSNVNFO9nVozhYm7ZoN2QuuyRwS5DbXZLBYcka5CWEEtid9UH6V5F/c + HzTaIGPnoqxj0srRi+XKuiIAkSwNhLoVpTMZdhoAQR4xzUJgiDICqIZm5jzI2vGZ + R0oYs2HDxIIUmtuQrkYYUpaxseAvE0BzHz3mxVGLxyQeOjGCYigWgNlscDCB7aFZ + CnBF8/3rgOY0qOzUUFVjESLRC+ve5d6ZbxJO1YSGb1dLJ9OExexrISqCw/PtOK28 + 83o6wr0A/7v2gTBYLSu3qS2CvOtb/xCO2nykGkYhlnDsgr8BQ5lIhXIMJnjuNZN7 + O+io4xtowcjLH33kgl3PAB5DJ935Rv+ZiaaAbTfLIgpUnQXakY+0GA3kTseKI2/r + lzFpaTF0SAlNGahpdk+iskJOO16E9FyVZGa2ftmUb0NpfTRfcvQJunyDOqzrTu7W + VHy9kBuJshYySRzH7U1RreIEyEmuWAc4UaeBMpJDZtY0btQNoiJ19Bk0KIR+Id1E + qpZ6+B0qdGB3Hc7tx76djs9upskjw9cPA6qF0dKutg/noT1fTEwBgeB3k8wjJc1b + BCykayHtxB77KCTBOuj0DkIUTT4bQqms2BL/A28m44rIA60tiWzqyI7P+9V3KBzS + UQEJot3tKANAHRgDGM+TLYhLcvvEYz7dppPL1G7iyOy3ppMvxAy8eTTGo6RuP8i2 + djugvlrOCG1fRqX58MF580EIMWYx7BX04aQUxLmFoNFNjw== + =VSi2 -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAU5xT2veiv7lMyuNB2/g33n4CLM9ul6BPmlQKTwQTAGQw - N7y7J/Uf8tqjAOTKAkChpS5+t2XAo0I5QTEcMLshCgMkEwRem2U94aATCb99gXUi - 0lEBiBykP7POwnuCibrJD7wLttt45VCkqosiJvJY2WpLyj0gmGMNcjuNeK2/hpvf - G3iegRa94jflUGGHrzMlb0i6xj5L5lnf5GS49Ui5E7eq/4g= - =eLhg + hF4DKKbvh61jX5USAQdAJQ8yth8dEYKf+LLyFRYem6QujxAXvCRWJT9rubzlT24w + M1ekczsovOR27VRyVSan09DKduNgpqJvmA6SV7MQ8aiHLKEzcb9DLQmy/z4f8JST + 0lEB1ZT967LNsSpkWWhP//aZIGm43/Vhb6Is9ICD7vXeVwfVqeW21UupfKFqQMja + XGKxDm/GFzNLBvwnhfpBWK5SLOXm96dWGBSDmwYWl/XRq8k= + =MRN3 -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/netbox.sops.yaml b/inventories/chaosknoten/host_vars/netbox.sops.yaml index d9a4284eef..bf5cf1d4a1 100644 --- a/inventories/chaosknoten/host_vars/netbox.sops.yaml +++ b/inventories/chaosknoten/host_vars/netbox.sops.yaml @@ -7,203 +7,183 @@ sops: - recipient: age1ss82zwqkj438re78355p886r89csqrrfmkfp8lrrf8v23nza492qza4ey3 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA2MVZSREZ1OTgxZTR4dkRJ - djlDWFFKQXVSdytRT3hYMWdYUkM5Rkg2Tmx3CnhveTMrL0JTd1dvVlhRNnVPZ2N6 - UTA0WE1JVlBFU3lVTDRXYkpIOVoxZWMKLS0tIDhZRWxnMXd3N0RCSmZFZTlpTUxM - emZRbWNpRkJzTUx1UmlrakpnVXBtOVkKbClkiZ/JlXKJnbjFVetuzVdmj14+6ngn - LnMtnd3oyp2cRGZQKP6l1pXM8jnmae91IdvOhe8QLIXw8ie3f6WK3w== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjOHpqMnNYVVBpUTd4Nmth + Q2hnMnhSS0FhRnRwdVpoZWFMOHJibXpqVlVrClR2WGdqeUM5bE00c0prdHhEQjVx + QVEvbUlOWlgvUDhoVjVMS3ZVS0U2NncKLS0tIHhPdUM5aUZxRkhiWm9ndEdjdE1V + RVE4UU90ZWx5cXA1dXVYNEd4dHVXSWcKOSZYSMcQ78i78j8OMKRMQeCLN9Iuauw6 + 2P76hHp5HVPvZp0x4QMLvFmltBNusREMZmK5nbasm+bb8mygJ9NN4A== -----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: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/9GTKII6qlhGbWV6thbaA6d+Wnf6KqtctwSIVYuve4b6gj - +U8oc/oIO2mqznstqWTlfotHVBXguWH4PLVMTnnozPye65hfnuK4WQhoJHLsCWDc - P8F+YHuKsUQg0EeWj2cfkETRbtPlJtWHCq8N0/A2AfLBNvfScMnN/owuRYFzf0dD - GAcv/Q9iXgirZ+jq420GBmbiGzKfkJ5JcxlTzdEWtekzcqXO2xyt59+ZUEonsE2Z - 4CUbPS3hSSYUUppUpPTLrOC+pPWYmP1hCNowq8lWz6BT2dqHoITsAL6eJJZWfO7Q - eSP/C0z8zdiQ+mI9M1cDYylvf9aJWrpE2etn5N57ilj5EqFo8IZ7VN/n/oQlEGk7 - lVvwWKAC9oMvIiiFuf5ttmvjz4MlT8opuso0BMIkrR/BrDvlddoQfnLtARd5xqTo - QQbdpu60OR2HtPXuQZNOJgoDXcjiNYAAcUpmqQxkXptnND0xa5K5/F4mfhtnVDTp - ILlCWJiBgM/7WXXgwC/HJJ8Vm6/74vzjgZFi1J0HNoqo1lWHP/fBBSn9C9aPRhSY - iL0urry2FE3z20F6g6c3Af6yHFBP+HFT318/BR3gzMFA/njwpqcPQK47ZfqI8M0N - 1uzPX0cnFSDFH3SeO+H32SgcJWywVDQP+SQJ51TtKdQOsIuHo11T7hLReERf7jPS - XAHL0Rwc11UO1Y5KM8875710dysixqoOY9uifTU7b3abt2WbET6Ec6BVLsLbT8qd - yDK4NBENEYlf+PdTdJVqiN7Vlw4+dKBj+Ybo782JIzdjPexWBGfSnAxygu2W - =Koym + hQIMAxK/JaB2/SdtARAAqrw7SKABnxf8lZFuM1r5eyNSSQNVywpmyzpw7TTxOH38 + hWRLsEhgR35zAEpMfux2WJd+s4/SEhCLU86jkxnEKCegcyDfmRq+/cG0XuJ8u683 + LfghLA9/WIE8W2V79S43xTBSnYQTL2SpZNZU9f/dg9UjdzynXGOQJ8LMapryBlRQ + lmYGDbINg07NaGFyXkXfRzPKM5vpbiErwNeHRQoemZimnz1opL2ORXsBE/IuwONA + oFXnHK+Gjau8072sCWao3go1zfNsvpBWkR1+CeyI47mKqnGWr3eZyFhhMKB8KDqz + F8DJSNuZqnuVg3zUHDLes1cyRN7YX+Z4NheiM3gW789hGh7Ouw5G3MkUwyYrJTSD + xercDS7/LbnEsvVRc/t077EyZpEly3wXLUP9wlpb7FyEYy0GAymUqkrI46KVm8hr + ML8GyJz8NEr+D3FDK5wi4aWA3zX+LMR1+RMLDXi08J2p4ZrsCAPGhRIa0Qdt6hua + 1EfxZ6llPWV5nixgsUCTiWAPAfWK6T+WRSQdBiRdHOvaNEvE0n+4UAp4hTTAskUx + oF3mNpvNIlDq9aqkZVqyph825Ev2zeBfEtH31LhPjXagR5vUyj9/m++GatDpwdqa + mg13ruJDh4iTpzOLMM2a9pxLkW9v7184SsHdkdGe6y9iKtoP3f5CD0QT4Scm0wXS + XAGXwkvSQChvwnT9ZvugRCrgjHCHR4zv1iJBjzYN/T39mMlD96RqZX4Drr0t16zU + jTpokwcRBiv6yoh3indnuOblWVIFhil4HGpVEhOAhaea7A7ip9WgTTqIfqDo + =ucPq -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQgAmN5Rdxc8OXUb7bvAtr84qVFz3aMKhFiBW2fKSzZk6Yja - Sggs1wi53swWFWV7cp8UthHE6kelDhKIPqZLRL4RquOU+2/v0VmxhjAg8pMjPcQW - B6D5RoUxrPpI2SIZmd70lbi2pS8Tuh/cUZkEsE36NkaLXRPEyCke13ZjJBpoO/T2 - bpDnAdi2PVq/7aft6kXH6AvzxGiRgeVpunvR2iA9SQSYz+C/hA2KdO5N9z7P/pOP - RSOmfTE1CtwXoxv9B1JLxVvs54CwTAzQk6Vg9ByXjYlJNv2Wwm8SEwOjQ2T3Larc - PsQFwg1W0tXHF0BQAeI4AH8+ufDS3GywkK9yWcWOF9JcAcsZR/7bMHAu6XFcD0C2 - rgpcGIxJsRiX5N80uxm2T/lFWui4+v+E9JatKsnF9XBwBQhzYzkTD/RUzRgDgXdf - Fo/ImuOg4vjjGoZXZKZ96AQNv0+yXDyvXQnHKYU= - =TM/C + hQEMA1QflAioE8i3AQf/V05aQIykzE3UT7ERbKYZBi/x+W1rlr4nh5jR3BP7fo8z + JgFRnYuuEUEdEl+6GnCVmINK9C2r5BRSq0J9XXW48ZvUO9wb5dsTJOk+bhKaErFH + nEmmAjn/c1RtcV9twPYby+KZCTBSnATFnUL78Es3a3VRwLWyUyq7fpSdIq57Eohs + seifETNSxzKeMpf27/n83xIZKvJNtaMb/T8N2/jcp/bIPzJY75Om7pBQvPUicASS + 1PnW42OSWeBaY5rqFq88H94Q/+OaFnA3OEHiWPM5J1oLOkMInDRwpEZQjQsvqBM6 + 3carhdJiC0jWFg5p9KI6o7RQYvcNyWzOqp5x3l1dpdJcAX0Dqm1xwscAD+3KxB26 + 34N0GcmoRXYAajv8iG+YO1gGyw9Au1nhA6SIUemk1yypY8UaUc3qbsozBjxN+Aas + TG9U1dAQTaimUb8PMr1QqeMSHxUovJdTwwP15JY= + =pSy0 -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ/+KGs7W5+z/dxfag1t6qCiTzZ9DBo4j1dQOhobSfb6DjDS - Sdj5Z6gVFkWeJb/fdcyArW04Y+oK9SwVH9WV25zO3B90OqcI3Td6bWPYXO3k85gi - O8jjcTmmzhF1AT5COFbobTmGqJgfbi1wDRBIpQ4vJaHDs7QoUe/tSDlXeV6d/d8q - iYGx6IL2nqbipfYoefkPkAXT9ig3BFExNKA0JkP/B0Etdab/dILdhH0FzuJ9SDNO - khJQYl4KbZtkzo8lkJN4BGPfH/OMzqd9pLz8Ty/+cDPRrSBtZ8cwufJBhQq8qsYl - gVEJGqp36GSbPMXCBFPB0ShXoiDShsycvsPHkhCKj2u9HNt2sZp7+xlOd4ksS/aE - uzIWCZSm800kYeUJR2JI8OSEzJrynMQwAYn4MDggOWYeto/vAMLmOZ5hRH0AAcWF - NfosS+zne+LnsEncNw7L6gxMJ9Gj6jeyqWn6VxzHw8JbBW864xSWT3T8IkudB75j - ZJMYnWap7dtg9d21of82tvsgH6yjKgsHQUXOH/HnmbxQYhn3BKV/U5umvN408i/j - lhfvEUX+ZHriJhNK7g8IqPJgHiy9LsJDLNCudIHU1mqZ0qXZT14H126QfbuWNnW0 - kUzUrojSfo9t1zKlSNJRYU8pzILlDL+EpZ/Vy6ZelfPkj0InfWhj1CN/77V1DmXS - XAEPFya9Zui0ttn7mDWvA2ZJ4DI1v0ggn2pojAQ+a/co1L41lnj5t+Kb6pfYg6C2 - pWOF+lXua2t3oehf/dXCAVy7eUQIuUhPp3WCjeS66vJ8Vbol+LTFqA0mkCZD - =sGKy + hQIMAz5uSgHG2iMJAQ//YGh/oYvkQBcTYBUy/OwzyeiXAKj5XAfRlh+nGfmqQwqn + 0PgNFDaSUz8z0KGwSJGCf4OlpyNwtEw65HoNSTcJDWg2juWWsu6cjQ0oBcKfaGMf + YOFLA7qt34Xy7v8LDHEF30RnJsQQ6rOUTm0IhCqt0Z0+TAZe/GyEVM/KT7kgRBiR + mdIgmAj2EnwnE0EQG/lejY9nUJE0Z2OgpPBytxjqapW4O/nxRYYLTq688YDdCE+9 + 8ebhio2/YKOiz3fZgv2D3liQKMjkcm4jI1nrpMDQ7Rw7kBoWPEAd5y8aX5KTIofa + Y2lTbXPQjkplsX+nf6ZYUo3thcmVeYIjSZgtkmYJ+4EllWz2ps5gjUhPUtv4nl7C + oUHf0e2iI9lBmKGGunMrYHNviboq8O2PKa52bK1TrjUhLkcBuBhumhJEGsA7lueo + Q0IdSsdWnwAIgomfKvWQeGtCR9yDr4fjf6m5xMECvYQY4H848uCDUyNxEPDrbYbH + HlA1yx1hHgSljnFkKM8p2qLZKQxVijvaWmNfiAE/UDbHb+tNehxsO+kgYodJY2to + Nqv0H7/06wbrmQUYP3qS54De4GmpEPSzij6mWrHfCzrRa1gqWXDtxi/rhVXD2d+v + NWAV9reHpkJzvIaqnzpwfkfz+dYYvGi7sy1F9xbdMw6YR9/eMsSRvCQ38SBSJbPS + XAGHi1dw7cHWuaC1kfd8JmknZvh3/7LRa+m0eQbHpktiE2n+MLf6wVGLQWMnBSna + BFFSqUqvv270wsQOqQqhZXMwuJ+Csm2l5esoSw5WXhmh+cHrGBd+USC7iDZT + =mxyu -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DsZXvxFXTXoQSAQdAlTF5TNCmjSfF9K3BHwLSoKcISaPDYh8nqt65vdYs9G0w - JyRScTmDXt+48ivxscGISCQ4o5vMa152Q69qGKGLfUbR3+I5UBe1M/0Nr3Hz0aQr - 0lwBqDYcUPkLN5AW6kFPJ4GO9QiMN2JDOtLOzrqB9QBy4aW+m5LaDID3kmGwWa54 - LcrOprn/lBrOjs7gzurcb9jpwAffuQFniC8DJUskEAC95QU8wIHkPrs4cq4H5g== - =aZcb + hF4DsZXvxFXTXoQSAQdAvrldZ3K3uQCcFEZ44zZ+6FKQCHXQSlA1dMOCUZLowXsw + qYLm8kXYjr8BX7VMYqF7Qu/yAJB0aJ4vP8KSS78RWrHCzNGmgfcMnaBLWL/VOnz4 + 0lwBkRgfvkvFoJ52k28v599O2GAcl8slMQBTaEPem7ZRgzw82qlUCLpVrKqKe3jL + jPTzbm3dgUeb7oT0x/DAAzfxd0/k8UAL8vKugt/pbQZVVbBNTAwelrYePpDKxg== + =insp -----END PGP MESSAGE----- fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdADOrnwLpOXOpE/E66MGOIyadF/lv74Jo6PiqDgdw1NBsw - jx+r91bPPqRA+yxpsNncD1ZfhcaUFk2rFlLFG8MS2r/A5T/bAQ69nun8VhxzOl/j - 0lwB/sjaGpXFUGmEXGwriYbPf808VPA/v3pVZAjPtMXvbBi9ZHQBaUl0rEH+GSBI - wY12hhsTiqt6XpPcD9D1IuWv30ANx7z759+RdsG2OAlafiUyr4nytNkgf/TmLQ== - =Epuq + hF4DerEtaFuTeewSAQdA5ufjpB3E3S4naQALnuDAqGP2KSozQThKqUtTmKuVxggw + kbHSntuUP+t1n4BQ6Cck6zckYTmNPTVd0vVMnM3R7UTrSwZNgcgg8tPHw8uVrtfe + 0lwBTvoS7GoXETxpGuP/5kvekUKP59+RhytV6eL1TSg94zDpC8HI1Y9iByWN97GH + WmPquakCZ/J9YKiNIsL+UI9orZ0ACXUjN8bj2Xsg8IsOLYwD8Qep7690Bd5eEA== + =TCKx -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/+NGUAMIOHZdoFDb76qmpu4BPWGRHP0jnz4WFIrrpcuBWC - KTc6rOIWWZBAVER7OU+uw75BGYQWvUcMX20kEaP7iUCb/2tjpMen+U0HCoXdjp5p - gf5J2PzeFmXgikSZd1wTezzEecvc0EC5SSDWRdqIuS2/TKLLU1TgN1TKMHypp3li - F/8z30KCNUBWME1alqHTwPl935FMjUcvK/WdxnhkS+/amWNLTMbwJGbVp/vq04BC - 9wgoKGMFWMnCs4e+F5GWDjpRB6wPXm1+XxtwPFPKDYDAHAZEnT6EdhcCW4TZIPie - 0bTt7+kS3VPufI64CMTWbafpAtJHTLLJAAZ4AgORSJWazFxzVDIeITm8Q9Ji8kCZ - ofQJizOSA+v/9rbe9OgJWQwe6zFj+MK1sJW+k6VXhzely2BiZGb5PbkB78qsnXH+ - 7rbcvCc2kWMASvG/51DodySdKq2SbcomMM8iH846omULbgva18HCo+XLAXQd10HG - S5PBIXm8UxM7aRZwCJWbG25980jC04zLibFdzSYRHK4HyHUkLh6qWBnlOmPKWX7k - /YL20ufPekD3u554zGYscB3ZXZAyOMvuDuJ4pH92C06pKndzkX7+DeTEb0ejzvK4 - H+B7hVYuLPyEzNu27fSiY7YXt7JEFEd5nSY4L3AQVWdBGie9Hj509a/pmLO/+WfS - XAETvZ0xbPfgx1uTDhVnAHdLHOWIQrdqNNmXqtP/rMfGviVMroO+MTIavZNCXb0f - 03+lgh2k0ynOAFhasa0uCjzG81ybrHF5KZJ7w3kKn1ICmY/pUQqjwBX+jLzO - =Ri5I + hQIMAxjNhCKPP69fARAAmyDzECCs3LV8CAJ42ZRw56QIZuqESkHOmoA2Bc+pJmgX + MrIOi2bJ5aBTZsjRYTJ+4wkaF1QzaDLHjOgZGiDnEm4FGyBwZaL7hgKYKqdq6+Yy + RmPM/EmYSNlK+RWU/gXlg2LYrAR4l3YRE0/QTJvYN/RMDvNojOUcWhMnwmP+AGGy + ma3imP9QvAIO4Nad6uI35gy9QE/WcF+ih2zoThiJqDWpxs6floH+GCFCNZc9gNk3 + RnQB/ylV7c//1TFx/2zPa9PoxQJWLvntT6vlg/djyyT8YNqMUgSD3+pj370vuuYP + oyisQC8MjtVN7mBNqrA1tR8O9RpiPqxlDqHxfJdw1TueLttup1cPOYGNUZi24ktl + D9uBr6H6NCK5Y4wC642gr/JLDp5hGb45FCRg9bwPeaKFhUgsEQSjqMOmOMbrUaqt + Ex8UEhDZmo3WpRm7j9K2BFpyuZjVzotTq0CWW9uQxwxBpjEqgXJqBn+TOFSk/Oym + t2CQglcC6WFn/CAlQ5s7x+9inbxquoN7neBVOs/VIB7K2Uu7ZIkIH2TlzS70TSOa + oz0pKz3GP10CRUQtKhmIKbhf7WFsK4up2999eTsDshOCiaWAtSqBJDnwEktyyEgu + Az/XvBfa0D/1mAERNH0o3M77dKqDHpu8rBQM7iIkQPCSOJixmjrFgqruDvIJC87S + XAGKN+aDf4jFgfiMwkmacF4bfaw5D7JrDIg3xw5oxr0juevmWAwzkh8UO15ruxlA + tvMnUkZeHU+S2DwXDL/GoHrYDQ7B64ZSwDB8sTck13zqDMBtd3jQL2Yll1wz + =wEvC -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//YcGA+PKm5vXYdEwFfwf8Dvs9e8qRX9WbR3PrH7/rgfLC - y59Vnx+lJ61D9OcpQhxpOe8TF9YX7rujRxuZ22FDPHm8O/DGCI+3suOHBkdwAsJv - BjSrZZzX66xFGv2FyVlu9ZgdLpVijwA2vUpTKwn2EySbX1ArNZwm1Y/lk3lC46QJ - 8nVi5l7Gkb5j9p6nQakt4p2gK3aGd8ZkjPD6L4/CpCM4HmzhkO4sRV/6ykf3Vmle - 7YsdzC6y9LM/uEHx6CPOsMuufPadulPukP58tp+wxQ73V4B5SV61NgDPXmvq1LC+ - R7e2iUtu8DpYMAebW4neFRTmwLEyWxqhlshMyIFjSgG7Sb4xi/YhxewyaLNd5Cot - /9n6kT2Ekior820ITKQNXS5JLM5VEFEVEtAoGr2oWTv0IdhlonfgR6ZasC0wYGzr - Wqg/2eIXdbFSdr5YdSZ0VvMyvC/wIY/P4UEBAyHuTKxEH9MstC92RuS3HakXubvR - 0a1XBWd9tKN3tyvKBpvvbnMbq9g7gy3PeE6i7BYZ6soHnQ4EyUNLCuYhObyLem8A - LOPaDE2skcAi013i9jXhmMStkhgXOf0ZejeXeTwBfC1zrC2fgj0nV27X3Yd1cROp - 2LAzyJunhepKB9ZE5Mm6Mb5oztiVgJ2IpGlb3Xvw4Jl3rozjdNTPuw3OLL/ctlbS - XAHg77IMVsPb+qKLCrf5hjxOJb5GeGX6z76s+/h9gkoZ7jWPqWTMIf+rtQLtgscU - 71NKZSp7zBCsq3S6dNnoZGqIhQEBUyNnY6Twd1etoj2JJf4KmwpyTT3J96W0 - =rWrI - -----END PGP MESSAGE----- - fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-04-18T22:36:22Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQIMA46L6MuPqfJqAQ//U3EJSgMdTcdxVaMcm5o1vEp6p4zCddpt4X2aJtamN/wS - 5BY98W8jzteXY2objm46e3Eq8EjQPT+ILemS4HRIrMlRBkb6+A63soHxJ7TywW62 - +2l80sC2Gyb57OrdrsECzGkqydNM9CuYcnCUnWaRWLH79FfOFakidAmcB3kjlXJo - QC3NzaSG4fJXNL6WWxMLroeOK4R8oAb39hYbpKeDEhhWVci6h6dUuOeyGIvlwjtF - a8esUdw2ezl5uqhMiwDidVKVnfPTAWw6g4m4qN8ip7ru6sNGmx55M9uxj6KtZcVr - Zpc9U2TI11S7zw+Sh0P6HDDXFIxehCqPHzZBds+Sq/oW7n6oMeg5xMMFIUKPDcaE - fwXkQ+J+nc2w1ZZMaHen5LPwreh1/xZB4ECjkAOGBu2F/AnnmZ1DX0+YTbXDZNaw - 9Grozot/O+DTnwt31Mr3d2pcUvjJ8Xylwoy4sf5Jh9uuzJW6HidX+nCXv7TLHrAx - Qj5zlIjblrMn33HwaoHPxWidCbUAumlACbQjoJvbOr+1rfgarjqPws/a6gsn3EYv - aEGCDwRXejUKhqUQNR7XbJ/CBdqneVzQC9eigXA9PcFKW5EhiUQIEcihcSaXLT7L - g7e5VEii3XXDnS+PMZRptpZlEH4eFz8XUYamrZ9oESrcoE0gOoIE6UGGr8ZdHgTS - XAGjOW5xcx2OfRyEO/a7APIGoTEgoFPo1s8cA3v6FEerkZ6hbCUC+YR2ae7s/mhE - uSAOoFryTXFBOno7bLfrQfR0VLfGLT4kCeH27j3dxupSFzCQuJ/ZByLBxdZf - =Z8BG + hQIMA46L6MuPqfJqAQ/+IYE+xMZL8otd0PVZYNbqy7pP6D4ls0bfxdwq+a4vcLZ3 + hb4lw1Us8/UGYppdbsuvfF7V3xy3PFhSFfx4uljsw8dfn04vSPoSQuEzmlcwLXX2 + dJkfBon46KH8S6Y4SMN1MRVqshc/1RuKIt3QJRVR9yoG7a0vvAdKix2CHPufncNH + 4rTx93cOFXhNdrwH0k7p61CSua2fol8rSxUInCf8oRVfLhU/wCD7OtKj6rzTl+Qg + Rz9WGs89Sw6NyAC1jrPupCE1FjdxZLFgBytKdWyR3F5vJcp53wIans6Q52fVwUrY + 7WSTQWC2MagOa92khNrPXC+duNP1y76lPz8d/zogdcKURRbhktZvhea0D1+jExzh + 7Hpf91p4Hyg7mqclZYZcRxsMX5Of4Wl5NOHKbv2EOr+PB+VFodSuQw1HN/gbnz7h + nowW+1MXy4cXdZii+bfgjrCXCGh+uwp7n8JhEA+4k72b9uOdMResRRqCklM6WAyo + eRBK6b0OhgfUBRF6NiTIFx7IoyyOJ2J5+Py7mK8CaPTKmSuBpTLF14GcW/1pfxfm + iob3sWUXeQ/zE3qrxCNVSLuBm+Sck+bA6sDfJ36EU+OsUF1/ouYI/0U7vmZMV33G + nsuPQUnmucVjMWKFAr/elhKDex1UtBsUeGCd1tN3jzkQwW8S22gBSOSeSN22wLTS + XAGvlaOTrIwhVnigDJEH6O8LnRbOZqWmfHio03velvjpzuooJaJxrlZVzMR0ol1B + siWODOcF3Vw9+iEKFxT39IO1nLmXLh+pfaeriq2kTDNDaKJCLEHLnKEwL8pc + =ig1J -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAXqK6wGYbSyHmDU15txoG4/Hg1eu1IItUfFGsrxgCCkMw - d2elDs3we1J2HcFPFpI8Mm4ukJOcjcDGHXx/5pStVnXqOlelI7bYsTTkWfUN+3Q6 - 0lwBrfhZjXVrgFQi61rVzAgaci+sEhbzw2nGOddV1emFLr9F3p8SK1MeoO4WbJ+q - NssA8h4hnL5UUZAl0u/5c64nCuBQ+evsjvsJNiDdgGBEtQv+VlOI6ZaIuAqguA== - =aZ6M + hF4DQrf1tCqiJxoSAQdAehG9q8CecwLyOUR8RizKQKjlTfec7p11X768ZfKVymUw + r6C2seiX8HkQaeotUtIUmthRGM5h/lkHhxYHGRoB95+bR7uELBn8MfGmkpWkIMuC + 0lwBqNg+Ir/l9E7+cZWQRoVNYP0lPRYmFk5TgNUE/8kLpXD/bN3OXH/TZVDUWCiV + EgCXfKfG1qHDXO/3SYmuImvHvBf2miEZtfGai2UKsAFN5EMv0ZrxfMVweSvUbg== + =FG4z -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdACxQrwi/yHUbO4ZFlFNMLtRR1d5JY2zCtl/1X9uNk9REw - TX3ddTn1Tz5MfhIg1W/6rsRxuP1hNERWzHl/tYfV7oo+XJn9YDMmZM7lFNWOBuVl - 0lYB+Gh1napJQL8JP2XBO7DX0soEqtP0yQAHoKB9O8rk9VtODJ9SuydzXgdJH0bn - 3FjJkP3bygnqjwjzLR9HHGnpmP4Le0s6xSVr4RbK2A9+NMsJOcJRKQ== - =cEas + hF4DzAGzViGx4qcSAQdAVq+GypWxMRavgTZ/Dvm3bQ+FBDbe8KkKwet9cHHVWiYw + 5tXNGTOq+mm+KTT0MTZIU3Bj2+/dIQw3xzyOdmvFFc0XxTFHxIpoHdYIRpdOMBrC + 0lYBGlH3283PcLHyePbvfPNXPxpgX6lgjcqNoyOND5X+DKlL9fAkNRCd5UyFGTJw + ayqBOg7Xg6YObO/+0B29pv4pXoKoI/1s446KCs9lwPVhQk4sboxbhw== + =FJje -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAAh7W4VXGDkBfyZYgE9NWj752na2B2xPllcHbvB43XwCj9 - arxliqLkD/FPZSJK4LDW0BSUbikKMpxjR3TUpzz+PTXAnCExHOecPfOkQHe6eH16 - toeSGnmKW6gchlWqxsW4s7fKx0hTYe44NHBpGv3wUbCys+I5H3b/gy9Ho0A3/GjX - SD/NDs69Gt9Y3Upb3xkc7Pqu+g9B+3vU06ldGgpfFb1145btJDMkpr15PwOBHXUR - Ca79niFfkIVDQ14E0HrbFgQkIR5QeP9QK/TtEc+ToYrZFDa9VAR8YHWZb1sqw7vw - 8apOVnxAjUmcjOeKJIjPVCxDgKmCrXqQH1gawVCS556dBsCCZj+rc6ecWXFKxmtT - FfEFM+/fV5lVLoZdRDcgay9oR/3M4VRRJF7F6FYY+vG+Nh3m2/avkihv70V+bT6o - 9BQKlmRfd9c7WC29qmuFrqaGnryTJmOlU9R2tR37k7ZItAOF30drUHw1SE9vTgFx - L71E4raKujvY5X8ZuSXZ49fa/9JsMAZiGtTRueCvr4ybnZRkAJrtVl3JNs8I4dOE - evIxPW1Ap6oejqh+NQy+ZVgRd74IQQXiY2Vd/Q1516iLnv8pmZs9PQBDbfHrzDr4 - x+mXs62fMOFSnMzTNLYgmx0g4bW0F21dcKcEMMYUPXPd+AMpvB0VQ9qua1CmqNXS - XAHQyy4hX+8Q/iuVXP4CZYt3ITWa4DWzMcGfiFvEYeX1BKmB9u6tfMzgPcysif6x - a+K4kqHptAMYqvZK7F9PvBr4MvUId2v0gJGpZb8ikrLO3EbhV86a/lySoYEv - =TnoJ + hQIMA2pVdGTIrZI+ARAA5jlZO9JZVQwrGj8cG+/GPq8IEj+7bDaacR2Zu7bBuDMD + d3H0KBwDDeGhdR8LwghFvHAwPdwbY7zP8VAFrCh3wG6zkrc/cPpCe320RPGK5l7K + syXFGZv0JaN3WsoPGAroCnl0KaF+tjMjYfUpfI55OpjP4yicpLxxeLv13c34rk4d + nl4/Q8Zxfz+QbniSsZoaeVULdQxw8uPX84SNrqtvXyFGVOVjUm8jayZIfVVQlSEB + /vI2kKc+qvQ8WYjCqbrDa+iwO6PrsgXwd7p7f05gBZTfkqcnA0TDUOt5awUudaso + LW4nWSha5ILYa1vM/i53BjrS7H7BHgFlwMvQIegMggoyFi+APevBTI2y1+jVRVcY + WSS8lASZuoeuWDhE++ZGVDfwm+y+vUKBggm4XexE832vn/CACgQoVMK2kfXVrKfg + WfkNLrzbniIIaxLXpovWysSnDRk4PghWa7jZ0wP3byrN5ArE1k09NF7BguITyUe1 + GT/B07cRM4KhhKVRGk80t06EQMOwV6t5YiDNd3I5rmql2RWtB3+BLs4Yw3cMUASs + A6UIuUSojhs8h37z2+sal3R1CnSZbfevOHyWgnAD0VkX15YUM5TmyT4y3lM7nch5 + QA6nBGIINLMK0QdGZegt3uJ3o0irgUJJZ8Y22Zyngo0hT4SDgSU0CWzaiqI4IOvS + XAHDg9uW9hUCan10d8en+fqP/f5iLGLQhGlp06tMh/scDJnc+mdJ8cyRQPKvIw9A + bEA3cvT2dENVrqOK/ilIwrcmzGiCT8afRn7f+oO9/i74QgI8GU+hhfTk8ZMB + =mpad -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAGhmCLaTcCWWFhFBoltvOdySsWNKvdQ4NzCvbld9vZHkw - f9cAi+ytf6adjbAhVSrtLsUVJ3mz0reFXT7PTE2PT4yEbwNLMl5WmewTRW5oeEfI - 0lwBy125lrxmSo3QlX0j9Lo8P2KsQhfc8cYORNqil4CnmS1q5DmPHUUgJwGWUdgA - i5OUiHFZqkxg4h3fcOtRLWmgpXD4TVZ5DoZjpujtvl8yXpFQZA6DrUHxtufpOA== - =Lup6 + hF4DKKbvh61jX5USAQdAX4yCo1QcaIDUcqSOl/DKWh+6JAjoPZ+EnwI8JgCRdVMw + QiGpSrnGAI0PBBssu4xzBDVPhAiLhguhc4c9P52L4ySQUzk6SI02ebOKaOkMeDTD + 0lwB00OahDLKXoWzIXdSwaJ31J3pSvE910Vg1vIFAr1HXZHKr1fVOlzgRiItUIpR + 6BRlgtu6AEfZfCjvjN1MtUm4to46Yjow+ZQQt62svD2lDr6vHp+q371gCcZY0Q== + =z8lC -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/ntfy.sops.yaml b/inventories/chaosknoten/host_vars/ntfy.sops.yaml index 7bdde15190..397fc02147 100644 --- a/inventories/chaosknoten/host_vars/ntfy.sops.yaml +++ b/inventories/chaosknoten/host_vars/ntfy.sops.yaml @@ -10,203 +10,183 @@ sops: - recipient: age1dkecypmfuj0tcm2cz8vnvq5drpu2ddhgnfkzxvscs7m4e79gpseqyhr9pg enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGZ25NeDBJN080QndZb0hM - WTZ2NWxPczRYRzFPcjB2cG9qdy9qQTdrVWxFCnhucTdYdENlMFQ1RGRKbG0zOFQv - anlhM2tzRGk5cEUyZUpkZDZ4bitQaEkKLS0tIFhvZTBwQmlRN3E3MUdDVkR4TVNv - Y3REREtaaVorQzJybGtxakRpRUQ2TGcKLNfvkrmQFQaj9YO0HTa8N+58fjkJgkC7 - 1f7FJYs8bda/nIewSfUeZlpla8iRUaJMJ5cjqKfOoM2uE7PtewmMnA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaWmtoRVQ1YkV5QlpaT0wr + ZUd4SVZEcDZ4MXVoM2UzWmI1Y1FqaCtoMFFJCk1jUTFJVmNkYi9Jc0hwSlU5RU5i + c1M5US83OU9GdDZQUVVjTDZkcEdRS00KLS0tIGNSeTJIVWlHd2ZxbjhJa0FocEI1 + cWZLVk1XN0swUFZtRHpIT1M0a1M1bU0KUta+t13e0b9LXbp0FhYVw3UYiaaNEUIU + TvCf8iPScFiJKwHeUULl3GwhuDCJqQpGNHl/Ad8TZ3ZhWGg7eWJ0IQ== -----END AGE ENCRYPTED FILE----- 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: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/8Desrk7uheYFrVxc8exyEnRuIIZlF3uEAKCbualG5vHew - yu5kfHhIuVi89BiQ5n498mCPp2CGOrysNuQTTQISDTlsV1fhc6LK6g8meuGpNwfo - VGZZjq2iwpB0f9I9Lk5d39eRgH6Ug7/J7RazzhG0QsXUSWi+Pm5phWSyHgQGUc71 - ktnBcy3vT1HMstyD+K/hcH51ko8AmchsyCNWMarbOA4eh6/1866UhUsJLau/QyNi - p6qmQo50LYT+NJXPFZ2FMRaxPeIW5RMxmsZziZM5MlKWVObk2YcqxAwkY7NojJeN - YjtFoEl9ps4OLJ6CEpbd00ePJbgw2Qu2NZzfvPWFq/EubWL3zGdEpR5BGZ1Me7YY - 5LqHxV2G/zCvgquwx9hVhU0JsmT+FRPRQ4XTUnk32v+nRq5vKFfTYOObUpMUG168 - ZpK3SGgkhRZf6aCCvDeMmlpWhngMGwpAGsrLp4wAh3G1q4BAgEWcKTfKDY2gm/cr - bGclvkjAsfah9Z6LvSoE9NW4atrb9Xu81zcAtAsxK4Acg5BWA+PPmDcySe70nEqt - usU2w2eNvs8jLDULQNIIZh/usuPSwqX4NKGZoGOGB++NBAC4pZgxfgLKN2ZRTay9 - NftKBjjs2Ybts/lbIJr8eks4pHNuQnCCgUIddW2DDdW1ZkuQqH+4BdcwBOTll5PS - XgE7+2GwazJTnrRXRz8SrSQY9zx/i+H3foNkgGDXnXrPVNTH59ttlVi4fU4duMpU - A/HZuWwh64oai086TvgG0IEEl/Stirqq3fiYuu9YLtxcQIeWnnwDn+8D0adLjDc= - =NcQZ + hQIMAxK/JaB2/SdtARAAiW9Sfg8HBQa3pWGZXwZzC6vWsCKcOiVWVwXlwe5WLNxd + AB4MaBnU3pj20JWVYzOUbanwxk2kFyrph6+3q+x9Gca8KTp7GXIMIlaWwNqkKtdq + n2n3h8iIzCeRBpNz701kSPtkYw4Y0ccVx3F7N/50y9RFkYhI8dPcp001uvwqC5TK + SlSQf0vEzFEju870ZNw9hc9Uc8Juonjs2bUS7qwBOpH96mmsDdoyaaOz63+xRLVM + 0tUe3/n+dK7VIL99QsbiK39FeZBO3j6vUPc7s3f0zDZIujegLJj3bJ+/dDWkuyrk + 2abNmItQQUjhdUZ5L9WmvCyfc7+P+jG//ITlYhssq8CTZfLi8jOpY7Bdw5bqCTXG + 0Th6a78Hu7eXsQ/z6GD2EvrEZ23Uw4b0bHWsYum+ahVHVJ/fJGxwlFmPCaZ6M3Fd + nySSdd7wHYY3ATSWwSomiLT9qu/+xBI2LsJln0nidCkEPsJWhXmY2ioBTgAzCVZy + cczz7PKtDsQp+4loAnyxVdJY/byLEygAjo+zdoi4fELM1N3dJKi2c+1dpv/6CPm0 + 8/g7xGPd/53QduBnFDNEEsxlhRoXrW9vufZYyPo+lhPsCLF2AogRtn895qQa1rBh + ILosW+pHitmpVRSP3njbj1AhNIPIOB0Ej9wptW7dGuZpNL+dbdKOg2p6NvCwV8PS + XgEMTFuLzcQQzW+r3Ukg7eKLilPf23/33HpTQQkvjefuB3/XYeM/oF6qRHSt1QWx + d3/u0Ke4XGGsuf4wse64zAfsAfNXG9oswaY3f/eWuz6yjfJQsz9Xtgh5rAWbN+8= + =LXFl -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQgAlFR3ocelNnI++NaAl90rzQ/NWryLdPy6XqH64rbKkv3n - m4Mp3JtqE95TFQzx4erU0fNyzgkU30KNbQV5N5lwhh/zHxf7szTEYDCRD9OsBvJ7 - u72H3OGVwWzFs2P9Qqs0/NE/hkaUS0FIEad/9xjN98HEe7YQjHdOdxaJAGPpJYWF - 2SWBLHZAFHsWXCXx5M+gd3TmuhbKaysb1FDr6eh3ht3adVUaILK3Gu3+4FK0Yf4c - Q025YmnC03btd6S1ZaWbHBaYq9xlxnQUT33cb1+i/LMQuz/tFMG71oCszlom5Gfh - pKrbOg60/GivhB37TKYOX40Ndnl6Y1BUHR+d3NEdn9JeARx5BHTYqUan2DFrHXlp - BsZjyujLnO7SK+wLIuvqpFXHyC5/6ER+OQtvsSNZ3NPcXxitSwu9IwHsNtmrBiOU - Q6XmKADytBw49DWwu+Y7CCL+ZxLjh8iOWW+mXvCxDg== - =l5fj + hQEMA1QflAioE8i3AQf+IRY1KNEJp8nozFNyWgB/qympksEBj05u00u+aOSsEVZq + 3aAX4le9RNuZefz9OIfn8BVwSXWREP/CCL8h4Egr8lvEYvbcw+PjKjgYaXd2I7sO + U64LTIwvH2pJ/FABv6Yc5N6RqpSb6YdOd14LlQ+KrGUDSqiVL7zzaO8HJ2cARokG + fEyGMlZZ/b8JUHrg+FdmjoPCPK3+vFNvkGJNw0pkiac2SfFSeh8HsVYJmLv7lKfy + H3mPmaf+ng5PYwbsU/Bta0zqIZzAD/dWKQ50DEq4NxS/ag1HQeUBIqZejotmf/DI + ZJxgaBIxtgAtByhVu6CzuiplO1Mf7xX4Ic0UO69J5tJeASWw9aA/v/UfJe+CuatF + 7Qg1yJ8LZNr2xIxNbQ2TsuBBhwA4RuIc6p89jfLwo7+uvBDcT4tdtC0Ul+jarEvm + MKXDoubzsTYMZ77PN1P/RUJ4wwSj/JUvWxrY1MxdSw== + =emgI -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAAr1h4N+YdTdw7cL6FAOL/lyFbgNRk0s98rnmtiFWss5pb - OoB+V6w4LWjDb8AHpB6NV2gWuxDbs7TE30i7BkGKHtJQ2knT0y4J87pIFuq9+Bwn - o1oN4HCloHe5cbWtrmF/T2cYFaprUOkWxHNZ8pN64UJVBi0jAUQKd+MVZvwfm2iJ - 8865sEOCD9ztqDysKV3cIBhJnMCIM+o9iJ8Zf6nENS5hDK217VlMZtpS51UvE3KR - oqIngG4TqsCFPpCmgK6EwjS04bEIBNiowLXc0TAOysjQ/KKHrFXmK41HRdvm04Cr - jTJ1F+fVIX78MfIkW4v5EN5xujCz85A6B6LIclV4a9wJTI1gBim25qHzO2QnXV74 - ufSU95DWQfg+dtrokaTJ71EihLA6OYgwGEGvKoY83X+FE3NWoeVd8v6Sm+Nh42wg - fJBVhHDDtjZLcCdDhJOO6c5YzvUP6CQvIIDWeoOa8e8J0Jx82SuOobddLiAuDsDV - sncytIWizFAorwTDuhdov7r/X61aj3KKWTixHF7NNVSoqc7f51F3leux6wLwA/28 - +1EX2ZB1dO6XDNcT9Rpsb1YvT6jsWr1MnrCP8pRZYIy7QF5IeBDcdo/E0PBtGW2g - 7CzIXbbEamUJbR+X42N06xgD4Lfy/3uRPSHaMqrxCrKr3E4w0lRR/u2ylscwHfTS - XgEMeZmiozYXojzhsMr7XkktskfZNgB4NF08xvGPmcjGO+puFHX8/OKKvzBcY/1c - 0HanmYQVLeh5qeOdi0m1mB82JrmyzH/OY5N4QRZIQbEZVT3jd7the88P/xpCHbw= - =n9Lh + hQIMAz5uSgHG2iMJAQ//Xo8xiCnzqzskLqNRnMwgoO6hJNftkPOGm5AjNOYbRFvt + FLbISRYJoDUCy9qOQBh4LPi1S4OKHKXsRdKeFhVz2PurDKIFSGpa3KIyY61H5krn + WvyN91PFflhrXeC5B5Ctzn80hxqwrHio9tFVvTWO4ikBN915CvYAt8qb7xXQ561T + sCtAigcSCXSSbvn6d+eukTygXP2+RFGuphwQSVFu/eDrwZlFLPCN9NIDG9FROU7J + 1ckY587pDmopPZQDJULICadgmE4Us+n+H7zvBgmb+MSF+sN6L1hJSICA2FJAxQoV + h5WZaomGR77Qx6+6+79EaOQDLAKGrkqdzJwySwkGVnwamPhN9APWCcjUGIVALSLd + Hkd+YEefQbW3oTpr2lGE4KPreMJqhyPqPoV1FCYELD4R8JInNmIo0QwWpKHFcyWS + V2UiF2OWS8ZYPIgLA4pfCLGXJoQ0E6egys2Dv1UTN5V+MSYtNYPy0TtRCdJ3SZCg + E4jPkkZPsAVpQlOgq/uKMVKj/Lwo8l9J0r7/7X2LgECFhP0h2e11NgWWBQmiT/2P + /B28RxcOsIaa5ahEwRf76jXBIuPyJBK6RFdybuuivEMvVh8iStAx4g+FTl426ze0 + 54MGR54HDT64o+7zPsuLIN+rb4jo+l0N7hfHKCaaOCTzbSxXnevGDDpbtTowHtjS + XgGywSOp2rBxx7h8zyT/UTmzRhlJI2YU94RmQ+fyWZ0XLAWCsagp5+zNwrLxpXOZ + j6X5etKd2R3ViM7o/Rmd1wnZKTZSpUivktnVrE9pP6n5GnFrDIv+2jEmGSw7vvk= + =Ep3q -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DsZXvxFXTXoQSAQdAN+KVkLk9aBOPb8ED9V0TgYYqoDCKhbtDxRXeJB3hjxYw - i122RCVU6Ur8fpyrdBlrnoks/VKkwfqcfl0C/NK4SjZ7p1Z0Aj8f3JnxyHaFfinm - 0l4BGoV/ZTgTivxwBwlqZj+CZng0ErGAp7oD97wuzCYyZoKaTJvIGXeDfInVXY2w - VNPLSmKcbVCerMawgAh9sdAmVZ6FDRBLm0yB546a1ck+AoxjN4p4VRQuVKCkZvqB - =EDTu + hF4DsZXvxFXTXoQSAQdAYrecPRd8/ItYk3uYw0gUtfVn6SwO0IRx0r9R/9pIe1Aw + aZsrv+IeqvFYvOS3nib60dvVvqLpdwJA94pXThSvt8VtnoQ4HTxNn04dB6PhClHA + 0l4BBfgISi4jlJV2X4w8brAb0qmdn31ywvPVN+HIwYZ+/6T4oMNcsLqdQA6x6HCK + gWZZdHxNemkZJO70wuOlxFZsJwPggACoAbT7cNeZOC0J5ZQQYq1IQsuZP7MeY9Ik + =ae4M -----END PGP MESSAGE----- fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdACIKP32fed6OC/p+I+g/5pv5Yj0DrUoL6IjuG/ivOeXcw - W12fIavzHJTPjND+ClIjHGRAu6TNLvRWTbRah8XiJDBF6ObZPnMXu4XvC8J0rsaz - 0l4B/N8YnItS5PbpBfppJNKLXYJsvEet3OF3ff8puy3y0IQGO87HgmYE2w9PF59C - UdCNvGQslAhFe5wEhxH1xq4F5VIQkFHsKM68FyVSpwBbOm9dFLeo9WbGV+lytdNg - =+yTe + hF4DerEtaFuTeewSAQdAL2Rll4ursw/j7T2mK2A9Ax2Q0B1H2LWkcN9ZTxHlOUsw + ZLKSSw8vyr7MhwHKNzVmBxcGYP2niBruqQE8YdUqg2vFfAOcGcyoMCv+ujrPLIZ7 + 0l4ByoJHAjx/ncedaMX9FP57YcDgWYkHg5teqYzEEFlPdW4ciFkEvpU0YdqbW9xC + ewMS619yth3ObdcIK7auSuecTv2flFc1niT9I6VcRbB0D4KI3CviDDfk8yXtKCVU + =8viS -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//djNKoJcBJBioSh3h525htxR+hGSpCkBX+AXQZHVWuaFq - +6Ow87gSnisXqOB9j6RYmLN86FNTysf7EFtZtiuDpqSaboT5i/cf7+EVIl9TvKEk - haRI8Mbi9vtXrc8rhhfRUJhGa/XfkjXr6/dDTc6F9PoXjaU/nTYFbSg+LTT8LLJD - jLvjLB0wmsix7ZhQZAU+uwNPCh76CeYaEyOsk71JDTCmdAsHN7eZAaYATU2CITFI - cihnvisazKqjGxTl2LtTPKFsv+iF2i7TlI2dyyueUohpTdHSYZwU8VVLVJZyWOhv - hqvJ+DqHFNAS7ub5hiI+yguj24zYleCfPTLh1SBOW521tvEH1UdK3irwh4yoJwzY - fjUt7nvoKPdU+5RaFiYUlRs7Z3bEazYwrE8Bje6l3uGXjJEYrf7oNZU2z0ku8Wxg - wfg4RpC8dzj35VL6z7OpXk4uplSb4fKhVuAkurITkRO9Yw2NMUk+Nwi9d9T4tAhT - vQIrb5ufiIp4gFoZR5ef7FSEvNotdDC9qZJJhtjbkF4k/nErkYdoscDcdmb8Ssoy - Z3s9d7hcElP1Hsou1IRDceSc+uW+AZqGREGnCgm0GDsa1kV6j6OOl/DaeDmwyj9w - 7Bb6nADhbHBgbcSHdpIhJTgLFrOP8amW44Ewg6EQ3LQUJTOoS73xbEqBK4DflajS - XgHxbqJb1tgQOoPL89x1t+tx5Y+lXs9L93a9jVljSpJHoZ7Yc8pL7Yt3IU5uVo/T - wg1WAduwd1pMzutHarAKxYGNzetx9M4X1xykE3X5h4grY9tBGG48GlTUdGkVWHU= - =wF42 + hQIMAxjNhCKPP69fAQ//WdZ8YBizI09erbioq9obU/W47LBbdPlOYeCOePjdJmso + F7jpdrThh+2AjeAxyDuWfD1rHPJFCIy+9t90jwdszPKeJRz9SjP7WcV4vpT2PDBu + l1UWoGBmWvHsyzepVHZkh4sM2Yo1SJwbK8xtLKMQWTq10tY9yliY/szOnMEz3m5d + 6PMJNuCeYk09H/zRjLpnuCegyFCUvLQzLwplelrDcSCQmb38S+a5O/KngGp1697r + yekYJn0311cW70dx+vM09wkYcVW9bUq8tNoyx4k7iP8/Ei383DLu3rXOTMHCYoju + UcbwBKyOHPvsemlDbpphxm88zZsXdk8msXki1KPBtnAnvBF9SyfGMo5WbIJNcj7i + 0fq74YsbDI++9EnU+WlVuAO1eHcJoZn+WZzLlgeFNW+d8hP5nMvbMtEnC+XekHYO + LdyXEYh0sKN1EGerDqreI0wJvYM1edqWXRasjMP7k/uKCgVQgBJBLxAB9/M7qgGo + bh9NZRxnU9u5Hl5OJI75w3SlM1h8K8wD42uOVyzEOKNJH4q2S6+uP4iKdpckvC25 + hipAqdsQE4+3meysm9PV7ulPzRJisdyxPMg5eeL6LxBmdyWbeo+XTn7GiAp3sh/P + B04j5rrqyxqlHlnCROhdMVjRqO6z8C0NdVNUturVbYWzOatTbCAB+fM8XtMZjQbS + XgHSqM2+aieW2pU6p4DbNnjaRRUYjSdgMaRguDmAUmr0QyYG713RsQaBZx3SCTjC + jCFnZPbCY7jLyP+amBqUY4DzZqu5yrhSNgg87Nm8x70fko3nyxwbRrUl3PPWmaE= + =K2sB -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoARAAqSY6gjxjm2VEfQL0gymnmh4kXrf6nOK6MvwcQAnwibgP - WQpJXHKiEkDZF2JFr6hXA0ThLGnAxotcTHANm0aZLeZ4SYbcCMeeB9+iT4I0XRbl - YP5jhcBk7vGDOcUXxO0f2HnYaxGvUkRdUE0b2Bt0pQdUQ3RgVewczZzgIRs6YOGo - s5pRAp2MDYqKA96L5dYuda7xtkVCHL9pST/UGCR6n2h1tG6Y+becN2v5hlp7he1E - sjKIelJr1HoxCeNvjOGdvxGr1nEqRgCiquQ5tldyhu2Rxk+kTf1PRx8L2EBuTFD/ - Nw3UWjXux3ib7oDbKueMYNzo4Qnx9jcw05NfuUnM68L32RyGVkbVxBxE11QXed01 - LIWIi8dKz9rqC3HxV4QZ3YHuJDL44CNPRxVNAb0cRI1+ZmUt0dDUNfW3rkvv+sA1 - 3d7KGn5ARrmIpLMltIyupKI02xlhqmEOpQXDIRzfS2B9YUjq1OGZilSeZtbP1ZBp - yrkRDUldP6b72B0OlIIQN49x6Hm2xcH9ofBoGL4I4xzlmXkjSyc+37plxd3pWoII - 0EXM975XYQImOPKdaOicJwnt9GsbNpupNs0PKL3KEMSQwpIKNkFQynkK+HtlrNrU - ayawfzbr4Ls7a0XAh3RyHDp9t9UlyetnnCOowSXriF4VofoIvNZBW5WFKl1q9u3S - XgHdTAhY7BEV/PGSIAWYHJ36N8216PHDgUnYiNtq75F5I0hOZ1YOsqpHrUsBZPYA - neo7+4zx+L5WNcIG9Tl7jOz41DWlopgIfptkAK0DBmuwxR0iAfi7jDvIBR+t9C0= - =swMe - -----END PGP MESSAGE----- - fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-04-18T22:36:24Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQIMA46L6MuPqfJqARAAr8hBuOlsd7E5ULu6psY4kNyqJ8ecfmV8Ndhy6JTXJiXO - RLGHynxuadd5/kxvM8ga0p0dWJ/r4A7PbuQTzo/iqRnppqCP6a9QncmCoiX00qfc - ahoN+u47biqe8qTCcyvza9b7J2sFseQ2QhpnDQYNMgQZSXFD9TjPVRx63VLRs6hw - /R2m3Hc4w8LNYUBMjSjpVOFfSIh0mNgz/M9CzjluLAed5zlfsiddIHJitEvKvsVY - kVllfX0GZjxobrnUbA5v6CK7o8Lo4tZCqjW/M0TWG61+BxQuxFx440cCvuTA/QGI - TdIzgUvXKFyz0A3zzcG2l+ggO2AyTPy61JEqnnZSiexsH5CbTmKFcKfQnMeb/u0u - svnwyq3UCz3kQWYWzmq0lHV/OUtxdH6Lm33OdTzKViKtQryuAsqiZP4AefNI2ZO2 - vffND9SdJ/W7JjCU1q9j91sNPcid0QFzuVEPkGEyLrqLT325uO/fG8xXZh4nOS5B - kYnajgMExtiRdSFjL2l87GP4OqduEek2oYgmEdKqDW9tjFyrMP0X++iDHJcxRS9U - rIsIdYAZx436cfXNxQOsdT74M6FRIJjygvxxC7ewBCQZMYt4JM4OX4aDDwGKVO/4 - OZCadttcGES+JKuclTiRzkCYExvK+szKY1kyP9iNKdNZnRv/MjSbsSRKvdqmuCzS - XgEMr9FEPviSqEPU26+ENi90NM/uR3CruPlnNqPQvg4iBEVOCLEjLJRAgKpdLe5I - nABsFQudkrny/kMVgMIH4MB6psAYorWwsS255lMbZCm2BluxUuhpDAmEtFDlgTw= - =uEv7 + hQIMA46L6MuPqfJqAQ//acE6p4znnq8Sk0K7D7shAsW3WwgSDxiqBV2k1g12Ogmb + tpV3QeTBeRVPf+n+l22UcqVSLT4xwjxQ3mjeNDDkFC1wZbXh9493RLcnSU5380Rf + XEIcvC157OUDWxcVgaJi9rfDye1AzSjXCQxyXXeHn4UfVmM0wp/g9nSDW+eninDt + VsQbAvpz6AXVsMj+fBuxCChM1memzGJYIDzvn08wPkufFr/0D0HVtSFIlJ63i2WS + LQVDjgYGMxne5vJcv/8Co5+KHkguClWGvBS7Wvpl4zm/YyrJ0fN7osiHva3aaTS/ + kGgCG9Sbwtn21gyI4zEI9H1TFhoYbo2gDnKIpBkgcXp/MPCDZWD5JVEvqHT7npaS + NVxmMsO38wefDjumFe/pMihGfOoaMQXZwKLwPT4xrj5ylWJIHMyTjBU1QgZw4iIH + z38UF3pIUhqQUSx3n8X7J1Qw/vXlZCYY6nTWJLVUXaK9yZE+091HxRlSU0ma5mGQ + Ln5QsNgdTRQgIwz6hCaTj31dOX+iCmNagf5KCrknAEt4LNjZD2Aovkh69M+a2kKb + 0/HvhEE3v6nUw38fbRV/lFWyYcr5eHPcEIAODDRJdkH3lBppYWRosPF969B9Egav + mVsahOn50AVbK0kIhwnydB+nf7Krfw0uYr0UQqXmzwBO3hTcY2JQaRdGIM9EnILS + XgHQWJBQzJFWzSXY7XHGPFAmCLxgE7I2AqhgQMD1L37cK1p0RJo9/qdXNxGuPB1f + gf2niuje8G0/q+ch/jJVKA7gRWLeym55Ap6eGfb4Hdh5ceMXQJpOIL8n1MpBLlI= + =YpKy -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAOSsXDPRgF74BNdeslCFCXiiWjrMOBLZT9FOnN09THWIw - Ykyd+RchPePMUvxy43tBCR8EoU0oGaOqsKb+X3mNMPQStjvy9mxtduLkAiTV7Rly - 0l4BrTzOKL34m/BuAWWPiKC067WL919sPwgpznXminiJvQzpY9evWsLkjM8GTCzA - YsnUsGA8zk2o8VDPf0yyJUmd6RZpR7Oqji4OZSql4HCg9tDYMbHNvo34zP5RdItH - =1r8Z + hF4DQrf1tCqiJxoSAQdAO6f/CJzII30ae8vOT7wCAX7Y8KIhhbdOSR5riOkbpCUw + oXi/0NszKB9tEPxCuqf8S2ohWCiwP/vyH4AJH7Jm6BmrcU9GOn0Fcwhew6HZwe6c + 0l4BNzPln6G/PppM/EqfC2erbSWmT6P2wahvL3YRp13wM2vyFc+8x3cE+srI5Cx3 + EgXfDR5+lBDUgxIqqHdrujU1GrNYiM2YJhHSwW/sh6/IiaFm0Nfre5j9jFxwOVi9 + =++Zg -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdA4Xn0x+bSHNN5Oxg4BnWh8BiL4Z9MYxdmT59xgSR7rxcw - KBxNZbsKO2GMqEIKCxm0X+ulVJToIkUtTuv3YN4Tr4Y9CMG0jEVi2hONNtToLKZv - 0lgBDkLFR9pczrT07PmMRkWkgKr99/Z8xtNyUt8ySt/vlDkUTVsrR2HcA8lkVIpJ - Al8SOHmcUiGw7tcOfIM0XLWL4Oba5HXPNFCK6j5G4BoNY/22yjvaqsbv - =bqQj + hF4DzAGzViGx4qcSAQdAN5wYuK9shyairuMihxK64plK2kFVjTU/Aaq0eUkMRVkw + iLV1lshGr/9qCEkGVO5OlCDK0Lmb+P1bsMY9fYpeiwDTQHJsAXAcnpU/cV8Nr/HA + 0lgBBE8RYN/QU3KmrSWVpOV1NHyK0QAv7ZK6kNNVU1kCv5oDEgE4+BaRXMDtj1wJ + 44i0+VAYkJXrCE3V32aACXJ3XEOQcHRlIM0cb+PQDO5IDjkvGCZT8IXt + =LTbb -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//RVL6yy/ailgFxgk1xzNeniL8wXbFzkHgETNJJ7x+SdRG - Ipg/h3i8KmvFkG6k5E1o87ian+8zTvj9egaVqsacnSJv1uKv4InssfmzRxpw3vlO - p+6dS6YvEFNw/mgesHvfAQesGd2qvFW9et3GrDO2yeh8skhL71JCqzVXok0NTBwK - WBRwoCKG2fkruf87/8I6uz7/IogXyWAHYibw6NCJM40+rIZNNZ9LGs+Hl5t0TmLD - tocsiGQypZsYxbkaOb/57e97xP/oxvwG09K0lw0DO15GfHp3+oM9yHL5ZdjNZIQy - SH4VTu5znbQxOK1dsgHvPoCIB1C3izIJ5NVJ/b2hzr+UBNHfVLyuyJqYNEMTzS8r - HHLrahdLwQqCimW+zIXgUEhWt0OuDJTZRmduLJ6TeQRzvOUETHpGkuW/962El5hF - KK0omWgM2dyK5vIYJv2Wo0mLMUkfh+sbpn8G2GOMk1WRN1lI0BqaAEx7gRn+SfRG - RvKlcK1NhFY6K1GnDWTSTOQqBvXiO8Nb3uQqyltJ7ktd5MHOc5itDbIP+DUj4AfY - B3rgXVwFngh7YcOUEcy7zrZXSoEecs+kTZ2k/s3IPYIHUajLBUx9zhRsnDoPC/ws - owTtNgwes6yvFqb9Y5RdjQ5djinkcJs+CFCOxiHHtRL8B08Er07NmonKNg57hgfS - XgG7NhjN+9Hhax/Fx+yWkmQxruPsY7f8O8ZWys+UoZlDedyDuhvCC7XQW9fi5q2+ - Tq2NDtqAWJsCEpB79qOHrxaQ0n0YyxkIRdGJ1ijm2NAzbMZN3xSOJ4epkPZqL74= - =URvR + hQIMA2pVdGTIrZI+ARAAgwk0kaL9/q0JJOxbeXUwjZra/OXBnwr4Dp/7q8KZ2rMq + gciep4kqvdU/YKO/+bq9TZq6d5CFCCiyk9/EIAVAY/1c3ZKBo//3LQsELmh1ZRg6 + LTHiRx8H++ld1mP6M8eiSE2gZAJkbi/9hWdg+lo3ifvOjtq2InFXCDJa/3IT2GzD + jVPJOBC5IJWXg7Bi16oCfOpb3hzvTeESVeBw8bHz3WqoCMO45cpgx6zWVfo/mHOC + +TEEgJ1ihvFpc3ggtUbENV76huqDnEcQiCCSImeUfD7sfjCBMVGPdJnMHe4ky9yA + 6681O1eHINPpG3CcKIcDgpDClRovBW6vYenLw81XCZHces9CjEsX0KOkPTUitFhB + CODg+dJq7W+r9uc1aFCkc7OnDqLsTtSafJTK91RavIldvZ2jAIh+AvyUuOwILbvk + XtG3UJ9XLe8SoEu8L5RH1Y/CG+jC1a4xnMYaC/ZE31l/qdo5/2gELTXs66lPjX6B + k/9+peSDbIeUtJrRe0nY+YIP8l0V+9dpO59KdLtLgIC0JL/nzvizLxdkXG59CFzY + 74OnLmtDxAoDWTu989XtuTCvDPGzVB0gDDyuW7bQjIuMGdGEzEDdMjCwiC97UrZC + nF8oJDV2w0vG88sCmoWT/flKr2mSaNkFHym4jhgZi71d7mpw7dmdcDJdBQKkNXnS + XgHs0mUWqb1cNtOaYqFJdm6TbubRF+eKRgVT/TCbY9akuYWLCNOBVfIuNmZgvLAY + d5331WBp9X0bAPoShQ4pJg5ycONiOyWwRBuuGbsgc+E3pDlLA3ESm/1rdjn09WU= + =B8Dx -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdA+gfrkFNaSea2Khqd4T+AMTJ5LHxNhVa2c09OVQUbQm4w - 0WcFZNgft9uTfHKlHsK94EK++7VB2mELV9CHwar5RihLb0RyilEL0dk/Jv8z4rwR - 0l4Bhrv335JZROCvbk6ryCDvE7nmtTIcuhuKQ+xPbQ+Hhd5naYHH+34vdGyvPEbu - XEptx+6prN0cX+Zc+7LT+V2FuS7eGRWKLXCfs/NenVM8+bXWW4g28ZivgXZ5s4qO - =s0PO + hF4DKKbvh61jX5USAQdAfA/QYYZOVEoGqAQYplp7C2m/HkS+qR/RVIqRR8avVQow + 4j++L8PKlmpoHv34OMmXg4UA7gkG9IKIjYoZR671P2gkishYifISnG+hKXo3Wod8 + 0l4BVDKLsAGuVHorsts0/BgY7/qp901qwxuea+Wss4Oo3G9NgbIAJgTAnuHQ6YDK + EgVgWl/hnj7Vup0OYHBiesYF823DO80w7rhBIGUS2s5eTJd3z4//UAUpAEmtO7Ul + =CYSi -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/onlyoffice.sops.yaml b/inventories/chaosknoten/host_vars/onlyoffice.sops.yaml index 479d6c6d7a..a5f79ef028 100644 --- a/inventories/chaosknoten/host_vars/onlyoffice.sops.yaml +++ b/inventories/chaosknoten/host_vars/onlyoffice.sops.yaml @@ -5,203 +5,183 @@ sops: - recipient: age1a27euccw8j23wec76ls8vmzp7mntfcn4v8tkyegmg8alzfhk3suqwm6vgv enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3UmdObEpCNTIzSnR5R0hw - MGFJWkloS0UxM0NMZTZ1R1RsdVZXRnZ2Z0dZCkh5RitHYkc0dStJTjl4K2ZIenBv - Smx2T2EyM1ZxNlhsZ3plWndGMFpVY2MKLS0tIGwveS9RdWZFbStMaGNuci9yeWE3 - Z1JYVUlEdEhNTkM5eG4vL1Ria0dtanMKuwDkoSCHqLrznNSHIA9uwLtzIXpUKC12 - GrRxACZJctSBhprXabdKzhCG+oh8s1ZxOUPDw7x/s30W3B0jomoYIw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBycTYyS05SdGI4N1ErVmpo + ZEhLU0MzdDRyRmVwUDNOS1dCZFp0OFZnQkE4CkkzSDFqVG9qNjdsQ2hWY2YzYTFR + RkxDQUQ3eVF5dm1IeUxVcitlMlJXMmsKLS0tIG4rUXh1SU0xSGJoQ05IWmp3cmQz + VHBocnNZVnkyUTNuUkhPbTgzTHFZQ0kKslJvw0xVDi1VKW3E1BqCDO7twRpk+sYG + xrNbIGv65GBPbnr//D5aCljIeGiKmjgGJ0y3ozVnRV2GYTG8xHvRaw== -----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: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtARAAqABxpK3oxh5nhkYkUuXRa+R6l5HTLCfsuDOt6qixx5n/ - 69MONuThjwSAo3cCY3aaM9LJ2Ecmt8sxCZzFhFVdsnMYdciy8SE1V0jPuKCs+7sS - KwxWwa/wVoDgo412prvXtC3EKVde9lJYli8MsdrnWFo+tAvT9PpXuebR7LyDXO6W - 2DhvmINYM1IjWIt0yquiwOoFsdBjh23idGZkkPORv+Sg16jgF8z4Gtgt9+QUWkSf - AjgZ0Sz1tkQU3HiXYn13V3rpgh7GTWslkDIkRffHYC7eMZCCO1EMCSaOOtNp/xOa - v1NJefxZTnKbsAQWgcxTVgrshudYA4mx+6bQTetDK/VMaK9qt/9nxDfMGSXp96bT - 5wiArMZUEoDaGgvdG+t5vteQ+ZIuOBGidXRNUOavegcQJDAyc+Gxf8B4BSKtN+bQ - lAS844IBvYnTF+CFS7AiaY2m/k+Ye0we9jFyciXH6IjGGwzJasHgXH8/GBJPVC+L - H+NWa0MY/RzC4P1MAGUo8EPnjaH9fZN7+svrAWf4SEox+dQzBkM99rQtQiYjG1p1 - DCBrgeNNh9w+gMTZVwYuRx4jtF02h3nBBP1X24l8yBkhGyF/QX9zDtH7ueeUeOXW - E3KQdf2ifPQroXvPfWDRVImgZCjUeG1PHClORXSeahur83zfYQYmoVPdwYg2aQDS - XgEmLvlS8ZFaNCAv94s8zOv4S4qVMZK38F/WVaFpAM8uEVy/L9MrqJWTJcsjL8Xm - Ffud6rYAoRK2i08ESG8dKxUBvEigl2ZvNPuk8/nWV5l0+ghoPCZxg2dWQkVywy0= - =gIl4 + hQIMAxK/JaB2/SdtAQ/+NtPPR7KdWSiO8/GeBou0jw7upioZwZ6r95QRF166L2t+ + 5pq5lro1PwjyG50pVwT9IBctAxe5q6sWnR25MT5s6N4mRpPGx45SAzJyI5u8hkxx + ZhrtcMmPcjsImcV6s5VKlu5PNiY/MZpiewuahvcmHa3D915pOd6Z+K/kjUQ7zmHT + 3hBUdyYoZolJ96Kr5SmGRTww/mCJRC+aOnkfsmjbZ9vCPo0gYlxc7wgzWZY7qIVA + CdKXyDtBr7QnOD//bFHiIgaIsVEbBOlOD4Dian3wlnnOI6sVeXwhe1s0fi2d/6FZ + G2UWPonXUgYS2SOZ/O1+8B/Tsfs8X9DRBAS7yNLBWcJufdCBUbe1NatWSxC3T0vU + c2tBkMqIbO2ZdDjZt5g0+QTv14mqFALKFn9RNH16WhiWU0chPFjBaMK5Yl3Ryj13 + 61anN8FMicUtyVqzJcBObTUswyxuARkBwqUknGGVK8UCJpVMl1XUvC5nEM4hbAEv + w/FeVlRanMRsahGM2AVB1m13Iv5QZCwAslFUzDsVDkohjj+aSOb5iucQS+3tFbEb + dPE85luHIm2qaiEZlwGuA3pu5AgQ1w/pW2y3O+qdxZv56K0YKfpbAU6oSuB6E+D+ + Qhy8Z0zSSHLXJaf3DNUEDUpasDPtP03HBfGmlly1rNa92M+R86j/h8oM9B9jM6bS + XgGU47o9FQAS8BBQbgK8pFvO+s7RXNsW/ZY2e+CTu1LGj/LxjAWVUoSFM5S+PQzF + BJ/uiXOgeb10v9tQi3KAIvtdARkUJoN6mt9LVXgepZJ/+VdgYM+Y2WTFJicDtiw= + =Q59G -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQgAh/avUcKuZdZWTjz/BWZ/OtnbjT7+5CtvcDOemr2OM2Y3 - WIzY1Cti0qW5552X65Ot4xdC2hQ5F3DP9NCg+96LFgIOkN4eOox5PMxWpmCulXOm - MQ6kHGBDvjIqRWo83wn8DwUIYIjlH9hOepicMPEEmPEadMCT9W+wd1wV+Bbc2Jll - tfu8i/K8ho0WCs91FQmU9HRfgOaT8v1ARISssFTYIVAsZ8RtS+HI4WXdnTOCEqOf - 6XHusr3rnW+fScauLjvjhwDBEQoEe715U0zxg4QzB+54qObXgPgnjrlDiEskhmDG - imLFlfTbo1KPlYTE+zB6Wadwjm7HFYNnfZ/gTHYIPtJeAefR8xix5ZgK60Aj+/Pl - RFuTscxIGPvX9wFkUJiG1rSSgUfjucoBatZLTJh9CsGk8MzZKL3GqBzHP4WU0qGM - 6RYi2Sx/a0UZKG9JiPB5kCZ2liV4cr1wv8XdA1sUiQ== - =hHso + hQEMA1QflAioE8i3AQf/Wd3xTAaiUEguR+18nk6loTiuBBWr6ghVDGWKjlN/Fixv + yiS82EkjCdFkLd0bRt/LIvMcuBBIU+xzmNwpa47rvP+juAfgyxxgENFIsTypZ43U + D65AWOSyzwI3JSxR4fbCfeyfsPB2TdxkmZarp+FkcsdaHvYybO4hte8elHSsUM7h + D/k+5OM3RIsEVsWUvgKTKUd2U+66rKUihovGj9Lzzza3I7+Vb4y+kYDhnIsbuKVb + GXAEkNq/QKnuLW5QsiEPn7+gA7ZXICTNJgm6IP1cTDnwxs83LCfQkgGdmjyIED/0 + foEqWY3I+JLTokXRG/YfjuP2s+0lPACrrhyevSs7mtJeAfGXiTvM4JOFFO6ob99D + 5NAArznWpY/IBsZ4cxp/ugc/io4aGfFdvn4IzYjk35vVWuq5QL32rCAh2A5DWWkM + j9Mh1si5mMg6Squ59ggjtAa4fp11LL7xZGOIelmrRg== + =J6go -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ/+O2Ts8HxCi+/7stekVH8JR7MimVrWQ8U7estAoeIbjHJU - L337Sf0iJIFFo5jo8753bKOMShsxfBJKpOZa63TfopPQ+CvSryktxmWq1tUYmljK - rmdARhBLDoffogD5QMLgTNp4Jac84Op/lBAxJy/YxkS2SNVOCYj+PhJJwy45SfGv - Z93BV6wVK4m1PDytKT55ahiQgU22ib+5DhHfIYrbuxXr6/jyhcfTItCfH7baIRB7 - 0NaKfpH5YEqQ/ibE3rtX3iTsZmIZlepR0Pmvcmt1EAiTHR4lKMfJwrThV0pZBvQM - sOTYI6KZNe/FKt6ACHITIUssfx1tstmFEHd7dQvSLzP/N8PBkSCRbgyfqgw0Vu7M - PxbTnD3issTMX5u9Yg7cS29eZq5ifhEygI4iOVWlpU517OSGMqz1HsHITb5VUJJ6 - 7YVrSwdJVfszDJlzO1oCCnglxxgaJaReA6FtHtpl0Jr5AQAVKROjSsotYce4ABl+ - VTlZGbvlWWt1utb6C9bQ1Y364gzczVK/zhfJ1duQyuIDdrroz8x4Rw3B/5aOmqVc - OtDOQunGhKzSvmnVcTu3pKJ2f6Ru+mWrSmgxkOh0VxXbLVeqrJe7fY2KduOnMeqh - Lln4+ghqr6z2rPgTkBfXbDeKtqPVfa+YPAh19BQcLa9aLWQls72OuWTp0a7oAejS - XgG60NzAc2Jp+M3C/6DcwFyxN2oxyt4DjNa7FKkNO966iS0QYIq6EVN4Kd8mbhM7 - IVY5Opoya7sXDCX6XzGcKDVLf6cV4Q4zZ3zyFA2gtuTRgZcg36brEZr1SghRLQs= - =DOn+ + hQIMAz5uSgHG2iMJAQ/5Ac9v+RhPY7RORNsTDfo3EzEAa1VT/iqhx/qorDCGJ37H + ehSEsTfPDc0B3fAtxslZ/+/4q/aEBaY7tgeulhNYwueiP1delB2r8ZWkS2MiKv0o + d5P0wHNAV4zfsKrYVJnIwYx3uUHGrv/H0OM9Y92hHdmtcS3Ipzf7lG+leRBHDLPo + nPYuhhqEP+OSo+A8wlvOpyAANDiv/RUo51rEtvOTP79+Igu3Hef2j+MDNk92raO2 + 9on+eu8ubJWj9Jn4G+FnGO5tmqzBRnJHoIiI+BjplnF/AspewVMmyhmhF5JwXObU + vNwDn7lAUJpnYTvvpcDF0aLiqMwazhEkceWrJE9iCuieNJFzPB5TVEO9OBRq0MnT + HPAyq2+URkznt9Wwml7ZW5ujDaFrPtaqNtXEzMOq0/bm+gWn+gpFD8/u/c2sxTiy + w0neDbKaylsa7ymCGqdVK2dzUpb7SxijdVItgten0jkgqm8eDqy+EiES1RJP8HNd + htMS7+4JzM/UJomFDdLhr0PmQnqNCONm6IHauMkVioGfqGxnngup/NOkddEnjK6U + IhoPpNHOzvAz9XeppCDA5nD7yhzD2LnkP5kuH98HsgM3UaCoXQtfqhr6pR4yCSQx + Ji48zOlfNobUrtnQFbiVgWshAtKDLxoTxx/Yy36/BtmA93mx20yIEgugGFDKoKbS + XgGmjL9nVTWl9cY5zI4aw6SRHli8UTBdX2Df7Ymv9qFauWI2rwSf3bfToDwISyyt + sBfpkUVFwymXerGQ/PHnfyz3rwcG5I/NMN5NLpYQhDjgChHuqEdeH/pmR6ap2uU= + =RjCs -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DsZXvxFXTXoQSAQdAnLPzYPZN9ZdTlinfikiwgnxiUPjhLieM++tDI2waqEUw - r5KmulZ7DPtJ5QL0oULm0g9bboeIYd+psGcUIOuzcnVst8R6J7D7r+GPjvDTj7Pm - 0l4BzK8RBVhoOrF7rW96gB5YwnMlgUwEb2R97b3lDmsiDX4zoF2BsR4lLzL9ibWw - NcX6B0/5NIPrUwsigRoKpwPJsxTRskvCeLhTS6qWDUbFeSg8iP4PGou1hV+GGVGJ - =LxiO + hF4DsZXvxFXTXoQSAQdA9E6e5hTSESPpH8tjmavv8URMS8jQ3S2I6PH1kUNCklcw + BMrusivlI8cQoErGoRGZ5s9R9Gpy1j36PcNC/0Br4qmwwQ3cAuQyBaOGEHxBpaQA + 0l4Bs4AKDvtjlL6cUPYBKtinKeUAi++13Zd0osMJpY/q0NT0yLfN6rfmYoAczu21 + ikVwAhahABnDcKRzlKzIqvvx3RLfBjZDAt1cGi0YXIuegUlRIuZ6uDpekgX/5wz1 + =6NMR -----END PGP MESSAGE----- fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdA9PiUpK2XlcJvVYpTFpnX9/TZP+muDLa1s43ZU02B82Yw - SThpQVRo/uBChvBTC2liu/A/V9i12zK6vNVjC/JWJxyfVzUB6cgW+FF7xbhNz8Mj - 0l4BP8+RdN3MFosQferaRvSK6UJfWk/iPKrpjQwbaAOjijmLHNvCVadq6lR6OgL3 - suUwnHmk147yEM64MVpqLeI2/9DjxPB7hoLXL/axd2msK1N27AAw1QA+5b2k6GSo - =Pcjo + hF4DerEtaFuTeewSAQdA1faCxbJwOTsPY3OhcMZXaDFu0SZ439MtdEjz8ZRHSEsw + DXqGRQRMsz36whfD1Sw6n9XmcmfZLOPv38pN5wMa22dtJD2jPLxUETiFM8lCdVj3 + 0l4BolafkC9TjMuPb/6LLOS6s32j7eG7TO0zw/F3/pvLskdsaslLN2DRD13+NT6l + 5PiEMibvGpt6gH4rqYbJjVjmOqndCjW1Hd12t9Qy4b5+GOHFsbnSt9pnD5OXy57Q + =Lg3u -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//XjUFzOPc4nMW60RJihidmTCSp4XOP0ZT8zH72K2p/MD0 - Pdeyg+4l0DvNS53ze3K2tIDmXk5kw1N+fN58fP+EMUWMgrfK0XrB+OoE9ayV51gI - Sv8xOcJv1fqIjcf3/GyxoUHX0uPW3ZSfL/LThlaRCh9CcnHzJDVOTxOm3t6qMG0p - OvS88d+Wn1Cmmn422wZqeT9KPz3wCd0mBy8YcYQ4Fj57O2TCmLINn1MtGYY9/PM7 - /9jELGJ55t8+s/gb+RfQbhOnyy8Xfm3cxQeC/GJu3XchkCZ1vcLcAWFoiyXS3/8x - eYJOIvo2EBJP7l+RMUk7UbxbnIuxrtP5klKPZ/oXI0fkqYeK9R3+CeB3GW5pAO4M - 2gRfGJheb9feUDG8g7G1bM905qe6DQDFBYb1vRfX7tV7Qtj3nxqGfBoZMw8v2ibK - SUqAxOW6JkTK/DNgeFdUpP6nxmFn8hf6OQjIKJzue53p+TlbKk1NM8Agl8kE9b5z - Iq8P/lCYUlsxJpXjB+4dqWYzg0xDuMNoO5RIPb64YZYo1IsBMo3J59XgNoLppAh5 - LQEiqSfeDtDuCqn9B6Zl8VvVBeLiRHBCNDwUeZVGhjUYfgzqvFv/p1zOmWPSHrbr - LTOHWYqV69vTlkypneZkXPjLFHabP2mS3oGb/ZEQWr5KmOJ7kkUCtQ4Gy5LIaZzS - XgHVgKnsPfxZ3tWmDLYZL5gfRtQpWw5Czd07V2/cz3F4Zqpkv8VUbT9fT0w+bVq/ - TLO82ukenofepou4eU1aOyQd1oaTFEoZbiLPS0hvtmMYoDYdvDOju6+4dEwjKrI= - =WJT2 + hQIMAxjNhCKPP69fAQ//Z2soEUtmSh0/Z81jhJ0T7yiUsdZEOLzJtIpgheEdRMKA + 9GjxQJ9gKObuvO6+bNZBTus9dGlQFoDJX/ixA/Cm0wY5D9tXceURk4+Q+eJ+Gw4y + IJ18YLfiXsXMvYjl2tc9034gEStyN/yX0mZfQ2xDw2ysQUH9sZ/JCD64BqFi52yl + sZDeraG2nL7Wq/s/f9qB/sA3/YEvAQjcy2DdYATw9HAagUk4iyYJOiN5GsbSdLaP + drii72t8/TyW4oJiDzw98cb59IJsA9rbRW2iAvE3Yf7Q7J1LzzQb84lG6sfXz/VP + GnXlfEGSOlpCvT8nIbvsplx+OuxYBo8vxHQ3zuAxEfE8+Syn04jMr86tGgvVXqPE + BqD0fv20vhtKyJtUeCXKfdv9Nj6pXJwwlkMKfjdxiWqd/hvAPf7Qh2mcC9ZDG5Sz + rsp4a6nr0Xl1sEklz8aDbzjij60sYUZne/uuyajkcVjLNUrWyPHZNBjFo8X4rMoO + iosPuWDjiLJyBFrY6vz8NzUjriP0J89EtCmJ949VgaK5neQFnl9CKNiNiq5zYm0G + Za7NxBCMLH38yVnoy2F9//SE8BeECg/Yl/RxLOZV27udTwbC3NgsFSNuh3ffOZTp + DkTClMRg8bKCyZ24Tsg3M0sQ5GQCkJrWhSzjXkgReAvh7ZPfMn1C0AQrcQcUnI3S + XgG4wjl5uV6FRJiyC6jhg0Z0bFIId9r8e64VAKKedunHw6PmYfGwLyUdojhS3+cI + cFg9yO7Tl9hDtljCnH8mLlwf1OTbDYrb7+6m+i0ng8B4bFl52f7FMexNOpvCUQA= + =dYAW -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoARAAtlhp582iMUIvwBuONoYp7Los96WZuimXxlz+iBFyh/DF - GXt7/UlU4kxM68yvnHcUEXvEPg0MVpDI4DFvJhVcKOTQtE2Dyx05LpKpn4LzZSN4 - WawEvrGIKYWPWvJy9+vwsW1oCCt6+1/saE6tgaBww65z/roOJbWoTs3Es3PQvjsJ - QphXxTP9JcFViJE/7jv28U3pgsbCV65UwapF+3zJ+GGUl6btu7s3PbC6xSEts0iK - PCmLSPeyCdZbDA5EP9BI5s9+ESlnkYoWIEoRQh7fO7Kn2xH+WwoWOL8X098Oms0n - w9MmBVjfJDsL071eZ/rLv3UvN5rubyZwt6x7mzgd1PKKZaT1a5T8hsvv7g6sl+kQ - mfHl479DZMS1tks2hsUqeqZQHMMY74GSwYgCFWoEcqXmM/f7iCvjDKspAoLvY80n - NOmkWb6U9jHu+ZB677/ibzeZ7Inb7loWz3scqDwjwbpvrT7JtZfrvQ5Iltv2ST5f - DdhHByJZSfzEJBODIaKnp8xrummwNQhdSB7yUrzKP39oTYd8plr17AOSeT7Mnak1 - 2n2YJyiAaNEX+MUt4OQM7ILnoxUS5S+Ba0QipFRXRm72ilIQkQvwEz+sJzhlPPJO - TUR8d/NMvTCTlI7rjsScBVFnYYuGQYGPJma7zY6D/HyPloiT2wBvM5ypj75AYLjS - XgE9PqH3O9t/dZEZJOqhuSwWiwLcafeN7wWzvSjneVioKZRPc/X4wJkPNmz1H3UP - 80MsqssfoqQc13dsiOmdbqdsCMAoP96M61qjncBWTmgE9sNJ2FcbiIU4ZHC6aB8= - =UCyb - -----END PGP MESSAGE----- - fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-04-18T22:36:23Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQIMA46L6MuPqfJqARAAmb1i7Jopa52JwCPTazr8IZI4QPY5DodFDMetA6phtH0w - i2A/QBAzv8VoCcDDfEVlP960ohBkD+hHkHLrjsgT0Z79iqHNkx/iqj6K9u6yy2x5 - LN3Rk2l30iUl9FnDjpRKtjUzqIcZzynxTSxYUjmL6OTq1nZJWSXpTcsoh/JMz1fc - 8L8fjgRlshROjb1x04akHqeMtsiDMUSvkSqCn08NZeOYwvvt2GZyI04wuUTBG8b+ - aBUQa0MXz/ajkTFlSI25uSrnTu25t1ZLBTudTv+OhrDojL+nh5Me9MjxQZuzZqoo - 6q4xrKO6SzQIGW/mv2IxomP7IuIzsnLeNPJ9CBG5hKBq0wjxrAdq1xis0nFAt47J - D8fj5Dxx6Ac8stzxupmknggG+UAv8PPDJD+Ont/2RUwXXFa0Nbq8df9ZeBjghcun - yApeeaM8qtTnj9GgFBcvN6ZCVBOQk391aOyTeDL2BeIBIuJko5gKivy+Uo6wN6Sz - /cBSQA7ONaJe7VUBZRUHGB8EG8vRVvKB2rerf9ixo2SwTXPFebGYEMddZrumkeop - 21qcsHFK+QANlQ90BtOr84iClF3xN8x660WziJmd/NdEHztexGjS72M6CSilbsse - L+w+U7zGSZbr/IU8bU4DDnwsjhanpRgx1SPrl+98zTgzBI17y4ljOEOoJgRq/0TS - XgGQClPkXXeNQ+ASXK86gKwgIdLwjaDyVCuL/UHuR3+eyqFcspg1PiggPYXMczGz - Ul6SMmD0/pGOP3hL32C7XTxPYXuCdrXafWu0a3mKs2ki0/ZtPyfJscXGGbVu8i0= - =3gVQ + hQIMA46L6MuPqfJqARAAn58FN8EgnHl3FkJMPEb0mlZRkIJ0DNgv13mr6dhwSnAz + YGhbG4EnM82mVEUHlDT4lLJgQ+At3VGXvdtidjNX9dMvLeuR/T46Z2lKcLBtDj0F + 7YGFeo7GE+zp6Y8A70pioLvNtCetAbhG3x/VDLjgai58BeN/g60wQjjV2iSazmHJ + 2cwc474h9rqcjdTj2QKDjZCHqAJiJ0I4+8QvNykb3injIN9zhPAudxFMCufzm7DX + snylJvUqX96E23nUjug1pQxUMJvU36ABZyjk/gi0qAxsB4HzlR8NmMtHVOIxytyc + wMjq3+EeAMN6nvsf7w2/jM5XuDvSlTdpXO9hG3AA/2d937jK5ZXPVA5hJF1kDSes + YblUgN2gMns0EtWiqBStNF6JSUuE3RjEy/quFbO7nyRh735MyAZnY1MuiClLz7o7 + 3TAgum/gUeB5IJCfeS8VMMdcBi/fJ8MLKobV9tFugipMohjKZPcSk379CCQ/G+G7 + UhCi7hK+E1uREa0bScqI1mBVKCgFxsZeKfQj0/k5IUaUVuyPO7zA/SeiY+JTOcy8 + LJFJZ7XuBsup8s2OggXSxFq2H80c08JHmigBcHm/Gg1CAhKTQnDR0zHtjiXJdoXZ + 975WSvtSPH/i4TIDHLa9meaoVcx917PHzcGe//TVdlBb+fH0IwEQPFJrhlHwFcPS + XgFs6pjqfavzKkeMzlDqu0nUfJTcA3a17SFKFnOoVPKrpRjnUXl9BuLmrTVxT88o + 9teG/60t+a+CgGZkw34c/+i9y7zLxnBWERLBO6hQzlyKL0tuG3Y8rXErFE+rHUM= + =sBl9 -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAYIBmjNrggLfAXVkyh2cMvH3o7rmNH8fHVMal1qQKGi4w - i9IwHPoIFIRjeqPwUpPojkawxyl33sTujMFN7As+D3l3rrXTXZugTh5EeuZv1NE5 - 0l4BYaUFH+FrsQ5dq3X9555nc92j6rk+UNVrs8GB6S4iG49uTpQVNNr3yZo/n/NR - bwdaWJT2twX71Deo+pcOxEh0gzA2W9hi/eiG8Qt0mPC86sl1o7Ww3gKoEjYmBPUN - =jM5B + hF4DQrf1tCqiJxoSAQdAAaqZCtEPWWVhoueQZzNCkt4FeeZEe3XLTHyI6iqgqmQw + RlU/rpl45P+Q0aVaz85RU1abMkr0aqcw5VW+2UVZtNpI/2/izWr3bKztyRfjsG+L + 0l4BapqehTTrHiXh8o5p407vXWx1NZz3dTBdXMUTGtYY75hX+9dx8WIdrmo0gWr/ + q3H9Uu32b1DKj7z26fQazakhs+nbirTgLF8caLNepAqvco97Ylkg9GQOAQ5ll1Jo + =d0r6 -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAD0AltMDf/SWSshNVPs0rkG1ylARj3m+MJ7HPe+XDaCgw - aSA2dGLZsXp78Ku9ORsADrSHsQSlOxYMapCCFguDHjBhfbssv6q/PL48RF5Yxnqh - 0lgBkhSNj6DPtLjdwzqDnvxOzmJs9056wUM1fJyFWle7PAq18kJdlBlSUMTPekup - tqA/jxW1419/NNjkw0DknYSVbaxqgOxnyyM5Tn2eH086dU91kBR+9F9r - =w4XN + hF4DzAGzViGx4qcSAQdAdMwwC/qGj7FvjemsGXTgBMlnv8yQpY+JqcgbG3C4mBgw + 4UFjOJq70QVpuzFyNkbu65qomvwHwIH334MFBZPHCpGRmhCpZttZbcZi4a6M6nKt + 0lgB8esyg/8nlOJMT1LOSNn/uy89Qc6BZr+HmZRem6Aehj7MjDuV9xdiWklAMhtz + ojUCt3pXC+DGF4F2H9ihAjgPvK+FDMCLlPjrSqbdszUIW0E8wfUG6zAI + =ycZZ -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ/+Pty3F0VQ8fC0dnhAsn678VadLy3TV0iRAJKdFDbpCSgn - 4nE4G5TuH8FcmH3fqhK5xHY8wS6R/hjswUnTBuvQmXUjCPU1G1zI8hqzJo01jHZI - PiLcPp3dn30C3Rb1D/Vc+fu6595KYaZXQL4JG8TygTjg7wLtUypVHm43MSR11YtZ - M2ZgN8B0An+ID4lL+Q+qYHQHPipaWOpf9toE0Xfny0PpF1VviZJtXOv6AlXXTNIE - QX9tEnm1IwpFsqfq0xW1iQ42KwQaT8dNVteNz3o/G/9PQwFBuE8/odccFOTVh3Jg - VmDbLjuObQQn4J5RpMjCeRcplV1xRgAsDI2aYbJnOG0Nq/08y9jrc40OxzxnyyM5 - bHs8rrLN13sBNUlqAUqZXDU8hyH/4NOJUeHfXvELKVn7NmaMn63L3VbIC2A1ZbLz - j/jkyfQcCQ0YMp90VOTceWEeCJE+8SXG1DizI2D2ZoDvpncF0AN0mLgK7UFwCdLq - Y0/PzVB4/4HB4kiqhbgxRU20lAXJvk1M4qk2JqO2v7mkTUeoy9DnOPuajH571VLX - IejebzJyQ5TZh4hAqYXbwg5BWZUQ2utKgmMVlyCCQ0PzPhTfizQGqgdM2JPNJ5k9 - U/ERIkfaYwJhv7N+USJKd3jwiBl7RteUxS9VmOU1bz168nEnnIFYepoaWhb98h3S - XgH7ZDq7tno6CuGtc8dBR3LOviYFo2FRDRU8B4PmBBYYCqkvoHZ4l1kjCoqD8HwB - 85ae0P74U/U54bsU60Bpk+0oTU1wV5uf+/0XadACnTWWQfsOtzJlSpPTcI0YmVU= - =KoWb + hQIMA2pVdGTIrZI+ARAAqaTx8Nq4FqiD3AfK4q5txxK+wpl5p/OOFoherkbyqXlf + a+Cb7h1LkCyHr6aS845Hoz6kuFZizgxYQbZbUWswLu/pever9sJT1Dil1SWR+lZa + 2XmpA0vw2luw4o7jWjGvN8PDl6LBIdjrlpZ8JAKFJ8jqWjU0N7AxT/BKWclx6R6y + oRTKCzHBDnq5nmQeRB7vZJFg5FmGZFM83xo8iEFEdHFVcBx1WZohlpbcilVYIaxB + 16HGPs0csT7BevYSyEoXjOT/6u5gKWNhvuuKP1RUB/9oDYYDQnPSsGAsd8Y40W19 + MMKSjuBuzozhCVLBDaW3QIfsuvJq1/Vy4GnRS4Okan4lVcmx4b9rvR7GFLgqPFq7 + uGGneAdxfZGC7qLg0/IPEIdn21pg9o10qqvD/NdM119cg7aTe6I0ehWYSpWXqA1u + 5IY4XkV8RWEGETG0/+HrP8GIyz0HLaONsXIaK/FcrS65AD8EiOLkYRHjsX1/T54a + 49bnPLy1nae5o0rLDf3o+DCEoo+xN6Q3qAgr7Zn6WyTSR4vrQbePCAzwNVlgbCRf + 7Yz6yDazwtO9XzAWY0o6f2ml90VWARUfvkhK+2C7gXDV6+9qvv8xuCmSYf3oThKO + f/uPffK24aL+hAc8RUnp9tU51V7kaihQN9R8NitfBWGlx+YfKq6c3AJlDIT7wozS + XgHhWwsrMSfTC71ym+ORxY+qscVgopyAxnpslyvQNcswAW7yE9PGYCh6u6Dap5Ny + Alo07RgL/bWOAbKY86+TByTHAdH0joiNXvaelZbp6RyRKeL2LFe7yv2M64Y1ql8= + =wG2o -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdA53jDxPsRIUW9UBkAVVQutabTeSv6rtx2iHWZgX/DIFsw - u/pehjxVUMV8HoVdN0Uu3BJa4zpMq1UugaRsgBK1Isr9dGt+1CUO7pPqzQDIU4Ar - 0l4BoCEMcseyFkNuzo9vFK1x0wIGddTNuxVGb0h9+k9sepREID54OTB08gsFbWht - kPndPj5M82GJ13MAYR8HpYYN6J/+p4Z6UKUphUGbSNMJwPF2ZIFE6R1+Sf03/Yhg - =qqlS + hF4DKKbvh61jX5USAQdAtEYb72g0lcA62DWBwVaUxxYs8B5d6hsV/0J0Thi1sD0w + AFtAIbQgdGREH2+AwBj7fsoL73fyAIjZfBjntruXoGf6se4O4QfIA81R8EexX5CQ + 0l4Bp+P+DD+KobBoi44LX6/plL2eSlqrlutjM2TCaFFSxDhksQ05UUQ5wZTLeYfe + Wh6cCXsoiZrIQKAII9rsEwFWlictgkL2IiGXpOElUInHcC/hzu+7eANhUSL6W7Pl + =xR/8 -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/pad.sops.yaml b/inventories/chaosknoten/host_vars/pad.sops.yaml index e1c3d68b47..91f6acb030 100644 --- a/inventories/chaosknoten/host_vars/pad.sops.yaml +++ b/inventories/chaosknoten/host_vars/pad.sops.yaml @@ -8,203 +8,183 @@ sops: - recipient: age172pk7lyc6p4ewy0f2h6pau5d5sz6z8cq66hm4u4tpzx3an496a2sljx7x5 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSeEh4ZDZZbWE2ZkQ1SDdp - VlVLbjRPSlUySzFkS3ZtYlRwaDdWTDJ5TnljCmxLWUs4bVpXMk83ZXJwaTZMZDVF - QkJ6MkFMb3EvdmNjbGFrNnJSd3JvTkUKLS0tIEJtUXhmMXNtS2s2TkdVdU9ucDBV - eGZnbHhjQXZ1YWQrUmN3MHBHeWZPMUEKNUrdyQYWIxH01TeoKQlTSlC4Bn7Nhd8x - j3vAl++zhn66OSEgyY1hHC8iWKaAsCWwA+ElQKdm5ATX46ObSeMCYw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6WHI5NnFKUmlpa3JkVEtC + OGN0c3N6NWJodVpuVUhIdzNUVGU4bDFuL2l3CnF2bmtJTzRRME9RWFNXQlJtZEt5 + WDJBUlJkZEM3NWhkTTFRWkI4WnZGQkkKLS0tIDl3aWFWN2RiYTdKQWZVZFR1ZEkw + eTdNWGo5eUR3NDBCOUVsME5jaU8wUU0KewE5K6choifTr2jW3NrAzMVUigRg+QBb + mZ7y8Mmypi+geyNHcOeD+/enW7pmCe9so3knw06JlcchDRtWCyO1WA== -----END AGE ENCRYPTED FILE----- lastmodified: "2026-03-09T20:05:54Z" mac: ENC[AES256_GCM,data:iTfsv2WoOoP4RHWRhau/8olT5BQn2jWE+iizKuVSGIqcG/MZKastj536ZjhM5GYZXyROXEObAenB7G7Zjy9rK5cv4QUIw0FiYN0irObOcXm6/mlVb0OoYHv4ObPhRvGidDNONhILIJwW8+TOHPMfwnhswff8+32gkVvdZtk1u4A=,iv:elNrdohgQVtqxSX6IC8lNUF0mWPV+maYX2MrletkqV0=,tag:RHAlazcp6mp+BLomFV7Z3w==,type:str] pgp: - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//d+kpf6eIrAR+0DFgp8dU6KKPMsr0wYvJXYonEbj3Fjjv - wjxQGrVRn6kIU2S5HnGFX3s+U8ypkrZYuuRCFtISM2uCkxoO21xwjBYb/NgZnppc - JIIjrVB/FAyrQFFGQSytSobnOQ+BUYq3rcPPydsr3f7yyMauQJph5N16B8ISkKRw - M2KyPrchGXIZ1OLVC3BHYG0jkgi9BbalpmRk8p1vaPsYIwOmYqDehGS7904iTxO1 - mdBLS3PXcw+fE3M7Cl87EsGzOEb/mlpENltCaPvC6kV0X/xRVUKZufWzA0KHD3zN - /RaXpOJiJV8qiYyvd4BGbPqC7apZX+R7KXBLuacbISLPfSnGC2tIs0WX0THfKLug - qwYbLjaVH/t/OHXITL9yK3hbHJFzTX5zMDtPGvYAEMC7VC4NiZnuFzzjXUjeUsd7 - KZvDZ+7pugpfLme3QMkAziPuHG2zKeeH60dg+IyCiBarHNUUuaMtLHEejVnULT8A - xLEyBbH8cKAmmNMlC8rX7Zjglk1hAOFXagWMSx6yF4L/zs3sxDbdptqFQRhWwQ7K - 4v95dBYTWZfXBV63MgKxlnAfXZb5JR1Ly3hgSjxsa6NYvN279kOlyCNfEyz2VmWJ - YlfaMcMNq/qnPTzsgvbUGJY76mgRVr9WJbuOG544ISOE5cB1CbLiQYCeMycE1p/S - XgGjdzqJAs1f2Y1bDABPPvgJEUrfaTQmd09kIV+PTfGWtYG7zNnW/wY2Sl5PIJKI - QNJi+DCVpjyfRdJoavHf7hOt3d2sjVkfAPbIkg3Odezlb35Ouni6sLLoIxcOPZA= - =jeX2 + hQIMAxK/JaB2/SdtAQ/9HeeaXey81dZ1NpGs1BxrLQf1Hx+3gSy8VgMxUwhbbgEM + FCF0KhEY5udn6kQrkZJsVCCLhi+BV/VXi2SpejJRcjMedEt8tjdb3lswTp4mDWNH + sp8H6YriXxP0ZWi+S9ae/4HIyf8bKKiHW+5sIW/rdy0B9iNDryVipvLPE0m+27Xr + Jmz/3KXCNZmTMk0C1kMAc4cZPzP350EwD0MFVdcbPioU3dFnG21W4PLvDD05kDyc + 88+ZaXFY1j+NYlfNGikteC5rpVrn9umNHhZNL7dYJiWMJNG72EochboS263Ly+RA + LzDgoM3Kqtduzwe05BXLdW3y3KEM72H7a9UZIYxA+sAF7/tUbxgBSdsj5d8qzAh6 + PvfF1Mv3LmzltdjqiL+czXhoJz+A8Jbggj6ya/1uSlqgH0Jcw/OHr8Y7D+n3GCkK + KHdqa8/xR1lqVuOaILV5H5dkRRkNRxtOAATucwGe6XA7OLBalyB8JCeiaDxwjyPb + WpbDf8IXRb544+IamKT4BAY6D14Avnrx2GEEPnuuplO3f4TD8vsqI9CYe2wNqRG8 + MXE7ft13Ps5PBzaA+k/LOeF5pkmJiyzA2VcZiomk2veGA6RSEb00TFM7RdmHVtzY + dCcaLI0XNRJbRG8WAOkIjFNQOtwLBxWnv/FJwCLs94TwxjfNjmBbPiK8f9rUfL3S + XgHzzXA1cxDxPSwm/osxmAApc2VybG3uzyriDrIut2Oc1Vh1+Up7EciJnMjHZkiy + 9Ov4jaXhIaa/OYvFgSCppG5MVRujtkIuN+In3vBEKFy9JbZuaqVgAdfow6aoEvM= + =WNSK -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf8Cfc/k/LQ2ah9ds1ulYlRhjYGZ+JdB8uxmVMCwMYZq+r1 - 6rDjr1wXP1DeKJ+pzM/WB7YujHw0yUkf0319nMTIr9vssCBEQcg+TAKRZBTauOFh - RlEbPXfhiHozQ5+49z5bqmHeIQ3dnYJ3EyHjWpYhnRA/bgVTZC9uMo5+68Xsfg7S - ebKo4T3h3+hXMvWH4NgV+dMuYy0qfojW5jAcizbPvS/6o7nhygSRdoT0h12vymeP - l3oTQLnY5VyjOYY+T2D5cJ3RCYUSnmGtgqdyYf1k8Pta0MPh74PD9cRfi0bLSrO/ - zT22y0b8Bav6k9MgDl7iEjjznvlFWFDidul31fmGmtJeAWy/D0LB8wGACf98n6cD - 4D4cAD/UJ39y0uM/SNmrAWwR6MjYDzRJ+pH09r/8lrOZ2VPH8TkIPXjyeD7wZXgW - 3oDpStWLMQiH1MJY4fDY6umlVmqcb8Kxy1Ft4H1i8A== - =hxt8 + hQEMA1QflAioE8i3AQf/WAF64v4WgNd8bDrjpLnW4r24Cj59bGnbDr31U26KseaP + ZSeKkIXeAwRyERFXeHX2bk6/A694FdVnyrn380N/Ivye+6pRTFABk+kw0OsP+8b+ + qYNPw30Jf4kyeZ8aB4qJcKWstNLivH5HlyRJgAu91iN0ZVAW2anw12z37PceQumZ + 0xNDRDg6Gi04s7DkRzPHh8UII8JNfKttIqAOXo5fPvEZoF0kxTddpt+0IfzG1Z+P + +1dOrTH3a6MAvZSuQHV0UiDIj7glRrgZ7Mbk5EMLAIfJvv3n7uCIAjqQqioAwRAq + JaCvmM9Fn5a8aLWC5SnTctKzo3D9jG9w5+37zko4cNJeAaFuaUItqa30tYa7cUQM + zDg5nbZo1P2CWNv7mQWgif4STjkrF60Dce244ik040P32tL05KMbv7ezHtVFxpzs + YVZLFFxrO4CLt2xiXrb+WHXfh64igVGbINyohGmD6g== + =ZkNK -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ//QOQ5cseCg4NUWoA3A0fywXgnUNmfKOYVTm7F3iM375hV - cyFINZGULHyvGR7SbPuHRy8lwVC2YM+OjnUzW5OD00zY5NrtFFJ9ArQRTlHwlMRt - EKZFzBrsGljgC9qWJxqbBL+ypy7dxCoDUtwIuTzuHda7/7ahAYMttJkDgGGPqYV8 - ol2lRsK2ETBCUWd16VrlzfuxvxXssq4ZsqeY+prG4txs8zetWSAfuK4b17bUCKwq - L0a9uZiP+zJlqm3AzbRnhv/WOkYbcsqRcZ0KVTheU/Ct8gVwcToq1Us+6v8C2cZ8 - aV1iA9h6CKxQxu5WgY97eDQcPc9qcgulJ3zEFOQk+gRGbcob6dKsyDhmTkOaPe7H - 7BgHRA0ANLu8Db28oMDo00pQXeTXKZt69eo79N+yTRgmeqS1uHLBH7+e6/ATCglg - yRjgp1yM7iSK2yXV1VoZDFed2N1kXZKXLT/3WBXaWkeXocQppjQ3OvhoLEoj/I3o - dgbTBM+OPMWmMCNeurJ7LAmT5Wihqd9NVvMDjueMNkHXDj4D2KHPRydnN0SNxbQH - 7qeeEBb+NboIzaEczQKPlLhzrM8xkXsKe1ZTvP1vnpcOkI3fqJoHamgqKHVP0c9b - sjpMilQxPImOlTUSi/JXBzefHrTu/Ug5oDOTQ4HvoPL8cjR2WhAcOxOGs8ICj+7S - XgEekI5a828TH4r/2CRz2owE5l5cJD19OwSWVdZ4ciabLiQ8TuA7ce9isoKHtoXj - suObYeWUtPnVHa5rkd5D3a8IHSBi5zPHQPBcVA0qoy2JLLsBPNDmloTPId6kESo= - =XuhS + hQIMAz5uSgHG2iMJARAAqAEQom96ijtOoyGoq92G1oswBCRATB73b/2ldeLRkF3w + qk0ipJ/8eC2R84JaNza4IWD2j049la+3JFOmsWs2DTNGNCXpRZyb39V3mqsbq+5b + wWjIOSec0XP4hlwZ7X+py7ZsatqT50zJbubuiyxb8ev1XxOy2cIzEUlWSTuwjN3N + L07rSi5+WkPcNbegLyCw/KS9lYoGnuPAP3JfehodZKgHqlp691dvxcIYiyxCx1mw + 0nAwZmZUkW4A5dkKafec4VrhpfvXHH+nep/LUs2pxs/MFlGIvXndNko0YHZtge+j + Zs0/k+OICHKAPj87oCd1oc+L5NeO/OKzacLOxA7qGWx+XAPvRTCnjvpBEA31zOQt + uAWVCmnH5DHwwwVUnL09Z4Uh3mWsOkejz/tiMDWozk+C4hVSJbq6rOBt4DkKbOyO + n4V2kPvZl4Ua5G5u4+NoQWAxQpVAgSJGwaZcezkgAELwIjBEYk7sYUtJSMQJ5/1K + y2NWGt3Fry6vlg07wlfJFn565qZPrjmEVYhXmDcpg4e9U0SSASMW75A8tBlTr2NK + tnKEI6iU2VgTJzeL9v4qt5ek8Bax/RDtXPBa9o6IPcazIxczhtWbA5/EpgKyqSHt + TH8mx8YrsAhU2PjUHEzrA9N1iAiyyNcWxg8HK9PZZnamfHVqDPNprQx1qviTnLbS + XgFSoQzVarQb9qh2e8bGNA4RrYxIsCjjekOFIsOEcdn0RxePxlylrd6NR4bcPIDk + dHfkZ8s1GQew+ifUAtHrBY3wDI+SRB3TJD7xVsMXV1qXCjeBvPC9cisWruTKm7k= + =X7Zs -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DsZXvxFXTXoQSAQdAQIkajIuQYmzYIYwh5ph6v6ftXz+/WEpf2hz00jXpvyQw - Y2yxkGLgorKwz/+wlr0Ig//ap9l1jXF/aODOB15XW25BcX+/ls/5p9oLPVJZHycz - 0l4BgmPMmXv67WB935APpFMEfmDVt+lN+eJR+ho1YfiGEWOSYO3gWpR/hvYSufmS - 2CK3m1Gm+roca7OVUP3N3ZajTNzuGdFHs0AgbRdG8LmBuxnXr0MoRk8+3wbZUvgD - =k2dY + hF4DsZXvxFXTXoQSAQdA6VpoUl5IiW/6g0gwxMHgHkdEUh+lJYx/jpiAXG+JmFgw + XuFEmkKMmPH7I76wbtDvUOXNAXZITF7ViPV37BICrrpNiPuHBIm/n+E2MPSx+Ny+ + 0l4BeXfh1786TcSQISeo/J1i8LHErpvBbAHrZizHTQIR+C1yibDl6Et8Zi6zjiQS + hx28tXBpOhZcgNCgn1DZZ0JZYhbfdA1u1KOodNL/qff5bD5EDr08buiyw6nzFovX + =fMWk -----END PGP MESSAGE----- fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAWw13hKQ9OcsyeWaQLKcxMAAv7X8uqLzB3NQQJ4SDSlcw - c/Kouylot/cIT2/JyPpAxYI923KKIM0NndbFIpWbWAgYE+DSjJJXo7nxKugifoTu - 0l4Bz1n6ZXOG4Ve45OTBQvIVZZHpfIYHgyGFLLg5U+yuVnzfF7i3SiFOPf5dX7eh - jXOKJCcaHLbO1H1U9a24KGdw0FonayGLQF2iB7zFj+jUBU+++Gs89F7C6Byy+Why - =8Wj2 + hF4DerEtaFuTeewSAQdAdbiysI5mnEGyRWOp7ZurbMzBj6IiOq8isNy2ffKCvlQw + JFqAepdKu4y5EgqLOqAYze0gdfu6N5MckrSgkxQ8CFOBiG3yP5y7rf91n76Efyo1 + 0l4BI9kdv4UxcHJ7hhnfoNXU0mroh+/0yKuR/eC3hKyR1eks0XHukcxeyxFmGyPN + CS7CPJlfolFhEB5xxPhstkUOSC5CYpTtWNCDPw8Ga32psmtml9gspQqxaNBpG5RG + =G/EI -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//ebXjOm3xcmz+r2xhSpLQwqQt8rvcokPWProREWuCdk8P - 60ToLEZr/Fm5E4hx59SGsbLQJSPmbFO9/Sb/gLiEtaCT8Bp8jpe1LxnJugg4UyaU - PSKm+LrU8mQaJ8azWiDPeCS1x3RVqiYrY/ccjz4hB1t/EcJFu2KZgcPktB11a3wS - PLQZoDOnn+EQnzQwoqK7rk8Y6C/wIKLazCWDQ+EMtfzqmRlULZovpNqhLvUtCAso - 5PgV8hZhQssoNl7r1ss7oF6AHmUmZtgusXEWkzkWXm0ZN0bw/NGcCcBX/lbUQG4F - mojbMqmA2Uso9N2DP7h+P1dGoQcumBv+1q23CavmL0rTPKOgsf8FRDqBDnQFQacI - yeHpxjpOZ2QiC7PmPEHKLekAdzEC6zjPNrAm12fjKTAGa2e1udxWf6BL1vvqOhVq - YeZb7czxfOJrM6pS0FsVp30w+fuKDhvAZTS1M+nhq2+oP0DwRHEoa0RcJYYHjEI8 - 1T1f05Wh7XPP26c/TB03YWXECcGAybG9xXv8sAff9zuLc1XDJm8K2dUH1omCXLen - XHO9i8MqUU8ZZLkZA2DZaUhxGvtUFNU+6upfUT6kFwMVgoPxRrK5E6c+JNuFy7AU - UlH5YoXbjn+havu0G5zRHboPxLIxgwZFcUUVFm9C2yd6IuvUt9iGQmomLXhbvBDS - XgE6Vxg58L4sSSKO9fRZPuAh20ULc//JMvqthzGYzgTTBYNREHnzi/3f4I1ZYW9M - 4nfziATGnNz3wPfrnXCawYwy8IGt5txS52xEFwaiIaLpzOQ8ZAEZuZZDAWWdB0U= - =nmnQ + hQIMAxjNhCKPP69fARAAmNORNuwmkrG87lk4m7p5wo7rL+OC6vNBO7OzTpqcbUsZ + DLjHsUP0haoLtnnoy1mO/0MkG4xWhOzQMYO1clG8uVlm1WofFjr/APzCkwWx8Kse + eFys3DXQqrRNbpTWcIUFt1YH/cSgvTRuiCiI/lc6one8G2ntgplnmxtdDQYm0Hk7 + v77Dx1eWba+0b1h4cBVtTyo0+lLK3IyKEqLM/+t3WYwFGqH1VnNNWIB2gpfj1SvX + pIeYHWPIeomq38AwI5/y4apAjEGo4uYqqfYnYwPHBUTYSScI+oqmBtvdQlu5dqQV + u3fUzgXhLNyHFG5pOcVVFdMmRfNfuO3qfLbPCatFQtFpCScuCBqUKHSRLZT9MnJZ + /bZTnu6ykau4hmatpIogMactpyohYMsmVa4M0hOirugIAREh4XTVbtD5MGEfn705 + XEohZlQjWPpFot4Kts+FB/9FJjk9XVvkmUEHt/QqgKzobnDPV9Jx5xBZWQcyblkF + d6s/rNWOy5eCuF9+qPYWDsHVDQ7acwPNXIkHuyNKwU/7Svxg92oz6rSLOOi9/XC+ + G+4g3iGMs2NRec4tJs+1NYa/FwkaTt9OtzMZoYUjiMs0VowcaO/Cssmi+60Lhl7J + egEAKkLozJk6AJW2PZUtrLFR6mrlBVw+81jnKZl1QHHy/mOTrQMnURFBBlKTj8TS + XgEyQXGF1ajYk2E1sRfMWgsgM+4ZuWwE8JIYwPY8pM41A6Zw/UcDPhlf59VYenBO + t67qPg9yk9VBgcM2N4zcMxzZ58PmEL5WaPsNoo5KnIlHdkXN3MhKfoWs3q+udG0= + =fsS1 -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoARAAsBsrT9XXA+Qni3XFqquN03NzqVwxE8tmDyB815lgWtba - P3Ser/2UkQY+X4a8qWCDp+i48Mn2dmp3LUO+iX5gmcOXAMeQZDuKSz/4O5NGVzv8 - 9766y17rpqjibJBogENZQFTCNTnoeKBl4Mq7rlSJKajKM29mUlEkkcG8HsW6iXmf - zm362bMuTRBWGhHZzPWwqK2sXYeRPCLbGSOpYIdRXMY9k68V6uXHipDvarVEdZ33 - Gd2X7E2z8hutTsxYzY1rgVMuGpwIeiVZ1HQCEriNSQF8OjBrL2Tn8lEuauauqtlX - Swb02MGhDpZTGsMOtETq4VsBkEu/tpyi1q2XLhNBoF2nsRxKuy611ebtbTgzYejv - eFP35wM+HfxawQRsZBidnC7j3SbStiLmyUJBJ8qq7lZXDmTEHPWF2Rcb9SwFGHu8 - ZtKU2UNzlQI1tMbWHfR++mynuKWp9PhEwNnLRIHvWl5fq6xYHPlvHULQPgEvxjLZ - 9j3pTUg5fuq1KIcMRAKeMt1K+P0HbnW+GW7MSx2QDPLsw8HQhpCE3n1hGJHGAKfc - UXfIlVPeLEJdjGCoNEIbE7XjVBScnkBcgq+3FT/kXOBgQnC9Z+ll9iS3qMA38dtv - iGyyZXHgzliPGaVduhgSDBoQ5GfOaqBjVaUNmtlKKl37iA7ND3Yy3rltL1bWxpDS - XgFKIfzd8V+84w9UG6Ckrxyxm0NymZFl/e1dPfVp33iYEQOPpfMnIdVd2uXOR9pz - 2DKr7wvBKBnbXQQFY+rvrPYPPRGmsi1uYZT3fjGBCfZCz6RN5nhUzmE1gmtlg6k= - =5HD5 - -----END PGP MESSAGE----- - fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-04-18T22:36:22Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQIMA46L6MuPqfJqARAAlMfw5PXpcGtDzNEqMerEaTaChsJLjF9fMoQOk3ybJoBh - V3n/nvd4bcT0neTSu64u4LK0F3IUPM7rOWYT8+ZPKsQttEBPiTK9k91Ny7IAovN8 - HhITvfkmc9G1VNLQ5ct1yxej5GZCw0Ce2657lQzLy0WOLeLxP9ra+6USjZnTp14A - bvIvIb07JwT1f/1Hdbfi59AbwXY/R/BfppSAW/+52lx/mNVQ3s+cg9im9Kld8ea/ - mfpa2OD0uLowrAIUq+cuW0dAp4qLTJ5bNs/SF3GpYBoarGkHatdodrgNDhEcNUoe - QlNWQanqmJEQnN7m+lMmPPN8S92QLS5ioXb/RosyoPpFqIB2a44TqZPpk3ADXP3J - CJc3jOLxxrg8+os26RN3nAt0gXhkTfdeRjKjCjCQDeRFDsDpNjJtvVVR4yFAVz4V - jiTbUlIuXE7JBjo1HA7QcnuFQgjscctetb6Zrd+vFtevfwtkZFHW/tvKaBBnSajp - /0tJqkY+GuF3TxIxq9eX+dPwsBxGkgs7ZjXc9qoxgGt3MxB3BpcgewkEKbMqBg07 - 217Uub8O6LtaWaazuTkko42j04sjy08NLOVyUoTiYIm2pPbWY2UsX3nMVeBMPhcc - BrdTjhBAUdV+9ksAN/TOuH958y7BGT94NsOdGsDchLormzfukOubkAHTqwhRGC3S - XgEk4Fl8RPIigm65rnl4iS24PMXlSyAh8reSzy5gJ1Q5a79QMQaHxAYZF3QHwaQd - rsDeDjRW1+cOOWMAsKcRj+oVwi8VGDq0gMlK1UjzxDqtF2klNp6vEhKunUJjXiY= - =J1Wb + hQIMA46L6MuPqfJqAQ/+O0YpRTo81RMiSLFxFgHzznr7gGV7+kNY38+derWEXouj + M0k1Qx8qvgxbF97rgRMM+bKw1oSYyFlRxuThMbTPWrqL9Dh4x1QV2XeirmEJwtmd + A+7VFNBbRhClT99qlWv+ApNBfpHqswbETyphEO3OqMnvaA9m05tFxqO73ITs+0J2 + b4+OE5b55zAAjCM7iKE1/Nz8KLOukkV2mmLGcLdsNmS3kniXYHXxu/9KifQKGDCO + 4JPPykS2tA56F6E5+DW9hGKTrYj6KGFXTYnDpd3m0TZmKCLENvbYUkvzJThqGR1N + JZH6Wa+2BM418mqocJlLuJXEaiSLjH/aqnecPmlpYJjk9DRURGNMUqyHsOOGhKyq + kCOxJj+uWrBzBcVu/qrNLS/Rqf6S2Klum3pEynU0pVUexsJSvhZHJL0RwS4PJ+qF + bCoDb2ez8nXkaTO2ygzaQeCf6QNzFJUxLygcNeLFEVd5GDdWGsQX2/REw1+icZNI + qFKV+G0xZltub31vHOVPc6gckoLBhOCTYvVkwTGgiLvK965dW9LZlYfT9tRHKNhF + KCegFXLwx+8E9P7iRCk0N+Xkx6L0lBaD+iZkvrhlZ74kV7B6A68WRc4fA2RTluY0 + O37ilQ05OU3tWDod6jNMQJwxSma9cvN2r+Skt9q3aJCUX3/qlZiuY0WWkXWGKiXS + XgElE5+VLUNbRc+g32ksu2a5rcsawa87JJYgtDJe+sJVo0FvlKah76OqBR5hhHq1 + bBqbp2olvt6WtH5HOKXWdoH9huNlmjqg9+oWmCiypSyxHZgVes2l8s9+MeuIorI= + =qfFQ -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAvKEvSzBoDTFv6eyiyPNo8Le9VR2Eb8FkyaWPJ48hLGQw - sLenP6WBgCyYgefOGUjzbh0Bk1cB+Fh/adK9yj6leGFBimD6dIMc/ZyetSCwZt7E - 0l4BwkRUtHGD4WfVIMXXINqnI1SFMK9/ZgeSKUti6xzd5SegYBdthN3K6DWtLe/z - lckzEyMLR5g9k0awFA5IqoM38uifyU9idmiD4UbG3TLYQ6Y0GjBglKIiGSXXOK0r - =/XG6 + hF4DQrf1tCqiJxoSAQdAOKIsVcI+j/sAVyHtmnxsWbl0qVueqt1xfbO/yz3t9Fgw + 363msHeql878XRMFn/9wBiyIGwbnv9U0Dq6/x2JvEqtKE4TlAfdlZ9SZC03ozZ0Y + 0l4BqgiGBC1K8KlaqRfEEvkPrYjgtmKTy0L+PAZyKUypYTgYQFLlx2N4FlWvgzk2 + 6aw/V7jJvaWmFSzX6ZQ70CLzrxz+IkaqGO3zcxbmjnY/HJ5uaQSlS/687SUro567 + =WHIb -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAmGoq8vPbWFzZ1RjFpeVSwBbe1xc9uaK5Gi0geBX80HYw - e+z8Lpp6JQn/AvBeSTSBY/wlp6s0uxuFC3ZwR+cdO5W7wVV4CCjaiizzuC0b+5qy - 0lgBMSSBas99DC4TEjMZY53/wuIQM9ZEnu3OALYuh0WJKitqz9uYH8TxyCNZEtbb - f2UlQyMmRl0Wdp6BXMZOh2Gj+PDo5xaOYfwgrgOs0WwuyrbEB9rdz/Nc - =gg5x + hF4DzAGzViGx4qcSAQdAUbwMoEXIRxNd84jcjQQIuZGakrDo+H3DzJGXzYlFWmcw + bqd4AMebcrz5OGMwZ5Q52W0lEoi+Qo9LyUi9cDnnHcweJPolE8YkWA8RNVPW7S/C + 0lgByseHV5TCicMewOGZKN+CQ9qJj2Vsjju7BdjoXhx1GQ+T5TzgX5Kpi/R+4ozY + rVuEA7kJi04jzjXCkF1NcU8x4kG26k6croZzaHnc9IFHanlYwAIfm/9v + =g3TY -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//T6W8lZMNc4Hl53aC2+Z6FyLqlq0RCN7WwGoVP9+DYVMS - rBqWmO4Sw6czfpz2dzrdsk93Ivc7I2Lg1PdnMF1SDnw+hOqpA6mk7IEjNckb/VT0 - +iqIw21Gn73HChLvjMjSKjt0DlS041FKDeMh/35AzLdyhIzt703/InFIIACCifP3 - 3qYJroPMsIt6bL4rSYE5YiF/xQM+nfq7PG4v/RU1YB6HDumNOtW9lXx0jFrN59Xp - I3NppAzYzpb9rxyAK0A3eUq2QODSj+IUc0QPljKo3sdRKbOSY0/JXdBOjAitvX6J - NpDIzFOqowpV8ZYmJqByxUcM+mSXYvpgvsV7B2crhtK9m0eHknExnxWgmY6dBOGI - SipQ/vW56QUkP+0Dwz9FMKolQyjhwH2OnMDEyB7Xu971lXxVnwFV8P3JMeA8h3Wm - ccgpMjoc047sebrRywAeiIYSMNxtXiNOryyPFY+uPIQTeADOHaIMzAdOCtMVQZs8 - Xb5M0RNJVcDDr2VZ3VqVyBwJOQ3lX0xESVJhYwOrZGKMWEBse1aE6RcKpuI8HwFe - MuEjkc4O7iHyKLZJutyYVdhYnJckuSirGgou+gNblRhXAM6Ouod4c2fFOfSHs6ey - JKoJdZ/6JsYh+lyCPCqPBFodOBpo2R98gTA93RG35hPYZGzNLxNWYp+0U8YxGzvS - XgEq9ql6LDIsaWsQ32fTk4GIkF/P2tnX4oPNjxioFG4BxNB2Gi9Rmm+PWAbN86Ro - rQSNnrmvlSgCIwUxMu+L32I45iDpW39CsD05FJAAbgSwUhyCuZMlue5LCCQQals= - =n4Ic + hQIMA2pVdGTIrZI+AQ//dHIsdYgpGUI8MXcrvPemXepQWzHm7q39yH2ruG7pgx5p + Ei05CZ9J96snFSSlkBtCTnKQM1p/o9CX2YrNe473wa2N+IghuKSH8KEaMm7cKEpE + cBsVOUxS2oAaqI8n1+6g4fW8GlORN6sQU/gzb2+uyR34bm+4iBthqVcEHqF4BWFJ + KMHJdHGW5Q1IhrpeBAhSUBLtv4hrvQNnVAUOpUieKC50fgg+kAUXjJu/wa8oDlB/ + ZsBpGEhb8cNvQepNkvD1U25OREzVTQ9EqHUfFSJp0jZC47dg3CCnOJbmEhvuCVis + IfB+SEuP2qEgwOz6rKXy4O64/ckQMduw91wtacNwTG97c2m6zC8R6FsVPxLLeIAm + w/jpJ0bb+vIokRc4049YUVwKT1egbEzrUqpul+Yx1GN1SZI2zp4kxtfsx6lJETzw + Z2G6CkO8uD+cPCMfa5VarQi3ubtFC3rNgrBbV9OIYAbqHUXIwfRhWU9En3GXSB9J + fxj1CvtndKdYh1q8Yz/Jc6hlQlR2toB73jiQCJ7xq3fRWhliDkRQZnbzvxZapfp+ + xvXf4rfCwpPia8fmeZiNPExI+nfCh5jbM5NMnMBKWadGy1M02NXGxvZQsmc6GJ2g + sieiPqkTNv1iyoJ7HyAqrv1j8tKvkfDdWnXgbIBru8BJtnN/hyFXNhT2O4MQ3WTS + XgH6dvnRhOdWSFq2/O5Xxs+tXJnfpwgcvct8XcjigDgv7Q6dcN53e2xzfl5QsaKi + +OYzF7hJHmtlLSw/RGnLOhJYytEMz3mPaPSmWYrKm32Nn3ditsxC3ET3s4eqBNw= + =W9aM -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAaISrMkj/h4Lhp3nqgo9TAQ1SV5mmjozdnreuVZky0kgw - GaL/zlxdEZRrxdmF2/KTCz02cn/sOYPqbm3A8+YA6Ib9UzoKcDnsWUMd0g5oV/rF - 0l4BPEeHedzm/rWmhs/L8VIgT7nBd9zqv3E3o/g6kQdYNbjtTviMZktkghpKHab0 - VIahda8rxvu7wWVKRfQKqm1XRXreB+sW3CQ0zyJdnCZgDlBTavGiUMeBigCqnzkH - =6EeJ + hF4DKKbvh61jX5USAQdA9UPOuQ5KY3tuMzpOoAlBlVgV0vpedkS1xxTHIJ4qu0Yw + YYXv5TN06VWkxsdbhvq85yYc7jLJ6CWe1QZy6D378qHAqUv7rUl9Xa3p6TeSyMui + 0l4BLYThGpMbBlIAkpy1h8at1Y4KEQAVSvN5bpQD0FiESU9TlJzkGDdVBPDlvsDk + c8v4/JPwst/DjngVugR7aFju5UWXtDO8BpXPD/LmNsIoBtMk7Mf30+J6ZOkIUR8B + =xdAs -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/pretalx.sops.yaml b/inventories/chaosknoten/host_vars/pretalx.sops.yaml index 97a1a7cf39..1fb9028f37 100644 --- a/inventories/chaosknoten/host_vars/pretalx.sops.yaml +++ b/inventories/chaosknoten/host_vars/pretalx.sops.yaml @@ -7,203 +7,183 @@ sops: - recipient: age133wy6sxhgx3kkwxecra6xf9ey2uhnvtjpgwawwfmpvz0jpd0s5dqe385u3 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxdUUzYkc0WENWSVNaQ1R5 - WnZ0VVAvaUd4NGlONkZsMnZFY1JjR0d1eVcwClVhK2FaNlByTlR4VFJvUFF2czZo - ZkRHV3ZJNGNYWU92SU1VSVF6NXQ0MDAKLS0tIHQyaXdCY3NTQ3lqaUJWcGpuTUVv - SnN4NmhkeTBlcFV0TEowY29XV0hoN2MKdxOW9TCdtDoeHATQodxj20PcZU9TY0dG - RD5cgDKIqbPM6UyNspAWOprPoJTlfSV2ip/y/NUDwSkueevM4AF2SQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAyaTdQTmhaVkFWc3poSEJr + RllBK1hRZ3hKQUs4UVRRdWVDS0NlcDVDTzIwCkxRMkZTYlFUVjZOckY5VElJZWlY + aCtWbUU4SGpJOTJtL2VCREIzVkNtN1UKLS0tIDdIM2RKc3NmaUJkMGVObjVRTzNq + SlZJYzVKcnQwR1BGVm8zUEVoeTh0WVkKzQy9VdHIUTQQzUs9Mt5qK6Gv17hXKahe + OtOXCJ4siPFrlJCpxV82Z79iC5+9mx1LV4a8C9E+PQ2OScqfTI9svw== -----END AGE ENCRYPTED FILE----- lastmodified: "2026-03-31T15:20:20Z" mac: ENC[AES256_GCM,data:XUk54tSq/2B5DlHSOovKuGT2x5ffl6EahmqriA6P+V0e8D9PNemgOcV7s0GfW3QgKNQ7RCCRaXZpOZADh4yIR/AslrIGAJ1qNHgekZgRJ0VX8yydjHMpVG5u9Qi4Kr/u867xXhSzjSLEsefT60RGCKyrQs5/QqkK833PaIJylqE=,iv:1sRcJlDHN3eu/oRyJ8e9TB7+5yThlf6iboBnaaO/IvM=,tag:EW+m//ycUf+crIeEOJoPtQ==,type:str] pgp: - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtARAAk/B5Lnbw5v0ntaBpVNPjDSt8K0TVpk/tPodQsm70S63E - FRzK3+ZUdgQeMsSmVOsE4J1aGaSXNnKnmoeXb5QFfD4/l5ojqFXX3rbJo5HYnT0B - DI+H+blsOm/EFTmmIDjpUMuUcOZ/coT06U+MCYab4RCafd65Bu6vRUHyadhkEBxX - 9wBtraxAhRtQ5Uz3iDy+KteTiFrjuLPns32YppQ2NdfEB21tmLCPoo1UvAhYnKbh - Ld11ZbjYWMi/QFWOAjGrAt7KHd4Z9I1JajQ7c9ckd8TySE7ATocU6RV2UgrRJmA/ - c4QTzaqjjQRdUR6TpmSES9tH9fh8BoBv4xzgaa2/pjrdAKAfxVdpPPywA9m49NMH - yvW2ixbj9H1b9brKidi24Lv82dDeAkiMwcca/eIIja5r4sqXkmI/xYn2kZKS3FKS - EeiHyc46AqtAamzV9V1xtEGiRb9RyzjAZRSQi2hbDr/E1j0IdQ6sv/uHw36YDvU5 - MheGJtzo1QE0kh+wfWzDbW6RiiBOeU5qUIAgEbuetkPf68Pe54o5IixCyOHkzpEi - 2lDacJ129Pv4kHM9m0jzGVQbwyAp3mz9vMJ3V4HaNciso5iZ90IVDh206ddWk71a - xbfDpqEqTAwyKPvPSMiPeLSAzpKO3WpId0T8/B0K+JTLTM5O2g+W8tYshX6Qdy3S - XgE5LCL/enTTF3k6JxiYfZprE9W9fuoDvGYEwtsKaP3E8x4RzkVSWPsDvNAjOOWl - FDCzB8SxrPxN8ELD/Q+ao0Wu1/i4cyGER9EDNr46u01BeRc03SltO9x4BK67Dig= - =8qFN + hQIMAxK/JaB2/SdtARAAhrvmTj4fQGC5hcIc69cu9Lw23ONVJsMwI67RoeyNlpfc + lm+EbJ2R2McWBikxOx/fcARsqZqYSue3VMio79pdhx4azArgYjm7UbH8BZmURwXT + ys6ygkfa0qfLv2XYjY2ABjzmmtvTUetd1BfXP9/LHogJwDRYX+GXIphDCS4EEdWE + 2Yvf/kpeRLz8BnPuOyuf+x9ESOqKCFqYMTCPw1pEiZiUD4CxMcQLysEmz+5jwe4d + 4ZqzF2sZ/daMXmS33FpkkHFogkuVt9YNtrcHTfqubV3Lq8Ry8Pr9VK7eRqQwWJiI + 5M6YozAcFRfEoLnwXc9xTJuOFr4pvhebT8/y/5Ttg5S7VdcTgPFdmZNGnxC/SeXD + 2OEphSYA1+DiC2P3Fh89C/E73qguVsstQ9mp9JWYjhBGI/3/XWD6olUk9IBzuKJy + UwaSf3HIWHFx5iYom1/ocHnn0EsFc8aXDjTlpGb7gWIk/m+zF6HZ09ZjOeIiFfdb + qHx3uR99ggIS/P6NSbnKI7fbhO5zoq2mCUCD/T8Jqrnt1D1vv0WDb1EY48E3Qg/I + zmomcZgey6wv0//7JTqiHxVebV+llVq+7tbbMJjxO3MLZpTqlBsLa4heBC6TL4Wf + f0ax8rBsPVHSx1HsOoCKFo3/mucjgepNu2Vtd7Mn4kUZ3bz6x+MuQfPMoAyFDdHS + XgGVS4aZ7p2mjgsHupGpFtnONI775lT7+QBRMIizsxWPpNorKqXK8XUyAkXoRBbR + vzEIeEPMfcWolZcmGyyLt4KYAKOm76IbP7ZWbnsRG3LOpbV76I9n2fIrQ9Yse3Y= + =KBLW -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf/Uq/nfjdtdxSF8MycVSVohKj4+OIv8YYCULjImgcj3TDj - vlHphMQ5bYptoRxLYWcWBQvnTJdeZ+JXU0P6PSi18+LLC/T2v2i1u0zYCG6JZnfg - J76BdQ6EzF/s7l7171OATI56hexIPVYl5X9SFIrQbucqS8CBgOBVnjowh+9QOHhk - 2WWDXaqt0H1JCx0fl2nGDqAsYN24bsoxFpHI+mLBVzlqQoEJ9Xa6z7X/n4PJmflO - 2GRv061zdPiy/uzzXl4+h4tAzovcjYAgZabUcdBDU4sGqYX+vrrHvDIgtF/eBJ1a - sEG5t64U0TKbBv8v4Amr43EhJZoIdJRhouKEnI+cIdJeAUi8V6fKo7NTQRUdsx1F - eie7LL2khVfC0lUJD8PfWi7KPojjNTmQdFOstX9BCSGOiDqJAm5gXVxbejypoCdn - 9ZAd7pkjGVVDHvEKyZNGB6puWK2q7hEBK323upXlaA== - =/Gcs + hQEMA1QflAioE8i3AQgAowZWCVAt42m+oNamsz0trYAzXVxeU2ASRddPtzduKQtH + A/11mX1F46X31ForsbfcwMT6fT7CW2HVhNKjeTjlS+XUCFVOHq7aol66rbc1z4pD + l5c3p9ihYeN37toM1EEdolIGAoPeLuXjsuc9nfOxeizARsf1QGcwELrQ7fm4Xf3e + lfWmYncJIVFbOT2s24nL4rc0Z0Cg3PCoPt7AF3H98qtxPEdQK3CDlFvrj8aBcASc + /vrljSAqhMqf/3UjQwpaZQW3KMLeYD+Ofqzw9BO7S3LJ+r+42m9ajkCcSnIkSdyR + 1NTN5ebP5CDllKO/fNmUiwDV2xbSCBt7Et2+xsqgudJeAa9Mfvn+XJCz2zIvG032 + shPThoKzj2IV3MoyQ0K7fOIxzHDZZBphOKJ0N4ENHcaZyvj7Vnvf1ys82DBtOxav + h2qkuiJK90YhxMzF/WF1hRx6yYmGkiPw1wcZUonsqg== + =LKaT -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAAgc8WmBFH8NYpCJBo8bhnFT4v+dY7cwjY5pYW4UvD0oPF - zUT9x3LteDpQYInlePAYFUmAJVy80T/kIiQZWw4ERKwDPK65WqpKIHLtVkPhLPMk - aFsfKmAqKZPVBjwBkxNshG2weqH2NDDkA+JUHYO6W6QFjXWKAZ51ZgnQOfT0PxIg - HCWlmlS9ESstrpXppZUTABt3VtyoeEMfO6ix+lrHaZssy+sIMBCXy8hEmkgBKN0f - TEkPYdwJl4krV090gXjBpu3et4DMy9UV2Qk2h7NcL6Hj+73vr6SRZHwv3X6fXtm0 - s3BXsAV0fMDYN2yIyCwzvJglWlNEhrD7AtJg5gostRKPnFMXmxwMZnD2XhOrkpMq - 9Dwl/53/r7BmWlf06rsltZGWrNjMI1aim1I/6y1RsvM+h4Y8Px81Xpd98bN3QE+/ - wT/N1Er/T24s+4sxayLrJph/+U64slUwVrfaYuJSWf1m+Rv6K6LuzpMRst5l/DGo - kf+7yl8dxmF8Aihr8EkFHsGH0QhP0J5kW8C0BS+qh5fUiU87EIwBle1LawTrtXd0 - Epbad3wTMn5c4ZSHyhMDu+S2Gr6AyfB/Rsivx6SfUWOPnXAe0QIdAP6PAMSUSIZU - hFU+aL7Ygod1ADVKP9LyVE/ShJqP5Y5M0WscUtmxmFU5VtCaXoL0xyfHd3/e81TS - XgGC6F1Ib19FLg+4G83zp3j/MFu4Ud3aDAZKuJMLVkA6YS8leqFgv+3zmK8K1W7V - 7SIF3bFU/OJhqUhSabh5I8GZwd4MMHHdZMb5GZ/V0C1bUajZDmJKZTdQtbdH9cI= - =sAHb + hQIMAz5uSgHG2iMJARAAp5QFKoeZXRyF7geF0EBxcwfx3AP8bvkfJfsxlf74N9U+ + cG2AAczvQg7FolXNlNilvQPV++VsP+bGf8/Gaw4LzAyZRqbJd0bfVXoUU7U4VqRP + Hg4CQA1rGZsO9ACrwD8Bw+kCrCJMPevtPSKc+BeLVOPvI/36kmYc8Far1ROGXfoa + tj5VX6AXlAEjH2auXhXL9Np51yogawTUaA+hUy7OcwsXaqJ8doCQEXQa21h0D1Kc + akPtIIJHYhesUTFWNxiNCE3azm3MHKcmxbe6K2Iy2r3Mz6YSMcrnT7Dqu5v/5c5l + KpiVsvi9e6xsvVrlEGqcKX+VptNJQfEXLe0rxA9a5bb12E6UA+/A/RhwnwyXpIUq + bJxAWNtrhLJov9RbEn7Svg1l7/7kuce5FTqWZbHUzSBh6E2caPXN7c0fW9np3Uig + mYLknMRyKjtKFpOnmBo63O7ZJN1vCOAHfRpEU2hJHqCaHM2XrsQVRdWMijNivctd + fZPak/LSm28cTUDCxlulawnZj8T1f2abna4F8MksqADzegArbDkT+r/Qt3Ww8LTb + 18wEB/uYVWXA9KtAYRaWe+1nsLPIAMjNWBvI/Le1keXHVn+/oA8P0PFVh7Apvcft + tNQJxwKvWlzvNNZWRev52ZIivOCrhe9gUy/Uc8lM2jHj0wcmVhxolVYBipFlicHS + XgGpLgd+Nqx6OJvFR8cXTe0xM7WQNMtqSD9Z+K99LLWrfTbq8l00wFWejVlQAe2l + EklY6VkmY3oZ0l5JTvV+LpFn8CwRNo4KARsgylQYNWKNqQ4fsfmGjoNpy9qzr7U= + =gy7K -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DsZXvxFXTXoQSAQdASa5m/i+cbzbAq31Cr0anwjDcPLMAzVQ/ScUFi94xLFMw - YP29ODVCPg04M1i8tq4EHMPf0qbJhl9I/wRxFei9SxDRbOhFx3d60NrIcVgAaDNy - 0l4BHFAdDZJ0CUmmGlX+ezHYwY+WbxI1bLB8yCcCzZi91QHNqgTATgj3gTuLmo/g - GXZATt+ZZtOVZkf2ZG4IM9Gic8Wj7EMv9zH5yfEAXTejb/dL0mCTzYU5ubgZqt0U - =2KON + hF4DsZXvxFXTXoQSAQdAlo1jSgvy/rXeEyyzMuIE8S4lMflgCROCIq+Z3GkbgnIw + Ir2QRnjK29ctnaFWMUJES7L0Ee5VrR2+99jweufbmZW5mtSNPWITh2x5nYo1riQC + 0l4BwKtFgs7m+OCQA1I0eLafO7QreuYxHVYVrGm4KCM/V0s5WZPpUQyfbNtke2ll + QWVl9Dg0IaOObtBHHJBFbg3HDxfU5qlQcBkrb3SDx3xj0N8zG0UCwhh6f/pbR6JS + =Zxsb -----END PGP MESSAGE----- fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAEslLxliHZSDJFDDJ1DEcoMoHaOhawZaWCaayiI97C2Yw - VHdHltO6sm4byDL1p6GuxmHtrHXdC09GaSQ6zDfVU0U9vw9XwoTyIpVaiAetCsF9 - 0l4BH5/DywqJNl/7jGgHc+ay2Kcoz8HZO90QVdAqyT3IPrifIA60u4TMekjTbjMQ - Yf7ja2V/ogkbZcE3i4S8UyxJ1YAGZCpnd6bUnyY4zz1WmZGVQj1CFiIsdGDn5bPU - =10HI + hF4DerEtaFuTeewSAQdAd1GW+GgAXKMCxQRTQUpTR5/I8/H3tz5ZZSeT17R4RxYw + 5Qwzjp3SiGYhgYRsDasXGFzZIdAO+3Tq8GhrfeWHxuFUdAL+AojF07mWrChFHNQ0 + 0l4BCItV9q9VjS/bhnSirDrOtZVtqGSDw4Xg/pwBLzYFzpKaTgVgfMxVNimGfT0+ + /x6UMfKJ1IFgmvB0hGz7Sm/JbMsy9T5nsmwqsJnOOdJPyyQxpRGRrlzKOBIPgKPg + =v9dF -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/+K6/DFK721fJlDWQYZt1f36S7uMBog28wBaaQVmh9Snv6 - 2RtsBaso1qlXp5NVaWZGCI5hsq3pdI8x+9mgTaJW3qoWjHZVd/LGSYtznWkeQmcn - 6cvC0hIf9TSO1ukj+O7JtlXycrGiZC/W01o2TPSqwzLXsEshaHG3zYCGWeE9SNh9 - sraI43ud5EQIgLS9Wtru9PbDzMZQ4plsrSDXoy+YhO8M0KVZ93am7IQhjaTjLgFS - FM2VU3Pa8F2qBPtl1nCo1XHZl6Pfrg+s/6drJfnEyj7nV8m49WedvpV1gg8Wmmld - JQU+yQts9CCJEJZhpQ1IUGvOl9OvSBmvXLS9gHBxkp7nW8uW5OyAKeDEUXZ8L/RA - To+qPRtHZHDf2Q8G8i0jD+qasilZ1k/+uuEXG023ahivJBIRLId0kLyuwPP9c2Mg - luPoGMAb2bqKpVJ3qzruuzeZnAULDfT+p5Nj/HyHqDM8QqM7tWsiUrNAq8i5RHqe - 67x4d3zSkzsXtEkbylxwAVi6W5ohJa0w+UTCDMF3K7n1CbSpWQtL3ycDu6ysI2Ee - 4wGFUz5Q+Qz6Dme2siqxqNiSQTCs2wc+7PzarImKiAcdaikuMPYt1nviROsHV5HP - 0NTpw0Z7C9CW9pxstsXlTUOtjTWuxH+4FXwjdbYb5CUfdXZBflBe6OmDv/x3pVnS - XgHLKdT9NAvyGbphpIWgai2ugKgIwZARDD+uvAKaUidsTbbIstV7tlQXD3jyD62y - 4YsNjtdb3yfiBeJYCpZ4zeCaG21faG28ZGKhgKkMXqFFL4yZwVXK7PcladIpCpU= - =3EiA + hQIMAxjNhCKPP69fAQ//WODIOeGchZBwwP/M4heAa1s1EcMLcE3ltXRFTZw5YrxS + au+Ma654lla33+kFkwOYUjjQLdqx44sbAPE2+nfHDAWH+81N0mdCBMBhEGEH/2cG + zR+/Kycn2bSUtg03zRJXewBMXlJu63706EpiVxsS4OXTkWdzDxsDfhaz4U0xg63g + Ua1xzmpYS/xlIc7gCJS49144jOO1a1DS9PYB9cOCZteoA8S86/t/jjRl81ufERAP + QHZzuBYzp7P01KpNfPDj78BdMJusMv4Gw44pboVIZZ6F3KsCMLzEw/NcnCmNpN2C + u3VfS0Q2q3Sp4nVs4g7BY8QCS2NdBztFitK+5qTi1yMgqdft9O9nkjfRQwub9j6B + JJ1HHNiQlz3/rXT6cCnvjlFiVzG0QMD/wqM8B1Kq18/AB1dWH8MNFOOoq/Dj9r+h + YhawvV52JicgP2pEGjfr65ZHNTpCjU9Dw+nctCk1A2Rdcf1zZOZNopdsRVUYfC2X + 4GlkpLYM/5vNcdkJdKhlEWKulzA2QbXyeyJUYDtBWNpOLTTljl6Bj7TU5YwSsItS + b8T9WV5XKczuLj6b0zCKIbkISClS987JTTsg/HnSlEzGDa5nQjJLr/a114hRlep5 + RDKeRRN9pBPywpnShOmuMC2JzQ322Rk3wGP4RZKJnyYT9mO4JWINWHV3sLiqhOvS + XgEuNEdQ2iikecDzGJe+pFF2R3akEbWruHchD24ZQ9hFlRcu5ODNuxMAqzgs/7gz + DnOT4vsUkCAXUbzWqJWzuTelzp69WUB/H9CNQKXI1Hgu4uxYZUXoksI4uzcaUeU= + =Fhlz -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoARAAixi/EZ7lRm2InYCo7siTgLSPq1ghlHrmuIhiTfG+Yurv - zUlOhwYtemzmyJoOOxWDV3X7YwwRcyjW07qem0Zp1H3Xyw7mUJbL8X/r53sb69An - rOJ4ugbhX7LeRCsiXTzPEXFDFp3jOG4KIqQ3r4eTkncuWDW7HPdMMX+oxKJ6LyLU - 08L3B1fHwaA5krdhVYWlLP6w/rsjWH95lkffN18fa/7k3EUTWFUDqJX+I72bEN7q - s5tBrsCfgFZ1ODjvthQvT52wkquzXJoKmifPNjTkryTTVgPGYP0UJjAQyksS0tal - afUbAnHTwqKEw62v3HkEdx+JOFIrs1OwJSMsFslcRC/I8zMp9rXhwcbE/CB6X71S - YoCqWLsWcz8QLN2e9FEuvK7voxlQgahHCgXNn6Hb+XlGwxy5Z9L48cLlxxoBMBix - h4OZla9oOomZ9IM9ov1g3NFWLdVVupcDXeVSRNp6v4r7bl6BHXajpjW2JZ21lRQI - 56MArWVJ0vRNmgxECi8yrbo4csOou50giM3cxfflZ+2kwJnZz0mGLAyt/Ig4X660 - Rwk9QDCwoK+crNHn3HOuuwYcKV9kNNQNjBCDXK4qc0tZ0Zt696lY/JVgi/97bM3N - ww4eRx7ZNG/MmflZD9u761Af+UAXHj1YZBSRMhdTF36ZL6mpwzDfm0wuTo9d6NfS - XgEil4hMJH/PExPnWBSpBvcm7UQQJ0jky97GmqOyV3FCfaxWXO/31VEC+9mxM0+p - NoOwJcEg9olvuSZRFmf6BPiJVP1BgPMem6aC6gD+6dZnMv033KBLDow7NOV1BrI= - =em0E - -----END PGP MESSAGE----- - fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-04-18T22:36:22Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQIMA46L6MuPqfJqAQ//ZBBS4Yt1hKK0K//NzM+i+Tvc35ckAgqcMNRGvgz6TH9q - key/v10RPdz5hSFKOt49eN8C4Cc/pY3AiqEZAZlCHbONlgcSb0eU+Udi3oz+ntF/ - ovUyV8fvQAClZJc3IuI1YmaGjh0Bx06rIVTxhOGwuuYfREeQZDajoV2Vko45gJyb - idNwFpKnegiYE/JGh9IKQN9Zw1DaPgKJWJz4ZAWwKtBfMuiWUpAZkHgRIBdoR6IK - wIaSbDiYYrwPmqnEvwoNgiRjNeZzNNegYVUZ5nAfDdrYWpsrFQKxLoUzfHIv6W8G - znPHKw0OX83CqwCvhY2qD5v56pEm0p1ceI0tcuhGR17PiIxqa4mCa8fviZN1rGpJ - S2vVtE1f3NK5JwqMWKc5oKNOVoJAH6Oc8B5ACI2TobAkaSsIHskszeLfoYl6Etja - nw/ckFmotgF+J8EdSWpfb3bAK2otT1fo0ZMCfwDdDfb8Ui6/Phs974yk0x5ULjzF - eBHRqT9JxWJRqNIlBRc0YOwdo3Ef1dN/XRvGPslzDoPTaxzWZJcEX1YzV98ux4oj - hmghSk/iNEyp0U9yT4xznqAtJRgOwBZptkCJUo+LHQSPChaaQ0MHGo5g9Le89IDt - hXy4tADD9l0ZSXj7otzNhWN9OHP8VrONM1CQIM82S3658e+4rKcimpFF3cEqu5fS - XgEZSNd8nUzG9X/jIjuMnxfKblt+FB3Fphyot1/WA4es/bzQfxTYlgw62wUQAhuZ - TE7GntQ3Z4w50H0C7oSfPgbzhfVS0p/iMrp0q5JV/F3UHU9P+/JuG5ipJozbVyk= - =oQC5 + hQIMA46L6MuPqfJqAQ/+JNpZYVi6mN4veZ5c5g39aUmu97v0g7YrcyGDoo0GQ/xu + QxufPEr1F68WWKTfiGRyaC91dOQ9kg9WWfKxKKFrQCNeVaXECYnlROnbTJL7lGl5 + Pk2b7FMeeKOqhs9bKiF9Qm8TvJ9T9zo4/Hy5ucGXVJcMZkfR978l4ZGACOvLLzTR + ZnlmPrODTtRH+D0m8qfrIWVzkf6MOvWaQGZTNI1Nl8UL/+h2Uf10UbLhUHkFQxIT + RZhKxv7yeuT2aiV70Vv0Srgj6csXWYFkmc85LKcfvVGIEGD1fayo3D8RnZRakqdj + l3kek4qCrzPriH0kJDYOPKXyDmLIYBYnKNvEkEf5zKsmbmMbNPAd4+ZVA5rWNRrY + 4bgiRZxuuPVnl3MSR7BrJrUWngvjgB4mCIeEp2ubXU8JBFAShHop5eDo9clYuExY + WZjJT/xoOsr9Am1lEG0JYXY/pv2w+4D1WGrE28zdhArymdezhREce5mMUuohs6JZ + F8U7NAXvctR+2gcb8K6QFJForc7HHZ27zeqBLq1cgcHQbOZFJQ//LpRLBy6RRKKT + PFaEotteugdTQ5CdTcOomuwit+VsG6j6dUGJIEfSSlDZnXXARoD7vBhFQU050hJM + ipCnq7SVCxra7GJSjazFoAvvxJjQu3RPSaRybQn97Z645pVczt07A01b5E/u9SnS + XgEsUrHEB+7h1BTgeROybEeKm9XwdqQkhT1q3b4kQ/qIEIKACsc+SYFUNEVCQERX + smnw9etFxxGFuVStvjlJ2GZ0KBlMVsCMuuiOwg92mNXmCqiBFcHQ5mi80Vtj0BA= + =aMyH -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdA0pPJr7VsKXdhrv3IdUl0JxGRyoOzE+YHvGK3ih2DagIw - sFacCf5stEegLg+wuxVD/FgMzHb0T2Xn1Q8o2q23CkGn3D4jN34ac0p49IKFxcHq - 0l4B2uIyawa8fHXs9J2wrscRHU+ZLR7XvQO3In2WBHJ/Br5xfSTcNhUVINGqb6NA - 7O3NpfDCimHRGPnQBUW4iIN3N1vsjW/KQUcNZE6hMV/1lZWzwm7aHmtejwaUIlJj - =dL01 + hF4DQrf1tCqiJxoSAQdAm2iu+rX3YFodevFM2JTUgWfbZs9UJl3s7pi6ZjEnHRow + bYBCKpxdLspfMPjfdsmDFQR834lbc7ZvbCgd/vI8MtxfJ7e3yvs4DZWnAgPlQk6f + 0l4BYvMvzI9hlGt3L9aUMMOhnZaw0IUn7XSxfSqiboS2b5B0EhzrdSDhYg50CiLa + hYAon3R4sO9T6LFWaqnQwGwC2yEJZlqHQDtT9xeLdtTFqP8KV9ADLi/S32LKhSbs + =dU5U -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAGwFoYyG/KFoWTfzgE6RM9v9WoHSDC9ahq7dmJ/LSBFEw - mv8+t71BZ8e+0KJ1eBCEz6M2+8CzCiJiWoCpxTU+UJRn95cIfyiP3nGoKmckHNQq - 0lgBU88mT5jjHt7/bQcB0Jex6SvXWL2Qm4jZihWZnoAPRnbcufuZWugK45IrBAr9 - HLyDxsrkx/eRNrnBjbY84Y/aYMHgULwKWS1BKEt9VSYlGEucivhRbbK+ - =4lzB + hF4DzAGzViGx4qcSAQdAeOyQtecXB27LkI0GHbw0M89+RBpqusg4m7mnXoLBihww + xDqwTLqMW2suKVHo33AgPBsSLj+ebFJ3x969h5epqe3dX+qp5SnfR5niBJljj1dG + 0lgBi+s947Tqo+wrb4sX22byDV0JVZPbQptMvTZFMh8H2Xe7ZOETXe5gIBd12Hap + 7tosgmjeEnGCuV7eJJM7aYONgwp1BZRwPzPVwwjFbaq5UQSXWYgrnrst + =N81a -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//RxnuO6odP0W3iXdZYp+HBei97JKFiQ4uxgsfPkFvChJx - 3ASahCbSSXSyn8BgOygNYFVzEtOf1rb8ZQ1WgTwQwP342bmEnoHlS3Jo/33HumsJ - cipPxLHLO/hPxIlgVmj15qQhOHAGtSUTpA+lJYd7Aj2vr8t1JSfIIzNDVjBCiCZu - 3qz/qegmsYdeuXsQ4qff83euoXFoSoGjyg9av0jWZBOQL47h4jnQF2k79iMwwCqc - M5JwfLo1rV60w5cAcRz8UgBThkdEY762gFBTaw42Kq07qrnwB0x0IiLgO9RQjKtH - lo2DIrxsY0zClNxkS3HWVefIiud/tfWitt46QuqiHHBSlFJIN2oOmIppCHZ0bIsO - mbJz4GXt6qljzBPMP4Fpq9A+nk85Nr8THnckn3wK0jBHi0cQTBknfxEN/9SETLvs - NY5EwP5+9GqPmvTbjyL2wrT/kBLPCO+pNft/JSSyeZGVmoKClva7rPjw03gRSnNE - opdx/XQpyczbAte2HU2h+iG5dkI8rXrP3KA0Nusjw40pJfDu5Gcd3HnNQ0eH9mRH - pKQNOKjQviHMr/7bm6UHZZTFqKJthauNoFggnNR/0EBJWUZ1WSPkXVI6bw0Etrfv - LPQCeGEU4ishoBZKTr+OaqO5s+gXblE8pcYoHBaFvpnJjPBw5rpvc00Vn+SlQYnS - XgFcStDQXDGG7VVyHWxVoi9uK/Wk6kKtz3e4ht/J4xUHLcgIpmULRWGH3Xw6JQOz - hKlW5cxgpbhbzK5DjfFifGURzWw+uu4NxQNZI/8gm9mfv9FtNI1+coND1e46fOY= - =YnoB + hQIMA2pVdGTIrZI+ARAAtdvF5gKYJg/CumBnT70zQmowhm/wRH8ngwMhfh98jGSu + oZ6Hi2zL/yTIaXoiyRIlItuTVJRNIT0Sz89NWXTZplcmauJewayX3u9JV3MfElme + t5vscO4FSZ9/q+mN1AqLlbn1zGryvMndl5LoT98azLYQnzGvcvFIRbycUJmelqFa + /neWuectfmhPG6jOGIkxX43wtBMNGcn4FbnXYv1UcBkQsI14ETb0THIMfPk9VgRd + ZPJ1V43RzIaADIU4S4x5HAhJ3ImNoEOZutBvB82Lxz+mfpCIsid1oeTYF9F6MHAp + AVlOMPdp52D6HmjQ8n80lOnkvJV7XTv8aWL/HtS38MUhK+pLJI4mndFGPRY0+b33 + MAxbAbOBmRc/KMpE1SQNqMkcV+qiVoZeVzQupZ4s5N229dhi3u3yeOrrxNXrbEWN + 0EInCfrTAZrst89+tPhpn7ebfj2LUv6xfORQun6uE58pyRVkHLvncFJfV/4HG3MM + EaX0E4qEji//GmBGHoRQaIs60pKgAWpoSy6wIL5jvDSGTcW3IrII4qIqE8sjenBY + z0uTf/gThCVbtxWOi6hNXYksYB/25T6hFgdq9vnYyyLpRG+Ul9qFyt6XjAenAHXF + rFtFO0XFH6PxQfx/Ap3QdDkIxfCpqJiXrhWS1ZI57Ux5Q/I5zEOF1WdOtbDwSQTS + XgHA7e9jjYkX5OCtuUOtaMWXPuRiFLM/g7WAPL5CWUa44m7p4fG3qSuQjh5lTgus + fOOD4XojGpdCr3vA3oMxztFRSl8XSXes7DYETnAmuyj+CgtZHrJE0Xl05jMu5/U= + =tMYH -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdA8n3XphxpZ9R8L874SakEbrpx2MJyw+QouaA0WSaKzVQw - 2EHbxB4DTwz4+e5edMqN9AlgAl74fAeOSeirAce/ieVFXksIA0NyYuQHoUAOnC2s - 0l4BULCxw5zdgN2zgL6EjH79/WlSkB2LSg+QgEnTcdJD0ChPI7muw0c+SGlzdbWR - 1ts0eaSfbIowkh+9Tw9KCOLbH9vhC0L2tADsQY0Chx4yA3GWuqchBARRUn4vtYtq - =0dNe + hF4DKKbvh61jX5USAQdAizy4wmbtP33xNZJy6SVy76F1Y63rkqYOB/N/mlgVhy0w + SjnB/sTh9OhG1DjK/dllGJ5NhWR6ujt3m3njJuuDj819/wDPJb4W2YFhquVgYEHn + 0l4B/RnqqCDlsylAPYmP1rmaru9LRXYmuHxADkP3y5cOhj5SvzKxCDOBtPiXiDNk + YQaRFMCnikx9sRM6fzjiuJkw4Wsigah3VNOMwWFdyKmgeG0Ocl8bs3VdeII1h5wH + =kpG2 -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/public-reverse-proxy.sops.yaml b/inventories/chaosknoten/host_vars/public-reverse-proxy.sops.yaml index b1f0dc1872..6afbf94938 100644 --- a/inventories/chaosknoten/host_vars/public-reverse-proxy.sops.yaml +++ b/inventories/chaosknoten/host_vars/public-reverse-proxy.sops.yaml @@ -4,203 +4,183 @@ sops: - recipient: age1p7pxgq5kwcpdkhkh3qq4pvnltrdk4gwf60hdhv8ka0mdxmgnjepqyleyen enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA2cmUxUWFTaGJRZ09WQ09o - YUpvK1AvK1lYMy85REsrM05UY2pZTmw3azE4CjN3Z1FybHZGNkYxYTVTYjBSYm9l - dmZVdDJERG5YckF4RVZxaG1ROEpvMEUKLS0tIGQ3ck04ZW9hM2xPcVlPSGpJajk2 - MTdJVGpuUE9UQmZ0TVBtU3g5YTExZEUKK20jVcAr7fauYMXIBSdyLnyjXZd+hLMM - TBZSbFQyzU2Y4fwDHC2NI9RVHfPymgitlvLWnaFQ8bVkBRGtvH4VRA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA5NkFhVlV5U1JTTmZ0eTNP + aUQ5VEh1TDlkdFdnbTVSajltMWVQb0ZKOGo0CjJJSWhVYjdRT04zRHN2Zm56MFNC + NXFzR0RNeDBKNWI5b0xaa1V3Q3l4NmcKLS0tIFVWSGx0NGRFUmxBY0ZCWkROekFq + OW9wTk9CSWNjdEwrRFJPMTVNTkxpY28Khh5qLDHkEsWiSrNeryNgTFpqIdaBqjwe + 9/kIWflM0isq2HtQCTIFqxkO5TXOsiDJrq05l7dy2OPcAIcALrA8fA== -----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: "2026-04-18T22:36:21Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//UWu97JUkGY46rlCWlkSpNC5TldW5zU8eI9ahVnGG4bEL - I5Rr3Qf7E3BKxTs67P9kSU3cHUcLK4pW3IcbR7m5oLNfTfdCqMseKrMTQR5MKvg7 - sD5YQrF/Bd97k6uI4g/uFmfpfvHD+9/KXAVBqB1tzc54zgPD5nbyIv0kARexi1GA - DKHpcXAMMw4PogNhGrUCRPjASQY/vp1D3rldnb9Fjx+hPyDDdaLfXBGxZRbexpLd - WhUwziQgr0BkFJF4LchheukAJA3sPLUtMiKQO1XzODv57jNYAHAR6i5zs6LGXpED - OkyhMJVqkLUjnjPGGYu1S3IKGZYbblhpp3/ohLgd7zav2L/n6yPfvmzOPUvkZPCJ - 3IK9h+o2tITV6oGqnbALrBpPBMKw9409xmm+qn3qdiXn2m1sgwOORJOEKZGHmdVG - vrLBsfGbehJDH/IjPSYB1xHFdAO+fhzKrK/vD77eLnwT4pCY0xZQVasV0VRy6Iop - 2SoIbgnHAeuxuwThn6Z15hnUeMo2rDquHtvWq8J2lqeMpLlEaD/Wjr+v1OXBtjnX - jNNYgirbjUAGPRoC1GpCATZOeCweYpVgNQW5B8TGbPTiAAydFTztXgeYGJBHgRza - ojsQxH69TTHZWE3pv1fDT+8iAPl8UZO4A1j0GYyB8JIVcyYZUBS6xBk7BeEQmn/S - XgGz99gFZRyxMR39aNmGDXh3yE2tXD023KX1MCWi6eHv0b1EQKw/hEMePivl0FH3 - 6+fX9Dr7CktanCdsp9/dxDsuQauzHfb1SS14OL7yOqI5acOvHAZVH8AIHcjbbOk= - =Z/sF + hQIMAxK/JaB2/SdtAQ//XHJaCWyivLVBHbQI4GgicDRQSFNr5auA4LZ2IFfElDdZ + n8VqqyNgOIsxCCseyuscCNyyEYCq3HN2zRjpsB/OWsLOZHirO5nKtKBmArKZukO2 + V56P82oN+Q6N1tT+0h7S/C7OD+BkaUf40Er+d1S+1/8X+vl/aZASk0QewGNDXZjl + a3n9iKeqhmz5KKo716hkvb93OR1Y1WKpfoqXBRRxz6SGfvLk9AI481unXPnzvluE + 3sgRtFxQckD4ePks0FyzVifX9GZLCMSa3YiOGpGz0CjVLR1Y3NwKe91i5CakpCmU + m03oa56NVKZSora/9QXO/ww9+iyS4n/iRHuELHex5qA7vr/7c+G1mfZWOWvS21vz + kzhXcLSi0l6xEmUduJadrIga01CYmpf9TGY6CD6WCOcPAM5H2TIbioB6sBAxZdUM + Fg5GSAxwLo6EDqwo1XLK5/t/L8tnxWIuOkEMOsjkUESc97gRqqBm1qBEXOP890q7 + SXimc5Ree7dmOTs76p1Lg5y/bHgUe4WQ4tOg9ODjljR/lZ8YuzAyI3W8+I7e10hx + f8b0kQLXXCBVb/FSeZho6UJn0wb1kvGVuwmYERDYN1iFL8rI68mvDGaQ3ECe7kJG + 39gNTpu652LXwk5BUZf+fDNGz/J4klVdtPQefdwNnrTUrNNkF2wx4JG6SRXxMkjS + XgEbeBJ0EpNQNRVzlqYtTrXvmrkW4HyT1ELJBGzNnWGzD8A/rDZu5EAPQ9A5kxsh + RrnsDRwUs6MmhoWDABV5r19UjjQEIf1NqmCOeRnjXxVpKCXBq/57dPHqgMGB6KI= + =YUeB -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-04-18T22:36:21Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQgAodcsTij8PKNHD2F//swMTXN4no/i4kUORQbnWHTy2ZCc - B3ZNh8aAI+9QjVjWA580fctpjelBsMusWuxAGSa43v1gh+U5ZAO9VPkOPOwQ6qd3 - n4Cy2w1qcdMFGQgoi5lBizm2MYuSYLEWMbiJutqpm3mKo1vyt64RJRHP/vQxootQ - 02wVBUZt1qpiqmXpdIAnGdkcscalc85fani3nSKKJHbGtat99zAD2qL0xPxf6q5T - BZS74zx/993HGcfEM7yz8Zugv/6Z5xSMXrg77YKybFGSTifAq3CF1C15B0ZFCTxU - /9Z2HuapWo1iF6vEulRYuwElGbBsmK41m5y0qxgS7tJeAaE5Ghu3v/pcwHXQRj6O - sJ/SIjFZZV3B0e+RXzv/vfTuwt6XndyJjRwchx3JD2wAzzWcS07hg6RNXhli5gQl - CBUiQZ/YV8GxtOL+wcfvjOvYZgTqr0pR6e9iLNJReA== - =t0o6 + hQEMA1QflAioE8i3AQgAvIyqGT+kfLF1LwWpjdkJcW+/yWuK7A3tfj8MVT5Sg5YD + +YOsk2Sth5FdVX51hPWbZpEEyz9rKWKlGEVZ7bwMzx5M2GYcH2rMvkcEJnyfORJZ + sCM1WUjMFHyko+GC8GXuAXY6RYluoI5oydNaq49c7YOUhEG5YmRVtn2ibD9XzClm + QTVnKMginWC0YGkrbwneXTJRm1K6vVEqOnphaLa2WONXdhgbmlYcSk3fArK/TEzX + jnEKiU317MMIZ/sldrrCbbzFU3t/6tUXscRh7o3/yF0/CwUTjfXv/IcJ0mqwkq02 + y77TmQ8EmouJxTSCf83SDSns3lv01KKCEmIR1BVDJdJeASRNRfH/COO9RZ/dHRMb + NFYdxxWuJrezc7RrFCBMJZwBZYZcFJd70PtGeLs4jIuUX4M9Lx3d8l6Pkhf5UejR + XU6wdxnrF+R0PGDAhgioXmD1lda2TJj7Qt5V0sVNKA== + =UcS+ -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-04-18T22:36:21Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ/+Kosi9cR8SU2QHaZ3lzqHSw2z9fcheS6xNE83/hybefiK - Ij0uJaINb+GemojJUvmC7GbwPPa4S1LFNBJoRgapWDBsxourR8ezS6z0JG22pcFf - BJ9s+nfvnoP9bgWP2LuEiOigBFbLehbqAs+y4HO52qRKv7EyviFn9XdTo7ZVu08j - vgNMHdf6PtKQxdyegX7Gx8eU66sEjUq1PnuAUkxai/KeVI2nH17RF+j/IJzO6gyT - t4CqFl94NZV1+ytGjrGmeAcVM0psJhKPIhWllSTysl+IjUjA0atGl0pjmLgvdPoi - CrP7DMJS7L7T9EjseD50wXG3/TGIqtfh2Xdu2q8VDjaovUesqF2xdYVVaOtrnKcu - MP5JSJdUUeZBJokst2sWBMkPMVdOko8lcy7S39kQC4QU/dzrnur049D3R1qWYG62 - 8CfcUBw4OOYzd20GeZW5Iak29osaxCLYhtP2cHFkL23zgvLVwbudpCLY9+KrtxuT - nq5ErdzKlSZnyDq0f9/u/1IzMjTfIC1CGi9eFEVuQHNe9k7T30brjT5xycwxvByn - /YTkMEg/3C/Gat0DqYMSParkwr1TfH28skBwL/7qg4dOr02bqbtTI+HXayOi85dM - K0n2IXRl24bLwmK1iqLbOQlBFLkwOCZJeOW/0AWE5m2QtOtcXYyAXUkNFwNKqyjS - XgGnlvKtBQMqJ74UNG/7p/EMhbIkz6xsqeu4ATSr7DAdq9G8T5a8y/1OhF/kJ1yt - jj05SimVDL9a1ya3rz4HAzWCurENVGy28CLStUZJtqEQfFVMvgf74D9LleJS+5g= - =sojL + hQIMAz5uSgHG2iMJARAA5iyq7Wh4bw1eEVE2NnEkxHiNa01s9Oie3W16VyVPOdWz + VAwzvt0p1+o2IuMb9Zg89hRg576THBAlTiomnmvtjFolatSBba1XnJambQX4kZ6N + /Ijyw4sAsE/d8EzG2gNX3OOoTZXZEAJyxr0F8mxRhxr/4X6pYYW5bpNM0I9G35Ct + kv30dW9aGzgufZfJybPC16LkyPueSrFQxCDyzcpA9YhM7vZYPcH3bhkFBdgk/8wV + wuQozFhOj9dV9SVdT0rgOjyrDiDR7jjDxF1Q8YweyP/bwv6igEjOVi5f5vLtp6so + 0Cdbcv7SEte4AcorNjHTQqPieGj0KnXFUaT9c8MfU+6oi43nk+XT4NQuW1NRxaGT + mm7qMSGEf/Qad5oRoviCa2WisXCVLrWUhq9INLhjueGEWJWa4py3ZAmysQgzbLx1 + IxIminbZ22bZTs96RF/6lhobTB1/RITZpH2rplamvb4b/zBmqedjpA9h6/fGvpmf + k3SxBJ/CoQht+gzfYG1O+uH2NpnUw1ofL2lQJgMLWgKWh28SK+hcp6L7kSIX1Lyu + EAgvCbrCrXaiU4QkPXwYxLI2ZbWIKI5F+RJ0tN7S3jurv0UsZpbfv6iJVVsWgtse + CNiFCIbBgX/cHhsqo11FfmKIkBNBA57W+jOGJbljZRDuaeBWOumDtCn3mycv6ZHS + XgF6ViBhPLMi6IZvzzV4Au0V9we4LNJ7APeE7y/HhVFbSY5gQR43j2vvwsQ/lJsd + Nc0gDKiykch9skr96+2BrlvYpOKGCqDZEGerCYJH0Ziq+penRt1MwhmTFflseBg= + =5KSK -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-04-18T22:36:21Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DsZXvxFXTXoQSAQdA5CfO1UHjdrM8h5FypIRNs5ePrQzYCmPI9cr2UlQ7UCow - YPWITXbTXT7gqmgSRKfoi2Ub4WX8KAudSLqCws6phWumGl4rY47ZJm3H3JiQKrtL - 0l4BG9+iZtDaRd0IKSN/6YyQMunUEGmLeYtOudWrAZA6T1hsYnj2oicPfF3VhPGd - eg82POcf58HClp92Bd+Jvhzh7dnwh3BHYcv+J10u6wQuk21yAyDylz98Ku59Kc27 - =+dkc + hF4DsZXvxFXTXoQSAQdAJ7UyfZzoFs2GKolfuxOUsve1q3NaT5FAjr247za+Kikw + WktsTVCLvrN1bcY3UvGHXRYCiUFqfwDU0cirQj95bfVjTgX28JhxGgukdJuifNSi + 0l4BVzxM16vqOcRUcGRI87FNZ3Ticiwnd9ieWOEXSSQ6rbqp3C986MoqttW9amQI + lWQe4jbfayN+Jb2JJOVv6X0KY1VP1//cX3soFct0ISiBSdRXZVkT+VFlFeDTWOnW + =Z+eB -----END PGP MESSAGE----- fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - - created_at: "2026-04-18T22:36:21Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdA9hSwwYWcCiVRZSZJqm62d2kacrqbRhtfpLbBbmm4zlMw - bMHFYk2wWet4ZOyq9586xNmuWfxtJxh/3so8aEAofd+fjwwApZMPxfeeDz1ZOFgg - 0l4BU8KN0tz6oWXdBW667ueIhsSu4AN0HC3AaaufpNBc1zUpcCL5ubxdMTv12MW8 - 1pjmFVEB1TVKzCNfufptlx0FWjMPczh1/Y+Y/bOS7XlxpG8NpiBGIoIlFKgys30z - =Q/Hs + hF4DerEtaFuTeewSAQdAiZEJA8VmYYNlWmSpOImTdCxm/RpNTAoczk6LUkUPIjow + DJoRJd3q3sqIfxC5jQd9Cu6Psni6XohEHvkrly6w4dGjh9RDKCKyrkXjqLMk1TA2 + 0l4BAH5zc1FLEfcicOcbMUpdcjQIqkaZDT9VG3RfkkZ8YhwrDdYr4QpHowHvmXBH + yaIzf6p2UulCjzaatlg30DmULD+LwuLv/9OKqmMYA9rrBGK7262swTq+6SZVwtkW + =IOxN -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-04-18T22:36:21Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fARAAgGcyh3dZXJO9vKi1gNzXUGY2pM7jSj1M67BbS6dAuJV4 - Ns7viA1ZjT5BhI/kcO1vsr7Qt6ACsgshk6gi1W+m2Cx4fyfGkbtEZuQJ9A4lDM7r - W6jW/Ooe9GNf6CmG7629Aal045zREbd1hTeFBLhbfHjjHdAkzliGWim971zUtWc2 - jik1r+tSTZlpu946hZ1UDjRZJmBHP7AVe3CbfoyxpAummDzxiz0vBGcWZqKDLE1J - NC0xnnaDjB74f/CLAgz/cUOO1LjkHuxtHTPt1lPAPRcxtYMt2wZ+yPC0sovuMwLa - oYaY8z4y8yStDpET2XZAebSaunyJ/FoFSHsNrSdkQIF66EjHeVBHU71Iw+Tivv1V - ElsU+VMjuPk6ahcf0qUnQp0zxZNQ/4OYVQf9M3r/KAOM/HV/7vjG3ihWc5ehxMSL - ZbDB3TfLgQ4t/fUr2sle3kqPeIVMqt8a5Cf9694B5qBzVo+9mgn49qiNNFUxvnCV - f7QndRhcnu5fmBfQJKlukb6X2zXF2joDVhzuxfwr7t2ZjavOeQbs3OgoH+maSRmq - EXi3jC6mjRmDxL6btH3/VgAXK2r7i+gjYzeeSyCRGlWPlvJMo3UOFpKcrtaGcT7/ - A5D4ewZlG3fz6336Ff35toqHD2w1e2ij3syUdAGtugka/NkboaDypgsCxQNX2DDS - XgHSX8qC4ErbKFDl0G11XC+Lx4gmMHFPAFVEeoJPv2k6tbXvfYFQcCyEfXxUZ2XM - 6tl6+Hnj/x446E973/caB5QJDyOGQGVg0hIvotVsZVA6a8EtsqdCsy85w7SLSLw= - =VOkz + hQIMAxjNhCKPP69fARAAjW2DtrbgLX3U3ht8yX+7GmOQ06Nan3RyJqbmb1pTmJn5 + rbZ6r7FsXhDbIrstVATSqayfK4HWp0f9PLhGGE0jdxwwaTtMql2dCJZ5pGvIKMBP + dV9WQu4V9U9H9TTCJ94ICf/lSofMTLIjTrG40GFkoPm0o1tmHYq09M8VzP7HbAJi + QFFO1jlZKpQG7iDX2zvK8awWntlhOZPc/wR2+kg/5a31dEsEAZaXNY75jiAQAGpD + GgLIcFhhyoAgpWegf88EX2mvo14lv2Nf+vIUW6eZHkd5WiQfty4QDJw5MTUAHnrK + PFyFq5UnTnLgJYWu7sMJnQS308nIG9mLmJgY1GWBWsHCbbeSDS68jCZu4Yf0LCfw + tONt5Wy/sGNEHWxJayOM5LjP1hv5T/jLA2EeJEwXpUUVo5jn4VfEK1ik51kx+MHd + 0udN664f9+WF6QHLUiRHlncQ1F7cqjRj2yaJ2JVZ+Bvlz2M/K1lc2GjgG11VsOgM + +BB77dBHx/zQqVf2w7hIknzAkOzjgkyvOLayC3ZDyxYIRyYuq3A/0MlJc17d6x6x + krB6pBlDcQmKs6qnCeqba1hqX+Z7oY9UB4dhxXFqtfSlSdWTp+FlS3oEL3gffYoZ + d1dlXXP3p3EO8tVr4Vk6nbowNcfgAWJ6mF5IMQpEgOtawq/DbAxzPCzYnlusrT/S + XgGbx+WBma4m0l5QPcBsCuG6x0iumHbULiSJ9ZcfbR+3Ri02/IVF1ABWAde+STjL + 2vA3bgZvhRCEpebmIKA1B62iAW4Q0KjJLLX0rwtPmZcSi7R0E5Ed0izwvI4qKh4= + =A8Cr -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-04-18T22:36:21Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoARAAta2oMEAfZxGNPBZO136E1cENG48UirIRbWKrXGzylprJ - 3vXb4nHdUZHzP8zzNu2Am4nuZekUniQJ4UC58WBrzCg024ye2izysbKTefgHe156 - L+mp5bwCALTHKrQ4vCF5RnijJeCS680wUtR6+367KOBoW8tSL4/EmdYqtzLwmjdk - uY9LQdhITtt/3A7CpD0/qjyWpKjD2zm6Cz1Ap49ttEkEJqxOhafTh9H3pMNQMGYj - SLHcPZoIP2z0ofc+fUJzC7hwxgsxmGV4xj2AZFf0HWHiB0b3MzO38cvxU+BDNfSJ - uN70Wv0Rw7wlcSrpYyzPNSyl0tj3z1AYne7Mk6Ngj8FBBjjA6PtkBrZjwc85Fsb6 - GiVc+rEareVsc9Yej3t7HDSCLRAFB+8+NZwxcmSR4i1arVyWLu4L7ZQjNh+1aWhH - ybho8cnUvEIGxduIBdRpmaz79IKRE0t23glkyhIB5ZjwLTSdt42hnK4FBXQTER+G - UaQzf85TYaI+kBzNhPiyS9wHdgo27L2wHrJR8P5dfxbwWeGw4XfnQrRqkjD46EX9 - dGjG30+VEQI1SlWUBQvAnGKDxPerUqZyI5Ur9JUUI+5roQ41gvtUwJwrV2QLq7LO - cpodLBJNxDPfLBFJiXmePUfUK505RL/yKDE65hy+P/f/6XLI9zwsfO8Bm/zy0CvS - XgFFY8pV10TunOQWHs20Sr+VswCTbHNj4qcHhtjN7pZg6RRhY/mQ2xYEbKxMmrB1 - GxZYjGBjPrUr/lDs6Zx0nkDjC865U+OsDFh7NNznxDLRJoMJhLaXP4QseVEmYgY= - =ttMp - -----END PGP MESSAGE----- - fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-04-18T22:36:21Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQIMA46L6MuPqfJqAQ/9HjOjLBRNw0Ya1x4zxCi+D7+46nIGIwszrhYHzLgTcs1l - SInuqj38RekdowitMhU9xmonN/MjqR3Tw8D4iKc+Y8dDSHEO+HDQAo8ziQybmWCc - YaCm0KoWqXSQ5YoqFIiEGfAzywdAtA16nGDmPtXB760CT1KM6i5lZzcn7KVmI4s9 - wPNrhSS+8pAa7EsMS/LjA+gO/hzgQF6wt2SndpQf1xUX+bQlJ3wrOHHvMG2iDmYn - sRbmHjifTX4Gva5+5JS+vn8EhQUqlvhDgker6dIFwX3+v2Ks80+fYW/Fnx8k1krX - SCkPLZIxOxN4FOnKqjBpqLbyG0dQS3sBZUoqTGLQ56dF3mKlpR0imnA7nMjy/z/C - vZMfSCv35l2HpjUEQCc/cZV/7LQE5gV3UKZO9U1tlDs6YRWNeTsHCHvBNM+j/v45 - zWRFhcSpDIdLDeLIiAyOBR40oonpXM4az+ioYosN+lLtSQK+VpjFOGXG0LJ3z2z6 - 14zC/zCDQrZJxA2VGg8dvJMm3c2vAwHv0crRsmxcoEckjDV18/5cHfjbl49zOToc - ev6W3zQ2hb4gk+V7QWi5SaxfsRMcaT6zHcBfSz4MXZF4ReLz+JxgTMtNthGQQpcP - 8nVGkidsqdiSQj/qfPTA7odZxclpX92rGAOPA1PZHhLFEagoWqGqZzW0zQY5py7S - XgGyjx5QOH+UfjfpVGzjg+pgN9JhZGP0ZZOTM3cFWUYcWXJ2DqAkCxhpHHabq7qv - NRHo2AlyUFrO7IAZtzI9Ly0CnVMEPO7PDJjgoNNGmQuT6i+6ndKothaNAh4jkKs= - =X7Fb + hQIMA46L6MuPqfJqAQ//SjKluBg5g/+WHkiwKfMb7ym4fYav3YPmGq3v5nS5mW23 + lCbPH+yCT5YwB9qCK4KrZ5/O8iKCi+CGwBB+83eEH/HRJUbcWHZ3YkmZwNl//144 + 0Vl4Dt3KktLg5AMcRYcRdO4JeESdd7zeF/5tE2X/79ZEUhl+Pw5DZa0TP7aVMU6c + pkUVMl8EpHcnaYDyVscFPZd92a/N4DN1xuv9Mr0xFC6rRIaV47gL7aC0cdicnyKv + /GdcQUMO6tvosOCADlS0lqcKwFRNcUeMOIAPDMdvxt3ZBWivONUgyCshLE5CkNJD + zSNwMpGjz37lirLpS6CxBACI1KQfKZZNhL01Ek8sooZxSenoq9onVxvX5ums3FUw + Pd9NGeW0NmRYLoqdRPSq4CbIwSI8/vZru+nsiaT9BzMRdqB8nr4qQvFpFjI5mF+X + 9oEJ6dAcFMm+s4wbgT/4U7o5hmJVYu74/XSo4pzZWsj7LkeDs6BS82hTb8fD5jqe + 7fLnxlPO+BIRgo/mpr2++aiJ7Q0BJNrjnJtJnEbb7l8T5uTRtM3laF2fpjVYH/ie + t0YC1rpQ/I2tvdnrf4WL+phC6y4vh61Utl05Z1ekelvdXNY50QrROM0Rb4Yw4DWd + HCBXKaFxra/autG33F4lorgz8SE32xnodJczhwtEpp87QuiW71xdt4hnA+InmCTS + XgEOQwMtdgrQ6McVNPJo1kPTOQG9exczqTArD+awp7N1GqpxVCWs176EHVYzhTUr + 5VrqP3Xc1mJ6uStTp6MSGhl+ILaWw9ESERflqcnoh+ZIgcJ42jvGgZ0MkIvJF+I= + =ftBU -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-04-18T22:36:21Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdApUbCLACVOke8pB+m5v/LjJOdggf18aX+MjCoFFtib34w - 0i3A60/wuwXeXm/rIQ43zHeADIbTGTHTO5/Jji65sqneSMMfbNbb+ICCawh82K35 - 0l4BsbT8L7cnTLF2gGcYpie8KCdYmO641FT2zTD/xPKnyT3TQRJppMueRuYU5yjy - Toxs3h8k91LQeb4/Jyul4htebmQxxLdjaZiFRew/wKOWykFz0voP8YEhjiaETJzk - =dgZz + hF4DQrf1tCqiJxoSAQdAjteqdsXuuXRHVYxBsM40GGJXs5YLv9RBiajINH9o7Hgw + GOAu7CgB8TdR/sW9ciNPZRQRw/UHpszlnamkCUwKme6bVr5UbxNZ6Uhs1ggWRUft + 0l4Bme3wcEzLVkLfiqJKjRfW38CsnxeScpPMarnrqwKtVXDvR8nnv5n2bWrPfTzG + 8hHZCgvq5K/H1EiPL/3Lm1IRQWTNIBrZA2mk2pO+k+rw8qJd26qsoz1VzMgJDK6E + =WySn -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-04-18T22:36:21Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAXLjA2aUD9xRumZPy3qY07b79VvFV1G14b+tEo1YlV10w - v2i78nZjyKTE5UdTxHFlSPihJG8NsEIsQ28pPFOPle0w9PofXgXVyBXgCnG+0yFB - 0lgBUFLb+sKl3W6Pyw3JqdUaeOhl5DzNQ968DBbqur/TMDLsvCgsb21x2fG3qcQE - 6LZGC+fgunYbuJ8BoVdlCqjNdBdNZEuBSNMbK0C7QADUruqaLsHtsY8S - =Yclq + hF4DzAGzViGx4qcSAQdAQpjquYTgoOjmKnXU27OuwkH6s6Lpd79QHWgK1RQaSRgw + bkzNl7YXJXM6er0WUAcHJAVYNzubD4OuzkKk4mhw220eNrC8yAWAi8cjjTbD2/mu + 0lgBeINe+BwB/8cDpZ92Yk/X3kxKGABEjFjm166NRGSyg5/gzMqyKRlt28KNnTIT + n5y9d5TYTNjgeLt2H9vHcnyS0tTNe1uzMuKsKRni69JEvPxuaLsxczI1 + =FZ52 -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-04-18T22:36:21Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAA6JtzCGNCHWyXerMFXYx6BwYs2nMaCbsC/UZ5X3v/UHG7 - rQj+nEdZJJjwO9pNn7WetVoEG/i4y4Ow9WanI0W9bTKIcfyM4fohfMJ7jqKJsH86 - 6ltzqzPPZhJIZ8vHw+7RkHhPEp7Hqbc+DvWo4Ji2ZVsH7KOFD/1/81FBXdb+m7/W - qro0CS6C7I0w6PAVMAriZR//kz9MbaKolheUi5tqtGhho11dvPeeu+5lY2NclaJQ - l2zHfYbBsIyhoijNtW7j5rATEdRebC8oqlJ2izOn1SQnmbn7ayKT0I9A/r+7HFMQ - iQZP45RmxuhJpT+0pzF4I+YE7g3btoFOhep9eLq/wLXaY5IrrMIcRdvbeaTx+ENe - ZjsLf8aPto0Cd/gjYa1ZamcQ9cPFDn9s+Nl150P93ibuo5cjuKjzvRv3pTStOLJK - c09L1hgBqRPysfrGynbtHpui5MroAWild9/yt/BsnvfVMkxz3JNn2AmtcKHZNvNf - bg6xgWG6l7O9GIahS2UyFGiGcjMAK8FtuRdmT+jCIf3dLz9uBtjrFOGK2SDKJvIm - ce4HsVdOqBK3bDNcHpIYB1nrQC6oVlTnsVgxyZ18NTd8/cqXJHtJpM2CmXvT4Cjb - iOUq+OOz6Exlt08kv2K3HYFQdNPxNHKgVHDs4MXluGkSOuPjoCHwEqjOYVXRSlvS - XgHhehpJcl/MWXcBLmUBTVh3pmha/xzBbLqbIvfjhS7GgoZt48OSyzhJWvQcNKDq - uMvhDRFV0Et9NkM5wds34zMJbaUqSedLkrug4cfqS+m/Kyo4+skQsGusOeBxinQ= - =Clyc + hQIMA2pVdGTIrZI+ARAA4ewjv4RWxKBzcBhy4HYVp3+R52GIG4FuYx8RXGbJZA5Y + FRmZnKEZapGMMSYcecfPe1mMK8Xln4+66GVmkTUpsxtk8ELMXtfvyNAHVpKTdQ3N + Df01Q2NRn19E/uzRtrRAtKaepTCCr0t1ylLwP5FiO0hbJZeJQ9paD0p5nWJAXydL + vVfF49iprk045XK1iceNMOGa+BrXctSXFZMJguWN7X/0V+s6FMmWv9Xd/aSgZYl3 + kr3Q3BhgdM6TakiuYC3M/0nHnf3bfz9+rPWV8Xs12UwnBYFgzFqUc8L4DCpXrrRN + 1z5hxlSHRk1mfAI1iXqj2a7QFqy84TwGRVWZdiCvfspO9nzeiCN9qdf9009BgFZE + /HVffXkdL3risMHsTffMZx4D8GT6kQPyMVodoIRYlXdpJKwj1WQk507EYsfhzlo1 + GcWLNrf/4xbMIu+hDv7pXpotoqXbOvAUjIf/FnQcdmBrs6O1a2wH6KlihTYeeHga + GfumYG3QiU2o7tPelOLPz0pvChNFC8tTIqVjW2XJjOprfOF9kTUiIMGrwUbl2fFD + usx99Fo8ettNV30vi1dwtcMC0l6S4vyfx/fTk4hUu5VaIz6RrEI2jK1pGI5aImzh + z8QVVTMRdezQQNZEMy0KsVbp7SsEu3M+PzlwptSP5WEgCZukEggow9tSxeWoU/LS + XgEl7rG0i2pw03t+YR3gzgXRE1jitym8wmd6YLyA3ObDrmJjj1RpA69U2FWf3mvj + h3sMFDgq/BnZih3VLSbGZ5cv8MdNIjA+vREjFvy3IDXNCo9gP0MerGfqff9cfEA= + =R9oz -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-04-18T22:36:21Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdALdhJa4zrMQMQs65fyR+i4TiYWNXK7dTVtRY06WTEDU8w - IYu/OPOhSi5Es0Xkt5aPewH2a3YfWfjMnHhuQGgm4LfsMPJx1qm7bT+xmVDpJqJs - 0l4B+dtUzZM6gsfU0yUSp0oO4198EfTI+Emc6FHyIgE5mN1+TVLJkdmG1YtmQbr8 - 88IdR/Sr81QvthJIUZcWk6pvYadD+02PNROT/HXz3R+V+ae4eqYPab9cusnZiOYc - =jVnR + hF4DKKbvh61jX5USAQdAvvq7HCr0mq+SUlqwMmWyQ9JLxXwUY+7xdrZ/pOo3KXcw + KZB0ZJj2q2yU6YBeGKjL5L3VDpuvwpCVf0yD/ikcqY7cy0DQDlwW8nXGIdQj4bMM + 0l4B73v8rR6BhuBreJvQNuN/U+zIRg+5u6EJgmACpKvV22b7p/3GW4ORRP5aTHu1 + /C8vZLSFUQ2NaCBIFTOJv8fXpfj73WU7c5sa3RpQpPIkIwH8077S1RUVjmhtcQ1q + =HWsQ -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/renovate.sops.yaml b/inventories/chaosknoten/host_vars/renovate.sops.yaml index 2bdd26eaa2..b85786b901 100644 --- a/inventories/chaosknoten/host_vars/renovate.sops.yaml +++ b/inventories/chaosknoten/host_vars/renovate.sops.yaml @@ -6,203 +6,183 @@ sops: - recipient: age18qam683rva3ee3wgue7r0ey4ws4jttz4a4dpe3q8kq8lmrp97ezq2cns8d enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBybjRYVTRlSjlic3BMRmx5 - VTFHSW4rWHBWRlBia3d2VFM3Qk5ndDJjR2g4ClBjQ2p4WlBvcHV3VUxNM3dQVERa - aUluNmp5dlVXZlp1WHR1ek5pVmJvME0KLS0tIG5iSWw2djlMc1Z4YVJCb09oTlpC - Zm9xUGFodU11OTFMRFlVTU5pSFppRFEK0kUGOpYzkVlj69DqK1L1b5YBIfZOc7sr - PV7X6xTPIOzt7tSSRmEVJLilhCZ1pz3OHasj2QzG1kst7kfQJydkFA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBNUHM1QTRWWkxHV3RSKzRE + REdOUDRoRUtBL2wwSFU0bkQvOXBJN1Jjb1E0ClFwUERWZWhNbWVkTkZxbHBhQ3ZR + Nm4xM3YvVUdTNGxQV0E1Z1ljYTNITHcKLS0tIGs2aTNpbDRNSCs5ZVQ0SlVsTDZv + RGFOZXdwQjhRbXRxd1p5amFaZktYZU0KAWgIdeDr81s9JBE27o/ks80cUbbMrx5X + 4cnecrC1v3Sx4McPZ8HDMSkcbvGlUR2b8MIDxeu/6eTzr/oyQ0jWPw== -----END AGE ENCRYPTED FILE----- 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: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtARAAk3WFEqGrO0qjIA5bc2R92hsBgiq24deOGKVMY3981en6 - 4hHAMMUWrWw0WLAort+NVdafZ8rZ00RDDY/7TOitvVD8nLv3TN0vTvdtBuUUWPhU - MXDP976RIpfcuJIGEmiBkG40HcwzKCvdca3kNi4Afaas+2eH1VgnzX9oYrYsej9K - 1aXGMQzfMAleVwA9srsXTE2O8rbUKhylZwPsrY0DnLbk+f3YqR1uPPzPH0tSjjqS - h0EBP2Q9wAVGVbI4YPAapFhNFGtuOBnxh2z73VXOIpweQEmmCardnKzjSDPBDNx1 - cFrAGInx0uQ0v3tX42L3fZ1M0bdaJsba6AFiP5VOqukSCgfjCNw09z+ZF8BFA0ox - uCwBLGs45OI21fyOu8Z0VlFSNgQc+3KYzwPUrBnyTE6NhOXBbcIFTc3qyiQVugqt - x2pLsUvr9NQTmvYRfUMgzcJB/2PpSlQAK4x73v4s14E9H/gfNvXaMGSvLH/Cf/Mc - hKZBzgWY+MB/4GOs3s8IJLDBMly1LGpioXmxhd0gHw1KjBwNFdCaiZnYL7SBtUAC - twcpKo28uz8xlNbiOjMo4Mf4A8MvX+frUCUBS3uY4bMczKI5OVYPJxNGjRwjHiyG - LkY0PtVetJb+hDrndAPsgEUQXHfW4qVxV0YTefUUErO+DOPOR1d58yT3AiLBlkDS - XAHvyVs9tD35FEIpsRU9QEIR+KIPtD7Yp4OG0GBeJeUZvn4SAeplalj0G0GTgsqL - hAFpE0Iw4PcRXA5QwgfQ76ktdBJNmWVxhJU2QK6++nkCBB6O/b/kb1K8i4FU - =ABG6 + hQIMAxK/JaB2/SdtAQ/9GnQi6lqq6Uh6TfzjYjw9Ww8DTOe4NP3EbsgPUTySblOQ + pMfhFbAnEt0CJLWVPf7Rm29HZtcNqLmiErNAOuaKpofhEeSDwbEvSKOETdSdF/fl + 0DXhjcRk4io3txzmfUMu3t1Y6C0k1RNrQq3ryzsf3kqZdhhLZRuSkr12M5G/JTUi + ZKxkSaF1NtVbeOLYy026QTAJahqQwicDCJzLy5Y96vKN8einNYziQF2jQIurzHNp + aNfaHSdIraBs3lCTZAeoT6Gwy2r4+P4dpkjr8ylRwM6X6YAZq6I7lWcPiLSbx9RA + RocFUYMAqWfSw+vua2XblCZUNaiem0NZzfejDysANXPKOXcU7cInrTKfQiw4JDop + WY+yw3CL3/unN6infJXmys4eYuO76RZa4cACnfzI/zFRsWyf+hiKxdpHnyCzAM0F + q8lYr8+jg9Tobt/A0fGYz3x65okpnJVp0PIKll7Jqk+AzEHS64nkQk1Qr3JJe3Pu + IyEPoHi7V/P67SQcVXvvyHXcc4zOj820wEBqBByzkTPyrbHRNS5rqXgt/KjgbJlk + bfPc+4jo073UVZ5qPa2eLcai8O2/jPMzI0gmMcxA7pWhlC8e0Y6wPTLRbK6eBKLX + ei6P1Vp3IdNMWCvARUDhbmcQAfXA8j1vLBRljcEn4Gf9nj5Nyv1LdiZsS68gm3zS + XAEd2liD9XZ0snZW57S24JCRIqYIjY7j6gL8m+NKrxc6FT3gCZYu1MdbX6Ol8H1Q + bJfEwVv9+GTbQqRh2Oc1wviipCH69p50ToYH1bx7IgZw4yM0FG2LagKreZlz + =AnLg -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf9FYH6IECH2N1uYs8C2WXkWIhoqo2PCwJvte/uKyyOe4UX - O9SZY28beMA3Zl9ZeJdxpUTHfyX079WaCeoY12DqiU3l2dWuDuaExS1ykH8pOfjt - E89KSotlG6TmLrnbOWzpBUTqaI+Gj3IaLFcFEQZxfORfhJvSBnxbM8Sa2nAx5uZ1 - SUNIN/nlylvclpVUOYHa8+W4ewzRn6aPYu0/EHcSvTES+bJzuOhuyPwCQNIuZoFW - TWfu7XDj2DBlOoDvxK+h9rK0nK7R76ZakabkWGja4hm1VRy9V9bJvIT86NBd9xjA - K1isKQNSQpZz3J5mMt9zZ3lz8Fb9u5ZwxF3d+hgEhdJcAeULRNq6CZgCJQz6x73Y - eeCAFem4pHXgJuSp37hp4T8ebJls7asqNMHS1LY9wNxx44R69/Md1YTppjepgbw8 - rrzNMZpl+2uWAY772Pf0vLsUYWoMU0JTfhUvdRA= - =iz/D + hQEMA1QflAioE8i3AQgAi4VEoCJFWFPRJjCo9qzm3mHAKzgaL3Y0YiHRVGbCWtbs + ZVwmQP6X6o74OUHYPs/BYLpL+RuStd9lOkzXlxLJHJnDQfM4o+INbyyR//UxPeH0 + LvpsD43LN/Whx31AtJcaQcaHF52T7gniOSr3Ghrc284PubY1+Ku89krU7tTSxmBb + j7iSgiai9x3IQTl3RSrs5Sh7S5QaRQaDvZB8OjUqUZgaS6gXxHgpRIlRhTs0lMQT + ViuyUvtPw3Cg9K5WtxQXhBJrizhbX3E7FgBLebTbGo7JtMHfChT1LInG33WZLb5F + DVxQZadPAURNNRC9pO+7/L3XLjMTFmULfXTM9IndttJcAUap6yGxri9lAeyhjLOV + uCICagQHpm+1Mc3dZvQK3VK98it+ybGDJFbuEcyjW5UsLNZVIb3MwUPs7E+MkA6N + 3EQNm84tTOTWgSh5r6zLOfCChR7zleURdTiFn44= + =w9s4 -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAAp0VeBD+kyAKrJDA/CBYO2Gm4ONcU3T6++Ixdw6C9h20q - TbaiyfxkC0/8UPqBtJmnBUOQGnEslccWQFEwR6m0vfjDHLz+R51ksXNcK+ehX5r3 - rvrlkw/E6qpsKUB1P8j9ncvdhMiJcB5bPQKoilYh0sgRimk7FxzCVOIgh5Uy/MH3 - pbBaamazjgQ1Zj0CxBz2A+QrgD1piumXm/zDpjc9bRbLVW92oVxqpmsolrcTmyiY - U0xwOzuSt8ERCtSRMFrkWMFRZ7Sw61v9tBeSsoWVgJ8im9LjaCT2oDhgk0zyuHxh - v2o2fiS/0n7LG8yYRAkfDOxs8wyqo79HzpamDAsMl9VdHdavdCT4m20LPQ19laWM - 75lilG2V3zlXbZUu8SkuwsUeRo5oOlWXLzEUGygoxWx5xyhaV+G6m/qnN6lRK4+B - CqtJNrjh1EMPYYiV0f3aaq9fcuXF3cFK7xdbkLqgWWt1sAVy+znvfRmrF8iz3vxr - 8Esxt4v/VPOxk7jfeFtdIQ1gcwa6bMfMQclVUbcSDWGXyNYlrK8aITM4Ifl+JgnC - x8PQrDWmU3JVzJOyA95ktsxN78/iF3UOgHFDG8Ffwr6FPx3qXqBM8GbY95H6OXdq - w/cmUXF5RBKK13w/v6zMhl8agWfe4OnpUT0jBbhslQ5ZAwtFOz4MsAJnh6qPaKvS - XAG38nVN4XVLib8wAIi4z59e5lxGPLoESHDX+mlgBJuePUaBFU07AO+LBlTpuPwM - hJdBymwIKs1+CvdhjJu+XWgRGnVxaDnDcm95j8Jho3i7B4VngwZJlhY4EVWB - =KObT + hQIMAz5uSgHG2iMJARAAzuun8vUpGHDynovEBVY6zKfq+RFuK99oDY+FcNM0h+oy + Hg+aDko0jQ8oH5DzM/3hcm9+Rvm03/FH6elfuKdEPJwED3mhbATyduTnfzqZ74Lj + Dti8hqktHwpcvGHApD8Zx12HHrfg9f7gzE72BiM2ydKNe2LjcUQmjFeQJOKk0FKf + EmE5vO+ncZjWq5BFX/LX1y8ga7tHUraoB/qBq+DyR+jBNE/8NrZGiB+YMo/t0q1F + 8flGNS6lUJc3aAyI7+H+h0la+8X/VWgPYUA3LtYEFjez7CKVoAFh4Wj7a/QbADwF + 8GAx6pwJ4of0vYBSzfCcPWqeLUKq9QUdbYwWsHmVq4CPGO8U21wwvdGqu+ZjwTBn + 6woz2/bj3AlohePdVpK+sxP+6REENj/fbSZ79BTOfwxOdIsPLEPUBQcPX8QJ3SOq + ClPDxy/AdONTfa6SWQJN3vYZync0O/rwWNpdEXpjYFyxWc1OH557tUnE08beOwpl + oxPMviK/Iv/qeCvqXUe+FyAn4wXsdLQyDblAXf5W36sX/beR+6875xIBeKB/O2a7 + EoLt7bkbWOV3/WVJzXHKs1j2i+NA6aN7YqbLTR0Nx+kLJYB1MVHbUJJoJMdQmwTp + 6BVC7iapG/p0ZifXSWU/LuHuSKVRQh02XsE2pSU2f2EgPMLaq9T4/NuosWR14tzS + XAHx0+HvbLF2vkkKl8RrqflLHsN56ZZBtFA8g4AYITBkJdW9QFb318dUQL/hqRhe + nToh+53OuvsHmZJHBf2zc6F5C5C5qdah3PqYjbF7soQP5boqLPKtel7cqiXl + =W3lk -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DsZXvxFXTXoQSAQdA5Cr1c8N0I6Di5N5FADsfWuw5U7aojqHTomwkvQCAzwEw - iwaNpT2aa7MoVM3OCbI7qJ1bvjDPPXcHJQFEyAeMY/RGaVGwP5hlZ6I/0dP//Wn3 - 0lwBAiy3t+9TRLwS6vSHL+wAIoFMcIrRJqKwLpN0bCgmFlYBvQzT2P5u9MPU7svU - EHCRnInBjBCdPWunTSLol/JN7497liyJ1div1zlZPCHoXVC311j3dz4LNhv/6A== - =SOxI + hF4DsZXvxFXTXoQSAQdAj0MwgdCx6lYycjWVlNgdx9X6VW45ziR3TT5ujtTX6kQw + +MupxAsmvnOZupgCZHhkX6PIbGkJjPEMP08hexFOdn8NAt7gAaSHoVMWJKr7PGHk + 0lwB8DTWtN6Y2bGO/GFxdc0297GUNcIcI89jOFKSdE1hYKGUwnOayAaXhc2+j+Qf + Ffa4nslwThnu9nh812ZfYX41pNwp3hhMu7tRFGbDX+0TRLWbfuglTQ6IemFnYw== + =4NK9 -----END PGP MESSAGE----- fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdALFBhlj3630K1xbHpNPFXVN2RdpG9IScOOQhsOPzXVkEw - dw529fRlMgMCtS3XR79FOwPGBPlxEZvxcUm9juKgjCpvNHyhckXtTLvvSnEMBaRX - 0lwB1ryRfMRXPLNBk6yR5gZZHabNtF3GHX90bLZjz6TiVRebi0puP5KUYe+YtOu4 - eEm/GPQs8SN2088J2k/7OXaxWPq56G89dqrRw2DEh/gO5nqqFBjql5Sdfdo42g== - =2pvA + hF4DerEtaFuTeewSAQdAkhIOH/ibFuHeWEtRcLudhDFqnEGJ98pzUotmMxICbnMw + XhG8zRCt1aOlTeFS6HlREN3lS/3qyWuryLTf2lNrR8M5tlULZcwOClDt8LAEjw2J + 0lwBErWD+w8/p/fh+Csm7GbgLD/LYzMja3rFYp1xEs/aa9RQmm0TYOSCv1VtNWp4 + OHL85g0El8B+wX6n5koht8B9sjsJS3rlfN8IbuKI+jfLTWOThlTcODKhJQuk1A== + =0oXZ -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/+Nk7Va2kJGmAUjl54nNIX8IGaCldj4RCf3rfTeV/Hk8W+ - LprBbBEYs10XPbqkBn9zzf2LAJsxxA/OeClrDNpR2MfBQ+PrrdShl+V842tBxzlY - rQS0qw0WkoW7qX/kXRWNXc2erhFqRRnlcDLra5RHe59VUmIDamFuyMS7hzu85J2o - IgYwGEr2vFXuJc4HEXAuBEcoj4HtlbNlDloLyj6rEGW0aoVLXlG7rFWiir2fCXsy - 4CMydInoXcmaagEjnDsbmdN5QT2X5jJ5qGEAAu0DEE5J3lF/AH30ClmAWtj+/+9N - GYlgS/Thcd5oSwxiYbT+8rA5y8FR3Zpu6AnSxmcXU9f/3j6uvnTM4l4TeLArsdl3 - fqMrFOaBSYRHPGuZ4g1H63W1vJX2zPW4jS9V/wqY5+FIjcuX5C6gl+xKWkIAQRYi - 5ltfa0zbaovH7kV/zD/pfASdZu+7A9uWCGdZaX3y4YTDUQRlPvKuSZajFTGZgT/v - A+yBb7in8JurfVkprOLP6PXlpaIm7Q4Rd0AhNr3Ybp2uMejtemKkObtwGnFvyFyD - 7wodJMMpXl3W/3JUbFSni4nCHK0aTWkUCwzCNO5UM6zGL8hEubH2xTV3IdZTGusy - tM3ipH1GtsAzdToqk2ls1cLYZyTjY36RDDUtaGGqdVjySlwOawwTjDF0tUCec1nS - XAH9e23SDecklzrdmgdIZ9eMl9qmUIVRBAY/dHBrIhK8MtZR/EqFlAxbdquTuI4i - GRamSbs28h2uQV6Ze7VhKXmobUccwS3tM3P6t7QtnLWIBYTf1WMhN5+Ie11Y - =JB+G + hQIMAxjNhCKPP69fAQ/+KnHx9iDuH5+/YCFQK+/2+gp8EByjhZs4upkZfGkWp2wK + 9AbQOK+aoHTpFmz3rN6DE9C+vEzG+sT6VwLRAJNRr1YtPiHvAtMymrMXM8Lbf6Ms + oh5W4XQm9kPszdphcbaKPaMx66VU2ubTcH/BE0u3JmsmmFmDoloAhNWDEVYrnCcB + VEjc43931p/fQPl8mZ8lIwdLHGTUZv6ehZiutOr27Jm/G6i76ul2cMOofgsxiurY + oKgcvRCCpe4L3FwJSVIxaOI4JSYRA/hRjoPoj/Bcp/91YRyyg/NakRYUECJ3K4W4 + GoC3NriGDHIE+gowNbnQB5aRvNONirNwoOktH3yrjB82DkazftExSGsKpO7FKl7E + wEszGXxy677YY8bMx6AIQTBEaOwQ6GKWr6WFa7EN2fKAz42HEmmkQpREz6fC6T8L + Gc5hdVfZdB2z0DCBXovp+JgdlHMJ82H3PGKN5lxx2yo3/0JcuFsZMfpCtrP1+ZsK + 5RBpWtZ6bJOO0T5/nqH3pGwfq4K9yJMKmv9o9/TojRoJpQN2Lzf0ghApwBpQ7Upr + aJyuspxhl1HRSGn1PuCc2G+vmVsuE+wEK7Cm29oHKnxwDnuN/woIo0VniR29xuk/ + o//tQ+TMhA85QhYooswzFSKzd/4NXm6NdvF5BwWt6A7b7afc/81G7wJw04NzlmTS + XAHtl/WLRfXvGXAS3FFmy+9r9RP1LdxQsZijs9uDOAfiqqBj9jfp6X07WJ8THq0g + yIE18gmXKUvqToFufoJTBotBnfSrKRW0615cZ0FTuPXj3Y8sEBdcRnl55MjP + =3LMN -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoARAAg7gFkMGcOBjjRGXROohIwabfau6f7MBNfGHPBsSm/DQ/ - ydew1wvN8cGt0q1tFNgsxVPELVmDicIo1VvSxdJ2kXSB04FDB2RBxnllDaxKd20R - e29EvsFrFbi6biPii11ybZmLz+nCrj4ets1lOD8KzT10B7j0viGkJdk8sSDxqTVN - S5dLC8YXUSw0x4RdWkwXSqcyCbN9n3ryx2S8MsdaRzjyNfSANNavFW/9a/sBb3V+ - ZX6Sye5wptK7x784opGlvuFK3xIrmYZWRxtN1N50GgGIH4DKrmBTo56rLMt+ifC6 - 9ImeSIRWQu9t0qw6sMMmjtd3YoKQjHAZzfKSFkH4A0Vyl6P5aAKA466ar/bns1P/ - 0F15SC2D0uwNdgZ9j4c4io+MD+0vIaEOyuwrUdJfrxK1/5BB07RdXt1LjkPq3sBN - Gp3WZk9vSMTWL4C1rrvR/cDIWixTTEon0VbEO3NHxvbFmJVRs3xJD63hHVtypHWS - xR4tIbUspBT30WdVlgBVUd0osNzFhamrtQvE1NnIiezlt1LrxfMn06l1t3SGabPN - Bgi8r0/VjD9DYXonQn77dj74pnN9p00GpFmHAr/MiiGoyLv4CescBEZhZW9Tfulv - e1lU+73S/XV4fjR22bW0lLMQ/I5PPkVC0GubxOdPF3UfrHSFAevJqVuxvLWPq5nS - XAH38t8HhEuPZuthk6WphaqG6SfzOe+6DdSdSKHv0BurenV+Mm+oN9N8X7iErXkg - zEjiBV6VeMsgsjNTvBRLUgVphbmQfgMLJItjX5tKwsjeKY/EKDsS1ekNKKkc - =LLUZ - -----END PGP MESSAGE----- - fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-04-18T22:36:23Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQIMA46L6MuPqfJqAQ/+KtUv9omHQJR1iOuJ/DvL2Ztee5VTXPTV0SF1aYuhVGdz - X56LK/pB5beiPFREYaaHpFhalj0rQphPWr//zhjA2LFwEYUUm+4hn0NCCkSpoH03 - aLRSGmKiR/Z8ihoIYl+JpnM66j4IFQhC5JmDocENvGz7LOsDr6lwJYPYI7x3yUSi - OrMkPPP8V1R8mmCLqjt6taSWF3mGwbJJI6m+rUlDZTU0daHczaH9UEfPR5S9o1e3 - l1ZPcUL/Om5XA8LbPHDgLbeYAg5nZkyx6yqPVyJX+xiweG8WHvr5adphg5Ncibma - wHB4MWz8TM0AqAaS7Fom+xAhPGcGmyQjBGpbuB6g/OxuyCrh9TccBti3i/OZw+3P - 2M017Ya5NKmTuXPzr1fHfZvKrjnGtWJdxteCB8uDZVi/mTYbGZhMfB7Q8kj8SJYq - Sq0DJYmqOv1TF/4gUvxXq4VCILmhh0pV31uF9geqVMBHXZ/f5gRXXHNVErp8oHDb - lUKyDu+SkXNH25GOL52MoJ24r50TxiJxNqaQhEomn9TTSuaU6mUZgPoxJnI+/oV+ - W2VDyGpmrNkjApw3f4GwuDZVmdol+igucc6/CCcUn1K0TYum0waWSln/Bxs54XWa - JBKG6dM6BSv7B9n64cs9GE2nKkmf8B8BGzNgc/1ijzMkKpGnGAfnukH3lwu7fP3S - XAF3A+fyTybAm+Ro50MB4GXwnNAF0ynpLBT6BGYiKqCijFidWiijXtJDrhc7lT3a - YUpp6t/r8Kwd/xgJRQxP+AAvYJ5Nmg7rpFr9V7C9edsowJBzqqiJt/mweHZW - =sfDF + hQIMA46L6MuPqfJqARAAk15rCIA4xBgArGghMv8N6P74LS3vLIlmaqoEZsALssoX + 3DjTN7+lJP6ckQYBrpnSGWqce6KABxLThH56mFf1xLJJAH1oynf1l/zC1DWBUfnj + XHrPQiA6q4AFGPJhAPmfJz2q80deQGgB5SI95WrhwcAGC4zCSzsbm2mB1iPx6BUz + J2onxHtX3vo5Qai1XsCvbp5PGf2dRhG9zuatKtAvyU6FMmVokjpObPn49qLCQRr4 + lXjtodVDgWn1pt72nolc9ZeNfw4vWVkKkvZWIgWv2Idcin2Ar7+jTAwA715UGbPT + ugiekvBgZ1lMKDtAwNsGyNdrOj7O+04XCJwrSrRGKOAa/L8x7AT8u09fmTEhitV+ + BfHTfDHks7lwVpBGKEJExXFG51mduuVIE2w0LktSAm1N/i+Bq0RN72V9hq7Ycj9p + i1c+bkYx24r4/jSPixT0XP8k+uvAQd+BNK/Nb8Wd3nIJZ855NLX2sFisZzpVFh8R + s5heJG6fMq1obkDz0vF8OcE96AnK39hs9iQDG0X9GPmgkoEHcwe/+E/dtRWXgq0Z + 23cSQ7Qdi5OULFlBmZIpbOiV7GJFWkxCQ02wFqa9bKBfDAk6jHQuP6Fhy6UZhRj3 + piZm1vdpXrDFU2VG1Hbt9VtcGBD6jEy3JqqgArJpxPOMAoZCrWqrTMZsyKcfrCnS + XAHbT1FcRqdd0AIFq78Y4metfnDgGT9TfJwCt0lIPR0Dh480Y16dzjGISgUoS5S8 + 6/9yj6m9sM45jWueyDtSGTwceyMw9YFIJb/DBtu/4S8WaxhNGqvp1qk4aaVr + =hx7R -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAtPuZVsbW+9jvM89WalT4LlckhG3vYUc7zqearuU/GgYw - AXs0PvQVBDdSwpHAR6uQDPjSlS9NRdVw7R8KnnWr3AmY18FQ5axAy78D+ol9hd88 - 0lwBxuFjajHeK6sTBHRDHufO/rOw4/ULZYM4l8+NSDuCrfzyeCL7/SVXNfiQfibW - Wm9YKfFoN8xj5tJcdYeeg6jCeq/Ab/bihvnYyxnlqTK6vvak1Of2XuzW20gnvw== - =eAuB + hF4DQrf1tCqiJxoSAQdAIZDm0dW6whFa4Ay/8Tu533FzFT1QtRaql3hfad5svzcw + Lrj1wemy2RylQwvRv2gsPUQBmYn7euiooe1W0OK7Pxz0EwfLABaN6iWwzvPAjQMU + 0lwBmtvBWLCmwvwoI6nPwidMV+5IX44R3Dvi2kLWylSnkH3DC03Tj1YQ8ZFImOvC + uNhDvFbr8NavSytaJn0A1FeK0txVlpP8Igtc1D0Lkz9QTB4C/U6WgLuAEjuhyg== + =yOeh -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAaYTExJZFlseEZdgmnxRKvetsx2ZIBuwOntykmntPQjww - imdk6VIGglMA1rdzq+lnD/8o24vfeFKiMNlT6cFMM2swqoiQWEYEZfGWhkQhMxBA - 0lYB6Wf8MKNssErOzCNL7rZcxKC/J7mi//tJtrIZmajhBWEsxyLbrefkKeEviLdp - 56vUG1JLw1KBFuTaOgyrZ9xgMnspv56mJH22LkArL0dDKbYsOH0M7A== - =U0eb + hF4DzAGzViGx4qcSAQdA6rlDbE0hLFhDu5ts0ts3KSoHFi1J/ncrD8TU2e56MmMw + GeY88kxr3HePxIF05AAxeZQiYQPmop9lMATMw6Uxq66rete2ML4DOG/2uO4SKWw6 + 0lYBzfZ/WI89g83KeQcqCkFCX3JBQBugM0iHe9VwS6rGAyuOv2Y1Y5RmNk0pfmd6 + OH7DkqVJ9DX1HcQjl9pKJ6NguQUiNpDNvspOLaIOnY2c8ZC4EDYtbg== + =zB/4 -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAAqOxEnUp0BlpxjTEswyMG6r691THshwcA0pd13G32zeIY - h56RkBP+MurtTkfGSORa0sfRJQdyx0I5n+9GE1yua90WUtlCWUySntcGlIaJCA5O - +BE67zeEoVhnBU1Wu2HmpQgh8zD2w/LAv1ET2ILDvhKbDaklBAabCWjy2Wkkiebb - 9K8f6PtRm+mJMbE6ydY9RagclTsBkB9OFikkO+V+Y2FpShQxbmO1gIAu13aDU88k - hNBXRIsJwzSpfglNQya13aHPCYjid+5ylVYlD+0+rPA+FBfzwVz2u0JrV34v9RVF - W9bn6hEgBpANnxjyYuDWrOnXulV9F6avoZA6oTNgH6ntbuD1u/rXqz4ZscT1KDQA - HTyakOpzVQf/YjXnzFXSxX+y8+A4SIR4yYozBzHpsMjz+DCFaeAGeimyALotuUZn - eppA7Hu8FJtRWXB4YWUIWdi34xiV2FPSrV2U3ymiapApuBD/jlaZFzmvkEB2J1er - sEOJA9JxwdhXIhhU9SMW2HKSL/clKz6zXHvl2W4nff2Q+oY5iLM93wKUS0KS7vN+ - X1q+2lN46Ty+vK87p2ZpCbMH0hsrZb0x49HBfSFSisU+3bjMkNP/olruUIDVsUrf - j1EnRjzXC6vgj0iehD2UNhlJTFghF14/XQonbk933EKLCiIlul5yG/gHw3xrW/DS - XAF9HEXUVMXxrFA+e3yiaTP7lYgo6H/lq+OJckaH+LRo7ytVH+1qb/8HXADAX4pP - lYMyHRFzVuGrg9ARnaggChV/zk0oYzNxUxb5NNrTwaSVUK8xGcLYTZjg00js - =mK3j + hQIMA2pVdGTIrZI+ARAA6S8yqvQgX0mZSqQzHFj3f1On/tLj8KTUnFsAc8GkerMZ + BbilfSlNWHT0Aw4qlnK2G++1dCmz4ALEiAcLtQTWFdDNknjrrneixMKQvJyw7L0L + iU+oRUNeFKsiQgwpza25nvoYa8QnMEHkLdt0Zi/emM9oLQiMjAdZAQ78DtzK/SqY + X7DPSr8PFWSQ2BZdqR7Df61lxTxBLsZ1b9rob/Z7LVHKgnUbmH6M2ywiYYa0kye+ + Nx73VQBahbS5b+b+UX2BIU5Pa7m/ks7jT65hKfI2rAKKUSbgn6+Xg2HN2aTF3Tpf + U7stkLsq53vCuDzvK/6uw1DUkIslPYCveXy8uYIvIx2NqhXR4pl61Ldythj/CYM9 + nlaq8Xy911Xn/SlMML/vH7N8IfzncujtrBSeNAV2G/urRCvaz4kcl98tdDuucCbB + ZpkvbsaarznjWxP1IIf2aVt0HZuFBTgxKyXRFNm9NqHP4pYeOjJiEJ740nhVtaNA + kMgFGmPLXkY+X9xpWMj0dPTELaXRs2Xu68Em69J3XyjqhePVUvg6txEAsfMJ6dGD + 8ljbXK20/HE1B69TnX851RztQdaSBm+VxfVCgu2IAMkbNuDiDZBjvfIlUthTZ+n4 + 6hy0ywffk/B4BK5NFQoivZO+Ldgl3eWDlZgQIdqEmHojXmCEMa+dChD8TvkBkUrS + XAHgqm0pn1acTc2d7BAbc+Pd89cSthPBhQiJsbRjOhJknFxskN39DsIjEXdh9/Fx + mQ47lpvEwFjUQI/jtsTWfBc7M1ueN+7yd9D1Ovua5wKVX4IpLrcGXOz7PpX3 + =JMgV -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:46Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdA6ioMrtC1KawuMQ5/Mh1LOMfTU/H+D2dtEPW5UmCyvxQw - ZSm+1+DknGqPdLhGUw7LB738Yut1XiVkv1hd4v533yCXs5dQ3EqdmwWGn3LWEUS/ - 0lwBjfALLJ5BaAgFYn/HODtPQJJSs+Ngfc2uP0CxNIGdwraB6oJwSHKp7h6gqPo/ - 1hd3GrfCL64Cgvbmi//2FNcOPgbEj0GmDpTQbsuMQTAHw+VGQdB4J2/Fs3OLGg== - =CP+F + hF4DKKbvh61jX5USAQdA7u1PeIXt1KThLqXExYbfakmREFI3FP5NwRsmuObiRFcw + jejQPciKasoNVLPyjwcMnrwh+FQkT/wza8uxb/+fK88lrozuslEtPvXVhjAI/QKA + 0lwB8TXygGql3YI4N/Ur0vB/tcbeqUy6jt2fLr9NU9YCVvgobX6m9ki08WjlXqsT + yVIcxs6SIIQRhAbTr2CY8JqEcETFtth1kb3z/mFDIFhxcVkgxTqtSPv+TBqKyg== + =fpb6 -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/spaceapiccc.sops.yaml b/inventories/chaosknoten/host_vars/spaceapiccc.sops.yaml index 09cc9ac831..da4c9456cb 100644 --- a/inventories/chaosknoten/host_vars/spaceapiccc.sops.yaml +++ b/inventories/chaosknoten/host_vars/spaceapiccc.sops.yaml @@ -7,203 +7,183 @@ sops: - recipient: age1mdtnk78aeqnwqadjqje5pfha04wu92d3ecchyqajjmy434kwq98qksq2wa enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMNkVlUnZXZ3BEUFdXaFpJ - VkNPSzJLVFN4K2lPNXVzOHo1VVFWTnNDQm40CnRVbitoL3VySW4yMWxrVWpZaVZr - UWNjSW1kaEJUSTl6MXlOMmRHMjlScG8KLS0tIHpkOTNsTVZnUzFic2pDMk9aajZ4 - VHFjNWdCZ1NKQ0RHOVlraVBBbE1TMjQKmryObFd6l8mNoBoGrvNRxNHkTPUnOU/i - gLX1Qyp3OqgXvree62SFntkRXTZCVpAbLSxfaTIHuFF764DQh3f99g== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzOG1uUkdSQ2h1R28yQzhW + aFJtZFpsbXNtSGo1OGRtdGxIVXdKS2R3d2hFClMzUjdKcnRmaVF4Z1YxR3RoUUtv + L3BUTGkrMVo0Y1lTeE40blVZemZaclUKLS0tIG5ZYlEzWkFtNTMyR29iTjhrSWho + WDlHTmVzMzVZQTVxOC82WHRmeE9ScXMKSFPI+soNEbUctOt0foMtcSwILlsBMzC+ + z0Lu3pXsUThPvTwU9qQkIF4OK65oqajDUJirwVLNWLe0i3md9eZQLg== -----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-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtARAAkPv1jt3dzT36AE5bbQ9uQIGmx2/YPIbN0OzyJilVXhhE - 0DiTvAgEEZlGGhOIiyuw0iA0PGboGThQ8E/kd+AqduZd+xrfaClWyfkfOw/Q85vv - n9uQ4Qu0keA/yaQumIEc8BT3USpuBbGkIDup2S6BkDbaWPQq4Vkl0bqaUUwf4ajp - smuFx0BlXGhB3duCq3Sdg2iN2z67CgbCO6ESKbRKrV3adgWafq50tA2di6KYzGdt - aVBOeZt7duDKY2ppUPtx9LCANdbDSGj5HFug1A1tehEEEBw7PUYHmy/t2+mbcfae - GqjsQtNvP2IwO1mjkcOL4Yg6F4xUCVwDrIOcIAhVLgmTnIyU4mh4qCQC8h3P9CeR - pWuzf7+acetfZWEYCusXxirUK/fnv8KNmJqElUo4YrQ6+DCapdGeeuOWMZ4riSzK - 7pwufRvPl0Mp06lKYMynCFuqVlg8BsTViWZg9faSLSa/E/cXR2KJeR1LLb0NuwEX - iAaQUxMpeRJVsCKaOeQiGwysXM6SSm09+B9CeHTo7Z/N3cGMaU0cyX+TAl45p3d2 - BGvkhUSnBbgJ4ykzRQiI3LTDyJuLWlEl6vRqNMCOiqB3NWTetMX3LIi/RHBMJkNG - 2Hu6MIx1pWIsg78vEzA3Go+SA8Ik3pShuNpkFar11IX7Dx0VZmof05T0s0eranHS - XgFZZVXIha73AnOVba9OGXpwq2+jhcZxmZ15n33Zu9Oji53wizi7oK8HVkplvZpd - kYcxNbpiJsyOmbGqBbVaQrnvnUu2gcsCzZvCAJoeMPQBEYf/Q4+WUyO/LjAlvCU= - =JGgN + hQIMAxK/JaB2/SdtAQ/8CJi+kvQjUHZsQon5pL4kUXCRn8lE4IWX6DIiHjPN50aX + uBrmjpRKYpYoUvIS4h/SFssBC4uD8j+4BY7lGbiEtn+dY2oeL8egtaxC0pBvT2Xg + kaiRAoxn2NtM57zQ3XFyucWeAMf9rRcJqyr6V+gQZfCyNtoF5D3OKk4payqVmAo2 + skfViNwMc0QdckE+okZ+pzxMg0I4rMEIwNFnuSIp5mX7mUoZLv1bZLSjlgGXdQbD + HjIXWXMHvHXx4Kq/4hCdm8l1C1CmfnNzJWuHbanXwEFXN6eaw3XmFMw+XmjtlXwk + A+fm/0G6w8c4LAnhjW0K1flp7OqUpR679/Tb9G7Gofn3NfdhksWQiBEkuC4dWGR6 + z88ReaaJoZcwHJncHe36kjqnN1n3Z+94ukup2e3MOa3QU4Ya53i3Jbab8MimeqvJ + 1w2W0oWl6cvrSbqD3Mq+4/oB9T+58Ks5+Cxwb81Z+DsNfFDjgk9HcJtQjIuqsbT1 + fmPmDDgEaO38IxqafXVFDT54JFGiZYa+iG5n1cH+7iZTtnE7NU7FNz42vpxm78fe + RQ2z7aclhKaks0ReXfHvTkLSjg8ADayiKxOCHH4nr2+Z6g7/L6CKW1dV3AcR6MpQ + ebDMBTJVZ7twVLxwZ8iVR9KU2klngi4WiqpptVoAIQ0uy/kzRtzLTw2+kBlgSPfS + XgEVnBST/ydjClN86ymeJ+e/GxknZZkPmPJJN3o+Yjuf1w1VJfA1EtgNZ+9uFRu9 + q30OmuaOofZzvcqxb5ZqoryAHwCp+xPS/3Dd//gM8RAqOvXG+sn4feS5OYaqLiE= + =B5Cc -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf8C9P6gnk4j2THTzWkzajDDGocvhRrYlJlKy1YXCM5fQb2 - Ze2gQPQOiPbxomzAY1+0MrV9O4dfAXCaSyEuavKvwPXhGZXiGfxElY1kHfv5n9DD - DBWMY0Aj8EY6jeAOzzyCAwkyGW2S/J677Cz7va/UKaUrF4WXIRnE1hXGTtSVCRr7 - oP8Eggkp7HIlEk7pOf39/eeY0W4QKAjL8jc4ktbDEJgsuwFiHKJrOJiu++Xq44uD - 7YXXItsGu8rMMn1eaFeD0zDUWP9uQNdk39FmkLafsfBV5s1LHAXNAT5mgNGbTRZK - HbYVec7xpOAceg6XtpAZRa5neBvfm495z4DhdkMOvdJeAdPF69v4KOuRVby+NEvK - +x/k2y7hI/+gzkcQtBX7aK53teN3th0EjzQevoGcongKOfk9WCotI9ni4IrL9Exe - UqF25DGjxW1kLwURA0Og8dawLq1j18ZaU+eB8GzonA== - =OJ8o + hQEMA1QflAioE8i3AQf/aXxJzYhD2oO/Yv9lton+2rCIWB2QFbKM5aJqE1Q9O4Sh + cmvqn6LsvHsAURYL5ZuGjo4gsDp1A3w8mjXP2ExAmzlRv3m8QoJ7RTa8uMwQlGt+ + AFmTio4jXfddHuDhmR9QS7aP/zJXYf5QUMx9fCg6TtlXIoOAbNnws5NdZw+rmBkz + +Xg0PCnJHxzdSRwFBNNF2XC5yV0mWW5CXS+FCR8nUdmGCLJFStGPBdBC75Puom6s + TAbjZDhs4ekPdqcIUKfG/5O+z7TW6j0jFXI14TmcC19DMRoSqtkJbbhT3pk5ocRl + VUZB59D+l9ZzUOcG+d8EIF6+Xtk8LFIFw7RlkeZCqdJeASBcNDX6xkhHEdXeKjqp + 0Npw36f8WgHV2uvfHTLZOeezjAmTXl3sJcgQz+Q/W7tSBGpWF+9ubLmG54nTv5h/ + AbWFENULX2u8xTebxvsPuq1GAKbc3r77qqY4pkbbbw== + =ThOQ -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ/+MLPuGQUDixBitdgSedKBDHwqVPTPrBnJv4E2dukfhf1n - keRb6ToBafj+vfxo+QFbW6zu2AoKm0PF8RLkE3+N1qUpzcxdnkszO2KldYTbalNS - W/zT0uJzvEukfgal8VGqzdhKbpNIlyrDTHq3sUNgSRnYuuERNe+11M7CLhhOeDQX - oiqqOxkLPmlT7WMSSRtlr2dhm72p/FgPjD4iWX0TzGSSrz8GgZ91EA9ZrTGdSX1Y - Npkl2M9wKTkLUP8IdD+VCByTvkfkoQkiMkRFXXjiFxD9U6qaXsKml++up0KAzPzf - 62CO6mYd4nuutz4N3L0JPNmZkVnMv3wD3jfzv/7scto2LKJPjMpGMo/bBO+zHK8S - wN9P5UQnkKhI2Gwlwzrx5Zt+Xa0nZr81bp0nKEtTYgE960yEYpptfHN511ynYJPS - wDygAjvhG81/s/I6a2HAQaVp6p10+8Q7/bP0d1JFUMbOSIuD/gi6ANONS3/CdvHm - 7kZ44rBppV/Ett4P2w3UirRz7Q8SxwAZvMCO8oHf8+8UP1pqhnBWOg3goy7Gahgo - wfyQEL/9WExs8gbpXFzjvS253BmknfLYL2mmXejuUrmiNIbWp9z7baOzZDykSTzo - +8LzqWdtlcte9cC9jEQi9B0E62RT2rGvRN1XujVB5ScqX5RzL9O5XChzIEyN1QLS - XgF/W+fhnmdCj6x+iTqE163f4BHYFykwBzpMdnfk3esMXPNB/Xrq+nkYR8PWVEZi - XB5XpiG8YBNyfnF2xIE+LG9bXJC1jb+oFh+D4X9k7z/99Rgy9WfH2JMN7GDMqGo= - =zt21 + hQIMAz5uSgHG2iMJAQ/+M1O/WjdyTiZxcakCVfjjlOtr8Uup3l1toRQHzwTVuep4 + TQZOWap/Jkd3bZZVUXfKTV1BlMamZG+dFHcjnNXWHhRkkEFFUummLNLujS0eP7zG + iRFhnl8wM6svwo79kbzfT97Blg9URVAgG2h/s0jp7HDax8hwZY7IF+2/ZPMDNjTi + YxmJqtNjVKdMN5juLW5YHWpIZfKqavKhLBQC2fDZlHjVyGfCmYALy77WRaEkMoH9 + nVVaQW9YnB/nTTe4XVtsBxxbVV1ijp02oH6PdXJap9+rxbTcw+3VuvU+HLOp6Jti + 1kTAWNL6/beowm9N2Dm0+VZtXHd8N4dXU6r95f/XmfkeASgQ3Wgr9SEvm88xmqZB + YSlysyqhJya6/xtQlAZH4174CeSN3Bhl3FMr2MLaVQwAYbLd5+UvkttwQDnQproe + /5o+NKCyQ3dFmzJIZs86Ek8HiXoXxng3pqdJ9HjaEmlCRLQRxNV7tC8uowwyb3CC + jOFZdzxb5grERqp10LosMnfO0koredECecB52uuTlUvkSEJjIp/IsGCqCXHyXY4n + mq9aFtsGZNc7AzdlN6Q5KI5Jw4br71Fntue3DTRoS2FFY4IClZZZFytAAFYH1fI2 + Qqnu5n7LmzvJKAhQBD7cYYJQdQGk01LL2+LP9Q89a8RRMS1EcsvtWQPj4eN/vfTS + XgFl+ph6/67WY6bpVQ7gB3SqUOCnYjlKulDjvNG8hppnPWKeLWGk4SP1giF1i/ob + Ht0eDNDC3ikDR27RzvKfqW9v1V3uF8vPAIgUfq73JMLBKvt04RKhA95VGHTbJcs= + =/Jzm -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DsZXvxFXTXoQSAQdACBKpsGChBGh99AqEXtgF31iKrOqxs0Htn5m9r/N4xWow - CQAJWWl8o1MIJAEhCfT0+bLYGnV9x81EKm+Hu+xQ/sNRgJx8Y4+YyGwS3S6EJfBC - 0l4BSYgAhtUdmKdQOMI16Tt2S2zF/wJsZwYu+/T8kcx9uvr3Iew/ZtSAtrxNrB5T - exPv3TnbjiC5tex3SjbeS+vsvuzGqay4g07I/rBJ55tsCHdEa1w/7100h/ep40x+ - =WGNs + hF4DsZXvxFXTXoQSAQdAhodO74J+w0fKtXIPezD82vqAOfnoo0hPNmePCoyeN0Iw + LIq3zXsIN/DtyCjqJFopa8yZ5cPp4ewEkReZna3ooLYOxEnvd87FZlVO+jZfawv4 + 0l4B01HxPUJ/IVwQAVsKN5XeuYnkDNS7rGAeXbYQwugNLXvWkw80Cduo2SQTqTt4 + G4W+9mz3jCHqM3hgQubmf8T1nxuESA2s4AtnOzUvNh1B4xY+hUTQ/3oSf3exWZX5 + =3FFk -----END PGP MESSAGE----- fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAcemel392cuyxZa7IG7uDodLLyCzwlTW1QQJ3GFBKHnww - WDof008OxMMCWYpkpO0B7iHVZJL658w64xTcGhH3U1smcFJxuhQbReGJudihg1rY - 0l4BDrR3f/uUqVLVjUmemsaWpz9yOTU8KVFQROBAuJM0JyBRZ7hV7PQITfqnwNYu - f46zKUFc9nxl30IKLme3RwvBmsa3aaYjGoY49ntNR5qP0bjlxCLXfFEpD9l4DKyP - =Vu3w + hF4DerEtaFuTeewSAQdAQ6oaOqfdNjbyZD30s9z5BIQ1QTyG1ngycPJeA/jbi3Yw + L1qfvvql9wB0OUW8D0YI3Xtye3cWDPv0T+bZjfC5ETyX5c1LuTm9ser2HyiuAjeb + 0l4BoiRvFhdwMDoWZq/RM944SoghiG4rxO8DqZXGQwKZn1TEieqLy6GL2ir75d/1 + 4fhbyJL0aXVxA3PYqKtvAIIIajHmhleW8H4vjGB6ihAB8bhXcRtHvWSy4dcE8ybz + =3V5p -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//c5qEsfr4c6j+EXPQV/JuNjlNx+nfl+cEXzy0asUJmcVK - sb0AhuU2V2GJiY5KKZn8piuXRKrTwpyOYK/4RMjYZ4eJ4U4f4753NGiFIFbiTlEl - wuW1c9qbZT6vqVkKLWUeYSC8OXJ4pcyGX1LZqU+9WpDdtx2nX1NGvDkHYpF2gPcT - zjkz8TzsZuWpPT1P7U5mLS9vZLw4X0af7iI2M1dDvPsLzGk/AZ3A+g+y/h9dVWKL - GQwWZDTCjcqgPV/aRwdyk+01ZrclPakm69kngD0YuiJ/eLlgkTLY4G5ymkuLyK2p - OHZwMP4+RXHAgH9csLiSeaxCSPPhMqlQ/wdiZym1+fVmAzru8Zp5bnogAtGb7kni - XTC+jMl3B5V9pvypaGMDeORt9Kup5FimYq1Ty8TiGWJDHzU3dpJs6jsttcJMLPCc - skZ4Ea7+YylFDZ3/MQDZjyq0A7X1r02BIsuDXFnAKM07ZEAUVFxpNJf9jZEoTnhP - 7YLUnVmfG8V0LCtuBXl1AIR43et9NCO9t05HUyVjgxj5NYXOmXExzit0L3i7D2fH - wzSIdPR5W33N+oWNtx4V1YIx4VowLY5HV1YmI83E2cAL/8ku2c+F9LzfDMs85RBh - Tuw7AEPgxJQ1GWa9biYqZ2FLO00Vgf6qU9eUEQShIXj2lEqArNkiq+eCjGgPoaPS - XgEwy8mo/Q8vTcgLUhB1ZH2UU6HGP08UswgZ0+Q78ZzBNBeBkzQs+AuTS9QY6PaQ - D2P672mFjiQYViiODlysDsjBa+XahNlZi6X3O+yfLNPBVCtKUxqAAsFsut/10x8= - =a/My + hQIMAxjNhCKPP69fAQ/+LPliD0gndt4RPZ/wDVJc7Hv/Be/YgaWnTEBL4EwM+dGS + rOggIH6rboMRUm/U7E5sFtwq17CzA1u0EjUAHqb2mUnDDZuvudV/Aa7CjjXfevB+ + pT4nSoJvoDXX7W4TKjfWjdtqjf+K/sUuVo4/JGBdTiwOaS+gUGmBTJrwKTDURRGm + hEzXhyMZO1q3JsYOcvWSiBrmu73URlr2cp+4ttThvfh0g3EE4ke+mKtnKrJEf90L + N8baSTc4zKfXAiQUVTcwv7BUUloZqQFOYS9LuuOUSznRMhCcWVryANJoxPcEziTS + X49Ugkym3DTkVu0FC6TGFB+4XCRyVRLTqTLmTzMWb3DYySvzTcIHOBhlCKky/8zx + SL3abUs2OX6tbqiYG7jkEq01nM9m5VNnq6hzPZh3Mzeqv50owiIFRWREiUDnDkUL + 1XCXwm5XRo5o4O74HIHouxzvppe8Ib6UbUll7HTiaouHTZrHai8E2eKHJIMtl/BC + GNSDGRGzogOeootImror+hfTm3NUUxN8Qi6OdDfg1PACZ743Q4UYRwQ4b9DxZhpu + bnB6y5tPkxy6xNsOfMWC5pzBdPhFyT/MJ6RNTh1dr3FsDSYpQ3uPeQa0bJs3XGYa + sWYFsbt5pvdLyxV/v6yl2GIuaffsXPSP4wKw1plNk4iMnszcV8Z1xOjzZW2hq7PS + XgEM7k8iVj/ZCDCLlnw6DRWxRS/YGlxk2tahh+p4FG7SRwLQuTVQzfmm1EtJO1lZ + rJjGmRdgrH1Vot9vSBG1SFNwv8e9FnylQsd4wTB83KbIIcRx4cT2OP8hveKUjGs= + =TmJ9 -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ/+Ku07r2k74lPam/sMr4394oz+y81mbPPf69kLM6N4yOv4 - ZqFfwvybOFFExOI5N2al3GgLSD5geJHk6w0rGxxajNz5J8aliQRn7sZ4aCwOjs7e - KlO36pvHIOmCAQZUxPg0eyriVKYw2FFh1MDRmI/n1neWJtbqnBGky91Pi11198Bg - 8/SGiW3hJiL0E8DZ/XIgaWuDjvT2hwA9RxPBMTAGXBNSqJgWS3SD28nfiYhcKvuM - 2n6na25T7DkAW/+aRiOLXD4gTSZvcF1Kluv/MTJgLvEechGNZWJzc/fS00FxvoTF - amvkbcLF5CrVqI69+B5JHOBpsxT1uhEL4KV6HzA5PHpfcmfcOjzK6VjvfCVItYRv - 5Om3+MUxOV2Y/fLHNWnDRClkrLvfmcxEN5sYgUfiKX6iQd8wv5Z9kzM0rKeirhYc - 3DWXZasWCQg1wTBxyjreDunowYUnPKdUZbQgnWWUCdOabCkS92cZhqV+Jby8ESXB - wTsffPi5S+QzidGZcbahBpowfkADHp9ubFE7173OuaRxYAbg6AEUxY8RTUWxm44q - qhvu1Bnz0EPRTcY6K/OOoPeNn1nWynAkBt4Ee0dg282ry2r91WuH3s1wf/lxb6s2 - 5F6JioVPWWp9J0pwt6VlXfJq4mkoorhZlwASRyiZCHnyOSfvwq/v/vUpl/q/aGHS - XgGNcZofkaTMC4RK3y+TFnIcl9p25tAP/5J6WXkKrxyZ9bwc2WmwsY3tzUcVGG36 - zHNpQgaPg6TmdrkfyXlxYU4ORhi+uJR6YSQ4hksds4YN6jC3t+ZRhYWibpQ/R4o= - =xpZc - -----END PGP MESSAGE----- - fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-04-18T22:36:23Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQIMA46L6MuPqfJqAQ/+KuWUHyFQ+AFe8NyHlAUU/ch0Smg/DEte2FEL1uSV3EKT - plUfKWi/2IuQY7mzdFHYDjQFXnLN7xViN1jf5RmTzmJ28BOXWj/Z8tP5Tq7AtIv2 - E6STcajdqhTpMjIaRHSYwIDvoNrXT9suUsHJFM3QHB3kiGWEdeL8E5Nf635tat8E - BeJcufEwCPkgz9Bqq699w7Qy60npm112O6mnqIRUzTh2TVLatvTVtHfpx8xIh82R - Mz03oU2r/2sOkb3iBypOsQjhhoh2njp4Rv+78+Dmh4bc1XMOXgh61KQtOS3VZYt1 - QTeXqpFLlmDuB85hHI8UfyqftLgal9IwrkC3/3vTNeWqVODRsDZo6qDpmc/gLccL - u7qQ7Ny7aO4Un39JEJgorL1cAMSduaOtpaLjdpqeAAcLKfhONTtTQK3Pq1sQqx0i - PcitfMaD3bgMY134S+O3dQ2gYNttntqJ9CsYBg0S3GwMvexCqKadN3FxJAZnIr1W - W5I0BDIY9s92972hGofJr4o5bbjouQh6tcInYHQkl9B+htRBZSzuKm+h9OqTuiOA - U+PVd16eSpP8cTRSvgFJC1wHOnpRdzPSj4KjfgaLaFsdDICyfQ/ZACpiavfTHkA7 - n/je4t2E3eiA0dDIQ+dPV3cNGnkxkLZbb9DY3p5zPOrwSN9xWTJgnHOmqJVeGiXS - XgGYewRgJpR0a80dZdoRrL4JNlLXWSN9eKlEvOz8G88s6PRNjGaImURunZDIndbj - uq2E0qiTbFdvdkyvucAoqrkQBgBFoh2lmxKo1ZtlSgvn1l6iG2G3AialZJ7n8Vo= - =btY3 + hQIMA46L6MuPqfJqAQ//bkEfapoOFLDOgd1TNNdDAihm9BYKTZS46wg7v+8wesDe + pYvTS+syWSjLfkVsb43o0Ep2KSSold4Bcu1MHD0YYVCnZgrOPJbY/uuSwOiMOhOM + xDpbXgZ4xNXxq6v8iCMn1JwUAWizVLTEMaLfsMuAqr0u5g/lJelsUIjMIeHZuIN1 + InzJNQG+nV2a7MRdQMAJ6JGBqWd+6p8iP6U0SBN6LdlbGJUWdS6hbbHgGwlwqS3/ + 2O9Fp5dGW6l+EEZx5IyMc/vylrIccHM5xf6c/yrxBsCjUjK5w6aOJPybKmpMbAAA + lbwD5dHm+O/gVtGTaQ3PydzYAyIq6YMjTnkyicmdTK8zi4/lGsgqKMpMRGNEga6p + Berz8MDwmdAykhmt1H1/O2aqevkjjNnVQwqb5bry8ln7exP/WKTWsfvs0m/qLwio + LKDEKltiWATGYPMhHW6OfPOz4ety00KgBndY5v9jIkVdfc0SdA0R+vEaQx14lpdC + aL54FHAcfLdWKWA5By9EWhxhWki/rfUXsunIGzs3G7x2RNW3ozztYxOwSHRAmcsE + 9CMAS0DzAqD+2Na9AlZpnHOlaiQP5RCdDtymwQXu93KHAtI/kJQHMs2eW99b2xOx + DnkfbOEtFrBdy7RrVRnwCvexhegGwK2ZNzZU5aUvZx5X6SbpK+BfiEJzoJMs+uLS + XgG9B/wdV8s4kauOQJ1jcI1VdusvA4Ao/KKAgCmYWmDzUTpc/T0NZ6NWK0PbMZ9k + yjEbrK6Dr1QfIQ6VZjuNhcLe2uhXDGrbIq1EOQbQb4kCCNh+z64DhLsoW+p44Yw= + =UTtF -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAwd6l5UbIQMHC6l9M6V4fJJi6fsP7IfOJWvLGi3EeRCEw - fdly0NHDoK2OXeL4wHIAOMHosWn10BfyAyWZLJoPOK5XPNc44F1hm2jYV68ndM8s - 0l4BFeP+LG3gv0V0JXNpUaj6zHabbP4eLKS5b///KtMWNo3NpkUF/NPe9n881nc1 - WHHjSJL4XoRkuwL2T4Pc2ikwjnNwchCWHk19WSrF3VLSYrilIKxyK4lQZlV+4z4L - =P9Gi + hF4DQrf1tCqiJxoSAQdA1VeeWqlnRhVhvHDuETTWLFAvms5hFqTHzdAFm6flygMw + EPd8Mz+atrpLixkvl0xuQhaAMZGUoCp9eAYi4MtbLdcFwNgQNT0vEvXP1fTCog6B + 0l4B1onjK0bpkztmC+0zjJfdcBg4LkBQ29ma8jvLaLHLbKy0glJUHhlr6FU0i47l + HHJ1CoGx4IOw7NQqqRS3EA3slfY9bCUfS9y0/L0VrP41OuM59uKJ0c43ygjjcdGi + =7w/V -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdA/t01OdnPJ9W8+pxulWtHheAlS55G9JJvS1huVkiR6jIw - uy70tvgVAgdx7hr+MJdN8aUhuxxUQdnkGsIrFX0Rww1VGMlwp9S4JotyMU7TESjc - 0lgBvz4S+xUhlXtWPutV4Pi/frVpAYt1tQYmrKs5ieQT1x63IBCZGR1t7mek1QJd - wxCI6B+F4Xo7sqAWunDEQYz1SL5h6oFplvFsJlYJ3/nB+IkUxNWRDgzq - =CVMG + hF4DzAGzViGx4qcSAQdAdIGJiFeOZKRnUSUT0bD0c5thO6Uu8A8iR1f0nDh5NVow + Zhqg7njSxBsY+S798zxrBe57XAaZufnrdbLkRQG9O5NA3oo21ur3FaCrwqxE3Ab1 + 0lgB4ewD8cLOxWLejQleWC+Y/W6yuZLtDJJLCmi96fpDaGFOPAhigbmnzi2nYObI + 3br96a5aSYT0fQ/BRF4pOPVIC7WXISvOMWKL+UC5XAc8VKVOQGxEFpqe + =Elmb -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//eLpuK6HP+OYk85bRzSl+cWNmi7WiS/piOW7m2LSMFxvI - sGmJ1YoB/ox0wuHQRjna5zFAl6kGosjupCBPaK1ms3vEzxmX/Ge8Km/D8tQEsQzY - 7YjX1hCugzS4du+9hfbVtPAAcEPIAmK66/dmJ9ZoXe9xGTxXI9kJGQVTESnRTTGu - zuUlVWpz2arbG8BzI3zgiCYEkH7lb0rq22Nj4Hx1Egzhcyn8np2zG0c+KVlISwcS - b8LomaJjzVhVTuqhNFQJr/utDC3X6+002PLJ8JM0hwPqWOrGfPbcAkrxzW9kaZRl - XLoAWoX795OwwFVjSj1ui1PiOQoYZpnl9wsagfuzDun9S4eM6rHSWQV3NA3dVOz8 - 3WZ1kAZ5ekys8iY7D8IPZKASgcQLVR90ppgC9+mAb01KdyJiB61nTvamD2QG559z - z6Uk7RH3hNbIbXO0/acw8b0gbnTAsq3IPIhRFE6v3yYTXmiT2JHtsrXf6xRkCNbr - nKCdOtJekdm8xZM+cJKgRDgcVn7qBkr/7ePazmn1VtL4TDACFgeA+AXL5/gzMhSK - kCjArjoicskVkQe+DS8x6/gmcrefnWwsnpAUdGg5xNOVor+T5JetuwwlkPW4Nta6 - tzdCxxYXUJz7cIQt0IvVzseem/Icd9ONq+nzu1NfsWaMfiebeOMqgn1oEAQxiwHS - XgHdCyCaDoxhv5E4Avi9CvhekBlXxeKh152QuMvOSyT/XHiNw2aij+ZxG3/yXuQu - s7pnY4soPINoS+S0OSW0Pcz/tX9rNl+lnCgkb4g1mSj1LD9az7puNRckz7yIfsg= - =v9qy + hQIMA2pVdGTIrZI+AQ//cDh+BKGRmyiG8Huq3ROh64Ag6GuY7l1x9wx0Iivbu7e0 + MMF8vLYu1/0xwjMesPErSccH8PwLjccgQm0JAgORFQuRs14AuJn0XLwKXBN7BU4t + Ms2GMczDmyNAePHVmgQUobwUliduKuNovKu8uLKDSwzxPPyt1f+X5GOhRQV/U3ZP + EKUDvO5FINSIcoCZHLLv69SI0aAibFK1IlfxXnwKxctO6P2M9mN2B013FHwYyy9W + OngYFbGGKFL8nVOsbDXpYvHERmIyvUM6TzpYe1OgGSP9Si/aIsmWl/Y92566s7dY + wj+OrXBYzZwBsCsK8GVcx1hc24tmA9x07m2WF1xm4QSDGozvRafshaXrzXYz6mP7 + CeS5X8PX7N4joTGr08Q6505GZl7H26J5L7acnJPVNbrUGUi57iV45869UdtKHFv1 + m8A/QrKDBE4qYQp8vPp4B52pdsXP5phLvc2U1LRKzF1Xpqw06Rc2zq20X7KuQnVn + BGs9aRyQqB4nM5MAvPULSBP7DXIS0Nm1Nk1t0APagtU9RtgJOt0RT4H5NjBbZctd + PZ6DArLLlefQNMASpMi+ZkNeDVMcbrd1cAuK+vWgb6b9ekJSL7Xgi5WZt5eHlzXF + u4J3I/6VEBj3HwjnkZpfKxJ9JHIbjOREZfWX4RRutdI3+usUVSc/cmNjowiQrnHS + XgEhmiWJcm7sBJfKvSzi6PCU9n3syu+0t+flnK0IRrBt6u6eF+90Ftu7HWCBfNHj + DFtjMQO0ZsK+Rok8gjgP2hhXtMlhIypG0G0fS2oUgqe1MahuL85mKJJyciMGq/g= + =054T -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-04-18T22:36:23Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAiCD7jlfGv7UXHl8kccNfiSXehIpxDuMHCN+g+1ZQcwgw - f4IReOWrqp/CzhOEJa59osBUZodhtTjjoosXIuwSWyvbAc3iSxtIAxhxb7I8PIEU - 0l4BmnQyNUKKobj7NYdzKOsHy76lp0aYT2g27YYNb+bqJgsOm/ae3dTkaAUlwst8 - bIzflSkLuAmmiOX0viesBTYo/pko3ibAGqVGnJpN+TfRhT1B7W+8oGhVjrcfr2/g - =g01t + hF4DKKbvh61jX5USAQdAOVn0zj5et1Wf1LFapRO+gQcPVBg0Cq8iBJ5qq/Y/nWgw + 4e79x0ZJfJxFOqOWjl1fLPoE7Mo+6GyQpwfvcPx7Tl0JTliPtKu9B5fyTElFTzhX + 0l4BC4kZtVkNlgwJIALjThnpLwVmtMNrEb1tS3kUjxPNaCvvXboqWcammftIhr9x + eH3S7DkOvcDh7d7qmxNAyjpNMWA5w3qA7gMKomnPsRvIptrkTcDJ7XTtudcXzOrI + =StJ+ -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/sunders.sops.yaml b/inventories/chaosknoten/host_vars/sunders.sops.yaml index dea5d61660..de89318c97 100644 --- a/inventories/chaosknoten/host_vars/sunders.sops.yaml +++ b/inventories/chaosknoten/host_vars/sunders.sops.yaml @@ -8,203 +8,183 @@ sops: - recipient: age1na0nh9ndnr9cxpnlvstrxskr4fxf4spnkw48ufl7m43f98y40y7shhnvgd enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6RHNpdjhPbnRYV2JjLy9W - cmY4QVhXNExUbk9xUHBRU2VLWTMySHU1UVdVCnNueTdud0FXWjk1Tkl1TFVSNmFp - bWNFN280S0ptQ1o1M1JaWHJQb2FvM1UKLS0tIDViSWdWVXlmY1J4SmFDOVR0bzgx - NFZzclp5M2pKYUxRRlFpR05SdGtya1kK+uJy5tiLg5SVFJPu66geTdK8bBK0wNov - CIsJ6+ZZ6ToOSZBczSoV8T4TRFuezXt1wbrYnw6WH0zydiBJq8o+Jg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBmRGlmRjMwaHYwZkRaSDlv + Z0poNUozenAwS3FCK0Zhc1VBSGxudTM5K2p3ClZSdDFOVURTcmFVNWdySEllSld2 + THhaV0szVGFFN1FHVDdOU1VEcDVqYmcKLS0tIExVSFlNTERKN1pQSlRjaEd3ZS9u + UVFRWWhkYzJKdXBZTlVaVVVjZzBGTU0KlcNZN4o6mvtrXsECg+iwmNenOCyBjx7l + 1AQ1dN3vr1Mg0/kpz0/34fIiLttiZpKrTvIkH8I3xxAIkTtclQshaA== -----END AGE ENCRYPTED FILE----- lastmodified: "2026-03-31T14:49:48Z" mac: ENC[AES256_GCM,data:Ln//LDvcSqRknJGQvdzwoRvZOK/ZBqfTJqnxm9fhQsfZudUchZ5u7PXQf/0y3GnrYVx9agGGoKQN3VFehrZfpUE4ygjvmLHiqJSZVREaD4Yq0PuaY54/wN4YX8H1nE7ILdm1QvFRzpMUpSnTM1Yrr6cMIFMHcRRpL73LfG1nwPY=,iv:NXT/cPTnbg7ESiI7Aj3OOpCLMM4j355NAMVJNsIppzY=,tag:iLFTfiFdDxpwvC88fLf3Mw==,type:str] pgp: - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//Rs4iTzX0kgpbSu2sE3UW5k5WEjNBaayL296MsTpHIR5h - bzsG4M9XhVvTjoauGhvVGn50nYuFbGqF0IaWEWTufVXDAO38P6ixcLscSIvTtJBr - TP9LDaU2/aoMVaNaxI83SN04eKEvcdel2dJ8JEaZvDZ14AAZSETljFYUjHOoiKDA - 1m+PQnIrexpJMsQwMITQBqgjHyUfL8GZ93JncqkGEHaAgqyQpTYWtfE2jFuNjxSd - Mbvs172WHSfRuevNHHiWTLtWFVNVPU/xm02I9c09fsZvm3tvDyEdCuk/vb6AaHbY - WM8mehV+3gWHauc95L1kyUbjs7LEyXrwE+C+QiUiZLkBrMMWsDtVAyr64RqgBu+n - bSm4q6MwQJPKyQR1nn1cywIcD/f+XCgFU76+/VNhu15D/zzFaesERtG7mAtYxwsd - ciL9mBZaqaChYslhhtwyv2hUHb35EqJDtndj7qdEylbxBNkmXUEUcBhn1eyUojpI - kIfYG+8ZHH2Tm3HKL2eQPskThZXmA0a3CYrkK/cr7bK06HUKCzvtIRk/4NNlSrA9 - n2cVjh3gTtY0otwh9UmvIPug0clvadoWyeWktjVnKfpKqRzX1KwvWAwHcWdCbbNC - q/pjnDm400ZI2g6279/l6ph4awXhLQbOuZSO45Z56NttYnvYdoNRcxvegdWp4kfS - XgFbyTH3k3Mc29bog3ZxJWPdrV1UyKKe3SC4tMO4JpYoJg7KNBKhpFV+L7tJhRuw - dl0LRfiGwWSZVNam2U60HhRfaRZpGWDwe/NRRByBUNdCu/GoDIMYsJm0HLE++mU= - =nVhp + hQIMAxK/JaB2/SdtAQ/+NDU9zm0sCqwvlBF61o7wQs/p0nYWZpeYeIYb3rSpERhT + hwvyrlHsgIzU1giQX0SzLXnvI02v/ZKDDhWPNMgx1bPViS8bIWjo70rt8WkHXOLr + pD8T/+I92BKOITOU2k2i4PbQoCiDzawZPhXyESStiEmv4hke44YTH1K7Bt3iGu7u + 2+rf834HMOSBlAgfgz5ciHaoPpRpy7O84NAXOpBy3AF9+htZLAL4U2Lvr7qoJYtF + LHQVip8xVtHUknscJyHxvDhrFnRYKmSef3giyC+n1xFbzyQ/N4NX6qwepOPSmNOU + h5yIs4Q3bbOpycRaoz+GYGaAtg4MVmaWdeTX6i56I7kO9r6BfOXU5SKLAxK4j9Ox + qNu//S2X0YngPhok1ujUukQ2j6KveWrZybb5Vle+FgaNO9aq/3iiY9iZesFksthn + CWsvkOabiL1l8op7Wo17fw8TL3UgVLOHsVRkhznDeyIsvT1BlXXnb1LNGG1xZ+Tz + iRBShc5yEYk8Ev3LgTTyYqRotPbZBaoaroE78AX2CgB7RSsNez3P3GNMs1uMZmDe + FWt8Y4jeQfJTBpcYv6Vb4XlwMGYfNLHnHU0yrHqqxrK0xJ6k+8slXbrppF5CxU4H + dwX2Ws02WOEUOV5tCOzKsX7J2Sa3RRc4yVwDIWyLq6GLEz5gtaBipVF+MdAbE/DS + XgF5gyyyvYaljpVAFLvS6kjL6ecrv0jU6X9pRXcadMdQxmS2N+67CNBUrKdZYVtW + 6zY7d5nBxK0YXu5qsOme+24fgLVdoMYoG9AJfJniHuE2ST0CHxJU64PjbB/FarQ= + =nowl -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf/eoCw869wLs6U/oZBtVH8YnM8MGVPCayydTInG96f5h3M - bAcFbZ4wgQ2TvlG+FKfNf8Z3DhmhGGqqcELhTmo/t8e4/W/bb3NR3w5cB8xESLg8 - 2eGzONvMt5femcbUs8iK/EpDwNpxxN9/Z1PxUn2lHz9qw2jBkPFu+ob3hIUSWHuW - zhud+PkExU58yuEWecfvxfx4Lk4/OaCMh9rQeEPWuEjjL7TDcqdaj/OJ/D0zDtCA - xXVEsJDmPdaLOI49GUxXowpXEO6JxjJ3Kq7tecJSUPNQSZ/doTGDLJMUf+YFtxNm - fyxUunrPEn6q16gDduKwheRbECMKTdmBPUvYxR/RAdJeAfMNIeEYvEHkCm1sz9Sz - qtRgVBFsYCEwmUSECi1r5sZObkjcbH5v2RG2wiAtsKP/dUEVbqhxS4Zaw1itFV8b - 36+gaACr44GrY2uuWJNa4Zslm0hSz9nzU3/w3hb3+w== - =fi9D + hQEMA1QflAioE8i3AQf/QolHHbMakijbccbkt9yJAAQGaYYJ1S7eDVWgO8D8lcDL + OP0DIj34nFTbr4ByAZAYDRH6oWoV3egLVDj0+8vBFpUdmFvIrCMqCUNZXnnpGDAr + B+OzhBZ+6BH59dG+4rwaFDDMylz81leegvc6uz/JJVrCjE+bxJgHVSJXCGPkLrWR + ZxhoUmwFSl5HngXSRessVFtricelthgOobXZFGCKW3nFAHwM19Bvfx47kKscWHzC + KuZ5qZLaR3bcLb93Yy401Pj7/c/bWF28hXsWruisYMdVBUE2i+wxx3G8/bgaBXEz + bQp86LsuE+kV0XEZnSDclzmOkd8jXoRqLpq+Q+ywttJeAXTlAoDvN/yefkfRQQXL + 7vAmgGo6yc0pdc46Fr3rJg2kHuRGTDaI6Eucxp6XIGEJCnM/vQfYX6r9iB6Sdl2B + XTFp35S+okLzbWrK6TeyFyJ7XghWyR4dLFnezxXhYA== + =5Ngw -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAAlnB/JdgrzrEvd2nJ1eM17t6a+SyV8apOpUPR1KuJt8S8 - 2x8Z3rHLMQDbvAmvC6W+SpNeueWxVVxgL9kQ55dzK5ie6HgsfuxnXeh9TWISzHIL - /yyzatpZMrAYnzPKInut3P+gq1IKoPiOoE8sdy4ohf4pA9kI/LyJs4aFop8ZkGt4 - kuzrPCM9zE7Qnd20WztpXjVeJ4+S0NDUd/nqHBRsC/4X7Gso9r1EUVzx/buJmpO8 - 3Ty2s7E1oaraKD9GQb00bxbex3RI/ooixzxTFHjuKsyTNEOCvohAbj1+r2V8qTxF - TNKhLQv4bVjM+ndpt63Z3j++gyUDqkUy4hvFkYW60R5F8XO7usQhQmXGvP+Ia4Ev - yKTQdRM4DAN444LMaeYS/ZrxDWsC9EHyMJ8l71qKhpiuJec42HZM3VPu84T9Y+tz - AIZUSxvig+fSSBxrEgduWYab2m96xzWUHI9FZUE3ctu7sXothT1MCZI/gBFALtQC - yq/eRo/Dhfh+nn4gc7yiXk8NkYqPbdmLi5FxwzlfHcis7hrWPDF/br62Bamm+mis - ixlCx8i2+ClEBSZI8agdSV2aDaQEtDGYc0+qedSntxyiBbbFVcdagrCil3qgqEfa - CuuzaGFzCx+AJtKUhdDV8ox51gZro1rR6MWD2wPbiYUjRJvRovQrIX0zFQtJj7/S - XgGsqgrC3DjlzHN6yib+M7AzBTyX4POPUPtudT7t8JHdOTyv/m8SmStT8IPIZ6Mt - Vnc8SV1ZSIbsU8BMZ17IRdHEj/nCakyWt2AlzA1SIkn1GEhrfxWnMA/oOT6IUVg= - =0/u/ + hQIMAz5uSgHG2iMJARAA3FHJyluvo5x7rsbaBGgvwcQOmk8SXm5jiBX5hfEHcpvm + 7pjj4mfMa0ewzJsrt/+0YspnYIxovVwpX6pW7mvwY2Dmff333Zla4XJbbpXg6jAe + mN7MICjmtsW0P3KEQUdGCVyeku5tFfGTThgw3Wl4aK8bn4awVRq/v4YA4oXuf+Ps + 2LbuiFc48JH/zi0TdAv+q82NHV6xKv1AZMXbcGk2EX/0b7N9/Z/boL9X54wo92mi + 5WRC7x9hJV0PMxaHTJ4WhzMZCUva71Aw8uHn2CFRTzYSvG28lNd6QVHOlGjR5dyb + BF6iKfmEt9BPTjvECeo/nPB702yUucQTb4EoOeZMhngg8VyneXsqixlJx0jwuqoc + rMgJGScfuscFdK6OLLjTyeB61+KxImQeKIkSUT9+o8qBdM5Thms7xotOLkXHuLmd + GfUkHPRX6TBsuIRdacMKsUBm8dBsDhh8j7rz86Q/IHBNvKpsTotU+jsazAUy6O6+ + xoEtZTvAWjVXTTI1MRmAeaG3K+ub1ncA2uMTSJ4EJsMLtPBpyOuIw8Rdy2xrHHkU + gQLI2bGpJR6WWeicILJiCUR/4ovmNQIUNCPJydL1SINx/btLi+Bmc1qG0G/Sv/u1 + 8EAZul1h67XX0I5r5gZMheyCSD1UEid5jZzO7b7Sa0Gb8H3C+1vi3wrXZet7jsbS + XgEF+mlIhhFCAI+k2xFz3yLfvbJWyVhhm1x3WhCYIYu3tF5Aw/ANXXOu8paFj8+z + S/F0rGwtH5j0MOcUFSPJd5Qc+Qe1EG+OiK+TZJ9YSHZ3SUF0ZrH9LTW1aPDXqRI= + =P5kF -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DsZXvxFXTXoQSAQdApE92x2ci+ZPnH26ZcWnEYXBHBaJdrXygYxuy+BpH9Xkw - 81C4eIZDws7w5uBtT6nzKNCn+hXUmitLTo/GUQLPEYigeVPkea5kkL5o+6FAhTRm - 0l4BNUphaR2EpUZXateYbs12/fxMztZ+xPi7WyQvfRGiuiEO+vqgmZW2nIxPNcKK - Y2O6nK3kCxpvGQsQxsK1/2TEP8PMS0kG8QP5FBPDr+ajGNrfoBYXo8HyC9Ci39X7 - =xRRu + hF4DsZXvxFXTXoQSAQdAlDgG2YJ3CMxlPOB/QC/gFGtw+wBLRcVddBvkhjukS1Yw + O9Ya07YDCPnlkoUSQjVU4ccYoITEK8Ozad6S/ChQMkuREdlCOpbwD36IzIV+X3bO + 0l4BzxjXWKJ+CnrgE7gMHg29Msb+NG1rj578jl5kbx8M/RhYCeJAZ46JJrLAiQue + jMjdLOcQdKwvXyOIu73m3kq6y69bPdcYoFElrqdFRV4h3lfyS6Yl2DO91vnaFA2o + =yQK8 -----END PGP MESSAGE----- fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdABpSLbeV1UQgkAawjI+Lw4pqXNV3iioMZXgdZerzGr2Ew - QjB81QSfAeJRC4CAKi464Hk+48Xlxy282aAz3FZXo/iDrk+PBxWmVcQm7x1NuFCR - 0l4BRFYxC8sCUhLg9s9220UPAFVyDTRcn5h5GRsbkVELzded+jdvm2IOSaXfejjF - Jp/Az6ZgA5dOwg+VOsTNthsAGSMdX3jRalZAedKjxOux1l0QNK4hyD4a3mSu3Ovq - =kPDp + hF4DerEtaFuTeewSAQdAXnARVGIMNF1BcMIw0FukHLnxdVz6oxr4O+p9KLjUaCkw + pXXM57xVTHkz5XELEgMEsnG3UPUKNntb+07XIAMLxEJZAo4irVUzvP2Yvth3njjQ + 0l4BFTq/ctc7Nid81UlORb8L3ZfxvqAcCpN7WYMPhjjFwDjnBk3g5p6OvDggYaRk + lr1z0WObX7rB3PD/WoCWFGPDmOPBVLo50udPjh97rp/OWC+fEt/Ctdgrm4/qXiEa + =LJoc -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/+NqzqFTxDnD8YbLE+HJRTegxzRB45yi+fHr9f7iILBCd8 - PYFpqQjx4x2vnEoIPrY58fjs8lnkCDECUwBHhC2T7ty+DX16ilqJ0jzZRRHiYFBa - CxYxhtVBtTuH439K+zpJa2CjouTICKbNDh4zpr46bBBov7fz29pufR8PoT/TFYZJ - 9CiekPdGMicYYfkMvssgQOVydILRk8D4kBNBY12WG5wIuiDLI1yWLwxQwTp0dlEg - oKDCInpCAkfUjCd4nuIxjhFHksM2NqsOeBLXCwnERsBf6WyZIx9TBJiXnO/vpYww - 50UBT6dP8qTGoOX4zuO6IscM/6a8XDcejNyNKC9tAjaKA99LrllLfOQuTdzSFGJ7 - 5RYkAZO5AhFNtR5Xw/7PiLK6+FTv77QMI3srg/AaQDY7ydPyMkoydhT+EZe3xCZP - zOqR7gspSm+sb9JW3HNvDk1YQCqJj5wXs6ATkGhooxSDgpUwoeIxc6Yewa0aVWuN - kxO3foPU46wTEAjZ6zOcWeznWJC6prFbix3ZS7zADEtgKT9/GS3PrABtnrSDoVjh - TU6m0QOV6kj+tv6R2Smx1GZCDhK1Q2Yp4KC6x5h7swLUOqFIBTDhcq7MlYryuNOa - FlKmCl4UizZuw2t8Nml9XjumUzJQHWtytat/VJhtdDThX61oPXWIS8HEVCjclGvS - XgGrYfKsxX65S7YeMb0sPCOoeElbJWWF55KTHT7m6Q/loNtIWHfsDc7TafkiBXRF - 2XSWUfeGk7hkvVT1X9nluEJqFidGd/c9E2pjNHtpcvGfXewSRfWdPeSWLLb9czw= - =EV5/ + hQIMAxjNhCKPP69fAQ/8DvxAwUN4hpPv00Kz+arF7WW5+jTNn6jDE1QyLRphTBeZ + kqIHyTAx/v7/2nzChbchk6ExRWELoFzbu+8ExIsqQLA7e33LdZ3UK7HKzac0jjsR + JQmauTJyQ9zYZRHKmWaxfjHFonB/TS/KJiT2HLRDf6866th8/5jKgVtOdQOStLr9 + qNgMD5hMrCL3zx7FROzhwbRbcp2RwTgDcWiHi8NNf/UmGirEVJhNO4iOs6OYUxwU + DvqIMhgiHd5Yql7AziU6EyGGWyMKXI+JrLibVURB8EsYTV61KDKEcq1jHqrvKtuG + luWQZWMS6VrxHle1MRT0//1oxTv8IVbNiZAO9ovh9ARhIx8n7jxjCly2QPIvFsJp + VuXmSzw7RSSXunqD9y6ZopVJdUsgdd5qmGa/eEcm5r2lQub3x5rPtvmk2QX7BCvN + 1N6ybxV9O+DV7E3w9cu0E6vH1dv5Luet/k0p3HfRiZHCXwlmFawK33uIRtNFNLbV + WxPF70QVEp9GC3DpNMiQLryMAvMH+bDCGR0Vyt0pGtl59vlyXNu8eTWOXmL48pPo + wybUNapHTaT1VYU4i7U/zOBL3BTFDi5n3E9amrrhZBe/h08ZcKKN1HCuQ+0FJdv8 + swljrlNAhhn9BohZLzznHwi+iu56DSOMKYHUA9DNVFyE2P1ipDbbk9B3Te31ygnS + XgECQqbJ1AH7etYWFQgmcR7wJTfqxRhBHqWcorXvJttj0Sifpq5xJn/rTCOBLg6G + vAbcHIxOQEdxDz1JNhlOdS/8goYz7keRJyb8NdnQ4klfvDpvRmlWhKzDCt7xDJg= + =n2JU -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//VwGApUPWxvvg18hjIbeE/Ck6lStgOYApZAZdAEhwX1Bm - VBA2AT7XBUpFmLxg1Yeb1f/4CE32mRyF5DV/PSEtb/+GOmJ550OYSYVEWaYoEiQm - GCw+gXpEny3MF4rNINoaYyKCbi1mvMV6e1+coLqwKIYYk+C3XqFTWJ/WwfRBQghX - jSWcnjnG8bdnjUvgrBq7ukmNDxt/l1kwtVq5YSuKgKtt7txgUuFojFpvqI2eiY5e - lHDVZo1zGw4wPbDNcSq+UKIyVPnd73jXADIk2958OIFh/4YL8WOO/Zl/nQ/27Rm5 - nD4ZMrNkFBp5trmX/f3VSdn4rZJ7pwrtvSG78rCGav/RZ+4zP44/m4J6IcVpJxxm - PmbqKWs3HHRpcuuyvkl8eG2ZSQnP2RuFEMuG5ZxYdCHDGFcEJBiBXILvHWAHqOJe - aMVwb/+5PgFMbgVetIY21KQcmKtrBiXpoSTNIFosVQQK3nk/TV+lMDs4Tgc5gGug - kFMtGdo0/dKuMdkxHeWNQJRjYNGeKMFsJfcEFwocOVN8sh4RbX7Y4wuq+JDDM14i - da2Wu0bsKhTB9K1CLhU9rToZi+Wm/5LNfSeqbxqg+6GLKrJc8Jfv/VJsXvDKRqnn - yNgxI5LSc9TDN2HTAE5aalZU6waJ6/z5u1wm2C8SVXT/z+dWhNkWUwOUmm7oHkrS - XgGpv6eBUQszd3D9/UFpzNUi9H4vnSzgUi+GlyXx1EnF1jKAh0kudOBPyI7qxa9P - Dgx0blYuFVTQ7WTGCoIc1sfeR0b7fQ8ejfrRDbxuzAgcZaorVmeYbb47jDF2FSQ= - =jazE - -----END PGP MESSAGE----- - fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-04-18T22:36:22Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQIMA46L6MuPqfJqAQ/+MV+6xtfvjAKH9+yDTXBpoHP+h5FOjkLz8haCu9hOpx/A - JXACI3djHLX6xYEqL7HdnvSf/BBxr0jiYCFQSHrAb495KphrGiOw+ktRybc0s/1o - r/XB/4Wb99qRHcwG6UgmYJP7A6dR7MbseTCjaEqKWoDoJZa90b3ltk55+zmxy0vF - 2iUIg3ISUWpIs07lL2Lcnyy8d8MawofMvkXOPmisYkGzbvfwjashy05K2zZg7BPP - 4vooywS35e2zkAP95fKxu5GOWyrsWGgfVt8Yol4xXUj5x2gAn3xIHqtSIAPOvDee - ShaDLiU6S827F+7yRjmXaoaZZwWZiMQ1GlkchN0uW/cUjfepXi9F8IgbUyKC0qdy - cFnPN+7uawG/tVeH8R6R5iNAjgCxhPqhMcQE3CPaf//bvjy2jnqSJ5KjETwJ65sq - HBempbBuAuoCvK6jHZEB3FUuDvCwYzTbuByoudDVW0KFIhwTt6y2S5ffkoGm883y - EgYwO5VKVJNEbIjUuIkudtuXLH9YcB3xeiow3ZDrC7mtL/6I4V2hDEcu66N9/FkI - aiKJ7GMRaLFzVXkb/EkCg0whQrUGhw1NLgcI+dH2lXE0aRFIu5meXbmGyaZVeivS - aq8YueQE5bJDnbS4a/YGcXS9Iwy75VVRj9S8tQDjAERtnvgYvmGkb4sc7ScwKYXS - XgF3cTadkLGQKvxMxe3fI0tNU/I/eHUBEkiv2H4kkqcOcyje4aOtuYrvTZh/NYHV - NBVcJwai1hSUO7Z2qbrTdzjZ9H7iE1J6bm1c84qc4wRSY5XLZphZjxYMRAV/HKY= - =qOXl + hQIMA46L6MuPqfJqAQ/9Hz1fjg9POr4CMvDM9YyFZkXn//XgQGuyNBuczwTtHaJH + /W9aPZaLpWBSehkmlRLSOzR2/v9UFNAnJ2dAasOIIpMz14zo1EOOZArvuEjK0pY6 + KdHcBbrgxHugSjh3Y+sKmEMmLoARY0W+AAALsRDckz+DmxxkwSLW//atqtb0eRdJ + Rn8wz7+tAriPQ35yRotZufudOiWKggOF09MCov3yf/lPjyiPOM84iVrMph1IBbB3 + h0BBiQvOKU7W7CBcAU/EOic+UrsjfKXvzxQSSg6hhfOt6MQur3Zge4pN9fcItkys + vXhNZRda8+k+D3z8jb6Mm/rbo1jUG9Ps0FFUMphqNt54DFjv45hrzlH3AycZ4aCs + izalgmJETAKPC6zJShQ9r/9ybmrrgDUd8l55dap3ssD3HLh8+VZ6HsXHysfAzIVI + ykheTT+8Gj7Kt7HGjnYapHkXUExt0fOnDqjK2UuFIhTB+MnvOxW7KAJcUSgDpD4c + YezDuchoel9aMHKkhTvrqGAtWlvLDRsY7g8UE9ct84GI/yzvVpkIdLK4pljmB5T8 + 9tmGDyFc6EyhC7qibvyT3GuphIE5dMrT4wSwyAHLuF7hlMqhW8EJ+Ux1ElVPSeph + l7QKnu9iigK5LBklcy6hl/WirLFOSFMNlTO6Kk/ntmJ1CK4wE1KBc5RQUtQp78DS + XgGK+42BSVXqIKbfVdMCGaLkJLV/R2iWHvKYe/hLMqnqFdgO4b3CiGsG5VqeS5H3 + 2N+p55HOcjn6Pu27ZBlyj3wCXrjr25l/hyUKpjISo4G5uvaaG6fHTkVU9XrEn8U= + =2eI7 -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdADv7yfe7OiGLx4NCkKjM5UtNiQ8ZIqtHUOrXSQsMnoTUw - BIgS83FCFe7YvUpAfPLEEfznQ0tOFwD9NzD/aRi4mkV6NNeownMtfkCXXtSqpP7l - 0l4B7BiXIw+UkKVHCIRFywVbUOK2Pil+xgncP8FccZhKl2CNn7aADeFyynlD24k9 - cJPU6988gptQjFocPCAJI0oLRcx/tlJpKeq38oOcNBS5/9QHmGDjnW6+kw5h/BQh - =9b3R + hF4DQrf1tCqiJxoSAQdAVb8xdJ6tmRPSb5eQI8nA2B3duQjacR//VhxVqBGnKgUw + QDpVC3JLPr5J1dwo72ZX+yefpA0FrnYTIXb4COc34p81+eBa4lzkbdoFFtxdMN+4 + 0l4B3JoWWDtCckP0D4QQRjA3VZSqFs1Ca8iImiM0N9GO3yofcueYe1EhaaqKi/UL + /pmgk+hu6ej2JmBKSMSxNDt3cA0TigJRJg8lb3EjXgPREV/nZYeCQr4GswNXigAP + =t45q -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAezfrCaDhtnqbyf649WVX5HYxnJNwq9hq2Mgc84oNBSkw - w38xwA17/RM0bVGZ0n+5MIHnRenNrobJUVVMqiY2vg548YwIM94NFrGVZOCCUu8y - 0lgB1GBII3PCtyEQ3m5MPWLvzl9ZwEWbRYV5PrdaYykl4+dPQ+gjlphrnFRAieHT - Cmu9pFL2mpNkm0FSaAkIK8cVZtiBr+LiZwulD5W2vrBfAiChxEWjMAYd - =zvRN + hF4DzAGzViGx4qcSAQdA9cQ5cYjHMvT5tjMmUUEKLAm3Heo37qF4TdK5cf6shn0w + o0h8/xmUaCzCqGxZvY7ZOKZHy4Qr1xDmNrzYEkColkin8nBkp3Fg0NzRN4VO5W1G + 0lgBBD/3rGFMnQfqDHd90KiAqaUNy6jLVpgXLjisxdC1f165tQYvvwafU/p5Mrdv + SBSgq7fjvJF6c+yERTeLXZ8Y5muIm4k1TulFHAdmURaYPFVus1Y1rlru + =aV// -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//T9h0xgfOtckiaMIWE16ipfoXDxyxLNeKHtv9Pe9UUzYY - KQWHStvqXciq4ZTUAMfsKMpTTurm7oGilfhC6UtMaDTC8281c4hgpaOyFzSjA6VV - AF44Vw5LPxTuTHrNEYVyZrb1dR3dF+yNQcLfIbMohl9eU/xstzcMCHkCV/ql9QQn - ItZFDivoLSii1oKS6wkL5F0cHz8j4PISs4tblnikIF0gm94nBscNvIBy050NKDFj - JKAZYWPHwhXQyZxGRAadCkXxt9ml/ERUwjPwzxLPpSnQL+3V1vPE8QIzhu3j2zbQ - itIB3HtOe2AuOn/xzZtH22TUMU6jPlpN6cerkQ/jQWduSEXWauYJ6hNZTJekk2LA - rEcLeY4dOSt6xkYMK29sjtfTR6GK/KeuIvyYir3lJ+SXhZuppo2ei7HzR4UK0QLP - I43zNCtiq2lLQp27ZsHJccAOtcgzx6Gx8+7bUkR/Z1660ndzWsDODrLrKhGpFIZU - C2j566crNW4dkrqauj/IVzutIEf+Ni9ED5lDKbtGNjZ9mOcWlmy9QPh5KbnKchDv - DLP9FWA8+K5krn3+iW9Am4zaNZgb/D10aKktaYbsIFbBLLZuGKgd6vNQrm2LpHqx - b0DNwl59pxF5iHcfArr+Z9sNehmalKqRuZVXl9sPmsjnwGkm6kqGcU81pFaezLnS - XgGHhXHOEb7rCmlmQGHFIcfaEjMVtuaCXBjg7CcPuNRS2bXHuBLWJFp7+ynYWeYp - dEE78w/1Mj93Aeza9EYLDSC7lYF4k0tJySMpHtO0NZpgAshWmfd9J0DhJRj4GE8= - =Tt+o + hQIMA2pVdGTIrZI+ARAApYNcLZlY4WpNViHYg2HnkWq5rTpIni69D+zn5Cgo0/aJ + 762u85VFjFgQVi0NjAm+ibteKTy6uM13T7H4h0YzZsEMRJuUk5YJefgB2A5WVETF + /Y3rCpYQLhAHKWX01kH+bv8TGRuNQSz+sxI8dtIHFVgoTIGwJUJXI73CoEO9wg3P + /5hJnEURK0XNtMLj1uxD6+cGP2f6OSSDAnp4pGCTinB+YnWb6gEAk/6N/hpYiF3K + ZPx2gKJiXhracXIV9ZKuU72FPZXW0jGoaQGUb1jPOhHe33QclCFmhBzuGVTKjZN/ + NdY4ehLbosIK1Gb/JkYYOHNjubro5aCr/DrDMc0x7sfJSarvnIu+6tT6WeJ6+4w6 + w818jSU5hQRdYqzgsNYPYs1kwuLL1b+SJQ3ZfhcfxjmiyeLroASdAMdQCeOXMr8X + H2+ThkGOa3jJ62tOM79fmj9uaa/ZUWTxI9S5AZwxr/XKbJ4JC0rAJxQZaWMQukIB + H3+B/F5vh+6/fe1WSiehL6nnnc7pwV/JtxVMMm4fZrhcHfYTG//D5nua3op93aFx + euN0ds1rWmf8+G562CBw2iHCZLKY52lDnCjeBhuCWgXfAROFGButb+EvgIpSKOSC + iy4NV2zUAbXAVbt8bS5QfhKNpRf1tsrb/vS6EhjQu2D0CknyjsXkTTG+Hx7DVVbS + XgFqLu2du7iP3TBAuLWs0n45u69ES1R3hYdNP1pqI6VQcY+LOGG7gZK+eQCIaDjn + 38KwhuAXNIjPTW006OXAqX+bmF+utL5KyKVUwW+dDToY9wcbt/SaN2ROLEmolvM= + =J8wN -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-04-18T22:36:22Z" + - created_at: "2026-05-20T02:08:45Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdA7pY3iz4CulRelfWe+TFiE84xkwaMmF/N+6Ed3zAaYQkw - U/3wmOEj86s5NhJd8lrskV4nvhuEbyl6fNTtCu6PdptIK9Pn3UZp3kGfzuPBvRDI - 0l4B3B0B/4G92SbuX/MSaWYvCDubgfHldOTg683itQO0A89D581v4p4tgi3qEucP - ecUHEEvCh5uDAhBMO5SSnO6Fp9X6MN1W45aBajQzTZc9hMSAlmBlYVt9FGnkOyVW - =xbZw + hF4DKKbvh61jX5USAQdA5zSkFgKn0hDfW0oHaN0pV7joJox5zMSTzoxiL7RqDE8w + U1R3jHGA7iNRRbV+7ZOm8Mu6mXrGiaTlwtHwLxyavHfjJEwTS3A11mqpMsOteYC5 + 0l4B8fCEz6D4JtvDu3mURMoB1dZNeYQCRQzrPDO/E8JWCPohxFIWhNc8VapKlj9X + tXKz3VBH1IZRduBNIasBvOIuachm3CqU0agrkzBWHatP1rXjH54PbZ0PfOOXntH3 + =vvQ6 -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/tickets.sops.yaml b/inventories/chaosknoten/host_vars/tickets.sops.yaml index e6e78aa83f..ee2b6a5bc9 100644 --- a/inventories/chaosknoten/host_vars/tickets.sops.yaml +++ b/inventories/chaosknoten/host_vars/tickets.sops.yaml @@ -5,203 +5,183 @@ sops: - recipient: age16znyzvquuy8467gg27mdwdt8k6kcu3fjrvfm6gnl4nmqp8tuvqaspqgcet enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAvQyt2TzluQVUzTVhZc3pV - ekNpanZKUDBORTd6VU8rekFnV1JBUlJZcVRZCk5BeU1HUk5lVUJocys3T3dwaTkv - a2RMUHNDckxwZm9EekduM2hKN0kvR28KLS0tIGNhMCs5ODZrRkp2aXZkZ0hnWU95 - YjQwN2lrZ0llbHZyU096bXFtNzlyM0UKTz5qDW10XMpJO3xGhYZ9lpL6fN4x+zB+ - IvHWGA0gHij1qxzz6wgMC0OchHKCTRkLodoS6FN78J7iSdH+isVZlA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0OUJLbS9GcFh4VVhhcHF0 + TjZFdnFHb2xuLzByYktGeGU2VWNFaU9rcndVClgvanpJcEZzZnphTUE5OHByR0pB + VkVkRk94M05Hd0ZObGllbVVVK09KaW8KLS0tIGpJTHFnMWxGeVBVTE9TYjBRY0Jj + ZmVRbndqK2x3czk3M3MrR2JjMHh4MTQKKUNJyG7BsWBV5VjXCD8e6MF/oN/Ut8tp + XM8VdQW3ey9u/NY9UVF4VXmPkyEuWwMctoykl/QttB/MX3BQj4isWw== -----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: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/9GZVmcxiTH6n/kIPAFkWAgNLICd6jTyuTmLgkg5fBzknr - xG9PINEPmQCo6yaNf/EJYooPh+9YpnMhl0xcvSEbEIOU3zRL7KN4fCgtmE3EO9Yx - CvXvO/IhwklDseQX+yjxa+smueRaEJlbiCU4w+Iakd5dFd3rIC/jAkpSGE5y9oJO - f/C1SxbpgVzyedZ3KcBP6UNHy46IO4IWTtmW4IWqQJkYxGrjiCIK6JrMQf11Zc/o - kpvq1T28AjYw+VMJ/Wa8qOJZi7OwISYYCfCeZi0sDDs5fQ6iat4UZAzdYW08/loA - yT+TfxI/FN1rbt8KMjhkWtctE6Xsw1eu7zhGIpd/+QSQDaanpBNNQylOF6gVTBHl - iSgiDFFXfgItJAZv5CYJ3FKvwBv71//x5rceS+wLL8QdzMuhDGBT5QS5p36HH2kh - uJUlRwqpuGQ7wPf00r47Z3HWZxunl2CEfRoJBO3KixTJoHPwHAxEFwxRoRhRJmMx - D2ImxNs2C7oT/Z6uLZhXrVZsngullkNcxHGtukvjP9UIM26PdFtc+Xtqc/ThJYQV - y0wnaulJZIU/nkRcqj3Pjn8wCqqlIG2E16vkbpWHkGNTJmoJxkUwCYutq5WLxqtw - yt8kUxY/h+Kzba18yQj3Yngf/dZvKr+M/WvttqS3CeEEFg8OdNp7nvRyCjL5rqXS - XgEWChLkhLtAWzsTZIZmJPOS6hyxO3MlS6ibf10vQxqCY9jgip7C4brmTr7pVKKu - 35dXBaz2ZDwA3hzyw24/a974TXbCh16jYWCu8craKXaOh60+cQ4V4a6wzdvuWpo= - =Dms+ + hQIMAxK/JaB2/SdtARAApDkvCt6N6L0hK0kKVyPAco274nSgS3jdU6cYILvUTlCt + W37KkDPvp9+BDCgfV/1zaQADRclIB2qEi7Zi9m+yUbV7vPvpsygaxmhCAeOPoidd + IDa2E/UwqQDayDSNxwdDmW/5TGzwydVt67fN5RcDpQGd6+d7ZdfDZu290dU7cljU + k4Hs1hykGyUr3mDvkcth62bGj72kSjdVGTJdmmHJLqg3Nklfbk4ki12CqNrQVOn7 + oKz9QxSFtNj8pGfXUwJB51pQm40ymJiM/1qfhh9DAchQjpf6BAZiAQWLyULLeai5 + VJpQMp0v0I6UF26D/xXq+aPRiINL6mGW7GdYHOQk99PLU9fMHJ5pXUB8W78E4yum + bD4dGD3VjUXAUl2rqptxe+YXUZUP6po45frB3flzbLqGGp2pDFlQjPQ9isi6xWv7 + Dk4JAr1aW9yWnL+KeflzxJv/Bd3dwIRZ9Ih3oNZIu2BTcPB3mT3d+aCHdQ/OwcL5 + GZ5voBBs/115EQqy+nODmoQX6b8W6un6lW8fSXIwvdHGlkW6AH3gYZv02KBMcp85 + YB+yCaE06xweDLhzLdl+ZSgHClcUMY8tBVmLNKC1JaMJsI7sIe6EcdYAXVCw+iq5 + tc6eYEJ2uhRUAKDwV+0pYjwtU/4161W+cZtiocUdaLY3JnD1vQq3ka5DZDa2pzzS + XgHSixjZcrK4gyeAmnoGVIgxxZxf5HY8CaSN5pkJOHc88Vgqx/vYF9NH/ZW2Nmv+ + p5msIGz0jRHLkdH1TsC1q7x+CYVSpcWR0zdaVFwWESZXOww1xQwhQKz/V/AKIv4= + =MCSr -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQgApgJwtox8A4KIpN1SxZlLwjxYHIP1amEtRPLgtA6pH6Nk - fJMn7Y2EwS5mR6QoYroEzqIzSJ0ekHYjk9Pc6UUYc1hfobhARvrrjatMSJy5zbO2 - LGNWPJJTC1EVXn4DfMSwcJXpg0iYmUWjVuS61jhlHXdSOynbOe6a0Um68j0Z3sLP - oWPLW7zxHAy/gYFHE4Cyw1p0SWGFVGfd6YXhl2IwIqTw+iNxDbAQbhBsUjcXBNHS - uSRsRWkl9HCuMRKJi2LQKC3i05nugSF/F+8n6aBF91khN0tZix9pINMo01HvzNna - XWyvGlABrioglTh2h5ikzMjEUYIxbf13yHllCDcOj9JeARDO4JA7hOTv4+MJreqv - ix7QpisTodqlBS8orHGdK9zlXibOKi2GvV/GbcsS8lngdwEH7imb0Zf33EtPuUAr - otYogUZDxwwdVKlDxINKgIiVsTM5oRV/+yPhvHSXBA== - =YnRb + hQEMA1QflAioE8i3AQf9F+T9pSX6oJ8ZFtpno1jPMTf92bJP1JQb1cIARaE41KYF + 319E0o2P65bOF9UoSVeJX7/izoFtOSzgB0WU8e9q9TNeCoG7yUEpLaR2s1BS6XVA + MBoctA+icXORRXlbHRX0yaKaWFxa9Qi81PJAGwk2PS/c0U5iQ9RjrsMD7DqBtpVO + vpRLpjJG7MKWxSACwwTKCeafqofT/0RWd0qUQfQC1rGUAyCFv4QLG5FqdlbAXNgf + mVm5nSt6pZlpM3aV1jjZC1suNiDtXt68Qmr2od70JMkJaoVF8kSDxSQK1U4t4RRE + rn5CjxonSECot50u4jsTL0hmuoKk25DA4zR+70+bCdJeAchcp1IDUzycFH5t+foC + cWEKJrECp6CfLyT0ddpHVAIv+FRy65ebJ1C3gklVMHZ95SStbD6JfRp5VqQyhVUa + RQbMTH1PPEPG989I/XTuC2LlWFQhNtIVvWoM0nkFEQ== + =rpC+ -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ//T0KSYKk/Z/G5JYzJfU4FnZI6/A58EOD4b81i63O2d5DY - kdakypbYVLuZbPQVA5/2h2LX1fAk/p9FJSQsE3yz5tgfk/9ilQ300SwOCXAEiYms - 2fi+AhcIXo57VOY63FZEW69KJ+xQ6YUXKTb0S151ADK0xNbAZOtqbeBbbFZAUyXi - cw/0pDWFjataJbPVMsVsuE2gjcFGnGBGeC7kTiU6Ic6Ov1abSs0KsgpucmnKfEnB - MJjaW90pDDIuH7vNgPBQ6QMLnbVQHX4xFmyzr3iLUgjuMznBrZ8Ya+zCKW6nGlTq - 0chSrjSJiA/FhhedP5Rpjy0bXXLb0TKhMsy+3lLE44H7gHDMb3zDhi8jIaiUUbNu - nZvK59d0Bb9+6ivfqK9N3hkKAhjtEkn08pQOdPOixJRmtR1MriqKFL8KhJIX+yku - ZhtddY7km1OgjznN9+WXUTU1ahcYgXFpvWS7ERGmp/+kdY3+PymsuBp4UkXlaUFm - aPdQ5HLOIELSQ0kTqa+Y0t0N0uZ8oX4CiyM1VUj7KgZPyxCEkdRY9ou4gxlOL7zp - x4YKKfuXL4iU51Wla1Gi0FlJmEwdCEk05uohJloJEpjAKcnQ7UfVco6vQFCHJzhj - EfrSdPbpkTMaWAOXn/MGQLD54gzqUgOZegUjekX5YQAiGc2cvzMWeR4Egj5tAPbS - XgFNG/oycxZbVtHQ/bB7/UDYIBOjT/czhzuhEe1FLMuoFoFgxikDY5aGqXyEXvkJ - NCnvaZ743vfn9ymGcy1Arhlm82yzdO5ZwG8EbtdCQQPtTnPOA7FpF3WYs2F1Dx4= - =p6UV + hQIMAz5uSgHG2iMJARAAi3JBlM5vfHdN/bMe5DWNAEgld39WVgIRfOJUlt/dX7wK + 9I3qRFhNe7foO566vILgEC+cBl/kmLShIHEGsOPH23dkoe2rfvKyb1D3e5dgFT2n + KDwaPgbu5C3Lb0IsMbXCPk2B8eslV7U4Vx6oOUUUqdp4Q8kamJPECnJ2NsJQt9JU + aywBX8SL2QpSNqL0f92fE5LHUiMhiElkGMKfFQClhMbE2WTgX5ISoCr2AvyoEQ+8 + AL1NQacJNqpeQiqJdHrojfpT4wzGBRUPkYc1ljkNOjskuoZM3I/77kQn+1qP0XJC + QYvt2sn10mul2Pvl+AuPsyrgkyJwlfdXEmm4bFhhl9ClBfzb2CDzFW3lhSrmX/ht + ZYerDuIqZUbh6IPLAKR9q9SyFmiONc+be0qL8QItw2YCr2NdH+jkVMZZFtLHi7yu + T8dE7PrZkb+adZd1wSsbVkSuWdCpUAJ8YCjUZ7iAY3i1CR2hPh4q/Tv2o2IqfNdo + UrHfWpXJv1dW0uRkJx/gmlTLJiXzj3Y5hyBsl1L5gtwbgOjy7lAOota6tOdIx5iS + YZtaCjNNi6cy0Wj4SSaL1pbrVdbP1npoBinPkL8AFbKdxBJNFvvBAFSAWqrn7kr5 + bZj5TEp6o4sltrVJ6dhetR325zzywW4MupR8kMvhnrlm7aKO1dRhEzge3tOR50HS + XgGm2HHw+PquRK++GjXuxggydwE6q20YjGrt13gfNiSUNJMjRpMv2BGZ6S//sjzW + wl9RLlVv8MuPRrqAS05YZTklTv0GPbagadP4t14enpK7zF7i1PBXLf1R3VYzhk0= + =h8rR -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DsZXvxFXTXoQSAQdAHIP/6vpjtzDmDnjKKLcE9opKMlTaAlNybqux2bODxCsw - AzjUYLxrbM149jFXUqs1VLBP85oGSrTpuJVMD7fQtWBaVJDbZeycvDJ2/4BH9v7i - 0l4BEnxgGPY9A/CwggQrV1/qxz+ay1nEqU2sOtq8y29/doet7KY16QyqibkEZrti - A9yfkBQMcsWDJ7Ltz1jj0OAOZwYxVyMST2wE3XQI7At9GFs+zm/raSImeLUOLpEV - =KrZL + hF4DsZXvxFXTXoQSAQdAm+crThQmXDTLXKc1WfE57NQ8THlv40nXI09BJH3lGX8w + BAlpIHsB9Kn0pgJJFIMiWhYgBAceFLyAAvfqsAkocijDMBc7hIU3MagvZwMRpWaD + 0l4BOwAoOAvnSFfkJZfsf5W7zfMy1BFCm37o/bVu4baPJR9FoUr81yhNB8CuIU/Z + PPNLsT4Vwuh4MHOLHL/qvJX7tW4lT7rd+UjviQ/+G1MIxzlUt9dX4NF4jgZsUY1c + =f2jk -----END PGP MESSAGE----- fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAk+q1OIgfx/th3+WCBkN0s9VAFXF5Lud5EG+gm+dCcDEw - WrETfBuMcnt7+GZlsX4uXjyz61a4WWLQDMInM3qOOKjW3TUcdZNqN8m71++3lgPi - 0l4BQFjE5Za3hA0ioJmEgvSBsZL51kULDDaEuRDHjnHkEetsCmBUXmfRL2RfnYph - AwZlnHkB8fT6Tm0PmAYrN3by3pWmJ41XUov5Y5/GWjeFzK0zc8mHj7XFZav/sr/U - =QmVL + hF4DerEtaFuTeewSAQdA9hdmkv/hFLv6acr38RaJ/SndxUVLN9t2Pg3NBhWrOBww + YbHlP1G9oUe7Mkj15UM21VSYRRcHQJv05fToyhkx9R1sjuUMqWfPo/YvAIyhd52+ + 0l4Bo6T6S5K/z5EZSIFxnR4wjjWc3+BxQ+7pEyxInS9UpmFx5iA3j5/P9d+cI9dt + ZkX0DZHJS1mNYyCR9p/xLcHd4JGuFnu1KoVlTNFDc4I9FVxTlUe2FeaaCimqDdnS + =f0PF -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//YlzFeAsesfqo7+moopEFD2aWhhah6/Qg1mfZmADAm/pR - pUFd9El8IggvJqrySzbdF7Vruk+7ELcOvtHCghXhJAScRbb/POZKQARz8tlce7xV - y+oqAyPbcRFAcjWwDIW4O90HINHz2sX7Ht7a4YOtLNFZvHarUZqkVRmr8hbiYeL5 - fZyhjcM9kj/wKF8pB0TDa62wguGAe/sVAhQ6+5i5Xd+8KJxchmHJ3150LLFedgCc - juqG/8y/+7e2lB7c2xeqfK/j8hJPTFjGlr5of54wsYNstW+jwNIxXkisnj/RLwTX - iS51K9bggs7ilyqS1agSUljvgfYt/tlBFiEcM897JIBYBwf5RN+DhZmxvkihUuOO - iYR2FfCSqLzPztvatWQnZVo3B/Jpt/gcEwgUBw0Tlho4YKC7An2amubiSvc+r8wN - eMeT6/mNr3QgwNeMt1ZBXk+fJAkt8Z7G7uAgY1MfBmgpAxr5zeeEZLco9nWTmUS5 - BjP44dMOKROsuFYqst1aTKF8RiJ7mtICLMTYlKDV0MtAmOOV2OnKvx9XQvse2Mdx - fnHw8aGHv67cNG2GwqMbATA7wr1qtFP1mGyM5rNIywQf+5mu5xjs/GGMJx3NF9Cs - 2jkvtr7z/gEoAt+Ec1mJAShxJpiq1KwCdMiYMyRe13JSyzCIESQtuZWR06wiGnPS - XgF99cStMc3Dx7AE6LeTwp46sm5Rqbod/ehSerWcM2GJ5jS4OEu1+DNAdis/qmSB - pFFAiY8jZU6UlEIuBCG6ernP/ktIpsA1hk+Ftww2q4hSDPV9FRWTSMRmuuQUuCc= - =rjgM + hQIMAxjNhCKPP69fARAAgOhDl38XHfMwgOalwHrym+nE4JIlC0jBXq8Sd93SPZVP + dX+O9mx1yoSYXvEW+UBL9Ermjdr7dQvHEdxBmhKqdP36RZaw9UQfdAaMK6CxSz2D + WAtjPvNOp4xv+B3ZC9RMNjn/mEKDGADT+5odLyxGrSQA+bdkJUurPYZ/0GJ6w8fP + ebSpdJqcUUffpp4Mzox9rLH+ia1iM0JNYByPAVCzuR5f2NpcUUxnJm8J3eujA1ol + 39xjPebv9owOFJd1xl0qaJGkYQkfDn16YDJ7yyO2e+3olFzzICQUOUGCukhdgU2Q + Fyj2r1bZPuqVNMDcnz/msSw4Y+qZ1ePMK1CkMeJxZmErXzcj49UbyxmEc6HF+9DE + q8E/yh+CPaXsa4nVL2piu8uvbFCQIGpVaNJ+4AufVfTa8CqoFgov8beGxhhNqyKc + PiQCi0Bazl6lDRMQNxAr/rtIxFxtJAjlhXaRQ2M3UV1FGjsLTA2mxUaOWjdYY9gB + KkZ4URIXKlOy4JPcCakfCQbbIu4zYpEVLxUkfL1E5AayqxhVXwD8SdhwDPLA5rlu + mYonQXMftTHsBm5fauL9jTaLhMDvJTJE4eOpmgWvYi2f+pRNb4Txoe7EfbJ+Y3gd + eP3sZjRJqGn5e8zXEyDsbuJxpB2tA0beavltD5iTO9dbpj4kZJM1QgqIOsn7MbfS + XgFddVLLiVJw74xsG5vuGkDJdyC6manjYoVxAXE6a3uolCg1BWVdK312RNHXpOJU + mzXGXbNIneDPOXEMniF/mjHn/oenZtudISLUZ9GTimuXxmn8bNIUApi16VgaGKY= + =5dhq -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoARAAtMm/Bd5b7EFalgBaPXlfi3AqH5eeqlu0Qo0Asnm4YJeO - U/W0Q9flkANGRxPnQzTAqLX3tzgpxMapG1mjMvhWW1aaBG3qdRXFEpVoQJJVFkFY - a7gDs/8dVUJugd1dy2yoZQF82UICFFDMsll8UR/NwD1nFnGeE9CPsbeGjIdJKT4s - 7ZaiqoZE6ifWHJIe/8eCW7F+CpEgxnzZX1rWom8OInK5QnXdCRUte1pSeo6dSC7P - X3EIJtChgE0DqS/yNpQ2hEXD33TcNSAeDbV9x1zano6aEsVAwBS4FKdpD+c33/Rn - nQtmyp1fmI5q46fsXEMfDLJAdb4aasmpHDRbs3nufU56MM+6eYsp0lOkiIefLl1B - fy+TpnplV1o9qhA2c8H6XOmouzw5YAd0glqojMlfjDn4Tp8qqnIiel6TLl8yn8z/ - bwQGLDOxjNgzuN5EbXpD9L8dURf4Isi4G18knGzJtIKF6ybZQj84o6PMzMcKOJDh - noHhum/ZVeUdQTphzl8A1yv4/kjsBUOWYkZpzlRjX49ls1WwGjte0VhsymVeGsyt - XfQqeWRja8O4d9vhJcLRTrOVhevPdkLeMcx1XJGNUW2EmKyhYNNmFc1ZxtFhoyhC - d3xQ7U+L/oHeLsPMA7rDFRRJF+F2BuiruZg/Q6OmjU3xiNymCT+0ah4+oZsW7SXS - XgH6AxG9Oaz3SdrpdfJvSvlOVhIZlgutir9nmAEikNDhlDZG3HucWDtre3ZWbwV9 - EBVnY5vLKrLIXe9Vsbg9EbqgHPmNpsfzwmFWUra0C+tukkLlui8A2Jv+2YbaMM8= - =vGo5 - -----END PGP MESSAGE----- - fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-04-18T22:36:24Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQIMA46L6MuPqfJqARAAuYLJziWrdHrcr78+Uiqscr+vrPFqSWhXNFOD6cJvBKBN - ZWnBFeeJKXIE4iCxnoqmQ5k/pBFdk4Sv8URN08C+XOXo1Nmxgj6M+3ffGI62uk/y - uSKrCe/CFKJWiGMHEVkFZIrvhIv22tHOnYpzx8WCljKK+HLRNUy21xpEVdjPZxKf - Lvv8Q6FGL5ZSxQ8sTd6sJhUlaamStYSAcf8+TRxoA9a4LR9Q/fJDtzpKP3gP2h9N - GRiYxSqn8breOgvBq1qhSgrfho/XEFFeoO71Z36QZOj1zmZK1gGoWziGNtVHCVtB - zNasfO1my2nOzxaVgKaPztfTeh0Is6fludEqx8kpbp+ilOmydH5vBaNM6V6ibn7S - v24VC6RYOK6O7CFGAE0MxRtI/5LObFdb+BBnixJzWnkPH7BxUui1Lc6TDxX4LIYv - 5krE/X+IOjtr2zwRRVOGC96YpclK/iVYvvFpmqYHQz4dhguSEKD2miZaArzmhEdE - 4RUIy+nzhwugM4UjBGcbECKH9nzf6Qg0syIT6eUEhOVqKA44VptPCdqv4izBAAmj - nwmUfTneB6k4L/qPfrFJp1hqhSx6keJr6UDArB7bYaWmn3BQPjoEjBfGls+YW6yi - ThqA/EEMSLhux0kMlOhabTH4qOKXA19nT+j9BTY/vcWi6c2g6I69UsvWC80df8fS - XgEpBTSb5LXvJd9E1q8xICw3vyFVkKsKoxK62z8L/qxUcZt7ltzxWhSgcUTLrynt - g5hkIzd7vT7cLuJ8RH+ztEE2FD9k68MacgCcAlI0TwfnPpGXRh7EwUSQ3Fpd7s8= - =RKqe + hQIMA46L6MuPqfJqAQ//cQi9LBBwPBuaU8/uR6lBe/oy6YvRrDwIqMZuXln+awhK + Zaa0n+yOaxVAKSaG5Uht5p3pjj5PHZjmIWmoyiD0WW5h6wMqINDYxlXpD5Ea2DSf + bT41a047wzc5Hd1cROFYS6zUYfRv7tFQa+OSgcAP5wlnrqosNzfuWQZUj8jw+kic + DYx0ocDMdFDEwNrJY8cVumn5DvWOBmOoRVLnpblu2OZ/8yLl1A7Kw4Nsprl9cNor + rRSfaTLFRebUlkD28j/NgVdLnr56/dxtWIEF5t8VkxCvbuWE+ghKw50yr6BOcgUI + MzoAu5/XZrZ7GlN3+lGQwe8cA+A9SE4NNrNJUqBykOZrta0zYVY/9a2Y0fYLT1E6 + M98mDT89KLZ/jsml/de50W51FOn/zvlSYtqW+QN6l9ElXJs6sQ4XNZRWdedyNGWx + KG8QDDmZKN6F3uBQT5QUSX3LzN9QC4LNuF/+KNgAQjmjyX6su96VstJgA7W5yCP6 + f15UQgwTd3qrLh8b6voBQn71S6VMG7em66Fj5RfSempcjSff46xdgViz8rN4SrIp + u49ytsKNGXNZihQFEGY2QyfqzMTfDXC7QxHmsjQi4c4q1ln94PcAD2sBTufij8L+ + Q/voDqakfWZpNqAUMZovMlU/9PTuoqdWoag+wNCIFG8Z3KK8HI9hRy7dcWeuj+XS + XgFtq2/jt0mc/s1ecOYWfoEv5xvbg/GKQi6butnELx40OkDES+VoyDRDGdviZ+p4 + s+/loPbdHMUDyiAhyc4v8ZbnIniuPEeMi0PA81pBeG80xdzegCTdaZ8rB23M2F8= + =5byD -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdA1uhcruxq1eYwXIeZgDOgUewyyI5vNWo3hX9iMr/gnAow - hLutyhmh2bKHd51kp6fpjSjyd2gi7bcM66BbbNG5dxVQeENfBixrqU1IMWVNE0Ns - 0l4B+C3b6ECSC5386EkQrtfb2THGLc7JpqYM/+Dy8Mn39Pb2DIR3AXh/gwH8b4Fm - ubJfXR30iZ6tV+KpBplFhO7caMrbCLreVR0zTccHwAiIHQcwWCvnizmaw81cZ1z1 - =K9B5 + hF4DQrf1tCqiJxoSAQdAurtE+wUJ6qgK4004jS1UFQj3KBbvmDrKgDeOTPAiQk4w + w4Fuxr2XaWB7+5vV9qePCFdfBVaCkOT2fTDBz8AnDiscXTqPWn0ybejQ3JNho/tp + 0l4BemqpZ/ilPA5tZf32W5Bvsip9Ji+bTzhLoUuvFOldcuGzMOJ1qH8J/SmtV9BX + PzhJYEwxK5hnQD+OqkrLqKWmct5wi3biVKL7FpKt7rB77sX5XGVCmn0TLUv8sFfa + =GmyM -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdArNCC4xihzDAyIZp2lMHFAd+6T7kalxfiC/ux8OOxKGUw - /6wJDeXykmKYtd+VoP5ZthfJ0SYcRrMHNozWmiw1oLUaZ1W4EGyVA0nmmydbUcho - 0lgBo+kQqbv8L1hY+tqo8DHGEEe3hF3dg9pVveV/x4MCinOhvjiRgKihdwaOUTdY - gzwXmMu0Y+fLUtOI9qduvaiFDQfum0mep82z+N6T73v1WBCun/Ko1vN2 - =uFhk + hF4DzAGzViGx4qcSAQdA9bTL/hDN6qN4Pva69VKKf73G5R9Jqg4AbU+GCqmmCxkw + A9Iw5e9XavXEMlDytnw1mN2sE1RA2JGcT4GIY558QbfR9GcP/6CEWBQfcAt5CK99 + 0lgBvwEQFIBtjIacFg5DLhGFLBjtCmPEy9KZ66nqtb/yscbyU8z+RNYTCkofXpBa + 0vWiMU9aYx0z7SxEGiWRVztb8OHSxDrFXVCND/zAF2UcTr8EIiCVXzF/ + =nddg -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAAj5/9HbBrBj+NfcrmvqdTjl8qW2bvvjeIMgqzYFrGruBc - hpO3pYiis6+Ywr2aOvgsLPzwg2zIEvIPEKqTEuBRFsOFXuTHZwuGVBE2JK16QhGd - +gUN2YHFI3fj+owRALDSWpwFyMoHw55rYQqnXYfnfLLTSAaWDqUPwZVapLmKe8IG - YG5jqRgGBE5yi+uSWNJVlbweDnVIhVxdc6TO2bLR99jhcJ7k/TGmfLyHnlr2RMsQ - yB2uVE1yaiHk8hV0dSNh30dCXDsPPpyoQPNdk9lbe8q7P03b/8g4lyH2v0vX2iHZ - qMxzXfrq7D388whSNTXikPGVqpN35wXlJZN1KbAJG15BJUD4HntR7gUElF9VXM7n - c7o0p9reYGJxDrM2szEFkz49NoYJiZzsO/qTIR92489Ybh5gjMVngIqAsLPd36ky - Z3/FBE1EI5FX62lF57KxIopBEtJFOQYCkVtL9EGdilin056ACC1rpQZyw4XuDfSf - WzBQWwKDhNReJSoLHLbLNSLpDmncpd2aObEWBojeK0fyDKTfxFGIpRX5gWpaHBGY - ESHTXI27017X5du5GLCxiGaMau2XTaruZr+s6mNDMu+6L++Ntp7qhy/XJ2OBuhen - ssLJOrvO9GKmLjLFWJ/UI3pZT+2bQBGPDcoWzVpK5+5p7eyLUJeyE5FfkXHwV2nS - XgH2tok/s0dpJWSSYFAaM/Xu6b8NELnKgGtVa3389y0CiKuCPek0Y2JIGcbbcFAl - RonF7AgxEiIKoSh23WnoF5GGlD4p/Gmsv8IodVvpC+TE+tGGcDSyOAR6BFHtvXw= - =Vj7U + hQIMA2pVdGTIrZI+ARAA6V3KlcodCrDLXYdwloVaAlzQdyBH0RQpJdka/0djFz3h + 2KET12AXzchObDI2vftlKG7TzjgwfQRMVbGq3prV+rkg97Pi6jRBUXEo3pwo0WYL + EsNjcarQTLF0e4d0Xy+6CQRFXDem8VenMJ74vwr6HhdOo6WiiZ9FG5rxJjLmzgEo + 7rMa5bhvFX8eUWQu1Qz3ZWemlB84zmgfixw/wSXqPQqX9e71bOkvTrBKlAf+jS2a + cExH9uw/x/nJXkVeBoPO18nOh812+zWJiyTlINi58y5rpBk5nB/B8i6zQkhjI1Bc + ryDE+HAQnoaVVrQAXqWttua1C79KJmjcZDoaSjKzGlxQGQZbDqlfOUVmO8MZaszb + 3r5FbZrmuxk+L6KMFRfhXzM8fesGiZ79tuAftZ3w3uZi3gJ7KdmWkDSbdQdvqNLI + TrG7I4zSBnW21J8EZMzn3uuoWo/T2yLl69jn4vq5Q6nGEHA3Le/1JeD2qtqvxqcf + uQ20EEg/t33WpECpxO6WPDWhdyDdwQRTSDfnAuanYH6u0d2hUZB75n1Czl2WRkki + iQWPPqJrguNgPmwJ/xXRK9+t5d6mfV8rSl58JltxkyJi9DzRIPsK45Av0S3NH/Wf + SHuLfF93awxbaj950KZlo85bef9K8W1onXprFhJdOEhPa1YOt2Ahb3WU4R7XX7TS + XgFNndcLQs60qvxFX6g2bU4CYOR4kisrt4S9Win9/ArCGLlp8LQD8jxFep3Rfcy+ + 9tDJtdLTusK+ILfJHsLC9ICsXfWskuLajKvLuyVk4diLgPe6ZgB+WT0EztFR9dU= + =G/f9 -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAY9xoZLc+fX/Fq5wPEcnb33wu9cs9ys4d1enORdLTi1ow - Ly3POOwf6xiuYt2lqvGP5EoNLICFtFMl/J1Wnq2iNO5/ARL5KC0R65cKZJV/DeKk - 0l4B8b/m8QzLhvVrVw+RAFawAiujmEtJwrcuuutlmy39ovjDvR7TNZlF4H2rqY/9 - R0f4Ya6PE8tL/HSVy4GWCBQQy4BTx86ouDVgDf5IEtgFah3spxFEXIkmyVtYjhYB - =ybbP + hF4DKKbvh61jX5USAQdA6VXqlCKBIOpgVnVnjb8qavBwDLSke9qrH8rlmVx3HyQw + YttAgPHfNAbagSobm9EA2bBgHQCKKQN6PiWGqqvDeAs5N/Oj7ebWV4lyYOVROE1H + 0l4BSNZOX4/917uYzoaZERye89lKh8dRCM8OJRo++OCjYwPTGsu5tKxlC4A+qdUz + XiQ+gB+OvvXtnNiPdyq9SMEdYJuiXMJq3f1rNhFRR9qxCcUzLZwwYU/rHUCsfQ4c + =5h38 -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/wiki.sops.yaml b/inventories/chaosknoten/host_vars/wiki.sops.yaml index 0f9f61fb46..7c896459d3 100644 --- a/inventories/chaosknoten/host_vars/wiki.sops.yaml +++ b/inventories/chaosknoten/host_vars/wiki.sops.yaml @@ -4,203 +4,183 @@ sops: - recipient: age1sqs05anv4acculyap35e6vehdxw3g6ycwnvh6hsuv8u33re984zsnqfvqv enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBicVd2TnozS3RhZlVsajFy - TjNRRDdLVHBZeUlmakxrbkVlNzcrT3NVWUZzCjVsVVdxd2NHaStiQXVJcElUenl2 - cjl0MjRFOUZwYUErNWVoLzV4NjhrTzQKLS0tIGEza09oWmNORmhOaDdzM3hKa3l3 - blRhenU2T0FJZE9pRU1PVXBPVkdIdFkKQI+dfFy860vH/mGMxs95Q1pSLdxe6sTb - N0AApzX5So/T9oFZGuVPtU2jCkztxoU6gDuB3U2lESTrPk/ql3Sz3g== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0ZVptWXdORTFkRU12SEZl + bWIrMTJCMlhpY0Q5RWxOb2xWemxUQlg3SkZRCkJWSHRaK2xjSDRrcXFRWHY4c0Fq + NXZoZ2FGQmJ0QXF1cVlXdEQ0UCt1bUkKLS0tIDVHb2x2dnpkeGdHNXJkenhCbGxi + cmlZWVlGd1lDSDZ2SlRtQlhkYTU0K2MK0h4tdXxuIItxL/f6UWD/hMv6ThmqmMHD + kVMaWz2vpWWJSEvQZ8u8IOmq8cLPtbD1pUvnQ0weJ9hBH+IvnymmJw== -----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: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtARAApQG8QMmTGvW9r9BoKK2Nadrx+rf0cPNTlsG5eHjD4Acv - JHr4JMokR04/CcpWfQxdS+0MJTA8kWxkiAMV/Mn+ZysSFxyi/ugTiXmrnTKGxNRl - Ar8qjAuRottYJ3UkZ0riFJ8webINjHm5J3mpUOwLjHdxuAp01xgIy8MSuPVFWmJg - TnRqUiZXygZia2LciIyyF+fpPnapIewtrM2ap42Rk8Svtt1LyQ47bSjv7x34nDny - X/BRebLVo9SoLoru5i3jcyvdfkYZhCqWxKsLI8yZwlAWyksj6gi7bm7rjT3Dh3Xs - ZwX5Wu0V8HA8Pq+zbkAeXOzk8guzHfM6bAJBTwXucGQEUPtOKXmyj9v4Oj5Y+ft/ - csVSjedVAjiW+UA17VFaVHwDnqXEjhpwarT9m0LhXx+45fPLzAp4/4Kn8pbQkdP1 - u8ga2XEEaqzzoVlI/u4IHH9ii20iyjE2vMqPHsE8r9W+5b8oDeePJnUJ9eqdMGqR - T+6pBoF7A6qL9A1GxbD1iNnaIi3lJQuewJLxaraNe+Ti+7vjecFhWtajw3/E43rE - ZcquIKPH/S7t8EeuE39JmipkZ1AULo2YW/wLf5lBQCUYMk27tvAaUgFELvBCCWNj - fYrrrepvKcdEr0SYMmcGSXrJVpc/cnuOinxrUZmaE3wCwPWeFjpU0FkWU542eszS - XgGuUUUxuHTSYlf8SCfENM/kENpOrStzMldGG9zflG5a+IZOPSVBL+NhhCmMMfEW - bbEbS9nauLquDpUKy1pb4Hau2QxXy1nDqi0A35tj23GNF9n6WT9v70YI9a+NamY= - =vJH1 + hQIMAxK/JaB2/SdtAQ/9HE2B3BsiBWQUa4MOnRRfeDIORRSIOLT+hqi9w/42nRNT + A6XKBKT2SWfuANoJrcOo3uYXUlHt4yzUkKHfKBbY+4mNPAUElePKBHSPN5tHON0s + 468JiFldXkYAVWsQBnymuym+FRsb3Y127O2n4T0kmQ+bRx0jPgeTmp8y5WK4TfX1 + BCYyNmU1gdsJVCkBMUSeSajd4bXl5HcLBgO1V1u3HPC9q2tjlsY1S/77n2ar03SX + nqQDdZAAO2AKjOUiwt8irQSqVdi+CH0nvCMGvzU439eL5pFEupGmBEMazKMah+BS + FvKwp8fRIBOAgHxOfuI1BI+4mRDk0UojMKvCylA+EkmALxkHfYUL0IRrmm6zeeI9 + wCrUleks8d6WiGuEwF10LV3lAOJuoFduC4aXj9/ZjqNkFBczbJiwotV88+fOadPC + i4hYJ9hSAHdhSZvK8Skhuc7lpZEaYfwysvRg1aXbS8qAMkZzHgSGoIghWOG60E4o + aC1hvtb8wOCRdwhDXz9mssA+txHMD6dX7QDyChAwzz3J2Nm+UNVqh4GOdH6yBSx7 + J5Ns+yBbNWH7pPWZ7kV27Pxzdpfzga8Nt6HJZexhd24K6PXmtuEst25qPmPTDGU9 + 7smx67T+8DyEJpn8qw2B5EufKmruUm9EEyyDNDoiGYECryLy3D0XzBmeB1mbdunS + XgEP7AalOYRrCX/IOMmoyJMY2NYMKL4suFyP4w6VuYQPO7WWQxJD8U1uB55vLY07 + mibwYIBrMIdlS+/wNWC71K9T5UU0DEyoYZUyHp3QFGjL8clO9RCQ+ZNZwSgIQ1o= + =Orzv -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf/WgwOB5irOSYAeawahEjqlfAEISKeVKwVHWvtUuQ69nTW - 44klCkzszsLzaLk2YWF4V+t5/hesm6mOEejUJW2sEQ3JZ60Qu0zi8d2vTCsvwgtT - 5v27PmUjsQtxMr8gghe6T1mILRCMTl0IkyiWpxOzb3PviMmJbCCM3B0eOI/XHyiH - 5ykNJcmj+3QkRx/qcbEARG/ueDiK58e0jgLAEXHb4v5tUzP/CcErX52e+bXwEZzu - HKRngNLzJNebLH6G5tKNsEoGxoglEl9pnfLyfSS2q4ZjQ2ker/c6js7ArMRpmS0G - +AZ0zTQmK8ldlbO0EqZELwm5bllT0WX8F4j52Qi6+tJeAU3wJKvkeVXRVJqo10LY - 2YWp3YxD73GHe4pZavtM6mJpYe55GIfMrFX+plr6bNYzrPh8RtXPK3Th84PEqxXa - QS6RsK4Gn282vKK8O54fkNx+I7FqPtBzeG3HobqCDw== - =uzzg + hQEMA1QflAioE8i3AQgAlnNJwOFhp7xPE6i/SBKvvgB8GyT5BYcOVyY/86cH1Ycd + gl/8uWWKzpVsBnxD64ckiTaHlWC05jM+NdP8dgWxVJ+CMKYrIAvjUtiuRNA222N8 + GY9BASVmW/HigZmqzyaGZZiWIn+JkQsmPaUGrdJ1Zde8zs68ChcTrMRJ8l3+vF+9 + coLlmytCqJez4Va1dTYybyvNuYzhIJ6tx/5gbdog2ucsoQsIt5I/Vkk/3mgIkils + 6srnAsUPCVlXrMgu1wkVRrf7dc8C14ScZiG8LojLu3g0pEa6IoYbO6oaHH3Gh33y + huJZ5QLQ0iRhUSrDwt+wK7AyKiF2QZF6cBnKeG6vk9JeAWHPVAlmWlWRyC3oNj6b + GrEqAsDFU4RAF30co94LV37KfrypeF9ClC8zF9mfCKv3qtU/QpVRKD3VrOARZq1z + mgjwsLq6B7MXmkdza4VyZpbcNBiQ73BR9w4I4l/S/A== + =WyCV -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ//a5Sst4BVklgIFoDo9QM/d5Res4B95cThulmFVXj2ZZ4L - SlBkVvVzIU7u70rwU5BpZqs0wkR6Vwr82q9r5vvOCEFzBVlngyv98wCT9tePnpMd - xU0OZYKxKUrRZGgOIBTZNTSYBGNnKZY5No9WZtE8bfAIdGt3gbX/FZDAq0B/moI0 - bUpScwjntccjcOce5fuql2tUd/C+j8DKL/LW3WFphbmL46YFW6v+wXIeStCEvAI3 - RrDCIiOEaF4xDUwB/x4utVtwCHwqHU5WoUKPIw7SazU4a+ExAUUjD1D5oxEUquwQ - vy/3iUg2jMaBJEn8VZdwuhwJ66bHd8QPbIM8KFq89Sa4m6Ci/NDo5Vf5ci9JuynA - UU+jduj+e3ZGjxmqKUKP3Yl6yHQj2pFj5AcBzW7KmUmI2FuomubkpmqTBYZ48pnu - /3sOM4EHeiEmJviaWH19iY/YC6kkdvpwvDcuz1WTzMNi9GA4n9vw2PQ2TgtW2nuY - +lxnHQNXWnKQZpEOICXwOhg6eZKiuF1KsB0omfk24bDaYVRxnFfLHVlQUgULmjxD - VdMAoTmq4WW3bS6p8ojj1BIKgesS3JV9wahrMNTA9k9XiSSkgFUCz8nBMcucsy1d - LWLctUrBo0eOy9GxI/kMepqsIUtSfVSrrSdtbFkJXWfdOmHIbzCswr/aBSwPG8bS - XgHcZtyyZKzAFeEQ/PWPOL2q8omGy3EjG4vA16WNQe5FbISpH/Yk22OkedvrBBP9 - iBkvvE2t76exAe/xFIJmQCKK6EVCQr+cXm1q8Po+sHgHYkO1jEjPBAn/ncKgU9k= - =5Z4a + hQIMAz5uSgHG2iMJAQ/9G7QndJnrc8IJbApp8Ox3XoRN/UTNKITo3kvoYwdLlfob + HcEC2UiXTY5SEZZ/gNcYkbxFS+SpJH94u71rwC5ky84qc188e+TcHYaaDzHd3PM2 + wNY0mhLVTM6FYLCPdiVgU6UGhahnbTUTyatlKWM6ARaX8ycZoDt+kjCZHexGtZn2 + MKFNQFvXtYi9T0zOKGKyHVyrkWi/srSUWYftxg/nTZLrzBNJS7z/1h7HlSbxfyWK + K7yTjfD4eQfskaM+hXu4TZLiBBt3i1LrdbpGPUtj1F35xznssRbGBXzHVW0BJr7u + hJX4vNtkBrcjBgA2RGPId6Ht1RbnDLmWm7HtgSDFVpb7oeCn/irfdKpP7BBqWpIh + PehO0cMgGQ3Oeoi3c1GbDerqikPfn932TdmfjQMyoxiO1p+C1U39KBRn7VxG8C19 + DR1Tl3eQg3hA07A97mY/xBw/2+gx8q12K9AkrTg2Xm29J9wQ2kzA1V5zVsQdgzyi + caK7Kj65DuRoC4Lhw94A2F0iaVQ5JZFCTterLwX1RAbcO9vBEOjdJpRW1F4k59km + TwBcmwPzpn3a+4BIuTbwWvI9ZePE8P0LXJhijbplngJBqtkRZbcIlnevL1nwG0Yc + 17Sb+kl395ZjvYCfkzV3A4GRgGvU/LjqZzryHXjrqzrhPqnkNlpPc8pVfm8AYJ3S + XgF46LgitWxu2m9vkxNM2fRtHZtOWUXzHw3wzaXklhPMYtP/bRtBpjijYo8IkLrb + gFj+9Nw0bXJTP+crxX3/xKd4Em/QMxqQoZXjSYUwuAo4TGBs2RopOjIxptA9QN8= + =5CuX -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DsZXvxFXTXoQSAQdAdjS2fIJ9WxBo9LNJaRV0a8Uawxoy+5+m0QrXl9DBVwUw - nESgE+rBcxbMN6i6zIH/ne1Kz1lWtRBwGisX1uZ4e83UYWN2srA9miCxxw/ZP1mE - 0l4BOE8AWv7QrqA1Gb1nNvDVxBSndx//qIIeorf7A4B8j45lh3eVrB1Alp5oVjVA - thUXHdpPNXHxo/LQt3AIUUE9E8BP5ExVWXlxK9CnnX8bOJxoY8bMzBK9hXXj9PDB - =tlpI + hF4DsZXvxFXTXoQSAQdAj/aG6+Kee5tt0El1Nz0GyZesiLjoHYbynfDkim5B3jYw + xro6WTvghkWfZZDl6WgAEE/TxhzmA3Xr0dHeTyRqbH2equ5Yboxn1FKnLesN6A2Q + 0l4B/e1T7sCspfpfRQ4cci6Gt9XHyHuJ9BHUF4+CD9hH8e896tMxri7SyE35fmE7 + 7xO9E1dA6iTXmjzxzJf0/PSN9cMJfGgH0rk7uZjiB7PlMJ8I778CnrU8KqGO/LmT + =h09G -----END PGP MESSAGE----- fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAUvHOCvGqzsg1LHEK3VjCnkwFG3V656yk8gODQ+WhBQkw - Q8uoCi70eu28GfmIYDGkNuE7BpD56GF50PKJ0W87M8dSzwvWX2sbM8rHePy+KJrs - 0l4BwAyKltpSkNapxx23T5OBhYOx3yCwamOZ7eFkd+9Mfy7xTAUysxcDGfutajwK - ynPzTECIOgFhpgWy/+5W15IKpNNAvWyyTQJ8ARChaD/OWWnWa7FBz6aRixDkoIQ1 - =wYuq + hF4DerEtaFuTeewSAQdAf5TMWnHuHH73wb9L9H9L25+dhbPk9RmjeYmWmlPB3Q8w + j+QgyEajDcuO86qc3Hjh+jPfohS1idKLjib4EUTkBK5jD8frmblN6+BdHfM3TGco + 0l4BO6tSFPtjYBaWcXEUqBaixccyWQoSTZi38/xRXE3Qn0dV9CSYq6eKnch4Gns8 + LfX94xebxWmqBH9jfhT/g12kdn/Nab9OJ1zSiIMIGDD/iccZdiEBm4YzFYMKI8dZ + =G28F -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fARAApLqXabRZM1js2AZeJ9rkK6J2oG1HmZuiRqsFL1v78dDL - ZMvLiSXEjFNjAmtiX/RWMvY/pGRLtwrq9i0dnTl9VMNnds9e96SPO4m9RwN3ZTjX - 0AnUr0tq6t1c3Zoygm267R8B3DYls37vn/0o0hC0HOaTQE5oks94LCZATSJQNpbo - HBXRgnqBoIvGc0x+6D5BrIH9Zz5mjnmCgqkta4H9OLz9Vq7uOrZVfReiLWj8oqEE - 2JYSio8PFtCblYKlf/ih+BzGYO8Nci+PrFw2r/tgvin4XZ+SecEtK8dQSRq37Oge - kIIPtzcu1kRo5xzoRYTWn/k2diFmhaTR93RN0XN5QqA+9brAcbmpIM+GAKLPRzFa - zQuAtxN/c5f0FWEAbbuNe/3mwtL4lz6LM5p8p45930w/maye/Z3AMY7oWygG6DjM - eKUcte/s+zq5KE6niIpGNLrgPUb7HSSaelOS06hV5HZRhi3wstw9pysEV8a4p54n - v02Vt5vP+MbUhFdVzN3LXBalfeJTQZBuzmhqFvRHW3CrxZ3r6qkt3bHxItJ1+jpa - TRoxCE8fdLlzqJXqq8+lr/+MMsZHntqKoBYR06l3LATsw6nWpI5VOQY++4DzwHHM - j6fJBvaO158SBjWFJmdhBiLS9QH6s4GGt9FIkttE5ayA5aiUahCEnaDXYJJlYiPS - XgErrQBvmtDEQBJslmuax0Mk8dgoLopotyCv+8hSh4XLSgOsTtXsoGUDk1qcAdN0 - wEoMsl8Ub0Rp0qaS1IUuq1/1GqoPqC8yyCm+kRBd8I9gNlmOqKOgXgrK5TjvBx4= - =LIW2 + hQIMAxjNhCKPP69fAQ//aEhsM8vuvnxn879iNWO25K8Zp4P2pkZxnZUE3aA4vcBr + KRVeIijcaMcT3b76+jXrAQy6Zka9sDMueIzcSnAUm6kYZS2bW1obeRxAD9cUxArI + Sa+AdPGxvchKC6qYV7t1C2GiWVBERxSY/JzItv8Y+e1ZsTkLHnmfYervcbIRhBmN + 3y24qSCUFX4TM+RJ6mv+8XKaPuOE5XOzsUDuofcsjrPPZ489Cy8B5hcVOjw9kOjI + g6BCc90Ygo6/lF2rsS80jSZnf6v4KnMRmj/mKH2Fq6xys1ky/IWNPdkkz29sCqp7 + ge6VM9esFIGoRDO6BMC0DwNnCn/gPFTZ5qy665F/hvdQDguTNXRRcW6enxnVsc1r + ga3Z0825/eA/SUKQ6/riZnAEb0enCVkQ20tVUKWhQBAjR9vYvFIgj1EEj1ePgG6v + wES7Tu32AvFu5EeNl05TAvx52tPsdfyVNRIOP8yXvg8IpmTe0UHVAlNEqCu0jrA4 + EX87VW9U/O3CJyyXA2C/9XyBcJ+espNiAX+LV+5KGFkNTo6p92svjRzfl9OQ2Rdl + pROiEpYuUqQZcV50cphr/yUMNPMTLzZXlb8DGcov283KTnjrkOTlfsM2pMq85Xoh + z14PyR3Sr3IykytVb7LA65XAyyfTjbda8PDKF0txTYBhveblvzkyOkAnc/a0tcvS + XgEtgdkPw8kqKqU7PzLTbowQIfdPlE27XdWg9PVUdZHQROHijB9ACNbVtWLYxtUs + F/N4f9aCPO2JrihIp8pNQnzcWwJq/7FECCQg1GCFTd4n3CBdO2eUTX/dD1MqRZQ= + =BxRx -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ/+I0tPev+VTjSH0/b5Da3VeXX2lW26VLKRLgMdqjlEhKfN - hEE9Qm4n63D5rK97c9Rxs6oecjyi7ONexvHBayd5rSeyo9xKHArDrokpl6bIU0nd - I9nZ8bRT2GccaHblxgomphPSPSTGNB6oqKqmFaoa+efash4BcFoQwKxbrrLqdCey - WQW/RzIOYwQSbKkVZJK10AaiiYlDo/0OzeSRqF+NjfIoiaO5BUEmltfzw970/ze3 - 32XY8vnst57/GKZeHpn6thFtURicI9rNrKaOUDyHQKpx0dS2SwC0iRkB8JsnWEnp - hPtMDjBh+DSwwFTXUctVz1tUGwmCRbrkhMvZdK4iaSea74i195MRpPBaInmHVYSz - UGCbm1XsPf99+JD+LrBFwum21lsAyv4zNRDBNbyH6JOtJDIOxEJ0VRIqj0j9uTAP - ideiXKzhYM32h6/HwcZhccQ4vcxcd8mG55Q2YxzrXlDSIMaGZsykiFPG4ew9SKOv - 75JK4hf3ZfkBeQ05Xik0EFNpYkE8vEZ0/jgdCHfmErc3zdWBGSKdWoqGMGs1cOFl - GVAmzzRKqvHsVglRHXGVRAGhRPUsUqRWL23tZxMWbPuSzOU+EDxMDVwEjrdsKdXE - TDnQySCFdK6k+YBAyjMiYZhg12f7vebnCcsqxvknATq7WQaksvIBuKZFoQI1w6TS - XgETTNdmHF0nutPnHMBlFJu/RWzYPCNpNRx8DnnWp00XTCKZONal21wGh6uFyJWG - Uymx5Ryi2md/e1WFwdyx7HhURaGWhEuD4mvdtO+CDDx7XwrkToFmPfrUJTZi6AQ= - =kFcX - -----END PGP MESSAGE----- - fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-04-18T22:36:24Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQIMA46L6MuPqfJqARAAuF1L7FiPVl6tyZCXcIB5FJ7xrbsywY2GsCxxH5SVKaqq - 5Pgkd0I5sTxVGwO6vI303RUSI3SYF2yBv39+u7a9M0obYGP1/JCCtVIGqZTdU6NX - t6RZRVzn/YM8naV/uimGM+4y9OxnuquLfHeHwBXpWtdvy7SeA0buyufTMVQlH7/O - DkC25HwV+Ps/5qaqT7N8mz9WeuU5UI3vNLSZ8OGSSIv1ry3C36835VFnPqNhUx++ - Qz8JslfvDZMpY7Z//7jLDHljdQnguK8zSxStM8zdgkhfhiUOGnBJQSfTXnnYUxKo - JL0MlX+CwmI+SyK3YUC8eoDnsIR1pHleXNYTHNyMH0c2zRVPtYvNxBvYDEN954oi - RgJhJE9k6aZQYE+qZZnXBqjIkSOZFl4Pajo68uGLluVQseLUfVMYtlOtM3OyiDSY - 5ZXJKmUnUt8HU+WQwE9O0yhhWsGcj9yQFblsA1F66Ma+JWFbV+kZvcZjWyaACIN6 - VDzhX5kq/kG4g4LQSGWB+oYsm92h8gWFp95dtrVkBrd+4t8Z35WjmNCQso9gL2Pf - EnskZsbNGrwQIhQgqmqZFQ0j/Uc4KPzJrrwmteSGbWz5atbWZW2m0yHV5DvBzc4c - wYpxFgKPxhjjhPt+LcpG0vWU8WFzkx9E/1tXEW/PCdXlu6T43zvRcXyWiA00wULS - XgFMln0tH/jdWw/loHecywoMBl8JerQ6JsuHbYnqGrhAgL5pjVU5otBPukRVH2J5 - h8C3AmNl4tdiGS0GRWiRVE25v3ArsNeFI9hZyx/+HG9XmyR4RFD6qECswo6ItCE= - =qbvh + hQIMA46L6MuPqfJqAQ//YQ9mlWKySkxnCP4sCNyTMMTgQcg79dh1Q+v+I1wH4Inp + /F9EJbPMSNIfZf7C4qc+XDt5cuPpTgg+7SrjGaNryjwe37fFaLEN+u3UkG1KBrUN + mXBAbgsG6awc5cgPL/jcT8BULMPjlbddoTk/YrUz9aSAQUqPPvwSrzcmOqhvWXpv + s8l1575LtwTKoWl6vWVQJF3tlZhifpevThpCUoOYOPr+6ygg1HTSrSlV3h0WVDEg + p7nsJBPOFrdAQWbCQZAcvONMp3DQzrWgdp/KEr+dkgD1ElaOxALGl/wHT2Kxla2M + oTpJLX/pyLUskcc6ILU2HKKVRyiABYcaCIBjJ2THrZFCTm1ZQ+PxhMm4YE8wDPFh + HW44LERBFq0DZb8P22DO3M4I2x9coQskDXUoEtpk8Z5PEGVPZoXk3om6kQYYvPjM + /dtg+mBcFZq23KE+70uXa73q7+NuHIVgfDSv1GaZvm4ITscbl3tvoKhITLWBpIg8 + UEzhuSKmbwPB7Yt4XQTICrEYBszPht+uwWC13QCeyxR21b/h79V/b1BAJwDPCD9U + roAv4MPOGfrtlvdMe1Qy3Mo0R55kCYDoGbZtVpOw/zvw0MmjRfvMpSuNd7CI68TD + E17Oio/fxw46wpYZB6z7YrYhT8UMoSECfOM/qjPt+/0c0AYQ1EWsCilx+1xrwbPS + XgErcoacbdZkSResCOwrZNql+X26fKVNriT8fjD/yk7OuCS7Pdk1OTloOMeKPUeD + sodMeAGDs+Zi3HxUzhEHWPpgEqyeE5cuAADrXobbpQSBNmPHLB0FRSlHFwMKhhY= + =h9UZ -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAsW1jracZTGphlNur/HGIJIxzIubjyJR5jvQqS4LSEUww - S8Hzbvn/bRs99spntr/Mmb00XpfcjL+Odq7qnm76xnnbbTx3m0izl67BZaBrKVKh - 0l4BSKtVorELXvielPR3mScMc4URBEcIr5sY2nOSLUc4a+PkvDl/xiTReKWfsojP - A505eUxY9lptnzta/wKqd+rJObsOKPbrOZeuwIGOdOjLlSVFydZNmykkJJz2lu3p - =/RAc + hF4DQrf1tCqiJxoSAQdA4xwcdD/BOovVa7mUnNfgfpNADD86J6UT9kQXNuvEQAow + wfiPRPZ+IxXuUm8XhiaK732PjJcKttFf0ZkKeV851cbgZkK/uhqMWnyIkQjg/Rbu + 0l4Bx+xPDJ7cfnsWk8LDXYZMDejdjtfbDND7IqBOOaxXSuSJ1zLaAAOv2fg4mFNp + XW0DvaTUTS6wBbeivAenWGdrSh5R6TqWz5vKMFD0Wd7RND+cDRJYOPCioU0JB9ZX + =Zm5e -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAxcCjgx2tuaTGKsNZuXSGhtMf9mEIH9hm4ll0PZrCIRkw - +hPiRxBzct3I3gO5a0teacof6a+B1cmNhYeXdPsKNC5k+xbqA8pC3pDLZR4CTeJC - 0lgBz3aqzFIDatX+8gVWHP02Ob80GjXehwHTEwahVP3GTjo9PxPsFARufqYmLvQr - uPSRuU3/VeoF3qQA/+64Fig240jE+TaBswJvBA+yU1Kfe/ZgmtDiazhl - =4aOU + hF4DzAGzViGx4qcSAQdAUM1M5wBWnquTuxQc4WKe56l9uNIzfePsPklifoPZYFUw + XmJn0QJGkjKm1tDAgFx+epacRmSQ8mMfxoVS43qQ+tK3G+2LmODLlekawQ3x9hho + 0lgBzBvun0gWlnV/DQhN/uJVTkXgiLNmehkOmQLtp7DrZ+5Da4FDyzi2I+mmRlcf + eHLVHJejirX+TkEGkrw9v5A9mj93UTI5v291nH1+/Lf0Adry460yBwdj + =JZTr -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//Sq5rONN3HnKGiIuu3X7KQPG6tleyBIhXluaWrA9/TMK1 - 8hAkOa+oNtm+vQSSk0+5omQVYYgN5pfbrb7BsA8p/4oYC8MANfk8LvrP60Wxj69w - 4CTGFz/GtYhI4vcZQnRpfM6VcoVgntCBd/7zPTS2rcn6Gf7F6BQwvfBaE81xGdiQ - Wfrazpf2sfuDeIFkX78VyuOU4ls4EU5dePd0nlagfebh2nNlpqWYssrxkQqMvPiS - iB2wXqlkQDG8iB6yJF0ZMra3Sx7p0skPis598Tudr93Wq/QYmxi2rKVfLZ5LHL7E - i8X231kfVmVBLYlhwF7AgB5SJUXC/jq8SARofckBBTdTsvf/ScOHv5xVOheR0Nmm - /BYYs2h26M5E81AREr/0ctVnp6PdsuBkU+yIhgIUp0gwRD8iiJ6ZYKn4algo39qA - ZLl9sOqcsn9V6ts8W2fsJTv0FSWIdv82CmEZgJKe20U2E8zp83qb/r7RUvwhnFnZ - X1aHjQrTkQZJiKFowShW7gLTCokKRxZ87U44kn7qFlKzKp8DQ4bHGz2Re/v2Z5L0 - I6/3jQZl9RZ+PG78Q6t1fMQ7WefIow1Vn1uuW0YrcCIs5Lz7ZZx/mQPE1Yxlks0S - 0p1KlREj6wUJaooAbBuGaPTSxooYxUg7Z3f7JdK9cuSXI5N2BRj9xeMI4of0kvjS - XgF3lA1BoTVxs1bc39upu3Hxd/GuMxtl7JKYQOfi22owFfOHElEfO9lC0G0ZW6uU - Zbv8SB5hLH14DxMBeNUR8kwhjpRHkK2vCV78KqMFbbyHqJen+VEPqQSYm7lvpLQ= - =CA4g + hQIMA2pVdGTIrZI+ARAAqQbD3W0RrhonP8lKJ0MnSxcx1aBnfzmZ3e55OHGFcoKw + VKzHZfFUezUTUxC3Z1ZSIJYx77mpvZBpv1YaG2ictExDrQgrwdfxdH1iRLLilBdu + 2n9kAHYyxp2Axmw9AGKqD7JuehC/z9TYxxR1nsySIg2XZwV0Wfdb4mrGWWhjG5QL + rBhE1k5Iui/ymHELYo+0HrQfRX+VrKtP4m3SULXeRX66FtRPz9GyXgvtAO73ZvEc + x7TNiEBVQe9ykh7oyE89PFcAnJJ89beXj1Uo/V/aWDvOf9JkFa09qqObbfCo3jqB + IqPUTQmVZTNzZ421o1ItYdw9NnY0JOetebLqt5ouA8QEjJ2aEEj/wkoxCh9S9Y7G + EPmiWRF6MmIQPEGbTW//9/n5AYJYhAKnvvgDR2tnoupHUQKyWSm3WqLb6jGG7frY + FW8CqCDaB/3ew97JcwOoOFrEHg9ydVgjAmd1oc60+fiPqEvzthWwJvVDG+XZcQs6 + ENk8vIJKB6jIDrihiTNCAADGV3NCt5ZhivtfLdsrdo7EP/ET9OMQahS5s/UU6niR + O5ATV7nGugVRJsUHtArIKx4BICfe3F+oIpIJtc9peZS/JNP2r+IasiieQyX5hScM + v4trka70vOwbMXBYlyOPRedgNAveEZ+pJhpFuvV+fS3r228Dm4BTgUV0FAe2M9XS + XgFr5/rWeIzKw739m0o+YJdjzamccZn0bPHp3UuLpukDWX+gBp1us5K6X/NAE+PN + r1sYl7rKTWtYI8Qbwl87NBYaw2i9F4QH4YrbOcFhBXcSZgGBkwFp5zJVzoLI8vI= + =y64K -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAcgRdobWlhH3r5R3kp9hezCvdZF4AOWhHZr1hBk6QKVgw - CX1bWXv/wPJOdnCIEibROYF3RBXCJlFVTcrghMLx6QdVE5PmGZs1Qz76+aqrqAvm - 0l4B9BozhN5wX07YcVwvHa+SK0IZ8HuqSJhTp5tUIH/RlUAkekuT0l1Ogyx2JfO5 - p3ESSRY+WgDTqwURfKMCGaTRzrQWex1MgTlqSyZ1AJTEO+fLnJeopkhc8BY4aWPw - =ZpqB + hF4DKKbvh61jX5USAQdAQaY6Qq41F6OmWl23hUcq/pgLQwFFg5R/2Fpne1mDHS4w + XC1eExjmxHrPt2td4S4jHW25JCorBK4sH2kBg0HWxqeiZYoGFWiF8U+DufWIRGKa + 0l4Bf55XJkD6wiBzLHyWAO4zw0j6TsI51cudIrnlT4QMOUPqJZ3qjqI227VgRrYp + L+qDGWcjOhabC7rDeRM57xWVdHD2v+26qsvEaslNTgL7tDJ/6Rvd5KnJF5V4eW7A + =d1D4 -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/zammad.sops.yaml b/inventories/chaosknoten/host_vars/zammad.sops.yaml index 693170cae0..b23f6f645a 100644 --- a/inventories/chaosknoten/host_vars/zammad.sops.yaml +++ b/inventories/chaosknoten/host_vars/zammad.sops.yaml @@ -5,203 +5,183 @@ sops: - recipient: age1sv7uhpnk9d3u3je9zzvlux0kd83f627aclpamnz2h3ksg599838qjgrvqs enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBiUk9ialRhTWpteVFFenQx - L0U2aVhoSGYySXN2cVM2dHJhZ25mMGx2QXhRCnFJcFNQWVVNanlvdVRZV1IzWnJO - N2oxUEtCZFRKUEozbEhGL0JpOFdGdjQKLS0tIHIwdjRZMmtBSEt4YVdoeDJkZ1dv - RTVaeWVXdWJqNXdXWG85S0J2Tm52a0EKmD/cDclWQktf6qomCtj/YkLyATM3kHyy - +i4OuD9fyRq6CMpRiMEpLrQOf1abHGYUjZgnzW69zV9FOgBkLatOhw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBhZk42elRZK0k4K1h0RDAv + SmZVVm05MFh1YWRmdXZmVVhRbURZc1llMUdFClpGdGxNd25lalVhSmVwTWs0K1BL + TTBwSS9iNDQrMkFGZlZzSTA4SGE3QjQKLS0tIGRPYmVKTW4rTVhZYTAyeHJwVUhL + S0FXRkwxODBtT1ZBbGtvUTQva2VCTHcKAbrvNLZpX/rwZcC8L8DFntMErW8NAYEg + p/93vXS4XaenAGcJqyWdDUUhWSrwTpmisz95Ck9txH99pt2BUW2utw== -----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: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//Y/qOnQlKryJe9DG8y3usKT3nXk6yVt5mBrbt3CXlgHqt - CzAFovPOvIroG65SgUsQijV63EalaJ0f7002a1GIOOCCZOdJG80aZwjj72ZIUpPm - ia/hIZ6m+VMCPHvpihiwDrU4eROOzl7XCmPT8ub9+EDzghEIT9UduYtFNOdfX8QS - bODRoaO0SrpgIPo1X2UYuRqyLbSSjDv0mE9Bo2f8s4ocHwCd9qr9rcQ0kvyovQGx - 22GGi6+mNVgMpsIWPDBqBZH4qN681sHACq7pbA8DXnl0DFSD7Ellp3uEGObkrQfZ - cjpUe2tsw69hBxlNX3bZNWSjSXEYHz8C3TWF2GSTL7jIe/P49Q2LHq3fV1Gp/ERK - 8yRfVc8m0KGEjPHeH88mlPJtUDgPwcCbz5W9ms9s0OlVkjXfhBIIRPNaV8/eYGSq - THnUHTNlp5JDSVvjd+V92m2pCBubj01PHGS3OgHRa3o+HF7XnQyI6fuEH879zbv7 - 79pTnp1caS3N9unf+Lx5Fmrg/ObC3lX66X8/4S0+VK/ZkXBz6qoW6ondyyfzAB70 - cZGb7CM8p1JO6t7FbhVIRPaN4sA5N1fDxOW+dZox/TSH6Wf1XB/FofL645ajlhPs - jTHNq1JPo6JsNd9Q2VOJI49za3VqSilU5GaNObbL0swpgMSnk5QDS2MKscedxVPS - XAGC3dgK4Ra7kOuUMnrbo1Iqwg1TUq59WQcvWAHbM80yzzrFylMRb32zUQ6dQB01 - afhc9+6Bc3SEcOiWWKv+t5CtB6E9HvHNigPyehOALRGYNDyA9U2XyBFtqg6H - =7ICm + hQIMAxK/JaB2/SdtAQ//bVDXjQlEEcj7J5/fvT41Woc0KGkD8EjQ9SDE/qtoShUI + WAec1bCR1hmuTl2J6ZyiG6N4oiLz8R5b4pgTKEA04BRRmG58j+EzJTLWqHnyQSsU + g76E0FBHLe8ap5qWON4zUR52/13VYfZNiiRSqgvo8fWgUspOEKyUQr0fRJeYnsyv + mmPisJloSdtstArLVfqlY3HRfBTXDJtnI5aUzW9egybGETawd54a/ka6Wkdydtns + YQmeZaZYuM4IybZByFr8vkTKaj1LhAeaDmkMDuuOKp2wZDRYiakUkeHAIsVAn7bp + oYC+kpvOeVthfz4nlK975BFZC70esUsYFUz3405iM3cvYGVbsALlVBWicGkdo9RP + WybNQgXQUWmboRS2tUfM4//ZzIsvZcv7vHPkDv0bCT02eVkgzFOmAAxt6xD7y8mA + avCuknlsZhm8KKoStsq702bJvCWkV19CzA2EfZyUtMCL72Wf8eh25ulZrBSf7LAh + ZA2O0/8zQQ6u3UJNvNRkxKJJZGsMfTJ0Q2EJryTul5mjcf4nSwTT3gfTIjj9BoCd + 5l3MJEkbh3/X7Wyiqyr7IiEQwAhc4GGBwRKvX4pzRznobGYuW9YGIM2TQv3oZgDP + ehutxq92Cb/MPxuJ2mc4g9Um7Jr+PnovC8JFRJqx360qQvU+t2+x3eR2jq3h9TzS + XAFd1MdKRxef89dSFZZ09gWIoYwbC66gFo750672J2G0MsyZ+YgF+PpxfKX9rrPz + pGCdaoBHwQPZNo4bsf21r0S5R/91hcHgQyxUx0SKZNe4t02x49WEjPYHmZU7 + =MYzi -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hQELA1QflAioE8i3AQf47JybddiEYo2fbuxwMGzAauQmZILc/Kh7UG144Ex09reo - 9DQAGUM0CTLUVOLPw/tH2NBFtBM88w5SN11bZX7ryFHOBDZ9nbZTYGHYD9dbRzrJ - I7BKIqJlU9tos/IvxB53lQ/nSbrxXONfUz2UTtipVnrD1J9mDEtXItRLs20bm9M+ - Ixm+ioYY4pCcBZubOGiJenX9MGPqeR9DwbP11QPfDZJrbl4D+Amp+PumdDvay9xJ - o4y916axt59D5czuUmhy6JnqUq3sM2dNQLDdGaf6oWzem9Vwr98ja6Z0OzEoaUae - OAXc3C1dpBabMiWD31LwIx5cl2950ORYFmrirpM70lwBYhuNhn8BYe+mrO92IcsV - 2iaiNz/pvR8yaJIXrdAWU/B9wH804gLzQ3rk8Y2ZJtB4/q3uIi6Gtp3xgvcSRT1l - ls5E/W41FcDyxiI9c//EcXCsgUo4LkHDrTrAuQ== - =2Web + hQEMA1QflAioE8i3AQgAhWsxsE2ZaRNOWAfgmfxIjOHIsmcRWoX0ydT+5pXf7EGB + Y5wWQQZ3eU++B+/ziA3tKPDbyBZsmadMh91Pglbpvwdi0HFvF05Bc/vjoJGWk5qN + cljjbH6JLfzULMHNCBIMsKrAnYxliDvCcSjkWR1MXc1zunN9HvASIvaiLS9G+kEL + ZluCL5+KB/Jup4rU9aLcKqQjIZUnjCqnnS6jeXZlva4OMoNxaiiht0wl+Pq0uqdI + 76SXNYGdzokH66Mjp66YjzPgNj0CB7ZCBZcM/RdhKGqfSIGhjC+PfGmv2TmvJvoF + djsryX33Vy93ab8R996+sOPw15QXXxSy06gGeDMC0tJcAcwsn637Fki68qL4SF1X + jJKtFdGTWi0Uv76adkZ9rEN83fpY0HDLqnMj1My5VbFpyrB+s27WDs8g6enmpTei + meYEHYS6i4OrjNr8lDarT/IYxpam3hCANMqXSd4= + =qPPw -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ//U3DKUcfd1cKIOvOk+4ERidRNoUDOaew9Cg8myrIkfsAa - Z0ZUvcPgi1Gi40V7yqdUFmcwARE2Uqqy38+x5diWdYyz0RJmUwrfPS+0M3BnUDTu - l9zrG4pqEjcxCCh8jBM0ycAsfzRMpgKswO+w3wPrz7t+94RZ+GKOrguSFBmjdrpu - 9SiQCu/toSn9AU6kqtM/uKvktsD4xoyWSjVUOxTSl4FwO8sC14JaijJMCFACOOYj - yOVTr8uz2UpoNoFOqygbdupQTaUfyDxQubAGOxcDySOA8nAUmFHCk8kfuxa2STyM - pqrxIcBPZXqGnGmasDxSJcvi8+ziW7rejv1r76cuiwD968GmaXH+Aa7eDUZnByt/ - t+xJ192jLBxgPpyK4+Z+AVqkeHKXS7Kq65E3qVuLwuo/isG3IpjKObPgajEcvbCj - 1qU6QZPZEV0XIeMVnbYL5sTkrXISRHr4g7cVrkdZ9FjDhxneivmU30AT2b4778Vs - 1tUJu+MQLb5FWv9x+Sa94eFg26TForGFr9z0H6RxVq9m0Tu2BFFsjOwkEFA/i163 - D4WQV8pUaIp7HltXo9g0eGpTBCa+AhwJg+bnMTRqLWF/xd5Mvw4X2nLuGkv1RScp - r3sT8LRnCGFuSfbmF2RK0VGqPlRRnQyji4JrUgxHXZx7UPZfsQzqNlaNPW1LUVrS - XAEB7xXLi+W55h326xBlZOCTkeka5dcYDjzEzRPcqPUHwZcBGD/GhmTpY3aPeyVb - XCwBc3tJ4epLoy06B2uDxzKO8EORwdsgmLnOmcFeVfb70wuLXq1HA2bWqX8w - =v9cs + hQIMAz5uSgHG2iMJARAA0sd9IKeJXHWniFiwe0PttCMzL+qxLl4mjTWQOpm/lwqT + LKpnwTAbKUKt4BfCkC+9g2vUQKtTWdlX4Ittje8zVeoofy4G5zci0V8E/QDszppJ + 4Us21iWg+G51kx1zJlxnEq1X0dxUXOHY+GPQvCwYZxesl0b58WqQQbgd1dxVicA1 + bCjj+p8b5YPwtPT57IiOHFzfSF4AAJKfjb/QfirBSWGuhYxkhrR/V6tumCPzx46z + TTgiPXFPtE0kHjzL3Sgxnf2+2zmriXgqaS7PsdBETYsc2DLBATfTmDaOpMlN6laD + uNTs5rzHbtwExpx0phvKuQe6Aur7e/H/9Id9/h4dVEH50JHK+qFbGO3NY4N4LcR+ + Fvj03W1qJfSWIQYy0/7I4qcTmVoD09iI8fb+QxDIIdgoJV8KE2xaNTgyTiiuG5tM + LKgat5bbSqbttErYWoTBU721hs1AXMePkt2fieGMmCCSa9Nlp9Yta64B4vAZpRwJ + RK+P+84x3iseQ6k+WrkdIwnE5bS9FEWpqZmrg91Rf5nkUBbOHSE60kDnq1+4Psyw + RSZv2Nzy+hh/y+Wza/abGs2Q8OlfKmqSLTXvWYCBMfiLLhstE6ZQu27y7QjqOB69 + 1eDM7TVFJTULG3eiy3bLaoj6BjPozkh8yCt8brKrQpIIXhn41W1WowrrrEArvJbS + XAH6EphmcNo0lCDes4zYariOKdb5FEweXjGeACoA5XLeQaKU3qZYndMyHW3FW8In + wd4RpEP4g5FrFam/5ymAVeDcpZLu5gjBmzUM0LosjQDHcisalt1XdfybTjcm + =YXey -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DsZXvxFXTXoQSAQdA51i4tIZFBWutZ8EAvFW53J19EHspN4CCXXi2imwwQFAw - A1xRFAk+MtiVDmHY8ANyW4VlKCyc1ykICZILyhYwmHXWYGLfTjt3XpcX9Erh753o - 0lwBxi1DU1cINl/49duhcXXF9Esw1UT0hI5Q/2ORf6YLrOJ8IclJXI2EksJp/5Oq - XmBDbjpQE8LhsnQaIEeNqbMn/YBZlWBiy6spXiVyiPmtjYH2G7gFte5QykF8uA== - =XxiQ + hF4DsZXvxFXTXoQSAQdACRo/aCNCVXQlPmv2sTIA5OOed86pqe1Pbi/W3swO82kw + 6GyuKHadTs6WEGxi5vD3/jVyoDamsZgGN/NZx6B67JpF7AiA5ppq/5TrXbepBGgk + 0lwBo8uD05686rT76v74v9HEZ2cRLKlCYVSdkkrXkKNyFlbl1LO9Hjm7rZGJGoyJ + CO6LpwQrvWCmiv0z+GSwHA5TnYJyXI4EpklyFgD3Ibm6vMNtKGzCn+P/75AB5Q== + =/5uJ -----END PGP MESSAGE----- fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdANDXcR6Rl4VMkuoicRZLLisZHp9v0PNwCjQ8lHHOpzWUw - l/GBcdkbi/UM+tpymDfuf5PqW28fl278isuUMmcuXmxZaUMywv+Gsmd1O9I/MZb0 - 0lwB+6POGm02/yZYSv8nznPCbYxwgTjiNhq9ydloVenowYI2cjHeeMd6/LqcV27n - yEKbZ7hFKab1Rt8of2e9IELtisMg+QfZiNeMI0a8IdRs1q6v8y40sjGulV+7kQ== - =0tWR + hF4DerEtaFuTeewSAQdAGrnhABINwBtqnB23Ul8zRortbBCM5V8yxi5F3tVnp1kw + Zr0s+Gvfcl3/NlH380IAZGNdvmVfMIcXPX/R6rf2EZA3KdJwkNW3D09RH8FjQqys + 0lwBGZWgyncjcBcsTLwI7nyrPUJq/Tio++UmMbic/0MwzfwGr5xgzDGUVoe3rdpJ + cReAuE6VwybFoDq0yk4FoVBsoRo7aE7pcW/X8/ZrYPIxqx/5AohqFVawcFSEMA== + =7d1O -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/+Mg/P00QfCRt5NAFGciA5B6ONBbZfXJp/Jr5perJRvVDT - cIy+DWtyARuVR1aH93+Jh7BwEGR6SegQGZvUnIN2cJPhZ9A+6m40gImca3Hs9+6R - KYADrgCLl4McqwvNV4HKEXeZ3S/9GvkhPsFrJJJuEc0CGRSBxwuOc+EXykmZ02Qh - IHoraVOR8/dHIMmAxwJ8/6LkieHsavtbiD3k/2Jgg72hzBXB3OhW5I8q6cojKI7t - kgTyO7UVrA5LG/8etj/7RWU6lot+Albak1Argxqmhcs2WT2F9bLAV5PG3Fk2L+TI - ykjO90RyU9HxWgzBcUMj8CcDpbxug1sLmLiUBOTtYLSOGkNn2YX60ahzkX/QU6V/ - ZIiaGT4O/E89TNHrHYli81E9m75DQL5yQycmhS9DCEjoxjGgLSESNmkUzLD0JSoD - VyyERG8YimVnc0CMS07A6rrySQ3GeOqxDFHQ/gTb2sAJ4d5zY4kQ3dAWc9YNu38Z - OxzZX8yTRdiKNsQjByyJMNYIq+boPbxjqg/xpifL6PVW2zpo57o44/Ip5Hqv9C9s - BT+iZ8iCSyKaGs3Xh9zv+p0dNb8SkC0Tvi1Bn//Pvl8FO8hqfVJxc1HM6B4Zvi2M - g/H1dTv79f2o2cyTrdcJnfVxq17hK2SdE9cVCFYKSI2ZQ/r8f1oahn1UYwruOlLS - XAG2bopDm3P8q6A1+0IEilSzU/fSKqFLYwEFULN30z5Vf8+INf8lcRYQ//1EaY7e - dywylQJub9LXs8ZEhYJ4JkBt5rWZTD9TMyNjdhWGE7R8ixDJrOZeIubjPqV3 - =2wTR + hQIMAxjNhCKPP69fAQ/+MLmDTKhNf/HJjhTRIOOIHfVMIqkB9+JGfvT5jmK7vPYG + dux7hAipH0p67bKeVlIKaKkREqAyTJd9xOlBvoURvbuiNHl4+yPCLJ5ciZ9YOkpc + 5SLt1WwSpfVQmEdCHM2g7TGaZcyu+swxiTadMBih7uiCe3XE6QFVDwWWmCtpM2Zh + H0zHHqCb29DKjSyk6Oetfd2B0mhYb3Jw0dtNCLbi1G3IkL9IG0MvFUXUWMqrT0QH + rqXYbVmP5gjAUf8AcpXxDZwfh3VctsfNZyWteZ8rrTUCWcjJiqd4Ou5cUTpql8FN + POg0bmRgkw7RyvizDKE9IewtU1gYjuZd/yJQWhwuXto3eKGTzrTskR0DeePbFVbW + cS5wY/EAIxo/hOOuoePA9XAEwxh/Y/Td3NJRGXsmwYRP+Jd1fv1LNs8zWnL5paoR + r+IRXIsPTvebTjOhmfTDfLokiJt4xmUTvXsi3mmS6zi5T2FCKdsovcYN4DqpuU22 + ufVZFeclXaXiWMFGslIsGxRQLKBMYFFbnGpJ5GUcMqx+cP6qxgHeaNyYV/QZu3Kx + YGk5I9ioMOHTZvNovfKQDt31OoUuBIAV/r0joquLbhBweiJzs0HNWXH9VbvwVa00 + EJkL1XhA2xxuk1KFbv0Bi3x2tsk++oqutqZztknivBwaCP0ERxQlufCDjmXXDcrS + XAEV2IGkfPVU7Kkw4+es62GAAfCwo1mfcVAo6BQh+5N9hcI+UnBrA1EsXH4Ug8ZF + j7vNNeStb9ALEcD3iim19yKsweH0zGkC2AUVEFbJoXmJkGzpK26KC9QaHAJs + =DglK -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoARAAnOfPaRQELH9srMxcaaZ8aqcKN9EGF9//7wWgOtzJsZY/ - 15SWJPfbcoAgZNZGqtENvZbPFZqemz65db79Hw2rIQBvj1VwYvX3+jygu4s4/zuA - dgj/P4D47fLz7O/auIzWlBBAGJd9WaPL8TYfpum5e2k186MQo/8QL4l4I3Sr0XO1 - cOxbcR8ObeI/K5FFuTZt81QQQ3WM8aOoe+s0MdZIc6F5DmN5UuLLqpGySQ/UGNDS - krKg3Rsizf459M36+2xx5mZMH/z6giXgBoo/2xBPL76KmPhCRy9ihRvMdyNA/tgZ - wdud2+BW+PgPI2sdLQvCGOtn5GuhLX4KAp13emddg1xjZJJErKQS7bDg3DR/eytJ - Ob4BkWkUuU9UwVKBD3+hyHLMesnW4WboecFRswFL8gq/SigX3HMdutl7J2TjMw/y - oLjVDIssadWmnkJoke2lieWRhsCj9Qn8fWg9V1ZKjnURZG3DIdrVemGhhRRzFf+d - mEbOOmZ2EcqjwlVG+aJCldxIqRYPaAY0GVFLl/979/dDACWp6EN7uarYE/a9I8l4 - DTIzHWmBQR2dvynWV7o311Tl7Ump15usGRuj8Fb0T/cGmieCedBvCqBXzBpp2BoX - yBDSzgaDrfySRF/IKS3fVQD/avk8EaerYkmSghMMQyZDh3qDyx1vOiBatkEMu1XS - XAFlMF7YjuiBzbi30Q5R/yhsOy7tA1zHnD+dSiaYe2RGizSzMe0IlRZE3jkbNPOj - sSbTv2Ns0QekEnyjntLXADqGrBJ8uvxdscf7z7h2Y6IfSyoGEdDjHOeuawDK - =G4yP - -----END PGP MESSAGE----- - fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-04-18T22:36:24Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQIMA46L6MuPqfJqARAAifu3QXwLv15jfdZ2UUwkq+i3n62B4vTT/ywzbHCN/XO/ - TVsDQ9aHC7W91uCUus7NLNf18zHojkHVSpSuAzi8v+QR452JDJvg4cuWs5gaYR+u - 0qAIyJ58HJcGZTkOVX76JOd2HSiiRkDr2p4m5979DdKnY7ta26DC5cJrmlmQghIj - ElSjvUE0SZGC3bFqLHlfrmiQ9vgU1T76jZTzqQNWsH/L9xQXMyfT+KsLsJCu/NwP - 6W1i4WonT74C1Y+aK80WcqHE3If4wUDhZT3Fqgyv0i3faWhwD2WipgopDPKIbIyO - MEjUVHjPy53oEW4Gf7+OJkA4IfDqJrLzdnc9I1lBl9GgDJHhXfZQ6vAupX7lfZQR - lP6WZW78Pp2IeIGnn211Snrg/0F79AJmTqzN+PCFpLKiiqbwQhQKXoBkR9zZReRF - eJ+rwXzdaZV5Y95ToACkESLIskiPXtivqVxXCX7VPZML5xBNz8n/qYTDDKBebLFA - v8t+NCA0K/evT7PpIsjsUnQNNz+L3FQ5woc1HFOxtyji7cU8q0od1KDRHuCUBk1a - m5MEqE2N03GmipYZykF9bOo6LS3CtksQyPLpK3F7Wq8IsHiUZOIdsuGVjg2cF+95 - IoV7hFaeWZgbE+BR0KbTH9Sjwt6fY+awtQTIktgzYubudQ7N5xRnf9ZygZFkY+zS - XAHAliE6oXVv7DYBBtK4jQEBu3EQfcvPOXlGvztPPLCsMq/MnCv+TfPQc04Oyecx - bLjFh9cGQhQxxuUDnMMwud7KHb4foRGXoxXs/zLhOL+c0kkBrl2aENvw9Izt - =JJkE + hQIMA46L6MuPqfJqAQ//Vje3lnUoFsVBdr+drmlOaP7lk+aRpoYH3uZ88U9XhRI6 + y30FLt8HYX2cNqoRVjcF5AmItbRv2XaP1peBWej7N8Y68Tiu+Hd+RRNipAFDYgqe + b6hid56qi5tPIcJYFstAhcOwN6Ez3CnhVP8tcCO1A4Qpdvxu9ZAXaKnyizzF4CuG + B4sFpR4jZvRcxIlQ0nN+SEDXwfsmSFoYaR85FubZS6Gdqf+4bmDz2yNuNto82Tae + /hgg1V+1pMdfv/99Ihm0PPK711v5uDEv1N+RVnusZ4XpHJ2WNlto4huQEilMYQSi + pFaKZno8LZfmDAjaPDZGqxagwsEZa/VH8wpAqVeJpQ1LHuxGYk1ATaZogrIj8EKM + BiOgeOFyI2m6QsC/q85t42ypreucRe2xiksoWWzAvXosQqIW00QR8Ef06Se/Doef + oF383vC9w4zevoq4FY19ujrNbFKHndXHc1Efs77dOvIfzD3yXW1j1hBgE2PfhDNz + h4pBZdNZHgdGzpgHFlmNft3yDsVX4+zqh9mHwY+X/ByJJEcyTqkltJb6aDLK5xbK + 5YsUr8NF716kfGTcgZIxSdhJ722G5eedBnPorXSy86tyyLFJsT5wQop9UkkiAcdk + Lf7/qRbPavSlNDmbOKu7jnZfQXbDtwtWBNFU774a0DorS+UoEjN7PkLsuEFbAVvS + XAEZkuWQ1sC++g+a0zx5438ZQBodsRilueb90iByGjZaJ7tOHp6AtN4VlwrnkwoD + 9Hx5EtFfwrj86JLyXngXXdGcu5lsMebymR69hBQs0Ey/9Pru+7q3SAf0e9uW + =7x4n -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdA1UcqjGUQ8rUIDSJyxZOCpB8yZ5t3u1CXACE7Emuf0Ucw - 10myhPwPCRQ9G8G2r1AVrtf71p80gbwB8huIWEtkBpOJtNf9z2sijfYaNmT2ZNub - 0lwBNdWfA2Xr4Dj5AIjwkx6Ro+BrvxSN1s706RxGTy9Rcrln86AEQeBxrjas5vx+ - QatrVEID2T8D5Bpv7HsR8IsEHYhSazhajRhfZk3GIwT5hcj+msZ1P1bWfnQ2XA== - =vq1i + hF4DQrf1tCqiJxoSAQdAFuhMd8srKtdQ5w198UvM0usrFNgKAmYB1YDOTXWNQRkw + pvreVfeopQQciu1IOp+yhsvFzC9fMVzj1j1yBxnrPvNi+v88NCWK+RCMgBPbRv2r + 0lwBF665GqVZkM0UpWZ+xUIii8spJzOrwIco+NlMzpd8JMrQ5k7wQU+B4gQX4xsz + 2gzvIdvT5S7UrUbmLAg9ZAenO6CRTHuFAhq3Nc/pORobyka0PqNF895chFxHgg== + =Wi7T -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAiGD6B23LYXV+4+DkL8v9vALYSHJZDDrp6xjLp3Ht+jUw - Y3R3xlkceZlX2CbBYy0CpZ+ewtVEAxNXCXJFv5shSrnUG5fyOGVtA7iLRLVXJieq - 0lYBVUhYVi5B/A/8olegrqDqT+ZQMrj2hfDkSrozBU1YBZh3RaKkztcM7rD43b/3 - G5Uto1Tkqdk9UG/EHCYFCB5jLOCXF4x716q6dO+kb8YuNET9tTxqkQ== - =aGb8 + hF4DzAGzViGx4qcSAQdAGK+HnBNTev1fzBVJKVnqdqmQ5rGZ/Vaa+ti426Iv1wYw + 8xf3UzWh1IjEal5xThhU+wgRWCmkKLrXrweYIw+Kaj9IC1AYutVOM/C07L3BBT2D + 0lYBrKELG21muTCEpvuVaCxNLXkETa23jOwi0z0gZmD29ikKIcz4gd3hdsfzNQgR + RqOMBIpKsAps6PSafyHT3MS0Qw6afx5IniDh0KHErogk3+npjCDxYA== + =9vGz -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ/+JvbMDNi2bk3K0/qgixwyPm9FJ942LARMOj1+XlDB3RwI - WYVoooTskcfZjua1mptqgmiFx33yQSxonNZT8ieaIFN1e1hUfeAqNct2swZqExY9 - lh0vushgzFlyqw4KV2K+0FZnrVEKFDF3IZXFdZY347nT+KJqrjabF/U9pV8HPuZG - gq+8EwIW4VTZCW2fC+2ehaqSQ5JuUp+Jq6XGp8F7ml6AxlS46sJyQwBLZH+6nFNw - U2+gbjSEVd2t0soSpfiS7bx5piXx/B88v8BcMWtXP7C+7PF3YjbvTEKdBLTHfhgU - cSqZuONHPjurKjbmDvQi3P1xeuGK69VP0iHv3oPjsje4tn9KTc9BmwO3i7uCtWE4 - f3GStOOQ31ec+wcsKlgxBRZUKUuPDV1YCz/mUbERhi28H8u3JrzKsfbEFhmtTng4 - wQLbSz/bky/XGAkUKGuDIaLRH/JT0ErSA/Z4riwE0byP3RSFFIWr2z6DHXnDh8rX - eA6dUnyCa45CqSJXWONAoupQfARZn+a7NC0KCxVoRs1Q8KvN080ocbzujGUiWl8S - XomCIRcog+PJunBw8JnX/IlSXBwmSGbDmUhuKaYF3LrfUCDtCgJNXsZBCkRvLfYj - 5GFBfuZssFEETcwwFAY5TVScu3sZLOMJToHCu9BUvGA8xGCjvIYi0WIwxwAcO2PS - XAF2DjFu7jUrfhB/0ytEITmRNZd5CABn26sWs5DirFheozFPN8Ls0aFZ7JY8s7MC - uJJIQ/6mb6dMaZ39OkEZQA8CETlP0asCbq5bWf/WE+UD1oyqBshRscMvB9E/ - =782r + hQIMA2pVdGTIrZI+AQ/8CkkpLMYKLrSgFTxauuRK9NdjNlQeBGklbFv0tPGMFzKC + qmxH6FAckzeskTmm6V6nnAp3Zp7l8b33YHqllVrNVq3fBpQH4uVFwrW8DLVxr7cF + 6ZWQ64IsGudnwVQ8Mn5Z5e2JfKy7OPDHtZApjjDaAdxKGuMPwEIe0iW1dOg2ltz/ + Qg3hETQMzUcILm0yTJIwwq2Xx/Mzf9P1Kjy5LDNf6bETDIPwQr4x3X4IALog/z8t + nWZdqWdwdPL8sH3OF2/11yIYOHdMV2z//vIMH/A3pBAobRkV+9FH+ZLTx92gXiJc + mpuEMKUBcuHFnKo8PoJ3Hc2ZipZYGzoQzN84DXlflx/Ctq3FLQN2aw00VMuesqCI + aJVZ6M2rl28Xffezz0uaNsscZ5+Wt+JFvjcGltKgtr2P84aXIrni3MU3ijl+L1Zl + 3Ov3Sn1024KfVlaLYv8M1N02di4aEmYUVKkdVluUemYi1B0afUiqByhDEaIJE/UQ + fMZU7Q3/0ABdAXJi2EkWJQKJn1+LzaBO9J4DvOYl2y8gbV1L/elf3Byv8EZnY1Lc + N0BWMIEyfzUWiO1l8SHQIcMyQ6DGGrTFOK+zkVTv2VWTA6ZYHT+NoWhmhE4ZB5s5 + oroGN/cWtXz48YOqrJ5m9OuFtYvtzfnMDXEiJYKDv4suiTzGnbK7jrV+AGpKksrS + XAFezfye8+iNinZGfRLsmGKngQYjYCBzCDvM2u4K4OPoSNFYDfiIHdE9XjJlVzg2 + DCvR2yDmLVyNWOTngy/wsSS8fKbJvpAQPSKAbfKwLYHRdRPhxx2KeYFkVXL+ + =v+ke -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-04-18T22:36:24Z" + - created_at: "2026-05-20T02:08:47Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdA0llebdeoKqxhFesB2xTOT7R2QndL0MXI59GHjAmaKnkw - yu5qc3yflGCXjhsSejSYQxmsnRI6vOM9EdYUNy8Zi/kelam8VmKpreNDzMTLClvt - 0lwBpFgqvjUZFav69L36WCaah18KjvmrzN7njj++qYZdXxIIbrnXVPQIQr6e7ECn - urqhcXNEaq+e5RvVPCK1XuR6Gece1oKgV4vYzF05oX9LQucv40ZsYbLK5jIBoA== - =7TUD + hF4DKKbvh61jX5USAQdAb9CbR411KhyTXXP8fdnYYeP+z+W2nLShspxwkDIE1Wgw + RYU/IUbNS7xBLb+TU5eD9FnV+mBUhCmnghavLGFKFrUAVFcsvId5azsQM8TLzQFf + 0lwBSoeaUUURIZ4s+AQb2IXGS3lYGzqsQ+LfZubIj3PgzCnk580yio4Yp5uA/bRA + gh1FHJ2VdnaMHdzYlDeclVGOFRqGiNkgHk53zsyjNkhC99UJPK62A8vE7VpR0Q== + =p7RR -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/external/group_vars/all.sops.yaml b/inventories/external/group_vars/all.sops.yaml index 3227919e54..bf4d35a0b4 100644 --- a/inventories/external/group_vars/all.sops.yaml +++ b/inventories/external/group_vars/all.sops.yaml @@ -4,203 +4,183 @@ sops: - recipient: age1p546j6whqsyfkjuf674lawrnk2ex653fuvwhcwt46gkrspkq59sqzm5y87 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB4TW5yeVhKamx3b1grM3dH - Zk9OTzlEbkNhdUlKRE9qNzdTNnZiMjdnT0RvCjFYNHo5Sllmc2R6NGpNUFlhMVBO - VjlieVU5TTE0RDREb29FaWhuU0g1V1kKLS0tIFlhV0JCZ2FOYTF4T2hJSnZmN3Qx - YWtxQ0hyK1Qyem9vN3YvNWlwTjBKaVkKQTTFmCO1n7Ls/byE7TBsnK2dlMhqzYur - T5Hzv6tvwyDWm5f0Evk6MO/2ZU5/uQ0Aqxt8QsBX3RTY/W78PGNCeQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSByU0NmZ0Q0TzdzaWxwWnda + dHBJRDUxdk5Bam9VbS9TVGhlSlBzU0owV1hVCk1uRU1ySHJyQzZsY09Rd254SEhY + ZkoxMjJYUFdKNnk5aklkd3ViS1hLcWcKLS0tIG1aR3pTSkF0dUJveUpXNzZuVVps + MXpVcUlBNE95RWVjVmNPcGEvY1Q0bkEKeAtDa476gZlktT+T0Ka9tZWUNH0r5JSd + ug1K6kX45mUNBDbIFPr3IkSujKoLh03jBOtBZXLBGKQAdHzbwmvisw== -----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-04-18T22:36:21Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/8Crww3aU8vX8uAq+PN8bk/363XpXrSaLmfhPAk4Cb/rV4 - kv4u8wlTjHOdIxD4ELG/7HJazJ88Pql9cIm3rggjRCxE0mGOXjycqPBK+FhqAGlq - AHSwNbDbU55Kbky7QCRO9YiiBt2DkyyJ6DMQTEvJ2k4HNvDmteFqj2EPuiWAw+SD - AolHqbYXmHs6nwQzF0gdZ6SfUFIsbtympUIX3T/AUrpXWgjBj6y+SZcehk81jUXY - N8NE1WWczkFHBs6A/cv5tn7Vq/s1xS9yS/kLlX+GaxV2msvAts765CELt3mOPSie - iw6o7y2LgitXCdQTmUup8LmKwpb7YdU4yn8gkvxkIZN7F5Q94XKmwdsXEZ3UtJ4j - ZHWBXB42nF2MUs0LxiMLw17Zu7NC9jYLcCbzUf5RLhArABVeZ16mQB1Rn86vSP6Z - qp+YGl/iYHSMBMIvKbgZqZ0CoNQpsnzEToOVn37Y1BiiAVMl3rslWMO1Mqx8Qmjx - fjv0NjbgHZVikNeA3VDd2ZZ5lnQbRB7IyWinRucaYT2GKfDp7hoI6KkzexnwOxFp - sCzdkdQoAlVwKENepdA+j3KA3Vjm3bh8uksl18svNrGF+gCewUNBhp1sB+6c7wV+ - 6WlTdos/qHkv2n8DWa76zaWmLhMkpJbPbavrl6nbPYmOnmhVAEGRQozuK1VdmBjS - XAGxduJqsCIKIeYWYOwJ8YBovWpH1kX1Gn33GDYNMUVXMmwbxicLnk7fftnCw64X - g4OBaDQUSTU6dRX2rE0d5uZBd9yifhtIiF4/1MDMLnKPTkYPOLmPn49Ucxl2 - =Jmnm + hQIMAxK/JaB2/SdtARAAjNjirRPxUQtjaJ7MDbABrMXt10EPcU1bW7wfd4khpPWj + /+KTH8a75lgFdD59KtZes6SQ0I2CWcqsVLGJMF0ZZgYr+I6UKAo5WN8GFSdJU/pp + om9KuEo88CneEbMwHkjYnxGMUyCCxw6WyaYv/Py0gkJXUVETX/kNctihR0rJ4zvg + 08JMXozmVKTGJNh2TYzM5k7GnYcfLoFlIE7VeWKV7ayu7L1e52QgWsZyTbZdkNxq + 3nmLrslXMKN/HEQ+7lABKG3BBy6Iv94lwIBT7Q+vSb8vIAvZdeWw0KhTF0S5uSFx + IvM74eZZTZARcwGJfkv34sSkDEMmz5OG/Jkplfva82QtBuCgxt3/irEvE+TvkB+6 + 78M3j/NJXCh6GtnAdwlPm6yz2steWXAW5tqgj793Vj2shDkBUXognLC5BDGBLEFb + 1sW5XscM+yiq3G73d65rmjv6DrupKi3TW058nceG4HYRb3si9JNzwepUMUv12YHK + 4mibROUT8rL8ZsBagx2QLKv383MQqOK2MYDZQjdrnLtl/Q0RVRLRUXV5KNkLe85V + yPhx9FoZipoW5BKv9a+kUTx3qTcGgMQTA3iAAWPhV74tu9XNTG9uOygMD8CURU8C + nnQFqGuzzkl9e5bikDvUzLXaQkCtY/JnK0vKzmpO1cI3hUFCS9kkHZsjIKK2+Z3S + XAEEWhsV/TuqfLNkeISZ2D/L1k7uluYzX12THqH0c3dbOMly7UVIQt79kocoYYSL + nmi/JKJTGkHiv/v/a4mT8jH8qUCeVoRUQwmYjtYeQXVKzBzMEEREphrT1AGF + =x5bH -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-04-18T22:36:21Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf+Icpr5zLywp/iTF9zioL6R1r7orCwvu9GPlZYYke8eiva - /QlC1oqHB4SW1ewFa0QiIHe8wHYar3qhCr1qWDQ4UQq+6x3699VhFfr/AQc9hsml - vZiUy/D9GyxBbznCzuFvcqJRuVfvGCeMU2PExrLXMjMhyTd1jR6c9C+wZry3inGZ - mtnjCzxfh1EiZu4ZTN7UfEH2OEarkzs/4HHkGs0BBNI7karEcAWZ7TK6y82ToyY+ - vjmyp8l+EDzwYjTwr7stbrq+L+G1q7uwpfHJvfbhHgtYbQY14ER36R0a9jGG6ozb - bE6azBqVEw8wuyHyRIH4G5ess22fVULmC9dYuITi1tJcATONWel7Xauiwp+aJBRw - lyCt0fpCL84o04o/tztRKTx2p9TUXcNCq5iLG7+HUCyNDN1O9fDLDQVljfEUyjWv - KimzeOItIgKbCTAE9Gkg0u+zgkwzj0wnD6drgZc= - =1lLV + hQEMA1QflAioE8i3AQf/WC2YP/r0csiWxn7J/0knvogk8k7XCjcIOxLSjChiOSYp + 9YdNiphX6Iq44zUu0hL22RJqRLzHzoc54CTu4pvA1Gwo6lUbN5fW3x315aYi5yZK + g2iaSFDL6Rm5LKu71jcy5/t7T1TFOaz3hrdAwlKMEn25Dc8vjQK23Icb+jyDLSqV + 2V9mXQuh35HgHuTt+z6XPBUeLhT82l4GD5/iaYxZ28lt/Ylpj/sW6OOeU08s8nUJ + zJ6mTlsI6d5+wKbt5C9kYpS7IL0esBoaypFoQhwluQ3OYRgnp9+Yvur9immeZ3ee + kaXhnWSyZvUHXulZFeGwuwaUxBpny/7083PF6a5dUtJcAWovgTCe4/zVyTaQAyHF + /Hx3K4uqMTJepbuJLMarHjY7O34fZd2p9GGRxYyVOaLCruueh/ZxjboDe6s+LmVh + X6F6Oy+137euRnfQ/sTBfo01YwKNEK07Jx07Gr0= + =b+Vf -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-04-18T22:36:21Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ/+KgyYw18YvzxBEwCXyai4XoOOxcqOjyp5oufj0QhEg+S6 - dZCoQpB3MbUVs+g2dhqmUfA6alP7X/5mMbvboTxRe0R/8FZR3y6UGge7XhYQXCkx - fDiQvYp8y2BLauekbylx4wNo9zvQH5+pgB63jyRV3ZgtjqI5bTTTGHEPJ01ZqMq2 - 3WPjxJBR9wlOrAj+pY6UOHeg7GczBSFKxTV4Eyny1zxRM1SgXQq2Cxs4eBDrcEBV - 6FeaYxf0w3AwxtGwsJo5QglybgKFD8xIshdwd6hW0IN/IVXyz98rvtdzcxZOllY0 - 2OHQ1FyzplpaFxNwWVT0iF2kpo2Rt11L0X3gHtGhuk270My18SKH+Pa/mgqtXnyy - fEbIf0hXwChPC1J6DCPCgIVtnOycmg8DQUXCQ3//SCZ+Sp9XD8JQ9FOUzfooK2dN - fMx5zaL5k5BHYKUNK75ZxkAz5WdjHX9rES8+eOnTK+BDrBe/wUc/MQ3SuTcxeo1X - p3dugegQg8RtGBKqVYGyJTntnntIsNZEKswFKMf9XGHGDIxKyV0AZFHN5LI4sPYt - 1wPlUcl5KgZr8T1kj/O0o2s4Zy1Aah61vKUj/NUoEUDf8jj4RLVwr7gtQAiQhVao - Bh/2zNGqfl2WgwUAXzCZVTGw2snEHv6Pa4gyVSgbWXw0CURzUu096zsmxCt69HvS - XAHe/8fsKXS/f7tpguTKDGxxspfROWxoPUi6ZNUOooi87tlawozFqmi16KNJmh92 - p6Z96aoe9JClL3xTD7ViIJwLHrWj1hQ/mYrCI24U6dOHGXKmdyC+n+JHvo1/ - =7csN + hQIMAz5uSgHG2iMJARAAtAQriYUN4Z7cgRAEX9p1D0CJnVdqq5++K0OhaW0Djya/ + i3tp1ACyonmQshBQJX3daz2TXHJOA0Zsb5B6sc1RL2Vyv8PTJUSQWB5fcf0/AGfz + Ln6Q7YQVoeTrXHeY5sQR3/pcY7iQs2zLBIbZkdUqaa1LUuZVJ4ar7AoMo3NSep5V + Bn9kQCmZn/CRptYnQlQeJcAcHJIne5KTEaVc0s09aX2y3hWVLHa/P1ibxsHpwQMH + OwLmE0FFRMco4QWUnSz75rRR07Rei4HCrCLsaBXvw7JOr0sD4cBC2GEpSYtOVFG5 + nsjrHEKOEUNgBNa2px2wnWN1lCx/GO0P+lZQiViz5zMJMyFQ1ZJu6UWbLzvEeumF + oYVR7UzMVNV11R+wXVgAsyFZbbD4m7k1Y46CvTA4CMvlQF4Cq/WH9D+OLDJytYi6 + xywxpAqPP55cF+shrwpUJgXbfYGFz0IyUplvVo95dJ9ayI1kcKSSId3Q9ia5s4RE + Sy3QcZXGPA7QDsUYijIRAL+tVX8xuNipXvJTTB4r3TSGCkpP7HQPmruVcwQB22Og + phtQX/yMauwe0sgcenbB4w1yJVAjhk3ic+vFmAYtsgUv7yWTr4s79k4YOFImeNEO + o9sPY3Y7aiBU5mz+2fmCJ52Eyvxnw4HpQ5WpzwaNzIdkg1PrPGBvNVOsM3woIk7S + XAHgi6soJhEKbxl9m2ixxBdyxnbHV7xtyv4V1WvXFCvvO5VO3P6HDlTvciRaxTTI + AHiJq3GtXYjVrf3lUXjp7l1cLigeHDtyq4fYdatvHnAmMcAP4epEpgQA6jd9 + =mgbq -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-04-18T22:36:21Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DsZXvxFXTXoQSAQdAoi0YgN0JgszNceA+f3H6kBhrdScaf3GpMclmDKMvvTcw - lfurxDww9ApBhlZ718v5rOYebClOsEK5JQvbqB4xMUCEGWe8s3pJnUWf75hHO68v - 0lwByUwlvSVevJe5oYmeFdCVSikZLfPqQuOQprdEangO6T2uGqQpPlqX1PbnOBYL - Yomb0hKST7itaQGEGMEkwPraB27sQrgfYbM6wasjjfBmFScO0fM3VWi0To+hrA== - =6WFn + hF4DsZXvxFXTXoQSAQdA4ySylUowLNNvo9qv1u7lMk9XWIz4lacs9U1MaUD90Hgw + aKN8DLSCDuGxS+dTL8Fqjq55GSUZr4+mS1dfMd42vO6QDcppYi2fW3yXqqI/GnNX + 0lwBy61OXwEBGqZ+6Lzc+5wohuU0bsDN2G5BN2ATHJR3voNJUdihT+ylcR+7Rm26 + dSN4YEERZxlOLDQCYFyWa+6VkSheATXp9UTO/gtXDghoSMNnfQ1TZTY+b/6fIg== + =G00t -----END PGP MESSAGE----- fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - - created_at: "2026-04-18T22:36:21Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdABSfweAg1TzqpWs2klr/kxVAFECqDYlmb9FKAJITMsSsw - icVwZ1OGwoJ5SRUgsMRDqmU1iBROAa2/0v4Sv1TKZozn4N/R8EnOFP3uF8+0+FnY - 0lwBk4+197OUmfaLp12RiFPbszzdR5wuPVujqr1av+DLPrXWtsFpagzlc30gntEV - NNjkEunZ6hhrKgfyChlLuXcz4yJTspu5a4e6HAZQP1OuQ2/dxotP3bwP84QEfQ== - =rFtZ + hF4DerEtaFuTeewSAQdAV/8Eh4NuXprnEqjzU6gtVdRW3Hj56msoSK+PXVP093Yw + k7Zh+hhIkq/npQijPMwEn+5Fe28qP6ySPDdLkovyqoLO+78fXHy35EkI5MxZmWk9 + 0lwBTFmOp0EhfBno29Hu/aZsbGwK8Tosz9eF2bBl2wXzlup2K0CfAxOBgxWCE9io + djOvHEnKWS7DX4PsmM5wDvm2fkC2X7SSKuDF9uRg7lMIP56ub2Tv+eWz7zQeRw== + =V08d -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-04-18T22:36:21Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//ZO5GsbcBiYgpTn9mBItrbxGUUopRp9934hitaFLwPnPg - y5K6vfrFFjPq3U+0jqOpVrCiuQLMa8e6kXbsFJ3a5lG4ObFfhCy/hwDKPlhf4sXT - QU5WZ9PfGSv4MktZ4Np41OzhjV2f4msdHo3vP9TClW5HlXL0rFUwOZ3Ip9ZqhK4T - XeoDSYD028lxdDK+6daDfWvtuSHMhG8CvtB2L9J9f8TOcu0IQCpLAnYUkRM35xpf - szpiIPWe7GT1h9LC0ZtWReTA4FBlF75w9d7CRRc56uBORUDGDs7OvhKXOYJoAdNb - Z2US5iiIcamgX8tMBLX0TsXewq01o/zEXP1U3Fvoo1ptuSpE/18B4bwIqLYaY+BP - wE9qxLBW7YHji355d+kEYJOdwKzTSoPmcWZsSWD3vkAXRZJu8KXbvqvReLx/xRWk - HyVhDJmYsUWqQIkzkkM6QSCSIXmh4us8z/zkWARzGLMHjc1X72WdyfEpCw3ePRpN - XopGFVh0TPlZhAfm2I7X3DkdUP4eXk4UydCqsSrwl4ztJ6TqkHoINnZypCmGKNFS - 4QhYROu/J423R2Htqjn+V+Zi0Y2pPO1SIfvI7MuOny2UdZ0RWCXkGEf6o4PMmpI/ - r1FKAZlC6qbCvuOUlEnECCktVHSNhXJITBsdlzeBHVEMAyZUQmE7AAvnHtsdrt3S - XAEW+QhveeCDAcuk9KABgBdbpYmrX+T4f4ODFBe/ycd6b2IrZe5F3mDg5/0JgYWr - JPo9WFpJ8syyyBJMZIRLXlDlwkTZNsuoluMpCGbjBzMgcGMG6oduk/nt/CRY - =OqKw + hQIMAxjNhCKPP69fAQ//epnwVxCXZFnocBRqLihBrvBYt1sOaVPr95Y1awKr2Y9I + Dmv4taugCOMCijHpHrQ67mqLF2NuJuXM+hTxzv90gAyQnR2k/TPOaQHWoJxrJlIy + u46VvLttYlzd9Hek+503lILpgN5LuynrzBe9ASwBxUeOBEI3y02rqCt5MuYPjZM+ + /nzoZK2kniv9StADnbOIOce1UnDWoow7bicQtRqp/6XAE2NYq2yav/Ho5QNK3GPy + ZUWqZVI5NRiNDgxF124CyljvboOuWb8A1jPVkhhjJt5VFg53LeNFxEEiFW2lyC2l + Om6ol9x01cdITqpsWLlUBVeVQLxvi8s9xjXc36hhfIh2bbamX9MmRs+HOPeRaRB7 + qr3EZLV7P4NHi+ciVfJC7qkC7wHm0BXdkvwXHSvt0y7RVQ4nPiGMIaRC1X/IV92X + Gk+pIjwZQt+nHa3EVypXeHb1gPupLS2b21GTCxeOIvwGcRp+cGGetbPHBjQk1vbe + kokOGLFP1+N4ZF6ceaSuBWEj1MT8RtN22VErpn2UIJd7VkU4v+b6+sx496ZTkQwZ + anVa9mkku9yQajwrn1G4UynC+jMnyUHqbrcpjw7QXF50su9YeSqfCP5PdEifXEEM + EYv6XHVVLqT1VVQfupOm7OMJUt1DwnbfFa/QxU8HNoN7HL8bjakdcqM/ir8bLC7S + XAEP7b/HUQmWQ2UtzVA03+mHCzDL320Rv/ONLYZyAzV3X4Iem2i/fBF4YZ3jN7Sq + m4WJhSRznHLE61Yjj4S1998u0NeI6PZ4i/leCPqxf5JZAl18Mjt7qEZhBVwb + =OVGr -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-04-18T22:36:21Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//TtiyM0G+s4AcDJWaE6LFm06kYd2WbwBmyChYWvUj20n2 - HEYxHXWAJSzmXjStbh4TZQuPnuyhAokczlBSI8crj2ByLfnhO15f1dlt8Ul7JuZy - q0pU/OiK/LrJy70z0kjHVVJXtWihAAkX7yMP25/jDGaBMHShJO+FurPOa3FJxYTQ - +Kpfhk+urIPd6a8pQlOor4/iDkiO7SiLvUeCVRa9mCZ5B8kEyxCTPROrtbUQ3UEH - SorciIzJlWhw/FScVOPI0FtlU1lU/9yosBTHPtdfPOp/bSuv4yrvSo58kwg73L8T - vJAsmmiZhdCOEd3VEBc2l+fqi+XQutag+Y1rbwS7rEpvbuxJvllf2LaoUfr+CYoE - Gd6ypTcbdpPdtWwoaPyegRlV63JWJRjNRjD07Ic4JL+93nPJsu8s1XmHRFM1/DHN - ZF3eUgXONIWN/1mEvTJVoZFe8hiW2R5+rNUcMjCklzJPOuzFDNI1b7r/1k9nNnOt - qoH0V72nbMm6KeC3U8uoHhXRBXQj7GF5w0MKDRlUPF8uVt4QUfZ+bmfbe/pCNCkh - FndvUQKYxUANCX1t7vS8DwREqQPtdIBb3aLpMLp87jNHuKRFYeQvGd1Er2b66uct - xIaB9/AGJ7L5u3MEU3SEa8zv+fMwKgR9oVA04Ch1wXEeVGcnPHirSCuSNnGZptbS - XAHMW0RvOWA7nxqVWdbLbbCcIXet3vg39zKTvgCbBYmMng3ZScs8xqCe9oOT5wdB - 4mtMd63GQHFWiBTw6MJV189sbmhzgWYHfleISttmUR5W3yD8Gj0491pl8dqA - =3kUJ - -----END PGP MESSAGE----- - fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-04-18T22:36:21Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQIMA46L6MuPqfJqAQ/9F9tz1v58vRsFeAl/W+8H8Cl/6GpdEUPlQhKUzDviWe+0 - ZZ+L+p3VfrTt6MH0OuInSiodjkxaUwAbrzfRJcd2T3Eft8/h0qTFhVKbOHFGuqU1 - EbtGh8EH04iEh+FYFPRSNTDUT1sEabskcuAJcAuKAayTs8BMKf7tLLPCgLlVKaog - cXmIUgRCaTPGuN0kib5HdU9OZIyJy/gwzApWtsJLmdTPuNHd0vEAIXwoIuLeeV82 - BDIezZPYWWLenN3mo5Ti+3nqlWSKO54NA26qfVuZHUdWiSh6x6ZcCSR19dwKMjGV - tPu7/MH2azd+KPwWfWgcxMAg1gqttxasrJdztHwaaheDVLMjVQFIXAtSfOJktI27 - gfdwhxJJTrTB2okNXrSOaY19973yjz7g04PR20W8N0EQVaXcCjuI8Nk0iouweBZA - dlSMMjQnVdpnj3kSoGE3JqwViXNW7Sq4/kZUAsyyxikg8kPgyOG55Hstee4W2+63 - ro0bcm1D4HZrXqLe8Na785mBFtTJnGc+7jUo1rKmn77g374Uzl/0iAznyBOPdliz - WcdGYRaJNMKAxTCachBacBkuLvutP/gfRWjxiA5G28JLg5Y+jjrVNMrWekFY4nzg - 9BTwVvJGbTwkP39/y0AAthWp/mrpX5pon+L6xdtCeE4wvthxkspmnuUH3yi6tmvS - XAHtZQXGqHwojjd9QqKR0amTCRCd4GorWuzkcGdvGECI9BC1rH+iDyN9Bw9xQh9S - i6d3f7azgmZvvit78zR5pkXKmtx5hGff/bT1jBZCj18KXW8sq5M0faE9Y8k6 - =jjOL + hQIMA46L6MuPqfJqARAAm46sChmQ/z/lsOoRVzUIoLU9hslSA5y0DApjbfnyyQ+D + 2L2l3usOLJS+UNLzO+Ag4dLOPyUjjpZvaDi2YSThY2P0LK7MFV5coO8zC4TFo1WN + +R2FzjrGDwU0DYnT54VXFkizly4AmDIJ4Pn8cZmjQ/nsSkRtZwAc1xxMFSif3nf6 + mZV9fdkuF6dREYkK5hpBvnwUrZkJjWg/zlUzociLU5zh+qll9OkgzWxPCuvvAWKG + 10KtjSbHAx+bllosiLcI2HOWw6PjycF45mwXa4S+ljfUIVEgZBeqhZ14hfn8DtCv + PI+sMow1FYP2KWoNkHK7rJQ9L1Mnm3KSECSnl4NizkaA4Qmm8dzkMbEfJhjE4SlB + 1C22nmveLsWLHBb4OMBPZ9uvICcn42MwWsKxq8gmp2X5ij6v3x5xiX9PkG/z2lbh + BOaVzjSHxrheqO7TkgolHoEVrgO3y27kARBbs3SQQabLsaaiG4NeDYB0hD4xtcfI + H3FRU0T3ETV5C8QJQoYw1jeGWLZd8rAo64PkSZI64xvssfj+Kc2sK0DoWSfArcdW + Df1eDMpHwLdgso1pM5K6An6PT0urNkfGHdo7s2IFrnTTXfI1jEI2tTJQ69WZEznd + ouIORYAWaHqJF8njJ6Ptr7f/0qJEx+Mei2eNeJyIEEjMot1BikWJCHiKlDJCKOvS + XAHl7lVJyw/Lk3OXu1CX50tfa2BGgvds02vUGmUtzKgMJWTud7OjNpAtL3b2m6gI + 6IUD06pzbbaga6wcz80ihneV/fiW92jh5tB1yrzmiKU98LQYGitY9+5IyChG + =heB9 -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-04-18T22:36:21Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAkWkhVH9z6Sm77jvkscNWfOIKVzBGCmpxP91XxPENIU8w - MhGnSch4HmitJEhAE68WjEcBjrbr5zgwAh+CSsph2Gghp1hj/IfeegiFAXPnvWFo - 0lwB5Y2HxD1N2rCDUjnXI83/+heNX95TAvHzDNRdSddFlPHjByph1DrTZHptn3Hu - nqFm58o+w2q5HSvS6wE2Y4C1aMmJnY2cLd7x5G/c3aE3xB+reW+4zwAT0RSvKA== - =3MMt + hF4DQrf1tCqiJxoSAQdAQ1+xOtoLVnu//U/Z1Y403znbebfO7OvhWOndoxj6vBUw + Jrccfz8+n+bEV2l9IQN0I/DirSG+a9rB1CpOCEopRvw2LARN1xwZyLP9C9K/Q4g0 + 0lwBcKcCrmrzcygrO+DZXBVXg/R2XcpLmW9KLHowiR7ErgPDN3wHD0WPrHRfErQF + iKwgomuDezVzQ8fvVp/DxcAmc7k3TcyTamfV0V9m8YH8pdMpU/vQb9ZoweJMeA== + =xqVY -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-04-18T22:36:21Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAmsW7vzXGcysNXilPTK6bPQdBFeYLnt/QeZqLqObyCnEw - Rj3QZRNdnAnO/IyZhZ6NDC7D+JGEJCXPQd5Lh9HPCyJIYI2RBrkfxarEPJrjnpyC - 0lYB1v67FFqte5kMAD3RT2HKxIy0Wgy7Z+RiAEaYIT5k7XZpcBLD6s8Zw49sUyB6 - 6iB9TtoVEQPRQ6xe/r64/AR0rj+U2K3fKQqYQo7gSoe7obQzQjk16w== - =PySc + hF4DzAGzViGx4qcSAQdAGD/B/HbvFwaMMAfVKuJuGR/TJu3X4vNTlaBA2pUhNVgw + GDjiBoXXAhnHvY35hu2jOCcEBSkV8jgZNjmL4PeSavVryk5QLWxSq4F7Vpwswcyu + 0lYBrJeARdIx1AVHCP7D6StanKtdl+za5XxBgpBrd+mCUpKSjLXpoe3H6wC6GbPS + oE+ZE0EGBqUNz5nSe31he1uZ808zR1iXODqQ/Z7X2KKpd+RDz8EOXQ== + =aSct -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-04-18T22:36:21Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//Wq3JNd9f4EgB0hxGIj1Ak5NvhScsZgqb+CMErsesopz8 - FCulYv1/MkVa/UF5F9DVmjqxkdEnZGrT24HF8GxOHdetkFDB/QjRnuWwhXJy4UFB - rki/evhJ/sjtFmXjWXL0GzUjnEuDMWF9Ro3Q3c7Yr96CJynyeysQ1Kv1UigFh4WR - l3VSfYH+u6rEn7iHbN+R8/88OEIAx4TRmjkQoPzjH9CU/8pMpNnYDdBy4fM3YSDb - 1I6o/NcdUJYyausSF1aJsXfJnIo8DbAUa8PlCyRAqwun0IRrzuw/MJkSb8Oo0nxV - kcEj7Yzf+y2JUjLI+vLWmtM8pmk0FCDu9NhgQicYNfPegCeKmTl7XghqzHFBm6Qw - wYMI0k3/eR610fXozhjysbM2SOrXcSpP2iKnZjN9UMTMOFdRHSs/njUt/nimUr/N - S/sf2EdMNVvGn8xDqgbvO7xuofHdZpkA/mHTO/YOCucqmVXjriDvpcw0FgDmuGJY - iYVUCMYUJKv3R0dW/YOlFIR0lC2FWjiPYxxx2+uegrWFytxUpEPoUYmmJ3mXanAn - KNtRuHFgQuryPsNmzFhOEGn8kXUpQc6K2I/ZhjN1nTz++soOMyFPsqpemCb71sAa - ACzc5mON3hlnf/cDFiEqHTaA8a9x9wsYbvReSkJ5RLvA9A9900acx7qsixlySMbS - XAGcB2A9d+uUtw5s4MiemIni9kUG8BZ4yS/eV9xRFaLnZ68o7S3CKwdL0LMTVFFG - 7WtnGT6HL8mhRRl83nFzoTCUZHSt/uux0obwiycQvqVyowAAJQpp95xcLJsM - =G1BC + hQIMA2pVdGTIrZI+AQ//eFAjxxlZjR286YulztM/F5mubct0fZpqIX5RPTQ6d2z+ + 9TnnUiT6TePaOxnhn13adHqJN0XSK9dM2MZjSQ6ju5zN5pYwZdNQf+4utGfvU/pc + CwEm8Nsc8t9uGCeKCKTFdYojFHDzgjPEAHJ8p+grk+KbN65gkqhKbMPYbGwvtU6r + cek8JL8lg2Yv2klkJe3cyUqP3LQIemExA2/pd0BrYW3iyR9dPKUzvgdTS9TcX8hw + EtNh5E+GNUg5Ua84yB6fvwLWwvm64ORM2uigaki4F/6QhRgL3CpcGPORm2RC/fk4 + bO4uYcSnv7mAz7wf3/loMCl97xaZioSuM62ndQImbttU0Pg5toR2NNHCcHZF0pSl + rTn1XZMxMQ69KOsfvJabnXRmPcsX3ICSf8iMMTn2gb5LxRHdwYzHK4JHXgQybOlb + GmliUpKwmLYe+4BwyuRofFjQQDUtp44M+yNAe0y8HBmzBmqDmZb95Tj5YrTpbkH1 + EYtKz+803hSXNio7qXZt3MEZAVjSBIRutS/1ISMybQE500dBcZDJPbqm7EKSpm/r + vxrk6nmgzmix2itjBS10ShnOpyi+lQwcCX7Ok1O8txdb7HsuHYD+4Afu17m+llw2 + t68MN7Tz4WD4u6yLFLBVIdI9s4GGe0Z9+AoecqPg0eeV/xdaNtHExd13KOprb2LS + XAGSzDRlC2Utotu1KtuY6G9JyoMcND0UOr1JWO6mjfCMW6F/orYDJtmoILQmrwwQ + 7SlKR0AeFVC94rRZuUHk8ZqckLusACYFzQZVtc8mZHa6wEKIVNgGHck3m7XV + =2uIi -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-04-18T22:36:21Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdA5l6AFb7ItpdgVv4uEn7+vmeOkZiidr0TqvOnp9LzqhUw - S1h2Ro+BRoRnG1svhNumrgkpSpSr82KISHJqpQmY8JgfLStjTDlocyJvCLvk2Bt9 - 0lwBlu+SZYYY/xJnvgStkLnJm22BuJ7VPbYCbnzZ+VGCBJtQWsD6JfCEghU+Xo5w - 9F00BBbC+Ad1KyYQeh5PuSf7xpAMPJYkNUr5Z1LxbpjLluNKvPV54uudMb2eAA== - =Py0R + hF4DKKbvh61jX5USAQdAtrQKlkizW1+RsQPVXe3R/BorjdBkmo5pe5pHaFUd4FMw + SSNFk6hjPg5ycD06VoqSvMguFoxRQeajpZwLPXfH3Nta5Yl0kGK/b5F3OtdrhqMH + 0lwBd80kvdYbzXsY7RC5So5Ob3DdIPf2YVjfYsyXVTIhjgZdJhcxWHON7pn6AlaX + xiPgESiKcUuWaOW4qNewuCIOa0Qv3UY/w+GauzU/CJ+20W/eRSBFbQ4abO3PRQ== + =edxC -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/external/host_vars/status.sops.yaml b/inventories/external/host_vars/status.sops.yaml index a0f634e680..0c26e3b331 100644 --- a/inventories/external/host_vars/status.sops.yaml +++ b/inventories/external/host_vars/status.sops.yaml @@ -7,203 +7,183 @@ sops: - recipient: age1p546j6whqsyfkjuf674lawrnk2ex653fuvwhcwt46gkrspkq59sqzm5y87 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTM2RVZVd4a2hGVU9DaGk5 - ZWo4SEZST2RjNXhlYURNNmxIY0g5YlVwN0J3CjNDelpBdFgzNVYwaFo3ZFJxZHVZ - cGJ4dW9NOGplYXlTY3JUcXhPejR2aTgKLS0tIEh2V1dIWnlpTzA5RWk0QU9pN0Rj - cDkvdk5xeEtab3NRMkZvOWhiL3NXYkkKaJgXAgVIWZcyRuU/Xeq8x5DS6ooO1nEq - m9IsDVssiZRbeOXpvBKCb6Jpr2YA76+mwnzVR0pLipd2WroCz2a99w== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzQWQ2b0tRU0kxNkMyWHNR + WjJvVFRZYmF2NUg2UjlnZGZ4YzlKUU9XeEFnCkcyK1lLZ0krTlNkbE5BYk1sM2RE + emowTmhlS0I0aGVXUWNHbHBoRjVzUlEKLS0tIGszT1hlNFZVU1JVMkpsNG5sT2dj + RzM3TU5lbG9DVUhwaEN5Y0tvNGNpOWsKdvueKzUxGOuInPpeiVQu4rRD67+ua0fc + k7RPrBDQsP9Rs0zy1DNI/1XqQ+jcrl26IzbM6I1MkngzVJ+DSPnUrQ== -----END AGE ENCRYPTED FILE----- lastmodified: "2026-02-09T16:38:36Z" mac: ENC[AES256_GCM,data:tiIGYUJNapNZVrSq4Hsf+rhklUAHNN+cHXz0UCeev4nXJuidUV5qj+5+V2V1Vl46FTG7PPiNoNtL4UVIfepZ2q/hyR6yE0KGx9C/gv4xjS3ufrGTYavNw7K8bZtUCzmo46Lf40HD8K/wYLPuh9elWdnGLhHrhl6qpI2MKcX9u2Y=,iv:FbTY98dAZtH7+jaaZLdI47+ryZm+ZxGXgc6AZRIiGEY=,tag:OeK+BS3WJeXjnWX/er2YzQ==,type:str] pgp: - - created_at: "2026-04-18T22:36:20Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtARAAn5114qnT9tbGPWbV5B8+ivZfJjamlCIUwsAZbKIswq6o - A9eU1Jc7BCI+8u+/L2Y4mpxOArjghTEVxz/7nQyyl7FdLFWU5qZjfCV/FLqRK5QE - 9Si0z2ixDL+CP+yuqtC0KvBUsi0dUml63KXmvHftRto73PnSgza9DMO1oRjq0VLc - 5CsHkHH1ibdY5DEjmN6auzehaZ/ymbGLZoD0EwM7cz+cVkop5dl7xth7CQQMo0Ku - yqyQm77WwQGhhBUy+4kN6rxXAxbGT6aTqYgWM4CMw6F7Zo0qaSDCC4aIJZ9BKpcj - D3ENqdLBmgl0c7HT+PQ5RXh2GvQPJZ9OF+BmcUrMBW4Y15k+/U6DScXw+oTUqZ1w - mSaHG4pZUDXv8+I4jedHLJZ6QipjvyTvrNgleEqyCPpugrdIo7fD4BlKgMRr1VJE - zPE3uUZD+OULu8EKoPf/l+B1n84epQsBogj4Mb9NltpPijg+GWyrphEGGsVWuavo - BkHAjQ00sPT4qJXVVLEV7sMPcbF8hElXYNeVDIAZCypSSA/hCeKflmk9I671gNZ7 - GoAuZbYsACYav2HYRC62px0vaobSi7yxatwaTHdEyxF6Yi2TffF+5lFK6wERv/nw - W2cVacok/yadKsDVo+FAz59PUJxfvwGugNvIIP1/TW5QsMHdMK5zXOW4Cgd+9BPS - XgFfiyGVGYPcsjSKG6XaxbruCFzy/WbhoelctkwKeASfYbXOLcv0LyCJYzbf5MtO - TCN+qYM0eQqFnHC/eTYX/iA/aJ4OyVlpasshl93tuZIGoJzo489+N4GAXwRYH+A= - =N8QF + hQIMAxK/JaB2/SdtARAAj/HLMbs16qF8aHndsBy5TzIHlu/IdmOKfzVrIZekuNbW + +TldPrrfI55vh/Og1SDLHs1DAxyFTSuI7iaZwmvVx92fRJrVfKIYitvgpfq/ce/l + +hoV6VJkFbGfVFuQCXXWL9jGX31G/oVdf+6GQoWDktYZXoAK0FwuoQLjMsTbnyk6 + UfwCCYYJ+/qQimxGtgwkX2rId0gQSMGOoMgcZvwUTC9TrO1O4E4qUW2AgrRP4C4V + 3rXpGp/4vlgACfO7y3gCL7080AX9zMpy7h2LZPnfDOyAepq7k9g9J3wPs1wOMTw9 + Zl4pk/T8JmTbGaFChuzdltFPBfKULzF6GMitORtgctsd1quxTK83AP3YBKSVpvSc + rFGeGsgPKo8vwvzco5mKf/0TZL6I452HMDuhplERTYC/Upj4bBqCZhoEfCYRB6sc + k7Vg5By15v06sDooG6aOi4NB79nMtCWmGeNn5DGxKB/YJj/CpgkiweJ0JowmdrCL + JY1Dpyrd9oMnt67QVFRg4fyfG/DIdV4bRN6QuCZWLNOxu3bWkQZIC3WSzzCcXxIV + CChIWCMU9fkvv90DOPNspz5b1xQOQN7roLtL6s+/Bqp/AlMSX8krd2f9bEGkdU/q + TbGSf/BPgNeOFLL0JhYDkWJwX4afERqkLLEUTTJP1ABC1yxBUGahEctI5p47awXS + XgGrOqsl6qx6WuPDfkdf6ntbF1uZ0ZpE1fysWPmmO2gg7vWT5iFIuvmb9sXUzhaW + dldzQwwiSGkI+7AxqJJK3qXYz36BTopZR+YyoXMivpHSZr+lRC/1XMEPNFAn67c= + =l9+H -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-04-18T22:36:20Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQgAjbLRj+M+NoFhUzQb9dQ9uCM1LMatORtFNyvyllOtqgOn - YHfqn4xRBQ85X6YxtQYfs9eLvCx4lz/Ab44MXk7hSuIOIjpEji495nXTeGYYC2eu - PryAc1ZU3NUZbTmWzHAaylSCyDk/nLPjDDhPV4jLJ0fCed4gqdXrz4QTkrCCSrNs - d6UOIX8wNYsSuSlYO4ZNpltJTkkAdozbFObJgF7vRZgCJnX0NfnBdxA09/110/pa - GRihz+zJFu8EWjFQC4363T3LT7ZQezd534zCKcpVhYiFBEI9WX2AWyeskFcrvnu/ - JmzvCiY51WamG9e1iDFC8AGTBSZcT7sOGa61hGBpudJeARBIX7jYN/dTJWvcIrNe - dxneC8ktxgqJCER/GC3XLPebGM8JyoXZ2TFJ4GOdCtnFnIdelnypiCMgcsU/Yplz - Ka3YWw/r4KoDRYha7bmUTrLKukeJvsghPCZK9C2a8A== - =GJil + hQEMA1QflAioE8i3AQf+KZp5tN3hA27P//WNVciMzdielmDJ67k18ru+dqKZi6T/ + Fvp5CO3pY7kUHwbD9OVDME215IJuS35ZGFSyLt3jI4NFzH6jdVIAm/SRg+knhTfN + pKT5BxCci2sIelLOQGFbeMNoPnUa5woIRJkIZDytBdV7McN+/E+ZkryipdGzraq8 + /T2jVTxn2txb9OJ3gfK9v8TPp9ZasSaGcdkcqTTHlPTwKOjPQHzqIXORW8LDvtLw + X6wjYazQtOqV/tRhEgcloJ86RsAI9YYlxnvYFXVAhrelDgGN9rky4qKYog4Z1wKh + xTfAKHKZi4Au2fHQgF/WGDTlPG0rHRkScZiEXGQiXNJeAXKoCb17khBcrcqyqhTs + eDbeZcwRJDW6/i8fj8iEwvu2Vej17t7xAHCFojdLAWksPVA8YVLPrphkSoGLIVNF + ko+HhVbKGzOE3/taY75Bw/lBs072U8hJHdHdKADS/Q== + =FNiH -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-04-18T22:36:20Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ//Va7Fp4tnSg79kJQ263ANBEeQ8POgWEuORPashgm4D1Tz - A6rW1n07ByPOkEtebjiLztRR3C+r+RQ/bdYkxAY2X3kQNK/F3ZJvquM4MkFrG5Hl - RVNUlwkgP2wqfUb2BIJKQxA1YatJbJPCkdPZPJ4b1bRG+OJ6a709h80y1DLdfXir - MugNwXkenySOgEDo3tV4q+hyT3fwAmB7H1pIub16UTWj7exSLinJ8UlUW/+GmRLJ - YEbGu5CRXBCWNt/bDZGFeBFEINBBjHMG1tw8bR16LtOHBXV+inv3K6As9u8ZJDKs - d5YEL2mXrz6AdLJNPSRv42n0EjK0YoEQffuM/vX4Orwt/kSciPveN+58k9WpL0nK - RpET+v2eexm9Kk9vIvxH/GnR3CXEog/lpFn9RAHPbkVkmU7m5FNmYlHtUUQSBCtU - OLMIluI64EBEC3N5Asz1QMpCr3+f/pQqPWYtkCb38WeYJbUleIz5Tj2sFz0cdTlw - OVqw4xbWCYgmF3qIeoGyKlzzDg7UWe4bMVYd8K2ED7FrJc9AyBo3FD04KULgnPfW - xk6xVxbQpNdltLw261Ll1etZIaShiRuXyLtd7ahNH8xXLxT8OxYkSdX3V7EMhM5s - 5frdP6GlmTl0sWOD5HvJrtRyvLuzTZolT9mOfvDE8FL36UVqepLogtM6RwKR9cPS - XgFA1aCr4qG9TFzilC+GfUeLmTCNbfJtlQe/8uol6IVoHFKm30Cz/cC5SSBh1PO5 - M0/yA3l4IoAcgYLuNX1OzNZczanNQegsj+MzZ6Ky1N9+rsYEvV1fBhAA8rsm2Nc= - =+ZLf + hQIMAz5uSgHG2iMJAQ//QSk4oPKr0WXExe2Xf0NUrvwdMxjcyPy7DfjxUIHcydhE + ngNJQeA+SHOltRAjdqsUWig8n9oifylgHINMGYl2GY/l/ail5T3jwGIkc78yq3XQ + M/oxFKUxpYdcOR55+nSAX6PrDcFWHUD1EnfZrE9G+NQE3LewkTn/hGozmCvoHTB/ + 5Qkd51clqWLfMe+8x737r/fcdC7W1CxL/EEBXONKfZUvmYQCIkv00S1ix7xBoNMV + h7LXLGawPf4RAEsMSOEzESbk+GTR1ccDiCz7dhDnx0pYZjB7UlPZurM2oti/KzrC + Kwn2GNCIJ4la7zj4fEzN7WiOamOkDQN29PM02wh3Xjt17Y97ZtuovV34XZkAeDIi + E+pfZAV1o2B+dSs1PZO83+qCB/oZznn5w/oHCP30gy7PNq8YaqfIVuFuxLc0WG8D + zJ75PKeRTpjPWFvP6jHGM1l7YpqVu0f1pJKUis3wsn/7Q9n7Ib/Ljh7JfiuINCP3 + D83TB3Xvs2xkQBddk1aAyFpnT0xkxeuMwustp76OqvfvNJEr4LKMuKkAOwiAAWd9 + JghLhHtzscYxG4Su+ia6lOEDnPEJ/j5mleXpgeub98Zph0x1ifVYaVf+xI0AWcai + rAruapjYSWIU5xkhK0YnGW6k2x0GV4mcci1M/qkanknjVxPh0GqKvXVCG4QWgKPS + XgHSCyLXMFLd+T9qPJAwOafCBj9eUug5mHb8/4czuZjREbijRHlVoGlcvpk7YaAp + Ma1DlZSKZQX66+UPwqaZdK6f0YunX2d5rp+CPTcPwMHLsU5uEItiEeGc9DGm/No= + =oOIN -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-04-18T22:36:20Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DsZXvxFXTXoQSAQdA1R6uwYhj5MM722b4XMgwVJSvxv7cWjIaPzrDWavwNzgw - oqS6vLoOXqZ9oJt7I9K+jGzQgHbxrlazglynpdJD1WfXJipcWuFRJqVR6+HmkQy/ - 0l4BKPgATg8lN+vcqwq+Gj0fwQxHA2RRp1h4HMZepOk2DzByzwkOt7+R+3McRYVf - fdeqFapHFut95ECzR35TpzB/2Q+2dIsxaSF8aBPeIQLSFqO5ha/JQ1l9VQAaHEJo - =r8PP + hF4DsZXvxFXTXoQSAQdAw4Zr3iqbJz4aHBRW2FZWZ9UGbFx4cXnMqyl0evvbnFMw + 6KHTv9/1TX3jOFMtRUtIqipxjAC4nCtWVmgNa9ATMQFiWHkXUxKOoSMuYhXaKiYp + 0l4BVyrI021yv4v4Xkr6vaMVVzEPPo9egJb4CjzRZ3yBw8sKJehjmcef1abt+exZ + rAbAocaSY2R68FpE1z6BPJPCnxb4bm6fKbh9tOs7FT7j8jg6dJzPRPsjgAlxgmpo + =drt1 -----END PGP MESSAGE----- fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - - created_at: "2026-04-18T22:36:20Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAIZ9BJ7h9tElSjOm5BzHKXPo9qrARsH2zg3Ymg8oY8Ucw - sL1Z5Mqt/bApgTIO2DvgBnKv7JPMY5lRdg9CbfJMHZPf/L54w7KWRLN0PAinWD4A - 0l4BX1RIiCwCdHpyEv7Ds4A///p2/O0xRvwcgigmIPBYa5sGfgTtdiATL+u8nwTx - VpzlugfAx/yANHaLRinXEsKQ32b47+4wF1nbar678adELcLzxHUsWgLKCDamkCJt - =smQV + hF4DerEtaFuTeewSAQdAGEd6UHwiek/MlJBBKENCkxoeLKBzE2+Q+hrLl8WdiFww + uhGp/2nN9a12Wh2+C5J44oXyneYXidXmAZotOJQP8j39a7GIc6xWBwTY4a+s7CGG + 0l4B7JLWs4P50521Zst1RyVnGl4BLm5IzdS37FbabvloF8V1wqRP1AL6qedgxGdh + G/jUSy98Js7DzWSgj3OeITGNqKnoPIWgmxWprBaQLuFf89Mr5L7ZWe7JrHAmDMRT + =jua6 -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-04-18T22:36:20Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/7BW0eMhspySji3RJWlsCI5Qi7KwwiQIVpGADuQ3l8VN3M - XU3bbvLh9C7tUAwpADCFiyIoUwaVth3UpgzhB9zGDV9N5O8SiOeO5ilrksIwTz3k - L4hsQSbLe+3YTKe+RZEHBi5veJLLrs4Lvn3pnFjDHkCs4JkXyTQUG+L7HYGlzxJv - GOUFzccHBCMIco8UlEE2tuwGp5EcVozp19qCiOY8cJAYYBUsAREk9m0vVSjzdmZI - VVSzihilJqy4tpuRwjmqx1XDtN9KnhKMciZL17f4B5n/tjpi+5XwkSLgBhZOpa6v - I0otI6trXyb4xHdZ/axrP13Ua4FE9qCCnW1IUm5d3b453YId4OxYqd/9qchqctDE - ZawrN4kEH6cfM62oO2FCTawLH7CEwus7aYo8hMyaG+LYycrG6qoSlu3RYqrhUU6P - rKzcgBxGANapbJP8O93onTs/6pI5fJAgMJ0pCIhthUZoW+wv5rde8vcp2477F2Jk - bJ6/JKi47lfeHqoTB97o4wVduRIrHGt15QS9bh4ORGBgHvvpPsm1XrzIrIGSSFqT - bFOLR6OwfqVtkWFN/tx8TCUyzan8R1LzzjuefWuplQhraZeNdfqzZ+dvoOU5QbAu - 10KtQIBY8B/eFqPZZ+EufdRyo7PIBzFJdARs9RcHnPGqQ53hDyrAvTrdbGYOnpPS - XgE0ekVKPwx7nTP51YuURudZzp885K+nkHCza9/nVtcljo8+KbzHxp9XshKd0oXd - a8ozzxwcIuqu5VfIZgGsMqCgyN8UROtv4uWOfNiF2qWj8t49lhKssuX5/bfOus8= - =z/AL + hQIMAxjNhCKPP69fARAAp9hsTo6NbndQqPFJLtjfj1PkfCokZkKyhaUuxSO5F87n + jAJIGmujJTxML89TaBcJ4PqrPkuix7/sBQJ1NzF0+N1xSFfDUlwGPOJf1LvXn1Yg + aGd0J8bWXUSmpRzeseCZppy+yLiojBPIXKM9QkIFfQbah8IJ/BcpFwwxtBvL9/1p + VjFXhOfI4aHfsDg4b2HJbTX6SruGSY+P4TJBf8zfLuPEYGtvd/qorPhswtN5OXQO + A9aqt2APw/1q2Z18O2ux7YIgNoXM302q+QsJyDaKZWBJaaiWJJShwWO8hdvLPGCT + mOLThmOXfGhwi3ouMgX8jUJiyJwrP6N8dPKy5GSnimpavlxl2Qs10QZ7A6rwms3J + 5m5kxydZ+d5cTcRpnL8UookFCZ2XOgdilnmRF2adfZ2ioPdg57KhCTfoayB6RuJr + 3coS6phQdEG3z01Q80aRVUXrMf9xudpUG/xrxw0ScqpLG4F2HOPI3Q6c/FY0+1DL + tRxR6y0xKS3K+sRhGMkloMhgr4GwHH2mVmS9Az3dDxFAAUJTq535+/ifLSF1Tyjv + 8jR4mEXyS8Mms+SmEFeUJswdQOwVEA234m0Npks76xcRQUiiKTfT8E+PLAGMn2Ts + FZUkQ840hAR8Jm0jayhCsXG+s8ectII/O84wyorZTrnYM8eg/ey3sb+wJeP5G8nS + XgGXOlTDcIQDQ0o5r/WRNn56lFYFvt+7zRDZSYRtqqa7uAK9dl94z9s7SIs1g82l + SzZXvmsu79XVhr53TlFj9H8KRGUD0Af4fXgXKvlGO3SFVyQGsiyXkPt71FLGLIs= + =9xrM -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-04-18T22:36:20Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ/+Ko/cnSfwttWCWGvhF5s7B9mRylNN5tE0Lr6dXborUH6p - ec4rtRWjLjsYhhSYGXNOY1vzh/on36FqFv5bP/fQ9/syMqjBFbhkuAvQs1R14+IF - MHR+H+Blb40r2okQ9YHmLN4gQUw+RDybFFy8L+NOTk0j9HhzQEEz96pVAU3GQboP - 8vBYXLa8rIaePNocRGoskKznQJBWCZRcCfkPB2/4gUBqPzRHXBKY7rFsyOQF6cBM - NT9RFM7kubNmOaxJlo7YeSM4chKBM3kiFiVr/AW9G+Ul0F6oyNnl+PYK++MHcX+a - /IhUHkpIwVc9OvtufIcyPKhhI5CykZko90W2Q+5WLU8BEirbOsAMcXglUvE+Begf - JCPV0geyAAwSDdOWR1oHWiYR51tDxh3XLnw6Gi2ZZvmt0yCn1EL2uRH3stRn1GB8 - E9iyEal7RyqwjSX1FKUwDUNQ6j+YKH2DcguQYXtP/ljIfqJJcJdSgN09JpHBLAhG - OhE1bD0oIx+hurpv+B39tzJc6i+JDO7ZMuQqRh/MNp8o0Xs2L68zFtS1ATYBR2aR - qSf8Kc9CX/TaST4S5E0kTHogxn3QfmgEMS/oP+FZI4Mz7i+VZ28QBY+Ivun/A5DK - GSAA87iohadaq+21DzPh+h5ooOYM7z/FdgMxD5we0LWuX6XcXZrTah+0uVMZ3ALS - XgGYLaxPsLBLq3InMfhqEtVAKgKUrOJikMImO3G70kDjdAKLgubEqg3YZS8JyuxD - nKmT3NWzh52Aiz54PdVuyS1d6crJhu4oYCJ6N4hq3HRVtxKoMZ2Ww4cAHsn8TvQ= - =DxOn - -----END PGP MESSAGE----- - fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-04-18T22:36:20Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQIMA46L6MuPqfJqARAAlk28NQue189AOuWhSXAWZLC6DBE6Y+tVCt0q4Cruhkla - huGTae5B9HHSSDr4El+ebAjfDQODD5tXsQZubRzIlhKoY6lTNS+RkaP+d5949bH+ - lmeOlKwux67WnJlnxL0asxBVHOLT0i5yQEUqSDf7aDnnrOGwS1tSCwYMuSmzgPlH - 95gCEVI3sP8jB/pUkc6gGbERNCuOaBvF4u73/8RzJsI9WSaWxvj3sUSkhKSwSfn8 - Qb33zPKrEAuNvPj5ARGidrVG/L22tA8ThBjgSUhQ6pliVuUP72Ox9h7ahSmdT54Y - lnXAyuz9UHyCgGQ/mhcqnzhWQKk+svYYGe3FyFejGcDyltoJ+e+MBFRVYm/nG4Zn - 35dITtyo0Kbnjt/MnQlgWJtjSjULf3BGZeXCU1SoPENQ72cCstbTAvSH3hIfxQSp - kYltjpBMLpKWKT93FWQg6ZvyID/I+7fUD/6EWznzTUJv1wqSShc3e9gCSdPUM4ab - AkIvQlqzvY1i4TLcQrKUQ5dwxNsAVTpbeuwjGv4U52sTndYcB7/8RIsSkenPLMxb - vLJY7kSPHraltITnqs5UPkbHw6klkrsfJYG0AQA640woXageGfqdJyjcksx+dO0C - QSYLd1+wmR4lQtlL/+7rtmmCdJYR5wJUoLsjLNkQiO7mSrhhZQi+Y1LgSApsmrPS - XgHYlyvRJFqn2hp27Kek6X1ID1B0IOArNFFBwSi88cp9J0ImV9B+h0Vfj6Mx5Ywt - EAd/uXP9u0W1cdUnrv2hYBOc6UT2XErwaSEZHFb1w29YM8HyHEhMnVskv8jTBmo= - =0xQ3 + hQIMA46L6MuPqfJqAQ/+IDllGvzH7lCJgzWhT21SZFFdybLjZ/2dITTaRkMchZAD + zGW3SSpLXEvIQ+fL3MbfjJ2l+ibcCKPMO8k6Icaq6xMXZHCEj9QL04lu+wnUnJh4 + RjSeaeVFnnHroUbsLi3kHlqquNYrvfqsgpMBwsNjQLEC2o2ztZQ7AsV8gXw8QB7/ + 1dZlvKWl3nOm6wmPkoWDBlnYeW9Mk5uHS++o6YbM/Jy8LBSXp2aF+7u512gVkbXo + mf0bvx48X5Zh1XVEtoCGzzDUTZ7SvMi5bFj1PfPChhVedLfJfm/rLIL94h6Q3v/e + KFfZ65RrgGH9s8CCqCNBqOalJ/4HvpUvhroi5IWnmGObSKc09oxR0Lz6297gWUfM + q9nSzwVGnSWfa4Tb7dvlhtIr9wg1EVooqpiYElih4bGTpw1leXhdnbhtzq8Nfu+v + Qak3QXrV7SandA7+VNL39DgbWoKgQEzufqAQz00xXwv8lzN3UlXPwHFbhU3AqudO + zDD25Z3bSwqsa6FP22NGjRMJmaROIQv/AodX/sZn1XKCs5lZRq9CJhU7uDjF4vou + SBlyXpGBCPo/JqwpjGbB/Inyyu+C7jyw0i6gK2p/R4nyBSZXRfnb+BHlCXYIzSDa + oca4JDkycQeXOkILlAJknJ1e0PnfLcVjJQhdJOqXuAzXSLhhgvKhQC1UIIfKAhbS + XgEk4MmRajagsh4OM12Q9SXcGCDgxgRwUaKQUIHjCYQ3bwppIzU+tE1zE+6LQIiu + z3Wok3s/oJLEvJqW8JC6ofwU56bOq45z6UPzhCUR3aOf5os5mGZEnWwy2FyOJBA= + =U2DM -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-04-18T22:36:20Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAO5W1ZgLQs+eTvnqc5wPLzXivXmY/isHz2QRGDGubOEMw - ltvpvDqxerzdVwQlpd9zSplVxarhjjZmft/HAWYM0DtAZxyuKdXXbZPb20WGFiiv - 0l4BWmGTVWLFHjPzhDmJBeQeW/inWpdKldR+gJWwxOMEspuXqDKAHNoAoP6jObeW - kIFlVmO0FwMHSGhAdN3v9dfgA3VpuYTNwKa2l8cazmDwZ4OTSDMxkRky0/6ZUUGt - =cnA9 + hF4DQrf1tCqiJxoSAQdATl5wZyUW0v5jbZfuJTvkVlg9HF/Zs3RjHkgGQNWvpQYw + MC15myPIrNvyg2VMRxgFlnyGQ7idC1Lrb4X+cPd4x5vDtetRQD1k48fsr31X5l3T + 0l4BPlgPVpSnBHWmcBFZe66RQZV6O6KRxAouwYXDA5/qu6vGSX4+iNeV91W2VTN9 + e4sxLDHsW6SHzUYsr9rQnCvN0U8TKPdxtEZe5qQqHqD+jSiZrTVcQrkpYoqyctZi + =UERD -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-04-18T22:36:20Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAAiGdDnmv5fHW4HB7TkntTQqS9L+Gb9YDY5ipB1am7TMw - GbcAwQdnOYXCjJaOz/gncSMCHRZ4v4mrjD3FRV7m6MPt5u8E38JwHYPx697nNf6O - 0lgBo5HUIpWXQeQTbnM2G2eQZhIce08YVWmopd5Rjl+BKsXeXFpzY1J0Lk38b2VA - WgriGAnGwc9U5QNEIWBckvY+JR/9fu+f7V8Y5STFYFaoBlVFoSVq/DqS - =0CyM + hF4DzAGzViGx4qcSAQdAj4IeOVOvIjnFY62Mu8F+LTRjVtBgBxCX55jllLx27AAw + Hmg9eXiBDtNkJ0bQbWv8cePP3XLpXXSL5CtC0qM+ujQVgDYeliHBzdoPGFukIQzp + 0lgBSUpO0gNGr1/H0JzWMSqH84ZescLyDc9G64ENYPPbEI9rvGs4uZOWOLf7R+/J + ryDRe2mGSZSQ1RERwARRc+f0z0NwlVAqL/Hn1wcZkKX6vhGMGP6Oa/qP + =+hUR -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-04-18T22:36:20Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ/9GibUZjEdLKnzrkpdXsg33Bj4OhdEQXWfSiNs8CHBOCxY - Rm8Py/a+COA05eX+ENWwVyKnnSflqy/TNMACfM8eKDWiCdlpwPks++vq+6dom1E0 - ulmv3ANuu9TZe3WRE0p1Gvv18aFhVif2sSWL5g+RQmF2NaPB8N/FrotYhB9T8/PT - LRz3PAbOwIsW5YLduzoSwycs7tcB7jZtWMm0zC6ZdCDsQbcVEUrL8FSnqmCfq8dN - TMUtF1AaBNZwfk6VrYzvjfPRUYS4FHAuivU0EpSFE0JzmwhrzsaUSarR2M5L4ltI - 9O0qSTagaHxbLsAnYm5OFjB8vE+FCqHh9b8VOIllpkPIrhElbYFDS4+HZYISrM8l - RLb8MGGRlyf1viC2xNZ5F6XKJBV7ZSxxuebeZgEp2IIi99sNwZ4n+1kG3dQdwUny - ug3A3WUd8bOmXxz+vVV+y+vFvTP9+QoSCoJOHsU+F4nOjga29BhUVQvLOgjJdidQ - t16uCLQ0E1ddxVygBEkuuX+mdcS1Y0wqNiFoVV8zPCNlVO9l2FHYnAGOjYFaxRvT - j3KmuFGvXtVqlxb0+piWXm7Ka1TI0Vr0y0xC4z1LilH1f/UEAJHu8dRYQnjApK/I - j2kYSU0VyaF60TmNLZw0oaGMqlTtQf6PoMB8QyxTLyQvtKpa1oreSmy0fYceTmDS - XgEFk5SDn26ZYIzlOrJKxZnjXDbK1/cjFlN6qCY+ct1iJAMDNHcXgDwEkEwnwmx0 - FrjqPNwJcLzjrgHmdYdaIPu0n8MG8dNtRzyOeRunDnQoTXbqs2lHpAGzlfMKdbQ= - =1fUM + hQIMA2pVdGTIrZI+ARAAxeuwAP2oTfCTCRWSn11I+rhZwuMtjumv7Osgr0JmJ425 + g1dfrqca5WgWUxOJ6gXNhu5sWYDYVfOUE29GyVLi3U41rFivn2NDIvkeMYOfsQyK + pMuanaXC3RbO5Ca/lmNAHnxA7zUK3hUea2Ok8hj0e5guXiZHGs7GdcckX7QIozCl + Z1wsLB3Xc/K9ESy1SxiNWL1wWivlSxk4lesPKeYKW296JxY8q6sbhYxRlPoKamwp + DJnyLt1RzjR2tSFBkeprUrK5Xd2PXeI7nsCD97vmOMWc+PQhksMIzNnnSyFdkMAq + v++NIwOmUJmoPlLf+QqelWCDlpcgANFr2tH18RnBKxBIieoTioYbf0EQcsc0pf9N + J64m+c0nwIvWFYTDHRHzBAtKW6CdhNTbBUpOMMbBHwLRU9SHNgXwzTL/CgIF1CRU + jsmA7RZLy3V5xvSPDY12eS8VUi+QF2VuQcEDSoteEzMYYR9MN7fHHr4ioKVYKlFd + bKYm81HEn7t2/XjB6MSthJCx5YSuimeKeUOByDW3lLPavAL1nDxb/zxMPQ4cy36t + ZIPOyAknE22iKkkYQBeLq0wIJ68Yl5Mh2oZ7g5WI1ab/w43xdjhFQhRaCnlE/F3O + TWqnLrdV/ih0//icIiotJBThW7WGE0i8tvP33u2ngxE88M83dgIaU33w64v028bS + XgHO/JBHSzPjnTHtHVgFop1RYKcf6UImEIsl3QI8ah8kHLTpe1F43sXrtPK+ZDbI + 23qwoRpIbuCXc6g2e4LlFrfETZpzGdoI6B/KsKqM4HH1oQk+PxZfARE2A++BAe8= + =adtT -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-04-18T22:36:20Z" + - created_at: "2026-05-20T02:08:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdALa1gL5iUjPCN5tuz7/5/I2DTQdqOlgUiRvfVZB/JuQUw - tslKnCvbCj3jrxiH5NHAzcdk/C6uk54M9jIuHOzqqzeABbiT6tcVXHVtrE0t5DzY - 0l4B+W7OGU30pTvlJ+O082ajMpABvAgYM9TnSwXdWmB2jP5GvOdnjR6eqGfxTW5q - 6ksRm/v0RNlnkiAYIosaFi+EY9QJ6T9t7Ia5ZB9gOectl1S10yKrQuMlK7/cyiCG - =6xVU + hF4DKKbvh61jX5USAQdAj63diervmiO25imsWvwV0nPk9F/YH8mf6viXJYsBd3cw + BXOpWfzD+sR+DtUzWZscp/eXDY4I9tsmfUA545A2/3T1US4WQfGSU1wiPjB/pfps + 0l4BZe6L1O+yXx2Ia7dbHk95WmLA1XjWmKPvT+j6eFtGLBIqa4SZZIuk1z9Mh6eW + RTj44GVND03UN8Z7cJhJQG0dX+Zfme85VTQwr7QRviPt0pRotnHRolwMzWOHDOxt + =R/9G -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/z9/group_vars/all.sops.yaml b/inventories/z9/group_vars/all.sops.yaml index 9c4c74ae00..81f6ce7310 100644 --- a/inventories/z9/group_vars/all.sops.yaml +++ b/inventories/z9/group_vars/all.sops.yaml @@ -5,230 +5,210 @@ sops: - recipient: age1j0876shgsn7f2thxh9kx9x5uwnh45z6sy2jlk2qz5jhgedm26g5srn9kax enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBoTEVJaENCeEh1STVTZ2FR - OXUxYmFNTXBCeXFqb2F4Y21Tbm1wZzAzTTBzCjBlc3dEOEw4aTIwaGR5eHM2V1VT - aDA3Q1AzNUtOeDNsOGFvZ0hrUHQxTTQKLS0tICthNWlkZmM4ajAwamtzUG1CRFpm - SlFVQjVYcEdlazA2SzYwYUdYOXdEejQKgyrSI2JbsnhYw8sa5+cwIoBXyle4L1PP - lscbg4yrkSHkTKbG2NxyVJQICe9VnU9H6ZckQ1qzzMy3zWV/q6/N2Q== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1VWJQWnBhcDc3VXh3TnMy + RFljQU0vNS9iY3AvTWFraUxneHIremlDeUZvCmdzd0twWHZEdTZSbHpLbEpRRDNX + aGI4ZlczN0tFbC94TzJ4bm9aUjkwcVEKLS0tIHRGSGdkQkN6ZEVTUjl1cGhMZzVI + S2FtSktoWmF2TjZCZnNlYWpWYzQ4MzQKeK7f+UPSanQsOIXNjzZa9B5FafNFsN3W + sjssDdbNQ1OEn2CLWRVQl1umKrADuvd85fMu3gUZrycZRDCCfsBzVg== -----END AGE ENCRYPTED FILE----- - recipient: age1llkxtfx4dgnezmukj4ganx4ql9k4ga4ca9zuanf5r568jfp8peeqal490q enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBNRnd4WkR1bHRvMndKTyt1 - MjBLcjQvalV3bmpWVFV4allRZ0lSZytPUm5zCi8renY4OTlLcGxMd294eGdYaEQ1 - d3hQWURJcDdZRFVEN1Y5SVpGTy9PUkEKLS0tIDhJNGM4US84TkVwOXYwRDhsWWtq - TFhiTE5uTVZkQXdIQ0RGS1NQN2ZGUFkKUmZ0QtaJnCsI69c7ziSRyLzkkVkkSLkK - 1sBdw/JbGmmx0FSVXwGWVQNq5r6KyVC51tdhcRzUhFAA/WOgBybwrA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBkSmVEVyt3OCtvUUNqV2FR + QW5WaDBFcnZVMTV3QWdSLzhxRENCdGNaVFU0CmxqM0xIWUVCSUwvY1pBVjQ0RCtq + T0psSG84VWdpY1dYa2doeFZXd2RKNVEKLS0tIGNFeDFRYzBDN3NWcnpUSVhEWitY + RXhLRkp3ajdlNGY4R3hRcWVSUU04T0UKdprDhBpp0aMc733Wx/K7hS/nLVohvlft + N9aSQdcRoqT3/iMGu/6xdqbeq0/7a/U+6JvhYyWLkLsrzw2mlVRoIw== -----END AGE ENCRYPTED FILE----- - recipient: age197tmckjll9999v5apqh5h70dktdxzxn92uyzce5j7jmesvnneecs9p7m5j enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB4Sm1yUHAzdEhWQUxDNDhm - RmVoRU5GNXNvUWJUdzlkZitzQTdHWGI2bm00CmZoanNTSXdQaWlHcGxRRU1XNlpx - bEx3OWRvdzR6UG1jQ1pNaWZNT1BqaE0KLS0tIHpPVkkvS3lCYTVLSUUzdDZWQjd5 - TGNQaGwzdU0vbUhyZXVDeEZnWmVla28KTtuenG9UpTh3Y/kou1IVBniCsQtKIl7k - cQ5TiuOUfarN3ixdcl5FTcRWm2tjEKtGdDN+wnc0X8jadzFKqGAM/w== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQWWM1WFdidkY4a2hLNm03 + TGdNNE9ZK2lvelhYQndTYy9sUzM4TkN5elRZClJwQU1qeCtwUlFzeVE2d0FSSCsz + WTdzQWZLYXpqUHcxc3VEWHZvNmZibU0KLS0tIElCTWdraXRLcHNHMjR2eDVxVCta + bHhVdFpOdDB0eUR5d2hhdWJlcmJDMjgKBbVkm7LNwnoUVrUF3NPI7d25b6tAIr1t + HelMjQU5YFM7DvRYFOlNpgO7WmddNSq3C6WYa8AZDGpsjc6GypcLVw== -----END AGE ENCRYPTED FILE----- - recipient: age1yc9s8r7zt6tc7scfyxc3345khdwqrx0lwj4z6yp56h6rmauev50s5yqr22 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBhM3RWcFBUZDRYZW5FRHlQ - N0g4OUE2WFF2WjNGcEdWNmpuZGUzTlFwT3cwClRWZ0lTeWJPdmhsSy9HdEhERmVp - UWc1OUppUnpPVHEwbmVnZUJ5bUJWOHMKLS0tIEtTa0JTclhheDk0eFc5Y2YvZVZG - NUVvWFAyTGF6QXJRRDJaRGZmSnp4bTAK7xRopHydOIAIljImix+B713aS6HyQUvl - YK41pazRRiZcdkxO/U/Uph7KZNsUvzt/flfBvtcuiunQ6yQreCsKuQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzTmRaRXorMzBQZWwyNFp5 + VHdUUElyd1V2dUcvQ3k2STQ0d1QyMytsRG1BCm5CVCtRWU5FVmErQWl2N3Y4QTc1 + Mnh3K01QUnk2MGpSZk1NRVJWUlhFYWMKLS0tIEFOM0pMa3RVNUppS2xOakFVM1lR + cnlBL29XQVlsL1ZCenBIYTQ3S3JxQjQKq09vbn1XOC1jIXDpv+ThFMk9k7SyYknr + MBJRBp/0PrKBo/Xk+RCSWSLjgali5Cc8KTjDTJyBG8rFzzvLIazBRg== -----END AGE ENCRYPTED FILE----- lastmodified: "2026-03-30T19:28:25Z" mac: ENC[AES256_GCM,data:IGai2CmOI46XHekSSpLgQxEGw9zIf7Z10K8eQyi0rJGha5ZOjz9jP1VIhC9m6LjRxOKJuEPV2NvBACC5tBUCGwW1Ym31spcROjjtCzyqRF8E7R02oNMIQ32Byb9ij56/Trl5UOBOML+WOdeaq8r74kEfIyZBCx/tfGENuTlBqd4=,iv:Gjzb/IW6WcRL3c4ShOH46cVed4duTs1BFygYnGd4d4Y=,tag:DZAH6tA92mFP5Yo9b4kmkg==,type:str] pgp: - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:49Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//d7j5cedeEIsXtU6hO5pEUQCBYt0kU2jkcSqFiGbbZXQb - EOgYlGe/eEQH5iExcB7bIxtaPqnun0gNyTDgQDkIxaZQTJ9R7+HmFWKzJva2FXw7 - lIlt4BImAGZdrhJgqWRMB5sFl3f4D9HqapeYBE4r7Ej565DB753sU+YBAPEAzAkn - M785Nx0N+J1nsTHiEo2c00d5qgzvfnigeSfMKYJBPl87AqJ2++oFAFRFeDjn3rqM - QFeQuyApsgf3qUUeYBOSS157/IV/qYKtTZ5mrxT3QgvPNP2H+aR7wxU7OcNXq1NB - vXqZCopHliPnUw74ByeqvOp3Im/Znhl8Ou3TPcmXf2n+zGjFz1SjwWZqiCQalCgZ - QF9BiyZ4eGL03SnOuoxGWpGQox6BZxn6Ed2UO8EWPXGL6eYX2oL7B02lxsWn4SKL - ezXb1EJCSKn1PHRM8vhvwZg7pkBaSpeFfetal6jv267FVGNqm7oIgp4E46EPGKCh - JcZMtsXpkbmwkd9bzstuBpXBQQzP8ljYiAC+yOBuprDmPrS89UDyFHqKcBsVuG/K - 51wbdNbnaHApFhh5/fiaW5nwtnEfeuJdROVj7JkiY+VdvQNIKqw0DzZsV7TkHrbz - GT4WaMlTUX/paRow7m1lU524Ixk5DVeBnBpsDJCxywoSvCWBCYCyJdoL6MCz6CjS - XgHfe4cPyBF+oOyYpogYzVzZp5v4eVJw/i6u1qmyEYMoDCrMJRGvz6bajW9ACyiE - 9OSF4Qkf+YSzhDtSlw2zaiUagANt/fOltSskwkzj76h57nxAmJEY41u8P24W0ow= - =FAjs + hQIMAxK/JaB2/SdtAQ//VIMBtLL8lhncJeItw53fQW4Lia0hs84yuKLuSBucNXhy + x3LT5r21C5CZ+JnucrGPxur4clsLnDnng2CgyWhksJNknk6smQIq3ZhyBd/OJzS4 + zNGUJIbitJsDaKjTrYDCdsQ3KVcRBDMu3ow7vzeP4wnL4qU5fUuQ7S2rK6a1hfMB + eTQmn4wD/Rl+Q0AWEo2V/X8UgchwGPeuOXfju2t9+1UVE0kUJdXw/JIrGyR8XrYM + 6ZGXB3mPnlZTZjqhXVSFSSOUTRYu/0g+s/JuDLpgl8gVP+oDvSCPrB2pDNK+o2Oo + VbQbJMg6lMbIuewd0ZTTeCv/TFU9O51RtkFyxHIEW7dVelDrNkuciAG1mDUHFUUw + MHeWDjngeCzr1hj1Z78P1bvR7I2pqBQiWT+d/e50S5quNRVjtLVEjuU7r1eKiPDu + pL1lYJZZu5+uY1nWE4qeJiI1KambjP9/C+RUCF38yT1wNvxrbwsM9haXGbI3t2cU + X/RRpK5VKKKwbBqyQmkZX7xaDR13hLF2vLtdVw6L9nYVVactfnFr9HKDV95HUnhO + uevmzu+ShtAt9FMXz86dLYmBx90A2BSWxb6sKvZkG8UDY+vVT1K0gNK4kwxR9rKt + LFzCq1a3ftx3UvrNMCwaboGQZLpRtiKr0lNQvGLpH/SRDZ2HksinV16FNVuN74HS + XgG5HnRO9/lkL2Bn+ms7Q6+ki9QmC21FlLGJOBQIi+VHNVwy6J8XQlrs5NZPy6Ib + LmWIV6BdIRejCAITlVeBRBpXymdUBicPLa/VQMK2s9L3SS7MUcv+4j+vje9YR5M= + =IEFm -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:49Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf/ffB4Hg/grUGYu9eXalhufN2eozhxRJzKI4smecTEbv5E - DQDN3F8EQVCo2++lzv+wctBkhGygUSMnxEkvWFdXxmiFOQ24deucGJMHlDUOwH0P - yvzfeuJwhkhjNuQc01D4kYghSlYbdY1DTh5N+oUZlWiAvYJDDKGxKMskqs0J4ekE - f27iBZVVrrRjtvd4qlpM6HibPLLPQrw290hYszZODbvppnrcnObn8A8ZbRYXnicA - HXbcBQ8KqAyRkd7YDb55kBgxmXgAvR65YcWSMwP4CRrbqQ/sMT4bTZP8M4uudebT - 9t911zHqSzuno/syd3cf7xq7xdgk1jHDpt7tcj0Ao9JeAR72JkQaNMszx+VvtsQP - Tah4zJrYEs1nj90H7J0E8v1P8pmLtI/6sOzFKjao9Gyd6fv2bxaFc3V37S3np80U - S6yeRennzcW1siYGNqeqN0C6/4/T1QLP7jEtKRj75Q== - =ho4j + hQEMA1QflAioE8i3AQf7BB0RdJbe8Ro2Fv4Phw+VaR0rUIuQKWOb7zf3/9YCbV2w + rICGVIx7V1vJF5R5RgSfk0RDrLN3Pfoq/7Jfkq6bMoHIVCHSFdryHfjG5Dgm49Xv + gDZ2CPAHPn15mG0Rr/67YUWsC2Jy4y6/JY478wzYu4Og9IkxkeBd6ufBFB6bTn4H + qB7B2hfkyQzA66zoxc0r2O1mchbJ3A4pVJw0v2I/sWCiZoJQKmt8ksoEK8BAQCWC + E8sozb2opRzFaUCZSNEdhz/rnbV8u5wW378kd8kHSOlWxaFZNkWUP42YQiNTkd9/ + YpxxGvwCTIpHGAYFtU7CV7QfQHzTuAOz7ZElPZsYkdJeAZCwUFO24nzwpxYS43AV + 29IHXvlKAQkjJunix0bPGcE3D6T8CUs0wXL2sUSDcvgOOQZSezRn4UNEqFCftjJ4 + Gmldo/baMO2Y054/iA0jvNmHRk6sJCY8aRYv9m5Fqg== + =n7Qb -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:49Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ/8Cgpv50Fz28nwgZruo/ieweugyKPewhvupBEsd1nDVdMI - htPuuoFjxTd8LjeQqFEl3CK4cOrFhG87xjFlYpGyVxXs1hU9u0ezuZuB/b1Y5Z/2 - CJJjdyrJkuqo3X6JHeVezodAE/D28B5ok+efzVgacoD/t7lEWtWd+jvK1pASsn6X - EGYhtF+ld6BC29B44SAyv3U5vEl54BxF9c7TtTGxesmjayELFawJ25KDVH7QgneR - 2edGHbtPkawxal+ubinrHL3XEnPLczrS7Arji6JF+nZqr9pM8p+v1viu8bE8Tm/s - delpKfSI05hiEPKv37ETZqyTzYgO59oeTLe3J72rSmSW15BruzKXQN0HJbFsqPGu - ZhuNmuzB6eeXwX287dcqogyvnecC9XprzJjySRTLy4Eviu3ghrSi739eFrIRaVNE - N0tHJtpTOsY50W16cxVbEmJzPoK/LKesl/giUU1yeXuv3i9NladTpUcH9tWfnZBX - umg1DhOVkG9oLBTQBPlRfLoZXuRFODCiiwoqXWsM8/f9E5dqk5qbfE/nNoIV9/HA - PaxBEwgGdZ1zsK2wCh9Ia7EkjNMyUlU6wa48aoM0M610002rcugKAsQuwZhS7Q0h - k9GROr1BKPdrn4eVCzUkoeZSbS4tUGI+A51SqD5QcqhG6x1jzqBfzT73t7n08yPS - XgGPwTBmcDlJA12uwBBBh7JDIa38blD9TrwynUdUr+U49E/dWJ84JZ/Ea6T41ILF - vYIjmTkFtQs3oJt1sX5tnoJNpxqf6rxATYJzMOHJ3XuYkd2hnMmv5Hdco2/JXuw= - =FNar + hQIMAz5uSgHG2iMJARAA4zyDJtNqK5w6QPYMyEtjuoAmva91yLA4oAU/diRpFXHx + D4UzksW8moYqmaiWblFy1HeQJFwZWrxnXeqg9B7PFOkhriIG7al4DpV2wXoCjami + DIkewGoeZjTbPNxsDVl0SbDafCARQFnQ8LNTmM2hi2X/ACg+c8mSM7eK6C3mh8yG + Bo2EsuCnIqzwzV6XbGCKnfOUh0QekWM7Jc/e3oYGSgCP2N5wb2PLVsW1220qdPvo + 8D1l5cDVj2Pgq7fnfbxZGJYSfdgJb1YweH8mjHk3gHU68AGeeSkV+VwcBGV2HObg + hKSbVWcyGAHrP1ppCNyXr5ZkBgyvdB/EjxjLqTLq7sdTnqjLLbMLgi9CCI0NuDMI + jfgMjOdaImjUvvr8lCl7dOMyp9wc6ks0bwRbfG3AMLGKWeR+un3uaDYujD0bQLqZ + m0g5mx1wHxNCJIb2ZQ6UVjDlnatTYGBnxEupqxr9PFyny0MRhaiYkuDIh4tHW3nH + xyCHN9QIO2/EktLkM4wcfhOeVgdpfvKgT+cMG9kS/yfInZ5ZAGvXznzvfNZZtKDL + fLvvF5AqYbN05c0h56WJa65tIT75P2wI6ZBncCSLqSAzyXWlZFV6UBP+5QLEkQaE + WtY8y2907OAx1v8g6vc5v5oHMqfwfWC4nuFbkoJo/ZbfvtDWq4eFZfkUKY3Au5LS + XgE/l6NTtWknF4nPYIRaibum4527ke053JdD/50eqfuRv8MFIHbRPfWE4lE6lgev + +/j0Ef9sYRu726Sv3wAgT7K6PmCFsLN1319OmjkZpBAJiNsxx9qwXyqgTpTvb34= + =Hr9J -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:49Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DsZXvxFXTXoQSAQdAW06i7F9ciH3jtDcZt1vtqRfgbjtxQ8hXyiv0zbttK2Mw - 0vvbTRMVC+pqjMJ25hODmqrIv6xt3TQKMx49bTA3RxS43qs6zoACBiftsp0xcnb8 - 0l4BoJby2bJE+K6gm8rw+cUjn73wP8csiwnYHzdgjYigjUAhMHnG8ebKiS19LZMw - NWob0yHFEi+85r8CQLcmqvafT7QLYX/ME2IBnzlMTxhVEXHjZOCrLsfXu6tSWUUd - =THCX + hF4DsZXvxFXTXoQSAQdAp7TsXm2MaBAh0qB3eOjtFuegcEsmtdQHsMP0rs0N/m0w + bbbzXLwq1TGL82l5Qon4NnX9Jg5gXnKydWOiKWhxCsQ0iHJ7eupJLxyfDD/kzga+ + 0l4BRUpbBFslWWa8Fb7zfNA7kslhkaQIJAmN92Yh/2NdkpmNEpMMaIrx2p2jK4Iz + mwGUQlUz4ZkK10xy+9LMaAtmLhBJgBhDTKKzw7OAsRAnASq2gXA/4wqEVgBU9BxB + =tBBK -----END PGP MESSAGE----- fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:49Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAZrIA2Mp189PuVr9sfGe7/OUP5vun8Bg4jepI9EQKwjIw - klzfCliYS6jH6gpz8D4yBCIFY+P8q9qH4cIgL9kxNrqOcHPHlHV6bjwqRv1LmMqd - 0l4BWZ6kaMKH6TF1v8TomroTl+PnbqDqLW55BZGFKq2xb9m2PPxJ5rAcfKW4XR7c - OBTqQMpv3v2lsj8aMXPNrtMalc8bV/sBN8tdTOkmXwMiKrjBNZbWk9O6u+qWooTo - =8SxT + hF4DerEtaFuTeewSAQdAlBZhTjLL3YPqorSXq0jet/0CXmeZeLL8inGvm/HgmgIw + aplmjWHB80err0ffZeRfcvqx9DGujpwlgoFGDxjqn4LIqoNg6YK/VfFb9pXUvIOv + 0l4B9xQ4DlaYOX1egCQUBw3KcdcnNlcEZwTOwTKn0Hg3gXp0u3TYlJFZAchw2G+l + XJjlWiwJN2gKfEG7hrtZ7MJkYJFsqMFa1aC1oWHduxU4jmdRdQqdIaQDsqkcqJc3 + =KNVY -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:49Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/9GnCDfxYi44OWGGTWE1Ny3hKX3HfyL5Ti9wJFgAJzWVlY - aHQ9jqL4Ia3rW5L37/VDRoaN0LmKUxZnjbdoJ15De7W4pnu++aWfXe8wNQVfsYVl - nrpnM3yNT1Vl/KQ6I1ADDZwsMsTiUWKvO/0zTJxiZHzid6ZcqLgK4MJXOHdtTAsB - bhox0GyHb3QRSn+ic9F8WF7iemfibYcMf/ztUHFemarQB89MNxJueDEoIKFKEZ/d - YGnynJjCJBWKumD2zBmnDIk30bSmAexZGzDyb2wu92Zxgn3qWxsfLZV6R+qSflu6 - Z0ZlzFXuo6zBKo7hgYvqwKI0XlC8Lz47y8sxgy40XYGES0LTNj23ndvC3Kr0G4w+ - BpHZ3ZZjaF/VLGM1ekWZqdpPCuShJj/qlTlLqnHHWxrzerJiwgvGm6hPoVzQs2m2 - ehG+fNxboLRF0ys2ho1YpHsOU52RpNi3K9/41Z0UnsPURUDjBOPkz7JFd7xRqxJs - 7NjrR/ocbQEyM0JGNmx7FegTl2vJ31+D51fY2KdxPZ4Z+WUJh8MtdeOm8YpGrUkq - VTPmskWs7wU3NMnMpyP/D1aN34632GKnXqFv/9n2IYG+6FZEVTCOhhp0KGZg/fQU - S5kzYc0E/jVTkACUtpPsx+5ZNEPvpOxpYRNfQ1K+lswY8/nT/nLJjMz6kAkYRFPS - XgExvHe+Xs52MFtGPMCVvTXUpQR2ebfFjUTf59Ys36DMxXf9VmJxciQqJN+9XQYo - SUvQ2RVjJSl5zr3KKREu9tVsy16BqeKXDYo6xOyhF8ftFi9nVs5vGIzKoNtGR3U= - =OiI9 + hQIMAxjNhCKPP69fARAAhSBdgW04fKM8tAU8sC6h8/4e0Io3W/D2l6P7nZiD9WVR + 2pUqS12mlNCoRt1I2empyJ5vm1wjor34BCuSCiyfLQ1WIlBJlDro96ygpsHZGmam + tNcrgwc7y6rg4ycqUWr+H+WVZ0kw1IYYKbfAjMAJF5lQqzz+VMvET9BbmvA595MO + l/dnMColnjxxBiYBIzO7mnli+uqRHB79rM2VVlrqoT+C2s9zuPfpJfY0PJaCbbdg + BlffAMqs9m2JZdDr2r0lrN/jyLUB2d3l9NCcF6UYP6tjgZsKmHv/JxSgXLf6IklE + wolO04qgDRK7jeO2UGEniweVQNi7hqA4vkp2TskGbfVsS10PyLYKw4N19GedLS3c + ZxRGde42Fze/PrccWq8bGdOfWhPBo2/MEyqVW4lgTeCCwrFRO3UNyYcWo7cmaN1q + lz7uaV6ffqbUDJSkjkphvxnJtuX62x9Uv/wcwrJuZUarSNclQ0nQV/e5wc7SzPgM + B+GLeR4tnconDZGFq8q+KKuHe7MSx2uwiZsJIVXohcZwhkd9wk5YQBPc8i4aP0NQ + wsb+QptuM8VpCEVAwKOUjp7IRRfUyqAIlmIRDkTijmHknSmI9HZXPyCvTLoy1Szf + KDrN1MAma6b4gsru1fFnVizXQyZozl5RVZFP2Uv+ndugdvRE5sv5aevlzgaWFg3S + XgFqaFwId78UDNTrxcs4EzjHmlwg4E05G9pUqbA9zBDdCqwlD4+6CfAgQ46A6ptY + 5p2QQJ3KXgJXrtlJySq8piReyq3mpagtWZJfAazovJA/ZF4o/xs9ZIu/q3qxHSE= + =nR8y -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:49Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ/+NNZrV0tLCmDMO1nGofY+7CaG6MLrodXk5IfYVmYcsCdz - 9Fbi2bPYzpadr9pZQA6HHVOoRtFCq03xi7hYPbtuEd9Wseou3G10dFpvovlw7DaQ - vOOuaND3VCDvt3cyLHqXbLROtKXIjtsg0BKwLpcxNOiG4TTA8CluAvDztdq0Rz3h - 8fJjCBTNmCycWsEH2ac2mPtFoWufkRIiKssmRlWTYUHue/UrWcQqmaUA4Tortkt+ - aHOlFeQiFRd3BRRxAoyE6KTxH6xrppk0G+oxSIYslMoqDBoJL3MN/rDjzxBOgtUx - j4ssuk2Gdy8jLm/nrOrBzVO448yqqFaAiqTVrZncBFdofa/Vn5v+UZIH6c9Sxupl - BmcZ08ipUu7lllnF4cygyPjcW4bMcGeRkUsvAoQ7ZqIgYecnm7ZqYE8O2C89BJ6D - BjnYoGN/BjRkVJKhFHztiHNk05r8KqPqXGCfsBiWxtr3kitvX/epsDkbTKalaPw2 - 9zc/CppKTpAtKV9cGC0N/jf9cSgaA7KbVQXAdjm/nTccYeuPO+HBVMEPFdmi/jgb - +i3NebpwWE+wbZB8g6a29gy8a76tdkWxnLmchyHQd2GcULQy75RzlJvqyyTEMeaz - JqQwfbFtLnRDEWDHRDveaQKdzHanydvFqSOK2suVW/O/sGXHG4c3pz+xBL6KkULS - XgEW2jEAkNHdt6vSilNN1UcqHG1Yp65FoHlMQx3190vG7vplWefvYm+cBDmHHbaU - DZHuachsH6cma4wyB2kKVEdZ94kFkfdK0atSwyRGjr77kLztjBTJYICYwBv6neE= - =JsSt - -----END PGP MESSAGE----- - fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-04-18T22:36:25Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQIMA46L6MuPqfJqARAAkp6hRlQ72snEkyBfad5JTLi/DUtQl6Fn7fuKefxrADmk - VNF7I/5YkdGcxz0+85fBmGwUvjOb7sHamMrkHcl59nqkX56LJdcCDcxRHGnz/34l - dZwAO5qKmco0vfCva5IYSzd1kTmK3cVRDChIdfh5eO3vSg6Y7JpNbkqVocT59ygy - +KgGnZ1wPSMaboSMM8ZzesEMe0YqLdjJ3+8NqwO1yLS4YTsJg39l+yBRxskSbIU2 - RPZsTi6q5K+sA9kSK5kmx6nQ9A3fidFgSCuniqlrE6/sgjO47f2kfleTkm86g2Vy - g660E4lNozZRNeAnXR8bDB75BLp9oBr2baiMflP+HfbktObDdaGE2AhDPMB9wBcn - n0Qae9+W9aGPnM+sfU3KMscN2cS5xbvueExvP8i8ZuYt6i2N8LfOd0xO2lM6mZ2b - TxpH1YIh1d6Liu6z8Fv756rdgy03zjdOzIPch21FAaGHjuSfRq6BS8o+dG0QT+20 - jKDFauqLh1FOzyUIFKw9oHt/jS4t6jQgwFcOTZL7H4utx0Y7lsuhtzrAZHK2Jua/ - 1V8MjUn0ABnCWN6o+SKAizOcN8uoXqrae4qH1CwwAj+Qvbgbob8IsTKhPXAB/H1X - ORoBTilugU6Lm6+wM5vkPtfaEaY3n9P72XPrLarvsVHsIwTT3MFYh8JLjfHFiZ3S - XgFT6/lIxH8N1OwrF2BnzFH5X+8laSeuNNfpeaIezXtdUMEHJlgu1arnvkEISgoc - UW2bIhKx03p/kJGpNMJCxkS+4ibbSsbbDAkOi/VUIhTahYvbSWSNxOEmlHVZpFg= - =v86r + hQIMA46L6MuPqfJqARAAjpM3MO83b2EUtzyZs66HWH6Kd60rl3QODTqs4PQm1cH5 + HdzfVJ2IDo1y+FMTMmfJov6xBqnlalNaOvg8XFAkKTUkZgUHRW/q1WXP4FywTWmP + aJV47x4dOQXQgj/i/ykMspUgsxA5049/nG1y06Wsm2agLO3KjL6KIJAx0LI28XPU + qA/NFtfNuEAv7DGS2LGz1+X1hnRYcBX/oUgpihzActWmMORD6VS7xZGcMdF2/+Ex + OCDAnwT0cBSAihBSLTmEMJ4xfmMG228nbLqm9r/gELgVIsIL5hXWz0CtxaewwLQQ + XFMm/ZV/G6bZKRJzKPOR9EcPMF7Z+nnBts9wKNlE+WA32p7zu7hjvEFZhLiDKYlN + +nFcx/rvyWB6sbFK0xn2x5MonxWNVUy58PnqGWmPi2VtXT1al1zSAoKAgg8Xdw21 + PQENtxqeUSLXXb0SZXFptMmYStwqoaFusLOCLW42DogFU246o14veDDtsS619T5G + RrszsNg543i3ra7MIm99YRXyniUaDp5VlKufPkWRexIT5YZYalOLtdLcaTTzfr7J + x4PNVOK2ddtmlKbbakvvmPWS3iBEUGMqw69dPhEdpY8yy7HJ2jpXX7TiezNqGJ9w + XqtI9RJmWrr0/zSoim0EpHDwXZhSf7YVcwTs0XCtwrXcQT6DLaZJr8cny/G1ErLS + XgEdnUqFpB1D0bacmRpfHA3PLZJd/x0QfwZ/b7gzz3f1xRfMXgnsM4iYu1S8+VAW + Dy21iVFZledWfrmuXh/PkLFftLipYK6tc0n922kFFxCn/xSP0yx9qKlNwzyduNI= + =4+Bv -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:49Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdArYagXDCr3oHLgQTACf2vX3iTEOVwUBuVrpQZiytAG1Uw - VhCXUynaRwpnkApou929oDLnAO51KfZjfebCSape8IaDSTP0yV8YGmHxt/IxikfG - 0l4BgH57tlMelZ9cqVr100804EBN+f7P3exaueLJD8UmoAZinoonsvYXYvhv7f/F - jCTtkOIfMmsE55C9ysJLoWoFC/c+zu1QH6d1vbNRaDGYzX7Ve2MYV+UeZzhTIlLf - =wy6a + hF4DQrf1tCqiJxoSAQdActtZQL4KWrCP8UUZa/fLeDltuNV9JjxTYiI9upoH12Qw + 6n8EBLgKKNw1Hsb40u9M5Ro7Xzbys7zwZsL5CxEgFGDBxthtcdaI/ykjU0W3poLE + 0l4BcMpLoCyxxwIn49GpFxHiv84Q9xhouSMmCTe2p3bn5zCRBnKsetVHtEti4iRF + sY9FipGcyiNHfkp8KsWeUxD/j1QUIkGODXt2RqYkO8ltA5QS3kUCPErmWYymEAEu + =RFaD -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:49Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAA296qf948blew35ooV2UXokKtQDFjRHYKw2TLk3S50Uw - 1aNUzjkQmzu3GrO/EKLN81XPUgwbYYaLa9D1C7b8uHPgvWQuu1RMaFq0i9vJvyQC - 0lgBV2CnFWhkFiIWR2ZouUWhv4GZIhU167aowLYMy19FrIrgxJ++/olySBG880GO - pUWh131ahRBdWXsa//NxFAERxBJfFC70REJuyb/0bCjhysFUqg82DemM - =rak3 + hF4DzAGzViGx4qcSAQdAoNdta1fDVjzrPWeSfKrmslkoFi86I2nWplPOli/gFXsw + 2Cx+wmejLlc61RE5sqAaQJc+0ctRezwXzBJbkuqznZ2jWPCK2A1EQ7r3Q7USCCca + 0lgB6XOo0ByOj/W4TrrGn7VmwLvEqIiWCt5zk4BEUSVc62Ffv48dcwL3hsB3HlRw + 6FXyR+2zwyEU5fuddFO4nMi8AXB6cfU6F4ugFgwn92lCgTom7IULY1D7 + =Czq/ -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:49Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAAyjtWa4Elmoj2Gj1yuYxipSUho98L/bleTu5qENIw9NRZ - qmwH9qrAcTWBuFSCxh40e8rPS8ak3CU1oOaEMB/fZIMZ+c3r2iOlf3oVLmH38eIJ - 0mfGBGi4hcbK7OHcr7UTDwQr5KAuH34lKl0KMtn2SPcVp/4Fny1l2yOdlKIPl0AJ - LDbjfwtpZrWviVM3WdQbr1RVgmn8G1BaYeoyd9Bq9mzf86VYX2I20KA9vj9j+nXh - cUzEaiW0jKNNAVoD6dWrLi0HrwyUEDcBIYo0LGoIYjlUjFlhNKJf2yIpmAyJ3Qk9 - u04lVSftTnRKF+lijSKzpPiJCKGB26kWufTOEIWxmiJBNvzKXovlGhyrbdyFvvSD - tpY3nr8sMX1HMuS3K3f8vkPZQJJmfm+43xGAHZbgqKLBCVYeuT+9Li6fka0kIVRZ - odTQjFUhejE7owxzDD6JuHE8ZJ3JsHP1qqcy09C4WN0d1QDivrePJh9XT7bgO8mO - OWIFotCGHYXnxZsGf+CoiYcGKVBbMjZCs9bJAgyh+nwPC2U/OS4+qjot+dbafsvk - H2GgZ75D2VUnAD7bS81jZz08khRy7nSYcsv4jl4i4wL6pu3mcD2FpXHQ69YF4uCT - xyGx4I1DX+c8NPrrHQvIjUHrTmfJkGYWvCLKUbECfotl1C25L+rwlhA+m7Z1U7HS - XgEEB5Ttm6r9BAIuRKpN8R0CDGOaxd0yiwaNJbbpfFqYzO4IpaRCSPl90KDG600+ - 6hm7+Emp6AuSWZ5n5EPNXFiFo5Ja8wgTCvbT+k7pVs6eKeRD/eVPMtTOuHk3lSw= - =B9oq + hQIMA2pVdGTIrZI+AQ/7B7h5br3PMgum71smOTJMBfl4OaxkQAirJeG/z2fjqbAG + l9q62H1cutGKS/IYOFLE0OQaRwmHtkdTkrdmf9yIuAktcdAGAeqwnYW3LwM3t7U1 + nfZRJH5Hi4xcSVVaWHn5mX0QpxzrCye1EIjHvPRx6/bWHD5sW9qnkZAlAvEJS3/K + jdyBLLlK8AITpsX4eeVnmVLZBjbVEXPlXfFCh9PFyqrl+iyBBY9bO2aMzWldbQIr + j1551Xe1wKAOn5SJTg2Mrm5ehBKfH53HY6ubCy9acbv5ZTe6JuStseWordtRNNXY + 9eVmR3MRVoFWgK4Ccb9Qq8l+uEHRuQfG9K7dSnxQIJpHCOAQO9oi3/ykDt9Vgvo6 + WKPpvyuJpWc5Tn+WF1qhz5wDTRX6XY+cUoHkUqZXG0qMTIfMLIAFZ6MuslHU9f6J + PlY0FTnwp5/v9rK/rjXZkfIxKjQtSWZwkZCszZ0WtNVuaY3KO6KYrd9rolFFYjqn + I2xFGnTNZwh3tjG/3INoMwilOkIUNXr18k6FsPqVCAhj1Oo0iNxb3j+3pGJsH9iN + ciTLeM8MsFW9MYXG23i65a5WVXi8hMTcyqCy9GyxLeFprt2DaH2HaBahF3RIWPop + KTNsvW1aawy+lDUyr4mBy9F0TA8Z1/db3l950Gtuz5s9/7D6bbmRn72O++W1RD3S + XgE3QuksqaIh7ZGt8tVPREEHpBWmPCskh35vLoqeO1QxGxzJcjrcuNeHtOH44EEj + mHzYUydn0e1jwKZkATG23DiBCyMpcNAWmsMH45wmk0fgNLdQhuslhKLqOUDLpN0= + =Ygd+ -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:49Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAdF5IMjO5oGT6Jgu09UEl6LMhps1byKKpi/6WEQAzi1Aw - cI1Dhz3OARuKtOdvYJ2ayKp2/ki9WnTrkoq4Ey8uBy3/F6y1BlSh5USvJWXf/QHv - 0l4Bge/Gexib+b+LGnDSqTUPTBEO6YkNwcD3qZhjktPpPK0UYkhYcwx8EhG6O1ak - zarabdCjjdTeCZtunjJOkVwN2dX6VE0OW8+4kqlDbt/7bejzAOEIoRVtqnng+IDu - =eRe1 + hF4DKKbvh61jX5USAQdA8qtjYHoUe+GUdy3obbF+pNmvfuKQUqkMHa6V5ZXOpXAw + M/kx52Vu5xOdynB3NMBXsfTVH7KXh0f06HcehTREOkhlwVMYPcvDQQdzgJ3Xodpc + 0l4BdYtmbmk9ETTqr+wXvf+6BMYIuvyhsLLSqyWyCxJv7blQYsxsc3EAHZ4LB0ZS + /lw6gQ5lmQyvVt9PQZayt6Iku0+WMJcgrf9xykOAm3N2QrtUnr4jHV3FydvTiUwR + =snV0 -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/z9/host_vars/dooris.sops.yaml b/inventories/z9/host_vars/dooris.sops.yaml index 11f20cc92d..73c8726962 100644 --- a/inventories/z9/host_vars/dooris.sops.yaml +++ b/inventories/z9/host_vars/dooris.sops.yaml @@ -7,203 +7,183 @@ sops: - recipient: age1j0876shgsn7f2thxh9kx9x5uwnh45z6sy2jlk2qz5jhgedm26g5srn9kax enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0LzB0Z0NDWTd2RS82V0kr - ei9EWXl0SkUzcHpwTG5yYmFQTUZjRGJDN3lVCmpkM3F4akRLejZKYzhDSUs1NlRU - ZUdhTURRcUNvYklXei9zRHNrcVpVRVEKLS0tIHo3M0RHcjBkVC82c2lRN000Mnpm - OHUrNW94NGwrckFJZnVJUGZYdGJOdVkKVL+SdpbhyxrCUBECEM32Kdv/4GgDSyaq - gNUS9OEwtgNSClVkNGtowMPCtMCwm/jOth6sJqqyiE5dTPjgXI55lw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrYW9aYzMxeFYxemp5MUlR + NGJOaDRCc2E5bGdjSnFkcm5YMTdaSldKSFVVCmJmNERQbDF0Y2NDZGNnWVE5UlIy + VFByWHBpb2ZKeUtQMXBUUTFoZyt1MXcKLS0tIFNldmxJbUs1WGNLM1MwNWVhT2p0 + YVc5c281N0Fod2hib29wOEJXZkZKOXMKx2g337TvrUk5hXZNbxlPlrWOydYbSBoW + aHvFML6xynRtBrMsp9IebicBxZKSWLi7uHi+LuAzkIcqpAlJUUBAbg== -----END AGE ENCRYPTED FILE----- lastmodified: "2026-04-19T21:46:01Z" mac: ENC[AES256_GCM,data:5VlEYqo7ez4EgdMqGGnelc02EoT/bCLYVbPGHth4kd+DhOaJ1EXhmVB5eiX3AwyRl2nr79z/idCDJ6R1QdfQ5v8rYnnWcqehtiIIz0RBXhbED/hN2oz48yRhIX9vCB0gjsK6cacDzTCHP0tPEsQF+Ax4uWdXNHKnZVYS70qxbEI=,iv:noc3LJdiZ10w9O6JfwTxzLUNKT74rfdTX/Gb94fP3JI=,tag:WgFpYsFO3WjrjCs/7R634w==,type:str] pgp: - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//Z4VOEj2B2liVIgK+bf/GWCyv7wW8gGkc4H24oixPyybh - kD6s9QVqQrdSAkemGcZgFfRv+yt9AbQjwQj6XyLRAEEOhySsFpnVZchoDoY0vES2 - YVjvcE2vBmXfwP36AhDHW1ZO+myWQ03e29BpzipE2GvPAU/M6yDgZaRdZPSwu3NL - U8S5pvUv8rTbMLhgbO7LUPsPccPtgvFaCmyMDO/KNX7KFbzfghmi7IFltCK7djgM - 1QicpAjtcz1swWRgL38psROLufyB9+sFVn6StOm/N5B1TIJtBsfkGiCeK43Z3L4b - ZLInF8AnHWv9dJnvHzt+bdwjEO+EaxQK6RbFZQ/3bzlO4CUs+buejqaMgzsvu/R3 - ulUTwY4UoV4kIxIQbM4fQvBbehIYczKv+aF/YPvFYOKAC6/axslyZT5lA2wZZEL+ - QaU/WmrtTcEOWgPOtW+TjRRGKb3agCMK/ClkIoUJSgHPTMmlMw4hOOMYyG9ZDytn - GbSu6YsR9gDI/Vhzb2WvpwDtQkLuTXnaxaPDfvTiLLMu/HXs87xXqzYNgP1lRyo1 - 5WQVKy++hnIsfI3fuYcJnS+vAAWgG+5QRs+0xX/t7el2jfh4LQ0NJufjd14+bx7h - GWtJju6srhLstx+Js58hsq3g0skJhPDh1pTdHA/defdfxZevv6Dx/EvdwqxRkAzS - XAFl5wOaFPmwNVJSvDPFV/VFumLEjfui026VpTDoRmCDEXZxppuK4IHu2MFpAzQO - t3SStP55c5eOaZDZ7n5vralxWjwU73diblwjU/1AM5ujresY0psKnoJCYsG+ - =+DA3 + hQIMAxK/JaB2/SdtAQ//RdlFEDE3pyQ6eB65iXCKs3aBiheJyPxZy7LWkBlxtFPV + r9AG1Kt949YahdjozdFD+jeHSkoDcnaB6lDbkoHl7nespksMQHBfEW/bUDvs2hKm + jHpENwMwXcqvvICzTT2cx+QSQGKLmnr0m1++INs6Yr6gnKDBOg3s5FmAKRMaEkCc + j5nrylq3rCSlrHm7F5VtemQNpFBMgD8UPm8x3BgIhlQJXH5ge4+Fp9pjEMr/SJ6Q + slCNq3EwV//g4s6GURpfxSeeL0noC43WwQsuiGG5a7bZX5KQvIgL879/XTlDa0NK + FkdayXVRNUqIlX8VeAZJilNlwlXMadDW4AIw+Bapmj+86xjyGoy0AdL4fNcIGjXN + 26S+ypLUiIuOlFroPt34ZwFb+A6yeRyVbChwe+5ngKgIlDjlnFvIPOHm/mWG/R/s + 9zH20LKG3i/QVUdQbNERUIGmWHU4TKAntvuXTYempyWGRyI3rWMwTNEtUHIm0Buu + PeDID7ZzplzVdgSLG5UQe8Dr1he9GyDLjCfCaI+T7yGnTQBbHiMz/RscYw9KM3K8 + 5T+epjsDHFjSebjHNU98MdG/4nSBhQ7CPl0NwuvccwPZHqEQHjeykZL0uhdnPw4j + H2AKIxxjm2O3FqAe5DIjrAVb1kCy7sREAfDm7jFSFEnp18rbPUGVu+cQ7GtuC+/S + XAGe2+XMooPz3x+6nr/cgBTipmVOXpcOyV8C19pN9oKO+60hq3Pn84hXA7SoL01j + vMASbCIxnbmmsJNCWrT9QgbV8P258LtDW4Bn7PC5HbIR49tL++duqGOpGzCQ + =VHdW -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf+ORzXqA6enHnszjTwMsYXeliD2dtAK2A/L29fZiJ9mX67 - VgziX76in4n8Q7fuzve9aCBqEKvW5J3sIy2G72EWfcHFWwga1zoSImP5+S8u0tk2 - jS4jJw3foz2wVsz470z68Az24kBXg9lZ1weRfC0OWFb0CFd8XwYLAciqp7eX6dKf - TF60zQCCMC/s6SsOQWGX6DKXJbT2NuKmDgh50NyrP7EGWWEN9DR8bCmPhQQvl8Ae - CbZ/iHS0SuPadTBh+3bf1ibKutIpRzgDWj7Yeeg3jIBNWhqzsspuNtXdIY4/fADz - lR7UrlPGPqyZ+OznRb+aMlVDEAKypllIFnM9F274ldJcAafE7vpyBjQDgbPhK7OU - VVbvMkzpNY408HHSf73feNihT+2X1Cld/Jve99s6sYEP2UYxC58B5adfyhuZ+RkP - O4WBtIGtcogtn4DZSrZBgSDE5gYeKHjqbAoQiXY= - =dHzb + hQEMA1QflAioE8i3AQgApOnc4r5wNMGyhaEhcvJaBILK0FAbfZUBJsKyatVdaFNP + 44FNCDCz2VFMDateGxXNzlhFrJdG9f8WB+7//AuMj8OqRBUaIk99kGcwW6UauFsL + YQPXmlQj3R4qYNZ05Io10sMko1pHIzwfJLvFleAH9L48Ppk2z5f0QQ7d4rniTixR + HtEtWAUZVBczEn775G9wYwcl9YPsnqFc1KLlQxA/TgbhtZE/t+hxexv2NjDU9qtT + zqZtUQqUa8jIgqkl+ov9W4229b1BzRRB2jbFaUxbKj/zQ7XmTnBxVylFDIzz58m2 + QRxChdiGK31K9iGzMosOthTWi42Mtqghd5wDjpbKKdJcAYkW2DORxwmShzFrx8SS + iF9as3oLrAm9u+oXjF4Gsw1mAHXDn4vf33slrxnYLQbF3z1AsSPxmfjlb1TFpRnR + tXACdATJtkfvZNGGuXW0y59fcoIQqOP5AxJvB9k= + =aod2 -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAAiC5PdJz6P0OVcm8SEWKAehn209hAj0mbcMlw76IguKLH - lsOXkWYfvud/Jzs8LVC5+CqhHCePQbakqfymHxOUfT5bcrailPGRqQnoNCruPfpO - e13VE+Rj4xUfQZP421lHTzecUAWRYvkQ6nmQQLdhJf94syuqeo2Ntqa18jOe/vrs - 9NliigPhqswxtwIUJs8TEtsS7qshLA0Woz0zvBBqMY43IAIrf5lfVut+BgPOuzxK - ekWDPpiJjmuZ32WtiGC6Dfper5IYtnxWe4tQZYoYFj7cV8wN0nhiOT/4WUqxpIs4 - EplSzSUmQyvYXxH3PwzztK7uXwkpdsi8Xh+oLM9qNF0GoexmVl/UdMUwDITWR30X - cwey88MhXEvpTli5sc8BoLz8C159yxkWxbkF22Aj09e2oe/jBhzLjqHOf9OQ1kaM - nO+9vwEFWRZBuZ8/fatvGBZfXj5hQfSuv+MGd8rJLebfS74ZvL0VzbCwp8QZ7/w+ - W0hc4beBUtyG1SUX3MFX77PfqcuWp4OB+Q5tmH11Hrt5UJVrPkj3p8oV8vRm65Cc - pA9nG50684Qf1Ly8LBAOqkn0mXq6/gUjWRxc5S3lgazuasRnPSMojOao/+0r0P4u - s772wtnFhAFwcvhmej1bbS7ymcpjURWSgnoc1i76F3pB0akekq7TD0O1gPeTBpbS - XAF4Lv6JJ0yBlEmnekpGHnBzbi66asg4Z8Rt3dQgHmkMkruu5ikueWgEQP8LtCab - llJlsRzdB8WSXO1JRD8/IeE+C7ntxgkB8tRROvqOnc9NhIe4yy/leBiatt6m - =Rhto + hQIMAz5uSgHG2iMJARAAyK3Qidb5HAGF0CD085s/jg8j3GQAIchFNw+yrlDyJKc7 + 7VbJcqVX0+TVWEQLbedEhkg1STykSwCwKubqUMfkTq7RPg3LZNiu9osBqoX6zdLl + ui0JB/qA6k9HtF3tf4linuu5Fnu/TNcXOke/fXf3zBGnyI+ieaiGDZ1Ol+Zujz9s + Auw2DbJrO7QhXpq32FpY0p+nTqYOjPHGbokLxgqTluIjtmWe6iYQjPD7n76J4wba + YcUcm8R0fLJcYL87KqC0Gt/80NVm8ihdBIUnkTJlBGiNGl7IEtazEnDazoErsPy4 + 9314ZbwTnvt4vjsVdRW9+Z8ErgZSy+SQPzUYruAa+iu88ZVWTELuL63Iyf+ymJTk + 39JwyzeBbggy89ZtQtO3VarhXWCZ/YhjqdsGbAT0YyZHDKOJ5NDPfpCIVUJRA7F1 + Z4AkZ/3Hv4hO9WC0o9hPSN+2W6wjWz6BjxLYcEf2MQQtJW7gQnzLL0ijF1dDxLqO + 6PiYtR1MTU0DIudXb8nlurkxyO+cJ5ba5MCpx5EE6+rtC7xM+yXuDdUqbXuQLox/ + g+CkTZfR+IBEd1fcFDE5oJsSsMg2gGOQ80GH2Tq/BEG4p51rb2WlMIW9O1iRi6wN + eBk6KPqkOAKGxkGCBfobThAcxBXoJMcOu+RsLak58lUMt9UN1fE8q6KjE+ARqz3S + XAGbzXP6UuROb+5pjnsOHOhQpXzY2DV6zGjMm7yOhU3PDWJ3x7jjhmwFPficz6nS + AT/yT+AwGzivoiJcSbjKBbsj10ikWOs65KlypHHPU6iAL+dMihGdMye7DkAm + =CAlK -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DsZXvxFXTXoQSAQdA5yuViS374xdpflgGIrYLLPTjbQjVVVSzE7/KyIWIlHww - SeBWQEUnO0QGoT5ePZPASR6Mn9v+EUqdYAGb4ErtvDot4WHPlzx6HxhJOlOzv2yg - 0lwBsCc/Gk7O4Km4IfQb8t86M8CYV2uXVb6chycSMqa2me2+hNR0e4ChXsm1eKAu - W8I7eQGqQachmOPG80x1L0ZcafLcWHeOOPL6dfNwhQSQGqQa3JAmbfCPVW95Tw== - =A+y2 + hF4DsZXvxFXTXoQSAQdAiegQd6fFP+tM7MoyZSe/iKxpr2+HHOXrULOJ//O1yx8w + MOYFwIpnXw25j8j29+MZeiZz7K3wJgUQ8w7Ncmu6o0hUub3LQwP7BYFrTn2+ebTp + 0lwBl5/OQ3/i7E1IEH8aVm5sWIApPIf0W2E0v9a3FfrlIluRJOFPEv8p+/QuKNwQ + Lbn8f1tNh2nekZhCZszJYPculIo1KgbsCRf6HQ5od5tr1hSuqMWQ23F9FkDkJg== + =dbbX -----END PGP MESSAGE----- fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAit3Nc5Yr91JCZnY6Q95yL3VliMfKw+YNigLCtriuvBQw - rEMM3TWd+G/ansudhvEdsIBYVWrYyVf5kUOEaDkRoJGN72uJfKoTa1xqwwrlzRCJ - 0lwByTiYQab9ZuxWKlwEfdvGCePp0DfvG+HpaUTYXb9UpqjaBdRqumZNwnqpmJnO - SEHuS3Ft0qSnpT3QWFhQfdgA7hiLxkVB30pmsGgeoEXo3V6Q6B1EaFEY966YzA== - =KZzf + hF4DerEtaFuTeewSAQdArRVAGFBmI3r9Nqasd5iCzjnvZiaEGRGVknbx0HK/hj4w + yerS2WdTRFELnBmaBlv2DkbXvYV97hjYOrqMS0qAUKbGRdZmMfO6F/u0wKNbPxHM + 0lwB0y8ERr0KtMM5RAQAJ+yUtE+UTEmTUvK9b1hwHZbfrEEOMiyMuqNpmFpHyNmf + aiNkYeCByEW31rlRPiGLMOeogT/w9BYlxZrsrDL0IPPwdB05rjad9u4tC4dTuw== + =xvYy -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//ZWYoZrGKKjb+M4i9TA+ngEGvPyyqBG5O7DAJt4LyXZ90 - xsfNw3I+g6krKgSJ41vHYF9D8qvZSxGfCqdlBBxRdbknMkqbED5n4/z4YX6N5I3i - yhrbXy8DvDCWcVgd2w1YUbCXHWzYyeawcr/bLWdIKTW+iuDBR3uCmWBMdqCg6VSF - wVoUmL93BL5YYXGKwU0Zg7tPUXxi4lNW9ErmEXq1krMnYeF+EgbqaIaSpF74KSTZ - hL7ZIG60cOY0/PMt7IL8rfjYuOwkbIaHJzwvhpAnkRRDQ56FbtvLIlh+kIUB+2Cq - WZt7F0f/yIadSCGAiPVoMbAPGZc7mvJnTtiilqFGT8Tpf6wcKS8S8xasZHf4Vh62 - CB+LN/fROdQE6lVnESPfdu2mRbcGQuYvka4n8v8y4qTY1Da8c7/Wa8RaRrbenxnA - 8qxeoWKhz8lcSFn7KhKCKkht9OMqAwCo90vfnkm8Ty4iQ7LOem0oMCipYO9M+ANX - VJPVS8cSDCW9hjIWKKhSVkRK/iP62VNKsrKJ5Ido/+iBP9IAgOxgFm7/eKqn8hrP - QcZAG6GJe2IeFHRZcoc2POLcm1UBIvv6kgOsvUsMZ6rLvfAl94d+1U8O8z683N4a - yJAPDX3FqSvpJ9TNFpCsca+6wErTiwLv3gBsZPj2cE/1HVuPJqqJcGsmvvcCcsLS - XAG/aAqNNgOWFuQQgv4rq9ob2DP6IPGQW+p3UwLn5UVmgdKEkN2MAcemTVN9FjwK - CBuzx51VOaZ754SRztXaELG+ck0VWaMsefFs9akLWAvIoY5ieWKbyW0DyRpd - =1z31 + hQIMAxjNhCKPP69fAQ/+IilJ9uot/PrkgR6v9HT+s4uTn6F34ph0Anvi+8IzHpit + UgIxA0MN9HcGqPTiUyyhLoZQG0U2DuUfA1mJTVLixlvS6qK3dWZy4b1rLTE3hLTZ + XjO4xi+oPsaG61RxK6Rjm6KbJ1Jli4X2iKsRPzPcsiLqkTqojbj5HqdBwtUc5zXS + soT1ZNtnE9c/y6ccaD26Xm4ndZKzuhYPKGaxkJPm7HyXmuBZkwdvaa+K/0nTHHQx + gG8oz1Ozz+/dHke9tZkZuGp9MnFmvFEeeF5bbTU3uRPyVYhhvlJLYmJM4a+w+BRy + b8ezTiW1WFAF8MJgDmF9/fxvxxFakXiz1eL78CL0yTbYNh6pwVYk4Qvzrda+y5+R + rmmskyzwJsP5Y03CGfeBMFMfal5a7e+vAutZhdxIhntGvZ0VkbzVnBTHK97o9icf + ELnu8oUxxBjqlnJ711HjUZIq9A06KM8LqtDnT4w3nX4AK9wNchSn5sf6nyY+cSro + hm9r3ua3JPz2g8Hs2xhG/6APoQFWGZISz4sMO9PEapWnuILlkq9/pQHdGuS0EzuB + XqA+/nwnLODnQlrmo2fwUpDUTQlpT5gYgbaiNS2pb8ZgFEN8EKD86LeKAMMF03gv + Fw6UFpi4GDP56qHOL3zE9RL/alBcLypvQBemGmyfLxoaw2mzt2ZpmhAXcooiUKHS + XAGyuR9hn5Ov5ZNlcoyaIV+8hbeyi2DBpWmXraqfGmnMk+MjCAg2OrzsSJbb/fqu + MtD0TQD1gsVT+xtyfhc33l4nZA6ifMIdrWDU+WQWaXlCHsahhutSuTMixL3R + =CX9A -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoARAAvJjHL7pKPff+tobJ5ktT/QWKSDuD+oGn4uhUkHIY1FyM - Zlv8zLg4S5ZYuDeTxoUDVX4mqxg35dSpAxeVGc+ykt51uqGhk+IEPXQH57gSQ9FI - CxAN6mN8sYLaVG4v7crwnJmfK0jyRgXfvL1lQ054GwrBIYKt0LLP21e+E6b8eDHB - NRd2TJC3L1P9EaW17SlwvHvnyd1u/G6dcIE82zeMfqLyrce35Xhamv7vphmf/YFb - YVMB7twYhm1d2/s6JKeGBTlKZw2LQAvMtPyfpcdu6grzzkCSo2hYDWBnSWnqWlZM - DS3kUQUAysz87M/M3bUhBBP1p/CJIcImJaeq5BWbk/YpicqlSFhGG79NGvdhgfCK - 5ho1IV4Jb+qFo4waNBKU7jSbGYFzDZVLSJ/GCB5NRODE9cEU+j+7DfJR6Rlm2wQf - GlSv0uuPAcXMlG2+iynbAwzlGCpogKuxsglllTKnJX/ZNnVbn0waRLpA7BJXVE64 - yHLaRtzJAOzePfZiklrU+fMUMqj8G+rCqbspDyWC1vgSQs4aDGg8RkCSWRx9C9Lg - XN/nLRJBtU7bw17NvAGNbxFFieIRsj/2Jg+CSIahR+UzhoXbxqh0uD3JvM/b2s1q - OKE79mhT1rE3nmHtFZfpN85elX02E782U860Aau4GzqETjNOw1+PulgMfUIxQZHS - XAF0gKxu/p7W2a2uqbK0zL2mMdn3ondD+U90Le5WAQOHYyxdkaqK146zBa2s/doL - 1xMfvajGQrnsBUxQopQzfnGAoDSX43dUb7HARjvjpe3aqXbzwSCFR2vn/94l - =eccR - -----END PGP MESSAGE----- - fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-04-18T22:36:25Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQIMA46L6MuPqfJqAQ//SaiaaTRS1rGh5gxrZPyU4TlW25kITZ65fwRXDBX/sFAk - BRNhNtQT5owBDAuQQdwV3Gt+5RzLXsWIkc31vQ+tC7x92TME4B6oaQmIlE3geupg - BGg3SjSjlv4bWyu+FGQ7+2WMOiTLiYA6kkWLWKInmWbXSHl/zL0rzfB4yeK6CetX - jBb5DYyXG2KECBltHPhKHGgiTZI3EzUdrQbnXwL3TRM663SAGlA/1yQHeo84nGdm - cdwmoc4ud/L6xdSDb+f9ZMydXHtDudU4WGMN4hhVzBZYo3mGkNVwmjPDMSW965gl - f1f2kFGC2SbSOXD3NrUzcjSOcoXApQu/My5yvHJtRPs0LmfW5omnHen8VB8h1tMf - mwUW9/OQpy0f8izRjiK/uFQB3OwdIFQvzitcbPjheF6nuaYILKVnKbdVf5Se10a9 - UpzTpslFshJRsG2iriJO0vjBOBnDuEpM3lrZDpysanq17QGK6RwBr7pdCE63RJDO - qMd5PRzNdBYumz1g0jCx/qIuMGTLH74l05enBygrxAk1ra+VUSh7VX/aq/VLh3a8 - hUmeuZL4jcIgN8TZPwIC++oHphPsGYawsUfXFD+LgrLW4G2oEqYFg2ILh+IjRq0d - zoCs8zq4RgqtWIIizLfj8rnD511SOWffCY8wxoPW/MXY6k9TnLd1ktY76i48qN7S - XAFG+vdFQerHvUqNf2ppsFMrsdVtZPVOCHOILHmKPmxVpu0PES+SVTKy4o0tCDpW - wqOae4LktPU9hIqoBXpN0X/jl6xjbxnljiuJ5VZhR4xRBZSDLc8axBf1ng5/ - =VHCG + hQIMA46L6MuPqfJqAQ/+KbL8MAa53lCjhi+Q0YkBAygQ/02ExoO9c91yTF0bx2GB + QqtSKmuB4gDfFIO4Gzj6dK6AhU5d0fTkHrInNa2Lepi43pEuXH09RLFSDBOxilvk + hBa8fz6MMCZbTX3CbXPODIyK0fZFVQ92R19UrZcBymE6JdBHLIvw5msRQpxksMBh + B2ZzmsTEWw2TsdTFMgpc9RB7h5lT5lKosl6iox+aXlbuS4EWkarsKmtwl/WmtcF0 + iI0Ps5kyt/YFtDtHBFQXsrrxYtR76fBGww8gyWmJbtOgsv3djtESI4R6GaW8xC8T + VJLcfKkULV59uNzUZg1aZ4Fln8zvAHeymAgpxm1Cyv6gTyfZMYPLqQtf92iBFFq0 + z/skb3bJTFX9Lar8J3kXwxcEUwTL0sjeMi9YsHUWhFHFA0j/sHZjKCbN7+dc/Zh6 + vRL11aG06O4BDHhZmLE4spX504B8joNOefZfxKye/bqWnYxwyZQ8ZtqcfJXlU6Cj + 3O++EHTO5d6pq73P+pb7FvDudlChKESPvSTrObVkNBJaWEIWprMLSJuVr4FRjakQ + F+RZIPZP/jtwAfwz5XYnZY1YE974lpUzfvrLm8stOOm3KWWAl76jXNpIBQcGHtEo + 5VAWP3hT25lobvOBSzbInnKwdO629P7rLOW7iJbaOu2ASTR7NOZE0/a9VYmw0TbS + XAFdffkZRkKRChCgvlhHhE2aOpul6wn+cEl2mN6tNnmuosy0g27xLBcJdRFt81J2 + 40OzKfuMgTh56S2CGBu8i0WoKlEFWNe7KwGREWBsBV2SffCTs8krEZr+RLv/ + =GP6E -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdA6bmjleqBSOXgwlOqyP9qD4hyqH6UswMzLOp97L2JIhAw - /iXVsv/Lqdnt44gBRtGNdJPgij2bSofVEQA0dJiNkXM2eYT8wAQJTI85BHFBDvia - 0lwBeB7UeLnQOfjXDb2GIE95CXNnOzD2gBUTg0mmaYf1a/V51MgYqK9HGec39mhR - NBK/ydTDZpJUc2yYtkv8ocySJLZeYdjhnlD+eY1WieUm8jBHCFvVgxpt0KY/3A== - =Atvi + hF4DQrf1tCqiJxoSAQdAeWiAFUkFPOwncKQ2WwQvUx/aCn7vEFo5XnJe414ejw0w + /SYmaq3cjpxM5PiHE4+tePit01WtuCeqLyZB/iUO9THrcPbgC2/fCLyT40LWdemV + 0lwBCX2aAqa4BYRfaLinDnJzEGg89zdp3zhGzdO3P+Klfpva8gqhi5kqKqcohe9z + Qw4uZYop6Sw1gMv2Qm3m6ef5OJ7tmV9zuTx6L1FYJFgnZH51x5o9zIofWAyVuA== + =gVzD -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdA0CYAO0N8AdnFBlj4YQ6p2LbfMmKn7pu2s1gPA9iNSBIw - Un2b33XSPhBONW0Rxb3N3VHKJ5qTjMgVs48ifz+fBN3WuDHBtBzyCCewCNWqZ7Ea - 0lYBm3aZbvK1IWtCqJmye8WFDoUmLyxok/lfy8aACzvdtgOV1/aGmCA3gaMeeZJL - 3lIBtbXJseToPGNJDONr4L/kAfylTOc6yh1rxDKXtINrNJ5JW4HlnA== - =i4MT + hF4DzAGzViGx4qcSAQdAswtOeIVnaJ/jJvXlIEakBeFAvVwH5VrgmDmg0RM8I0Uw + KI4Sae8LZOP9tOmYLNSjyiv5HonZbj4XEvOtPW7BzqWCntmPee5Vt+/adCz1nKM7 + 0lYBhWzCHUkXbZpccqNj/2KUYITEEDIRFQy3KuCz+7rxIQtWNwVI2giH7z1tCQ45 + dmuja0rMQ/4bybhEZEJWPtejjH6qp34Z3X+RKg67ych8l3seofsR0A== + =EXhM -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAAjUXStW63ZhHAaZrotRk6xyPOxYZUxM7EXDsYLCeBoxGg - myAQRnhLitrQCbrDrMzBStGNdWnpmdgcON21Fp+WDgZkbMev9AOY3cEDy40T48rA - MLNZKs5I5GFJ5lDtsbyv1IasFOPa0CWWz7OqgAXTznQgpr161/JzU2/SetuWFFFg - dy/wDekJD197NR1pNkX3+Sig7cV1F0pfVnsXwKel93uT2OcGfo4SLiXC23Q1LXIT - qmVLws1l6ygPUEKidIy2rnBMriK7vKR3/yeO8OZcOBDK3mjw4+YaXVxJ6rPsKlP2 - zjYY8zK6xAuFXByyfifHmpOZEYh+eOLZLATq58M8qCMCfQNTgFZx17hw5969S8NP - Hk9CUC666ZPmm5ogcNMGeeS4kpZES+5nAgGYlFL84jMK/No7OXAeFCRGHi46DQ9Z - hvkLDBvRlxNuNqq6l0H6XHAZpqJKvtEht/0xINk5TWwkgfj0kVQZCOlQPZ7kY+3e - BPjiAv6sSkHMKxsFB6sR/BmhCmEl6wLrJA8uNBMoWBqPJ1d9vuNRP0F9LRPu2Sif - meeuOYz6Yl4E/Ju1O4HYLx0dAYkWBVgpWwhQXGQHhK+mcxsi+7APHXUmyQQF8hrQ - CykIxLJcwAly+mi37G1IN1oF9q0CK7alb2N07HJWoFGNfZhVzHjpeB0WyB92EkzS - XAGAbs1f4JMv21aXBdQhBcWsWFz223fqqBzqJ2gKWsJHucg/A0z1YYhhWiwu+3Mn - itclnFVXBLO62izReI/KnAm9m1UrHZRY8aEcqWrRZddLu9ZIPd04k3Wkh3ms - =a8go + hQIMA2pVdGTIrZI+ARAAiCagrckPb80YnYDX9Ikrfwb/pTDPOw0yxEpF0MBjntjJ + AD7RYGaBrmiDo9VqavXO9lEQNOXTVTUavqF74pC0y0ux4u9nNcBqi3K8iqUu3xaI + oXJkrY9hTRFeVNZPbX0eCyQmRPqSCpIbSppMf9bsz3fIZSFeRe+1/ITxxmw7usUW + BSqoA1NslieNbojm6r2elGUNa+6RLTvDNy4ComIco94DgNd4DhBIEy0GMmAoefZ8 + ahiGZ1lp6amZbdtAFzkJPRj0CiwekV4ttfszuAyHQiQRK9rSvFldojaT8fB5sf5P + cj0fPrjjo8o6qWWAK9o0XFHSTxtA16dZIW1IqS0GOVsmLu1TMvX8X8Src2Uh/4WN + XSXpcGAEq3LnbVdxWmFXBzA4Me1HB6CsQ+lr96cjqBg0mBIQqPYozD0b4hdoJ9Qg + ZIpoTjZglitf7ana5yJeLMFh1/Adlk0OoZv5WZ1BeYJ8Z8KPvT/H/zbg++rSB0Su + z7oir5w6w17fFeXvoIi2GQTAMQObmL+cUYsyR8x6KETqk33YaF8aVtoc/iJfkG5A + kwZkYyhBa9tzMW7lG+4PdcxRYYRkF4V/jBqtFX1Z1SktvntCXGkUIXSUplvvP59N + sbzb1EuX/BvmpuEbLKVMt5S9gGmKR6QX+g6IrzQTOMoNFJ98ytSCb8srlZ5nZrTS + XAF3CIVq0BquMmMCq7EQ+opH27Gu7nDx2Ma0yhp2yx41+RVW1th+HNDHgZEcKmXj + ADrcEwr5HceQXH2uIJmG6m7GJeXIaJwrUgYb8yFYVntbzbs8gCAzyaYDpzb9 + =pyji -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAXJ7GjZBk84WZYh3J+7MWDPn6pxJtJk6kHhxUDzu+Ixww - PLZ+ETd+hfJ4ODSh9I06K922EhTgiLRlQ6sstw9oAsgnInKVVbinMvKDrYU7FNDp - 0lwBet/C+4wbnT8GbR230z+1WPoE4G9y1Z5VkhMqPryignvRVCrf8JYEAwhQMNI0 - Rg4IaUmjlSVPkzq3Xgh45NckQs3sVP7n9It0jP2aku4dTCetSoK4+9fZP2x8uA== - =r8FM + hF4DKKbvh61jX5USAQdA5bYzsRf/ijIFaLOGUstWu7Mfg6YiAKdm1Gs/tbTo+xAw + dFF/LcY/VTw1KelNJ8UBBPr4PAiH+X058W0pYIQArnOdOMiLS2t7pFz3o+KT1whi + 0lwBFpaHTp3sd6RhcJizkPTMq9KISTpsxO/xM1cQgbr8vIEe8TfCuI8OWbzfnBJG + Q/vuojmeT5k5mQv68dOCiwz1Pk+gdmNTgw43SGeegHsX7DRS6esgGEvwNbQPoA== + =vkHa -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/z9/host_vars/light.sops.yaml b/inventories/z9/host_vars/light.sops.yaml index 73dc4af892..afb4c6809d 100644 --- a/inventories/z9/host_vars/light.sops.yaml +++ b/inventories/z9/host_vars/light.sops.yaml @@ -7,203 +7,183 @@ sops: - recipient: age1llkxtfx4dgnezmukj4ganx4ql9k4ga4ca9zuanf5r568jfp8peeqal490q enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1aE93c1RNU3M2M3k4Y1Vu - ZEFXWk5Xbnh2Znp5cndhL0JvOGM1eGhqWVc4CmlJZ2FDVGtTaWVkVC9DQzlKNHBY - OCtvdy93K2huZzB6d3A3VVFxbk4zSGMKLS0tIHl5bjJjYmtEQUs3SjdGVk9nTXJz - RXJEUmlnYlZhZytoM1dWMzZta3pwVlUKZjD1aTle/P6vywuJ7cH07ZnI66KvSPgs - WTHY4v/bhqimMWTQPD+eTYsqmAUa4gT3jyxeYySmp0R8NZrCNV/lMA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSNzBtc3lkZHlqeTFIa2RX + ZWgyV0lZQ0wxRm4vZ0Q3Y1d4RTlhYzk0ZUdzCkQ5VjdlSldCc0ZqZlBIOTMrclV6 + S1lVOFZpQ2tZZGdRSytSM0w2NzJqbmcKLS0tIHVqWGxCenFOdlZEVEhFbmhvbUhx + azNiRDFuU2V4V25iV3dORW42UGZPRmsKOsa+36+NKjmS8xMAoCueJdhIIUtdhl15 + 3grlxNwv4axlKNy1ynSSmneyAZ6g+OF80b4YNxzZYcfnECB1VnDENA== -----END AGE ENCRYPTED FILE----- lastmodified: "2026-04-11T01:24:10Z" mac: ENC[AES256_GCM,data:D7qAgDZX8B0oNdZovHE74sSZI5X3qd8oDPHWl13Q2ohLnp9vJsFxrKntXxeeHASzQceDv2RQ1exwq7ZPor62sLFx+xO1Dc0Awpq1eoclDlHPyKlvT3pgkcB8IxDO/FuO+7hg/bJkmTHhbHTiHLGQDWN2sQev309Eka86lQyCzIQ=,iv:OBCobeUp+GwdDQhrNtTJhiRVMxRJafq5g1rhMoEFhjc=,tag:OSAWMn2NPZnVKcRX+eJf+Q==,type:str] pgp: - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/+MhIGWz3IFU70JNsGIX+vrP49AnHGoCGVinjwFBOg7DxX - CsTCK7n8+bJpArTTbu+ytue0kGzkftgpkvy5I8GL0SOYzOYa9ys1gi5mgfw2h2Sr - EnHBBe+i8U07JgsN7xaNCobcAPtzWx+c1PbKSTLSNvmgmhIPADi7BOge+9GlLIV5 - cp3d7d9CThULFAnCgReBWGmCTi5kO+yoXsy4wFtjlgNiIVZLKKULkaaLMXuQ165E - fL56rrgbX4ySfG8YTtbQ2s6qZFnSYS4FtYT1tk5YW4Gi3TNuHOZ9UL6LaTT2pK9+ - tAcFPTJX3WBp21s/cEW5Bjdz3AmqMxGWOa1iHJqCy+haK+k00esKwQrna5QLtl28 - JuguM6jEyNs/QhSjwRdWra0AzAeqfei+8EAY6pQ4oW1L3AxawqOEZ94iVPqv9oM8 - 6mbV+pS+RoQC5P7Ke44QwLQyRglvKY4FtKfPn7AVWhcWxRfoqk9nlpRDZN4tiaMk - +K3nOOZ71MeDzgGRg0TpRXJkPSUMDMAPABVG5Qsz8Ij6V3KgWKlDON8dtSOFTBmo - 50m8I9U4cWwFnCT9UMJnAr3RDCR1t04yZCewlfltXwdPRiB0ASLDyX2W91JuQcu5 - Qhc47AyMIu4Oc/7EPRNNH8eMdQhpeysrAh5oK5n5U0ns/cRsnedg5Y325JMsbXrS - XgFpFpuOvQSjm2pIBwe+MY7cZwIKtQ9TEYwzzMoyDx4cLCkUE87GzaYNiIAAUBLr - BpNRDDGYZC3Eeh5hSmwNwfI6yxh8zNjEIKF+jk+YmBREahaSoli+1BHaTeAS7sU= - =bNCo + hQIMAxK/JaB2/SdtAQ/5AXhbMySq2BZ1TB4yZ6I3zhvUgtXBcCjHGEpy7Dco+e0n + YW4IO/ezX399NaP6u1pOeL0Vhp+14GhW7NxHLlrdGrCUs4/lddaOs7/ptLTOsWa/ + GXQeYC3xDANBkRoScS2S0J6/6bCFI5TCg1r5USnZ6Ari+8F/+JqIuEbPdVGUqALW + bFxqmyV+IIaMRb7pMXDpvSRW1VPePKOdJ2xRsZz7/kxUGCMdpqJQevNWpi8GRBo4 + GhbAfDrR9rkvf9ERi/ybPtnrzVDJ8LN5+DS3W3OeucK+N7LFbWIRTSMTJA3+10Q4 + qS8dbRF085vqxGQQxULqX/cCB0ra1FGb5XQF5W2OLFL3mJEYjCfEv88ksSpL526p + ucyopbq+ZOeAp6+OU0MvQQ6thnZ2zX4H4jVGfEOUKeKtp/Gd+Wjv/GiqEQk8i3oy + 91qyrLl8HIH/xYOQ4I66vTUjsV4wfgMsMO/v/hw6XS991YT2BBV0LakvTb8zofDX + 4WPKV37Q4RtWeeyT68qX7IS2HMNXrXjVUJJkS1CvLmgFKIEH1CH5Q3HewKrHVGHa + aPoN0ww0O6jfPllWz6FjvIZsEm43/HIADqyGmu8UP5uBY2xJNtewYedOzxBasPUe + ae7/L2EeLEEGPWPkfAq777cwdLz70vFi4gUnlxv9TAGS2wfdMhAjYqvdlPFRvA3S + XgGDaU3mhi5s1SGjKkkjA46DMqILS+DcCDB41rcRznelNju6gOvAFFvUUN/+s5AB + EFDD1fsoB8daZCcP2NdLQC7WgmpCaUts1byP4Ir+arYSsdq9CTf0d+esVyXWz0U= + =dX3H -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQgAhyz3P0XYPlXneWFChEcCsuEhA7ZuJpAb9CPKJTN103M4 - ircq3rRQajzaUFOL+seSGqwt4RbupglWHeg56ZLcVL/WeYzjRetPliPZSOt8bd5L - H0k7lQCbrKz/FBIj033OrYvygK0Xiz+6JMDmGpbPZY2HxmnTYKuqFySWoqvHYkwZ - 0uc/jr+p3HI32xnr1Q5I+gQL3uJh0EQrylt3wWNDPGnoZvFR/t4VYAM9IdVITQ/M - evJf52MXAmE33nmOdeppEbERS3K/rttoxV1Ob/Ci13nrzwcj0vBr34LlpolfAxEA - /1fPeoJDNY8IzxN1oK2A0WFXqAI+6nDJRKZcRqw/gtJeAVdPbUzzb06X6ae1oVzj - W8XPQDH37rO8D58IYghwvk0MHXxdgugR599GAUxq9KBfC5JemuWXXYCCSteiZUu4 - eKkMu1QMVRDakxmfoVao3P6GDP7WAjugFaF18MZ3Hg== - =nT+U + hQEMA1QflAioE8i3AQf9GuPkZWUDiXwrmsgyzHO7T3asd+kaSsl4vGK0FLKAN3xz + t03UyDbZNT6nFaK+eQsHWMW+UbHTicSsu4saxwDrD99EnNvSKr7HFLTzXVu7uQng + ez689n4kx4GcAZU3q/vmDnaQOy1QgkUWiL8sWpqGN7jqOTBRP0Y+t8/1HrRxgcIq + cJQWHie851KcB/l2cLI+MSwJCO3MsVpxQ6EkwFOwiFX3oqooVXyTgKgjSYkZNa9h + Od//pG9yN2R0ctLtXnuxgC2WgzIJErHzXEjS9k3SBcH6LjCxGGzFbIzmINpfOXCI + C4JZR7LJ/lmnQMx4mxU0J7Y+Ime3mBtzZt0Pm6QoR9JeAecIZ3Ik9u8I4uYQ5SY2 + TK7F+nogISTPQZc26RQezUD1jlB/f+s1fsW6nB8NJzuLYWN641iEeMOjTQQJXNv/ + 7/2DqNPeEgEJOp5QvdAYr5xHvG0a07vISQ6VILD50g== + =Qf8j -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAAswG0HPrWdZv2E2RcD2lUPVAb7Xed4t6obmV3oInvzDqy - Qt5OxBonznwvBaWH5dD2Pr4pfLPq6mw3QVyUWhqTGEYb3GUDX+8ixFyxXUVx4wVJ - B71GVCgxp0mT7jxPkz6Nsd98Q+93LL1cG9eQMwfiuHiCP5g+ttUP+TNE0CLt+lFA - TaOLFqKzkNbnkEI+w9yUBh/2HK9Ox+1bz8WgfzSaYzBVNaIU3xYWMMzzH/AvLCRn - UyI6I4zGvcoNjVKTLiAsqmdxrm23+MveFni82sepiYROiUx9k4jZOkzjO3+e59ir - swgsp2kwf9ic88t7UoArIYjmsTJCaoJ6e10SoH11PAoh8Itvuy3Q3P444tSf3yGg - eVhdiQWl0+7qtHtyxjgJTjcoZPWDFu9VLni6wl2oYmHii9HxygDjZizgYNvr/0De - k7v772KNISbpvdvSaIrQ4RAJdPU0XluhPi2gJ5YSMZATOMSNQfyfbmi3kaevc1TQ - BF/lMFi4Jgj+EUucnTcZSVrswWM+XNQnEuMLvn2QU69+YauNkilsVgxyMt9sqc2B - lIN1/c2XFOHVnz3WsQS9mkYjQnXA/Q3Wlr0KDbV6HJJ27TK242FxHtv2MattjFqC - 1RCOTh/ebt4oIWcJCZPJOSMEV0FqWog02cBJMYANyhD9L/kCQGaDcvqtqNJhWhPS - XgG9r/CnSRJQ8bWAaqbx9vXYNoVAKenTMM71fCbJjaea7lJncwtE64ORYRhbGmbV - PPRFJ2CdHxdA0zGz5YqvZf33hgy+7E7mGfuhC6VqIv4WP9UOCcmzMu9okKiiD48= - =JMOb + hQIMAz5uSgHG2iMJAQ/+JufK5J1g6IxBzisw17lJfWoRMUUEBwDS006OH0LcG5Qz + 8l+J5dGDU/yXyZjUS/QkmtHqFZyYzi8uJJWYJZLDBtlrc/4dob6N9WhFg/uG4yvY + oRKDP9Gv4zmE5fzBbrfqFfLT1q7ofOITS0K7jJAsWJ5HD9yDf5mriLJ48NSqvIxB + qmKHwPSKHMIDl8VJbEMRe8ef+amZFnQBrCUemk01XzJ6/sb79KTLdfwwnIFF1smy + OSqor3u7YlIgw1YhZz6Tu5pVgl0TVjFfDfsnIukxyQYb7SuOzF18yKPdDShwd+sd + cJ12+cd1uaxo7ri/gQ/BuuGYBxWo88ReVBmPVJoRuf3x27OkdRXVR9DxgbWZGeZB + 8BfMRhiErrMzbziq9F0vBGM54maieI+rmcNDOgdsiI2W+e+nKRQDbrcom9VYs8wE + /XAEr/6/gQns6imUwh/6BkWZilEbtqfC5pn2nK1xXSXhUz62WwC+Vz2bZMatyU+B + PG4Ca2lJAXXgp2+ZrrO4ifXWYdP/NLyYCv3kGtGpPn4UAUZjpJ6szY31ylAyK3Y3 + MYkk0h8Ntl7C0rxRZqNOHT3ZvNXtbN8TpExWIPfPdv85LWTyn+YNMDR3OFfOJK4P + kQ+ggGDT13Not6IAuADEgYFm+hf/Rvy4yGTOdJj7DHbry03X9UdtK3/m6f9ZN7DS + XgGup+xN4dDdlTUwmZH3R5j/xaqyBr2pMvozg//oQnRJDeJQvCPq4HQ2TYi574iH + +7N5r2fOx8l6yWBBKhFGywOhjMMLfwENXCnlFv+/E4sT6fWKSMkXQUlrOXX85PU= + =UJB3 -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DsZXvxFXTXoQSAQdAopFY4aMSj6xT4NgXAC+RnQtEhhIHJmygrVHAKFLWFF8w - BLumVXFmfEPQqxN6SWunQaIjWSAlTWSskPTrgku2lXzhCbXtGIHjeAwAkv6e6Lgw - 0l4BWMRSj/pJESgOw0b35NPaAw1HjL43f/AZCX7Wr/qROLEWXY2pueCSpkH3BBQs - LAQg5LnmTPhAW+nH6zd4BKWsGJNEA0mIOqyJU1lIX7xJrF7sh8ICuOriG1W70Svj - =C1wg + hF4DsZXvxFXTXoQSAQdAuPVm84UKfJI4OZ/dkyZXxfKLhb3iib4MCaL1lX+aVmUw + RXBvjqrOqfVWFv7nUtBopmMea51m5myj3j2SHgbRUkszyBYmIlL1Y/Vmhng2JlGE + 0l4BMUtBoFKYK71PyqxyMPyucmi2nCe3m1iKB2LVtbZD0ORigQA21QpLIUlV0Ij2 + 9KKPyo34xz9f5Yy57hl28RuKyMAm/9ux8WpEriMHB9EacW6BIywOEuXSL7LX7bmH + =hfRZ -----END PGP MESSAGE----- fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdARmz5KdGdTKxXRCCbNmj47rt5kYJm/kKztUsZPCEcaBgw - uRFc65ePeqJanTGffSO3RTUFmUV5/dro+ih5jpVd+1NMt+upiT8urTbXIL7JAXeH - 0l4BPr+rX3XKru+41Fk/JEpqIOEtBBaDXTZ1sQZ4xcRXIFnEejp1d3BS5RnjJHDx - qXVu5aeT1HzG8t0jqzoJpLozVxaeUYJxfSoCg/PRhypBUe4q2qdnLiI3KQcdj4bj - =4b2E + hF4DerEtaFuTeewSAQdATogPLeIWasRhc/VNbsa39DgnvDeNNdm3tyRGjhRW11Uw + O86NNcZUaofF0XV+apW7J+BmoMmus4ynZ124ga5h/AnDdljOa7/kYe2+Ahe990mC + 0l4BEfVxGieUHpFF8ZUVLFx+AZFu9PAq6X7Sx4YWQx0lwXPJ/ZcCz933QnyGaCPn + NPM4BjCIu7J5XIYumoIuwT8DNW8uzzaK+VwLs+TWMwJqvCjgPQZ/MGN41nu1e/WW + =CjcQ -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//XZSXS8hNOYC1FyRSzzPnK6OyNS9Jok8Q1SKO2a3xMhE1 - VomhkBc8fyQb3XNAAA06uKk+dhKsP+Tz2mo9qV3EDEeIF6Wvoff0ZavwND4xOCzt - 6n9DtngLFGdaqzENuIBQoTO/xetShCfISVlpCl18HRYEZtfbqrLl/Qs1fEPJikKb - VZBEG5lnlvnF+//5859KqGllwx6Y0hO53wQ5LcN9x6HSxyMBZgo4VeQ8yYH4vybG - IG7kuFfX+VRBADG/B1zMjMZFxNiDMeOKByUeTMMNtb8rbIFhditSwA7dYFPK6Ajv - 4UEE7t/T/sk4SJb0YSA/yuuXQ97CGQHVVwjD7/aoXNksgEDAHjsLGEyS36yqb1FN - N2FAdYxpXWlUweAOrTQ8ljuJVR3C5hOm4tIkkU0aA2LfL36OO/ECFLmWYltNw7/7 - mg3S62WD1jgHT3iWzmx8v4WLZzHr1HU8bJOLDr0y6kF5D8PqZDrL9Ssg03C9xoCS - qV9mNRf420JoCM++0UnW5B1LFcmI6wEsd/GApYJcpKuV7Vd/Svgey6rxWtjm44ZK - Z1jZ5yRznrDp/+FvbwYb0Td8JZStI/1uLFN4luWCPsxd0jSayTB6+9V+Bbah781N - wB9pwlF0uDN3lXt6Vq+MEwA5uZUPo93/x591gEpQBRXxhYE+EGzmJnURMrHtwXXS - XgGijxlqNsFq+SyXm0MQMhdFXuGrqtgTvYtYbcgXMq+S6sw3voa7O4DQTs/M5XIE - DV6eocj7pkVmVKLNCNRK3AvZC0O8+RyoIpqdITJttmeRQHchjIf4pVxYJ3xZ7+k= - =s8EL + hQIMAxjNhCKPP69fAQ//araWtdjyZWPYRLePPc8HrZGjq0Kv2y1mFwev1ayKfhqR + 0hkFfJvNSytv72MyihZZXMicSdvVX+0Q7ryuE3waQ3pKjRrJ+F1Z5PC+MM1DQznF + 3E0D1qcFDVpXgLr2CnztSJWxYBXD5nacQw1QXObYPNA1+Twx/IuqRVtJAcDC4ZHK + z5qxpzn+rWK1/UK9k9TgZzyJzOgJ17LXXoPNo/Bb7iM5PFaRJV/XOF6Z3fA7+w1S + ierB7tc/hozEsqAcDrDlNLafUqxpO9YAuXHiOqZq8T5h7mp59VAI6Gnz32S0QfNs + s+Q2nAaWepMvU20Ubn66tawMo2vS/Zb52izoikMp+ECLGI1XrwbaSJaMACQS2rA2 + kegG08d+rJLwwO33jlWdXQGDqhZhNcyxDS4vtC5Xv6pBB9gmoVAACL3mO12MxF3w + Png9CN1XrgX/4Tpdp6sRGQ/wTXahTsyK2rnO6yQGKH5rMLGlrWAdx2w0knSiZxLr + Wf6E1MUPLLzHE4iBjVP4oWyBK8byy/R8Km+cDBhvl0IBtlk33LF0Gep9czLDGW+U + 0ne8QX796+ICaYtApam3HQ4pIHB/Uhy1OU9rkr06rohlw6tBECP6JWpiB0CDNZ8m + TSU7rPHd2m01yyyymWrC1QdcdP0XDPH+xIRAW3slMyiZbZWBqBKNJxB/reOJsrzS + XgFQzMvKg5ACUd1mj+cTMSO9lWwZ6g+nrimFXPWi4dcH4qYwoGtku4jmZt4Sf6zh + jPQvEUHhaxI/3SIpXl3nVOpymoRMsfN0V4VDwd1ljQ4h9EtY7HLKe8RSjm0bWeQ= + =7cT4 -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoARAAkRytEs5bDEC3GBklz3Do1Y1F6LCKeIGiL07AKya3VKAm - mQoBPYZmimRtw5mZ0dMch4HIlHWbKweKDL23Ed0fuTRPR2+WEyWq8+U0baUCGft+ - zimkDuY16XeYwZmAxvb1Q1/0YIY1iznSvoRGM2x/eLmgRxNFW+2l+41VVVPiexM7 - YZIB3wTOw938SIensE3wuRqWwLqZ3HRMLYEEMwQdil+qP4WBTzq52bwPru4MrlpL - 0x4vecE3OCxR20xD35guoj6SrVHSQet3JTcTDKSnaaZbj02UbKuR4Zur21XL647p - ABfpNO8bhtPn+02D7EfmfPplXYz1TS/hOdfSfCBmNHhkALCGk3kjHsM9Hmaes0RO - 0BA2FpIZYnIUJ1VBLEiLy2yjkJlmsaOwB5hATN//VsP1Szo59jbZ5qhg3R869LVH - 60sMCp6ZpWCD25B6YeF2VWSByezzaw/34l+I5fC1iN9xdhRpV6EASYqUW7N80f1H - JCqyb6Lck/7CYWUNDrw+++3kpM7QV2lbgn/CPzH6h7JEkGfmLUAHmeWSXhE1sltF - Y/ZGoj8E5VjlyxkdfWgcQQM+eptCmwNCM+MQ29P9ObYABl0N+LohmHF+tEDtOA8N - UCavUTFMBTCRNvfyip5knVOPgqk9dhu1AAAvdVLc32yjD0VOSDs4FWxqFXLuGVbS - XgHywk5bhjRk3FL/+WDWLVKaFeZhLd/l91N1aBCV08EWfFHf1plAM300WInpdIEE - e2LQ8ltmO7+BNgZ47m3P0+ttD+tI+EA1oy3ADezPHkanEFI3ZFsjmtGqFhqtXW8= - =adgp - -----END PGP MESSAGE----- - fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-04-18T22:36:25Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQIMA46L6MuPqfJqAQ//XjBwGEvbh5oWGIa0M4Om5s/IW8THjrvb//aHpQ9SeQNx - pnomfpMnQcEKKLL1XWOHAwcwnoeHoMK3U+Yhq4cjWthhVK/fRgQfZFTrI4PnENND - V7Z1+SkQeEngBiwhe1I4S/+JD9oM513AZaKwo7+IibS9+ROMMLnoDNFFGzTcXu6x - xcS8mihV43W3Q96pUhyxALVbsLsUOMxNB2jT6XZpSYuoC0KKw4gNsezt6t7JT3sc - PABTCuib/+q3/dVHuweA6r7Iu09i1NwaHUEwFsLJ4ADhWw6cwxo7YDbb7LhhlN4V - qoJ0T07B+1k+lF6DY9diwDwWeljbU+J4ElvHzu2PCBgX3j5oIbulaQeTxPEGC6cn - 9wQ9RZCeJ5i0FvfuJyxub5aVcMQI90FUKmKS1nFaLMk1EjUEyh0Ut1gqdHyS1ZJv - +sQ2zOlxnHnP/mjpk+3HeG04TsuX1cmUVB/GILdSLHUTKJ/tL8Pp3Wt1XSpyI6ku - S/dsTq865PBZ+tBEzRUYSpPcuiNiKrke1l/rGCY20JtFI5i5p93ACNmkZAgMSBwT - ripBOICXkhRw0j0r5zNRFCKxlTUU+/OPNYx+QMJONexPAHJwhBYpU/MzHo9n0FvP - LO1Yo3hJVKmlteNA2MNn7IjK4LtNpxcKuU0r+mrbEgO5xJs64YNyGzR/Ej8+z8DS - XgGE/O8xXhEdPZvxAeI8+oHsOK4WYYTckQIQi1crI2pNSmCssv6uYZEJWO3IKpai - S2rNRwggh8WjrIkdCq9asd+eLyP4nL4k+qZago11gtrluOmlKSR/UvOMfne04Tk= - =CogO + hQIMA46L6MuPqfJqAQ//eBRwPCOHM6WilcUlCBQqayLv4rwg23pUEJ+53f9N9ZeE + RIozPtA2PRpXn0ZNmiC3H8KejIKSm0VZHPKZkb2b9Drpu9KMQaDLEe8NTihaKEfZ + pT7SxJGYyXUe0NIY9BMeCgrCwVvbzfi7sK+Ke/IpWf+FZjyStX0pOdmJp2xS9ahh + VsKYoLCh223zDqlGoCrJvT0ZP7pWZ2lSkUrCikJVOjXe2ZjwSTuSvcrDsHv0pymW + Euand/AzeZCkMbA8uklkAxqviDeWL8t7+GxvIfLOu5PLjN9cgFcIndQTyjCGW6Br + Q3WmjDLhgTTq482KWnu7ZV0Ny1RHRulOOooVMESelAqr/LOkXhTTYAVGhDXUW/LJ + yH2B0IaMzDu1/FYGYy9+qLT55pQfldFdz3zP68Ofxp6xcQVVlvVyjFfWvr4e1jeE + p8mBuKaDm1IS5EMaI9E9qHbLEgeD7nW/DwB8/QQXvloVO1iPEcOwv8/FDaaDEvS0 + GsFA5lfT7JjdV2t6/m5aGOnFeNIFY0zeaD6MwsAgjTA/xECXB++jsFK5/rH909KP + 4NjnhKdqX++MMBiqkr5BegUXEpoQEI2FnUhOsuv4k1S1Hl013ofZLWP/yJS9Fpri + rekS0AwvxcimnUbgjyYPy+nxE7CEGm4DaV8ojlfY3V18fH3nExTkx1Y/VKCIejHS + XgFeCuGGhYlKEGa3i7uawfj42GCeP8YhQr6sagQhCtc02u394VBZ5lRDr9FInVkn + RYsBPKQoiXKJNndolqp8xlK0aDvCw4D2bDMRZIOCwRqINvqD446TTkifIXSYoxI= + =1kkv -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdA7SsjTc3FKWv4Il0kfTBLOC1dcjoRjEyStkiBJwHZ2hUw - 3Hfpt7CBvWQyJIG33acQ69QDwHmCIsFrlM5258It/O3RIV6EhDeRMmNo5rS+sxHX - 0l4BFlBxOq7pvp9HgF5Mv0PXYg/8M54745jqqqRNhUBedpScb3bGSQZI5SQAlkUA - XuhaDl4K6QTfGVz3czLzGISNiONZrlSBuktb0QaFA+m5FhdIg11cUZELvm5QcwSj - =DemY + hF4DQrf1tCqiJxoSAQdA0wbGrLqLXuQCQf8yhNXdNwHOVmaJg6+Xn1VJDt+9LWAw + JT49TmjEwXhdHsTLKW/e/4ZDntohE6i2ik2+WrQaDUH8AZduzXBEIpoYgo5J5kyT + 0l4B30rwgDkrVQgYlRSwPbnT9JhFzpDSaNfXvmNkguPxAe9Ipu+2XqEGACvOdTjb + PPi1fe2Q2DDz4CdYktLXZuAQdO+IaGnP4ndfjfBnXEJI1BgRR7zZ6IEStXzx39Et + =OGw2 -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdA8moFCPN9v97HIG1Zqv3wdiqLnGAr688HVEnCXPuOKi0w - Hqgc++V5yrj+Zl94zk2DbiiF7BuZ4DtcV/RtjYgC+q4OLxwAsyVMl1qWMvio62Sv - 0lgBqiwgZK0o22P87ra5lRqsXZoih7EQ/IHK2z9pdQ7epptTSjRk2mu50YDZrtCZ - 8M43k+06Omd/ps6KUJbRXiLfA8LYfXGgRVPpA2xJWloyF+eY0BfR7nz+ - =9Fn3 + hF4DzAGzViGx4qcSAQdAcRa+crr6g9/59df8KYwTBf2UYY9uCGvpJRBnFUzXTj8w + WCb+NpyfQAaaOv3y++SoK7scIixfxsnOy0p+lxErxWMRg82Xq0RXjEauVwAD4RhD + 0lgBlfArH5UVMwg0PtkhOG9axibwexILFaZ9Rrebq7lnu21+CdTQUQXG4JYjimC3 + 1jen815IoQQ+e9DqiyrZIUlr6Y4QczkNITKscx6FE1nlC+gq2psF1t3r + =QjS0 -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAApsRsAX4B4s/EIrLWEdDJzM1Gz0BHqihY20eCqeQXOiCl - f3yx3N1qZxTOrEko4WjWTEHTbYAtT3Ev0I+LERcKFThCUPN94ZgnPj/SDhoAeXof - YUT4Q/VcoHGUgRZqqHHwHqYMRW3PJtZdjNQukSxHbShRtbheBQSx2Tpoz4aM8jcG - UoEudUXf7BbT26vpbLZcL67nDB2Ege+IaEGoiZG0lnIcNzKQVFoDl5h2xyFed85c - uW2s4APdiimqSEwk4wudxC5Zam6bCVaGFE0jmP/QdbLCCO2LSi+WihVv2zStn+47 - lrn/8DRxHv9pSDOH1BnPdZsQOQS+M/ZjhmSq1feRdr0w0RaZjj76sOl2srHx4VNq - +NffdfZKyjklDRDQLF+Li/AmUWhEITu7ecVth+C30DQ3Hvxu3VD/CfLAyFbp2rJ8 - OIQ95B3rs/6bgBHuZj+JwWUJHBl12i59RHFa8cxpuQT/mq8KeLq/Hb9uMpPdNNwr - +aQ84GMFEcOZCXeIb2z+PPcY3JB499Pxxw9wsAGW7+NHU9m4CVSlOpXo3rm/J0u8 - 7PlIBwKcd+ZXmZjKkknh41Wgpg5L+aL1HqJOAJ6iuUQlkO8cK5zOu1CxTwyiapnA - YZSUPza2xNT7/q1EPsiZF+EOD2+8Oji3zdFBne9Ee3khoHTekjOXrqQXf7vtsxjS - XgEDp90PNJJ3uzPWBE8+2Me5sq9yLQSG6PBrONMJNQJES3l15BrNZn3D8I4e2keW - boH3tSmLb3RttTsCq0a6Z5Ws+/shErndJ6G410ihzctXmMdqllEX5nQlsW/OIvU= - =yhWM + hQIMA2pVdGTIrZI+AQ/9E+mUJ8HK1IyOIrrokzuSI3Rde0QREK+fpQpQdNw1qp7v + XkfxoAroq3/A8xoqG5Hk4g4VdNKZn/amYbHj8iks5IpZ4VzsXFKM/SV9PsV2bV89 + Mep4cDfnaN18srepmtEPvNxMWnLBXU7YE5LJPt9V481ghXEA0fp+1v74oaJuGqqb + 2cDADYXR0mheLlXkjz/U4Atc6xOmY3rsI3DOl1oaGHL1xjdsObVyraj5Su5gR+JY + HkLMKNmDnaPLbYJz+QSwGQEW0do/mZ/Ir1aIX9S0ok7UECRV0j4aaH4pbpz8NsXT + 1Bz9eCYbiFC1HmRHMHjq9F//BLimqZRiRW0N6wUhO4pJ1Uum7yG49iE/snj3Ivp8 + +4AbPkZx/4XPvOIc/oaQSNeCJ8WIgfBKhiteAs4MF9KXRirkUHmDD+J97EGLTuxj + L5a6w3Op+vYaMWZ4xXecPD6zCr79DTgWCesQOxH/m3NYS3Ezkzi6Z/KP0GVoyG/p + P7Xc2rBH5Ced+OAffVV3H7yx2IlzrC1qCh8lK/6BQbGqOCsUXD1S8jv6fBiSDpcQ + EpD+fC+RdLe+qJO8kmc28c7DRD7GgGpH3bHeICEjchm0nIRw4kjnvMArgiSedrNF + ZjXeJmLddjn0R1F+P13QmSL8uAKh7DllMsvTbLXOwvXk1Vv4Yz9K79UdPzmcx3zS + XgFFevV8nxOlCb67Mhu1ab+/t9gKNTG14fJGW6Y0chDJGcnL6JAqgXxkqUsNwym+ + HoPQbwTzKVyOb9uWI0rnSXB1oIfPmHR/YRh0x/X+X40P5DD5BB+CO2NKredsq5U= + =qV9g -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAm/Im/ARGNQ18Gd54/JRfzetdBOcpcAQBz/TNanPnCnsw - 5WZ9yuN5J5sUlbAt1PyXq2AeAy21KJhf1Gb9ybCtwLk+nK6+t+ATPwh9m2Jd8Jcv - 0l4BiKVHC/VXFO7Amzvr0UMMSwJOE49nBs/Trrx1frWGMgdribDaUjYsB9IzHU3C - YHTZxTNkJ4NB6vNmcm3eIYpqXQ/VWe3q3wRchFUZUWueAaVHJKmqT6o1RVjbrUVb - =hnmK + hF4DKKbvh61jX5USAQdACvIgndJfSYnd0YYdA1jKWvMR32+2OGu3SguHxoHuAncw + fI8LNa3N3QjMRG+8stP/I46MMbpWKSgIXxLX4H5Z/OV6WigS4yrSG5QGwtnz4cIS + 0l4BuzFJ7olno0mvTOMinNj930KVdAZkGm4MOENq6iS1A4qgLDBDZjwL7a+XzZLL + iEsC08ofq8tKJcmzZVdy6qLc/hCLr6D8mg+6ajFTdprJe3e2AY9DfsZs7VMfqBts + =4Bgq -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/z9/host_vars/waybackproxy.sops.yaml b/inventories/z9/host_vars/waybackproxy.sops.yaml index 99635fc05e..13d47f3fb0 100644 --- a/inventories/z9/host_vars/waybackproxy.sops.yaml +++ b/inventories/z9/host_vars/waybackproxy.sops.yaml @@ -4,203 +4,183 @@ sops: - recipient: age197tmckjll9999v5apqh5h70dktdxzxn92uyzce5j7jmesvnneecs9p7m5j enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQYUlzYUxJRjdhbCtOektw - QkJSb3hRcjN6STVCZUZHSCtVaDRvUG92cTA0ClJsSm1ycTBUWEJXUDU1Mk9MRld1 - Vml2WjRQMUM1Smc2WHJjQWxHZWt0ckkKLS0tIHgwV3VSYWVrUnB0MmViTnlkM3pE - c2UwZ0dEMXFVNUtCc0pCVGkrTGZkaWMKjlZAKLI+8xXYxHtiIrDnjl7VNkoZzxAd - G2oQxuDdwtfEDmCOGTtDV2h3t3HkuSITL1MVxe7rtBWpDCm6mZ7bhg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6RFprUUllWm1wdFdsUjBv + Kyt2bk0ydHY2R0I2SWNIRHppWGFSWG5Yc244ClVMdjRnMHM0RnFCZysxMld6Sm5K + bk9UWmc5dHJ3Wk1FU1BCcUE0ZC95R3MKLS0tIHY5ZmtoR1N4dGZUdUdIL2JaNitC + bG1wT2JHQzlIdEhvNmVOVTZkUU05SncKZi97IS92kNEK3+ZhTJKcawVfBY6VxFhd + LaSvGJedZnS2f1O7QRFBqt3eowHVU7+VUZriv4lV1oDkjtWSl1K+tA== -----END AGE ENCRYPTED FILE----- lastmodified: "2026-03-30T18:58:10Z" mac: ENC[AES256_GCM,data:T+2onu1bM6QaD67hDH1hBUi3hf+UzzRUS1O+/+qV3F0tVndJ4nCO30cfsKRNvQiyCQL9qjGJkvvYOIk8FPEWTSH0k/sIyWAjjVpp1qQ1WTAo2KkRQnQpXdjd0a5cv4smYT04/LbNMnUiDJpLt9Ffiwhgu6MZtHwS4WzeqKNezwM=,iv:Dx4Pg+jXzciAOuRMyYjFiGpSC892iEpoCw7U2TpcVgk=,tag:Z9KcboQtD1Upk2FiHYoluA==,type:str] pgp: - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//faQpi9sEHR6WkCtHS8OhcdOqro9bZCjJ8L5KRN0nJO12 - Nnohjcm1mMvKKlLB1j1rrX7PioJt04GSbJBCAEI7EEQI/nT+hLIQt1lRo51RRWyG - 0HvVuQA09zScvAgCKCGj/A2UP/kfVdCc8xaP0oWl+deVlnWlUmRv+MIh361ptIUm - zNlKmNZT4309o6DOSEiS4eXFNCoNjzguZWvFVCaAp2XI/JMZ9w1zQfh8e/f/WoYJ - BQP3/g7SGBhROuCdUnAMbROPYByUQfzlE5uNXAZ9tYA2lVF1oLVCBjrtipEq0jM1 - yPGiFpJEov3xH0sWkyzM/ZZVU9T5h4DGiH8+tknMlpfJUJuzKVBPlqiLOvgF/Dsd - 12gkKI1ENXktkOlDlkyFDGiUZkWVJEdF8+dBs+hGuLeEmEQMBwYuTOKTUXACDHLV - 1FbNkEAFg89NHm/+nvUc86jrD3n8IXqKHR82GXzwclmXhMF7K3/ZtBuGyAsbbOxP - KV037zWTR5bVyQiMq6emPnF6yRO9qXWzZ4gr4X4dzwFNv4ACv54JBVWyRoyAI9/s - kaYKVBI4h5zdiMka9fEU86GvVluPYo2ZBZxAhvWW3IkHnlocckneFv0bzcToCRgA - 6p0aVrNvx2UnFTy5qo8DMjR/s9cyXoKWSfQHDFL18LTSjaoB8iTRCacIJHRcW+HS - XgFci6EzdZA+xNfs4VO/eTap4nf3Aw5XeVplNjQD/t0p6lyGbQEoi0Su3hiNgfio - OO72HwtFWMWRfrYMsBh9ym250Wmi0dU+DuHutaIdGY+TYCDxYWyCJ1up8GsvqVs= - =9sZ2 + hQIMAxK/JaB2/SdtARAAoFqkoyrbm330naPSXF9M7b/UMWXdcUCbgyPu9G0EyOou + 3bkDfV0hEz3dwntMxI/HZUFExU5Th35V4oiZgZVy5Y08iC2eye0GhqHAibdrbQFl + 4x4yadtnhc1Mj99HGE8Zog05eQ4hoHHMAbNVASl/C2Q8aeiF07AVXuhkQX0CuBka + yiNpBIS33ozO/ld4xpHlXDLIsiB9rBJQgfBXVO1jXbBIpVTjyNmdq/0mkcizZ9Un + FX2U22GMF6ZNp1I1OtDwNKbW5VBYuBLWmCmw5pcORz77mFWYCzjfWk1KAKnnp0cM + lp9g/iNCzSIS6VaXjS3iPs4UmDzos8PebWEorAts3yz05poLM/e7kjXywMjQeYWo + GFMYyxN+JLGGGDOhFqylNQ1o5tFhQgYL/pU26xkJ6ycJ8XkCnEEUW0nHoPyR3Ixp + l7ZbDIlNeUhw4R/Imi6qzyfGBcAvBCe5fTeK6jB7vsIUbKkD0LUrmCq5rr+vvncY + Muu8pFNRqLDTVB16iVD8sF3uLXba2aYU/xOSZJSDOuPT4dk+bPTi/uRDX7Loqgmd + Yy0gal9e4t2A6iIjrGCz5XLcieNFp5VV57cZuf0vSiFTv49YFuqLN9tym5csZ0AL + slPlIOdfTOWjZloMCNYEi2gV8mNbQCGMlP9QByxKCULlBtUqjAm3pKkDWkSkQMnS + XgG+EwfAipIsZ0VS8UkXdDb12ApWbktlEEl+RVHiIegvvKodWAIWXk92sj/odv+v + aBbFYOFqTjSKnW+lspX2gUNPMjXhHCHAWeu+EIB5m3KUN5hrn75bSrk/Rr6EPew= + =CWHW -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf7BxuYm7zWPTKj65/leoqo29ibL5YqhVIN91O+HeGvHnwv - Ftdr+6v0SpX4L1W3NGuBO8h7k0yWQqeECs/I+f6YxUZHP32OD9o4yZx/JW4SDomW - AXW9WHhGJoudkVrqKru1w8j2/bj11cuBO8CvoXx7Ff9Q3sNUqP3GM3EjRr4j6+hr - +uvnj5XAarz2GBTFkBfTT8CjtH4y5HjOmjrFt0XYqYutiPjtbCEPVa3JqRY5+AKL - m9nAMHkCSfGtDqnowGCqSV3M86+VTIn5+r6UUf1uLvMG1TOcgEDniNbhXfIcCEuX - RrzgmuAZVOSpP2g4P4LfUHtnH/w9gH9eX6IRtmcQK9JeAWUtVNqBNNUAprErsT93 - hVC3fZacGatPrYfYU3RnsENhhtLdwaB+gStSySTPkZSuhHv4AupszNQnv6bYkyO4 - FANDoDtwPR2DTOPwz4heQr7nHQayJtpylIlE+qXOMA== - =haqi + hQEMA1QflAioE8i3AQgAt3ejk9P5tm878kDp2SwwZsHfg9HFZpKFCTfhoLw/5Sp1 + zJJlkHH7grc5EwzoLdxJRUfnRikZQysziei+ZTn7YbsHdhOU2aovBepETPSuN4R5 + OXwcR6tG1LyVG8GT/lXP/YTCkVGpe4Fqfow14vv+cFlUF+J6Ap1gtvUNHGFnS+Xe + kxXfbPQSgxoopx0Tt2wPVBSa1qpiSOEgLpHBYvLyPzh8UPklBzVZuV/lBoEPuFlE + 5qviCXd8tdxzXG+btkAQ2Cf9DpwPKBlbvftD4HuNcgp6nVAPMdTxH5i7mt7w0rDy + 37W2X5payGJmJDuEyRzgASisTZh0oRJSUbYrk6LMENJeAaKGXYbejBRsv8Fec/9e + nO2jGFsxYs5UAp4UhrTB2SYvx7/LRgXIdfeWGN8O8Rl4Lx0fLRk2TKdlGnD5cdMy + RPuWeB7hWL7OPqR6ir8VmK2gVmtx2Nctuj1Y82PXjg== + =dGRm -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ//Teh8zXAmpHYpLcyJhU8RET4xggiLwecbzDvzZr7RD2+k - fPdkILCyf/l7afoQ3JFzF1cvURU5JlH4+PuMLItw0Lyeea+A5/+YP6vZ1VIbYdNK - T+PzfhTTTtFa5TvhTMoMzcifahuJdh8aZE9T5tsZ0JGtpyBHmUW1gW1O9b61Nv1C - kLpYZdPrrhhhg0l+yPNdoyo6FshQ8916IJYt9/3llxfSRm+Ukd7cpbkbgAdllgE4 - DYhiKuiRIUQxTkgLEUG9pfhZbzP6Uo2bkt3miWGcgTazu41e43eSg9P0MSq2EJAP - DgLhdXqgxR2LMFLDUTVvkZG4oZ7QASq0h+1AkO/UJkcOiOty0ALfQJCCwlUCMdnU - YK2k8iHlW1PZX01eYaXIMpvmyAhPMko7rDEp7tSE9T2WGxLgIJxLDh2Mj9BAGtNg - fq9XI0r0vDdx/f2VuoMp5qbcdHgfGYwRKnCKlUxSi6xXCxyVGR1yoyUFM+HyFEvG - RnvXULfzFAK7IwFRL+PmQ+axAGX23cDFNdwA7T9fnS55IsJPVibnIOXyVvGhQzKr - HdVHph6HBLvuPerLv/WU+NQdDlFCqYBDk1N7rCOAznBEs6lzDF2VHkDMJ5YEhXTD - +odeasddQjULc08cuYeCrymA1nWBZ+OyRx57pVHUEsSEXg8mBLA3M5J5fNcgzorS - XgF1rZxB32mxhJTIv2MBPdvVvYpcCqve8Ea5Co27ArUO00z1tLsqQ1WHI4jeqUhK - 8vCrpADB3AAdCCa6cZyr7g4U54KMA/PSjxj+V6ic+rb04D2PZ2MeKlIKRfWRZf8= - =GqT9 + hQIMAz5uSgHG2iMJARAAyXfDmr/AIvQa2WO//cnxsDYTzyLaa6snwgak2tbaZ9Rg + xk7ZlhnyxkfkzVp5/oZopdRdAd7nSUpw53/8J4tzO7HBFJ4KFxWe1gzmYvBEL3yg + t4greeSFJI7ZCcS50weyVC3gHLI9wyaoy4970SlWHuEtGV2xqR6OrUEaI5TWXZx3 + nw5Ocv9Jq73wl1DpI5TY+bzXTU+ro3qDBNCtz35sptT9UV2ceD3kNagrGoAEIytN + nqCS8WtlSv/vvqnfj78S5GP5swuD7HACo5pLtZX8hjVu6XAYvomxyEYoc3OzZblo + oHSINR9xw/Cu6cFSb/4m4iCBcEDxteH+Os2qVKMzOtMfTaRR5tkuKasZYGf0URAv + ilQLFeJdilAeVvnUK7gHh1ngM7zOY0yC9xQrlm7Dscl3HJxu8XqLrKV5yK6clk/c + ZJW/ooHfb09nWjm+78tXz20ZwxAQT08QIF4AT3PJJc4dlhr9HYfj3MyMCgkLDqZO + XoeW2azQXmi5Umi2fB+Aq+FZr9pPfBZwI/nvNvbldumHdlUDA11Zo95dYIOOTO6U + iCwZud2aYvp/rkmnsA6j4e4URaoodmC47Wtm4hRqIeAYqKhLoCKIEJOoPO2TlkDM + myd2umBeoDVGAOTZDh+2KLc/yePdQnZIxZcwbARtMkc0M+HHyvJyL9+wNCIW8qXS + XgF7LGrvhMoehZp/FkLRZjBTbu+pks28Dz1kqUko1Wfw/zFiFmNPvVn9/fBjuhZu + bQ7DVLfdlaUVqXk4qsDOzXSQyDuefsKGnubf/MXpwHq2EKImnJon8FkO+Dpi1RI= + =kV/w -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DsZXvxFXTXoQSAQdAP3KITu0BazDcLOo+Gdtmhn5dSGx750IUCwffcVUHURIw - z+8/M/x6707mJufLfkxuuCKwraVUZKkOb+SW1tl9PwpNq2mHIImteFCw+e7ZYkYW - 0l4BK7foiO1tL9t0YKuXxBgOuWPIwSAKLJg7c4o3ECRWriC/rneEwn91aHDygbs5 - xMVU1jfbBwmGFQCaLcrrc0mf/CTOZqBsBrNL40NHCpTvYQZIK5KaKU9XcCcDqPou - =Zb2G + hF4DsZXvxFXTXoQSAQdAKkzebAFJ4Za3O7b+u90teh/zSeXqzX3jQQ1L2djepSEw + VCA7tfiZ+b+XRLEDAlQjuRmOeV+gmfYUNDGSJW9z+JUh+Yoamvx81pyrGBAd57CR + 0l4B4OtKEDGAaxvFhXYkmoX0/yTRnFfnGL94+/ruqgcgybMODSk218pZBWhSzbq3 + +z4EvtWLQFLOe7aFIg4GfLtpOmR7NP+CDLioHu9fCwdh55fsl1CY7h9EOL0EhBVN + =lO2X -----END PGP MESSAGE----- fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAZFzav8RB0yXLHlf2y+sTjBWFAoyHXl4VLym+jsXVbwQw - gx5j6Pt+role3CgD9zWltYDhWvP010e8LUP1bY7s6Bv50RyTSe24SVVjy/K2Og0f - 0l4Bpf9yoyabFNoGv0Ee5bfKEai16US6mhxHO8cEEMimQqQMt7VVz0GWIPabZyWg - phVZKkpUMT400/079PBBY6orYCINK5y5UHrRPa9V3S3V7x2K7lohyw5662GCbEuK - =j3Be + hF4DerEtaFuTeewSAQdAPRAZQU1T3MsPhbaXcWHypDljZfA2LXCbWTSgfzGMTxEw + en+Wj/TGVU65Z2lysyVJnrf72mpZJpttoiMjn3OwBszQ12KnQStaU5nxYv7K+niP + 0l4BZUME4oPp3G1nItCK3hsVxmL9IWrRtxambtoa1J5fX8GFQlN99ojDdvGLVf+d + JTLleItc+No57Udf++B1Jp7WXi5TezEvn3b2fcMMis3KPooQLEfbUdPF2WwYCoMh + =3+gR -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fARAAiSdlSVL+v2e0Ru8QMuOlRId2Poy6L25FYscBlqwHXFJS - Dnc0X4IgKD82+JjG3o6HI1Ni8jB+KoU2e3RLzBl60j1ocmlVxU1fnHHNHYJJ7ZJD - aZHIQ018Goxkr3iFLyOrbEy2mI8RR9R4VJxRjyxQiF31aMLXpkLu4WC1Am+1cgP8 - 8Yni+QXizjCfY1UwOSn9szecMED0rJLqUoPkpNrYIvFkY3J020YWqp50YZogDbxn - IKSFAdXcQMMJ3prYwTN4O+RO5csF111DlpUgY/BHIwoSl66jVgUEghw0BBwEZBm4 - tTrdwOe9v+UxbRVIf4ff4Gas82oaH12aYhv/BpcvM/owixKWe4/Z0vToRcYI8fWD - kTXgVpTfjJOn46KARFTFYQQGpTZOM+wAS1FLzlVVXPYB1tQclPuqkQKdOpetP5qL - WvjiQVF9zy5wIullB20XzohOpQvSyjxB8lIc7c6jz6T2RK8vy1MAF0ncH5+uox7J - Fwz0lQ9gWIzG+Idy8WcNv7pC1OMU2YaeEyPuH7PP39+xBTTvhA3LDrKDWMxZcjZf - 4yma8m2o0xO8Ex1HCbmOWR89X1z0oTx6tOiamq1hn0xyTdisjADCJlfrTpev1PNe - UVFHinzZP9lyDZyORrbHw2FHs8eryXBsYjBel+oMjQoqgl0QjuOKDhkzEE5147zS - XgEux2PhYQ1A/iSDwpCuWUiqiJrXTYYX09iye4E0c38ymgRuMpC9NcOA7YvfgJtz - OySE40C2gcKQQJoAt0B/lwhxPZ3e3X5RyGuPEwnLMjRK9GAqdfv9fvp6qMdjp1o= - =YKnE + hQIMAxjNhCKPP69fAQ//V+naZEzT2czsqAIMK7d2EEAHgUq4hKmF3GudU+oO5kyB + Ujz7h98zoTWcfqOdx9f235a13jOndrI1biOR6WkbGsYJVpQyA9hNvCFt4i6qDWDd + tpxZTPx4a+OPkGr+cL4x493O/cEgkFgubiNXdvsWEJYp7xC5LLxedtNfX5fpTWoe + u7Nwsj3Ab+79jBcoUGne5wU+0Z09Xr7rhzYpdHoZaKfacyBSckBhSYwg4fFlmEYG + dayJEU+TxSDPEDpmPr4PhJdw0gn0Q+qoHunSkwWHHsNwf/XivqhetQpL0iuD0EiC + Q05NwTX4PXt/FKYDeVy5ciEyayYDGF6MGwPdRpMQAb/qGwAIfMMnRQrnwtXLgDw0 + NH3fK414ny3bRUbkNBj1lCnJCmwMmjV0hezJh6tRLO11HGuOxlFPDBYgJkg8wKn/ + OTQsbkF4C6YESwTzNXkPu+c+rxMwF7PjVtPqS9BPHoXar3K7yARrWKhqZtVRqV0c + qkjecUgrudWK3NRxZ51oVRzq8D/F6/zFvaXLskE9XsXIz9CbXDNUJiUQKzh2rKj+ + nzH+LfLEhN6Ypd6h4xR/8pANejLS279DCBBpNjQFTqbPBbpqEQeZ92k1k2fdVLWA + snGGPfZWG1Qb+0iv+MBGcUkE2KFedM5d1qmlK3T7mIl8Y+8V1w189Z1gYFFERYDS + XgHtTgAUApPtjQk5w5HZ6d5ieCSzsxSEK+pI6OxOxWr8gvWd1N4GlAdJXdNllsiC + QGsGuW9hjDgQPZmyTM5qCfN7lKZH9xMNpHhqlmofyL1euwzibR22hAbrM05NpvQ= + =y+q+ -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ/6A2lEpwCx+CkYKPhkGgzNW+f0cUcpocjNCxJ4I/5cfnEv - hSKVUz92ta4sy1dmi6Xg+BadOegpIsYfYgDKOiNwLWhZxqNqtita0HVqLKEXttwr - hWP1IKZOT+VjLBA0YEG420+ZXoUn/Fd3rdynXr+EKSTAsO8MhwUZGnvVldx5sW3j - MB8Y/dQKaC7atKnkwUi0Jc8/aV+6hY+YelAr2Eio4aRygxJBbEo6AmYUfhlQ0WjT - pB8/VhTgyLUGpXpKceadhhEokqaGH2o5s134PvzS/WRg+5WMHO/GXmqjbSiqfb3A - 9OtGnMcFdJVrWsRJq5MvrfpGAOdhH3GGInnDACcHnNjdmakor/P4LCJmYbZGQ7cG - si6Gt2gGeG6RmXvp52FUfzl+b8FaNHyK94z2RJLNogQCCuWVj0krw8t9jO8M4JKs - 1WOCAy7+DYjpGJXjmk/NTfjr1QxtyQc0UOZA8w1SLkIxTnrEjxbE0hnxCsJVvrro - IRlh+7BvG+8sSwxnEuUt2ElBZQ90h/NqyOCeEWbP5yHXS03+NUZxGWDWC1BGAGtQ - st6JIvDbtKqMI0zBPSXboqjox/vu6FlAOBMJfTN6CLEj7GqblpIvdeEMOIDUEaow - 2rrksmOnLYz+0z0KmtgmDStZKPG5NkIoFBbCKjgMjovrNdtbV4c04Owm5yc7oobS - XgFy/2NO9db5iudIu/4jvWcQ7TV0AC1ATro13RFvEY3jmIjPygU3hyClG6C781N/ - w0OYR8LZPqNdIz3A9uYUbiHKzwQJ7KwG/o+7frke+0YSvM2gGuWzqEcJMe8wrDk= - =NJGP - -----END PGP MESSAGE----- - fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-04-18T22:36:25Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQIMA46L6MuPqfJqAQ//Y0V0swSL9otAX0HtlgY3TSTXb/LL/2ta6aAZFprmu5S3 - A24q/iUTkjdvlCCPrR8ELyYo65lhVVnU/q/R/LvFKEKYGaVO1dkPPS6GeM/wyl3d - psRbt7lSv7/rBLGNqVRdrwof0QtGpBQ/+lGl4UcKnvU9nSyvQDqahT8tkIyYDozL - J41WrSo4pWtocjQsE2/4cC57gwk47kxWFDwpKhbGKP305FFzXy+q520eaC7Lw3+6 - IO2ils9jVYNMArgrdrHepUDfd4OfOZtN0pIuC2xAfyN0SWp2SdtbtWRTQDq8IDxA - fUrwSfD8c2zHXpdlblogjkVnvznUNIoWBZSLIThDRkCUMJdLJGyPmkHsCP1cKkkx - YRFO7fs7MKgO9ApPjHSA/ntZDP3bxWgdezatocknP1JIkYBqaH4kjXaLZ1O61zGw - IvpbioJnMWKYXKzmhVSzQFqE3xeD9qtIG4Zb4otMypcyd5f7xOapLi/8rKWqYPjj - 2bpd20FHbv9lzN6i1ciQf/a+N5XntsmJiX0DAyqwmH0Em+WTdUA/AfVoh/lv2zz7 - 7vM7Clpqqt0a9DKI/N5GXQ4s5SgFfzLjSDOILcvuVrM9TxeCclcVH/nfTys0B30x - pz4nmIhod3bTiUGmPXsBsL3g0Sr7X6dleHs59e8UBuUB+H4oUoGJ669M0gAulcDS - XgHhNmk9IFVz+/Nd7Y7Mq5iOV6eLqfB2FFx6q3lrckFrCR9WJn9BDGwTkQGRZpMf - wTZJFDN+mm6VxoDo9Z8XgzD3veMzI7HwCwNeVpDPl4/CWpjn65aX4HPTMbAbxJo= - =RaJC + hQIMA46L6MuPqfJqAQ/+KB3TkCtRJRF3ciRg3V5nw9UyoqmpQAVEf1bXT2xL3MP7 + gwuj9zps9npFsTN7FrTIJ0EOee3GUM+RoBMGaQBDXsKaXDcTLyUu7q0DNLucBeAj + AwWxraXqs/qJ8BKP6k7VcnBApUmeU+XCNTX2gBG29cN3mG1AO7YFXZdvyDuhJSR7 + /xrGPXuAM/67MxQGJ96uOEH9aycr9GHXFMWwfYeMVkkhLXPgwx0wsxRTvahg/vX8 + oTvd6e9OWRMiioOpdFBEL0kG7PDPQdLfFNHmRaIDs9LC1IkK2ZuWb0oDyPTBkT0p + GCMl3RNMXgdo2C4dC+S/xGvz1KhiMBQbCRtKTnGJ9OZh7FJQcfiYrYXlWiYmYLMS + 4jLtdfIDzjrNypTNPgqjGnL2XqTZHuehi1Ys6KdaeGAL9/K+8ZbhKspK3ffdg0Di + SUS5uNWzw57+9563Pm5S9pewP1kGnOkc9LDmWuHW/PkR8mmjr0cgxbRINkYUMVfJ + XiSZ6HwtfckQZbhMNn3azpEWdC22k2aeBcgGXJCn5oTn1aol3FTNmukqYNaQC7S4 + PK0dtpP32ts+qLrPoaiVOCzh3mRqWp7gwJMlHAt1VEPYIB9zAze7u+avmoSnNQ6u + QneSM34E7pHHQdLcqoMnFufzansrzGZyAPs1dvdkot7TKS+oUVAvN4cXvyGuJmTS + XgFehymQzEscru9Aheum0BZ1Kt7dBAzetR6mcmoIWaJ0BzhBh+5m/u6Du5a1hjxx + HXBSk8gmEz/XquYEunX4qIuUwt5/az4Exura3lds6J7loAbUh4Wx0VVO1cOJB0I= + =xmnz -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAtSP81WWZgXsdClWvxVYC50HAmgx+5QYTA+dnAbjljCow - hhYd6KldcfRUgs0yESXnaZWmaLjuV/C1+mDwjn5diedkgOD6pcGhD2cVPTzVjWLB - 0l4BCyPV6SAEMnlKbFvMV/a6QPb+G3May4Bmpdr0MuOOuvVQ0GfibU39Yq/l97l1 - E31918nOzxOoimX5+aD/Ipa6I6OeJWXfLoPwXrWF+W7ax37KBdreEiNsJFGmeTLO - =pusj + hF4DQrf1tCqiJxoSAQdAWlciGJRMBX5nbnV8hcUKKqC0xH6e+xUq+oz2vKcT5QQw + 18uUp0YkDUx4socIqT0R1LWkWtlVwy1HOOepS82o6LWoUhfUdn1JcRDXIAZ1H7Oj + 0l4B0cMYusemsSAFJfXUIn7oTX+RUDljOZbntBL69pUfCCvbNM5WTI6noVH/6fif + eGzHwRL38CnxJ9343j1EFmAMNm57fz2KruMj4xKewPLn7bQAlHOnyX9oNiwe9mfK + =TfUo -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAEBFNbbaQVJbZtxUwl4yhKknbOveJWo64XkinL7K4zyow - GMa2wcveVgLxZGTyxpJh1ZCTjhMholyh1n3oXfxA5alvE1KWP83slnB7vOPf/AtE - 0lgBhi6874Dv6xHo6voqCVJqCgKnjOt246FfpTMqF7JCyPO4WOEi/pVtvamLpzPq - OxiOZXclsR+3JJcaFoqnnEnAR63iD/s3dIPJ+JMUUJGjCA+n10qCEcZX - =I8yc + hF4DzAGzViGx4qcSAQdAPfoOsq9edkFQ29CA0J6QGKGO5iIjOmR6nNYwBvj1YE4w + vpC8tgoZpJpHXCWaU9YVXW8TR3glHRu7CRkMWSi2/cUrlrVu8jupZZE6jaVV5o+n + 0lgBTJBPHUXOG98HeDZf2C2udI/oE4HJTRktjFCIMA5OyUhhfvAO5nFujabi+e04 + Ol2FclG1ilO+0gItXZyHao6mX23vj7p6MW+HQLD0IyjTtP1qkirwbe48 + =n0gw -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//b3W7bQ60adFEsRjETvruMaKygaQIV+hFqvENTCD5vna3 - FCIemfBNYO+KjnkbZznKrevEc2e3CQOuokk/7rbpALYzAZzaQBrx5arYObJNl2kM - g1vdDlD+ps/ouYmq+ztFCBqAmTj3C43GwCDs/1A9p2FipSeHzeDsv5U7XR30rOPC - ldi81SpKP2GLNt9GYgqyoKr99dk7nVKe+7cmd/arJyT6xTdAzR2i5AWc9qtJxUB3 - /5Od9YRd84SxDid/wgwvw2QKL7bhE4gG++rF+9lli88C8OLZH20hKje+XeSjogVm - NBPFhCiZSvVdLgVXWNjszfoHjiH1jNg2pEXAR0j9pbixYO+xFizp+/qD5dWRVFuS - iNBSi2OOKyT5yD35F0hDjy3WwHePjm9lpzpcYTJxbTYqEizlNDYRCkGdGou/iuhq - AI9+oZjwDihKsgp7BCUZEW+g2auRyLsr70n9Yfy2alEqOX70VWJrUstHMaKEUztL - VcY8YrvtEuMd9Voy15Ro7Yt2urI/E38FoJe5C8T/o6FTwbHgMNVPyKJ0Y07tAfkf - xV9EYrlIMMzHq9mtTG0YPOdJMfFiNmK0Tz/3+5TaiDTk5i0M+0qDf5KEqVZueEjI - Lrxy3gFV1Za4h7Ds4V9lK1x2gGlLMRhRcb5KyzKUrbJPIePYztEkNpT53/sL2fjS - XgHN0/fsxQ878ky4bglZHKD2/fNwB28VZ9C9MSyjoU/nvXSROWI2CIWCV2IUh9X9 - 50XkM6N1jk/lzqDmMV1Wg57Hdy3SAevQkUluzbG16j2/fbfbqVyB3G4mDduQ7vE= - =r0Kh + hQIMA2pVdGTIrZI+AQ//b2a5nKFtFMG1ApozBNQ75hMXiDGvtMp0Bv5vN78+44Hg + TEypECQagukk1Yun5vbuKEYkoM3Nu1nuKvc7X82muXo397hpvCzXIAM2C4Z66T9n + rbNZlQnYaN4M3oWnPzaDfxwwYRVhUfkr8IW98xTaD2gJJPBVU3l/C9VlA+05Lzfo + 5SxqwU0yIssL9xPmRKDrWcl8tbpJCH8j5fdQZvxGTltbozmG8hAKVo3WCeyWdOGR + wsAvB324SnaG+O3lxvhzD4g2HwPmhUSQYfljkYf/EUiCyurLiNZBA/ZE4+RXqajf + +e13MpdYdDEK2I2tw9qp9WbLFCSdxCjgxnxRlkx8YIqxysvfvfztgCFrpLmJQcAZ + ciKWxEosgf6MRxaekplxfNHkM4e6EfYCxnW4SsTCLC+UCCMjsU+7F1tVgNaQsGOM + NtBQjIRfGQeAJUuc35m1rJdrPX4duKWk/GE1VRhzCmwrYlQtqs6vzY1Y9wKgGTGG + 83Tm9+9Ta1QLgJfCUPQAStMRNvs3HaVpAlzauuCZh+kFiSWoQLiauSoUBxxLreM6 + 8LmmyWbRCU8c5PVZVU6oIt/E+5EmdTEd8PFYUm+XLtU4cGpIQ0hAM4PhC2GWyYuS + 8KO4wDiofRohO1nzNtHOBwWGkCGUngMWimdicqIqJ0knNqNPC7J9+7d9XLVMJHnS + XgFZ/arJ9sGlzVOptIbSDIkCmu/BkCwqC2mPMT5fJBPwOkXi00G1bmY+cg+qE3jF + gBMuvC6W5ztd0Fq6eX1GyFrFP7GSICKBNvBIOOvBQSYe4KybWqo2KGQVlqzw9p0= + =xuSv -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdA+xsgq0O5BrdLgSkSfXiosQRkN3zwGrWLS2Isn5Cx9HYw - DNNe7xtR0mgDdnJ+rXuGJEZIQF21qUv420DgBJvTukSgOaxAPB5v4TEvBK7HhHo2 - 0l4BAeVBrpR0sI6ublJuUsGXyVmJmJcYHXgeC7vyn994muAKsqZjtKUkAGXY+XeD - 7bjMG/Ye97Lx4KjIgs5ODKUnWB7xqUivjVUqA8f7ju0uPAETJ9NZMEMbjGcd43A/ - =7z0G + hF4DKKbvh61jX5USAQdAui7/0bV+IZhGf5K3LZyQp0T8ou8H9HFm3lUJslT9lHAw + SUvU39NFxfUKZPoSobjIWmHrATjqGXrgRtPuFTVF2Bh40t13GTHJz4lzKv4N8TV2 + 0l4BXl1sAQTXrUnj/Ic9qjcWOJ0RZAzzcFmv3qr0C6waa3PejVzJJTqBJdC8es+1 + ZIgczfkqfZHuyFPn3JNJCcFxAxQ7H97So3Ps7tMf1Wtoa0LwBVo9LOKh5SidieWq + =i2j/ -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/z9/host_vars/yate.sops.yaml b/inventories/z9/host_vars/yate.sops.yaml index 6f0ff43592..5de27ee9e5 100644 --- a/inventories/z9/host_vars/yate.sops.yaml +++ b/inventories/z9/host_vars/yate.sops.yaml @@ -15,203 +15,183 @@ sops: - recipient: age1yc9s8r7zt6tc7scfyxc3345khdwqrx0lwj4z6yp56h6rmauev50s5yqr22 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBPMjJ6alhPUlh0QWVPVmo3 - L0YyUGU4c0x5U2tIVGI5enh2UXhoNDE2OTFBClBGc1lrWHg5N3JHYkpIcDEwdHpU - WlNQczZxWmQrWS8vL0c0RzV4RWEzRm8KLS0tIGFPN3hZc3dNMllWTU9yV2UzUkJX - ZlBKeHkvT3pEbjBWWnFyR1RyckJ4bG8KfK/lT0sxbrstUEILKnxK7l166RLWFjq0 - gjcIXHIxwz8n9HfZoAj8KmBHU/iBS+cLNwv9JRBLjrRr3HKiTTOXCw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjY1ZZWVViZ280czB0UWNH + bWFkNERUeEQ1ajFCeTBxRjVBQVVqRktUc0I4CnRoajhsWVlBeDNpQlFyU2VkSytH + RFltL05UdS8wSWt1Nm9DNDBQUlRiUDQKLS0tIEY4bjUvTHhRNzQzSTB3TnJpZ3RX + ZkY3bzR6U2s5TUVvUnVjeFVWc0pscGsKWeNvT/5rXVb58NORNupq3iPNGl+/IUzD + Ek/RfX/MgG2PCX9GRW+82KFnWevKTy5z1e+ockybrbgPL9rAEdK4Eg== -----END AGE ENCRYPTED FILE----- lastmodified: "2026-03-30T18:59:48Z" mac: ENC[AES256_GCM,data:lvZwZfxSKd5Sm9H3sOuHQL3pOu7fRyOy2ywf5EN/y3Txuv1I8pPtpeODY2Bd2sCdwbL7oQTEr5C7h7SwPa41a2GxJCv0X0qUiJn39J4LJVQh3ytwQtOotBp4Q6T1CPqDSyQUooDMiXVrBu25WVDjvvB1X0O0/nztGk9e7h+7N5Q=,iv:zFYLvdAA8P7hz8k/e7RkhJqk8In+1R1mF6tFQDfPXX4=,tag:8mVY015BLGPh2D5XFvuFGg==,type:str] pgp: - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ/9F9L15CUOwXpxH8gMTcf+tgeY/js6Bgwjb18oZX9+ZPuf - sKXcAJRIcEGozUOonEosU78yalULADAHq6CmZoYCQzxlJ3xvA3qsZLTGs1iom0gv - eNbPbc9KDj0LopvXCXaKJzT873XdEpZ7v4kVj+a0T/4byHkkl5nRx2qmxTi4mbwn - feNcVlQCfLrJtWyPuRa4kGjoH7BgqqSHkh7OuMIj3HGW7yB9KY7NfdALZEIYLQzM - TEM0vzztzPm6bo3Vy0IrXyD1QbI5DS3TstduN12ZlBDwDJq5TvFZTi0ooK4zRXF3 - KmkoE/FJi6s/aTPrOTs6pA2GH2OEDsxAaJGtMgU52z2z0x1SfWZrCXL4LP5ADWXt - LuuB4Jpn2weHHG3Ko6gsL6IAvyqJDKnUKjbRSLzBZ99RKDOZZ8IJWoI26RsI/XI5 - Sy6TP+AhpcAehVJYP82Sd6Hz+kY0hBvHqdHaXz+HN7gmqWKmz7lpziFxKWiehuQA - 447GkJkFoH2QabL14WKbJ4Lo4otAU6w6YWUkVu3EK5agX3BOq/KbR4xwFzpshPwL - CETFuydkmeok3vgLXUozGf1NTJ26yx7vht/JUmpcQ91tEloJiLBRkVkvz26Thfcx - dtUWAU4eajwAm7mrHYz/Bc8sYA2pTjIe71cUuaNxW7JL4kvLrzS1diRxoKRvldrS - XAH1ua5vamHYRDskBRGTMRV7Cccxa0A7TALFH9q7hoEKtKy+FE4pKO6c+oujzdQF - YRBKALXv6tkoJ39K00BLXUENllYx4PBV89uBRxLmFKf/HyaShJmkikvbwQkw - =4oHl + hQIMAxK/JaB2/SdtARAAl0/VlQ3kIZ9/GifIKp/G1gVjQVgwMP8PrvH441Pm1siv + iOnBmiIRVQnMM2ECjgDCsA6x776Cw9HjtjiKz4zpf68ImwmkkxSEZSNyOd1EhNIf + jFVyM2HiSPKo1LMgHSuvYGXzQEQKKe4PIkmSlRsqd9fn992QUgduWF4kxrfIwXn2 + nyFsJnc15dC7213KLxlFr4a6UsMdzAfOHwG84GTDFdzGyVqC6kMzMhMFUT8s5uO0 + ngpZYMcgTiF6pdQjDF06/DIDwPPZ9+2IzfxEC5N4ptDTHGX0KG/0onsEqM4+lqbG + 24oyLZC6QFAuK4J0LadSQoTRuZMIUh+UKWgVsIoVCicvhrb1V1SpnQMs1G1lKqMn + 8U4JY5G/2j5yKCqyZNovZj9JYC2clJLPXHb2ggSQV3JWxem4QC0QctNf+56a9c0f + wPfuvYxZxNWF3OZnpyb/0tuUg+ChVZET8aZd57W74PprGZf4tCer+c4rWHO3FE48 + XE7udiX9IL2sKwCGpLZYsKVbdNaB3qj+f76iCIy9plfimsG+wUCBmuWuN3P0G+Gi + VP9sE6WdNmM9jri5OsjiCJWvsmVvNsA6KukBmJnwOdsTf2JTx+RVCRHyoHO4IZO+ + d81ZfdHb6AvcsyjYQdoUk6f3XnfG7qQWP96omuVvNdbvXnvuaJmpuLXsJahWIzLS + XAGYJRDeBHDKzRD0RWcYQhU/edtF6ljvTEQ9YncMicOfAU5tlGuERsKWSICT+gg2 + DZzLCZJSjkY78z4g5GScElPLbTvR4iKws5gLwnXGu0j7cMWWFOPReapfIJCp + =HtNy -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf+MqqYWFwDzxSa3z4sDsitxgq8j0PpK0JUvCCNBa+gv8eG - 9chbXXIX/xIVbgMPAyS79bey6Pl7JxLAK1kGKqE8F7lQw2qXfQIHBBJK1NKPhS5W - hRdzMKhbF7ZNVgGbUlDImkxprQDG48km+w9yyRXuqidopjNNYZScWr/kbnVwB9eR - HNfvwv0q0CY2gYC2JT/+FdVkItgqioUoZQOb2pT73Tdpw8J0Awp2XL3JWhe8JL+s - Kq/myoATX1sLiOz3E27lnpgR94H26QTpdaDwomfJKoDdn3EBm6d8/hVpWUTzgfi3 - fKnI9fQ9VK9skz9R2g1feaXQ+wTaXgc9apQg251Zp9JcARMBWh9I42/Iny/9njFr - cjlm9oXgc62v2+TNdRgK+nl0MFbCS8wbYs+BQ+E/gquKxBwnBWjb0ruoLYDTxfj1 - pTyq65j2pc+PlE+1tGYE8Q5UYebYNhz6ClHfe08= - =otZO + hQEMA1QflAioE8i3AQgAs47PYXJICPkx/c9i57I/2Ofs8nohIk+dQshhXq6ibdCe + 8rhPQg8uWNSfirlJfYLWw6QNSQlNT/nGNm4eWQN0pGkdyEgMzdY+WSP1G3Mbtcws + EjgPAjqcmNGei62GCfb7wXj4UKOXyKAMA+0Lz5LVGg4SgX9pHshe2+O+d+N5wj3U + GPWiZnysdEgZ2lvcCmaZ9zwl6bG7usD4I4SeQ8Z4sq2SYos3bjUS6qhHssSsWtkL + ysPIEhoh1saif2GPCkLHWhTjl1ytYCyRyYKa/n+p785Y/gCpHIWXU2g9L3t4c0Hu + x9bxWIRWPBNYMlTKf/nRX4XcdPbbTd9cGH+Gk+04ddJcARc6CMBjEccwb/d0Bmnw + r1Spr72nEVubNbDi7iZgrfz8ihwhcOkIhFuYmHpupNqFquskVeJYvlgG4+0Z1+hN + C16ql/vXHcW6zVsRlze5E9aBvuWHNalKKY77L6w= + =dDIl -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ//bs3JV6rGwtym334ZU0+lPECpuj352p46seNHmY+FiOiX - 4Dafn26/7P+KLV6wVMBNhWmnxWvqDzcCHjr24bKUs24F49/t7CI6P/fc0fkCzGPu - mX0FGW3eOPRfeqrnrSjA5UWbq/UwzcWvGbQmm2MQzI/sgAiRj2N/6IBcwXfmqb0o - ksU2VKhFpGGVotbb7s1Mf+5hdVk4kB2sPy8ogX7Y6voSH1Zf2yWRSy89caQGJtod - fCKEBgJusR+F3xEcfnJVfmTknav0ObXz2m9mAFq8aosO1DtPZlKHx8aYnB2SkQl2 - zFYIF6OZXOlOkNYFo03Hl4VHnNUEA/jz4QRD4hQAVCWhCpPua5VvHGGZxAMBn7kp - iGE+7kuJ0iO+DC3OdenU/eP9C4Z9duK8bOMscfax8D2Cb+LwLLAxsnJgWs9F4ri8 - WIPo218GSFjqXQvDGyZUXv0rpQ1xjyGpLbTEQl+UURU9rrsZLW/BdGmABUKLlWOw - ZHFaoP6gAKhZiHB/hEPZNbJjPjQJMLF+AfyZSy4TSznPlddJdYuwTnf44Vk3j7s4 - 42FgAgxwiTEgVBQlvHIJn6HNvWg4bRXYWMVklB5lxnSdJWl3sAABD6vg42LaD+tS - HyyXDQP42lbqsxf/sMfz1kx3yK10yk5odx/C3M0TsWLhRkKjiGk7ze3StDshazTS - XAEvQEt5Z6H6hf1krbuCMoCI/3dN7iEKmoxDAmM6QWfmBEaHFYG/lzukmJ93BC+g - Ld9lI2kMb9aSOT5OaiaPRvzsKnWqoUUnXBvi7oovh0UJ0ZLqGQ10YqKSMudK - =u6SF + hQIMAz5uSgHG2iMJARAAs7QBZCwEpFRchIu34zLbNkEFL4Sveo3WWu72RCzM+r5J + NlYf3qtMArZvEerS3ingYrE0Pv90NO04g/+zltVeC2VNg+k/deJKYfTGypnmHno5 + K2eReg7i6mu6rE+tfifLH9k2OfQ59inSJR3NmOEu57JJsxV1higietrHPW8Az7nu + eNELElYt/e07qVmjx1Km9Ko2y2hpjiZ79/8HFC7WCBOorfUIhHmfv3oK1lYgUvH3 + saYVcRivBv9k9t8LECUyBWUP5qKDyy7rGV7VUi+Pb02I3EwuidgvWFP7D6pxc4Wz + o/l+cGoU9brovnIgIZFoKh5rbLXDghkn/hwW2HZo2DGNhojVCSGIs00vtL7B81DN + MtIP837UgTUAQSHfoGe3nS1CdLXd/QrFWwhlU2T2f/1dZT9ZUbem9RIhbc6byeBa + d8drtjYELB5Pt9Q2uGsmkiUPAJtQDWfzUSD5u0cO9GlvrrqUcqVLSuClfXQIkgQW + mygpvrkipy6DtVv1//dBKm9QNff5Fz2lUCK7fMD2Ytgsjo6YvysTDh14pv2dQqxF + MG/4lYT8FQja1gsAnWn294WF43sBaCYCLGlgoowNZAqfS5UqNLFzbAsxlG4wyuEp + mn6l3EyrOuUfBHkTN98Ks5HKD8uDCigznuu11syavS7RtExQ9kqkxChRhpd3ASXS + XAFVsDqNZvk1q2cEdwGOcaU+qApkZPcQtRB3vb3Wwah+kKuXVzF7qyApMTsLWzqZ + k2UhJKC5VSqrOvGlROBp9sQFLQePlKUCJDsFrUtyCXhSBeMdoRuekFWJOpOJ + =80sx -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DsZXvxFXTXoQSAQdATIy5gHjxZAmVSUVGKfFTyPuhQmT3pArcFtdqZpyV7Xkw - s1BGL6c929eVcI9DFCGlgo2TixNGGNHtXjKm+yNnI58hQAc0TqJxENrH1NqlsgOM - 0lwBTE6F/ujWQj78Bf4KXaLXHFjP7Sd0seapY6UfGNLKT83NL76fnIsa6ht072t5 - K83YMdvFXZ8J/MxSyRSjRxe7VoWomX4+SrVZ62ndesYTlWOkufneUOJrWXYYGQ== - =/4yx + hF4DsZXvxFXTXoQSAQdAnTQ1Lo81xpCX9Nn4PHWpWn3YCxgAUF8gGuILQ5S/hzAw + 0u7UtaZAOqbyWNNkf1wXZXrgJo+mO+xL2S9Z3Az+7pAjA0mS21knV8cF7F2bb2Sw + 0lwB0j23vR/l+suzjRN4zPpS2MXpduq1uDf31HoxVvf2xgWZt59GvM7KTsgR5RRZ + ou4n2Tgou9WQu+AI3Uh8jlh4BclUbCq5AuK3T70dnoyWxVNaCQnAV1DOR+2A6w== + =zePe -----END PGP MESSAGE----- fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAvgGJg8s8i2AViW6lCsgcATNJtFJjDrsQEIeY/5jDNA8w - 8s819rAhtppURZGPo7nt0h6p0cCJUZcsUtbEsrpOsv8HWeByj1nSgko/4O+rkO+Z - 0lwBGdyA6y+HjMiuxsiBj5jvtL1IBMwxV4o/Kwl78HnOnTk1sMu3EATeYiUcisED - IuPxauGsjIusLFWM6g6Q7lpku8Z/Zgiea7uC7hnTwxZ+QzRt7kwmmXhSN2jpbg== - =2+p6 + hF4DerEtaFuTeewSAQdAlU1+FQVDX9m7mObPPlgOQS2KDkUJqVhJeXa9pZOai1Uw + L5u5/V3lCVQJR/sFUppDAkzocuGDY9nSf0KK7GlK/mp/8ucD09EMWK384e1EKuYE + 0lwBTX1YzlRFRDDuHp3r4GKWXVDcx36ap9Sqy7PYHa5fvryDBoVKbPQxTTIJK42U + kxhQhCOuPrBzU9ZZAfycTu2d+Cu05YV/5eP802oP1+NsT2OUguz3+3YEz1JbMQ== + =Y3TF -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fARAAnYApG0QBR50c7TqbldpmIhZXD1XSwwoNsIRDNCT2E8PE - DDKhNMH10OLHRaylO6zIRcAoqu3EKwLuGT8wuk8hqK4HqGtWhSopXcqpTUR+aWpU - 6URK5/Ffc+asg1bqpxFzRFkHNZ9KBnczOCg/0LObCIRPMSA9vyYEDVEHZTgC2j2j - e9VQx1xOLHvjEfcTJsmiUMUD40XwVIk7IelJM6otd8gDApmaF2GNtB0OLA0oLFLe - rSRKKdRzSJ4s2s5GCyCi3ulLEUldrjeMgLfxZmNOyxVB9abt/OcpiiqJ5y127OmQ - zEt0EMMwYMBJDYE40MAZTEcYh0jU095PwpXFPtrdnMCeNppvPtjGtfxchyXYUhLG - 118PAgx8XmgUJo95YpvBp6U8cNWYiX1cq/Fku4qD71UWMcGVt9vnmRlFWACU4Uxm - Ycf7u8Jff8kOFSRaPU2bxqE3ex7FbvP5ieoOg6UdnJhY4syX57X0DiRzg+Nzq0E3 - Zrso+pLTRv7OLFbzxsffNd/AoQ4KvC8RsmZTPRteKJRROk9IouEH1YUZIYau8Mzv - GLpZpqerbuAPX18fRh2QlrE3X8qEAjDz9vyLmmoI8B0ROsRU8PEK/LMmBfUqXk9F - 0FSGGskWNtX0isjwDMebYd/5uvOiNEWBBE/PsyImzpYYupyBPoyPb2N/idmZvnPS - XAFdUwOqo0VPZFAHtrRysO0n+6SvZhC5+onATPz/9Do3PEX0tfC+vLPljsvvBBG3 - 2nf9N9g40hEnRoVnX+3QWXvdOeRdy3e+RimJqLN1ZU79NwQWg6vXnudrroJ2 - =EGQE + hQIMAxjNhCKPP69fAQ/+PqC8UwaDZVJF8d39WFHs5cD5KmaK0ARhbqB0DQ00Pfdt + OtaFNhqTk/9hReK0Sssyr7eGlWwG4ZMpoGxSB2DVGA9L3uhSTm9voIeqxTBrccAp + xOIlUAXB+4fMHRgl6XplAFUtMf//gbeZPTvw4jAFzYuJoYxvds+6cg1YoYo0FMBz + 3/hr6Os8tgZQkwRBycH7UP176DmfQDdemLNeIR/Cmn9Ke2QLbQnZeyBRxeRgEzTD + hKwIYMkKmUCFSsn6YlSaFXT6q5nTFT+qRa/FhjmLWyipCquzCtmKxAoJ3rC7Ju34 + 1p0TDSMAQTE2Zo/h0mOmyu6fKwHzs6jbrdIlsZfwteG6bOnsD2WLe9OG44oKcmkK + vQJ6rZchRCFYdeJ7bVUBjNwzd1MpU4HalxPupJMe7sUWjgkyU+NMwBOAPRWmZVTI + KINx/2/6h+6a/YqiRI++YFxPtRrYj8JIM4b29RouUrFMvoyr56p7BQptLq6jT65w + D76awdptoZiQeau9ejJ/KCWWgilafomGpP9p7IKfBcWZtjsfxd60FyNSrfO/q4p5 + tp/F1bjvdK+MtJL2XqZ4bYfhSWmRJEcZz760exbCUcdlhNTjc6kxQZk7doXhkW1a + vDPfOV5N/Ua13JU2Zro2uCso8EXFu1/mybgOpS0NCwWbdThtA7BqZXk+L52WemzS + XAGr6Z2JNVSMZpJqtJQd623oqs79acGMIT+b4Wi7Z0EoMznYb4jl8yxcJf2QDrhb + G+JCHIZ9nzDniCOq+UB8TyJCUEtEG9b38Pl9eHVfOrpeEZU4mbfgY+gbkZ+5 + =enTx -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA1Hthzn+T1OoAQ//YKw9j3kohiHZWFiKKAKU0w++ltpf6k7+bTsbc6ckLBAL - qpoPcpXWaoU4ifa0aJi5iItYqqziwSKcgZPK25OLe96861n8YeLxyIsvg73OE143 - 5BBmGP4ZtZ/H7Is1BBpnHmu23WfInxIRQbNDvtDrSTlk4FsrrxQI9glkJvdemCtk - 2+NO8eSwA32jAaDy4vMHH8vM5fOwpDa4MphsITfWwICydFuIRxEdrGbigJUqqekP - YLcBQ2MfqTHvjP6tDAYOmiqYx/F0Hg1JRsLnwY1vqRZmgwDr+srG+soA/1uE5ywn - FYpt7JI95LRz2Dan8n/iPev3vss8+hvo1tsTyDkslCfOWF+ZS86fkGiI4014UF5A - zX6RrfsyNZbhoxpqVRWU/Pb2Jayl71SqHRGxTB8/iY/UivLfpLYJ3oNFGB+1yPL6 - 3u8SUXabq5FnIMgUiPRZ8PLkou4wxEG96preGHR8sPlu1BVG/Um4aIanJPsMm9qc - ppNQOv7Ilp0693kIYA/+zSJV969MZ/eQIW1MD8yj/pP7QzVM8JHOZJVYshtBtwf5 - Wh40WVg1DiBMU7dpMLOR7182wg5BiTgiBzq4+cd5a5smvKtpo5/ZkEx6yXUgcVMw - VuarQ3VDKW4c3j6oLdq+kHmdcOm9wxkXgemU4lrdVmlzT7xUgXmD6zpbUnEuTxnS - XAE2bS2sAzTaw67hFYI1fKax/YTsOqJjV7GVgNMEQ/8YVpnoWUMrqDj34nijKw/C - 4xJD/I6InvlrIoWjUec8qQGLNIEMf6+hRgIJMYZm53AxCIEnmq/vO4JgdYDA - =yEXL - -----END PGP MESSAGE----- - fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD - - created_at: "2026-04-18T22:36:25Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQIMA46L6MuPqfJqAQ//Wb9PK+/Hf5p0Tl0tmAvyS3cXVS9UkCocDxHQFtyqhDxa - xJMR0zuMl1oUG5AmLfxGKd97btErNpVjARAGT5jl1DinSC9mbSqJEv4ZJCV2gTBV - CIHjbEgenToJlR0Xgn32WIl5BFKQCQS4CJ9k8N8jGIzlSvMfUK3hSHm1k7XJZuvZ - wbH+I/wbnqAGZYec40DpYs4AZOhq378nVtUSD9HqVQErM5nFc2OJUxtEwnB1WvX+ - PmN/AS0u6P0SKPRqhQKiUMo3lFjxmkfigyEZveIIFK+pzlvmWDyOkGqqqpG5UxNG - rkzpyg8RKLW7+7BoULRoW1y058cA/WFS2AeYBahrnLVT+t1wfvzNc1jN9pEqd1R+ - xt+x5VWxNFprs94RSiOD6yMVGLdmjGEZhjSaXYMPJvWplbF2MmjcTepZL4YW5Wim - aOb3hH5G5LGcw6bmwiYO0kOIRbOsqFCKeaz9fdgZe/6mqCkJT6USie5kAXxIzY4k - GbXtZrXAWRO7va2TQ9XIrB03AeClWjPJYM4PdFaIXsGQfafqVeZ4w5diGoba6Ryh - 9nhGin7mPiRQDIEhlb2+xzY51J8uZEBW7cXoYVU7EVsnPpbh0TZNretR4eEZ+7Y5 - VdLsybUZIns0AaDgtnlanKr6+ZiBBck5xflZIvSy4n0IR6tPq5QYGCi845HKCPzS - XAEgkdMYD3lJKlN8Y1rN1yuUjgulkDGQijcGnxNOSIVo4l3Py1PHMdcJaI1K7gYH - VQZ8Od4DMrFHPMQcNLbWJ861Ak5KVQl436ME4kVzQulDFjySgMLAjQH121Oc - =zA04 + hQIMA46L6MuPqfJqARAAk2nQQkY1FTfI+pqeCNIFPh5ae3mM8v5bVpBtk3G2nKvD + K69/UrUVzFVGsA4dhYk5vsNU3XmKfPyCM8ynKE4Av+Q/bn0Ye8RU4vRKjdEhnXl2 + kRQF1cy0gSUMfKUIzk17i2KaamfNoXum/c4QYDJbbP73FZN+Lbh27JST89XDGkfs + l1zD6zRo2iu6WcqxR6PvOic8onlTAU5IFFxfAzfQG8GzEO/ijPFzbmJF8G+xUzea + Czo+q0uiMIWeboljXtnboHdd7Jgl17BRipdhqurzkPVeZOu8P5cuq7NrDgf2iaKT + hyefkQtaHGbrVdWD8OMx/9gUsVDrCNW5YE1J1Vz8QgXkkPggPN5ye5qUW5ewGl1R + m8LJYcjwS19DUB7RlRE743+9QgEdZ1wVT8T4MZF+ZSah7lZJ6+j/OD0Kd9CBSJjx + U1mqQeqvjRuieohLmtdYWj3bn4qk/bBnqYwFA1mP3lDozhkoUbKaVKYrq4wj8Jmz + AopX/ZbApYjjAQLq+KQgYJ+U9mjQWC9RG/51EjBzc2RPDVCplzboVRhgNevIAz4t + gCdNrJ4HqxGqJkND0eZlMlMo1bFi/M7wBdbRcb8+yQb+SyMTVHlszpm0xpOYzwIP + mrQHehr5vurhQecQcVWqyY/YIomF2EmG4zPQyjauYzQeiEP6P/hEpQbiV7Mcvs/S + XAFagNTZCTEwnkgU3ERlni1FjIBtJ4VLx3KHA/XBT2oQv4iReyRwOi6sXJywOJkr + JPNR9WR/W6EKQF6ykyu05C7lGgy9eGQl1YW+TMMdeRqWEc53im7putZetJ8R + =D+vm -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdATh9i015LfPfH/krGV6UrgD7OqaQXCw4vEvD5/YJj3QIw - M+H7APXqiPb85OtFZDB5ZgE0l4iLh1iLkHGd0qNMPIo3koGMckgiXqL0plkqWGTv - 0lwBHh9pBc2qRspXaCy49yj9pPR4PMxlrZrCvugQVh6IFVV583JMQMNfqLV3X/dy - 1a/4qfGW4kpllSUjmRkbXS8vnWabBNH3osYGjhFgEWyKU1nQxx+E6NjlFDu1ow== - =XRtj + hF4DQrf1tCqiJxoSAQdA7+cubU59r/Wp8MhfHfyzUsNsxXJk7Aavkeg7QbLDDxkw + 06O38oDB29wa1zQ8OqMa4Mf0tpnWKr64Ck6oNcUzHyFrksowix7HBcEnEtt4qSOh + 0lwBtTYRnkKHhF/mLuAJidCz05gbo6BDBKjScf/pVI14LHVdgSCT3NoujQSjs0zK + ApdhqdNfPc/ikRYNc5NLczhI2Slc+vPRbvoxy+GJx+q9EfBU0nzZP6v/bTqhAA== + =1SrJ -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAkxjXvwHJ9a6wjjqdIFY5UV5cgy4cA2gA0c5lHtO/Qhkw - TMMVW2oTYGFl50qf1AVxdpmaSvsLre4JBqX2LDAjMF/HQVR3H3SsVuryBU+oi/pa - 0lYBd1FdsKAXvgvEQW8L9IyZWF88BPh9xBqGexGEX1naoN2UidAOOLSgpONFk53k - G/lT7+bSz+7RTxqc0WB6aeWGS4C9vyndm92Zl+cn6mWC7nxBdeXvYA== - =mTdU + hF4DzAGzViGx4qcSAQdA0GYYmq5XontSkJcfYRUA8ELzFIawtBIzv6v7PskbygUw + dqYLJ6JdTCYfborpUJtpBIS+6BAaNAcwqF6mVXncFz+WD5eyRGBMugfe3EQt1juO + 0lYBmeWxHK39JZXPqUHjvCtJ+Y6oGQCTzMPA6QfBFq6CxdUr2/kc7q1+22rXlVlV + XH7sTjCJ1QwoEc4afUsxQFZibKq6nO1cNzNgTlFQTJGFAsLBx0shKQ== + =yCU9 -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAAuVuIkl34Z9RB/c+3L6f8ACMw3PZcpWkrR/QB4KDWhoCq - QYiPr8Yl7IDVeM97w/fbzn+uMev5J1f/4QlFYhYRJ/dVLR9j8K5la6i4rHXEsX9w - diqcjQjatg/d7UiI3lRBMm7KIeu59odn6VKq1c0nLWFL05eiesDjJr0JaPkwClvo - 1mcBkRqrk2/CL4513/txikk5YhBeuYp6XDx/oCEZPrLbZkAvt0oaCVrouT5OLorg - JtoMVr37Y6S17KEmcTGobMrpmM2Xd7UfEGjazBWJ8KxxbK5bZBjwERBQkOipiCpv - zajQm81Aluf+SF0lp0F45oG7xaF5c/iZiwkIkdIGJjTjZM8dJEAdY2V3Q8dayeqE - gx5jHm2nwYZ4QhSWExcv00s4TtZzPOM7E9jCTIRDAr7jEeAlRVKU6RqWxwFPF6Ea - 7XEK1I1a/+UGWLmMG1cdn5zGRBx10JoqjW38zI0S1sKwnr4+3ykrd+9P3TgJWfat - /FkUVMuevu+/wiTmN/ASUDuUGpHUVzZDpTiaWpetIb/ITFnbHmICoTjmJTqKaaFI - CtdjcdbSplWBALtgYuQjstZi4fiGndgfrOK/wJa77oF1dE8Kx3LpahxxILTSt/Gg - yeHPv+OTumS6shxsUjbUOvnOG6tBdDFniHbl9tGHH8Tthr0puCSr63/skaDZ5WHS - XAHxoBP81LRzu01C/N4FRu0CyWjL1ZFmu3qDC1HVVwN5D6JBXl31UHs3xMGp7I0Q - H860k8J+1q52MsJTZUQz9KdBFV2ot62omNgT9He2HrKJqkVP6BDTL01TFYPH - =bbh+ + hQIMA2pVdGTIrZI+AQ/+KRdiedgX7clyi9KC8PFTUo5nEoBaBmRZUYrJgWIfNL+5 + HFZC1aS6gkc/P/qlvIltLD/PgO326/ucYNsLkG68W7qauBFpyKPZ6vqdCiVs/DPD + zHq/lR80qFfACvBcSfyu91/SAgU1+6+rrUr1/I501XEsmAOSbzwdPV/tD2YcSW3+ + 0Judr6QCgxAZwUv5y1LJ4GsMhzimiq0WxsxD9P3Z5kDDck52LFpGMiiRcH/jSYH6 + lLVoeuM0D4FDfPmLgpIK28ww948neKVQoM44kMgfq+HR6pgoH2SHeT/X7mJLWVz6 + GzFdKEuqp4OnlJZEWdHorscNzUPTd5PUJf9mz0qwZbFKZ6Q3aYP8xA8OwyRWGg7Y + i7jmJ8+m0YyY+MGaQ6HCfH/bUYdYLKwViVWNW77oHfsvwwZxMZnD3qC5UQ1vOXhh + XpESUJBhViZlnuQfoMgadWZmysAHECC4QZ/W1HZVFNSaeyqNXsW0igGvr5PhLbRS + WLzerWkleR/zDc8BC98ppE1kGsab2Th+YUNQloYMg//WFl94AzRzClk0i0avlJZU + /BlHBcrQtxrxULog3jvStMTIS/W8pqFQ1k+vg0GCR40pWYYu8ap6AdnMAgutXWC3 + F9v+UtRyJsJ76k5gGQJ9gHqdurwqx1caw31i7IVukVLUJKT2FXRrgnPPqwqOxpbS + XAHcki5hyRG4pezz9CCBhd+9AXJPvJhFJAuhGH+sbVpwRlew5YYwxlp43RZAZ4Wj + A1DRY0AnTh6Jdmg/+Y1VPnaKxRDb4fAvkzSutbvOfPMx07RTOGgQVaQ+OPpH + =Clil -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-04-18T22:36:25Z" + - created_at: "2026-05-20T02:08:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAWPhEHZyUzUw+SZetkG8YCjE2Y4MRLCPEIMZ6f0oyBgYw - M6lEEACJzY049EMCbSizN0OKGO/b21yQNTAyoa6vGcIi0YOhx4fkvq2EHey07+W6 - 0lwBmJvSDWiA/DM2pUV/VWu3qspScl/n00X5TfDhvpSIeHo8RGNvV00waswI0S05 - BScUCLWpJm39QQbu/wn3VQsrstgbpMJNBhYhfbMpPfMbhxZ/m/QSbh9tum2DBQ== - =w45x + hF4DKKbvh61jX5USAQdAaxKxjukHX2rPo/Ju98OGCotzC2jCLStdnLXaV9aWZCAw + +3GDlOHqCA5dFycuApZ5M4q4dz/qBKQnBJbe1MdhMTw3vCj96gyyVQ44dHr9gPOy + 0lwBXh/TEg1+x77pnBbWcknq8oNighGkSWZPWFZ/HNtcxqXooO+Zannf96c2INrl + fJW1ykkQ7bqTxFHwdw72sPiHikbfvv4/HfnaKv+4vac9oDw3tfJ8yQgZfVasow== + =NAWi -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted From 292c626629a6a09b92385d72d2fac813b6d49eba Mon Sep 17 00:00:00 2001 From: lilly Date: Wed, 20 May 2026 15:44:47 +0200 Subject: [PATCH 287/417] add ns2.vie.ccc.de as dns secondary --- inventories/chaosknoten/host_vars/auth-dns.yaml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/inventories/chaosknoten/host_vars/auth-dns.yaml b/inventories/chaosknoten/host_vars/auth-dns.yaml index 9191e8bd02..c94a9e74be 100644 --- a/inventories/chaosknoten/host_vars/auth-dns.yaml +++ b/inventories/chaosknoten/host_vars/auth-dns.yaml @@ -9,6 +9,8 @@ knot__remotes: address: [ "2a00:14b0:f000:23::53", "172.31.17.53" ] - id: ns.vie.ccc.de address: [ "2a02:1b8:10:31::228", "146.255.57.228" ] + - id: ns2.vie.ccc.de + address: [ "2a02:8000:1000:102::188", "185.106.84.188" ] knot__catalog_zones: - domain: "hamburg.ccc.de.catalog." @@ -17,29 +19,29 @@ knot__catalog_zones: knot__zones: - domain: "hh.ccc.de." catalog_member: "hamburg.ccc.de.catalog." - notify_targets: [ "ns-intern.hamburg.ccc.de", "ns.vie.ccc.de" ] + notify_targets: [ "ns-intern.hamburg.ccc.de", "ns.vie.ccc.de", "ns2.vie.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/hh.ccc.de.zone') }}" - domain: "ccchh.net." catalog_member: "hamburg.ccc.de.catalog." - notify_targets: [ "ns-intern.hamburg.ccc.de", "ns.vie.ccc.de" ] + notify_targets: [ "ns-intern.hamburg.ccc.de", "ns.vie.ccc.de", "ns2.vie.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/ccchh.net.zone') }}" - domain: "hamburg.ccc.de." catalog_member: "hamburg.ccc.de.catalog." - notify_targets: [ "ns-intern.hamburg.ccc.de", "ns.vie.ccc.de" ] + notify_targets: [ "ns-intern.hamburg.ccc.de", "ns.vie.ccc.de", "ns2.vie.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone') }}" - domain: "eh20.easterhegg.eu." catalog_member: "hamburg.ccc.de.catalog." - notify_targets: [ "ns-intern.hamburg.ccc.de", "ns.vie.ccc.de" ] + notify_targets: [ "ns-intern.hamburg.ccc.de", "ns.vie.ccc.de", "ns2.vie.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/eh20.easterhegg.eu.zone') }}" - domain: "eh22.easterhegg.eu." catalog_member: "hamburg.ccc.de.catalog." - notify_targets: [ "ns-intern.hamburg.ccc.de", "ns.vie.ccc.de" ] + notify_targets: [ "ns-intern.hamburg.ccc.de", "ns.vie.ccc.de", "ns2.vie.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/eh22.easterhegg.eu.zone') }}" - domain: "3.2.0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa." - notify_targets: [ "ns-intern.hamburg.ccc.de", "ns.vie.ccc.de" ] + notify_targets: [ "ns-intern.hamburg.ccc.de", "ns.vie.ccc.de", "ns2.vie.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/3.2.0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa.zone') }}" From 411200884b06bb68978665a6d23935a5794cbf38 Mon Sep 17 00:00:00 2001 From: June Date: Wed, 20 May 2026 18:54:45 +0200 Subject: [PATCH 288/417] docs: overhaul SOPS documentation for better structure and readability --- README.md | 2 +- docs/concepts-and-configurations/sops.md | 18 ++++++ docs/guides/create-new-web-service-vm.md | 2 +- ...ng_up_secrets_using_sops_for_a_new_host.md | 33 ----------- docs/guides/sops-new-host.md | 58 +++++++++++++++++++ docs/guides/sops-storing-secrets.md | 29 ++++++++++ 6 files changed, 107 insertions(+), 35 deletions(-) create mode 100644 docs/concepts-and-configurations/sops.md delete mode 100644 docs/guides/setting_up_secrets_using_sops_for_a_new_host.md create mode 100644 docs/guides/sops-new-host.md create mode 100644 docs/guides/sops-storing-secrets.md diff --git a/README.md b/README.md index 741eeb3c3b..a2f2214891 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ Generally all secrets get encrypted for all GPG-keys of all members of the infra Ansible then has access to the secrets with the help of the [`community.sops.sops` vars plugin](https://docs.ansible.com/ansible/latest/collections/community/sops/docsite/guide.html#working-with-encrypted-variables), which is configured in this repository. A local Ansible run then uses the locally available GPG-key to decrypt the secrets. -For a tutorial on how to set up secrets using SOPS for a new host, see [Setting Up Secrets Using SOPS for a New Host](./docs/setting_up_secrets_using_sops_for_a_new_host.md). +For a tutorial on how to set up SOPS for a new host, see [SOPS: New Host](./docs/guides/sops-new-host.md). ### Updating SOPS files after swapping out a GPG key diff --git a/docs/concepts-and-configurations/sops.md b/docs/concepts-and-configurations/sops.md new file mode 100644 index 0000000000..e4519e5645 --- /dev/null +++ b/docs/concepts-and-configurations/sops.md @@ -0,0 +1,18 @@ +--- +title: SOPS +--- + +# SOPS + +We're using [SOPS](https://github.com/getsops/sops) for secret management together with the `community.sops.sops` vars plugin for Ansible. + +## 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 [infra-secrets](https://git.hamburg.ccc.de/CCCHH/infra-secrets). + +## Guides + +See the following pages for guidance on how to use SOPS: + +- [SOPS: New Host](../guides/sops-new-host.md) +- [SOPS: Storing Secrets](../guides/sops-storing-secrets.md) diff --git a/docs/guides/create-new-web-service-vm.md b/docs/guides/create-new-web-service-vm.md index bf7d65b9a3..ed0974b075 100644 --- a/docs/guides/create-new-web-service-vm.md +++ b/docs/guides/create-new-web-service-vm.md @@ -57,7 +57,7 @@ As the first step, we need to make the host known to Ansible. ## Ansible-Pull Configuration -Since you added your host to the `ansible_pull_hosts`, you also need to follow [Setting Up Secrets Using SOPS for a New Host](/docs/setting_up_secrets_using_sops_for_a_new_host.md) before continuing. +Since you added your host to the `ansible_pull_hosts`, you also need to follow [SOPS: New Host](./sops-new-host.md) before continuing. ## Service-specific config diff --git a/docs/guides/setting_up_secrets_using_sops_for_a_new_host.md b/docs/guides/setting_up_secrets_using_sops_for_a_new_host.md deleted file mode 100644 index a0e8935cbb..0000000000 --- a/docs/guides/setting_up_secrets_using_sops_for_a_new_host.md +++ /dev/null @@ -1,33 +0,0 @@ -# Setting Up Secrets Using SOPS for a New Host - -Because we're using the `community.sops.sops` vars plugin, the SOPS-encrypted secrets get stored in the inventory. - -1. Create a new age key for Ansible pull on the host. - ``` - age-keygen - ``` - Then add the public key part under `keys.hosts.chaosknoten.age` in [.sops.yaml](../.sops.yaml). -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 just added. - You can use existing creation rules as a reference. -3. Re-encrypt existing files with the new key (manly `group_var/all.sops.yaml`): `find inventories -name "*.sops.*" | xargs sops updatekeys --yes`. - - If GPG yells at you, follow the instructions in our [password-store](https://git.hamburg.ccc.de/CCCHH/password-store). -4. 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].sops.yaml - ``` -5. 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`) -6. 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. diff --git a/docs/guides/sops-new-host.md b/docs/guides/sops-new-host.md new file mode 100644 index 0000000000..c786e96988 --- /dev/null +++ b/docs/guides/sops-new-host.md @@ -0,0 +1,58 @@ +--- +title: "SOPS: New Host" +summary: How to Setup SOPS for a New Host +--- + +# SOPS: New Host + +The following outlines the steps to take for setting up [SOPS](../concepts-and-configurations/sops.md) for a new host (`myservice`). +Every host needs a SOPS configuration as every host should be set up to run ansible-pull. + +1. Create a new age key for ansible-pull for the host: + ``` + age-keygen + ``` +2. Add the public key part to the [`.sops.yaml`](https://git.hamburg.ccc.de/CCCHH/ansible-infra/src/branch/main/.sops.yaml) under: + ```yaml + keys: + # ... + hosts: + chaosknoten: + age: &host_chaosknoten_age_keys + # ... + - &host_myservice_ansible_pull_age_key + ``` + You can use the existing configuration as guidance. + For VMs not on Chaosknoten, choose the appropriate section. +3. Add a new creation rule for the hosts `host_vars` file to the [`.sops.yaml`](https://git.hamburg.ccc.de/CCCHH/ansible-infra/src/branch/main/.sops.yaml). + It should most likely hold all admin keys plus the host entry you just added and look something like this: + ```yaml + creation_rules: + # ... + ## host vars + # chaosknoten hosts + # ... + - path_regex: "inventories/chaosknoten/host_vars/myservice\\.sops\\..+" + key_groups: + - pgp: + *admin_gpg_keys + age: + - *host_myservice_ansible_pull_age_key + ``` + You can use existing creation rules as a reference. + For VMs not on Chaosknoten, choose the appropriate section. +4. Re-encrypt for the newly added key (mainly `group_vars/all.sops.yaml`): + ```bash + find inventories -name "*.sops.*" | xargs sops updatekeys --yes + ``` + If GPG yells at you, follow the instructions in [infra-secrets](https://git.hamburg.ccc.de/CCCHH/infra-secrets). +5. Create a SOPS secrets file in the `host_vars` subdirectory of the relevant inventory. The name of the file should be of the format `.sops.yaml` to get picked up by the vars plugin and to match the previously created creation rule. + For this example the following command accomplishes this: + ``` + sops inventories/chaosknoten/host_vars/myservice.sops.yaml + ``` + - With the editor now open, delete the example content and add the previously generated age private key like this: + ```yaml + ansible_pull__age_private_key: + ``` + Note that SOPS only encrypts the values, not the keys. diff --git a/docs/guides/sops-storing-secrets.md b/docs/guides/sops-storing-secrets.md new file mode 100644 index 0000000000..2020837d7d --- /dev/null +++ b/docs/guides/sops-storing-secrets.md @@ -0,0 +1,29 @@ +--- +title: "SOPS: Storing Secrets" +summary: How to Store Secrets Using SOPS +--- + +# SOPS: Storing Secrets + +Some guidance on how to store secrets using [SOPS](../concepts-and-configurations/sops.md). For a guide on how to setup SOPS for a new host, see [SOPS: New Host](./sops-new-host.md). + +1. For storing host-specific secrets, open the host-specific SOPS file: + ``` + sops inventories//host_vars/.sops.yaml + ``` + For inventory-wide secrets, open the inventories `all` group SOPS file: + ``` + sops inventories//group_vars/all.sops.yaml + ``` +2. Now the secrets can be added to the opened file. Because we're using the `community.sops.sops` vars plugin, the stored secrets will then be exposed as Ansible variables. + Note that SOPS only encrypts the values, not the keys. + When creating entries, try to adhere to the following variable naming conventions: + - Prefix variable names with `secret__`, if they are intended to be used in a template file or similar, e.g.: + ```yaml + secret__netbox_secret_key: secret_value + ``` + - Otherwise, if the variable is directly consumed by a role or similar, directly set the variable, e.g.: + ```yaml + netbox__db_password: secret_value + ``` +3. After closing the editor, the secrets are stored. In Ansible they are exposed as variables and can simply be used like any other variable. From ec27b52820a4d004af1577fcadba62b1c21a2370 Mon Sep 17 00:00:00 2001 From: chris Date: Tue, 19 May 2026 21:35:59 +0200 Subject: [PATCH 289/417] cloud: bump nextcloud to 33 and postgres 15.18 --- inventories/chaosknoten/host_vars/cloud.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/inventories/chaosknoten/host_vars/cloud.yaml b/inventories/chaosknoten/host_vars/cloud.yaml index 9c28d58b8b..19aca7bbfb 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 +nextcloud__version: 33 # renovate: datasource=docker depName=docker.io/library/postgres -nextcloud__postgres_version: 15.17 +nextcloud__postgres_version: 15.18 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') }}" From b91bc38d7bb423b63a1543e06cf52578146e8234 Mon Sep 17 00:00:00 2001 From: June Date: Wed, 20 May 2026 20:04:29 +0200 Subject: [PATCH 290/417] docs: rework and split up docs on creating a new web service - Split out the general information on how to set up a new VM on Chaosknoten to have it be more generally useful. - Also split out the section on monitoring to not have it intermingled with the other information. - Rework the guides to include more information and be more streamlined. Also remove duplicate information along the way. --- docs/guides/create-new-web-service-vm.md | 119 ----------------------- docs/guides/monitoring-gatus.md | 18 ++++ docs/guides/new-chaosknoten-vm.md | 99 +++++++++++++++++++ docs/guides/web-service-setup.md | 68 +++++++++++++ 4 files changed, 185 insertions(+), 119 deletions(-) delete mode 100644 docs/guides/create-new-web-service-vm.md create mode 100644 docs/guides/monitoring-gatus.md create mode 100644 docs/guides/new-chaosknoten-vm.md create mode 100644 docs/guides/web-service-setup.md diff --git a/docs/guides/create-new-web-service-vm.md b/docs/guides/create-new-web-service-vm.md deleted file mode 100644 index ed0974b075..0000000000 --- a/docs/guides/create-new-web-service-vm.md +++ /dev/null @@ -1,119 +0,0 @@ -# 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. On `ns-intern`: - 1. Add an entry `example.hosts.hamburg.ccc.de` as an AAAA pointing to the allocated IP. - To do this, edit the zonefile in `/etc/bind/master/hamburg.ccc.de.zone`. - 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 by running `sudo make` while inside `/etc/bind/master`. -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`. - Good $genders also enable the proxmox firewall. - 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 (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. - 3. Re-encrypt existing files with the new key (manly `group_var/all.sops.yaml`): `find inventories -name "*.sops.*" | xargs sops updatekeys --yes` -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. - 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` - - `certbot_hosts`. - 3. In the directory `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. - * Add an entry `ansible_pull__age_private_key` with the age private key you generated above. - -## Ansible-Pull Configuration - -Since you added your host to the `ansible_pull_hosts`, you also need to follow [SOPS: New Host](./sops-new-host.md) before continuing. - -## 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__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: - -```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! - -# 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 -``` diff --git a/docs/guides/monitoring-gatus.md b/docs/guides/monitoring-gatus.md new file mode 100644 index 0000000000..df66ba345e --- /dev/null +++ b/docs/guides/monitoring-gatus.md @@ -0,0 +1,18 @@ +--- +title: "Monitoring: Gatus" +summary: How to Setup Monitoring Using Gatus +--- + +# Monitoring: Gatus + +After configuring a new service or website, it should be added to our status and uptime monitoring available at [status.hamburg.ccc.de](https://status.hamburg.ccc.de). + +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 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: + +``` +ansible-playbook playbooks/deploy.yaml -i inventories/external -l status -t docker_compose +``` diff --git a/docs/guides/new-chaosknoten-vm.md b/docs/guides/new-chaosknoten-vm.md new file mode 100644 index 0000000000..ad10af3f89 --- /dev/null +++ b/docs/guides/new-chaosknoten-vm.md @@ -0,0 +1,99 @@ +--- +title: New Chaosknoten VM +summary: How to Create a New VM on Chaosknoten +--- + +# New Chaosknoten VM + +This guide outlines the steps to take for creating a new VM (`myservice`) on Chaosknoten. It might also act as a useful reference for other environments however. + +## IP and DNS + +Decide on what kind of network configuration the VM needs. In this guide we assume a public v6 and a non-public v4 in the v4-NAT network. If you have special requirements, refer to TODO for more information on the different kinds of networks available on Chaosknoten. + +1. Allocate a fresh [v6 in NetBox in the v4-NAT v6-network](https://netbox.hamburg.ccc.de/ipam/prefixes/47/ip-addresses/). + - The _hostname_ should be the full FQDN, like: `myservice.hosts.hamburg.ccc.de` +2. Add a new `AAAA` record pointing to the chosen v6 to the [`hamburg.ccc.de` zone](https://git.hamburg.ccc.de/CCCHH/ansible-infra/src/branch/main/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone). + It should look something like this: + ``` + myservice.hosts IN AAAA 2a00:14b0:42:102::ff + ``` +3. Run the Ansible playbook for the `auth-dns` host to publish the new DNS entry: + ``` + ansible-playbook -i inventories/chaosknoten playbooks/deploy.yaml -l auth-dns -t knot + ``` + +## VM Creation + +Now that we have a v6, let's create a new VM on Chaosknoten. + +1. Clone the `chaos-debian-XX-tmpl-YYYY-MM-DD` template with ID `9023`. + - The _Name_ should be the hostname used earlier, e.g. `myservice`. + - The _Mode_ should be set to _Full Clone_ and the _Target Storage_ to _nvme0_. + - All other settings should be left as is. +2. Once cloned, edit the VM settings as follows: + - The network interface for the VM should already be configured to use bridge _vmbr0_ with VLAN tag _2_, which is the correct configuration for the v4-NAT network used in this example. + For other networks, other bridges or VLANs should be used. + - If there isn't a good reason to not do so, enable the Proxmox firewall for the VM. Firewall security groups exist for various common use cases to make the firewall configuration fast and easy. + - In the _Cloud-init_ section, set the chosen static v6 with its gateway. As we're using the v4-NAT network in this example, the gateway would be `2a00:14b0:42:102::1`. + For other networks, different network configuration must be set. + - In the _Options_ section, set _Start at Boot_ to _Yes_. + - Optionally configure other VM parameters. + Especially the _Memory_, _Processors_ and _Hard Disk_ options might be of interest. +3. Next start up the VM. + - Once it has an IP, you should be able to SSH into it using the hostname used in the DNS entry earlier (e.g. `myservice.hosts.hamburg.ccc.de`): + ``` + ssh chaos@myservice.hosts.hamburg.ccc.de + ``` + Or if no v6 connectivity is available: + ``` + ssh -J chaos@router.hamburg.ccc.de chaos@myservice.hosts.hamburg.ccc.de + ``` +4. Finally add the VM to NetBox + 1. First [add the VM itself](https://netbox.hamburg.ccc.de/virtualization/virtual-machines/). + - The _Name_ should be the hostname of the VM, so e.g. `myservice`. + - _Site_ and _Cluster_ should be set. For Chaosknoten that would be _IRZ42_ and _chaosknoten_. + - The _Proxmox VM ID_ should be set to the ID of the VM in Proxmox. + - All other options should be left as is. + 2. Then add the interface of the VM to the newly created VM in NetBox by adding a component. + - The _Name_ should be the name of the interface of the VM. Most likely _net0_. + - The _Primary MAC Address_ should be set to the MAC address generated by Proxmox, which can be found in the _Network Device_ configuration in Proxmox. + - _802.1Q Switching_ should be set appropriately. As we're using the v4-NAT network in this example, the _802.1Q Mode_ would be _Access_ with the _VLAN group_ being _IRZ42 Intern_ and the _Untagged VLAN_ being _v4-NAT_. + - All other options should be left as is. + 4. Finally assign the IP address created earlier in NetBox to the just created interface by going into the _Assignment_ section of the IP address configuration. + - Also check _Make this the primary IP for the device/VM_ while doing so. + +## Ansible + +Next up the VM should be added to the Ansible configuration management. While Ansible can and should be used to configure various services and configuration options, this section focuses on the basic setup to be done. + +1. [Setup SOPS for the new host](./sops-new-host.md). +2. Add the VM to the inventory (e.g. `inventories/chaosknoten/hosts.yaml`): + 1. First add basic connection info. For our host in the v4-NAT network, this would look like this: + ```yaml + myservice: + ansible_host: myservice.hosts.hamburg.ccc.de + ansible_user: chaos + ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de + ``` + Adding the router as a jump host enables us to run Ansible on a v4-only connection. + 2. Add the host to a base set of inventory groups for a base configuration: + - `base_config_hosts` + - `infrastructure_authorized_keys_hosts` + - `ansible_pull_hosts` +3. Run a first Ansible playbook against the new host to apply the basic configuration: + ``` + ansible-playbook -i inventories/chaosknoten playbooks/deploy.yaml -l myservice + ``` + +Feel free to commit at this point before continuing with further configuration. + +## Further Setup + +With the basic configuration now done, the VM can be set up further. Here are some helpful pointers: + +- Inventory variables for the host can be set in its host vars file, e.g. `inventories/chaosknoten/host_vars/myservice.yaml`. +- Secrets should be stored using SOPS, see: [SOPS: Storing Secrets](./sops-storing-secrets.md) +- Guidance on setting up a web service can be found in the [Web Service](./web-service.md) guide. + +Afterward you should also take care of setting up monitoring for the newly configured service, see: [Monitoring: Gatus](./monitoring-gatus.md) diff --git a/docs/guides/web-service-setup.md b/docs/guides/web-service-setup.md new file mode 100644 index 0000000000..af4d3e771f --- /dev/null +++ b/docs/guides/web-service-setup.md @@ -0,0 +1,68 @@ +--- +title: Web Service +summary: How to Setup a Web Service +--- + +# Web Service + +This guide assumes you followed [New Chaosknoten VM](./new-chaosknoten-vm.md) for setting up a VM (`myservice`) in the v4-NAT network. It continues of that to set up a web service `mywebservice` behind our `public-reverse-proxy`. + +1. First, the `public-reverse-proxy` should be configured to make the upcoming web service reachable and have certbot work. + 1. Start out by adding an entry to the `map` in the `stream` section in `playbooks/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf`, e.g.: + ``` + stream { + # ... + map { + # ... + mywebservice.hamburg.ccc.de myservice.hosts.hamburg.ccc.de:8443; + } + } + ``` + 2. Next add an entry to the `map` in `playbooks/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf`, e.g.: + ``` + map $host $upstream_acme_challenge_host { + # ... + mywebservice.hamburg.ccc.de myservice.hosts.hamburg.ccc.de:31820; + default ""; + } + ``` + 3. Finally apply the configuration by running the Ansible playbook for the `public-reverse-proxy`: + ``` + ansible-playbook playbooks/deploy.yaml -i inventories/chaosknoten/hosts.yaml -l public-reverse-proxy -t public_reverse_proxy + ``` +2. Add a CNAME for the FQDN of the service pointing to the `public-reverse-proxy`. For a service `myservice` under `hamburg.ccc.de`, this would need an entry in the [`hamburg.ccc.de` zone](https://git.hamburg.ccc.de/CCCHH/ansible-infra/src/branch/main/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone) like this: + ``` + mywebservice IN CNAME public-reverse-proxy + ``` +3. Next add the VM to the relevant inventory groups. For a web service running on docker compose, the following groups would be needed: + - `docker_compose_hosts` + - `nginx_hosts` + - `certbot_hosts`. +4. Then configuration for the VM hosting the web service needs to be provided, which should look something like this: + ```yaml + # inventories/chaosknoten/host_vars/myservice.yaml + certbot__acme_account_email_address: le-admin@hamburg.ccc.de + certbot__certificate_domains: + - "mywebservice.hamburg.ccc.de" + certbot__new_cert_commands: + - "systemctl reload nginx.service" + + docker_compose__compose_file_content: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/myservice/docker_compose/compose.yaml.j2') }}" + + nginx__version_spec: "" + nginx__configurations: + - name: mywebservice.hamburg.ccc.de + content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/myservice/nginx/mywebservice.hamburg.ccc.de.conf') }}" + ``` + This would create a `compose.yaml` on the host from the template `resources/chaosknoten/example/docker_compose/compose.yaml.j2'` and an nginx configuration from `resources/chaosknoten/myservice/nginx/mywebservice.hamburg.ccc.de.conf`, so both files need to be filled accordingly. + Of course, depending on your service, you might need additional or different configuration. + Generally you should look at the configuration of existing hosts and the provided roles for guidance. +5. Finally configure the web service on the new host by running the Ansible playbook for it: + ``` + ansible-playbook playbooks/deploy.yaml -i inventories/chaosknoten/hosts.yaml -l myservice + ``` + +## Additional Resources + +- For storing secrets using SOPS, see: [SOPS: Storing Secrets](./sops-storing-secrets.md) +- After setting up the web service, you should also take care of setting up monitoring it, see: [Monitoring: Gatus](./monitoring-gatus.md) From 74fb99ec8f8865d3c0f51ef9c4b8fbf1f0861a00 Mon Sep 17 00:00:00 2001 From: June Date: Wed, 20 May 2026 20:09:28 +0200 Subject: [PATCH 291/417] docs: delete outdated section on web service setup from README A better guide can be found in the new docs. --- README.md | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/README.md b/README.md index a2f2214891..08e60f512b 100644 --- a/README.md +++ b/README.md @@ -44,22 +44,6 @@ Ein paar der Hosts haben den selben Namen, was es etwas schwieriger macht, das P ansible-playbook playbooks/deploy.yaml --inventory inventories/chaosknoten/hosts.yaml --limit public-reverse-proxy ``` -## Neuen Web-Service hinzufügen - -Wir deployen Web-Services auf dem Chaosknoten hinter dem `public-reverse-proxy`. Der Service-Name `service.hamburg.ccc.de` sollte ein CNAME für `public-reverse-proxy.hamburg.ccc.de` und die Service-VM unter `service-intern.hamburg.ccc.de` mit einer `172.31.17.x`-Adresse erreichbar sein. - -Im Ansible-Repo müssen diese Sachen hinzugefügt werden: -* `inventories/chaosknoten/hosts.yaml`: - * SSH-Config für die neue VM unter all/children/debian_12/hosts - * Einträge für die Rollen, die dieser Host haben soll, min. `certbot_hosts`, `nginx_hosts`, ggf. `docker_compose_hosts` -* `inventories/chaosknoten/host_vars/`*host*`.yaml`: config vars für den neuen Host -* `resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf`: Liste der Hostnamen um den neuen Host erweitern, die hinter dem Reverse-Proxy stehen -* `resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf`: Liste der Hostnamen um den neuen Host erweitern, die hinter dem Reverse-Proxy stehen -* `resources/chaosknoten/`*host*`/nginx/`*host*`.hamburg.ccc.de.conf`: Server auf dem Service-Host - * Individuelle Config für den Service. Wenn Docker Compose, hier weiterleiten auf den eigentlichen Dienst in Compose. - * Cert-Dateinamen anpassen -* `resources/chaosknoten/`*host*`/docker_compose/compose.yaml.j2`: Config für Docker Compose (wenn verwendet) - ## License This CCCHH ansible-ccchh repository is licensed under the [MIT License](./LICENSE). From 51cd583dff02047b2ffc35773608e39d22606365 Mon Sep 17 00:00:00 2001 From: June Date: Wed, 20 May 2026 22:54:32 +0200 Subject: [PATCH 292/417] docs: move information on secrets and sops into docs --- README.md | 19 --------------- docs/concepts-and-configurations/secrets.md | 27 +++++++++++++++++++++ docs/concepts-and-configurations/sops.md | 18 -------------- docs/guides/sops-gpg-key-replacement.md | 13 ++++++++++ 4 files changed, 40 insertions(+), 37 deletions(-) create mode 100644 docs/concepts-and-configurations/secrets.md delete mode 100644 docs/concepts-and-configurations/sops.md create mode 100644 docs/guides/sops-gpg-key-replacement.md diff --git a/README.md b/README.md index 08e60f512b..bd980d8f4f 100644 --- a/README.md +++ b/README.md @@ -17,25 +17,6 @@ ansible-galaxy install -r requirements.yml ansible-galaxy role install -r requirements.yml ``` -## Secrets - -Generally try to avoid secrets (e.g. use SSH keys instead of passwords). - -Because secrets are nonetheless needed sometimes, we use [SOPS](https://github.com/getsops/sops) to securely store secrets in this repository. -SOPS encrypts secrets according to "creation rules" which are defined in the `.sops.yaml`. -Generally all secrets get encrypted for all GPG-keys of all members of the infrastructure team. -Ansible then has access to the secrets with the help of the [`community.sops.sops` vars plugin](https://docs.ansible.com/ansible/latest/collections/community/sops/docsite/guide.html#working-with-encrypted-variables), which is configured in this repository. -A local Ansible run then uses the locally available GPG-key to decrypt the secrets. - -For a tutorial on how to set up SOPS for a new host, see [SOPS: New Host](./docs/guides/sops-new-host.md). - -### Updating SOPS files after swapping out a GPG key - -When a GPG key expires, it is necessary to update the config in `.sops.yaml` and then re-encrypt all files with the updated list of keys. Run this command. The will take a considerable amount of time (minutes). -``` -find inventories -name "*.sops.*" | xargs sops updatekeys --yes -``` - ## Playbook nur für einzelne Hosts ausführen Ein paar der Hosts haben den selben Namen, was es etwas schwieriger macht, das Playbook nur für einen der Hosts auszuführen, z. B. `public-reverse-proxy`. Die Kombination aus `--inventory` und `--limit` führt zum Erfolg: diff --git a/docs/concepts-and-configurations/secrets.md b/docs/concepts-and-configurations/secrets.md new file mode 100644 index 0000000000..573438467d --- /dev/null +++ b/docs/concepts-and-configurations/secrets.md @@ -0,0 +1,27 @@ +--- +title: Secrets +--- + +# Secrets + +Generally one should try to avoid secrets (e.g. using SSH keys instead of passwords). +However, since one still needs to work with secrets, we use [SOPS](https://github.com/getsops/sops) to securely store them in our repository. The [`community.sops.sops` vars plugin](https://docs.ansible.com/ansible/latest/collections/community/sops/docsite/guide.html#working-with-encrypted-variables) is then used to access them in Ansible. + +All secrets are stored in the inventories in files ending with `.sops.yaml` to provide the secrets contents as variables for hosts and groups. +Accompanying creation rules are defined in the [`.sops.yaml`](https://git.hamburg.ccc.de/CCCHH/ansible-infra/src/branch/main/.sops.yaml). + +When running Ansible locally, then your GPG key is used for accessing the secrets. +Hosts on the other hand, when running Ansible against themselves using ansible-pull, use a configured [age](https://github.com/FiloSottile/age) key to be able to access the secrets relevant to them. + +## GPG Keys + +The secrets in this repository are encrypted against the GPG public keys of all Infra-Team members as defined in [infra-secrets](https://git.hamburg.ccc.de/CCCHH/infra-secrets). +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 the [infra-secrets repo](https://git.hamburg.ccc.de/CCCHH/infra-secrets) as well. + +## Guides + +See the following pages for guidance on how to use SOPS: + +- [SOPS: New Host](../guides/sops-new-host.md) +- [SOPS: Storing Secrets](../guides/sops-storing-secrets.md) +- [SOPS: GPG-Key Replacement](../guides/sops-gpg-key-replacement.md) diff --git a/docs/concepts-and-configurations/sops.md b/docs/concepts-and-configurations/sops.md deleted file mode 100644 index e4519e5645..0000000000 --- a/docs/concepts-and-configurations/sops.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: SOPS ---- - -# SOPS - -We're using [SOPS](https://github.com/getsops/sops) for secret management together with the `community.sops.sops` vars plugin for Ansible. - -## 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 [infra-secrets](https://git.hamburg.ccc.de/CCCHH/infra-secrets). - -## Guides - -See the following pages for guidance on how to use SOPS: - -- [SOPS: New Host](../guides/sops-new-host.md) -- [SOPS: Storing Secrets](../guides/sops-storing-secrets.md) diff --git a/docs/guides/sops-gpg-key-replacement.md b/docs/guides/sops-gpg-key-replacement.md new file mode 100644 index 0000000000..8edb5f4065 --- /dev/null +++ b/docs/guides/sops-gpg-key-replacement.md @@ -0,0 +1,13 @@ +--- +title: "SOPS: GPG-Key Replacement" +summary: How to Replace an Expired GPG-Key +--- + +# SOPS: GPG-Key Replacement + +- When a GPG key expires, it is necessary to update the config in the [`.sops.yaml`](https://git.hamburg.ccc.de/CCCHH/ansible-infra/src/branch/main/.sops.yaml) and then re-encrypt all files with the updated list of keys. + - If no new key is available, simply remove the key and re-encrypt all files to keep the repository in a working state. Whenever the relevant member provides a new key, add it again and re-encrypt for it again. +- The re-encryption can be achieved by running the following command (which could take a considerable amount of time): + ```bash + find inventories -name "*.sops.*" | xargs sops updatekeys --yes + ``` From 5ca311d24006c7798b43a5d329cabf3f46495a5d Mon Sep 17 00:00:00 2001 From: lilly Date: Sat, 23 May 2026 19:37:49 +0200 Subject: [PATCH 293/417] add some documentation structure --- .../certificate-management.md | 0 .../documentation-structure.md | 16 +++ docs/concepts-and-configurations/index.md | 10 ++ .../keycloak_auth_concept.md | 0 .../managed-resources.md | 0 .../networking_in_chaosknoten.md | 0 .../networking_in_z9.md | 0 .../concepts-and-configurations/who-we-are.md | 17 ++++ docs/guides/add_z9_static_ip.md | 0 docs/guides/index.md | 13 +++ docs/guides/offboarding.md | 0 docs/guides/onboarding.md | 3 + docs/guides/writing-documentation.md | 99 +++++++++++++++++++ docs/index.md | 10 +- mkdocs.yml | 2 + 15 files changed, 168 insertions(+), 2 deletions(-) create mode 100644 docs/concepts-and-configurations/certificate-management.md create mode 100644 docs/concepts-and-configurations/documentation-structure.md create mode 100644 docs/concepts-and-configurations/index.md create mode 100644 docs/concepts-and-configurations/keycloak_auth_concept.md create mode 100644 docs/concepts-and-configurations/managed-resources.md create mode 100644 docs/concepts-and-configurations/networking_in_chaosknoten.md create mode 100644 docs/concepts-and-configurations/networking_in_z9.md create mode 100644 docs/concepts-and-configurations/who-we-are.md create mode 100644 docs/guides/add_z9_static_ip.md create mode 100644 docs/guides/index.md create mode 100644 docs/guides/offboarding.md create mode 100644 docs/guides/onboarding.md create mode 100644 docs/guides/writing-documentation.md diff --git a/docs/concepts-and-configurations/certificate-management.md b/docs/concepts-and-configurations/certificate-management.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/docs/concepts-and-configurations/documentation-structure.md b/docs/concepts-and-configurations/documentation-structure.md new file mode 100644 index 0000000000..0ca89d3e1a --- /dev/null +++ b/docs/concepts-and-configurations/documentation-structure.md @@ -0,0 +1,16 @@ +--- +title: Documentation Structure +order: 1 +summary: >- + How our documentation is organized and what we do to balance ease of writing and understanding. +--- + +!!! info "ToDo" + + This section needs updating + +- Docs should be english +- Guides are for step-by-step things + - Guides always have a "Goal" explicitly formulated +- Concepts and Configuration aim to make readers understand something in detail + diff --git a/docs/concepts-and-configurations/index.md b/docs/concepts-and-configurations/index.md new file mode 100644 index 0000000000..80125f6607 --- /dev/null +++ b/docs/concepts-and-configurations/index.md @@ -0,0 +1,10 @@ +--- +title: Concepts and Configurations +order: 0 +sidebar_title: Start +summary: >- + Concepts and configurations is a selection of how we organize and manage our infrastructure. You can find here how processes are planned, how services are expected to integrate with each other and how they are configured. + +--- + + diff --git a/docs/concepts-and-configurations/keycloak_auth_concept.md b/docs/concepts-and-configurations/keycloak_auth_concept.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/docs/concepts-and-configurations/managed-resources.md b/docs/concepts-and-configurations/managed-resources.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/docs/concepts-and-configurations/networking_in_chaosknoten.md b/docs/concepts-and-configurations/networking_in_chaosknoten.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/docs/concepts-and-configurations/networking_in_z9.md b/docs/concepts-and-configurations/networking_in_z9.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/docs/concepts-and-configurations/who-we-are.md b/docs/concepts-and-configurations/who-we-are.md new file mode 100644 index 0000000000..04fc70e3a1 --- /dev/null +++ b/docs/concepts-and-configurations/who-we-are.md @@ -0,0 +1,17 @@ +--- +title: Who We Are and What We Do +--- + +We are the infrastructure team of the [Chaos Computer Club Hansestadt Hamburg](https://hambugr.ccc.de). + We operate all the infrastructure related to that club in a fun, sustainable and cooperative way. +We are always open for new ideas and discussions and you can reach us at [infra@hamburg.ccc.de](mailto:infra@hamburg.ccc.de) or directly in the hackerspace. + +In doing so we operate on common values of **trust**, **fun**, helping each other learn, and of course the [Hacker Ethics](https://www.ccc.de/en/hackerethics). + +Topics that interest us and which we engage in: + +- Networking in our local club (See [Networking in Z9](./networking_in_z9.md)) +- Operating our own bare metal servers in Club and our local data center (See [Managed Resources](./managed-resources.md)) +- Providing services for our members and groups (See [Managed Resources](./managed-resources.md)) +- Hacking on (self hosted) Smart-Home services and automation for our space (See [Club Automation](./club-automation.md)) + diff --git a/docs/guides/add_z9_static_ip.md b/docs/guides/add_z9_static_ip.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/docs/guides/index.md b/docs/guides/index.md new file mode 100644 index 0000000000..4f1312db57 --- /dev/null +++ b/docs/guides/index.md @@ -0,0 +1,13 @@ +--- +title: Guides +order: 0 +sidebar_title: Start +summary: >- + Guides are your one-stop-shop for reaching a certain goal. + You want to achieve something? The relevant guide will give you step-by-step instructions on how to do it. +--- + +For a complete list, see the sidebar on the left but the important guides everyone should know are the following: + +- [Writing Documentation](./writing-documentation.md) + diff --git a/docs/guides/offboarding.md b/docs/guides/offboarding.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/docs/guides/onboarding.md b/docs/guides/onboarding.md new file mode 100644 index 0000000000..d948286c78 --- /dev/null +++ b/docs/guides/onboarding.md @@ -0,0 +1,3 @@ +# Onboarding + +TODO diff --git a/docs/guides/writing-documentation.md b/docs/guides/writing-documentation.md new file mode 100644 index 0000000000..fd2681f489 --- /dev/null +++ b/docs/guides/writing-documentation.md @@ -0,0 +1,99 @@ +--- +title: Writing Documentation +order: 1 +--- + +!!! success "Goal" + + How to add a new article to this documentation or modify an existing one so that it is understandable, discoverable and fosters understanding. + +## 1. Understand the Structure + +You need to understand how we write documentation and which rules and structures you should follow when you are adding things (don't worry, it's not too much). +For this purpose, please read the accompanying document [Documentation Structure](../concepts-and-configurations/documentation-structure.md) + +## 2. Clone the Repository + +On the top right of this page is a GitHub icon which leads you to the repository containing this documentation. +It's [git.hamburg.ccc.de/ccchh/ansible-infra.git](https://git.hamburg.ccc.de/ccchh/ansible-infra.git) btw. + +Go ahead and clone the repository: + +```shell +git clone ssh://forgejo@git.hamburg.ccc.de/CCCHH/ansible-infra.git +``` + +## 3. Add/Edit your Markdown File + +Once you have cloned the repository, you can just edit a file in the [`docs/`](https://git.hamburg.ccc.de/CCCHH/ansible-infra/src/branch/main/docs) under the correct + +!!! info + + Our documentation software will automatically discover any new files and assets. + You don't need to touch any configuration or index files. + +!!! note + + You can preview your changes by running the following commands: + ```shell + uv venv + uv pip install -r docs_requirements.txt + mkdocs serve + ``` + +When adding new content, you can use one of the templates below to get started: + +/// details | Template for *Guides* +```markdown +--- +title: My new Guide +--- + +!!! success "Goal" + + Add s small summary describing the end-goal this guide helps a reader achieve + +## 1. Step One + +## 2. Step Two + +## ... + +## Closing Up + +This section is optional but if there's any way for the reader to verify their goal has been achieved, you should mention it here. +``` +/// + +/// details | Template for *Concepts and Configurations* +!!! danger "TODO" +/// + +## 4. Open a Pull-Request + +After writing your changes locally, push them to the git repository and open a Pull-Request. + + + + + +After the PR is opened, our CI/CD will automatically build the new documentation version and comment a link to your deployed changes on your PR. +If everything looks good, request a review from one of the existing team members. + +## 5. Review a Pull-Request + +!!! warning + + This section is meant to be done by a PR reviewer + +When reviewing documentation Pull-Requests, make sure of the following criteria: + +- All changed content should be correct and up-to-date. +- If new content is added, it should either be clearly a guide or belong to *Concepts and Configurations*. If both content types are mixed, they should be split up. +- Ensure all added or edited hyperlinks are working and pointing to the correct targets. +- Look at the deployed staging version and make sure there is no rendering fuckery going on. + +## Closing Up + +After everything is merged and done your changes will be automatically deployed over at [https://infra-docs.hamburg.ccc.de/](https://infra-docs.hamburg.ccc.de/). + diff --git a/docs/index.md b/docs/index.md index 9c1e48eced..f6a6e9cdd9 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,5 +1,11 @@ # CCCHH Infrastructure Documentation -Home for CCCHH infrastructure documentation. +Welcome, this is the home of the CCCHH infrastructure documentation. +For an introduction, see the selection of important articles below: + +- [Who We Are and What We Do](./concepts-and-configurations/who-we-are.md) +- [Onboarding](./guides/onboarding.md) +- [Guides](./guides/index.md) for goal oriented step-by-step instructions. +- [Concepts and Configurations](./concepts-and-configurations/index.md) for a explanations about how things work and why we things a certain way. +- [Writing Documentation](./guides/writing-documentation.md) -- **Guides**: Documentation on how to achieve various things. diff --git a/mkdocs.yml b/mkdocs.yml index f5c2358be9..0ae452dc2e 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -2,11 +2,13 @@ site_name: CCCHH Infrastructure Documentation site_url: https://infra-docs.hamburg.ccc.de repo_url: https://git.hamburg.ccc.de/CCCHH/ansible-infra copyright: MIT + markdown_extensions: - smarty - admonition - attr_list - codehilite + - pymdownx.blocks.details - pymdownx.superfences: css_class: codehilite From 4574dbf4ba9ec144253625f67eeffdd86659ac51 Mon Sep 17 00:00:00 2001 From: June Date: Sat, 23 May 2026 22:40:17 +0200 Subject: [PATCH 294/417] secrets(role): introduce secrets role for storing secrets Allows storage of secrets to then be referenced in other places. The motivation was storing WireGuard secrets for systemd-networkd. --- inventories/chaosknoten/hosts.yaml | 2 + inventories/external/hosts.yaml | 2 + inventories/z9/hosts.yaml | 2 + playbooks/deploy.yaml | 7 ++++ roles/secrets/README.md | 24 ++++++++++++ roles/secrets/defaults/main.yaml | 1 + roles/secrets/meta/argument_specs.yaml | 6 +++ roles/secrets/tasks/main.yaml | 53 ++++++++++++++++++++++++++ 8 files changed, 97 insertions(+) create mode 100644 roles/secrets/README.md create mode 100644 roles/secrets/defaults/main.yaml create mode 100644 roles/secrets/meta/argument_specs.yaml create mode 100644 roles/secrets/tasks/main.yaml diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index c737f34036..1c3f84e534 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -291,3 +291,5 @@ msmtp_hosts: renovate_hosts: hosts: renovate: +secrets_hosts: + hosts: diff --git a/inventories/external/hosts.yaml b/inventories/external/hosts.yaml index 435a9bf854..5d0f9d4e42 100644 --- a/inventories/external/hosts.yaml +++ b/inventories/external/hosts.yaml @@ -22,3 +22,5 @@ infrastructure_authorized_keys_hosts: ansible_pull_hosts: hosts: status: +secrets_hosts: + hosts: diff --git a/inventories/z9/hosts.yaml b/inventories/z9/hosts.yaml index 1b37c59bd4..eab3880f01 100644 --- a/inventories/z9/hosts.yaml +++ b/inventories/z9/hosts.yaml @@ -57,3 +57,5 @@ ansible_pull_hosts: light: waybackproxy: yate: +secrets_hosts: + hosts: diff --git a/playbooks/deploy.yaml b/playbooks/deploy.yaml index ad866cc307..b7ce1046f7 100644 --- a/playbooks/deploy.yaml +++ b/playbooks/deploy.yaml @@ -6,6 +6,13 @@ tags: - base_config +- name: Ensure secrets deployment on secrets_hosts + hosts: secrets_hosts + roles: + - secrets + tags: + - secrets + - name: Ensure systemd-networkd config deployment on systemd_networkd_hosts hosts: systemd_networkd_hosts roles: diff --git a/roles/secrets/README.md b/roles/secrets/README.md new file mode 100644 index 0000000000..ec04665eb0 --- /dev/null +++ b/roles/secrets/README.md @@ -0,0 +1,24 @@ +# Role `secrets` + +Allows storing the given secret contents in the configured files. + +## Supported Distributions + +Should work on Debian-based distributions. + +## Required Arguments + +None. + +## Optional Arguments + +- `secrets__secrets`: List of secrets. + Defaults to the empty list (`[ ]`). +- `secrets__secrets.*.name`: (File)name for the secret (in the `/etc/ansible_secrets` directory). +- `secrets__secrets.*.content`: The secret content to store. +- `secrets__secrets.*.owner`: The owner of the secret file. + Defaults to `root`. +- `secrets__secrets.*.group`: The group of the secret file. + Defaults to `root`. +- `secrets__secrets.*.mode`: The mode of the secret file. + Defaults to `0640`. diff --git a/roles/secrets/defaults/main.yaml b/roles/secrets/defaults/main.yaml new file mode 100644 index 0000000000..882d77bc6a --- /dev/null +++ b/roles/secrets/defaults/main.yaml @@ -0,0 +1 @@ +secrets__secrets: [ ] diff --git a/roles/secrets/meta/argument_specs.yaml b/roles/secrets/meta/argument_specs.yaml new file mode 100644 index 0000000000..256213890d --- /dev/null +++ b/roles/secrets/meta/argument_specs.yaml @@ -0,0 +1,6 @@ +argument_specs: + main: + options: + secrets__secrets: + type: list + required: false diff --git a/roles/secrets/tasks/main.yaml b/roles/secrets/tasks/main.yaml new file mode 100644 index 0000000000..8923397d55 --- /dev/null +++ b/roles/secrets/tasks/main.yaml @@ -0,0 +1,53 @@ +- name: validate secret configs + ansible.builtin.validate_argument_spec: + argument_spec: "{{ required_data }}" + provided_arguments: + config: "{{ item }}" + loop: "{{ secrets__secrets }}" + loop_control: + label: "{{ item.name }}" + vars: + required_data: + config: + type: dict + required: true + options: + name: + type: str + required: true + content: + type: str + required: true + owner: + type: str + required: false + default: root + group: + type: str + required: false + default: root + mode: + type: str + required: false + default: "0640" + +- name: ensure secrets directory exists + ansible.builtin.file: + path: "/etc/ansible_secrets" + state: directory + owner: root + group: root + mode: "0750" + become: true + +- name: ensure secrets are present + ansible.builtin.copy: + content: "{{ item.content }}" + dest: "/etc/ansible_secrets/{{ item.name }}" + mode: "{{ item.mode | default('0640') }}" + owner: "{{ item.owner | default('root') }}" + group: "{{ item.group | default('root') }}" + become: true + loop: "{{ secrets__secrets }}" + loop_control: + label: "{{ item.name }}" From 603d3fb6f4436d7e4a67532c1c37ae8be6c60248 Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Sun, 24 May 2026 00:12:50 +0200 Subject: [PATCH 295/417] Update machine SMTP mail sending config --- inventories/z9/group_vars/all.sops.yaml | 8 ++++---- inventories/z9/group_vars/all.yaml | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/inventories/z9/group_vars/all.sops.yaml b/inventories/z9/group_vars/all.sops.yaml index 81f6ce7310..bc4c3f1305 100644 --- a/inventories/z9/group_vars/all.sops.yaml +++ b/inventories/z9/group_vars/all.sops.yaml @@ -1,5 +1,5 @@ metrics__chaos_password: ENC[AES256_GCM,data:seOU504dZ9K21+NK1MBf9isee2L2rueP6Bl0F66R,iv:ZtQ516gzJQSSgvOOAzPF9MuarXqHSLXy37/9z85KoQ8=,tag:dIal6OxPLli+7DbzhjNFsA==,type:str] -msmtp__smtp_password: ENC[AES256_GCM,data:NlA0aN2SeP4Tl3G1Qg0v/SAicY8p6ZMdQPihGfFTohAmajNvteFJ19ELPezwTz7hia0oU7lwo3DfKuu92WMIKA==,iv:s44piFZZrF6ZYmkGqsBFjTUNiHc4IhBXJATRPETsAI8=,tag:Sj0Q/Y4hT4Hs1JxVOO/8xQ==,type:str] +msmtp__smtp_password: ENC[AES256_GCM,data:FAih8FghRYDx3QGFCjKoJ8Zq0TkeCIx4n1jTx4/sASgECqvucg==,iv:8NDn3wj/bXsbHbuce3ycJTBVWde6XAVxv4NuMUkMbIM=,tag:jeE2b0i/8JPtguLYQvdV1w==,type:str] sops: age: - recipient: age1j0876shgsn7f2thxh9kx9x5uwnh45z6sy2jlk2qz5jhgedm26g5srn9kax @@ -38,8 +38,8 @@ sops: cnlBL29XQVlsL1ZCenBIYTQ3S3JxQjQKq09vbn1XOC1jIXDpv+ThFMk9k7SyYknr MBJRBp/0PrKBo/Xk+RCSWSLjgali5Cc8KTjDTJyBG8rFzzvLIazBRg== -----END AGE ENCRYPTED FILE----- - lastmodified: "2026-03-30T19:28:25Z" - mac: ENC[AES256_GCM,data:IGai2CmOI46XHekSSpLgQxEGw9zIf7Z10K8eQyi0rJGha5ZOjz9jP1VIhC9m6LjRxOKJuEPV2NvBACC5tBUCGwW1Ym31spcROjjtCzyqRF8E7R02oNMIQ32Byb9ij56/Trl5UOBOML+WOdeaq8r74kEfIyZBCx/tfGENuTlBqd4=,iv:Gjzb/IW6WcRL3c4ShOH46cVed4duTs1BFygYnGd4d4Y=,tag:DZAH6tA92mFP5Yo9b4kmkg==,type:str] + lastmodified: "2026-05-23T22:10:20Z" + mac: ENC[AES256_GCM,data:JbnKG1qyAkvFDXr2iHu+gk7nRjedmm+dEK8vBFW5YzndWE4QKoYWeaqRHBk7wdWO9kpZgU2rFiu4Be+ikotoMS8jKAcd5wWSrWtSreaZxxiD2TWMWX8HwPtETnYe0rjrEZ3kPcUj4QPyNTphfbH3ARLjthedRXNF70NDc+DIpAY=,iv:4LN3oslWUWqoY3rQNVDSmlJn1o0c8JQELzsWd5btn7Y=,tag:c8X1q9XMMUkXed93j9C6ww==,type:str] pgp: - created_at: "2026-05-20T02:08:49Z" enc: |- @@ -212,4 +212,4 @@ sops: -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted - version: 3.12.1 + version: 3.12.2 diff --git a/inventories/z9/group_vars/all.yaml b/inventories/z9/group_vars/all.yaml index 4f2b313cf3..20a4e7f7fd 100644 --- a/inventories/z9/group_vars/all.yaml +++ b/inventories/z9/group_vars/all.yaml @@ -12,8 +12,8 @@ ansible_pull__timer_randomized_delay_sec: 30min msmtp__smtp_host: cow.hamburg.ccc.de msmtp__smtp_port: 465 msmtp__smtp_tls_method: smtps -msmtp__smtp_user: any@hosts.z9.ccchh.net -msmtp__smtp_from: "{{ inventory_hostname }}@hosts.z9.ccchh.net" +msmtp__smtp_user: machine@ccchh.net +msmtp__smtp_from: "{{ inventory_hostname }}@cchh.net" alloy_config_default: | prometheus.remote_write "default" { From dd48a9d519a0855b0ff27b6656e4bb56c0d8b88f Mon Sep 17 00:00:00 2001 From: lilly Date: Sun, 24 May 2026 00:26:51 +0200 Subject: [PATCH 296/417] bring guide about new chaosknoten VMs into doc structure --- ...m.md => create-a-new-vm-on-chaosknoten.md} | 32 +++++++++++++------ 1 file changed, 22 insertions(+), 10 deletions(-) rename docs/guides/{new-chaosknoten-vm.md => create-a-new-vm-on-chaosknoten.md} (86%) diff --git a/docs/guides/new-chaosknoten-vm.md b/docs/guides/create-a-new-vm-on-chaosknoten.md similarity index 86% rename from docs/guides/new-chaosknoten-vm.md rename to docs/guides/create-a-new-vm-on-chaosknoten.md index ad10af3f89..79195d8044 100644 --- a/docs/guides/new-chaosknoten-vm.md +++ b/docs/guides/create-a-new-vm-on-chaosknoten.md @@ -1,18 +1,22 @@ --- -title: New Chaosknoten VM -summary: How to Create a New VM on Chaosknoten +title: Create a new VM on Chaosknoten --- -# New Chaosknoten VM +!!! success "Goal" -This guide outlines the steps to take for creating a new VM (`myservice`) on Chaosknoten. It might also act as a useful reference for other environments however. + Create a new VM on our Chaosknoten Server with DNS Name, Firewalling and network config. -## IP and DNS +## 1. Reserve an IP Address -Decide on what kind of network configuration the VM needs. In this guide we assume a public v6 and a non-public v4 in the v4-NAT network. If you have special requirements, refer to TODO for more information on the different kinds of networks available on Chaosknoten. +Decide on what kind of network configuration the VM needs. +In this guide we assume a public v6 and a non-public v4 in the v4-NAT network. +If you have special requirements, refer to TODO for more information on the different kinds of networks available on Chaosknoten. 1. Allocate a fresh [v6 in NetBox in the v4-NAT v6-network](https://netbox.hamburg.ccc.de/ipam/prefixes/47/ip-addresses/). - The _hostname_ should be the full FQDN, like: `myservice.hosts.hamburg.ccc.de` + +## 2. Configure DNS + 2. Add a new `AAAA` record pointing to the chosen v6 to the [`hamburg.ccc.de` zone](https://git.hamburg.ccc.de/CCCHH/ansible-infra/src/branch/main/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone). It should look something like this: ``` @@ -23,7 +27,7 @@ Decide on what kind of network configuration the VM needs. In this guide we assu ansible-playbook -i inventories/chaosknoten playbooks/deploy.yaml -l auth-dns -t knot ``` -## VM Creation +## 3. Create A VM in Proxmox Now that we have a v6, let's create a new VM on Chaosknoten. @@ -49,6 +53,9 @@ Now that we have a v6, let's create a new VM on Chaosknoten. ``` ssh -J chaos@router.hamburg.ccc.de chaos@myservice.hosts.hamburg.ccc.de ``` + +## 4. Enter VM into NetBox + 4. Finally add the VM to NetBox 1. First [add the VM itself](https://netbox.hamburg.ccc.de/virtualization/virtual-machines/). - The _Name_ should be the hostname of the VM, so e.g. `myservice`. @@ -63,7 +70,7 @@ Now that we have a v6, let's create a new VM on Chaosknoten. 4. Finally assign the IP address created earlier in NetBox to the just created interface by going into the _Assignment_ section of the IP address configuration. - Also check _Make this the primary IP for the device/VM_ while doing so. -## Ansible +## 5. Enroll the VM in ansible Next up the VM should be added to the Ansible configuration management. While Ansible can and should be used to configure various services and configuration options, this section focuses on the basic setup to be done. @@ -88,7 +95,7 @@ Next up the VM should be added to the Ansible configuration management. While An Feel free to commit at this point before continuing with further configuration. -## Further Setup +## 6. Configure the VM further for your needs With the basic configuration now done, the VM can be set up further. Here are some helpful pointers: @@ -96,4 +103,9 @@ With the basic configuration now done, the VM can be set up further. Here are so - Secrets should be stored using SOPS, see: [SOPS: Storing Secrets](./sops-storing-secrets.md) - Guidance on setting up a web service can be found in the [Web Service](./web-service.md) guide. -Afterward you should also take care of setting up monitoring for the newly configured service, see: [Monitoring: Gatus](./monitoring-gatus.md) +Afterward you should also take care of setting up monitoring for the newly configured service, see: [Monitor a new service with Gatus](./monitor-a-new-service-with-gatus.md). + +## Closing Up + +This section is optional but if there's any way for the reader to verify their goal has been achieved, you should mention it here. + From 7832978ff732208f2f29f04ef446c7c51076c6d1 Mon Sep 17 00:00:00 2001 From: lilly Date: Sun, 24 May 2026 11:55:31 +0200 Subject: [PATCH 297/417] update ccchh.net dns zone after club proxmox migration --- .../chaosknoten/auth-dns/zones/ccchh.net.zone | 135 ++++++++---------- 1 file changed, 63 insertions(+), 72 deletions(-) diff --git a/resources/chaosknoten/auth-dns/zones/ccchh.net.zone b/resources/chaosknoten/auth-dns/zones/ccchh.net.zone index bb5c16f0c2..0360f81938 100644 --- a/resources/chaosknoten/auth-dns/zones/ccchh.net.zone +++ b/resources/chaosknoten/auth-dns/zones/ccchh.net.zone @@ -1,73 +1,64 @@ -$ORIGIN . -$TTL 900 ; 15 minutes -ccchh.net IN SOA auth-dns.hamburg.ccc.de. noc.hamburg.ccc.de. ( - 2026042801 ; serial - 86400 ; refresh (1 day) - 7200 ; retry (2 hours) - 3600000 ; expire (5 weeks 6 days 16 hours) - 7200 ; minimum (2 hours) - ) - NS auth-dns.hamburg.ccc.de. - NS ns.vie.ccc.de. +$TTL 60 ; 1 minutes +@ SOA auth-dns.hamburg.ccc.de. noc.hamburg.ccc.de. ( + 1 ; serial (overwritten by knot automatically) + 86400 ; refresh (1 day) + 7200 ; retry (2 hours) + 3600000 ; expire (5 weeks 6 days 16 hours) + 60 ; minimum/negative ttl (1 minute) + ) -$ORIGIN ccchh.net. -aes A 212.12.48.125 -club-assistant AAAA 2a07:c481:1:d0::a -;_acme-challenge.club-assistant CNAME d50ad73a-f82d-4244-87f0-6f5195b37d21.auth.acmedns.hamburg.ccc.de -club-assistant.z9 AAAA 2a07:c481:1:d0::a -;_acme-challenge.club-assistant.z9 CNAME 0efa74d1-7dcd-478b-bdc5-5b76d0f07642.auth.acmedns.hamburg.ccc.de -esphome AAAA 2a07:c481:1:d0::66 -esphome.z9 AAAA 2a07:c481:1:d0::66 -zigbee2mqtt A 185.161.129.132 -light AAAA 2a07:c481:1:d0::16 -_acme-challenge.light CNAME e59f55ee-9013-469d-a146-a159721b6fea.auth.acmedns.hamburg.ccc.de. -light.z9 AAAA 2a07:c481:1:d0::16 -_acme-challenge.light.z9 CNAME 3bc9e7ce-03dd-4533-a059-b5d38407eaa5.auth.acmedns.hamburg.ccc.de. -light-werkstatt AAAA 2a07:c481:1:d0::16 -_acme-challenge.light-werkstatt CNAME f408acc0-d9f5-4525-bb01-28938e3bb7d0.auth.acmedns.hamburg.ccc.de. -mailserver-endpoint A 82.165.121.46 -ns1 A 185.161.129.133 -send-only-mail MX 10 send-only-mailserver - TXT "v=spf1 mx -all" -send-only-mailserver A 82.165.121.46 -send-only-mailserver-access A 185.161.129.132 -thinkcccore0 AAAA 2a07:c481:1:f2::3 -thinkcccore0.z9 AAAA 2a07:c481:1:f2::3 -thinkcccore1 AAAA 2a07:c481:1:f2::4 -thinkcccore1.z9 AAAA 2a07:c481:1:f2::4 -opnsense AAAA 2a07:c481:1:f2::1 -opnsense.z9 AAAA 2a07:c481:1:f2::1 -pbs AAAA 2a07:c481:1:f2::4 -thinkcccore2 AAAA 2a07:c481:1:f2::5 -thinkcccore2.z9 AAAA 2a07:c481:1:f2::5 -thinkcccore3 AAAA 2a07:c481:1:f2::6 -thinkcccore3.z9 AAAA 2a07:c481:1:f2::6 -miniscccore0 AAAA 2a07:c481:1:f2::9 -miniscccore0.z9 AAAA 2a07:c481:1:f2::9 -uptime-kuma A 185.161.129.132 -status AAAA 2a07:c481:1:ce::a -status.z9 AAAA 2a07:c481:1:ce::a -wiki A 212.12.48.125 -hmdooris-ccu A 10.31.208.202 -buba A 10.31.211.137 -buba.z9 A 10.31.211.137 -dooris AAAA 2a07:c481:1:d0::1c -_acme-challenge.dooris CNAME 37caae1f-b77f-4eb1-aa71-dc3f7ed24360.auth.acmedns.hamburg.ccc.de. -waybackproxy A 10.31.208.99 -yate A 10.31.208.12 -staubiv2 A 10.31.210.233 -staubiv2.z9 A 10.31.210.233 -; Mail: hosts.z9.ccchh.net -hosts.z9 MX 10 cow.hamburg.ccc.de - TXT "v=spf1 mx -all" -dkim._domainkey.hosts.z9 TXT ("v=DKIM1;k=rsa;t=s;s=email;" - "p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvsdypQ/tlrzto5KVP" - "5o7tEblXK/hOVRFB683uODzo26XTFMSRGjumMuo/tej59GMePdUu0uIsdq8hfj8" - "ot0R2OQNazdyp4NW4TUWfFGJ4S2f6LR3lE3I5Lw7fHiYHz0GnCGTqZIItkHK+xQ" - "i5Fdhwd1YbFJtO0XiZ0jY5w6pvny6pEH8WaKX85rEmz2zqCtpiYPRPmoK/Tn+rV" - "2e8fVioMRm9W8E4PU42WLds66qOkFR0KjKIavE6y7JahESEoVGcVnSPdtMOX0Ln" - "KbSMQNrTvNbBoPdLYvNaXOw7TmVPKjDV+FRCIIdK+m0fL82/vm5jPBvDr5+WlM1" - "xV/P/KlSnQIDAQAB") -$ORIGIN send-only-mail.ccchh.net. -_dmarc TXT "v=DMARC1;p=quarantine;" -key._domainkey TXT "v=DKIM1;k=rsa;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDqduM4+SQ+IQ2uAxbjFkd+0hAjohTgT3nM76jyrWGHJ8TizNU2PGkta0NjCq+m9VLBZUjIJphW2vrnlJsnN0JkGAdoLBL3Qs0kShT6V+xsxslZG2KHApihnJUp34tPSMES+aTnD+jEPGyxFLeoiK+3gywNhCGalHSQ+G88Z2n59wIDAQAB" +@ NS auth-dns.hamburg.ccc.de. +@ NS ns.vie.ccc.de. + + +; +; Network-Infrastructure +; +rt-wan A 185.161.129.134 + AAAA 2a07:c481::1:2 +sw-rack-1 A 10.89.213.2 + AAAA 2a07:c481:1:36::2 +sw-rack-2-poe A 10.89.213.3 + AAAA 2a07:c481:1:36::3 +sw-main-1 A 10.89.213.4 + AAAA 2a07:c481:1:36::4 +sw-main-2 A 10.89.213.5 + AAAA 2a07:c481:1:36::5 +sw-shop-1 A 10.89.213.6 + AAAA 2a07:c481:1:36::6 +sw-shop-2-poe A 10.89.213.7 + AAAA 2a07:c481:1:36::7 +sw-shop-3-poe A 10.89.213.8 + AAAA 2a07:c481:1:36::8 +pve01 A 10.89.213.11 + AAAA 2a07:c481:1:36::11 +pve02 A 10.89.213.12 + AAAA 2a07:c481:1:36::12 +pve03 A 10.89.213.13 + AAAA 2a07:c481:1:36::13 +pve04 A 10.89.213.14 + AAAA 2a07:c481:1:36::14 +pbs A 10.89.213.15 + AAAA 2a07:c481:1:36::15 +unifi A 10.89.213.21 + + +; +; Club-Services +; +xr18 A 172.31.200.21 + +;club-assistant AAAA 2a07:c481:1:d0::a +;;_acme-challenge.club-assistant CNAME d50ad73a-f82d-4244-87f0-6f5195b37d21.auth.acmedns.hamburg.ccc.de +;esphome AAAA 2a07:c481:1:d0::66 +;zigbee2mqtt A 185.161.129.132 +;light AAAA 2a07:c481:1:d0::16 +;_acme-challenge.light CNAME e59f55ee-9013-469d-a146-a159721b6fea.auth.acmedns.hamburg.ccc.de. +;light-werkstatt AAAA 2a07:c481:1:d0::16 +;_acme-challenge.light-werkstatt CNAME f408acc0-d9f5-4525-bb01-28938e3bb7d0.auth.acmedns.hamburg.ccc.de. +;hmdooris-ccu A 10.31.208.202 +;buba A 10.31.211.137 +;dooris AAAA 2a07:c481:1:d0::1c +;_acme-challenge.dooris CNAME 37caae1f-b77f-4eb1-aa71-dc3f7ed24360.auth.acmedns.hamburg.ccc.de. +;yate A 10.31.208.12 +;staubiv2 A 10.31.210.233 From a72accca201aff89b2bf95d72ed4e9551a4a2377 Mon Sep 17 00:00:00 2001 From: forestcat-admin Date: Wed, 27 May 2026 20:49:07 +0200 Subject: [PATCH 298/417] Add documentation style outline (#97) Reviewed-on: https://git.hamburg.ccc.de/CCCHH/ansible-infra/pulls/97 Reviewed-by: lilly --- .../documentation-structure.md | 103 +++++++++++++++++- docs/guides/writing-documentation.md | 2 +- mkdocs.yml | 1 + 3 files changed, 99 insertions(+), 7 deletions(-) diff --git a/docs/concepts-and-configurations/documentation-structure.md b/docs/concepts-and-configurations/documentation-structure.md index 0ca89d3e1a..f5f4a21748 100644 --- a/docs/concepts-and-configurations/documentation-structure.md +++ b/docs/concepts-and-configurations/documentation-structure.md @@ -5,12 +5,103 @@ summary: >- How our documentation is organized and what we do to balance ease of writing and understanding. --- -!!! info "ToDo" +!!! info "Info" - This section needs updating + If you're looking for a hands-on approach on how documentation is to be written you can find a [guide](../guides/writing-documentation.md) explaining the process. If you're unsure how to start you can find [templates](../guides/writing-documentation.md#3-addedit-your-markdown-file) there aswell. -- Docs should be english -- Guides are for step-by-step things - - Guides always have a "Goal" explicitly formulated -- Concepts and Configuration aim to make readers understand something in detail +## General Rules +These rules are general formatting and writing decisions that apply to every document. Their goal is to provide a concise style across the whole documentation to keep the text easy to follow. +- All documents written in this project should be written in **english** to maximize the compatability across readers. +- The documentation structure is intended to be followed, while not being **enforced** to keep a low entry barier for documentation authors. +- Use features like _Admonitions_ given by markdown and the theme whenever they can help by increasing the readability and outlining important parts. For instructions on how to use these theme specific features please refer down to the [MkDocs shadcn](https://asiffer.github.io/mkdocs-shadcn/) documentation. + +## Defining a Document Scope +The scope for a document should be set to define responsibility and set boundaries to where that document applies. Especially lining out which services are affected by it. It **does not** need to be defined explicitly in the text, but should be kept in mind while writing. + +!!! note "Example" + + The scope for this document is aiming to convey the base concepts on how to structure concepts and configurations in this documentation. To provide high readability and a project wide concise structure that authors and readers can rely on. + +We generally distinguish between concepts, configurations and guides in this documentation. Their separation should be clarified with folowing list: + +- **Concept:** A concept includes an abstract definition about a specific structure while not going into implementation details. It is a document intending to further abstract the understanding of structure. It can also go into detail about _why_ we do things a certain way. +- **Configuration:** A configuration can be a follow up of a concept, explaining the specific implementation in a given environment. +- **Guide:** A guide is a step-by-step hands-on instruction for the reader to follow along. It can reference concepts and configurations. The important difference to the other two document types is that guides are goal oriented. Understanding how things work is secondary to achieving a specific thing. + + +## Structuring Concepts + +!!! note "Goal" + + The goal for a concept is to provide the reader with a structured detailed explanation about an abstract concept, conveying why this concept was choosen and how it is intended to be used. + +### Describing the Concept +This section is a summary to give the reader a quick overview about the concept answering following questions: + +- What is this concept about? +- Why is this concept needed? +- What does this concept do? + +### Explaining the Concept +This section should be an in depth explanation about the concept, explaining the concept as detailed as needed for the reader to be able to transfer it into an implementation. The usage of graphs and diagrams is advised when they can help the reader understand the concept better. + +### Referencing additional Sources +This section should include sources to other documentations, concepts and hand-on guides which the reader can look up to futher explore the defined concept. + + +## Structuring Configurations + +!!! note "Goal" + + A configuration document is intended to provide the reader with examples and best practices for configuring a specific item. It focuses on the technical implementation rather than an abstract concept. + +### Describing the Configuration +This section should give the reader a quick overview which configuration files are being described. + +### Providing the Configuration +Here the author should provide configuration sections or full templates. The configurations don't have to be fully complete, they're rather a more structured view on which options are important and what to watch out for. + +### Discussing Authors Thoughts +A discussion why the author choose which configuration options and what to watch out for. Best practices should be taught here. This section can also link to outside sources. + +### Referencing Documentation +Here the author should provide upstream documentation which includes configuration options and further explanations why and how they are used. + + +## Structuring Guides + +!!! note "Goal" + + A guide intends to provide a hands-on approach to the reader which they can follow step-by-step to archive the guides defined goal. A good example for a guide can be found at [Writing Documentation](../guides/writing-documentation.md). + +### Defining the Goal +A guide should always have a goal defined in the beginning, using the _Admonition_ for a success box is highly advised. An example for a goal box is shown below: + +/// tab | Source + +```markdown +!!! success "Goal" + How to setup, write its baseline documentation in ansible, and deploy a service. +``` + +/// + +/// tab | Rendered + +!!! success "Goal" + How to setup, write its baseline documentation in ansible, and deploy a service. + +/// + +### Instructing the Reader +A guide should always have numbered instruction steps which are easy to follow. Important notices and information should written in _Admonitions_ as direct notices from the author to the reader. Dangerous steps or options should use a `danger` Admonition. + +### Closing Up +While this section is optional, a guide should be finished with steps and facts that can be checked by the reader to ensure that the guide worked as intended and all steps are completed correctly. + +## References +Here you can find useful documentation regarding writing documentation: + +- [MkDocs](https://www.mkdocs.org/user-guide/): This is the official mkdocs documentation, although it mostly explains configuring the mkdocs instance rather than explaining the usage. +- [MkDocs shadcn](https://asiffer.github.io/mkdocs-shadcn/): This is our theme for MkDocs which has its own syntax and quircks which can help writing more readable documentation diff --git a/docs/guides/writing-documentation.md b/docs/guides/writing-documentation.md index fd2681f489..15fe2541ef 100644 --- a/docs/guides/writing-documentation.md +++ b/docs/guides/writing-documentation.md @@ -38,7 +38,7 @@ Once you have cloned the repository, you can just edit a file in the [`docs/`](h ```shell uv venv uv pip install -r docs_requirements.txt - mkdocs serve + uv run mkdocs serve ``` When adding new content, you can use one of the templates below to get started: diff --git a/mkdocs.yml b/mkdocs.yml index 0ae452dc2e..8158c7524a 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -9,6 +9,7 @@ markdown_extensions: - attr_list - codehilite - pymdownx.blocks.details + - pymdownx.blocks.tab - pymdownx.superfences: css_class: codehilite From fa598c72fcd60005c007bc24ef6caeb93fa57584 Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Mon, 1 Jun 2026 21:15:31 +0200 Subject: [PATCH 299/417] Add opensourcetorrents --- .../z9/host_vars/opensourcetorrents.sops.yaml | 180 ++++++++++++++++++ .../z9/host_vars/opensourcetorrents.yaml | 1 + inventories/z9/hosts.yaml | 5 +- .../chaosknoten/auth-dns/zones/ccchh.net.zone | 8 + 4 files changed, 192 insertions(+), 2 deletions(-) create mode 100644 inventories/z9/host_vars/opensourcetorrents.sops.yaml create mode 100644 inventories/z9/host_vars/opensourcetorrents.yaml diff --git a/inventories/z9/host_vars/opensourcetorrents.sops.yaml b/inventories/z9/host_vars/opensourcetorrents.sops.yaml new file mode 100644 index 0000000000..1be84039b4 --- /dev/null +++ b/inventories/z9/host_vars/opensourcetorrents.sops.yaml @@ -0,0 +1,180 @@ +ansible_pull__age_private_key: ENC[AES256_GCM,data:QB0xpxP8pLfE2ExpCRD4joQzoEcbQZTiVEJbX3t9GyFEseZUtnUCO0ysFUc6hRs2BC9hoPXz6k/dZ0vNkniBmqcN5zTofZ8bg94=,iv:3NVVsae+pgbriTNzgT6rGCEzJjw368WgAKfQCi2qsmQ=,tag:AQSIxJCZOZ8dtlvcu4WMuw==,type:str] +sops: + lastmodified: "2026-06-01T19:05:50Z" + mac: ENC[AES256_GCM,data:ms4yaDEY/2DxC56rxagBRgfkHuy2/AGhZ0om3+gTVfG8/1p7v+qWXuWrNlDjefjhLKVCaf5yl749JZIjs8PP6rTKyTcteqVfoKwx+CFaEA9OmPOaENBV8Kpy2Rrkw8J4UBBKSoTKGFDAGtyysmqbS8eqDuEpb/TbfbbybJUNfe4=,iv:g4IHNmQELptweaqRE7P3LlBTwV+7jt6AfrPowzuziv4=,tag:YkBnOJA5IN1xDhI+umYSow==,type:str] + pgp: + - created_at: "2026-06-01T19:05:22Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxK/JaB2/SdtAQ//RL0kbXLXSfPux7TjkM/BzqbuQa/XMmPhMPLSawLjLMHa + +lAA6aSpHfX/seNQiLrS0mpXZFzvnPKgxacPx+vLAYGe46u+OXpthrKTStm2URNs + njTkuzCH8yQskaSyQKV3wPjOYTFWGOBAv7bFHenep9DIy5uwGDgYqR//fSP0nQwX + oCdegmWcymct/xhXzK+jcIbvgjD4Xfoc0Gt+IYUYF/FEZisZCRHhK5okt7uhxjcl + 39qCVipK1ofWRt3vXkNaL4ySUEB0i03yotB7eX82wuGt7/ZdpZ9NLRLfrL+DwR4j + QrO0uGBrqya9d46Ftx2wz0eF5aZOLZwe6oBVBRSq4jQ2WPF/NLzEIuFl2cRrk941 + 4L7ZWf8RfYtbicDXhRThef5D43ZF/kYZRzX/oTpAzUInD+VYPo5j0b9mjQLf50jg + jGc/jDl8PpfG8Rrx1XZJLiplSZ508ZzuRb0yr5ZEt5oB7sYW+WzI4q8HulY2lLrp + S5TIeKtyhJGbZAJSgQFJXxSI2K7ZJJcqCvMccOgTNpbWvLlChgtRnSaDkgNhV6Ox + 22C2IVg/8/90j4oDkTN6EWJcyBB3cSyfgyeDIIFiJdglX7J5w2IieMquWBUvitmg + ThIboVjDbKaDrJTRR9AxW7pDgtwJ9QtQmUcCUQS7jVRAdKpcYswuGaBuOvsAuYzU + aAEJAhBb1CFfTj/ZXcRYbr8b7viH1k/Rr0gOH1iWz6lGIJsLysEz/eieCdUzwXWF + zBW5zC5DiycUXGpD3uuEG8aF8w4alZR1ojrI8+J+Oq18j0tvjL3yRANSw/ADuDg5 + n2kmm+LeZkP2 + =GTgt + -----END PGP MESSAGE----- + fp: EF643F59E008414882232C78FFA8331EEB7D6B70 + - created_at: "2026-06-01T19:05:22Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQEMA1QflAioE8i3AQf/XGTsK3l2dEjTmsBP/+F8Y21l0cIJNEUhsFeoAdbciWcC + LFeCeCnwVdMog6ZcJvhAZKghTYzm2/wfuolMLdSsci4yYM7G+cqZLxtBGrczUgvo + HRd4YbL/PY28SM9S37RhlT6KS8rbE9IzYiZDWHXvIDb4CCrmNrfZDUBthj+nbKI0 + vxy5N1ZtrKKalAx1C4pL3zdxJD+2gV/4bzbl9gIs/tfNxj9zdlHORiWh+VT9YGwS + 9S4atPuwVtGNjALj3ynGqTNAsjSTW/LNpITQO3NQP7TapdoJYfXyzQlq9e9eKn+F + eTer+RwxbkQVFhAf2ta6LARaIZuxbb2TXAs56Pot79JeAeGhN+rRrgzuSsPLzvsA + ffppf7aUTSyZhTR/w2XC0kJoq9a3RzxhvgxGH9ChoWi0Rww8CYNqOjs6wRNHoZEq + nIcKELugMRe+HOvxauhlKUS7PbkIyzWA8OUxp+KGdQ== + =bbYE + -----END PGP MESSAGE----- + fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 + - created_at: "2026-06-01T19:05:22Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAz5uSgHG2iMJARAAl+rfH2BzDc/DaciHospFYIGG1ZKIIXcLks/owL5gyTpE + xDJB+tC/GIrSPTqFZbpjtz1PmBEvJAwqdb5hTz0oux8X4xEHHwenmF1meBuyffX/ + UrkNtog0hVhyV07XNpY0iVCbhKhskLf70jteZx5PZEobtE4aggp3MKRM5SSLmAsF + WL1bIucY/NBFsmNK8zc3GF7i9EqD2WtSKjGjaxLReJSUZB5+qdTe8vFo6bL+AHuh + yW2F3M6k5BMA8oJd6l2az29kbXAhjZS1eQX9WoVCYB2I8BHLSeM5XNkPShgCBcLK + DnNtUhSgKb6kcqJe63K3GwzNyzOVzzVrLP6TLk7kOoQgTocG+QlCJE5fVtynOCx6 + sqiJfRpHWbNgWyfrlKtXmPgGP9vYTRUm/DhJKhuPNJi1zcEizVSXpApjaBvdFyzC + /e5+RZdv/CM4hN10ZYB559zuhM1eQCCI9jrd8QJYfr4cZpNG8SrRpLSBoXzisULc + 1OKFpsaC/wCAHz6YKORmHDR1DC6ZvOtUL+bZ1cvU9kT5y8MlAyzWhz0jI8dk5CgV + 4r4w3yC0sF4cwIR/fWkHfS2bBecdcAuy0mxS9LxxR8JZgXOyemprHw5qenyCEn3+ + orTBbz0Y9CkIe+zfwmReqjBhKiwKKxcuEVXpUS6pEOoRyJj3VgRPohNX1bnem7DS + XgHliClcpKnUTIqt/XSQgfMyRSZkMEjNFQ8MFKBc+jM5L9/ePqOmNfli7tM8bbxt + y01x1AzFpQoMTrH6XtWHou2l8g9xqKwMnDjfFv3wXxaoabaZO0ZCP+KJjIzFWNA= + =0dtX + -----END PGP MESSAGE----- + fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 + - created_at: "2026-06-01T19:05:22Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DsZXvxFXTXoQSAQdAePJugVBFUtTJdt/Wm9/fEKLNhviCY8Hs2vrMfGk0UlYw + l6MV4EgwcL2G3kiUAkpFgyRQKFRTIdTMxqNy/zwjPQy1OZ+GvNGTCYO3Ig9bQcdq + 0l4BjFXvf7siDLCF4B6+eaPRh6vCe1CL5Iz1+W9aaQtE+g8lsBMpSrHPrFPJIxgm + HM3Vla/58ncOAwKo15jCPW9fzR++wd4rs66dcQK6dclyfFfufSjmt2h5BPAUgHJZ + =hMBT + -----END PGP MESSAGE----- + fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE + - created_at: "2026-06-01T19:05:22Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DerEtaFuTeewSAQdAfG8vQNNlmvwPwvfgF1RQeLVakfatgGmCqo5sYgajky8w + VZoBn11zJgV8eeQHDdyKd61CPgNiWKbRSklpV3M8DUUSARFkjqAQSAnHv1gFxw+C + 0l4BPThpjiQfWRH4CONZ3gg+d2iBpnpsw5pRZecK7usf3NvIEnn6fjkYTxQ6NpwV + Gijvov5TpDIg+6WexebxAV1BOXC37mBUjLWh65ii3f8Y75poOgnFstf9Q/czh2Qm + =dQPL + -----END PGP MESSAGE----- + fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 + - created_at: "2026-06-01T19:05:22Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxjNhCKPP69fAQ//bBlTr4MlEDG/ebgtlD/ZMwLLLqshKwPj1Xrxww/oiDdd + TtyhJwxpXIarDjqFCAk7XRww+tdzOJsqDoL6QWeAT/hZSj9UpSmIKCYT2lZfuOfc + r1V1hyGJ+mj+8k3kDwrOIH2g2VhUQBQHzf7yDWdQYGO2+6lvjznWdYhqCir7mCCv + RAQYyM/TvQ8uQCEnzfge0+7iqXDlGLVG+gUg5gRkhl3sXYGgEZk48fQz+yIjoUXh + e+awrgatGxCGEuLUKqV/d+Yo7HDF8fmR0R3SfHzOU7X5MNa/5XLK8ebKe7c+zoJH + 0GBFecnH7AJS69ZpO7+Lw7IpwLTnK0wEeytFTLwV4EGxIM4LC9wDPlSAsPD4eUzH + TyFnPV148n5EsK7DktJzKYal/AUVrHMNKmUk9S/dD5pjm3/FAyHUKwi8BJnOyLyn + q98RJwY5mBlaQk8MVrbm/S+bSk0isK2gOj8nlU7PN2H5b9c5PP6gEMcRSTeKoWhr + uGtSJR/9tQ6BXMIZ6LXgy7Kc1rqwaINe0fMjozjAtAHGF/ir8D9YHpvjktG3K6tP + 11SX4TUQmEudWFG6faGPZB6YN8vuCPIFvYJ5atm3eimq6AL84YPxJcUmN3om+rS+ + oOQy+578A8wFqo6gsxMKnnAYgm876AM95dTZ61uaT3zRce4DxWjd/ZwsVhjpUWTS + XgFPsrLiDnvTQh/Pl4/92vVAZSgnZX/iK92BtBYOgxJRKudO1v5BEjYLZ79pptsB + WxWDwCXxVsVuSn+WRaKZG1YGIMWXgxuh8xeXY+Jonr04XJjI5xvSwc7QleqJyWs= + =0Zep + -----END PGP MESSAGE----- + fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 + - created_at: "2026-06-01T19:05:22Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA46L6MuPqfJqAQ/+M1k47rFaIxpZSyQTNTZFtYiAhFrd7wNd9scG9jv7VGZr + s2/ZTkKeYfUloSt9ADOvWL13odQA0UCtDHfbPlmbwNZi4sSuzFO7GAhXn8zeAnzl + QY3FbgOlARJBZgpJc3kWdWfsFBfrtUcrGeUOo7H4rp6LsALi6ZFSvfrtTgbqxsG8 + j6K8VtPODXFrHoZ6d8rPWYbccw8DU/yu8k5l+TX8p1LB0ZX3/Vuic6eq3BvaJwQ9 + WWIC52lq6WF5vTSsRlKsF8Wx0MT6cwE40QejlXvshBk2q4WxRE6EAWb/QRKG2zO6 + 0qYYKyBMf3wvG+xRibOxj9wjcKFZM9TK9GMd0nBENCdEbmd61EmSkKZ20GoyAHzb + YvDYmZaApO2KmR69XPBRMdfUYuVcIx6IRr1NbHOxRK8tDp+cmaTjFMpjJ5dQooAG + bICV9sBF0FsNPFtAUpQJt/DBEsYh+TzMDiXcYhJqXCXZfT5PKQJuKXUoFmuPXjlf + Xamndl7hzTBWV78MntslcxvoFLmaVcnqxJ4sMHFWw4uUxLfiJr9tsBuG5mDDobbV + Ut9elfKRN8kZDhPERjbsLOBLy96q6lZHw5p/LLWzhzGpusSUpbjym1TZHRuGgw2A + hvRYvxMddjVFnUYzZQ1nfiiPpfAboCi+izcDX/Z9lHizPwo1pgiJN3BozXqw3sHS + XgHIo9t0UErZXJBY4XgIYj1ZSxEcW68fWqvvWkzfapMXaD1bGqGYB5E0aYfnSEON + 1knp9pUxz4J+Ji4iSj/xIdEu/P2PA4zC01mR+NzIP/BOvKXh+Jv+aIjQPKEa3DE= + =kAEV + -----END PGP MESSAGE----- + fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A + - created_at: "2026-06-01T19:05:22Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DQrf1tCqiJxoSAQdAEwmCynNMa+f2381le1p/R0Y+xFNicd+FuZIKQFuBHXAw + g8sG+4zBlfpTvC1nGrmISCh9pLU0GBGdkBj7H4tzTaOCFzUlGJ0/8YE+z59vMqGb + 0l4B33k2zuTEv4o72mU3oUDbSR+GIIRrwkZP56OLYWD6cyxams0bYtPJPXIPLRgr + GqsaD7maL48YU0buIXgAqM/qLcGe4nASGbKDw/kfYYItpLY1qDtfa/HVa5UKN2gn + =r4IJ + -----END PGP MESSAGE----- + fp: B71138A6A8964A3C3B8899857B4F70C356765BAB + - created_at: "2026-06-01T19:05:22Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DzAGzViGx4qcSAQdAN+NvSDt9JdoluBcood/rBQqjrFc2+SYdAfaUW2qo0GAw + +fWK4SOysY4vCvbv3o0IgLaSOoFFL4+une9pN9LT8LAu8TWB1BcrAgEXY4k0CWsN + 0lgBKY5bpmJG/UYXX3fAnxVsJly22j8Twv9DqmWKNZZjC7A0Nr2hUZe/ju0wZMIH + /DrztZaEiL8wopwFuwYH8BDWqxy1fBNROYwfWpN+JATUQ15xMFxywFG6 + =e2Sg + -----END PGP MESSAGE----- + fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD + - created_at: "2026-06-01T19:05:22Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA2pVdGTIrZI+AQ/+KopAvH5xiQB82eguBeCcenEkKMay/nOFaJjBQEkDJsaT + 1Bsw0Oj2raq1Z89MoOpzyxT1DiP8EaaBQAVn/A43oz8Fh5qQZ4dQSR4JhbiCdyEb + QNxE7WwcpCfcfE41SptrUscf1eMBSyu0nti4CwtZCcd06Sp9w31xwGhX4IqyMqgd + cTlxk7PDDnn5m3tuFTVJ6xfwY0JcdDQk0qIY+91hrJobfMPAtI3IooZFRV2rNAAr + BU5xECQ6xWniOzoU94tP2CiyCum6pdAvJNdyHJJfuBi/0wlJqJvG45uzp2FAxtuI + 6DhQDk4YQcB7cVetiA4DgO7cychJHlmt/AqNLRCuPwmQUb8cRcFyfKkzUs4ECPwj + PalACOTDJYy2j8/cYnj0g15ec7JJRBEeMT5MNoh+TzQPyTibMlKqWwvjxQpBXwbH + qhoHrwAQZazZgobHtxAgaV5mbeOXZ5Ex099fsIGKNE4lBgWSSIy+nhBCCKE2Rk5U + soNZger/FKyp1wm8yjSBR1kRUZJ1vZlH+CwRZabiRznkUOZqp7oSDu9rJDz7qj4K + z9TTxdGvWktY6D5NjbqhwydKxOi5V4anaDGpUU7UN4zZFoMDq2SPOQ1lMnGsivnL + bsOv6Aw9N4T/BbkNklov4Re78in5gLW2F8tZuWDivzFrRYbBUhoc4FePu9I9omjU + aAEJAhCzKn6cD31zTqUO9EF4CYQ6c1JI9Rpc6BMbOUw7/yk1Za8LXwsMAVZ5W5S6 + XAb2m30YyZTz5qTKDdPfp0g085PUIDd5i3FNOF+7KAOsHo6VYGwEEElDk+hqCxRW + X08L3B92wiCV + =09xQ + -----END PGP MESSAGE----- + fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + - created_at: "2026-06-01T19:05:22Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DKKbvh61jX5USAQdAhQVLiF0+IM+jl18Og/DVWRLd2FuGmFZE1XrT5hNFRVEw + 59z7hX9diyHbK6KGx2ef6By09bICq7EenpqSf9WOUBwnMWWNyDjFRxI7SCmYpGAO + 1GgBCQIQDb/vnYH+8CLl2NsFUndXX6QnUaXpyb8RqC7fBFd1bj79VmYGAz2F/A+i + KV5FPdekeH/HIe9Mhwdu2vUUmKXgDJ+cuEyrmlMd5xCZp0jIE7ImBSgxVMmd4stc + eDcrp4EFzYXnBA== + =/qaN + -----END PGP MESSAGE----- + fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 + unencrypted_suffix: _unencrypted + version: 3.12.2 diff --git a/inventories/z9/host_vars/opensourcetorrents.yaml b/inventories/z9/host_vars/opensourcetorrents.yaml new file mode 100644 index 0000000000..6bcc86d474 --- /dev/null +++ b/inventories/z9/host_vars/opensourcetorrents.yaml @@ -0,0 +1 @@ +# add /etc/transmission-remote/settings.json here diff --git a/inventories/z9/hosts.yaml b/inventories/z9/hosts.yaml index eab3880f01..0c6e16d8f6 100644 --- a/inventories/z9/hosts.yaml +++ b/inventories/z9/hosts.yaml @@ -6,8 +6,9 @@ all: light: ansible_host: light.z9.ccchh.net ansible_user: chaos - thinkcccore0: - ansible_host: thinkcccore0.z9.ccchh.net + opensourcetorrents: + ansible_host: opensourcetorrents.ccchh.net + ansible_user: chaos waybackproxy: ansible_host: waybackproxy.ccchh.net ansible_user: chaos diff --git a/resources/chaosknoten/auth-dns/zones/ccchh.net.zone b/resources/chaosknoten/auth-dns/zones/ccchh.net.zone index 0360f81938..7a2aafdddd 100644 --- a/resources/chaosknoten/auth-dns/zones/ccchh.net.zone +++ b/resources/chaosknoten/auth-dns/zones/ccchh.net.zone @@ -62,3 +62,11 @@ xr18 A 172.31.200.21 ;_acme-challenge.dooris CNAME 37caae1f-b77f-4eb1-aa71-dc3f7ed24360.auth.acmedns.hamburg.ccc.de. ;yate A 10.31.208.12 ;staubiv2 A 10.31.210.233 + + +; +; Public Club Services +; + +opensourcetorrents A 185.161.130.67 + AAAA 2a07:c481:1:35::42 From 7b48f1ebe762772a1eee1c8190e9e9461caf8d1f Mon Sep 17 00:00:00 2001 From: June Date: Thu, 4 Jun 2026 00:39:07 +0200 Subject: [PATCH 300/417] status(host): fix auth-dns ccchh.net check by moving to new entry Check entry for pve01 instead of no longer present entry for club-assistant for the auth-dns ccchh.net check. --- .../status/docker_compose/config/services-chaosknoten.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/external/status/docker_compose/config/services-chaosknoten.yaml b/resources/external/status/docker_compose/config/services-chaosknoten.yaml index ab426bc970..aea633a142 100644 --- a/resources/external/status/docker_compose/config/services-chaosknoten.yaml +++ b/resources/external/status/docker_compose/config/services-chaosknoten.yaml @@ -75,11 +75,11 @@ endpoints: conditions: - "[DNS_RCODE] == NOERROR" - - name: auth-dns (club-assistant.ccchh.net) + - name: auth-dns (pve01.ccchh.net) url: "auth-dns.hamburg.ccc.de" <<: *services_chaosknoten_defaults dns: - query-name: "club-assistant.ccchh.net" + query-name: "pve01.ccchh.net" query-type: "AAAA" conditions: - "[DNS_RCODE] == NOERROR" From fa6e28059497d2595d184f51e423606d687a56b1 Mon Sep 17 00:00:00 2001 From: June Date: Thu, 4 Jun 2026 00:54:55 +0200 Subject: [PATCH 301/417] www2/www3(host): remove hosts as they got removed --- inventories/chaosknoten/host_vars/www2.yaml | 4 - inventories/chaosknoten/hosts.yaml | 18 ----- .../chaosknoten/www2/nginx/diday.org.conf | 80 ------------------- 3 files changed, 102 deletions(-) delete mode 100644 inventories/chaosknoten/host_vars/www2.yaml delete mode 100644 resources/chaosknoten/www2/nginx/diday.org.conf diff --git a/inventories/chaosknoten/host_vars/www2.yaml b/inventories/chaosknoten/host_vars/www2.yaml deleted file mode 100644 index 0a8071a834..0000000000 --- a/inventories/chaosknoten/host_vars/www2.yaml +++ /dev/null @@ -1,4 +0,0 @@ -nginx__version_spec: "" -nginx__configurations: - - name: diday.org - content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/www2/nginx/diday.org.conf') }}" diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index 1c3f84e534..4e968c2f2a 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -90,14 +90,6 @@ all: ansible_host: acmedns.hosts.hamburg.ccc.de ansible_user: chaos ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de - www2: - ansible_host: www2.hosts.hamburg.ccc.de - ansible_user: chaos - ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de - www3: - ansible_host: www3.hosts.hamburg.ccc.de - ansible_user: chaos - ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de auth-dns: ansible_host: auth-dns.hamburg.ccc.de ansible_user: chaos @@ -129,8 +121,6 @@ base_config_hosts: renovate: spaceapiccc: mjolnir: - www2: - www3: auth-dns: systemd_networkd_hosts: hosts: @@ -178,8 +168,6 @@ nginx_hosts: ntfy: sunders: spaceapiccc: - www2: - www3: public_reverse_proxy_hosts: hosts: public-reverse-proxy: @@ -222,8 +210,6 @@ alloy_hosts: router: sunders: spaceapiccc: - www2: - www3: auth-dns: infrastructure_authorized_keys_hosts: hosts: @@ -246,8 +232,6 @@ infrastructure_authorized_keys_hosts: renovate: spaceapiccc: mjolnir: - www2: - www3: auth-dns: lists: wiki_hosts: @@ -283,8 +267,6 @@ ansible_pull_hosts: ntfy: spaceapiccc: mjolnir: - # www2: - # www3: auth-dns: msmtp_hosts: hosts: diff --git a/resources/chaosknoten/www2/nginx/diday.org.conf b/resources/chaosknoten/www2/nginx/diday.org.conf deleted file mode 100644 index 8cc655cd6e..0000000000 --- a/resources/chaosknoten/www2/nginx/diday.org.conf +++ /dev/null @@ -1,80 +0,0 @@ -server { - listen 443 ssl; - listen [::]:443 ssl; - http2 on; - - server_name diday.org; - - # use our router as resolver - resolver 10.31.208.1; - - # configure the ngx_http_realip_module to set $remote_addr and $remote_port to the - # information passed through from public-reverse-proxy.hamburg.ccc.de via proxy-protocol - set_real_ip_from 2a00:14b0:4200:3000:125::1; - real_ip_header proxy_protocol; - - # configure tls trustchain - ssl_certificate /dev/null; - ssl_certificate_key /dev/null; - ssl_trusted_certificate /dev/null; - - # - # configure site - # - root /var/www/diday.org; - error_page 404 /404.html; - index index.html; - add_header Referrer-Policy "strict-origin-when-cross-origin" always; - - # return a redirect based on the map loaded from the webroot - if ($did_redirect_target ~ ^301:(.*)$) { - return 301 $1; - } - if ($did_redirect_target ~ ^302:(.*)$) { - return 302 $1; - } - - # deny access to the redirects config file - location = /nginx-redirects.conf { - deny all; - return 404; - } - - # dynamically redirect the user to the language they prefer - location = / { - set $lang "de"; - if ($http_accept_language ~* "^en") { - set $lang "en"; - } - return 302 /$lang/; - } - - # configure decap-cms content-type and caching rules - location = /admin/cms.js { - expires -1; - add_header Cache-Control "no-store"; - } - location = /admin/config.yml { - expires -1; - add_header Cache-Control "no-store"; - types { } - default_type text/yaml; - } - - # configure asset caching - location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff2?)$ { - expires 1y; - add_header Cache-Control "public, immutable"; - } - - # we are using the Astro Image Pipeline, therefore DecapCMS can't access image previews - location /admin/src/ { - log_not_found off; - return 404; - } - - location / { - try_files $uri $uri/ =404; - } -} - From 3a09c107b93d9816f103353105c0fe4900beea58 Mon Sep 17 00:00:00 2001 From: lilly Date: Sat, 6 Jun 2026 14:58:56 +0200 Subject: [PATCH 302/417] knot: use explicit ansible_facts reference --- roles/knot/templates/netplan-disable-ra.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/knot/templates/netplan-disable-ra.yaml b/roles/knot/templates/netplan-disable-ra.yaml index 505fba27eb..af7fd8d244 100644 --- a/roles/knot/templates/netplan-disable-ra.yaml +++ b/roles/knot/templates/netplan-disable-ra.yaml @@ -1,7 +1,7 @@ # {{ ansible_managed }} network: ethernets: - {%- for i_iface_name in ansible_interfaces -%} + {%- for i_iface_name in ansible_facts["interfaces"] -%} {%- if i_iface_name != "lo" -%} {%- set i_iface = ansible_facts[i_iface_name] %} From 8ca5d82d390cb7b7dd04370bc9ae59b76ffb877d Mon Sep 17 00:00:00 2001 From: lilly Date: Sat, 6 Jun 2026 14:58:56 +0200 Subject: [PATCH 303/417] knot: fix templating inconsistency in netplan config --- roles/knot/templates/netplan-disable-ra.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/roles/knot/templates/netplan-disable-ra.yaml b/roles/knot/templates/netplan-disable-ra.yaml index af7fd8d244..bad31a5a0e 100644 --- a/roles/knot/templates/netplan-disable-ra.yaml +++ b/roles/knot/templates/netplan-disable-ra.yaml @@ -11,4 +11,3 @@ network: accept-ra: false {% endif %} {% endfor %} - From 66e009507020a14de75882cff089a5ef3b77d99c Mon Sep 17 00:00:00 2001 From: lilly Date: Sat, 6 Jun 2026 14:58:56 +0200 Subject: [PATCH 304/417] add zone diday.org. to authoritative DNS --- .../chaosknoten/host_vars/auth-dns.yaml | 5 +++ .../chaosknoten/auth-dns/zones/diday.org.zone | 45 +++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 resources/chaosknoten/auth-dns/zones/diday.org.zone diff --git a/inventories/chaosknoten/host_vars/auth-dns.yaml b/inventories/chaosknoten/host_vars/auth-dns.yaml index c94a9e74be..8c0404ed30 100644 --- a/inventories/chaosknoten/host_vars/auth-dns.yaml +++ b/inventories/chaosknoten/host_vars/auth-dns.yaml @@ -42,6 +42,11 @@ knot__zones: notify_targets: [ "ns-intern.hamburg.ccc.de", "ns.vie.ccc.de", "ns2.vie.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/eh22.easterhegg.eu.zone') }}" + - domain: "diday.org." + catalog_member: "hamburg.ccc.de.catalog." + notify_targets: [ "ns-intern.hamburg.ccc.de", "ns.vie.ccc.de", "ns2.vie.ccc.de" ] + content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/diday.org.zone') }}" + - domain: "3.2.0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa." notify_targets: [ "ns-intern.hamburg.ccc.de", "ns.vie.ccc.de", "ns2.vie.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/3.2.0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa.zone') }}" diff --git a/resources/chaosknoten/auth-dns/zones/diday.org.zone b/resources/chaosknoten/auth-dns/zones/diday.org.zone new file mode 100644 index 0000000000..18e3efb2c0 --- /dev/null +++ b/resources/chaosknoten/auth-dns/zones/diday.org.zone @@ -0,0 +1,45 @@ +$TTL 3600 ; 1 minutes +@ SOA auth-dns.hamburg.ccc.de. noc.hamburg.ccc.de. ( + 1 ; serial (overwritten by knot automatically) + 10800 ; refresh + 3600 ; retry + 3600000 ; expire + 86400 ; minimum/negative ttl + ) + +@ NS auth-dns.hamburg.ccc.de. +@ NS ns.vie.ccc.de. + + + +; +; Main Site +; +*.diday.org. A 212.12.48.125 +*.diday.org. AAAA 2a00:14b0:4200:3000:125::1 +diday.org. A 212.12.48.125 +diday.org. AAAA 2a00:14b0:4200:3000:125::1 +diday.org. TXT "google-site-verification=pJq0LANnNJlkIflKgwbBOOt8GLuU5ywlW6RXhtPwdmE" + +; +; Mail Setup +; +diday.org. MX 10 cow.hamburg.ccc.de. +diday.org. TXT "v=spf1 mx ip4:212.12.51.133 ip6:2a00:14b0:f000:23:51:133:0:1 ip4:212.12.48.122 ip6:2a00:14b0:4200:3000:122::1 -all" +_dmarc.diday.org. TXT "v=DMARC1; p=none" +dkim._domainkey.diday.org. TXT "v=DKIM1;k=rsa;t=s;s=email;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv2YlBjR5oNm7eDeMXmQF6Izx1A17+vBHNapHlV2Rlj3N4Cjo9kSn0y8rlrqkASUKszDgToGrh1vkHhtYN6EE5QS5iVVSnXcWPiHnBzrxK4OmhVZZtrgGsM17pq9udAEEapc371dQQsL3WhXOvilGGSIQ9u5VDlc+y/ApXi79J6DHSf66t0JUU1e8vLn8ZI8hcXe3nsHXqbW4ot24rk8EvaugsK40jbhqxZ+BrJTBq/iP8w5RsF6KdYjTaqPfr/D4dbvUU6fc8jLyy3OWZgSkkOmv7m0UdbOm2Kk6c+1hNjQJZVEhQrpGrpAcjE37/v8ZNbQMgaasiugH6ElnKb13ZQIDAQAB +" + +events.diday.org. A 91.98.167.209 +events.diday.org. AAAA 2a01:4f8:c2c:44b::1 +termine.diday.org. CNAME events.diday.org. + + +; +; Local Delegation or sub-sites +; +darmstadt.diday.org. DS 60883 14 2 351d5314bd499060db6de802dc06104cc9ef54ce91c783def8d20e2e9cd99b99 +darmstadt.diday.org. DS 60883 14 4 4dc93f94c226ecdbb0adbae32064c5ff9a52e9be80973a2ff99218e7bc5af19ab50d9f13f552f1a7900f781fbd7e8205 +darmstadt.diday.org. NS jerry.hax404.de. +darmstadt.diday.org. NS summer.hax404.de. + From 5f94d7f284ce81657e0ef87346ff842effb63d67 Mon Sep 17 00:00:00 2001 From: lilly Date: Sat, 6 Jun 2026 16:26:47 +0200 Subject: [PATCH 305/417] remove ns-intern.hamburg.ccc.de from notify targets of our domains --- inventories/chaosknoten/host_vars/auth-dns.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/inventories/chaosknoten/host_vars/auth-dns.yaml b/inventories/chaosknoten/host_vars/auth-dns.yaml index 8c0404ed30..41b11ae4c4 100644 --- a/inventories/chaosknoten/host_vars/auth-dns.yaml +++ b/inventories/chaosknoten/host_vars/auth-dns.yaml @@ -19,34 +19,34 @@ knot__catalog_zones: knot__zones: - domain: "hh.ccc.de." catalog_member: "hamburg.ccc.de.catalog." - notify_targets: [ "ns-intern.hamburg.ccc.de", "ns.vie.ccc.de", "ns2.vie.ccc.de" ] + notify_targets: [ "ns.vie.ccc.de", "ns2.vie.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/hh.ccc.de.zone') }}" - domain: "ccchh.net." catalog_member: "hamburg.ccc.de.catalog." - notify_targets: [ "ns-intern.hamburg.ccc.de", "ns.vie.ccc.de", "ns2.vie.ccc.de" ] + notify_targets: [ "ns.vie.ccc.de", "ns2.vie.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/ccchh.net.zone') }}" - domain: "hamburg.ccc.de." catalog_member: "hamburg.ccc.de.catalog." - notify_targets: [ "ns-intern.hamburg.ccc.de", "ns.vie.ccc.de", "ns2.vie.ccc.de" ] + notify_targets: [ "ns.vie.ccc.de", "ns2.vie.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone') }}" - domain: "eh20.easterhegg.eu." catalog_member: "hamburg.ccc.de.catalog." - notify_targets: [ "ns-intern.hamburg.ccc.de", "ns.vie.ccc.de", "ns2.vie.ccc.de" ] + notify_targets: [ "ns.vie.ccc.de", "ns2.vie.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/eh20.easterhegg.eu.zone') }}" - domain: "eh22.easterhegg.eu." catalog_member: "hamburg.ccc.de.catalog." - notify_targets: [ "ns-intern.hamburg.ccc.de", "ns.vie.ccc.de", "ns2.vie.ccc.de" ] + notify_targets: [ "ns.vie.ccc.de", "ns2.vie.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/eh22.easterhegg.eu.zone') }}" - domain: "diday.org." catalog_member: "hamburg.ccc.de.catalog." - notify_targets: [ "ns-intern.hamburg.ccc.de", "ns.vie.ccc.de", "ns2.vie.ccc.de" ] + notify_targets: [ "ns.vie.ccc.de", "ns2.vie.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/diday.org.zone') }}" - domain: "3.2.0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa." - notify_targets: [ "ns-intern.hamburg.ccc.de", "ns.vie.ccc.de", "ns2.vie.ccc.de" ] + notify_targets: [ "ns.vie.ccc.de", "ns2.vie.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/3.2.0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa.zone') }}" From 04305a11241f0d2f2fdb42b6f1b2812c34a218a9 Mon Sep 17 00:00:00 2001 From: chris Date: Mon, 8 Jun 2026 21:34:13 +0200 Subject: [PATCH 306/417] keycloak: update to 26.6.0 --- resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 b/resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 index d239bb46b3..8db3526f5e 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.5.7 + image: git.hamburg.ccc.de/ccchh/oci-images/keycloak:26.6.0 pull_policy: always restart: unless-stopped command: start --optimized From 471012928ad69320aa890bd9232e322ae1b396bb Mon Sep 17 00:00:00 2001 From: lilly Date: Sun, 7 Jun 2026 18:31:05 +0200 Subject: [PATCH 307/417] auth-dns: configure nameserver secondary solely to erfadns.ber.ccc.de --- .../chaosknoten/host_vars/auth-dns.yaml | 22 ++++++++----------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/inventories/chaosknoten/host_vars/auth-dns.yaml b/inventories/chaosknoten/host_vars/auth-dns.yaml index 41b11ae4c4..8d0538e403 100644 --- a/inventories/chaosknoten/host_vars/auth-dns.yaml +++ b/inventories/chaosknoten/host_vars/auth-dns.yaml @@ -5,12 +5,8 @@ alloy_config_additional: "{{ lookup('ansible.builtin.template', 'resources/chaos knot__dnssec_key_id: "auth-dns.hamburg.ccc.de-1" knot__remotes: - - id: ns-intern.hamburg.ccc.de - address: [ "2a00:14b0:f000:23::53", "172.31.17.53" ] - - id: ns.vie.ccc.de - address: [ "2a02:1b8:10:31::228", "146.255.57.228" ] - - id: ns2.vie.ccc.de - address: [ "2a02:8000:1000:102::188", "185.106.84.188" ] + - id: erfadns.ber.ccc.de + address: [ "2a02:8000:1000:101::196", "185.106.84.196" ] knot__catalog_zones: - domain: "hamburg.ccc.de.catalog." @@ -19,34 +15,34 @@ knot__catalog_zones: knot__zones: - domain: "hh.ccc.de." catalog_member: "hamburg.ccc.de.catalog." - notify_targets: [ "ns.vie.ccc.de", "ns2.vie.ccc.de" ] + notify_targets: [ "erfadns.ber.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/hh.ccc.de.zone') }}" - domain: "ccchh.net." catalog_member: "hamburg.ccc.de.catalog." - notify_targets: [ "ns.vie.ccc.de", "ns2.vie.ccc.de" ] + notify_targets: [ "erfadns.ber.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/ccchh.net.zone') }}" - domain: "hamburg.ccc.de." catalog_member: "hamburg.ccc.de.catalog." - notify_targets: [ "ns.vie.ccc.de", "ns2.vie.ccc.de" ] + notify_targets: [ "erfadns.ber.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone') }}" - domain: "eh20.easterhegg.eu." catalog_member: "hamburg.ccc.de.catalog." - notify_targets: [ "ns.vie.ccc.de", "ns2.vie.ccc.de" ] + notify_targets: [ "erfadns.ber.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/eh20.easterhegg.eu.zone') }}" - domain: "eh22.easterhegg.eu." catalog_member: "hamburg.ccc.de.catalog." - notify_targets: [ "ns.vie.ccc.de", "ns2.vie.ccc.de" ] + notify_targets: [ "erfadns.ber.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/eh22.easterhegg.eu.zone') }}" - domain: "diday.org." catalog_member: "hamburg.ccc.de.catalog." - notify_targets: [ "ns.vie.ccc.de", "ns2.vie.ccc.de" ] + notify_targets: [ "erfadns.ber.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/diday.org.zone') }}" - domain: "3.2.0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa." - notify_targets: [ "ns.vie.ccc.de", "ns2.vie.ccc.de" ] + notify_targets: [ "erfadns.ber.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/3.2.0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa.zone') }}" From 389b87113b5170e8149442c9e4f20d5962af1419 Mon Sep 17 00:00:00 2001 From: lilly Date: Tue, 9 Jun 2026 10:59:44 +0200 Subject: [PATCH 308/417] auth-dns: update NS records of all zone files The current set is auth-dns.hamburg.ccc.de in addition to the newly created erfadns.ber.ccc.de See https://zammad.hamburg.ccc.de/#ticket/zoom/1738 for details. --- .../zones/3.2.0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa.zone | 4 ++-- resources/chaosknoten/auth-dns/zones/ccchh.net.zone | 2 +- resources/chaosknoten/auth-dns/zones/diday.org.zone | 2 +- resources/chaosknoten/auth-dns/zones/eh20.easterhegg.eu.zone | 4 ++-- resources/chaosknoten/auth-dns/zones/eh22.easterhegg.eu.zone | 4 ++-- resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone | 4 ++-- resources/chaosknoten/auth-dns/zones/hh.ccc.de.zone | 4 ++-- 7 files changed, 12 insertions(+), 12 deletions(-) diff --git a/resources/chaosknoten/auth-dns/zones/3.2.0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa.zone b/resources/chaosknoten/auth-dns/zones/3.2.0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa.zone index e06c4a2509..9db7051139 100644 --- a/resources/chaosknoten/auth-dns/zones/3.2.0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa.zone +++ b/resources/chaosknoten/auth-dns/zones/3.2.0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa.zone @@ -7,8 +7,8 @@ $TTL 7200 3600000 86400 ) - IN NS auth-dns.hamburg.ccc.de. - IN NS ns.vie.ccc.de. +@ NS auth-dns.hamburg.ccc.de. +@ NS erfadns.ber.ccc.de. ; ccchh firewall / tunnelendpunkte: 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR fwhh.hamburg.ccc.de. diff --git a/resources/chaosknoten/auth-dns/zones/ccchh.net.zone b/resources/chaosknoten/auth-dns/zones/ccchh.net.zone index 7a2aafdddd..2a69ea8811 100644 --- a/resources/chaosknoten/auth-dns/zones/ccchh.net.zone +++ b/resources/chaosknoten/auth-dns/zones/ccchh.net.zone @@ -8,7 +8,7 @@ $TTL 60 ; 1 minutes ) @ NS auth-dns.hamburg.ccc.de. -@ NS ns.vie.ccc.de. +@ NS erfadns.ber.ccc.de. ; diff --git a/resources/chaosknoten/auth-dns/zones/diday.org.zone b/resources/chaosknoten/auth-dns/zones/diday.org.zone index 18e3efb2c0..2aeefcfa2f 100644 --- a/resources/chaosknoten/auth-dns/zones/diday.org.zone +++ b/resources/chaosknoten/auth-dns/zones/diday.org.zone @@ -8,7 +8,7 @@ $TTL 3600 ; 1 minutes ) @ NS auth-dns.hamburg.ccc.de. -@ NS ns.vie.ccc.de. +@ NS erfadns.ber.ccc.de. diff --git a/resources/chaosknoten/auth-dns/zones/eh20.easterhegg.eu.zone b/resources/chaosknoten/auth-dns/zones/eh20.easterhegg.eu.zone index 2820b680ae..5879c18999 100644 --- a/resources/chaosknoten/auth-dns/zones/eh20.easterhegg.eu.zone +++ b/resources/chaosknoten/auth-dns/zones/eh20.easterhegg.eu.zone @@ -7,8 +7,8 @@ $TTL 7200 3600000 86400 ) - IN NS auth-dns.hamburg.ccc.de. - IN NS ns.vie.ccc.de. +@ NS auth-dns.hamburg.ccc.de. +@ NS erfadns.ber.ccc.de. IN MX 5 nomail.ccc.de. ;IN MX 10 local-mail.hamburg.ccc.de. diff --git a/resources/chaosknoten/auth-dns/zones/eh22.easterhegg.eu.zone b/resources/chaosknoten/auth-dns/zones/eh22.easterhegg.eu.zone index 32d9d0476d..a34c183f8b 100644 --- a/resources/chaosknoten/auth-dns/zones/eh22.easterhegg.eu.zone +++ b/resources/chaosknoten/auth-dns/zones/eh22.easterhegg.eu.zone @@ -7,8 +7,8 @@ $TTL 600 3600000 86400 ) - IN NS auth-dns.hamburg.ccc.de. - IN NS ns.vie.ccc.de. +@ NS auth-dns.hamburg.ccc.de. +@ NS erfadns.ber.ccc.de. IN A 212.12.48.125 IN AAAA 2a00:14b0:4200:3000:125::1 diff --git a/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone b/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone index 8c30fb4f2b..33f8a31a0e 100644 --- a/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone +++ b/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone @@ -14,8 +14,8 @@ $TTL 7200 3600000 86400 ) - IN NS ns.hamburg.ccc.de. - IN NS ns.vie.ccc.de. +@ NS auth-dns.hamburg.ccc.de. +@ NS erfadns.ber.ccc.de. $TTL 60 IN MX 10 cow.hamburg.ccc.de. diff --git a/resources/chaosknoten/auth-dns/zones/hh.ccc.de.zone b/resources/chaosknoten/auth-dns/zones/hh.ccc.de.zone index 35794baef6..41b7f26e5b 100644 --- a/resources/chaosknoten/auth-dns/zones/hh.ccc.de.zone +++ b/resources/chaosknoten/auth-dns/zones/hh.ccc.de.zone @@ -15,8 +15,8 @@ $TTL 7200 3600000 86400 ) - IN NS ns.hamburg.ccc.de. - IN NS ns.vie.ccc.de. +@ NS auth-dns.hamburg.ccc.de. +@ NS erfadns.ber.ccc.de. IN MX 5 nomail.ccc.de. ; IN MX 10 local-mail.hamburg.ccc.de. From ec9275cf462d7a1da667f3ec3c8d2bc32188b244 Mon Sep 17 00:00:00 2001 From: lilly Date: Tue, 9 Jun 2026 21:00:50 +0200 Subject: [PATCH 309/417] add ueberwachungsfrei-kundgebung.hamburg.ccc.de domain --- resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone b/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone index 33f8a31a0e..b911d6c23b 100644 --- a/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone +++ b/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone @@ -289,6 +289,7 @@ cpuccc IN CNAME public-reverse-proxy did IN CNAME public-reverse-proxy infra-docs IN CNAME public-reverse-proxy staging.infra-docs IN CNAME public-reverse-proxy +ueberwachungsfrei-kundgebung IN CNAME public-reverse-proxy auth.acmedns IN NS acmedns.hosts.hamburg.ccc.de. From b283089b0642a3654870e098f44058d9b82d1a90 Mon Sep 17 00:00:00 2001 From: lilly Date: Tue, 9 Jun 2026 21:27:13 +0200 Subject: [PATCH 310/417] readd ns.vie.ccc.de to our zones because zones are not delegated yet --- inventories/chaosknoten/host_vars/auth-dns.yaml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/inventories/chaosknoten/host_vars/auth-dns.yaml b/inventories/chaosknoten/host_vars/auth-dns.yaml index 8d0538e403..01fadbc989 100644 --- a/inventories/chaosknoten/host_vars/auth-dns.yaml +++ b/inventories/chaosknoten/host_vars/auth-dns.yaml @@ -7,6 +7,8 @@ knot__dnssec_key_id: "auth-dns.hamburg.ccc.de-1" knot__remotes: - id: erfadns.ber.ccc.de address: [ "2a02:8000:1000:101::196", "185.106.84.196" ] + - id: ns.vie.ccc.de + address: [ "2a02:1b8:10:31::228", "146.255.57.228" ] knot__catalog_zones: - domain: "hamburg.ccc.de.catalog." @@ -15,34 +17,34 @@ knot__catalog_zones: knot__zones: - domain: "hh.ccc.de." catalog_member: "hamburg.ccc.de.catalog." - notify_targets: [ "erfadns.ber.ccc.de" ] + notify_targets: [ "erfadns.ber.ccc.de", "ns.vie.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/hh.ccc.de.zone') }}" - domain: "ccchh.net." catalog_member: "hamburg.ccc.de.catalog." - notify_targets: [ "erfadns.ber.ccc.de" ] + notify_targets: [ "erfadns.ber.ccc.de", "ns.vie.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/ccchh.net.zone') }}" - domain: "hamburg.ccc.de." catalog_member: "hamburg.ccc.de.catalog." - notify_targets: [ "erfadns.ber.ccc.de" ] + notify_targets: [ "erfadns.ber.ccc.de", "ns.vie.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone') }}" - domain: "eh20.easterhegg.eu." catalog_member: "hamburg.ccc.de.catalog." - notify_targets: [ "erfadns.ber.ccc.de" ] + notify_targets: [ "erfadns.ber.ccc.de", "ns.vie.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/eh20.easterhegg.eu.zone') }}" - domain: "eh22.easterhegg.eu." catalog_member: "hamburg.ccc.de.catalog." - notify_targets: [ "erfadns.ber.ccc.de" ] + notify_targets: [ "erfadns.ber.ccc.de", "ns.vie.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/eh22.easterhegg.eu.zone') }}" - domain: "diday.org." catalog_member: "hamburg.ccc.de.catalog." - notify_targets: [ "erfadns.ber.ccc.de" ] + notify_targets: [ "erfadns.ber.ccc.de", "ns.vie.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/diday.org.zone') }}" - domain: "3.2.0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa." - notify_targets: [ "erfadns.ber.ccc.de" ] + notify_targets: [ "erfadns.ber.ccc.de", "ns.vie.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/3.2.0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa.zone') }}" From 931afac7e067c6d9d1dd5bfd4ff4f4ea4567ea38 Mon Sep 17 00:00:00 2001 From: lilly Date: Tue, 9 Jun 2026 21:27:13 +0200 Subject: [PATCH 311/417] add ueberwachungsfrei-kundgebung site --- .../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 304072b0ea..a7ae7f02a3 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf @@ -87,6 +87,7 @@ map $host $upstream_acme_challenge_host { staging.docs.c3voc.de public-web-static.hosts.hamburg.ccc.de:31820; infra-docs.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; staging.infra-docs.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; + ueberwachungsfrei-kundgebung.hamburg.ccc.de public-web-static.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 5e89aa95e9..3f61267226 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf @@ -110,6 +110,7 @@ stream { staging.docs.c3voc.de public-web-static.hosts.hamburg.ccc.de:8443; infra-docs.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; staging.infra-docs.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + ueberwachungsfrei-kundgebung.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; } server { From 6d922b7c8b295a5c85f119ccfb46cbc7be151267 Mon Sep 17 00:00:00 2001 From: lilly Date: Wed, 10 Jun 2026 13:11:55 +0200 Subject: [PATCH 312/417] dns: also notify erfadns.ber.ccc.de for catalog zone changes --- inventories/chaosknoten/host_vars/auth-dns.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inventories/chaosknoten/host_vars/auth-dns.yaml b/inventories/chaosknoten/host_vars/auth-dns.yaml index 01fadbc989..9b9447934d 100644 --- a/inventories/chaosknoten/host_vars/auth-dns.yaml +++ b/inventories/chaosknoten/host_vars/auth-dns.yaml @@ -12,7 +12,7 @@ knot__remotes: knot__catalog_zones: - domain: "hamburg.ccc.de.catalog." - notify_targets: [ "ns.vie.ccc.de" ] + notify_targets: [ "erfadns.ber.ccc.de", "ns.vie.ccc.de" ] knot__zones: - domain: "hh.ccc.de." From 431aaefb3644c74f3bbf5e19f727c64a87c53934 Mon Sep 17 00:00:00 2001 From: lilly Date: Wed, 10 Jun 2026 16:05:51 +0200 Subject: [PATCH 313/417] dns: remove ns.vie.ccc.de from already migrated zones --- inventories/chaosknoten/host_vars/auth-dns.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/inventories/chaosknoten/host_vars/auth-dns.yaml b/inventories/chaosknoten/host_vars/auth-dns.yaml index 9b9447934d..7d220bcb8f 100644 --- a/inventories/chaosknoten/host_vars/auth-dns.yaml +++ b/inventories/chaosknoten/host_vars/auth-dns.yaml @@ -12,12 +12,12 @@ knot__remotes: knot__catalog_zones: - domain: "hamburg.ccc.de.catalog." - notify_targets: [ "erfadns.ber.ccc.de", "ns.vie.ccc.de" ] + notify_targets: [ "erfadns.ber.ccc.de" ] knot__zones: - domain: "hh.ccc.de." catalog_member: "hamburg.ccc.de.catalog." - notify_targets: [ "erfadns.ber.ccc.de", "ns.vie.ccc.de" ] + notify_targets: [ "erfadns.ber.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/hh.ccc.de.zone') }}" - domain: "ccchh.net." @@ -27,7 +27,7 @@ knot__zones: - domain: "hamburg.ccc.de." catalog_member: "hamburg.ccc.de.catalog." - notify_targets: [ "erfadns.ber.ccc.de", "ns.vie.ccc.de" ] + notify_targets: [ "erfadns.ber.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone') }}" - domain: "eh20.easterhegg.eu." @@ -46,5 +46,5 @@ knot__zones: content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/diday.org.zone') }}" - domain: "3.2.0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa." - notify_targets: [ "erfadns.ber.ccc.de", "ns.vie.ccc.de" ] + notify_targets: [ "erfadns.ber.ccc.de" ] content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/auth-dns/zones/3.2.0.0.0.0.0.f.0.b.4.1.0.0.a.2.ip6.arpa.zone') }}" From 57d2a94990459ff045820d436f6aabfb87fb0084 Mon Sep 17 00:00:00 2001 From: lilly Date: Wed, 10 Jun 2026 16:17:18 +0200 Subject: [PATCH 314/417] dns: fix syntax error in diday.org zone --- resources/chaosknoten/auth-dns/zones/diday.org.zone | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/resources/chaosknoten/auth-dns/zones/diday.org.zone b/resources/chaosknoten/auth-dns/zones/diday.org.zone index 2aeefcfa2f..bf93208427 100644 --- a/resources/chaosknoten/auth-dns/zones/diday.org.zone +++ b/resources/chaosknoten/auth-dns/zones/diday.org.zone @@ -1,4 +1,4 @@ -$TTL 3600 ; 1 minutes +$TTL 3600 @ SOA auth-dns.hamburg.ccc.de. noc.hamburg.ccc.de. ( 1 ; serial (overwritten by knot automatically) 10800 ; refresh @@ -27,8 +27,7 @@ diday.org. TXT "google-site-verification=pJq0LANnNJlkIflK diday.org. MX 10 cow.hamburg.ccc.de. diday.org. TXT "v=spf1 mx ip4:212.12.51.133 ip6:2a00:14b0:f000:23:51:133:0:1 ip4:212.12.48.122 ip6:2a00:14b0:4200:3000:122::1 -all" _dmarc.diday.org. TXT "v=DMARC1; p=none" -dkim._domainkey.diday.org. TXT "v=DKIM1;k=rsa;t=s;s=email;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv2YlBjR5oNm7eDeMXmQF6Izx1A17+vBHNapHlV2Rlj3N4Cjo9kSn0y8rlrqkASUKszDgToGrh1vkHhtYN6EE5QS5iVVSnXcWPiHnBzrxK4OmhVZZtrgGsM17pq9udAEEapc371dQQsL3WhXOvilGGSIQ9u5VDlc+y/ApXi79J6DHSf66t0JUU1e8vLn8ZI8hcXe3nsHXqbW4ot24rk8EvaugsK40jbhqxZ+BrJTBq/iP8w5RsF6KdYjTaqPfr/D4dbvUU6fc8jLyy3OWZgSkkOmv7m0UdbOm2Kk6c+1hNjQJZVEhQrpGrpAcjE37/v8ZNbQMgaasiugH6ElnKb13ZQIDAQAB -" +dkim._domainkey.diday.org. TXT "v=DKIM1;k=rsa;t=s;s=email;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv2YlBjR5oNm7eDeMXmQF6Izx1A17+vBHNapHlV2Rlj3N4Cjo9kSn0y8rlrqkASUKszDgToGrh1vkHhtYN6EE5QS5iVVSnXcWPiHnBzrxK4OmhVZZtrgGsM17pq9udAEEapc371dQQsL3WhXOvilGGSIQ9u5VDlc+y/ApXi79J6DHSf66t0JUU1e8vLn8ZI8hcXe3nsHXqbW4ot24rk8EvaugsK40jbhqxZ+BrJTBq/iP8w5RsF6KdYjTaqPfr/D4dbvUU6fc8jLyy3OWZgSkkOmv7m0UdbOm2Kk6c+1hNjQJZVEhQrpGrpAcjE37/v8ZNbQMgaasiugH6ElnKb13ZQIDAQAB" events.diday.org. A 91.98.167.209 events.diday.org. AAAA 2a01:4f8:c2c:44b::1 From 5973de0959242cc5832c361616c5848d002aa6f8 Mon Sep 17 00:00:00 2001 From: lilly Date: Wed, 10 Jun 2026 16:17:18 +0200 Subject: [PATCH 315/417] dns: validate zone files before apply in knot role --- roles/knot/tasks/02-configure.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/roles/knot/tasks/02-configure.yaml b/roles/knot/tasks/02-configure.yaml index a2a8e55e5e..e79143fc00 100644 --- a/roles/knot/tasks/02-configure.yaml +++ b/roles/knot/tasks/02-configure.yaml @@ -33,6 +33,7 @@ owner: knot group: knot mode: u=rw,g=r + validate: "kzonecheck -v -o '{{ item.domain }}' %s" # this seems weird but hear me out: # if we don't disable SLAAC, the node automatically gets an address based on IPv6 Router-Advertisements From 75b7e8032133b4f791c73bc0398eff151d916226 Mon Sep 17 00:00:00 2001 From: lilly Date: Thu, 11 Jun 2026 14:40:09 +0200 Subject: [PATCH 316/417] migrate uberwachungsfrei kundgebung to own domain --- resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone | 1 - .../public-reverse-proxy/nginx/acme_challenge.conf | 4 +++- resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf | 4 +++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone b/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone index b911d6c23b..33f8a31a0e 100644 --- a/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone +++ b/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone @@ -289,7 +289,6 @@ cpuccc IN CNAME public-reverse-proxy did IN CNAME public-reverse-proxy infra-docs IN CNAME public-reverse-proxy staging.infra-docs IN CNAME public-reverse-proxy -ueberwachungsfrei-kundgebung IN CNAME public-reverse-proxy auth.acmedns IN NS acmedns.hosts.hamburg.ccc.de. diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf index a7ae7f02a3..6e309a2846 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf @@ -87,7 +87,9 @@ map $host $upstream_acme_challenge_host { staging.docs.c3voc.de public-web-static.hosts.hamburg.ccc.de:31820; infra-docs.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; staging.infra-docs.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; - ueberwachungsfrei-kundgebung.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; + ueberwachungsfrei.eu public-web-static.hosts.hamburg.ccc.de:31820; + überwachungsfrei.eu public-web-static.hosts.hamburg.ccc.de:31820; + xn--berwachungsfrei-yvb.eu public-web-static.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 3f61267226..5c57f0d529 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf @@ -110,7 +110,9 @@ stream { staging.docs.c3voc.de public-web-static.hosts.hamburg.ccc.de:8443; infra-docs.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; staging.infra-docs.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; - ueberwachungsfrei-kundgebung.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + ueberwachungsfrei.eu public-web-static.hosts.hamburg.ccc.de:8443; + überwachungsfrei.eu public-web-static.hosts.hamburg.ccc.de:8443; + xn--berwachungsfrei-yvb.eu public-web-static.hosts.hamburg.ccc.de:8443; } server { From 5f7b0c9449cfe4d7e6c43b88e732ced324e81c9b Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Mon, 15 Jun 2026 19:07:17 +0200 Subject: [PATCH 317/417] Adjust to content change --- resources/external/status/docker_compose/config/websites.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/external/status/docker_compose/config/websites.yaml b/resources/external/status/docker_compose/config/websites.yaml index 7ac34a202e..e4cbc8d097 100644 --- a/resources/external/status/docker_compose/config/websites.yaml +++ b/resources/external/status/docker_compose/config/websites.yaml @@ -124,7 +124,7 @@ endpoints: conditions: - "[STATUS] == 200" - "[CERTIFICATE_EXPIRATION] > 48h" - - "[BODY] == pat(*Wir sind der Chaos Computer Club der Hansestadt Hamburg.*)" + - "[BODY] == pat(*Wir sind der Chaos Computer Club der Hansestadt Hamburg:*)" - name: spaceapi.ccc.de url: "https://spaceapi.ccc.de" From 05149f42fa30964e8deab89c3ffd4f9bff26420d Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Mon, 15 Jun 2026 19:14:42 +0200 Subject: [PATCH 318/417] Use canary comment instead of actual content Please only merge after https://git.hamburg.ccc.de/CCCHH/ccchh-website/pulls/170 --- resources/external/status/docker_compose/config/websites.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/external/status/docker_compose/config/websites.yaml b/resources/external/status/docker_compose/config/websites.yaml index e4cbc8d097..3d1ab223e7 100644 --- a/resources/external/status/docker_compose/config/websites.yaml +++ b/resources/external/status/docker_compose/config/websites.yaml @@ -124,7 +124,7 @@ endpoints: conditions: - "[STATUS] == 200" - "[CERTIFICATE_EXPIRATION] > 48h" - - "[BODY] == pat(*Wir sind der Chaos Computer Club der Hansestadt Hamburg:*)" + - "[BODY] == pat(*STATUS_CANARY_DO_NOT_TOUCH*)" - name: spaceapi.ccc.de url: "https://spaceapi.ccc.de" From e5fa86468a22f3899ec7ce54c339835bead43456 Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Mon, 15 Jun 2026 19:56:15 +0200 Subject: [PATCH 319/417] Encode domain in canary --- resources/external/status/docker_compose/config/websites.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/external/status/docker_compose/config/websites.yaml b/resources/external/status/docker_compose/config/websites.yaml index 3d1ab223e7..c470efa6c2 100644 --- a/resources/external/status/docker_compose/config/websites.yaml +++ b/resources/external/status/docker_compose/config/websites.yaml @@ -124,7 +124,7 @@ endpoints: conditions: - "[STATUS] == 200" - "[CERTIFICATE_EXPIRATION] > 48h" - - "[BODY] == pat(*STATUS_CANARY_DO_NOT_TOUCH*)" + - "[BODY] == pat(*STATUS_CANARY_HAMBURG_CCC_DE_DO_NOT_TOUCH*)" - name: spaceapi.ccc.de url: "https://spaceapi.ccc.de" From 8b924c924f409fddc8ea29a593b295d0297a7c6c Mon Sep 17 00:00:00 2001 From: Renovate Date: Thu, 18 Jun 2026 15:15:51 +0000 Subject: [PATCH 320/417] Update actions/checkout action to v7 --- .forgejo/workflows/deploy-docs.yaml | 2 +- .forgejo/workflows/lint.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.forgejo/workflows/deploy-docs.yaml b/.forgejo/workflows/deploy-docs.yaml index 537d983af2..6e0acd6d60 100644 --- a/.forgejo/workflows/deploy-docs.yaml +++ b/.forgejo/workflows/deploy-docs.yaml @@ -23,7 +23,7 @@ jobs: apt -y install nodejs git rsync openssh-client pip install --upgrade pip - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - name: Install Python packages run: | diff --git a/.forgejo/workflows/lint.yaml b/.forgejo/workflows/lint.yaml index bdd53f559b..2007d24c52 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@v6 + - uses: actions/checkout@v7 - name: Install pip run: | apt update From 899dbea4dd5545451fa70e0f32b9f996b8141d6b Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Fri, 19 Jun 2026 09:30:18 +0200 Subject: [PATCH 321/417] Fix redirect check, but this is wrong Redirect checks should not repeat the content check for the target, but simply check that the redirect is going to the right URL. --- resources/external/status/docker_compose/config/websites.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/external/status/docker_compose/config/websites.yaml b/resources/external/status/docker_compose/config/websites.yaml index c470efa6c2..867a23d439 100644 --- a/resources/external/status/docker_compose/config/websites.yaml +++ b/resources/external/status/docker_compose/config/websites.yaml @@ -238,4 +238,4 @@ endpoints: conditions: - "[STATUS] == 200" - "[CERTIFICATE_EXPIRATION] > 48h" - - "[BODY] == pat(*Wir sind der Chaos Computer Club der Hansestadt Hamburg.*)" + - "[BODY] == pat(*STATUS_CANARY_HAMBURG_CCC_DE_DO_NOT_TOUCH*)" From 9b8da29cae8d4d56467aa085247a79dec10469f3 Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Sun, 28 Jun 2026 14:24:28 +0200 Subject: [PATCH 322/417] auth-dns(host): update ip of xr18 in ccchh.net --- resources/chaosknoten/auth-dns/zones/ccchh.net.zone | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/chaosknoten/auth-dns/zones/ccchh.net.zone b/resources/chaosknoten/auth-dns/zones/ccchh.net.zone index 2a69ea8811..1dee1b4fd3 100644 --- a/resources/chaosknoten/auth-dns/zones/ccchh.net.zone +++ b/resources/chaosknoten/auth-dns/zones/ccchh.net.zone @@ -46,7 +46,7 @@ unifi A 10.89.213.21 ; ; Club-Services ; -xr18 A 172.31.200.21 +xr18 A 172.31.200.29 ;club-assistant AAAA 2a07:c481:1:d0::a ;;_acme-challenge.club-assistant CNAME d50ad73a-f82d-4244-87f0-6f5195b37d21.auth.acmedns.hamburg.ccc.de From 3e0fdb6074d77f4e08ac3722ae62044caa1012a3 Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Sun, 28 Jun 2026 17:02:05 +0200 Subject: [PATCH 323/417] Configure transmission --- .../z9/host_vars/opensourcetorrents.sops.yaml | 7 +- .../z9/host_vars/opensourcetorrents.yaml | 92 +++++++++++++++++++ inventories/z9/hosts.yaml | 3 + playbooks/deploy.yaml | 7 ++ .../files/update-transmission-settings | 13 +++ roles/transmission/handlers/main.yaml | 3 + roles/transmission/tasks/main.yaml | 23 +++++ 7 files changed, 145 insertions(+), 3 deletions(-) create mode 100644 roles/transmission/files/update-transmission-settings create mode 100644 roles/transmission/handlers/main.yaml create mode 100644 roles/transmission/tasks/main.yaml diff --git a/inventories/z9/host_vars/opensourcetorrents.sops.yaml b/inventories/z9/host_vars/opensourcetorrents.sops.yaml index 1be84039b4..e7d56e32a9 100644 --- a/inventories/z9/host_vars/opensourcetorrents.sops.yaml +++ b/inventories/z9/host_vars/opensourcetorrents.sops.yaml @@ -1,7 +1,8 @@ ansible_pull__age_private_key: ENC[AES256_GCM,data:QB0xpxP8pLfE2ExpCRD4joQzoEcbQZTiVEJbX3t9GyFEseZUtnUCO0ysFUc6hRs2BC9hoPXz6k/dZ0vNkniBmqcN5zTofZ8bg94=,iv:3NVVsae+pgbriTNzgT6rGCEzJjw368WgAKfQCi2qsmQ=,tag:AQSIxJCZOZ8dtlvcu4WMuw==,type:str] +transmission__rpc_password: ENC[AES256_GCM,data:PPEIdI/OcuvX8Mh+zNFSOw==,iv:AgHwT6FGmE9sY3H+MQQc291ILbpNKatEoK8W09wrtr4=,tag:M1E0iS8TTNvu2MABboqCSQ==,type:str] sops: - lastmodified: "2026-06-01T19:05:50Z" - mac: ENC[AES256_GCM,data:ms4yaDEY/2DxC56rxagBRgfkHuy2/AGhZ0om3+gTVfG8/1p7v+qWXuWrNlDjefjhLKVCaf5yl749JZIjs8PP6rTKyTcteqVfoKwx+CFaEA9OmPOaENBV8Kpy2Rrkw8J4UBBKSoTKGFDAGtyysmqbS8eqDuEpb/TbfbbybJUNfe4=,iv:g4IHNmQELptweaqRE7P3LlBTwV+7jt6AfrPowzuziv4=,tag:YkBnOJA5IN1xDhI+umYSow==,type:str] + lastmodified: "2026-06-28T11:50:14Z" + mac: ENC[AES256_GCM,data:c03dDTwriK3lk9HYK5h85ESxC3nvVjBZVIva1ZAbeFu1n8u1IfazBS3NN4NSEZ+TkSW1WdQVKXFiQ9WBawLwLzXSKcmxaOPZuIvxcmbsYGuHAMpO1ODNgvuPP6D6vFl/C+Ew0yRVd72MqlvQKrg46+x6uD+1cvi9w30+EkzV+UY=,iv:UlSDF/0aF0dWYaQc9KAv3pXE1DUflQfFrHIlSt5stJU=,tag:Uj0W//Du0TOugByNFHFf9g==,type:str] pgp: - created_at: "2026-06-01T19:05:22Z" enc: |- @@ -177,4 +178,4 @@ sops: -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted - version: 3.12.2 + version: 3.13.1 diff --git a/inventories/z9/host_vars/opensourcetorrents.yaml b/inventories/z9/host_vars/opensourcetorrents.yaml index 6bcc86d474..0df26e64d2 100644 --- a/inventories/z9/host_vars/opensourcetorrents.yaml +++ b/inventories/z9/host_vars/opensourcetorrents.yaml @@ -1 +1,93 @@ # add /etc/transmission-remote/settings.json here +transmission__settings: + alt-speed-down: 50 + alt-speed-enabled: false + alt-speed-time-begin: 540 + alt-speed-time-day: 127 + alt-speed-time-enabled: false + alt-speed-time-end: 1020 + alt-speed-up: 50 + announce-ip: "" + announce-ip-enabled: false + anti-brute-force-enabled: false + anti-brute-force-threshold: 100 + bind-address-ipv4: "" + bind-address-ipv6: "" + blocklist-enabled: false + blocklist-url: http://www.example.com/blocklist + cache-size-mb: 4 + default-trackers: "" + dht-enabled: true + download-dir: /torrents/complete + download-limit: 100 + download-limit-enabled: 0 + download-queue-enabled: true + download-queue-size: 5 + encryption: 1 + idle-seeding-limit: 30 + idle-seeding-limit-enabled: false + incomplete-dir: /torrents/incomplete + incomplete-dir-enabled: true + lpd-enabled: true + max-peers-global: 200 + message-level: 2 + peer-congestion-algorithm: "" + peer-limit-global: 200 + peer-limit-per-torrent: 50 + peer-port: 51413 + peer-port-random-high: 65535 + peer-port-random-low: 49152 + peer-port-random-on-start: false + peer-socket-tos: le + pex-enabled: true + pidfile: "" + port-forwarding-enabled: false + preallocation: 1 + preferred_transport: utp + proxy_url: "" + queue-stalled-enabled: true + queue-stalled-minutes: 30 + ratio-limit: 2 + ratio-limit-enabled: false + rename-partial-files: true + reqq: 2000 + rpc-authentication-required: false + rpc-bind-address: 0.0.0.0 + rpc-enabled: true + rpc-host-whitelist: "" + rpc-host-whitelist-enabled: true + rpc-password: '{{ transmission__rpc_password }}' + rpc-port: 9091 + rpc-socket-mode: "0750" + rpc-url: /transmission/ + rpc-username: "" + rpc-whitelist: 127.0.0.1,::1,172.31.200.*,172.31.201.*,213.240.180.39,2a01:170:118b::1 + rpc-whitelist-enabled: true + scrape-paused-torrents-enabled: true + script-torrent-added-enabled: false + script-torrent-added-filename: "" + script-torrent-done-enabled: false + script-torrent-done-filename: "" + script-torrent-done-seeding-enabled: false + script-torrent-done-seeding-filename: "" + seed-queue-enabled: false + seed-queue-size: 10 + sequential_download: false + sleep-per-seconds-during-verify: 100 + speed-limit-down: 100 + speed-limit-down-enabled: false + speed-limit-up: 100 + speed-limit-up-enabled: false + start-added-torrents: true + start_paused: false + tcp-enabled: true + torrent-added-verify-mode: fast + trash-original-torrent-files: false + umask: "022" + upload-limit: 100 + upload-limit-enabled: 0 + upload-slots-per-torrent: 8 + utp-enabled: true + watch-dir: /torrents/torrents + watch-dir-enabled: true + watch-dir-force-generic: false diff --git a/inventories/z9/hosts.yaml b/inventories/z9/hosts.yaml index 0c6e16d8f6..6044154e80 100644 --- a/inventories/z9/hosts.yaml +++ b/inventories/z9/hosts.yaml @@ -44,6 +44,9 @@ nginx_hosts: ola_hosts: hosts: light: +transmission: + hosts: + opensourcetorrents: proxmox_vm_template_hosts: hosts: thinkcccore0: diff --git a/playbooks/deploy.yaml b/playbooks/deploy.yaml index b7ce1046f7..d111321a3c 100644 --- a/playbooks/deploy.yaml +++ b/playbooks/deploy.yaml @@ -156,3 +156,10 @@ - knot tags: - knot + +- name: Setup transmission + hosts: transmission + roles: + - transmission + tags: + - transmission diff --git a/roles/transmission/files/update-transmission-settings b/roles/transmission/files/update-transmission-settings new file mode 100644 index 0000000000..d51730aef3 --- /dev/null +++ b/roles/transmission/files/update-transmission-settings @@ -0,0 +1,13 @@ +#!/bin/sh + +# +# Update the transmission settings.json. For the update, stop transmission, +# put the new file in place, and restart it. +# + +set -e + +systemctl stop transmission-daemon +cp /etc/transmission-daemon/settings-ansible.json /etc/transmission-daemon/settings.json +chmod 0660 /etc/transmission-daemon/settings.json +systemctl start transmission-daemon diff --git a/roles/transmission/handlers/main.yaml b/roles/transmission/handlers/main.yaml new file mode 100644 index 0000000000..781f442a8e --- /dev/null +++ b/roles/transmission/handlers/main.yaml @@ -0,0 +1,3 @@ +- name: update transmission settings + ansible.builtin.command: /usr/local/sbin/update-transmission-settings + become: true diff --git a/roles/transmission/tasks/main.yaml b/roles/transmission/tasks/main.yaml new file mode 100644 index 0000000000..f927ef6248 --- /dev/null +++ b/roles/transmission/tasks/main.yaml @@ -0,0 +1,23 @@ +- name: ensure transmission-daemon is installed + ansible.builtin.apt: + name: transmission-daemon + state: present + become: true +- name: ensure update-transmission-settings is deployed + ansible.builtin.copy: + src: "update-transmission-settings" + dest: "/usr/local/sbin/update-transmission-settings" + owner: root + group: root + mode: "0750" + become: true + notify: update transmission settings +- name: ensure transmission settings are deployed + ansible.builtin.copy: + content: '{{ transmission__settings | to_json(indent=4, sort_keys=True) }}' + dest: "/etc/transmission-daemon/settings-ansible.json" + owner: debian-transmission + group: debian-transmission + mode: "0750" + become: true + notify: update transmission settings From 8de361d223d99e277b6680c381c64e4be1cf65e7 Mon Sep 17 00:00:00 2001 From: lilly Date: Tue, 30 Jun 2026 20:47:35 +0200 Subject: [PATCH 324/417] add dooris.ccchh.net entries --- resources/chaosknoten/auth-dns/zones/ccchh.net.zone | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/resources/chaosknoten/auth-dns/zones/ccchh.net.zone b/resources/chaosknoten/auth-dns/zones/ccchh.net.zone index 1dee1b4fd3..f598988f36 100644 --- a/resources/chaosknoten/auth-dns/zones/ccchh.net.zone +++ b/resources/chaosknoten/auth-dns/zones/ccchh.net.zone @@ -47,6 +47,9 @@ unifi A 10.89.213.21 ; Club-Services ; xr18 A 172.31.200.29 +dooris A 172.31.200.16 + AAAA 2a07:c481:1:d0::1c +hmdooris-ccu A 172.31.200.17 ;club-assistant AAAA 2a07:c481:1:d0::a ;;_acme-challenge.club-assistant CNAME d50ad73a-f82d-4244-87f0-6f5195b37d21.auth.acmedns.hamburg.ccc.de @@ -56,9 +59,7 @@ xr18 A 172.31.200.29 ;_acme-challenge.light CNAME e59f55ee-9013-469d-a146-a159721b6fea.auth.acmedns.hamburg.ccc.de. ;light-werkstatt AAAA 2a07:c481:1:d0::16 ;_acme-challenge.light-werkstatt CNAME f408acc0-d9f5-4525-bb01-28938e3bb7d0.auth.acmedns.hamburg.ccc.de. -;hmdooris-ccu A 10.31.208.202 ;buba A 10.31.211.137 -;dooris AAAA 2a07:c481:1:d0::1c ;_acme-challenge.dooris CNAME 37caae1f-b77f-4eb1-aa71-dc3f7ed24360.auth.acmedns.hamburg.ccc.de. ;yate A 10.31.208.12 ;staubiv2 A 10.31.210.233 From cf98c9df3098f5246c59ab939628d660c0cfcc8b Mon Sep 17 00:00:00 2001 From: lilly Date: Tue, 30 Jun 2026 21:14:21 +0200 Subject: [PATCH 325/417] configure dooris to write ssh public keys into file --- resources/z9/dooris/docker_compose/compose.yaml.j2 | 3 +++ 1 file changed, 3 insertions(+) diff --git a/resources/z9/dooris/docker_compose/compose.yaml.j2 b/resources/z9/dooris/docker_compose/compose.yaml.j2 index d16c8ad772..e81b2335e5 100644 --- a/resources/z9/dooris/docker_compose/compose.yaml.j2 +++ b/resources/z9/dooris/docker_compose/compose.yaml.j2 @@ -10,5 +10,8 @@ services: DOORIS_BASE_URL: https://dooris.ccchh.net DOORIS_CCUJACK_USER: "dooris" DOORIS_CCUJACK_PASSWORD: "{{ secret__dooris_ccujack_password }}" + DOORIS_AUTHORIZED_KEYS_FILE: "/srv/state/dooris_authorized_keys" network_mode: host restart: unless-stopped + volumes: + - "./state:/srv/state/:rw" From dea6bfe68bb129224c7d580f0b8e664f17bdddf1 Mon Sep 17 00:00:00 2001 From: Max Date: Tue, 30 Jun 2026 22:19:41 +0200 Subject: [PATCH 326/417] update keycloak to 26.6.3 --- resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 b/resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 index 8db3526f5e..75c94e0497 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.6.0 + image: git.hamburg.ccc.de/ccchh/oci-images/keycloak:26.6.3 pull_policy: always restart: unless-stopped command: start --optimized From 94120337aa1824cd40bd99636af3056f914c83c0 Mon Sep 17 00:00:00 2001 From: June Date: Wed, 20 May 2026 20:33:07 +0200 Subject: [PATCH 327/417] forgejo-runner(host): basic setup --- .sops.yaml | 7 + .../chaosknoten/group_vars/all.sops.yaml | 469 +++++++++--------- .../host_vars/forgejo-runner.sops.yaml | 187 +++++++ inventories/chaosknoten/hosts.yaml | 7 + .../auth-dns/zones/hamburg.ccc.de.zone | 1 + 5 files changed, 441 insertions(+), 230 deletions(-) create mode 100644 inventories/chaosknoten/host_vars/forgejo-runner.sops.yaml diff --git a/.sops.yaml b/.sops.yaml index b517a43bfb..849749bc19 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -39,6 +39,7 @@ keys: - &host_mjolnir_ansible_pull_age_key age1hv7m3xypesdfm0dfzwgctde8v307g9xaunnfu2687y0lagcs5q7s3eg0kj - &host_diday_staging_runner_ansible_pull_age_key age1522f3qzddm82w63j7ajdkr0khvced6ht7tzp3grvp0j3hewtvesssr5kpf - &host_auth_dns_ansible_pull_age_key age18zgt4y2sd75hxnpe333zz39048ctxpr0q8a3uqh3jajjkyawsdrq8yg5ve + - &host_forgejo_runner_ansible_pull_age_key age1az0k6cadssk6r8qcqxfr8cyu5mndy59pwt8yqq6w065ew6au4ezsmg2vkf external: age: &host_external_age_keys - &host_status_ansible_pull_age_key age1p546j6whqsyfkjuf674lawrnk2ex653fuvwhcwt46gkrspkq59sqzm5y87 @@ -209,6 +210,12 @@ creation_rules: *admin_gpg_keys age: - *host_auth_dns_ansible_pull_age_key + - path_regex: "inventories/chaosknoten/host_vars/forgejo-runner\\.sops\\..+" + key_groups: + - pgp: + *admin_gpg_keys + age: + - *host_forgejo_runner_ansible_pull_age_key # external hosts - path_regex: "inventories/external/host_vars/status\\.sops\\..+" key_groups: diff --git a/inventories/chaosknoten/group_vars/all.sops.yaml b/inventories/chaosknoten/group_vars/all.sops.yaml index 5b3f4dd9f4..5b4b6c1a05 100644 --- a/inventories/chaosknoten/group_vars/all.sops.yaml +++ b/inventories/chaosknoten/group_vars/all.sops.yaml @@ -5,381 +5,390 @@ sops: - recipient: age1ss82zwqkj438re78355p886r89csqrrfmkfp8lrrf8v23nza492qza4ey3 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0SHFlOFVSbisycXk3em1N - V3RvaXNNOFIvdDJobk9kSVBmOG0ycCs1T1E0ClZ1NnVGK3VNNVplQkxjVUw2dUxu - SXU1RjNLTE5mZm5yUVBDa0NTTkVhck0KLS0tICtpTDNmeFhWazk1U0FQd21wM1FZ - RkdwVXBSK2xySW5qMDg3TzhVeG1Rd0UKXfj3aSYJWBn7EhsUgHnreeARsjWfjs6T - 79kvBkQ+Ovn9zvUZZ23I72rtEjab3Wt9gK2FdmEWVkHYS0ZvA8ymbw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAvalUzeDFlWDJpaFdxYzZU + SzNLbFNiMTMreGhkaUZMN2hZS1dONFRzeEM4CmR5VjVKSWloQzc0NnM0bGRHR2RE + YkwvOWZZZXczcTR0cFZvb1hjMEVMZW8KLS0tIFVEVTd6UG53K1loNDdEeUhVTW5W + dFYveVdnZFptWi8wNEtIL2VEd1pPVVUK51kCjHeK/neGrtcsgvMsPifCKQflPn8S + +E3oHbvSvBWW5ACR+X0My3FF6F5qTyzeo8OqCdwHJJci8wD4lO0ykQ== -----END AGE ENCRYPTED FILE----- - recipient: age1gdfhx5hy829uqkw4nwjwlpvl7zqvljguzsnjv0dpwz5q5u7dtf6s90wndt enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA5dTdXN0xPaWliOGVqS2NU - aCt3OWl3K2FXcTlYU3NDOXhGc2paRmZnMmtJClN3L0JJRXZDeWloaGJqRURWU3ZT - Sk54TGZHdFF6OUkrTVU4RDF5dXpIeTgKLS0tIGM1Z21TZW96TjA0Mm1WUGZoZnpF - WVBJaTUyQWpyY2ZZeHM2VXhMZ0VvSmMKTfmZnaNx7jz320cco7HThAsOPsnQOtCZ - MbVNfu7iltvgQDhoYwhSrnHlqFV4ogeacT2KXS5mO2M7xZK7N/IegA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBVSHp3cVdjbURhQWJRb3FN + ZmxSajRNSzFib2lRRmtVcmVzaWtjZmpibkhvCncrNkNmUmFKMkhLWG8zWjMwcUlI + dElPd29uaEFaeC83citIbC9sZjVhcEkKLS0tIEsycHZ3UnZ6YU5uSVZFUU1VeVQ5 + aUQwZUU4NFF3cHpoMTY2aUFMT3R3K1UKBMzOLiQreRutPycBG3ripOeKOlz02Hxu + nWkfVy4eJc+zRrwICmil/v3VcyKH72AvuUfnBgFkCTg+lGZY/GDfAg== -----END AGE ENCRYPTED FILE----- - recipient: age13nm6hfz66ce4wpn89fye05mag3l3h04etvz6wj7szm3vzrdlfupqhrp3fa enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAySnZSb1UvOFJGZzFCWmZl - MzgwWGxTOTlIM1lJVjBRRmpXc1YwUHQwcmtNCmRFSTVFUGFJQ2dSS29jNWJ5QWlP - RTIzcGpCWmEzVUc4dUZRVy9uSEtBQlUKLS0tIGUzQm5GZ2EwZDY0NEoxME1ZTTll - Nks2Mzk0M0pCZWZ6ME02dWovSktMMWcKgHTs5kzaIpuobI6KbjzWB9W2VOh50mB1 - Y+Z99tY96p47nRKOrYCNxkPMytxZEPZYg2hkz8gXH4UKC2eHJj6+Dw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0STVTd3pHV3BCTTkrOTdy + RXBweU5OM3RkWFA2T1M0RzJWNHVYdVZXWVVBCm00M2hQdlphRkxjU0VOUEladjl3 + a21QVEZmMHFoM1JxQlZXaXlVTjRHRmcKLS0tIHBwN3pkRGExV1d5M3J3NWo0cHNI + M2IxRjNHYmFPSDB1Ly9xSkRHMy9ldVUKdrGJ2HS5Kfyyw+0bCMlFs7DJ3+JWKLtq + 7YCoqWskZauUv+cH2VL/oghttdWQXonlVINkhKbeiQ49BbhPTompJA== -----END AGE ENCRYPTED FILE----- - recipient: age1jtusr294t8mzar2qy857v6s329ret9s353y4kuulxwnlyy4dvpjsvyl67m enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxRmpQTVVqTDNTYnZRYW0z - Q0VWcitOR2VYc3QzbUdvbVQvamptaDh4Q1dvCkhkMWNoL1JPcVozVWE3VTBtU0R1 - L1JwdTd5WXNEam1KeXFBSUVaeFUyTVEKLS0tIFNmWkx5ZWVtUGxMcGl2dWNWSnpy - WWhVSzIxblJsNHZRZ2JseFUvNmxLclUKh8akajMIkvAdYhwG9AAIB4br8EKJvVng - Nc4E/bUm5t6xxw7SVfxJ3HXWHYT6O5zC2sOspGi39oodgUKtQdwiGw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2Njd0ZDR3M3JuREJNTjdl + RDRDd1BXQ1F2Z3NZYVFlTGhsN0gxTTdOY3pBCmZReUF4SVRBcXpkQzk2d2xDRDBP + cXNNUGxXWkVFMTBNUkc1Q1ViaHpYZFEKLS0tIDFNVnlhQ294bHZhNTRUNUx4c2tT + MU1od1U3VG42cnBJSXlEQTl3MVhwMnMKFK43XRLZKQoouvCcGqHt/13LW+KMG4Gn + WvnkZz0m3WUM1iu3WLYqT+QOR8RnNPk669JE80rpxKZmbqRNsIdazw== -----END AGE ENCRYPTED FILE----- - recipient: age1a27euccw8j23wec76ls8vmzp7mntfcn4v8tkyegmg8alzfhk3suqwm6vgv enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTejVEYlEwZE10OGt2TTFn - cDdVV2VXeGpIclhCMCswTGY5UHlld09RSmdvCkYvdzJJTGVYYjZSS0xtWk05MWtr - ai9tQzhJTE92d1NzQ3hpZEY2Z0xzTUkKLS0tIDhSbnR5UzJjNjN2SXlWUlJubU9a - bEVNK3Y1c29DVXBCRGQ2Y1dOejZ1WUEKh9ehZCtmNeErAPbfFdjkE2Bs5Y+CuLtL - bgoUrGv8rBt+rmtgRLSBAj3frYRsR7kA5TsYtcVF3CBGqsZuCn/8/Q== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrd25sbHdPbkovMWJXaFdp + S0dYMmdoN1I2ZFA5SFk4VlBSelFWd056eXljCkdCdFlSMHdUdE1rd0MwSUdpTWNp + Ymk4Mk5kd1FZMElGTktiZ3djRXNENlEKLS0tIHJQWUtqTFZabjdidWlMbXVmeUlm + N1JBZm9jdWRtdXp0YWhTTVNGZnFQcUEKcrOCOyDG/dJocsR5ZLyv42PX5cTBdgvi + aNYAq+SnBEMQebUlPBfOapR3tsdjBRwMPvDN3cBtky77SGAg0hZ49A== -----END AGE ENCRYPTED FILE----- - recipient: age133wy6sxhgx3kkwxecra6xf9ey2uhnvtjpgwawwfmpvz0jpd0s5dqe385u3 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2dytYNExPdFFVWmF6Y3RP - VnpySExpMURISnVhYWFtR3Y0bksxN0JLOTIwCm1JU3JiNldCZW40b3J6cGsxd2g0 - c1RMVG1Mb0FURlN5QXZzL3ZMK3JlVUUKLS0tIDVaV2IwcUQyTlBENnZWeC9BMkpH - eDZ5aFFHZWd6VnNGSkgrcjR6Q2hxTXcKush+dylamXtpu6XB3nLjXYW2KbOymCWj - C4uK7OTmOyNXobQh5k2S120J581BihmQpef5LMhxM835VNEFoQ0G2w== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxM3V0RFd6Qk9JbzFGdi9q + ejZxMHBGdmhDNDloVVNpMkNrQStKUW5aNFRBClJtMGVJN1h0amJPV3RWY1lIQ2ow + LzYvR1dpSFpwa0c1Q05Bc3NXVWNrQjQKLS0tIEdNTXEraXk2N2Q5UWhjUUdvUXA0 + clhMUFZPT3JRZjFHeDBsd0YyVUVnZUkKYMO2fwqDXeuKVVgL2KKDWfTAa+5y0P0f + gFrlyEqbIrcr66fy66zHlVw3FjHoUfOsMDm4GRjWNn4KOTGSjIImjg== -----END AGE ENCRYPTED FILE----- - recipient: age1na0nh9ndnr9cxpnlvstrxskr4fxf4spnkw48ufl7m43f98y40y7shhnvgd enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0TWg5UHp2cHIzeDZtOE5j - bGg1MzFxQjhnTUdFc21kbVJxa2JYOTA3MUVNCndDUXM2NHRqOHFWN0VzdVdUYzhX - ZFZEelRVbm52UmZYa1BMeE1qU3RnL28KLS0tIHlNd0VNblFBQ0ZlbUtxM3dXbGJr - TUFTZ2hTbnU4RUlHU0Z6bzZqK3hIdlkKpxlcZipq7aBCHc9DDqCmOFlER+ed+LY5 - LBBSsL6ReDgJDFOVx2XGEuMO3mRP1vSOXnro/pa6oP+qodW8fJjCPg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGZC96YVlTVm5xM3M4ckYr + MVNZZ1dISHNGcnNSOEVjUk1JZDdVcXdKeEhjCnhUa2dMOEdBenNxcWkrRnY5RFdD + bXpCQk9KZFZmVWN1Sm5FcnkvaXJ1clEKLS0tIGhsUTd4a0tnWHJZdTB2VktEbGxw + eVZVenJRQXNKY1FNVG5yZXdHTVUrc28KAeiaqGRCZ7tjMaxKrlDOTj96WcoxlkxX + 1P+DXm44FAlEU/o9YCun5CBDMrBI8qBt5VUxFaqyA94ixSKXZQeUAw== -----END AGE ENCRYPTED FILE----- - recipient: age1sqs05anv4acculyap35e6vehdxw3g6ycwnvh6hsuv8u33re984zsnqfvqv enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA3eHNmWThRcFA2VE9qYnkr - YkdDU21palBseEZOUCtmNkZKZE1ncEdtc0FrCnBWMXBKRHhBUitMZGt3c3FIeWFS - ZVJMNXdpUTJsTG0wd09lLzJDV25pOGMKLS0tIHlib0YrU0xKRUJHN1dZRVJDN1Zk - QVhDS0ZrU1A4NUFIekphZjFvT21TNlUKviQt+DZlmp5ZFxdlkmdlfqW2+BTotYJU - j/St6J3Ibt0nnflz+oiRunndHsaeZG6xBY3ueRThcjlInF2ycYsJoQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHTmtYKzA1d3Y4ZkRyNzg0 + RFk5SzQ2bGdDSG1LS2FkNkYwTUFXUjZqMngwCkhrLzEzUUhYQ2VkMEI1VmdidXA3 + RytrbXV4MUcwanNVaGc5NDBrSWxwRVkKLS0tIFBYSjc1Q2N1a1UzQTV2czdxaDNQ + ZmJGMFlNdUxrZHBtbWppcU9kelFTbE0KE90J1IodfxqYl3De2qUv8Eu3Uw5PKeQ9 + j5SPAw+1xvnB6q9iHAOhXwtER3bOsXOs8RnPTqKCV5RtEa6su79Kfw== -----END AGE ENCRYPTED FILE----- - recipient: age18qam683rva3ee3wgue7r0ey4ws4jttz4a4dpe3q8kq8lmrp97ezq2cns8d enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBJRWlVS0o2ZC9sOGd3S1JI - RWdPZ21Hd016WlE1QjBONlVLTUMxWFA5dERNCjBtYXVMajBDSnhMbUlFY0ZQQ0dr - YitraTV5ZUlDbS9XMWxKSUQ5QXFpU1UKLS0tIEk1Z05NUDB3enVvNDdNRkpnU1Q3 - R1RnWWFaSmRtdDFVVW9jaGZUdUFQWFEKCE1osno869cTyuxQhQC3TjIfo5becoQk - ItN0+DrfbJtIs51+gu9sv92TFOWgdnvkCI0M6wzYnYCT6hH7ibwfrw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBPbnJGdk40VVlQVGlhRVZy + M29YdWFxRnBRdlNsSVdTWnBWMGI1N3N5SjJjCkw3RzA5cHlBNVA2NlVlV2lJSThG + K2RXNm4rWkRtUmhHZUNBWUlUbTBIQ2sKLS0tIExyeFBpbnlRWittc09mVjkvY1ps + S0tjNUx3anVqL1RHVmVsR040S2VmdG8KEihK9BPXXLd0XQZB111NJuOdJGnCgBHP + KCuVczzyMx1lAyh0NlG0xgyIMKuWAXP0PBGgf24jerGbp/5mIx+sgw== -----END AGE ENCRYPTED FILE----- - recipient: age19rg2cuj9smv8nzxmr03azfqe69edhep53dep6kvh83paf08zv58sntm0fg enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA3OEtZYSthRmZVbFY1dGx1 - TFVTRGh4QTVUZU1VVWRpU0FXMlVyQUhTWlhNCmZRdjc0ZGRGdFJCYk9weXJjSU5P - WE1GbWprT3RHeE5KbzNMNk1lYVdaVEEKLS0tIHJ3ZWdzbEVrNWJFZUIwSUplQUFm - WmpuWC9QWjdmUkxzSmhMa2R0K3ZYZ00Kl25L6Ya5bV4mPgq/OPxYq/D2xqszFVr9 - FkdgDr1VfbvU5wdA0QjIo+gVaJI7EazUcy2UJerS+uvL0dIn+RwsWg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBoVTU0eWFMaWhIK25ESUQ0 + ZklzVEhOeDBtSWpINDVVb2o3QjQ5VWZzSUg4CkRpMnVGU3ZOWVZCRnpHT0J4TGhY + ZHNDekxuRmZ6TlIrUmhkYzlFb2NFM2MKLS0tIGNveGhmY1FsRUE2c045U2NjTi9r + ZjN2TEc2TGtIV093N1lKRjNqa0NrZTAKv72ItPWyFHxKxT1xQIu2sA2SzR3/1/Hf + WiZjpE7QXJBxhFVeYEcZgPKOZ7HdubchjSTCGTuX9oyi4/GI7yRPUg== -----END AGE ENCRYPTED FILE----- - recipient: age16znyzvquuy8467gg27mdwdt8k6kcu3fjrvfm6gnl4nmqp8tuvqaspqgcet enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYTlVXVlo2Ui9ISTY5dnNS - UFNzZGVueXA3dXkyb0NFNzlEVTcvM0Iwd2xzCkhsRGxRU3NBNURBR2FGay9wMlk3 - M3ZBTzlRNlRCVTFQNGZndEJFeDZzZUUKLS0tIDVGcWJWSUlnV3dSWkdzMjdZQkJs - dTNYQlJiNmwrbGdNNlRxZnBKcGNJV2sKBw6OlaoIcb9hoJQY6i5tI2ln9ug8KySE - 4jvaInODSz1eLaF/W+wxgiDxqgiB7cgeBxeCQiqNe8ZZz/7Mxhg6qQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjTzhrMGRsTHhCc2hlTkhS + SGxENjN3R0lseHgvVGJBdEN5L2RqTWJsMm1nCkcyVHJoRTUwa0U4VFFINXNmcFow + djBVZ3RjMWRNMzNnVGQ2SVpnbkZyOUEKLS0tIG1sZTE5ajc2aU82Yi8wT3djTk90 + cFFnNU9ZT05VTVJyVEJIUzNpRjhRc1UKZuDdPv5Ii+1ErBYDGxkaF0U/T9jKRI1X + Ov56TSpl0nlUB89dLPg94bICrL6q/Gv1pFBGx03xe/bHyxaHTEvGoA== -----END AGE ENCRYPTED FILE----- - recipient: age1azkgwrcwqhc6flj7gturptpl2uvay6pd94cam4t6yuk2n4wlnsqsj38hca enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBhbXVyZjBsdlNOZS95ZkhN - VDZZQkxybTh5NGR2ZzI4VytMeTlseG5pdlhrCmdsdWY2cnZpa0xJaklvK3Z1bWRN - OWhCaHMyT1dLNmo0blBiU1g1Slpoa0EKLS0tIG42QUZuZFNVS1E2REV1UGVvRjI3 - WnplM2ZKVkVlZ1FIYStzYnl6T0xtcWcKiUfgJWlz6dwyFg0ln5a9MwZuQwwHv9f/ - AV4QcSWXR0rh8oV4PWw+EYYmtmX7GICNVjqruHmokU83xpcqu1g40Q== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBLVWNnMjlsUFZNa1AvVXFu + OXZQQkozYWxkZ0wxSUxZZlM2WGtuYU05b0dFClloZkxTWld4cEI3TWhaTEpCdkJJ + T0VLTkpsRnluejg0YWNzTGMzUUtRTFkKLS0tIHZ0U1lDRUxpYkdXaEl3OXBmVDZ2 + SmxybFFncFpjL3FuZ2dFaWM4dnFOWkEK+EqXlNZkn+oe4YecCwqJ8fLvXSo81A7/ + hBRU6LQGrSwf7lWW1qXNi/wtlNJMKE0nWFsJozrPFwoEjjysFDZy3Q== -----END AGE ENCRYPTED FILE----- - recipient: age17x20h3m6wgfhereusc224u95ac8aj68fzlkkj5ptvs9c5vlz3usqdu7crq enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0VGFBSTk1blRwM0g0Vnhp - ZnNKOXJ4V2MzRllqL1NNV2VSK3JsZHFTMlhzClpHYXVqa0ZmSGFVWVpjSitmT0pn - K0txWHpPcDVKNGNTZjR6bEowSWo3Q1UKLS0tICs4dEZQeGhIUFYvRHZlU3pQTmdB - a05lTEZ6My9jM28xdUVTOTdqSkRHMEEKjdhHDpQl8hkRiHheD9sxDZHnIeJmCjXU - GBpbbTjAoVcJDyK9YH43/jNr5rT4mxTogArNtk+cvUlV1Ryy+PED4w== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDejRnM05CR0ZHbUMya2ps + OFlBRnBueTdBc3k5VFhpelg3ems5NHZ3NjN3Cm9sRVJXQnZjdWJVNHdLSzFlZGly + VDNTUCtlV3dEK2lSRFhkNmQyUGpCcjgKLS0tIGdSd3dUb3B5Y1ZDSG9PODhNWGsw + RVJ3SW54T1VpNUlhUnhnamFRalpnTE0KL2JiKsiWp+06NN3paFVt5ZDfZBDP8i9u + 2vwztiFt8WdDKqJtaz2HxPutj+LtQIOOmZWatKTQRS8ALNtLZOeZgw== -----END AGE ENCRYPTED FILE----- - recipient: age1wnympe3x8ce8hk87cymmt6wvccs4aes5rhhs44hq0s529v5z4g5sfyphwx enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBscjRHQ3lGaDJBOGxGTHIz - U2JmcjhyOVF3cEFCWXFFMU5Nc0hUU3pSWENRCm9vWXM4Rm9iSFZiTTNjeW1aNE5K - RjVoYUE2S3M3d0orVjFIcWhrVVgyUzgKLS0tIFpWeXNMWXg5Z2FTSkVDYytvdStU - MVNCQzVBSGIyUjAwL2NYK0ZSdE9kS0kK8Mo29wZlV/t1hixFL95NSyCvHfB1nUk3 - m/z5yh8CFwozb7ovd6MkAlqXB3bYAmMOiL+TPlvtqKkzcuQ6DRmjeg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBEQ2Fld2ZjcjhoUVNmalpo + eFNZbFM2UzcrdHZTV011Ni9YeXhzUlRrcHhvCjV0cVMwenhOeDZweGo3YmsrcGRl + U3pBYjUvSTliT3JiK3dKWDdzYzlJUTQKLS0tIE1hb0RPbWoycjhTYjE3K01HdWY4 + cDBTVlVOZGFTWUkxM2pIWkhrK3ZWZmsKEk9Q/lXxWEkDt+xJyhmrnkqh8tarYY2D + UyJQofhowqP1gKLHlH0OVK2SGOXK1A762+aXDsSAb3cGvxQ+p06qkA== -----END AGE ENCRYPTED FILE----- - recipient: age172pk7lyc6p4ewy0f2h6pau5d5sz6z8cq66hm4u4tpzx3an496a2sljx7x5 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1Q3pRZWVSZUF0cmJDUVJj - bmY5T3RhSmMvVGpoRlBOU21jWDZ5elI3ZVFNCkVUWXQ1b0dlT2JLK0diZUZpU2VJ - RExZQkpBa2t4aUxiMndpeStCUmlQalUKLS0tIGtEM25qenNSbmpGMlEzc0xvSW1t - ejh5dmtBZ0tsL0lIMzhmcjg4TmozL1EKRKzgHd2n9OqFd9AYsjvu4mk2IOOgFeF3 - x1toWH7frbK9/wyQ+jDJsWIthsvvGxOrU/bmiWYsFraEey3+8fJ3dA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBuUTlRU3V3U1VmKy9hOEhr + SVlObkVjaERRcStDd0Jtd0tXbUhuVWx5em5BCmh0aVkwYlZ4OWRGMjVwV0M1RGhk + dFhqOVFadG53dnNvemc0UmpXQlRDZ1EKLS0tIDQ4TE5SU29zeXdUYVR3VzdicVRY + NTI0SnBYZGlRLzAwc0p1dExXVFdmVnMKEFkjz2qpMXRqwmZ4YCxs8iwZpHk/CSit + G4+EjH9oMEFBYqPkgdsYw2stIs7yPncKtKHPIHD93OlXCqKoqNWGag== -----END AGE ENCRYPTED FILE----- - recipient: age1p7pxgq5kwcpdkhkh3qq4pvnltrdk4gwf60hdhv8ka0mdxmgnjepqyleyen enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBpM1lUbGhIWmRIRnlJbEJa - NDRpN0QrQ0IrYSs5RG4zWGMzZUhoSjFqRW1rCmtNS3Z6N1d0WmNKM3VvSms1Qk5M - cTRjTFJnREVzUSsyN0N2K3NpMWFTTEUKLS0tIEhBZGphNVhuTkZVenhZcm9kejU3 - bXdLWUV6elhUcWo1dTZOODB4Wm0yQ1kK0K3NSYoxjIdHt8mkfZ6/phTc+yDEbjOd - +23I/LtmUeGLDYbFMnUVrs6IHdt0Wf6XiHihFeAYBzJ+MZJiBGA/pg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSTWY5eWkzS1FSNHlWL05l + SU00eUl6K1VYcDJoSFR0UEsyU1pHcE95K1FJCmEvdEVUb2xJdTRZTUY1bHI2YmRp + RUtrSGJsUFpRazZHVzdhQlZxbmxKMnMKLS0tIHhxVzFvVktXZ1lhazRyRXNLM1RQ + NmNLRnRDdkJiT3lXL2s2L0tNbTJLdUEKz1y8nEdzEmbqb8V9RoZWrKuLbz/as/4a + 8z/+fyoRWhuugN3bP1XIw7tyg7abW4/fMQaJi5iEcguKbDnfZ5G5uw== -----END AGE ENCRYPTED FILE----- - recipient: age1sv7uhpnk9d3u3je9zzvlux0kd83f627aclpamnz2h3ksg599838qjgrvqs enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHYVh0aXlGRzRzVUtpcktG - RlNtUC93VjFYbzFDTGh3WUF6eStVNGpzOGpVCjM2dGM3ZXlzeW1hQ01SQlhIOElw - V1RaRG5kTDNHUzdSVm1WTEFaNXROVEEKLS0tIDdRM3IwRURrMWpWNlhPNFRMNmlu - UG10azZmL2J6ZTI5WXFjaFlhUWdzT1kKDiBjafMxI4hH5vXwYU0oKXa6N3VwwSh3 - SYOWwZrrXzC2XEB2btqWxuPOu4gH9qVJXjIM4dS7AaHJM0DmrzBj1Q== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBhdExDdGlMczA3cG1RQ2dj + cmlycUtFay9GSXZTY1ViR1lRMnZEenNXZEc4CkdhSUJRd3VmUzFGYXJJNStCMFFi + MGgrWkZOQUFqYURsUEVtblVnS0lHM3cKLS0tIE1YRjFuWU8yeWlJOHJJNDdBaDZP + VnpYR0RhS3ZLS2xlN21mNEdWQUxENE0KA/4UnoYY7p/6/KyK/OF0xkK/RNTtvb1A + uw+8pfLPlY4OKcq+yhCQEkIJOUzNvtoHWcvQf7HIzq/3pXc4b7zIkQ== -----END AGE ENCRYPTED FILE----- - recipient: age1dkecypmfuj0tcm2cz8vnvq5drpu2ddhgnfkzxvscs7m4e79gpseqyhr9pg enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBFNjlSQTE2SFJVUE9pTXFy - NHo5czVPWjJYWFo4ckhDeTVQU1lFdDhQc0IwCnV3VWx4U3Z1cGFKdVl6ajJJRU5J - bWc3dkFiUlJoQVc0bnZvNitHV1g3ajAKLS0tIHEvNCtmRjRHRzE3Y2oxRnpLRHNQ - dEtZOGRkdTZIYVJrRE1Xaks0NjI0T28K9y8wk3WVv0SpnWj0FK8U4cRHYeuXIHw8 - tWL52iwJTf1Jm1uKw99S12ixhZIuNUM9J33EqH6PVQxDRCzM8/jW8A== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxZHZwK0wrdGpGMnJtSWVW + ckthVU5xa0syeU1EYWpGUnExSEdVNUQwTndFCk5hSkdDQVQ4ZU9ORXVUbWN5OEtX + Z1Bod3UwTGp6T01GN0JYY3NpUGRZUlkKLS0tIFBCOGFnbWRaZXVieDNYWFUzOHYr + L2J2UFZlUG1EK2E0MktDbGlOS1VmY28KA/Edhl661RwszbY6wdttE/5e91IYM2Z+ + NHPgNq9ePb0DqAtNozYk8lA9D4Y20cx+7gTPzSwYKVW1iITarI50NA== -----END AGE ENCRYPTED FILE----- - recipient: age1mdtnk78aeqnwqadjqje5pfha04wu92d3ecchyqajjmy434kwq98qksq2wa enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4UVRZNyt5QVdNMThiRlds - Z1ZjVWZlVlpMRzBrV1M1Y0k3M2xCRnVUVzNzCmZxVnlkMWNPNTlkOU1IVXVHTWJ2 - MjByM09LTjR0UHNrYkwrOS9Uck1EY0EKLS0tIG9PTndzTDFSY1JzWXA4Y0l0QWFr - enA3QVpDZGwzaHZ6ZGpmK2JmMm5nVVkKrjkYCDyXtf4QMmC4IWh3ealGGFE2qsT+ - 01mAXWHGETiuezKRxJahSqWBk9JL8EvAPNGhi3o7B++H40U4G3dgLA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzOS9kOVlMR2lXVDFWcUYv + cWtTZFdMMHdoQzdUbEZmRXlITHRrVFFKVlJRCjl1eEJmSUs5ejBYdGl1Y3Z1ZkNL + Ymc2Q2VVclRKdzRiQStBZGozRmlDM1UKLS0tIDRhTUN5aVhYTG9IZWdPY3hVQitq + ZHFGVzhBbVZwV2F0VkJzazIzRCs2TzQKK+j4kdCrNBQpEMIl/qBdrVem2880XnMd + /gHCkOmjcCJwbawN7ddB/+nxNp59M2MwednrXt+O5clTuAseUoa16Q== -----END AGE ENCRYPTED FILE----- - recipient: age16pxqxdj25xz6w200sf8duc62vyk0xkhzc7y63nyhg29sm077vp8qy4sywv enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBJU3AraDJyc1dPTlloN2M5 - UGp5a3Z2cFpYWWJLaXFMdVByY3ROQ3ZDY2lvCjN3SHR1MjRTdTNERU16aGFyT0VG - NXVpTk9KVHp5dDdwNkQ5RDVsMzRsQWcKLS0tIFBjaVVZUTNzVDZJVlBQdGxZbG1L - MFh3MFVSS3lKK3NWdThGMzIwdUNoSzQKSREBS5WSMieyjWjuBN/faxsdF0Gv29OA - s5MLSR4YXdoENtBYJLl2NMU8+Qz/F1UlnuUtCzcW686Dy11T/CDnRQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxbWgwQmZEcmw3emVJN294 + cERib0xuc3Y5UWJiRElRUnhjS3JScHc4aEU0Cm0zaDlzOU5sL0J0MGE3Ujg1T3ZS + cXljVFFVZDhxWEdkUjdndmNlNkxrQTAKLS0tIENwbDlKTVRLSVJ2elZCbnhtY0RH + Vkdhb1Vld2NvWlpNTFNyRFRQRFhsVlUKRihJgoaFsgfByXfoWA728AT+E9bQu1ju + tYpn7wL00VA/xwLyb7WVcrIJY2Q946UTUE4b9Isx6rv3NDKeWYUEPw== -----END AGE ENCRYPTED FILE----- - recipient: age1hv7m3xypesdfm0dfzwgctde8v307g9xaunnfu2687y0lagcs5q7s3eg0kj enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjd0NpQjFVOHAyUkdYMzZs - VUplU3hpbzc1YVRzS2lMSExHb09uOFFRaFJ3CjBqZS9rYXl3aGZkdVVUM0FuU2Jv - cHRXdlNFRnYyK2dXaE9EbytOTXhxTDAKLS0tIGlEU1RpQWlkZGovR3JTOUNTck5N - RlJWZVJ0aWlHSngwUmRhUHpYNUNlNDQKX4jKugCpD5usjuQkSimKhEIPbvq6cTT+ - DcVYEw1hNRieZ3hrjMIqcoCjPOlXq0+hkQmAkZvrMvO2e1CAlm/DZQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBpaFFlQWpoaUJFVEIvb3Vw + SzZyWmlMcU1RMXFnMmNHenJNTDJnN3dYbVhZCmNFRC9oRE1ENHZWc2ZYeUFMOEEr + ZjBUbjlaNlVvMkdaUkwwUmlWd3luQVEKLS0tIElEQnltd01ZU3YwNlFjc3RBcUNz + TVFtc2czRFdoMDhyVkgvVXduQTNHNU0Kiuni5O8zpUHcxSD/ifv26sgGa0CcztsT + jp/zmougfaFAy7UOLnkaCEu7gruoesZY3fxPhiCyy+jSCLe9mzxSbQ== -----END AGE ENCRYPTED FILE----- - recipient: age1522f3qzddm82w63j7ajdkr0khvced6ht7tzp3grvp0j3hewtvesssr5kpf enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTc2ptTGlGU0VaMnVCb2ly - dzNUUldEeVBIbnpEdlM0QkI1Zkhua1IzNmhFCjBUQk1lanFWVGNjeDVGdG55TTVE - Z2lIWXNqY0Y1YUEwQjI5dC9UY01jSE0KLS0tIFVlOXN2cThQdldjWEs3b2pDRHNB - cks5WjFuMTBCMVhMYnJjbkpFclgwNUkKPh/RpdUCKYn76fm5MG47ePBmNHLATnFp - rrN+PHxj85vL/3u00j2kNY28dM7IH3qymMYKu1Dm+BO2RFI/4hPFsA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAvNFVuV04rTnpXRGthQjRY + ZmZ1Y0JQUG45dDhoYUVOeGF0YTJmamliT1FvCnFPS2NXbFliejg4Q3JpVmY5c2xm + U09HZ0I1dk10RGh4Ull0dTc4OEFGVHcKLS0tIDdSOGhySVQvUHlLNllnakc4RmhR + N3VKRzRvNW1WeVBhN0ZtUXF2UzZHVlkKl9roQWqZWohR8MnoMCXWNggWJZBHfZJp + 29pKxeqp4KV0c4oQMgFYcckrw13ynMQ1O9cgYVMPl/qtViun9jr6XA== -----END AGE ENCRYPTED FILE----- - recipient: age18zgt4y2sd75hxnpe333zz39048ctxpr0q8a3uqh3jajjkyawsdrq8yg5ve enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYcHJaVExSbFl6anlLd2do - QlMyNU9zT1lJM3NTeThjYVlibTh6VVMweFQ4ClFrSDRXaTlDME50WlNJNG52SVoy - NEFvdko4QUdYRDNJSkIyTHo2aVlWTncKLS0tIHAvRlNISVd4WU1WMGZGcVk3aEhh - SUo2QWV6bEZGNFdaLy9BU3ZsQUY4eXMKaW/0KSpGic5BDOdmWmCHJ3NzBNC/+3/K - I9GEF07iK0tvIFupQToFuZ6uV0BdLmpHPfNBnSKY2+Q3r7siomPTIA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB4c2VyQmxSWW1aMnRwMFpk + bEluV3IxWVloZjNiQ1hubGhldENWZG5kOFRnCjFZMUFGRWFiODBDaFNGK2pCRlJB + QzJCdisrd1IyY3B1dDFOWW9QeW5ReTAKLS0tIEFJODdCKyt1NERlbk1NNjUxWWU3 + NXNkQTZ4Tk4zanlRdHJJc2tJWmdNMzAKzifmbegg6BO7RBg+BEbdq+wqWHRIa9JT + RHUWaCkaX/uKndvNzjrDITLClAw6lycFFFWkCzFidT6nzz2omfJkPQ== + -----END AGE ENCRYPTED FILE----- + - recipient: age1az0k6cadssk6r8qcqxfr8cyu5mndy59pwt8yqq6w065ew6au4ezsmg2vkf + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxa3NmdnoyRXdkQUNBT2xv + ZmRkZk1kcFdoRER0ZG1NelN1TmpmWXlPWlEwCnQvSWtuY0NiT3dkN1g3SzhhTmVm + Wkd0KzJlcDh4aEtFMUhCaUJ4dlJYV0kKLS0tIFVnNzJXQVh5U3d1b2c0VVVkV0JC + SURxZWNTNDcxcEd0aHA4R0VRYjZhak0KNsB6lsd6OK9lCdzHJqih9uZ5xExf6z4J + IqH/PN+F84tTh29QxvZRd07qQwVBiXdwDcQjBzUM4S+a2c+TVxf/qw== -----END AGE ENCRYPTED FILE----- 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: "2026-05-20T02:08:48Z" + - created_at: "2026-05-20T02:10:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtARAAgG60jnqSqxqyG5tpmOyODv8QP5CQ+2bhDUg9gZtaAn6R - CLseD2MGUkOn0JzJfDbLFNr0yCkNCq8hiCQl/4IuX1eCV1Yskbo0N9VS6aLVeN2H - GLkOkVBnA0/ipckcnqBk2kvxJLy39N4k5n6PAopen8rQcIuEN9Ljso8ItB1BJhKu - 1AQqZLw41aCyXFnK5fvT0s6U77VOjwO5CA/c3Cgz4HzR1cmZSr65a6oBBIOBkQCH - J3SSSGCJ/SgAAduQy5eHMLtCm/J20NYzLDCadwHTgGJMHkTaL49E7/JbYG3t1aEO - Le4mG9hXz2vC5CbZSaXzmbwv1APQ9PWRzjqeBsJFZx3rkmj8xhRdZcU/nqCXTvls - l+yG0rbMz1vHPW65nzKw+6AU974Mt/55TRxpdCQGg7EqlzS+JnbEGxnqtSHd46Sq - a7apnd0rbaZpUD94tYcUkG3MePslarCcv5hBPUD4hGjC5yfkkCdcRES2JnNDcCQy - 40mknB95dXomQf7Rf3bOpbXp/zagaFaWw2X/n3eEQZwXl6UCQQf5n1VriKMbCTJo - vlJsDGSsaZgA4c3O9Fa64hECnp5Uj1jtBbC4xxjljZMUjDnAokzWbJPpWh2wS6rQ - EKndLx23h6gHEOS+Qa3EixF+yVRHCSZs1WTWPlOEsXWJf3gduvmXY6FzLN4MPWbS - XgG8DyR91pv5Uj3/2V3eDExA0m+HyXhZZEo3j+0Fda9HZkvQERsE2lvkTt1hyB+f - cBU+7eXEWzOrulWpFFtKetk3lNdGEhSWXomGZ8CRCHrmu37settg4QqWZlUwXWQ= - =4FYu + hQIMAxK/JaB2/SdtARAArIbXCPqNo+EajbWjsgzQAt4jtyUSh7zOy1URyt5XPEUj + zJUFkS8SUfL372esuA/KjiRhE0Ztq2T+zHF8sBT5E3GCTEiLnKvGNGik2w2OX5MG + CDmKZosfuhByOFFubsI76fbicb5euGq1QSlBony8fqPtvJ1LpY2GX7Ob58TXii9f + ESLesimUT0T1sxG22w7RFOFPHRgqD7q8Y9gAsJduj9QVIr6bBxehbu80/b00irk4 + SVFM7lkvEWij3LXHYBBx54lwT5vaM2lNzQzBRJDljzD5bJkqFFc5HZAtZXI+g7fP + UmKZQWD74Fi8boYE9VNKW5jtEHAIgWHAVNEZPb02zmNITH2BaWYQFRseYeILdjaE + zdnw087YhK88BHZYjgACY1+yMHaxrlwyj95D2m27zk37JBo5F52L9Lo7uKgF7rtS + sAw+VGqscEwyB0mmTeidcV1talvieHgdbJiCFH/hWcNksa/EZoMclp8HscKOjWjj + bq4qZSH0BPD740CLyIhh6LFLpi2wEdEY4MyMkjP1vM/F7yPondEB5vNjk7x5V1hD + bK/WthCeN2Q34uCBOnnqzFlbrFAmHXQvq8NgzEDvsJmfY1wUrNsdW9wy8fti+g2w + L+s5Eqr6BgvqCIPz7e6xtZwekvP1p8tHyUqPcdXLDfFoBayeMd1/So1mV6nXzs7S + XAG+LzP7X+B2u69GSkJZjgpmwgiOXXQDIlVE60O8bENLeMRbXLpkBwQ0n8XIs6pr + +FX4YxPsf7IWRpMjKNfLN07dSSkjhlVK6+qfyBAuucuikWsmqY6jgiS8daSe + =voHd -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-05-20T02:08:48Z" + - created_at: "2026-05-20T02:10:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf9GnjRfyFcHOBCSMvAQTzSH1u68A51lgK8wPyxHhEvwipc - 6ZwTJi/V8tLJQzsgYq642dCRwHwvz0c0s8xNv0EyTjxLL/ituxcsGf3UeoigaQGN - 053vxufwSCuglWCgSVGy2nBXMw/v4oj+3dAl83cmmZFDaiMfN3i+cs8un/fkHLCD - IPDhDgvkfYfHAkezQ0mwQbiTtZGLURFMefXxdXcDTmgRJ4TsKER16uLwA8wOVe46 - bV4QzGY3+s1VJGuIXmYpsb79u54vch6M6SDy9VT7k0T3KA+tHYxB2k1WbgvHRZ+r - KNyITbqa6Vvwbd8LW9TvAdkmye3p/StlOD4DJH0GJtJeAVDkJ6Balsd1JEsHQqzX - 8iYRNCueqLorWncsJerH95dBvV3DZ7Cba9askEaIxNjtFTBO47ZyK7C/MwaTNDAr - 3qEh+mGsMC7ONl8erx1MheDoN24A9qUPQc6eJE97gg== - =6ciM + hQEMA1QflAioE8i3AQf/XZSfNxfryND2BGfBPyJBkNySVUZpRPqWg9hi+7n6oCp0 + FZXUynfrtWLTdFF6A35OsnpdLEVwrQqfuqcrK6OkAYUkV9t50YVw6nAAmETc9faB + BV7RVGJf0OD79LHI/Fl8a+VkkMqG56BoBySQ+2Vb/eh8w0PKbB0oWN4yXBihkXAS + DKjEKf7x4OrTdHKa8GiKxsA9C+P0oo92Ygy98TOXQPb3MSQhWfnCFm+7beXIfInu + EpOtSFM+2X0y70Wz+X2/lw945qm+d+JXjvLpqpE+4U1b8LYuue5ddHzJjYIHK8Br + lQrdanIJw7CAeyKUtq5M63k5CZG2GHMxNGngWUGtm9JcAScF4QdywEzoq2NBf/lF + eP6/u7Kn8MTJ+gFOWxmlT8+VA+rhCp40EccQzbeftNI9ojI2YrYl4Qkb9CzlFXhN + uCtLLlRakB6CQWGaTxxlkN97h55s3A6l1hsF5qc= + =YG2f -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-05-20T02:08:48Z" + - created_at: "2026-05-20T02:10:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAA0ojb8p8uQLivFc8DCYMeolgJa2APcE674herpCNDFHqF - bqwTiXFlfwtgHq8MEXW9ZzmLjGtv1xefNyV7FcsWIxLARTlm6vD7lXhbACVzDEt6 - NArvbZ7S9DNOqjmWMPZMBw+isSp49IWL6su4ayxDylX5T+lCtCt11xDVehkwThyn - espWaTTxePfEhvfa2qV/KlUNg0bUM/D2hGtccwoN9o6PKZ61XJXs22xRsAUAvIJQ - qVj5KzxtFuuMQoYpWKL/pbI5yTyyDxnv4hBiRm5c00Jh/pt+C56gOpHMFyoZz5Qm - Hs/Yx7IIExMJv64AcXxWSXVSUPwi6/5N4kuQNUyF+IGyP5ChiBANZG/1b77sSay0 - YXLp0s59NcgVk+qwokBnWjlM9SBvVSYe8UCKP2fmcGsX8z8BnRSLMgv7Vf7dp0Vz - 2Tn8KPORJOvl4AM5PrPLyGB22enBfNCwKNFnrc7vrxR6FRjY6ev3H3KfGpOFhFyW - niz419fK7suqzHealm0DW9bfW+/5DqQvhqhU6D+yaL3f258LGa+3xM3fKNxE6SKi - aoUo75/ejnVl0vdT53vS9WMERdCuuN2ye0EGsU/k+Ir92ZOV7wan8P62Sz5aE/sI - x9buFx1Mem7amIoAPLJ0iMjt8znoqguPMxI7nKp8PYJ+sv/z2oaBZf2ZpO6k64LS - XgE80imgQYw0LP02tolznROVwYUL4zKYUrRvU7DK/dj1ymXWePdfvBQ7QCJ8C2d+ - O1K1y1Ym0NusWbxz1sG85MTnANYwzHlmzFhJwsoJvdzs8c0SUxgsL7+m5/++qbc= - =HerR + hQIMAz5uSgHG2iMJARAAyLt6nBeCDKG9P76zUoweIw+m0aXbN1XFSIPbaq+ymq3n + /DDhqswh0xF2Ng4mD8uYrFI7CdEyVH2KCJAsa4QRKadryBxNtZqPOsHz5JcVgnlJ + yKnIYWbG7UZKfjAJy6TlpQR79hj7EvCNVQ7i4OYiOSJHxrqrRmAenyP0h6KfjIWA + Csx3y1O4SiE0llGYUO7K6t8p8mvx7nek2rXcL4KMo+4mKWSPaYP6XkBYteRTjfA8 + 07iU1TOmO5Fh5KgtWYkyAcQco71aefG6ub/NjJ9UYpSq6Q/I14DVpC5IrcgxbcRQ + SXAaK8L0iQPQ3mN4lxKokD5FKmr1et51GjRfvmiLCxY9rooB2/Xc2oiCHP8cB4xq + kxxoRUYRItBYzYbXqIYPJ0m8T5o6QQePbj1zfFLfpW33ZFdsRVyOdl5WSis5Y0Su + zA4A75KPlB6lK4qBa3tbWC9lOa35uAEk0NNOV2HNA7BAv5H5AQkoItaYMqElaoVG + PUrhuR7/eC5kRXoqothzv2H5BVGDqgqqj3ctv45hqrR3CylK5M5c8cS1Orfp9NGl + 8WWv55c7bWMW7dj4TOms+O58MwrOBla7C65U2krbsjm0piFoaEyRVgrypV/zR8tX + LIk1jJpNcLkMgVE+8593RlRlpCKbnk2qfqd4AuoDWdLh8Qq9H8lB4s2F4v8g6FbS + XAFw18E38CdoNdj/bjcM7uCOTGAfR+p24k7c4LPP6AcC/FV0QinPGwDiwEdd5a9N + rXyvsFxfSzrF+CJ+B2vefasL7SxDCVkM44dY2BUxOmYxNRmH5g2R73sLKJ7P + =wIGB -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-05-20T02:08:48Z" + - created_at: "2026-05-20T02:10:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DsZXvxFXTXoQSAQdAozv/NDuwLWMHca7CXMS6eAyeIspdNr0G8Vrt1qUohlEw - O3zOGfc5EKGNAWremAO/cvqY1lBiftDKmn+nhP/+ODde0QyIMuZesTKW/RjqsHK5 - 0l4B51zXNybVL+WK0eHXdR9jBsJt2ml+B6Dm8Vrc09ivjy91rKh2fkE57LWpQYHN - Bzs/9tL3Go4cDKmm4ziiw6Gisw7dMJPI2Ys5goheG7KBoGtCzyX1qUZHElyiGHtK - =PEO7 + hF4DsZXvxFXTXoQSAQdAFCMxmEEeH1EbTjXUOYwa3eR8KnSPneB9kueCkfQrnyAw + 4gq47KXBaGPHp0Z8NYWmSFBeaYjCkwo2Ofb+j5/Va36ky+AnSysGIwcUrWMaVa9C + 0lwByKgj1RSU/BsybtP3tyPw1YRqadlp+nR/5agxBYhK7BC/jbhSN8rlkpfycuH5 + 39oQYmE/jRSAIgAfsj77Tfb2WRBAdv/F5u86fO/bgHd+MgPqPU4hCCJi5Q+iPQ== + =dW1/ -----END PGP MESSAGE----- fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - - created_at: "2026-05-20T02:08:48Z" + - created_at: "2026-05-20T02:10:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAh75Enh942cD3+HgiJEtjw//W7OV37U0rZvXi0y/Mxikw - 0XNYiOER3IIwoFS7a8eiBSZe1bbfnFD/0qOfbpD85orDiJzrnWAU5bq+NMHlBgzx - 0l4BXAmkkumjh0ZeaSRUayYmvaa/sKVnNFlbI8ieU7qb3zNUaC4mqU2MHQ0KHRJE - Aa4eqVFhsLEh+ULUmeXrbPYo8q3+IQZteQ4bpEv4c7vh92h2mw/bj8XphSxN5q8C - =Dvky + hF4DerEtaFuTeewSAQdAYdMU1XTUDpkZslHRIczB801Wxg4+i6AMXuV8ev4/mHcw + xyg+Sisom1gLL0VX8Gd8YYsRTZiDSSpurQNqwXy0Eyx7+WJ8txxo/GFw3ZLMRhI0 + 0lwBSwV8FeBs0tuvTFa4zqWZ9wklzk7lfiDdVV1wc/Q12SznvMes1KZtqUDEbkaG + lYg2b5Cl4xMd+QP9MVcQgibGYw5mx/xZ0oJpiVJ9JBw6MrGBJYChGOqf0eaD6A== + =h0ca -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-05-20T02:08:48Z" + - created_at: "2026-05-20T02:10:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//ZHA6fVzyT2n4i4AHHMXii+pJPEJN/8QRdAnxZYNZ1n8k - G8T/0a0l5xb6o9WmsqE2OYU554uzoHkyMIlM1kZqKZBeBXle7r1De/T10fv2pwBr - 1wclXJjP8NwyTECASKR10+iGoc0d7R7RZ74dnu5cE8Loj48oZqbZjIedNrQk4YBY - PhTyeGsRLpxVSlL3T6aHmw1MfcIQ+P8NVLlSP/61IM4GF5/mY1zl3XAu/GUg7hBS - L0mpLwSNHJ0frMKQpTwSSfg9Pi++0NqTSBgUh/ZoikPGmGQl1eFxQ5tFD811mHMo - w4xFTzt89pD6Q2cv4KAH7qWdrWBdEvx6O4uTLdK9Pp9zKzB7CEujco8sZWrRmwEz - apWI1Mq238fCEtmOvWos0dKZie/dHgYEkPkECcUtDD6kAMP8Y/b1XQ3HZcwuDRi2 - 7LyplVyZ7Qu24vSqK3JuMUghoJL+fqsfKcNAmUBq0ELI1HY1P6ad3PvjrMkHPNpM - 5MhxpBk61YUc704GFEZK13KNbJLcygA/d8KUB/ouDR/uRjN0xw6cSN2VmTHpGA0A - 98+3hrzJ3ANmLFxX7eoGKrTltk1m7sIPACw9pkj41z1goPiK9sFawGUN2M6o/7W5 - UXPL0GfBMTI1Jbgxvbnq05lNDAM7DkahagcmR+Rr7CJdmmQw1ovjFnt4knnC0k/S - XgGQM9gT6th0CGAJ3DHJm2yoY2GikeoLhDTzaksgCZM4d00WC21yD8dNPv66KuUh - +4pxu8xvyQpPQ2Lr+H4yvEgf8s6CINgYntbmzZIyWTu9mOKJD0iHpBQM3I+3iYs= - =zdup + hQIMAxjNhCKPP69fAQ/9HuQg6KvEarCQfT/piWAuXtufmkCcj5dQK+U3j8ezmRYf + gvXqxd616jO72g94RlwO1MKwH8oukRTzvVe7TdPf0WtcuSVn3qeUY94mOwqscMSp + +GPSoPDqBZ4V4eg15vAAsTK5U2T/tx+5W3k/J0v6O2CM8b/ng8r0eP3MwlJiN02+ + ya7zS2A1OkxME6fa3758P6P7t0VdQRuhK7XA3F/Gv2dDqBEu0z+mFZDg007sR8bw + BNTZKMoamlDDkpv3HZ0qLy5FcocTL+/z/RK3GB4CB09gpznU7iGbM3QTkNVdNS7r + u7qaKuXKY61lIaho2SCgM6miA4h83DfHnxR0Vkcw8oPfENls5lPN8hku+swMFnYK + 9KR9ntk/Beo3RoqS/iIRgLlgHpP09tggdfUhi1gPdhdmTH5E2TIG9v7S4ltKen53 + aLqrNIiHy5S1Nr05Of0g4Ff/OxaI45lmzXAWQ7oVax8DSA+5ubUj1SHmo+zG5fyh + tTAdVh9oyBzX2GlpbWoKCXKPEhlu2pH75w/WfZLZYtjh927Mog+d+PAK24Kiz3N5 + cTd5EETuZC/nBku3WWN6y+gbfUpIJMFTtLKdNY++ebWaqfK9aZ1I0Q1g2pfZXDb2 + X1bzMdDdGAaCFNW9KWx4woB6FZEQvDLEKvxqZ0G+4DcfNj83sGOqE5oguLJhPyTS + XAH9x6T+VjGRFT0rN2MUMl4n+z5K9ZWA4OJcC2PGi5VGlVyK48hD0B+ygP6GBwKP + 2LJeG7ANB9eNeGsHmxEE804DdcuuEL8wtEomKU+14Qp4sFwXJEn0zqmgOPd+ + =DxEt -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-05-20T02:08:48Z" + - created_at: "2026-05-20T02:10:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ//ZRYrl3A0QNnXXnK9u1yOATNq5DlbIPpKNo7KeX8HL12k - km8LM4s2mLyruJkdoGfEWY0THpGhUGrnXMx2QDxVYf47BWxmBvGinQTw3FAHEpt1 - fl5PACh0g5tqGkwLHIowAPMjjmTNKn5pCgNC9NGfuco2yx8tZUfdUNWej+/ZFtu+ - Y14hn4nOSIvl565qT2T62uuPdaRa0pT3gu2Pr5Z1Tn9hGl47swnuq6b81IeqaPu5 - ukbT0S8UNcW1AxgN+pXfQiLg+Iro53DDxKyZ0usMKSi9eBl7uayf/063RIAZoYl7 - PkdjaUuhflsF6RFKof8qC2vDHRnQNtIW31u+gNxk8852uuJtYspDR6ke3LdZru7K - QpmendFKZUC+9EtUJwahLSeQQJ5Q/xgNuIxCCPIlDftfX6kY3Oi55rl1t7J1lu2N - D0cRIAszEC9thcyGlzg6g/C2LyqeHbHdPxpFePN4MOOA5FuATftxwxd248jnEJes - wuX6PdaZ0LrcLBdSMSmpgBoVgv8bcyxD3K0SmqfbpZbtFCkDiXIe00yy0KtStjx+ - b6YfVpojcnXuWEN+lZQDFU7bvMZnruo0L+Z8MFrUb+wLZ9Pini20M3QhH61VSQJP - O+s0gEKwaDYp8125iW+mV9o9nw3fMEE49BMjlOxTXCHZk7RVKADzbpmvZ8rWHnbS - XgG7HFzmVNeECKLtbVO4rgjLqDw+q9aJ/wFyXNjxuMJKa5FGgl8/g38KpfbDq7jV - ogBSYhLpr2cSsQ/sLoLJZZyfjYTmvmSLZpFPqzSRofUUTrBs8/jKtzSCCd36AfQ= - =Aa7t + hQIMA46L6MuPqfJqAQ//VgmB8grK7tmBerMubQu9x9/ig086RG5IjAq+NqDZlwVu + fnRRhTb97/js/JdIXn+to0/pGwk2vzI2rWhcX9cLbRXVWqiLlWdDkpQwh0hAkHPD + U9CBm03TBJbsf6t9rA4ec+UGuMHBwKymw19c3TQpUtwtMxQpwUWsQemoCrzyayfD + ZhzVBL9skq0rGk2WQ3Z+qolGcFPokwwmh4Lu7gDOJyHUJYQdDXlZfbeNMv1/Mq/6 + atWzd9WrEpO3un7yu5wNzcUYtrCJuMEqRpwxf3fz1jNim6fYkmj7EMZcvZAEOU0v + qn+wBLVe5y19/W1KxLQ2hkUMhxsPHztOnvsYUNAiVNTfmCRlQlBZ+HvayNzMd81L + YIULOV5p7UnhOlPQhjwuX2LCOzkDRl4MKrbC4XNLYFwphPAn0v8SJ5mcb6a3w/5N + Zn4pzJX0+lT3D6Hv6231TVx5/AvtGYPs4YToM7drjl8pK8e1UHSdWxpiSJ87REvh + XyeEhvUoJkVhMc4pKWIMvlk5MkW0jDVCIiY41qnPh3CIF7NOOZiN5YpkPtl6kFJA + GkxS2bcLmuX/OnYkF3nsC77toEp0ffb95AyfGkcHIypN/bEE9P4DXIo98TZJCIXN + nq4HeDZVV9WmRQfpwEbYuGqxfTpM6LGl3KhXj+LJnktpMyYoEyX1bc5fB8cYDzXS + XAHhVdt5/wjsKTv/W8Nv+taOK2R+AD1QY5h2Bl97e3UoR0Ug3VdjPoLwZ/gFV/dO + ac1FMQhoA7P3Nlza1t+cSY8LvbiU30zurJtl/46JGreFseVpe0zjOKPMFutE + =2UZs -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-05-20T02:08:48Z" + - created_at: "2026-05-20T02:10:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAFAf/+8TjczYTVpr5nrNKG2VHhOGfhHtswIg3pBbEsTkw - 90waRIH7AQb7pYgaqkfHZc1pfuA2EunAvEL8VsRUxrpueiWH0Yb1AoosjWn7VRuJ - 0l4BqsK0RFro18Q0xtIh+AEEYkFVJxPS2yJMD9e8Oc9uiRe8JCrBOa/inDGWHHVN - o4SY8heM7eWYW4qw/RnTayq4jqsA6vXJhgZHCSTC056RzELa4+WrtF5IVpv0lARf - =iTIp + hF4DQrf1tCqiJxoSAQdAOVINvFeDv9ENq+KtuvoKb+CBxyMbcKUWlBtOZLV/Xx0w + GXeCnAwIAB99wxr4ewLrFq34yabVnNfJYB9uD4zcIgevZAnB1Tji3FGMll0gGryq + 0lwBa3Pm/dn0ypFFcNW9xksgwE2oCaGLZq/D+bJtW6UJC5tBZm3Y+MbqiwKljJk+ + lmzzX4rlSnx4jCma8peyAb8RNqpMO/ezo1jgNyGZpsjIGvQ2i1n4YHi0VqEUEA== + =JMjm -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-05-20T02:08:48Z" + - created_at: "2026-05-20T02:10:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAt08Be192JdaBTk1XW0dqa20rDfFtMJh7lJhFLMXW0mAw - ff13W+ZxJ2AJAVOnqiza2lHqE0nxTC/TZwvxXmmIbZKjxpzjoV2f5HcW9FBkrZZy - 0lgBlVtniohqUAz7vbbfyqi/t/6Un/8Z32Cvr060vIvBSANX+Dd4J6Gel4ZA7F6m - 5rSP4eipg5yhlGyeUhbXzT8l/NcGytbEAGjwMA4olC4dnsdRkrCiZY14 - =bhCX + hF4DzAGzViGx4qcSAQdAVm9Q6YBrTtT6g6yuAa06+nPtYICDNtrxUgjNCcOkJ2cw + Pi/c9CTwfEiU2iWzYygpCslJxs3UouBu5nxzCFTQRImltBjVQymDwaXvS99HU2sm + 0lYBG9hfZH8Icjo9n4MlbnbC5WBLRooyQJWDnFpZ85n9C7vLY2AH2a/IqnRiwB69 + ufWmB/r3Z2Brez/XvJdWJFCybuShL+Wyr+v5uelxI1u4ztNxmKeqXw== + =9vzq -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-05-20T02:08:48Z" + - created_at: "2026-05-20T02:10:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ/8DjyU67Mch06O1rnBp5UpDTJYMsTL9hqfjQcxpsZG1gLJ - t5fCtwSgJaxVfx3BfegWuwpS2jNQvuH/oNs6T4yBeN6GpLOzwQGXUe+JBV+aXSEb - 5J6jyJ7UKwICyE2kN8iwsKMNy/NXa0hhkAt1GIYb0CgEJ6/FOAGxEh7D1lL4WpYx - iiNRtmWqJAiTKGE8jnMmFamddKc3wkh16Z7mu2tkdaODNwrzqXhlIrukUAnn/plc - NPTws9gsnnOw8pYydQcSDYkKnM3z20pUk6fAfIWZ6JSH7Bt3WJ/Ftrhwixr9Ld5a - TXgiyxzfJMo9eUb/GMh1NpRJjLMBflfA3DsoD6dlvUEQAhCpO58xz94dEMrzb1wI - mNPwFPMgtWesCzJqXZwVLrtFbU9+e+ZlJL4n/BtgPoe9qhPQpb+hjIJLL6P10vG4 - YTx0M0v03vHsNy57uBh+ukV0jkm6kcQR8cVm8i1HcX4T0b8UbGyh+FXuMbLPahMF - CAPexpw4Ai+lAQm9jpRdhxX4xkXleNfo5WKNjrM2VUxiayi4EElQ71y4MuYbLPgM - njYLEwwyRKUjMegOrTBnEsPwxDi0NpKrZ6Wjy/G4h2b7PZNWrOCKE/2MiCcVUm86 - V+9ZMhpMWfpnAV3cez5Xyj6juR4nL3bOTb4KH+R1hB5yCN9NSKxoZ5+iLBHKT/LS - XgFfJrAwCBbD4KBR1uzbo9qcu/VP2/dRTUODxZESpX6sdycg7mrPxhFDDULCR3cN - swfbQqfinaD8wI+dwaUOUwKnO2hiXj0wbnt1J7Bh2C9uiyPP7bVMSizO/rAJE/Q= - =xcBs + hQIMA2pVdGTIrZI+AQ/9FNudV+zztNHNUBER8At2+bo1n6W+fbF5bTSbudOXGbvV + rdSTWxFuslVh5kzXJYP2a+iYh/o815lzQuVtn+PmKuWCzLEYB0VmkbeM9YBEOxKu + R6uVUbI8xOLFLLErR5E1d1l4p2KRqEEfc9m3tzDa+i3PVOCYhD6qTuKhb6ImDIE8 + 3MqbXRnBBWgK14IivA5ouGJfeHbsYmeWjt9y5gy25T++Mdq9aPoHjjQ4P38eDT5W + 5lK0KcoAPAsrGkjzIgF6NBQr/Ut54RuHdjaBST2tyHP0db9fHwQZj7vfylHJfj6h + yi7rdjX9Ldppw2dnatVKlmpQATS8lLX1vAkipa2H/8kz3oYOJNPf23+8AfyhMs/X + XTXkC8Zw2Auz71TxFcdUXrO3Z9/BgsaS3Ec1TRqfzKbwficT8QP9est79XDxF7WM + 7WXTvCQJVofRquCWR+1h1EwSTiMRGRNV/Uag4hJI6OUwBN2fKbVS94S1jNkxCOX/ + DIHhijMVXvfNWPOkTjuaeXJPem/XwjjCVif2+gPbjYhuXySrlYJVQOrKzPROYIZ/ + uDKqhGZOE0Ng4xNyD/KZTBsoJVeY9xI1IBfMh1c4QA6vJNqU1vQW5pnyFr+N0srQ + kEGBc9dwNom2BjanosbnRORW6+r6BwwI1uPOQPlYUpumHM4o9jGu4bbBSPewOxLS + XAFBjjWtkZS+WP692phQxnXz8+gLc0RXD0UZ9+Gyho+X7/R8BV0x/zDoUgfVwOnY + OZeyd9YDL8JkL+K6EZgS9u+E1XCbRkbVVES06QNVxYHnEO5VbU9YuG29KZ14 + =nF2L -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-05-20T02:08:48Z" + - created_at: "2026-05-20T02:10:23Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAWSpHk+R/CKDaO8c1UPr6fOMnivWMuIrBzZh2Q2JPPXww - C0C8VLfIorI6P3PbgbJi+BdKIPx4Vi8n/4t1y5fcPk/1NfALPaF2T0QuwhWiMpgT - 0l4BPZ5BAMvNLSuAiSIloGO59jHpsRNCxBcVQBPIYqMVCTZxwMy+gBki64+ypavz - UvHyj3/0Wpy1tHL/V9QSMhWW06S3jHMKS2040LYEY+WWW2+pmV+WJz94zL7+tw31 - =YBfK + hF4DKKbvh61jX5USAQdA4IyNdJ9IPWLBxwtMROgj+/ZlnMLCdnjXBMmtyrkRxFcw + JLp+UagV5UWX1KhddjhiAHbAa5OrIQsBZrJ75XIObCzlVMmj07CtUpYgLNsTiLVS + 0lwBrQz/Ogp01HETxMoMuGc6VdNvYBrRFZE94pK/KsMP3DAca2MXGokc0hOnk4WT + /mNoOxwCE8ph7H2T//TM0lS5DO1S6ytRxm6wrT7jLu1qkMm9EjW73Nr7Mb6HDg== + =9XH1 -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/forgejo-runner.sops.yaml b/inventories/chaosknoten/host_vars/forgejo-runner.sops.yaml new file mode 100644 index 0000000000..c0e1b76739 --- /dev/null +++ b/inventories/chaosknoten/host_vars/forgejo-runner.sops.yaml @@ -0,0 +1,187 @@ +ansible_pull__age_private_key: ENC[AES256_GCM,data:fEly3EIovZ4n5xMnD5Aqtbn1+DUszR0MvBHcM383G40qfHxrbF/lqc8iftshInoHSU77Vugignyb0dTSCTS1cWmEg8I/+ZFjgwc=,iv:Y1XunCfdIUC5nTu+vkr0Q0LUBWeIwP/bGNkbnDb1cpA=,tag:6UrkMx6yEGB46VVvtAkDMQ==,type:str] +sops: + age: + - recipient: age1az0k6cadssk6r8qcqxfr8cyu5mndy59pwt8yqq6w065ew6au4ezsmg2vkf + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKcFhwNmRXTnptOUMrN0dZ + UnN0bFdCVjJQamNvTzZmMkxRdk0zL0E4bm4wCmRIVmVrVW1Jb3BKOVNnNnM5MXJm + SXU4ODdwUTVaSE9oSU1tWm5ZZUpLNlEKLS0tIHVUY0pUUlg5SDhJZjd6ZFhsSnBQ + VVI1TnN3UkcxUzdOWjJQTzZLOHNlaDQKx/HqW9sEYmNYIMYvLVF/9eJfcgRH/cJv + YqcDNZc8L9Rap2TfwsiJZourqDTe/8sWgQ0yHC4mcKS1HJOTUMNwqQ== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2026-05-20T02:12:09Z" + mac: ENC[AES256_GCM,data:QgL5PSrG3yVeJQgDJ3/VQhGwF7WpDb0+w7oxeF0KeNt3m2YqUsS1qKwK4gJAbmyt/RPdRErTiPs6NdAouowjZg6zcd+Trags/GIBKcaIyJqQa4lw3J3Jod9GTkol70c0H/X76kQx+bWzuXnJy64Dm3t2h+/ytD45+yZJ/959FKI=,iv:JnR8ZRgCfsr7T7L0NLCncH/6q1EGErOCzYjZWrazDh8=,tag:HHH6MrP1bFU0j/Hb6crEZA==,type:str] + pgp: + - created_at: "2026-05-20T02:11:43Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxK/JaB2/SdtARAAjLRV2OOq9LMCn8jfeXXeQV14nliYJW51ry/lyAAT0mK/ + UrZFjXJon1HibzvpKVscCN+8i75RamsEp0/iKOoQKORUNZMWvaURPtzkzEFwZxja + tLKzraEl38y89UCP6XzM/D9gLxbGjioz8eSZ7InXowHFGS5HykeZQpPKN939l+lV + 0fxZH/yl0uDVOdjWb5NWVqK0xhVToi2u7uiwQiL/PdfvglCEsF+a7Q0bBRJIko+k + DN/rfq0xhb0bMo52lZvHrqOAod0Kj5ROebvwqOpXCSTFi0JcrVDiE+jq1wdqofni + VkL+V2Lu1Wi7zGQ/gjkLWWfd6IqKxcepsmtedy5Fs3ZcGKQ7jBw0fqvVRXE7FUFc + H74QWr5JSSjQxJFCugBTFgeOU3t4VcYeVt32FhlmfKsQ9I8B4xPuvTvmM4S5uELF + Sj2CHzR7D52mmWykUKx3h2f4AgQDv79IPLKOcRpLbJeOkI6kdDV/KfQeLcL3/RDA + FIHQDa27n62os11WmcKSqb7dI7W5SYKd0eGHfhynjQlV4LKRvrI//vYsIz1bY+Qm + 27eKe6KodvijhR/aok9fT9vhRpD8OyeLw/1f46azuxdxPUNEdQ6HYSu/w0sLhqte + OtM7q+NK7G5I19KP7+e9tJBxou7zpm+poseNQCl2j1nBGjahSYy4zhct5fQfKLHS + XgFZVUiV88yP42Jd+lxHZ/bs2RJ+RuQPvPj43c5jrBiRNEqKRcEXViHrJctwKHkZ + +6j+LuEKKszsWNGN9cOpdyVBcL5PUJ8mRribr3SnsEaFk+swutFm2sA5gLSYdB0= + =IxLP + -----END PGP MESSAGE----- + fp: EF643F59E008414882232C78FFA8331EEB7D6B70 + - created_at: "2026-05-20T02:11:43Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQEMA1QflAioE8i3AQf/cKHMPmpFsvqyJJWZsgNB1tWeNh/aiKkCIS4Paf3hBeur + Ca4WElrH+M9feFH7qR3zXHviJXB0zt8oyUUNiR/xg1GNGw2wfVh3EGUWbZ7THog6 + sqN/2KxP7tIk74mjlaMBmIpyr7xd5OkjhQy4IkAFr0PBRGunVVa8d+73uUDsZBdI + XLpaDUZXpANOxZbXxBGzeYgG55yBs2LiXKLcjOkIi9G9w7Rtk2gdH4tI1miRstGS + jSB9xDCtszxm3kWmcDAG3nAORDCgYnlpeZrPGUhTqh7JzLhTZo46EHSKY1ThdVnM + cbbx0CNfcTCDWVxZEv6GHogAFSELn/gzFiWXjlcHoNJeAUNMxzW73TD7mB7he4EG + Phlz6+l5XbcSmC42QaLG7IIMNIpg1pai/fyBpKTYoHAGEGuDRcDgjKGOPTQH3N+0 + eIMu44nYPUh69kvzeMLCCbzFgDRyu5J4pbCDEiY/8g== + =VDJ1 + -----END PGP MESSAGE----- + fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 + - created_at: "2026-05-20T02:11:43Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAz5uSgHG2iMJAQ//cTX8KOVgAdIQNYMKP3pDK5tpjUV+idiMr4Y60ny0UNM9 + SlNHmG3RLkZwyBaHdeJ1eTQYSIaWasUUhCcI6sA5A7SYPhMDtYU5lsNgmiue9J0T + Z6SrCe9T15Z4bDCS8M/fli3NlkImkGUN36Ou6BXzAVKAKfglzVnPAT2+J6JGBHbs + z9ailkVGBonU2QQzJ262FZYY3a+Rpw8w4mDCoIsfbEwxHrB8lLyf7AX81qtlcaHp + ib90CCk2aqifudBfLKRIsmxBDkD+hffF6HSX6t3q1Tvw7Cg8Hpc+LWs+ZNPkmf/a + 0/SrMUTBey28gDoDloRfd8wdPzm3Adxsy/bTRkAX0Gzm5W+sZAjeUyqi5MfSefgR + yr0aff6D0oWRn1geLdcNJmWfvRM35K2b3KU5uxqshT7WjA0i/rJCHu5pjpsEVypA + itPmVt1BPDSHcaQddaXOSpSMqYUOltvHN8pV6zGBAAsUzSor7GugClnMHCdp251T + som8Nsb6IziKWs4dPPR8DHYMFVFrLrtfkBi3XO8fWVncwcEofmYsRQotsHLUAkjV + 5exEu0OwSKVzlbqmDuZ3z0RByrPpfZWsJWshBIug9Br6PL17RauFY0cuCF0FPA9J + FGlNHH/XG+YqFEj6kcVYzQFue1fL4gD7HP9u5yOQ/D8JoBgtei9r42xetlBCFyjS + XgEoIc4qDC3aPKBB7jhGV6Sc8x/4fdjpDWMA32pzKR8n/BlQzYv8+b5X1m3ngPhf + bhGiZMIv3HgEQm2M1PP/x3ViqkJAa1EphGG5yOlm9dGq1ynreGxWVdaqEWWHhrA= + =W9zk + -----END PGP MESSAGE----- + fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 + - created_at: "2026-05-20T02:11:43Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DsZXvxFXTXoQSAQdAR75j7EdRO8U91jSZn9RGZLZmVHQ2wt6dEWWE4lZU+Agw + GKy5yFdG4ZfWxZ3QQUllIqA5Mn1Tapbz7XigK9D5/hF/oF5gedq8EmzyX6FWZYCn + 0l4BBTyZdlsWswCeE9zCvKkfm+L08kmnNrm9I/F8cOXx1BrxS5zXdhtNTGvGZ3Ww + hJMt6Rw4rmX2Mwm6dbpcjpZPjRp19Fb2nwnTwQ8YTRCSNulDRtJj3FQ8P6IT9HKN + =/5xR + -----END PGP MESSAGE----- + fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE + - created_at: "2026-05-20T02:11:43Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DerEtaFuTeewSAQdAQNCm56yr/4kGtjRJ0rM1tUnRTHXRPmGul39NNGiJdQcw + J3EOCTeg1HPR1CoC0FQ0qSAHQQymkcjttutY2D/oU2tLdqc1UsW01+ycscZ7XLwn + 0l4BQ8s8gN/6oIkFPvsN+oUP5Zs1izGsc0yozg42resT6qlsML/jFBvP9LLGBBlJ + 0VCK22OPMOXSHnCofSbYelhyahw7+xdr38juIxuQaYS4Lx5TPZ8HaKMkzXzduBt1 + =4xwZ + -----END PGP MESSAGE----- + fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 + - created_at: "2026-05-20T02:11:43Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxjNhCKPP69fAQ//T8mW0sDkD6e2hWSxIkhVYRE7l8bsFbDcbHkz47ahUrfK + lUDnvzEnX/MEt+PZJxzuzfLrRDmm0VmOmskJrpguwpY27AWyq9zKqHgxLtB9EkJt + MP3I8oNL+scjhX3cr/HogtIdaCpb9+JSCxZ+idABYMjyDb7+csFpHzyK/G6rToMr + EpvWD3BduP/tr+frVmRH5zxUku6jt/GfkiIq/a8mEFyyLzqsxG5FofzDCx01MbYA + DU3try5vX8HYUeuYFHhU7qOHIk7G5xen/92m35P8LlllNTjTcgz9oqxGuHrfA2Rz + K/RS9FoI4v/NNKHqUjI6Rd530/zezfWCOi4QdEdXLwUs8YyTyEhS3jTwIops70bt + Diun8OQ+TIE+iQopjBCoX4IH5M05N9KE1dVURzWQAy/F9tZj9GEhRRYgo43k7Zd7 + BpiFFAoC3uVDYCCznjd9IuupO4WnKnLGEWenWvxcdXkTxXvzO6KfonWq4GUKmXja + n4qu6pYIAi9ZYhXqKhHAm4+kgbsvhAM09Es6LX5718rJrfkYiYM9aIxVFO3pz7CQ + PI2fknrnw4TXKrKEvej5q6XYlKu7nSuSoMSv8P+NNPEivpVVZ+KPU+pbsNKRqEI4 + vfUYuAdg3t1isEtV+kI5CS3aIg+uU9RGgSGfF4Di0WTog2MZ5tyelvtAa+e82i3S + XgHGXuiPatmZyu2mXJZv2kWxp9UjKkDaZttKNAbTGWEtWAE0uyjmfuvMLt7r61/a + yjWDzQCMST8+v3jjjzDV40B0kOJ9+6vzAQcmoPtnA5vf0dW803OifUB6nWcVKtA= + =lxsO + -----END PGP MESSAGE----- + fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 + - created_at: "2026-05-20T02:11:43Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA46L6MuPqfJqAQ//RXIqipr1bcZkBfjokXOnulmcTCZkhv28NuxQjwYHWa77 + WYZpBwVTN0SqtGArF+E6yFvOdzoDwNeA11nB/AguU1NugROg60nP/169gCb6ydE+ + mHtTmO3jU2GIj83i82GVDnGNji8/TIh6ccz1a3pQeaygFnFZnDLwx/DJSy0CTKTs + SjnU879teK3CiFCG4A8f3RvB2LxvXkYWYEQ9ky72zUxTFVij3GdbP+fXsrZQHQ/7 + WrbdROvoTdtd4nAsFQVtiRab1Y+TCcHQdxxjWFoY0pI4pOcjHtbVh/fTYCwxmLez + s0hm9aKI/xS6WNXna6CGOjN+oFO70EBNUZNZutmDUf7kBXPSlgINBy/HPXgspOAk + Ww9D7JwM1uMOFYdLclbP/DVkUk8X6nVYTnJR44SwlHoZEqYSs0qNVosjWQWVi/Dq + D5LO1Ynek+u4GSK6guiCdj/arUaiKjlTQOXgnk6P0Pu1Y1F2kgzR+Kv/AkRTokmM + xFXpHCXVMA0ZrQyZCX8Z7eNrV9vzEfNhwm7hNrASxEnORxHRZP4Kzc4SNqiWeikU + f/2giFZkTjQoKjGwvcRgtPRDRYuS0EVG34Ha5LOQ/ViAsvhu6eQD2EZhEYENhmIP + TO9jeZZY3GMwRp/lwHaKFfiLRfmed4kVG2I/YDnaGeQv6dU3RGx5XDBW/ifBBeHS + XgHyN3Ys9YNg2DB4RXwQfkTSTNwHO8EUwuhvnONlSUFlPBe5pDTiTqJChIFGRui4 + AE6m5x79h1L+s41eMJfXES9THlw0H1Ok5UbrRgdFeqDnFxrbPga7ZY3b2UlU5BM= + =je+P + -----END PGP MESSAGE----- + fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A + - created_at: "2026-05-20T02:11:43Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DQrf1tCqiJxoSAQdAFK4dMZNE3rBCTZx4vpomMP1tdAAdb9lBOcY2S9Tz3zww + 5c0ioplBR3Z+vIGfczw7RPCCqUwGU2VWdhCcagLXWa+YEQcTRN8h2jZRWg4p8hNW + 0l4ByPozkxL+sA6XX9YvGxFAt1TwCoceMlDgqP3gX/olL18Jj0EcIkGTnrzQYNBD + Hq0zbuJdJkQhWafgE4g/BL7v6ERsPQnMyt0xAv4o+MW5T2I+9zBhOKEeh59RWrsx + =cptl + -----END PGP MESSAGE----- + fp: B71138A6A8964A3C3B8899857B4F70C356765BAB + - created_at: "2026-05-20T02:11:43Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DzAGzViGx4qcSAQdAkilW27qVaY9/x/Y1IAQbMtDpkSt71uM1N7WXEnX0oTcw + RK7MpWp9JsdqLhAr4kxFzjupxRuyrQzyBn/3Tczm6Rp46l0VIbkuWwcaDQbcjqSh + 0lgB4jPzEE8CvDBh10D09bkYyDjMi5SRj4NGZnULrXK+nOMRcvS3t+yDHYVf3VbI + fmqRKisWCVt0WB61n3VoSE3E6nKVi8crUu0PLbbPP1PdRWlihdKb2wWK + =yR2L + -----END PGP MESSAGE----- + fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD + - created_at: "2026-05-20T02:11:43Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA2pVdGTIrZI+AQ//cQEQIceF4S9yhIaAs5ZHR1sHAp5nN56yNuoWHU+BxfWd + IDk/0JS/2oyPIviCmN/BjzaBBz33mptIfUVrk4W7V7SWCjo1SOAbDLm3L4+xz9eF + pW0a90ZoCIr31ZzQWn+mV4c4+tpaz9pO119PZdAiWDbmv2aAG1Dc6vEP31V3gt8j + OFXVrRtNKar9j+8v1/ZjOwZYgH5r3JQRcjflD2gLEoDec6QXVzpkG3V/8F1SPOos + M+tHloplQMWkY5frhgv1qjPCYFf8pMAs1bwO0o3FubTgXWepbtJ3Y4SAiOuXgp5e + uZpo3M3pP+uqzUGak/G2c850bgDJFb8tTYYYoDQ+EmADfXYN2rts+vye0qNmkDit + +4hjiIpUnqI/2xR/V1dnInBysGRNgOyWLrRJ6qBTso+xxjF63DTraPxX4dTGQyhQ + uW0R+d57Uinc1C+lqNwbacptqQ+d0a5lKLkq1xJWsZyAM7xDwFECTZNlBCavwRlg + e1lCPBcj6oBwVyYLGatlx/lYpnYqoL8bOGa8YjHdfuUzDfZJoJMgnm+EaYfPXbsR + alUXvkuK5F5IXGkTBEwt+ilKFh+LMUREBvzsSsQMOM3eYd5leb+y5qYciejJtrUF + /cvDR1mu6Gv5eDBAIxgZqBAZsJTk4MCB9qChJijiLREoYOWccKIxkhYwx31KiyHS + XgHzZBEa37fzigfWlSCSjiW/Mb0BzMZknv7ecEMwV3WJYNH9ixmGzNiBp7QOA68P + 21DbV7Slj3zZrX7K4KWSU0mHcPmS1V7OkfGB1+yurnS40cJy7qv3TbuQYjQ/1OA= + =f07d + -----END PGP MESSAGE----- + fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + - created_at: "2026-05-20T02:11:43Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DKKbvh61jX5USAQdAsrS/gPOqsUf5SSdki8Tz4YB+EH1W9xDU5XZZrnWZZ2gw + E/ceAF8IlHAXh5QLAfbXiaCq1j11t3jHpkSdXO8JJtkeFuGLfMVNiMGf1j4doEhi + 0l4BAJGJ/3Y94vsOSiC9Sku9zjjaB86XFUxJChgdPzfbqhcKHtnBLMW9sm93qE6C + 0c5EoyKBvBoJPUYm9nv3AGHmCjhZ006Iybvm3xtrWcmFfQ1IUdm2qOVtoTn3xs2J + =tlQa + -----END PGP MESSAGE----- + fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 + unencrypted_suffix: _unencrypted + version: 3.12.1 diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index 4e968c2f2a..0ec4875cdc 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -93,6 +93,10 @@ all: auth-dns: ansible_host: auth-dns.hamburg.ccc.de ansible_user: chaos + forgejo-runner: + ansible_host: forgejo-runner.hosts.hamburg.ccc.de + ansible_user: chaos + ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de hypervisors: hosts: chaosknoten: @@ -122,6 +126,7 @@ base_config_hosts: spaceapiccc: mjolnir: auth-dns: + forgejo-runner: systemd_networkd_hosts: hosts: router: @@ -234,6 +239,7 @@ infrastructure_authorized_keys_hosts: mjolnir: auth-dns: lists: + forgejo-runner: wiki_hosts: hosts: eh22-wiki: @@ -268,6 +274,7 @@ ansible_pull_hosts: spaceapiccc: mjolnir: auth-dns: + forgejo-runner: msmtp_hosts: hosts: renovate_hosts: diff --git a/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone b/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone index 33f8a31a0e..61efdb45ba 100644 --- a/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone +++ b/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone @@ -514,6 +514,7 @@ www3.hosts IN AAAA 2a00:14b0:42:102::15 diday-staging-runner.hosts IN AAAA 2a00:14b0:42:102::16 public-web-static.hosts IN AAAA 2a00:14b0:42:102::17 forgejo-actions-runner.hosts IN AAAA 2a00:14b0:42:102::18 +forgejo-runner.hosts IN AAAA 2a00:14b0:42:102::19 ; acme-challenges _acme-challenge.sunders CNAME a5ee8a99-3cdf-4212-972e-c0b6fda1242f.auth.acmedns From 7d7cf455eb02e002f776f61d54e00d494c30df28 Mon Sep 17 00:00:00 2001 From: June Date: Tue, 23 Jun 2026 21:32:50 +0200 Subject: [PATCH 328/417] forgejo_runner(role): create role for setting up Forgejo Runner install --- inventories/chaosknoten/hosts.yaml | 2 + inventories/external/hosts.yaml | 2 + inventories/z9/hosts.yaml | 2 + playbooks/deploy.yaml | 7 ++ roles/forgejo_runner/README.md | 9 ++ ...114F5E6C0DC2BCDD183550A4B61A2DC5923710.asc | 71 ++++++++++++++ .../files/forgejo-runner.service | 19 ++++ roles/forgejo_runner/handlers/main.yaml | 10 ++ roles/forgejo_runner/meta/argument_specs.yaml | 6 ++ roles/forgejo_runner/meta/main.yaml | 3 + roles/forgejo_runner/tasks/main.yaml | 7 ++ .../forgejo_runner/tasks/main/01_install.yaml | 96 +++++++++++++++++++ roles/forgejo_runner/tasks/main/02_setup.yaml | 46 +++++++++ 13 files changed, 280 insertions(+) create mode 100644 roles/forgejo_runner/README.md create mode 100644 roles/forgejo_runner/files/EB114F5E6C0DC2BCDD183550A4B61A2DC5923710.asc create mode 100644 roles/forgejo_runner/files/forgejo-runner.service create mode 100644 roles/forgejo_runner/handlers/main.yaml create mode 100644 roles/forgejo_runner/meta/argument_specs.yaml create mode 100644 roles/forgejo_runner/meta/main.yaml create mode 100644 roles/forgejo_runner/tasks/main.yaml create mode 100644 roles/forgejo_runner/tasks/main/01_install.yaml create mode 100644 roles/forgejo_runner/tasks/main/02_setup.yaml diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index 0ec4875cdc..4fbc03d8e4 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -282,3 +282,5 @@ renovate_hosts: renovate: secrets_hosts: hosts: +forgejo_runner_hosts: + hosts: diff --git a/inventories/external/hosts.yaml b/inventories/external/hosts.yaml index 5d0f9d4e42..efcf5f0da6 100644 --- a/inventories/external/hosts.yaml +++ b/inventories/external/hosts.yaml @@ -24,3 +24,5 @@ ansible_pull_hosts: status: secrets_hosts: hosts: +forgejo_runner_hosts: + hosts: diff --git a/inventories/z9/hosts.yaml b/inventories/z9/hosts.yaml index 6044154e80..38e29fd66d 100644 --- a/inventories/z9/hosts.yaml +++ b/inventories/z9/hosts.yaml @@ -63,3 +63,5 @@ ansible_pull_hosts: yate: secrets_hosts: hosts: +forgejo_runner_hosts: + hosts: diff --git a/playbooks/deploy.yaml b/playbooks/deploy.yaml index d111321a3c..7a14440970 100644 --- a/playbooks/deploy.yaml +++ b/playbooks/deploy.yaml @@ -150,6 +150,13 @@ tags: - eh22_styleguide_dir +- name: Ensure forgejo-runner is setup on forgejo_runner_hosts + hosts: forgejo_runner_hosts + roles: + - forgejo_runner + tags: + - forgejo_runner + - name: Setup authoritative dns servers hosts: auth-dns roles: diff --git a/roles/forgejo_runner/README.md b/roles/forgejo_runner/README.md new file mode 100644 index 0000000000..ed53e8b67b --- /dev/null +++ b/roles/forgejo_runner/README.md @@ -0,0 +1,9 @@ +# `forgejo_runner` + +Ensures Forgejo Runner is installed and set up. +See: https://forgejo.org/docs/latest/admin/actions/ + +## Required Arguments + +- `forgejo_runner__config`: The configuration to run the Forgejo Runner with. + A configuration can be generated using `forgejo-runner generate-config`. Also see the [relevant docs](https://forgejo.org/docs/latest/admin/actions/configuration/). diff --git a/roles/forgejo_runner/files/EB114F5E6C0DC2BCDD183550A4B61A2DC5923710.asc b/roles/forgejo_runner/files/EB114F5E6C0DC2BCDD183550A4B61A2DC5923710.asc new file mode 100644 index 0000000000..b18e74cdf1 --- /dev/null +++ b/roles/forgejo_runner/files/EB114F5E6C0DC2BCDD183550A4B61A2DC5923710.asc @@ -0,0 +1,71 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Comment: EB11 4F5E 6C0D C2BC DD18 3550 A4B6 1A2D C592 3710 +Comment: Forgejo +Comment: Forgejo Releases + +xjMEY3T/yhYJKwYBBAHaRw8BAQdAVxqCQrSbpDNrx8CiTM8PUAVqdCyv2UmBDhpP +HZIpoIDNHUZvcmdlam8gPGNvbnRhY3RAZm9yZ2Vqby5vcmc+wsB+BBMWCgDmAhsD +BQsJCAcDBRUKCQgLBRYCAwEAAh4BAheAAhkBFiEE6xFPXmwNwrzdGDVQpLYaLcWS +NxAFAmSc08VBFIAAAAAAEAAocHJvb2ZAYXJpYWRuZS5pZGh0dHBzOi8vY29kZWJl +cmcub3JnL2Zvcmdlam8vZ2l0ZWFfcHJvb2Y2FIAAAAAAEAAdcHJvb2ZAYXJpYWRu +ZS5pZGh0dHBzOi8vZmxvc3Muc29jaWFsL0Bmb3JnZWpvMRSAAAAAABAAGHByb29m +QGFyaWFkbmUuaWRkbnM6Zm9yZ2Vqby5vcmc/dHlwZT1UWFQACgkQpLYaLcWSNxDM +2wEA6bOel3R25z3YUXL4hI2S8jRkJbOQawq0vgUnYNgS9hcBAK2zq4Zt4ctvSB+x +TqhR6Zi6aqSD3QrRnUVvV1xZhdkEwsCABBMWCgDoAhsDBQsJCAcDBRUKCQgLBRYC +AwEAAh4BAheAAhkBFiEE6xFPXmwNwrzdGDVQpLYaLcWSNxAFAmScz7JDFIAAAAAA +EAAqcHJvb2ZAYXJpYWRuZS5pZGh0dHBzOi8vY29kZWJlcmcub3JnL2Zvcmdlam8v +Zm9yZ2Vqb19wcm9vZjYUgAAAAAAQAB1wcm9vZkBhcmlhZG5lLmlkaHR0cHM6Ly9m +bG9zcy5zb2NpYWwvQGZvcmdlam8xFIAAAAAAEAAYcHJvb2ZAYXJpYWRuZS5pZGRu +czpmb3JnZWpvLm9yZz90eXBlPVRYVAAKCRCkthotxZI3EBJ1AP9UeN1HFGz90r34 +PGrOj1225HfJzdWgamEUkEKEwShcIQD+K/o7sLJM+C/mJXaCixAZgvRd9/rYq27T +9Y2rTQybSwnCwH4EExYKAOYCGwMFCwkIBwMFFQoJCAsFFgIDAQACHgECF4ACGQEW +IQTrEU9ebA3CvN0YNVCkthotxZI3EAUCY3spkjYUgAAAAAAQAB1wcm9vZkBhcmlh +ZG5lLmlkaHR0cHM6Ly9mbG9zcy5zb2NpYWwvQGZvcmdlam8xFIAAAAAAEAAYcHJv +b2ZAYXJpYWRuZS5pZGRuczpmb3JnZWpvLm9yZz90eXBlPVRYVEEUgAAAAAAQAChw +cm9vZkBhcmlhZG5lLmlkaHR0cHM6Ly9jb2RlYmVyZy5vcmcvZm9yZ2Vqby9naXRl +YV9wcm9vZgAKCRCkthotxZI3EC+hAQCxsUupyqMChFMqk/74PqzSlmCd6RXtbezP +W66YostSbgD9G+N+c9or1cBkcSejREOSy7TFrDrvek+ZhdZVhCp1UALCwEcEExYK +AK8CGwMFCwkIBwMFFQoJCAsFFgIDAQACHgECF4ACGQEWIQTrEU9ebA3CvN0YNVCk +thotxZI3EAUCY3inA0EUgAAAAAAQAChwcm9vZkBhcmlhZG5lLmlkaHR0cHM6Ly9j +b2RlYmVyZy5vcmcvZm9yZ2Vqby9naXRlYV9wcm9vZjEUgAAAAAAQABhwcm9vZkBh +cmlhZG5lLmlkZG5zOmZvcmdlam8ub3JnP3R5cGU9VFhUAAoJEKS2Gi3FkjcQNV8B +AJfcHBzskW78lJVJeQwCI70qorOhC/QUp80jjNzs5lO7AQCujYgrae3vZb/476sc +wM33ufSpBguNwTLbCI6C5g8+B80mRm9yZ2VqbyBSZWxlYXNlcyA8cmVsZWFzZUBm +b3JnZWpvLm9yZz7CkAQTFgoAOAIbAwULCQgHAwUVCgkICwUWAgMBAAIeAQIXgBYh +BOsRT15sDcK83Rg1UKS2Gi3FkjcQBQJjeKH0AAoJEKS2Gi3FkjcQC5YBAKwCGFDD +SpX0JwBrzIP8W8ElwHvdBz2XDg8LwyQgr722AP9r01rbFwY4axDxpNj+BUFxwD5F +hza1cE3932eTsSOPDsKQBBMWCAA4FiEE6xFPXmwNwrzdGDVQpLYaLcWSNxAFAmN4 +k+kCGwMFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQpLYaLcWSNxBHrQD+PFo/ +ii8p72HP0KsJbHPGnS/Sk9pFGd16fs1Hd88JHj0A/10XNyGQgwbe+X+K/a97vWW8 +vAzA1EtFIMfCGhIO8EoIzjMEY3UANBYJKwYBBAHaRw8BAQdAKvAs2Ij2RamYUzz4 +sBgsc2J+4fEwvSMcTp6rPZizRhfCwDUEGBYIACYWIQTrEU9ebA3CvN0YNVCkthot +xZI3EAUCY3UANAIbAgUJAeEzgACBCRCkthotxZI3EHYgBBkWCAAdFiEE98vwIJTn +Zl4X7WxE44G/PlDVNwcFAmN1ADQACgkQ44G/PlDVNwdIlgD+K15nuEec+VTFdP7Y +Y3SxM8Rjg2EtXk007+LM7XQfN9sBAOLjBTzIdaaKOpoAkGQ9Th/IphSUOnPYZVO5 +a6cN+wAM458A/itf3urQehI5SbKtbRqIDhqQZQVAcEeG2eQFunuofjDWAQDt/gE5 +XgTiQgnkTcqAX7GQeE74O/Q5vDtX10NjbzV7D84zBGeOav0WCSsGAQQB2kcPAQEH +QI2JXHjIx25g9WZHNyjkdUiRBPl5Y1JjjJCPvXM0/9RjwsA1BBgWCAAmFiEE6xFP +XmwNwrzdGDVQpLYaLcWSNxAFAmeOav0CGwIFCQO1OAAAgQkQpLYaLcWSNxB2IAQZ +FggAHRYhBA9SfPk6PQ0JJdPFXtCoIAUOFgnlBQJnjmr9AAoJENCoIAUOFgnljUwA ++wSjU/mk4xGIlwzJdPnnNzIsiMeqtuYokbSrOIxXIhP1AP93qtVr+kOu3pDs9JC+ +8CYG0DK1QD1LmlGP59WRGevSCXChAQDy6SCfnfcr5P4fYaz04+Tl0CDUkFOGP+sV +S/isPTssbAD9H2hKJKEmwuAd2MeFA3Bo3z5rUVWkfAcnv7Oy7u+OWQfOMwRlfHnh +FgkrBgEEAdpHDwEBB0DGoKPPOOx7rnqT318eykUkMJbk83MhcBqrecOADO3i2sLA +NQQYFggAJhYhBOsRT15sDcK83Rg1UKS2Gi3FkjcQBQJlfHnhAhsCBQkCx+oAAIEJ +EKS2Gi3FkjcQdiAEGRYIAB0WIQTfMxnqNtWZwdSmg9SzsfYKxXfyogUCZXx54QAK +CRCzsfYKxXfyoocRAP48OQpiBTkwC7kLLyuqVlP1t0hBQddr4i4rIV8Ug5tHzwEA +pl8Q+S4k/ROQS5FOhy7GBC337SncJFJYDD0pTcSecw+J3AEAn4qax72Oyfb0vaPY +m+WdqsfVBd2Hd2vJIwCjglp55B0BALIJE6nvACcKzTRUj7AQSLGvELGfJfM320xX +E0ZVBZkKzjMEaUFtxRYJKwYBBAHaRw8BAQdA1AZR9j6PksmArHjaoqOHIOQ4H1iw +0KZyLKLgu1onR8fCwDUEGBYIACYWIQTrEU9ebA3CvN0YNVCkthotxZI3EAUCaUFt +xQIbAgUJAsfqAACBCRCkthotxZI3EHYgBBkWCAAdFiEEO/ToE/hIEkEdoB5bxBht +9m9LZ1AFAmlBbcUACgkQxBht9m9LZ1DQHAD9EUEM23tJJUae0L1DbGnWEp3GnZOQ +G3Z34uWv16wRV3EA+gJuHa9Zr1TXAEXXBwQzZIrAFby+7I5smWPVM84c7xYA/qEA +/2dQMMZcRelFC0fIPvGQMGfYeBr8bkHKlJBQOTdukeSPAQCcd9rqJT7NNZlPtJ1T +wNAfAa3L23bdp/dEtKhE+d09CM44BGN0/8oSCisGAQQBl1UBBQEBB0CZnRfIHxTV +hOF8kdhbe4YJsePyVFi8USfuDXy4HgIHRgMBCAfCeAQYFggAIBYhBOsRT15sDcK8 +3Rg1UKS2Gi3FkjcQBQJjdP/KAhsMAAoJEKS2Gi3FkjcQdroA/jHFqt7y/r/5zdK4 +TYYp+5jlOgM5ZI7pNhWhtIFbqmx9AQCKSJf2YgPBLNJSL/86vpE9b6IvTE/8ENR/ +7xYaIA7oAg== +=D+4T +-----END PGP PUBLIC KEY BLOCK----- diff --git a/roles/forgejo_runner/files/forgejo-runner.service b/roles/forgejo_runner/files/forgejo-runner.service new file mode 100644 index 0000000000..0e33bcdcfc --- /dev/null +++ b/roles/forgejo_runner/files/forgejo-runner.service @@ -0,0 +1,19 @@ +# Source: https://code.forgejo.org/forgejo/runner/src/branch/main/contrib/forgejo-runner.service +[Unit] +Description=Forgejo Runner +Documentation=https://forgejo.org/docs/latest/admin/actions/ +After=docker.service +Requires=docker.service + +[Service] +ExecStart=/usr/local/bin/forgejo-runner daemon -c /etc/forgejo-runner-config.yaml +ExecReload=/bin/kill -s HUP $MAINPID + +User=runner +WorkingDirectory=/home/runner +Restart=on-failure +TimeoutSec=0 +RestartSec=10 + +[Install] +WantedBy=multi-user.target diff --git a/roles/forgejo_runner/handlers/main.yaml b/roles/forgejo_runner/handlers/main.yaml new file mode 100644 index 0000000000..3234eb2040 --- /dev/null +++ b/roles/forgejo_runner/handlers/main.yaml @@ -0,0 +1,10 @@ +- name: systemd daemon reload + ansible.builtin.systemd_service: + daemon_reload: true + become: true + +- name: restart the forgejo-runner service + ansible.builtin.systemd: + name: forgejo-runner.service + state: restarted + become: true diff --git a/roles/forgejo_runner/meta/argument_specs.yaml b/roles/forgejo_runner/meta/argument_specs.yaml new file mode 100644 index 0000000000..5c7570e0d9 --- /dev/null +++ b/roles/forgejo_runner/meta/argument_specs.yaml @@ -0,0 +1,6 @@ +argument_specs: + main: + options: + forgejo_runner__config: + type: str + required: true diff --git a/roles/forgejo_runner/meta/main.yaml b/roles/forgejo_runner/meta/main.yaml new file mode 100644 index 0000000000..cb7d8e0460 --- /dev/null +++ b/roles/forgejo_runner/meta/main.yaml @@ -0,0 +1,3 @@ +--- +dependencies: + - role: docker diff --git a/roles/forgejo_runner/tasks/main.yaml b/roles/forgejo_runner/tasks/main.yaml new file mode 100644 index 0000000000..281f665fc0 --- /dev/null +++ b/roles/forgejo_runner/tasks/main.yaml @@ -0,0 +1,7 @@ +- name: Ensure Forgejo Runner is installed + ansible.builtin.import_tasks: + file: main/01_install.yaml + +- name: Ensure Forgejo Runner is set up + ansible.builtin.import_tasks: + file: main/02_setup.yaml diff --git a/roles/forgejo_runner/tasks/main/01_install.yaml b/roles/forgejo_runner/tasks/main/01_install.yaml new file mode 100644 index 0000000000..cb309a6409 --- /dev/null +++ b/roles/forgejo_runner/tasks/main/01_install.yaml @@ -0,0 +1,96 @@ +- name: get latest release info + ansible.builtin.uri: + url: "https://data.forgejo.org/api/v1/repos/forgejo/runner/releases/latest" + return_content: true + register: forgejo_runner__latest_release_info + +- name: set latest version + ansible.builtin.set_fact: + forgejo_runner__latest_version: "{{ forgejo_runner__latest_release_info.json.name | replace('v', '') }}" + +- name: set latest version forgejo-runner binary path + ansible.builtin.set_fact: + forgejo_runner__latest_version_binary_path: "/usr/local/bin/forgejo-runner-{{ forgejo_runner__latest_version }}" + +- name: check if latest version forgejo-runner binary is installed already + ansible.builtin.stat: + path: "{{ forgejo_runner__latest_version_binary_path }}" + register: forgejo_runner_latest_version_binary_stat + +- name: download and install latest version, if not already present + when: not forgejo_runner_latest_version_binary_stat.stat.exists + block: + - name: set download url + ansible.builtin.set_fact: + forgejo_runner__download_url: "https://code.forgejo.org/forgejo/runner/releases/download/v{{ forgejo_runner__latest_version }}/forgejo-runner-{{ forgejo_runner__latest_version }}-linux-amd64" + + - name: temporary directory for download + ansible.builtin.tempfile: + state: directory + suffix: forgejo_runner_download + become: true + register: forgejo_runner__download_tempdir + + - name: download the forgejo-runner binary + ansible.builtin.get_url: + url: "{{ forgejo_runner__download_url }}" + dest: "{{ forgejo_runner__download_tempdir.path }}/forgejo-runner" + owner: root + group: root + mode: "0755" + become: true + + - name: download the signature + ansible.builtin.get_url: + url: "{{ forgejo_runner__download_url }}.asc" + dest: "{{ forgejo_runner__download_tempdir.path }}/forgejo-runner.asc" + owner: root + group: root + mode: "0644" + become: true + + - name: copy key for verification + ansible.builtin.copy: + src: "EB114F5E6C0DC2BCDD183550A4B61A2DC5923710.asc" + dest: "{{ forgejo_runner__download_tempdir.path }}/forgejo-runner-key.asc" + owner: root + group: root + mode: "0644" + become: true + + - name: ensure sq (Sequoia-PGP) is installed + ansible.builtin.apt: + name: sq + become: true + + - name: verify signature + ansible.builtin.command: + cmd: /usr/bin/sq verify --signer-file ./forgejo-runner-key.asc --signature-file forgejo-runner.asc --signatures 1 forgejo-runner + chdir: "{{ forgejo_runner__download_tempdir.path }}" + become: true + changed_when: false + + - name: install forgejo-runner binary of this latest version + ansible.builtin.copy: + remote_src: true + src: "{{ forgejo_runner__download_tempdir.path }}/forgejo-runner" + dest: "{{ forgejo_runner__latest_version_binary_path }}" + owner: root + group: root + mode: "0755" + become: true + + - name: ensure symlink points to binary of this latest version + ansible.builtin.file: + src: "{{ forgejo_runner__latest_version_binary_path }}" + dest: "/usr/local/bin/forgejo-runner" + state: link + owner: root + group: root + become: true + always: + - name: delete temporary download directory + ansible.builtin.file: + path: "{{ forgejo_runner__download_tempdir.path }}" + state: absent + become: true diff --git a/roles/forgejo_runner/tasks/main/02_setup.yaml b/roles/forgejo_runner/tasks/main/02_setup.yaml new file mode 100644 index 0000000000..c83c05709e --- /dev/null +++ b/roles/forgejo_runner/tasks/main/02_setup.yaml @@ -0,0 +1,46 @@ +- name: ensure runner group exists + ansible.builtin.group: + name: runner + system: true + become: true + +- name: ensure runner user exists + ansible.builtin.user: + name: runner + group: runner + password: '!' + system: true + create_home: true + groups: + - docker + become: true + +- name: ensure the configuration is deployed + ansible.builtin.copy: + content: "{{ forgejo_runner__config }}" + dest: /etc/forgejo-runner-config.yaml + owner: root + group: runner + mode: "0640" + become: true + notify: + - restart the forgejo-runner service + +- name: ensure systemd service exists + ansible.builtin.copy: + src: forgejo-runner.service + dest: /etc/systemd/system/forgejo-runner.service + owner: root + group: root + mode: "0644" + become: true + notify: + - systemd daemon reload + - restart the forgejo-runner service + +- name: ensure systemd service is started and enabled + ansible.builtin.systemd_service: + name: forgejo-runner.service + state: started + enabled: true + become: true From 2e50226b9450ecfea65449721d55090e9b697777 Mon Sep 17 00:00:00 2001 From: June Date: Thu, 21 May 2026 03:02:38 +0200 Subject: [PATCH 329/417] docker(role): provide option to set up gVisor (runsc runtime) --- roles/docker/README.md | 3 +- roles/docker/defaults/main.yaml | 1 + roles/docker/handlers/main.yaml | 6 +++ roles/docker/meta/argument_specs.yaml | 6 +++ roles/docker/tasks/main/01_repo_setup.yaml | 49 +++++++++++++------ .../docker/tasks/main/02_docker_install.yaml | 9 ++++ roles/docker/tasks/main/03_docker_config.yaml | 5 +- .../daemon.json => templates/daemon.json.j2} | 9 +++- 8 files changed, 69 insertions(+), 19 deletions(-) create mode 100644 roles/docker/defaults/main.yaml create mode 100644 roles/docker/meta/argument_specs.yaml rename roles/docker/{files/daemon.json => templates/daemon.json.j2} (59%) diff --git a/roles/docker/README.md b/roles/docker/README.md index b7f38e18dc..befc005796 100644 --- a/roles/docker/README.md +++ b/roles/docker/README.md @@ -16,7 +16,8 @@ None. ## Optional Arguments -None. +- `docker__gvisor_setup`: Whether or not to set up [gVisor](https://gvisor.dev/) (`runsc` runtime). + Defaults to `false`. ## Links & Resources diff --git a/roles/docker/defaults/main.yaml b/roles/docker/defaults/main.yaml new file mode 100644 index 0000000000..351f397cf0 --- /dev/null +++ b/roles/docker/defaults/main.yaml @@ -0,0 +1 @@ +docker__gvisor_setup: false diff --git a/roles/docker/handlers/main.yaml b/roles/docker/handlers/main.yaml index ada24261a2..6c37581fd5 100644 --- a/roles/docker/handlers/main.yaml +++ b/roles/docker/handlers/main.yaml @@ -2,3 +2,9 @@ ansible.builtin.systemd_service: daemon_reload: true become: true + +- name: restart the docker service + ansible.builtin.systemd: + name: docker.service + state: restarted + become: true diff --git a/roles/docker/meta/argument_specs.yaml b/roles/docker/meta/argument_specs.yaml new file mode 100644 index 0000000000..6549387a69 --- /dev/null +++ b/roles/docker/meta/argument_specs.yaml @@ -0,0 +1,6 @@ +argument_specs: + main: + options: + docker__gvisor_setup: + type: bool + required: false diff --git a/roles/docker/tasks/main/01_repo_setup.yaml b/roles/docker/tasks/main/01_repo_setup.yaml index 63bdb9188b..6105627b26 100644 --- a/roles/docker/tasks/main/01_repo_setup.yaml +++ b/roles/docker/tasks/main/01_repo_setup.yaml @@ -1,15 +1,36 @@ -- name: Ensure Dockers GPG key is added - ansible.builtin.get_url: - url: https://download.docker.com/linux/debian/gpg - dest: /etc/apt/trusted.gpg.d/docker.asc - mode: "0644" - owner: root - group: root - become: true +- name: ensure Docker repo + block: + - name: Ensure Dockers GPG key is added + ansible.builtin.get_url: + url: https://download.docker.com/linux/debian/gpg + dest: /etc/apt/trusted.gpg.d/docker.asc + mode: "0644" + owner: root + group: root + become: true -- 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_facts['distribution_release'] }} stable" - filename: docker - state: present - become: true + - 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_facts['distribution_release'] }} stable" + filename: docker + state: present + become: true + +- name: ensure gVisor repo + when: docker__gvisor_setup + block: + - name: Ensure gVisors GPG key is added + ansible.builtin.get_url: + url: https://gvisor.dev/archive.key + dest: /etc/apt/keyrings/gvisor.asc + mode: "0644" + owner: root + group: root + become: true + + - name: Ensure gVisors APT repository is added + ansible.builtin.apt_repository: + repo: "deb [arch=amd64 signed-by=/etc/apt/keyrings/gvisor.asc] https://storage.googleapis.com/gvisor/releases release main" + filename: gvisor + state: present + become: true diff --git a/roles/docker/tasks/main/02_docker_install.yaml b/roles/docker/tasks/main/02_docker_install.yaml index f2ae880ea6..b7334e1762 100644 --- a/roles/docker/tasks/main/02_docker_install.yaml +++ b/roles/docker/tasks/main/02_docker_install.yaml @@ -9,3 +9,12 @@ state: present update_cache: true become: true + +- name: Ensure gVisors packages are installed + when: docker__gvisor_setup + ansible.builtin.apt: + name: + - runsc + state: present + update_cache: true + become: true diff --git a/roles/docker/tasks/main/03_docker_config.yaml b/roles/docker/tasks/main/03_docker_config.yaml index 639e8fab4a..88ee96b5e8 100644 --- a/roles/docker/tasks/main/03_docker_config.yaml +++ b/roles/docker/tasks/main/03_docker_config.yaml @@ -2,10 +2,11 @@ # - log to systemd journal # https://docs.docker.com/engine/logging/drivers/journald/ - name: Ensure Docker daemon configuration - ansible.builtin.copy: - src: daemon.json + ansible.builtin.template: + src: daemon.json.j2 dest: /etc/docker/daemon.json owner: root group: root mode: "0644" become: true + notify: restart the docker service diff --git a/roles/docker/files/daemon.json b/roles/docker/templates/daemon.json.j2 similarity index 59% rename from roles/docker/files/daemon.json rename to roles/docker/templates/daemon.json.j2 index d55e4cb4a3..b6f6025f4c 100644 --- a/roles/docker/files/daemon.json +++ b/roles/docker/templates/daemon.json.j2 @@ -1,7 +1,7 @@ { "log-driver": "journald", "log-opts": { - "tag": "{{.Name}}" + "tag": "{{ '{{.Name}}' }}" }, "ipv6": true, "ip6tables": true, @@ -10,5 +10,10 @@ "bridge": { "com.docker.network.enable_ipv6":"true" } - } + }{% if docker__gvisor_setup %}, + "runtimes": { + "runsc": { + "path": "/usr/bin/runsc" + } + }{% endif %} } From 0acc56b238da7811e4c76da5f35eb933a9cd2732 Mon Sep 17 00:00:00 2001 From: June Date: Thu, 21 May 2026 04:44:16 +0200 Subject: [PATCH 330/417] docker(role): document gVisor issue with user-def. br. and provide help Document issue with containers on user-defined bridges and using the gVisor runsc runtime. Also provide a helper resolv.conf as a workaround. --- roles/docker/README.md | 2 ++ roles/docker/files/gvisor-helper-resolv.conf | 9 +++++++++ roles/docker/tasks/main/03_docker_config.yaml | 10 ++++++++++ 3 files changed, 21 insertions(+) create mode 100644 roles/docker/files/gvisor-helper-resolv.conf diff --git a/roles/docker/README.md b/roles/docker/README.md index befc005796..0a28265276 100644 --- a/roles/docker/README.md +++ b/roles/docker/README.md @@ -17,6 +17,8 @@ None. ## Optional Arguments - `docker__gvisor_setup`: Whether or not to set up [gVisor](https://gvisor.dev/) (`runsc` runtime). + > Note: gVisor doesn't work with the embedded DNS server Docker forces for user-defined bridges (see the [relevant GitHub issue](https://github.com/google/gvisor/issues/7469)). A workaround would be to bind mount a `resolv.conf` not relying on localhost DNS (note however that this still doesn't provide local container name resolution). When enabling this option such a helper `resolv.conf` pointing to Quad9 gets deployed to `/etc/gvisor-helper-resolv.conf` for bind-mounting. See the file for usage instructions. + Defaults to `false`. ## Links & Resources diff --git a/roles/docker/files/gvisor-helper-resolv.conf b/roles/docker/files/gvisor-helper-resolv.conf new file mode 100644 index 0000000000..f047a800a6 --- /dev/null +++ b/roles/docker/files/gvisor-helper-resolv.conf @@ -0,0 +1,9 @@ +# resolv.conf pointing to Quad9 for bind-mounting into containers on user-defined bridges and using the gVisor runsc runtime. +# Example: docker run --runtime runsc --mount type=bind,src=/etc/gvisor-helper-resolv.conf,dst=/etc/resolv.conf,ro=true --network your-user-defined-network -it --rm docker.io/library/debian /bin/bash + +nameserver 9.9.9.9 +nameserver 149.112.112.112 +nameserver 2620:fe::fe +nameserver 2620:fe::9 + +options edns0 diff --git a/roles/docker/tasks/main/03_docker_config.yaml b/roles/docker/tasks/main/03_docker_config.yaml index 88ee96b5e8..8c145b254a 100644 --- a/roles/docker/tasks/main/03_docker_config.yaml +++ b/roles/docker/tasks/main/03_docker_config.yaml @@ -10,3 +10,13 @@ mode: "0644" become: true notify: restart the docker service + +- name: Ensure helper gVisor resolv.conf is deployed + when: docker__gvisor_setup + ansible.builtin.copy: + src: gvisor-helper-resolv.conf + dest: /etc/gvisor-helper-resolv.conf + owner: root + group: root + mode: "0644" + become: true From d44d84ae2a8eb3ac68692b0082d51fc9c85e8e77 Mon Sep 17 00:00:00 2001 From: June Date: Tue, 23 Jun 2026 21:38:11 +0200 Subject: [PATCH 331/417] forgejo-runner(host): configure forgejo-runner setup --- .../host_vars/forgejo-runner.sops.yaml | 11 ++--- .../chaosknoten/host_vars/forgejo-runner.yaml | 1 + inventories/chaosknoten/hosts.yaml | 1 + .../forgejo-runner/configuration.yaml.j2 | 43 +++++++++++++++++++ 4 files changed, 51 insertions(+), 5 deletions(-) create mode 100644 inventories/chaosknoten/host_vars/forgejo-runner.yaml create mode 100644 resources/chaosknoten/forgejo-runner/forgejo-runner/configuration.yaml.j2 diff --git a/inventories/chaosknoten/host_vars/forgejo-runner.sops.yaml b/inventories/chaosknoten/host_vars/forgejo-runner.sops.yaml index c0e1b76739..ba4e1ee901 100644 --- a/inventories/chaosknoten/host_vars/forgejo-runner.sops.yaml +++ b/inventories/chaosknoten/host_vars/forgejo-runner.sops.yaml @@ -1,8 +1,8 @@ ansible_pull__age_private_key: ENC[AES256_GCM,data:fEly3EIovZ4n5xMnD5Aqtbn1+DUszR0MvBHcM383G40qfHxrbF/lqc8iftshInoHSU77Vugignyb0dTSCTS1cWmEg8I/+ZFjgwc=,iv:Y1XunCfdIUC5nTu+vkr0Q0LUBWeIwP/bGNkbnDb1cpA=,tag:6UrkMx6yEGB46VVvtAkDMQ==,type:str] +secret__forgejo_runner_ccchh_git_token: ENC[AES256_GCM,data:5igicsbBCLvsWI6YSFN2A/XD4An1l31YBe7Ngm7nHopWR/Ge266I9g==,iv:sVXBSeEWNs7GIXasZdbIoiaeXFTJMkM6T8vZCNX5Tek=,tag:aVIX3+8pr1lyEy1pcu1UNQ==,type:str] sops: age: - - recipient: age1az0k6cadssk6r8qcqxfr8cyu5mndy59pwt8yqq6w065ew6au4ezsmg2vkf - enc: | + - enc: | -----BEGIN AGE ENCRYPTED FILE----- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKcFhwNmRXTnptOUMrN0dZ UnN0bFdCVjJQamNvTzZmMkxRdk0zL0E4bm4wCmRIVmVrVW1Jb3BKOVNnNnM5MXJm @@ -10,8 +10,9 @@ sops: VVI1TnN3UkcxUzdOWjJQTzZLOHNlaDQKx/HqW9sEYmNYIMYvLVF/9eJfcgRH/cJv YqcDNZc8L9Rap2TfwsiJZourqDTe/8sWgQ0yHC4mcKS1HJOTUMNwqQ== -----END AGE ENCRYPTED FILE----- - lastmodified: "2026-05-20T02:12:09Z" - mac: ENC[AES256_GCM,data:QgL5PSrG3yVeJQgDJ3/VQhGwF7WpDb0+w7oxeF0KeNt3m2YqUsS1qKwK4gJAbmyt/RPdRErTiPs6NdAouowjZg6zcd+Trags/GIBKcaIyJqQa4lw3J3Jod9GTkol70c0H/X76kQx+bWzuXnJy64Dm3t2h+/ytD45+yZJ/959FKI=,iv:JnR8ZRgCfsr7T7L0NLCncH/6q1EGErOCzYjZWrazDh8=,tag:HHH6MrP1bFU0j/Hb6crEZA==,type:str] + recipient: age1az0k6cadssk6r8qcqxfr8cyu5mndy59pwt8yqq6w065ew6au4ezsmg2vkf + lastmodified: "2026-06-23T19:38:01Z" + mac: ENC[AES256_GCM,data:3FSmib8bQgi3sf5OSZvKOeXNgPphCM2LtUEscXD1c916UC0l6WSJsB86CpwPolInL79o5148ond7u0lDiM+/yLx4QUmxLkJXK5hi0KqMmUCp8L/oVslO6Q1rAJnhKkfcPpnVUwk6lRvcb+4NXIG+3w9EBPSWXL2yBLhRMXmtiBA=,iv:sVJgqoNMZY9jwdq6eJJoTZ7rAqBBmfxsiDXV9yFhPws=,tag:NQwpxfBGwAoW83CMl/mitA==,type:str] pgp: - created_at: "2026-05-20T02:11:43Z" enc: |- @@ -184,4 +185,4 @@ sops: -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted - version: 3.12.1 + version: 3.13.1 diff --git a/inventories/chaosknoten/host_vars/forgejo-runner.yaml b/inventories/chaosknoten/host_vars/forgejo-runner.yaml new file mode 100644 index 0000000000..28bc4ab4ee --- /dev/null +++ b/inventories/chaosknoten/host_vars/forgejo-runner.yaml @@ -0,0 +1 @@ +forgejo_runner__config: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/forgejo-runner/forgejo-runner/configuration.yaml.j2') }}" diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index 4fbc03d8e4..30072c8729 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -284,3 +284,4 @@ secrets_hosts: hosts: forgejo_runner_hosts: hosts: + forgejo-runner: diff --git a/resources/chaosknoten/forgejo-runner/forgejo-runner/configuration.yaml.j2 b/resources/chaosknoten/forgejo-runner/forgejo-runner/configuration.yaml.j2 new file mode 100644 index 0000000000..eb3bcd3c21 --- /dev/null +++ b/resources/chaosknoten/forgejo-runner/forgejo-runner/configuration.yaml.j2 @@ -0,0 +1,43 @@ +log: + level: info + job_level: info + +runner: + file: .runner + capacity: 4 + timeout: 1h + shutdown_timeout: 30m + insecure: false + fetch_timeout: 30s + fetch_interval: 2s + report_interval: 1s + labels: + # https://forgejo.org/docs/latest/admin/actions/configuration/#choosing-labels + - docker:docker://docker.io/library/node:lts + +cache: + enabled: false + +container: + # Leave emtpy to create a network automatically. + network: "" + enable_ipv6: true + privileged: false + ## Something like this once gVisor can be used. + ## options: "--runtime=runsc --mount type=bind,src=/etc/gvisor-helper-resolv.conf,dst=/etc/resolv.conf,ro=true" + # Leave empty for default /workspace to be used. + workdir_parent: + ## Something like this once gVisor can be used. + ## Add /etc/gvisor-helper-resolv.conf to valid_volumes to make the bind-mount in options work. + ## valid_volumes: ["/etc/gvisor-helper-resolv.conf:ro"] + # Leave "-", so no docker host will be mounted in the job container. + docker_host: "-" + force_pull: true + force_rebuild: false + +server: + connections: + ccchh-git: + url: https://git.hamburg.ccc.de/ + uuid: 8f2a39a7-0c58-4c57-a272-01893b2f1a6d + token: {{ secret__forgejo_runner_ccchh_git_token }} From b9a5fa3ce58a76c99bfe61bbfdaea97822176640 Mon Sep 17 00:00:00 2001 From: June Date: Fri, 3 Jul 2026 03:39:10 +0200 Subject: [PATCH 332/417] forgejo-runner(host): configure some more labels for more images Provide the ubuntu labels similar to the images running at Codeberg using the catthehacker/ubuntu:act-* images. See: https://github.com/catthehacker/docker_images https://codeberg.org/actions/meta Also provide convenience labels for Alpine and Debian. --- .../forgejo-runner/forgejo-runner/configuration.yaml.j2 | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/resources/chaosknoten/forgejo-runner/forgejo-runner/configuration.yaml.j2 b/resources/chaosknoten/forgejo-runner/forgejo-runner/configuration.yaml.j2 index eb3bcd3c21..7463ea311c 100644 --- a/resources/chaosknoten/forgejo-runner/forgejo-runner/configuration.yaml.j2 +++ b/resources/chaosknoten/forgejo-runner/forgejo-runner/configuration.yaml.j2 @@ -14,6 +14,15 @@ runner: labels: # https://forgejo.org/docs/latest/admin/actions/configuration/#choosing-labels - docker:docker://docker.io/library/node:lts + # Provide ubuntu labels similar to the images running at Codeberg. + # https://github.com/catthehacker/docker_images + # https://codeberg.org/actions/meta + - ubuntu-latest:docker://ghcr.io/catthehacker/ubuntu:act-latest + - ubuntu-24.04:docker://ghcr.io/catthehacker/ubuntu:act-24.04 + # Alpine + - alpine:docker://docker.io/library/alpine:latest + # Debian + - debian:docker://docker.io/library/debian:latest cache: enabled: false From 81b16a04cbe6c769755221f0f68b04bc8b01b9a0 Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Sun, 5 Jul 2026 10:40:29 +0200 Subject: [PATCH 333/417] Explain why this is necessary --- roles/transmission/files/update-transmission-settings | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/roles/transmission/files/update-transmission-settings b/roles/transmission/files/update-transmission-settings index d51730aef3..27cf1c0332 100644 --- a/roles/transmission/files/update-transmission-settings +++ b/roles/transmission/files/update-transmission-settings @@ -2,7 +2,8 @@ # # Update the transmission settings.json. For the update, stop transmission, -# put the new file in place, and restart it. +# put the new file in place, and restart it. This is necessary because +# transmission is constantly rewriting the settings file while it is running. # set -e From dd1cd6f529125e9e12d67452bdf986050d92bb58 Mon Sep 17 00:00:00 2001 From: June Date: Wed, 8 Jul 2026 00:20:02 +0200 Subject: [PATCH 334/417] forgejo-runner-external(host): basic setup --- .sops.yaml | 7 + .../chaosknoten/group_vars/all.sops.yaml | 606 ++++++++++-------- .../forgejo-runner-external.sops.yaml | 218 +++++++ inventories/chaosknoten/hosts.yaml | 7 + .../auth-dns/zones/hamburg.ccc.de.zone | 1 + 5 files changed, 556 insertions(+), 283 deletions(-) create mode 100644 inventories/chaosknoten/host_vars/forgejo-runner-external.sops.yaml diff --git a/.sops.yaml b/.sops.yaml index 849749bc19..ed5171f85b 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -40,6 +40,7 @@ keys: - &host_diday_staging_runner_ansible_pull_age_key age1522f3qzddm82w63j7ajdkr0khvced6ht7tzp3grvp0j3hewtvesssr5kpf - &host_auth_dns_ansible_pull_age_key age18zgt4y2sd75hxnpe333zz39048ctxpr0q8a3uqh3jajjkyawsdrq8yg5ve - &host_forgejo_runner_ansible_pull_age_key age1az0k6cadssk6r8qcqxfr8cyu5mndy59pwt8yqq6w065ew6au4ezsmg2vkf + - &host_forgejo_runner_external_ansible_pull_age_key age1pq1jqrcp3te50xugmv5wst3s9ahj0d38rfktxt43wlcqz7vnwyn3y2h7kyfr6rckrvmuk9m7yvp4efjnfsuxx6d8r9gn222r2eal5593arywrjwrgeypf745wyuvf3z2xk9tm5fgnwckftuvdggk66fph59rw69nt5dpjeewuww4vzt9gs4xelre952s7zjz56qv8tvesg2c89sp8rmy9dvhwfd6tucjhs6sjr6yp2njjra2u6w7c7f0sch3rwkw3wf2dc9su9aaa9q2f22sh5yf0fqejxa2qqpq4pg752589st5xsa5g8tpkjglj4tn35gd4hjj0xet9cjwhydmkmmkffy3nr8zdtctqu6pqsyf7aphvktryez39ru3qe7m6nvr465ffxr0ltvr85nddzxvcwpwpac64nu5tdfrxgjfqzc99vr3zxv8carpsw5evmruqlvrq6v6a4m2cwsz5gqw7nyk3jlj75kp5cnafzjn5dyrf8ppfhp5g5s34zsl7pejmmx2uuudjt7ru2y7as9mtagykrgqgt80fvp3eeh4gsmmd3ujgtp0ranq28aq9x0xdekqh49pfhhprjj6zqdfac5gxtjj736kh5jktc4ls4mjs3p33rzt6ze54uqsfept3qhua2pmugypup6hm6j2ek5sgxjnwvqyfj2l8vz4yfgkaxf699v7jqlwf7g68ang5kzqrjsu78lyardm4zen8zhrr24j334qdgs4zr8dhsfsnmvx9cdvu0swx27tcz8txs46zds9kekgmua7w7fnw3l2lf6zla956ssycac4zjy87rawr4thusxtcqgfzfzh2za9np0s34e5dwkp2l2k06cq09myxqfe7ze6a53d8sl5j43qcekh6kfvl9k0t7903q99pc35630zwm3hwxgnw354du5gngnz56skq9zx3pcnkr5eyh8r8t0dqudmvrrwmxreu6tgrklxw7yvu3zkjgt3gyjhc8kqcrevlukay45sz4k9zqxx9yrs88hzt4h52r2g74alf3cedes3atufy06q4lfq3nxdlnve0kqcwstzr6z6u7fqpqvacezdrr62ycteju6dqawkpthu0drtlxj547htfjcsnrmhgvhskwtuhk6yp7wp30p7qc5vkk8fegg6qx5kc9xs4trx7hj9xgydu7vd30hkceuxsczywjs9v2fl3svkwfypg62882yq6ltv7gfj4ajuy8ezd76g0z7juwspe7q6zs5ceshd6038tvvh2nlpjty6rg6a9qfzhgmjx9s6hynyk7xnq9zra6hxstg8p58x75hapd2mk6rapfunlnnkz5dsxjf4ud4dsvgjfjpzxcdy7sp8dzxtengrsdyu4824mqlw8p63d7m2z4mcyme4tm2qkugtdgrkyphe7akk2geukf6xkfkzd2pkdq5s3qm9fkvfkgrv6yw5kdgjak8xcgesg6tumans4fs8yrxtqlvv2z3emdvwchrjfq4xpzsj27yt4gdg8pknwz9tqpjkjxq6lysutrvwkvt2fwyj8wvv8wtmdl6fk6rsd9kq9a6wkhuq7vvrgwgj3xg2s229sprj4g2vzhy2dfesrp403gs64jqkrjuezwm4zd6uw2x4e2qkj8xqcf7c0zprdzu959x23u878vqqetgpjwt0z3kedt8l6dgpm0rf5dmrya5h3wgzfa0jjvgjphyxgxrwlrzpv4czgal933zs64tn90ks66ejjdaw4t67sch8r3q0kljeqnpdgmw0cpj6arc6k46wcqaccygczy76zt9362vslakvzqqv33tv3sjldp6qxprharmpm9uykgpx66343wuur5xj2aw0rgutpm4ztjzycn3a8d2jq2zpdzwmevezm7mkp9dmndkc3qz0kklgkxq9yehrk5ayfly97umhws0jll8qqg0r7gzxgw5vv76 external: age: &host_external_age_keys - &host_status_ansible_pull_age_key age1p546j6whqsyfkjuf674lawrnk2ex653fuvwhcwt46gkrspkq59sqzm5y87 @@ -216,6 +217,12 @@ creation_rules: *admin_gpg_keys age: - *host_forgejo_runner_ansible_pull_age_key + - path_regex: "inventories/chaosknoten/host_vars/forgejo-runner-external\\.sops\\..+" + key_groups: + - pgp: + *admin_gpg_keys + age: + - *host_forgejo_runner_external_ansible_pull_age_key # external hosts - path_regex: "inventories/external/host_vars/status\\.sops\\..+" key_groups: diff --git a/inventories/chaosknoten/group_vars/all.sops.yaml b/inventories/chaosknoten/group_vars/all.sops.yaml index 5b4b6c1a05..dcf4eb2259 100644 --- a/inventories/chaosknoten/group_vars/all.sops.yaml +++ b/inventories/chaosknoten/group_vars/all.sops.yaml @@ -2,393 +2,433 @@ msmtp__smtp_password: ENC[AES256_GCM,data:xcBVBTb6mfr5Ubyfga9ibKWKhrfrEEaDWD98vI metrics__chaos_password: ENC[AES256_GCM,data:al234VSAH7oxka8X0hTvEJKVLD6O/WCrCKfVLLvm,iv:+TmA+0hXMV4OxvK7RH2g1dIzm88Lpm3zevxSZxK23QQ=,tag:txCVr5SEW3dVHgNFInR94g==,type:str] sops: age: - - recipient: age1ss82zwqkj438re78355p886r89csqrrfmkfp8lrrf8v23nza492qza4ey3 - enc: | + - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAvalUzeDFlWDJpaFdxYzZU - SzNLbFNiMTMreGhkaUZMN2hZS1dONFRzeEM4CmR5VjVKSWloQzc0NnM0bGRHR2RE - YkwvOWZZZXczcTR0cFZvb1hjMEVMZW8KLS0tIFVEVTd6UG53K1loNDdEeUhVTW5W - dFYveVdnZFptWi8wNEtIL2VEd1pPVVUK51kCjHeK/neGrtcsgvMsPifCKQflPn8S - +E3oHbvSvBWW5ACR+X0My3FF6F5qTyzeo8OqCdwHJJci8wD4lO0ykQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSArVmdjZ0ZqeCtBMVZDQXRa + T3hJZXhDZkRYOUpXTHBydWtsSXNnZVZYckFvCnVHWjQ0dXdwWjIzbFpkWmRoa3cx + TlJ5amhrOExBaHowb3BqNjlpaUxPTW8KLS0tIDF3NGZIUWs0aEU0TlcyZmZSa1Z6 + dUdSUVowYUh2bkZZL1F0eVBwekQxbDgKkhdASE+YCLmk1o1/m4thUG0snNX2HIeP + rNLk4ga516qNBCensSpN8N9jNgupOTMbCXHDOL4j3DbMklk4oi/07A== -----END AGE ENCRYPTED FILE----- - - recipient: age1gdfhx5hy829uqkw4nwjwlpvl7zqvljguzsnjv0dpwz5q5u7dtf6s90wndt - enc: | + recipient: age1ss82zwqkj438re78355p886r89csqrrfmkfp8lrrf8v23nza492qza4ey3 + - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBVSHp3cVdjbURhQWJRb3FN - ZmxSajRNSzFib2lRRmtVcmVzaWtjZmpibkhvCncrNkNmUmFKMkhLWG8zWjMwcUlI - dElPd29uaEFaeC83citIbC9sZjVhcEkKLS0tIEsycHZ3UnZ6YU5uSVZFUU1VeVQ5 - aUQwZUU4NFF3cHpoMTY2aUFMT3R3K1UKBMzOLiQreRutPycBG3ripOeKOlz02Hxu - nWkfVy4eJc+zRrwICmil/v3VcyKH72AvuUfnBgFkCTg+lGZY/GDfAg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYSVJ5S2pZb0c4SlpzV0NI + aXRvUnZDN21KN3NoeVRSMkNFNDVpRTIxV3lBCmRhSHdBYkJZRitndy9vTUhTRzNu + b0RqWkloaFhaOTFuemJES1ZkdlZVZ2sKLS0tIDdvaVgzcE1XcmR3cUJKNzdFSEhV + NzJ5emJtOTNDbDIvUG4rc3BXcGM3SmsKEzinKFMsJwNByhm0Z1fZGqGHuHOzkbcQ + XMRtfnncFH1AY4Ameav0+lqZ0eXyYb+Z1xpCV+V5yQ3mJQnbnnMqMw== -----END AGE ENCRYPTED FILE----- - - recipient: age13nm6hfz66ce4wpn89fye05mag3l3h04etvz6wj7szm3vzrdlfupqhrp3fa - enc: | + recipient: age1gdfhx5hy829uqkw4nwjwlpvl7zqvljguzsnjv0dpwz5q5u7dtf6s90wndt + - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0STVTd3pHV3BCTTkrOTdy - RXBweU5OM3RkWFA2T1M0RzJWNHVYdVZXWVVBCm00M2hQdlphRkxjU0VOUEladjl3 - a21QVEZmMHFoM1JxQlZXaXlVTjRHRmcKLS0tIHBwN3pkRGExV1d5M3J3NWo0cHNI - M2IxRjNHYmFPSDB1Ly9xSkRHMy9ldVUKdrGJ2HS5Kfyyw+0bCMlFs7DJ3+JWKLtq - 7YCoqWskZauUv+cH2VL/oghttdWQXonlVINkhKbeiQ49BbhPTompJA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwNzFDcC9rcVdaR3kxQnlI + UjhxZXMweFIxRU1lR3ZyY0JIVTlVcmZIYUdrCk5SV1RRT1lqcm5lU2h5c3NvZHBG + ay8xN1NPSkZ1UHhUazJmcnRrZkE3UTQKLS0tIGh2SG9NN1YydjAxTE5CaWNrbnZa + NnpkVjBJNGhCaStiakdMN0JFZFA1MGcKVqrFb6S+InLLQWqC8/RwrrysAf+3KMLJ + 1Y+4u3VdzA3BlU6cPNbeOYvdCnOo/qO6a0omHnrtls8e9ZVFB9Wi/A== -----END AGE ENCRYPTED FILE----- - - recipient: age1jtusr294t8mzar2qy857v6s329ret9s353y4kuulxwnlyy4dvpjsvyl67m - enc: | + recipient: age13nm6hfz66ce4wpn89fye05mag3l3h04etvz6wj7szm3vzrdlfupqhrp3fa + - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2Njd0ZDR3M3JuREJNTjdl - RDRDd1BXQ1F2Z3NZYVFlTGhsN0gxTTdOY3pBCmZReUF4SVRBcXpkQzk2d2xDRDBP - cXNNUGxXWkVFMTBNUkc1Q1ViaHpYZFEKLS0tIDFNVnlhQ294bHZhNTRUNUx4c2tT - MU1od1U3VG42cnBJSXlEQTl3MVhwMnMKFK43XRLZKQoouvCcGqHt/13LW+KMG4Gn - WvnkZz0m3WUM1iu3WLYqT+QOR8RnNPk669JE80rpxKZmbqRNsIdazw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQaThDV3YySWkwcG1Ucys5 + V3dLZGpKMUV4M29kTU9PWjVDa0E1Y2JpdG5jClZJTk1McWFFU2EvdHdTeXQ5RTIz + bVE1WHJTUG5lc3hjZG05ZkM5OG5QMmsKLS0tIE9qbFJYTmJIeC9NeU9yUFJRZHQr + eiszNk1LQnZyVmhFUGdva2ljSW9ndlUKx1ba5S/jCXTiXIa+6uOzgbarXNYZ8BeQ + PteQmwTk68ic3WiEHi0BTGW/Fx/vVEPAgBAZZd3Ea6gByKTmeRFKIw== -----END AGE ENCRYPTED FILE----- - - recipient: age1a27euccw8j23wec76ls8vmzp7mntfcn4v8tkyegmg8alzfhk3suqwm6vgv - enc: | + recipient: age1jtusr294t8mzar2qy857v6s329ret9s353y4kuulxwnlyy4dvpjsvyl67m + - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrd25sbHdPbkovMWJXaFdp - S0dYMmdoN1I2ZFA5SFk4VlBSelFWd056eXljCkdCdFlSMHdUdE1rd0MwSUdpTWNp - Ymk4Mk5kd1FZMElGTktiZ3djRXNENlEKLS0tIHJQWUtqTFZabjdidWlMbXVmeUlm - N1JBZm9jdWRtdXp0YWhTTVNGZnFQcUEKcrOCOyDG/dJocsR5ZLyv42PX5cTBdgvi - aNYAq+SnBEMQebUlPBfOapR3tsdjBRwMPvDN3cBtky77SGAg0hZ49A== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBad0dONG0xaXVzSEx0bVc2 + Sm5Wc1h0cXdBL00yTUpSWHNxWUczdDdibEFBCnAxekx6dkJJNWFjMVlILzZNRkdh + dDRWVFovVitsZVI5WnlBanZGZU9yRGcKLS0tIE9zM0ltT3h3RGZnNDB0QmVCVEpD + di9PWXpLc0ZCK28wL1V3NUNNN285VzQKqY3LelUaCtWM9vl0eLEVgtn65+Dfch1o + IJssAkB9pSSyUeLAs9hrFdLYjwKG+S8XB2Suw9Y7XXdYqE7dSLMiEw== -----END AGE ENCRYPTED FILE----- - - recipient: age133wy6sxhgx3kkwxecra6xf9ey2uhnvtjpgwawwfmpvz0jpd0s5dqe385u3 - enc: | + recipient: age1a27euccw8j23wec76ls8vmzp7mntfcn4v8tkyegmg8alzfhk3suqwm6vgv + - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxM3V0RFd6Qk9JbzFGdi9q - ejZxMHBGdmhDNDloVVNpMkNrQStKUW5aNFRBClJtMGVJN1h0amJPV3RWY1lIQ2ow - LzYvR1dpSFpwa0c1Q05Bc3NXVWNrQjQKLS0tIEdNTXEraXk2N2Q5UWhjUUdvUXA0 - clhMUFZPT3JRZjFHeDBsd0YyVUVnZUkKYMO2fwqDXeuKVVgL2KKDWfTAa+5y0P0f - gFrlyEqbIrcr66fy66zHlVw3FjHoUfOsMDm4GRjWNn4KOTGSjIImjg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZQXlLT2Z1L29zUzgwY0tW + RHYycmtyM21BMjd5QUNvQUV0TkRsWFh2QlNJCmprSE9lSnh0Vmhkb0hSenNIamlC + RTBlTFVvUkVMejBobXlvTlg2Wm5TY2cKLS0tIDdPK0VlckcweVdCeWdQbTJoMDE5 + RDJNYkUxZWZhWnptT2U5a1pYR0FtaUkKqhBidpla+0NW7dq2FnsYUoW4T4A8fmFy + cUMWuQBYM2QAxZRguyFXJ3dkUAxo7mIhUjKQuTIMOCRTyxqRlTW4SA== -----END AGE ENCRYPTED FILE----- - - recipient: age1na0nh9ndnr9cxpnlvstrxskr4fxf4spnkw48ufl7m43f98y40y7shhnvgd - enc: | + recipient: age133wy6sxhgx3kkwxecra6xf9ey2uhnvtjpgwawwfmpvz0jpd0s5dqe385u3 + - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGZC96YVlTVm5xM3M4ckYr - MVNZZ1dISHNGcnNSOEVjUk1JZDdVcXdKeEhjCnhUa2dMOEdBenNxcWkrRnY5RFdD - bXpCQk9KZFZmVWN1Sm5FcnkvaXJ1clEKLS0tIGhsUTd4a0tnWHJZdTB2VktEbGxw - eVZVenJRQXNKY1FNVG5yZXdHTVUrc28KAeiaqGRCZ7tjMaxKrlDOTj96WcoxlkxX - 1P+DXm44FAlEU/o9YCun5CBDMrBI8qBt5VUxFaqyA94ixSKXZQeUAw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBNZDFQMTVPb1F1aGo1VE1O + bE1IUitZRkVMSlNmclZHMC9qaWJodUEwV1IwCitzWTRKeEpodVpwaE5UbnkvTExC + Z3VYYTlqWndEOXM0MkFTZDRpOERFVlEKLS0tIEV2RGszU29MUCtONzFsWG1aZDZJ + WDhMeFdqcVZFWHlVVDRtbmErMUtlS0EKkrK7s5d8GUqX9PvOE3clrqoHVpmuXbai + dm3Bv+pUbNMjHFlx4sXVAPVlWahN0noo4fy69J/m6F7/DnuoDHEq3g== -----END AGE ENCRYPTED FILE----- - - recipient: age1sqs05anv4acculyap35e6vehdxw3g6ycwnvh6hsuv8u33re984zsnqfvqv - enc: | + recipient: age1na0nh9ndnr9cxpnlvstrxskr4fxf4spnkw48ufl7m43f98y40y7shhnvgd + - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHTmtYKzA1d3Y4ZkRyNzg0 - RFk5SzQ2bGdDSG1LS2FkNkYwTUFXUjZqMngwCkhrLzEzUUhYQ2VkMEI1VmdidXA3 - RytrbXV4MUcwanNVaGc5NDBrSWxwRVkKLS0tIFBYSjc1Q2N1a1UzQTV2czdxaDNQ - ZmJGMFlNdUxrZHBtbWppcU9kelFTbE0KE90J1IodfxqYl3De2qUv8Eu3Uw5PKeQ9 - j5SPAw+1xvnB6q9iHAOhXwtER3bOsXOs8RnPTqKCV5RtEa6su79Kfw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBiYUM1a1NlVmRlZGJvNld5 + NWJMckRXVE11RzRmdWVETXhwYW5SdCtzRUU0ClZJQm5LL2swT21TaUYySnRuNHFz + Z0JHUTdRNkwrRkdJNGVzK21uZzJ4MHMKLS0tICtEcGI2b2xkY3RKaDNQVmN4OTQ3 + VXBrUjQ0Mjl3czBXbFd1WE9LN2U0WGcK1BvTUqw/41CzYUbaJz8C4q4hZ23TFOtd + g1NuSfsJm1BHN8vPk0QUOb+jw7J5YyFplFLHTFIf6kslMXP4WNc1Rw== -----END AGE ENCRYPTED FILE----- - - recipient: age18qam683rva3ee3wgue7r0ey4ws4jttz4a4dpe3q8kq8lmrp97ezq2cns8d - enc: | + recipient: age1sqs05anv4acculyap35e6vehdxw3g6ycwnvh6hsuv8u33re984zsnqfvqv + - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBPbnJGdk40VVlQVGlhRVZy - M29YdWFxRnBRdlNsSVdTWnBWMGI1N3N5SjJjCkw3RzA5cHlBNVA2NlVlV2lJSThG - K2RXNm4rWkRtUmhHZUNBWUlUbTBIQ2sKLS0tIExyeFBpbnlRWittc09mVjkvY1ps - S0tjNUx3anVqL1RHVmVsR040S2VmdG8KEihK9BPXXLd0XQZB111NJuOdJGnCgBHP - KCuVczzyMx1lAyh0NlG0xgyIMKuWAXP0PBGgf24jerGbp/5mIx+sgw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGOGlPOUVlaU5JVWl0TlJL + SVFIT0gxdGhTVENzZTJiMEtkZnpMVHFCdUNFClF6cU8rdENSODdQNzd0MFV2TGFW + bHM5YjJJeU1UMVp2WUpCL0U0T0NCNHcKLS0tIGpKN2prUEF6QndiQkk4RExSRUtx + OFg3QUFjOERJb29wOTd2dXpLYW11c0EKK/R3LPiTDBvFRM3thWaaepKeOnF3Zt7u + 6IGcJPDuo6uHVcUMS7qE6qBWNH8ZBtMtNQio+BHx4s6G5DR2XszdBA== -----END AGE ENCRYPTED FILE----- - - recipient: age19rg2cuj9smv8nzxmr03azfqe69edhep53dep6kvh83paf08zv58sntm0fg - enc: | + recipient: age18qam683rva3ee3wgue7r0ey4ws4jttz4a4dpe3q8kq8lmrp97ezq2cns8d + - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBoVTU0eWFMaWhIK25ESUQ0 - ZklzVEhOeDBtSWpINDVVb2o3QjQ5VWZzSUg4CkRpMnVGU3ZOWVZCRnpHT0J4TGhY - ZHNDekxuRmZ6TlIrUmhkYzlFb2NFM2MKLS0tIGNveGhmY1FsRUE2c045U2NjTi9r - ZjN2TEc2TGtIV093N1lKRjNqa0NrZTAKv72ItPWyFHxKxT1xQIu2sA2SzR3/1/Hf - WiZjpE7QXJBxhFVeYEcZgPKOZ7HdubchjSTCGTuX9oyi4/GI7yRPUg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB5bW44eElOWEs4NlV5am02 + d0ZNemdBRXBURmd1ckVxelQ1UkJadTNxUFY4CkdRa05vSzlCeFFDTjFna3RoQllo + aThrNXB1elhSQWUxd3QxdUZnbUlmSnMKLS0tIGdWZ2loUENBTmZXc1R2aWdyMEsv + cW8wLzNlUjYyazVxZ3ZrZ0RpUGZ6TkkK3a9IoujcGL2FiOf3zGCF4KvUfGeh04q1 + QQR+xlzqe6iMepeD0fPZvYedc1Yo2wXbWS/j7ehJh1jnWcB57NSsew== -----END AGE ENCRYPTED FILE----- - - recipient: age16znyzvquuy8467gg27mdwdt8k6kcu3fjrvfm6gnl4nmqp8tuvqaspqgcet - enc: | + recipient: age19rg2cuj9smv8nzxmr03azfqe69edhep53dep6kvh83paf08zv58sntm0fg + - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjTzhrMGRsTHhCc2hlTkhS - SGxENjN3R0lseHgvVGJBdEN5L2RqTWJsMm1nCkcyVHJoRTUwa0U4VFFINXNmcFow - djBVZ3RjMWRNMzNnVGQ2SVpnbkZyOUEKLS0tIG1sZTE5ajc2aU82Yi8wT3djTk90 - cFFnNU9ZT05VTVJyVEJIUzNpRjhRc1UKZuDdPv5Ii+1ErBYDGxkaF0U/T9jKRI1X - Ov56TSpl0nlUB89dLPg94bICrL6q/Gv1pFBGx03xe/bHyxaHTEvGoA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTSTR0WStKTmRHMHJiYzhn + d2pjTmVzVVhtZHJncHZWZUVWOU9NTjNoZkJZClQxRVpudnE1bWNUV005TUpCU2Rq + RHhRc1IwMHVsZzhNd1JNeDRRM3VlbU0KLS0tIGQvdUEzUlEyRFl5aHM4V0daR3Bn + M3AvKzRKZ3VzMU5oekRiZjRnUWlwa00KoajoQ1ZSRoUL38OzNEG6TX923corR3NX + QRm1o1Qj4WPwuqY6cFXVnnvrU460qkxDGyrqsl9VpfQMiDSW1mdVUw== -----END AGE ENCRYPTED FILE----- - - recipient: age1azkgwrcwqhc6flj7gturptpl2uvay6pd94cam4t6yuk2n4wlnsqsj38hca - enc: | + recipient: age16znyzvquuy8467gg27mdwdt8k6kcu3fjrvfm6gnl4nmqp8tuvqaspqgcet + - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBLVWNnMjlsUFZNa1AvVXFu - OXZQQkozYWxkZ0wxSUxZZlM2WGtuYU05b0dFClloZkxTWld4cEI3TWhaTEpCdkJJ - T0VLTkpsRnluejg0YWNzTGMzUUtRTFkKLS0tIHZ0U1lDRUxpYkdXaEl3OXBmVDZ2 - SmxybFFncFpjL3FuZ2dFaWM4dnFOWkEK+EqXlNZkn+oe4YecCwqJ8fLvXSo81A7/ - hBRU6LQGrSwf7lWW1qXNi/wtlNJMKE0nWFsJozrPFwoEjjysFDZy3Q== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBZ2NvN3dOb1FCUlhKcFg5 + OUhGV2x2TCtuVkY5VWZMbHNFTW1wU2pSdWlVCndYczJRanhPZVhONWxLRkREdzJP + UnlZQklhejJrVkRudzh3YXpqZXpVV0EKLS0tIFUxWWducE9zcFlLWEdDQ2orbXQv + NDlCZmFsbFlYZ2VockpvdVlIU1BmRTAK8BQSeOPpe/CD37W8l9zc7oZikpDV1jE8 + cU9m1jnN2qE0FnZTRLITQhPJhYSj/GIGmCq1HTsPNA7K1AyJsg5vCA== -----END AGE ENCRYPTED FILE----- - - recipient: age17x20h3m6wgfhereusc224u95ac8aj68fzlkkj5ptvs9c5vlz3usqdu7crq - enc: | + recipient: age1azkgwrcwqhc6flj7gturptpl2uvay6pd94cam4t6yuk2n4wlnsqsj38hca + - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDejRnM05CR0ZHbUMya2ps - OFlBRnBueTdBc3k5VFhpelg3ems5NHZ3NjN3Cm9sRVJXQnZjdWJVNHdLSzFlZGly - VDNTUCtlV3dEK2lSRFhkNmQyUGpCcjgKLS0tIGdSd3dUb3B5Y1ZDSG9PODhNWGsw - RVJ3SW54T1VpNUlhUnhnamFRalpnTE0KL2JiKsiWp+06NN3paFVt5ZDfZBDP8i9u - 2vwztiFt8WdDKqJtaz2HxPutj+LtQIOOmZWatKTQRS8ALNtLZOeZgw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBmQ0xLQjZLdnd6TmlZNW1N + SWJOU1RabDJ1TGZNNjM4UnhlVDdEWkNwZW5nCmV5WWFUM01YSTRRaU8zOUlRZFpz + Ritjb09LemZNcjUyRnQ0c2FGTUpWajgKLS0tIGFvWTU4NDRMbzgrRTVGaGExV3Jr + c0Q2NlhqYyt2Sy9vVHNVZTRIZzVSZFEKBagWqZgGM7L/4OvX7k0Mb16uDdxOneXU + V4IkEFxmVGavpUNWir77VnIX7WUThAmF4B2fhXB+qs0qlea4JbG7Tw== -----END AGE ENCRYPTED FILE----- - - recipient: age1wnympe3x8ce8hk87cymmt6wvccs4aes5rhhs44hq0s529v5z4g5sfyphwx - enc: | + recipient: age17x20h3m6wgfhereusc224u95ac8aj68fzlkkj5ptvs9c5vlz3usqdu7crq + - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBEQ2Fld2ZjcjhoUVNmalpo - eFNZbFM2UzcrdHZTV011Ni9YeXhzUlRrcHhvCjV0cVMwenhOeDZweGo3YmsrcGRl - U3pBYjUvSTliT3JiK3dKWDdzYzlJUTQKLS0tIE1hb0RPbWoycjhTYjE3K01HdWY4 - cDBTVlVOZGFTWUkxM2pIWkhrK3ZWZmsKEk9Q/lXxWEkDt+xJyhmrnkqh8tarYY2D - UyJQofhowqP1gKLHlH0OVK2SGOXK1A762+aXDsSAb3cGvxQ+p06qkA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAvSFJmaDUxT0Z1amN2SGR6 + dHhPUFVCdTk2cVlUYlp2KzgxZEY4dk1sN0dRCnAzWURSUkdia1c4aTZlWUFzUENC + aG9nUEVlaGdHdU9MU0VJMVF5ZTBSL0kKLS0tIEE4ZEZmMVhqZWdQNnBzNVRJNTlF + cDhJaStiRzlOOFQwc2h6QkRrUGQrTlEKHTekoVeaGKeZL9k7FKroHReRuQwBeHnG + Qjbib+9Qk17xd11q/33Lb1srn3FnaaLCoQhl+YufI67jdfluqVl5UQ== -----END AGE ENCRYPTED FILE----- - - recipient: age172pk7lyc6p4ewy0f2h6pau5d5sz6z8cq66hm4u4tpzx3an496a2sljx7x5 - enc: | + recipient: age1wnympe3x8ce8hk87cymmt6wvccs4aes5rhhs44hq0s529v5z4g5sfyphwx + - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBuUTlRU3V3U1VmKy9hOEhr - SVlObkVjaERRcStDd0Jtd0tXbUhuVWx5em5BCmh0aVkwYlZ4OWRGMjVwV0M1RGhk - dFhqOVFadG53dnNvemc0UmpXQlRDZ1EKLS0tIDQ4TE5SU29zeXdUYVR3VzdicVRY - NTI0SnBYZGlRLzAwc0p1dExXVFdmVnMKEFkjz2qpMXRqwmZ4YCxs8iwZpHk/CSit - G4+EjH9oMEFBYqPkgdsYw2stIs7yPncKtKHPIHD93OlXCqKoqNWGag== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBUclY4MDRZTjNDSTRLd3hn + Tmo0ZThiZkVuWSsxTTB1c1hyWXovV0kybmo4CjB4Vjd5R0NoNjd3RHhyb1NJaWpH + cHVQYm1SL2ZPLythS3drUkFBcHVmQ2cKLS0tIFhrdFRMOHZ1L3hWRmswZzNLOUQv + NDFxMjJBZzFtRFRZSm5QeER4eUdVcGcK5sYxXaa0VJrbPDlns9AT3qOlI+DrRtza + b9bWBYrN2nFMNud4vZHyTdHXp/VZj/x5Ezo29ZHI+QDXOG+CopIL+g== -----END AGE ENCRYPTED FILE----- - - recipient: age1p7pxgq5kwcpdkhkh3qq4pvnltrdk4gwf60hdhv8ka0mdxmgnjepqyleyen - enc: | + recipient: age172pk7lyc6p4ewy0f2h6pau5d5sz6z8cq66hm4u4tpzx3an496a2sljx7x5 + - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSTWY5eWkzS1FSNHlWL05l - SU00eUl6K1VYcDJoSFR0UEsyU1pHcE95K1FJCmEvdEVUb2xJdTRZTUY1bHI2YmRp - RUtrSGJsUFpRazZHVzdhQlZxbmxKMnMKLS0tIHhxVzFvVktXZ1lhazRyRXNLM1RQ - NmNLRnRDdkJiT3lXL2s2L0tNbTJLdUEKz1y8nEdzEmbqb8V9RoZWrKuLbz/as/4a - 8z/+fyoRWhuugN3bP1XIw7tyg7abW4/fMQaJi5iEcguKbDnfZ5G5uw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZejZjbVBuTXN3TG9SWGZ5 + cmdYZE0wbkpTVFAzd2dFQnRmb3krMHcwdEVjCktoMURmYkxMbk9iRFVTSnVMc3hl + QzVQK0lzdEdML0lkYXdqLzVOY1cxUEUKLS0tIFlWSDNTcWlJdVFsMHVYZnRZU2pP + a3YxQUhZcGE2UEpwWWRzVTVmWmVHbUkKZyuOLv3ri9WPN3gwuTesRr01plmgN+8k + fdfgPALn/peSFeuG+2mDBZfqaYphZvMq+l6USkbenkzyMh7o4pUNfQ== -----END AGE ENCRYPTED FILE----- - - recipient: age1sv7uhpnk9d3u3je9zzvlux0kd83f627aclpamnz2h3ksg599838qjgrvqs - enc: | + recipient: age1p7pxgq5kwcpdkhkh3qq4pvnltrdk4gwf60hdhv8ka0mdxmgnjepqyleyen + - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBhdExDdGlMczA3cG1RQ2dj - cmlycUtFay9GSXZTY1ViR1lRMnZEenNXZEc4CkdhSUJRd3VmUzFGYXJJNStCMFFi - MGgrWkZOQUFqYURsUEVtblVnS0lHM3cKLS0tIE1YRjFuWU8yeWlJOHJJNDdBaDZP - VnpYR0RhS3ZLS2xlN21mNEdWQUxENE0KA/4UnoYY7p/6/KyK/OF0xkK/RNTtvb1A - uw+8pfLPlY4OKcq+yhCQEkIJOUzNvtoHWcvQf7HIzq/3pXc4b7zIkQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBPQ2lIMDVIbkZJNEhvanNy + T2pLNjk2dXA2VmpNc29PTVFEcE9DbC9saUI0CkVJanlBMmpHN1ZtL1BnTUVPUnZI + U1VUcGpyUWtQZ2FJK3JxeEsxL2J3UjQKLS0tIEdxUmZrdXpDK1o0VjN3YXlqdGpH + QW10WnJrd2d0WlBlK2JIbWZqNXZVYWsKg/a9TdHoCkmkcnZnyvXc+sCxZsQVpJnh + R9r+2qmmQZDtdlnpPcemQhoAHDLdU4AkQgKNThX5IY74v2LhJgrPAg== -----END AGE ENCRYPTED FILE----- - - recipient: age1dkecypmfuj0tcm2cz8vnvq5drpu2ddhgnfkzxvscs7m4e79gpseqyhr9pg - enc: | + recipient: age1sv7uhpnk9d3u3je9zzvlux0kd83f627aclpamnz2h3ksg599838qjgrvqs + - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxZHZwK0wrdGpGMnJtSWVW - ckthVU5xa0syeU1EYWpGUnExSEdVNUQwTndFCk5hSkdDQVQ4ZU9ORXVUbWN5OEtX - Z1Bod3UwTGp6T01GN0JYY3NpUGRZUlkKLS0tIFBCOGFnbWRaZXVieDNYWFUzOHYr - L2J2UFZlUG1EK2E0MktDbGlOS1VmY28KA/Edhl661RwszbY6wdttE/5e91IYM2Z+ - NHPgNq9ePb0DqAtNozYk8lA9D4Y20cx+7gTPzSwYKVW1iITarI50NA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBvRUlzMmFDN0lNbXNIOHBD + Y2syV3FheTVVZ08yUFkzenY0dytMckFrT3pnCjRiZkErOGtYdVZUbEpBdm84RklC + OEgycEMyZjgyRVhmMEtoc1hOVnIxMkkKLS0tIG9ZR29BaEcxTUpvM1g0KzF2N0tp + cndqYi9aakczMWV0R3RIbmZMMjdBRHcKh9bEatt+Of89OK2v5zigcLTrLg2Od4fb + Wb8DR3ek8ysfcHCDIfAce/bBRX4nKbhZGB/2XYv7qJ/XVCaYWprKJA== -----END AGE ENCRYPTED FILE----- - - recipient: age1mdtnk78aeqnwqadjqje5pfha04wu92d3ecchyqajjmy434kwq98qksq2wa - enc: | + recipient: age1dkecypmfuj0tcm2cz8vnvq5drpu2ddhgnfkzxvscs7m4e79gpseqyhr9pg + - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzOS9kOVlMR2lXVDFWcUYv - cWtTZFdMMHdoQzdUbEZmRXlITHRrVFFKVlJRCjl1eEJmSUs5ejBYdGl1Y3Z1ZkNL - Ymc2Q2VVclRKdzRiQStBZGozRmlDM1UKLS0tIDRhTUN5aVhYTG9IZWdPY3hVQitq - ZHFGVzhBbVZwV2F0VkJzazIzRCs2TzQKK+j4kdCrNBQpEMIl/qBdrVem2880XnMd - /gHCkOmjcCJwbawN7ddB/+nxNp59M2MwednrXt+O5clTuAseUoa16Q== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGOHdwUWhHODJHeThNTzdp + OTZ2b0ZxZlVIbHRNUExXS2lnaldrVTFMT21ZCnJiTk5UVlF1dFJndE5qL3FUZkUy + UzdIQlJuNlFNSThTYjRIN1V4QUtEbTgKLS0tIC9rejBHRmJqelNrcFFpb3M3OXBw + L3RmNVdERmdtaUlOQTBZbFFHWU1BY0kKyurS+2zWqwi9RpG7N+0Wpc+ubFpLprin + 59q4E5PXsUDZ91R1MqbHbf8yjb8/I3vLn6QjUK4KPE/9CQCp2pNw1Q== -----END AGE ENCRYPTED FILE----- - - recipient: age16pxqxdj25xz6w200sf8duc62vyk0xkhzc7y63nyhg29sm077vp8qy4sywv - enc: | + recipient: age1mdtnk78aeqnwqadjqje5pfha04wu92d3ecchyqajjmy434kwq98qksq2wa + - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxbWgwQmZEcmw3emVJN294 - cERib0xuc3Y5UWJiRElRUnhjS3JScHc4aEU0Cm0zaDlzOU5sL0J0MGE3Ujg1T3ZS - cXljVFFVZDhxWEdkUjdndmNlNkxrQTAKLS0tIENwbDlKTVRLSVJ2elZCbnhtY0RH - Vkdhb1Vld2NvWlpNTFNyRFRQRFhsVlUKRihJgoaFsgfByXfoWA728AT+E9bQu1ju - tYpn7wL00VA/xwLyb7WVcrIJY2Q946UTUE4b9Isx6rv3NDKeWYUEPw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4MXFHc2VtMzdFbXUzd0NO + SlIxQ3FsSjZMT3UwMjkwN3JBVURPNHdxSnhRCmxINTF5N1dzL2V3c2dSemxpWkto + ZmE1a0MzWEFwb0REdzBJQ2Q5NkRyaW8KLS0tIDBGOU80aFExd0lHS014OUlJMldF + Y0I2RUhOVFNDMVRiRE9kTU9xUklBZG8KuNx5K+rdNXkfhRgn66VGLc2yfC9YuwhB + N1XaxkKu71rJ5ZsuCoFtzqSMyh4MManh9CXIwlMNAok7VfU1qtmtBw== -----END AGE ENCRYPTED FILE----- - - recipient: age1hv7m3xypesdfm0dfzwgctde8v307g9xaunnfu2687y0lagcs5q7s3eg0kj - enc: | + recipient: age16pxqxdj25xz6w200sf8duc62vyk0xkhzc7y63nyhg29sm077vp8qy4sywv + - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBpaFFlQWpoaUJFVEIvb3Vw - SzZyWmlMcU1RMXFnMmNHenJNTDJnN3dYbVhZCmNFRC9oRE1ENHZWc2ZYeUFMOEEr - ZjBUbjlaNlVvMkdaUkwwUmlWd3luQVEKLS0tIElEQnltd01ZU3YwNlFjc3RBcUNz - TVFtc2czRFdoMDhyVkgvVXduQTNHNU0Kiuni5O8zpUHcxSD/ifv26sgGa0CcztsT - jp/zmougfaFAy7UOLnkaCEu7gruoesZY3fxPhiCyy+jSCLe9mzxSbQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBnRElTWUV1RXd1bGxSZzI4 + b0l6aUsxa1EyTW0vTmtyOGlRazE3alZXaFFNCjhQNUo5Y3R3ZHVPbnVrUEpKN1g2 + MVRzVXpwWjd5Y1R1VENLVUtlNnAvWWcKLS0tIHRualVOd0g4cE40UEpseDFEeW9I + aGdBRW1TazZZVlE0cXlZSzNrTTQyZ0kKZdUpkVXkeAkHkIv7W4/ZQVU+uS2th92P + e78iITFOJlrw2L3ZiAh5asnv3ee1ZH62eKLJVnCrEprmR+hhlUVhmQ== -----END AGE ENCRYPTED FILE----- - - recipient: age1522f3qzddm82w63j7ajdkr0khvced6ht7tzp3grvp0j3hewtvesssr5kpf - enc: | + recipient: age1hv7m3xypesdfm0dfzwgctde8v307g9xaunnfu2687y0lagcs5q7s3eg0kj + - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAvNFVuV04rTnpXRGthQjRY - ZmZ1Y0JQUG45dDhoYUVOeGF0YTJmamliT1FvCnFPS2NXbFliejg4Q3JpVmY5c2xm - U09HZ0I1dk10RGh4Ull0dTc4OEFGVHcKLS0tIDdSOGhySVQvUHlLNllnakc4RmhR - N3VKRzRvNW1WeVBhN0ZtUXF2UzZHVlkKl9roQWqZWohR8MnoMCXWNggWJZBHfZJp - 29pKxeqp4KV0c4oQMgFYcckrw13ynMQ1O9cgYVMPl/qtViun9jr6XA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA1TmlwblRNS3ZiaWQ5anVj + UFBVYlcyL2I1Z3VZckRxV3h0WWxPa3VtMWkwClJ6aXJnQnNQeEtPZFdKYkM1THpH + V2h5S0tXenZMZWUydVlld3hhS2cvQlEKLS0tIHZMbjVJVXF5bE80SU5JbEF1K2I4 + Y1F2NWdia3MyeTVNZFhNWkZlSS9aSXcK9bCrSomL8gY54AgeT6mUr4vZ8VCt8S9K + yEMGDls04Ab6a5U4PAM2ytzyqilJ6agE7t5Tfpz1PvdL5lTTQrx5hQ== -----END AGE ENCRYPTED FILE----- - - recipient: age18zgt4y2sd75hxnpe333zz39048ctxpr0q8a3uqh3jajjkyawsdrq8yg5ve - enc: | + recipient: age1522f3qzddm82w63j7ajdkr0khvced6ht7tzp3grvp0j3hewtvesssr5kpf + - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB4c2VyQmxSWW1aMnRwMFpk - bEluV3IxWVloZjNiQ1hubGhldENWZG5kOFRnCjFZMUFGRWFiODBDaFNGK2pCRlJB - QzJCdisrd1IyY3B1dDFOWW9QeW5ReTAKLS0tIEFJODdCKyt1NERlbk1NNjUxWWU3 - NXNkQTZ4Tk4zanlRdHJJc2tJWmdNMzAKzifmbegg6BO7RBg+BEbdq+wqWHRIa9JT - RHUWaCkaX/uKndvNzjrDITLClAw6lycFFFWkCzFidT6nzz2omfJkPQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6ZHQ2R0Q0UWhwbFdNOUFh + S2xPRUJ6ZkpoVy9ucTlHb0JUTGZ0a1dXSTNvCjZFZ2RLUEdUWTV3QUtZY3YwVjhj + bmpib0VoMEhVZ0Jrb2k2WmQ0SGtDb2sKLS0tIGxYclJ5cVBic01oRGkwbGpkUW0x + T05lT1M4RlN3Y3AvUURyTEwxUDRkUkkKLJ76ju/Mqpc0MS4J5hk+hEOONA6ignmt + nh34vnEKBg20p6CfsrmJf3yAnXuEeWsERm5k5KsGzbxzWV7I++mGlg== -----END AGE ENCRYPTED FILE----- - - recipient: age1az0k6cadssk6r8qcqxfr8cyu5mndy59pwt8yqq6w065ew6au4ezsmg2vkf - enc: | + recipient: age18zgt4y2sd75hxnpe333zz39048ctxpr0q8a3uqh3jajjkyawsdrq8yg5ve + - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxa3NmdnoyRXdkQUNBT2xv - ZmRkZk1kcFdoRER0ZG1NelN1TmpmWXlPWlEwCnQvSWtuY0NiT3dkN1g3SzhhTmVm - Wkd0KzJlcDh4aEtFMUhCaUJ4dlJYV0kKLS0tIFVnNzJXQVh5U3d1b2c0VVVkV0JC - SURxZWNTNDcxcEd0aHA4R0VRYjZhak0KNsB6lsd6OK9lCdzHJqih9uZ5xExf6z4J - IqH/PN+F84tTh29QxvZRd07qQwVBiXdwDcQjBzUM4S+a2c+TVxf/qw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMOU9YVVZIZDRHejd4aHpO + azZyOE10bmFJT2dNTWxYSFkybE9NS2pkYlNNCkl2ekczYW40TVhjNXBGOUdlQTRT + aTlaeWcxMlBPS0h0NXNiWDlJQXZMR1kKLS0tIDZBb2pUb0J2MnA2SlFsNTJYdjA5 + a1BwNHRma001NFd4YzJ4OUFteFlvM0UK0tVTZmK1h6yC+aVwg6Pr/y6uaB12wj8B + oJx+p9Ty9NTSM5THBNt6paR+xHzCP1kRYNulV4PABq0IsGSpxFk+wQ== -----END AGE ENCRYPTED FILE----- + recipient: age1az0k6cadssk6r8qcqxfr8cyu5mndy59pwt8yqq6w065ew6au4ezsmg2vkf + - enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IG1sa2VtNzY4eDI1NTE5IDNXK2UrZlFH + a2tGRTMzdXJKWXhOeFo4QWdwV1A1Z1hnMHJ4VTlPMlN5Si9IS2JQQkxHeGFOdVB5 + Y1pwOG8wK0V6OGZjcmRNalFJaGczbGozV2djZGw2Z2hkN21WeTlPSEpFUkl3RXJU + OXloNktubldBa0g0ckptSzVBTmg5OW95cGlGOGlBTG92YldDV3Q1T3RhN0RudXN2 + UzFUZjhtaFlGSWtLd3ZPL2NKeUNYMWNYcDBRQWtSbE9FTnUwaFRIQnRSVmczT3Yx + alNOWU5UQXVWNGtTaFZxbE95dTFOOC9mMFhwUTJ1N0FSR252VHhrNGRYRjlXMWxT + RUsraWhXK0lhdHo1bzZDRy9mellza1RRNUtyYVkwT2doUWhBeEpvTDdKZS9WWHNs + U2QyN1RaWitoUDJkY2d4SysvOEhGR3NnY3A1OXhVR1NhdUJLdWJ3bGkvdnNPZERV + OEdjbW5FNEpSOEJRTWFtem4zU2x2bGp2V3lOUStIMU9ick1zZEQ4V0N1QUM2UHB0 + TzVGZ1pKZHM4c01FblM3N1pnV2NENmltVVNISEI1bzZTRE9LUW9oQk5qMkJ4Z2Vt + NmZHWWREKyt0a3NJSXo3VFBiQWJWSXQvY0F5bCt5aktGTTJTc1R1eEpCSjRwRDhS + U0hpQ3BOT3g5NXFMSVZsQWphN0IwSjJkOVhHbHlhMHdzSFcxQW0wQUJEbWlZYlNk + di9HVlYzUVZDMmNzSnRLOUk3OC94Yk5GK0lESGduRDZRc2JabHk5ZFd5cDZrL3FC + eFBSQWU5NE9uR05IeDNrQkJOMW4zUjlyaWdPYXlqMitpNGJ5YzNZK0NISGx2Vmxi + VXNOc0JSMUxuSUVVR1NBTE9kZ2NvUEloTW5Mem82T0NPVHFVU0Qzci8zWDdaWkEz + bG5zdnZZNUNITXM2K1gyektYdTkxZHhXU2tmd2tLVTN1NUt2WGR5aDh0Z2U0dVhU + Ynh6VUNuemx0ejMycnRIWVZxdzBzc0krV1RyMjlveUpGdnZQb1RSbVdBY3R6ZkM3 + RUFXNFVYR0pScU5NRjNIUTFkeDZFKzhtTFlNdVpzZDBSeHRuaDlWNHYybW5qV2J1 + bm1Zd0tPZGxRRXRTVjZrN3FLZDlJL3B3Tk5iT1pUbmg3SU5xSEdqeWNRZmQxS09s + MTNhZVBZSmoweCtkVEhEQzlnVlFtWk9xVHMwWngwck1xWU9hL2d4V1VvK0l4RURQ + QnpzWUhnZjFOa1JvZWJFVklJd0dma0diYzBmVk9YZlZURmo0U3MvRVJOek1iTzh4 + SVN0UkdQYkx3YWZMdnVibklHRW5RdGhIK3RqZHBLZ3drWEdaNDg0cmVhdkhocCtX + aGVQQVlFOGdkdHhXZkZ0YkZYaWFXR2hkK3M4dy9GOUZSQmhDVk5RUmpTSStRTWxt + aTNsNXJyL3g1ZjhzLy9RdkwzdER5YmFSWnFDV0ZDZCtTV2V6RktXNHRtbWVPc2ha + SzdSRGNVRWJTTG5KVm5LZHRzRFdrMGwyRWk4d0hpN1RoNFRFUnM5ZnN6Z040dXNT + ZkdqQUR0MGRMUlV3cmxmUTJxRTZVVXF0YWtOUThibEhLM2FVcXJqeUNDOUtVY3M5 + ajNJQ1paRzhvM01tZElqcjFsQnFtQkJTaDFIMFA2MVZQNjBYZnpWN0FJMkZRcXVr + WW1uQUJtUTNDcVo5Mm9kYmxSUGJqd0thdGV3ZVlxMS9SNVg2eGhMRm1UaGlWekRu + bFJkaGNFbytPb2REZ3JUWlp4NjhxbU4wTzlTOHN2TzV1blJCMTNTNnFuWThqdXds + K094Q3M3UGE5MVZyUVYvZDNrZ3Jmbm4wNkJMS3JqR1lKSWpCZ2IvUk9ZRWFmc0Z0 + b2xVcm5ZK2NtbmVscUxOM3laZnBUYlRLSnR5L1g4RW1zMWxYQmFjZm13YloxNjM4 + bXV4ZllJdG16UDR3bTY4UWVJeVZOSjArU2pGS2J5elRJVXNCdm95bTFsenNLQQoz + MFlJelE3N2gyS2JPZXNpOGFTMWpiZWRvSWhsMUJxSXh3VytBZElQaTZnCi0tLSBN + cnNUVHIrZWd5THhhaFpQZmRQVUpEMytJOTFHeG5La1lBc3Fpb01XNE5zCsXR7ibA + urENnyvOwCOgW9OosPDqhjsC1wElMtNf9W/Th+20h8S2ApNTMbINUbc/7KPZpIKT + KQKilX08+r7RAw4= + -----END AGE ENCRYPTED FILE----- + recipient: age1pq1jqrcp3te50xugmv5wst3s9ahj0d38rfktxt43wlcqz7vnwyn3y2h7kyfr6rckrvmuk9m7yvp4efjnfsuxx6d8r9gn222r2eal5593arywrjwrgeypf745wyuvf3z2xk9tm5fgnwckftuvdggk66fph59rw69nt5dpjeewuww4vzt9gs4xelre952s7zjz56qv8tvesg2c89sp8rmy9dvhwfd6tucjhs6sjr6yp2njjra2u6w7c7f0sch3rwkw3wf2dc9su9aaa9q2f22sh5yf0fqejxa2qqpq4pg752589st5xsa5g8tpkjglj4tn35gd4hjj0xet9cjwhydmkmmkffy3nr8zdtctqu6pqsyf7aphvktryez39ru3qe7m6nvr465ffxr0ltvr85nddzxvcwpwpac64nu5tdfrxgjfqzc99vr3zxv8carpsw5evmruqlvrq6v6a4m2cwsz5gqw7nyk3jlj75kp5cnafzjn5dyrf8ppfhp5g5s34zsl7pejmmx2uuudjt7ru2y7as9mtagykrgqgt80fvp3eeh4gsmmd3ujgtp0ranq28aq9x0xdekqh49pfhhprjj6zqdfac5gxtjj736kh5jktc4ls4mjs3p33rzt6ze54uqsfept3qhua2pmugypup6hm6j2ek5sgxjnwvqyfj2l8vz4yfgkaxf699v7jqlwf7g68ang5kzqrjsu78lyardm4zen8zhrr24j334qdgs4zr8dhsfsnmvx9cdvu0swx27tcz8txs46zds9kekgmua7w7fnw3l2lf6zla956ssycac4zjy87rawr4thusxtcqgfzfzh2za9np0s34e5dwkp2l2k06cq09myxqfe7ze6a53d8sl5j43qcekh6kfvl9k0t7903q99pc35630zwm3hwxgnw354du5gngnz56skq9zx3pcnkr5eyh8r8t0dqudmvrrwmxreu6tgrklxw7yvu3zkjgt3gyjhc8kqcrevlukay45sz4k9zqxx9yrs88hzt4h52r2g74alf3cedes3atufy06q4lfq3nxdlnve0kqcwstzr6z6u7fqpqvacezdrr62ycteju6dqawkpthu0drtlxj547htfjcsnrmhgvhskwtuhk6yp7wp30p7qc5vkk8fegg6qx5kc9xs4trx7hj9xgydu7vd30hkceuxsczywjs9v2fl3svkwfypg62882yq6ltv7gfj4ajuy8ezd76g0z7juwspe7q6zs5ceshd6038tvvh2nlpjty6rg6a9qfzhgmjx9s6hynyk7xnq9zra6hxstg8p58x75hapd2mk6rapfunlnnkz5dsxjf4ud4dsvgjfjpzxcdy7sp8dzxtengrsdyu4824mqlw8p63d7m2z4mcyme4tm2qkugtdgrkyphe7akk2geukf6xkfkzd2pkdq5s3qm9fkvfkgrv6yw5kdgjak8xcgesg6tumans4fs8yrxtqlvv2z3emdvwchrjfq4xpzsj27yt4gdg8pknwz9tqpjkjxq6lysutrvwkvt2fwyj8wvv8wtmdl6fk6rsd9kq9a6wkhuq7vvrgwgj3xg2s229sprj4g2vzhy2dfesrp403gs64jqkrjuezwm4zd6uw2x4e2qkj8xqcf7c0zprdzu959x23u878vqqetgpjwt0z3kedt8l6dgpm0rf5dmrya5h3wgzfa0jjvgjphyxgxrwlrzpv4czgal933zs64tn90ks66ejjdaw4t67sch8r3q0kljeqnpdgmw0cpj6arc6k46wcqaccygczy76zt9362vslakvzqqv33tv3sjldp6qxprharmpm9uykgpx66343wuur5xj2aw0rgutpm4ztjzycn3a8d2jq2zpdzwmevezm7mkp9dmndkc3qz0kklgkxq9yehrk5ayfly97umhws0jll8qqg0r7gzxgw5vv76 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: "2026-05-20T02:10:23Z" + - created_at: "2026-07-07T22:14:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtARAArIbXCPqNo+EajbWjsgzQAt4jtyUSh7zOy1URyt5XPEUj - zJUFkS8SUfL372esuA/KjiRhE0Ztq2T+zHF8sBT5E3GCTEiLnKvGNGik2w2OX5MG - CDmKZosfuhByOFFubsI76fbicb5euGq1QSlBony8fqPtvJ1LpY2GX7Ob58TXii9f - ESLesimUT0T1sxG22w7RFOFPHRgqD7q8Y9gAsJduj9QVIr6bBxehbu80/b00irk4 - SVFM7lkvEWij3LXHYBBx54lwT5vaM2lNzQzBRJDljzD5bJkqFFc5HZAtZXI+g7fP - UmKZQWD74Fi8boYE9VNKW5jtEHAIgWHAVNEZPb02zmNITH2BaWYQFRseYeILdjaE - zdnw087YhK88BHZYjgACY1+yMHaxrlwyj95D2m27zk37JBo5F52L9Lo7uKgF7rtS - sAw+VGqscEwyB0mmTeidcV1talvieHgdbJiCFH/hWcNksa/EZoMclp8HscKOjWjj - bq4qZSH0BPD740CLyIhh6LFLpi2wEdEY4MyMkjP1vM/F7yPondEB5vNjk7x5V1hD - bK/WthCeN2Q34uCBOnnqzFlbrFAmHXQvq8NgzEDvsJmfY1wUrNsdW9wy8fti+g2w - L+s5Eqr6BgvqCIPz7e6xtZwekvP1p8tHyUqPcdXLDfFoBayeMd1/So1mV6nXzs7S - XAG+LzP7X+B2u69GSkJZjgpmwgiOXXQDIlVE60O8bENLeMRbXLpkBwQ0n8XIs6pr - +FX4YxPsf7IWRpMjKNfLN07dSSkjhlVK6+qfyBAuucuikWsmqY6jgiS8daSe - =voHd + hQIMAxK/JaB2/SdtAQ//VbqnkID+k4jUtKcBe3yZ0Wp59g/oqpBjxk/XfVDH8cWf + qUm4lOzoHGvaJXBOtTqaQh1q9oHhKkAdb6gC0+Upo9t1dY1ewPUYlnV/bh1Zqu0Z + 531H7vQL3k5378SnuUmPMZ2oizYd9AF0klGj58blmJAX97df1DHDdUtXXUhl8uVz + BqiMJN3lkC2h2dhgiZyHxMcpFhfcpJ6pkyghVvg7ldnLsvydRIfjQbfqHgLCOq/t + OI0VZoaemOU5n8uESyiFAoQsCNSG8wQVO91MOu9XtUobaBKpi8YS2d3CjIRNALkH + ObSi8OBJ2EDL4xcyBFoRq6QJfi0bTOx1a3RcRpA9gYMz9L3TxWN6F5H6g2oSgyhq + z+jFE42oMMr1afrUyufvIhxfNmweYb15wRtBZMTTTN+GRZUePHet1yCwoYTgcIit + u7bzoNS+BtCbMmfmntXRgB80SlzTT1CofIwXL4gPjBGt0iSwh4nn0rytQSuc8lmY + Wk+JM0Wdgh9v8v6tyiBFOasEkwXuiLevHOnXv3q/tK5mpJsXAT8IMpyTJbuFYxkl + VlpvGyPjweFrbpdZAFuai1kfx+YTsekremyG9gM7ZjMjiOM3Temeu3VwgnmSHmw+ + UyvNk+Hbs8/2b4IW6c6bGLGgz37P77E4njMIZGUCW1IKjAEB978+UDGPMMmNoB3S + XAGM4ogMXRll3TJ0QKwxG88CCUYuJE+TBawBoOZxMLCQWdAiR1rW/HYNWQszvezm + zVx3EYVkci80sY5nobfqDd7w47klBti3+f5yfC1naelCyfPsIquqHMtA+U7e + =i3K9 -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-05-20T02:10:23Z" + - created_at: "2026-07-07T22:14:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf/XZSfNxfryND2BGfBPyJBkNySVUZpRPqWg9hi+7n6oCp0 - FZXUynfrtWLTdFF6A35OsnpdLEVwrQqfuqcrK6OkAYUkV9t50YVw6nAAmETc9faB - BV7RVGJf0OD79LHI/Fl8a+VkkMqG56BoBySQ+2Vb/eh8w0PKbB0oWN4yXBihkXAS - DKjEKf7x4OrTdHKa8GiKxsA9C+P0oo92Ygy98TOXQPb3MSQhWfnCFm+7beXIfInu - EpOtSFM+2X0y70Wz+X2/lw945qm+d+JXjvLpqpE+4U1b8LYuue5ddHzJjYIHK8Br - lQrdanIJw7CAeyKUtq5M63k5CZG2GHMxNGngWUGtm9JcAScF4QdywEzoq2NBf/lF - eP6/u7Kn8MTJ+gFOWxmlT8+VA+rhCp40EccQzbeftNI9ojI2YrYl4Qkb9CzlFXhN - uCtLLlRakB6CQWGaTxxlkN97h55s3A6l1hsF5qc= - =YG2f + hQEMA1QflAioE8i3AQgAuNNo/As0/3bo7DU8/LliUdKkI+58Z2bxREFqdogWnTxg + 913DRwLpd15NsLx1zaSf8eqYnGeHkpDFEFThstxMNpKXPwa0qex5tiv33Wvf1gkU + hH0Volh2HhauWAoBw2vdOqZo0+P1TtVR1i8uTXtCg7SnjdF2Ftg7JWpmL8DkNtl9 + s7DAAG/aPo3h2wGGDCzgWkQHnfR+lC645DZOJ2Dgrmcl6EOC8u5TlrpK4KsU9ivg + J1zQxvm9znExcZHwwOZOnFWRUWBGmBkE4fLKsTsVko3KWmx6mQatVF/wsUW1bFIg + Z2+EkuBPmsvRBhhT7JQGVWkp4NX0RBlDlaBjRGS5B9JcAe0NXVGCq9+ObHZ7ybIO + ZlMvZHikbwhj8HWpK6jC9cIe5CiPdEhLMbesH1Cc8nffXW2HUeMAU/0/AnkzHSEE + ipd39CzvlT7HQHtrTizdydox13MUYFfUZfFvlRY= + =jnhj -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-05-20T02:10:23Z" + - created_at: "2026-07-07T22:14:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAAyLt6nBeCDKG9P76zUoweIw+m0aXbN1XFSIPbaq+ymq3n - /DDhqswh0xF2Ng4mD8uYrFI7CdEyVH2KCJAsa4QRKadryBxNtZqPOsHz5JcVgnlJ - yKnIYWbG7UZKfjAJy6TlpQR79hj7EvCNVQ7i4OYiOSJHxrqrRmAenyP0h6KfjIWA - Csx3y1O4SiE0llGYUO7K6t8p8mvx7nek2rXcL4KMo+4mKWSPaYP6XkBYteRTjfA8 - 07iU1TOmO5Fh5KgtWYkyAcQco71aefG6ub/NjJ9UYpSq6Q/I14DVpC5IrcgxbcRQ - SXAaK8L0iQPQ3mN4lxKokD5FKmr1et51GjRfvmiLCxY9rooB2/Xc2oiCHP8cB4xq - kxxoRUYRItBYzYbXqIYPJ0m8T5o6QQePbj1zfFLfpW33ZFdsRVyOdl5WSis5Y0Su - zA4A75KPlB6lK4qBa3tbWC9lOa35uAEk0NNOV2HNA7BAv5H5AQkoItaYMqElaoVG - PUrhuR7/eC5kRXoqothzv2H5BVGDqgqqj3ctv45hqrR3CylK5M5c8cS1Orfp9NGl - 8WWv55c7bWMW7dj4TOms+O58MwrOBla7C65U2krbsjm0piFoaEyRVgrypV/zR8tX - LIk1jJpNcLkMgVE+8593RlRlpCKbnk2qfqd4AuoDWdLh8Qq9H8lB4s2F4v8g6FbS - XAFw18E38CdoNdj/bjcM7uCOTGAfR+p24k7c4LPP6AcC/FV0QinPGwDiwEdd5a9N - rXyvsFxfSzrF+CJ+B2vefasL7SxDCVkM44dY2BUxOmYxNRmH5g2R73sLKJ7P - =wIGB + hQIMAz5uSgHG2iMJAQ//V5uDlJxHej0+edePUQwy0WK4UOtV5Q4xp/fRrW8y2SKJ + jHAYe2S/W8qcTtvjAz1Vpf7lXAO8Bfu8IjaBuctvs+xZoK9fYi1BUsvPjrguR77g + yVN8rUGwsWFJDP1Yi5wS7vNqcS81YcUc0/4ALQuSgr5DRYusMJs8tZClqcJB+IOl + vrvI1+0H/1E35VW1El1+auWf2wBDfTCdWjCBStW9eGaQ6ooNuqI1ki+p02dEiCHy + WtSFoZVLgEe6BIhseWScfEnfOSO5xgfvG8gsq/sPY81uBDvnZYp3cg7ZaIr7jfcm + k1qh42nEt+I3fKQmXu+WFD79MYVxd9SqR1s5f+Z071KLjcPVXnbhVP/d/2te4rWu + 9CJyxO0FvIwd+ijqd13T4H3e8zOjaP9oSXwAfsyuOFcHtZCgFdUkiDyQ6/WlRlxx + FyefuDqagwBl7tXEjsoYT1ZZKB/fd/rdJiEaCYsfcVgxyZXxiQBVcNTW69UgG8gv + /4ADaNILKRp6PzUcyPd9t4OIV90lyPZbpXOw0LUKbBakpp0ge1KagjhAY3YHblPo + ubtyEDmOhgRRc4pdAg0PXRmYmgPqAGr71qlVN6JttXOF/QnhEt/43tXsQIU3X9lN + h7aw9s2jrtlzikYZd9UBq0eZjDcO6p9HjyQJB8bSlZfQTnfER0OxYgRmcJb2L9fS + XAFGBLxy6n0C4EP32T/lLqOCkfQ3RKi1PcI4KozgtCLSXcbCuIDLl9s/xHG3LyOW + 6uGRG3LsAmFrBVbf6fQh0O4EERjBM1DBdxpuECPGJxqjsmCWXH0kckjx5U9r + =ZjWJ -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-05-20T02:10:23Z" + - created_at: "2026-07-07T22:14:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DsZXvxFXTXoQSAQdAFCMxmEEeH1EbTjXUOYwa3eR8KnSPneB9kueCkfQrnyAw - 4gq47KXBaGPHp0Z8NYWmSFBeaYjCkwo2Ofb+j5/Va36ky+AnSysGIwcUrWMaVa9C - 0lwByKgj1RSU/BsybtP3tyPw1YRqadlp+nR/5agxBYhK7BC/jbhSN8rlkpfycuH5 - 39oQYmE/jRSAIgAfsj77Tfb2WRBAdv/F5u86fO/bgHd+MgPqPU4hCCJi5Q+iPQ== - =dW1/ + hF4DsZXvxFXTXoQSAQdAHGNsY5+ISnGYSlHmBXBqayFgTl7ILhbTdVrCynRsDjQw + UcVUj1P6ZjgfgxS44x4e2blQQTgEIfrmB/8W28d/i60ebMIQEuQC4iiyX8ioDaCs + 0lwBbis/tlst+O2gS5tWCJ97fuAbIF8zrbBUmkxR5C/ojgfrcCa4e4Zqz252bInw + rxxZrSP8Mw+RDqI7baKLKrRDoaRZRFvN6Uj3aHR+yj6ZDdidjU5e5Rnff09uOg== + =Mf4l -----END PGP MESSAGE----- fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - - created_at: "2026-05-20T02:10:23Z" + - created_at: "2026-07-07T22:14:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAYdMU1XTUDpkZslHRIczB801Wxg4+i6AMXuV8ev4/mHcw - xyg+Sisom1gLL0VX8Gd8YYsRTZiDSSpurQNqwXy0Eyx7+WJ8txxo/GFw3ZLMRhI0 - 0lwBSwV8FeBs0tuvTFa4zqWZ9wklzk7lfiDdVV1wc/Q12SznvMes1KZtqUDEbkaG - lYg2b5Cl4xMd+QP9MVcQgibGYw5mx/xZ0oJpiVJ9JBw6MrGBJYChGOqf0eaD6A== - =h0ca + hF4DerEtaFuTeewSAQdA6qEEGHwoDODsqCiBNsSxYW/mr23EYieH89un7j/hox4w + yP08OBYxBVep1/ep77aFnVfHqvPibcDjmC3ee3zEjXcYDnTiUaDWr+nxq6K7wvS6 + 0lwBqfbYxJF43dLtXmK+Wtmxw1fT2/ha1pxogiEGwyF+3M8Dz2plpQSswq/tGYOB + p+Pkb7ULGTT5rmUxBjjtJF0h1RKadMwiHfxshcGYOQ6flvBn9r4dZlLHHVBl+A== + =I+Rk -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-05-20T02:10:23Z" + - created_at: "2026-07-07T22:14:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/9HuQg6KvEarCQfT/piWAuXtufmkCcj5dQK+U3j8ezmRYf - gvXqxd616jO72g94RlwO1MKwH8oukRTzvVe7TdPf0WtcuSVn3qeUY94mOwqscMSp - +GPSoPDqBZ4V4eg15vAAsTK5U2T/tx+5W3k/J0v6O2CM8b/ng8r0eP3MwlJiN02+ - ya7zS2A1OkxME6fa3758P6P7t0VdQRuhK7XA3F/Gv2dDqBEu0z+mFZDg007sR8bw - BNTZKMoamlDDkpv3HZ0qLy5FcocTL+/z/RK3GB4CB09gpznU7iGbM3QTkNVdNS7r - u7qaKuXKY61lIaho2SCgM6miA4h83DfHnxR0Vkcw8oPfENls5lPN8hku+swMFnYK - 9KR9ntk/Beo3RoqS/iIRgLlgHpP09tggdfUhi1gPdhdmTH5E2TIG9v7S4ltKen53 - aLqrNIiHy5S1Nr05Of0g4Ff/OxaI45lmzXAWQ7oVax8DSA+5ubUj1SHmo+zG5fyh - tTAdVh9oyBzX2GlpbWoKCXKPEhlu2pH75w/WfZLZYtjh927Mog+d+PAK24Kiz3N5 - cTd5EETuZC/nBku3WWN6y+gbfUpIJMFTtLKdNY++ebWaqfK9aZ1I0Q1g2pfZXDb2 - X1bzMdDdGAaCFNW9KWx4woB6FZEQvDLEKvxqZ0G+4DcfNj83sGOqE5oguLJhPyTS - XAH9x6T+VjGRFT0rN2MUMl4n+z5K9ZWA4OJcC2PGi5VGlVyK48hD0B+ygP6GBwKP - 2LJeG7ANB9eNeGsHmxEE804DdcuuEL8wtEomKU+14Qp4sFwXJEn0zqmgOPd+ - =DxEt + hQIMAxjNhCKPP69fAQ//exw+ncdkKqlY35AxDJUclAoN/QYhpjX4GiQkO7v8/HFB + T9h2VNBQNX4oDbYosQWI1Q5f7DDnCeWyJl3sDFcxh2DzL4neR28p4xb5MNT3rO0J + IrGIPVx+abib+f0T4RzcL+QLZb8ou1/odzGVMLoNq5q5SHOuskDODg2SGjXRSI2H + yqRGVG+N5D3JVoo/waiCA1CtUpIhStjeGNKbtLfM7LY4jshmU5n9MZEDF+7GMl8R + 7dhodAgWcGM1Fqyi/xDaryKgP60Tu8mFufmlcDGJiXR9BOmMo2z2JDBhVGU+LeIH + Favb7qJVwRLJKcFRPdIRJFHaq5eOLEVhRm83Uk06K0MpxLZNC4jiXQKVEPjEdcZ8 + CfEQ/x462LtI9Z5ArfF9H56gMSFpT7t+yPEKXAllY1K0E1mCy2m9NzkzjSHx6y+k + dAsL4xkIbw6Q+Zkaaes3GQ9TkR7vxx7RMk1BXjQp2vjkkeu73EYnHU26XyrL4xJi + slVkxCvbEORr9ju/I8Ysxsva3Bgz067v7q83LOl09kKen1VB5/9Cgxjt2W0xOBUn + WtxLorWU0mHm9BB5WtTQy+KnqLN0s2SeSyT2SPMRXZKF3T+Wwf/Azoc6vrB7m9Th + WnQVbpwooys5/Y8jZYat534b2jiUh2JeYB6lFSp3C2i7JsKxGSxND/DVSJ60vH7S + XAHSLkAKOu5hgnUAIxdCghjAIUx7MHeFAcb8S1QiFXenqUI8OWaZ/bI4RHQuBoZV + aC6dAObpp79LnuoCNCUEhgR9APh37mvSnKnqk8x3R+hIxTl0PtL1eyYpRsZS + =lMvc -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-05-20T02:10:23Z" + - created_at: "2026-07-07T22:14:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ//VgmB8grK7tmBerMubQu9x9/ig086RG5IjAq+NqDZlwVu - fnRRhTb97/js/JdIXn+to0/pGwk2vzI2rWhcX9cLbRXVWqiLlWdDkpQwh0hAkHPD - U9CBm03TBJbsf6t9rA4ec+UGuMHBwKymw19c3TQpUtwtMxQpwUWsQemoCrzyayfD - ZhzVBL9skq0rGk2WQ3Z+qolGcFPokwwmh4Lu7gDOJyHUJYQdDXlZfbeNMv1/Mq/6 - atWzd9WrEpO3un7yu5wNzcUYtrCJuMEqRpwxf3fz1jNim6fYkmj7EMZcvZAEOU0v - qn+wBLVe5y19/W1KxLQ2hkUMhxsPHztOnvsYUNAiVNTfmCRlQlBZ+HvayNzMd81L - YIULOV5p7UnhOlPQhjwuX2LCOzkDRl4MKrbC4XNLYFwphPAn0v8SJ5mcb6a3w/5N - Zn4pzJX0+lT3D6Hv6231TVx5/AvtGYPs4YToM7drjl8pK8e1UHSdWxpiSJ87REvh - XyeEhvUoJkVhMc4pKWIMvlk5MkW0jDVCIiY41qnPh3CIF7NOOZiN5YpkPtl6kFJA - GkxS2bcLmuX/OnYkF3nsC77toEp0ffb95AyfGkcHIypN/bEE9P4DXIo98TZJCIXN - nq4HeDZVV9WmRQfpwEbYuGqxfTpM6LGl3KhXj+LJnktpMyYoEyX1bc5fB8cYDzXS - XAHhVdt5/wjsKTv/W8Nv+taOK2R+AD1QY5h2Bl97e3UoR0Ug3VdjPoLwZ/gFV/dO - ac1FMQhoA7P3Nlza1t+cSY8LvbiU30zurJtl/46JGreFseVpe0zjOKPMFutE - =2UZs + hQIMA46L6MuPqfJqARAAhPGILMoc6wjvefVN6MY1wrTnc5cghbic3mQl/81Td33a + 1vb0u2E3mU942KLI4a5/DL0FHsCOsuaO+HPgf5zPViGGrkAP+ze6Zll5SmMCu81U + /GIEZq9gkhy2mmtJ1OVSGVz7nG8Yvd4LYHaklAbveJnpj7+voR/mztZd5i7t5ISB + HTren/1TV52ZzUV9vaESugzd/Fb1iVnxvZDbuYjIpCpeGEwAvZ/UfFI9vbXUkugT + krbHRJfq7UPE9S46QVrtfZ2BBOo22U6+3gCzQtNZ5VySTrEksaP+PMl0V7OG+4+z + ih6NRN+4lZMeMvUZITz/kP8nvU6xuOXZ+ueRBi3SOySB3MH9txsA/avin4i3/JH/ + +axLWdkiGzvdWpHIKdtGh6knQWHKMjbkHyu09ml6YLsSdFWPtfOpOwtBI8WumWqY + S7qepU9X9Rd4c0152R1nSO05U4dhlnOxt84e8vLdOd+/tMZdCl2iEnWcHyvsI+6C + Rt7AIVrwumf5LYtxyJWQzBIcR6AajKv8OhzV39kGVFxuUue6RdJlXVjynZF3Zcp4 + 7MbEBjWZwvyTZYGF/tmvy3piNlhMvbFR4thJDZFbz7OD4Szva1XQhDmMYMO/B337 + I+vd/iG3rV+K1uZa14nCUn5tPc7ykGnuBMr2swTdvu8MUts18CEGml3rv3ox46nS + XAG3Gx179+MRrb0PppuXr6lNLtBqja/Zr90MM41bpIjzK7/iYYeX2i8DZfcymfQP + cn+KZK3Krk3R6TIn1dJP5UuKsb7WWsZVBXXsiUtixBH90Ygtoju+g1JIzDAu + =ZQbw -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-05-20T02:10:23Z" + - created_at: "2026-07-07T22:14:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdAOVINvFeDv9ENq+KtuvoKb+CBxyMbcKUWlBtOZLV/Xx0w - GXeCnAwIAB99wxr4ewLrFq34yabVnNfJYB9uD4zcIgevZAnB1Tji3FGMll0gGryq - 0lwBa3Pm/dn0ypFFcNW9xksgwE2oCaGLZq/D+bJtW6UJC5tBZm3Y+MbqiwKljJk+ - lmzzX4rlSnx4jCma8peyAb8RNqpMO/ezo1jgNyGZpsjIGvQ2i1n4YHi0VqEUEA== - =JMjm + hF4DQrf1tCqiJxoSAQdA0t7VkYBD9+Z0hwHrW0OvjyminASVE/BrCcOD6i3t/3Ew + cKKiH6zB7qmCNElnd9lfGWCZ++67afh59mq4/MUH/bWzdE00TPqF7l5DhqdYOEkI + 0lwB5QrtYGtWddT1n2xiTSELkQY6EgwB96CXS7IEqCL4ab9J2mlM/NGo7Nq/UoKd + EzyZGlTbEiOvBnaP9razjSYWMVNlTAew7q5fTNXFyI3iXTbRumsxV58XC9DviQ== + =13df -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-05-20T02:10:23Z" + - created_at: "2026-07-07T22:14:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAVm9Q6YBrTtT6g6yuAa06+nPtYICDNtrxUgjNCcOkJ2cw - Pi/c9CTwfEiU2iWzYygpCslJxs3UouBu5nxzCFTQRImltBjVQymDwaXvS99HU2sm - 0lYBG9hfZH8Icjo9n4MlbnbC5WBLRooyQJWDnFpZ85n9C7vLY2AH2a/IqnRiwB69 - ufWmB/r3Z2Brez/XvJdWJFCybuShL+Wyr+v5uelxI1u4ztNxmKeqXw== - =9vzq + hF4DzAGzViGx4qcSAQdAs6OThibGPTtEdwj47cmmpL0vqA2NYrxbWzBILN6oex0w + LFQ37sijoSOWkTppVZPWZnDfF76A31ZrOrXqZJCzBGX6MjaHl9qSUX8Ew/318fKx + 0lYB7b7sU1scA6spas2j21e7hu8fBRWu0b+bNto10762aesfjOEAYtSBgd88PDbF + 0mEbs+9MFGkGeBVFg1HczJsR3KyvM+MMzsH+hQfg4Le9NoiQ7tB++w== + =W83v -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-05-20T02:10:23Z" + - created_at: "2026-07-07T22:14:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ/9FNudV+zztNHNUBER8At2+bo1n6W+fbF5bTSbudOXGbvV - rdSTWxFuslVh5kzXJYP2a+iYh/o815lzQuVtn+PmKuWCzLEYB0VmkbeM9YBEOxKu - R6uVUbI8xOLFLLErR5E1d1l4p2KRqEEfc9m3tzDa+i3PVOCYhD6qTuKhb6ImDIE8 - 3MqbXRnBBWgK14IivA5ouGJfeHbsYmeWjt9y5gy25T++Mdq9aPoHjjQ4P38eDT5W - 5lK0KcoAPAsrGkjzIgF6NBQr/Ut54RuHdjaBST2tyHP0db9fHwQZj7vfylHJfj6h - yi7rdjX9Ldppw2dnatVKlmpQATS8lLX1vAkipa2H/8kz3oYOJNPf23+8AfyhMs/X - XTXkC8Zw2Auz71TxFcdUXrO3Z9/BgsaS3Ec1TRqfzKbwficT8QP9est79XDxF7WM - 7WXTvCQJVofRquCWR+1h1EwSTiMRGRNV/Uag4hJI6OUwBN2fKbVS94S1jNkxCOX/ - DIHhijMVXvfNWPOkTjuaeXJPem/XwjjCVif2+gPbjYhuXySrlYJVQOrKzPROYIZ/ - uDKqhGZOE0Ng4xNyD/KZTBsoJVeY9xI1IBfMh1c4QA6vJNqU1vQW5pnyFr+N0srQ - kEGBc9dwNom2BjanosbnRORW6+r6BwwI1uPOQPlYUpumHM4o9jGu4bbBSPewOxLS - XAFBjjWtkZS+WP692phQxnXz8+gLc0RXD0UZ9+Gyho+X7/R8BV0x/zDoUgfVwOnY - OZeyd9YDL8JkL+K6EZgS9u+E1XCbRkbVVES06QNVxYHnEO5VbU9YuG29KZ14 - =nF2L + hQIMA2pVdGTIrZI+AQ/5AbMQlNWfcfRPPN139Rn4J8d+2tC4ict5PsauE388LLx8 + BDycTpjR3nyp+Jg95PEuP5WBngofjwHrn6b0u//T6wqAgNIYFbZRQzOzjRI2Ipgk + 201sV5YLK8P/TfYo8I032r9PIlc6xK9kR6OCjVrgfTPveNrNDstPvrlZHWe6RLuu + kVPInCHKWXppL9noE8r1OUpRPe5cXNlAWULrFE9MoxwEnn9GPRqj5HK2dpOM1Jvy + kEo+XNoqGK2ZBRoONRJwQ03FF/LeorDlEHS6RMuCgJxNHzX+JacJJOAH8f1bRRcd + 4dKvRZGLI472d04sPz8QtGl9LCBk6CwjLSSiuQI2r1vf00HSx/zDWRGKNJyjzyfr + 1eGZRjZdbEBQqyP738jfSGbHNkH/Io+uVlUTYXrifPBdc6rAACu7ExVkc6/+Zq7e + EdVv95GXUfvll+k4OSH9/zqF5io5OT5e2wei6KEghm0ZxaWcEtJn97WAQDM0TY4Y + TsfPoPagFRTbBWtw6oMy6POV+g+efjxPsg2KuY/ovsJ0/vbsW5DlC/t8/DLKyPgT + CerSNLwr7EzmUfMUZD55PBMIu1rCja+UJ3mrXTYUhPr0G2NPBynl3O+BnVQl8iTC + 19H5aH/TZOxPqhPWzjXRCpxVLSUd2VTN3myfslfQfO3NXt43OS79wnoet43ezuHS + XAHzLeUz6Zs8YD2YpYwbAPlarFRN6S4s5WhMY3/YPsLsrWN9eH42KuYpvLDemRyn + dJG5YT+0dOE4ZQxz5Lwc+xKPFrbBKHbak5pykDO+Q4LS7Eesog1NEQ8So3k4 + =HMER -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-05-20T02:10:23Z" + - created_at: "2026-07-07T22:14:48Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdA4IyNdJ9IPWLBxwtMROgj+/ZlnMLCdnjXBMmtyrkRxFcw - JLp+UagV5UWX1KhddjhiAHbAa5OrIQsBZrJ75XIObCzlVMmj07CtUpYgLNsTiLVS - 0lwBrQz/Ogp01HETxMoMuGc6VdNvYBrRFZE94pK/KsMP3DAca2MXGokc0hOnk4WT - /mNoOxwCE8ph7H2T//TM0lS5DO1S6ytRxm6wrT7jLu1qkMm9EjW73Nr7Mb6HDg== - =9XH1 + hF4DKKbvh61jX5USAQdANgMJk05gSevKHsZ2rKCnIvo7E/8a580pWclaJA+kWRYw + PE//9dr/VKmnZhWCLwSDM54NnIMgfMwxr6POS4wibOLExW+nvm38ZcKyQQJlRHrg + 0lwBfTonVmBXBQuVieavjwu0rTn5msed8esmOKrC0mzpmu8juFijhzPMelW8z7Rj + uW0zM32lrpoRvASz3Oa0dS1dbN/vjYXGhP1wIwnpTZbsOzxPPsmkBPyegoHaaA== + =hfXP -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/forgejo-runner-external.sops.yaml b/inventories/chaosknoten/host_vars/forgejo-runner-external.sops.yaml new file mode 100644 index 0000000000..9c05b127f2 --- /dev/null +++ b/inventories/chaosknoten/host_vars/forgejo-runner-external.sops.yaml @@ -0,0 +1,218 @@ +ansible_pull__age_private_key: ENC[AES256_GCM,data:moFPOIyQyFs7Js0sNjlV2Qdr24DdEYJsngDNqsiVJEIiu8mJS9qE9xdXozUympR99NF/dOgcsiBXmSSb4Bhv99OKZp8Kfto/s4eUSx4=,iv:biRudbCF5mdXnXim1p2N+5w9F0z3M9titSVBNJmDXwM=,tag:ESOBA5urjeLdUvTkUyDDOw==,type:str] +sops: + age: + - enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IG1sa2VtNzY4eDI1NTE5IElJdEwzbTdB + dkRDR0NsY2sxNm40aXcxTFVGYVNZQ1QvZXhLK0dWcVR1eGJHZDV2UjQ1M0tmY3ZO + NWdCTUFVNGZRcXI4SjJzN3c0OURKcUc2RVI2VW84dUFrY2gyQVVVZ0ZncUxrZkZ0 + WkhtcmRwUHc1K3JaNjVHQ0VOYVpKejJWNXV2SzlKS0lnOTcvNkg1am56RUdkS056 + dnRtL3lSSEVRMmg2cGJKcjhZRTRoVm1jbVFZeE00VUd2dTlBWXZVZmw2VE5DdEtj + eHRucXZHYzgzcVFJQ25iT0h5WjF1bEI0Zm90dEtTRWU3ejRmaXI1SGtQK0tsY0Vy + T1NCU0FrbG1Eam1FMktQWndDckxqOGErTXU3UjRJM01HbkEzKy8zWC9Ld2lldUhV + MVhIM25rN0tpNGp4T3FITU5MVUhjclM0S0ZTaVVrR2hOanB2YVZWdS9TYU1ESUgv + SVd2ZmJkS3grYmRCaUZrN2xvS2xnZlhiclRoVEFOaHB1RE9WT2pwLzJKbW1XYlF4 + TStkbk9HRXNjczNDMThUM0xXelRGcmdwRGxaNThjbE1Td291bmo4TjVEZ0dWSWNK + SStBZTlISGNlU0Fib3dmTTJyMDZaNGZYVG13ZWlMWXpuUEFQQjBUa0VJc2ZhQjZV + bktYdCtKYm1QVXJaL3JvOFlDSDgzNG1EakpsMkcvSFg5anV4Tk5GcHl1S2hWRnFW + NjFFVjJMM0xMYTVRTks0UUR2ZWZuYXlDcElidURTQmVFalB2WHNWd0JnN01XajVN + SUs3dWZSTUhZZk40NXNEdk9KM3RrNHYwL3pyRzg4eXVuMDRVR3JHNWMyTVE0QVRD + dHFzTEJxMmJUMmNrQjRKMjJRVVZGdWV5bnc2TTFCbHBleEtBVFk3dFQ4cGhlaEU4 + eG5KN0VBRVAzKzFqb21QWEZhVlNENVBDRkVoT3F1c1ozalpyM0RDQzQxc0pRaWVh + bzd0ajJobVV4bDllT2hDRTViQ05wMktXSzRReUE1LzRkMWU5VFIvWU4yT0QxY1NF + SjZaRzZOU2VVUnlNWklkRHlTNy9oc2ZyczdkVSs4MUx1ay9xMTE2WjkzNDlybGN5 + YS9KUHNiek0xMXQrekk2b21hK2U0UGEyc2YrRE5jdmZDT2JIVkVpeEpEMnlZYWJO + RFM3SVFwanJEcmpZNnI4UGV6KzFHKzluNUN6KzRLRlBBRFpoUVFJdHpFMVBUdy9l + R2R0VTg2QTJRNk9xZmZ2Rk9mSGwyaW1NVElraUVJOHlaT2NNMlNNaGtpc3FVQzQx + RkdkMEpoYjZsYzk0bUU4c3lpREJaZHV2NlBqWjNzL2ZNZmljazdCZzRlZWxmR1VN + eFlnQWlVbnhza01ZdVZRR01jelJZWEx1NExXbkVKVUthZndtVjI2TzFDdDZpbzUx + ZGlLSHJCV3BGakdlUENBZDRDUzdRTW1DSnk0TkYvdy9SY2FjcVB3TDJZc2c0cFBP + bGFTZEhkOTM1ME9vdmZ0YjA0SlR2ZXlwZE0wKzJQbFc3M1ZOUEh6OVVsM3AxS01E + U0tid2dHMmZnV3NGaUpISHBVTHU4THZSejVUTkN3dk01Y1RMUG5KTkxvQlV4eTVw + c0VGYlRGbHZQRkRnR2YreS9XVmVBbHB4V2llNTlybVVlcy9XRzB2aFZLYzJobGN5 + Ym1TRHo0WVJjaHpsTkRuWUN4cURjcmw2ZEZBdXZYWE1rZ2Y0SDU1K3JML3ZDeGJJ + NDhka1lHN1lKWkVIbWwxd2VWWXc5ZTZiTFBCTGtITnYxZVF6WjBOQUhrTFhXWm5E + a2xCZ1ptVWN4dkF5am85bGovMHU4NHcxczMrR3ZiSU9lRUZRNkpIVGRJaGZ6c1JO + Tmk4QysydGJISDVzNHRiMnJXczFXUzFqRjVCTGRkNnBIS3h4Z01yeHlHODJxRzZj + d21zMlljOThZTUQzdGsweE5wSDlRNlFPelp3dHZFd045K1ZOVWd3YTBrUHFBUQpt + dWdxc0lxK0JqOE1lMTMxb3AvOGcxd3Q2VHdtaGtHMW5FZDl0VERZenhjCi0tLSBL + a0s2Rm9SektBejY2bDR0aHFvekQ1MXk4ZVJ6ZzZLNFljN2g0QXQwM1o4CsinD2qM + T72KtziBIb8L/An7xABTWPsNSKfp2n6ypnqy0XZ65jEZ0Xe8B2my6PDk7vihbLAi + 1U7Q2Eo+C+Xq7OM= + -----END AGE ENCRYPTED FILE----- + recipient: age1pq1jqrcp3te50xugmv5wst3s9ahj0d38rfktxt43wlcqz7vnwyn3y2h7kyfr6rckrvmuk9m7yvp4efjnfsuxx6d8r9gn222r2eal5593arywrjwrgeypf745wyuvf3z2xk9tm5fgnwckftuvdggk66fph59rw69nt5dpjeewuww4vzt9gs4xelre952s7zjz56qv8tvesg2c89sp8rmy9dvhwfd6tucjhs6sjr6yp2njjra2u6w7c7f0sch3rwkw3wf2dc9su9aaa9q2f22sh5yf0fqejxa2qqpq4pg752589st5xsa5g8tpkjglj4tn35gd4hjj0xet9cjwhydmkmmkffy3nr8zdtctqu6pqsyf7aphvktryez39ru3qe7m6nvr465ffxr0ltvr85nddzxvcwpwpac64nu5tdfrxgjfqzc99vr3zxv8carpsw5evmruqlvrq6v6a4m2cwsz5gqw7nyk3jlj75kp5cnafzjn5dyrf8ppfhp5g5s34zsl7pejmmx2uuudjt7ru2y7as9mtagykrgqgt80fvp3eeh4gsmmd3ujgtp0ranq28aq9x0xdekqh49pfhhprjj6zqdfac5gxtjj736kh5jktc4ls4mjs3p33rzt6ze54uqsfept3qhua2pmugypup6hm6j2ek5sgxjnwvqyfj2l8vz4yfgkaxf699v7jqlwf7g68ang5kzqrjsu78lyardm4zen8zhrr24j334qdgs4zr8dhsfsnmvx9cdvu0swx27tcz8txs46zds9kekgmua7w7fnw3l2lf6zla956ssycac4zjy87rawr4thusxtcqgfzfzh2za9np0s34e5dwkp2l2k06cq09myxqfe7ze6a53d8sl5j43qcekh6kfvl9k0t7903q99pc35630zwm3hwxgnw354du5gngnz56skq9zx3pcnkr5eyh8r8t0dqudmvrrwmxreu6tgrklxw7yvu3zkjgt3gyjhc8kqcrevlukay45sz4k9zqxx9yrs88hzt4h52r2g74alf3cedes3atufy06q4lfq3nxdlnve0kqcwstzr6z6u7fqpqvacezdrr62ycteju6dqawkpthu0drtlxj547htfjcsnrmhgvhskwtuhk6yp7wp30p7qc5vkk8fegg6qx5kc9xs4trx7hj9xgydu7vd30hkceuxsczywjs9v2fl3svkwfypg62882yq6ltv7gfj4ajuy8ezd76g0z7juwspe7q6zs5ceshd6038tvvh2nlpjty6rg6a9qfzhgmjx9s6hynyk7xnq9zra6hxstg8p58x75hapd2mk6rapfunlnnkz5dsxjf4ud4dsvgjfjpzxcdy7sp8dzxtengrsdyu4824mqlw8p63d7m2z4mcyme4tm2qkugtdgrkyphe7akk2geukf6xkfkzd2pkdq5s3qm9fkvfkgrv6yw5kdgjak8xcgesg6tumans4fs8yrxtqlvv2z3emdvwchrjfq4xpzsj27yt4gdg8pknwz9tqpjkjxq6lysutrvwkvt2fwyj8wvv8wtmdl6fk6rsd9kq9a6wkhuq7vvrgwgj3xg2s229sprj4g2vzhy2dfesrp403gs64jqkrjuezwm4zd6uw2x4e2qkj8xqcf7c0zprdzu959x23u878vqqetgpjwt0z3kedt8l6dgpm0rf5dmrya5h3wgzfa0jjvgjphyxgxrwlrzpv4czgal933zs64tn90ks66ejjdaw4t67sch8r3q0kljeqnpdgmw0cpj6arc6k46wcqaccygczy76zt9362vslakvzqqv33tv3sjldp6qxprharmpm9uykgpx66343wuur5xj2aw0rgutpm4ztjzycn3a8d2jq2zpdzwmevezm7mkp9dmndkc3qz0kklgkxq9yehrk5ayfly97umhws0jll8qqg0r7gzxgw5vv76 + lastmodified: "2026-07-07T22:15:31Z" + mac: ENC[AES256_GCM,data:CrH4s1yeMfK52Ltl2mnECvC+bzcedGX4FKV49shX4agp4xB3cNaIvp8++qjmJaJMMcC1Ab4ZGEMBniyRoS/e4tJwSZ0zos+MIwgEHLxP/tCrsxdSsrSobQuuFj1bOvTYO9USZ706tGOG64tpJSM5WpR0FZ98kPRxiQyY0TNiXWk=,iv:JyZB2ko+tJLw9TM0ozXh7r4j4i2eUz18QGjvxVCxOPo=,tag:7fsnFkGV608dscAAoc/nFg==,type:str] + pgp: + - created_at: "2026-07-07T22:15:14Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxK/JaB2/SdtARAAlBL/0MsCmwYp6yV/9kMP5+zlMd+RA5wqX9t7EYhHHEoa + klhscRh7m/417PHAyPKoFY/6z4AajhssiaLS5pJ5nRYT52EEjHqGKCaUREKKqeA4 + DbTfTwWoVre+Fs8ukT+/rE5el/w0O0vX6/G2dGXZH8VgvXW2CpYKFmm3gqVWM97d + Boma+FBZ9QV3E9GUwCG1oYdpdWAE73MCy0poXkclWHwDNFgxh930GjlSry3aB3i/ + EprRQZ5VAN/aaWznr7eewpITVkWTDCtjeXLbgLhk56Fday5VOSMWRhsiDLOEc7c/ + h8YxDMwtUrlRZdAy4uXt1O9oPBKAalZ1XU6Fi89mA30jh865RkPL1306G4qAv8xp + qS2NQ5c8ZgQ2ZmRWgtBUae/zcRl31Wi5SpUUWAC8iHYYOECo+21fHGpipGBEjTTK + bWuIyjq9mzJsIGCPkV7+jgIxQ/HSh2ZboHF8cVJA9OXXsNhMIiip39fzjpPHdgBS + 6/g48mzcmnaWX1VEJBmR4BnEcnPQTOlZuXSldnl/RMLCntONBRhDUk3kn0gfvbO2 + VRXjwUTgHTHb2+gfOiAloqvugOsCnuO5tUF7JUae+cPYBaP6hzvc/8rQ6181nq7W + 039OmzD6sT3ixZap3qv3KkfCP2Xurg/OXxDadxRToBP/N6V2+yge0rtBUV94fYzS + XgEFrlQ/wSncX6szebjJXXBWHeAIXSW5wRjJkfzmUFexb6M3/oRKIADZ7Q5o8VQD + w1ijdz2dPoDtGfqwu3kUU7q2fls8hAFeC1muANnz/dMoZZTFzu+OdHvQLn7knZs= + =FzvD + -----END PGP MESSAGE----- + fp: EF643F59E008414882232C78FFA8331EEB7D6B70 + - created_at: "2026-07-07T22:15:14Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQEMA1QflAioE8i3AQgAl7ei2+TDXC7Nu7hxpC02oVrL6I94x0z97nR/K14QELwr + zuwV4LBIlkBcALKtpU70ywvaqfraSEnbax1CXtTVdYojnZ22NO0FmetnNFCr5zT1 + YFyMMsgsGx/+RVkhe+hPv7Jm7zHAusHwyip9q+ZcvMKuVmjBV06QmGPkd9gFKS98 + EHQbwUhC7rrySo7ctHT3/8YSzV98zJZHh/VFmEDWRO6zNfMmsQV+IkX2IXqxvsK7 + CS/c+ugKLDHXYKJMVmqvNuyVr7mzsE0cBuuETEGawBZwk4jXzJxQY4yHlshuyQjk + PkdSlH3UUArwurhvZvjWyywRNT/EI3Q2ylBujsD2edJeAeCMOGuP2pLt8fuJcT7g + Cvqrk4jrfqwNrGWblD0Z5o6FlrPXfKDIRIEmgTQHgxplTCqcCqc61l1iEcbuITtq + giFCUZlN2GCG2d/C5opDG+p0dBGcDxq5lQ4KkJ+NSw== + =dCrs + -----END PGP MESSAGE----- + fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 + - created_at: "2026-07-07T22:15:14Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAz5uSgHG2iMJARAAy5wBkzFMf7HhDMBLdmBOPAYcxtDI6KTfvFejY+/26rnD + s8UZX6H25b38vwvsWhc6Qx0+T6imo/qNTgvqaMaL51kJk8hrzFLI7W0iTOMDo0ow + XWUJlv4qA9XSXCNBEvSOfffFYnZ5c1wJp1KiHfbye1yfF40w3kXD21LcogTKjEdF + EOzkIn6KVXfqJXuXVy1d2YdT1dZKguUEoMY+IAT+Blvhm/mbLDlRyX2ibGOSQRaX + pM+/Vy30ioEvCvbka00sycLIkhMpUTHUG2+OGuNxJZPv9lq9FpAaoO1cgJk0NWLa + Q5hzPoEGxA4SPE9SajXLE8IqSop/VI4rcPPxi/JDn/EDUpCGcSJxJV1GVHfs/xvy + +kHcl13Mm42es24008WwxOnGVCJKvWJLPozT29JrGmMqKZN0NYfSAHFUzILBkrIw + Lbukx4E2KVM7aGxm9qJtnc1SIK8WeVgDCnBd1ktzB6IZk2iq5xbLxW9XQ6O7bVSd + Ie0c+vaG9tNIvK0y6bCLwcT1C/8PaEvCvmGhuPVOWq/1bzHoNA6jxyEJEQZqTRlZ + uUgE0wkpuYw8884bnicrRgOZ7UmK/r7WCGs2zLBq+lXkGSCLvnZWuc7rtiPtVtUX + 1uizEERC8Slj7ovt9L7sG6YabCfUPpSevcw4ZFJuPLpotOWt29ES0lO2zLJmxmDS + XgFdSep/pNxa+lXtOF1lG5Y311tIe2bhY+/QBXCXEsl6CCkiMIAXHrflKEawYKkH + /+9Fix86UW9TcQFjC3f0mekxa5OjhtBoVY8y4IqysC+H5neOo7uBBLgTyPiZ9H0= + =1QTh + -----END PGP MESSAGE----- + fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 + - created_at: "2026-07-07T22:15:14Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DsZXvxFXTXoQSAQdAmFbXjxmh1e91bblV7z0ixYgcdsXbNe8OcfCtNuRv+WYw + 8xK7cUl9GEcCpCD9BKVD+bQlcW8SwSKwTzQipZzKJdHtJ0OTf4ytTu3axKCOBC2r + 0l4BMtZZP4eZAutf2JwFEZgNHRBaSniLVBFHgR3YwQnRH11ofqeq4pp8+jHJhV8s + SA2SE8Ph4i9/MSI6dfmZzPCwiitG+/zHb9/68kgYml9NKpIUAHoKbY38GiMy9xow + =KMco + -----END PGP MESSAGE----- + fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE + - created_at: "2026-07-07T22:15:14Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DerEtaFuTeewSAQdAj+DsoGtl/2lhiGDkDO75FxS4fJiSRWSX+PJJvpVroSMw + 1e9Z6W8eM70OUxXbPc6ZTQADBbWUylmBzr8effZ/j1Tztl7T5GUEHfXdub+9ZZ03 + 0l4B8f+kLl2T6DsmFB5VXIe3WFShVrJAH7qG1Ig1YTO7x7JnuD6/hS8ku/qCt3RX + MBAhv5wm9QpvtZMONFVWZR9ItqUW7jXGPseXzc7OfbZp5VI2grCLKCML7vjrc7bl + =NVUO + -----END PGP MESSAGE----- + fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 + - created_at: "2026-07-07T22:15:14Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxjNhCKPP69fAQ/+POtJNVm+mKYT0ghdjM8p1w0yIuRKw8xsGJ0ux7ngRZUB + nAJKI3iPFuSLxTMIuGptE0UCiY59V4C8io2L850CGdYoFMPgE9XblBUmUzeRE/ab + JzzWgjfmxEWJhupKM3QMeHVvpI/BL30/cCFpLfcDfRi5AEJ+TvRcg0e2FSg8VaiN + cUr8A5dgX7KfrBwv+9G6N6n5Dn/LTayjo4Pox7PCvWHqJDVfisWiJQCvdT5Pj5+0 + W59A5C3gt9vdDiBJ5N68CiduGUQ6r3m353QrebvnOo6SJNWW1z6GtXN0+WeT2uc9 + nIzOqXVC3bQOFF31cnX98U8gHau2//1Xg4QZkQUyrZxLG4jufP7qD4sE/Huk7e3e + KonzLo9KDQBMxjrqDT5KAcD2Vb75MCwPpLkWID23lHhPQ6dpRroBKslqU9X5TW4x + M3V5UC09XSVMZccOjChqOL/lE1BTjWDhtUMey9IJ8ob/xNpbmHTEpGUZcA4yteme + y5KmyYEOFhALgNUAepsqr22YH9+mGAAdVoXKcsSMx7ilNWaxY3Zsquum4kyWnuyI + hJtgyb+se1Zj4KqfbSg41faN8k9FQHLYlBpdhYwWpNf6mUJtF84u+BP0NtG58s1J + 9iSVwg9g1RjVj9NVr0vhi0LWxGCKOdE0xZj0bkpd3a6OnhVKiil0u/ZwwwyZxCXS + XgF+dZtHIg12bB3kwQWkvlHRRdlWWWjTrzQFm6fxZ9ln+ZwwrzivSW7P5Iel2dqx + 8gryMssJZYA0B85OKH4tzsxLDvTlJDcdPTneYRTkK+Rhr184PWcFJlwshAvK6sA= + =cTSV + -----END PGP MESSAGE----- + fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 + - created_at: "2026-07-07T22:15:14Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA46L6MuPqfJqAQ/+MgoNL2xv83PWouyvSxy3oK8W5Ktt3PgRishl6SIUtPu9 + 5787cU+8I5z6WOKJg40BBlsZH4FD9w/ej0HzRJEfWnm4Oy7rAAWyeXHvh2KudxXc + 2hHSHpaRS/hbO9LPgCFZ0fh77nCKigd05Oqav4pbQusbiE40A6Oz0F7Fu/da8jXZ + 4AWeFE6e1s6IAinwGWqU/Mig+h4dLipsjUBN64unS9NXD25Tmg8WcNFl4VH4W9zw + fuszZd8cro7pu/GLIqtUotf8MHSnF3XoZcWOmleiApMJlpTmeCIuWQEn2DCMziM3 + LHzmI5s4y8pZOFSgR+ozszPVPHOhdCDdpTV5mNw8njljEIm/BjYbhaL6EXUaoWuU + 1G1T4CYvCl0GHFRNxpJonigH9vLPKK8H7/c2+FTKkMJNjcjRf9xWUJm9CCShFyAJ + k+19quPL0lHRz+vh1EEqUPuCLDSDvEPkNM5ZKkq2PV4Un6nml+OqLLUWuxWiEzFd + Zmu/+ww7GL7msxgfdIuBm5tqxG03pl4QE5aZDDQYBLYiXXok+3dP3ZTXKLU/iwsw + hdjecaQymqHSTNKN/0cFW+08sKKjlI1dpTsEKC0KtUATwOnc9c/f3Z5cTl78a2Gd + a5Oib9N/yZ9Ec8EWNAQZvZlVvnvirujb7iu5g66T5PVAmi3vvJXTV5ZekEmXb0HS + XgHoo0biVdvjLVlqA8BOkVpNCnMhsNC0ccoW3QK7+H4Yl2ytaDk/fXF/fsc3ZFwu + Xg1M+CmsoRA3BgtLsLpjc9ibH1zw9P4pYJGq90PC8Qp5uq2C7KU3UgS5Y5c1WiA= + =Uk6Y + -----END PGP MESSAGE----- + fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A + - created_at: "2026-07-07T22:15:14Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DQrf1tCqiJxoSAQdAInOGTOBg8qS9hDUqOJwNiu68zpxikVgCH2X+tW7ImzMw + yApo0haLTfw5xlQte7aMIPmZtxM94bzoPaU0i5hXpql7s8Wn8cfrjosceh/xu1Qu + 0l4Bu0YljO9Ehx/5SlxhP/mhC/tGigmKy4z1hLdUuUTSSBmZ/DejYRjL+nGI1riZ + K3A9fHW6hztj0kELKiguR9rYVvxpny7/NX/3Dze1NlwHcTSKT5l6yDiwCpd/8Qi+ + =mAcm + -----END PGP MESSAGE----- + fp: B71138A6A8964A3C3B8899857B4F70C356765BAB + - created_at: "2026-07-07T22:15:14Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DzAGzViGx4qcSAQdAN3UbYHJEWKRYalqraIlAc3wSgTzzAZbht6TIncNOg1Aw + kIgZ1xlQiKE7hJ1piZZx8ZMNZHy3BSgbxZ+a/ieknyULAw8GZsOzo8LDrLA4SJgL + 0lgBWDTbNIM0hkouonaZZSuefuU0k7fcqFFtHXw4jkFNfi+jimx11LpGsRbTJzIr + dMoKp1JYyxWkagZLBGUGQ4wyYaWEKduSb+UlBsonnIdehjuLR6uYFrNj + =Lj6l + -----END PGP MESSAGE----- + fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD + - created_at: "2026-07-07T22:15:14Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA2pVdGTIrZI+AQ//dvJKQU2EQGPUBtBXuVgMHP8yFMQagCDKM1sTJQLNWgz3 + 86Ey3XatwPw0YGYOBgqVyxe+XYG+XQUtfPoTo2oius3HyqZcvkb194QG/h5R5Tpa + +zMzLLe/YgENTkLcfRB/BStLyzzwv8sTQiI2RLTb3jX80PYCYU5VzKhz9KU74Nrv + l/TJE4fELFih164yt04Xqm6jAyEraJu2SavxZvyLl97driEwLuwfRMXPnjeaXkiw + Yv850rmZwF72b08F5Vw3Le1HCm2pRaTpw1bm58v4PNSjTuGThZKoYWToYrCDApHk + 1we0N6lZu2AOtXsO71PYJYWeyX0EHb9Ye6CG0TAsJ8Z5iM++Z9mZ8mzdMCbPoMk5 + srdKo6mT6y0HodyyRC3zcqLUGDFqq0ihcHxmaWCavFxpTEjC2cbLK/punklIS4e7 + IQPX0Lth2JB3VsGS9IXYqm0FDw8ldshAxBgtNIYoV6xhIAhTofQyH5P5fEyAE28n + uYW3v5V7qKRhSidIj19Etwu885OaWlo0XE0hapYffQZpA/fGDOZenf+XlbMpYePZ + E2Rj68SFq7S6xw5cqA26vk+4Dab5TeJ9PtI6RjnI7+Sqj0CLhrUzDLjQjrCZuAWY + GGBzWz6vP249G/sJAp/DClo1PsdIqyykkkRM/An5h5xUJXUkIB6+Ia0bCsupn4bS + XgGfbBBt1LgmkdSrHubLpAJ39W/uRfO0CbfXW+Btm1dxffgMxEh8WKkByoDEHAzu + kCEZNerjPRP5fpj5rDB0dq1H46IXXtbLZ48yocuhJWke0Ywmztjxffwxtu3nMW0= + =HrwC + -----END PGP MESSAGE----- + fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + - created_at: "2026-07-07T22:15:14Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DKKbvh61jX5USAQdAvj+VoDF+LUWyZlvdPNDEYZ7DsrNiacFlI1rgID+kHFow + yqbYk26DVNGfYlxAihq1wAKlMLQ1U1+VGsQANGZIz8OH9NhvhTkAwpz9HLHtdmtq + 0l4BdyPumBkzSOz+oWcVv+iOfINONOY2+ms8+X6lF9hBRWFeNIjxZOI/YE8JjIp5 + DrALA7UgZxCXJyQErNbxF/HLCP7aPBvYkd2lCz93TcEQLEtAkG82cNrjtIVQ3yxg + =NEpg + -----END PGP MESSAGE----- + fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 + unencrypted_suffix: _unencrypted + version: 3.13.1 diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index 30072c8729..95358def84 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -97,6 +97,10 @@ all: ansible_host: forgejo-runner.hosts.hamburg.ccc.de ansible_user: chaos ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de + forgejo-runner-external: + ansible_host: forgejo-runner-external.hosts.hamburg.ccc.de + ansible_user: chaos + ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de hypervisors: hosts: chaosknoten: @@ -127,6 +131,7 @@ base_config_hosts: mjolnir: auth-dns: forgejo-runner: + forgejo-runner-external: systemd_networkd_hosts: hosts: router: @@ -240,6 +245,7 @@ infrastructure_authorized_keys_hosts: auth-dns: lists: forgejo-runner: + forgejo-runner-external: wiki_hosts: hosts: eh22-wiki: @@ -275,6 +281,7 @@ ansible_pull_hosts: mjolnir: auth-dns: forgejo-runner: + forgejo-runner-external: msmtp_hosts: hosts: renovate_hosts: diff --git a/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone b/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone index 61efdb45ba..96df32151e 100644 --- a/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone +++ b/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone @@ -515,6 +515,7 @@ diday-staging-runner.hosts IN AAAA 2a00:14b0:42:102::16 public-web-static.hosts IN AAAA 2a00:14b0:42:102::17 forgejo-actions-runner.hosts IN AAAA 2a00:14b0:42:102::18 forgejo-runner.hosts IN AAAA 2a00:14b0:42:102::19 +forgejo-runner-external.hosts IN AAAA 2a00:14b0:42:102::1a ; acme-challenges _acme-challenge.sunders CNAME a5ee8a99-3cdf-4212-972e-c0b6fda1242f.auth.acmedns From 9ae16363c553f1bc8affb1fb3a564eafb1329be1 Mon Sep 17 00:00:00 2001 From: June Date: Wed, 8 Jul 2026 00:42:50 +0200 Subject: [PATCH 335/417] forgejo-runner-external(host): configure forgejo-runner setup Configure connection for the DI-Day/website repo. --- .../forgejo-runner-external.sops.yaml | 5 +- .../host_vars/forgejo-runner-external.yaml | 1 + inventories/chaosknoten/hosts.yaml | 1 + .../forgejo-runner/configuration.yaml.j2 | 52 +++++++++++++++++++ 4 files changed, 57 insertions(+), 2 deletions(-) create mode 100644 inventories/chaosknoten/host_vars/forgejo-runner-external.yaml create mode 100644 resources/chaosknoten/forgejo-runner-external/forgejo-runner/configuration.yaml.j2 diff --git a/inventories/chaosknoten/host_vars/forgejo-runner-external.sops.yaml b/inventories/chaosknoten/host_vars/forgejo-runner-external.sops.yaml index 9c05b127f2..e6bc00ebe9 100644 --- a/inventories/chaosknoten/host_vars/forgejo-runner-external.sops.yaml +++ b/inventories/chaosknoten/host_vars/forgejo-runner-external.sops.yaml @@ -1,4 +1,5 @@ ansible_pull__age_private_key: ENC[AES256_GCM,data:moFPOIyQyFs7Js0sNjlV2Qdr24DdEYJsngDNqsiVJEIiu8mJS9qE9xdXozUympR99NF/dOgcsiBXmSSb4Bhv99OKZp8Kfto/s4eUSx4=,iv:biRudbCF5mdXnXim1p2N+5w9F0z3M9titSVBNJmDXwM=,tag:ESOBA5urjeLdUvTkUyDDOw==,type:str] +secret__forgejo_runner_codeberg_diday_website_token: ENC[AES256_GCM,data:RDXT2MfYdtVOBIlSrwEnfMQsxKOaloinKFNoXT1lBHrGac9E7ayQOA==,iv:ljt5bELla9rb5H4yhCarNav5qcj0KR2yD66KTKYBVqs=,tag:OZ9G8vS9Wt5/vk34nh6sPQ==,type:str] sops: age: - enc: | @@ -41,8 +42,8 @@ sops: 1U7Q2Eo+C+Xq7OM= -----END AGE ENCRYPTED FILE----- recipient: age1pq1jqrcp3te50xugmv5wst3s9ahj0d38rfktxt43wlcqz7vnwyn3y2h7kyfr6rckrvmuk9m7yvp4efjnfsuxx6d8r9gn222r2eal5593arywrjwrgeypf745wyuvf3z2xk9tm5fgnwckftuvdggk66fph59rw69nt5dpjeewuww4vzt9gs4xelre952s7zjz56qv8tvesg2c89sp8rmy9dvhwfd6tucjhs6sjr6yp2njjra2u6w7c7f0sch3rwkw3wf2dc9su9aaa9q2f22sh5yf0fqejxa2qqpq4pg752589st5xsa5g8tpkjglj4tn35gd4hjj0xet9cjwhydmkmmkffy3nr8zdtctqu6pqsyf7aphvktryez39ru3qe7m6nvr465ffxr0ltvr85nddzxvcwpwpac64nu5tdfrxgjfqzc99vr3zxv8carpsw5evmruqlvrq6v6a4m2cwsz5gqw7nyk3jlj75kp5cnafzjn5dyrf8ppfhp5g5s34zsl7pejmmx2uuudjt7ru2y7as9mtagykrgqgt80fvp3eeh4gsmmd3ujgtp0ranq28aq9x0xdekqh49pfhhprjj6zqdfac5gxtjj736kh5jktc4ls4mjs3p33rzt6ze54uqsfept3qhua2pmugypup6hm6j2ek5sgxjnwvqyfj2l8vz4yfgkaxf699v7jqlwf7g68ang5kzqrjsu78lyardm4zen8zhrr24j334qdgs4zr8dhsfsnmvx9cdvu0swx27tcz8txs46zds9kekgmua7w7fnw3l2lf6zla956ssycac4zjy87rawr4thusxtcqgfzfzh2za9np0s34e5dwkp2l2k06cq09myxqfe7ze6a53d8sl5j43qcekh6kfvl9k0t7903q99pc35630zwm3hwxgnw354du5gngnz56skq9zx3pcnkr5eyh8r8t0dqudmvrrwmxreu6tgrklxw7yvu3zkjgt3gyjhc8kqcrevlukay45sz4k9zqxx9yrs88hzt4h52r2g74alf3cedes3atufy06q4lfq3nxdlnve0kqcwstzr6z6u7fqpqvacezdrr62ycteju6dqawkpthu0drtlxj547htfjcsnrmhgvhskwtuhk6yp7wp30p7qc5vkk8fegg6qx5kc9xs4trx7hj9xgydu7vd30hkceuxsczywjs9v2fl3svkwfypg62882yq6ltv7gfj4ajuy8ezd76g0z7juwspe7q6zs5ceshd6038tvvh2nlpjty6rg6a9qfzhgmjx9s6hynyk7xnq9zra6hxstg8p58x75hapd2mk6rapfunlnnkz5dsxjf4ud4dsvgjfjpzxcdy7sp8dzxtengrsdyu4824mqlw8p63d7m2z4mcyme4tm2qkugtdgrkyphe7akk2geukf6xkfkzd2pkdq5s3qm9fkvfkgrv6yw5kdgjak8xcgesg6tumans4fs8yrxtqlvv2z3emdvwchrjfq4xpzsj27yt4gdg8pknwz9tqpjkjxq6lysutrvwkvt2fwyj8wvv8wtmdl6fk6rsd9kq9a6wkhuq7vvrgwgj3xg2s229sprj4g2vzhy2dfesrp403gs64jqkrjuezwm4zd6uw2x4e2qkj8xqcf7c0zprdzu959x23u878vqqetgpjwt0z3kedt8l6dgpm0rf5dmrya5h3wgzfa0jjvgjphyxgxrwlrzpv4czgal933zs64tn90ks66ejjdaw4t67sch8r3q0kljeqnpdgmw0cpj6arc6k46wcqaccygczy76zt9362vslakvzqqv33tv3sjldp6qxprharmpm9uykgpx66343wuur5xj2aw0rgutpm4ztjzycn3a8d2jq2zpdzwmevezm7mkp9dmndkc3qz0kklgkxq9yehrk5ayfly97umhws0jll8qqg0r7gzxgw5vv76 - lastmodified: "2026-07-07T22:15:31Z" - mac: ENC[AES256_GCM,data:CrH4s1yeMfK52Ltl2mnECvC+bzcedGX4FKV49shX4agp4xB3cNaIvp8++qjmJaJMMcC1Ab4ZGEMBniyRoS/e4tJwSZ0zos+MIwgEHLxP/tCrsxdSsrSobQuuFj1bOvTYO9USZ706tGOG64tpJSM5WpR0FZ98kPRxiQyY0TNiXWk=,iv:JyZB2ko+tJLw9TM0ozXh7r4j4i2eUz18QGjvxVCxOPo=,tag:7fsnFkGV608dscAAoc/nFg==,type:str] + lastmodified: "2026-07-07T22:27:10Z" + mac: ENC[AES256_GCM,data:bxgvYhfbWMQKhLhPbhw4GO5lbEBkdKHtf6kzUrZZ9UEmcM4JHfbX+RvtDSptcI6R3HOEwEzqVc6UUfvbLMaHgFzWcJP+Xl/5hghd7sauO3YQ7c6hRTpEHDRdBMeUvEO9Xcui27Gi30sSL8QMizkEenvVbdVtyM9bsfbwWHRwE/4=,iv:PbJ1sKqsuQOZqyl4Q3ccSyfx269gGlTAuwiEsxoYVpI=,tag:D94E/JPqnOJ3T6salPzUrA==,type:str] pgp: - created_at: "2026-07-07T22:15:14Z" enc: |- diff --git a/inventories/chaosknoten/host_vars/forgejo-runner-external.yaml b/inventories/chaosknoten/host_vars/forgejo-runner-external.yaml new file mode 100644 index 0000000000..d260d05335 --- /dev/null +++ b/inventories/chaosknoten/host_vars/forgejo-runner-external.yaml @@ -0,0 +1 @@ +forgejo_runner__config: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/forgejo-runner-external/forgejo-runner/configuration.yaml.j2') }}" diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index 95358def84..fa88b1cb14 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -292,3 +292,4 @@ secrets_hosts: forgejo_runner_hosts: hosts: forgejo-runner: + forgejo-runner-external: diff --git a/resources/chaosknoten/forgejo-runner-external/forgejo-runner/configuration.yaml.j2 b/resources/chaosknoten/forgejo-runner-external/forgejo-runner/configuration.yaml.j2 new file mode 100644 index 0000000000..a83fc51052 --- /dev/null +++ b/resources/chaosknoten/forgejo-runner-external/forgejo-runner/configuration.yaml.j2 @@ -0,0 +1,52 @@ +log: + level: info + job_level: info + +runner: + file: .runner + capacity: 4 + timeout: 1h + shutdown_timeout: 30m + insecure: false + fetch_timeout: 30s + fetch_interval: 2s + report_interval: 1s + labels: + # https://forgejo.org/docs/latest/admin/actions/configuration/#choosing-labels + - docker:docker://docker.io/library/node:lts + # Provide ubuntu labels similar to the images running at Codeberg. + # https://github.com/catthehacker/docker_images + # https://codeberg.org/actions/meta + - ubuntu-latest:docker://ghcr.io/catthehacker/ubuntu:act-latest + - ubuntu-24.04:docker://ghcr.io/catthehacker/ubuntu:act-24.04 + # Alpine + - alpine:docker://docker.io/library/alpine:latest + # Debian + - debian:docker://docker.io/library/debian:latest + +cache: + enabled: false + +container: + # Leave emtpy to create a network automatically. + network: "" + enable_ipv6: true + privileged: false + ## Something like this once gVisor can be used. + ## options: "--runtime=runsc --mount type=bind,src=/etc/gvisor-helper-resolv.conf,dst=/etc/resolv.conf,ro=true" + # Leave empty for default /workspace to be used. + workdir_parent: + ## Something like this once gVisor can be used. + ## Add /etc/gvisor-helper-resolv.conf to valid_volumes to make the bind-mount in options work. + ## valid_volumes: ["/etc/gvisor-helper-resolv.conf:ro"] + # Leave "-", so no docker host will be mounted in the job container. + docker_host: "-" + force_pull: true + force_rebuild: false + +server: + connections: + codeberg-diday-website: + url: https://codeberg.org/ + uuid: 9e145f54-2263-4fb1-8151-9efb205f88d1 + token: {{ secret__forgejo_runner_codeberg_diday_website_token }} From a35326a065a27c89a4b8bb1c252d93d8d63041b7 Mon Sep 17 00:00:00 2001 From: June Date: Wed, 8 Jul 2026 00:58:39 +0200 Subject: [PATCH 336/417] transmission(role): running the handler should always report changed Make ansible-lint happy by specifying that. --- roles/transmission/handlers/main.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/roles/transmission/handlers/main.yaml b/roles/transmission/handlers/main.yaml index 781f442a8e..2a8d98bf88 100644 --- a/roles/transmission/handlers/main.yaml +++ b/roles/transmission/handlers/main.yaml @@ -1,3 +1,5 @@ - name: update transmission settings ansible.builtin.command: /usr/local/sbin/update-transmission-settings become: true + # When it runs, this should always report changed. + changed_when: true From 1ae4a39f572291bd56c6017cb47cbb628d4b2bca Mon Sep 17 00:00:00 2001 From: Renovate Date: Wed, 8 Jul 2026 00:16:11 +0000 Subject: [PATCH 337/417] Update all stable non-major dependencies --- .forgejo/workflows/lint.yaml | 2 +- inventories/chaosknoten/host_vars/netbox.yaml | 2 +- .../chaosknoten/acmedns/docker_compose/compose.yaml.j2 | 2 +- .../chaosknoten/grafana/docker_compose/compose.yaml.j2 | 10 +++++----- .../chaosknoten/ntfy/docker_compose/compose.yaml.j2 | 2 +- .../onlyoffice/docker_compose/compose.yaml.j2 | 2 +- .../chaosknoten/pad/docker_compose/compose.yaml.j2 | 2 +- .../chaosknoten/pretalx/docker_compose/compose.yaml.j2 | 4 ++-- .../chaosknoten/sunders/docker_compose/compose.yaml.j2 | 2 +- .../chaosknoten/tickets/docker_compose/compose.yaml.j2 | 2 +- .../external/status/docker_compose/compose.yaml.j2 | 4 ++-- 11 files changed, 17 insertions(+), 17 deletions(-) diff --git a/.forgejo/workflows/lint.yaml b/.forgejo/workflows/lint.yaml index 2007d24c52..5c1b82ac8f 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@v26.3.0 + uses: https://github.com/ansible/ansible-lint@v26.6.0 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 f28d193c14..312b1d70f7 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.5.5" +netbox__version: "v4.6.4" 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/acmedns/docker_compose/compose.yaml.j2 b/resources/chaosknoten/acmedns/docker_compose/compose.yaml.j2 index 3fcd8c63f8..2553f4d77f 100644 --- a/resources/chaosknoten/acmedns/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/acmedns/docker_compose/compose.yaml.j2 @@ -2,7 +2,7 @@ services: oauth2-proxy: container_name: oauth2-proxy - image: quay.io/oauth2-proxy/oauth2-proxy:v7.15.1 + image: quay.io/oauth2-proxy/oauth2-proxy:v7.15.3 command: --config /oauth2-proxy.cfg hostname: oauth2-proxy volumes: diff --git a/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 b/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 index 1f6c42f403..68f1dd516f 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.10.0 + image: docker.io/prom/prometheus:v3.13.0 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.31.1 + image: docker.io/prom/alertmanager:v0.33.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:13.0.1 + image: docker.io/grafana/grafana:13.1.0 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.8.2 + image: docker.io/prompve/prometheus-pve-exporter:3.9.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.7.1 + image: docker.io/grafana/loki:3.7.3 container_name: loki ports: - 13100:3100 diff --git a/resources/chaosknoten/ntfy/docker_compose/compose.yaml.j2 b/resources/chaosknoten/ntfy/docker_compose/compose.yaml.j2 index af1b531509..885d81595c 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.20.1 + image: docker.io/binwiederhier/ntfy:v2.25.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 77f1395985..58dddb2205 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.3.1 + image: docker.io/onlyoffice/documentserver:9.4.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 1d35832ce8..0aac3e820d 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.8 + image: quay.io/hedgedoc/hedgedoc:1.11.0 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 0bbfcb8631..dea2dfb140 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.6.2 + image: docker.io/library/redis:8.8.0 restart: unless-stopped volumes: - redis:/data @@ -23,7 +23,7 @@ services: - pretalx_net static: - image: docker.io/library/nginx:1.29.7 + image: docker.io/library/nginx:1.31.2 restart: unless-stopped volumes: - public:/usr/share/nginx/html diff --git a/resources/chaosknoten/sunders/docker_compose/compose.yaml.j2 b/resources/chaosknoten/sunders/docker_compose/compose.yaml.j2 index bb4127fe6d..8ee08baba5 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.2.2 + image: mariadb:12.3.2 command: --max_allowed_packet=3250585600 environment: MYSQL_ROOT_PASSWORD: "{{ secret__sunders_db_root_password }}" diff --git a/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 b/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 index b8a4cf21cd..5de121b877 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:8.6.2 + image: docker.io/library/redis:8.8.0 ports: - "6379:6379" volumes: diff --git a/resources/external/status/docker_compose/compose.yaml.j2 b/resources/external/status/docker_compose/compose.yaml.j2 index 58abeface3..638ebbe266 100644 --- a/resources/external/status/docker_compose/compose.yaml.j2 +++ b/resources/external/status/docker_compose/compose.yaml.j2 @@ -4,7 +4,7 @@ services: database: - image: docker.io/library/postgres:18.3 + image: docker.io/library/postgres:18.4 restart: always volumes: - ./database:/var/lib/postgresql @@ -16,7 +16,7 @@ services: - gatus gatus: - image: ghcr.io/twin/gatus:v5.35.0 + image: ghcr.io/twin/gatus:v5.36.0 restart: always ports: - "8080:8080" From 50cca22cfe869ad37de83e01684a335e00781fb7 Mon Sep 17 00:00:00 2001 From: Renovate Date: Thu, 9 Jul 2026 19:00:56 +0000 Subject: [PATCH 338/417] Update docker.io/binwiederhier/ntfy Docker tag to v2.26.0 --- resources/chaosknoten/ntfy/docker_compose/compose.yaml.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/chaosknoten/ntfy/docker_compose/compose.yaml.j2 b/resources/chaosknoten/ntfy/docker_compose/compose.yaml.j2 index 885d81595c..a982bf3a21 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.25.0 + image: docker.io/binwiederhier/ntfy:v2.26.0 container_name: ntfy command: - serve From 56392b776a2f0a9d9d685ecddce83976507030d8 Mon Sep 17 00:00:00 2001 From: June Date: Thu, 9 Jul 2026 22:15:57 +0200 Subject: [PATCH 339/417] public-reverse-proxy(host): add config for didays.de and staging --- .../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 6e309a2846..2513b7c8b6 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf @@ -87,6 +87,8 @@ map $host $upstream_acme_challenge_host { staging.docs.c3voc.de public-web-static.hosts.hamburg.ccc.de:31820; infra-docs.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; staging.infra-docs.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; + didays.de public-web-static.hosts.hamburg.ccc.de:31820; + staging.didays.de public-web-static.hosts.hamburg.ccc.de:31820; ueberwachungsfrei.eu public-web-static.hosts.hamburg.ccc.de:31820; überwachungsfrei.eu public-web-static.hosts.hamburg.ccc.de:31820; xn--berwachungsfrei-yvb.eu public-web-static.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 5c57f0d529..01d0b5d6d3 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf @@ -110,6 +110,8 @@ stream { staging.docs.c3voc.de public-web-static.hosts.hamburg.ccc.de:8443; infra-docs.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; staging.infra-docs.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; + didays.de public-web-static.hosts.hamburg.ccc.de:8443; + staging.didays.de public-web-static.hosts.hamburg.ccc.de:8443; ueberwachungsfrei.eu public-web-static.hosts.hamburg.ccc.de:8443; überwachungsfrei.eu public-web-static.hosts.hamburg.ccc.de:8443; xn--berwachungsfrei-yvb.eu public-web-static.hosts.hamburg.ccc.de:8443; From 25bab80c58522f1ec5b81c34e05898cbb052c531 Mon Sep 17 00:00:00 2001 From: June Date: Thu, 9 Jul 2026 22:17:49 +0200 Subject: [PATCH 340/417] status(host): add monitoring for didays.de and staging --- .../status/docker_compose/config/websites.yaml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/resources/external/status/docker_compose/config/websites.yaml b/resources/external/status/docker_compose/config/websites.yaml index 867a23d439..ed1ae5362e 100644 --- a/resources/external/status/docker_compose/config/websites.yaml +++ b/resources/external/status/docker_compose/config/websites.yaml @@ -84,6 +84,14 @@ endpoints: - "[CERTIFICATE_EXPIRATION] > 48h" - "[BODY] == pat(*DIDay*)" + - name: didays.de + url: "https://didays.de" + <<: *websites_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*Digitale Unabhängigkeit*)" + - name: element-admin.hamburg.ccc.de url: "https://element-admin.hamburg.ccc.de" <<: *websites_defaults @@ -159,6 +167,14 @@ endpoints: - "[CERTIFICATE_EXPIRATION] > 48h" - "[BODY] == pat(*cryptoparty-hamburg.de Staging Environment*)" + - name: staging.didays.de + url: "https://staging.didays.de" + <<: *websites_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*didays.de Staging Environment*)" + - name: staging.hacker.tours url: "https://staging.hacker.tours" <<: *websites_staging_defaults From 14d2d002f7749010daba189c2d73ce8f0c9cfb0e Mon Sep 17 00:00:00 2001 From: Renovate Date: Fri, 10 Jul 2026 09:15:50 +0000 Subject: [PATCH 341/417] Update docker.io/prom/prometheus Docker tag to v3.13.1 --- resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 b/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 index 68f1dd516f..5ae05997bc 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.13.0 + image: docker.io/prom/prometheus:v3.13.1 container_name: prometheus command: - '--config.file=/etc/prometheus/prometheus.yml' From 580b5bdb1f16fb1d5853cbd928bb962dd1b1a36f Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Sat, 11 Jul 2026 21:29:47 +0200 Subject: [PATCH 342/417] auth-dns(host): add acme cnames back for: - club-assistant - light - light-werkstatt - dooris --- resources/chaosknoten/auth-dns/zones/ccchh.net.zone | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/resources/chaosknoten/auth-dns/zones/ccchh.net.zone b/resources/chaosknoten/auth-dns/zones/ccchh.net.zone index f598988f36..8847fd6d65 100644 --- a/resources/chaosknoten/auth-dns/zones/ccchh.net.zone +++ b/resources/chaosknoten/auth-dns/zones/ccchh.net.zone @@ -52,15 +52,15 @@ dooris A 172.31.200.16 hmdooris-ccu A 172.31.200.17 ;club-assistant AAAA 2a07:c481:1:d0::a -;;_acme-challenge.club-assistant CNAME d50ad73a-f82d-4244-87f0-6f5195b37d21.auth.acmedns.hamburg.ccc.de +_acme-challenge.club-assistant CNAME d50ad73a-f82d-4244-87f0-6f5195b37d21.auth.acmedns.hamburg.ccc.de ;esphome AAAA 2a07:c481:1:d0::66 ;zigbee2mqtt A 185.161.129.132 ;light AAAA 2a07:c481:1:d0::16 -;_acme-challenge.light CNAME e59f55ee-9013-469d-a146-a159721b6fea.auth.acmedns.hamburg.ccc.de. +_acme-challenge.light CNAME e59f55ee-9013-469d-a146-a159721b6fea.auth.acmedns.hamburg.ccc.de. ;light-werkstatt AAAA 2a07:c481:1:d0::16 -;_acme-challenge.light-werkstatt CNAME f408acc0-d9f5-4525-bb01-28938e3bb7d0.auth.acmedns.hamburg.ccc.de. +_acme-challenge.light-werkstatt CNAME f408acc0-d9f5-4525-bb01-28938e3bb7d0.auth.acmedns.hamburg.ccc.de. ;buba A 10.31.211.137 -;_acme-challenge.dooris CNAME 37caae1f-b77f-4eb1-aa71-dc3f7ed24360.auth.acmedns.hamburg.ccc.de. +_acme-challenge.dooris CNAME 37caae1f-b77f-4eb1-aa71-dc3f7ed24360.auth.acmedns.hamburg.ccc.de. ;yate A 10.31.208.12 ;staubiv2 A 10.31.210.233 From 2a576495daccdf2df3be2cf2c0ff76f31c09c7e5 Mon Sep 17 00:00:00 2001 From: Max Date: Sat, 11 Jul 2026 21:57:34 +0200 Subject: [PATCH 343/417] separate multiple major release upgrades --- renovate.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/renovate.json b/renovate.json index 9a6bababd0..8139008f2f 100644 --- a/renovate.json +++ b/renovate.json @@ -11,7 +11,11 @@ ":ignoreUnstable", ":disableRateLimiting", ":rebaseStalePrs", - ":label(renovate)" + ":label(renovate)", + + // a lot of packages do not support skipping major versions + // with this option renovate creates a pr from the current version to each newer version + ":separateMultipleMajorReleases" ], "semanticCommits": "disabled", "ignorePaths": [ From 60a407a406da5747e6b9242005fa7fb306b9f283 Mon Sep 17 00:00:00 2001 From: lilly Date: Sat, 18 Jul 2026 20:12:58 +0200 Subject: [PATCH 344/417] add prusa-mk4.ccchh.net DNS entry --- resources/chaosknoten/auth-dns/zones/ccchh.net.zone | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/chaosknoten/auth-dns/zones/ccchh.net.zone b/resources/chaosknoten/auth-dns/zones/ccchh.net.zone index 8847fd6d65..0803eb204c 100644 --- a/resources/chaosknoten/auth-dns/zones/ccchh.net.zone +++ b/resources/chaosknoten/auth-dns/zones/ccchh.net.zone @@ -63,6 +63,7 @@ _acme-challenge.light-werkstatt CNAME f408acc0-d9f5-4525-bb01-28938e3bb7d0.auth. _acme-challenge.dooris CNAME 37caae1f-b77f-4eb1-aa71-dc3f7ed24360.auth.acmedns.hamburg.ccc.de. ;yate A 10.31.208.12 ;staubiv2 A 10.31.210.233 +prusa-mk4 A 10.31.210.4 ; From 28a22e4476bf196ebb3a578d572bbc2ec536373b Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Wed, 22 Jul 2026 00:04:05 +0200 Subject: [PATCH 345/417] pad: disable external link warning closes #130 --- resources/chaosknoten/pad/docker_compose/compose.yaml.j2 | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 b/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 index 0aac3e820d..84743d842d 100644 --- a/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 @@ -27,6 +27,7 @@ services: - "CMD_ALLOW_ANONYMOUS_VIEWS=true" - "CMD_DEFAULT_PERMISSION=limited" - "CMD_EMAIL=false" + - "CMD_EXTERNAL_LINK_WARNING=false" - "CMD_OAUTH2_USER_PROFILE_URL=https://id.hamburg.ccc.de/realms/ccchh/protocol/openid-connect/userinfo" - "CMD_OAUTH2_USER_PROFILE_USERNAME_ATTR=preferred_username" - "CMD_OAUTH2_USER_PROFILE_DISPLAY_NAME_ATTR=name" From b3fe0974219c99c9e28cf02c459ee430e1431ec7 Mon Sep 17 00:00:00 2001 From: lilly Date: Wed, 22 Jul 2026 21:43:24 +0200 Subject: [PATCH 346/417] re-enable club-assistant dns record --- .../chaosknoten/auth-dns/zones/ccchh.net.zone | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/resources/chaosknoten/auth-dns/zones/ccchh.net.zone b/resources/chaosknoten/auth-dns/zones/ccchh.net.zone index 0803eb204c..813743bed1 100644 --- a/resources/chaosknoten/auth-dns/zones/ccchh.net.zone +++ b/resources/chaosknoten/auth-dns/zones/ccchh.net.zone @@ -51,18 +51,19 @@ dooris A 172.31.200.16 AAAA 2a07:c481:1:d0::1c hmdooris-ccu A 172.31.200.17 -;club-assistant AAAA 2a07:c481:1:d0::a -_acme-challenge.club-assistant CNAME d50ad73a-f82d-4244-87f0-6f5195b37d21.auth.acmedns.hamburg.ccc.de -;esphome AAAA 2a07:c481:1:d0::66 -;zigbee2mqtt A 185.161.129.132 -;light AAAA 2a07:c481:1:d0::16 +club-assistant AAAA 2a07:c481:1:d0::a + A 10.31.208.10 +_acme-challenge.club-assistant CNAME d50ad73a-f82d-4244-87f0-6f5195b37d21.auth.acmedns.hamburg.ccc.de +;esphome AAAA 2a07:c481:1:d0::66 +;zigbee2mqtt A 185.161.129.132 +;light AAAA 2a07:c481:1:d0::16 _acme-challenge.light CNAME e59f55ee-9013-469d-a146-a159721b6fea.auth.acmedns.hamburg.ccc.de. -;light-werkstatt AAAA 2a07:c481:1:d0::16 +;light-werkstatt AAAA 2a07:c481:1:d0::16 _acme-challenge.light-werkstatt CNAME f408acc0-d9f5-4525-bb01-28938e3bb7d0.auth.acmedns.hamburg.ccc.de. -;buba A 10.31.211.137 +;buba A 10.31.211.137 _acme-challenge.dooris CNAME 37caae1f-b77f-4eb1-aa71-dc3f7ed24360.auth.acmedns.hamburg.ccc.de. -;yate A 10.31.208.12 -;staubiv2 A 10.31.210.233 +;yate A 10.31.208.12 +;staubiv2 A 10.31.210.233 prusa-mk4 A 10.31.210.4 From 9a876e12a886dac30525dd0cf76aae8cac6b857c Mon Sep 17 00:00:00 2001 From: lilly Date: Thu, 23 Jul 2026 14:33:15 +0200 Subject: [PATCH 347/417] fix CNAME for club-assistant acme challenge --- resources/chaosknoten/auth-dns/zones/ccchh.net.zone | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/chaosknoten/auth-dns/zones/ccchh.net.zone b/resources/chaosknoten/auth-dns/zones/ccchh.net.zone index 813743bed1..2ba513556a 100644 --- a/resources/chaosknoten/auth-dns/zones/ccchh.net.zone +++ b/resources/chaosknoten/auth-dns/zones/ccchh.net.zone @@ -53,7 +53,7 @@ hmdooris-ccu A 172.31.200.17 club-assistant AAAA 2a07:c481:1:d0::a A 10.31.208.10 -_acme-challenge.club-assistant CNAME d50ad73a-f82d-4244-87f0-6f5195b37d21.auth.acmedns.hamburg.ccc.de +_acme-challenge.club-assistant CNAME d50ad73a-f82d-4244-87f0-6f5195b37d21.auth.acmedns.hamburg.ccc.de. ;esphome AAAA 2a07:c481:1:d0::66 ;zigbee2mqtt A 185.161.129.132 ;light AAAA 2a07:c481:1:d0::16 From 900971ebe9643d0f918dd23e7c89288595340dd7 Mon Sep 17 00:00:00 2001 From: chris Date: Thu, 23 Jul 2026 20:34:02 +0200 Subject: [PATCH 348/417] alloy(role): pull in alloy role that works from fux (#112) Reviewed-on: https://git.hamburg.ccc.de/CCCHH/ansible-infra/pulls/112 Reviewed-by: June --- .../grafana/grafana/.ansible-lint | 18 - .../grafana/.config/molecule/config.yml | 83 - .../grafana/grafana/.editorconfig | 42 - .../grafana/grafana/.github/dependabot.yml | 11 - .../.github/workflows/alloy-molecule.yml | 45 - .../workflows/full-integration-test.yml | 69 - .../grafana/.github/workflows/lint.yaml | 63 - .../.github/workflows/loki-molecule.yml | 44 - .../.github/workflows/mimir-molecule.yml | 51 - .../.github/workflows/modules-test.yml | 98 - .../opentelemetry-collector-molecule.yml | 44 - .../.github/workflows/promtail-molecule.yml | 44 - .../grafana/.github/workflows/release.yml | 159 -- .../grafana/.github/workflows/roles-test.yml | 90 - .../grafana/grafana/.gitignore | 237 -- .../grafana/grafana/.markdownlint.yaml | 261 -- .../grafana/grafana/.shellcheckrc | 7 - .../grafana/grafana/.textlintrc | 187 -- ansible_collections/grafana/grafana/.yamllint | 15 - .../grafana/grafana/CHANGELOG.rst | 695 ----- .../grafana/grafana/CODEOWNERS | 8 - .../grafana/grafana/FILES.json | 2483 ----------------- ansible_collections/grafana/grafana/LICENSE | 674 ----- .../grafana/grafana/MANIFEST.json | 40 - ansible_collections/grafana/grafana/Makefile | 86 - ansible_collections/grafana/grafana/Pipfile | 14 - .../grafana/grafana/Pipfile.lock | 909 ------ ansible_collections/grafana/grafana/README.md | 159 -- .../grafana/grafana/ansible.cfg | 2 - .../grafana/grafana/catalog-info.yaml | 19 - .../grafana/changelogs/.plugin-cache.yaml | 59 - .../grafana/grafana/changelogs/changelog.yaml | 442 --- .../grafana/grafana/changelogs/config.yaml | 33 - .../examples/agent-basic-no-options.yaml | 10 - .../agent-mode-flow-with-dynamic-conf.yaml | 12 - .../examples/agent-send-to-grafana-cloud.yaml | 95 - .../grafana/grafana/examples/alloy.yaml | 17 - .../grafana/grafana/examples/ansible.cfg | 32 - .../examples/loki-basic-no-options.yml | 6 - ...al-filesystem-with-retention-and-alert.yml | 70 - .../grafana/examples/mimir-3-hosts.yaml | 32 - .../grafana/examples/mimir-single-host.yaml | 34 - .../monitor-multiple-instance-otel.md | 193 -- .../monitor-multiple-instances-agent.md | 184 -- .../examples/opentelemetry-collector.yml | 43 - .../examples/promtail-multiple-logs.yml | 24 - .../grafana/grafana/meta/runtime.yml | 2 - .../grafana/grafana/package.json | 26 - .../plugins/modules/alert_contact_point.py | 257 -- .../modules/alert_notification_policy.py | 242 -- .../grafana/plugins/modules/cloud_api_key.py | 152 - .../grafana/plugins/modules/cloud_plugin.py | 189 -- .../grafana/plugins/modules/cloud_stack.py | 259 -- .../grafana/plugins/modules/dashboard.py | 190 -- .../grafana/plugins/modules/datasource.py | 209 -- .../grafana/grafana/plugins/modules/folder.py | 280 -- .../grafana/grafana/plugins/modules/user.py | 284 -- .../grafana/grafana/requirements.txt | 3 - .../grafana/grafana/requirements.yml | 8 - .../grafana/grafana/roles/alloy/README.md | 71 - .../grafana/roles/alloy/defaults/main.yml | 36 - .../grafana/roles/alloy/handlers/main.yml | 17 - .../grafana/grafana/roles/alloy/meta/main.yml | 34 - .../roles/alloy/molecule/default/converge.yml | 17 - .../roles/alloy/molecule/default/molecule.yml | 20 - .../grafana/roles/alloy/tasks/deploy.yml | 176 -- .../grafana/roles/alloy/tasks/main.yml | 19 - .../grafana/roles/alloy/tasks/preflight.yml | 26 - .../roles/alloy/tasks/setup-Darwin.yml | 96 - .../roles/alloy/tasks/setup-Debian.yml | 7 - .../roles/alloy/tasks/setup-RedHat.yml | 8 - .../grafana/roles/alloy/tasks/setup-Suse.yml | 8 - .../grafana/roles/alloy/tasks/uninstall.yml | 75 - .../grafana/roles/alloy/templates/alloy.j2 | 10 - .../roles/alloy/templates/config.alloy.j2 | 3 - .../roles/alloy/templates/override.conf.j2 | 3 - .../grafana/roles/alloy/vars/Darwin.yml | 5 - .../grafana/roles/alloy/vars/Debian.yml | 2 - .../grafana/roles/alloy/vars/RedHat.yml | 2 - .../grafana/grafana/roles/alloy/vars/Suse.yml | 2 - .../grafana/grafana/roles/alloy/vars/main.yml | 9 - .../grafana/grafana/roles/grafana/README.md | 132 - .../grafana/roles/grafana/defaults/main.yml | 211 -- .../grafana/roles/grafana/handlers/main.yml | 48 - .../grafana/roles/grafana/meta/main.yml | 31 - .../grafana/molecule/alternative/converge.yml | 107 - .../grafana/molecule/alternative/molecule.yml | 1 - .../alternative/tests/test_alternative.py | 52 - .../grafana/molecule/default/converge.yml | 11 - .../grafana/molecule/default/molecule.yml | 1 - .../molecule/default/tests/test_default.py | 50 - .../grafana/roles/grafana/tasks/api_keys.yml | 43 - .../grafana/roles/grafana/tasks/configure.yml | 107 - .../roles/grafana/tasks/dashboards.yml | 245 -- .../roles/grafana/tasks/datasources.yml | 40 - .../grafana/roles/grafana/tasks/install.yml | 133 - .../grafana/roles/grafana/tasks/main.yml | 133 - .../roles/grafana/tasks/notifications.yml | 28 - .../grafana/roles/grafana/tasks/plugins.yml | 20 - .../grafana/roles/grafana/tasks/preflight.yml | 104 - .../roles/grafana/templates/grafana.ini.j2 | 28 - .../roles/grafana/templates/ldap.toml.j2 | 39 - .../roles/grafana/templates/tmpfiles.j2 | 2 - .../roles/grafana/test-requirements.txt | 6 - .../roles/grafana/vars/distro/debian.yml | 8 - .../roles/grafana/vars/distro/redhat.yml | 5 - .../roles/grafana/vars/distro/suse.yml | 6 - .../grafana/roles/grafana_agent/README.md | 72 - .../roles/grafana_agent/defaults/main.yaml | 196 -- .../roles/grafana_agent/handlers/main.yaml | 12 - .../roles/grafana_agent/meta/main.yaml | 25 - .../roles/grafana_agent/tasks/configure.yaml | 56 - .../roles/grafana_agent/tasks/ga-started.yaml | 29 - .../roles/grafana_agent/tasks/install.yaml | 19 - .../tasks/install/directories.yaml | 26 - .../tasks/install/download-install.yaml | 48 - .../tasks/install/local-install.yaml | 10 - .../tasks/install/user-group.yaml | 38 - .../roles/grafana_agent/tasks/main.yaml | 48 - .../roles/grafana_agent/tasks/preflight.yaml | 12 - .../tasks/preflight/download.yaml | 36 - .../tasks/preflight/install.yaml | 72 - .../tasks/preflight/systemd.yaml | 28 - .../grafana_agent/tasks/preflight/vars.yaml | 72 - .../templates/EnvironmentFile.j2 | 9 - .../grafana_agent/templates/config.yaml.j2 | 39 - .../templates/grafana-agent.service.j2 | 65 - .../roles/grafana_agent/vars/main.yaml | 29 - .../grafana/grafana/roles/loki/README.md | 247 -- .../grafana/roles/loki/defaults/main.yml | 110 - .../grafana/roles/loki/handlers/main.yml | 10 - .../grafana/grafana/roles/loki/meta/main.yml | 28 - .../roles/loki/molecule/default/converge.yml | 5 - .../roles/loki/molecule/default/molecule.yml | 20 - .../grafana/roles/loki/tasks/deploy.yml | 150 - .../grafana/grafana/roles/loki/tasks/main.yml | 15 - .../grafana/roles/loki/tasks/setup-Debian.yml | 7 - .../grafana/roles/loki/tasks/setup-RedHat.yml | 8 - .../grafana/roles/loki/tasks/uninstall.yml | 51 - .../roles/loki/templates/config.yml.j2 | 107 - .../grafana/roles/loki/templates/rules.yml.j2 | 3 - .../grafana/roles/loki/vars/Debian.yml | 8 - .../grafana/roles/loki/vars/RedHat.yml | 2 - .../grafana/grafana/roles/mimir/README.md | 109 - .../grafana/roles/mimir/defaults/main.yml | 31 - .../grafana/roles/mimir/files/.gitkeep | 0 .../grafana/roles/mimir/handlers/main.yml | 6 - .../grafana/grafana/roles/mimir/meta/main.yml | 37 - .../roles/mimir/molecule/default/converge.yml | 33 - .../roles/mimir/molecule/default/molecule.yml | 60 - .../molecule/default/tests/test_default.py | 36 - .../grafana/roles/mimir/tasks/deploy.yml | 111 - .../grafana/roles/mimir/tasks/main.yml | 9 - .../roles/mimir/tasks/setup-Debian.yml | 7 - .../roles/mimir/tasks/setup-Redhat.yml | 8 - .../grafana/roles/mimir/tasks/uninstall.yml | 51 - .../grafana/roles/mimir/templates/.gitkeep | 0 .../roles/mimir/templates/config.yml.j2 | 67 - .../grafana/grafana/roles/mimir/vars/.gitkeep | 0 .../roles/opentelemetry_collector/README.md | 101 - .../opentelemetry_collector/defaults/main.yml | 30 - .../opentelemetry_collector/handlers/main.yml | 6 - .../opentelemetry_collector/meta/main.yml | 25 - .../molecule/default-check-first/converge.yml | 27 - .../molecule/default-check-first/molecule.yml | 57 - .../default-check-first/tests/test_default.py | 35 - .../molecule/default/converge.yml | 27 - .../molecule/default/molecule.yml | 44 - .../molecule/default/tests/test_default.py | 33 - .../molecule/latest/converge.yml | 28 - .../molecule/latest/molecule.yml | 44 - .../molecule/latest/tests/test_default.py | 35 - .../molecule/non-contrib/converge.yml | 27 - .../molecule/non-contrib/molecule.yml | 44 - .../non-contrib/tests/test_default.py | 31 - .../tasks/configure.yml | 20 - .../opentelemetry_collector/tasks/install.yml | 79 - .../opentelemetry_collector/tasks/main.yml | 11 - .../opentelemetry_collector/tasks/service.yml | 20 - .../templates/otel_collector.service.j2 | 14 - .../templates/otel_collector_config.yml.j2 | 24 - .../grafana/grafana/roles/promtail/README.md | 175 -- .../grafana/roles/promtail/defaults/main.yml | 52 - .../grafana/roles/promtail/handlers/main.yml | 10 - .../grafana/roles/promtail/meta/main.yml | 28 - .../promtail/molecule/default/converge.yml | 15 - .../promtail/molecule/default/molecule.yml | 20 - .../promtail/tasks/acl_configuration.yml | 116 - .../grafana/roles/promtail/tasks/deploy.yml | 144 - .../grafana/roles/promtail/tasks/main.yml | 15 - .../roles/promtail/tasks/setup-Debian.yml | 14 - .../roles/promtail/tasks/setup-RedHat.yml | 9 - .../roles/promtail/tasks/uninstall.yml | 119 - .../roles/promtail/templates/config.yml.j2 | 22 - .../promtail/templates/promtail.service.j2 | 24 - .../roles/promtail/templates/promtail_acl.j2 | 13 - .../grafana/roles/promtail/vars/Debian.yml | 8 - .../grafana/roles/promtail/vars/RedHat.yml | 2 - .../grafana/grafana/roles/tempo/README.md | 15 - .../grafana/roles/tempo/defaults/main.yml | 73 - .../grafana/roles/tempo/handlers/main.yml | 6 - .../grafana/grafana/roles/tempo/meta/main.yml | 28 - .../roles/tempo/molecule/default/converge.yml | 5 - .../roles/tempo/molecule/default/molecule.yml | 20 - .../grafana/roles/tempo/tasks/deploy.yml | 99 - .../grafana/roles/tempo/tasks/main.yml | 9 - .../roles/tempo/tasks/setup-Debian.yml | 7 - .../roles/tempo/tasks/setup-Redhat.yml | 8 - .../grafana/roles/tempo/tasks/uninstall.yml | 43 - .../roles/tempo/templates/config.yml.j2 | 57 - .../grafana/grafana/roles/tempo/vars/main.yml | 6 - .../tests/integration/requirements.txt | 1 - .../alert_contact_point/tasks/main.yml | 80 - .../alert_notification_policy/tasks/main.yml | 17 - .../targets/cloud_api_key/tasks/main.yml | 45 - .../targets/cloud_plugin/tasks/main.yml | 56 - .../targets/create_cloud_stack/tasks/main.yml | 18 - .../targets/dashboard/tasks/main.yml | 52 - .../targets/datasource/tasks/main.yml | 52 - .../targets/delete_cloud_stack/tasks/main.yml | 19 - .../integration/targets/folder/tasks/main.yml | 53 - .../molecule-grafana-alternative/runme.sh | 12 - .../targets/molecule-grafana-default/runme.sh | 12 - .../integration/targets/user/tasks/main.yml | 60 - .../grafana/grafana/tools/includes/logging.sh | 123 - .../grafana/grafana/tools/includes/utils.sh | 66 - .../grafana/grafana/tools/lint-ansible.sh | 39 - .../grafana/tools/lint-editorconfig.sh | 38 - .../grafana/grafana/tools/lint-markdown.sh | 49 - .../grafana/grafana/tools/lint-shell.sh | 46 - .../grafana/grafana/tools/lint-text.sh | 40 - .../grafana/grafana/tools/lint-yaml.sh | 37 - .../grafana/grafana/tools/setup.sh | 39 - ansible_collections/grafana/grafana/yarn.lock | 1721 ------------ collections/requirements.yaml | 1 - requirements.yml | 4 - roles/alloy/README.md | 21 + roles/alloy/defaults/main.yaml | 89 +- roles/alloy/handlers/main.yml | 31 + roles/alloy/meta/argument_specs.yaml | 19 + roles/alloy/tasks/blackbox-exporter.yaml | 10 + roles/alloy/tasks/install.yaml | 20 + roles/alloy/tasks/main.yaml | 112 +- roles/alloy/templates/config.alloy.j2 | 3 + .../templates/config.blackbox-exporter.j2 | 3 + roles/alloy/vars/main.yaml | 3 + 246 files changed, 225 insertions(+), 19248 deletions(-) delete mode 100644 ansible_collections/grafana/grafana/.ansible-lint delete mode 100644 ansible_collections/grafana/grafana/.config/molecule/config.yml delete mode 100644 ansible_collections/grafana/grafana/.editorconfig delete mode 100644 ansible_collections/grafana/grafana/.github/dependabot.yml delete mode 100644 ansible_collections/grafana/grafana/.github/workflows/alloy-molecule.yml delete mode 100644 ansible_collections/grafana/grafana/.github/workflows/full-integration-test.yml delete mode 100644 ansible_collections/grafana/grafana/.github/workflows/lint.yaml delete mode 100644 ansible_collections/grafana/grafana/.github/workflows/loki-molecule.yml delete mode 100644 ansible_collections/grafana/grafana/.github/workflows/mimir-molecule.yml delete mode 100644 ansible_collections/grafana/grafana/.github/workflows/modules-test.yml delete mode 100644 ansible_collections/grafana/grafana/.github/workflows/opentelemetry-collector-molecule.yml delete mode 100644 ansible_collections/grafana/grafana/.github/workflows/promtail-molecule.yml delete mode 100644 ansible_collections/grafana/grafana/.github/workflows/release.yml delete mode 100644 ansible_collections/grafana/grafana/.github/workflows/roles-test.yml delete mode 100644 ansible_collections/grafana/grafana/.gitignore delete mode 100644 ansible_collections/grafana/grafana/.markdownlint.yaml delete mode 100644 ansible_collections/grafana/grafana/.shellcheckrc delete mode 100644 ansible_collections/grafana/grafana/.textlintrc delete mode 100644 ansible_collections/grafana/grafana/.yamllint delete mode 100644 ansible_collections/grafana/grafana/CHANGELOG.rst delete mode 100644 ansible_collections/grafana/grafana/CODEOWNERS delete mode 100644 ansible_collections/grafana/grafana/FILES.json delete mode 100644 ansible_collections/grafana/grafana/LICENSE delete mode 100644 ansible_collections/grafana/grafana/MANIFEST.json delete mode 100644 ansible_collections/grafana/grafana/Makefile delete mode 100644 ansible_collections/grafana/grafana/Pipfile delete mode 100644 ansible_collections/grafana/grafana/Pipfile.lock delete mode 100644 ansible_collections/grafana/grafana/README.md delete mode 100644 ansible_collections/grafana/grafana/ansible.cfg delete mode 100644 ansible_collections/grafana/grafana/catalog-info.yaml delete mode 100644 ansible_collections/grafana/grafana/changelogs/.plugin-cache.yaml delete mode 100644 ansible_collections/grafana/grafana/changelogs/changelog.yaml delete mode 100644 ansible_collections/grafana/grafana/changelogs/config.yaml delete mode 100644 ansible_collections/grafana/grafana/examples/agent-basic-no-options.yaml delete mode 100644 ansible_collections/grafana/grafana/examples/agent-mode-flow-with-dynamic-conf.yaml delete mode 100644 ansible_collections/grafana/grafana/examples/agent-send-to-grafana-cloud.yaml delete mode 100644 ansible_collections/grafana/grafana/examples/alloy.yaml delete mode 100644 ansible_collections/grafana/grafana/examples/ansible.cfg delete mode 100644 ansible_collections/grafana/grafana/examples/loki-basic-no-options.yml delete mode 100644 ansible_collections/grafana/grafana/examples/loki-local-filesystem-with-retention-and-alert.yml delete mode 100644 ansible_collections/grafana/grafana/examples/mimir-3-hosts.yaml delete mode 100644 ansible_collections/grafana/grafana/examples/mimir-single-host.yaml delete mode 100644 ansible_collections/grafana/grafana/examples/monitor-multiple-instance-otel.md delete mode 100644 ansible_collections/grafana/grafana/examples/monitor-multiple-instances-agent.md delete mode 100644 ansible_collections/grafana/grafana/examples/opentelemetry-collector.yml delete mode 100644 ansible_collections/grafana/grafana/examples/promtail-multiple-logs.yml delete mode 100644 ansible_collections/grafana/grafana/meta/runtime.yml delete mode 100644 ansible_collections/grafana/grafana/package.json delete mode 100644 ansible_collections/grafana/grafana/plugins/modules/alert_contact_point.py delete mode 100644 ansible_collections/grafana/grafana/plugins/modules/alert_notification_policy.py delete mode 100644 ansible_collections/grafana/grafana/plugins/modules/cloud_api_key.py delete mode 100644 ansible_collections/grafana/grafana/plugins/modules/cloud_plugin.py delete mode 100644 ansible_collections/grafana/grafana/plugins/modules/cloud_stack.py delete mode 100644 ansible_collections/grafana/grafana/plugins/modules/dashboard.py delete mode 100644 ansible_collections/grafana/grafana/plugins/modules/datasource.py delete mode 100644 ansible_collections/grafana/grafana/plugins/modules/folder.py delete mode 100644 ansible_collections/grafana/grafana/plugins/modules/user.py delete mode 100644 ansible_collections/grafana/grafana/requirements.txt delete mode 100644 ansible_collections/grafana/grafana/requirements.yml delete mode 100644 ansible_collections/grafana/grafana/roles/alloy/README.md delete mode 100644 ansible_collections/grafana/grafana/roles/alloy/defaults/main.yml delete mode 100644 ansible_collections/grafana/grafana/roles/alloy/handlers/main.yml delete mode 100644 ansible_collections/grafana/grafana/roles/alloy/meta/main.yml delete mode 100644 ansible_collections/grafana/grafana/roles/alloy/molecule/default/converge.yml delete mode 100644 ansible_collections/grafana/grafana/roles/alloy/molecule/default/molecule.yml delete mode 100644 ansible_collections/grafana/grafana/roles/alloy/tasks/deploy.yml delete mode 100644 ansible_collections/grafana/grafana/roles/alloy/tasks/main.yml delete mode 100644 ansible_collections/grafana/grafana/roles/alloy/tasks/preflight.yml delete mode 100644 ansible_collections/grafana/grafana/roles/alloy/tasks/setup-Darwin.yml delete mode 100644 ansible_collections/grafana/grafana/roles/alloy/tasks/setup-Debian.yml delete mode 100644 ansible_collections/grafana/grafana/roles/alloy/tasks/setup-RedHat.yml delete mode 100644 ansible_collections/grafana/grafana/roles/alloy/tasks/setup-Suse.yml delete mode 100644 ansible_collections/grafana/grafana/roles/alloy/tasks/uninstall.yml delete mode 100644 ansible_collections/grafana/grafana/roles/alloy/templates/alloy.j2 delete mode 100644 ansible_collections/grafana/grafana/roles/alloy/templates/config.alloy.j2 delete mode 100644 ansible_collections/grafana/grafana/roles/alloy/templates/override.conf.j2 delete mode 100644 ansible_collections/grafana/grafana/roles/alloy/vars/Darwin.yml delete mode 100644 ansible_collections/grafana/grafana/roles/alloy/vars/Debian.yml delete mode 100644 ansible_collections/grafana/grafana/roles/alloy/vars/RedHat.yml delete mode 100644 ansible_collections/grafana/grafana/roles/alloy/vars/Suse.yml delete mode 100644 ansible_collections/grafana/grafana/roles/alloy/vars/main.yml delete mode 100644 ansible_collections/grafana/grafana/roles/grafana/README.md delete mode 100644 ansible_collections/grafana/grafana/roles/grafana/defaults/main.yml delete mode 100644 ansible_collections/grafana/grafana/roles/grafana/handlers/main.yml delete mode 100644 ansible_collections/grafana/grafana/roles/grafana/meta/main.yml delete mode 100644 ansible_collections/grafana/grafana/roles/grafana/molecule/alternative/converge.yml delete mode 100644 ansible_collections/grafana/grafana/roles/grafana/molecule/alternative/molecule.yml delete mode 100644 ansible_collections/grafana/grafana/roles/grafana/molecule/alternative/tests/test_alternative.py delete mode 100644 ansible_collections/grafana/grafana/roles/grafana/molecule/default/converge.yml delete mode 100644 ansible_collections/grafana/grafana/roles/grafana/molecule/default/molecule.yml delete mode 100644 ansible_collections/grafana/grafana/roles/grafana/molecule/default/tests/test_default.py delete mode 100644 ansible_collections/grafana/grafana/roles/grafana/tasks/api_keys.yml delete mode 100644 ansible_collections/grafana/grafana/roles/grafana/tasks/configure.yml delete mode 100644 ansible_collections/grafana/grafana/roles/grafana/tasks/dashboards.yml delete mode 100644 ansible_collections/grafana/grafana/roles/grafana/tasks/datasources.yml delete mode 100644 ansible_collections/grafana/grafana/roles/grafana/tasks/install.yml delete mode 100644 ansible_collections/grafana/grafana/roles/grafana/tasks/main.yml delete mode 100644 ansible_collections/grafana/grafana/roles/grafana/tasks/notifications.yml delete mode 100644 ansible_collections/grafana/grafana/roles/grafana/tasks/plugins.yml delete mode 100644 ansible_collections/grafana/grafana/roles/grafana/tasks/preflight.yml delete mode 100644 ansible_collections/grafana/grafana/roles/grafana/templates/grafana.ini.j2 delete mode 100644 ansible_collections/grafana/grafana/roles/grafana/templates/ldap.toml.j2 delete mode 100644 ansible_collections/grafana/grafana/roles/grafana/templates/tmpfiles.j2 delete mode 100644 ansible_collections/grafana/grafana/roles/grafana/test-requirements.txt delete mode 100644 ansible_collections/grafana/grafana/roles/grafana/vars/distro/debian.yml delete mode 100644 ansible_collections/grafana/grafana/roles/grafana/vars/distro/redhat.yml delete mode 100644 ansible_collections/grafana/grafana/roles/grafana/vars/distro/suse.yml delete mode 100644 ansible_collections/grafana/grafana/roles/grafana_agent/README.md delete mode 100644 ansible_collections/grafana/grafana/roles/grafana_agent/defaults/main.yaml delete mode 100644 ansible_collections/grafana/grafana/roles/grafana_agent/handlers/main.yaml delete mode 100644 ansible_collections/grafana/grafana/roles/grafana_agent/meta/main.yaml delete mode 100644 ansible_collections/grafana/grafana/roles/grafana_agent/tasks/configure.yaml delete mode 100644 ansible_collections/grafana/grafana/roles/grafana_agent/tasks/ga-started.yaml delete mode 100644 ansible_collections/grafana/grafana/roles/grafana_agent/tasks/install.yaml delete mode 100644 ansible_collections/grafana/grafana/roles/grafana_agent/tasks/install/directories.yaml delete mode 100644 ansible_collections/grafana/grafana/roles/grafana_agent/tasks/install/download-install.yaml delete mode 100644 ansible_collections/grafana/grafana/roles/grafana_agent/tasks/install/local-install.yaml delete mode 100644 ansible_collections/grafana/grafana/roles/grafana_agent/tasks/install/user-group.yaml delete mode 100644 ansible_collections/grafana/grafana/roles/grafana_agent/tasks/main.yaml delete mode 100644 ansible_collections/grafana/grafana/roles/grafana_agent/tasks/preflight.yaml delete mode 100644 ansible_collections/grafana/grafana/roles/grafana_agent/tasks/preflight/download.yaml delete mode 100644 ansible_collections/grafana/grafana/roles/grafana_agent/tasks/preflight/install.yaml delete mode 100644 ansible_collections/grafana/grafana/roles/grafana_agent/tasks/preflight/systemd.yaml delete mode 100644 ansible_collections/grafana/grafana/roles/grafana_agent/tasks/preflight/vars.yaml delete mode 100644 ansible_collections/grafana/grafana/roles/grafana_agent/templates/EnvironmentFile.j2 delete mode 100644 ansible_collections/grafana/grafana/roles/grafana_agent/templates/config.yaml.j2 delete mode 100644 ansible_collections/grafana/grafana/roles/grafana_agent/templates/grafana-agent.service.j2 delete mode 100644 ansible_collections/grafana/grafana/roles/grafana_agent/vars/main.yaml delete mode 100644 ansible_collections/grafana/grafana/roles/loki/README.md delete mode 100644 ansible_collections/grafana/grafana/roles/loki/defaults/main.yml delete mode 100644 ansible_collections/grafana/grafana/roles/loki/handlers/main.yml delete mode 100644 ansible_collections/grafana/grafana/roles/loki/meta/main.yml delete mode 100644 ansible_collections/grafana/grafana/roles/loki/molecule/default/converge.yml delete mode 100644 ansible_collections/grafana/grafana/roles/loki/molecule/default/molecule.yml delete mode 100644 ansible_collections/grafana/grafana/roles/loki/tasks/deploy.yml delete mode 100644 ansible_collections/grafana/grafana/roles/loki/tasks/main.yml delete mode 100644 ansible_collections/grafana/grafana/roles/loki/tasks/setup-Debian.yml delete mode 100644 ansible_collections/grafana/grafana/roles/loki/tasks/setup-RedHat.yml delete mode 100644 ansible_collections/grafana/grafana/roles/loki/tasks/uninstall.yml delete mode 100644 ansible_collections/grafana/grafana/roles/loki/templates/config.yml.j2 delete mode 100644 ansible_collections/grafana/grafana/roles/loki/templates/rules.yml.j2 delete mode 100644 ansible_collections/grafana/grafana/roles/loki/vars/Debian.yml delete mode 100644 ansible_collections/grafana/grafana/roles/loki/vars/RedHat.yml delete mode 100644 ansible_collections/grafana/grafana/roles/mimir/README.md delete mode 100644 ansible_collections/grafana/grafana/roles/mimir/defaults/main.yml delete mode 100644 ansible_collections/grafana/grafana/roles/mimir/files/.gitkeep delete mode 100644 ansible_collections/grafana/grafana/roles/mimir/handlers/main.yml delete mode 100644 ansible_collections/grafana/grafana/roles/mimir/meta/main.yml delete mode 100644 ansible_collections/grafana/grafana/roles/mimir/molecule/default/converge.yml delete mode 100644 ansible_collections/grafana/grafana/roles/mimir/molecule/default/molecule.yml delete mode 100644 ansible_collections/grafana/grafana/roles/mimir/molecule/default/tests/test_default.py delete mode 100644 ansible_collections/grafana/grafana/roles/mimir/tasks/deploy.yml delete mode 100644 ansible_collections/grafana/grafana/roles/mimir/tasks/main.yml delete mode 100644 ansible_collections/grafana/grafana/roles/mimir/tasks/setup-Debian.yml delete mode 100644 ansible_collections/grafana/grafana/roles/mimir/tasks/setup-Redhat.yml delete mode 100644 ansible_collections/grafana/grafana/roles/mimir/tasks/uninstall.yml delete mode 100644 ansible_collections/grafana/grafana/roles/mimir/templates/.gitkeep delete mode 100644 ansible_collections/grafana/grafana/roles/mimir/templates/config.yml.j2 delete mode 100644 ansible_collections/grafana/grafana/roles/mimir/vars/.gitkeep delete mode 100644 ansible_collections/grafana/grafana/roles/opentelemetry_collector/README.md delete mode 100644 ansible_collections/grafana/grafana/roles/opentelemetry_collector/defaults/main.yml delete mode 100644 ansible_collections/grafana/grafana/roles/opentelemetry_collector/handlers/main.yml delete mode 100644 ansible_collections/grafana/grafana/roles/opentelemetry_collector/meta/main.yml delete mode 100644 ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/default-check-first/converge.yml delete mode 100644 ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/default-check-first/molecule.yml delete mode 100644 ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/default-check-first/tests/test_default.py delete mode 100644 ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/default/converge.yml delete mode 100644 ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/default/molecule.yml delete mode 100644 ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/default/tests/test_default.py delete mode 100644 ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/latest/converge.yml delete mode 100644 ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/latest/molecule.yml delete mode 100644 ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/latest/tests/test_default.py delete mode 100644 ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/non-contrib/converge.yml delete mode 100644 ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/non-contrib/molecule.yml delete mode 100644 ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/non-contrib/tests/test_default.py delete mode 100644 ansible_collections/grafana/grafana/roles/opentelemetry_collector/tasks/configure.yml delete mode 100644 ansible_collections/grafana/grafana/roles/opentelemetry_collector/tasks/install.yml delete mode 100644 ansible_collections/grafana/grafana/roles/opentelemetry_collector/tasks/main.yml delete mode 100644 ansible_collections/grafana/grafana/roles/opentelemetry_collector/tasks/service.yml delete mode 100644 ansible_collections/grafana/grafana/roles/opentelemetry_collector/templates/otel_collector.service.j2 delete mode 100644 ansible_collections/grafana/grafana/roles/opentelemetry_collector/templates/otel_collector_config.yml.j2 delete mode 100644 ansible_collections/grafana/grafana/roles/promtail/README.md delete mode 100644 ansible_collections/grafana/grafana/roles/promtail/defaults/main.yml delete mode 100644 ansible_collections/grafana/grafana/roles/promtail/handlers/main.yml delete mode 100644 ansible_collections/grafana/grafana/roles/promtail/meta/main.yml delete mode 100644 ansible_collections/grafana/grafana/roles/promtail/molecule/default/converge.yml delete mode 100644 ansible_collections/grafana/grafana/roles/promtail/molecule/default/molecule.yml delete mode 100644 ansible_collections/grafana/grafana/roles/promtail/tasks/acl_configuration.yml delete mode 100644 ansible_collections/grafana/grafana/roles/promtail/tasks/deploy.yml delete mode 100644 ansible_collections/grafana/grafana/roles/promtail/tasks/main.yml delete mode 100644 ansible_collections/grafana/grafana/roles/promtail/tasks/setup-Debian.yml delete mode 100644 ansible_collections/grafana/grafana/roles/promtail/tasks/setup-RedHat.yml delete mode 100644 ansible_collections/grafana/grafana/roles/promtail/tasks/uninstall.yml delete mode 100644 ansible_collections/grafana/grafana/roles/promtail/templates/config.yml.j2 delete mode 100644 ansible_collections/grafana/grafana/roles/promtail/templates/promtail.service.j2 delete mode 100644 ansible_collections/grafana/grafana/roles/promtail/templates/promtail_acl.j2 delete mode 100644 ansible_collections/grafana/grafana/roles/promtail/vars/Debian.yml delete mode 100644 ansible_collections/grafana/grafana/roles/promtail/vars/RedHat.yml delete mode 100644 ansible_collections/grafana/grafana/roles/tempo/README.md delete mode 100644 ansible_collections/grafana/grafana/roles/tempo/defaults/main.yml delete mode 100644 ansible_collections/grafana/grafana/roles/tempo/handlers/main.yml delete mode 100644 ansible_collections/grafana/grafana/roles/tempo/meta/main.yml delete mode 100644 ansible_collections/grafana/grafana/roles/tempo/molecule/default/converge.yml delete mode 100644 ansible_collections/grafana/grafana/roles/tempo/molecule/default/molecule.yml delete mode 100644 ansible_collections/grafana/grafana/roles/tempo/tasks/deploy.yml delete mode 100644 ansible_collections/grafana/grafana/roles/tempo/tasks/main.yml delete mode 100644 ansible_collections/grafana/grafana/roles/tempo/tasks/setup-Debian.yml delete mode 100644 ansible_collections/grafana/grafana/roles/tempo/tasks/setup-Redhat.yml delete mode 100644 ansible_collections/grafana/grafana/roles/tempo/tasks/uninstall.yml delete mode 100644 ansible_collections/grafana/grafana/roles/tempo/templates/config.yml.j2 delete mode 100644 ansible_collections/grafana/grafana/roles/tempo/vars/main.yml delete mode 100644 ansible_collections/grafana/grafana/tests/integration/requirements.txt delete mode 100644 ansible_collections/grafana/grafana/tests/integration/targets/alert_contact_point/tasks/main.yml delete mode 100644 ansible_collections/grafana/grafana/tests/integration/targets/alert_notification_policy/tasks/main.yml delete mode 100644 ansible_collections/grafana/grafana/tests/integration/targets/cloud_api_key/tasks/main.yml delete mode 100644 ansible_collections/grafana/grafana/tests/integration/targets/cloud_plugin/tasks/main.yml delete mode 100644 ansible_collections/grafana/grafana/tests/integration/targets/create_cloud_stack/tasks/main.yml delete mode 100644 ansible_collections/grafana/grafana/tests/integration/targets/dashboard/tasks/main.yml delete mode 100644 ansible_collections/grafana/grafana/tests/integration/targets/datasource/tasks/main.yml delete mode 100644 ansible_collections/grafana/grafana/tests/integration/targets/delete_cloud_stack/tasks/main.yml delete mode 100644 ansible_collections/grafana/grafana/tests/integration/targets/folder/tasks/main.yml delete mode 100755 ansible_collections/grafana/grafana/tests/integration/targets/molecule-grafana-alternative/runme.sh delete mode 100755 ansible_collections/grafana/grafana/tests/integration/targets/molecule-grafana-default/runme.sh delete mode 100644 ansible_collections/grafana/grafana/tests/integration/targets/user/tasks/main.yml delete mode 100755 ansible_collections/grafana/grafana/tools/includes/logging.sh delete mode 100755 ansible_collections/grafana/grafana/tools/includes/utils.sh delete mode 100755 ansible_collections/grafana/grafana/tools/lint-ansible.sh delete mode 100755 ansible_collections/grafana/grafana/tools/lint-editorconfig.sh delete mode 100755 ansible_collections/grafana/grafana/tools/lint-markdown.sh delete mode 100755 ansible_collections/grafana/grafana/tools/lint-shell.sh delete mode 100755 ansible_collections/grafana/grafana/tools/lint-text.sh delete mode 100755 ansible_collections/grafana/grafana/tools/lint-yaml.sh delete mode 100755 ansible_collections/grafana/grafana/tools/setup.sh delete mode 100644 ansible_collections/grafana/grafana/yarn.lock create mode 100644 roles/alloy/README.md create mode 100644 roles/alloy/handlers/main.yml create mode 100644 roles/alloy/meta/argument_specs.yaml create mode 100644 roles/alloy/tasks/blackbox-exporter.yaml create mode 100644 roles/alloy/tasks/install.yaml create mode 100644 roles/alloy/templates/config.alloy.j2 create mode 100644 roles/alloy/templates/config.blackbox-exporter.j2 create mode 100644 roles/alloy/vars/main.yaml diff --git a/ansible_collections/grafana/grafana/.ansible-lint b/ansible_collections/grafana/grafana/.ansible-lint deleted file mode 100644 index 6dab8332ea..0000000000 --- a/ansible_collections/grafana/grafana/.ansible-lint +++ /dev/null @@ -1,18 +0,0 @@ ---- -profile: production - -exclude_paths: - - .cache/ - - .github/ - - examples/ - -parseable: true -verbosity: 1 - -use_default_rules: true - -skip_list: - - '204' # Allow string length greater than 160 chars - - 'no-changed-when' # False positives for running command shells - - 'yaml' # Disable YAML linting since it's done by yamllint - - 'empty-string-compare' # Allow compare to empty string diff --git a/ansible_collections/grafana/grafana/.config/molecule/config.yml b/ansible_collections/grafana/grafana/.config/molecule/config.yml deleted file mode 100644 index b91b78df4b..0000000000 --- a/ansible_collections/grafana/grafana/.config/molecule/config.yml +++ /dev/null @@ -1,83 +0,0 @@ ---- -dependency: - name: galaxy -driver: - name: docker -platforms: - - name: almalinux-8 - image: dokken/almalinux-8 - pre_build_image: true - privileged: true - cgroup_parent: docker.slice - command: /lib/systemd/systemd - - name: almalinux-9 - image: dokken/almalinux-9 - pre_build_image: true - privileged: true - cgroup_parent: docker.slice - command: /lib/systemd/systemd - - name: centos-7 - image: dokken/centos-7 - pre_build_image: true - privileged: true - cgroup_parent: docker.slice - command: /usr/lib/systemd/systemd - - name: centos-stream-8 - image: dokken/centos-stream-8 - pre_build_image: true - privileged: true - cgroup_parent: docker.slice - command: /lib/systemd/systemd - - name: centos-stream-9 - image: dokken/centos-stream-9 - pre_build_image: true - privileged: true - cgroup_parent: docker.slice - command: /lib/systemd/systemd - - name: debian-10 - image: dokken/debian-10 - pre_build_image: true - privileged: true - cgroup_parent: docker.slice - command: /lib/systemd/systemd - - name: debian-11 - image: dokken/debian-11 - pre_build_image: true - privileged: true - cgroup_parent: docker.slice - command: /lib/systemd/systemd - - name: fedora-36 - image: dokken/fedora-36 - pre_build_image: true - privileged: true - cgroup_parent: docker.slice - command: /lib/systemd/systemd - - name: fedora-37 - image: dokken/fedora-37 - pre_build_image: true - privileged: true - cgroup_parent: docker.slice - command: /lib/systemd/systemd - - name: ubuntu-18.04 - image: dokken/ubuntu-18.04 - pre_build_image: true - privileged: true - cgroup_parent: docker.slice - command: /lib/systemd/systemd - - name: ubuntu-20.04 - image: dokken/ubuntu-20.04 - pre_build_image: true - privileged: true - cgroup_parent: docker.slice - command: /lib/systemd/systemd - - name: ubuntu-22.04 - image: dokken/ubuntu-22.04 - pre_build_image: true - privileged: true - cgroup_parent: docker.slice - command: /lib/systemd/systemd -provisioner: - env: - ANSIBLE_INJECT_FACT_VARS: false -verifier: - name: testinfra diff --git a/ansible_collections/grafana/grafana/.editorconfig b/ansible_collections/grafana/grafana/.editorconfig deleted file mode 100644 index 9a7d285db1..0000000000 --- a/ansible_collections/grafana/grafana/.editorconfig +++ /dev/null @@ -1,42 +0,0 @@ -# This file is the top-most EditorConfig file -root = true - -# All Files -[*] -charset = utf-8 -indent_style = space -indent_size = 2 -end_of_line = lf -insert_final_newline = true -trim_trailing_whitespace = true - -# JSON Files -[*.{json,json5,webmanifest}] -indent_size = 2 - -# YAML Files -[*.{yml,yaml}] -indent_size = 2 - -# Markdown Files -[*.{md,mdx}] -indent_size = 2 -trim_trailing_whitespace = false - -# Web Files -[*.{htm,html,js,jsm,ts,tsx,cjs,cts,ctsx,mjs,mts,mtsx,css,sass,scss,less,pcss,svg,vue}] -indent_size = 2 - -# Bash Files -[*.sh] -indent_size = 2 -end_of_line = lf - -# Makefiles -[{Makefile,**.mk}] -indent_style = tab - -# Python Files -[*.py] -indent_style = space -indent_size = 4 diff --git a/ansible_collections/grafana/grafana/.github/dependabot.yml b/ansible_collections/grafana/grafana/.github/dependabot.yml deleted file mode 100644 index 9d866e3928..0000000000 --- a/ansible_collections/grafana/grafana/.github/dependabot.yml +++ /dev/null @@ -1,11 +0,0 @@ -# To get started with Dependabot version updates, you'll need to specify which -# package ecosystems to update and where the package manifests are located. -# Please see the documentation for all configuration options: -# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file - -version: 2 -updates: - - package-ecosystem: "pip" # See documentation for possible values - directory: "/" # Location of package manifests - schedule: - interval: "weekly" diff --git a/ansible_collections/grafana/grafana/.github/workflows/alloy-molecule.yml b/ansible_collections/grafana/grafana/.github/workflows/alloy-molecule.yml deleted file mode 100644 index fd4c92e351..0000000000 --- a/ansible_collections/grafana/grafana/.github/workflows/alloy-molecule.yml +++ /dev/null @@ -1,45 +0,0 @@ ---- -name: Alloy Molecule - -on: - push: - branches: - - main - pull_request: - branches: - - main - -defaults: - run: - working-directory: roles/alloy - -jobs: - molecule: - name: Molecule - runs-on: ubuntu-latest - strategy: - matrix: - distro: - - rockylinux9 - - ubuntu2204 - - debian12 - - opensuseleap15 - - steps: - - name: Check out the codebase. - uses: actions/checkout@v4 - - - name: Set up Python 3. - uses: actions/setup-python@v5 - with: - python-version: '3.x' - - - name: Install test dependencies. - run: pip3 install ansible molecule molecule-plugins[docker] docker - - - name: Run Molecule tests. - run: molecule test - env: - PY_COLORS: '1' - ANSIBLE_FORCE_COLOR: '1' - MOLECULE_DISTRO: ${{ matrix.distro }} diff --git a/ansible_collections/grafana/grafana/.github/workflows/full-integration-test.yml b/ansible_collections/grafana/grafana/.github/workflows/full-integration-test.yml deleted file mode 100644 index a7fd9c488a..0000000000 --- a/ansible_collections/grafana/grafana/.github/workflows/full-integration-test.yml +++ /dev/null @@ -1,69 +0,0 @@ ---- -name: Full Integration Test - -# yamllint disable-line rule:truthy -on: - schedule: - - cron: '0 0 * * 0' - workflow_dispatch: -env: - NAMESPACE: grafana - COLLECTION_NAME: grafana - -jobs: - - integration: - runs-on: ubuntu-20.04 - name: ${{ matrix.ansible }}-py${{ matrix.python }} - strategy: - fail-fast: true - max-parallel: 1 - matrix: - ansible: - - stable-2.11 - - stable-2.12 - - stable-2.13 - - devel - python: - - '2.7' - - '3.5' - - '3.6' - - '3.7' - - '3.8' - - '3.9' - - '3.10' - exclude: - - ansible: stable-2.11 - python: '3.10' - - steps: - - name: Check out code - uses: actions/checkout@v2 - with: - path: ansible_collections/${{env.NAMESPACE}}/${{env.COLLECTION_NAME}} - - - name: create integration_config - working-directory: ansible_collections/${{env.NAMESPACE}}/${{env.COLLECTION_NAME}}/tests/integration - run: | - cat < integration_config.yml - stack_name: ${{ secrets.ANSIBLE_TEST_STACK_NAME }} - org_name: ${{ secrets.ANSIBLE_TEST_ORG_NAME }} - grafana_cloud_api_key: ${{ secrets.ANSIBLE_TEST_CLOUD_API_KEY }} - grafana_api_key: ${{ secrets.ANSIBLE_TEST_GRAFANA_API_KEY }} - test_stack_name: ${{ secrets.ANSIBLE_TEST_CI_STACK }} - EOF - - - name: Set up Python - uses: actions/setup-python@v2 - with: - python-version: '3.10' - - - name: Install ansible-base (${{ matrix.ansible }}) - run: pip install https://github.com/ansible/ansible/archive/${{ matrix.ansible }}.tar.gz --disable-pip-version-check - - - name: Test Modules - run: ansible-test integration -v alert_contact_point alert_notification_policy cloud_api_key cloud_plugin cloud_stack dashboard datasource folder --color --retry-on-error --continue-on-error --diff --python ${{ matrix.python }} --coverage --docker - working-directory: ./ansible_collections/${{env.NAMESPACE}}/${{env.COLLECTION_NAME}} - - - name: Cooling Period - run: sleep 3m diff --git a/ansible_collections/grafana/grafana/.github/workflows/lint.yaml b/ansible_collections/grafana/grafana/.github/workflows/lint.yaml deleted file mode 100644 index a53315d280..0000000000 --- a/ansible_collections/grafana/grafana/.github/workflows/lint.yaml +++ /dev/null @@ -1,63 +0,0 @@ ---- -name: Lint - -# yamllint disable-line rule:truthy -on: - push: - branches: ["main"] - pull_request: - branches: ["main"] - -jobs: - lint: - name: Perform Linting - runs-on: ubuntu-latest - steps: - - name: Install shellcheck - run: | - wget -c https://github.com/koalaman/shellcheck/releases/download/v0.9.0/shellcheck-v0.9.0.linux.x86_64.tar.xz -O shellcheck.tar.xz && \ - tar -xvf shellcheck.tar.xz && \ - sudo mv ./shellcheck-v0.9.0/shellcheck /usr/bin/shellcheck && \ - rm -rf shellcheck-v0.9.0 - - - uses: actions/checkout@v3 - - - uses: actions/setup-node@v3 - with: - node-version: 18 - cache: npm - - - uses: actions/setup-python@v4 - with: - python-version: '3.10' - - - name: Install pipenv - run: | - python -m pip install --upgrade pipenv wheel - - - name: Install dependencies - run: make install - - - name: Shell Linting - run: make ci-lint-shell - if: success() || failure() - - # - name: Markdown Linting - # run: make ci-lint-markdown - # if: success() || failure() - - # - name: Text Linting - # run: make ci-lint-text - # if: success() || failure() - - - name: Yaml Linting - run: make ci-lint-yaml - if: success() || failure() - - - name: Editorconfig Linting - run: make ci-lint-editorconfig - if: success() || failure() - - - name: Ansible Linting - run: make ci-lint-ansible - if: success() || failure() diff --git a/ansible_collections/grafana/grafana/.github/workflows/loki-molecule.yml b/ansible_collections/grafana/grafana/.github/workflows/loki-molecule.yml deleted file mode 100644 index 8d8da57ff4..0000000000 --- a/ansible_collections/grafana/grafana/.github/workflows/loki-molecule.yml +++ /dev/null @@ -1,44 +0,0 @@ ---- -name: Loki Molecule - -on: - push: - branches: - - main - pull_request: - branches: - - main - -defaults: - run: - working-directory: roles/loki - -jobs: - molecule: - name: Molecule - runs-on: ubuntu-latest - strategy: - matrix: - distro: - - rockylinux9 - - ubuntu2204 - - debian12 - - steps: - - name: Check out the codebase. - uses: actions/checkout@v4 - - - name: Set up Python 3. - uses: actions/setup-python@v5 - with: - python-version: '3.x' - - - name: Install test dependencies. - run: pip3 install ansible molecule molecule-plugins[docker] docker - - - name: Run Molecule tests. - run: molecule test - env: - PY_COLORS: '1' - ANSIBLE_FORCE_COLOR: '1' - MOLECULE_DISTRO: ${{ matrix.distro }} diff --git a/ansible_collections/grafana/grafana/.github/workflows/mimir-molecule.yml b/ansible_collections/grafana/grafana/.github/workflows/mimir-molecule.yml deleted file mode 100644 index 2c6b374f7b..0000000000 --- a/ansible_collections/grafana/grafana/.github/workflows/mimir-molecule.yml +++ /dev/null @@ -1,51 +0,0 @@ ---- -name: Mimir Molecule - -on: - push: - branches: - - main - pull_request: - branches: - - main - -defaults: - run: - working-directory: roles/mimir - -jobs: - molecule: - name: Molecule - runs-on: ubuntu-latest - strategy: - matrix: - distro: - - rockylinux9 - - rockylinux8 - - ubuntu2204 - - debian12 - - steps: - - name: Check out the codebase. - uses: actions/checkout@v4 - - - name: Set up Python 3. - uses: actions/setup-python@v5 - with: - python-version: '3.x' - - - name: Install test dependencies. - run: pip3 install ansible-core==2.16 'molecule-plugins[docker]' pytest-testinfra jmespath selinux passlib - - - name: create docker network - run: docker network create molecule - - - name: Start s3 backend - run: docker run -d -p 9000:9000 -p 9001:9001 --name minio-mimir --network molecule -e "MINIO_ROOT_USER=testtest" -e "MINIO_ROOT_PASSWORD=testtest" -e "MINIO_DEFAULT_BUCKETS=mimir" bitnamilegacy/minio:latest - - - name: Run Molecule tests. - run: molecule --debug test - env: - PY_COLORS: '1' - ANSIBLE_FORCE_COLOR: '1' - MOLECULE_DISTRO: ${{ matrix.distro }} diff --git a/ansible_collections/grafana/grafana/.github/workflows/modules-test.yml b/ansible_collections/grafana/grafana/.github/workflows/modules-test.yml deleted file mode 100644 index 20f7897832..0000000000 --- a/ansible_collections/grafana/grafana/.github/workflows/modules-test.yml +++ /dev/null @@ -1,98 +0,0 @@ ---- -name: Modules Test - -# yamllint disable-line rule:truthy -on: - push: - branches: - - "main" - pull_request: - schedule: - - cron: '0 6 * * *' -env: - NAMESPACE: grafana - COLLECTION_NAME: grafana - -jobs: - - sanity: - name: Sanity (Ⓐ${{ matrix.ansible }}) - strategy: - matrix: - ansible: - - stable-2.12 - - stable-2.13 - - stable-2.14 - - devel - runs-on: ubuntu-20.04 - steps: - - - name: Check out code - uses: actions/checkout@v3 - with: - path: ansible_collections/${{env.NAMESPACE}}/${{env.COLLECTION_NAME}} - - - name: Set up Python - uses: actions/setup-python@v3 - with: - python-version: '3.10' - - - name: Install ansible-base (${{ matrix.ansible }}) - run: pip install https://github.com/ansible/ansible/archive/${{ matrix.ansible }}.tar.gz --disable-pip-version-check - - - name: Run sanity tests - run: ansible-test sanity -v --docker --color --coverage - working-directory: ./ansible_collections/${{env.NAMESPACE}}/${{env.COLLECTION_NAME}} - - integration: - runs-on: ubuntu-20.04 - name: Integration (Ⓐ${{ matrix.ansible }}-py${{ matrix.python }}) - strategy: - fail-fast: true - max-parallel: 1 - matrix: - ansible: - - stable-2.13 - python: - - '3.10' - - steps: - - name: Check out code - uses: actions/checkout@v2 - with: - path: ansible_collections/${{env.NAMESPACE}}/${{env.COLLECTION_NAME}} - - - name: create integration_config - working-directory: ansible_collections/${{env.NAMESPACE}}/${{env.COLLECTION_NAME}}/tests/integration - run: | - cat < integration_config.yml - org_name: ${{ secrets.ANSIBLE_TEST_ORG_NAME }} - grafana_cloud_api_key: ${{ secrets.ANSIBLE_TEST_CLOUD_API_KEY }} - grafana_api_key: ${{ secrets.ANSIBLE_TEST_GRAFANA_API_KEY }} - grafana_url: ${{ secrets.ANSIBLE_GRAFANA_URL }} - test_stack_name: ${{ secrets.ANSIBLE_TEST_CI_STACK }} - EOF - - - name: Set up Python - uses: actions/setup-python@v2 - with: - python-version: ${{ matrix.python }} - - - name: Install ansible-base (${{ matrix.ansible }}) - run: pip install https://github.com/ansible/ansible/archive/${{ matrix.ansible }}.tar.gz --disable-pip-version-check - - - name: Install Requests - run: pip install requests - - - name: Create Test Stack - run: ansible-test integration -v create_cloud_stack --color --retry-on-error --continue-on-error --diff --python ${{ matrix.python }} --coverage --docker - working-directory: ./ansible_collections/${{env.NAMESPACE}}/${{env.COLLECTION_NAME}} - - - name: Test Modules - run: ansible-test integration -v alert_contact_point alert_notification_policy cloud_api_key cloud_plugin dashboard datasource folder --color --retry-on-error --continue-on-error --diff --python ${{ matrix.python }} --coverage --docker - working-directory: ./ansible_collections/${{env.NAMESPACE}}/${{env.COLLECTION_NAME}} - - - name: Delete Test Stack - if: success() || failure() - run: ansible-test integration -v delete_cloud_stack --color --retry-on-error --continue-on-error --diff --python ${{ matrix.python }} --coverage --docker - working-directory: ./ansible_collections/${{env.NAMESPACE}}/${{env.COLLECTION_NAME}} diff --git a/ansible_collections/grafana/grafana/.github/workflows/opentelemetry-collector-molecule.yml b/ansible_collections/grafana/grafana/.github/workflows/opentelemetry-collector-molecule.yml deleted file mode 100644 index 4ee16cdde6..0000000000 --- a/ansible_collections/grafana/grafana/.github/workflows/opentelemetry-collector-molecule.yml +++ /dev/null @@ -1,44 +0,0 @@ ---- -name: OpenTelemetry Collector Molecule - -on: - push: - branches: - - main - pull_request: - branches: - - main - -defaults: - run: - working-directory: roles/opentelemetry_collector - -jobs: - molecule: - name: Molecule - runs-on: ubuntu-latest - strategy: - matrix: - scenario: - - default - - default-check-first - - latest - - non-contrib - - steps: - - name: Check out the codebase. - uses: actions/checkout@v4 - - - name: Set up Python 3. - uses: actions/setup-python@v5 - with: - python-version: '3.x' - - - name: Install test dependencies. - run: pip3 install ansible molecule molecule-plugins[docker] docker pytest-testinfra - - - name: Run Molecule tests. - run: molecule test -s ${{ matrix.scenario }} - env: - PY_COLORS: '1' - ANSIBLE_FORCE_COLOR: '1' diff --git a/ansible_collections/grafana/grafana/.github/workflows/promtail-molecule.yml b/ansible_collections/grafana/grafana/.github/workflows/promtail-molecule.yml deleted file mode 100644 index e8168b454b..0000000000 --- a/ansible_collections/grafana/grafana/.github/workflows/promtail-molecule.yml +++ /dev/null @@ -1,44 +0,0 @@ ---- -name: Promtail Molecule - -on: - push: - branches: - - main - pull_request: - branches: - - main - -defaults: - run: - working-directory: roles/promtail - -jobs: - molecule: - name: Molecule - runs-on: ubuntu-latest - strategy: - matrix: - distro: - - rockylinux9 - - ubuntu2204 - - debian12 - - steps: - - name: Check out the codebase. - uses: actions/checkout@v4 - - - name: Set up Python 3. - uses: actions/setup-python@v5 - with: - python-version: '3.x' - - - name: Install test dependencies. - run: pip3 install ansible molecule molecule-plugins[docker] docker - - - name: Run Molecule tests. - run: molecule test - env: - PY_COLORS: '1' - ANSIBLE_FORCE_COLOR: '1' - MOLECULE_DISTRO: ${{ matrix.distro }} diff --git a/ansible_collections/grafana/grafana/.github/workflows/release.yml b/ansible_collections/grafana/grafana/.github/workflows/release.yml deleted file mode 100644 index cdf1b2bdcf..0000000000 --- a/ansible_collections/grafana/grafana/.github/workflows/release.yml +++ /dev/null @@ -1,159 +0,0 @@ ---- -name: GitHub Release - -# yamllint disable-line rule:truthy -on: - workflow_dispatch: - inputs: - version: - description: 'Version number to release' - required: true -env: - NAMESPACE: grafana - COLLECTION_NAME: grafana - -jobs: - sanity: - name: Sanity (Ⓐ${{ matrix.ansible }}) - strategy: - matrix: - ansible: - - stable-2.12 - - stable-2.13 - - stable-2.14 - - devel - runs-on: ubuntu-20.04 - steps: - - - name: Check out code - uses: actions/checkout@v3 - with: - path: ansible_collections/${{env.NAMESPACE}}/${{env.COLLECTION_NAME}} - - - name: Set up Python - uses: actions/setup-python@v3 - with: - python-version: '3.10' - - - name: Install ansible-base (${{ matrix.ansible }}) - run: pip install https://github.com/ansible/ansible/archive/${{ matrix.ansible }}.tar.gz --disable-pip-version-check - - - name: Run sanity tests - run: ansible-test sanity -v --docker --color --coverage - working-directory: ./ansible_collections/${{env.NAMESPACE}}/${{env.COLLECTION_NAME}} - - integration: - runs-on: ubuntu-20.04 - name: Integration (Ⓐ${{ matrix.ansible }}-py${{ matrix.python }}) - strategy: - fail-fast: true - max-parallel: 1 - matrix: - ansible: - - stable-2.13 - python: - - '3.10' - - steps: - - name: Check out code - uses: actions/checkout@v2 - with: - path: ansible_collections/${{env.NAMESPACE}}/${{env.COLLECTION_NAME}} - - - name: create integration_config - working-directory: ansible_collections/${{env.NAMESPACE}}/${{env.COLLECTION_NAME}}/tests/integration - run: | - cat < integration_config.yml - org_name: ${{ secrets.ANSIBLE_TEST_ORG_NAME }} - grafana_cloud_api_key: ${{ secrets.ANSIBLE_TEST_CLOUD_API_KEY }} - grafana_api_key: ${{ secrets.ANSIBLE_TEST_GRAFANA_API_KEY }} - grafana_url: ${{ secrets.ANSIBLE_GRAFANA_URL }} - test_stack_name: ${{ secrets.ANSIBLE_TEST_CI_STACK }} - EOF - - - name: Set up Python - uses: actions/setup-python@v2 - with: - python-version: ${{ matrix.python }} - - - name: Install ansible-base (${{ matrix.ansible }}) - run: pip install https://github.com/ansible/ansible/archive/${{ matrix.ansible }}.tar.gz --disable-pip-version-check - - - name: Install Requests - run: pip install requests - - - name: Create Test Stack - run: ansible-test integration -v create_cloud_stack --color --retry-on-error --continue-on-error --diff --python ${{ matrix.python }} --coverage --docker - working-directory: ./ansible_collections/${{env.NAMESPACE}}/${{env.COLLECTION_NAME}} - - - name: Test Modules - run: ansible-test integration -v alert_contact_point alert_notification_policy cloud_api_key cloud_plugin dashboard datasource folder --color --retry-on-error --continue-on-error --diff --python ${{ matrix.python }} --coverage --docker - working-directory: ./ansible_collections/${{env.NAMESPACE}}/${{env.COLLECTION_NAME}} - - - name: Delete Test Stack - if: success() || failure() - run: ansible-test integration -v delete_cloud_stack --color --retry-on-error --continue-on-error --diff --python ${{ matrix.python }} --coverage --docker - working-directory: ./ansible_collections/${{env.NAMESPACE}}/${{env.COLLECTION_NAME}} - - publish: - name: Publish to Galaxy - runs-on: ubuntu-latest - needs: [sanity, integration] - timeout-minutes: 15 - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Set up Python - uses: actions/setup-python@v2 - with: - python-version: '3.10' - - - name: Install Ansible - run: pip install ansible-core - - - name: Install PyYaml - run: pip install pyyaml - - - name: Validate version matches - run: | - VERSION=$(python -c "import yaml; print(yaml.safe_load(open('galaxy.yml'))['version'])") - if [ "$VERSION" != "${{ github.event.inputs.version }}" ]; then - echo "Error: Input version (${{ github.event.inputs.version }}) doesn't match galaxy.yml version ($VERSION)" - exit 1 - fi - - - name: Build collection - id: build - run: | - ansible-galaxy collection build - echo "archive_path=$(ls *.tar.gz)" >> $GITHUB_OUTPUT - - - name: Publish collection to Galaxy - env: - ANSIBLE_GALAXY_API_KEY: ${{ secrets.ANSIBLE_GALAXY_API_KEY }} - run: ansible-galaxy collection publish --api-key ${{ secrets.ANSIBLE_GALAXY_API_KEY }} ${{ steps.build.outputs.archive_path }} - - release: - name: Create GitHub Release - runs-on: ubuntu-latest - needs: [publish] - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Set up Python - uses: actions/setup-python@v2 - with: - python-version: '3.10' - - - name: Install PyYaml - run: pip install pyyaml - - - name: Validate version is published to Galaxy - run: curl --head -s -f -o /dev/null https://galaxy.ansible.com/download/grafana-grafana-${{ github.event.inputs.version }}.tar.gz - - - name: Release - uses: softprops/action-gh-release@v1 - with: - tag_name: ${{ github.event.inputs.version }} diff --git a/ansible_collections/grafana/grafana/.github/workflows/roles-test.yml b/ansible_collections/grafana/grafana/.github/workflows/roles-test.yml deleted file mode 100644 index 9595505467..0000000000 --- a/ansible_collections/grafana/grafana/.github/workflows/roles-test.yml +++ /dev/null @@ -1,90 +0,0 @@ ---- -name: Roles Test - -# yamllint disable-line rule:truthy -on: - push: - branches: - - "main" - pull_request: - schedule: - - cron: '0 6 * * *' -env: - NAMESPACE: grafana - COLLECTION_NAME: grafana - -jobs: - - sanity: - name: Sanity (Ⓐ${{ matrix.ansible }}) - strategy: - matrix: - ansible: - - stable-2.12 - - stable-2.13 - - stable-2.14 - - devel - runs-on: ubuntu-20.04 - steps: - - - name: Check out code - uses: actions/checkout@v3 - with: - path: ansible_collections/${{env.NAMESPACE}}/${{env.COLLECTION_NAME}} - - - name: Set up Python - uses: actions/setup-python@v3 - with: - python-version: '3.10' - - - name: Install ansible-base (${{ matrix.ansible }}) - run: pip install https://github.com/ansible/ansible/archive/${{ matrix.ansible }}.tar.gz --disable-pip-version-check - - - name: Run sanity tests - run: ansible-test sanity -v --docker --color --coverage - working-directory: ./ansible_collections/${{env.NAMESPACE}}/${{env.COLLECTION_NAME}} - - integration: - runs-on: ubuntu-20.04 - name: Integration (Ⓐ${{ matrix.ansible }}-py${{ matrix.python }}) - strategy: - fail-fast: true - max-parallel: 1 - matrix: - ansible: - - stable-2.13 - python: - - '3.10' - - steps: - - name: Check out code - uses: actions/checkout@v2 - with: - path: ansible_collections/${{env.NAMESPACE}}/${{env.COLLECTION_NAME}} - - - name: create integration_config - working-directory: ansible_collections/${{env.NAMESPACE}}/${{env.COLLECTION_NAME}}/tests/integration - run: | - cat < integration_config.yml - stack_name: ${{ secrets.ANSIBLE_TEST_STACK_NAME }} - org_name: ${{ secrets.ANSIBLE_TEST_ORG_NAME }} - grafana_cloud_api_key: ${{ secrets.ANSIBLE_TEST_CLOUD_API_KEY }} - grafana_api_key: ${{ secrets.ANSIBLE_TEST_GRAFANA_API_KEY }} - grafana_url: ${{ secrets.ANSIBLE_GRAFANA_URL }} - test_stack_name: ${{ secrets.ANSIBLE_TEST_CI_STACK }} - EOF - - - name: Set up Python - uses: actions/setup-python@v2 - with: - python-version: ${{ matrix.python }} - - - name: Install ansible-base (${{ matrix.ansible }}) - run: pip install https://github.com/ansible/ansible/archive/${{ matrix.ansible }}.tar.gz --disable-pip-version-check - - - name: Install Requests - run: pip install requests - - - name: Test Roles - run: ansible-test integration -v molecule-grafana-alternative molecule-grafana-default --color --retry-on-error --continue-on-error --diff --python ${{ matrix.python }} --coverage --docker - working-directory: ./ansible_collections/${{env.NAMESPACE}}/${{env.COLLECTION_NAME}} diff --git a/ansible_collections/grafana/grafana/.gitignore b/ansible_collections/grafana/grafana/.gitignore deleted file mode 100644 index 9d1b5557d7..0000000000 --- a/ansible_collections/grafana/grafana/.gitignore +++ /dev/null @@ -1,237 +0,0 @@ -# Project -# --------------------------------------------------- -*.pyc -.vscode -.idea -hosts -*.log -yala - -# MacOS -# --------------------------------------------------- -# General -.DS_Store -.AppleDouble -.LSOverride - -# Icon must end with two \r -Icon - -# Thumbnails -._* - -# Files that might appear in the root of a volume -.DocumentRevisions-V100 -.fseventsd -.Spotlight-V100 -.TemporaryItems -.Trashes -.VolumeIcon.icns -.com.apple.timemachine.donotpresent - -# Directories potentially created on remote AFP share -.AppleDB -.AppleDesktop -Network Trash Folder -Temporary Items -.apdisk - - -# Windows -# --------------------------------------------------- -# Windows thumbnail cache files -Thumbs.db -Thumbs.db:encryptable -ehthumbs.db -ehthumbs_vista.db - -# Dump file -*.stackdump - -# Folder config file -[Dd]esktop.ini - -# Recycle Bin used on file shares -$RECYCLE.BIN/ - -# Windows Installer files -*.cab -*.msi -*.msix -*.msm -*.msp - -# Windows shortcuts -*.lnk - - -# MS Office -# --------------------------------------------------- -*.tmp - -# Word temporary -~$*.doc* - -# Word Auto Backup File -Backup of *.doc* - -# Excel temporary -~$*.xls* - -# Excel Backup File -*.xlk - -# PowerPoint temporary -~$*.ppt* - -# Visio autosave temporary files -*.~vsd* - - -# VS Code -# --------------------------------------------------- -.vscode/* -!.vscode/settings.json -!.vscode/tasks.json -!.vscode/launch.json -!.vscode/extensions.json -*.code-workspace - -# Local History for Visual Studio Code -.history/ -*.app -.snapshots/* - - -# NodeJS -# --------------------------------------------------- -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -lerna-debug.log* -.pnpm-debug.log* - -# Diagnostic reports (https://nodejs.org/api/report.html) -report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage -*.lcov - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules/ -jspm_packages/ - -# Snowpack dependency directory (https://snowpack.dev/) -web_modules/ - -# TypeScript cache -*.tsbuildinfo - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Optional stylelint cache -.stylelintcache - -# Microbundle cache -.rpt2_cache/ -.rts2_cache_cjs/ -.rts2_cache_es/ -.rts2_cache_umd/ - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# dotenv environment variable files -.env -.env.development.local -.env.test.local -.env.production.local -.env.local - -# parcel-bundler cache (https://parceljs.org/) -.cache -.parcel-cache - -# Next.js build output -.next -out - -# Nuxt.js build / generate output -.nuxt -dist - -# Gatsby files -.cache/ -# Comment in the public line in if your project uses Gatsby and not Next.js -# https://nextjs.org/blog/next-9-1#public-directory-support -# public - -# vuepress build output -.vuepress/dist - -# vuepress v2.x temp and cache directory -.temp -.cache - -# Docusaurus cache and generated files -.docusaurus - -# Serverless directories -.serverless/ - -# FuseBox cache -.fusebox/ - -# DynamoDB Local files -.dynamodb/ - -# TernJS port file -.tern-port - -# Stores VSCode versions used for testing VSCode extensions -.vscode-test - -# yarn v2 -.yarn/cache -.yarn/unplugged -.yarn/build-state.yml -.yarn/install-state.gz -.pnp.* diff --git a/ansible_collections/grafana/grafana/.markdownlint.yaml b/ansible_collections/grafana/grafana/.markdownlint.yaml deleted file mode 100644 index f12a082d82..0000000000 --- a/ansible_collections/grafana/grafana/.markdownlint.yaml +++ /dev/null @@ -1,261 +0,0 @@ ---- -# Example markdownlint YAML configuration with all properties set to their default value - -# Default state for all rules -default: true - -# Path to configuration file to extend -extends: null - -# MD001/heading-increment/header-increment - Heading levels should only increment by one level at a time -MD001: true - -# MD002/first-heading-h1/first-header-h1 - First heading should be a top-level heading -MD002: - # Heading level - level: 1 - -# MD003/heading-style/header-style - Heading style -MD003: - # Heading style - style: "consistent" - -# MD004/ul-style - Unordered list style -MD004: - # List style - style: "consistent" - -# MD005/list-indent - Inconsistent indentation for list items at the same level -MD005: true - -# MD006/ul-start-left - Consider starting bulleted lists at the beginning of the line -MD006: true - -# MD007/ul-indent - Unordered list indentation -MD007: - # Spaces for indent - indent: 2 - # Whether to indent the first level of the list - start_indented: false - # Spaces for first level indent (when start_indented is set) - start_indent: 2 - -# MD009/no-trailing-spaces - Trailing spaces -MD009: - # Spaces for line break - br_spaces: 2 - # Allow spaces for empty lines in list items - list_item_empty_lines: false - # Include unnecessary breaks - strict: false - -# MD010/no-hard-tabs - Hard tabs -MD010: - # Include code blocks - code_blocks: true - # Fenced code languages to ignore - ignore_code_languages: [] - # Number of spaces for each hard tab - spaces_per_tab: 2 - -# MD011/no-reversed-links - Reversed link syntax -MD011: true - -# MD012/no-multiple-blanks - Multiple consecutive blank lines -MD012: - # Consecutive blank lines - maximum: 1 - -# MD013/line-length - Line length -MD013: - # Number of characters - line_length: 150 - # Number of characters for headings - heading_line_length: 80 - # Number of characters for code blocks - code_block_line_length: 100 - # Include code blocks - code_blocks: true - # Include tables - tables: false - # Include headings - headings: true - # Include headings - headers: true - # Strict length checking - strict: false - # Stern length checking - stern: false - -# MD014/commands-show-output - Dollar signs used before commands without showing output -MD014: false - -# MD018/no-missing-space-atx - No space after hash on atx style heading -MD018: true - -# MD019/no-multiple-space-atx - Multiple spaces after hash on atx style heading -MD019: true - -# MD020/no-missing-space-closed-atx - No space inside hashes on closed atx style heading -MD020: true - -# MD021/no-multiple-space-closed-atx - Multiple spaces inside hashes on closed atx style heading -MD021: true - -# MD022/blanks-around-headings/blanks-around-headers - Headings should be surrounded by blank lines -MD022: - # Blank lines above heading - lines_above: 1 - # Blank lines below heading - lines_below: 1 - -# MD023/heading-start-left/header-start-left - Headings must start at the beginning of the line -MD023: true - -# MD024/no-duplicate-heading/no-duplicate-header - Multiple headings with the same content -MD024: false - -# MD025/single-title/single-h1 - Multiple top-level headings in the same document -MD025: - # Heading level - level: 1 - # RegExp for matching title in front matter - front_matter_title: "^\\s*title\\s*[:=]" - -# MD026/no-trailing-punctuation - Trailing punctuation in heading -MD026: - # Punctuation characters not allowed at end of headings - punctuation: ".,;:!。,;:!" - -# MD027/no-multiple-space-blockquote - Multiple spaces after blockquote symbol -MD027: true - -# MD028/no-blanks-blockquote - Blank line inside blockquote -MD028: true - -# MD029/ol-prefix - Ordered list item prefix -MD029: - # List style - style: "one_or_ordered" - -# MD030/list-marker-space - Spaces after list markers -MD030: - # Spaces for single-line unordered list items - ul_single: 3 - # Spaces for single-line ordered list items - ol_single: 2 - # Spaces for multi-line unordered list items - ul_multi: 3 - # Spaces for multi-line ordered list items - ol_multi: 2 - -# MD031/blanks-around-fences - Fenced code blocks should be surrounded by blank lines -MD031: - # Include list items - list_items: true - -# MD032/blanks-around-lists - Lists should be surrounded by blank lines -MD032: true - -# MD033/no-inline-html - Inline HTML -MD033: - # Allowed elements - allowed_elements: - - div - - br - - hr - -# MD034/no-bare-urls - Bare URL used -MD034: true - -# MD035/hr-style - Horizontal rule style -MD035: - # Horizontal rule style - style: "consistent" - -# MD036/no-emphasis-as-heading/no-emphasis-as-header - Emphasis used instead of a heading -MD036: false - -# MD037/no-space-in-emphasis - Spaces inside emphasis markers -MD037: true - -# MD038/no-space-in-code - Spaces inside code span elements -MD038: true - -# MD039/no-space-in-links - Spaces inside link text -MD039: true - -# MD040/fenced-code-language - Fenced code blocks should have a language specified -MD040: - # List of languages - allowed_languages: [] - # Require language only - language_only: false - -# MD041/first-line-heading/first-line-h1 - First line in a file should be a top-level heading -MD041: - # Heading level - level: 1 - # RegExp for matching title in front matter - front_matter_title: "^\\s*title\\s*[:=]" - -# MD042/no-empty-links - No empty links -MD042: true - -# MD043/required-headings/required-headers - Required heading structure -MD043: - # List of headings - headings: - - "*" - # List of headings - headers: [] - # Match case of headings - match_case: false - -# MD044/proper-names - Proper names should have the correct capitalization -MD044: - # List of proper names - names: [] - # Include code blocks - code_blocks: true - # Include HTML elements - html_elements: true - -# MD045/no-alt-text - Images should have alternate text (alt text) -MD045: true - -# MD046/code-block-style - Code block style -MD046: - # Block style - style: "consistent" - -# MD047/single-trailing-newline - Files should end with a single newline character -MD047: true - -# MD048/code-fence-style - Code fence style -MD048: - # Code fence style - style: "consistent" - -# MD049/emphasis-style - Emphasis style should be consistent -MD049: - # Emphasis style should be consistent - style: "consistent" - -# MD050/strong-style - Strong style should be consistent -MD050: - # Strong style should be consistent - style: "consistent" - -# MD051/link-fragments - Link fragments should be valid -MD051: false - -# MD052/reference-links-images - Reference links and images should use a label that is defined -MD052: true - -# MD053/link-image-reference-definitions - Link and image reference definitions should be needed -MD053: - # Ignored definitions - ignored_definitions: [ - "//" - ] diff --git a/ansible_collections/grafana/grafana/.shellcheckrc b/ansible_collections/grafana/grafana/.shellcheckrc deleted file mode 100644 index 9eac5ba59d..0000000000 --- a/ansible_collections/grafana/grafana/.shellcheckrc +++ /dev/null @@ -1,7 +0,0 @@ -# Allow opening any 'source'd file, even if not specified as input -external-sources=true - -# some files are sourced which can make some areas appear unreachable -disable=SC2317 -disable=SC2250 -disable=SC2312 diff --git a/ansible_collections/grafana/grafana/.textlintrc b/ansible_collections/grafana/grafana/.textlintrc deleted file mode 100644 index 1ea8e9c706..0000000000 --- a/ansible_collections/grafana/grafana/.textlintrc +++ /dev/null @@ -1,187 +0,0 @@ -{ - "rules": { - "common-misspellings": true, - "no-todo": true, - "terminology": { - "defaultTerms": false, - "terms": [ - "Grafana", - ["GrafanaLabs", "Grafana Labs"], - ["GrafanaCloud", "Grafana Cloud"], - "Mimir", - "Loki", - "Phlare", - "Tempo", - "Faro", - "Raintank", - "Prometheus", - "PromQL", - ["(E|e)xamplars", "$1xemplars"], - ["(D|d)atasource", "$1ata source"], - "CData", - "Google", - "Amazon", - "RedHat", - "Azure", - "Airbnb", - "Android", - "AppleScript", - "AppVeyor", - "AVA", - "BrowserStack", - "Browsersync", - "Codecov", - "CodePen", - "CodeSandbox", - "DefinitelyTyped", - "EditorConfig", - "ESLint", - "GitHub", - "GraphQL", - "iOS", - "JavaScript", - "JetBrains", - "jQuery", - "LinkedIn", - "Lodash", - "MacBook", - "Markdown", - "OpenType", - "PayPal", - "PhpStorm", - "RubyMine", - "Sass", - "SemVer", - "TypeScript", - "UglifyJS", - "Wasm", - "WebAssembly", - "WebStorm", - "WordPress", - "YouTube", - ["Common[ .]js", "CommonJS"], - ["JSDocs?", "JSDoc"], - ["Nodejs", "Node.js"], - ["React[ .]js", "React"], - ["SauceLabs", "Sauce Labs"], - ["StackOverflow", "Stack Overflow"], - ["styled ?components", "styled-components"], - ["HTTP[ /]2(?:\\.0)?", "HTTP/2"], - ["OS X", "macOS"], - ["Mac ?OS", "macOS"], - ["a npm", "an npm"], - "ECMAScript", - ["ES2015", "ES6"], - ["ES7", "ES2016"], - "3D", - ["3-D", "3D"], - "Ajax", - "API", - ["API[']?s", "APIs"], - "CSS", - "GIF", - " HTML ", - "HTTPS", - "IoT", - "I/O", - ["I-O", "I/O"], - "JPEG", - "MIME", - "OK", - "PaaS", - " PDF ", - "PNG", - "SaaS", - "URL", - ["URL[']?s", "URLs"], - ["an URL", "a URL"], - ["wi[- ]?fi", "Wi-Fi"], - "McKenzie", - "McConnell", - [" id", " ID"], - ["id[']?s", "IDs"], - ["backwards compatible", "backward compatible"], - ["build system(s?)", "build tool$1"], - ["CLI tool(s?)", "command-line tool$1"], - ["he or she", "they"], - ["he/she", "they"], - ["\\(s\\)he", "they"], - ["repo\\b", "repository"], - ["smartphone(s?)", "mobile phone$1"], - ["web[- ]?site(s?)", "site$1"], - ["auto[- ]complete", "autocomplete"], - ["auto[- ]format", "autoformat"], - ["auto[- ]fix", "autofix"], - ["auto[- ]fixing", "autofixing"], - ["back[- ]end(\\w*)", "backend$1"], - ["bug[- ]fix(es?)", "bugfix$1"], - ["change[- ]log(s?)", "changelog$1"], - ["check[- ]box(es?)", "checkbox$1"], - ["code[- ]base(es?)", "codebase$1"], - ["co[- ]locate(d?)", "colocate$1"], - ["end[- ]point(s?)", "endpoint$1"], - ["e[- ]mail(s?)", "email$1"], - ["file[- ]name(s?)", "filename$1"], - ["front[- ]end(\\w*)", "frontend$1"], - ["hack[- ]a[- ]thon(s?)", "hackathon$1"], - ["host[- ]name(s?)", "hostname$1"], - ["hot[- ]key(s?)", "hotkey$1"], - ["life[- ]cycle", "lifecycle"], - ["life[- ]stream(s?)", "lifestream$1"], - ["lock[- ]file(s?)", "lockfile$1"], - ["mark-up", "markup"], - ["meta[- ]data", "metadata"], - ["micro[- ]service(s?)", "microservice$1"], - ["name[- ]space(s?)", "namespace$1"], - ["pre[- ]condition(s?)", "precondition$1"], - ["pre[- ]defined", "predefined"], - ["pre[- ]release(s?)", "prerelease$1"], - ["re[- ]write", "rewrite"], - ["run[- ]time", "runtime"], - ["screen[- ]shot(s?)", "screenshot$1"], - ["screen[- ]?snap(s?)", "screenshot$1"], - ["sub[- ]class((?:es|ing)?)", "subclass$1"], - ["sub[- ]tree(s?)", "subtree$1"], - ["time[- ]stamp(s?)", "timestamp$1"], - ["touch[- ]screen(s?)", "touchscreen$1"], - ["user[- ]name(s?)", "username$1"], - ["walk[- ]through", "walkthrough"], - ["white[- ]space", "whitespace"], - ["wild[- ]card(s?)", "wildcard$1"], - ["css-?in-?js", "CSS in JS"], - ["code-?review(s?)", "code review$1"], - ["code-?splitting", "code splitting"], - ["end-?user(s?)", "end user$1"], - ["file-?type(s?)", "file type$1"], - ["micro-?frontend(s?)", "micro frontend$1"], - ["open-?source(ed?)", "open source$1"], - ["regexp?(s?)", "regular expression$1"], - ["style-?guide(s?)", "style guide$1"], - ["tree-?shaking", "tree shaking"], - ["source-?map(s?)", "source map$1"], - ["style-?sheet(s?)", "style sheet$1"], - ["user-?base", "user base"], - ["web-?page(s?)", "web page$1"], - ["built ?in", "built-in"], - ["client ?side", "client-side"], - ["command ?line", "command-line"], - ["end ?to ?end", "end-to-end"], - ["error ?prone", "error-prone"], - ["higher ?order", "higher-order"], - ["key[/ ]?value", "key-value"], - ["server ?side", "server-side"], - ["two ?steps?", "two-step"], - ["2 ?steps?", "two-step"], - ["(\\w+[^.?!]\\)? )base64", "$1base64"], - ["(\\w+[^.?!]\\)? )internet", "$1internet"], - ["(\\w+[^.?!]\\)? )stylelint", "$1stylelint"], - ["(\\w+[^.?!]\\)? )webpack", "$1webpack"], - ["(\\w+[^.?!]\\)? )npm", "$1npm"], - ["environemnt(s?)", "environment$1"], - ["pacakge(s?)", "package$1"], - ["tilda", "tilde"], - ["falsey", "falsy"] - ] - } - } -} diff --git a/ansible_collections/grafana/grafana/.yamllint b/ansible_collections/grafana/grafana/.yamllint deleted file mode 100644 index 53231c45aa..0000000000 --- a/ansible_collections/grafana/grafana/.yamllint +++ /dev/null @@ -1,15 +0,0 @@ ---- -yaml-files: - - "*.yaml" - - "*.yml" - - ".yamllint" - -ignore: - - node_modules - -extends: default - -rules: - line-length: - max: 150 - level: warning diff --git a/ansible_collections/grafana/grafana/CHANGELOG.rst b/ansible_collections/grafana/grafana/CHANGELOG.rst deleted file mode 100644 index 8ff5919af1..0000000000 --- a/ansible_collections/grafana/grafana/CHANGELOG.rst +++ /dev/null @@ -1,695 +0,0 @@ -============================= -Grafana.Grafana Release Notes -============================= - -.. contents:: Topics - -v6.0.6 -====== - -Major Changes -------------- - -- Restore default listen address and port in Mimir by @56quarters in https://github.com/grafana/grafana-ansible-collection/pull/456 -- fix broken Grafana apt repository addition by @kleini in https://github.com/grafana/grafana-ansible-collection/pull/454 - -v6.0.5 -====== - -Major Changes -------------- - -- Fallback to empty dict in case grafana_ini is undefined by @root-expert in https://github.com/grafana/grafana-ansible-collection/pull/403 -- Fix Mimir config file validation task by @Windos in https://github.com/grafana/grafana-ansible-collection/pull/428 -- Fixes issue by @digiserg in https://github.com/grafana/grafana-ansible-collection/pull/421 -- Import custom dashboards only when directory exists by @mahendrapaipuri in https://github.com/grafana/grafana-ansible-collection/pull/430 -- Updated YUM repo urls from `packages.grafana.com` to `rpm.grafana.com` by @DejfCold in https://github.com/grafana/grafana-ansible-collection/pull/414 -- Use credentials from grafana_ini when importing dashboards by @root-expert in https://github.com/grafana/grafana-ansible-collection/pull/402 -- do not skip scrape latest github version even in check_mode by @cmehat in https://github.com/grafana/grafana-ansible-collection/pull/408 -- fix datasource documentation by @jeremad in https://github.com/grafana/grafana-ansible-collection/pull/437 -- fix mimir_download_url_deb & mimir_download_url_rpm by @germebl in https://github.com/grafana/grafana-ansible-collection/pull/400 -- update catalog info by @Duologic in https://github.com/grafana/grafana-ansible-collection/pull/434 -- use deb822 for newer debian versions by @Lukas-Heindl in https://github.com/grafana/grafana-ansible-collection/pull/440 - -v6.0.4 -====== - -Major Changes -------------- - -- Add SUSE support to Alloy role by @pozsa in https://github.com/grafana/grafana-ansible-collection/pull/423 -- Fixes to foldersFromFilesStructure option by @root-expert in https://github.com/grafana/grafana-ansible-collection/pull/351 -- Migrate RedHat install to ansible.builtin.package by @r65535 in https://github.com/grafana/grafana-ansible-collection/pull/431 -- add macOS support to alloy role by @l50 in https://github.com/grafana/grafana-ansible-collection/pull/418 -- replace None with [] for safe length checks by @voidquark in https://github.com/grafana/grafana-ansible-collection/pull/426 - -v6.0.3 -====== - -Major Changes -------------- - -- Bump ansible-lint from 24.9.2 to 25.6.1 by @dependabot[bot] in https://github.com/grafana/grafana-ansible-collection/pull/391 -- Bump brace-expansion from 1.1.11 to 1.1.12 in the npm_and_yarn group across 1 directory by @dependabot[bot] in https://github.com/grafana/grafana-ansible-collection/pull/396 -- Changes for issue -- Update Mimir README.md by @Gufderald in https://github.com/grafana/grafana-ansible-collection/pull/397 -- declare collection dependencies by @ishanjainn in https://github.com/grafana/grafana-ansible-collection/pull/390 -- declare collection dependencies by @kleini in https://github.com/grafana/grafana-ansible-collection/pull/392 -- ensure IP assert returns boolean result by @aardbol in https://github.com/grafana/grafana-ansible-collection/pull/398 -- improve mimir/alloy examples playbook by @smCloudInTheSky in https://github.com/grafana/grafana-ansible-collection/pull/369 -- store APT key with .asc extension by @derhuerst in https://github.com/grafana/grafana-ansible-collection/pull/394 - -v6.0.2 -====== - -Major Changes -------------- - -- Add delete protection by @KucicM in https://github.com/grafana/grafana-ansible-collection/pull/381 -- Don't override defaults by @56quarters in https://github.com/grafana/grafana-ansible-collection/pull/382 -- Don't use a proxy when doing Alloy readiness check by @benoitc-croesus in https://github.com/grafana/grafana-ansible-collection/pull/375 -- Fix Mimir URL verify task by @parcimonic in https://github.com/grafana/grafana-ansible-collection/pull/358 -- Fix some regression introduced by v6 by @voidquark in https://github.com/grafana/grafana-ansible-collection/pull/376 -- Update when statement to test for dashboard files found by @hal58th in https://github.com/grafana/grafana-ansible-collection/pull/363 -- Use become false in find task by @santilococo in https://github.com/grafana/grafana-ansible-collection/pull/368 -- alloy_readiness_check_use_https by @piotr-g in https://github.com/grafana/grafana-ansible-collection/pull/359 -- declare collection dependencies by @kleini in https://github.com/grafana/grafana-ansible-collection/pull/386 -- ensure alerting provisioning directory exists by @derhuerst in https://github.com/grafana/grafana-ansible-collection/pull/364 -- mark configuration deployment task with `no_log` by @kkantonop in https://github.com/grafana/grafana-ansible-collection/pull/380 -- properly validate config by @pieterlexis-tomtom in https://github.com/grafana/grafana-ansible-collection/pull/354 -- template ingester and querier section by @Gufderald in https://github.com/grafana/grafana-ansible-collection/pull/371 -- use ansible_facts instead of variables by @kleini in https://github.com/grafana/grafana-ansible-collection/pull/365 - -v6.0.1 -====== - -Minor Changes -------------- - -- Remove Node modules from Ansible Collection build - -v6.0.0 -====== - -Major Changes -------------- - -- Add foldersFromFilesStructure option by @root-expert in https://github.com/grafana/grafana-ansible-collection/pull/326 -- Add tempo role by @CSTDev in https://github.com/grafana/grafana-ansible-collection/pull/323 -- Do not log grafana.ini contents when setting facts by @root-expert in https://github.com/grafana/grafana-ansible-collection/pull/325 -- Fix loki_operational_config section not getting rendered in config.yml by @olegkaspersky in https://github.com/grafana/grafana-ansible-collection/pull/330 -- Fix sectionless items edge case by @santilococo in https://github.com/grafana/grafana-ansible-collection/pull/303 -- Fix tags Inherit default vars by @MJurayev in https://github.com/grafana/grafana-ansible-collection/pull/341 -- Fix the markdown code fences for install command by @benmatselby in https://github.com/grafana/grafana-ansible-collection/pull/306 -- Grafana fix facts in main.yml by @voidquark in https://github.com/grafana/grafana-ansible-collection/pull/315 -- Make dashboard imports more flexible by @torfbolt in https://github.com/grafana/grafana-ansible-collection/pull/308 -- Make systemd create /var/lib/otel-collector by @pieterlexis-tomtom in https://github.com/grafana/grafana-ansible-collection/pull/336 -- Validate config by @pieterlexis-tomtom in https://github.com/grafana/grafana-ansible-collection/pull/327 -- add catalog-info file for internal dev catalog by @theSuess in https://github.com/grafana/grafana-ansible-collection/pull/317 -- add publish step to GitHub Actions workflow for Ansible Galaxy by @thelooter in https://github.com/grafana/grafana-ansible-collection/pull/340 -- add user module to create/update/delete grafana users by @mvalois in https://github.com/grafana/grafana-ansible-collection/pull/178 -- force temporary directory even in check mode for dashboards.yml by @cmehat in https://github.com/grafana/grafana-ansible-collection/pull/339 -- integrate sles legacy init-script support by @floerica in https://github.com/grafana/grafana-ansible-collection/pull/184 -- management of the config.river with the conversion of the config.yaml by @lbrule in https://github.com/grafana/grafana-ansible-collection/pull/149 -- use ansible_facts instead of ansible_* variables by @kleini in https://github.com/grafana/grafana-ansible-collection/pull/296 - -v5.7.0 -====== - -Major Changes -------------- - -- Ability to set custom directory path for \*.alloy config files by @voidquark in https://github.com/grafana/grafana-ansible-collection/pull/294 -- Add tests and support version latest by @pieterlexis-tomtom in https://github.com/grafana/grafana-ansible-collection/pull/299 -- Fix 'dict object' has no attribute 'path' when running with --check by @JMLX42 in https://github.com/grafana/grafana-ansible-collection/pull/283 -- Update grafana template by @santilococo in https://github.com/grafana/grafana-ansible-collection/pull/300 -- add loki bloom support by @voidquark in https://github.com/grafana/grafana-ansible-collection/pull/298 -- grafana.ini yaml syntax by @intermittentnrg in https://github.com/grafana/grafana-ansible-collection/pull/232 - -v5.6.0 -====== - -Major Changes -------------- - -- Adding "distributor" section support to mimir config file by @HamzaKhait in https://github.com/grafana/grafana-ansible-collection/pull/247 -- Allow alloy_user_groups variable again by @pjezek in https://github.com/grafana/grafana-ansible-collection/pull/276 -- Alloy Role Improvements by @voidquark in https://github.com/grafana/grafana-ansible-collection/pull/281 -- Bump ansible-lint from 24.6.0 to 24.9.2 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/270 -- Bump pylint from 3.2.5 to 3.3.1 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/273 -- Ensure check-mode works for otel collector by @pieterlexis-tomtom in https://github.com/grafana/grafana-ansible-collection/pull/264 -- Fix message argument of dashboard task by @Nemental in https://github.com/grafana/grafana-ansible-collection/pull/256 -- Update Alloy variables to use the `grafana_alloy_` namespace so they are unique by @Aethylred in https://github.com/grafana/grafana-ansible-collection/pull/209 -- Update README.md by @aioue in https://github.com/grafana/grafana-ansible-collection/pull/272 -- Update README.md by @aioue in https://github.com/grafana/grafana-ansible-collection/pull/275 -- Update main.yml by @aioue in https://github.com/grafana/grafana-ansible-collection/pull/274 -- add grafana_plugins_ops to defaults and docs by @weakcamel in https://github.com/grafana/grafana-ansible-collection/pull/251 -- add option to populate google_analytics_4_id value by @copolycube in https://github.com/grafana/grafana-ansible-collection/pull/249 -- fix ansible-lint warnings on Forbidden implicit octal value "0640" by @copolycube in https://github.com/grafana/grafana-ansible-collection/pull/279 - -v5.5.1 -====== - -Bugfixes --------- - -- Add check_mode: false to Loki "Scrape GitHub" Task by @winsmith in https://github.com/grafana/grafana-ansible-collection/pull/262 - -v5.5.0 -====== - -Major Changes -------------- - -- add support for extra args by @harryfinbow in https://github.com/grafana/grafana-ansible-collection/pull/259 -- mimir molecule should use ansible core 2.16 by @GVengelen in https://github.com/grafana/grafana-ansible-collection/pull/254 - -v5.4.1 -====== - -Major Changes -------------- - -- Updated promtail arch map for aarch64 matching by @gianmarco-mameli in https://github.com/grafana/grafana-ansible-collection/pull/257 - -v5.4.0 -====== - -Major Changes -------------- - -- Use a variable to control uninstall behavior instead of tags by @dobbi84 in https://github.com/grafana/grafana-ansible-collection/pull/253 - -v5.3.0 -====== - -Major Changes -------------- - -- Add a config check before restarting mimir by @panfantastic in https://github.com/grafana/grafana-ansible-collection/pull/198 -- Add support for configuring feature_toggles in grafana role by @LexVar in https://github.com/grafana/grafana-ansible-collection/pull/173 -- Backport post-setup healthcheck from agent to alloy by @v-zhuravlev in https://github.com/grafana/grafana-ansible-collection/pull/213 -- Bump ansible-lint from 24.2.3 to 24.5.0 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/207 -- Bump ansible-lint from 24.5.0 to 24.6.0 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/216 -- Bump braces from 3.0.2 to 3.0.3 in the npm_and_yarn group across 1 directory by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/218 -- Bump pylint from 3.1.0 to 3.1.1 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/200 -- Bump pylint from 3.1.1 to 3.2.2 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/208 -- Bump pylint from 3.2.2 to 3.2.3 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/217 -- Bump pylint from 3.2.3 to 3.2.5 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/234 -- Change from config.river to config.alloy by @cardasac in https://github.com/grafana/grafana-ansible-collection/pull/225 -- Fix Grafana Configuration for Unified and Legacy Alerting Based on Version by @voidquark in https://github.com/grafana/grafana-ansible-collection/pull/215 -- Fix env file location by @v-zhuravlev in https://github.com/grafana/grafana-ansible-collection/pull/211 -- Support adding alloy user to extra groups by @v-zhuravlev in https://github.com/grafana/grafana-ansible-collection/pull/212 -- Updated result.json['message'] to result.json()['message'] by @CPreun in https://github.com/grafana/grafana-ansible-collection/pull/223 -- readme styling & language improvements by @tigattack in https://github.com/grafana/grafana-ansible-collection/pull/214 - -v5.2.0 -====== - -Major Changes -------------- - -- Add a new config part to configure KeyCloak based auth by @he0s in https://github.com/grafana/grafana-ansible-collection/pull/191 -- Add promtail role by @voidquark in https://github.com/grafana/grafana-ansible-collection/pull/197 -- Bump ansible-lint from 24.2.2 to 24.2.3 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/195 - -v5.1.0 -====== - -Major Changes -------------- - -- Uninstall Step for Loki and Mimir by @voidquark in https://github.com/grafana/grafana-ansible-collection/pull/193 - -v5.0.0 -====== - -Major Changes -------------- - -- Add Grafana Loki role by @voidquark in https://github.com/grafana/grafana-ansible-collection/pull/188 -- Add Grafana Mimir role by @GVengelen in https://github.com/grafana/grafana-ansible-collection/pull/183 - -v4.0.0 -====== - -Major Changes -------------- - -- Add an Ansible role for Grafana Alloy by @ishanjainn in https://github.com/grafana/grafana-ansible-collection/pull/169 - -Minor Changes -------------- - -- Apply correct uid + gid for imported dashboards by @hypery2k in https://github.com/grafana/grafana-ansible-collection/pull/167 -- Bump ansible-lint from 24.2.0 to 24.2.1 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/164 -- Bump ansible-lint from 24.2.0 to 24.2.1 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/168 -- Bump black from 24.1.1 to 24.3.0 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/165 -- Clarify grafana-server configuration in README by @VGerris in https://github.com/grafana/grafana-ansible-collection/pull/177 -- Update description to match module by @brmurphy in https://github.com/grafana/grafana-ansible-collection/pull/179 - -v3.0.0 -====== - -Major Changes -------------- - -- Add an Ansible role for OpenTelemetry Collector by @ishanjainn in https://github.com/grafana/grafana-ansible-collection/pull/138 - -Minor Changes -------------- - -- Bump pylint from 3.0.3 to 3.1.0 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/158 -- Bump pylint from 3.0.3 to 3.1.0 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/161 -- Bump the pip group across 1 directories with 1 update by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/156 -- Bump yamllint from 1.33.0 to 1.35.1 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/155 -- Bump yamllint from 1.33.0 to 1.35.1 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/159 -- ExecStartPre and EnvironmentFile settings to system unit file by @fabiiw05 in https://github.com/grafana/grafana-ansible-collection/pull/157 -- datasources url parameter fix by @dergudzon in https://github.com/grafana/grafana-ansible-collection/pull/162 - -v2.2.5 -====== - -Release Summary ---------------- - -Grafana and Agent Role bug fixes and security updates - -Minor Changes -------------- - -- Add 'run_once' to download&unzip tasks by @v-zhuravlev in https://github.com/grafana/grafana-ansible-collection/pull/136 -- Adding `oauth_allow_insecure_email_lookup` to fix oauth user sync error by @hypery2k in https://github.com/grafana/grafana-ansible-collection/pull/132 -- Bump ansible-core from 2.15.4 to 2.15.8 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/137 -- Bump ansible-lint from 6.13.1 to 6.14.3 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/139 -- Bump ansible-lint from 6.14.3 to 6.22.2 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/142 -- Bump ansible-lint from 6.22.2 to 24.2.0 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/150 -- Bump jinja2 from 3.1.2 to 3.1.3 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/129 -- Bump pylint from 2.16.2 to 3.0.3 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/141 -- Bump yamllint from 1.29.0 to 1.33.0 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/140 -- Bump yamllint from 1.29.0 to 1.33.0 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/143 -- Bump yamllint from 1.33.0 to 1.34.0 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/151 -- Change handler to systemd by @v-zhuravlev in https://github.com/grafana/grafana-ansible-collection/pull/135 -- Fix links in grafana_agent/defaults/main.yaml by @PabloCastellano in https://github.com/grafana/grafana-ansible-collection/pull/134 -- Topic/grafana agent idempotency by @ohdearaugustin in https://github.com/grafana/grafana-ansible-collection/pull/147 - -v2.2.4 -====== - -Release Summary ---------------- - -Grafana and Agent Role bug fixes and security updates - -Minor Changes -------------- - -- Bump cryptography from 41.0.4 to 41.0.6 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/126 -- Drop curl check by @v-zhuravlev in https://github.com/grafana/grafana-ansible-collection/pull/120 -- Fix check mode for grafana role by @Boschung-Mecatronic-AG-Infrastructure in https://github.com/grafana/grafana-ansible-collection/pull/125 -- Fix check mode in Grafana Agent by @AmandaCameron in https://github.com/grafana/grafana-ansible-collection/pull/124 -- Update tags in README by @ishanjainn in https://github.com/grafana/grafana-ansible-collection/pull/121 - -v2.2.3 -====== - -Release Summary ---------------- - -Remove dependency on local-fs.target from Grafana Agent role - -Minor Changes -------------- - -- Remove dependency on local-fs.target from Grafana Agent role - -v2.2.2 -====== - -Release Summary ---------------- - -Grafana Role bug fixes and security updates - -Minor Changes -------------- - -- Bump cryptography from 41.0.3 to 41.0.4 -- Create missing notification directory in Grafana Role -- Remove check_mode from create local directory task in Grafana Role - -v2.2.1 -====== - -Release Summary ---------------- - -Allow alert resource provisioning in Grafana Role - -Minor Changes -------------- - -- Allow alert resource provisioning in Grafana Role - -v2.2.0 -====== - -Release Summary ---------------- - -Grafana Agent Role Updates - -Minor Changes -------------- - -- Use 'ansible_system' env variable to detect os typ in Grafana Agent Role -- hange grafana Agent Wal and Positions Directory in Grafana Agent Role - -v2.1.9 -====== - -Release Summary ---------------- - -Security Updates and Grafana Agent Version failure fixes - -Minor Changes -------------- - -- Add check for Curl and failure step if Agent Version is not retrieved -- Bump cryptography from 39.0.2 to 41.0.3 -- Bump semver from 5.7.1 to 5.7.2 -- Bump word-wrap from 1.2.3 to 1.2.5 -- Create local dashboard directory in check mode -- Update CI Testing -- Update Cloud Stack Module failures - -v2.1.8 -====== - -Release Summary ---------------- - -Fix grafana dashboard import in Grafana Role - -Minor Changes -------------- - -- Fix grafana dashboard import in Grafana Role - -v2.1.7 -====== - -Release Summary ---------------- - -YAML Fixes - -Minor Changes -------------- - -- YAML Fixes - -v2.1.6 -====== - -Release Summary ---------------- - -Grafana and Grafana Agent role updates - -Minor Changes -------------- - -- Add overrides.conf with CAP_NET_BIND_SERVICE for grafana-server unit -- Fix Grafana Dashboard Import for Grafana Role -- Make grafana_agent Idempotent -- Provisioning errors in YAML -- Use new standard to configure Grafana APT source for Grafana Role - -v2.1.5 -====== - -Release Summary ---------------- - -Update Grafana Agent Download varibale and ZIP file - -Minor Changes -------------- - -- Add Grafana Agent Version and CPU Arch to Downloaded ZIP in Grafana Agent Role -- Move _grafana_agent_base_download_url from /vars to /defaults in Grafana Agent Role - -v2.1.4 -====== - -Release Summary ---------------- - -Update Datasource Tests and minor fixes - -Minor Changes -------------- - -- Datasource test updates and minor fixes - -v2.1.3 -====== - -Release Summary ---------------- - -Update modules to fix failing Sanity Tests - -Minor Changes -------------- - -- indentation and Lint fixes to modules - -v2.1.2 -====== - -Release Summary ---------------- - -Idempotency Updates and minor api_url fixes - -Minor Changes -------------- - -- Fix Deleting datasources -- Fix alert_notification_policy failing on fresh instance -- Making Deleting folders idempotent -- Remove trailing slash automatically from grafana_url - -v2.1.1 -====== - -Release Summary ---------------- - -Update Download tasks in Grafana Agent Role - -Minor Changes -------------- - -- Update Download tasks in Grafana Agent Role - -v2.1.0 -====== - -Release Summary ---------------- - -Add Grafana Server role and plugins support on-prem Grafana - -Major Changes -------------- - -- Addition of Grafana Server role by @gardar -- Configurable agent user groups by @NormanJS -- Grafana Plugins support on-prem Grafana installation by @ishanjainn -- Updated Service for flow mode by @bentonam - -Minor Changes -------------- - -- Ability to configure date format in grafana server role by @RomainMou -- Avoid using shell for fetching latest version in Grafana Agent Role by @gardar -- Fix for invalid yaml with datasources list enclosed in quotes by @elkozmon -- Remove agent installation custom check by @VLZZZ -- Remove explicit user creation check by @v-zhuravlev - -v2.0.0 -====== - -Release Summary ---------------- - -Updated Grafana Agent Role - -Major Changes -------------- - -- Added Lint support -- Configs for server, metrics, logs, traces, and integrations -- Installation of the latest version -- Local installations when internet connection is not allowed -- Only download binary to controller once instead of hosts -- Skip install if the agent is already installed and the version is the same as the requested version -- Support for Grafana Agent Flow -- Validation of variables - -v1.1.1 -====== - -Release Summary ---------------- - -Updated return description and value for grafana.grafana.folder module - -Minor Changes -------------- - -- Updated the return message in grafana.grafana.folder module - -v1.1.0 -====== - -Release Summary ---------------- - -Added Role to deploy Grafana Agent on linux hosts - -Major Changes -------------- - -- Added Role for Grafana Agent - -v1.0.5 -====== - -Release Summary ---------------- - -Add Note to modules which don't support Idempotency - -Minor Changes -------------- - -- Added Note to datasource and dashboard module about not supporting Idempotency - -v1.0.4 -====== - -Release Summary ---------------- - -Bug fixes and idempotency fixes for modules - -Major Changes -------------- - -- All modules except dashboard and datasource modules now support idempotency - -Minor Changes -------------- - -- All modules use `missing_required_lib`` to compose the message for module.fail_json() when required library is missing from host - -Bugfixes --------- - -- Fixed cases where cloud_stack and alert_contact_point modules do not return a tuple when nothing in loop matches - -v1.0.3 -====== - -Minor Changes -------------- - -- Add a fail method to modules source code if `requests` library is not present -- Fixed markup for arg option in Documentation -- Updated Documentation with `notes` to specify if the check_mode feature is supported by modules -- removed `supports_check_mode=True` from source code of modules - -v1.0.2 -====== - -Release Summary ---------------- - -Documentation updates with updated description for modules - -v1.0.1 -====== - -Release Summary ---------------- - -Documentation updates with updated examples - -v1.0.0 -====== - -Release Summary ---------------- - -CI and testing improvements - -v0.0.7 -====== - -Release Summary ---------------- - -Documentation update for return values in `grafana.grafana.dashboard` - -v0.0.6 -====== - -Minor Changes -------------- - -- Idempotency updates to cloud_api_key and datasource modules - -v0.0.5 -====== - -Release Summary ---------------- - -Documentation update and code cleanup - -v0.0.4 -====== - -Bugfixes --------- - -- Fix an issue with `cloud_stack` idempotency - -v0.0.3 -====== - -Release Summary ---------------- - -Documentation update and code cleanup - -v0.0.2 -====== - -Release Summary ---------------- - -Updated input parameters description for all modules - -v0.0.1 -====== - -Release Summary ---------------- - -It's a release! First version to publish to Ansible Galaxy diff --git a/ansible_collections/grafana/grafana/CODEOWNERS b/ansible_collections/grafana/grafana/CODEOWNERS deleted file mode 100644 index 9074ce2c46..0000000000 --- a/ansible_collections/grafana/grafana/CODEOWNERS +++ /dev/null @@ -1,8 +0,0 @@ -./ @ishanjainn -/roles/grafana @gardar @ishanjainn -/roles/grafana_agent @ishanjainn @v-zhuravlev @gardar -/roles/alloy @ishanjainn @v-zhuravlev @gardar @voidquark -/roles/opentelemetry_collector @ishanjainn -/roles/loki @voidquark @ishanjainn -/roles/mimir @GVengelen @gardar @ishanjainn -/roles/promtail @voidquark @ishanjainn diff --git a/ansible_collections/grafana/grafana/FILES.json b/ansible_collections/grafana/grafana/FILES.json deleted file mode 100644 index 78da78b802..0000000000 --- a/ansible_collections/grafana/grafana/FILES.json +++ /dev/null @@ -1,2483 +0,0 @@ -{ - "files": [ - { - "name": ".", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": ".config", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": ".config/molecule", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": ".config/molecule/config.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "59790413f9b987046f0781a0fc8e3c9b145626024cd05a15424bd4bac19c3b29", - "format": 1 - }, - { - "name": "tools", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tools/setup.sh", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "56b5525e62563c65e6b5b71f27c797d60c1561e3b66578f999c65642f4ec9049", - "format": 1 - }, - { - "name": "tools/lint-yaml.sh", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "51c10eabc5c1360649fc5cab528151135f13d2bbc97cbe907d0e939d6e979e03", - "format": 1 - }, - { - "name": "tools/includes", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tools/includes/utils.sh", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "16a2ebce5931f01510c8e0d7597b632d017a0f10154a83f42d538926913e6eb5", - "format": 1 - }, - { - "name": "tools/includes/logging.sh", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "e90aa1f7b29d85263926e228f4321fa31304448f6ce2ff8d48a0e461d076474b", - "format": 1 - }, - { - "name": "tools/lint-shell.sh", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "2d969bd175bfdf137539a5f4d97cfc2644dd5c81c677e2c40a40082af9333e36", - "format": 1 - }, - { - "name": "tools/lint-text.sh", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "0c01a1e5d52ba8a65e4417d641d1958cfe129112562cb74e11131f8846e6db95", - "format": 1 - }, - { - "name": "tools/lint-ansible.sh", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "87867490595fd8cb5fcd09337f90c8b9135dce7864c0af10c72960081ca0981d", - "format": 1 - }, - { - "name": "tools/lint-markdown.sh", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "6f58c8dfd68ddf75eea250ea0f44ad9e9b567deeedacc70ea357f2cd4d92037c", - "format": 1 - }, - { - "name": "tools/lint-editorconfig.sh", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "4c438197ed79286cc7ea91cebcbeaaa53ccd5a0b3f04dc66e38c998ebccad271", - "format": 1 - }, - { - "name": ".textlintrc", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "89110cd16e278a39577eae8098d6dd2f4d6ea094b164163e012e31d021ea301e", - "format": 1 - }, - { - "name": "LICENSE", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "8b1ba204bb69a0ade2bfcf65ef294a920f6bb361b317dba43c7ef29d96332b9b", - "format": 1 - }, - { - "name": "requirements.txt", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a135d423a3b683d3448f933e0ac4981cb9b53413fe13962dcef9d3cc15af5c4a", - "format": 1 - }, - { - "name": ".shellcheckrc", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "60a0a1e54cc805233096790628fd1ff4b629bf389eeef72d8194c331e7ae1912", - "format": 1 - }, - { - "name": "plugins", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "plugins/modules", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "plugins/modules/user.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "dbccfa5a0c89c3ea76b7e761a4f4ad05bcab76a4fa0884244659ee90bac14f03", - "format": 1 - }, - { - "name": "plugins/modules/cloud_api_key.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "ebbfbeceb34bb531249efb27262ab75181a8900f5c36c6a87064af0ab50ceaa3", - "format": 1 - }, - { - "name": "plugins/modules/folder.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "1827a9e4437b4ee582854170071181a9f5a0c3d95638ea65e206377b4201e039", - "format": 1 - }, - { - "name": "plugins/modules/alert_contact_point.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "e2f809303c82d6cc8f7dbce84d89877af8adb7b4ce1e8ac6f8ef5937bcd966e8", - "format": 1 - }, - { - "name": "plugins/modules/cloud_stack.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "166f88bab2700a2583b1d81a5ca4013f59cdf46628225af9c7f2f8e8d0bd721c", - "format": 1 - }, - { - "name": "plugins/modules/datasource.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "0cd8f1463b943ba8c930ad5803a22a96a04bacc4f7cb30e452d6541b24e9e0a6", - "format": 1 - }, - { - "name": "plugins/modules/dashboard.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "85f1f71a5dadfbec6e8e76fe5e4ffc4fa160230ba2dd9e0531e1c3fac6a33ea0", - "format": 1 - }, - { - "name": "plugins/modules/cloud_plugin.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "0c43025843f1676aa318b51e7baeaf2287234a3d48ebd1390ea593f89a7eb49f", - "format": 1 - }, - { - "name": "plugins/modules/alert_notification_policy.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "08f8cb0771a570847101227438f631d71a84c8ac9622068ab3e4232fae1da381", - "format": 1 - }, - { - "name": "Makefile", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "8be8db2081029f79bc49bca1f6d8f71a5be2ce62b8aa2e5d7c6782c60db284a4", - "format": 1 - }, - { - "name": "CODEOWNERS", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "1e09cf7162103a1689404cb3c5a9ca2b6a135168d6d563f5d08006075ec32c73", - "format": 1 - }, - { - "name": ".yamllint", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "8a17bf0fc69dcfd57f1c2f0ab83dd0f276d7bb29edfbf6b7433f201f6abbeece", - "format": 1 - }, - { - "name": "tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/integration", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/integration/requirements.txt", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "ec72420df5dfbdce4111f715c96338df3b7cb75f58e478d2449c9720e560de8c", - "format": 1 - }, - { - "name": "tests/integration/targets", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/integration/targets/create_cloud_stack", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/integration/targets/create_cloud_stack/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/integration/targets/create_cloud_stack/tasks/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "1f7c98fab7394b31039b9df11a55837b58730bf54d45f9d6e65998340189e64a", - "format": 1 - }, - { - "name": "tests/integration/targets/datasource", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/integration/targets/datasource/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/integration/targets/datasource/tasks/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "718567f42c8a703129aa43a1ff5e8e7753c1c10ada929dde5bde7a8597186bf5", - "format": 1 - }, - { - "name": "tests/integration/targets/delete_cloud_stack", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/integration/targets/delete_cloud_stack/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/integration/targets/delete_cloud_stack/tasks/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "5d44026e2c68a4714eb678ae9a40478db8576cdf1969d689bf5b00d9dc7b147b", - "format": 1 - }, - { - "name": "tests/integration/targets/alert_contact_point", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/integration/targets/alert_contact_point/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/integration/targets/alert_contact_point/tasks/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "3321d37a53b34abef1f6f3993c10e4697fc04fd7c901e0876dce13daea0450cb", - "format": 1 - }, - { - "name": "tests/integration/targets/folder", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/integration/targets/folder/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/integration/targets/folder/tasks/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "eeada75fe04b1a9a7d5354aa0508fcbda37e82ea50a9a6cbf2645e65de25abfb", - "format": 1 - }, - { - "name": "tests/integration/targets/user", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/integration/targets/user/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/integration/targets/user/tasks/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "2a6e22b96daec82286b98fef5cdda70faff61e3c2037e2a7220bcd2e9cc59307", - "format": 1 - }, - { - "name": "tests/integration/targets/dashboard", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/integration/targets/dashboard/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/integration/targets/dashboard/tasks/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "606bda87aa90a67bdaf0cb03fb29fc02033c2b245b7f2f0fc993305c90397e78", - "format": 1 - }, - { - "name": "tests/integration/targets/molecule-grafana-alternative", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/integration/targets/molecule-grafana-alternative/runme.sh", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "2879c89b4f2adf554de77e72bb21681933f1c3ffad0ff6097a11e40c97bd78c1", - "format": 1 - }, - { - "name": "tests/integration/targets/cloud_api_key", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/integration/targets/cloud_api_key/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/integration/targets/cloud_api_key/tasks/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "6ab83417398137412541c07bc2e4461435d1b2393b3a8108f6c7380dbee71944", - "format": 1 - }, - { - "name": "tests/integration/targets/alert_notification_policy", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/integration/targets/alert_notification_policy/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/integration/targets/alert_notification_policy/tasks/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "be57120a8025ae23e8715ba7063460f8556de076c97d65a7f3d6cd2d6c1d33bf", - "format": 1 - }, - { - "name": "tests/integration/targets/molecule-grafana-default", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/integration/targets/molecule-grafana-default/runme.sh", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "2879c89b4f2adf554de77e72bb21681933f1c3ffad0ff6097a11e40c97bd78c1", - "format": 1 - }, - { - "name": "tests/integration/targets/cloud_plugin", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/integration/targets/cloud_plugin/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/integration/targets/cloud_plugin/tasks/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "7eb8a48e85835bc5154d9e6cc867e22e8ec0aca3dbc6b43f385bb6f2370a4486", - "format": 1 - }, - { - "name": "meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "meta/runtime.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "47e045205cccf3dab2959ce5a559aaea3e4283d3ed07fb1fb0392d8fb70f4be5", - "format": 1 - }, - { - "name": "roles", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/loki", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/loki/vars", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/loki/vars/RedHat.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "f394612587593187d93e3922eec14f3b5de21318a387731623fb3c014fccb9bd", - "format": 1 - }, - { - "name": "roles/loki/vars/Debian.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "ac758b3fba0197537c49b009a6d26c289499e064740f6436f3d0033c5146c161", - "format": 1 - }, - { - "name": "roles/loki/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/loki/tasks/uninstall.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "d85303e200fcf7376c2370a091624ca5d7a44c37c1ec67316663ce9cbe49e071", - "format": 1 - }, - { - "name": "roles/loki/tasks/deploy.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "26c1495550cf3e9731bd04cb61cbb6dcd210283457037a78e2a528e0323777a4", - "format": 1 - }, - { - "name": "roles/loki/tasks/setup-Debian.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "b9d4bc07b290530bf5e61ac0abb65480f6dd276d3495517515aa6f71d1d81797", - "format": 1 - }, - { - "name": "roles/loki/tasks/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "c4270cb7f8a7ec74555aea31bbd0c0f39967fd2be2b84ad995d59279b5231ac7", - "format": 1 - }, - { - "name": "roles/loki/tasks/setup-RedHat.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "1fade302a0c20ed1a816a7138263f0f63188b4f57f8a7dc25f68e883649d59c9", - "format": 1 - }, - { - "name": "roles/loki/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/loki/meta/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a9533d3d849adf6bb82558951ee09fed8c9476b12a18a75943e759a5dc8eb073", - "format": 1 - }, - { - "name": "roles/loki/README.md", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "facc42a3dbe7e34f8962f9b46284ecc093f592720eeca7d063cb3a21a7d45549", - "format": 1 - }, - { - "name": "roles/loki/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/loki/defaults/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "0e9aabb9d0e1acc2c935d23f5bf527ab5ea1cd0570d7a29f24795387c0ba0f56", - "format": 1 - }, - { - "name": "roles/loki/templates", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/loki/templates/rules.yml.j2", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "524a654736d43d183f035daa7868594f428775a1aad7790fd970406ed44a7b64", - "format": 1 - }, - { - "name": "roles/loki/templates/config.yml.j2", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "fab3d42e3625c1bfcee019e62bcaf790ae1a05af8bf211456e99858faac9328b", - "format": 1 - }, - { - "name": "roles/loki/molecule", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/loki/molecule/default", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/loki/molecule/default/molecule.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "f2fb19d8e5973db9cd226780c4ecf9ae5947286626de40224c1228a6463b1114", - "format": 1 - }, - { - "name": "roles/loki/molecule/default/converge.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "b95320fa1dc8f93e4033f5d71f9334aef2148629837022bac6364e3e27078cdb", - "format": 1 - }, - { - "name": "roles/loki/handlers", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/loki/handlers/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "079093b3b6b2863893eaab7343eaa99ebf01a094961b18c15ed00ce462068d3e", - "format": 1 - }, - { - "name": "roles/opentelemetry_collector", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/opentelemetry_collector/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/opentelemetry_collector/tasks/configure.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "84b2c8f184b5c728e9034711c0847bd3360f8cbcecf8e4ff7eb9fdcfb56967d4", - "format": 1 - }, - { - "name": "roles/opentelemetry_collector/tasks/service.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "b0854c515fcf0c91a3a91066163a4b6acf1f66daa226406926c17679b5367f81", - "format": 1 - }, - { - "name": "roles/opentelemetry_collector/tasks/install.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "669aeda05c6aeb21ece810252da30835521165de1b8751f73ffea34784693795", - "format": 1 - }, - { - "name": "roles/opentelemetry_collector/tasks/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "bfcb34af928fe8e68f24db9957bc22baf9979b2c4402de34b93a19f8b06397e0", - "format": 1 - }, - { - "name": "roles/opentelemetry_collector/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/opentelemetry_collector/meta/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "de3d17460f2f7473558ee9747f18246f51a1603699c4925e51401c625ab59307", - "format": 1 - }, - { - "name": "roles/opentelemetry_collector/README.md", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "bf47367cf80d78b306e11e15a767c44b2e2ac0f1062734c416a8c1ebf731b11e", - "format": 1 - }, - { - "name": "roles/opentelemetry_collector/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/opentelemetry_collector/defaults/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "fee604a3e44317a009938d708f256cde9f2cba860674e6abf9cf03f3180a07d9", - "format": 1 - }, - { - "name": "roles/opentelemetry_collector/templates", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/opentelemetry_collector/templates/otel_collector.service.j2", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "4151782c8b320ddc7410d5ce653afcd874af2a2813f25a52c658e609232e7286", - "format": 1 - }, - { - "name": "roles/opentelemetry_collector/templates/otel_collector_config.yml.j2", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "25bfc9deadd0a49a3fa1ce78f299ddc78219b60ca1be90693ed5a211c7f16ef3", - "format": 1 - }, - { - "name": "roles/opentelemetry_collector/molecule", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/opentelemetry_collector/molecule/default-check-first", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/opentelemetry_collector/molecule/default-check-first/molecule.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "2e8726eb2a9a3387d1345bb52544cc84272e8fb05267f5b256943f38568d1fdc", - "format": 1 - }, - { - "name": "roles/opentelemetry_collector/molecule/default-check-first/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/opentelemetry_collector/molecule/default-check-first/tests/test_default.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "0073627f68771e285d6d51cb85479c86096fe22605291fd234fb60750ec13156", - "format": 1 - }, - { - "name": "roles/opentelemetry_collector/molecule/default-check-first/converge.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "4fdc9f830f35247eba6a6e8483f9bcd4493309ad6392e12e50bc8ac146287152", - "format": 1 - }, - { - "name": "roles/opentelemetry_collector/molecule/default", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/opentelemetry_collector/molecule/default/molecule.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "b2141fd5357e9fabdf337a73e6677bb2f9e5d738baedb728230b78c03c99fe0c", - "format": 1 - }, - { - "name": "roles/opentelemetry_collector/molecule/default/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/opentelemetry_collector/molecule/default/tests/test_default.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "b23d9f0cadf56c5409fb02ce9430078086e3d36b5ddb8c389537eab5833fc3fd", - "format": 1 - }, - { - "name": "roles/opentelemetry_collector/molecule/default/converge.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "4fdc9f830f35247eba6a6e8483f9bcd4493309ad6392e12e50bc8ac146287152", - "format": 1 - }, - { - "name": "roles/opentelemetry_collector/molecule/latest", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/opentelemetry_collector/molecule/latest/molecule.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "b2141fd5357e9fabdf337a73e6677bb2f9e5d738baedb728230b78c03c99fe0c", - "format": 1 - }, - { - "name": "roles/opentelemetry_collector/molecule/latest/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/opentelemetry_collector/molecule/latest/tests/test_default.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "0073627f68771e285d6d51cb85479c86096fe22605291fd234fb60750ec13156", - "format": 1 - }, - { - "name": "roles/opentelemetry_collector/molecule/latest/converge.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "0ea58dd65767b4070ec15d9a77d8a5e5479f57d47223861dff39c8f7348a9170", - "format": 1 - }, - { - "name": "roles/opentelemetry_collector/molecule/non-contrib", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/opentelemetry_collector/molecule/non-contrib/molecule.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "b2141fd5357e9fabdf337a73e6677bb2f9e5d738baedb728230b78c03c99fe0c", - "format": 1 - }, - { - "name": "roles/opentelemetry_collector/molecule/non-contrib/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/opentelemetry_collector/molecule/non-contrib/tests/test_default.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "05ae78fed5975b9aab9f5844e194d4bb2444543fa605359cb90a0d288eb1c86a", - "format": 1 - }, - { - "name": "roles/opentelemetry_collector/molecule/non-contrib/converge.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "ad998bb682100df580346e77408f525f59ce8ec3a528b487b85a25835072c644", - "format": 1 - }, - { - "name": "roles/opentelemetry_collector/handlers", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/opentelemetry_collector/handlers/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a5e2367beaf276f16440801197e4de1df40edc2b88a8a8cb5c6327c74464dc84", - "format": 1 - }, - { - "name": "roles/mimir", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/mimir/vars", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/mimir/vars/.gitkeep", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "format": 1 - }, - { - "name": "roles/mimir/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/mimir/tasks/uninstall.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "ffd027c9ae756e0728246dcfb93527af68d320c3095f53e4f90a8a0402b60818", - "format": 1 - }, - { - "name": "roles/mimir/tasks/deploy.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "410cb2562d865c98ba13304788d77ba7468330b4a932c63b7916a52ea7040dc7", - "format": 1 - }, - { - "name": "roles/mimir/tasks/setup-Debian.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "eff282795fb43bda8db141d0ff6e9bf35e90ed703d51ba913cc445043cffe962", - "format": 1 - }, - { - "name": "roles/mimir/tasks/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "607c36ec13511951520a162f5d82f2005d9585ae38953a5c70fc289e4a9f0577", - "format": 1 - }, - { - "name": "roles/mimir/tasks/setup-Redhat.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "03fcced9ddeccdffe4ddb3ed2f9d48fb857aa7b7273d5992fb8369a3c5213171", - "format": 1 - }, - { - "name": "roles/mimir/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/mimir/meta/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "222aacd94d53179d52908ed830973bf2629f4a6e0e1d1ee49f159162dfee6fdd", - "format": 1 - }, - { - "name": "roles/mimir/README.md", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "212258f9434167e2133d610568ef7366dfce6de12513b756471d88e9c8dc9ca3", - "format": 1 - }, - { - "name": "roles/mimir/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/mimir/defaults/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "99be8e0541edd984f68d746091912807256a1c7a0041652a3e30c3527d8809c1", - "format": 1 - }, - { - "name": "roles/mimir/files", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/mimir/files/.gitkeep", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "format": 1 - }, - { - "name": "roles/mimir/templates", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/mimir/templates/.gitkeep", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "format": 1 - }, - { - "name": "roles/mimir/templates/config.yml.j2", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "33a402aeb143628d337909481994f86e1f5a34f69f2a7c450e54a2183f685411", - "format": 1 - }, - { - "name": "roles/mimir/molecule", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/mimir/molecule/default", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/mimir/molecule/default/molecule.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "87e569bbddb1f1f702c5dc3fc9e580e48aa7a0eb262e8027cdf130da01bf13d9", - "format": 1 - }, - { - "name": "roles/mimir/molecule/default/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/mimir/molecule/default/tests/test_default.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "2b956a72585ad5b7caa162e3078db1af7ee33d266cd9890f87057875ea9746f1", - "format": 1 - }, - { - "name": "roles/mimir/molecule/default/converge.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "08280357d62d228a056fcf031d2dca1675c2a38aa090567838c5d812f572854c", - "format": 1 - }, - { - "name": "roles/mimir/handlers", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/mimir/handlers/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a49c94f2932683da280c81f687145642fdaa4681e073ed9dbca4630ce5d3e70f", - "format": 1 - }, - { - "name": "roles/alloy", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/alloy/vars", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/alloy/vars/RedHat.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "5eb6f619c3275fa5aa96867f74ff73e3a85aae9d9f6dee637e10edc08d4a29a2", - "format": 1 - }, - { - "name": "roles/alloy/vars/Suse.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "5eb6f619c3275fa5aa96867f74ff73e3a85aae9d9f6dee637e10edc08d4a29a2", - "format": 1 - }, - { - "name": "roles/alloy/vars/Darwin.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a1643c85df7377a8c97342c1646580694442b29ef23167504622b452d57b0b8f", - "format": 1 - }, - { - "name": "roles/alloy/vars/Debian.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "21aa98b24b68ca478a66eb83c577fa8c5efbf7176a20c27ad2a0795f271bf565", - "format": 1 - }, - { - "name": "roles/alloy/vars/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "863ec787d94796fc2ea7b1fa1f16d33a08e29f2448a3588e7c0a9480e8165d85", - "format": 1 - }, - { - "name": "roles/alloy/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/alloy/tasks/preflight.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a6fe1a9ce9635cee542b477d6cdb0deb3615aa64036fba14bc0ec7742aa77146", - "format": 1 - }, - { - "name": "roles/alloy/tasks/uninstall.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "6d8347407212848dbfc83c4f0429eba633b4f3d7d614281ba4352002105461da", - "format": 1 - }, - { - "name": "roles/alloy/tasks/deploy.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "8c5a1050e69b473c1ba5ce774cae689d1b15f3c70aad357889feb35a503093e9", - "format": 1 - }, - { - "name": "roles/alloy/tasks/setup-Debian.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "39c25d3aca1e019411d978d6cd24a47938ac733255d39871f81c54cf3a5189b6", - "format": 1 - }, - { - "name": "roles/alloy/tasks/setup-Darwin.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "ac418849af311d6351d0ca3e5a632e0f6dac93980f058ccf65d2ae0062559666", - "format": 1 - }, - { - "name": "roles/alloy/tasks/setup-Suse.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "8c1e50ac43b7873c04414b1e58807eae3ef06fdd13e7fdc895296033d40f9f6d", - "format": 1 - }, - { - "name": "roles/alloy/tasks/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "b889117721a268ce6f7ff6fdfb9241be234495dfa11a1f70f0c4ebc00a885e26", - "format": 1 - }, - { - "name": "roles/alloy/tasks/setup-RedHat.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "c21142d2d8498ec1d8e459840538627486cc77aaedefed665b1d22bcc80aaf64", - "format": 1 - }, - { - "name": "roles/alloy/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/alloy/meta/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "1850078f19e0eb71a3685da37b19af7cdec2871b48f007fc68e18519f87d1e89", - "format": 1 - }, - { - "name": "roles/alloy/README.md", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "3ee3b0e5af6601f49cee6ec0904a71824a61c508b2a1f1538d380190b5809b01", - "format": 1 - }, - { - "name": "roles/alloy/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/alloy/defaults/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "4c73e65c66e95bff83cfc0206d95edb787fcdf9369319e199b0f786ef2297776", - "format": 1 - }, - { - "name": "roles/alloy/templates", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/alloy/templates/override.conf.j2", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "c38b148ef1d5fece4b3a3a5875ce0a1b0b17da3231f668b5051b05a52cb46cf0", - "format": 1 - }, - { - "name": "roles/alloy/templates/config.alloy.j2", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "4cd49253f97d5dd4796a6f03c70a33608b5db9e48fa1ff1567a9af06789c62cd", - "format": 1 - }, - { - "name": "roles/alloy/templates/alloy.j2", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "68f77ac2f0c2d05d29a1466f233289238923d18e9eb0eb193b765b8d5c9664cb", - "format": 1 - }, - { - "name": "roles/alloy/molecule", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/alloy/molecule/default", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/alloy/molecule/default/molecule.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "f2fb19d8e5973db9cd226780c4ecf9ae5947286626de40224c1228a6463b1114", - "format": 1 - }, - { - "name": "roles/alloy/molecule/default/converge.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "f777298cd5e54cbbfed852027c8350e7a9c4d5462dc9b8dd51a7660ff6e9e339", - "format": 1 - }, - { - "name": "roles/alloy/handlers", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/alloy/handlers/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "321bc645401b1d43881d14054ff6fdcb78b085af00ad6125f504bd0e696328b5", - "format": 1 - }, - { - "name": "roles/grafana_agent", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/grafana_agent/vars", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/grafana_agent/vars/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "b79d04ea2a1b584531ec6a89bbeebd4490c8c52d50db2c1c58053218bf1a40a1", - "format": 1 - }, - { - "name": "roles/grafana_agent/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/grafana_agent/tasks/install", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/grafana_agent/tasks/install/directories.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "58cac80f91405cd323266b7435e58e656a16740ad9ac27f31b7167a1e6de84dd", - "format": 1 - }, - { - "name": "roles/grafana_agent/tasks/install/user-group.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "6c36f9389415ee98e51bb7727045d5f6fae4e24a31ea62a74d48922af84abfd1", - "format": 1 - }, - { - "name": "roles/grafana_agent/tasks/install/download-install.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "8771b974c8e7592292ee66941c5c68e49b196408ea4b5655b80b849802255770", - "format": 1 - }, - { - "name": "roles/grafana_agent/tasks/install/local-install.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "73d7d9cb92f3f837ac941d160296ee510fe4598685c1c67303c9246f459268aa", - "format": 1 - }, - { - "name": "roles/grafana_agent/tasks/ga-started.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "03c283e74fef8eac9f628c37cb795d87bdbdb4c804acb2f2924813fb31ce6b82", - "format": 1 - }, - { - "name": "roles/grafana_agent/tasks/configure.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "8f34f15d924d4d56f1f5a427e92b208da92a6e82cd8bfce162a1ad3491d4622f", - "format": 1 - }, - { - "name": "roles/grafana_agent/tasks/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "bb0018dd15d6c1deb675428d0088213b3a6bbd3bbbc795e7c847a2346b05ab9d", - "format": 1 - }, - { - "name": "roles/grafana_agent/tasks/install.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "aea56415837b4074ea9ec2e442bdc3eb509caf3b0574b54897c03b76b7eb190d", - "format": 1 - }, - { - "name": "roles/grafana_agent/tasks/preflight.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "6518c23dabc92eb772132cd2dbb764ef381b93df8535ee59d7d5a4f0a39a24d4", - "format": 1 - }, - { - "name": "roles/grafana_agent/tasks/preflight", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/grafana_agent/tasks/preflight/download.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "5e90c5e06f97a8d2fa8398c6ab4f18857ad73553249558dfacc28f382a53502e", - "format": 1 - }, - { - "name": "roles/grafana_agent/tasks/preflight/vars.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "87d1a4c7f9a02423c6cecd4927e79c89e126287d5671d26ae391a70de9a34a1a", - "format": 1 - }, - { - "name": "roles/grafana_agent/tasks/preflight/systemd.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "bb3204fcfd6122d33b27d0986fa80aca2536b1b4c6b237b0ca36c94a3bae95d5", - "format": 1 - }, - { - "name": "roles/grafana_agent/tasks/preflight/install.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "53c0a1d31af571b48eea830d1d53ca6f91d2e0149b98882af4240ba6a9e1e5bf", - "format": 1 - }, - { - "name": "roles/grafana_agent/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/grafana_agent/meta/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "00ec33a60eed132359ae684f2602eaafd80c67bc8dc8103d4558857b37a89df5", - "format": 1 - }, - { - "name": "roles/grafana_agent/README.md", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "db482b9928a877cd5622797a030a67f964f1dc3bc9a6d56291e16523c0260f90", - "format": 1 - }, - { - "name": "roles/grafana_agent/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/grafana_agent/defaults/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "8ae44ab181bd1825f041ec8d4048e21708d142965068ecb883793b5b696549ff", - "format": 1 - }, - { - "name": "roles/grafana_agent/templates", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/grafana_agent/templates/EnvironmentFile.j2", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "84e17b3fe98509c19641c7ccc56b3fbd42d32892870350ca561b80b41734a063", - "format": 1 - }, - { - "name": "roles/grafana_agent/templates/config.yaml.j2", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "cfa09ee60dc6869ea28d6f4b81a10b8499ddc91b0c2715e863dd967927b18459", - "format": 1 - }, - { - "name": "roles/grafana_agent/templates/grafana-agent.service.j2", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "13e5dc455a1311ef9f11fb8aeeb2c2c7d990935a51cd267c7d532ddaa6a7c10a", - "format": 1 - }, - { - "name": "roles/grafana_agent/handlers", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/grafana_agent/handlers/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "f04d1539911e34d8d0b41ecb1148195bb6e05f7d8a01bd7d1737b15a201a8d25", - "format": 1 - }, - { - "name": "roles/promtail", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/promtail/vars", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/promtail/vars/RedHat.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "cc2aacac69f22ee310848d401b7233841de4fadac08429f4a2b27c801c242007", - "format": 1 - }, - { - "name": "roles/promtail/vars/Debian.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "cea2932d24a235426e1b46128d8f0ce172511cf5f37eb3f392a60d9b922da34e", - "format": 1 - }, - { - "name": "roles/promtail/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/promtail/tasks/uninstall.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "0d9ef472ec04e41aac9dccbfa984f3aa7fc0c602dc3d24648b2394ac6134128a", - "format": 1 - }, - { - "name": "roles/promtail/tasks/deploy.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "7e095b42e83e2ea4ef39b55241e2f4922780ca607b330b3721bdf10035a93b1a", - "format": 1 - }, - { - "name": "roles/promtail/tasks/setup-Debian.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "c7e439a199b159b97cd8ea220a69ad225fcb1e9f5745a53b7dc9cc33b016b113", - "format": 1 - }, - { - "name": "roles/promtail/tasks/acl_configuration.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "9c6917d51e9f3b5483a3d0395f286f80921952e07fc618141d4fd7c5862fb810", - "format": 1 - }, - { - "name": "roles/promtail/tasks/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "c8fed29064f297cc0a63ea4edf9dbb20124a3cb0b785f45f436495e806e7f94a", - "format": 1 - }, - { - "name": "roles/promtail/tasks/setup-RedHat.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "c3085dc8e0679de7c6e59b4213f8658f5f6ca2df15009497ff7fdc93a709a661", - "format": 1 - }, - { - "name": "roles/promtail/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/promtail/meta/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "f554dff3877cb2ff20aa904cd7673960b2a6020542545990d40be2e50d9119a6", - "format": 1 - }, - { - "name": "roles/promtail/README.md", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "d4ec50a7329970762cfdc2010a2310b23fc5b15e49e681bf1e4c9823227a6f41", - "format": 1 - }, - { - "name": "roles/promtail/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/promtail/defaults/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "8301a0470be4434e88638c5840172a3b7bc76ba9144efc7c7a37d6a1357bbf82", - "format": 1 - }, - { - "name": "roles/promtail/templates", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/promtail/templates/promtail.service.j2", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "8417ab8f8c0400a8255599d7299f4ac9b2a93afcfd9012d300831a4bb9acdfe1", - "format": 1 - }, - { - "name": "roles/promtail/templates/config.yml.j2", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "7a60b181374ac3404f41dd2c81fba86f95d007db5980fb5416d0939e311a5b10", - "format": 1 - }, - { - "name": "roles/promtail/templates/promtail_acl.j2", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a337a0e3744d0482abf95ee2100a97c457c06fda93a0104f909c8aa366035580", - "format": 1 - }, - { - "name": "roles/promtail/molecule", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/promtail/molecule/default", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/promtail/molecule/default/molecule.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "f2fb19d8e5973db9cd226780c4ecf9ae5947286626de40224c1228a6463b1114", - "format": 1 - }, - { - "name": "roles/promtail/molecule/default/converge.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "755256d62289b14c360d0825818fb6430ac08862b0e58812bf17faafd5587141", - "format": 1 - }, - { - "name": "roles/promtail/handlers", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/promtail/handlers/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "90dcad6dfb252014c1e5550c359a721d897aad56a4677b5d62329255c60a002e", - "format": 1 - }, - { - "name": "roles/grafana", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/grafana/vars", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/grafana/vars/distro", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/grafana/vars/distro/redhat.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "54082a7385b630fb01d158412031ccdb3ab724ec0920d2b938fc2abfe5f231b1", - "format": 1 - }, - { - "name": "roles/grafana/vars/distro/suse.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "9880f2ab2126a4409db3b69f70c44eb0bf0e2b8eb607ffbeff161fd04bed8f81", - "format": 1 - }, - { - "name": "roles/grafana/vars/distro/debian.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "14f9b18cb343938cd8e414361748140261c4a36ef6affa86d233912d99cd93d9", - "format": 1 - }, - { - "name": "roles/grafana/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/grafana/tasks/preflight.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "fa41682d8c796efc486c9560707616a4b2f06fb3c2c51ab211b3855365325fa8", - "format": 1 - }, - { - "name": "roles/grafana/tasks/configure.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "9f84da00a93af7fac6f7d88c42855c825fb6406f9e18db8f2d6fef0087eeccc0", - "format": 1 - }, - { - "name": "roles/grafana/tasks/dashboards.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "f0bec3097daf078bc96aeefe6b415411a50c1b0859aedbaa371c90d6e10fe345", - "format": 1 - }, - { - "name": "roles/grafana/tasks/notifications.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "123f29864faaa40d8ea0f5ff4d4df7293b396910a800acc35d48760554d4b3ba", - "format": 1 - }, - { - "name": "roles/grafana/tasks/api_keys.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "f061076854651264033730689cbd794dc41140d03c7967c5738d87e03eaddae1", - "format": 1 - }, - { - "name": "roles/grafana/tasks/plugins.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "3e4d9290510a14220bf2e258ab5d6c3c687949a28ac6f6b41547fa345713287c", - "format": 1 - }, - { - "name": "roles/grafana/tasks/datasources.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "41d770c41e6fe38119abbc30eb7023fcf7c88a0effffa692264b4d001d548b7f", - "format": 1 - }, - { - "name": "roles/grafana/tasks/install.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "3218ab4f0ed5def0759e8c8d63aafda028320e4c45ffc357daa2d00d94c85255", - "format": 1 - }, - { - "name": "roles/grafana/tasks/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "cd12254c292e9e58eb02f9b55e98d35ac0fccea11a6fd6eb04ffeb460401eda2", - "format": 1 - }, - { - "name": "roles/grafana/test-requirements.txt", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "bd70637dd6307a21c6084e83828c1ae13ac7818001bb9cffef2f8c0ea4e18b7b", - "format": 1 - }, - { - "name": "roles/grafana/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/grafana/meta/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "5d423f87d9e19d5e6891f793447b323055110a24390a884e98b8b2175515b08f", - "format": 1 - }, - { - "name": "roles/grafana/README.md", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "0faff6169a1080bfc70f33763aa1edb1c1a1f76e70bf845eb1c4a95475e4e15e", - "format": 1 - }, - { - "name": "roles/grafana/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/grafana/defaults/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "4dc47b40ef7cd700e1fbbc790b2461b8a84c3b10432f862bbbc0130da90fd399", - "format": 1 - }, - { - "name": "roles/grafana/templates", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/grafana/templates/grafana.ini.j2", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "0aaf3b482f772d23fa7c0f9273c4ebb73036dbc7cad402bcf998cb5dd3b90fa4", - "format": 1 - }, - { - "name": "roles/grafana/templates/ldap.toml.j2", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "8eaf66b16c9bbb51b8365b86e17a6bfc4776f58a4a0cb3804702707281c99abd", - "format": 1 - }, - { - "name": "roles/grafana/templates/tmpfiles.j2", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "270716b0fbf8ed71d894661a5df761275f4081f2bee258093409b92276c60c9e", - "format": 1 - }, - { - "name": "roles/grafana/molecule", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/grafana/molecule/alternative", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/grafana/molecule/alternative/molecule.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "f52d711103d50a437830c6fbcd04fb4bab49a0f82f6d26d1c791c6e8488dd090", - "format": 1 - }, - { - "name": "roles/grafana/molecule/alternative/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/grafana/molecule/alternative/tests/test_alternative.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "38cb4a0397ae36a77d8db4471e725be59d74a15350ccf42cffac3b5e7c399898", - "format": 1 - }, - { - "name": "roles/grafana/molecule/alternative/converge.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "88a6d1ca5d3a4c7c09629e700dfcbbb1dc302ca321e71747dca8a3b6759674aa", - "format": 1 - }, - { - "name": "roles/grafana/molecule/default", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/grafana/molecule/default/molecule.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "f52d711103d50a437830c6fbcd04fb4bab49a0f82f6d26d1c791c6e8488dd090", - "format": 1 - }, - { - "name": "roles/grafana/molecule/default/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/grafana/molecule/default/tests/test_default.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "1f2d9786e6b222db39baa9259d1b420b46489595c74dec50804462ef3b1976a0", - "format": 1 - }, - { - "name": "roles/grafana/molecule/default/converge.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "7af480efbf26c3d329908d5afb54e56107255653aedede8f610cd5775efb5dff", - "format": 1 - }, - { - "name": "roles/grafana/handlers", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/grafana/handlers/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "58d24ea2c67751f3e7d2aa356bc26fc41327490a32c23c6ca0c1fa2f2975281f", - "format": 1 - }, - { - "name": "roles/tempo", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/tempo/vars", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/tempo/vars/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "448130606b153682770de55f8e460d25028c2d55875ec56f3eb44183a6c4f528", - "format": 1 - }, - { - "name": "roles/tempo/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/tempo/tasks/uninstall.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "e20324369f7695a846f9b14e12e76a7b146415018cc78b17007171552c45e072", - "format": 1 - }, - { - "name": "roles/tempo/tasks/deploy.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "8dbb0c049770d470a6d24772bd9afd54c31629af66635b8c4aa9cf3859f665c2", - "format": 1 - }, - { - "name": "roles/tempo/tasks/setup-Debian.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "98c77bb45453df2997dcfe4f5cf5f82c98d860f34c04ccbdc4e4b83d822f7132", - "format": 1 - }, - { - "name": "roles/tempo/tasks/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "c07b5e0f7ada044d54ad87f73d32097f5da36c37eb1bbd676a3ad0f974fe0f20", - "format": 1 - }, - { - "name": "roles/tempo/tasks/setup-Redhat.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "2b1494a1333bd6bc277b8a78cd6b26f42d3535ba787760d5d728d4dc75d8c844", - "format": 1 - }, - { - "name": "roles/tempo/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/tempo/meta/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "9b1df86ecf7a8f7ebaef2f018f1e859f37aa6a4539ff0214b1eabb76e1fa9f1d", - "format": 1 - }, - { - "name": "roles/tempo/README.md", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "4ccd3163b1ef40eeb3641a1a94988a6e4ea3c7a932d6d5f20e79d8445fdb62f7", - "format": 1 - }, - { - "name": "roles/tempo/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/tempo/defaults/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "f56fec1b71b6401055ff5e9de70dd3ce253af52a7637341a2ae329897ba8127d", - "format": 1 - }, - { - "name": "roles/tempo/templates", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/tempo/templates/config.yml.j2", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "fea0382c2123f076798e765fd6eb0da681a9714dc311ad5729c16ed01dccc29f", - "format": 1 - }, - { - "name": "roles/tempo/molecule", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/tempo/molecule/default", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/tempo/molecule/default/molecule.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "f2fb19d8e5973db9cd226780c4ecf9ae5947286626de40224c1228a6463b1114", - "format": 1 - }, - { - "name": "roles/tempo/molecule/default/converge.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "5298aa93547d6e0fe0edbd44a22de537440814c179a84b1124d97b71eaf0e8ca", - "format": 1 - }, - { - "name": "roles/tempo/handlers", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/tempo/handlers/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "53479f9f10a66ee23305713e79d17a5730ab98dffe28fbf8947208cf04f170c4", - "format": 1 - }, - { - "name": ".editorconfig", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "f1c0a5b9b3d1b8330cb6b4f2efc2df0be1bfb76faf1f4d67c9f1b65decc97c22", - "format": 1 - }, - { - "name": "changelogs", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "changelogs/config.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "c3589ee373e4787fad20ff37228dfb90696a54ee0023c5f61ff5bf3abcf4b720", - "format": 1 - }, - { - "name": "changelogs/.plugin-cache.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "ecb225f206a6cf765d85bdb0b86d03df8437b0e2549161721d2f3abb70d66e77", - "format": 1 - }, - { - "name": "changelogs/changelog.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "3eda7df24b1881c6afdddf50ecee1c50028d4605138dcd6f7f5df270c51bd4a6", - "format": 1 - }, - { - "name": "README.md", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "5d1813750439efd015ce2216ab667916bc14b3334d7808a5429409426bc9209a", - "format": 1 - }, - { - "name": "Pipfile", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "bff84596ba119820dc1922243474b4af58efdf46dfd690389e922611078d46fe", - "format": 1 - }, - { - "name": "yarn.lock", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "1f1c2098461842c10bde3df88354ee158d308929af03ddaa1aa4c0f0865b943f", - "format": 1 - }, - { - "name": ".ansible-lint", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "04baf7f010586545cab0fe765309cc43f22c2a2cb63361480c74e37b878d8684", - "format": 1 - }, - { - "name": ".gitignore", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a09430ce7bbf9c75791cc3bee42e6f47187a40b99461beaec5c1185fbd1a16b0", - "format": 1 - }, - { - "name": "package.json", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "b2bb1491300328b7736ace99ef86cd6e7c97ffd9a36dd8303c0b76ef28cc4787", - "format": 1 - }, - { - "name": "examples", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "examples/monitor-multiple-instance-otel.md", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "0b655cc01142478e478cbc266f376e718b8e209e59aac98a09bcde43bda3e09d", - "format": 1 - }, - { - "name": "examples/loki-local-filesystem-with-retention-and-alert.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "8ccad2dcd5b8c5753135e2bbd6bcd32898e3ba44fb28b6f5160483cefa73cad8", - "format": 1 - }, - { - "name": "examples/loki-basic-no-options.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "66ca6d2b2ce29a6057c60041fe4b694d071752b74a90ef61dcde8faa5d1bc249", - "format": 1 - }, - { - "name": "examples/agent-mode-flow-with-dynamic-conf.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "8c6a11dd9a481dfcfb5d5ceb313b849e1541732899932419ee8c340b4d40b2ce", - "format": 1 - }, - { - "name": "examples/agent-basic-no-options.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "cda05d1f95640fbfc976b77d7fcf3a319e8fb0bf9ba5e514b49bc99e04ac1c11", - "format": 1 - }, - { - "name": "examples/opentelemetry-collector.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "0234500a96941f52701a0cdd7e852373507cb18d9113fa22cd36c30efdf2d18a", - "format": 1 - }, - { - "name": "examples/monitor-multiple-instances-agent.md", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "312db8918e6f1e22bd0a6a2aefad5f5db8c0ab9bb88562c883aa047614b7b701", - "format": 1 - }, - { - "name": "examples/mimir-3-hosts.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "5a382e93b3a307cdf21a81d645677a4077e7c6d3b7cf538199cd2ef2a40164d3", - "format": 1 - }, - { - "name": "examples/agent-send-to-grafana-cloud.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "50b70488a9b4089b5add092fe3aeb7560ac172ce0fd1a08350564c05ec77bf6a", - "format": 1 - }, - { - "name": "examples/ansible.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "b78e2db98e14c343e41120940b0e1c5e553a30f4b61b1978515b1bd8e74aadd0", - "format": 1 - }, - { - "name": "examples/alloy.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "62dd8f404e08d82596c4e67ecbcb3a8b83c181280fce6b42b321b0897545018f", - "format": 1 - }, - { - "name": "examples/promtail-multiple-logs.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "3b2be171ed1effad6eca589bdf37892d7e94f98be2a96d469f742caffcebb105", - "format": 1 - }, - { - "name": "examples/mimir-single-host.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "f21cf1f3c4424b736f8534e1fc758ebd576dfefdc44234ce5423eef9046a3d2f", - "format": 1 - }, - { - "name": "ansible.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "2caa654e85c7e66be39d494d173f69f7565059c504b7201f2ee033173ab80df0", - "format": 1 - }, - { - "name": ".github", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": ".github/workflows", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": ".github/workflows/release.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "cd8f9a378120b2b02d023c621cecfc8f3d87df6d686fa82cb0f348fdb21de4a4", - "format": 1 - }, - { - "name": ".github/workflows/full-integration-test.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "22d2553954fd81ff4e395d58122959f39d93fa9a0654c6aea6c421f49d348df3", - "format": 1 - }, - { - "name": ".github/workflows/alloy-molecule.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "1a4b502ea8fdd28d289b477bb78edaf46b007a36c818c806f88631c1b4e92781", - "format": 1 - }, - { - "name": ".github/workflows/roles-test.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "6da36e4715b551f98fdbdcb578cc27b06b29f58b47f1e5cd8ac979e5c682089b", - "format": 1 - }, - { - "name": ".github/workflows/loki-molecule.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a02e6776151e0fd03cd754771d80e73e1470c7088d861b514d5a7dafd47ad6b8", - "format": 1 - }, - { - "name": ".github/workflows/mimir-molecule.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "7e3b0689bfb32e5eed91629fc5821e39481cc77e283f0f759bad69944c55bdd5", - "format": 1 - }, - { - "name": ".github/workflows/opentelemetry-collector-molecule.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a9d0a4be85a774bf6d4df1ba327b2b6296661957cbcacc53696162e09a1c6379", - "format": 1 - }, - { - "name": ".github/workflows/promtail-molecule.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "b1179c60a308fb166a8ca3839fe7480db7143394f816cbc6089af5252ae74142", - "format": 1 - }, - { - "name": ".github/workflows/lint.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "3355027fd55404c8c9b90118f8d3c8818c5f8eff4a2121bf7a8e5b03b7883193", - "format": 1 - }, - { - "name": ".github/workflows/modules-test.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "4077b0be0f8279e1cf8a34d1c0a7fae86ed91c5019a99023a36e0164ba867272", - "format": 1 - }, - { - "name": ".github/dependabot.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "04b7f69732d281e9a97d10e72202312b72cb45358cbd1f1514983b6e6923f5bf", - "format": 1 - }, - { - "name": "requirements.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "85c5d41624847de7aa4a49e6d8060fc60e71af5a610b21e75cff8391494ce65c", - "format": 1 - }, - { - "name": ".markdownlint.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "2d0b5ccb1e0c0105040a8c8fbe80b52f812951ff844f6b44ce8a8f8019debf5f", - "format": 1 - }, - { - "name": "CHANGELOG.rst", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "bd6fb2ccd317ab278bf45a26c2b736855f0cdcb9567e3c60c27ab8dcf36ce0ca", - "format": 1 - }, - { - "name": "Pipfile.lock", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "bad9f5d3e4a5d97c3a7c1a0a0e2454e88ba51e2137e822dd608b45dbf5057d54", - "format": 1 - }, - { - "name": "catalog-info.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "3ca812bb5e73e809034b62f5261529b2d2f9d420afe12248c802fdf6a5c909b7", - "format": 1 - } - ], - "format": 1 -} \ No newline at end of file diff --git a/ansible_collections/grafana/grafana/LICENSE b/ansible_collections/grafana/grafana/LICENSE deleted file mode 100644 index e72bfddabc..0000000000 --- a/ansible_collections/grafana/grafana/LICENSE +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. \ No newline at end of file diff --git a/ansible_collections/grafana/grafana/MANIFEST.json b/ansible_collections/grafana/grafana/MANIFEST.json deleted file mode 100644 index 78027d260b..0000000000 --- a/ansible_collections/grafana/grafana/MANIFEST.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "collection_info": { - "namespace": "grafana", - "name": "grafana", - "version": "6.0.6", - "authors": [ - "Grafana Labs ", - "Ishan Jain ", - "Gerard van Engelen " - ], - "readme": "README.md", - "tags": [ - "grafana", - "observability", - "monitoring" - ], - "description": "Ansible collection to manage Grafana resources", - "license": [ - "GPL-3.0-or-later" - ], - "license_file": null, - "dependencies": { - "community.general": ">=8.2.0", - "community.grafana": ">=1.5.4", - "ansible.posix": ">=1.5.4" - }, - "repository": "https://github.com/grafana/grafana-ansible-collection", - "documentation": "https://docs.ansible.com/ansible/latest/collections/grafana/grafana/index.html", - "homepage": null, - "issues": "https://github.com/grafana/grafana-ansible-collection/issues" - }, - "file_manifest_file": { - "name": "FILES.json", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "80df907b5a9fb9307fe01b40e266d87f9c9f55c389a6692ef6677f5e08a5b5f4", - "format": 1 - }, - "format": 1 -} \ No newline at end of file diff --git a/ansible_collections/grafana/grafana/Makefile b/ansible_collections/grafana/grafana/Makefile deleted file mode 100644 index b999dbd0e1..0000000000 --- a/ansible_collections/grafana/grafana/Makefile +++ /dev/null @@ -1,86 +0,0 @@ -.DEFAULT_GOAL:= lint -PATH := ./node_modules/.bin:$(PATH) -SHELL := /bin/bash -args = $(filter-out $@, $(MAKECMDGOALS)) -.PHONY: all setup install clean reinstall build compile pdfs lint lint-sh lint-shell lint-md lint-markdown lint-txt lint-text pdf lint-yaml lint-yml lint-editorconfig lint-ec ci-lint ci-lint-shell ci-lint-markdown ci-lint-text ci-lint-yaml ci-lint-editorconfig lint-ansible ci-lint-ansible - -default: all - -all: install - -#################################################################### -# Installation / Setup # -#################################################################### -setup: - @./tools/setup.sh - -install: - yarn install - pipenv install - -# remove the build and log folders -clean: - rm -rf build node_modules - -# reinstall the node_modules and start with a fresh node build -reinstall: clean install - -#################################################################### -# Linting # -#################################################################### -lint: lint-shell lint-markdown lint-text lint-yaml lint-editorconfig lint-ansible - -# Note "|| true" is added to locally make lint can be ran and all linting is preformed, regardless of exit code - -# Shell Linting -lint-sh lint-shell: - @./tools/lint-shell.sh || true - -# Markdown Linting -lint-md lint-markdown: - @./tools/lint-markdown.sh || true - -# Text Linting -lint-txt lint-text: - @./tools/lint-text.sh || true - -# Yaml Linting -lint-yml lint-yaml: - @./tools/lint-yaml.sh || true - -# Editorconfig Linting -lint-ec lint-editorconfig: - @./tools/lint-editorconfig.sh || true - -# Ansible Linting -lint-ansible: - @./tools/lint-ansible.sh || true - -#################################################################### -# CI # -#################################################################### -ci-lint: ci-lint-shell ci-lint-markdown ci-lint-text ci-lint-yaml ci-lint-editorconfig ci-lint-ansible - -# Shell Linting -ci-lint-shell: - @./tools/lint-shell.sh - -# Markdown Linting -ci-lint-markdown: - @./tools/lint-markdown.sh - -# Text Linting -ci-lint-text: - @./tools/lint-text.sh - -# Yaml Linting -ci-lint-yaml: - @./tools/lint-yaml.sh - -# Editorconfig Linting -ci-lint-editorconfig: - @./tools/lint-editorconfig.sh - -# Ansible Linting -ci-lint-ansible: - @./tools/lint-ansible.sh diff --git a/ansible_collections/grafana/grafana/Pipfile b/ansible_collections/grafana/grafana/Pipfile deleted file mode 100644 index 8e4fcb2a0e..0000000000 --- a/ansible_collections/grafana/grafana/Pipfile +++ /dev/null @@ -1,14 +0,0 @@ -[[source]] -url = "https://pypi.org/simple" -verify_ssl = true -name = "pypi" - -[packages] -yamllint = "==1.35.1" -ansible-lint = ">=6.13.1,<26.0.0" -pylint = ">=2.16.2,<4.0.0" - -[dev-packages] - -[requires] -python_version = "3.10" diff --git a/ansible_collections/grafana/grafana/Pipfile.lock b/ansible_collections/grafana/grafana/Pipfile.lock deleted file mode 100644 index 89f9bc16cf..0000000000 --- a/ansible_collections/grafana/grafana/Pipfile.lock +++ /dev/null @@ -1,909 +0,0 @@ -{ - "_meta": { - "hash": { - "sha256": "d803b04fc4ca6ceec39a226c518fc618049f8996dc9d14d09f42ab1b3471e085" - }, - "pipfile-spec": 6, - "requires": { - "python_version": "3.10" - }, - "sources": [ - { - "name": "pypi", - "url": "https://pypi.org/simple", - "verify_ssl": true - } - ] - }, - "default": { - "ansible-compat": { - "hashes": [ - "sha256:c2b4bfeca6383b2047b2e1dea473cec4f1f9f2dd59beef71d6c47f632eaf97c9", - "sha256:cced722001bd7b617d418e54017e308c8b27ef3815f377843c00e020fa07165e" - ], - "markers": "python_version >= '3.10'", - "version": "==25.6.0" - }, - "ansible-core": { - "hashes": [ - "sha256:24fb30783fcd3e800b839b15a396a1f9d622c007bc358e98f2992156ace52671", - "sha256:cb74f3a148b77fa0c89a284e48e7515d13fda10ad8c789eb92274c72f017a9a0" - ], - "markers": "python_version >= '3.10'", - "version": "==2.17.12" - }, - "ansible-lint": { - "hashes": [ - "sha256:69fe294a3cc30d8819b5a30625a7e25225f48558cadb83ad3d4dec597c1b8c2c", - "sha256:6a1dd2b7a9f3f202c9e92a6c80296ff33ca863348c3acf978f80fb0d4536dce4" - ], - "index": "pypi", - "markers": "python_version >= '3.10'", - "version": "==25.6.1" - }, - "astroid": { - "hashes": [ - "sha256:5eba185467253501b62a9f113c263524b4f5d55e1b30456370eed4cdbd6438fd", - "sha256:e73d0b62dd680a7c07cb2cd0ce3c22570b044dd01bd994bc3a2dd16c6cbba162" - ], - "markers": "python_full_version >= '3.9.0'", - "version": "==3.3.4" - }, - "attrs": { - "hashes": [ - "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3", - "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b" - ], - "markers": "python_version >= '3.8'", - "version": "==25.3.0" - }, - "black": { - "hashes": [ - "sha256:030b9759066a4ee5e5aca28c3c77f9c64789cdd4de8ac1df642c40b708be6171", - "sha256:055e59b198df7ac0b7efca5ad7ff2516bca343276c466be72eb04a3bcc1f82d7", - "sha256:0e519ecf93120f34243e6b0054db49c00a35f84f195d5bce7e9f5cfc578fc2da", - "sha256:172b1dbff09f86ce6f4eb8edf9dede08b1fce58ba194c87d7a4f1a5aa2f5b3c2", - "sha256:1e2978f6df243b155ef5fa7e558a43037c3079093ed5d10fd84c43900f2d8ecc", - "sha256:33496d5cd1222ad73391352b4ae8da15253c5de89b93a80b3e2c8d9a19ec2666", - "sha256:3b48735872ec535027d979e8dcb20bf4f70b5ac75a8ea99f127c106a7d7aba9f", - "sha256:4b60580e829091e6f9238c848ea6750efed72140b91b048770b64e74fe04908b", - "sha256:759e7ec1e050a15f89b770cefbf91ebee8917aac5c20483bc2d80a6c3a04df32", - "sha256:8f0b18a02996a836cc9c9c78e5babec10930862827b1b724ddfe98ccf2f2fe4f", - "sha256:95e8176dae143ba9097f351d174fdaf0ccd29efb414b362ae3fd72bf0f710717", - "sha256:96c1c7cd856bba8e20094e36e0f948718dc688dba4a9d78c3adde52b9e6c2299", - "sha256:a1ee0a0c330f7b5130ce0caed9936a904793576ef4d2b98c40835d6a65afa6a0", - "sha256:a22f402b410566e2d1c950708c77ebf5ebd5d0d88a6a2e87c86d9fb48afa0d18", - "sha256:a39337598244de4bae26475f77dda852ea00a93bd4c728e09eacd827ec929df0", - "sha256:afebb7098bfbc70037a053b91ae8437c3857482d3a690fefc03e9ff7aa9a5fd3", - "sha256:bacabb307dca5ebaf9c118d2d2f6903da0d62c9faa82bd21a33eecc319559355", - "sha256:bce2e264d59c91e52d8000d507eb20a9aca4a778731a08cfff7e5ac4a4bb7096", - "sha256:d9e6827d563a2c820772b32ce8a42828dc6790f095f441beef18f96aa6f8294e", - "sha256:db8ea9917d6f8fc62abd90d944920d95e73c83a5ee3383493e35d271aca872e9", - "sha256:ea0213189960bda9cf99be5b8c8ce66bb054af5e9e861249cd23471bd7b0b3ba", - "sha256:f3df5f1bf91d36002b0a75389ca8663510cf0531cca8aa5c1ef695b46d98655f" - ], - "markers": "python_version >= '3.9'", - "version": "==25.1.0" - }, - "bracex": { - "hashes": [ - "sha256:0b0049264e7340b3ec782b5cb99beb325f36c3782a32e36e876452fd49a09952", - "sha256:98f1347cd77e22ee8d967a30ad4e310b233f7754dbf31ff3fceb76145ba47dc7" - ], - "markers": "python_version >= '3.9'", - "version": "==2.6" - }, - "cffi": { - "hashes": [ - "sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8", - "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2", - "sha256:0e2b1fac190ae3ebfe37b979cc1ce69c81f4e4fe5746bb401dca63a9062cdaf1", - "sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15", - "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36", - "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824", - "sha256:1d599671f396c4723d016dbddb72fe8e0397082b0a77a4fab8028923bec050e8", - "sha256:28b16024becceed8c6dfbc75629e27788d8a3f9030691a1dbf9821a128b22c36", - "sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17", - "sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf", - "sha256:31000ec67d4221a71bd3f67df918b1f88f676f1c3b535a7eb473255fdc0b83fc", - "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3", - "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed", - "sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702", - "sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1", - "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8", - "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903", - "sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6", - "sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d", - "sha256:636062ea65bd0195bc012fea9321aca499c0504409f413dc88af450b57ffd03b", - "sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e", - "sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be", - "sha256:6f17be4345073b0a7b8ea599688f692ac3ef23ce28e5df79c04de519dbc4912c", - "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683", - "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9", - "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c", - "sha256:7596d6620d3fa590f677e9ee430df2958d2d6d6de2feeae5b20e82c00b76fbf8", - "sha256:78122be759c3f8a014ce010908ae03364d00a1f81ab5c7f4a7a5120607ea56e1", - "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4", - "sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655", - "sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67", - "sha256:9755e4345d1ec879e3849e62222a18c7174d65a6a92d5b346b1863912168b595", - "sha256:98e3969bcff97cae1b2def8ba499ea3d6f31ddfdb7635374834cf89a1a08ecf0", - "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65", - "sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41", - "sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6", - "sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401", - "sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6", - "sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3", - "sha256:b2ab587605f4ba0bf81dc0cb08a41bd1c0a5906bd59243d56bad7668a6fc6c16", - "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93", - "sha256:c03e868a0b3bc35839ba98e74211ed2b05d2119be4e8a0f224fba9384f1fe02e", - "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4", - "sha256:c7eac2ef9b63c79431bc4b25f1cd649d7f061a28808cbc6c47b534bd789ef964", - "sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c", - "sha256:ca74b8dbe6e8e8263c0ffd60277de77dcee6c837a3d0881d8c1ead7268c9e576", - "sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0", - "sha256:cdf5ce3acdfd1661132f2a9c19cac174758dc2352bfe37d98aa7512c6b7178b3", - "sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662", - "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3", - "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff", - "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5", - "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd", - "sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f", - "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5", - "sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14", - "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d", - "sha256:e221cf152cff04059d011ee126477f0d9588303eb57e88923578ace7baad17f9", - "sha256:e31ae45bc2e29f6b2abd0de1cc3b9d5205aa847cafaecb8af1476a609a2f6eb7", - "sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382", - "sha256:f1e22e8c4419538cb197e4dd60acc919d7696e5ef98ee4da4e01d3f8cfa4cc5a", - "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e", - "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a", - "sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4", - "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99", - "sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87", - "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b" - ], - "markers": "python_version >= '3.8'", - "version": "==1.17.1" - }, - "click": { - "hashes": [ - "sha256:27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202", - "sha256:61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b" - ], - "markers": "python_version >= '3.10'", - "version": "==8.2.1" - }, - "cryptography": { - "hashes": [ - "sha256:0339a692de47084969500ee455e42c58e449461e0ec845a34a6a9b9bf7df7fb8", - "sha256:03dbff8411206713185b8cebe31bc5c0eb544799a50c09035733716b386e61a4", - "sha256:06509dc70dd71fa56eaa138336244e2fbaf2ac164fc9b5e66828fccfd2b680d6", - "sha256:0cf13c77d710131d33e63626bd55ae7c0efb701ebdc2b3a7952b9b23a0412862", - "sha256:23b9c3ea30c3ed4db59e7b9619272e94891f8a3a5591d0b656a7582631ccf750", - "sha256:25eb4d4d3e54595dc8adebc6bbd5623588991d86591a78c2548ffb64797341e2", - "sha256:2882338b2a6e0bd337052e8b9007ced85c637da19ef9ecaf437744495c8c2999", - "sha256:3530382a43a0e524bc931f187fc69ef4c42828cf7d7f592f7f249f602b5a4ab0", - "sha256:425a9a6ac2823ee6e46a76a21a4e8342d8fa5c01e08b823c1f19a8b74f096069", - "sha256:46cf7088bf91bdc9b26f9c55636492c1cce3e7aaf8041bbf0243f5e5325cfb2d", - "sha256:4828190fb6c4bcb6ebc6331f01fe66ae838bb3bd58e753b59d4b22eb444b996c", - "sha256:49fe9155ab32721b9122975e168a6760d8ce4cffe423bcd7ca269ba41b5dfac1", - "sha256:4ca0f52170e821bc8da6fc0cc565b7bb8ff8d90d36b5e9fdd68e8a86bdf72036", - "sha256:51dfbd4d26172d31150d84c19bbe06c68ea4b7f11bbc7b3a5e146b367c311349", - "sha256:5f31e6b0a5a253f6aa49be67279be4a7e5a4ef259a9f33c69f7d1b1191939872", - "sha256:627ba1bc94f6adf0b0a2e35d87020285ead22d9f648c7e75bb64f367375f3b22", - "sha256:680806cf63baa0039b920f4976f5f31b10e772de42f16310a6839d9f21a26b0d", - "sha256:6a3511ae33f09094185d111160fd192c67aa0a2a8d19b54d36e4c78f651dc5ad", - "sha256:6a5bf57554e80f75a7db3d4b1dacaa2764611ae166ab42ea9a72bcdb5d577637", - "sha256:6b613164cb8425e2f8db5849ffb84892e523bf6d26deb8f9bb76ae86181fa12b", - "sha256:7405ade85c83c37682c8fe65554759800a4a8c54b2d96e0f8ad114d31b808d57", - "sha256:7aad98a25ed8ac917fdd8a9c1e706e5a0956e06c498be1f713b61734333a4507", - "sha256:7bedbe4cc930fa4b100fc845ea1ea5788fcd7ae9562e669989c11618ae8d76ee", - "sha256:7ef2dde4fa9408475038fc9aadfc1fb2676b174e68356359632e980c661ec8f6", - "sha256:817ee05c6c9f7a69a16200f0c90ab26d23a87701e2a284bd15156783e46dbcc8", - "sha256:944e9ccf67a9594137f942d5b52c8d238b1b4e46c7a0c2891b7ae6e01e7c80a4", - "sha256:964bcc28d867e0f5491a564b7debb3ffdd8717928d315d12e0d7defa9e43b723", - "sha256:96d4819e25bf3b685199b304a0029ce4a3caf98947ce8a066c9137cc78ad2c58", - "sha256:a77c6fb8d76e9c9f99f2f3437c1a4ac287b34eaf40997cfab1e9bd2be175ac39", - "sha256:b0a97c927497e3bc36b33987abb99bf17a9a175a19af38a892dc4bbb844d7ee2", - "sha256:b97737a3ffbea79eebb062eb0d67d72307195035332501722a9ca86bab9e3ab2", - "sha256:bbc505d1dc469ac12a0a064214879eac6294038d6b24ae9f71faae1448a9608d", - "sha256:c22fe01e53dc65edd1945a2e6f0015e887f84ced233acecb64b4daadb32f5c97", - "sha256:ce1678a2ccbe696cf3af15a75bb72ee008d7ff183c9228592ede9db467e64f1b", - "sha256:e00a6c10a5c53979d6242f123c0a97cff9f3abed7f064fc412c36dc521b5f257", - "sha256:eaa3e28ea2235b33220b949c5a0d6cf79baa80eab2eb5607ca8ab7525331b9ff", - "sha256:f3fe7a5ae34d5a414957cc7f457e2b92076e72938423ac64d215722f6cf49a9e" - ], - "markers": "python_version >= '3.7' and python_full_version not in '3.9.0, 3.9.1'", - "version": "==45.0.4" - }, - "dill": { - "hashes": [ - "sha256:468dff3b89520b474c0397703366b7b95eebe6303f108adf9b19da1f702be87a", - "sha256:81aa267dddf68cbfe8029c42ca9ec6a4ab3b22371d1c450abc54422577b4512c" - ], - "markers": "python_version < '3.11'", - "version": "==0.3.9" - }, - "filelock": { - "hashes": [ - "sha256:adbc88eabb99d2fec8c9c1b229b171f18afa655400173ddc653d5d01501fb9f2", - "sha256:c401f4f8377c4464e6db25fff06205fd89bdd83b65eb0488ed1b160f780e21de" - ], - "markers": "python_version >= '3.9'", - "version": "==3.18.0" - }, - "importlib-metadata": { - "hashes": [ - "sha256:d13b81ad223b890aa16c5471f2ac3056cf76c5f10f82d6f9292f0b415f389000", - "sha256:e5dd1551894c77868a30651cef00984d50e1002d06942a7101d34870c5f02afd" - ], - "markers": "python_version >= '3.9'", - "version": "==8.7.0" - }, - "isort": { - "hashes": [ - "sha256:48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109", - "sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6" - ], - "markers": "python_full_version >= '3.8.0'", - "version": "==5.13.2" - }, - "jinja2": { - "hashes": [ - "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", - "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67" - ], - "markers": "python_version >= '3.7'", - "version": "==3.1.6" - }, - "jsonschema": { - "hashes": [ - "sha256:0b4e8069eb12aedfa881333004bccaec24ecef5a8a6a4b6df142b2cc9599d196", - "sha256:a462455f19f5faf404a7902952b6f0e3ce868f3ee09a359b05eca6673bd8412d" - ], - "markers": "python_version >= '3.9'", - "version": "==4.24.0" - }, - "jsonschema-specifications": { - "hashes": [ - "sha256:4653bffbd6584f7de83a67e0d620ef16900b390ddc7939d56684d6c81e33f1af", - "sha256:630159c9f4dbea161a6a2205c3011cc4f18ff381b189fff48bb39b9bf26ae608" - ], - "markers": "python_version >= '3.9'", - "version": "==2025.4.1" - }, - "lazy-object-proxy": { - "hashes": [ - "sha256:09763491ce220c0299688940f8dc2c5d05fd1f45af1e42e636b2e8b2303e4382", - "sha256:0a891e4e41b54fd5b8313b96399f8b0e173bbbfc03c7631f01efbe29bb0bcf82", - "sha256:189bbd5d41ae7a498397287c408617fe5c48633e7755287b21d741f7db2706a9", - "sha256:18b78ec83edbbeb69efdc0e9c1cb41a3b1b1ed11ddd8ded602464c3fc6020494", - "sha256:1aa3de4088c89a1b69f8ec0dcc169aa725b0ff017899ac568fe44ddc1396df46", - "sha256:212774e4dfa851e74d393a2370871e174d7ff0ebc980907723bb67d25c8a7c30", - "sha256:2d0daa332786cf3bb49e10dc6a17a52f6a8f9601b4cf5c295a4f85854d61de63", - "sha256:5f83ac4d83ef0ab017683d715ed356e30dd48a93746309c8f3517e1287523ef4", - "sha256:659fb5809fa4629b8a1ac5106f669cfc7bef26fbb389dda53b3e010d1ac4ebae", - "sha256:660c94ea760b3ce47d1855a30984c78327500493d396eac4dfd8bd82041b22be", - "sha256:66a3de4a3ec06cd8af3f61b8e1ec67614fbb7c995d02fa224813cb7afefee701", - "sha256:721532711daa7db0d8b779b0bb0318fa87af1c10d7fe5e52ef30f8eff254d0cd", - "sha256:7322c3d6f1766d4ef1e51a465f47955f1e8123caee67dd641e67d539a534d006", - "sha256:79a31b086e7e68b24b99b23d57723ef7e2c6d81ed21007b6281ebcd1688acb0a", - "sha256:81fc4d08b062b535d95c9ea70dbe8a335c45c04029878e62d744bdced5141586", - "sha256:8fa02eaab317b1e9e03f69aab1f91e120e7899b392c4fc19807a8278a07a97e8", - "sha256:9090d8e53235aa280fc9239a86ae3ea8ac58eff66a705fa6aa2ec4968b95c821", - "sha256:946d27deaff6cf8452ed0dba83ba38839a87f4f7a9732e8f9fd4107b21e6ff07", - "sha256:9990d8e71b9f6488e91ad25f322898c136b008d87bf852ff65391b004da5e17b", - "sha256:9cd077f3d04a58e83d04b20e334f678c2b0ff9879b9375ed107d5d07ff160171", - "sha256:9e7551208b2aded9c1447453ee366f1c4070602b3d932ace044715d89666899b", - "sha256:9f5fa4a61ce2438267163891961cfd5e32ec97a2c444e5b842d574251ade27d2", - "sha256:b40387277b0ed2d0602b8293b94d7257e17d1479e257b4de114ea11a8cb7f2d7", - "sha256:bfb38f9ffb53b942f2b5954e0f610f1e721ccebe9cce9025a38c8ccf4a5183a4", - "sha256:cbf9b082426036e19c6924a9ce90c740a9861e2bdc27a4834fd0a910742ac1e8", - "sha256:d9e25ef10a39e8afe59a5c348a4dbf29b4868ab76269f81ce1674494e2565a6e", - "sha256:db1c1722726f47e10e0b5fdbf15ac3b8adb58c091d12b3ab713965795036985f", - "sha256:e7c21c95cae3c05c14aafffe2865bbd5e377cfc1348c4f7751d9dc9a48ca4bda", - "sha256:e8c6cfb338b133fbdbc5cfaa10fe3c6aeea827db80c978dbd13bc9dd8526b7d4", - "sha256:ea806fd4c37bf7e7ad82537b0757999264d5f70c45468447bb2b91afdbe73a6e", - "sha256:edd20c5a55acb67c7ed471fa2b5fb66cb17f61430b7a6b9c3b4a1e40293b1671", - "sha256:f0117049dd1d5635bbff65444496c90e0baa48ea405125c088e93d9cf4525b11", - "sha256:f0705c376533ed2a9e5e97aacdbfe04cecd71e0aa84c7c0595d02ef93b6e4455", - "sha256:f12ad7126ae0c98d601a7ee504c1122bcef553d1d5e0c3bfa77b16b3968d2734", - "sha256:f2457189d8257dd41ae9b434ba33298aec198e30adf2dcdaaa3a28b9994f6adb", - "sha256:f699ac1c768270c9e384e4cbd268d6e67aebcfae6cd623b4d7c3bfde5a35db59" - ], - "markers": "python_version >= '3.7'", - "version": "==1.9.0" - }, - "markdown-it-py": { - "hashes": [ - "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1", - "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb" - ], - "markers": "python_version >= '3.8'", - "version": "==3.0.0" - }, - "markupsafe": { - "hashes": [ - "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4", - "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30", - "sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0", - "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", - "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396", - "sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13", - "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028", - "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca", - "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557", - "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832", - "sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0", - "sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b", - "sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579", - "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", - "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c", - "sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff", - "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", - "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22", - "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094", - "sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb", - "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e", - "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", - "sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a", - "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d", - "sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a", - "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b", - "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8", - "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225", - "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c", - "sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144", - "sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f", - "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87", - "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d", - "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93", - "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf", - "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158", - "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84", - "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb", - "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48", - "sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171", - "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c", - "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", - "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd", - "sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d", - "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1", - "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", - "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca", - "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a", - "sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29", - "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", - "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798", - "sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c", - "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8", - "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", - "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f", - "sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a", - "sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178", - "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", - "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79", - "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430", - "sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50" - ], - "markers": "python_version >= '3.9'", - "version": "==3.0.2" - }, - "mccabe": { - "hashes": [ - "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325", - "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e" - ], - "markers": "python_version >= '3.6'", - "version": "==0.7.0" - }, - "mdurl": { - "hashes": [ - "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", - "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" - ], - "markers": "python_version >= '3.7'", - "version": "==0.1.2" - }, - "mypy-extensions": { - "hashes": [ - "sha256:1be4cccdb0f2482337c4743e60421de3a356cd97508abadd57d47403e94f5505", - "sha256:52e68efc3284861e772bbcd66823fde5ae21fd2fdb51c62a211403730b916558" - ], - "markers": "python_version >= '3.8'", - "version": "==1.1.0" - }, - "packaging": { - "hashes": [ - "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", - "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f" - ], - "markers": "python_version >= '3.8'", - "version": "==25.0" - }, - "pathspec": { - "hashes": [ - "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", - "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712" - ], - "markers": "python_version >= '3.8'", - "version": "==0.12.1" - }, - "platformdirs": { - "hashes": [ - "sha256:3d512d96e16bcb959a814c9f348431070822a6496326a4be0911c40b5a74c2bc", - "sha256:ff7059bb7eb1179e2685604f4aaf157cfd9535242bd23742eadc3c13542139b4" - ], - "markers": "python_version >= '3.9'", - "version": "==4.3.8" - }, - "pycparser": { - "hashes": [ - "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", - "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc" - ], - "markers": "python_version >= '3.8'", - "version": "==2.22" - }, - "pygments": { - "hashes": [ - "sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199", - "sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a" - ], - "markers": "python_version >= '3.8'", - "version": "==2.18.0" - }, - "pylint": { - "hashes": [ - "sha256:2f846a466dd023513240bc140ad2dd73bfc080a5d85a710afdb728c420a5a2b9", - "sha256:9f3dcc87b1203e612b78d91a896407787e708b3f189b5fa0b307712d49ff0c6e" - ], - "index": "pypi", - "markers": "python_full_version >= '3.9.0'", - "version": "==3.3.1" - }, - "pyyaml": { - "hashes": [ - "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff", - "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", - "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086", - "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e", - "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", - "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5", - "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", - "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee", - "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", - "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68", - "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a", - "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf", - "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99", - "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8", - "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85", - "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19", - "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", - "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a", - "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", - "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317", - "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c", - "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631", - "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d", - "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", - "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", - "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e", - "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b", - "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", - "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", - "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706", - "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", - "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237", - "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", - "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083", - "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180", - "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", - "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e", - "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f", - "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725", - "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", - "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", - "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774", - "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", - "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", - "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5", - "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d", - "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290", - "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44", - "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed", - "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", - "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", - "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12", - "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4" - ], - "markers": "python_version >= '3.8'", - "version": "==6.0.2" - }, - "referencing": { - "hashes": [ - "sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa", - "sha256:e8699adbbf8b5c7de96d8ffa0eb5c158b3beafce084968e2ea8bb08c6794dcd0" - ], - "markers": "python_version >= '3.9'", - "version": "==0.36.2" - }, - "resolvelib": { - "hashes": [ - "sha256:04ce76cbd63fded2078ce224785da6ecd42b9564b1390793f64ddecbe997b309", - "sha256:d2da45d1a8dfee81bdd591647783e340ef3bcb104b54c383f70d422ef5cc7dbf" - ], - "version": "==1.0.1" - }, - "rich": { - "hashes": [ - "sha256:1760a3c0848469b97b558fc61c85233e3dafb69c7a071b4d60c38099d3cd4c06", - "sha256:8260cda28e3db6bf04d2d1ef4dbc03ba80a824c88b0e7668a0f23126a424844a" - ], - "markers": "python_full_version >= '3.7.0'", - "version": "==13.8.1" - }, - "rpds-py": { - "hashes": [ - "sha256:0317177b1e8691ab5879f4f33f4b6dc55ad3b344399e23df2e499de7b10a548d", - "sha256:036ded36bedb727beeabc16dc1dad7cb154b3fa444e936a03b67a86dc6a5066e", - "sha256:048893e902132fd6548a2e661fb38bf4896a89eea95ac5816cf443524a85556f", - "sha256:0701942049095741a8aeb298a31b203e735d1c61f4423511d2b1a41dcd8a16da", - "sha256:083a9513a33e0b92cf6e7a6366036c6bb43ea595332c1ab5c8ae329e4bcc0a9c", - "sha256:09eab132f41bf792c7a0ea1578e55df3f3e7f61888e340779b06050a9a3f16e9", - "sha256:0e6a327af8ebf6baba1c10fadd04964c1965d375d318f4435d5f3f9651550f4a", - "sha256:0eb90e94f43e5085623932b68840b6f379f26db7b5c2e6bcef3179bd83c9330f", - "sha256:114a07e85f32b125404f28f2ed0ba431685151c037a26032b213c882f26eb908", - "sha256:115874ae5e2fdcfc16b2aedc95b5eef4aebe91b28e7e21951eda8a5dc0d3461b", - "sha256:140f61d9bed7839446bdd44852e30195c8e520f81329b4201ceead4d64eb3a9f", - "sha256:1521031351865e0181bc585147624d66b3b00a84109b57fcb7a779c3ec3772cd", - "sha256:1c0c434a53714358532d13539272db75a5ed9df75a4a090a753ac7173ec14e11", - "sha256:1d1fadd539298e70cac2f2cb36f5b8a65f742b9b9f1014dd4ea1f7785e2470bf", - "sha256:1de336a4b164c9188cb23f3703adb74a7623ab32d20090d0e9bf499a2203ad65", - "sha256:1ee3e26eb83d39b886d2cb6e06ea701bba82ef30a0de044d34626ede51ec98b0", - "sha256:245550f5a1ac98504147cba96ffec8fabc22b610742e9150138e5d60774686d7", - "sha256:2a40046a529cc15cef88ac5ab589f83f739e2d332cb4d7399072242400ed68c9", - "sha256:2c2cd1a4b0c2b8c5e31ffff50d09f39906fe351389ba143c195566056c13a7ea", - "sha256:2cb9e5b5e26fc02c8a4345048cd9998c2aca7c2712bd1b36da0c72ee969a3523", - "sha256:33358883a4490287e67a2c391dfaea4d9359860281db3292b6886bf0be3d8692", - "sha256:35634369325906bcd01577da4c19e3b9541a15e99f31e91a02d010816b49bfda", - "sha256:35a8d1a24b5936b35c5003313bc177403d8bdef0f8b24f28b1c4a255f94ea992", - "sha256:3af5b4cc10fa41e5bc64e5c198a1b2d2864337f8fcbb9a67e747e34002ce812b", - "sha256:3bcce0edc1488906c2d4c75c94c70a0417e83920dd4c88fec1078c94843a6ce9", - "sha256:3c5b317ecbd8226887994852e85de562f7177add602514d4ac40f87de3ae45a8", - "sha256:3c6564c0947a7f52e4792983f8e6cf9bac140438ebf81f527a21d944f2fd0a40", - "sha256:3ebd879ab996537fc510a2be58c59915b5dd63bccb06d1ef514fee787e05984a", - "sha256:3f0b1798cae2bbbc9b9db44ee068c556d4737911ad53a4e5093d09d04b3bbc24", - "sha256:401ca1c4a20cc0510d3435d89c069fe0a9ae2ee6495135ac46bdd49ec0495763", - "sha256:454601988aab2c6e8fd49e7634c65476b2b919647626208e376afcd22019eeb8", - "sha256:4593c4eae9b27d22df41cde518b4b9e4464d139e4322e2127daa9b5b981b76be", - "sha256:45e484db65e5380804afbec784522de84fa95e6bb92ef1bd3325d33d13efaebd", - "sha256:48d64155d02127c249695abb87d39f0faf410733428d499867606be138161d65", - "sha256:4fbb0dbba559959fcb5d0735a0f87cdbca9e95dac87982e9b95c0f8f7ad10255", - "sha256:4fd52d3455a0aa997734f3835cbc4c9f32571345143960e7d7ebfe7b5fbfa3b2", - "sha256:50f2c501a89c9a5f4e454b126193c5495b9fb441a75b298c60591d8a2eb92e1b", - "sha256:58f77c60956501a4a627749a6dcb78dac522f249dd96b5c9f1c6af29bfacfb66", - "sha256:5a3ddb74b0985c4387719fc536faced33cadf2172769540c62e2a94b7b9be1c4", - "sha256:5c4a128527fe415d73cf1f70a9a688d06130d5810be69f3b553bf7b45e8acf79", - "sha256:5d473be2b13600b93a5675d78f59e63b51b1ba2d0476893415dfbb5477e65b31", - "sha256:5d9e40f32745db28c1ef7aad23f6fc458dc1e29945bd6781060f0d15628b8ddf", - "sha256:5f048bbf18b1f9120685c6d6bb70cc1a52c8cc11bdd04e643d28d3be0baf666d", - "sha256:605ffe7769e24b1800b4d024d24034405d9404f0bc2f55b6db3362cd34145a6f", - "sha256:6099263f526efff9cf3883dfef505518730f7a7a93049b1d90d42e50a22b4793", - "sha256:659d87430a8c8c704d52d094f5ba6fa72ef13b4d385b7e542a08fc240cb4a559", - "sha256:666fa7b1bd0a3810a7f18f6d3a25ccd8866291fbbc3c9b912b917a6715874bb9", - "sha256:68f6f060f0bbdfb0245267da014d3a6da9be127fe3e8cc4a68c6f833f8a23bb1", - "sha256:6d273f136e912aa101a9274c3145dcbddbe4bac560e77e6d5b3c9f6e0ed06d34", - "sha256:6d50841c425d16faf3206ddbba44c21aa3310a0cebc3c1cdfc3e3f4f9f6f5728", - "sha256:771c16060ff4e79584dc48902a91ba79fd93eade3aa3a12d6d2a4aadaf7d542b", - "sha256:785ffacd0ee61c3e60bdfde93baa6d7c10d86f15655bd706c89da08068dc5038", - "sha256:796ad874c89127c91970652a4ee8b00d56368b7e00d3477f4415fe78164c8000", - "sha256:79dc317a5f1c51fd9c6a0c4f48209c6b8526d0524a6904fc1076476e79b00f98", - "sha256:7c9409b47ba0650544b0bb3c188243b83654dfe55dcc173a86832314e1a6a35d", - "sha256:7d779b325cc8238227c47fbc53964c8cc9a941d5dbae87aa007a1f08f2f77b23", - "sha256:816568614ecb22b18a010c7a12559c19f6fe993526af88e95a76d5a60b8b75fb", - "sha256:8378fa4a940f3fb509c081e06cb7f7f2adae8cf46ef258b0e0ed7519facd573e", - "sha256:85608eb70a659bf4c1142b2781083d4b7c0c4e2c90eff11856a9754e965b2540", - "sha256:85fc223d9c76cabe5d0bff82214459189720dc135db45f9f66aa7cffbf9ff6c1", - "sha256:88ec04afe0c59fa64e2f6ea0dd9657e04fc83e38de90f6de201954b4d4eb59bd", - "sha256:8960b6dac09b62dac26e75d7e2c4a22efb835d827a7278c34f72b2b84fa160e3", - "sha256:89706d0683c73a26f76a5315d893c051324d771196ae8b13e6ffa1ffaf5e574f", - "sha256:89c24300cd4a8e4a51e55c31a8ff3918e6651b241ee8876a42cc2b2a078533ba", - "sha256:8c742af695f7525e559c16f1562cf2323db0e3f0fbdcabdf6865b095256b2d40", - "sha256:8dbd586bfa270c1103ece2109314dd423df1fa3d9719928b5d09e4840cec0d72", - "sha256:8eb8c84ecea987a2523e057c0d950bcb3f789696c0499290b8d7b3107a719d78", - "sha256:921954d7fbf3fccc7de8f717799304b14b6d9a45bbeec5a8d7408ccbf531faf5", - "sha256:9a46c2fb2545e21181445515960006e85d22025bd2fe6db23e76daec6eb689fe", - "sha256:9c006f3aadeda131b438c3092124bd196b66312f0caa5823ef09585a669cf449", - "sha256:9ceca1cf097ed77e1a51f1dbc8d174d10cb5931c188a4505ff9f3e119dfe519b", - "sha256:9e5fc7484fa7dce57e25063b0ec9638ff02a908304f861d81ea49273e43838c1", - "sha256:9f2f48ab00181600ee266a095fe815134eb456163f7d6699f525dee471f312cf", - "sha256:9fca84a15333e925dd59ce01da0ffe2ffe0d6e5d29a9eeba2148916d1824948c", - "sha256:a49e1d7a4978ed554f095430b89ecc23f42014a50ac385eb0c4d163ce213c325", - "sha256:a58d1ed49a94d4183483a3ce0af22f20318d4a1434acee255d683ad90bf78129", - "sha256:a61d0b2c7c9a0ae45732a77844917b427ff16ad5464b4d4f5e4adb955f582890", - "sha256:a714bf6e5e81b0e570d01f56e0c89c6375101b8463999ead3a93a5d2a4af91fa", - "sha256:a7b74e92a3b212390bdce1d93da9f6488c3878c1d434c5e751cbc202c5e09500", - "sha256:a8bd2f19e312ce3e1d2c635618e8a8d8132892bb746a7cf74780a489f0f6cdcb", - "sha256:b0be9965f93c222fb9b4cc254235b3b2b215796c03ef5ee64f995b1b69af0762", - "sha256:b24bf3cd93d5b6ecfbedec73b15f143596c88ee249fa98cefa9a9dc9d92c6f28", - "sha256:b5ffe453cde61f73fea9430223c81d29e2fbf412a6073951102146c84e19e34c", - "sha256:bc120d1132cff853ff617754196d0ac0ae63befe7c8498bd67731ba368abe451", - "sha256:bd035756830c712b64725a76327ce80e82ed12ebab361d3a1cdc0f51ea21acb0", - "sha256:bffcf57826d77a4151962bf1701374e0fc87f536e56ec46f1abdd6a903354042", - "sha256:c2013ee878c76269c7b557a9a9c042335d732e89d482606990b70a839635feb7", - "sha256:c4feb9211d15d9160bc85fa72fed46432cdc143eb9cf6d5ca377335a921ac37b", - "sha256:c8980cde3bb8575e7c956a530f2c217c1d6aac453474bf3ea0f9c89868b531b6", - "sha256:c98f126c4fc697b84c423e387337d5b07e4a61e9feac494362a59fd7a2d9ed80", - "sha256:ccc6f3ddef93243538be76f8e47045b4aad7a66a212cd3a0f23e34469473d36b", - "sha256:ccfa689b9246c48947d31dd9d8b16d89a0ecc8e0e26ea5253068efb6c542b76e", - "sha256:cda776f1967cb304816173b30994faaf2fd5bcb37e73118a47964a02c348e1bc", - "sha256:ce4c8e485a3c59593f1a6f683cf0ea5ab1c1dc94d11eea5619e4fb5228b40fbd", - "sha256:d3c10228d6cf6fe2b63d2e7985e94f6916fa46940df46b70449e9ff9297bd3d1", - "sha256:d4ca54b9cf9d80b4016a67a0193ebe0bcf29f6b0a96f09db942087e294d3d4c2", - "sha256:d4cb2b3ddc16710548801c6fcc0cfcdeeff9dafbc983f77265877793f2660309", - "sha256:d50e4864498a9ab639d6d8854b25e80642bd362ff104312d9770b05d66e5fb13", - "sha256:d74ec9bc0e2feb81d3f16946b005748119c0f52a153f6db6a29e8cd68636f295", - "sha256:d8222acdb51a22929c3b2ddb236b69c59c72af4019d2cba961e2f9add9b6e634", - "sha256:db58483f71c5db67d643857404da360dce3573031586034b7d59f245144cc192", - "sha256:dc3c1ff0abc91444cd20ec643d0f805df9a3661fcacf9c95000329f3ddf268a4", - "sha256:dd326a81afe332ede08eb39ab75b301d5676802cdffd3a8f287a5f0b694dc3f5", - "sha256:dec21e02e6cc932538b5203d3a8bd6aa1480c98c4914cb88eea064ecdbc6396a", - "sha256:e1dafef8df605fdb46edcc0bf1573dea0d6d7b01ba87f85cd04dc855b2b4479e", - "sha256:e2f6a2347d3440ae789505693a02836383426249d5293541cd712e07e7aecf54", - "sha256:e37caa8cdb3b7cf24786451a0bdb853f6347b8b92005eeb64225ae1db54d1c2b", - "sha256:e43a005671a9ed5a650f3bc39e4dbccd6d4326b24fb5ea8be5f3a43a6f576c72", - "sha256:e5e2f7280d8d0d3ef06f3ec1b4fd598d386cc6f0721e54f09109a8132182fbfe", - "sha256:e87798852ae0b37c88babb7f7bbbb3e3fecc562a1c340195b44c7e24d403e380", - "sha256:ee86d81551ec68a5c25373c5643d343150cc54672b5e9a0cafc93c1870a53954", - "sha256:f251bf23deb8332823aef1da169d5d89fa84c89f67bdfb566c49dea1fccfd50d", - "sha256:f3d86373ff19ca0441ebeb696ef64cb58b8b5cbacffcda5a0ec2f3911732a194", - "sha256:f4ad628b5174d5315761b67f212774a32f5bad5e61396d38108bd801c0a8f5d9", - "sha256:f70316f760174ca04492b5ab01be631a8ae30cadab1d1081035136ba12738cfa", - "sha256:f73ce1512e04fbe2bc97836e89830d6b4314c171587a99688082d090f934d20a", - "sha256:ff7c23ba0a88cb7b104281a99476cccadf29de2a0ef5ce864959a52675b1ca83" - ], - "markers": "python_version >= '3.9'", - "version": "==0.25.1" - }, - "ruamel.yaml": { - "hashes": [ - "sha256:710ff198bb53da66718c7db27eec4fbcc9aa6ca7204e4c1df2f282b6fe5eb6b2", - "sha256:7227b76aaec364df15936730efbf7d72b30c0b79b1d578bbb8e3dcb2d81f52b7" - ], - "markers": "python_version >= '3.8'", - "version": "==0.18.14" - }, - "ruamel.yaml.clib": { - "hashes": [ - "sha256:040ae85536960525ea62868b642bdb0c2cc6021c9f9d507810c0c604e66f5a7b", - "sha256:0467c5965282c62203273b838ae77c0d29d7638c8a4e3a1c8bdd3602c10904e4", - "sha256:0b7e75b4965e1d4690e93021adfcecccbca7d61c7bddd8e22406ef2ff20d74ef", - "sha256:11f891336688faf5156a36293a9c362bdc7c88f03a8a027c2c1d8e0bcde998e5", - "sha256:1492a6051dab8d912fc2adeef0e8c72216b24d57bd896ea607cb90bb0c4981d3", - "sha256:20b0f8dc160ba83b6dcc0e256846e1a02d044e13f7ea74a3d1d56ede4e48c632", - "sha256:22353049ba4181685023b25b5b51a574bce33e7f51c759371a7422dcae5402a6", - "sha256:2c59aa6170b990d8d2719323e628aaf36f3bfbc1c26279c0eeeb24d05d2d11c7", - "sha256:32621c177bbf782ca5a18ba4d7af0f1082a3f6e517ac2a18b3974d4edf349680", - "sha256:3bc2a80e6420ca8b7d3590791e2dfc709c88ab9152c00eeb511c9875ce5778bf", - "sha256:3eac5a91891ceb88138c113f9db04f3cebdae277f5d44eaa3651a4f573e6a5da", - "sha256:4a6679521a58256a90b0d89e03992c15144c5f3858f40d7c18886023d7943db6", - "sha256:4c8c5d82f50bb53986a5e02d1b3092b03622c02c2eb78e29bec33fd9593bae1a", - "sha256:4f6f3eac23941b32afccc23081e1f50612bdbe4e982012ef4f5797986828cd01", - "sha256:5a0e060aace4c24dcaf71023bbd7d42674e3b230f7e7b97317baf1e953e5b519", - "sha256:6442cb36270b3afb1b4951f060eccca1ce49f3d087ca1ca4563a6eb479cb3de6", - "sha256:6c8fbb13ec503f99a91901ab46e0b07ae7941cd527393187039aec586fdfd36f", - "sha256:749c16fcc4a2b09f28843cda5a193e0283e47454b63ec4b81eaa2242f50e4ccd", - "sha256:7dd5adc8b930b12c8fc5b99e2d535a09889941aa0d0bd06f4749e9a9397c71d2", - "sha256:811ea1594b8a0fb466172c384267a4e5e367298af6b228931f273b111f17ef52", - "sha256:932205970b9f9991b34f55136be327501903f7c66830e9760a8ffb15b07f05cd", - "sha256:943f32bc9dedb3abff9879edc134901df92cfce2c3d5c9348f172f62eb2d771d", - "sha256:95c3829bb364fdb8e0332c9931ecf57d9be3519241323c5274bd82f709cebc0c", - "sha256:96777d473c05ee3e5e3c3e999f5d23c6f4ec5b0c38c098b3a5229085f74236c6", - "sha256:a274fb2cb086c7a3dea4322ec27f4cb5cc4b6298adb583ab0e211a4682f241eb", - "sha256:a52d48f4e7bf9005e8f0a89209bf9a73f7190ddf0489eee5eb51377385f59f2a", - "sha256:a606ef75a60ecf3d924613892cc603b154178ee25abb3055db5062da811fd969", - "sha256:ab007f2f5a87bd08ab1499bdf96f3d5c6ad4dcfa364884cb4549aa0154b13a28", - "sha256:b82a7c94a498853aa0b272fd5bc67f29008da798d4f93a2f9f289feb8426a58d", - "sha256:bb43a269eb827806502c7c8efb7ae7e9e9d0573257a46e8e952f4d4caba4f31e", - "sha256:bc5f1e1c28e966d61d2519f2a3d451ba989f9ea0f2307de7bc45baa526de9e45", - "sha256:bd0a08f0bab19093c54e18a14a10b4322e1eacc5217056f3c063bd2f59853ce4", - "sha256:beffaed67936fbbeffd10966a4eb53c402fafd3d6833770516bf7314bc6ffa12", - "sha256:bf165fef1f223beae7333275156ab2022cffe255dcc51c27f066b4370da81e31", - "sha256:cf12567a7b565cbf65d438dec6cfbe2917d3c1bdddfce84a9930b7d35ea59642", - "sha256:d84318609196d6bd6da0edfa25cedfbabd8dbde5140a0a23af29ad4b8f91fb1e", - "sha256:d85252669dc32f98ebcd5d36768f5d4faeaeaa2d655ac0473be490ecdae3c285", - "sha256:e143ada795c341b56de9418c58d028989093ee611aa27ffb9b7f609c00d813ed", - "sha256:e188d2699864c11c36cdfdada94d781fd5d6b0071cd9c427bceb08ad3d7c70e1", - "sha256:e2f1c3765db32be59d18ab3953f43ab62a761327aafc1594a2a1fbe038b8b8a7", - "sha256:e5b8daf27af0b90da7bb903a876477a9e6d7270be6146906b276605997c7e9a3", - "sha256:e7e3736715fbf53e9be2a79eb4db68e4ed857017344d697e8b9749444ae57475", - "sha256:e8c4ebfcfd57177b572e2040777b8abc537cdef58a2120e830124946aa9b42c5", - "sha256:f66efbc1caa63c088dead1c4170d148eabc9b80d95fb75b6c92ac0aad2437d76", - "sha256:fc4b630cd3fa2cf7fce38afa91d7cfe844a9f75d7f0f36393fa98815e911d987", - "sha256:fd5415dded15c3822597455bc02bcd66e81ef8b7a48cb71a33628fc9fdde39df" - ], - "markers": "python_version >= '3.9'", - "version": "==0.2.12" - }, - "setuptools": { - "hashes": [ - "sha256:385eb4edd9c9d5c17540511303e39a147ce2fc04bc55289c322b9e5904fe2c05", - "sha256:be1af57fc409f93647f2e8e4573a142ed38724b8cdd389706a867bb4efcf1e78" - ], - "markers": "python_version >= '3.8'", - "version": "==69.0.3" - }, - "subprocess-tee": { - "hashes": [ - "sha256:21942e976715af4a19a526918adb03a8a27a8edab959f2d075b777e3d78f532d", - "sha256:91b2b4da3aae9a7088d84acaf2ea0abee3f4fd9c0d2eae69a9b9122a71476590" - ], - "markers": "python_version >= '3.8'", - "version": "==0.4.2" - }, - "tomli": { - "hashes": [ - "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6", - "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd", - "sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c", - "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b", - "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8", - "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6", - "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77", - "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff", - "sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea", - "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192", - "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249", - "sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee", - "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4", - "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98", - "sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8", - "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4", - "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281", - "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744", - "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69", - "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13", - "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140", - "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e", - "sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e", - "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc", - "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff", - "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec", - "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2", - "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222", - "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106", - "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272", - "sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a", - "sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7" - ], - "markers": "python_version >= '3.8'", - "version": "==2.2.1" - }, - "tomlkit": { - "hashes": [ - "sha256:7a974427f6e119197f670fbbbeae7bef749a6c14e793db934baefc1b5f03efde", - "sha256:fff5fe59a87295b278abd31bec92c15d9bc4a06885ab12bcea52c71119392e79" - ], - "markers": "python_version >= '3.8'", - "version": "==0.13.2" - }, - "typing-extensions": { - "hashes": [ - "sha256:8676b788e32f02ab42d9e7c61324048ae4c6d844a399eebace3d4979d75ceef4", - "sha256:a1514509136dd0b477638fc68d6a91497af5076466ad0fa6c338e44e359944af" - ], - "markers": "python_version >= '3.9'", - "version": "==4.14.0" - }, - "wcmatch": { - "hashes": [ - "sha256:5848ace7dbb0476e5e55ab63c6bbd529745089343427caa5537f230cc01beb8a", - "sha256:f11f94208c8c8484a16f4f48638a85d771d9513f4ab3f37595978801cb9465af" - ], - "markers": "python_version >= '3.9'", - "version": "==10.1" - }, - "wrapt": { - "hashes": [ - "sha256:02fce1852f755f44f95af51f69d22e45080102e9d00258053b79367d07af39c0", - "sha256:077ff0d1f9d9e4ce6476c1a924a3332452c1406e59d90a2cf24aeb29eeac9420", - "sha256:078e2a1a86544e644a68422f881c48b84fef6d18f8c7a957ffd3f2e0a74a0d4a", - "sha256:0970ddb69bba00670e58955f8019bec4a42d1785db3faa043c33d81de2bf843c", - "sha256:1286eb30261894e4c70d124d44b7fd07825340869945c79d05bda53a40caa079", - "sha256:21f6d9a0d5b3a207cdf7acf8e58d7d13d463e639f0c7e01d82cdb671e6cb7923", - "sha256:230ae493696a371f1dbffaad3dafbb742a4d27a0afd2b1aecebe52b740167e7f", - "sha256:26458da5653aa5b3d8dc8b24192f574a58984c749401f98fff994d41d3f08da1", - "sha256:2cf56d0e237280baed46f0b5316661da892565ff58309d4d2ed7dba763d984b8", - "sha256:2e51de54d4fb8fb50d6ee8327f9828306a959ae394d3e01a1ba8b2f937747d86", - "sha256:2fbfbca668dd15b744418265a9607baa970c347eefd0db6a518aaf0cfbd153c0", - "sha256:38adf7198f8f154502883242f9fe7333ab05a5b02de7d83aa2d88ea621f13364", - "sha256:3a8564f283394634a7a7054b7983e47dbf39c07712d7b177b37e03f2467a024e", - "sha256:3abbe948c3cbde2689370a262a8d04e32ec2dd4f27103669a45c6929bcdbfe7c", - "sha256:3bbe623731d03b186b3d6b0d6f51865bf598587c38d6f7b0be2e27414f7f214e", - "sha256:40737a081d7497efea35ab9304b829b857f21558acfc7b3272f908d33b0d9d4c", - "sha256:41d07d029dd4157ae27beab04d22b8e261eddfc6ecd64ff7000b10dc8b3a5727", - "sha256:46ed616d5fb42f98630ed70c3529541408166c22cdfd4540b88d5f21006b0eff", - "sha256:493d389a2b63c88ad56cdc35d0fa5752daac56ca755805b1b0c530f785767d5e", - "sha256:4ff0d20f2e670800d3ed2b220d40984162089a6e2c9646fdb09b85e6f9a8fc29", - "sha256:54accd4b8bc202966bafafd16e69da9d5640ff92389d33d28555c5fd4f25ccb7", - "sha256:56374914b132c702aa9aa9959c550004b8847148f95e1b824772d453ac204a72", - "sha256:578383d740457fa790fdf85e6d346fda1416a40549fe8db08e5e9bd281c6a475", - "sha256:58d7a75d731e8c63614222bcb21dd992b4ab01a399f1f09dd82af17bbfc2368a", - "sha256:5c5aa28df055697d7c37d2099a7bc09f559d5053c3349b1ad0c39000e611d317", - "sha256:5fc8e02f5984a55d2c653f5fea93531e9836abbd84342c1d1e17abc4a15084c2", - "sha256:63424c681923b9f3bfbc5e3205aafe790904053d42ddcc08542181a30a7a51bd", - "sha256:64b1df0f83706b4ef4cfb4fb0e4c2669100fd7ecacfb59e091fad300d4e04640", - "sha256:74934ebd71950e3db69960a7da29204f89624dde411afbfb3b4858c1409b1e98", - "sha256:75669d77bb2c071333417617a235324a1618dba66f82a750362eccbe5b61d248", - "sha256:75760a47c06b5974aa5e01949bf7e66d2af4d08cb8c1d6516af5e39595397f5e", - "sha256:76407ab327158c510f44ded207e2f76b657303e17cb7a572ffe2f5a8a48aa04d", - "sha256:76e9c727a874b4856d11a32fb0b389afc61ce8aaf281ada613713ddeadd1cfec", - "sha256:77d4c1b881076c3ba173484dfa53d3582c1c8ff1f914c6461ab70c8428b796c1", - "sha256:780c82a41dc493b62fc5884fb1d3a3b81106642c5c5c78d6a0d4cbe96d62ba7e", - "sha256:7dc0713bf81287a00516ef43137273b23ee414fe41a3c14be10dd95ed98a2df9", - "sha256:7eebcdbe3677e58dd4c0e03b4f2cfa346ed4049687d839adad68cc38bb559c92", - "sha256:896689fddba4f23ef7c718279e42f8834041a21342d95e56922e1c10c0cc7afb", - "sha256:96177eb5645b1c6985f5c11d03fc2dbda9ad24ec0f3a46dcce91445747e15094", - "sha256:96e25c8603a155559231c19c0349245eeb4ac0096fe3c1d0be5c47e075bd4f46", - "sha256:9d37ac69edc5614b90516807de32d08cb8e7b12260a285ee330955604ed9dd29", - "sha256:9ed6aa0726b9b60911f4aed8ec5b8dd7bf3491476015819f56473ffaef8959bd", - "sha256:a487f72a25904e2b4bbc0817ce7a8de94363bd7e79890510174da9d901c38705", - "sha256:a4cbb9ff5795cd66f0066bdf5947f170f5d63a9274f99bdbca02fd973adcf2a8", - "sha256:a74d56552ddbde46c246b5b89199cb3fd182f9c346c784e1a93e4dc3f5ec9975", - "sha256:a89ce3fd220ff144bd9d54da333ec0de0399b52c9ac3d2ce34b569cf1a5748fb", - "sha256:abd52a09d03adf9c763d706df707c343293d5d106aea53483e0ec8d9e310ad5e", - "sha256:abd8f36c99512755b8456047b7be10372fca271bf1467a1caa88db991e7c421b", - "sha256:af5bd9ccb188f6a5fdda9f1f09d9f4c86cc8a539bd48a0bfdc97723970348418", - "sha256:b02f21c1e2074943312d03d243ac4388319f2456576b2c6023041c4d57cd7019", - "sha256:b06fa97478a5f478fb05e1980980a7cdf2712015493b44d0c87606c1513ed5b1", - "sha256:b0724f05c396b0a4c36a3226c31648385deb6a65d8992644c12a4963c70326ba", - "sha256:b130fe77361d6771ecf5a219d8e0817d61b236b7d8b37cc045172e574ed219e6", - "sha256:b56d5519e470d3f2fe4aa7585f0632b060d532d0696c5bdfb5e8319e1d0f69a2", - "sha256:b67b819628e3b748fd3c2192c15fb951f549d0f47c0449af0764d7647302fda3", - "sha256:ba1711cda2d30634a7e452fc79eabcadaffedf241ff206db2ee93dd2c89a60e7", - "sha256:bbeccb1aa40ab88cd29e6c7d8585582c99548f55f9b2581dfc5ba68c59a85752", - "sha256:bd84395aab8e4d36263cd1b9308cd504f6cf713b7d6d3ce25ea55670baec5416", - "sha256:c99f4309f5145b93eca6e35ac1a988f0dc0a7ccf9ccdcd78d3c0adf57224e62f", - "sha256:ca1cccf838cd28d5a0883b342474c630ac48cac5df0ee6eacc9c7290f76b11c1", - "sha256:cd525e0e52a5ff16653a3fc9e3dd827981917d34996600bbc34c05d048ca35cc", - "sha256:cdb4f085756c96a3af04e6eca7f08b1345e94b53af8921b25c72f096e704e145", - "sha256:ce42618f67741d4697684e501ef02f29e758a123aa2d669e2d964ff734ee00ee", - "sha256:d06730c6aed78cee4126234cf2d071e01b44b915e725a6cb439a879ec9754a3a", - "sha256:d5fe3e099cf07d0fb5a1e23d399e5d4d1ca3e6dfcbe5c8570ccff3e9208274f7", - "sha256:d6bcbfc99f55655c3d93feb7ef3800bd5bbe963a755687cbf1f490a71fb7794b", - "sha256:d787272ed958a05b2c86311d3a4135d3c2aeea4fc655705f074130aa57d71653", - "sha256:e169e957c33576f47e21864cf3fc9ff47c223a4ebca8960079b8bd36cb014fd0", - "sha256:e20076a211cd6f9b44a6be58f7eeafa7ab5720eb796975d0c03f05b47d89eb90", - "sha256:e826aadda3cae59295b95343db8f3d965fb31059da7de01ee8d1c40a60398b29", - "sha256:eef4d64c650f33347c1f9266fa5ae001440b232ad9b98f1f43dfe7a79435c0a6", - "sha256:f2e69b3ed24544b0d3dbe2c5c0ba5153ce50dcebb576fdc4696d52aa22db6034", - "sha256:f87ec75864c37c4c6cb908d282e1969e79763e0d9becdfe9fe5473b7bb1e5f09", - "sha256:fbec11614dba0424ca72f4e8ba3c420dba07b4a7c206c8c8e4e73f2e98f4c559", - "sha256:fd69666217b62fa5d7c6aa88e507493a34dec4fa20c5bd925e4bc12fce586639" - ], - "markers": "python_version < '3.11'", - "version": "==1.15.0" - }, - "yamllint": { - "hashes": [ - "sha256:2e16e504bb129ff515b37823b472750b36b6de07963bd74b307341ef5ad8bdc3", - "sha256:7a003809f88324fd2c877734f2d575ee7881dd9043360657cc8049c809eba6cd" - ], - "index": "pypi", - "markers": "python_version >= '3.8'", - "version": "==1.35.1" - }, - "zipp": { - "hashes": [ - "sha256:071652d6115ed432f5ce1d34c336c0adfd6a884660d1e9712a256d3d3bd4b14e", - "sha256:a07157588a12518c9d4034df3fbbee09c814741a33ff63c05fa29d26a2404166" - ], - "markers": "python_version >= '3.9'", - "version": "==3.23.0" - } - }, - "develop": {} -} diff --git a/ansible_collections/grafana/grafana/README.md b/ansible_collections/grafana/grafana/README.md deleted file mode 100644 index 5c36aac64c..0000000000 --- a/ansible_collections/grafana/grafana/README.md +++ /dev/null @@ -1,159 +0,0 @@ -# Ansible Collection for Grafana - -[![Grafana](https://img.shields.io/badge/grafana-%23F46800.svg?&logo=grafana&logoColor=white)](https://grafana.com) -[![Ansible Collection](https://img.shields.io/badge/grafana.grafana-orange)](https://galaxy.ansible.com/ui/repo/published/grafana/grafana/) -[![GitHub tag](https://img.shields.io/github/tag/grafana/grafana-ansible-collection.svg)](https://github.com/grafana/grafana-ansible-collection/tags) -[![GitHub Last Commit](https://img.shields.io/github/last-commit/grafana/grafana-ansible-collection)](https://github.com/grafana/grafana-ansible-collection/tags) -[![GitHub Contributors](https://img.shields.io/github/contributors/grafana/grafana-ansible-collection)](https://github.com/grafana/grafana-ansible-collection/tags) - -This collection (`grafana.grafana`) contains modules and roles to assist in automating the management of resources in **Grafana**, **Grafana Agent**, **OpenTelemetry Collector**, **Loki**, **Mimir**, **Alloy**, and **Promtail** with Ansible. - -- [Ansible collection Documentation](https://docs.ansible.com/ansible/latest/collections/grafana/grafana/) -- [Grafana](https://grafana.com) -- [Grafana Cloud](https://grafana.com/products/cloud/) - -## Ansible version compatibility - -The collection is tested and supported with: `ansible >= 2.9` - -## Installing the collection - -Before using the Grafana collection, you need to install it using the below command: - -```shell -ansible-galaxy collection install grafana.grafana -``` - -You can also include it in a `requirements.yml` file and install it via `ansible-galaxy collection install -r requirements.yml`, using the format: - -```yaml ---- -collections: - - name: grafana.grafana -``` - -A specific version of the collection can be installed by using the version keyword in the `requirements.yml` file: - -```yaml ---- -collections: - - name: grafana.grafana - version: 1.0.0 -``` - -## Roles included in the collection - -This collection includes the following roles to help set up and manage Grafana, Grafana Agent, Alloy, OpenTelemetry Collector, Loki, Mimir and Promtail: - -- **Grafana**: Installs and configures Grafana on your target hosts. -- **Grafana Agent**: Deploys and configures Grafana Agent, allowing for efficient metrics, logs, and trace data shipping to Grafana Cloud or other endpoints. -- **Alloy**: The replacement for Grafana Agent and Promtail. Alloy can be used to collect traces, metrics, and logs. -- **OpenTelemetry Collector**: Sets up and configures the OpenTelemetry Collector, enabling advanced observability features through data collection and transmission. -- **Loki**: Deploy and manage Loki, the log aggregation system. -- **Mimir**: Deploy and manage Mimir, the scalable long-term storage for Prometheus. -- **Promtail**: Deploy and manage Promtail, the agent which ships the contents of local logs to a private Grafana Loki. - -## Using this collection - -You can call modules by their Fully Qualified Collection Namespace (FQCN), such as `grafana.grafana.cloud_stack`: - -```yaml -- name: Using grafana collection - hosts: localhost - tasks: - - name: Create a Grafana Cloud stack - grafana.grafana.cloud_stack: - name: mystack - stack_slug: mystack - org_slug: myorg - cloud_api_key: "{{ cloud_api_key }}" - region: eu - state: present -``` - -or you can add full namespace and collection name in the `collections` element in your playbook - -```yaml -- name: Using grafana collection - hosts: localhost - collection: - - grafana.grafana - tasks: - - name: Create a Grafana Cloud stack - cloud_stack: - name: mystack - stack_slug: mystack - org_slug: myorg - cloud_api_key: "{{ cloud_api_key }}" - region: eu - state: present -``` - -## Contributing - -We are accepting GitHub pull requests and issues. There are many ways in which you can participate in the project, for example: - -- Submit bugs and feature requests, and help us verify them -- Submit and review source code changes in GitHub pull requests -- Add new modules for more Grafana resources - -## Testing and Development - -If you want to develop new content for this collection or improve what is already -here, the easiest way to work on the collection is to clone it into one of the configured -[`COLLECTIONS_PATHS`](https://docs.ansible.com/ansible/latest/reference_appendices/config.html#collections-paths), -and work on it there. - -### Testing with `ansible-test` - -We use `ansible-test` for sanity. - -## Commands - -| Command | Description | -| :--- | :----------- | -| `make setup` | Checks to see if necessary tools are installed | -| `make install` | Installs project dependencies | -| `make lint` | Performs all linting commands | -| `make lint-sh` / `make lint-shell` | Performs shell script linting | -| `make lint-md` / `make lint-markdown` | Performs Markdown linting | -| `make lint-txt` / `make lint-text` | Performs text linting | -| `make lint-yml` / `make lint-yaml` | Performs Yaml linting | -| `make lint-ec` / `make lint-editorconfig` | Performs EditorConfig Checks | -| `make lint-ansible` | Performs Ansible linting | -| `make clean` | Removes the `./node_modules` and `./build` directories | -| `make reinstall` | Shortcut to `make clean` and `make install` | - -## Releasing, Versioning and Deprecation - -This collection follows [Semantic Versioning](https://semver.org/). More details on versioning can be found [in the Ansible docs](https://docs.ansible.com/ansible/latest/dev_guide/developing_collections.html#collection-versions). - -We plan to regularly release new minor or bugfix versions once new features or bugfixes have been implemented. - -Releasing the current major version on GitHub happens from the `main` branch by the -[GitHub Release Workflow](https://github.com/grafana/grafana-ansible-collection/blob/main/.github/workflows/release.yml). -Before the [GitHub Release Workflow](https://github.com/grafana/grafana-ansible-collection/blob/main/.github/workflows/release.yml) -is run, Contributors should push the new version on Ansible Galaxy Manually. - -To generate changelogs for a new release, Refer [Generating Changelogs](https://docs.ansible.com/ansible/latest/dev_guide/developing_collections_changelogs.html#generating-changelogs) or run `antsibull-changelog generate`and `antsibull-changelog lint-changelog-yaml changelogs/changelog.yaml` to validate the YAML file. - -To generate the tarball to be uploaded on Ansible Galaxy, Refer [Building collection tarball](https://docs.ansible.com/ansible/latest/dev_guide/developing_collections_distributing.html#building-your-collection-tarball) - -## Code of Conduct - -This collection follows the Ansible project's [Code of Conduct](https://docs.ansible.com/ansible/devel/community/code_of_conduct.html). -Please read and familiarize yourself with this doc - -## More information - -- [Maintainer guidelines](https://docs.ansible.com/ansible/devel/community/maintainers.html) -- Subscribe to the [news-for-maintainers](https://github.com/ansible-collections/news-for-maintainers) repository and track announcements there. -- [Ansible Collection overview](https://github.com/ansible-collections/overview) -- [Ansible User guide](https://docs.ansible.com/ansible/latest/user_guide/index.html) -- [Ansible Developer guide](https://docs.ansible.com/ansible/latest/dev_guide/index.html) -- [Ansible Collection Developer Guide](https://docs.ansible.com/ansible/devel/dev_guide/developing_collections.html) -- [Ansible Community code of conduct](https://docs.ansible.com/ansible/latest/community/code_of_conduct.html) - -## License - -GPL-3.0-or-later diff --git a/ansible_collections/grafana/grafana/ansible.cfg b/ansible_collections/grafana/grafana/ansible.cfg deleted file mode 100644 index fecf5b666d..0000000000 --- a/ansible_collections/grafana/grafana/ansible.cfg +++ /dev/null @@ -1,2 +0,0 @@ -[defaults] -collections_paths = ./ diff --git a/ansible_collections/grafana/grafana/catalog-info.yaml b/ansible_collections/grafana/grafana/catalog-info.yaml deleted file mode 100644 index de02c6a286..0000000000 --- a/ansible_collections/grafana/grafana/catalog-info.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Component -metadata: - name: grafana-ansible-collection - title: grafana-ansible-collection - description: | - This collection (grafana.grafana) contains modules and roles to assist in automating the management of resources in Grafana, Grafana Agent, OpenTelemetry Collector, Loki, Mimir, Alloy, and Promtail with Ansible. - tags: - - gitops - links: - - title: "Internal Slack Channel #ansible-collection" - url: https://grafanalabs.enterprise.slack.com/archives/C04T7GX8C69 - annotations: - backstage.io/techdocs-ref: dir:. - github.com/project-slug: grafana/grafana-ansible-collection -spec: - type: tool - owner: group:default/devex - lifecycle: production diff --git a/ansible_collections/grafana/grafana/changelogs/.plugin-cache.yaml b/ansible_collections/grafana/grafana/changelogs/.plugin-cache.yaml deleted file mode 100644 index 1fc6190dcd..0000000000 --- a/ansible_collections/grafana/grafana/changelogs/.plugin-cache.yaml +++ /dev/null @@ -1,59 +0,0 @@ -objects: - role: {} -plugins: - become: {} - cache: {} - callback: {} - cliconf: {} - connection: {} - filter: {} - httpapi: {} - inventory: {} - lookup: {} - module: - alert_contact_point: - description: Manage Alerting Contact points in Grafana - name: alert_contact_point - namespace: '' - version_added: 0.0.1 - alert_notification_policy: - description: Manage Alerting Policies points in Grafana - name: alert_notification_policy - namespace: '' - version_added: 0.0.1 - cloud_api_key: - description: Manage Grafana Cloud API keys - name: cloud_api_key - namespace: '' - version_added: 0.0.1 - cloud_plugin: - description: Manage Grafana Cloud Plugins - name: cloud_plugin - namespace: '' - version_added: 0.0.1 - cloud_stack: - description: Manage Grafana Cloud stack - name: cloud_stack - namespace: '' - version_added: 0.0.1 - dashboard: - description: Manage Dashboards in Grafana - name: dashboard - namespace: '' - version_added: 0.0.1 - datasource: - description: Manage Data sources in Grafana - name: datasource - namespace: '' - version_added: 0.0.1 - folder: - description: Manage Folders in Grafana - name: folder - namespace: '' - version_added: 0.0.1 - netconf: {} - shell: {} - strategy: {} - test: {} - vars: {} -version: 6.2.0 diff --git a/ansible_collections/grafana/grafana/changelogs/changelog.yaml b/ansible_collections/grafana/grafana/changelogs/changelog.yaml deleted file mode 100644 index 22a21e2995..0000000000 --- a/ansible_collections/grafana/grafana/changelogs/changelog.yaml +++ /dev/null @@ -1,442 +0,0 @@ -ancestor: null -releases: - 0.0.1: - changes: - release_summary: It's a release! First version to publish to Ansible Galaxy - release_date: '2022-08-09' - 0.0.2: - changes: - release_summary: Updated input parameters description for all modules - release_date: '2022-08-10' - 0.0.3: - changes: - release_summary: Documentation update and code cleanup - release_date: '2022-08-10' - 0.0.4: - changes: - bugfixes: - - Fix an issue with `cloud_stack` idempotency - release_date: '2022-08-10' - 0.0.5: - changes: - release_summary: Documentation update and code cleanup - release_date: '2022-08-10' - 0.0.6: - changes: - minor_changes: - - Idempotency updates to cloud_api_key and datasource modules - release_date: '2022-08-10' - 0.0.7: - changes: - release_summary: Documentation update for return values in `grafana.grafana.dashboard` - release_date: '2022-08-11' - 1.0.0: - changes: - release_summary: CI and testing improvements - release_date: '2022-08-16' - 1.0.1: - changes: - release_summary: Documentation updates with updated examples - release_date: '2022-08-23' - 1.0.2: - changes: - release_summary: Documentation updates with updated description for modules - release_date: '2022-08-30' - 1.0.3: - changes: - minor_changes: - - Add a fail method to modules source code if `requests` library is not present - - Fixed markup for arg option in Documentation - - Updated Documentation with `notes` to specify if the check_mode feature is - supported by modules - - removed `supports_check_mode=True` from source code of modules - release_date: '2022-10-20' - 1.0.4: - changes: - bugfixes: - - Fixed cases where cloud_stack and alert_contact_point modules do not return - a tuple when nothing in loop matches - major_changes: - - All modules except dashboard and datasource modules now support idempotency - minor_changes: - - All modules use `missing_required_lib`` to compose the message for module.fail_json() - when required library is missing from host - release_summary: Bug fixes and idempotency fixes for modules - release_date: '2022-11-01' - 1.0.5: - changes: - minor_changes: - - Added Note to datasource and dashboard module about not supporting Idempotency - release_summary: Add Note to modules which don't support Idempotency - release_date: '2022-11-10' - 1.1.0: - changes: - major_changes: - - Added Role for Grafana Agent - release_summary: Added Role to deploy Grafana Agent on linux hosts - release_date: '2022-11-22' - 1.1.1: - changes: - minor_changes: - - Updated the return message in grafana.grafana.folder module - release_summary: Updated return description and value for grafana.grafana.folder - module - release_date: '2023-02-08' - 2.0.0: - changes: - major_changes: - - Added Lint support - - Configs for server, metrics, logs, traces, and integrations - - Installation of the latest version - - Local installations when internet connection is not allowed - - Only download binary to controller once instead of hosts - - Skip install if the agent is already installed and the version is the same - as the requested version - - Support for Grafana Agent Flow - - Validation of variables - release_summary: Updated Grafana Agent Role - release_date: '2023-03-27' - 2.1.0: - changes: - major_changes: - - Addition of Grafana Server role by @gardar - - Configurable agent user groups by @NormanJS - - Grafana Plugins support on-prem Grafana installation by @ishanjainn - - Updated Service for flow mode by @bentonam - minor_changes: - - Ability to configure date format in grafana server role by @RomainMou - - Avoid using shell for fetching latest version in Grafana Agent Role by @gardar - - Fix for invalid yaml with datasources list enclosed in quotes by @elkozmon - - Remove agent installation custom check by @VLZZZ - - Remove explicit user creation check by @v-zhuravlev - release_summary: Add Grafana Server role and plugins support on-prem Grafana - release_date: '2023-06-26' - 2.1.1: - changes: - minor_changes: - - Update Download tasks in Grafana Agent Role - release_summary: Update Download tasks in Grafana Agent Role - release_date: '2023-06-26' - 2.1.2: - changes: - minor_changes: - - Fix Deleting datasources - - Fix alert_notification_policy failing on fresh instance - - Making Deleting folders idempotent - - Remove trailing slash automatically from grafana_url - release_summary: Idempotency Updates and minor api_url fixes - release_date: '2023-06-27' - 2.1.3: - changes: - minor_changes: - - indentation and Lint fixes to modules - release_summary: Update modules to fix failing Sanity Tests - release_date: '2023-06-27' - 2.1.4: - changes: - minor_changes: - - Datasource test updates and minor fixes - release_summary: Update Datasource Tests and minor fixes - release_date: '2023-06-27' - 2.1.5: - changes: - minor_changes: - - Add Grafana Agent Version and CPU Arch to Downloaded ZIP in Grafana Agent - Role - - Move _grafana_agent_base_download_url from /vars to /defaults in Grafana Agent - Role - release_summary: Update Grafana Agent Download varibale and ZIP file - release_date: '2023-08-10' - 2.1.6: - changes: - minor_changes: - - Add overrides.conf with CAP_NET_BIND_SERVICE for grafana-server unit - - Fix Grafana Dashboard Import for Grafana Role - - Make grafana_agent Idempotent - - Provisioning errors in YAML - - Use new standard to configure Grafana APT source for Grafana Role - release_summary: Grafana and Grafana Agent role updates - release_date: '2023-09-11' - 2.1.7: - changes: - minor_changes: - - YAML Fixes - release_summary: YAML Fixes - release_date: '2023-09-11' - 2.1.8: - changes: - minor_changes: - - Fix grafana dashboard import in Grafana Role - release_summary: Fix grafana dashboard import in Grafana Role - release_date: '2023-09-12' - 2.1.9: - changes: - minor_changes: - - Add check for Curl and failure step if Agent Version is not retrieved - - Bump cryptography from 39.0.2 to 41.0.3 - - Bump semver from 5.7.1 to 5.7.2 - - Bump word-wrap from 1.2.3 to 1.2.5 - - Create local dashboard directory in check mode - - Update CI Testing - - Update Cloud Stack Module failures - release_summary: Security Updates and Grafana Agent Version failure fixes - release_date: '2023-09-19' - 2.2.0: - changes: - minor_changes: - - Use 'ansible_system' env variable to detect os typ in Grafana Agent Role - - hange grafana Agent Wal and Positions Directory in Grafana Agent Role - release_summary: Grafana Agent Role Updates - release_date: '2023-09-20' - 2.2.1: - changes: - minor_changes: - - Allow alert resource provisioning in Grafana Role - release_summary: Allow alert resource provisioning in Grafana Role - release_date: '2023-09-27' - 2.2.2: - changes: - minor_changes: - - Bump cryptography from 41.0.3 to 41.0.4 - - Create missing notification directory in Grafana Role - - Remove check_mode from create local directory task in Grafana Role - release_summary: Grafana Role bug fixes and security updates - release_date: '2023-09-29' - 2.2.3: - changes: - minor_changes: - - Remove dependency on local-fs.target from Grafana Agent role - release_summary: Remove dependency on local-fs.target from Grafana Agent role - release_date: '2023-10-05' - 2.2.4: - changes: - minor_changes: - - Bump cryptography from 41.0.4 to 41.0.6 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/126 - - Drop curl check by @v-zhuravlev in https://github.com/grafana/grafana-ansible-collection/pull/120 - - Fix check mode for grafana role by @Boschung-Mecatronic-AG-Infrastructure - in https://github.com/grafana/grafana-ansible-collection/pull/125 - - Fix check mode in Grafana Agent by @AmandaCameron in https://github.com/grafana/grafana-ansible-collection/pull/124 - - Update tags in README by @ishanjainn in https://github.com/grafana/grafana-ansible-collection/pull/121 - release_summary: Grafana and Agent Role bug fixes and security updates - release_date: '2023-12-08' - 2.2.5: - changes: - minor_changes: - - Add 'run_once' to download&unzip tasks by @v-zhuravlev in https://github.com/grafana/grafana-ansible-collection/pull/136 - - Adding `oauth_allow_insecure_email_lookup` to fix oauth user sync error by - @hypery2k in https://github.com/grafana/grafana-ansible-collection/pull/132 - - Bump ansible-core from 2.15.4 to 2.15.8 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/137 - - Bump ansible-lint from 6.13.1 to 6.14.3 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/139 - - Bump ansible-lint from 6.14.3 to 6.22.2 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/142 - - Bump ansible-lint from 6.22.2 to 24.2.0 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/150 - - Bump jinja2 from 3.1.2 to 3.1.3 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/129 - - Bump pylint from 2.16.2 to 3.0.3 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/141 - - Bump yamllint from 1.29.0 to 1.33.0 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/140 - - Bump yamllint from 1.29.0 to 1.33.0 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/143 - - Bump yamllint from 1.33.0 to 1.34.0 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/151 - - Change handler to systemd by @v-zhuravlev in https://github.com/grafana/grafana-ansible-collection/pull/135 - - Fix links in grafana_agent/defaults/main.yaml by @PabloCastellano in https://github.com/grafana/grafana-ansible-collection/pull/134 - - Topic/grafana agent idempotency by @ohdearaugustin in https://github.com/grafana/grafana-ansible-collection/pull/147 - release_summary: Grafana and Agent Role bug fixes and security updates - release_date: '2024-02-13' - 3.0.0: - changes: - major_changes: - - Add an Ansible role for OpenTelemetry Collector by @ishanjainn in https://github.com/grafana/grafana-ansible-collection/pull/138 - minor_changes: - - Bump pylint from 3.0.3 to 3.1.0 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/158 - - Bump pylint from 3.0.3 to 3.1.0 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/161 - - Bump the pip group across 1 directories with 1 update by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/156 - - Bump yamllint from 1.33.0 to 1.35.1 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/155 - - Bump yamllint from 1.33.0 to 1.35.1 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/159 - - ExecStartPre and EnvironmentFile settings to system unit file by @fabiiw05 - in https://github.com/grafana/grafana-ansible-collection/pull/157 - - datasources url parameter fix by @dergudzon in https://github.com/grafana/grafana-ansible-collection/pull/162 - release_date: '2024-03-12' - 4.0.0: - changes: - major_changes: - - Add an Ansible role for Grafana Alloy by @ishanjainn in https://github.com/grafana/grafana-ansible-collection/pull/169 - minor_changes: - - Bump ansible-lint from 24.2.0 to 24.2.1 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/164 - - Update description to match module by @brmurphy in https://github.com/grafana/grafana-ansible-collection/pull/179 - - Clarify grafana-server configuration in README by @VGerris in https://github.com/grafana/grafana-ansible-collection/pull/177 - - Bump ansible-lint from 24.2.0 to 24.2.1 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/168 - - Bump black from 24.1.1 to 24.3.0 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/165 - - Apply correct uid + gid for imported dashboards by @hypery2k in https://github.com/grafana/grafana-ansible-collection/pull/167 - release_date: '2024-04-10' - 5.0.0: - changes: - major_changes: - - Add Grafana Mimir role by @GVengelen in https://github.com/grafana/grafana-ansible-collection/pull/183 - - Add Grafana Loki role by @voidquark in https://github.com/grafana/grafana-ansible-collection/pull/188 - release_date: '2024-04-29' - 5.1.0: - changes: - major_changes: - - Uninstall Step for Loki and Mimir by @voidquark in https://github.com/grafana/grafana-ansible-collection/pull/193 - release_date: '2024-05-07' - 5.2.0: - changes: - major_changes: - - Bump ansible-lint from 24.2.2 to 24.2.3 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/195 - - Add promtail role by @voidquark in https://github.com/grafana/grafana-ansible-collection/pull/197 - - Add a new config part to configure KeyCloak based auth by @he0s in https://github.com/grafana/grafana-ansible-collection/pull/191 - release_date: '2024-05-13' - 5.3.0: - changes: - major_changes: - - Add support for configuring feature_toggles in grafana role by @LexVar in https://github.com/grafana/grafana-ansible-collection/pull/173 - - Bump pylint from 3.1.0 to 3.1.1 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/200 - - Add a config check before restarting mimir by @panfantastic in https://github.com/grafana/grafana-ansible-collection/pull/198 - - Bump pylint from 3.1.1 to 3.2.2 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/208 - - Bump ansible-lint from 24.2.3 to 24.5.0 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/207 - - Fix env file location by @v-zhuravlev in https://github.com/grafana/grafana-ansible-collection/pull/211 - - Support adding alloy user to extra groups by @v-zhuravlev in https://github.com/grafana/grafana-ansible-collection/pull/212 - - Backport post-setup healthcheck from agent to alloy by @v-zhuravlev in https://github.com/grafana/grafana-ansible-collection/pull/213 - - readme styling & language improvements by @tigattack in https://github.com/grafana/grafana-ansible-collection/pull/214 - - Bump ansible-lint from 24.5.0 to 24.6.0 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/216 - - Bump pylint from 3.2.2 to 3.2.3 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/217 - - Bump braces from 3.0.2 to 3.0.3 in the npm_and_yarn group across 1 directory by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/218 - - Change from config.river to config.alloy by @cardasac in https://github.com/grafana/grafana-ansible-collection/pull/225 - - Updated result.json['message'] to result.json()['message'] by @CPreun in https://github.com/grafana/grafana-ansible-collection/pull/223 - - Bump pylint from 3.2.3 to 3.2.5 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/234 - - Fix Grafana Configuration for Unified and Legacy Alerting Based on Version by @voidquark in https://github.com/grafana/grafana-ansible-collection/pull/215 - release_date: '2024-07-12' - 5.4.0: - changes: - major_changes: - - Use a variable to control uninstall behavior instead of tags by @dobbi84 in https://github.com/grafana/grafana-ansible-collection/pull/253 - release_date: '2024-08-09' - 5.4.1: - changes: - major_changes: - - Updated promtail arch map for aarch64 matching by @gianmarco-mameli in https://github.com/grafana/grafana-ansible-collection/pull/257 - release_date: '2024-08-13' - 5.5.0: - changes: - major_changes: - - mimir molecule should use ansible core 2.16 by @GVengelen in https://github.com/grafana/grafana-ansible-collection/pull/254 - - add support for extra args by @harryfinbow in https://github.com/grafana/grafana-ansible-collection/pull/259 - release_date: '2024-08-16' - 5.5.1: - changes: - bugfixes: - - 'Add check_mode: false to Loki "Scrape GitHub" Task by @winsmith in https://github.com/grafana/grafana-ansible-collection/pull/262' - release_date: '2024-09-13' - 5.6.0: - changes: - major_changes: - - Update Alloy variables to use the `grafana_alloy_` namespace so they are unique by @Aethylred in https://github.com/grafana/grafana-ansible-collection/pull/209 - - Allow alloy_user_groups variable again by @pjezek in https://github.com/grafana/grafana-ansible-collection/pull/276 - - Update README.md by @aioue in https://github.com/grafana/grafana-ansible-collection/pull/275 - - Update main.yml by @aioue in https://github.com/grafana/grafana-ansible-collection/pull/274 - - Update README.md by @aioue in https://github.com/grafana/grafana-ansible-collection/pull/272 - - Ensure check-mode works for otel collector by @pieterlexis-tomtom in https://github.com/grafana/grafana-ansible-collection/pull/264 - - Bump pylint from 3.2.5 to 3.3.1 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/273 - - Bump ansible-lint from 24.6.0 to 24.9.2 by @dependabot in https://github.com/grafana/grafana-ansible-collection/pull/270 - - Alloy Role Improvements by @voidquark in https://github.com/grafana/grafana-ansible-collection/pull/281 - - Fix message argument of dashboard task by @Nemental in https://github.com/grafana/grafana-ansible-collection/pull/256 - - add grafana_plugins_ops to defaults and docs by @weakcamel in https://github.com/grafana/grafana-ansible-collection/pull/251 - - fix ansible-lint warnings on Forbidden implicit octal value "0640" by @copolycube in https://github.com/grafana/grafana-ansible-collection/pull/279 - - add option to populate google_analytics_4_id value by @copolycube in https://github.com/grafana/grafana-ansible-collection/pull/249 - - Adding "distributor" section support to mimir config file by @HamzaKhait in https://github.com/grafana/grafana-ansible-collection/pull/247 - release_date: '2024-10-21' - 5.7.0: - changes: - major_changes: - - Fix 'dict object' has no attribute 'path' when running with --check by @JMLX42 in https://github.com/grafana/grafana-ansible-collection/pull/283 - - Ability to set custom directory path for \*.alloy config files by @voidquark in https://github.com/grafana/grafana-ansible-collection/pull/294 - - grafana.ini yaml syntax by @intermittentnrg in https://github.com/grafana/grafana-ansible-collection/pull/232 - - Update grafana template by @santilococo in https://github.com/grafana/grafana-ansible-collection/pull/300 - - Add tests and support version latest by @pieterlexis-tomtom in https://github.com/grafana/grafana-ansible-collection/pull/299 - - add loki bloom support by @voidquark in https://github.com/grafana/grafana-ansible-collection/pull/298 - release_date: '2024-12-05' - 6.0.0: - changes: - major_changes: - - use ansible_facts instead of ansible_* variables by @kleini in https://github.com/grafana/grafana-ansible-collection/pull/296 - - Fix the markdown code fences for install command by @benmatselby in https://github.com/grafana/grafana-ansible-collection/pull/306 - - Grafana fix facts in main.yml by @voidquark in https://github.com/grafana/grafana-ansible-collection/pull/315 - - add catalog-info file for internal dev catalog by @theSuess in https://github.com/grafana/grafana-ansible-collection/pull/317 - - Fix sectionless items edge case by @santilococo in https://github.com/grafana/grafana-ansible-collection/pull/303 - - Fix loki_operational_config section not getting rendered in config.yml by @olegkaspersky in https://github.com/grafana/grafana-ansible-collection/pull/330 - - Fix tags Inherit default vars by @MJurayev in https://github.com/grafana/grafana-ansible-collection/pull/341 - - add publish step to GitHub Actions workflow for Ansible Galaxy by @thelooter in https://github.com/grafana/grafana-ansible-collection/pull/340 - - force temporary directory even in check mode for dashboards.yml by @cmehat in https://github.com/grafana/grafana-ansible-collection/pull/339 - - Make systemd create /var/lib/otel-collector by @pieterlexis-tomtom in https://github.com/grafana/grafana-ansible-collection/pull/336 - - Validate config by @pieterlexis-tomtom in https://github.com/grafana/grafana-ansible-collection/pull/327 - - Add foldersFromFilesStructure option by @root-expert in https://github.com/grafana/grafana-ansible-collection/pull/326 - - Do not log grafana.ini contents when setting facts by @root-expert in https://github.com/grafana/grafana-ansible-collection/pull/325 - - Add tempo role by @CSTDev in https://github.com/grafana/grafana-ansible-collection/pull/323 - - Make dashboard imports more flexible by @torfbolt in https://github.com/grafana/grafana-ansible-collection/pull/308 - - integrate sles legacy init-script support by @floerica in https://github.com/grafana/grafana-ansible-collection/pull/184 - - add user module to create/update/delete grafana users by @mvalois in https://github.com/grafana/grafana-ansible-collection/pull/178 - - management of the config.river with the conversion of the config.yaml by @lbrule in https://github.com/grafana/grafana-ansible-collection/pull/149 - release_date: '2025-04-24' - 6.0.1: - changes: - minor_changes: - - Remove Node modules from Ansible Collection build - release_date: '2025-05-06' - 6.0.2: - changes: - major_changes: - - Update when statement to test for dashboard files found by @hal58th in https://github.com/grafana/grafana-ansible-collection/pull/363 - - Fix Mimir URL verify task by @parcimonic in https://github.com/grafana/grafana-ansible-collection/pull/358 - - properly validate config by @pieterlexis-tomtom in https://github.com/grafana/grafana-ansible-collection/pull/354 - - alloy_readiness_check_use_https by @piotr-g in https://github.com/grafana/grafana-ansible-collection/pull/359 - - use ansible_facts instead of variables by @kleini in https://github.com/grafana/grafana-ansible-collection/pull/365 - - Use become false in find task by @santilococo in https://github.com/grafana/grafana-ansible-collection/pull/368 - - Don't use a proxy when doing Alloy readiness check by @benoitc-croesus in https://github.com/grafana/grafana-ansible-collection/pull/375 - - mark configuration deployment task with `no_log` by @kkantonop in https://github.com/grafana/grafana-ansible-collection/pull/380 - - Don't override defaults by @56quarters in https://github.com/grafana/grafana-ansible-collection/pull/382 - - Add delete protection by @KucicM in https://github.com/grafana/grafana-ansible-collection/pull/381 - - declare collection dependencies by @kleini in https://github.com/grafana/grafana-ansible-collection/pull/386 - - Fix some regression introduced by v6 by @voidquark in https://github.com/grafana/grafana-ansible-collection/pull/376 - - template ingester and querier section by @Gufderald in https://github.com/grafana/grafana-ansible-collection/pull/371 - - ensure alerting provisioning directory exists by @derhuerst in https://github.com/grafana/grafana-ansible-collection/pull/364 - release_date: '2025-06-23' - 6.0.3: - changes: - major_changes: - - declare collection dependencies by @ishanjainn in https://github.com/grafana/grafana-ansible-collection/pull/390 - - improve mimir/alloy examples playbook by @smCloudInTheSky in https://github.com/grafana/grafana-ansible-collection/pull/369 - - Changes for issue #383. Added alloy_github_api_url varaible. by @ILikePhysics in https://github.com/grafana/grafana-ansible-collection/pull/393 - - store APT key with .asc extension by @derhuerst in https://github.com/grafana/grafana-ansible-collection/pull/394 - - declare collection dependencies by @kleini in https://github.com/grafana/grafana-ansible-collection/pull/392 - - Bump ansible-lint from 24.9.2 to 25.6.1 by @dependabot[bot] in https://github.com/grafana/grafana-ansible-collection/pull/391 - - Bump brace-expansion from 1.1.11 to 1.1.12 in the npm_and_yarn group across 1 directory by @dependabot[bot] in https://github.com/grafana/grafana-ansible-collection/pull/396 - - ensure IP assert returns boolean result by @aardbol in https://github.com/grafana/grafana-ansible-collection/pull/398 - - Update Mimir README.md by @Gufderald in https://github.com/grafana/grafana-ansible-collection/pull/397 - release_date: '2025-07-29' - 6.0.4: - changes: - major_changes: - - Fixes to foldersFromFilesStructure option by @root-expert in https://github.com/grafana/grafana-ansible-collection/pull/351 - - add macOS support to alloy role by @l50 in https://github.com/grafana/grafana-ansible-collection/pull/418 - - replace None with [] for safe length checks by @voidquark in https://github.com/grafana/grafana-ansible-collection/pull/426 - - Add SUSE support to Alloy role by @pozsa in https://github.com/grafana/grafana-ansible-collection/pull/423 - - Migrate RedHat install to ansible.builtin.package by @r65535 in https://github.com/grafana/grafana-ansible-collection/pull/431 - release_date: '2025-09-27' - 6.0.5: - changes: - major_changes: - - Fixes issue by @digiserg in https://github.com/grafana/grafana-ansible-collection/pull/421 - - use deb822 for newer debian versions by @Lukas-Heindl in https://github.com/grafana/grafana-ansible-collection/pull/440 - - fix datasource documentation by @jeremad in https://github.com/grafana/grafana-ansible-collection/pull/437 - - update catalog info by @Duologic in https://github.com/grafana/grafana-ansible-collection/pull/434 - - Fix Mimir config file validation task by @Windos in https://github.com/grafana/grafana-ansible-collection/pull/428 - - Import custom dashboards only when directory exists by @mahendrapaipuri in https://github.com/grafana/grafana-ansible-collection/pull/430 - - fix mimir_download_url_deb & mimir_download_url_rpm by @germebl in https://github.com/grafana/grafana-ansible-collection/pull/400 - - Use credentials from grafana_ini when importing dashboards by @root-expert in https://github.com/grafana/grafana-ansible-collection/pull/402 - - Fallback to empty dict in case grafana_ini is undefined by @root-expert in https://github.com/grafana/grafana-ansible-collection/pull/403 - - do not skip scrape latest github version even in check_mode by @cmehat in https://github.com/grafana/grafana-ansible-collection/pull/408 - - Updated YUM repo urls from `packages.grafana.com` to `rpm.grafana.com` by @DejfCold in https://github.com/grafana/grafana-ansible-collection/pull/414 - release_date: '2025-10-11' - 6.0.6: - changes: - major_changes: - - Restore default listen address and port in Mimir by @56quarters in https://github.com/grafana/grafana-ansible-collection/pull/456 - - fix broken Grafana apt repository addition by @kleini in https://github.com/grafana/grafana-ansible-collection/pull/454 - release_date: '2025-10-22' \ No newline at end of file diff --git a/ansible_collections/grafana/grafana/changelogs/config.yaml b/ansible_collections/grafana/grafana/changelogs/config.yaml deleted file mode 100644 index 8710b513f8..0000000000 --- a/ansible_collections/grafana/grafana/changelogs/config.yaml +++ /dev/null @@ -1,33 +0,0 @@ ---- -changelog_filename_template: ../CHANGELOG.rst -changelog_filename_version_depth: 0 -changes_file: changelog.yaml -changes_format: combined -ignore_other_fragment_extensions: true -keep_fragments: false -mention_ancestor: true -new_plugins_after_name: removed_features -notesdir: fragments -prelude_section_name: release_summary -prelude_section_title: Release Summary -sanitize_changelog: true -sections: - - - major_changes - - Major Changes - - - minor_changes - - Minor Changes - - - breaking_changes - - Breaking Changes / Porting Guide - - - deprecated_features - - Deprecated Features - - - removed_features - - Removed Features (previously deprecated) - - - security_fixes - - Security Fixes - - - bugfixes - - Bugfixes - - - known_issues - - Known Issues -title: Grafana.Grafana -trivial_section_name: trivial -use_fqcn: true diff --git a/ansible_collections/grafana/grafana/examples/agent-basic-no-options.yaml b/ansible_collections/grafana/grafana/examples/agent-basic-no-options.yaml deleted file mode 100644 index 7ccc5fb7d1..0000000000 --- a/ansible_collections/grafana/grafana/examples/agent-basic-no-options.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -- hosts: all - become: true - # pre_tasks happen before roles are executed / applied - pre_tasks: [] - # roles are ran after pre_tasks - roles: - - grafana_agent - # tasks are ran after roles - tasks: [] diff --git a/ansible_collections/grafana/grafana/examples/agent-mode-flow-with-dynamic-conf.yaml b/ansible_collections/grafana/grafana/examples/agent-mode-flow-with-dynamic-conf.yaml deleted file mode 100644 index be469d0b60..0000000000 --- a/ansible_collections/grafana/grafana/examples/agent-mode-flow-with-dynamic-conf.yaml +++ /dev/null @@ -1,12 +0,0 @@ -- hosts: all - tasks: - - name: Install Grafana Agent - ansible.builtin.include_role: - name: grafana.grafana.grafana_agent - vars: - grafana_agent_mode: flow - # Change config file on the host to .river - grafana_agent_config_filename: config.river - # Remove default flags - grafana_agent_flags_extra: - server.http.listen-addr: '0.0.0.0:12345' \ No newline at end of file diff --git a/ansible_collections/grafana/grafana/examples/agent-send-to-grafana-cloud.yaml b/ansible_collections/grafana/grafana/examples/agent-send-to-grafana-cloud.yaml deleted file mode 100644 index f90dda9f03..0000000000 --- a/ansible_collections/grafana/grafana/examples/agent-send-to-grafana-cloud.yaml +++ /dev/null @@ -1,95 +0,0 @@ ---- -- hosts: all - become: true - vars: - grafana_agent_metrics_config: - global: - external_labels: - datacenter: primary - cluster: my-cluster - instance: "{{ ansible_host }}" - remote_write: - - url: https://prometheus-.grafana.net/api/prom/push - basic_auth: - username: "1234567" # your username / instanceID - password: "..." # your grafana.com token - configs: - - name: local - scrape_configs: - # scrape a an application on the localhost - - job_name: my-app - metrics_path: /metrics - static_configs: - - targets: - - localhost:8080 - relabel_configs: [] - metric_relabel_configs: [] - - grafana_agent_logs_config: - global: - clients: - - url: https://logs-.grafana.net/loki/api/v1/push - basic_auth: - username: "1234567" # your username / instanceID - password: "..." # your grafana.com token - configs: - - name: local - positions: - filename: /tmp/positions.yaml - target_config: - sync_period: 10s - scrape_configs: - # scrape all of the log files in /var/log on the localhost - - job_name: log-files - static_configs: - - targets: - - localhost - labels: - job: var-logs - instance: "{{ ansible_host }}" - __path__: /var/log/*.log - # scrape all of the journal logs on localhost - - job_name: systemd-journal - journal: - max_age: 12h - labels: - job: systemd-journal - relabel_configs: - - source_labels: - - __journal__systemd_unit - target_label: systemd_unit - - source_labels: - - __journal__hostname - target_label: hostname - - source_labels: - - __journal_syslog_identifier - target_label: syslog_identifier - - source_labels: - - __journal__pid - target_label: pid - - source_labels: - - __journal__uid - target_label: uid - - source_labels: - - __journal__transport - target_label: transport - grafana_agent_integrations_config: - scrape_integrations: true - # get metrics about the agent - agent: - enabled: true - relabel_configs: [] - metric_relabel_configs: [] - # get node exporter metrics - node_exporter: - enabled: true - relabel_configs: [] - metric_relabel_configs: [] - - # pre_tasks happen before roles are executed / applied - pre_tasks: [] - # roles are ran after pre_tasks - roles: - - grafana_agent - # tasks are ran after roles - tasks: [] diff --git a/ansible_collections/grafana/grafana/examples/alloy.yaml b/ansible_collections/grafana/grafana/examples/alloy.yaml deleted file mode 100644 index cd156a8f76..0000000000 --- a/ansible_collections/grafana/grafana/examples/alloy.yaml +++ /dev/null @@ -1,17 +0,0 @@ ---- -- name: Deploy alloy - hosts: all - become: true - roles: - - role: grafana.grafana.alloy - vars: - alloy_config: | - prometheus.scrape "default" { - targets = [{"__address__" = "127.0.0.1:12345"}] - forward_to = [prometheus.remote_write.prom.receiver] - } - prometheus.remote_write "prom" { - endpoint { - url = "http://mimir:9009/api/v1/push" - } - } diff --git a/ansible_collections/grafana/grafana/examples/ansible.cfg b/ansible_collections/grafana/grafana/examples/ansible.cfg deleted file mode 100644 index f0e70e2b45..0000000000 --- a/ansible_collections/grafana/grafana/examples/ansible.cfg +++ /dev/null @@ -1,32 +0,0 @@ -[defaults] -# (string) Sets the macro for the 'ansible_managed' variable available for :ref:`ansible_collections.ansible.builtin.template_module` and :ref:`ansible_collections.ansible.windows.win_template_module`. This is only relevant for those two modules. -ansible_managed="Ansible managed file. Be wary of possible overwrites." - -# (boolean) Toggle to control the showing of deprecation warnings -deprecation_warnings=False - -# (boolean) Set this to "False" if you want to avoid host key checking by the underlying tools Ansible uses to connect to the host -host_key_checking=False - -# (pathlist) Comma separated list of Ansible inventory sources -inventory=hosts - -# (pathspec) Colon separated paths in which Ansible will search for Modules. -library=../plugins/modules - -# (path) File to which Ansible will log on the controller. When empty logging is disabled. -log_path=./ansible.log - -# (pathspec) Colon separated paths in which Ansible will search for Roles. -roles_path=../roles - -[ssh_connection] - -# ssh arguments to use -# Leaving off ControlPersist will result in poor performance, so use -# paramiko on older platforms rather than removing it -ssh_args = -o ControlMaster=auto -o ControlPersist=60s - -# if True, make ansible use scp if the connection type is ssh -# (default is sftp) -scp_if_ssh = True diff --git a/ansible_collections/grafana/grafana/examples/loki-basic-no-options.yml b/ansible_collections/grafana/grafana/examples/loki-basic-no-options.yml deleted file mode 100644 index cda128da98..0000000000 --- a/ansible_collections/grafana/grafana/examples/loki-basic-no-options.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -- name: Deploy Loki using the default configuration - hosts: all - become: true - roles: - - role: grafana.grafana.loki diff --git a/ansible_collections/grafana/grafana/examples/loki-local-filesystem-with-retention-and-alert.yml b/ansible_collections/grafana/grafana/examples/loki-local-filesystem-with-retention-and-alert.yml deleted file mode 100644 index f37718811f..0000000000 --- a/ansible_collections/grafana/grafana/examples/loki-local-filesystem-with-retention-and-alert.yml +++ /dev/null @@ -1,70 +0,0 @@ ---- -- name: Deploy Loki using the local filesystem - hosts: all - become: true - roles: - - role: grafana.grafana.loki - vars: - loki_querier: - max_concurrent: 16 - engine: - max_look_back_period: 8760h - loki_storage_config: - tsdb_shipper: - active_index_directory: "{{ loki_working_path }}/tsdb-index" - cache_location: "{{ loki_working_path }}/tsdb-cache" - filesystem: - directory: "{{ loki_working_path }}/chunks" - loki_ingester: - wal: - enabled: true - dir: "{{ loki_working_path }}/wal" - lifecycler: - address: 127.0.0.1 - ring: - kvstore: - store: inmemory - replication_factor: 1 - final_sleep: 0s - chunk_idle_period: 1h - max_chunk_age: 2h - chunk_target_size: 1048576 - query_store_max_look_back_period: 8760h - loki_limits_config: - split_queries_by_interval: 0 - reject_old_samples: true - reject_old_samples_max_age: 168h - max_query_length: 0 - max_query_series: 50000 - retention_period: 8760h - allow_structured_metadata: false - max_query_lookback: 8760h - loki_compactor: - working_directory: "{{ loki_working_path }}/compactor" - compaction_interval: 10m - retention_enabled: true - retention_delete_delay: 2h - retention_delete_worker_count: 150 - delete_request_store: filesystem - loki_common: - path_prefix: "{{ loki_working_path }}" - storage: - filesystem: - rules_directory: "{{ loki_working_path }}/rules" - replication_factor: 1 - ring: - instance_addr: 127.0.0.1 - kvstore: - store: inmemory - loki_ruler_alerts: - - name: Logs.sshd - rules: - - alert: SshLoginFailed - expr: | - count_over_time({job=~"secure"} |="sshd[" |~": Failed|: Invalid|: Connection closed by authenticating user" | __error__="" [15m]) > 6 - for: 0m - labels: - severity: critical - annotations: - summary: "{% raw %}SSH authentication failure (instance {{ $labels.instance }}).{% endraw %}" - description: "{% raw %}Increase of SSH authentication failures in last 15 minutes\\n VALUE = {{ $value }}{% endraw %}" diff --git a/ansible_collections/grafana/grafana/examples/mimir-3-hosts.yaml b/ansible_collections/grafana/grafana/examples/mimir-3-hosts.yaml deleted file mode 100644 index a5ff18580c..0000000000 --- a/ansible_collections/grafana/grafana/examples/mimir-3-hosts.yaml +++ /dev/null @@ -1,32 +0,0 @@ -- name: Install mimir - hosts: [mimir-1, mimir-2, mimir-3] - become: true - - tasks: - - name: Install mimir - ansible.builtin.include_role: - name: grafana.grafana.mimir - vars: - # Run against minio blob store backed, see readme for local setup or mimir docs for Azure, AWS, etc. - mimir_storage: - storage: - backend: s3 - s3: - endpoint: localhost:9000 - access_key_id: testtest - secret_access_key: testtest - insecure: true - bucket_name: mimir - - # Blocks storage requires a prefix when using a common object storage bucket. - mimir_blocks_storage: - storage_prefix: blocks - tsdb: - dir: "{{ mimir_working_path}}/ingester" - - # Use memberlist, a gossip-based protocol, to enable the 3 Mimir replicas to communicate - mimir_memberlist: - join_members: - - mimir-1:7946 - - mimir-2:7946 - - mimir-3:7946 diff --git a/ansible_collections/grafana/grafana/examples/mimir-single-host.yaml b/ansible_collections/grafana/grafana/examples/mimir-single-host.yaml deleted file mode 100644 index 36915f8e5c..0000000000 --- a/ansible_collections/grafana/grafana/examples/mimir-single-host.yaml +++ /dev/null @@ -1,34 +0,0 @@ -- name: Install mimir - hosts: monitoring-node - become: true - - tasks: - - name: Install mimir - ansible.builtin.include_role: - name: grafana.grafana.mimir - vars: - mimir_storage: - storage: - backend: s3 - s3: - endpoint: "{{ s3_endpoint }}" - access_key_id: "{{ vault_s3_access }}" - secret_access_key: "{{ vault_s3_secret }}" - bucket_name: your-mimir-bucket - - # Blocks storage requires a prefix when using a common object storage bucket. - mimir_blocks_storage: - storage_prefix: blocks - tsdb: - dir: "{{ mimir_working_path}}/ingester" - - mimir_limits: - # set metrics retenion to 30d - compactor_blocks_retention_period: 30d - max_label_names_per_series: 100 - - # this setting is required to prevent mimir from attempting - # to make quorum - mimir_ingester: - ring: - replication_factor: 1 diff --git a/ansible_collections/grafana/grafana/examples/monitor-multiple-instance-otel.md b/ansible_collections/grafana/grafana/examples/monitor-multiple-instance-otel.md deleted file mode 100644 index 89762ca1b6..0000000000 --- a/ansible_collections/grafana/grafana/examples/monitor-multiple-instance-otel.md +++ /dev/null @@ -1,193 +0,0 @@ -# Scaling OpenTelemetry Collector Deployments Using Grafana Ansible Collection -This guide is focused on scaling the OpenTelemetry Collector deployment across various Linux hosts by leveraging Ansible, to function both as gateways and agents within your observability architecture. Utilizing the OpenTelemetry Collector in this dual capacity enables a robust collection and forwarding of metrics, traces, and logs to analysis and visualization platforms, such as Grafana Cloud. - -Here, we outline a strategy for deploying and managing the OpenTelemetry Collector's scalable instances throughout your infrastructure with Ansible, enhancing your overall monitoring strategy and data visualization capabilities in Grafana Cloud. - -## Before You Begin - -To follow this guide, ensure you have: - -- Linux hosts. -- SSH access to each of these Linux hosts. -- Account permissions to install and configure the OpenTelemetry Collector on these hosts. - -## Install the Grafana Ansible collection - -The [Grafana Agent role](https://github.com/grafana/grafana-ansible-collection/tree/main/roles/grafana_agent) is available in the Grafana Ansible collection as of the 1.1.0 release. - -To install the Grafana Ansible collection, run this command: - -``` -ansible-galaxy collection install grafana.grafana -``` - -## Create an Ansible inventory file - -Next, you will set up your hosts and create an inventory file. - -1. Create your hosts and add public SSH keys to them. - - This example uses eight Linux hosts: two Ubuntu hosts, two CentOS hosts, two Fedora hosts, and two Debian hosts. - -1. Create an Ansible inventory file. - - The Ansible inventory, which resides in a file named `inventory`, looks similar to this: - - ``` - 146.190.208.216 # hostname = ubuntu-01 - 146.190.208.190 # hostname = ubuntu-02 - 137.184.155.128 # hostname = centos-01 - 146.190.216.129 # hostname = centos-02 - 198.199.82.174 # hostname = debian-01 - 198.199.77.93 # hostname = debian-02 - 143.198.182.156 # hostname = fedora-01 - 143.244.174.246 # hostname = fedora-02 - ``` - - > **Note**: If you are copying the above file, remove the comments (#). - -1. Create an `ansible.cfg` file within the same directory as `inventory`, with the following values: - ``` - [defaults] - inventory = inventory # Path to the inventory file - private_key_file = ~/.ssh/id_rsa # Path to my private SSH Key - remote_user=root - ``` - -## Use the OpenTelemetry Collector Ansible Role - -Next, you'll define an Ansible playbook to apply your chosen or created OpenTelemetry Collector role across your hosts. - -Create a file named `deploy-opentelemetry.yml` in the same directory as your `ansible.cfg` and `inventory`. - -```yaml -- name: Install OpenTelemetry Collector - hosts: all - become: true - - vars: - grafana_cloud_api_key: # Example - eyJrIjoiYjI3NjI5MGQxZTcyOTIxYTc0MDgzMGVhNDhlODNhYzA5OTk2Y2U5YiIsIm4iOiJhbnNpYmxldGVzdCIsImlkIjo2NTI5 - metrics_username: # Example - 825019 - logs_username: # Example - 411478 - prometheus_url: # Example - https://prometheus-us-central1.grafana.net/api/prom/push - loki_url: # Example - https://logs-prod-017.grafana.net/loki/api/v1/push - tempo_url: # Example - tempo-prod-04-prod-us-east-0.grafana.net:443 - traces_username: # Example - 411478 - - tasks: - - name: Install OpenTelemetry Collector - ansible.builtin.include_role: - name: grafana.grafana.opentelemetry_collector - vars: - otel_collector_extensions: - basicauth/grafana_cloud_tempo: - # https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/extension/basicauthextension - client_auth: - username: "{{ traces_username }}" - password: "{{ grafana_cloud_api_key }}" - basicauth/grafana_cloud_prometheus: - client_auth: - username: "{{ prometheus_url }}" - password: "{{ grafana_cloud_api_key }}" - basicauth/grafana_cloud_loki: - client_auth: - username: "{{ logs_username }}" - password: "{{ grafana_cloud_api_key }}" - - - otel_collector_receivers: - otlp: - # https://github.com/open-telemetry/opentelemetry-collector/tree/main/receiver/otlpreceiver - protocols: - grpc: - http: - hostmetrics: - # Optional. Host Metrics Receiver added as an example of Infra Monitoring capabilities of the OpenTelemetry Collector - # https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/hostmetricsreceiver - scrapers: - load: - memory: - - otel_collector_processors: - batch: - # https://github.com/open-telemetry/opentelemetry-collector/tree/main/processor/batchprocessor - resourcedetection: - # Enriches telemetry data with resource information from the host - # https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/resourcedetectionprocessor - detectors: ["env", "system"] - override: false - transform/add_resource_attributes_as_metric_attributes: - # https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/transformprocessor - error_mode: ignore - metric_statements: - - context: datapoint - statements: - - set(attributes["deployment.environment"], resource.attributes["deployment.environment"]) - - set(attributes["service.version"], resource.attributes["service.version"]) - - otel_collector_exporters: - otlp/grafana_cloud_traces: - # https://github.com/open-telemetry/opentelemetry-collector/tree/main/exporter/otlpexporter - endpoint: "{{ tempo_url }}" - auth: - authenticator: basicauth/grafana_cloud_tempo - - loki/grafana_cloud_logs: - # https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/exporter/lokiexporter - endpoint: "{{ loki_url }}" - auth: - authenticator: basicauth/grafana_cloud_loki - - prometheusremotewrite/grafana_cloud_metrics: - # https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/exporter/prometheusremotewriteexporter - endpoint: "{{ prometheus_url }}" - add_metric_suffixes: false - auth: - authenticator: basicauth/grafana_cloud_prometheus - - - otel_collector_service: - extensions: [basicauth/grafana_cloud_tempo, basicauth/grafana_cloud_prometheus, basicauth/grafana_cloud_loki] - pipelines: - traces: - receivers: [otlp] - processors: [resourcedetection, batch] - exporters: [otlp/grafana_cloud_traces] - metrics: - receivers: [otlp, hostmetrics] - processors: [resourcedetection, transform/add_resource_attributes_as_metric_attributes, batch] - exporters: [prometheusremotewrite/grafana_cloud_metrics] - logs: - receivers: [otlp] - processors: [resourcedetection, batch] - exporters: [loki/grafana_cloud_logs] -``` - -> **Note:** You'll need to adjust the configuration to match the specific telemetry data you intend to collect and where you plan to forward it. The configuration snippet above is a basic example designed for traces, logs and metrics collection via OTLP and forwarding to Grafana Cloud. - - -## Running the Ansible Playbook - -Deploy the OpenTelemetry Collector across your hosts by executing: - -```sh -ansible-playbook deploy-opentelemetry.yml -``` - -## Verifying Data Ingestion into Grafana Cloud - -Once you've deployed the OpenTelemetry Collector and configured it to forward data to Grafana Cloud, you can verify the ingestion: - -- Log into your Grafana Cloud instance. -- Navigate to the **Explore** section. -- Select your Grafana Cloud Prometheus data source from the dropdown menu. -- Execute a query to confirm the reception of metrics, e.g., `{instance="ubuntu-01"}` for a specific host's metrics. - -## Visualizing Metrics and Logs in Grafana - -With data successfully ingested into Grafana Cloud, you can create custom dashboards to visualize the metrics, logs and traces received from your OpenTelemetry Collector. Utilize Grafana's powerful query builder and visualization tools to derive insights from your data effectively. - -- Consider creating dashboards that offer a comprehensive overview of your infrastructure's health and performance. -- Utilize Grafana's alerting features to proactively manage and respond to issues identified through the OpenTelemetry data. - -This guide simplifies the deployment of the OpenTelemetry Collector across multiple Linux hosts using Ansible and illustrates how to visualize collected telemetry data in Grafana Cloud. Tailor the Ansible roles, OpenTelemetry Collector configurations, and Grafana dashboards to suit your specific monitoring and observability requirements. diff --git a/ansible_collections/grafana/grafana/examples/monitor-multiple-instances-agent.md b/ansible_collections/grafana/grafana/examples/monitor-multiple-instances-agent.md deleted file mode 100644 index d624c7ec47..0000000000 --- a/ansible_collections/grafana/grafana/examples/monitor-multiple-instances-agent.md +++ /dev/null @@ -1,184 +0,0 @@ -# Monitoring multiple Linux hosts with Grafana Agent Role - -Monitoring with Grafana Agents across multiple Linux hosts can be difficult. -To make it easier, you can use the Grafana Agent role with the Grafana Ansible collection. -This guide shows how to use the `grafana_agent` Ansible role to deploy and manage Grafana Agents across multiple Linux hosts so you can monitor them in Grafana. - -## Before you begin - -Before you begin, you should have: - -- Linux hosts -- SSH access to the Linux hosts -- Account permissions sufficient to install and use Grafana Agent on the Linux hosts - -## Install the Grafana Ansible collection - -The [Grafana Agent role](https://github.com/grafana/grafana-ansible-collection/tree/main/roles/grafana_agent) is available in the Grafana Ansible collection as of the 1.1.0 release. - -To install the Grafana Ansible collection, run this command: - -``` -ansible-galaxy collection install grafana.grafana:2.0.0 -``` - -## Create an Ansible inventory file - -Next, you will set up your hosts and create an inventory file. - -1. Create your hosts and add public SSH keys to them. - - This example uses eight Linux hosts: two Ubuntu hosts, two CentOS hosts, two Fedora hosts, and two Debian hosts. - -1. Create an Ansible inventory file. - - The Ansible inventory, which resides in a file named `inventory`, looks similar to this: - - ``` - 146.190.208.216 # hostname = ubuntu-01 - 146.190.208.190 # hostname = ubuntu-02 - 137.184.155.128 # hostname = centos-01 - 146.190.216.129 # hostname = centos-02 - 198.199.82.174 # hostname = debian-01 - 198.199.77.93 # hostname = debian-02 - 143.198.182.156 # hostname = fedora-01 - 143.244.174.246 # hostname = fedora-02 - ``` - - > **Note**: If you are copying the above file, remove the comments (#). - -1. Create an `ansible.cfg` file within the same directory as `inventory`, with the following values: - ``` - [defaults] - inventory = inventory # Path to the inventory file - private_key_file = ~/.ssh/id_rsa # Path to my private SSH Key - remote_user=root - ``` - -## Use the Grafana Agent Ansible role - -Next you will create an Ansible playbook that calls the `grafana_agent` role from the `grafana.grafana` Ansible collection. - -To use the Grafana Agent Ansible role: - -1. Create a file named `deploy-agent.yml` in the same directory as `ansible.cfg` and `inventory` and add the configuration below. - - ```yaml - - name: Install Grafana Agent - hosts: all - become: true - - vars: - grafana_cloud_api_key: # Example - eyJrIjoiYjI3NjI5MGQxZTcyOTIxYTc0MDgzMGVhNDhlODNhYzA5OTk2Y2U5YiIsIm4iOiJhbnNpYmxldGVzdCIsImlkIjo2NTI5 - metrics_username: # Example - 825019 - logs_username: # Example - 411478 - prometheus_url: # Example - https://prometheus-us-central1.grafana.net/api/prom/push - loki_url: # Example - https://logs-prod-017.grafana.net/loki/api/v1/push - tasks: - - name: Install Grafana Agent - ansible.builtin.include_role: - name: grafana.grafana.grafana_agent - vars: - grafana_agent_metrics_config: - configs: - - name: integrations - remote_write: - - basic_auth: - password: "{{ grafana_cloud_api_key }}" - username: "{{ metrics_username }}" - url: "{{ prometheus_url }}" - - global: - scrape_interval: 60s - wal_directory: /tmp/grafana-agent-wal - - grafana_agent_logs_config: - configs: - - name: default - clients: - - basic_auth: - password: "{{ grafana_cloud_api_key }}" - username: "{{ logs_username }}" - url: "{{ loki_url }}" - positions: - filename: /tmp/positions.yaml - target_config: - sync_period: 10s - scrape_configs: - - job_name: varlogs - static_configs: - - targets: [localhost] - labels: - instance: ${HOSTNAME:-default} - job: varlogs - __path__: /var/log/*log - grafana_agent_integrations_config: - node_exporter: - enabled: true - instance: ${HOSTNAME:-default} - prometheus_remote_write: - - basic_auth: - password: "{{ grafana_cloud_api_key }}" - username: "{{ metrics_username }}" - url: "{{ prometheus_url }}" - ``` - - The playbook calls the `grafana_agent` role from the `grafana.grafana` Ansible collection. - The Agent configuration in this playbook send metrics and logs from the linux hosts to your Prometheus and Loki data sources. - - Refer to the [Grafana Ansible documentation](https://github.com/grafana/grafana-ansible-collection/tree/main/roles/grafana_agent#role-variables) to understand the other variables you can pass to the `grafana_agent` role. - - When deploying the Agent across multiple instances for monitoring them, It is essential that the Agent is able to auto-detect the hostname for ease in monitoring. - Notice that the label `instance` has been set to the value `${HOSTNAME:-default}`, which is substituted by the value of the HOSTNAME environment variable in the Linux host. - To read more about the variable substitution, refer to the Grafana Agent [node_exporter_config](https://grafana.com/docs/agent/latest/configuration/integrations/node-exporter-config/) documentation. - -1. To run the playbook, run this command: - - ``` - ansible-playbook deploy-agent.yml - ``` - - > **Note:** You can place the `deploy-agent.yml`, `ansible.cfg` and `inventory` files in different directories based on your needs. - -## Check that logs and metrics are being ingested into Prometheus and Loki - -Logs and metrics will soon be available in Grafana if your Promtheus and Loki datasources are added. -To test this, use the Explore feature. -Click the Explore icon (compass icon) in the vertical navigation bar. - -### Check logs - -To check logs: - -1. Use the dropdown menu at the top of the page to select your Loki logs data source. - -1. In the log browser, run the query `{instance="centos-01"}` where centos-01 is the hostname of one of the Linux hosts. - - If you see log lines (shown in the example below), logs are being received. - - ![Logs](https://grafana.com/static/assets/img/blog/ansible-to-manage-agent1.png) - - If no log lines appear, logs are not being collected. - -### Check metrics - -To check metrics: - -1. Use the dropdown menu at the top of the page to select your Prometheus data source. - -1. Run the query `{instance="centos-01"}` where centos-01 is the hostname of one of the Linux hosts. - - If you see a metrics graph and table (shown in the example below), metrics are being received. - - ![Metrics](https://grafana.com/static/assets/img/blog/ansible-to-manage-agent2.png) - - If no metrics appear, metrics are not being collected. - -### View dashboards - -Now that you have logs and metrics in Grafana, you can use dashboards to view them. -Here's an example of one of the prebuilt dashboards included with the Linux integration in Grafana Cloud: - -![Dashboard](https://grafana.com/static/assets/img/blog/ansible-to-manage-agent3.png) - -Using the **Instance** dropdown in the dashboard, you can select from the hostnames where you deployed Grafana Agent and start monitoring them. diff --git a/ansible_collections/grafana/grafana/examples/opentelemetry-collector.yml b/ansible_collections/grafana/grafana/examples/opentelemetry-collector.yml deleted file mode 100644 index 445a3a265b..0000000000 --- a/ansible_collections/grafana/grafana/examples/opentelemetry-collector.yml +++ /dev/null @@ -1,43 +0,0 @@ -- name: Install OpenTelemetry Collector - hosts: all - become: true - - tasks: - - name: Install OpenTelemetry Collector - ansible.builtin.include_role: - name: grafana.grafana.opentelemetry_collector - vars: - otel_collector_receivers: - otlp: - protocols: - grpc: - endpoint: 0.0.0.0:4317 - http: - endpoint: 0.0.0.0:4318 - otel_collector_processors: - batch: - - otel_collector_exporters: - otlp: - endpoint: otelcol:4317 - - otel_collector_extensions: - health_check: - pprof: - zpages: - - otel_collector_service: - extensions: [health_check, pprof, zpages] - pipelines: - traces: - receivers: [otlp] - processors: [batch] - exporters: [otlp] - metrics: - receivers: [otlp] - processors: [batch] - exporters: [otlp] - logs: - receivers: [otlp] - processors: [batch] - exporters: [otlp] diff --git a/ansible_collections/grafana/grafana/examples/promtail-multiple-logs.yml b/ansible_collections/grafana/grafana/examples/promtail-multiple-logs.yml deleted file mode 100644 index ffef30d959..0000000000 --- a/ansible_collections/grafana/grafana/examples/promtail-multiple-logs.yml +++ /dev/null @@ -1,24 +0,0 @@ ---- -- name: Deploy Promtail to ship logs to the local Loki instance - hosts: all - become: true - roles: - - role: grafana.grafana.promtail - vars: - promtail_clients: - - url: http://localhost:3100/loki/api/v1/push - promtail_scrape_configs: - - job_name: system - static_configs: - - targets: - - localhost - labels: - job: messages - instance: "{{ ansible_facts['fqdn'] }}" - __path__: /var/log/messages - - targets: - - localhost - labels: - job: nginx - instance: "{{ ansible_facts['fqdn'] }}" - __path__: /var/log/nginx/*.log diff --git a/ansible_collections/grafana/grafana/meta/runtime.yml b/ansible_collections/grafana/grafana/meta/runtime.yml deleted file mode 100644 index 08867faed7..0000000000 --- a/ansible_collections/grafana/grafana/meta/runtime.yml +++ /dev/null @@ -1,2 +0,0 @@ ---- -requires_ansible: ">=2.12.0,<3.0.0" diff --git a/ansible_collections/grafana/grafana/package.json b/ansible_collections/grafana/grafana/package.json deleted file mode 100644 index 556b3f2363..0000000000 --- a/ansible_collections/grafana/grafana/package.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "name": "grafana-ansible-collection", - "version": "2.1.4", - "description": "", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/grafana/grafana-ansible-collection.git" - }, - "author": "", - "license": "ISC", - "bugs": { - "url": "https://github.com/grafana/grafana-ansible-collection/issues" - }, - "homepage": "https://github.com/grafana/grafana-ansible-collection#readme", - "dependencies": { - "editorconfig-checker": "^5.0.1", - "markdownlint-cli2": "^0.6.0", - "textlint": "^12.5.1", - "textlint-rule-common-misspellings": "^1.0.1", - "textlint-rule-no-todo": "^2.0.1", - "textlint-rule-terminology": "^3.0.4" - } -} diff --git a/ansible_collections/grafana/grafana/plugins/modules/alert_contact_point.py b/ansible_collections/grafana/grafana/plugins/modules/alert_contact_point.py deleted file mode 100644 index 9b9a1ca385..0000000000 --- a/ansible_collections/grafana/grafana/plugins/modules/alert_contact_point.py +++ /dev/null @@ -1,257 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -# Copyright: (c) 2021, Ishan Jain (@ishanjainn) -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) - -from __future__ import (absolute_import, division, print_function) - -DOCUMENTATION = ''' ---- -module: alert_contact_point -author: - - Ishan Jain (@ishanjainn) -version_added: "0.0.1" -short_description: Manage Alerting Contact points in Grafana -description: - - Create, Update and delete Contact points using Ansible. -requirements: [ "requests >= 1.0.0" ] -notes: - - Does not support C(check_mode). -options: - name: - description: - - Sets the name of the contact point. - type: str - required: true - uid: - description: - - Sets the UID of the Contact point. - type: str - required: true - type: - description: - - Sets Contact point type. - type: str - required: true - settings: - description: - - Sets Contact point settings. - type: dict - required: true - disableResolveMessage: - description: - - When set to C(true), Disables the resolve message [OK] that is sent when alerting state returns to C(false). - type: bool - default: false - grafana_api_key: - description: - - Grafana API Key used to authenticate with Grafana. - type: str - required : true - grafana_url: - description: - - URL of the Grafana instance. - type: str - required: true - state: - description: - - State for the Grafana Alert Contact Point. - choices: [ present, absent ] - type: str - default: present -''' - -EXAMPLES = ''' -- name: Create/Update Alerting contact point - grafana.grafana.alert_contact_point: - name: ops-email - uid: opsemail - type: email - settings: - addresses: "ops@mydomain.com,devs@mydomain.com" - grafana_url: "{{ grafana_url }}" - grafana_api_key: "{{ grafana_api_key }}" - state: present - -- name: Delete Alerting contact point - grafana.grafana.alert_contact_point: - name: ops-email - uid: opsemail - type: email - settings: - addresses: "ops@mydomain.com,devs@mydomain.com" - grafana_url: "{{ grafana_url }}" - grafana_api_key: "{{ grafana_api_key }}" - state: absent -''' - -RETURN = r''' -output: - description: Dict object containing Contact point information information. - returned: On success - type: dict - contains: - disableResolveMessage: - description: When set to True, Disables the resolve message [OK] that is sent when alerting state returns to false. - returned: state is present and on success - type: bool - sample: false - name: - description: The name for the contact point. - returned: state is present and on success - type: str - sample: ops-email - settings: - description: Contains contact point settings. - returned: state is present and on success - type: dict - sample: { - addresses: "ops@mydomain.com,devs@mydomain.com" - } - uid: - description: The UID for the contact point. - returned: state is present and on success - type: str - sample: opsemail - type: - description: The type of contact point. - returned: state is present and on success - type: str - sample: email -''' - -from ansible.module_utils.basic import AnsibleModule, missing_required_lib -try: - import requests - HAS_REQUESTS = True -except ImportError: - HAS_REQUESTS = False - -__metaclass__ = type - - -def present_alert_contact_point(module): - body = { - 'Name': module.params['name'], - 'UID': module.params['uid'], - 'type': module.params['type'], - 'settings': module.params['settings'], - 'DisableResolveMessage': module.params['disableResolveMessage'] - } - - if module.params['grafana_url'][-1] == '/': - module.params['grafana_url'] = module.params['grafana_url'][:-1] - - api_url = module.params['grafana_url'] + '/api/v1/provisioning/contact-points' - - headers = { - 'Authorization': 'Bearer ' + module.params['grafana_api_key'], - 'User-Agent': 'grafana-ansible-collection', - } - result = requests.post(api_url, json=body, headers=headers) - - if result.status_code == 202: - return False, True, result.json() - elif result.status_code == 500: - sameConfig = False - contactPointInfo = {} - - api_url = module.params['grafana_url'] + '/api/v1/provisioning/contact-points' - - result = requests.get(api_url, headers=headers) - - for contact_points in result.json(): - if contact_points['uid'] == module.params['uid']: - if (contact_points['name'] == module.params['name'] and contact_points['type'] == module.params['type'] and contact_points['settings'] - and contact_points['settings'] == module.params['settings'] - and contact_points['disableResolveMessage'] == module.params['disableResolveMessage']): - - sameConfig = True - contactPointInfo = contact_points - if sameConfig: - return False, False, contactPointInfo - else: - api_url = module.params['grafana_url'] + '/api/v1/provisioning/contact-points/' + module.params['uid'] - - result = requests.put(api_url, json=body, headers=headers) - - if result.status_code == 202: - api_url = module.params['grafana_url'] + '/api/v1/provisioning/contact-points' - - result = requests.get(api_url, headers=headers) - - for contact_points in result.json(): - if contact_points['uid'] == module.params['uid']: - return False, True, contact_points - else: - return True, False, {"status": result.status_code, 'response': result.json()['message']} - else: - return True, False, {"status": result.status_code, 'response': result.json()['message']} - - -def absent_alert_contact_point(module): - already_exists = False - - if module.params['grafana_url'][-1] == '/': - module.params['grafana_url'] = module.params['grafana_url'][:-1] - - api_url = module.params['grafana_url'] + '/api/v1/provisioning/contact-points' - headers = { - 'Authorization': 'Bearer ' + module.params['grafana_api_key'], - 'User-Agent': 'grafana-ansible-collection', - } - - result = requests.get(api_url, headers=headers) - - for contact_points in result.json(): - if contact_points['uid'] == module.params['uid']: - already_exists = True - if already_exists: - api_url = module.params['grafana_url'] + '/api/v1/provisioning/contact-points/' + module.params['uid'] - - result = requests.delete(api_url, headers=headers) - - if result.status_code == 202: - return False, True, result.json() - else: - return True, False, {"status": result.status_code, 'response': result.json()['message']} - else: - return True, False, "Alert Contact point does not exist" - - -def main(): - module_args = dict( - name=dict(type='str', required=True), - uid=dict(type='str', required=True), - type=dict(type='str', required=True), - settings=dict(type='dict', required=True), - disableResolveMessage=dict(type='bool', required=False, default=False), - grafana_url=dict(type='str', required=True), - grafana_api_key=dict(type='str', required=True, no_log=True), - state=dict(type='str', required=False, default='present', choices=['present', 'absent']) - ) - - choice_map = { - "present": present_alert_contact_point, - "absent": absent_alert_contact_point, - } - - module = AnsibleModule( - argument_spec=module_args - ) - - if not HAS_REQUESTS: - module.fail_json(msg=missing_required_lib('requests')) - - is_error, has_changed, result = choice_map.get( - module.params['state'])(module) - - if not is_error: - module.exit_json(changed=has_changed, output=result) - else: - module.fail_json(msg=result) - - -if __name__ == '__main__': - main() diff --git a/ansible_collections/grafana/grafana/plugins/modules/alert_notification_policy.py b/ansible_collections/grafana/grafana/plugins/modules/alert_notification_policy.py deleted file mode 100644 index 779bae3f4e..0000000000 --- a/ansible_collections/grafana/grafana/plugins/modules/alert_notification_policy.py +++ /dev/null @@ -1,242 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -# Copyright: (c) 2021, Ishan Jain (@ishanjainn) -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) - -from __future__ import (absolute_import, division, print_function) - -DOCUMENTATION = ''' ---- -module: alert_notification_policy -author: - - Ishan Jain (@ishanjainn) -version_added: "0.0.1" -short_description: Manage Alerting Policies points in Grafana -description: - - Set the notification policy tree using Ansible. -requirements: [ "requests >= 1.0.0" ] -notes: - - Does not support C(check_mode). -options: - Continue: - description: - - Continue matching subsequent sibling nodes if set to C(true). - type: bool - default: false - groupByStr: - description: - - List of string. - - Group alerts when you receive a notification based on labels. If empty it will be inherited from the parent policy. - type: list - default: [] - elements: str - muteTimeIntervals: - description: - - List of string. - - Sets the mute timing for the notfification policy. - type: list - default: [] - elements: str - rootPolicyReceiver: - description: - - Sets the name of the contact point to be set as the default receiver. - type: str - default: grafana-default-email - routes: - description: - - List of objects - - Sets the Route that contains definitions of how to handle alerts. - type: list - required: true - elements: dict - groupInterval: - description: - - Sets the wait time to send a batch of new alerts for that group after the first notification was sent. Inherited from the parent policy if empty. - type: str - default: 5m - groupWait: - description: - - Sets the wait time until the initial notification is sent for a new group created by an incoming alert. Inherited from the parent policy if empty. - type: str - default: 30s - objectMatchers: - description: - - Matchers is a slice of Matchers that is sortable, implements Stringer, and provides a Matches method to match a LabelSet. - type: list - default: [] - elements: dict - repeatInterval: - description: - - Sets the waiting time to resend an alert after they have successfully been sent. - type: str - default: 4h - grafana_url: - description: - - URL of the Grafana instance. - type: str - required: true - grafana_api_key: - description: - - Grafana API Key used to authenticate with Grafana. - type: str - required : true -''' - -EXAMPLES = ''' -- name: Set Notification policy tree - grafana.grafana.alert_notification_policy: - grafana_url: "{{ grafana_url }}" - grafana_api_key: "{{ grafana_api_key }}" - routes: [ - { - receiver: myReceiver, - object_matchers: [["env", "=", "Production"]], - } - ] - -- name: Set nested Notification policies - grafana.grafana.alert_notification_policy: - routes: [ - { - receiver: myReceiver, - object_matchers: [["env", "=", "Production"],["team", "=", "ops"]], - routes: [ - { - receiver: myReceiver2, - object_matchers: [["region", "=", "eu"]], - } - ] - }, - { - receiver: myReceiver3, - object_matchers: [["env", "=", "Staging"]] - } - ] - grafana_url: "{{ grafana_url }}" - grafana_api_key: "{{ grafana_api_key }}" -''' - -RETURN = r''' -output: - description: Dict object containing Notification tree information. - returned: On success - type: dict - contains: - group_interval: - description: The waiting time to send a batch of new alerts for that group after the first notification was sent. This is of the parent policy. - returned: on success - type: str - sample: "5m" - group_wait: - description: The waiting time until the initial notification is sent for a new group created by an incoming alert. This is of the parent policy. - returned: on success - type: str - sample: "30s" - receiver: - description: The name of the default contact point. - returned: state is present and on success - type: str - sample: "grafana-default-email" - repeat_interval: - description: The waiting time to resend an alert after they have successfully been sent. This is of the parent policy - returned: on success - type: str - sample: "4h" - routes: - description: The entire notification tree returned as a list. - returned: on success - type: list - sample: [ - { - "object_matchers": [ - [ - "env", - "=", - "Production" - ] - ], - "receiver": "grafana-default-email" - } - ] -''' - -from ansible.module_utils.basic import AnsibleModule, missing_required_lib -try: - import requests - HAS_REQUESTS = True -except ImportError: - HAS_REQUESTS = False - -__metaclass__ = type - - -def alert_notification_policy(module): - body = {'routes': module.params['routes'], 'Continue': module.params['Continue'], - 'groupByStr': module.params['groupByStr'], 'muteTimeIntervals': module.params['muteTimeIntervals'], - 'receiver': module.params['rootPolicyReceiver'], 'group_interval': module.params['groupInterval'], - 'group_wait': module.params['groupWait'], 'object_matchers': module.params['objectMatchers'], - 'repeat_interval': module.params['repeatInterval']} - - if module.params['grafana_url'][-1] == '/': - module.params['grafana_url'] = module.params['grafana_url'][:-1] - - api_url = module.params['grafana_url'] + '/api/v1/provisioning/policies' - headers = { - 'Authorization': 'Bearer ' + module.params['grafana_api_key'], - 'User-Agent': 'grafana-ansible-collection', - } - result = requests.get(api_url, headers=headers) - - if 'routes' not in result.json(): - api_url = module.params['grafana_url'] + '/api/v1/provisioning/policies' - result = requests.put(api_url, json=body, headers=headers) - - if result.status_code == 202: - return False, True, result.json() - else: - return True, False, {"status": result.status_code, 'response': result.json()['message']} - elif (result.json()['receiver'] == module.params['rootPolicyReceiver'] and result.json()['routes'] == module.params['routes'] - and result.json()['group_wait'] == module.params['groupWait'] and result.json()['group_interval'] == module.params['groupInterval'] - and result.json()['repeat_interval'] == module.params['repeatInterval']): - return False, False, result.json() - else: - api_url = module.params['grafana_url'] + '/api/v1/provisioning/policies' - - result = requests.put(api_url, json=body, headers=headers) - - if result.status_code == 202: - return False, True, result.json() - else: - return True, False, {"status": result.status_code, 'response': result.json()['message']} - - -def main(): - - module_args = dict(Continue=dict(type='bool', required=False, default=False), - groupByStr=dict(type='list', required=False, default=[], elements='str'), - muteTimeIntervals=dict(type='list', required=False, default=[], elements='str'), - rootPolicyReceiver=dict(type='str', required=False, default='grafana-default-email'), - routes=dict(type='list', required=True, elements='dict'), - groupInterval=dict(type='str', required=False, default='5m'), - groupWait=dict(type='str', required=False, default='30s'), - repeatInterval=dict(type='str', required=False, default='4h'), - objectMatchers=dict(type='list', required=False, default=[], elements='dict'), - grafana_url=dict(type='str', required=True), - grafana_api_key=dict(type='str', required=True, no_log=True), ) - - module = AnsibleModule(argument_spec=module_args) - - if not HAS_REQUESTS: - module.fail_json(msg=missing_required_lib('requests')) - - is_error, has_changed, result = alert_notification_policy(module) - - if not is_error: - module.exit_json(changed=has_changed, output=result) - else: - module.fail_json(msg='Status code is ' + str(result['status']), output=result['response']) - - -if __name__ == '__main__': - main() diff --git a/ansible_collections/grafana/grafana/plugins/modules/cloud_api_key.py b/ansible_collections/grafana/grafana/plugins/modules/cloud_api_key.py deleted file mode 100644 index 6ff6f0c2a3..0000000000 --- a/ansible_collections/grafana/grafana/plugins/modules/cloud_api_key.py +++ /dev/null @@ -1,152 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -# Copyright: (c) 2021, Ishan Jain (@ishanjainn) -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) - -from __future__ import (absolute_import, division, print_function) - -DOCUMENTATION = ''' ---- -module: cloud_api_key -author: - - Ishan Jain (@ishanjainn) -version_added: "0.0.1" -short_description: Manage Grafana Cloud API keys -description: - - Create and delete Grafana Cloud API keys using Ansible. -requirements: [ "requests >= 1.0.0" ] -notes: - - Does not support C(check_mode). -options: - name: - description: - - Sets the name of the Grafana Cloud API key. - type: str - required: true - role: - description: - - Sets the role to be associated with the Cloud API key. - type: str - required: true - choices: [Admin, Viewer, Editor, MetricsPublisher] - org_slug: - description: - - Name of the Grafana Cloud organization in which Cloud API key will be created. - type: str - required: true - existing_cloud_api_key: - description: - - Cloud API Key to authenticate with Grafana Cloud. - type: str - required : true - fail_if_already_created: - description: - - If set to C(true), the task will fail if the API key with same name already exists in the Organization. - type: bool - default: True - state: - description: - - State for the Grafana Cloud API Key. - type: str - default: present - choices: [ present, absent ] -''' - -EXAMPLES = ''' -- name: Create Grafana Cloud API key - grafana.grafana.cloud_api_key: - name: key_name - role: Admin - org_slug: "{{ org_slug }}" - existing_cloud_api_key: "{{ grafana_cloud_api_key }}" - fail_if_already_created: False - state: present - -- name: Delete Grafana Cloud API key - grafana.grafana.cloud_api_key: - name: key_name - org_slug: "{{ org_slug }}" - existing_cloud_api_key: "{{ grafana_cloud_api_key }}" - state: absent -''' - -from ansible.module_utils.basic import AnsibleModule, missing_required_lib -try: - import requests - HAS_REQUESTS = True -except ImportError: - HAS_REQUESTS = False - -__metaclass__ = type - - -def present_cloud_api_key(module): - body = { - 'name': module.params['name'], - 'role': module.params['role'] - } - - api_url = 'https://grafana.com/api/orgs/' + module.params['org_slug'] + '/api-keys' - - result = requests.post(api_url, json=body, headers={ - "Authorization": 'Bearer ' + module.params['existing_cloud_api_key'], - 'User-Agent': 'grafana-ansible-collection', - }) - - if result.status_code == 200: - return False, True, result.json() - elif result.status_code == 409: - return module.params['fail_if_already_created'], False, "A Cloud API key with the same name already exists" - else: - return True, False, {"status": result.status_code, 'response': result.json()['message']} - - -def absent_cloud_api_key(module): - api_url = 'https://grafana.com/api/orgs/' + module.params['org_slug'] + '/api-keys/' + module.params['name'] - - result = requests.delete(api_url, headers={ - "Authorization": 'Bearer ' + module.params['existing_cloud_api_key'], - 'User-Agent': 'grafana-ansible-collection', - }) - - if result.status_code == 200: - return False, True, "Cloud API key is deleted" - else: - return True, False, {"status": result.status_code, 'response': result.json()['message']} - - -def main(): - - module_args = dict( - name=dict(type='str', required=True), - role=dict(type='str', required=True, choices=['Admin', 'Viewer', 'Editor', 'MetricsPublisher']), - org_slug=dict(type='str', required=True), - existing_cloud_api_key=dict(type='str', required=True, no_log=True), - fail_if_already_created=dict(type='bool', required=False, default='True'), - state=dict(type='str', required=False, default='present', choices=['present', 'absent']) - ) - - choice_map = { - "present": present_cloud_api_key, - "absent": absent_cloud_api_key, - } - - module = AnsibleModule( - argument_spec=module_args - ) - - if not HAS_REQUESTS: - module.fail_json(msg=missing_required_lib('requests')) - - is_error, has_changed, result = choice_map.get( - module.params['state'])(module) - - if not is_error: - module.exit_json(changed=has_changed, output=result) - else: - module.fail_json(msg=result) - - -if __name__ == '__main__': - main() diff --git a/ansible_collections/grafana/grafana/plugins/modules/cloud_plugin.py b/ansible_collections/grafana/grafana/plugins/modules/cloud_plugin.py deleted file mode 100644 index bd29c66272..0000000000 --- a/ansible_collections/grafana/grafana/plugins/modules/cloud_plugin.py +++ /dev/null @@ -1,189 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -# Copyright: (c) 2021, Ishan Jain (@ishanjainn) -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) - -from __future__ import (absolute_import, division, print_function) - -DOCUMENTATION = ''' ---- -module: cloud_plugin -author: - - Ishan Jain (@ishanjainn) -version_added: "0.0.1" -short_description: Manage Grafana Cloud Plugins -description: - - Create, Update and delete Grafana Cloud plugins using Ansible. -requirements: [ "requests >= 1.0.0" ] -notes: - - Does not support C(check_mode). -options: - name: - description: - - Name of the plugin, e.g. grafana-github-datasource. - type: str - required: true - version: - description: - - Version of the plugin to install. - type: str - default: latest - stack_slug: - description: - - Name of the Grafana Cloud stack to which the plugin will be added. - type: str - required: true - cloud_api_key: - description: - - Cloud API Key to authenticate with Grafana Cloud. - type: str - required : true - state: - description: - - State for the Grafana Cloud Plugin. - type: str - default: present - choices: [ present, absent ] -''' - -EXAMPLES = ''' -- name: Create/Update a plugin - grafana.grafana.cloud_plugin: - name: grafana-github-datasource - version: 1.0.14 - stack_slug: "{{ stack_slug }}" - cloud_api_key: "{{ grafana_cloud_api_key }}" - state: present - -- name: Delete a Grafana Cloud stack - grafana.grafana.cloud_plugin: - name: grafana-github-datasource - stack_slug: "{{ stack_slug }}" - cloud_api_key: "{{ grafana_cloud_api_key }}" - state: absent -''' - -RETURN = r''' - current_version: - description: Current version of the plugin. - returned: On success - type: str - sample: "1.0.14" - latest_version: - description: Latest version available for the plugin. - returned: On success - type: str - sample: "1.0.15" - pluginId: - description: Id for the Plugin. - returned: On success - type: int - sample: 663 - pluginName: - description: Name of the plugin. - returned: On success - type: str - sample: "GitHub" - pluginSlug: - description: Slug for the Plugin. - returned: On success - type: str - sample: "grafana-github-datasource" -''' - -from ansible.module_utils.basic import AnsibleModule, missing_required_lib -try: - import requests - HAS_REQUESTS = True -except ImportError: - HAS_REQUESTS = False - -__metaclass__ = type - - -def present_cloud_plugin(module): - body = { - 'plugin': module.params['name'], - 'version': module.params['version'] - } - - api_url = 'https://grafana.com/api/instances/' + module.params['stack_slug'] + '/plugins' - headers = { - 'Authorization': 'Bearer ' + module.params['grafana_api_key'], - 'User-Agent': 'grafana-ansible-collection', - } - - result = requests.post(api_url, json=body, headers=headers) - - if result.status_code == 200: - return False, True, result.json() - elif result.status_code == 409: - api_url = 'https://grafana.com/api/instances/' + module.params['stack_slug'] + '/plugins/' + module.params['name'] - result = requests.get(api_url, headers=headers) - - if result.json()['pluginSlug'] == module.params['name'] and result.json()['version'] == module.params['version']: - return False, False, result.json() - else: - api_url = 'https://grafana.com/api/instances/' + module.params['stack_slug'] + '/plugins/' + module.params[ - 'name'] - result = requests.post(api_url, json={'version': module.params['version']}, - headers=headers) - - return False, True, result.json() - else: - return True, False, {"status": result.status_code, 'response': result.json()['message']} - - -def absent_cloud_plugin(module): - api_url = 'https://grafana.com/api/instances/' + module.params['stack_slug'] + '/plugins/' + module.params['name'] - - result = requests.delete(api_url, headers={ - "Authorization": 'Bearer ' + module.params['cloud_api_key'], - 'User-Agent': 'grafana-ansible-collection', - }) - - if result.status_code == 200: - return False, True, result.json() - else: - return True, False, {"status": result.status_code, 'response': result.json()['message']} - - -def main(): - - module_args = dict( - name=dict(type='str', required=True), - version=dict(type='str', required=False, default='latest'), - stack_slug=dict(type='str', required=True), - cloud_api_key=dict(type='str', required=True, no_log=True), - state=dict(type='str', required=False, default='present', choices=['present', 'absent']) - ) - - choice_map = { - "present": present_cloud_plugin, - "absent": absent_cloud_plugin, - } - - module = AnsibleModule( - argument_spec=module_args - ) - - if not HAS_REQUESTS: - module.fail_json(msg=missing_required_lib('requests')) - - is_error, has_changed, result = choice_map.get( - module.params['state'])(module) - - if not is_error: - module.exit_json(changed=has_changed, - pluginId=result['pluginId'], - pluginName=result['pluginName'], - pluginSlug=result['pluginSlug'], - current_version=result['version'], - latest_version=result['latestVersion']) - else: - module.fail_json(msg=result) - - -if __name__ == '__main__': - main() diff --git a/ansible_collections/grafana/grafana/plugins/modules/cloud_stack.py b/ansible_collections/grafana/grafana/plugins/modules/cloud_stack.py deleted file mode 100644 index 690e465137..0000000000 --- a/ansible_collections/grafana/grafana/plugins/modules/cloud_stack.py +++ /dev/null @@ -1,259 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -# Copyright: (c) 2021, Ishan Jain (@ishanjainn) -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) - -from __future__ import (absolute_import, division, print_function) - -DOCUMENTATION = ''' ---- -module: cloud_stack -author: - - Ishan Jain (@ishanjainn) -version_added: "0.0.1" -short_description: Manage Grafana Cloud stack -description: - - Create and delete Grafana Cloud stacks using Ansible. -requirements: [ "requests >= 1.0.0" ] -notes: - - Does not support C(check_mode). -options: - name: - description: - - Sets the name of stack. Conventionally matches the URL of the instance. For example, C(stackslug.grafana.net). - type: str - required: true - stack_slug: - description: - - Sets the subdomain of the Grafana instance. For example, if slug is B(stackslug), the instance URL will be C(https://stackslug.grafana.net). - type: str - required: true - cloud_api_key: - description: - - Cloud API Key to authenticate with Grafana Cloud. - type: str - required : true - region: - description: - - Sets the region for the Grafana Cloud stack. - type: str - default: us - choices: [ us, us-azure, eu, au, eu-azure, prod-ap-southeast-0, prod-gb-south-0, prod-eu-west-3] - url: - description: - - If you use a custom domain for the instance, you can provide it here. If not provided, Will be set to C(https://stackslug.grafana.net). - type: str - org_slug: - description: - - Name of the organization under which Cloud stack is created. - type: str - required: true - delete_protection: - description: - - Enables or disables deletion protection for the Cloud stack. - - When set to true, the stack cannot be deleted unless this flag is explicitly disabled. - type: bool - default: true - required: false - state: - description: - - State for the Grafana Cloud stack. - type: str - default: present - choices: [ present, absent ] -''' - -EXAMPLES = ''' -- name: Create a Grafana Cloud stack - grafana.grafana.cloud_stack: - name: stack_name - stack_slug: stack_name - cloud_api_key: "{{ grafana_cloud_api_key }}" - region: eu - url: https://grafana.company_name.com - org_slug: org_name - delete_protection: true - state: present - -- name: Delete a Grafana Cloud stack - grafana.grafana.cloud_stack: - name: stack_name - slug: stack_name - cloud_api_key: "{{ grafana_cloud_api_key }}" - org_slug: org_name - state: absent -''' - -RETURN = r''' - alertmanager_name: - description: Name of the alertmanager instance. - returned: always - type: str - sample: "stackname-alerts" - alertmanager_url: - description: URL of the alertmanager instance. - returned: always - type: str - sample: "https://alertmanager-eu-west-0.grafana.net" - cluster_slug: - description: Slug for the cluster where the Grafana stack is deployed. - returned: always - type: str - sample: "prod-eu-west-0" - id: - description: ID of the Grafana Cloud stack. - returned: always - type: int - sample: 458182 - loki_url: - description: URl for the Loki instance. - returned: always - type: str - sample: "https://logs-prod-eu-west-0.grafana.net" - orgID: - description: ID of the Grafana Cloud organization. - returned: always - type: int - sample: 652992 - prometheus_url: - description: URl for the Prometheus instance. - returned: always - type: str - sample: "https://prometheus-prod-01-eu-west-0.grafana.net" - tempo_url: - description: URl for the Tempo instance. - returned: always - type: str - sample: "https://tempo-eu-west-0.grafana.net" - url: - description: URL of the Grafana Cloud stack. - returned: always - type: str - sample: "https://stackname.grafana.net" - delete_protection: - description: - - Enables or disables deletion protection for the Cloud stack. - - When set to true, the stack cannot be deleted unless this flag is explicitly disabled. - returned: always - type: bool - sample: true -''' - -from ansible.module_utils.basic import AnsibleModule, missing_required_lib -try: - import requests - HAS_REQUESTS = True -except ImportError: - HAS_REQUESTS = False - -__metaclass__ = type - - -def present_cloud_stack(module): - if not module.params['url']: - module.params['url'] = 'https://' + module.params['stack_slug'] + '.grafana.net' - - body = { - 'name': module.params['name'], - 'slug': module.params['stack_slug'], - 'region': module.params['region'], - 'url': module.params['url'], - 'deleteProtection': module.params.get('delete_protection', True), - } - api_url = 'https://grafana.com/api/instances' - headers = { - "Authorization": 'Bearer ' + module.params['cloud_api_key'], - 'User-Agent': 'grafana-ansible-collection', - } - - result = requests.post(api_url, json=body, headers=headers) - if result.status_code == 200: - return False, True, result.json() - elif result.status_code in [409, 403] and result.json()['message'] in ["That URL has already been taken, please try an alternate URL", "Hosted instance limit reached"]: - stack_found = False - if result.json()['message'] == "That URL has already been taken, please try an alternate URL": - api_url = 'https://grafana.com/api/orgs/' + module.params['org_slug'] + '/instances' - result = requests.get(api_url, headers=headers) - stackInfo = {} - for stack in result.json()['items']: - if stack['slug'] == module.params['stack_slug']: - stack_found = True - stackInfo = stack - if stack_found: - if body['deleteProtection'] == stackInfo['deleteProtection']: - return False, False, stackInfo - api_url = f'https://grafana.com/api/instances/{stackInfo["id"]}' - result = requests.post(api_url, json={'deleteProtection': body['deleteProtection']}, headers=headers) - if result.status_code != 200: - return True, False, {"status": result.status_code, 'response': result.json()['message']} - return False, True, result.json() - else: - return True, False, "Stack is not found under your org" - elif result.json()['message'] == "Hosted instance limit reached": - return True, False, "You have reached Maximum number of Cloud Stacks in your Org." - else: - return True, False, {"status": result.status_code, 'response': result.json()['message']} - - -def absent_cloud_stack(module): - api_url = 'https://grafana.com/api/instances/' + module.params['stack_slug'] - - result = requests.delete(api_url, headers={ - "Authorization": 'Bearer ' + module.params['cloud_api_key'], - 'User-Agent': 'grafana-ansible-collection', - }) - - if result.status_code == 200: - return False, True, result.json() - else: - return True, False, {"status": result.status_code, 'response': result.json()['message']} - - -def main(): - - module_args = dict( - name=dict(type='str', required=True), - stack_slug=dict(type='str', required=True), - cloud_api_key=dict(type='str', required=True, no_log=True), - region=dict(type='str', required=False, default='us', - choices=['us', 'us-azure', 'eu', 'au', 'eu-azure', 'prod-ap-southeast-0', 'prod-gb-south-0', - 'prod-eu-west-3']), - url=dict(type='str', required=False), - org_slug=dict(type='str', required=True), - state=dict(type='str', required=False, default='present', choices=['present', 'absent']), - delete_protection=dict(type=bool, required=False), - ) - - choice_map = { - "present": present_cloud_stack, - "absent": absent_cloud_stack, - } - - module = AnsibleModule( - argument_spec=module_args - ) - - if not HAS_REQUESTS: - module.fail_json(msg=missing_required_lib('requests')) - - is_error, has_changed, result = choice_map.get( - module.params['state'])(module) - - if not is_error: - module.exit_json(changed=has_changed, - alertmanager_name=result['amInstanceName'], - url=result['url'], id=result['id'], - cluster_slug=result['clusterName'], - orgID=result['orgId'], - loki_url=result['hlInstanceUrl'], - prometheus_url=result['hmInstancePromUrl'], - tempo_url=result['htInstanceUrl'], - alertmanager_url=result['amInstanceUrl'], - delete_protection=result['deleteProtection']) - else: - module.fail_json(msg=result) - - -if __name__ == '__main__': - main() diff --git a/ansible_collections/grafana/grafana/plugins/modules/dashboard.py b/ansible_collections/grafana/grafana/plugins/modules/dashboard.py deleted file mode 100644 index b11c86034e..0000000000 --- a/ansible_collections/grafana/grafana/plugins/modules/dashboard.py +++ /dev/null @@ -1,190 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -# Copyright: (c) 2021, Ishan Jain (@ishanjainn) -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) - -from __future__ import (absolute_import, division, print_function) - -DOCUMENTATION = ''' ---- -module: dashboard -author: - - Ishan Jain (@ishanjainn) -version_added: "0.0.1" -short_description: Manage Dashboards in Grafana -description: - - Create, Update and delete Dashboards using Ansible. -requirements: [ "requests >= 1.0.0" ] -notes: - - Does not support C(check_mode). - - Does not support C(Idempotency). -options: - dashboard: - description: - - JSON source code for dashboard. - type: dict - required: true - grafana_url: - description: - - URL of the Grafana instance. - type: str - required: true - grafana_api_key: - description: - - Grafana API Key to authenticate with Grafana Cloud. - type: str - required : true - state: - description: - - State for the Grafana Dashboard. - choices: [ present, absent ] - default: present - type: str -''' - -EXAMPLES = ''' -- name: Create/Update a dashboard - grafana.grafana.dashboard: - dashboard: "{{ lookup('ansible.builtin.file', 'dashboard.json') }}" - grafana_url: "{{ grafana_url }}" - grafana_api_key: "{{ grafana_api_key }}" - state: present - -- name: Delete dashboard - grafana.grafana.dashboard: - dashboard: "{{ lookup('ansible.builtin.file', 'dashboard.json') }}" - grafana_url: "{{ grafana_url }}" - grafana_api_key: "{{ grafana_api_key }}" - state: absent -''' - -RETURN = r''' -output: - description: Dict object containing folder information. - returned: On success - type: dict - contains: - id: - description: The ID for the dashboard. - returned: on success - type: int - sample: 17 - slug: - description: The slug for the dashboard. - returned: state is present and on success - type: str - sample: ansible-integration-test - status: - description: The status of the dashboard. - returned: state is present and on success - type: str - sample: success - uid: - description: The UID for the dashboard. - returned: state is present and on success - type: str - sample: "test1234" - url: - description: The endpoint for the dashboard. - returned: state is present and on success - type: str - sample: "/d/test1234/ansible-integration-test" - version: - description: The version of the dashboard. - returned: state is present and on success - type: int - sample: 2 - message: - description: The message returned after the operation on the dashboard. - returned: state is absent and on success - type: str - sample: "Dashboard Ansible Integration Test deleted" - title: - description: The name of the dashboard. - returned: state is absent and on success - type: str - sample: "Ansible Integration Test" -''' - -from ansible.module_utils.basic import AnsibleModule, missing_required_lib -try: - import requests - HAS_REQUESTS = True -except ImportError: - HAS_REQUESTS = False - - -__metaclass__ = type - - -def present_dashboard(module): - - if module.params['grafana_url'][-1] == '/': - module.params['grafana_url'] = module.params['grafana_url'][:-1] - - api_url = module.params['grafana_url'] + '/api/dashboards/db' - - result = requests.post(api_url, json=module.params['dashboard'], headers={ - "Authorization": 'Bearer ' + module.params['grafana_api_key'], - 'User-Agent': 'grafana-ansible-collection', - }) - - if result.status_code == 200: - return False, True, result.json() - else: - return True, False, {"status": result.status_code, 'response': result.json()['message']} - - -def absent_dashboard(module): - if module.params['grafana_url'][-1] == '/': - module.params['grafana_url'] = module.params['grafana_url'][:-1] - - if 'uid' not in module.params['dashboard']['dashboard']: - return True, False, "UID is not defined in the the Dashboard configuration" - - api_url = api_url = module.params['grafana_url'] + '/api/dashboards/uid/' + module.params['dashboard']['dashboard']['uid'] - - result = requests.delete(api_url, headers={ - "Authorization": 'Bearer ' + module.params['grafana_api_key'], - 'User-Agent': 'grafana-ansible-collection', - }) - - if result.status_code == 200: - return False, True, result.json() - else: - return True, False, {"status": result.status_code, 'response': result.json()['message']} - - -def main(): - - module_args = dict( - dashboard=dict(type='dict', required=True), - grafana_url=dict(type='str', required=True), - grafana_api_key=dict(type='str', required=True, no_log=True), - state=dict(type='str', required=False, default='present', choices=['present', 'absent']) - ) - - choice_map = { - "present": present_dashboard, - "absent": absent_dashboard, - } - - module = AnsibleModule( - argument_spec=module_args - ) - - if not HAS_REQUESTS: - module.fail_json(msg=missing_required_lib('requests')) - - is_error, has_changed, result = choice_map.get( - module.params['state'])(module) - - if not is_error: - module.exit_json(changed=has_changed, output=result) - else: - module.fail_json(msg=result) - - -if __name__ == '__main__': - main() diff --git a/ansible_collections/grafana/grafana/plugins/modules/datasource.py b/ansible_collections/grafana/grafana/plugins/modules/datasource.py deleted file mode 100644 index 748ad409ab..0000000000 --- a/ansible_collections/grafana/grafana/plugins/modules/datasource.py +++ /dev/null @@ -1,209 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -# Copyright: (c) 2021, Ishan Jain (@ishanjainn) -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) - -from __future__ import (absolute_import, division, print_function) - -DOCUMENTATION = ''' ---- -module: datasource -author: - - Ishan Jain (@ishanjainn) -version_added: "0.0.1" -short_description: Manage Data sources in Grafana -description: - - Create, Update and delete Data sources using Ansible. -requirements: [ "requests >= 1.0.0" ] -notes: - - Does not support C(check_mode). - - Does not support C(Idempotency). -options: - dataSource: - description: - - JSON source code for the Data source. - type: dict - required: true - grafana_url: - description: - - URL of the Grafana instance. - type: str - required: true - grafana_api_key: - description: - - Grafana API Key to authenticate with Grafana Cloud. - type: str - required : true - state: - description: - - State for the Grafana Datasource. - choices: [ present, absent ] - default: present - type: str -''' - -EXAMPLES = ''' -- name: Create/Update Data sources - grafana.grafana.datasource: - dataSource: - name: Prometheus - type: prometheus - access: proxy - url: http://localhost:9090 - jsonData: - httpMethod: POST - manageAlerts: true - prometheusType: Prometheus - cacheLevel: High - grafana_url: "{{ grafana_url }}" - grafana_api_key: "{{ grafana_api_key }}" - state: present - -- name: Delete Data sources - grafana.grafana.datasource: - dataSource: "{{ lookup('ansible.builtin.file', 'datasource.json') | to_yaml }}" - grafana_url: "{{ grafana_url }}" - grafana_api_key: "{{ grafana_api_key }}" - state: absent -''' - -RETURN = r''' -output: - description: Dict object containing Data source information. - returned: On success - type: dict - contains: - datasource: - description: The response body content for the data source configuration. - returned: state is present and on success - type: dict - sample: { - "access": "proxy", - "basicAuth": false, - "basicAuthUser": "", - "database": "db-name", - "id": 20, - "isDefault": false, - "jsonData": {}, - "name": "ansible-integration", - "orgId": 1, - "readOnly": false, - "secureJsonFields": { - "password": true - }, - "type": "influxdb", - "typeLogoUrl": "", - "uid": "ansibletest", - "url": "https://grafana.github.com/grafana-ansible-collection", - "user": "user", - "version": 1, - "withCredentials": false - } - id: - description: The ID assigned to the data source. - returned: on success - type: int - sample: 20 - name: - description: The name of the data source defined in the JSON source code. - returned: state is present and on success - type: str - sample: "ansible-integration" - message: - description: The message returned after the operation on the Data source. - returned: on success - type: str - sample: "Datasource added" -''' - -from ansible.module_utils.basic import AnsibleModule, missing_required_lib -try: - import requests - HAS_REQUESTS = True -except ImportError: - HAS_REQUESTS = False - -__metaclass__ = type - - -def present_datasource(module): - if module.params['grafana_url'][-1] == '/': - module.params['grafana_url'] = module.params['grafana_url'][:-1] - - api_url = module.params['grafana_url'] + '/api/datasources' - - headers = { - "Authorization": 'Bearer ' + module.params['grafana_api_key'], - 'User-Agent': 'grafana-ansible-collection', - } - result = requests.post(api_url, json=module.params['dataSource'], headers=headers) - - if result.status_code == 200: - return False, True, result.json() - elif result.status_code == 409: - get_id_url = requests.get(module.params['grafana_url'] + '/api/datasources/id/' + module.params['dataSource']['name'], - headers=headers) - - api_url = module.params['grafana_url'] + '/api/datasources/' + str(get_id_url.json()['id']) - - result = requests.put(api_url, json=module.params['dataSource'], headers=headers) - - if result.status_code == 200: - return False, True, result.json() - else: - return True, False, {"status": result.status_code, 'response': result.json()['message']} - - else: - return True, False, {"status": result.status_code, 'response': result.json()['message']} - - -def absent_datasource(module): - if module.params['grafana_url'][-1] == '/': - module.params['grafana_url'] = module.params['grafana_url'][:-1] - - api_url = module.params['grafana_url'] + '/api/datasources/name/' + module.params['dataSource']['name'] - - result = requests.delete(api_url, headers={ - "Authorization": 'Bearer ' + module.params['grafana_api_key'], - 'User-Agent': 'grafana-ansible-collection', - }) - - if result.status_code == 200: - return False, True, {"status": result.status_code, 'response': result.json()['message']} - else: - return True, False, {"status": result.status_code, 'response': result.json()['message']} - - -def main(): - - module_args = dict( - dataSource=dict(type='dict', required=True), - grafana_url=dict(type='str', required=True), - grafana_api_key=dict(type='str', required=True, no_log=True), - state=dict(type='str', required=False, default='present', choices=['present', 'absent']) - ) - - choice_map = { - "present": present_datasource, - "absent": absent_datasource, - } - - module = AnsibleModule( - argument_spec=module_args - ) - - if not HAS_REQUESTS: - module.fail_json(msg=missing_required_lib('requests')) - - is_error, has_changed, result = choice_map.get( - module.params['state'])(module) - - if not is_error: - module.exit_json(changed=has_changed, output=result) - else: - module.fail_json(msg=result) - - -if __name__ == '__main__': - main() diff --git a/ansible_collections/grafana/grafana/plugins/modules/folder.py b/ansible_collections/grafana/grafana/plugins/modules/folder.py deleted file mode 100644 index 09e99e367d..0000000000 --- a/ansible_collections/grafana/grafana/plugins/modules/folder.py +++ /dev/null @@ -1,280 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -# Copyright: (c) 2021, Ishan Jain (@ishanjainn) -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) - -from __future__ import (absolute_import, division, print_function) - -DOCUMENTATION = ''' ---- -module: folder -author: - - Ishan Jain (@ishanjainn) -version_added: "0.0.1" -short_description: Manage Folders in Grafana -description: - - Create, Update and delete Folders via Ansible. -requirements: [ "requests >= 1.0.0" ] -notes: - - Does not support C(check_mode). -options: - title: - description: - - Sets the title of the folder. - type: str - required: true - uid: - description: - - Sets the UID for your folder. - type: str - required: true - overwrite: - description: - - Set to C(false) if you dont want to overwrite existing folder with newer version. - type: bool - required: false - default: true - grafana_api_key: - description: - - Grafana API Key to authenticate with Grafana. - type: str - required : true - grafana_url: - description: - - URL of the Grafana instance. - type: str - required: true - state: - description: - - State for the Grafana Folder. - choices: [ present, absent ] - default: present - type: str -''' - -EXAMPLES = ''' -- name: Create/Update a Folder in Grafana - grafana.grafana.folder: - title: folder_name - uid: folder_name - overwrite: true - grafana_url: "{{ grafana_url }}" - grafana_api_key: "{{ grafana_api_key }}" - state: present - -- name: Delete a Folder in Grafana - grafana.grafana.folder: - uid: folder_name - grafana_url: "{{ grafana_url }}" - grafana_api_key: "{{ grafana_api_key }}" - state: absent -''' - -RETURN = r''' -output: - description: Dict object containing folder information. - returned: On success - type: dict - contains: - canAdmin: - description: Boolean value specifying if current user can admin in folder. - returned: state is present and on success - type: bool - sample: true - canDelete: - description: Boolean value specifying if current user can delete the folder. - returned: state is present and on success - type: bool - sample: true - canEdit: - description: Boolean value specifying if current user can edit in folder. - returned: state is present and on success - type: bool - sample: true - canSave: - description: Boolean value specifying if current user can save in folder. - returned: state is present and on success - type: bool - sample: true - created: - description: The date when folder was created. - returned: state is present and on success - type: str - sample: "2022-10-20T09:31:53Z" - createdBy: - description: The name of the user who created the folder. - returned: state is present and on success - type: str - sample: "Anonymous" - hasAcl: - description: Boolean value specifying if folder has acl. - returned: state is present and on success - type: bool - sample: true - id: - description: The ID for the folder. - returned: state is present and on success - type: int - sample: 18 - title: - description: The name of the folder. - returned: on success - type: str - sample: foldername - uid: - description: The UID for the folder. - returned: state is present and on success - type: str - sample: foldername - updated: - description: The date when the folder was last updated. - returned: state is present and on success - type: str - sample: "2022-10-20T09:31:53Z" - updatedBy: - description: The name of the user who last updated the folder. - returned: state is present and on success - type: str - sample: "Anonymous" - url: - description: The URl for the folder. - returned: state is present and on success - type: str - sample: "/dashboards/f/foldername/foldername" - version: - description: The version of the folder. - returned: state is present and on success - type: int - sample: 1 - message: - description: The message returned after the operation on the folder. - returned: state is absent and on success - type: str - sample: "Folder has been succesfuly deleted" -''' - -from ansible.module_utils.basic import AnsibleModule, missing_required_lib -try: - import requests - HAS_REQUESTS = True -except ImportError: - HAS_REQUESTS = False - -__metaclass__ = type - - -def present_folder(module): - if module.params['grafana_url'][-1] == '/': - module.params['grafana_url'] = module.params['grafana_url'][:-1] - - body = { - 'uid': module.params['uid'], - 'title': module.params['title'], - } - api_url = module.params['grafana_url'] + '/api/folders' - - headers = { - "Authorization": 'Bearer ' + module.params['grafana_api_key'], - 'User-Agent': 'grafana-ansible-collection', - } - - result = requests.post(api_url, json=body, headers=headers) - - if result.status_code == 200: - return False, True, result.json() - elif result.status_code == 412: - sameConfig = False - folderInfo = {} - - api_url = module.params['grafana_url'] + '/api/folders' - result = requests.get(api_url, headers=headers) - - for folder in result.json(): - if folder['uid'] == module.params['uid'] and folder['title'] == module.params['title']: - sameConfig = True - folderInfo = folder - - if sameConfig: - return False, False, folderInfo - else: - body = { - 'uid': module.params['uid'], - 'title': module.params['title'], - 'overwrite': module.params['overwrite'] - } - api_url = module.params['grafana_url'] + '/api/folders/' + module.params['uid'] - - result = requests.put(api_url, json=body, headers=headers) - - if result.status_code == 200: - return False, True, result.json() - else: - return True, False, {"status": result.status_code, 'response': result.json()['message']} - else: - return True, False, {"status": result.status_code, 'response': result.json()['message']} - - -def absent_folder(module): - if module.params['grafana_url'][-1] == '/': - module.params['grafana_url'] = module.params['grafana_url'][:-1] - - sameConfig = False - - api_url = module.params['grafana_url'] + '/api/folders' - headers = { - "Authorization": 'Bearer ' + module.params['grafana_api_key'], - 'User-Agent': 'grafana-ansible-collection', - } - result = requests.get(api_url, headers=headers) - - for folder in result.json(): - if folder['uid'] == module.params['uid'] and folder['title'] == module.params['title']: - sameConfig = True - if sameConfig is True: - api_url = module.params['grafana_url'] + '/api/folders/' + module.params['uid'] - - result = requests.delete(api_url, headers=headers) - - if result.status_code == 200: - return False, True, {"status": result.status_code, 'response': "Folder has been succesfuly deleted"} - else: - return True, False, {"status": result.status_code, 'response': "Error deleting folder"} - else: - return False, True, {"status": 200, 'response': "Folder does not exist"} - - -def main(): - - module_args = dict( - title=dict(type='str', required=True), - uid=dict(type='str', required=True), - overwrite=dict(type='bool', required=False, default=True), - grafana_url=dict(type='str', required=True), - grafana_api_key=dict(type='str', required=True, no_log=True), - state=dict(type='str', required=False, default='present', choices=['present', 'absent']) - ) - - choice_map = { - "present": present_folder, - "absent": absent_folder, - } - - module = AnsibleModule( - argument_spec=module_args - ) - - if not HAS_REQUESTS: - module.fail_json(msg=missing_required_lib('requests')) - - is_error, has_changed, result = choice_map.get( - module.params['state'])(module) - - if not is_error: - module.exit_json(changed=has_changed, output=result) - else: - module.fail_json(msg=result) - - -if __name__ == '__main__': - main() diff --git a/ansible_collections/grafana/grafana/plugins/modules/user.py b/ansible_collections/grafana/grafana/plugins/modules/user.py deleted file mode 100644 index 177eb738d8..0000000000 --- a/ansible_collections/grafana/grafana/plugins/modules/user.py +++ /dev/null @@ -1,284 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -# Copyright: (c) 2024, téïcée (www.teicee.com) -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) - -from __future__ import (absolute_import, division, print_function) -from ansible.module_utils.basic import AnsibleModule, missing_required_lib - -DOCUMENTATION = ''' ---- -module: user -author: - - Mathieu Valois, téïcée -version_added: "0.0.1" -short_description: Manage Users in Grafana -description: - - Create, Update and delete Users using Ansible. -requirements: [ "requests >= 1.0.0" ] -notes: - - Does not support C(check_mode). - - Does not support C(Idempotency). -options: - grafana_url: - description: - - URL of the Grafana instance. - type: str - required: true - admin_name: - description: - - Grafana admin username - type: str - required : true - admin_password: - description: - - Grafana admin password - type: str - required : true - login: - description: - - Login of the user - type: str - required : true - password: - description: - - Password of the user. Should be provided if state=present - type: str - required : false - name: - description: - - Name of the user. - type: str - required : false - email: - description: - - Email address of the user. - type: str - required : false - state: - description: - - State for the Grafana User. - choices: [ present, absent ] - default: present - type: str -''' - -EXAMPLES = ''' -- name: Create/Update a user - grafana.grafana.user: - login: "grafana_user" - password: "{{ lookup('ansible.builtin.password') }}" - email: "grafana_user@localhost.local - name: "grafana user" - grafana_url: "{{ grafana_url }}" - admin_name: "admin" - admin_password: "admin" - state: present - -- name: Delete user - grafana.grafana.user: - login: "grafana_user" - grafana_url: "{{ grafana_url }}" - admin_name: "admin" - admin_password: "admin" - state: absent -''' - -RETURN = r''' -output: - description: Dict object containing user information and message. - returned: On success - type: dict - contains: - id: - description: The ID for the user. - returned: on success - type: int - sample: 17 - email: - description: The email for the user. - returned: on success - type: str - sample: grafana_user@localhost.local - name: - description: The name for the user. - returned: on success - type: str - sample: grafana user - login: - description: The login for the user. - returned: on success - type: str - sample: grafana_user -''' - -try: - import requests - HAS_REQUESTS = True -except ImportError: - HAS_REQUESTS = False - - -__metaclass__ = type - - -def _get_user(grafana_url, admin_name, admin_password, login, email=None): - get_user_url = grafana_url + '/api/users/lookup?loginOrEmail=' - - # check if user exists by login provided login - result = requests.get(f"{get_user_url}{login}", auth=requests.auth.HTTPBasicAuth( - admin_name, admin_password)) - # if no user has this login, check the email if provided - if result.status_code == 404 and email is not None: - result = requests.get(f"{get_user_url}{email}", auth=requests.auth.HTTPBasicAuth( - admin_name, admin_password)) - - if result.status_code == 404: - return None - - return result.json() - - -def _set_user_password(grafana_url, admin_name, admin_password, user_id, password): - """ sets the password for the existing user having user_id. - admin_name should be a user having users.password:write permission - """ - - set_user_password_url = f"{grafana_url}/api/admin/users/{user_id}/password" - - result = requests.put(set_user_password_url, json={'password': password}, auth=requests.auth.HTTPBasicAuth( - admin_name, admin_password)) - - return result - - -def present_user(module): - - if module.params['grafana_url'][-1] == '/': - module.params['grafana_url'] = module.params['grafana_url'][:-1] - - body = { - 'login': module.params['login'], - 'password': module.params['password'], - 'email': module.params['email'], - 'name': module.params['name'], - 'OrgId': module.params['orgid'] - } - - user = _get_user(module.params['grafana_url'], module.params['admin_name'], - module.params['admin_password'], module.params['login'], module.params['email']) - - if user is None: - api_url = module.params['grafana_url'] + '/api/admin/users' - result = requests.post(api_url, json=body, auth=requests.auth.HTTPBasicAuth( - module.params['admin_name'], module.params['admin_password'])) - else: - user_id = user['id'] - api_url = module.params['grafana_url'] + '/api/users' - result = requests.put(f"{api_url}/{user_id}", json=body, auth=requests.auth.HTTPBasicAuth( - module.params['admin_name'], module.params['admin_password'])) - - if result.status_code == 200: - return False, True, result.json() - - return True, False, {"status": result.status_code, 'response': result.json()['message']} - - -def absent_user(module): - if module.params['grafana_url'][-1] == '/': - module.params['grafana_url'] = module.params['grafana_url'][:-1] - - user = _get_user(module.params['grafana_url'], module.params['admin_name'], - module.params['admin_password'], module.params['login'], module.params['email']) - - if user is None: - return False, False, "User does not exist" - - user_id = user['id'] - api_url = f"{module.params['grafana_url']}/api/admin/users/{user_id}" - result = requests.delete(api_url, auth=requests.auth.HTTPBasicAuth( - module.params['admin_name'], module.params['admin_password'])) - - if result.status_code == 200: - return False, True, result.json() - - return True, False, {"status": result.status_code, 'response': result.json()['message']} - - -def password_user(module): - if module.params['grafana_url'][-1] == '/': - module.params['grafana_url'] = module.params['grafana_url'][:-1] - - # try with new password to check if already changed - user = _get_user(module.params['grafana_url'], module.params['login'], - module.params['password'], module.params['login'], module.params['email']) - - if 'id' in user: - # Auth is OK, password does not need to be changed - return False, False, {'message': 'Password has already been changed', 'user': user} - - # from here, we begin password change procedure - user = _get_user(module.params['grafana_url'], module.params['admin_name'], - module.params['admin_password'], module.params['login'], module.params['email']) - - if user is None: - return True, False, "User does not exist" - - if 'id' not in user: - return True, False, user - - result = _set_user_password(module.params['grafana_url'], module.params['admin_name'], - module.params['admin_password'], user['id'], module.params['password']) - - if result.status_code == 200: - return False, True, result.json() - - return True, False, result.json() - - -def main(): - - # Grafana admin API is only accessible with basic auth, not token - # So we shall provide admin name and its password - module_args = dict( - admin_name=dict(type='str', required=True), - admin_password=dict(type='str', required=True, no_log=True), - login=dict(type='str', required=True), - password=dict(type='str', required=False, no_log=True), - email=dict(type='str', required=False), - name=dict(type='str', required=False), - orgid=dict(type='int', required=False), - grafana_url=dict(type='str', required=True), - state=dict(type='str', required=False, default='present', - choices=['present', 'absent', 'update_password']) - ) - - choice_map = { - "present": present_user, - "absent": absent_user, - "update_password": password_user - } - - module = AnsibleModule( - argument_spec=module_args - ) - - if not HAS_REQUESTS: - module.fail_json(msg=missing_required_lib('requests')) - - if module.params['state'] in ('present', 'update_password') and 'password' not in module.params: - module.fail_json( - msg="Want to create or update user but password is missing") - - is_error, has_changed, result = choice_map.get( - module.params['state'])(module) - - if not is_error: - module.exit_json(changed=has_changed, output=result) - else: - module.fail_json(msg=result) - - -if __name__ == '__main__': - main() diff --git a/ansible_collections/grafana/grafana/requirements.txt b/ansible_collections/grafana/grafana/requirements.txt deleted file mode 100644 index 2d38dea574..0000000000 --- a/ansible_collections/grafana/grafana/requirements.txt +++ /dev/null @@ -1,3 +0,0 @@ -yamllint==1.35.1 -ansible-lint>=6.13.1, <25.0.0 -pylint>=2.16.2,<4.0.0 diff --git a/ansible_collections/grafana/grafana/requirements.yml b/ansible_collections/grafana/grafana/requirements.yml deleted file mode 100644 index 8d80a4d224..0000000000 --- a/ansible_collections/grafana/grafana/requirements.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -collections: - - name: https://github.com/ansible-collections/community.general.git - type: git - - name: https://github.com/ansible-collections/community.grafana.git - type: git - - name: https://github.com/ansible-collections/ansible.posix.git - type: git diff --git a/ansible_collections/grafana/grafana/roles/alloy/README.md b/ansible_collections/grafana/grafana/roles/alloy/README.md deleted file mode 100644 index 23e5f22b29..0000000000 --- a/ansible_collections/grafana/grafana/roles/alloy/README.md +++ /dev/null @@ -1,71 +0,0 @@ -# Ansible role - Alloy - -[![License](https://img.shields.io/github/license/grafana/grafana-ansible-collection)](LICENSE) - -This Ansible role to install and configure [Alloy](https://grafana.com/docs/alloy/latest/), which can be used to collect traces, metrics, and logs. -This role is tailored for operating systems such as **RedHat**, **Rocky Linux**, **AlmaLinux**, **Ubuntu**, **Debian**, **macOS**, and **openSUSE**. - -## Table of Content - -- [Requirements](#requirements) -- [Role Variables](#role-variables) -- [Playbook](#playbook) - -## Requirements - -- Ansible 2.13+ -- `ansible.utils` collection is required. Additionally, you must install the `netaddr` Python library on the host where you are running Ansible (not on the target remote host) if is not present. -- `community.general` collection is required for macOS support -- **macOS**: Homebrew must be installed - -## Role Variables - -| Variable Name | Description | Default Value | -|-----------------------|----------------------------------------------------------------------|---------------------------------------------------------------------| -| `alloy_version` | The version of Alloy to download and deploy. Supported standard version "1.4.2" format or "latest". | `latest` | -| `alloy_uninstall` | If set to `true` will perfom uninstall instead of deployment. | `false` | -| `alloy_expose_port` | By default, this is set to false. It supports only simple firewalld configurations. If set to true, a firewalld rule is added to expose the TCP alloy port. The Port is automatically extracted from the environment variable `alloy_env_file_vars` in CUSTOM_ARGS when --server.http.listen-addr=0.0.0.0:12345 is defined. If set to false, configuration is skipped. If the firewalld.service is not active, all firewalld tasks are skipped. | `false` | -| `alloy_user_groups` | Appends the alloy user to specific groups. | `[]` | -| `alloy_github_api_url` | The default Github API URL to check for the latest version available. | `"https://api.github.com/repos/grafana/alloy/releases/latest"` | -| `alloy_download_url_rpm` | The default download URL for the Alloy rpm package from GitHub. | `"https://github.com/grafana/alloy/releases/download/v{{ aloy_version }}/alloy-{{ aloy_version }}-1.{{ __alloy_arch }}.rpm"` | -| `alloy_download_url_deb` | The default download URL for the Alloy deb package from GitHub. | `"https://github.com/grafana/alloy/releases/download/v{{ aloy_version }}/alloy-{{ aloy_version }}-1.{{ __alloy_arch }}.deb"` | -| `alloy_readiness_check_use_https` | This boolean variable determines whether the readiness check for the Alloy server should use HTTPS or HTTP when validating the `/-/ready` endpoint. This variable does not enable TLS on the Alloy server itself. | `false` | -| `alloy_readiness_check_use_proxy` | This boolean variable determines whether the readiness check for the Alloy server should use a proxy when validating the `/-/ready` endpoint. If false, it will not use a proxy, even if one is defined in an environment variable on the target hosts. | `true` | -| `alloy_env_file_vars` | You can use environment variables to control the run-time behavior of Grafana Alloy. | `{}` | -| `alloy_systemd_override` | Systemd unit drop-in file used to override or extend the default configuration of a systemd unit. | `{}` | -| `alloy_config` | This is the configuration that sets up Alloy. Refer to the [configuration blocks](https://grafana.com/docs/alloy/latest/reference/config-blocks/) and [components](https://grafana.com/docs/alloy/latest/reference/components/) documentation for more details. Since the purpose of using Alloy varies, no default configuration is provided. ⚠️ **You must provide either `alloy_config` for single config or set `alloy_env_file_vars.CONFIG_FILE` for multi-config setup**. Note that if you use `alloy_env_file_vars.CONFIG_FILE`, the content of `alloy_config` will not be templated. It is expected that you manage the multi-config content using pre_tasks or with your own role. | `{}` | - -## Dependencies - -No Dependencies - -## Playbook - -```yaml -- name: Manage alloy service - hosts: all - become: true - vars: - # alloy_config: | - # Your Config Content - roles: - - role: grafana.grafana.alloy -``` - -- Playbook execution example -```shell -# Deploy Alloy -ansible-playbook function_alloy_play.yml - -# Uninstall Alloy -ansible-playbook function_alloy_play.yml -e "alloy_uninstall=true" -``` - -## License - -See [LICENSE](https://github.com/grafana/grafana-ansible-collection/blob/main/LICENSE) - -## Author Information - -- [Ishan Jain](https://github.com/ishanjainn) -- [VoidQuark](https://github.com/voidquark) diff --git a/ansible_collections/grafana/grafana/roles/alloy/defaults/main.yml b/ansible_collections/grafana/grafana/roles/alloy/defaults/main.yml deleted file mode 100644 index 371759eb52..0000000000 --- a/ansible_collections/grafana/grafana/roles/alloy/defaults/main.yml +++ /dev/null @@ -1,36 +0,0 @@ ---- -# defaults file for alloy -alloy_version: "latest" -alloy_uninstall: false -alloy_expose_port: false -alloy_github_api_url: "https://api.github.com/repos/grafana/alloy/releases/latest" -alloy_download_url_rpm: "https://github.com/grafana/alloy/releases/download/v{{ alloy_version }}/alloy-{{ alloy_version }}-1.{{ __alloy_arch }}.rpm" -alloy_download_url_deb: "https://github.com/grafana/alloy/releases/download/v{{ alloy_version }}/alloy-{{ alloy_version }}-1.{{ __alloy_arch }}.deb" -alloy_readiness_check_use_https: false -alloy_readiness_check_use_proxy: true - -alloy_user_groups: [] -# alloy_user_groups: -# - "systemd-journal" - -alloy_env_file_vars: {} -# alloy_env_file_vars: -# CONFIG_FILE: "/custom/path" -# CUSTOM_ARGS: "--server.http.listen-addr=0.0.0.0:12345 --stability.level=public-preview --feature.community-components.enabled=true" - -alloy_systemd_override: {} -# alloy_systemd_override: | -# [Service] -# User=root - -alloy_config: {} -# alloy_config: | -# prometheus.scrape "default" { -# targets = [{"__address__" = "127.0.0.1:12345"}] -# forward_to = [prometheus.remote_write.prom.receiver] -# } -# prometheus.remote_write "prom" { -# endpoint { -# url = "http://mimir:9009/api/v1/push" -# } -# } diff --git a/ansible_collections/grafana/grafana/roles/alloy/handlers/main.yml b/ansible_collections/grafana/grafana/roles/alloy/handlers/main.yml deleted file mode 100644 index 98cea6311f..0000000000 --- a/ansible_collections/grafana/grafana/roles/alloy/handlers/main.yml +++ /dev/null @@ -1,17 +0,0 @@ ---- -# handlers file for alloy -- name: Restart alloy - listen: "restart alloy" - ansible.builtin.systemd: - daemon_reload: true - name: alloy.service - state: restarted - enabled: true - when: not ansible_check_mode - -- name: Restart alloy macos - listen: "restart alloy macos" - ansible.builtin.command: "brew services restart {{ __alloy_brew_package }}" - when: - - not ansible_check_mode - - ansible_facts['os_family'] == 'Darwin' diff --git a/ansible_collections/grafana/grafana/roles/alloy/meta/main.yml b/ansible_collections/grafana/grafana/roles/alloy/meta/main.yml deleted file mode 100644 index 6f7048e1f0..0000000000 --- a/ansible_collections/grafana/grafana/roles/alloy/meta/main.yml +++ /dev/null @@ -1,34 +0,0 @@ ---- -galaxy_info: - role_name: alloy - author: Ishan Jain, voidquark - description: Role to Install and Configure Grafana Alloy - license: "GPL-3.0-or-later" - min_ansible_version: "2.13" - platforms: - - name: EL - versions: - - "8" - - "9" - - name: Fedora - versions: - - all - - name: Debian - versions: - - all - - name: Ubuntu - versions: - - all - - name: macOS - versions: - - all - - name: opensuse - versions: - - all - galaxy_tags: - - alloy - - grafana - - observability - - monitoring - - opentelemetry - - telemetry diff --git a/ansible_collections/grafana/grafana/roles/alloy/molecule/default/converge.yml b/ansible_collections/grafana/grafana/roles/alloy/molecule/default/converge.yml deleted file mode 100644 index e14f0e927b..0000000000 --- a/ansible_collections/grafana/grafana/roles/alloy/molecule/default/converge.yml +++ /dev/null @@ -1,17 +0,0 @@ ---- -- name: Converge - hosts: all - vars: - alloy_version: "1.4.2" - alloy_config: | - prometheus.scrape "default" { - targets = [{"__address__" = "127.0.0.1:12345"}] - forward_to = [prometheus.remote_write.prom.receiver] - } - prometheus.remote_write "prom" { - endpoint { - url = "http://mimir:9009/api/v1/push" - } - } - roles: - - role: grafana.grafana.alloy diff --git a/ansible_collections/grafana/grafana/roles/alloy/molecule/default/molecule.yml b/ansible_collections/grafana/grafana/roles/alloy/molecule/default/molecule.yml deleted file mode 100644 index 339965a50e..0000000000 --- a/ansible_collections/grafana/grafana/roles/alloy/molecule/default/molecule.yml +++ /dev/null @@ -1,20 +0,0 @@ ---- -dependency: - name: galaxy - options: - ignore-errors: true -driver: - name: docker -platforms: - - name: instance - image: "geerlingguy/docker-${MOLECULE_DISTRO:-rockylinux8}-ansible:latest" - command: ${MOLECULE_DOCKER_COMMAND:-""} - volumes: - - /sys/fs/cgroup:/sys/fs/cgroup:rw - cgroupns_mode: host - privileged: true - pre_build_image: true -provisioner: - name: ansible - playbooks: - converge: converge.yml diff --git a/ansible_collections/grafana/grafana/roles/alloy/tasks/deploy.yml b/ansible_collections/grafana/grafana/roles/alloy/tasks/deploy.yml deleted file mode 100644 index 7c38cdaaa7..0000000000 --- a/ansible_collections/grafana/grafana/roles/alloy/tasks/deploy.yml +++ /dev/null @@ -1,176 +0,0 @@ ---- -- name: Obtain the latest version from the GitHub repo - when: alloy_version == "latest" - block: - - name: Scrape Github API endpoint to obtain latest Alloy version - ansible.builtin.uri: - url: "{{ alloy_github_api_url }}" - method: GET - body_format: json - become: false - delegate_to: localhost - run_once: true - check_mode: false - register: __github_latest_version - - - name: Latest available Alloy version - ansible.builtin.set_fact: - alloy_version: "{{ __github_latest_version.json.tag_name | regex_replace('^v?(\\d+\\.\\d+\\.\\d+)$', '\\1') }}" - -- name: Verify current deployed version - when: ansible_facts['os_family'] in ['RedHat', 'Debian', 'Suse'] - block: - - name: Check if Alloy binary is present - ansible.builtin.stat: - path: "/usr/bin/alloy" - register: __already_deployed - - - name: Obtain current deployed Alloy version - ansible.builtin.command: - cmd: "/usr/bin/alloy --version" - changed_when: false - register: __current_deployed_version - when: __already_deployed.stat.exists | bool - -- name: Verify current deployed version on macOS - when: ansible_facts['os_family'] == 'Darwin' - block: - - name: Check if Alloy is installed via Homebrew - ansible.builtin.command: brew list --versions {{ __alloy_brew_package }} - register: __brew_alloy_version - failed_when: false - changed_when: false - - - name: Extract current Alloy version on macOS - ansible.builtin.set_fact: - __current_deployed_version: - stdout: "{{ __brew_alloy_version.stdout }}" - when: __brew_alloy_version.rc == 0 - -- name: Include RedHat/Rocky setup - ansible.builtin.include_tasks: - file: setup-RedHat.yml - when: ansible_facts['os_family'] in ['RedHat', 'Rocky'] - -- name: Include Debian/Ubuntu setup - ansible.builtin.include_tasks: - file: setup-Debian.yml - when: ansible_facts['os_family'] == 'Debian' - -- name: Include macOS/Darwin setup - ansible.builtin.include_tasks: - file: setup-Darwin.yml - when: ansible_facts['os_family'] == 'Darwin' - -- name: Include SUSE setup - ansible.builtin.include_tasks: - file: setup-Suse.yml - when: ansible_facts['os_family'] == 'Suse' - -- name: Alloy systemd override - when: - - alloy_systemd_override | length > 0 - - ansible_facts['os_family'] in ['RedHat', 'Debian', 'Suse'] - block: - - name: Ensure that Alloy systemd override path exist - ansible.builtin.file: - path: "/etc/systemd/system/alloy.service.d" - state: directory - owner: "root" - group: "root" - mode: "0750" - notify: restart alloy - - - name: Template Alloy systemd override.conf - /etc/systemd/system/alloy.service.d/override.conf - ansible.builtin.template: - src: "override.conf.j2" - dest: "/etc/systemd/system/alloy.service.d/override.conf" - owner: "root" - group: "root" - mode: "0644" - notify: restart alloy - -- name: Template Alloy env file - {{ __alloy_env_file }} - ansible.builtin.template: - src: "alloy.j2" - dest: "{{ __alloy_env_file }}" - owner: "root" - group: "root" - mode: "0644" - notify: restart alloy - when: ansible_facts['os_family'] in ['RedHat', 'Debian', 'Suse'] - -- name: Template Alloy config - /etc/alloy/config.alloy - ansible.builtin.template: - src: "config.alloy.j2" - dest: "/etc/alloy/config.alloy" - owner: "root" - group: "root" - mode: "0644" - when: - - alloy_config | length > 0 - - alloy_env_file_vars.CONFIG_FILE is not defined - - ansible_facts['os_family'] in ['RedHat', 'Debian', 'Suse'] - notify: restart alloy - -- name: Ensure that /etc/alloy/alloy.config is absent when a custom configuration file/dir is specified in alloy_env_file_vars.CONFIG_FILE - ansible.builtin.file: - path: "/etc/alloy/config.alloy" - state: absent - when: - - alloy_config | length < 1 or alloy_env_file_vars.CONFIG_FILE is defined - - ansible_facts['os_family'] in ['RedHat', 'Debian', 'Suse'] - -- name: Add the Alloy system user to additional group - ansible.builtin.user: - name: "alloy" - groups: "{{ item }}" - system: true - append: true - create_home: false - state: present - loop: "{{ alloy_user_groups }}" - when: - - alloy_user_groups | length > 0 - - ansible_facts['os_family'] in ['RedHat', 'Debian', 'Suse'] - -- name: Get firewalld state - ansible.builtin.systemd: - name: "firewalld" - register: __firewalld_service_state - when: ansible_facts['os_family'] in ['RedHat', 'Debian', 'Suse'] - -- name: Enable firewalld rule to expose Alloy tcp port {{ __alloy_server_http_listen_port }} - ansible.posix.firewalld: - immediate: true - permanent: true - port: "{{ __alloy_server_http_listen_port }}/tcp" - state: enabled - when: - - ansible_facts['os_family'] in ['RedHat', 'Debian', 'Suse'] - - __firewalld_service_state.status.ActiveState == "active" - - alloy_expose_port | bool - -- name: Flush handlers after deployment - ansible.builtin.meta: flush_handlers - -- name: Ensure that Alloy is started (Linux) - ansible.builtin.systemd: - name: alloy.service - state: started - when: - - not ansible_check_mode - - ansible_facts['os_family'] in ['RedHat', 'Debian', 'Suse'] - -- name: Verify that Alloy URL is responding - ansible.builtin.uri: - url: "{{ alloy_readiness_check_use_https | ansible.builtin.ternary('https', 'http') }}://{{ __alloy_server_http_listen_address }}:{{ __alloy_server_http_listen_port }}/-/ready" - method: GET - use_proxy: "{{ alloy_readiness_check_use_proxy | bool }}" - register: __alloy_verify_url_status_code - retries: 5 - delay: 8 - until: __alloy_verify_url_status_code.status == 200 - when: - - not ansible_check_mode - - ansible_facts['os_family'] in ['RedHat', 'Debian', 'Suse'] diff --git a/ansible_collections/grafana/grafana/roles/alloy/tasks/main.yml b/ansible_collections/grafana/grafana/roles/alloy/tasks/main.yml deleted file mode 100644 index e5c2462cff..0000000000 --- a/ansible_collections/grafana/grafana/roles/alloy/tasks/main.yml +++ /dev/null @@ -1,19 +0,0 @@ ---- -# tasks file for alloy -- name: Include OS specific variables - ansible.builtin.include_vars: - file: "{{ ansible_facts['os_family'] }}.yml" - -- name: Preflight - ansible.builtin.include_tasks: - file: "preflight.yml" - -- name: Deploy Alloy service - ansible.builtin.include_tasks: - file: "deploy.yml" - when: not alloy_uninstall - -- name: Uninstall Alloy service - ansible.builtin.include_tasks: - file: "uninstall.yml" - when: alloy_uninstall diff --git a/ansible_collections/grafana/grafana/roles/alloy/tasks/preflight.yml b/ansible_collections/grafana/grafana/roles/alloy/tasks/preflight.yml deleted file mode 100644 index 355a2a677e..0000000000 --- a/ansible_collections/grafana/grafana/roles/alloy/tasks/preflight.yml +++ /dev/null @@ -1,26 +0,0 @@ ---- -- name: Fail when alloy_config or alloy_env_file_vars.CONFIG_FILE is not defined - ansible.builtin.fail: - msg: Variable alloy_config or alloy_env_file_vars.CONFIG_FILE is required! - when: - - alloy_config | length < 1 - - alloy_env_file_vars.CONFIG_FILE is not defined - - not alloy_uninstall - -- name: Extract IP address and PORT from alloy_env_file_vars - when: alloy_env_file_vars.CUSTOM_ARGS is defined and alloy_env_file_vars.CUSTOM_ARGS | length > 0 - block: - - name: Search for server.http.listen-addr string - ansible.builtin.set_fact: - __alloy_server_http_listen_addr_regex: "{{ alloy_env_file_vars.CUSTOM_ARGS | regex_search('--server.http.listen-addr=([\\d\\.]+):(\\d+)', '\\1', '\\2') or [] }}" - - - name: Extract IP address and port - ansible.builtin.set_fact: - __alloy_server_http_listen_address: "{{ __alloy_server_http_listen_addr_regex[0] }}" - __alloy_server_http_listen_port: "{{ __alloy_server_http_listen_addr_regex[1] }}" - when: __alloy_server_http_listen_addr_regex | length > 0 - - - name: Assert that extracted IP address is valid - ansible.builtin.assert: - that: (__alloy_server_http_listen_address | ansible.utils.ipaddr) != "" - when: __alloy_server_http_listen_addr_regex | length > 0 diff --git a/ansible_collections/grafana/grafana/roles/alloy/tasks/setup-Darwin.yml b/ansible_collections/grafana/grafana/roles/alloy/tasks/setup-Darwin.yml deleted file mode 100644 index 40839bacff..0000000000 --- a/ansible_collections/grafana/grafana/roles/alloy/tasks/setup-Darwin.yml +++ /dev/null @@ -1,96 +0,0 @@ ---- -- name: Check if Homebrew is installed - ansible.builtin.command: which brew - register: __brew_check - changed_when: false - failed_when: false - -- name: Fail if Homebrew is not installed - ansible.builtin.fail: - msg: "Homebrew is required but not installed" - when: __brew_check.rc != 0 - -- name: Get Homebrew prefix - ansible.builtin.command: brew --prefix - register: __brew_prefix - changed_when: false - -- name: Set Alloy config directory path - ansible.builtin.set_fact: - __alloy_config_path: "{{ __alloy_config_path_default }}" - -- name: Add Grafana tap to Homebrew - community.general.homebrew_tap: - name: "{{ __alloy_brew_tap }}" - state: present - -- name: Install Alloy via Homebrew - community.general.homebrew: - name: "{{ __alloy_brew_package }}" - state: present - update_homebrew: true - -- name: Ensure Alloy config directory exists - ansible.builtin.file: - path: "{{ __alloy_config_path }}" - state: directory - owner: "{{ ansible_user_id }}" - group: "{{ ansible_user_gid }}" - mode: '0755' - -- name: Template Alloy config - ansible.builtin.template: - src: "config.alloy.j2" - dest: "{{ __alloy_config_path }}/config.alloy" - owner: "{{ ansible_user_id }}" - group: "{{ ansible_user_gid }}" - mode: '0644' - backup: true - when: alloy_config | length > 0 - notify: restart alloy macos - -- name: Check if Alloy service is loaded - ansible.builtin.command: brew services list - register: __brew_services - changed_when: false - -- name: Stop Alloy service if it exists (to clean up any issues) - ansible.builtin.command: "brew services stop {{ __alloy_brew_package }}" - register: __stop_result - failed_when: false - changed_when: "'Successfully stopped' in __stop_result.stdout" - when: "'alloy' in __brew_services.stdout" - -- name: Start Alloy service - ansible.builtin.command: "brew services start {{ __alloy_brew_package }}" - when: - - "'alloy' not in __brew_services.stdout or 'started' not in __brew_services.stdout" - register: __service_start - failed_when: __service_start.rc != 0 - -- name: Restart Alloy service if already running - ansible.builtin.command: "brew services restart {{ __alloy_brew_package }}" - when: - - "'alloy' in __brew_services.stdout and 'started' in __brew_services.stdout" - register: __service_restart - failed_when: __service_restart.rc != 0 - -- name: Check final service status - ansible.builtin.command: brew services list - register: __final_brew_services - changed_when: false - -- name: Verify Alloy installation - ansible.builtin.command: alloy --version - register: __alloy_version_output - changed_when: false - failed_when: false - -- name: Display Alloy version - ansible.builtin.debug: - msg: "Alloy version: {{ __alloy_version_output.stdout }}" - when: __alloy_version_output.rc == 0 - -- name: Display service status - ansible.builtin.debug: - msg: "Alloy service status: {{ __final_brew_services.stdout_lines | select('match', '.*alloy.*') | list }}" diff --git a/ansible_collections/grafana/grafana/roles/alloy/tasks/setup-Debian.yml b/ansible_collections/grafana/grafana/roles/alloy/tasks/setup-Debian.yml deleted file mode 100644 index 7e380c0f5b..0000000000 --- a/ansible_collections/grafana/grafana/roles/alloy/tasks/setup-Debian.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: APT - Install Alloy - ansible.builtin.apt: - deb: "{{ alloy_download_url_deb }}" - state: present - notify: restart alloy - when: __current_deployed_version.stdout is not defined or alloy_version not in __current_deployed_version.stdout diff --git a/ansible_collections/grafana/grafana/roles/alloy/tasks/setup-RedHat.yml b/ansible_collections/grafana/grafana/roles/alloy/tasks/setup-RedHat.yml deleted file mode 100644 index a3945807bd..0000000000 --- a/ansible_collections/grafana/grafana/roles/alloy/tasks/setup-RedHat.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- name: DNF - Install Alloy from remote URL - ansible.builtin.package: - name: "{{ alloy_download_url_rpm }}" - state: present - disable_gpg_check: true - notify: restart alloy - when: __current_deployed_version.stdout is not defined or alloy_version not in __current_deployed_version.stdout diff --git a/ansible_collections/grafana/grafana/roles/alloy/tasks/setup-Suse.yml b/ansible_collections/grafana/grafana/roles/alloy/tasks/setup-Suse.yml deleted file mode 100644 index a68d66839f..0000000000 --- a/ansible_collections/grafana/grafana/roles/alloy/tasks/setup-Suse.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- name: Zypper - Install Alloy from remote URL - community.general.zypper: - name: "{{ alloy_download_url_rpm }}" - state: present - disable_gpg_check: true - notify: restart alloy - when: __current_deployed_version.stdout is not defined or alloy_version not in __current_deployed_version.stdout diff --git a/ansible_collections/grafana/grafana/roles/alloy/tasks/uninstall.yml b/ansible_collections/grafana/grafana/roles/alloy/tasks/uninstall.yml deleted file mode 100644 index 529dfcee8e..0000000000 --- a/ansible_collections/grafana/grafana/roles/alloy/tasks/uninstall.yml +++ /dev/null @@ -1,75 +0,0 @@ ---- -- name: Stop Alloy service - ansible.builtin.systemd: # noqa ignore-errors - name: alloy - state: stopped - ignore_errors: true - -- name: Stop Alloy service on macOS - ansible.builtin.command: "brew services stop {{ __alloy_brew_package }}" - when: ansible_facts['os_family'] == 'Darwin' - failed_when: false - -- name: Uninstall Alloy rpm package - ansible.builtin.package: - name: "alloy" - state: absent - autoremove: true - when: ansible_facts['os_family'] in ['RedHat', 'Rocky'] - -- name: Uninstall Alloy deb package - ansible.builtin.apt: - name: "alloy" - state: absent - purge: true - when: ansible_facts['os_family'] == 'Debian' - -- name: Uninstall Alloy via Homebrew - community.general.homebrew: - name: "{{ __alloy_brew_package }}" - state: absent - when: ansible_facts['os_family'] == 'Darwin' - -- name: Uninstall Alloy rpm package (SUSE) - community.general.zypper: - name: "alloy" - state: absent - when: ansible_facts['os_family'] == 'Suse' - -- name: Ensure that Alloy firewalld rule is not present - tcp port {{ __alloy_server_http_listen_port }} - ansible.posix.firewalld: # noqa ignore-errors - immediate: true - permanent: true - port: "{{ __alloy_server_http_listen_port }}/tcp" - state: disabled - ignore_errors: true - -- name: Remove Alloy directories - ansible.builtin.file: - path: "{{ remove_me }}" - state: absent - loop: - - "/etc/alloy" - - "/etc/systemd/system/alloy.service.d" - - "/var/lib/alloy" - - "/etc/sysconfig/alloy" - - "/etc/default/alloy" - loop_control: - loop_var: remove_me - -- name: Remove Alloy config directory on macOS - ansible.builtin.file: - path: "{{ __alloy_config_path_default }}" - state: absent - when: ansible_facts['os_family'] == 'Darwin' - -- name: Remove the Alloy system user - ansible.builtin.user: - name: "alloy" - force: true - state: absent - -- name: Remove Alloy system group - ansible.builtin.group: - name: "alloy" - state: absent diff --git a/ansible_collections/grafana/grafana/roles/alloy/templates/alloy.j2 b/ansible_collections/grafana/grafana/roles/alloy/templates/alloy.j2 deleted file mode 100644 index ef131abf67..0000000000 --- a/ansible_collections/grafana/grafana/roles/alloy/templates/alloy.j2 +++ /dev/null @@ -1,10 +0,0 @@ -# Ansible Managed - -{% if alloy_env_file_vars.CONFIG_FILE is not defined or alloy_env_file_vars.CONFIG_FILE | length < 1 %} -CONFIG_FILE="/etc/alloy/config.alloy" -{% endif %} -RESTART_ON_UPGRADE=true - -{% for key, value in alloy_env_file_vars.items() %} -{{ key}}="{{value}}" -{% endfor %} diff --git a/ansible_collections/grafana/grafana/roles/alloy/templates/config.alloy.j2 b/ansible_collections/grafana/grafana/roles/alloy/templates/config.alloy.j2 deleted file mode 100644 index 8a6b406f07..0000000000 --- a/ansible_collections/grafana/grafana/roles/alloy/templates/config.alloy.j2 +++ /dev/null @@ -1,3 +0,0 @@ -// Ansible Managed - -{{ alloy_config }} diff --git a/ansible_collections/grafana/grafana/roles/alloy/templates/override.conf.j2 b/ansible_collections/grafana/grafana/roles/alloy/templates/override.conf.j2 deleted file mode 100644 index 77f52b32f8..0000000000 --- a/ansible_collections/grafana/grafana/roles/alloy/templates/override.conf.j2 +++ /dev/null @@ -1,3 +0,0 @@ -# Ansible Managed - -{{ alloy_systemd_override }} diff --git a/ansible_collections/grafana/grafana/roles/alloy/vars/Darwin.yml b/ansible_collections/grafana/grafana/roles/alloy/vars/Darwin.yml deleted file mode 100644 index 2af211691c..0000000000 --- a/ansible_collections/grafana/grafana/roles/alloy/vars/Darwin.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -# macOS/Darwin specific variables -__alloy_brew_tap: "grafana/grafana" -__alloy_brew_package: "grafana/grafana/alloy" -__alloy_config_path_default: "{{ __brew_prefix.stdout | default('/opt/homebrew') }}" diff --git a/ansible_collections/grafana/grafana/roles/alloy/vars/Debian.yml b/ansible_collections/grafana/grafana/roles/alloy/vars/Debian.yml deleted file mode 100644 index 67a544cc44..0000000000 --- a/ansible_collections/grafana/grafana/roles/alloy/vars/Debian.yml +++ /dev/null @@ -1,2 +0,0 @@ ---- -__alloy_env_file: "/etc/default/alloy" diff --git a/ansible_collections/grafana/grafana/roles/alloy/vars/RedHat.yml b/ansible_collections/grafana/grafana/roles/alloy/vars/RedHat.yml deleted file mode 100644 index 4bf22251b8..0000000000 --- a/ansible_collections/grafana/grafana/roles/alloy/vars/RedHat.yml +++ /dev/null @@ -1,2 +0,0 @@ ---- -__alloy_env_file: "/etc/sysconfig/alloy" diff --git a/ansible_collections/grafana/grafana/roles/alloy/vars/Suse.yml b/ansible_collections/grafana/grafana/roles/alloy/vars/Suse.yml deleted file mode 100644 index 4bf22251b8..0000000000 --- a/ansible_collections/grafana/grafana/roles/alloy/vars/Suse.yml +++ /dev/null @@ -1,2 +0,0 @@ ---- -__alloy_env_file: "/etc/sysconfig/alloy" diff --git a/ansible_collections/grafana/grafana/roles/alloy/vars/main.yml b/ansible_collections/grafana/grafana/roles/alloy/vars/main.yml deleted file mode 100644 index 12e9900888..0000000000 --- a/ansible_collections/grafana/grafana/roles/alloy/vars/main.yml +++ /dev/null @@ -1,9 +0,0 @@ ---- -__alloy_server_http_listen_address: 127.0.0.1 -__alloy_server_http_listen_port: 12345 -__alloy_arch_map: - x86_64: 'amd64' - armv6l: 'arm' - armv7l: 'arm' - aarch64: 'arm64' -__alloy_arch: "{{ __alloy_arch_map[ansible_facts['architecture']] | default(ansible_facts['architecture']) }}" diff --git a/ansible_collections/grafana/grafana/roles/grafana/README.md b/ansible_collections/grafana/grafana/roles/grafana/README.md deleted file mode 100644 index 4addc32820..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana/README.md +++ /dev/null @@ -1,132 +0,0 @@ -

grafana logo

- -# Ansible Role: grafana.grafana.grafana - -[![License](https://img.shields.io/badge/license-MIT%20License-brightgreen.svg)](https://opensource.org/licenses/MIT) - -Provision and manage [Grafana](https://github.com/grafana/grafana) - platform for analytics and monitoring - -## Requirements - -- Ansible >= 2.9 (It might work on previous versions, but we cannot guarantee it) -- libselinux-python on deployer host (only when deployer machine has SELinux) -- Grafana >= 5.1 (for older Grafana versions use this role in version 0.10.1 or earlier) -- jmespath on deployer machine. If you are using Ansible from a Python virtualenv, install *jmespath* to the same virtualenv via pip. - -## Role Variables - -All variables which can be overridden are stored in [defaults/main.yml](defaults/main.yml) file as well as in table below. - -| Name | Default Value | Description | -| -------------- | ------------- | -----------------------------------| -| `grafana_use_provisioning` | true | Use Grafana provisioning capability when possible (**grafana_version=latest will assume >= 5.0**). | -| `grafana_provisioning_synced` | false | Ensure no previously provisioned dashboards are kept if not referenced anymore. | -| `grafana_version` | latest | Grafana package version | -| `grafana_manage_repo` | true | Manage package repository (or don't) | -| `grafana_yum_repo` | https://rpm.grafana.com | Yum repository URL | -| `grafana_yum_key` | https://rpm.grafana.com/gpg.key | Yum repository gpg key | -| `grafana_rhsm_subscription` | | rhsm subscription name (redhat subscription-manager) | -| `grafana_rhsm_repo` | | rhsm repository name (redhat subscription-manager) | -| `grafana_apt_release_channel` | stable | Apt release chanel (stable or beta) | -| `grafana_apt_arch` | {{ 'arm64' if ansible_facts['architecture'] == 'aarch64' else 'amd64' }} | Apt architecture | -| `grafana_apt_repo` | deb [arch={{ grafana_apt_arch }} signed-by=/usr/share/keyrings/grafana.asc] https://apt.grafana.com/ {{ grafana_apt_release_channel }} main | Apt repository string | -| `grafana_apt_key` | https://apt.grafana.com/gpg.key | Apt repository gpg key | -| `grafana_ini.instance_name` | {{ ansible_facts['fqdn'] \| default(ansible_host) \| default(inventory_hostname) }} | Grafana instance name | -| `grafana_ini.paths.logs` | /var/log/grafana | Path to logs directory | -| `grafana_ini.paths.data` | /var/lib/grafana | Path to database directory | -| `grafana_ini.server.http_addr` | 0.0.0.0 | Address on which Grafana listens | -| `grafana_ini.server.http_port` | 3000 | port on which Grafana listens | -| `grafana_cap_net_bind_service` | false | Enables the use of ports below 1024 without root privileges by leveraging the 'capabilities' of the linux kernel. read: http://man7.org/linux/man-pages/man7/capabilities.7.html | -| `grafana_ini.server.root_url` | "http://{{ grafana_ini.server.http_addr }}:{{ grafana_ini.server.http_port }}" | Full URL used to access Grafana from a web browser | -| `grafana_api_url` | "{{ grafana_url }}" | URL used for API calls in provisioning if different from public URL. See [this issue](https://github.com/cloudalchemy/ansible-grafana/issues/70). | -| `grafana_ini.server.domain` | "{{ ansible_facts['fqdn'] \| default(ansible_host) \| default('localhost') }}" | setting is only used in as a part of the `root_url` option. Useful when using GitHub or Google OAuth | -| `grafana_ini.server` | { protocol: http, enforce_domain: false, socket: "", cert_key: "", cert_file: "", enable_gzip: false, static_root_path: public, router_logging: false } | [server](http://docs.grafana.org/installation/configuration/#server) configuration section | -| `grafana_ini.security` | { admin_user: admin, admin_password: "" } | [security](http://docs.grafana.org/installation/configuration/#security) configuration section | -| `grafana_ini.database` | { type: sqlite3 } | [database](http://docs.grafana.org/installation/configuration/#database) configuration section | -| `grafana_ini.users` | { allow_sign_up: false, auto_assign_org_role: Viewer, default_theme: dark } | [users](http://docs.grafana.org/installation/configuration/#users) configuration section | -| `grafana_ini.auth` | {} | [authorization](http://docs.grafana.org/installation/configuration/#auth) configuration section | -| `grafana_ldap` | {} | [ldap](http://docs.grafana.org/installation/ldap/) configuration section. group_mappings are expanded, see defaults for example | -| `grafana_dashboards` | [] | List of dashboards which should be imported | -| `grafana_dashboards_dir` | "dashboards" | Path to a local directory containing dashboards files in `json` format | -| `grafana_datasources` | [] | List of datasources which should be configured | -| `grafana_environment` | {} | Optional Environment param for Grafana installation, useful ie for setting http_proxy | -| `grafana_plugins` | [] | List of Grafana plugins which should be installed | -| `grafana_alert_notifications` | [] | List of alert notification channels to be created, updated, or deleted | - -Data source example: - -```yaml -grafana_datasources: - - name: prometheus - type: prometheus - access: proxy - url: 'http://{{ prometheus_web_listen_address }}' - basicAuth: false -``` - -Dashboard example: - -```yaml -grafana_dashboards: - - dashboard_id: 111 - revision_id: 1 - datasource: prometheus -``` - -Alert notification channel example: - -**NOTE**: setting the variable `grafana_alert_notifications` will only come into -effect when `grafana_use_provisioning` is `true`. That means the new -provisioning system using config files, which is available starting from Grafana -v5.0, needs to be in use. - -```yaml -grafana_alert_notifications: - notifiers: - - name: Channel 1 - type: email - uid: channel1 - is_default: false - send_reminder: false - settings: - addresses: "example@example.com" - autoResolve: true - delete_notifiers: - - name: Channel 2 - uid: channel2 -``` - -## Supported CPU Architectures - -Historically packages were taken from different channels according to CPU architecture. Specifically, armv6/armv7 and aarch64/arm64 packages were via [unofficial packages distributed by fg2it](https://github.com/fg2it/grafana-on-raspberry). Now that Grafana publishes official ARM builds, all packages are taken from the official [Debian/Ubuntu](http://docs.grafana.org/installation/debian/#installing-on-debian-ubuntu) or [RPM](http://docs.grafana.org/installation/rpm/) packages. - -## Example - -### Playbook - -Fill in the admin password field with your choice, the Grafana web page won't ask to change it at the first login. - -```yaml -- hosts: all - roles: - - role: grafana.grafana.grafana - vars: - grafana_ini: - security: - admin_user: admin - admin_password: enter_your_secure_password -``` - - -## Local Testing - -The preferred way of locally testing the role is to use Docker and [molecule](https://github.com/ansible-community/molecule). You will have to install Docker on your system. - -For more information about molecule go to their [docs](http://molecule.readthedocs.io/en/latest/). - -## License - -This project is licensed under MIT License. See [LICENSE](/LICENSE) for more details. - -## Credits -This role was migrated from [cloudalchemy.grafana](https://github.com/cloudalchemy/ansible-grafana). diff --git a/ansible_collections/grafana/grafana/roles/grafana/defaults/main.yml b/ansible_collections/grafana/grafana/roles/grafana/defaults/main.yml deleted file mode 100644 index ac1bfea113..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana/defaults/main.yml +++ /dev/null @@ -1,211 +0,0 @@ ---- -grafana_version: latest -grafana_manage_repo: true - -grafana_yum_repo: "https://rpm.grafana.com" -grafana_yum_key: "https://rpm.grafana.com/gpg.key" - -grafana_rhsm_subscription: "" -grafana_rhsm_repo: "" - -grafana_apt_release_channel: stable -grafana_apt_arch: "{{ 'arm64' if ansible_facts['architecture'] == 'aarch64' else 'amd64' }}" -grafana_apt_repo_uri: "https://apt.grafana.com/" -grafana_apt_repo: "deb [arch={{ grafana_apt_arch }} signed-by=/usr/share/keyrings/grafana.asc] {{ grafana_apt_repo_uri }} {{ grafana_apt_release_channel }} main" -grafana_apt_key: "https://apt.grafana.com/gpg.key" -grafana_apt_name: "grafana" - -# Should we use the provisioning capability when possible (provisioning require grafana >= 5.0) -grafana_use_provisioning: true - -# Should the provisioning be kept synced. If true, previous provisioned objects will be removed if not referenced anymore. -grafana_provisioning_synced: false - -# Should we provision dashboards by following the files structure. This sets the foldersFromFilesStructure option -grafana_provisioning_dashboards_from_file_structure: false - -# To enable the use of ports below 1024 for unprivileged processes linux needs to set CAP_NET_BIND_SERVICE. -# This has some security implications, and should be a conscious choice. -# Get informed by reading: http://man7.org/linux/man-pages/man7/capabilities.7.html -grafana_cap_net_bind_service: false - -grafana_ini_default: - instance_name: "{{ ansible_facts['fqdn'] | default(ansible_host) | default(inventory_hostname) }}" - - paths: - logs: "/var/log/grafana" - data: "/var/lib/grafana" - - server: - http_addr: "0.0.0.0" - http_port: 3000 - # External Grafana address. Variable maps to "root_url" in grafana server section - #root_url: "http://{{ grafana_ini.server.http_addr }}:{{ grafana_ini.server.http_port }}" - domain: "{{ ansible_facts['fqdn'] | default(ansible_host) | default('localhost') }}" - - # Additional options for grafana "server" section - # This section WILL omit options for: http_addr, http_port, domain, and root_url, as those settings are set by variables listed before - protocol: http - enforce_domain: false - socket: "" - cert_key: "" - cert_file: "" - enable_gzip: false - static_root_path: public - router_logging: false - serve_from_sub_path: false - - # Variables correspond to ones in grafana.ini configuration file - # Security - security: - admin_user: admin - admin_password: "" - # secret_key: "" - # login_remember_days: 7 - # cookie_username: grafana_user - # cookie_remember_name: grafana_remember - # disable_gravatar: true - # data_source_proxy_whitelist: - - # Database setup - database: - type: sqlite3 - # host: 127.0.0.1:3306 - # name: grafana - # user: root - # password: "" - # url: "" - # ssl_mode: disable - # path: grafana.db - # max_idle_conn: 2 - # max_open_conn: "" - # log_queries: "" - - # User management and registration - users: - allow_sign_up: false - # allow_org_create: true - # auto_assign_org: true - auto_assign_org_role: Viewer - # login_hint: "email or username" - default_theme: dark - # external_manage_link_url: "" - # external_manage_link_name: "" - # external_manage_info: "" - - # grafana authentication mechanisms - auth: {} - # disable_login_form: false - # oauth_auto_login: false - # disable_signout_menu: false - # signout_redirect_url: "" - # anonymous: - # org_name: "Main Organization" - # org_role: Viewer - # ldap: - # config_file: "/etc/grafana/ldap.toml" - # allow_sign_up: false - # basic: - # enabled: true - - -grafana_api_url: "{{ grafana_ini.server.root_url }}" - -grafana_ldap: {} -# verbose_logging: false -# servers: -# host: 127.0.0.1 -# port: 389 # 636 for SSL -# use_ssl: false -# start_tls: false -# ssl_skip_verify: false -# root_ca_cert: /path/to/certificate.crt -# bind_dn: "cn=admin,dc=grafana,dc=org" -# bind_password: grafana -# search_filter: "(cn=%s)" # "(sAMAccountName=%s)" on AD -# search_base_dns: -# - "dc=grafana,dc=org" -# group_search_filter: "(&(objectClass=posixGroup)(memberUid=%s))" -# group_search_base_dns: -# - "ou=groups,dc=grafana,dc=org" -# attributes: -# name: givenName -# surname: sn -# username: sAMAccountName -# member_of: memberOf -# email: mail -# group_mappings: -# - name: Main Org. -# id: 1 -# groups: -# - group_dn: "cn=admins,ou=groups,dc=grafana,dc=org" -# org_role: Admin -# - group_dn: "cn=editors,ou=groups,dc=grafana,dc=org" -# org_role: Editor -# - group_dn: "*" -# org_role: Viewer -# - name: Alternative Org -# id: 2 -# groups: -# - group_dn: "cn=alternative_admins,ou=groups,dc=grafana,dc=org" -# org_role: Admin - -####### -# Plugins to install from https://grafana.com/plugins -grafana_plugins: [] -# - raintank-worldping-app - -# Dashboards from https://grafana.com/dashboards -grafana_dashboards: [] -# - dashboard_id: '4271' -# revision_id: '3' -# datasource: 'Prometheus' -# - dashboard_id: '1860' -# revision_id: '4' -# datasource: 'Prometheus' -# - dashboard_id: '358' -# revision_id: '1' -# datasource: 'Prometheus' - -grafana_dashboards_dir: "dashboards" - -# Alert notification channels to configure -grafana_alert_notifications: [] -# - name: "Email Alert" -# type: "email" -# uid: channel1 -# is_default: true -# settings: -# addresses: "example@example.com" - -# Alert resources channels to configure -grafana_alert_resources: {} - -# Datasources to configure -grafana_datasources: [] -# - name: "Prometheus" -# type: "prometheus" -# access: "proxy" -# url: "http://prometheus.mydomain" -# basicAuth: true -# basicAuthUser: "admin" -# basicAuthPassword: "password" -# isDefault: true -# jsonData: -# tlsAuth: false -# tlsAuthWithCACert: false -# tlsSkipVerify: true - -# API keys to configure -grafana_api_keys: [] -# - name: "admin" -# role: "Admin" -# - name: "viewer" -# role: "Viewer" -# - name: "editor" -# role: "Editor" - -# The location where the keys should be stored. -grafana_api_keys_dir: "{{ lookup('env', 'HOME') }}/grafana/keys" - -grafana_environment: {} diff --git a/ansible_collections/grafana/grafana/roles/grafana/handlers/main.yml b/ansible_collections/grafana/grafana/roles/grafana/handlers/main.yml deleted file mode 100644 index b00b2f2267..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana/handlers/main.yml +++ /dev/null @@ -1,48 +0,0 @@ ---- -- name: "Restart grafana" - ansible.builtin.service: - name: grafana-server - state: restarted - become: true - listen: "restart_grafana" - tags: - - grafana_run - -- name: "Set privileges on provisioned dashboards" - ansible.builtin.file: - path: "{{ grafana_ini.paths.data }}/dashboards" - recurse: true - owner: "grafana" - group: "grafana" - mode: "u=rwX,g=rX,o=rX" - become: true - listen: "provisioned dashboards changed" - -- name: "Set privileges on provisioned dashboards directory" - ansible.builtin.file: - path: "{{ grafana_ini.paths.data }}/dashboards" - state: "directory" - recurse: false - mode: "0755" - become: true - listen: "provisioned dashboards changed" - -- name: "Find dashboards subdirectories" - ansible.builtin.find: - paths: "{{ grafana_ini.paths.data }}/dashboards" - recurse: yes - file_type: directory - register: __dashboards_subdirs - become: true - listen: "provisioned dashboards changed" - -- name: "Set privileges on provisioned dashboards sub-directories" - ansible.builtin.file: - path: "{{ item }}" - state: "directory" - recurse: false - mode: "0755" - with_items: - - "{{ __dashboards_subdirs.files | map(attribute='path') | list }}" - become: true - listen: "provisioned dashboards changed" diff --git a/ansible_collections/grafana/grafana/roles/grafana/meta/main.yml b/ansible_collections/grafana/grafana/roles/grafana/meta/main.yml deleted file mode 100644 index a8dbc33433..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana/meta/main.yml +++ /dev/null @@ -1,31 +0,0 @@ ---- -galaxy_info: - author: "Grafana" - description: "Grafana - platform for analytics and monitoring" - license: "GPL-3.0-or-later" - min_ansible_version: "2.9" - platforms: - - name: Ubuntu - versions: - - bionic - - xenial - - name: Debian - versions: - - stretch - - buster - - name: EL - versions: - - "7" - - "8" - - name: Fedora - versions: - - "30" - - "31" - galaxy_tags: - - grafana - - dashboard - - alerts - - alerting - - presentation - - monitoring - - metrics diff --git a/ansible_collections/grafana/grafana/roles/grafana/molecule/alternative/converge.yml b/ansible_collections/grafana/grafana/roles/grafana/molecule/alternative/converge.yml deleted file mode 100644 index b8350325c9..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana/molecule/alternative/converge.yml +++ /dev/null @@ -1,107 +0,0 @@ ---- -- name: "Run role" - hosts: all - any_errors_fatal: true - roles: - - grafana.grafana.grafana - vars: - grafana_version: 6.2.5 - grafana_ini: - security: - admin_user: admin - admin_password: "password" - server: - http_addr: "127.0.0.1" - auth: - login_maximum_inactive_lifetime_days: 42 - disable_login_form: false - oauth_auto_login: false - disable_signout_menu: false - signout_redirect_url: "" - anonymous: - org_name: "Main Organization" - org_role: Viewer - ldap: - config_file: "/etc/grafana/ldap.toml" - allow_sign_up: false - basic: - enabled: true - log: - mode: syslog - level: warn - grafana_ldap: - verbose_logging: false - servers: - host: 127.0.0.1 - port: 389 - use_ssl: false - start_tls: false - ssl_skip_verify: false - root_ca_cert: /path/to/certificate.crt - bind_dn: "cn=admin,dc=grafana,dc=org" - bind_password: grafana - search_filter: "(cn=%s)" - search_base_dns: - - "dc=grafana,dc=org" - group_search_filter: "(&(objectClass=posixGroup)(memberUid=%s))" - group_search_base_dns: - - "ou=groups,dc=grafana,dc=org" - attributes: - name: givenName - surname: sn - username: sAMAccountName - member_of: memberOf - email: mail - group_mappings: - - name: "Main Organization" - id: 1 - groups: - - group_dn: "cn=admins,ou=groups,dc=grafana,dc=org" - org_role: Admin - - group_dn: "cn=editors,ou=groups,dc=grafana,dc=org" - org_role: Editor - - group_dn: "*" - org_role: Viewer - - name: "Alternative Org" - id: 2 - groups: - - group_dn: "cn=alternative_admins,ou=groups,dc=grafana,dc=org" - org_role: Admin - grafana_api_keys: - - name: "admin" - role: "Admin" - - name: "viewer" - role: "Viewer" - - name: "editor" - role: "Editor" - grafana_api_keys_dir: "/tmp/grafana/keys" - grafana_plugins: - - raintank-worldping-app - grafana_alert_notifications: - notifiers: - - name: "Email Alert" - type: "email" - uid: notifier1 - is_default: true - settings: - addresses: "example@example.com" - grafana_dashboards: - - dashboard_id: '1860' - revision_id: '4' - datasource: 'Prometheus' - - dashboard_id: '358' - revision_id: '1' - datasource: 'Prometheus' - grafana_datasources: - - name: "Prometheus" - type: "prometheus" - access: "proxy" - url: "http://prometheus.mydomain" - basicAuth: true - basicAuthUser: "admin" - basicAuthPassword: "password" - isDefault: true - jsonData: - tlsAuth: false - tlsAuthWithCACert: false - tlsSkipVerify: true diff --git a/ansible_collections/grafana/grafana/roles/grafana/molecule/alternative/molecule.yml b/ansible_collections/grafana/grafana/roles/grafana/molecule/alternative/molecule.yml deleted file mode 100644 index ed97d539c0..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana/molecule/alternative/molecule.yml +++ /dev/null @@ -1 +0,0 @@ ---- diff --git a/ansible_collections/grafana/grafana/roles/grafana/molecule/alternative/tests/test_alternative.py b/ansible_collections/grafana/grafana/roles/grafana/molecule/alternative/tests/test_alternative.py deleted file mode 100644 index cf6476b0da..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana/molecule/alternative/tests/test_alternative.py +++ /dev/null @@ -1,52 +0,0 @@ -from __future__ import (absolute_import, division, print_function) -__metaclass__ = type - -import os -import testinfra.utils.ansible_runner - -testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner( - os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('all') - - -def test_directories(host): - dirs = [ - "/etc/grafana", - "/var/log/grafana", - "/var/lib/grafana", - "/var/lib/grafana/dashboards", - "/var/lib/grafana/plugins", - "/var/lib/grafana/plugins/raintank-worldping-app" - ] - files = [ - "/etc/grafana/grafana.ini", - "/etc/grafana/ldap.toml" - ] - for directory in dirs: - d = host.file(directory) - assert d.is_directory - assert d.exists - for file in files: - f = host.file(file) - assert f.exists - assert f.is_file - - -def test_service(host): - s = host.service("grafana-server") - # assert s.is_enabled - assert s.is_running - - -def test_packages(host): - p = host.package("grafana") - assert p.is_installed - assert p.version == "6.2.5" - - -def test_socket(host): - assert host.socket("tcp://127.0.0.1:3000").is_listening - - -def test_custom_auth_option(host): - f = host.file("/etc/grafana/grafana.ini") - assert f.contains("login_maximum_inactive_lifetime_days = 42") diff --git a/ansible_collections/grafana/grafana/roles/grafana/molecule/default/converge.yml b/ansible_collections/grafana/grafana/roles/grafana/molecule/default/converge.yml deleted file mode 100644 index 29b62293f0..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana/molecule/default/converge.yml +++ /dev/null @@ -1,11 +0,0 @@ ---- -- name: "Run role" - hosts: all - any_errors_fatal: true - roles: - - grafana.grafana.grafana - vars: - grafana_ini: - security: - admin_user: admin - admin_password: password diff --git a/ansible_collections/grafana/grafana/roles/grafana/molecule/default/molecule.yml b/ansible_collections/grafana/grafana/roles/grafana/molecule/default/molecule.yml deleted file mode 100644 index ed97d539c0..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana/molecule/default/molecule.yml +++ /dev/null @@ -1 +0,0 @@ ---- diff --git a/ansible_collections/grafana/grafana/roles/grafana/molecule/default/tests/test_default.py b/ansible_collections/grafana/grafana/roles/grafana/molecule/default/tests/test_default.py deleted file mode 100644 index 67363a3a9f..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana/molecule/default/tests/test_default.py +++ /dev/null @@ -1,50 +0,0 @@ -from __future__ import (absolute_import, division, print_function) -__metaclass__ = type - -import os -import testinfra.utils.ansible_runner - -testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner( - os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('all') - - -def test_directories(host): - dirs = [ - "/etc/grafana", - "/var/log/grafana", - "/var/lib/grafana", - "/var/lib/grafana/dashboards", - "/var/lib/grafana/plugins" - ] - files = [ - "/etc/grafana/grafana.ini" - ] - for directory in dirs: - d = host.file(directory) - assert d.is_directory - assert d.exists - for file in files: - f = host.file(file) - assert f.exists - assert f.is_file - - -def test_service(host): - s = host.service("grafana-server") - # assert s.is_enabled - assert s.is_running - - -def test_packages(host): - p = host.package("grafana") - assert p.is_installed - - -def test_socket(host): - assert host.socket("tcp://0.0.0.0:3000").is_listening - - -def test_yum_repo(host): - if host.system_info.distribution in ['centos', 'redhat', 'fedora']: - f = host.file("/etc/yum.repos.d/grafana.repo") - assert f.exists diff --git a/ansible_collections/grafana/grafana/roles/grafana/tasks/api_keys.yml b/ansible_collections/grafana/grafana/roles/grafana/tasks/api_keys.yml deleted file mode 100644 index d54f4e3792..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana/tasks/api_keys.yml +++ /dev/null @@ -1,43 +0,0 @@ ---- -- name: "Ensure grafana key directory exists" - ansible.builtin.file: - path: "{{ grafana_api_keys_dir }}/{{ inventory_hostname }}" - state: directory - mode: "0755" - become: false - delegate_to: localhost - -- name: "Check api key list" - ansible.builtin.uri: - url: "{{ grafana_api_url }}/api/auth/keys" - user: "{{ grafana_ini.security.admin_user }}" - password: "{{ grafana_ini.security.admin_password }}" - force_basic_auth: true - return_content: true - register: __existing_api_keys - no_log: "{{ 'false' if lookup('env', 'CI') else 'true' }}" - -- name: "Create grafana api keys" - ansible.builtin.uri: - url: "{{ grafana_api_url }}/api/auth/keys" - user: "{{ grafana_ini.security.admin_user }}" - password: "{{ grafana_ini.security.admin_password }}" - force_basic_auth: true - method: POST - body_format: json - body: "{{ item | to_json }}" - loop: "{{ grafana_api_keys }}" - register: __new_api_keys - no_log: "{{ 'false' if lookup('env', 'CI') else 'true' }}" - when: "((__existing_api_keys['json'] | selectattr('name', 'equalto', item['name'])) | list) | length == 0" - -- name: "Create api keys file to allow the keys to be seen and used by other automation" - ansible.builtin.copy: - dest: "{{ grafana_api_keys_dir }}/{{ inventory_hostname }}/{{ item['item']['name'] }}.key" - content: "{{ item['json']['key'] }}" - backup: false - mode: "0644" - loop: "{{ __new_api_keys['results'] }}" - become: false - delegate_to: localhost - when: "item['json'] is defined" diff --git a/ansible_collections/grafana/grafana/roles/grafana/tasks/configure.yml b/ansible_collections/grafana/grafana/roles/grafana/tasks/configure.yml deleted file mode 100644 index b434cdca02..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana/tasks/configure.yml +++ /dev/null @@ -1,107 +0,0 @@ ---- -- name: "Ensure grafana directories exist" - ansible.builtin.file: - path: "{{ item.path }}" - state: "directory" - owner: "{{ item.owner | default('root') }}" - group: "{{ item.group | default('grafana') }}" - mode: "{{ item.mode | default('0755') }}" - loop: - - path: "/etc/grafana" - - path: "/etc/grafana/datasources" - - path: "/etc/grafana/provisioning" - - path: "/etc/grafana/provisioning/datasources" - - path: "/etc/grafana/provisioning/dashboards" - - path: "/etc/grafana/provisioning/notifiers" - - path: "/etc/grafana/provisioning/notification" - - path: "/etc/grafana/provisioning/plugins" - - path: "/etc/grafana/provisioning/alerting" - - path: "{{ grafana_ini.paths.logs }}" - owner: grafana - - path: "{{ grafana_ini.paths.data }}" - owner: grafana - - path: "{{ grafana_ini.paths.data }}/dashboards" - owner: grafana - - path: "{{ grafana_ini.paths.data }}/plugins" - owner: grafana - -- name: "Create grafana main configuration file" - ansible.builtin.template: - src: "grafana.ini.j2" - dest: "/etc/grafana/grafana.ini" - owner: "root" - group: "grafana" - mode: "0640" - no_log: "{{ 'false' if lookup('env', 'CI') else 'true' }}" - notify: restart_grafana - -- name: "Create grafana LDAP configuration file" - ansible.builtin.template: - src: "ldap.toml.j2" - dest: "{{ grafana_ini.auth.ldap.config_file | default('/etc/grafana/ldap.toml') }}" - owner: "root" - group: "grafana" - mode: "0640" - no_log: "{{ 'false' if lookup('env', 'CI') else 'true' }}" - notify: restart_grafana - when: - - "'ldap' in grafana_ini.auth" - - "'enabled' not in grafana_ini.auth.ldap or grafana_ini.auth.ldap.enabled" - -- name: "Enable grafana socket" - when: - - "grafana_ini.server.protocol is defined and grafana_ini.server.protocol == 'socket'" - - "grafana_ini.server.socket | dirname != '/var/run'" - block: - - name: "Create grafana socket directory" - ansible.builtin.file: - path: "{{ grafana_ini.server.socket | dirname }}" - state: "directory" - mode: "0775" - owner: "grafana" - group: "grafana" - - - name: "Ensure grafana socket directory created on startup" - ansible.builtin.template: - src: "tmpfiles.j2" - dest: "/etc/tmpfiles.d/grafana.conf" - owner: "root" - group: "root" - mode: "0644" - -- name: "Enable grafana to ports lower than port 1024" - community.general.capabilities: - path: /usr/sbin/grafana-server - capability: CAP_NET_BIND_SERVICE+ep - state: present - when: - - "grafana_ini.server.http_port | int <= 1024" - - "grafana_cap_net_bind_service" - -- name: Create a directory for overrides.conf unit file if it does not exist - ansible.builtin.file: - path: /etc/systemd/system/grafana-server.service.d - state: directory - mode: '0755' - when: - - "grafana_ini.server.http_port | int <= 1024" - - "grafana_cap_net_bind_service" - -- name: "Enable grafana to ports lower than port 1024 in systemd unitfile" - ansible.builtin.blockinfile: - path: /etc/systemd/system/grafana-server.service.d/overrides.conf - create: true - block: | - [Service] - AmbientCapabilities=CAP_NET_BIND_SERVICE - CapabilityBoundingSet=CAP_NET_BIND_SERVICE - when: - - "grafana_ini.server.http_port | int <= 1024" - - "grafana_cap_net_bind_service" - -- name: "Enable and start Grafana systemd unit" - ansible.builtin.systemd: - name: "grafana-server" - enabled: true - state: started - daemon_reload: true diff --git a/ansible_collections/grafana/grafana/roles/grafana/tasks/dashboards.yml b/ansible_collections/grafana/grafana/roles/grafana/tasks/dashboards.yml deleted file mode 100644 index a5dcb98128..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana/tasks/dashboards.yml +++ /dev/null @@ -1,245 +0,0 @@ ---- -- name: "Create local grafana dashboard directory" - become: false - delegate_to: localhost - run_once: true - ansible.builtin.tempfile: - state: directory - register: __tmp_dashboards - changed_when: false - check_mode: false - -- name: "Download grafana.net dashboards" - become: false - delegate_to: localhost - when: - - not ansible_check_mode - - "grafana_dashboards | length > 0" - block: - - name: "Get latest revision id" - ansible.builtin.uri: - url: "https://grafana.com/api/dashboards/{{ item.dashboard_id }}" - method: GET - return_content: yes - register: __dashboard_info - loop: "{{ grafana_dashboards }}" - when: item.dashboard_url is not defined - - - name: "Extract revision_id if not defined in grafana_dashboards" - ansible.builtin.set_fact: - __dashboards_with_revision: >- - {{ - __dashboard_info.results | map(attribute='json.revision') - | map('default', 1) | map('community.general.dict_kv', 'revision_id') - | zip(grafana_dashboards) | map('combine') - }} - - - name: "Download grafana dashboard from grafana.net to local directory" - ansible.builtin.get_url: - url: "{{ item.dashboard_url if item.dashboard_url is defined else - ('https://grafana.com/api/dashboards/' ~ item.dashboard_id ~ - '/revisions/' ~ item.revision_id | default(1) ~ '/download') }}" - dest: "{{ __tmp_dashboards.path }}/{{ item.dashboard_id ~ '.json' - if item.dashboard_id is defined else item.dashboard_url | basename}}" - mode: "0644" - register: __download_dashboards - until: "__download_dashboards is succeeded" - retries: 5 - delay: 2 - changed_when: false - loop: "{{ __dashboards_with_revision }}" - - # As noted in [1] an exported dashboard replaces the exporter's datasource - # name with a representative name, something like 'DS_GRAPHITE'. The name - # is different for each datasource plugin, but always begins with 'DS_'. - # In the rest of the data, the same name is used, but captured in braces, - # for example: '${DS_GRAPHITE}'. - # - # [1] http://docs.grafana.org/reference/export_import/#import-sharing-with-grafana-2-x-or-3-0 - # - # The data structure looks (massively abbreviated) something like: - # - # "name": "DS_GRAPHITE", - # "datasource": "${DS_GRAPHITE}", - # - # If we import the downloaded dashboard verbatim, it will not automatically - # be connected to the data source like we want it. The Grafana UI expects - # us to do the final connection by hand, which we do not want to do. - # So, in the below task we ensure that we replace instances of this string - # with the data source name we want. - # To make sure that we're not being too greedy with the regex replacement - # of the data source to use for each dashboard that's uploaded, we make the - # regex match very specific by using the following: - # - # 1. Literal boundaries for " on either side of the match. - # 2. Non-capturing optional group matches for the ${} bits which may, or - # or may not, be there.. - # 3. A case-sensitive literal match for DS . - # 4. A one-or-more case-sensitive match for the part that follows the - # underscore, with only A-Z, 0-9 and - or _ allowed. - # - # This regex can be tested and understood better by looking at the - # matches and non-matches in https://regex101.com/r/f4Gkvg/6 - - - name: "Set the correct data source name in the dashboard" - ansible.builtin.replace: - dest: "{{ item.dest }}" - regexp: '"(?:\${)?DS_[A-Z0-9_-]+(?:})?"' - replace: '"{{ item.item.datasource }}"' - changed_when: false - loop: "{{ __download_dashboards.results }}" - loop_control: - label: "{{ item.item }}" - -- name: "Import grafana dashboards via api" - community.grafana.grafana_dashboard: - grafana_url: "{{ grafana_api_url }}" - grafana_user: "{{ grafana_ini.security.admin_user }}" - grafana_password: "{{ grafana_ini.security.admin_password }}" - path: "{{ item }}" - commit_message: "Updated by ansible role {{ ansible_role_name }}" - state: present - overwrite: true - no_log: "{{ 'false' if lookup('env', 'CI') else 'true' }}" - with_fileglob: - - "{{ __tmp_dashboards.path }}/*" - - "{{ grafana_dashboards_dir }}/*.json" - when: "not grafana_use_provisioning" - -- name: "Import grafana dashboards through provisioning" - when: grafana_use_provisioning - block: - - name: "Create/Update dashboards file (provisioning)" - ansible.builtin.copy: - dest: "/etc/grafana/provisioning/dashboards/ansible.yml" - content: | - apiVersion: 1 - providers: - - name: 'default' - orgId: 1 - folder: '' - type: file - options: - path: "{{ grafana_ini.paths.data }}/dashboards" - foldersFromFilesStructure: {{ grafana_provisioning_dashboards_from_file_structure | bool | to_nice_yaml }} - backup: false - owner: root - group: grafana - mode: "0640" - become: true - notify: restart_grafana - - - name: "Register previously copied dashboards" - ansible.builtin.find: - paths: "{{ grafana_ini.paths.data }}/dashboards" - hidden: true - recurse: true - patterns: - - "*.json" - register: __dashboards_present - when: grafana_provisioning_synced | bool - - - name: "Register previously created folders" - ansible.builtin.find: - paths: "{{ grafana_ini.paths.data }}/dashboards/" - recurse: yes - file_type: directory - register: __dashboards_dir_present - become: true - when: grafana_provisioning_synced - - - name: "Import grafana.net dashboards" - ansible.builtin.copy: - src: "{{ item }}" - dest: "{{ grafana_ini.paths.data }}/dashboards/{{ item | basename }}" - owner: root - group: grafana - mode: "0644" - with_fileglob: - - "{{ __tmp_dashboards.path }}/*" - become: true - register: __dashboards_copied - notify: "provisioned dashboards changed" - when: not ansible_check_mode - - - name: "Verify if custom grafana dashboards dir exist" - ansible.builtin.stat: - path: "{{ grafana_dashboards_dir }}" - delegate_to: localhost - become: false - register: __grafana_custom_dashboards_dir - - - name: "Import custom grafana dashboards" - when: __grafana_custom_dashboards_dir.stat.exists - block: - - name: "Find which directories to create" - ansible.builtin.find: - paths: "{{ grafana_dashboards_dir }}/" - recurse: yes - file_type: directory - register: __dashboards_subdirs - delegate_to: localhost - become: false - - - name: "Create dashboard folders" - ansible.builtin.file: - path: "{{ grafana_ini.paths.data }}/dashboards/{{ item }}" - state: "directory" - recurse: false - owner: "grafana" - group: "grafana" - mode: "0755" - loop: "{{ __dashboards_subdirs.files | map(attribute='path') | sort | regex_replace(grafana_dashboards_dir + '/*', '') }}" - become: true - register: __dashboards_dir_created - when: not ansible_check_mode - - - name: "Copy dashboard files" - ansible.builtin.copy: - src: "{{ item.path }}" - dest: '{{ grafana_ini.paths.data }}/dashboards/{{ item.path | regex_replace(grafana_dashboards_dir + "/*", "") }}' - owner: root - group: grafana - mode: "0644" - loop: "{{ __found_dashboards.files | default([]) }}" - become: true - register: __dashboards_copied_custom - notify: "provisioned dashboards changed" - when: not ansible_check_mode - - - name: "Register present and copied folders list" - ansible.builtin.set_fact: - __folders_present_list: "{{ __dashboards_dir_present.files | default([]) | map(attribute='path') | list }}" - __folders_copied_list: "{{ __dashboards_dir_created.results | default([]) | map(attribute='path') | list }}" - when: not ansible_check_mode - - - name: "Register present and copied dashboards list" - ansible.builtin.set_fact: - __dashboards_present_list: "{{ __dashboards_present.files | default([]) | map(attribute='path') | list }}" - __dashboards_copied_list: "{{ - ( - (__dashboards_copied.results | default([]) | map(attribute='dest') | list) + - (__dashboards_copied_custom.results | default([]) | map(attribute='dest') | list) - ) | list - }}" - when: not ansible_check_mode - - - name: "Remove dashboards not present on deployer machine (synchronize)" - ansible.builtin.file: - path: "{{ item }}" - state: absent - loop: "{{ __dashboards_present_list | difference(__dashboards_copied_list) }}" - become: true - when: - - __dashboards_present_list is defined and __dashboards_present_list - - __dashboards_copied_list is defined and __dashboards_copied_list - - grafana_provisioning_synced | bool - - not ansible_check_mode - - - name: "Remove folders not present on deployer machine (synchronize)" - ansible.builtin.file: - path: "{{ item }}" - state: absent - loop: "{{ __folders_present_list | difference(__folders_copied_list) }}" - become: true - when: grafana_provisioning_synced and not ansible_check_mode diff --git a/ansible_collections/grafana/grafana/roles/grafana/tasks/datasources.yml b/ansible_collections/grafana/grafana/roles/grafana/tasks/datasources.yml deleted file mode 100644 index bcd2457203..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana/tasks/datasources.yml +++ /dev/null @@ -1,40 +0,0 @@ ---- -- name: "Ensure datasources exist (via API)" - community.grafana.grafana_datasource: - grafana_url: "{{ grafana_api_url }}" - grafana_user: "{{ grafana_ini.security.admin_user }}" - grafana_password: "{{ grafana_ini.security.admin_password }}" - name: "{{ item.name }}" - ds_url: "{{ item.url }}" - ds_type: "{{ item.type }}" - access: "{{ item.access | default(omit) }}" - is_default: "{{ item.isDefault | default(omit) }}" - basic_auth_user: "{{ item.basicAuthUser | default(omit) }}" - basic_auth_password: "{{ item.basicAuthPassword | default(omit) }}" - database: "{{ item.database | default(omit) }}" - user: "{{ item.user | default(omit) }}" - password: "{{ item.password | default(omit) }}" - aws_auth_type: "{{ item.aws_auth_type | default(omit) }}" - aws_default_region: "{{ item.aws_default_region | default(omit) }}" - aws_access_key: "{{ item.aws_access_key | default(omit) }}" - aws_secret_key: "{{ item.aws_secret_key | default(omit) }}" - aws_credentials_profile: "{{ item.aws_credentials_profile | default(omit) }}" - aws_custom_metrics_namespaces: "{{ item.aws_custom_metrics_namespaces | default(omit) }}" - loop: "{{ grafana_datasources }}" - when: "not grafana_use_provisioning" - -- name: "Create/Update datasources file (provisioning)" - ansible.builtin.copy: - dest: "/etc/grafana/provisioning/datasources/ansible.yml" - content: | - apiVersion: 1 - deleteDatasources: [] - datasources: - {{ grafana_datasources | to_nice_yaml }} - backup: false - owner: root - group: grafana - mode: 0640 - notify: restart_grafana - become: true - when: "grafana_use_provisioning" diff --git a/ansible_collections/grafana/grafana/roles/grafana/tasks/install.yml b/ansible_collections/grafana/grafana/roles/grafana/tasks/install.yml deleted file mode 100644 index db6428295d..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana/tasks/install.yml +++ /dev/null @@ -1,133 +0,0 @@ ---- -- name: "Remove conflicting grafana packages" - ansible.builtin.package: - name: grafana-data - state: absent - -- name: "Install dependencies" - ansible.builtin.package: - name: "{{ _grafana_dependencies }}" - state: present - update_cache: true - when: - - _grafana_dependencies is defined - - _grafana_dependencies | length > 0 - -- name: "Prepare zypper" - when: - - "ansible_facts['pkg_mgr'] == 'zypper'" - - "(grafana_manage_repo)" - environment: "{{ grafana_environment }}" - block: - - name: import Grafana RPM Key - ansible.builtin.rpm_key: - state: present - key: "{{ grafana_yum_key }}" - - - name: "Add Grafana zypper repository" - community.general.zypper_repository: - name: grafana - description: grafana - repo: "{{ grafana_yum_repo }}" - enabled: true - disable_gpg_check : "{{ false if (grafana_yum_key) else omit }}" - runrefresh: true - when: "(not grafana_rhsm_repo)" - -- name: "Prepare yum/dnf" - when: - - "ansible_facts['pkg_mgr'] in ['yum', 'dnf']" - - "(grafana_manage_repo)" - environment: "{{ grafana_environment }}" - block: - - name: "Add Grafana yum/dnf repository" - ansible.builtin.yum_repository: - name: grafana - description: grafana - baseurl: "{{ grafana_yum_repo }}" - enabled: true - gpgkey: "{{ grafana_yum_key | default(omit) }}" - repo_gpgcheck: "{{ true if (grafana_yum_key) else omit }}" - gpgcheck: "{{ true if (grafana_yum_key) else omit }}" - when: "(not grafana_rhsm_repo)" - - - name: "Attach RHSM subscription" - when: "(grafana_rhsm_subscription)" - block: - - name: "Check if Grafana RHSM subscription is enabled" - ansible.builtin.command: - cmd: "subscription-manager list --consumed --matches={{ grafana_rhsm_subscription | quote }} --pool-only" - register: __subscription_manager_consumed - changed_when: false - when: (grafana_rhsm_subscription) - - - name: "Find RHSM repo subscription pool id" - ansible.builtin.command: - cmd: "subscription-manager list --available --matches={{ grafana_rhsm_subscription | quote }} --pool-only" - register: __subscription_manager_available - changed_when: false - when: - - "(grafana_rhsm_subscription)" - - "__subscription_manager_consumed.stdout | length <= 0" - - - name: "Attach RHSM subscription" - ansible.builtin.command: - cmd: "subscription-manager attach --pool={{ __subscription_manager_available.stdout }}" - register: __subscription_manager_attach - changed_when: "__subscription_manager_attach.stdout is search('Successfully attached a subscription')" - failed_when: "__subscription_manager_attach.stdout is search('could not be found')" - when: - - "(grafana_rhsm_subscription)" - - "__subscription_manager_consumed.stdout | default() | length <= 0" - - "__subscription_manager_available.stdout | default() | length > 0" - - - name: "Enable RHSM repository" - community.general.rhsm_repository: - name: "{{ grafana_rhsm_repo }}" - state: enabled - when: (grafana_rhsm_repo) - -- name: "Prepare apt" - when: - - "ansible_facts['pkg_mgr'] == 'apt'" - - "(grafana_manage_repo)" - environment: "{{ grafana_environment }}" - block: - - name: "Use deb822 format?" - ansible.builtin.set_fact: - __use_deb822: "{{ (ansible_facts['distribution'] == 'Debian' and (ansible_facts['distribution_major_version'] | int) >= 12) or - (ansible_facts['distribution'] == 'Ubuntu' and (ansible_facts['distribution_major_version'] | int) >= 24) }}" - - name: "Import Grafana apt gpg key" - ansible.builtin.get_url: - url: "{{ grafana_apt_key }}" - dest: /usr/share/keyrings/grafana.asc - mode: "0644" - when: not __use_deb822 - - name: "Add Grafana apt repository" - when: not __use_deb822 - ansible.builtin.apt_repository: - repo: "{{ grafana_apt_repo }}" - update_cache: true - - name: "Add Grafana apt repository" - when: __use_deb822 - ansible.builtin.deb822_repository: - name: "{{ grafana_apt_name }}" - types: deb - uris: "{{ grafana_apt_repo_uri }}" - suites: "{{ grafana_apt_release_channel }}" - components: - - main - architectures: - - "{{ grafana_apt_arch }}" - signed_by: "{{ grafana_apt_key }}" - register: __update_cache - - name: "Update apt cache" - ansible.builtin.apt: - update_cache: true - when: __update_cache is defined and __update_cache.changed - -- name: "Install Grafana" - ansible.builtin.package: - name: "{{ grafana_package }}" - state: "{{ (grafana_version == 'latest') | ternary('latest', 'present') }}" - notify: restart_grafana diff --git a/ansible_collections/grafana/grafana/roles/grafana/tasks/main.yml b/ansible_collections/grafana/grafana/roles/grafana/tasks/main.yml deleted file mode 100644 index 3f8f78bc5f..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana/tasks/main.yml +++ /dev/null @@ -1,133 +0,0 @@ ---- -- name: Inherit default vars - ansible.builtin.set_fact: - grafana_ini: "{{ grafana_ini_default | ansible.builtin.combine(grafana_ini | default({}), recursive=true) }}" - no_log: "{{ 'false' if lookup('env', 'CI') else 'true' }}" - tags: - - always -- name: "Gather variables for each operating system" - ansible.builtin.include_vars: "{{ distrovars }}" - vars: - distrovars: "{{ lookup('first_found', params, errors='ignore') }}" - params: - skip: true - files: - - "{{ ansible_facts['distribution'] | lower }}-{{ ansible_facts['distribution_version'] | lower }}.yml" - - "{{ ansible_facts['distribution'] | lower }}-{{ ansible_facts['distribution_major_version'] | lower }}.yml" - - "{{ ansible_facts['os_family'] | lower }}-{{ ansible_facts['distribution_major_version'] | lower }}.yml" - - "{{ ansible_facts['distribution'] | lower }}.yml" - - "{{ ansible_facts['os_family'] | lower }}.yml" - paths: - - "vars/distro" - tags: - - grafana_install - - grafana_configure - - grafana_datasources - - grafana_notifications - - grafana_dashboards - -- name: Preflight - ansible.builtin.include_tasks: - file: preflight.yml - apply: - tags: - - grafana_install - - grafana_configure - - grafana_datasources - - grafana_notifications - - grafana_dashboards - -- name: Install - ansible.builtin.include_tasks: - file: install.yml - apply: - become: true - tags: - - grafana_install - -- name: Configure - ansible.builtin.include_tasks: - file: configure.yml - apply: - become: true - tags: - - grafana_configure - -- name: Plugins - ansible.builtin.include_tasks: - file: plugins.yml - apply: - tags: - - grafana_configure - when: "grafana_plugins != []" - -- name: "Restart grafana before configuring datasources and dashboards" - ansible.builtin.meta: flush_handlers - tags: - - grafana_install - - grafana_configure - - grafana_datasources - - grafana_notifications - - grafana_dashboards - - grafana_run - -- name: "Wait for grafana to start" - ansible.builtin.wait_for: - host: "{{ grafana_ini.server.http_addr if grafana_ini.server.protocol is undefined or grafana_ini.server.protocol in ['http', 'https'] else omit }}" - port: "{{ grafana_ini.server.http_port if grafana_ini.server.protocol is undefined or grafana_ini.server.protocol in ['http', 'https'] else omit }}" - path: "{{ grafana_ini.server.socket | default() if grafana_ini.server.protocol is defined and grafana_ini.server.protocol == 'socket' else omit }}" - tags: - - grafana_install - - grafana_configure - - grafana_datasources - - grafana_notifications - - grafana_dashboards - - grafana_run - -- name: "Api keys" - ansible.builtin.include_tasks: - file: api_keys.yml - apply: - tags: - - grafana_configure - - grafana_run - when: "grafana_api_keys | length > 0" - -- name: Datasources - ansible.builtin.include_tasks: - file: datasources.yml - apply: - tags: - - grafana_configure - - grafana_datasources - - grafana_run - when: "grafana_datasources != []" - -- name: Notifications - ansible.builtin.include_tasks: - file: notifications.yml - apply: - tags: - - grafana_configure - - grafana_notifications - - grafana_run - when: "grafana_alert_notifications | length > 0 or grafana_alert_resources | length > 0" - -- name: Find dashboards to be provisioned - ansible.builtin.find: - paths: "{{ grafana_dashboards_dir }}" - recurse: true - patterns: "*.json" - delegate_to: localhost - become: false - register: __found_dashboards - -- name: Dashboards - ansible.builtin.include_tasks: - file: dashboards.yml - apply: - tags: - - grafana_configure - - grafana_dashboards - - grafana_run - when: "grafana_dashboards | length > 0 or __found_dashboards['files'] | length > 0" diff --git a/ansible_collections/grafana/grafana/roles/grafana/tasks/notifications.yml b/ansible_collections/grafana/grafana/roles/grafana/tasks/notifications.yml deleted file mode 100644 index a09c609416..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana/tasks/notifications.yml +++ /dev/null @@ -1,28 +0,0 @@ ---- -# legacy config -- name: "Create/Delete/Update alert notifications channels (provisioning)" - ansible.builtin.copy: - content: | - apiVersion: 1 - {{ grafana_alert_notifications | to_nice_yaml }} - dest: /etc/grafana/provisioning/notification/ansible.yml - owner: root - group: grafana - mode: "0640" - become: true - notify: restart_grafana - when: grafana_use_provisioning and grafana_alert_notifications | length > 0 - -# new alert resources -- name: "Create/Delete/Update alert resources (provisioning)" - ansible.builtin.copy: - content: | - apiVersion: 1 - {{ grafana_alert_resources | to_nice_yaml }} - dest: /etc/grafana/provisioning/alerting/ansible.yml - owner: root - group: grafana - mode: "0640" - become: true - notify: restart_grafana - when: grafana_use_provisioning and grafana_alert_resources | length > 0 diff --git a/ansible_collections/grafana/grafana/roles/grafana/tasks/plugins.yml b/ansible_collections/grafana/grafana/roles/grafana/tasks/plugins.yml deleted file mode 100644 index 13117c6a9c..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana/tasks/plugins.yml +++ /dev/null @@ -1,20 +0,0 @@ ---- -- name: "Check which plugins are installed" - ansible.builtin.find: - file_type: directory - recurse: false - paths: "{{ grafana_ini.paths.data }}/plugins" - register: __installed_plugins - -- name: "Install plugins" - become: true - ansible.builtin.command: - cmd: "grafana-cli --pluginsDir {{ grafana_ini.paths.data }}/plugins plugins install {{ item }}" - creates: "{{ grafana_ini.paths.data }}/plugins/{{ item }}" - loop: "{{ grafana_plugins | difference(__installed_plugins.files) }}" - register: __plugin_install - until: "__plugin_install is succeeded" - retries: 5 - delay: 2 - notify: - - restart_grafana diff --git a/ansible_collections/grafana/grafana/roles/grafana/tasks/preflight.yml b/ansible_collections/grafana/grafana/roles/grafana/tasks/preflight.yml deleted file mode 100644 index 74dbc7e221..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana/tasks/preflight.yml +++ /dev/null @@ -1,104 +0,0 @@ ---- -- name: "Check variable types" - ansible.builtin.assert: - that: - - grafana_logs_dir is undefined - - grafana_data_dir is undefined - - grafana_server is undefined - - grafana_database is undefined - - grafana_security is undefined - - grafana_remote_cache is undefined - - grafana_welcome_email_on_sign_up is undefined - - grafana_users is undefined - - grafana_auth is undefined - - grafana_auth_generic_oauth is undefined - - grafana_session is undefined - - grafana_analytics is undefined - - grafana_smtp is undefined - - grafana_alerting is undefined - - grafana_unified_alerting is undefined - - grafana_log is undefined - - grafana_metrics is undefined - - grafana_tracing is undefined - - grafana_snapshots is undefined - - grafana_image_storage is undefined - - grafana_date_formats is undefined - - grafana_feature_toggles is undefined - - grafana_plugins_ops is undefined - - grafana_instance is undefined - - grafana_address is undefined - - grafana_port is undefined - - grafana_domain is undefined - - grafana_url is undefined - - grafana_panels is undefined - fail_msg: Check upgrade notes - -- name: "Fail when datasources aren't configured when dashboards are set to be installed" - ansible.builtin.fail: - msg: "You need to specify datasources for dashboards!!!" - when: "grafana_dashboards != [] and grafana_datasources == []" - -- name: "Fail when grafana admin user isn't set" - ansible.builtin.fail: - msg: "Please specify grafana admin user (grafana_ini.security.admin_user)" - when: - - "grafana_ini.security.admin_user == '' or - grafana_ini.security.admin_user is not defined" - -- name: "Fail when grafana admin password isn't set" - ansible.builtin.fail: - msg: "Please specify grafana admin password (grafana_ini.security.admin_password)" - when: - - "grafana_ini.security.admin_password == '' or - grafana_ini.security.admin_password is not defined" - -- name: "Fail on incorrect variable types in datasource definitions" - ansible.builtin.fail: - msg: "Boolean variables in grafana_datasources shouldn't be passed as strings. Please remove unneeded apostrophes." - when: "( item.isDefault is defined and item.isDefault is string ) or - ( item.basicAuth is defined and item.basicAuth is string )" - loop: "{{ grafana_datasources }}" - -- name: "Fail on bad database configuration" - ansible.builtin.fail: - msg: "Invalid database configuration. Please look at http://docs.grafana.org/installation/configuration/#database" - when: "( grafana_ini.database.type == 'sqlite3' and grafana_ini.database.url is defined ) or - ( grafana_ini.database.type != 'sqlite3' and grafana_ini.database.path is defined ) or - ( grafana_ini.database.type == 'sqlite3' and grafana_ini.database.host is defined ) or - ( grafana_ini.database.type == 'sqlite3' and grafana_ini.database.user is defined ) or - ( grafana_ini.database.type == 'sqlite3' and grafana_ini.database.password is defined ) or - ( grafana_ini.database.type == 'sqlite3' and grafana_ini.database.server_cert_name is defined )" - -- name: "Fail when grafana_api_keys uses invalid role names" - ansible.builtin.fail: - msg: "Check grafana_api_keys. The role can only be one of the following values: Viewer, Editor or Admin." - when: "item.role not in ['Viewer', 'Editor', 'Admin']" - loop: "{{ grafana_api_keys }}" - -- name: "Fail when grafana_ldap isn't set when grafana_ini.auth.ldap is" - ansible.builtin.fail: - msg: "You need to configure grafana_ldap.servers and grafana_ldap.group_mappings when grafana_ini.auth.ldap is set" - when: - - "'ldap' in grafana_ini.auth" - - "grafana_ldap is not defined or ('servers' not in grafana_ldap or 'group_mappings' not in grafana_ldap)" - -- name: "Force grafana_use_provisioning to false if grafana_version is < 5.0 ( grafana_version is set to '{{ grafana_version }}' )" - ansible.builtin.set_fact: - grafana_use_provisioning: false - when: - - "grafana_version != 'latest'" - - "grafana_version is version_compare('5.0', '<')" - -- name: "Fail if grafana_ini.server.http_port is lower than 1024 and grafana_cap_net_bind_service is not true" - ansible.builtin.fail: - msg: "Trying to use a port lower than 1024 without setting grafana_cap_net_bind_service." - when: - - "grafana_ini.server.http_port | int <= 1024" - - "not grafana_cap_net_bind_service" - -- name: "Fail if grafana_ini.server.socket not defined when in socket mode" - ansible.builtin.fail: - msg: "You need to configure grafana_ini.server.socket when grafana_ini.server.protocol is set to 'socket'" - when: - - "grafana_ini.server.protocol is defined and grafana_ini.server.protocol == 'socket'" - - "grafana_ini.server.socket is undefined or grafana_ini.server.socket == ''" diff --git a/ansible_collections/grafana/grafana/roles/grafana/templates/grafana.ini.j2 b/ansible_collections/grafana/grafana/roles/grafana/templates/grafana.ini.j2 deleted file mode 100644 index 8ed33dd756..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana/templates/grafana.ini.j2 +++ /dev/null @@ -1,28 +0,0 @@ -{{ ansible_managed | comment }} -# More informations: -# http://docs.grafana.org/installation/configuration -# https://github.com/grafana/grafana/blob/master/conf/sample.ini - -{% for k, v in grafana_ini.items() %} -{% if v is not mapping %} -{{ k }} = {{ v }} -{% endif %} -{% endfor %} - -{% for section, items in grafana_ini.items() %} -{% if items is mapping %} -[{{ section }}] -{% for sub_key, sub_value in items.items() %} -{% if sub_value is mapping %} - -[{{ section }}.{{ sub_key }}] -{% for k, v in sub_value.items() %} -{{ k }} = {{ v }} -{% endfor %} -{% else %} -{{ sub_key }} = {{ sub_value }} -{% endif %} -{% endfor %} -{% endif %} - -{% endfor %} diff --git a/ansible_collections/grafana/grafana/roles/grafana/templates/ldap.toml.j2 b/ansible_collections/grafana/grafana/roles/grafana/templates/ldap.toml.j2 deleted file mode 100644 index b28e0029bd..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana/templates/ldap.toml.j2 +++ /dev/null @@ -1,39 +0,0 @@ -{{ ansible_managed | comment }} -# Documentation: http://docs.grafana.org/installation/ldap/ -{% if 'verbose_logging' in grafana_ldap %} -verbose_logging = {{ 'true' if grafana_ldap.verbose_logging else 'false' }} -{% endif %} - -[[servers]] -{% for k,v in grafana_ldap.servers.items() if k != 'attributes' %} -{% if k == 'port' %} -{{ k }} = {{ v | int }} -{% elif v in [True, False] %} -{{ k }} = {{ 'true' if v else 'false' }} -{% else %} -{{ k }} = {{ v | to_nice_json }} -{% endif %} -{% endfor %} - -[servers.attributes] -{% for k,v in grafana_ldap.servers.attributes.items() %} -{{ k }} = {{ v | to_nice_json }} -{% endfor %} - -{% for org in grafana_ldap.group_mappings %} -{% if 'name' in org %} -# {{ org.name }} -{% endif %} -{% for group in org.groups %} -[[servers.group_mappings]] -org_id = {{ org.id }} -{% for k,v in group.items() %} -{% if v in [True, False] %} -{{ k }} = {{ 'true' if v else 'false' }} -{% else %} -{{ k }} = "{{ v }}" -{% endif %} -{% endfor %} - -{% endfor %} -{% endfor %} diff --git a/ansible_collections/grafana/grafana/roles/grafana/templates/tmpfiles.j2 b/ansible_collections/grafana/grafana/roles/grafana/templates/tmpfiles.j2 deleted file mode 100644 index fbf23f5ded..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana/templates/tmpfiles.j2 +++ /dev/null @@ -1,2 +0,0 @@ -{{ ansible_managed | comment }} -d {{ grafana_ini.server.socket | dirname }} 0775 grafana grafana diff --git a/ansible_collections/grafana/grafana/roles/grafana/test-requirements.txt b/ansible_collections/grafana/grafana/roles/grafana/test-requirements.txt deleted file mode 100644 index af58c11029..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana/test-requirements.txt +++ /dev/null @@ -1,6 +0,0 @@ -molecule -docker -pytest-testinfra -jmespath -selinux -passlib diff --git a/ansible_collections/grafana/grafana/roles/grafana/vars/distro/debian.yml b/ansible_collections/grafana/grafana/roles/grafana/vars/distro/debian.yml deleted file mode 100644 index 7401c93361..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana/vars/distro/debian.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -grafana_package: "grafana{% if ansible_facts['architecture'] == 'armv6l' %}-rpi{% endif %}{{ (grafana_version != 'latest') | ternary('=' ~ grafana_version, '') }}" -_grafana_dependencies: - - apt-transport-https - - adduser - - ca-certificates - - libfontconfig - - gnupg2 diff --git a/ansible_collections/grafana/grafana/roles/grafana/vars/distro/redhat.yml b/ansible_collections/grafana/grafana/roles/grafana/vars/distro/redhat.yml deleted file mode 100644 index 0721829d01..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana/vars/distro/redhat.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -grafana_package: "grafana{{ (grafana_version != 'latest') | ternary('-' ~ grafana_version, '') }}" -# https://unix.stackexchange.com/questions/534463/cant-enable-grafana-on-boot-in-fedora-because-systemd-sysv-install-missing -_grafana_dependencies: - - chkconfig diff --git a/ansible_collections/grafana/grafana/roles/grafana/vars/distro/suse.yml b/ansible_collections/grafana/grafana/roles/grafana/vars/distro/suse.yml deleted file mode 100644 index 56486dfe08..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana/vars/distro/suse.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -grafana_package: "grafana{{ (grafana_version != 'latest') | ternary('-' ~ grafana_version, '') }}" -# https://unix.stackexchange.com/questions/534463/cant-enable-grafana-on-boot-in-fedora-because-systemd-sysv-install-missing -# applies to SuSe too -_grafana_dependencies: - - insserv-compat diff --git a/ansible_collections/grafana/grafana/roles/grafana_agent/README.md b/ansible_collections/grafana/grafana/roles/grafana_agent/README.md deleted file mode 100644 index 5301aa58cc..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana_agent/README.md +++ /dev/null @@ -1,72 +0,0 @@ -|![](https://upload.wikimedia.org/wikipedia/commons/thumb/1/17/Warning.svg/156px-Warning.svg.png) | This Ansible role is now in maintenance mode only. We recommend using the Grafana Alloy Role for future deployments and updates. -|---|---| - -# Ansible Role for Grafana Agent - -Ansible Role to deploy Grafana Agent on Linux hosts. Using this Role, Grafana Agent can be deployed on RedHat, Ubuntu, Debian, CentOS -and Fedora linux distributions. - -## Requirements - -Please ensure that `curl` is intalled on Ansible controller. - -To use this role, You need a YAML file having the Grafana Agent configuration. - -## Role Variables - -All variables which can be overridden are stored in [./defaults/main.yaml](./defaults/main.yaml) file as well as in table below. - -| Variable | Default | Description | -| :------ | :------ | :--------- | -| `grafana_agent_version` | `latest` | version of the agent to install | -| `grafana_agent_base_download_url` | `https://github.com/{{ _grafana_agent_github_org }}/{{ _grafana_agent_github_repo }}/releases/download` | base download url. Github or mirror to download from | -| `grafana_agent_install_dir` | `/opt/grafana-agent/bin` | directory to install the binary to | -| `grafana_agent_binary` | `grafana-agent` | name to use for the binary | -| `grafana_agent_config_dir` | `/etc/grafana-agent` | directory to store the configuration files in | -| `grafana_agent_config_filename` | `config.yaml` | name of the configuration file for the agent | -| `grafana_agent_env_file` | `service.env` | name of the environment file loaded by the system unit file | -| `grafana_agent_service_extra` | "" | dictionary of additional custom settings for the systemd service file | -| `grafana_agent_local_tmp_dir` | `/tmp/grafana-agent` | temporary directory to create on the controller/localhost where the archive will be downloaded to | -| `grafana_agent_data_dir` | `/var/lib/grafana-agent` | the data directory to create for the wal and positions | -| `grafana_agent_wal_dir` | `"{{ grafana_agent_data_dir }}/data"` | wal directory to use, should be a sub-folder of grafana_agent_data_dir, will automatically be created when the agent starts | -| `grafana_agent_positions_dir` | `"{{ grafana_agent_data_dir }}/data"` | positions directory to use, should be a sub-folder of grafana_agent_data_dir, will automatically be created when the agent starts | -| `grafana_agent_mode` | `static` | mode to run Grafana Agent in. Can be "flow" or "static", [Flow Docs](https://grafana.com/docs/agent/latest/flow/) | -| `grafana_agent_user` | `grafana-agent` | os user to create for the agent to run as | -| `grafana_agent_user_group` | `grafana-agent` | os user group to create for the agent | -| `grafana_agent_user_groups` | `[]` | Configurable user groups that the Grafana agent can be put in so that it can access logs | -| `grafana_agent_user_shell` | `/usr/sbin/nologin` | the shell for the user | -| `grafana_agent_user_createhome` | `false` | whether or not to create a home directory for the user | -| `grafana_agent_local_binary_file` | `""` | full path to the local binary if already downloaded or built on the controller, this should only be set, if ansible is not downloading the binary and you have manually downloaded the binary | -| `grafana_agent_flags_extra` | see [./defaults/main.yaml](./defaults/main.yaml) | dictionary of additional command-line flags, run grafana-agent --help for a complete list. [Docs](https://grafana.com/docs/agent/latest/configuration/flags/) | -| `grafana_agent_env_vars` | `{}` | sets Environment variables in the systemd service configuration. | -| `grafana_agent_env_file_vars` | `{}` | dictionary of key/pair values to write to the environment file that is loaded by the service, with the flag `--config.expand-env=true` any generated config files will support the expansion of environment variables at runtime by referencing ${ENVVAR}. be aware of boolean values, when output they will result in the proper-cased string "True" and "False" | -| `grafana_agent_provisioned_config_file` | `""` | path to a config file on the controller that will be used instead of the provided configs below if specified. | -| `grafana_agent_server_config` | see [./defaults/main.yaml](./defaults/main.yaml) | Configures the server of the Agent used to enable self-scraping, [Docs](https://grafana.com/docs/agent/latest/configuration/server-config/) | -| `grafana_agent_metrics_config` | see [./defaults/main.yaml](./defaults/main.yaml) | Configures metric collection, [Docs](https://grafana.com/docs/agent/latest/configuration/metrics-config/) | -| `grafana_agent_logs_config` | see [./defaults/main.yaml](./defaults/main.yaml) | Configures logs collection, [Docs](https://grafana.com/docs/agent/latest/configuration/logs-config/) | -| `grafana_agent_traces_config` | see [./defaults/main.yaml](./defaults/main.yaml) | Configures traces collection, [Docs](https://grafana.com/docs/agent/latest/configuration/traces-config/) | -| `grafana_agent_integrations_config` | see [./defaults/main.yaml](./defaults/main.yaml) | Configures integrations for the agent, [Docs](https://grafana.com/docs/agent/latest/configuration/integrations/) | - -## OS Support -The Grafana Agent role has been tested on below Operating Systems -- Ubuntu 22.10, Ubunutu 22.04 LTS, Ubunutu 20.04 LTS, Ubunutu 18.04 LTS -- Fedora 37, Fedora 36 -- Debian 11, Debian 10, Debian 9 -- CentOS 9 Stream, CentOS 8 Stream, CentOS 7 -- AlmaLinux 9, AlmaLinux 8 -- RockyLinux 9, RockyLinux 8 - -## Example Playbooks - -See [examples](../../examples) - -## License - -See [LICENSE](https://github.com/grafana/grafana-ansible-collection/blob/main/LICENSE) - -## Author Information - -- [Grafana Labs](https://github.com/grafana) -- [Ishan Jain](https://github.com/ishanjainn) -- [Aaron Benton](https://github.com/bentonam) -- [Vitaly Zhuravlev](https://github.com/v-zhuravlev) diff --git a/ansible_collections/grafana/grafana/roles/grafana_agent/defaults/main.yaml b/ansible_collections/grafana/grafana/roles/grafana_agent/defaults/main.yaml deleted file mode 100644 index 31acc5bc6e..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana_agent/defaults/main.yaml +++ /dev/null @@ -1,196 +0,0 @@ ---- -# version of the agent to install -grafana_agent_version: latest - -# base download url. Github or mirror to download from -grafana_agent_base_download_url: "https://github.com/{{ _grafana_agent_github_org }}/{{ _grafana_agent_github_repo }}/releases/download" - -# directory to install the binary to -grafana_agent_install_dir: /opt/grafana-agent/bin - -# name to use for the binary -grafana_agent_binary: grafana-agent - -# directory to store the configuration files in -grafana_agent_config_dir: /etc/grafana-agent - -# name of the configuration file for the agent -grafana_agent_config_filename: config.yaml - -# name of the environment file loaded by the system unit file -grafana_agent_env_file: service.env - -# dictionary of additional custom settings for the systemd service file -grafana_agent_service_extra: {} - -# temporary directory to create on the controller/localhost where the archive will be downloaded to -grafana_agent_local_tmp_dir: /tmp/grafana-agent - -# data directory to create for the wal and positions -grafana_agent_data_dir: /var/lib/grafana-agent - -# wal directory to use, should be a sub-folder of grafana_agent_data_dir, will automatically be created when the agent starts -grafana_agent_wal_dir: "{{ grafana_agent_data_dir }}/wal" - -# positions directory to use, should be a sub-folder of grafana_agent_data_dir, will automatically be created when the agent starts -grafana_agent_positions_dir: "{{ grafana_agent_data_dir }}/positions" - -# mode to run Grafana Agent in. Can be "flow" or "static". -# Docs: https://grafana.com/docs/agent/latest/flow/ -grafana_agent_mode: static - -# os user to create for the agent to run as -grafana_agent_user: grafana-agent - -# os user group to create for the agent -grafana_agent_user_group: grafana-agent - -# Configurable user groups that the grafana agent can be put in so that it can access logs -# (See https://github.com/grafana/grafana-ansible-collection/issues/40) -grafana_agent_user_groups: [] - -# the shell for the user -grafana_agent_user_shell: /usr/sbin/nologin - -# whether or not to create a home directory for the user -grafana_agent_user_createhome: false - -# full path to the local binary if already downloaded or built on the controller -# this should only be set, if ansible is not downloading the binary and you have -# manually downloaded the binary -grafana_agent_local_binary_file: "" - -# dictionary of additional command-line flags, run grafana-agent --help for a complete list -# Docs: https://grafana.com/docs/agent/latest/static/configuration/flags/ -grafana_agent_flags_extra: - config.expand-env: 'true' - config.enable-read-api: 'false' - server.register-instrumentation: 'true' - server.http.address: 127.0.0.1:12345 - server.grpc.address: 127.0.0.1:12346 - -# sets Environment variables in the systemd service configuration. -grafana_agent_env_vars: {} - -# dictionary of key/pair values to write to the environment file that is loaded by the service, with the flag --config.expand-env=true -# any generated config files will support the expansion of environment variables at runtime by referencing ${ENVVAR}. -# be aware of boolean values, when output they will result in the proper-cased string "True" and "False" -grafana_agent_env_file_vars: {} - -# path to a config file on the controller that will be used instead of the provided configs below if specified. -grafana_agent_provisioned_config_file: "" - -################################################################################################# -# Configures the server of the Agent used to enable self-scraping # -################################################################################################# -# Docs: https://grafana.com/docs/agent/latest/static/configuration/server-config/ -# the entire dictionary value for this object is copied to the server: block in the config file -grafana_agent_server_config: - # Log only messages with the given severity or above. Supported values [debug, - # info, warn, error]. This level affects logging for all Agent-level logs, not - # just the HTTP and gRPC server. - # - # Note that some integrations use their own loggers which ignore this - # setting. - log_level: info - -################################################################################################# -# Configures metric collection # -################################################################################################# -# Docs: https://grafana.com/docs/agent/latest/static/configuration/metrics-config/ -# the entire dictionary value for this object is copied to the metrics: block in the config file -grafana_agent_metrics_config: - # Configure values for all Prometheus instances - # Docs: https://grafana.com/docs/agent/latest/static/configuration/metrics-config/#global_config - global: - # How frequently should Prometheus instances scrape. - scrape_interval: 1m - - # How long to wait before timing out a scrape from a target. - scrape_timeout: 10s - - # A dictionary of key/pair static labels to add for all metrics. - external_labels: {} - - # Default set of remote_write endpoints. If an instance doesn't define any - # remote_writes, it will use this list. - # Docs: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#remote_write - remote_write: [] - - # The list of Prometheus instances to launch with the agent. - # Docs: https://grafana.com/docs/agent/latest/static/configuration/metrics-config/#metrics_instance_config - configs: [] - # - name: name-of-scrape-job - # # Docs: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config - # scrape_configs: [] - # # Optional list of remote_write targets, if not specified metrics.global.remote_write is used - # # Docs: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#remote_write - # remote_write: [] - - # Configure the directory used by instances to store their WAL. - # - # The Grafana Agent assumes that all folders within wal_directory are managed by - # the agent itself. - wal_directory: "{{ grafana_agent_wal_dir }}" - # Configures how long ago an abandoned (not associated with an instance) WAL - # may be written to before being eligible to be deleted - wal_cleanup_age: 12h - # Configures how often checks for abandoned WALs to be deleted are performed. - # A value of 0 disables periodic cleanup of abandoned WALs - wal_cleanup_period: 30m - -################################################################################################# -# Configures logs collection # -################################################################################################# -# Docs: https://grafana.com/docs/agent/latest/static/configuration/logs-config/ -# the entire dictionary value for this object is copied to the logs: block in the config file -grafana_agent_logs_config: - # Directory to store Loki Promtail positions files in. Positions files are - # required to read logs, and are used to store the last read offset of log - # sources. The positions files will be stored in - # /.yml. - # - # Optional only if every config has a positions.filename manually provided. - # - # This directory will be automatically created if it doesn't exist. - positions_directory: "{{ grafana_agent_positions_dir }}" - # Configure values for all Loki Promtail instances. - global: - # Docs: https://grafana.com/docs/agent/latest/static/configuration/logs-config/#logs_instance_config - clients: [] - -################################################################################################# -# Configures traces collection # -################################################################################################# -# Docs: https://grafana.com/docs/agent/latest/static/configuration/traces-config/ -# the entire dictionary value for this object is copied to the traces: block in the config file -grafana_agent_traces_config: - # Docs: https://grafana.com/docs/agent/latest/static/configuration/traces-config/#traces_instance_config - configs: [] - -################################################################################################# -# Configures integrations for the agent # -################################################################################################# -# Docs: https://grafana.com/docs/agent/latest/static/configuration/integrations/ -# the entire dictionary value for this object is copied to the integrations: block in the config file -grafana_agent_integrations_config: - # Automatically collect metrics from enabled integrations. If disabled, - # integrations will be run but not scraped and thus not remote_written. Metrics - # for integrations will be exposed at /integrations//metrics - # and can be scraped by an external process. - scrape_integrations: true - # Controls the Agent integration - agent: - # Enables the Agent integration, allowing the Agent to automatically - # collect and send metrics about itself. - enabled: true - # Allows for relabeling labels on the target. - relabel_configs: [] - # Relabel metrics coming from the integration, allowing to drop series - # from the integration that you don't care about. - metric_relabel_configs: [] - - # Controls the node_exporter integration - # Docs: https://grafana.com/docs/agent/latest/static/configuration/integrations/node-exporter-config/ - node_exporter: - enabled: true diff --git a/ansible_collections/grafana/grafana/roles/grafana_agent/handlers/main.yaml b/ansible_collections/grafana/grafana/roles/grafana_agent/handlers/main.yaml deleted file mode 100644 index b5b01aabc8..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana_agent/handlers/main.yaml +++ /dev/null @@ -1,12 +0,0 @@ ---- -- name: Restart Grafana Agent - become: true - ansible.builtin.systemd: - name: grafana-agent - state: restarted - daemon_reload: true - listen: "restart grafana-agent" - -- name: Check Grafana Agent is started properly - ansible.builtin.include_tasks: ga-started.yaml - listen: "restart grafana-agent" diff --git a/ansible_collections/grafana/grafana/roles/grafana_agent/meta/main.yaml b/ansible_collections/grafana/grafana/roles/grafana_agent/meta/main.yaml deleted file mode 100644 index 7ef93089c8..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana_agent/meta/main.yaml +++ /dev/null @@ -1,25 +0,0 @@ ---- -dependencies: [] - -galaxy_info: - role_name: grafana_agent - author: Ishan Jain - description: Ansible Role to deploy Grafana Agent on Linux hosts. - license: "GPL-3.0-or-later" - min_ansible_version: "2.11" - platforms: - - name: Fedora - versions: - - "all" - - name: Debian - versions: - - "all" - - name: Ubuntu - versions: - - "all" - - name: EL - versions: - - "all" - galaxy_tags: - - grafana - - observability diff --git a/ansible_collections/grafana/grafana/roles/grafana_agent/tasks/configure.yaml b/ansible_collections/grafana/grafana/roles/grafana_agent/tasks/configure.yaml deleted file mode 100644 index 5f4db485e6..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana_agent/tasks/configure.yaml +++ /dev/null @@ -1,56 +0,0 @@ ---- -# these tasks are ran in both install and configure, as directories could have changed -- name: Configure directories - ansible.builtin.import_tasks: install/directories.yaml - -- name: Create a symbolic link - ansible.builtin.file: - src: "{{ grafana_agent_install_dir }}/{{ grafana_agent_binary }}" - dest: "/usr/local/bin/{{ grafana_agent_binary }}" - owner: root - group: root - state: link - -- name: Overwrite/Create Grafana Agent service - ansible.builtin.template: - src: grafana-agent.service.j2 - dest: "{{ _grafana_agent_systemd_dir }}/{{ _grafana_agent_systemd_unit }}" - owner: root - group: root - mode: 0644 - notify: "restart grafana-agent" - -- name: Create the Service Environment file - ansible.builtin.template: - src: EnvironmentFile.j2 - dest: "{{ grafana_agent_config_dir }}/{{ grafana_agent_env_file }}" - owner: root - group: "{{ grafana_agent_user_group }}" - mode: 0640 - notify: "restart grafana-agent" - -- name: Create Grafana Agent config - ansible.builtin.template: - src: config.yaml.j2 - dest: "{{ grafana_agent_config_dir }}/{{ grafana_agent_config_filename }}" - force: true - owner: root - group: "{{ grafana_agent_user_group }}" - mode: 0640 - notify: "restart grafana-agent" - when: grafana_agent_provisioned_config_file | length == 0 - -- name: Create Grafana Agent River Config if flow mode for Grafana Agent - ansible.builtin.shell: "AGENT_MODE=flow {{ grafana_agent_install_dir }}/grafana-agent convert -f static {{ grafana_agent_config_dir }}/{{ grafana_agent_config_filename }} -o {{ grafana_agent_config_dir }}/{{ grafana_agent_config_filename }}" - notify: "restart grafana-agent" - when: grafana_agent_provisioned_config_file | length == 0 - -- name: Copy Grafana Agent config - ansible.builtin.copy: - src: "{{ grafana_agent_provisioned_config_file }}" - dest: "{{ grafana_agent_config_dir }}/{{ grafana_agent_config_filename }}" - owner: root - group: "{{ grafana_agent_user_group }}" - mode: 0640 - notify: "restart grafana-agent" - when: grafana_agent_provisioned_config_file | length > 0 diff --git a/ansible_collections/grafana/grafana/roles/grafana_agent/tasks/ga-started.yaml b/ansible_collections/grafana/grafana/roles/grafana_agent/tasks/ga-started.yaml deleted file mode 100644 index cf66893d92..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana_agent/tasks/ga-started.yaml +++ /dev/null @@ -1,29 +0,0 @@ ---- -- name: Health check Grafana Agent - ansible.builtin.uri: - url: "{{ _grafana_agent_healthcheck_endpoint }}" - follow_redirects: none - method: GET - register: _result - failed_when: false - until: _result.status == 200 - retries: 3 - delay: 5 - changed_when: false - when: not ansible_check_mode - -- name: Check system logs if Grafana Agent is not started - when: not ansible_check_mode and _result.status != 200 - block: - - name: Run journalctl - ansible.builtin.shell: - cmd: "journalctl -u grafana-agent -b -n20 --no-pager" - register: journal_ret - changed_when: false - - name: Output Grafana agent logs - ansible.builtin.debug: - var: journal_ret.stdout_lines - - name: Rise alerts - ansible.builtin.assert: - that: false - fail_msg: "Service grafana-agent hasn't started." diff --git a/ansible_collections/grafana/grafana/roles/grafana_agent/tasks/install.yaml b/ansible_collections/grafana/grafana/roles/grafana_agent/tasks/install.yaml deleted file mode 100644 index ff101eb77f..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana_agent/tasks/install.yaml +++ /dev/null @@ -1,19 +0,0 @@ ---- -# user and group creation -- name: Configure user groups - ansible.builtin.import_tasks: install/user-group.yaml - -# directory creation -- name: Configure directories - ansible.builtin.import_tasks: install/directories.yaml - -# download and install agent -- name: Download and install Grafana Agent - ansible.builtin.import_tasks: install/download-install.yaml - when: (grafana_agent_local_binary_file is not defined) or (grafana_agent_local_binary_file | length == 0) - -# local install of agent -- name: Local install of Grafana Agent - ansible.builtin.import_tasks: - file: install/local-install.yaml - when: __grafana_agent_local_install diff --git a/ansible_collections/grafana/grafana/roles/grafana_agent/tasks/install/directories.yaml b/ansible_collections/grafana/grafana/roles/grafana_agent/tasks/install/directories.yaml deleted file mode 100644 index 13f3851a4f..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana_agent/tasks/install/directories.yaml +++ /dev/null @@ -1,26 +0,0 @@ ---- -- name: Create install directories - block: - - name: Create Grafana Agent install directory - ansible.builtin.file: - path: "{{ grafana_agent_install_dir }}" - state: directory - owner: root - group: "{{ grafana_agent_user_group }}" - mode: 0770 - - - name: Create Grafana Agent conf directory - ansible.builtin.file: - path: "{{ grafana_agent_config_dir }}" - state: directory - owner: root - group: "{{ grafana_agent_user_group }}" - mode: 0770 - - - name: Create Grafana Agent data directory - ansible.builtin.file: - path: "{{ grafana_agent_data_dir }}" - state: directory - owner: root - group: "{{ grafana_agent_user_group }}" - mode: 0775 diff --git a/ansible_collections/grafana/grafana/roles/grafana_agent/tasks/install/download-install.yaml b/ansible_collections/grafana/grafana/roles/grafana_agent/tasks/install/download-install.yaml deleted file mode 100644 index 6cb1c96b3b..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana_agent/tasks/install/download-install.yaml +++ /dev/null @@ -1,48 +0,0 @@ ---- -- name: Download Grafana Agent binary to controller (localhost) - block: - - name: Create Grafana Agent temp directory - become: false - ansible.builtin.file: - path: "{{ grafana_agent_local_tmp_dir }}" - state: directory - mode: 0751 - delegate_to: localhost - check_mode: false - run_once: true - - - name: Download Grafana Agent archive to local folder - become: false - ansible.builtin.get_url: - url: "{{ _grafana_agent_download_url }}" - dest: "{{ grafana_agent_local_tmp_dir }}/grafana-agent_{{ _grafana_agent_cpu_arch }}_{{ grafana_agent_version }}.zip" - mode: 0664 - register: _download_archive - until: _download_archive is succeeded - retries: 5 - delay: 2 - delegate_to: localhost - check_mode: false - run_once: true - - - name: Extract grafana-agent.zip - become: false - ansible.builtin.unarchive: - src: "{{ grafana_agent_local_tmp_dir }}/grafana-agent_{{ _grafana_agent_cpu_arch }}_{{ grafana_agent_version }}.zip" - dest: "{{ grafana_agent_local_tmp_dir }}" - remote_src: false - delegate_to: localhost - run_once: true - - - name: Set local path - ansible.builtin.set_fact: - __grafana_agent_local_binary_file: "{{ grafana_agent_local_tmp_dir }}/{{ grafana_agent_binary }}" - - - name: Propagate downloaded binary - ansible.builtin.copy: - src: "{{ grafana_agent_local_tmp_dir }}/{{ _grafana_agent_download_binary_file }}" - dest: "{{ grafana_agent_install_dir }}/{{ grafana_agent_binary }}" - mode: 0755 - owner: root - group: root - when: not ansible_check_mode diff --git a/ansible_collections/grafana/grafana/roles/grafana_agent/tasks/install/local-install.yaml b/ansible_collections/grafana/grafana/roles/grafana_agent/tasks/install/local-install.yaml deleted file mode 100644 index a2859bb41b..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana_agent/tasks/install/local-install.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -- name: Install from local - block: - - name: "Propagate local binary {{ grafana_agent_local_binary_file }}" - ansible.builtin.copy: - src: "{{ grafana_agent_local_binary_file }}" - dest: "{{ grafana_agent_install_dir }}/{{ grafana_agent_binary }}" - mode: 0755 - owner: root - group: root diff --git a/ansible_collections/grafana/grafana/roles/grafana_agent/tasks/install/user-group.yaml b/ansible_collections/grafana/grafana/roles/grafana_agent/tasks/install/user-group.yaml deleted file mode 100644 index 7b6ba7a00c..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana_agent/tasks/install/user-group.yaml +++ /dev/null @@ -1,38 +0,0 @@ ---- -- name: Grafana Agent group creation - block: - - name: "Check if the group exists ({{ grafana_agent_user_group }})" - ansible.builtin.getent: - database: group - key: "{{ grafana_agent_user_group }}" - fail_key: false - - - name: Set whether not the user group exists - ansible.builtin.set_fact: - __grafana_agent_user_group_exists: "{{ ansible_facts.getent_group[grafana_agent_user_group] is not none }}" - - - name: Add user group "{{ grafana_agent_user_group }}" - ansible.builtin.group: - name: "{{ grafana_agent_user_group }}" - system: true - state: present - when: not __grafana_agent_user_group_exists and grafana_agent_user_group != 'root' - - - name: Grafana Agent user group exists - ansible.builtin.debug: - msg: |- - The user group \"{{ grafana_agent_user_group }}\" already exists and will not be modified, - if modifying permissions please perform a separate task - when: __grafana_agent_user_group_exists - -- name: Grafana Agent user creation - block: - - name: Add user "{{ grafana_agent_user }}" - ansible.builtin.user: - name: "{{ grafana_agent_user }}" - comment: "Grafana Agent account" - groups: "{{ [ grafana_agent_user_group ] + grafana_agent_user_groups }}" - system: true - shell: "{{ grafana_agent_user_shell }}" - createhome: "{{ grafana_agent_user_createhome }}" - when: grafana_agent_user != 'root' diff --git a/ansible_collections/grafana/grafana/roles/grafana_agent/tasks/main.yaml b/ansible_collections/grafana/grafana/roles/grafana_agent/tasks/main.yaml deleted file mode 100644 index 7677b0a627..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana_agent/tasks/main.yaml +++ /dev/null @@ -1,48 +0,0 @@ ---- -- name: Preflight tasks - ansible.builtin.include_tasks: - file: preflight.yaml - apply: - become: true - tags: - - grafana_agent_install - - grafana_agent_configure - - grafana_agent_run - tags: - - grafana_agent_install - - grafana_agent_configure - - grafana_agent_run - -- name: Install tasks - ansible.builtin.include_tasks: - file: install.yaml - apply: - become: true - tags: - - grafana_agent_install - tags: - - grafana_agent_install - -- name: Configuration tasks - ansible.builtin.include_tasks: - file: configure.yaml - apply: - become: true - tags: - - grafana_agent_configure - tags: - - grafana_agent_configure - -- name: Flush handlers - ansible.builtin.meta: flush_handlers - -- name: Ensure Grafana Agent is started and enabled on boot - become: true - ansible.builtin.systemd: - name: grafana-agent - enabled: true - state: started - tags: - - grafana_agent_install - - grafana_agent_configure - - grafana_agent_run diff --git a/ansible_collections/grafana/grafana/roles/grafana_agent/tasks/preflight.yaml b/ansible_collections/grafana/grafana/roles/grafana_agent/tasks/preflight.yaml deleted file mode 100644 index 09b86d6bbe..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana_agent/tasks/preflight.yaml +++ /dev/null @@ -1,12 +0,0 @@ ---- -- name: Preflight variable checks - ansible.builtin.import_tasks: preflight/vars.yaml - -- name: Systemd variable checks - ansible.builtin.import_tasks: preflight/systemd.yaml - -- name: Install variable checks - ansible.builtin.import_tasks: preflight/install.yaml - -- name: Download variable checks - ansible.builtin.import_tasks: preflight/download.yaml diff --git a/ansible_collections/grafana/grafana/roles/grafana_agent/tasks/preflight/download.yaml b/ansible_collections/grafana/grafana/roles/grafana_agent/tasks/preflight/download.yaml deleted file mode 100644 index d885c9b6a4..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana_agent/tasks/preflight/download.yaml +++ /dev/null @@ -1,36 +0,0 @@ ---- -- name: Get Grafana Agent version from Github - when: grafana_agent_version == 'latest' and not __grafana_agent_local_install - block: - - name: Get the latest published Grafana Agent # noqa command-instead-of-module - ansible.builtin.shell: | - curl -s https://api.github.com/repos/{{ _grafana_agent_github_org }}/{{ _grafana_agent_github_repo }}/releases/latest \ - | grep -m 1 tag_name \ - | cut -d '"' -f 4 | cut -c 2- - changed_when: false - run_once: true - delegate_to: localhost - become: false - register: _grafana_agent_version_request - - - name: Fail if cannot get Grafana Agent Version - ansible.builtin.fail: - msg: Issue getting the Grafana Agent Version - when: _grafana_agent_version_request == "" - - - name: Set the Grafana Agent version - ansible.builtin.set_fact: - grafana_agent_version: "{{ _grafana_agent_version_request.stdout }}" - - - name: Grafana Agent version to download - ansible.builtin.debug: - var: grafana_agent_version - -- name: Set the Grafana Agent download URL - ansible.builtin.set_fact: - _grafana_agent_download_url: |- - {{ grafana_agent_base_download_url }}/v{{ grafana_agent_version }}/{{ _grafana_agent_download_archive_file }} - -- name: Grafana Agent download URL - ansible.builtin.debug: - var: _grafana_agent_download_url diff --git a/ansible_collections/grafana/grafana/roles/grafana_agent/tasks/preflight/install.yaml b/ansible_collections/grafana/grafana/roles/grafana_agent/tasks/preflight/install.yaml deleted file mode 100644 index 833ececc18..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana_agent/tasks/preflight/install.yaml +++ /dev/null @@ -1,72 +0,0 @@ ---- -- name: Default to non-local install - ansible.builtin.set_fact: - __grafana_agent_local_install: false - -- name: Fail when grafana_agent_local_binary_file is defined but the file doesn't exist - when: grafana_agent_local_binary_file is defined and grafana_agent_local_binary_file | length > 0 - block: - - name: Check if grafana_agent_local_binary_file exists - ansible.builtin.stat: - path: "{{ grafana_agent_local_binary_file }}" - register: __grafana_agent_local_binary_check - become: false - delegate_to: localhost - check_mode: false - - - name: Fail when the grafana_agent_local_binary_file does not exist - ansible.builtin.fail: - msg: "The grafana_agent_local_binary_file ({{ grafana_agent_local_binary_file }}) was specified but does not exist" - when: not __grafana_agent_local_binary_check.stat.exists - - - name: Change to local install - ansible.builtin.set_fact: - __grafana_agent_local_install: true - -- name: Fail when grafana_agent_provisioned_config_file is defined but the file doesn't exist - when: grafana_agent_provisioned_config_file is defined and grafana_agent_provisioned_config_file | length > 0 - block: - - name: Check if grafana_agent_provisioned_config_file exists - ansible.builtin.stat: - path: "{{ grafana_agent_provisioned_config_file }}" - register: __grafana_agent_provisioned_config_file_check - become: false - delegate_to: localhost - check_mode: false - - - name: Fail when the grafana_agent_provisioned_config_file does not exist - ansible.builtin.fail: - msg: "The grafana_agent_provisioned_config_file ({{ grafana_agent_provisioned_config_file }}) was specified but does not exist" - when: not __grafana_agent_provisioned_config_file_check.stat.exists - -- name: Check if grafana_agent is already installed on the host - ansible.builtin.stat: - path: "{{ grafana_agent_install_dir }}/{{ grafana_agent_binary }}" - register: __grafana_agent_is_installed - check_mode: false - -- name: Is Grafana Agent already installed on the host - ansible.builtin.debug: - var: __grafana_agent_is_installed.stat.exists - -- name: Install checks - when: __grafana_agent_is_installed.stat.exists and not __grafana_agent_local_install - block: - - name: Gather currently installed grafana-agent version from the host - ansible.builtin.shell: - cmd: | - {{ grafana_agent_install_dir }}/{{ grafana_agent_binary }} --version | \ - head -n 1 | \ - awk '{ print $3; }' | \ - cut -d 'v' -f 2 - changed_when: false - register: __grafana_agent_current_version_output - check_mode: false - - - name: Set Grafana Agent installed version for the host - ansible.builtin.set_fact: - __grafana_agent_installed_version: "{{ __grafana_agent_current_version_output.stdout }}" - - - name: Grafana Agent installed version on host - ansible.builtin.debug: - var: __grafana_agent_installed_version diff --git a/ansible_collections/grafana/grafana/roles/grafana_agent/tasks/preflight/systemd.yaml b/ansible_collections/grafana/grafana/roles/grafana_agent/tasks/preflight/systemd.yaml deleted file mode 100644 index e5ccbec402..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana_agent/tasks/preflight/systemd.yaml +++ /dev/null @@ -1,28 +0,0 @@ ---- -- name: Assert usage of systemd as an init system - ansible.builtin.assert: - that: ansible_facts['service_mgr'] == 'systemd' - msg: This role only works with systemd - -- name: Get systemd version # noqa command-instead-of-module - ansible.builtin.command: systemctl --version - changed_when: false - check_mode: false - register: __systemd_version - -- name: Set systemd version fact - ansible.builtin.set_fact: - grafana_agent_systemd_version: "{{ __systemd_version.stdout_lines[0] | regex_replace('^systemd\\s(\\d+).*$', '\\1') }}" - -- name: Fail when _grafana_agent_systemd_dir the directory doesn't exist - block: - - name: Check if _grafana_agent_systemd_dir exists - ansible.builtin.stat: - path: "{{ _grafana_agent_systemd_dir }}" - register: ___grafana_agent_systemd_dir_check - check_mode: false - - - name: Fail when the _grafana_agent_systemd_dir directory does not exist - ansible.builtin.fail: - msg: "The _grafana_agent_systemd_dir ({{ _grafana_agent_systemd_dir }}) does not exist" - when: not ___grafana_agent_systemd_dir_check.stat.exists diff --git a/ansible_collections/grafana/grafana/roles/grafana_agent/tasks/preflight/vars.yaml b/ansible_collections/grafana/grafana/roles/grafana_agent/tasks/preflight/vars.yaml deleted file mode 100644 index dc133a4a1f..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana_agent/tasks/preflight/vars.yaml +++ /dev/null @@ -1,72 +0,0 @@ ---- -# Performs initial variable validation -- name: Fail when variables are not defined - ansible.builtin.fail: - msg: "The {{ item }} property must be set" - when: ( vars[item] is not defined ) - with_items: - - grafana_agent_version - - grafana_agent_install_dir - - grafana_agent_binary - - grafana_agent_config_dir - - grafana_agent_config_filename - - grafana_agent_env_file - - grafana_agent_local_tmp_dir - - grafana_agent_wal_dir - - grafana_agent_positions_dir - - grafana_agent_mode - - _grafana_agent_systemd_dir - - _grafana_agent_systemd_unit - - grafana_agent_user - - grafana_agent_user_group - - grafana_agent_user_shell - - grafana_agent_user_createhome - - grafana_agent_local_binary_file - - grafana_agent_flags_extra - - grafana_agent_env_vars - - grafana_agent_env_file_vars - - grafana_agent_provisioned_config_file - - grafana_agent_metrics_config - - grafana_agent_logs_config - - grafana_agent_traces_config - - grafana_agent_integrations_config - -- name: Fail when variables do not have a length - ansible.builtin.fail: - msg: "The {{ item }} property must be valued" - when: ( vars[item] | string | length == 0 ) - with_items: - - grafana_agent_version - - grafana_agent_install_dir - - grafana_agent_binary - - grafana_agent_config_dir - - grafana_agent_config_filename - - grafana_agent_env_file - - grafana_agent_local_tmp_dir - - grafana_agent_wal_dir - - grafana_agent_positions_dir - - grafana_agent_mode - - _grafana_agent_systemd_dir - - _grafana_agent_systemd_unit - - grafana_agent_user - - grafana_agent_user_group - - grafana_agent_user_shell - - grafana_agent_user_createhome - -- name: Fail when variables are not a number - ansible.builtin.fail: - msg: "The {{ item }} property must be number" - when: ( vars[item] is defined and vars[item] is not number) - with_items: [] - -- name: Fail when flags are not a boolean - ansible.builtin.fail: - msg: "The {{ item }} property must be a boolean true or false" - when: ( vars[item] | bool | string | lower ) not in ['true', 'false'] - with_items: - - grafana_agent_user_createhome - -- name: Fail when the agent mode is not "flow" or "static" - ansible.builtin.fail: - msg: "The grafana_agent_mode property must be a boolean 'flow' or 'static'" - when: grafana_agent_mode not in ['flow', 'static'] diff --git a/ansible_collections/grafana/grafana/roles/grafana_agent/templates/EnvironmentFile.j2 b/ansible_collections/grafana/grafana/roles/grafana_agent/templates/EnvironmentFile.j2 deleted file mode 100644 index 38022d018e..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana_agent/templates/EnvironmentFile.j2 +++ /dev/null @@ -1,9 +0,0 @@ -{{ ansible_managed | comment }} -# Grafana Agent Environment File -AGENT_MODE={{ grafana_agent_mode }} - -GOMAXPROCS={{ ansible_facts['processor_vcpus']|default(ansible_facts['processor_count']) }} - -{% for key, value in grafana_agent_env_file_vars.items() %} -{{key}}={{value}} -{% endfor %} diff --git a/ansible_collections/grafana/grafana/roles/grafana_agent/templates/config.yaml.j2 b/ansible_collections/grafana/grafana/roles/grafana_agent/templates/config.yaml.j2 deleted file mode 100644 index b36ee7a32d..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana_agent/templates/config.yaml.j2 +++ /dev/null @@ -1,39 +0,0 @@ ---- -{{ ansible_managed | comment }} - -################################################################################################# -# Configures the server of the Agent used to enable self-scraping # -################################################################################################# -# Docs: https://grafana.com/docs/agent/latest/configuration/server-config/ -server: - {{ grafana_agent_server_config | to_nice_yaml(indent=2,sort_keys=False) | indent(2) }} - -################################################################################################# -# Configures metric collection # -################################################################################################# -# Docs: https://grafana.com/docs/agent/latest/configuration/metrics-config/ -metrics: - {{ grafana_agent_metrics_config | to_nice_yaml(indent=2,sort_keys=False) | indent(2) }} - -################################################################################################# -# Configures logs collection # -################################################################################################# -# Docs: https://grafana.com/docs/agent/latest/configuration/logs-config/ -logs: - {{ grafana_agent_logs_config | to_nice_yaml(indent=2,sort_keys=False) | indent(2) }} - -{% if grafana_agent_mode == 'static' %} -################################################################################################# -# Configures traces collection # -################################################################################################# -# Docs: https://grafana.com/docs/agent/latest/configuration/traces-config/ -traces: - {{ grafana_agent_traces_config | to_nice_yaml(indent=2,sort_keys=False) | indent(2) }} -{% endif %} - -################################################################################################# -# Configures integrations for the agent # -################################################################################################# -# Docs: https://grafana.com/docs/agent/latest/configuration/integrations/ -integrations: - {{ grafana_agent_integrations_config | to_nice_yaml(indent=2,sort_keys=False) | indent(2) }} diff --git a/ansible_collections/grafana/grafana/roles/grafana_agent/templates/grafana-agent.service.j2 b/ansible_collections/grafana/grafana/roles/grafana_agent/templates/grafana-agent.service.j2 deleted file mode 100644 index b4d5bcef62..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana_agent/templates/grafana-agent.service.j2 +++ /dev/null @@ -1,65 +0,0 @@ -{{ ansible_managed | comment }} - -[Unit] -Description=Grafana Agent -Documentation=https://grafana.com/docs/agent/latest/ -After=network-online.target - -[Service] -Type=simple -User={{ grafana_agent_user }} -Group={{ grafana_agent_user_group }} -WorkingDirectory={{ grafana_agent_data_dir }} -{% for key, value in grafana_agent_env_vars.items() %} -Environment={{key}}={{value}} -{% endfor %} -EnvironmentFile={{ grafana_agent_config_dir }}/{{ grafana_agent_env_file}} -{% for key, value in grafana_agent_service_extra.items() %} -{{ key }}={{ value }} -{% endfor %} - -{% if grafana_agent_mode == 'flow' %} -ExecStart={{ grafana_agent_install_dir }}/{{ grafana_agent_binary }} run \ -{% for flag, flag_value in grafana_agent_flags_extra.items() %} -{% if not flag_value %} - --{{ flag }} \ -{% elif flag_value is string %} - --{{ flag }}={{ flag_value }} \ -{% elif flag_value is sequence %} -{% for flag_value_item in flag_value %} - --{{ flag }}={{ flag_value_item }} \ -{% endfor %} -{% endif %} -{% endfor %} - {{ grafana_agent_config_dir }}/{{ grafana_agent_config_filename }} -{% else %} -ExecStart={{ grafana_agent_install_dir }}/{{ grafana_agent_binary }} \ -{% for flag, flag_value in grafana_agent_flags_extra.items() %} -{% if not flag_value %} - --{{ flag }} \ -{% elif flag_value is string %} - --{{ flag }}={{ flag_value }} \ -{% elif flag_value is sequence %} -{% for flag_value_item in flag_value %} - --{{ flag }}={{ flag_value_item }} \ -{% endfor %} -{% endif %} -{% endfor %} - --config.file={{ grafana_agent_config_dir }}/{{ grafana_agent_config_filename }} -{% endif %} - -SyslogIdentifier=grafana-agent -Restart=always - -{% if grafana_agent_systemd_version | int >= 232 %} -ProtectSystem=strict -ProtectControlGroups=true -ProtectKernelModules=true -ProtectKernelTunables=yes -{% else %} -ProtectSystem=full -{% endif %} -ReadWritePaths=/tmp {{ grafana_agent_data_dir }} {{ grafana_agent_positions_dir }} {{ grafana_agent_wal_dir }} - -[Install] -WantedBy=multi-user.target diff --git a/ansible_collections/grafana/grafana/roles/grafana_agent/vars/main.yaml b/ansible_collections/grafana/grafana/roles/grafana_agent/vars/main.yaml deleted file mode 100644 index 092d5e9a46..0000000000 --- a/ansible_collections/grafana/grafana/roles/grafana_agent/vars/main.yaml +++ /dev/null @@ -1,29 +0,0 @@ ---- -_grafana_agent_github_org: grafana -_grafana_agent_github_repo: agent - -# set the go cpu arch -_download_cpu_arch_map: - i386: '386' - x86_64: amd64 - aarch64: arm64 - armv7l: armv7 - armv6l: armv6 - -_grafana_agent_cpu_arch: "{{ _download_cpu_arch_map[ansible_facts['architecture']] | default(ansible_facts['architecture']) }}" - -# set the go os family -_grafana_agent_os_family: "{{ ansible_facts['system'] | lower }}" - -# set the name of the archive file to download -_grafana_agent_download_archive_file: "grafana-agent-{{ _grafana_agent_os_family }}-{{ _grafana_agent_cpu_arch }}.zip" - -# set the name of the binary file -_grafana_agent_download_binary_file: "grafana-agent-{{ _grafana_agent_os_family }}-{{ _grafana_agent_cpu_arch }}" - -# systemd info -_grafana_agent_systemd_dir: /lib/systemd/system/ -_grafana_agent_systemd_unit: grafana-agent.service - -# Server http address, used in self health check after start -_grafana_agent_healthcheck_endpoint: "http://{{ grafana_agent_flags_extra['server.http.address'] if grafana_agent_flags_extra['server.http.address'] is defined else '127.0.0.1:12345' }}/-/ready" diff --git a/ansible_collections/grafana/grafana/roles/loki/README.md b/ansible_collections/grafana/grafana/roles/loki/README.md deleted file mode 100644 index 92b4da46fe..0000000000 --- a/ansible_collections/grafana/grafana/roles/loki/README.md +++ /dev/null @@ -1,247 +0,0 @@ -# Ansible role - Loki - -[![License](https://img.shields.io/github/license/grafana/grafana-ansible-collection)](LICENSE) - -The Ansible Loki Role allows you to effortlessly deploy and manage [Loki](https://grafana.com/oss/loki/), the log aggregation system. This role is tailored for operating systems such as **RedHat**, **Rocky Linux**, **AlmaLinux**, **Ubuntu**, and **Debian**. - -**🔑 Key Features** -- **📦 Out-of-the-box Deployment**: Get Loki up and running quickly with default configurations. -- **🧹 Effortless Uninstall**: Easily remove Loki from your system setting the "loki_uninstall" variable. -- **🔔 Example Alerting Rules**: Benefit from the included sample Ruler configuration. Utilize the provided example alerting rules as a reference guide for structuring your own rules effectively. - -## Table of Content - -- [Requirements](#requirements) -- [Role Variables](#role-variables) -- - [Default Variables - `defaults/main.yml`](#default-variables---defaultsmainyml) -- - [Alerting Rules Variables](#alerting-rules-variables) -- - [Additional Config Variables for `/etc/loki/config.yml`](#additional-config-variables-for-etclokiconfigyml) -- [Playbook](#playbook) - -## Requirements - -- Ansible 2.10+ - -## Role Variables - -- 📚 Official Loki configuration [documentation](https://grafana.com/docs/loki/latest/configuration/) -- 🏗️ Upgrading Loki [documentation](https://grafana.com/docs/loki/latest/upgrading/) - -### **Default Variables - `defaults/main.yml`** - -```yaml -loki_version: "latest" -``` - -The version of Loki to download and deploy. Supported standard version "3.0.0" format or "latest". - -```yaml -loki_uninstall: "false" -``` - -If set to `true` will perfom uninstall instead of deployment. - -```yaml -loki_http_listen_port: 3100 -``` -The TCP port on which Loki listens. By default, it listens on port `3100`. - -```yaml -loki_http_listen_address: "0.0.0.0" -``` -The address on which Loki listens for HTTP requests. By default, it listens on all interfaces. - -```yaml -loki_expose_port: false -``` -By default, this is set to `false`. It supports only simple `firewalld` configurations. If set to `true`, a firewalld rule is added to expose the TCP `loki_http_listen_port`. If set to `false`, the system ensures that the rule is not present. If the `firewalld.service` is not active, all firewalld tasks are skipped. - -```yaml -loki_download_url_rpm: "https://github.com/grafana/loki/releases/download/v{{ loki_version }}/loki-{{ loki_version }}.{{ __loki_arch }}.rpm" -``` -The default download URL for the Loki rpm package from GitHub. - -```yaml -loki_download_url_deb: "https://github.com/grafana/loki/releases/download/v{{ loki_version }}/loki_{{ loki_version }}_{{ __loki_arch }}.deb" -``` -The default download URL for the Loki deb package from GitHub. - -```yaml -loki_working_path: "/var/lib/loki" -``` -⚠️ Avoid using `/tmp/loki` as the working path. This role removes the /tmp/loki directory and replaces it with the specified working path to ensure a permanent configuration. - -```yaml -loki_ruler_alert_path: "{{ loki_working_path }}/rules/fake" -``` -The variable defines the location where the `ruler` configuration `alerts` are stored. -⚠️ Please note that the role currently does not support multi-tenancy for alerting, so there is no need to modify this variable for different tenants. - -```yaml -loki_auth_enabled: false -``` -Enables authentication through the X-Scope-OrgID header, which must be present if `true`. If `false`, the OrgID will always be set to `fake`. - -```yaml -loki_target: "all" -``` -A comma-separated list of components to run. The default value 'all' runs Loki in single binary mode. -Supported values: `all`, `compactor`, `distributor`, `ingester`, `querier`, `query-scheduler`, `ingester-querier`, `query-frontend`, `index-gateway`, `ruler`, `table-manager`, `read`, `write`. - -```yaml -loki_ballast_bytes: 0 -``` -The amount of virtual memory in bytes to reserve as ballast in order to optimize garbage collection. - -```yaml -loki_server: - http_listen_address: "{{ loki_http_listen_address }}" - http_listen_port: "{{ loki_http_listen_port }}" - grpc_listen_port: 9096 -``` -Configures the `server` of the launched module(s). [All possible values for `server`](https://grafana.com/docs/loki/latest/configuration/#server) - -```yaml -loki_common: - instance_addr: 127.0.0.1 - path_prefix: "{{ loki_working_path }}" - storage: - filesystem: - chunks_directory: "{{ loki_working_path }}/chunks" - rules_directory: "{{ loki_working_path }}/rules" - replication_factor: 1 - ring: - kvstore: - store: inmemory -``` -Common configuration to be shared between multiple modules. If a more specific configuration is given in other sections, the related configuration within this section will be ignored. [All possible values for `common`](https://grafana.com/docs/loki/latest/configuration/#common) - -```yaml -loki_query_range: - results_cache: - cache: - embedded_cache: - enabled: true - max_size_mb: 100 -``` -The `query_range` block configures the query splitting and caching in the Loki query-frontend. [All possible values for `query_range`](https://grafana.com/docs/loki/latest/configuration/#query_range) - -```yaml -loki_schema_config: - configs: - - from: 2020-10-24 - store: tsdb - object_store: filesystem - schema: v13 - index: - prefix: index_ - period: 24h -``` -Configures the chunk index schema and where it is stored. [All possible values for `schema_config`](https://grafana.com/docs/loki/latest/configuration/#schema_config) - -```yaml -loki_ruler: - storage: - type: local - local: - directory: "{{ loki_working_path }}/rules" - rule_path: "{{ loki_working_path }}/rules_tmp" - ring: - kvstore: - store: inmemory - enable_api: true - enable_alertmanager_v2: true - alertmanager_url: http://localhost:9093 -``` -The `ruler` block configures the Loki ruler. [All possible values for `ruler`](https://grafana.com/docs/loki/latest/configuration/#ruler) - -```yaml -loki_analytics: - reporting_enabled: false -``` -Enable anonymous usage reporting. Disabled by default. - - -### **Alerting Rules Variables** -(not set by default) - -```yaml ---- -loki_ruler_alerts: - - name: Logs.Nextcloud - rules: - - alert: NextcloudLoginFailed - expr: | - count by (filename,env,job) (count_over_time({job=~"nextcloud"} | json | message=~"Login failed.*" [10m])) > 4 - for: 0m - labels: - severity: critical - annotations: - summary: "{% raw %}On {{ $labels.job }} in log {{ $labels.filename }} failed login detected.{% endraw %}" - - name: Logs.sshd - rules: - - alert: SshLoginFailed - expr: | - count_over_time({job=~"secure"} |="sshd[" |~": Failed|: Invalid|: Connection closed by authenticating user" | __error__="" [15m]) > 15 - for: 0m - labels: - severity: critical - annotations: - summary: "{% raw %}SSH authentication failure (instance {{ $labels.instance }}).{% endraw %}" -``` -Example alerting rule configuration. You can add multiple alerting rules to suit your requirements. Please note that the alerting rules are not templated by default - -### **Additional Config Variables for `/etc/loki/config.yml`** -(not set by default) - -Below variables allow you to extend Loki configuration to fit your needs. Always refer to official [Loki configuration](https://grafana.com/docs/loki/latest/configuration/) to obtain possible configuration parameters. - -| Variable Name | Description -| ----------- | ----------- | -| `loki_distributor` | Configures the `distributor`. 📚 [documentation](https://grafana.com/docs/loki/latest/configuration/#distributor) -| `loki_querier` | Configures the `querier`. Only appropriate when running all modules or just the querier. 📚 [documentation](https://grafana.com/docs/loki/latest/configuration/#querier) -| `loki_query_scheduler` | The `query_scheduler` block configures the Loki query scheduler. When configured it separates the tenant query queues from the query-frontend. 📚 [documentation](https://grafana.com/docs/loki/latest/configuration/#query_scheduler) -| `loki_frontend` | The `frontend` block configures the Loki query-frontend. 📚 [documentation](https://grafana.com/docs/loki/latest/configuration/#frontend) -| `loki_ingester_client` | The `ingester_client` block configures how the distributor will connect to ingesters. Only appropriate when running all components, the distributor, or the querier. 📚 [documentation](https://grafana.com/docs/loki/latest/configuration/#ingester_client) -| `loki_ingester` | The `ingester` block configures the ingester and how the ingester will register itself to a key value store. 📚 configuration [documentation](https://grafana.com/docs/loki/latest/configuration/#ingester) -| `loki_index_gateway` | The `index_gateway` block configures the Loki index gateway server, responsible for serving index queries without the need to constantly interact with the object store. 📚 [documentation](https://grafana.com/docs/loki/latest/configuration/#index_gateway) -| `loki_storage_config` | The `storage_config` block configures one of many possible stores for both the index and chunks. Which configuration to be picked should be defined in schema_config block. 📚 [documentation](https://grafana.com/docs/loki/latest/configuration/#storage_config) -| `loki_chunk_store_config` | The `chunk_store_config` block configures how chunks will be cached and how long to wait before saving them to the backing store. 📚 [documentation](https://grafana.com/docs/loki/latest/configuration/#chunk_store_config) -| `loki_compactor` | The `compactor` block configures the compactor component, which compacts index shards for performance. 📚 [documentation](https://grafana.com/docs/loki/latest/configure/#compactor) -| `loki_limits_config` | The `limits_config` block configures global and per-tenant limits in Loki. 📚 [documentation](https://grafana.com/docs/loki/latest/configuration/#limits_config) -| `loki_frontend_worker` | The `frontend_worker` configures the worker - running within the Loki querier - picking up and executing queries enqueued by the query-frontend. 📚 [documentation](https://grafana.com/docs/loki/latest/configuration/#frontend_worker) -| `loki_table_manager` | The `table_manager` block configures the table manager for retention. 📚 [documentation](https://grafana.com/docs/loki/latest/configuration/#table_manager) -| `loki_memberlist` | Configuration for memberlist client. Only applies if the selected kvstore is memberlist. 📚 [documentation](https://grafana.com/docs/loki/latest/configuration/#memberlist) -| `loki_runtime_config` | Configuration for `runtime config` module, responsible for reloading runtime configuration file. 📚 [documentation](https://grafana.com/docs/loki/latest/configuration/#runtime_config) -| `loki_operational_config` | These are values which allow you to control aspects of Loki's operation, most commonly used for controlling types of higher verbosity logging, the values here can be overridden in the configs section of the `runtime_config` file. 📚 [documentation](https://grafana.com/docs/loki/latest/configure/#operational_config) -| `loki_tracing` | Configuration for tracing. 📚 [documentation](https://grafana.com/docs/loki/latest/configuration/#tracing) -| `loki_bloom_build` | The `bloom_build` block configures the Loki bloom planner and builder servers, responsible for building bloom filters. 📚 [documentation](https://grafana.com/docs/loki/latest/configure/#bloom_build) -| `loki_bloom_gateway` | The `bloom_gateway` block configures the Loki bloom gateway server, responsible for serving queries for filtering chunks based on filter expressions. 📚 [documentation](https://grafana.com/docs/loki/latest/configure/#bloom_gateway) - -## Playbook - -- playbook -```yaml -- name: Manage loki service - hosts: all - become: true - roles: - - role: grafana.grafana.loki -``` - -- Playbook execution example -```shell -# Deployment -ansible-playbook -i inventory/hosts playbook/function_loki_play.yml - -# Uninstall -ansible-playbook -i inventory/hosts playbook/function_loki_play.yml -e "loki_uninstall=true" -``` - -## License - -See [LICENSE](https://github.com/grafana/grafana-ansible-collection/blob/main/LICENSE) - -## Author Information - -- [VoidQuark](https://github.com/voidquark) diff --git a/ansible_collections/grafana/grafana/roles/loki/defaults/main.yml b/ansible_collections/grafana/grafana/roles/loki/defaults/main.yml deleted file mode 100644 index 8718ac2e7f..0000000000 --- a/ansible_collections/grafana/grafana/roles/loki/defaults/main.yml +++ /dev/null @@ -1,110 +0,0 @@ ---- -# defaults file for loki -loki_version: "latest" -loki_uninstall: false -loki_http_listen_port: 3100 -loki_http_listen_address: "0.0.0.0" -loki_expose_port: false -loki_download_url_rpm: "https://github.com/grafana/loki/releases/download/v{{ loki_version }}/loki-{{ loki_version }}.{{ __loki_arch }}.rpm" -loki_download_url_deb: "https://github.com/grafana/loki/releases/download/v{{ loki_version }}/loki_{{ loki_version }}_{{ __loki_arch }}.deb" -loki_working_path: "/var/lib/loki" -loki_ruler_alert_path: "{{ loki_working_path }}/rules/fake" - -# Default Variables for /etc/loki/config.yml -loki_auth_enabled: false -loki_target: "all" -loki_ballast_bytes: 0 - -loki_server: - http_listen_address: "{{ loki_http_listen_address }}" - http_listen_port: "{{ loki_http_listen_port }}" - grpc_listen_port: 9096 - -loki_common: - instance_addr: 127.0.0.1 - path_prefix: "{{ loki_working_path }}" - storage: - filesystem: - chunks_directory: "{{ loki_working_path }}/chunks" - rules_directory: "{{ loki_working_path }}/rules" - replication_factor: 1 - ring: - kvstore: - store: inmemory - -loki_query_range: - results_cache: - cache: - embedded_cache: - enabled: true - max_size_mb: 100 - -loki_schema_config: - configs: - - from: 2020-10-24 - store: tsdb - object_store: filesystem - schema: v13 - index: - prefix: index_ - period: 24h - -loki_ruler: - storage: - type: local - local: - directory: "{{ loki_working_path }}/rules" - rule_path: "{{ loki_working_path }}/rules_tmp" - ring: - kvstore: - store: inmemory - enable_api: true - enable_alertmanager_v2: true - alertmanager_url: http://localhost:9093 - -loki_analytics: - reporting_enabled: false - -# Alerting Rules Variables -# loki_ruler_alerts: -# - name: Logs.Nextcloud -# rules: -# - alert: NextcloudLoginFailed -# expr: | -# count by (filename,env,job) (count_over_time({job=~"nextcloud"} | json | message=~"Login failed.*" [10m])) > 4 -# for: 0m -# labels: -# severity: critical -# annotations: -# summary: "{% raw %}On {{ $labels.job }} in log {{ $labels.filename }} failed login detected.{% endraw %}" -# - name: Logs.sshd -# rules: -# - alert: SshLoginFailed -# expr: | -# count_over_time({job=~"secure"} |="sshd[" |~": Failed|: Invalid|: Connection closed by authenticating user" | __error__="" [15m]) > 15 -# for: 0m -# labels: -# severity: critical -# annotations: -# summary: "{% raw %}SSH authentication failure (instance {{ $labels.instance }}).{% endraw %}" - -# Additional Config Variables for /etc/loki/config.yml -# loki_distributor: -# loki_querier: -# loki_query_scheduler: -# loki_frontend: -# loki_ingester_client: -# loki_ingester: -# loki_index_gateway: -# loki_storage_config: -# loki_chunk_store_config: -# loki_compactor: -# loki_limits_config: -# loki_frontend_worker: -# loki_table_manager: -# loki_memberlist: -# loki_runtime_config: -# loki_operational_config: -# loki_tracing: -# loki_bloom_build: -# loki_bloom_gateway: diff --git a/ansible_collections/grafana/grafana/roles/loki/handlers/main.yml b/ansible_collections/grafana/grafana/roles/loki/handlers/main.yml deleted file mode 100644 index 76104495c8..0000000000 --- a/ansible_collections/grafana/grafana/roles/loki/handlers/main.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- -# handlers file for loki -- name: Restart loki - listen: "restart loki" - ansible.builtin.systemd: - daemon_reload: true - name: loki.service - state: restarted - enabled: true - when: not ansible_check_mode diff --git a/ansible_collections/grafana/grafana/roles/loki/meta/main.yml b/ansible_collections/grafana/grafana/roles/loki/meta/main.yml deleted file mode 100644 index b66e783d3c..0000000000 --- a/ansible_collections/grafana/grafana/roles/loki/meta/main.yml +++ /dev/null @@ -1,28 +0,0 @@ ---- -galaxy_info: - role_name: loki - author: voidquark - description: Manage Grafana Loki Application - license: "GPL-3.0-or-later" - min_ansible_version: "2.10" - platforms: - - name: EL - versions: - - "8" - - "9" - - name: Fedora - versions: - - all - - name: Debian - versions: - - all - - name: Ubuntu - versions: - - all - galaxy_tags: - - loki - - grafana - - logging - - monitoring - -dependencies: [] diff --git a/ansible_collections/grafana/grafana/roles/loki/molecule/default/converge.yml b/ansible_collections/grafana/grafana/roles/loki/molecule/default/converge.yml deleted file mode 100644 index 1f2ce7f5cf..0000000000 --- a/ansible_collections/grafana/grafana/roles/loki/molecule/default/converge.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -- name: Converge - hosts: all - roles: - - role: grafana.grafana.loki diff --git a/ansible_collections/grafana/grafana/roles/loki/molecule/default/molecule.yml b/ansible_collections/grafana/grafana/roles/loki/molecule/default/molecule.yml deleted file mode 100644 index 339965a50e..0000000000 --- a/ansible_collections/grafana/grafana/roles/loki/molecule/default/molecule.yml +++ /dev/null @@ -1,20 +0,0 @@ ---- -dependency: - name: galaxy - options: - ignore-errors: true -driver: - name: docker -platforms: - - name: instance - image: "geerlingguy/docker-${MOLECULE_DISTRO:-rockylinux8}-ansible:latest" - command: ${MOLECULE_DOCKER_COMMAND:-""} - volumes: - - /sys/fs/cgroup:/sys/fs/cgroup:rw - cgroupns_mode: host - privileged: true - pre_build_image: true -provisioner: - name: ansible - playbooks: - converge: converge.yml diff --git a/ansible_collections/grafana/grafana/roles/loki/tasks/deploy.yml b/ansible_collections/grafana/grafana/roles/loki/tasks/deploy.yml deleted file mode 100644 index 1532b327cf..0000000000 --- a/ansible_collections/grafana/grafana/roles/loki/tasks/deploy.yml +++ /dev/null @@ -1,150 +0,0 @@ ---- -# tasks file for loki deployment - -- name: Obtain the latest version from the Loki GitHub repo - when: loki_version == "latest" - block: - - name: Scrape Github API endpoint to obtain latest Loki version - ansible.builtin.uri: - url: "https://api.github.com/repos/grafana/loki/releases/latest" - method: GET - body_format: json - become: false - delegate_to: localhost - run_once: true - check_mode: false - register: __github_latest_version - - - name: Latest available Loki version - ansible.builtin.set_fact: - loki_version: "{{ __github_latest_version.json.tag_name | regex_replace('^v?(\\d+\\.\\d+\\.\\d+)$', '\\1') }}" - -- name: Verify current deployed version - block: - - name: Check if Loki binary is present - ansible.builtin.stat: - path: "/usr/bin/loki" - register: __already_deployed - - - name: Obtain current deployed Loki version - ansible.builtin.command: - cmd: "/usr/bin/loki --version" - changed_when: false - register: __current_deployed_version - when: __already_deployed.stat.exists | bool - -- name: Include RedHat/Rocky setup - ansible.builtin.include_tasks: - file: setup-RedHat.yml - when: ansible_facts['os_family'] in ['RedHat', 'Rocky'] - -- name: Include Debian/Ubuntu setup - ansible.builtin.include_tasks: - file: setup-Debian.yml - when: ansible_facts['os_family'] == 'Debian' - -- name: Check if Loki default dir is present - ansible.builtin.stat: - path: "/tmp/loki/boltdb-shipper-active" - register: __default_structure - -- name: Default structure cleanup - when: __default_structure.stat.exists | bool - block: - - name: Ensure that Loki is stopped before default cleanup - ansible.builtin.systemd: - name: loki.service - state: stopped - - - name: Remove default configuration from "/tmp/loki" directory - ansible.builtin.file: - path: "/tmp/loki" - state: absent - -- name: Ensure that Loki working path exists - ansible.builtin.file: - path: "{{ loki_working_path }}" - state: directory - owner: "loki" - group: "root" - mode: "0755" - -- name: Template Loki config - /etc/loki/config.yml - ansible.builtin.template: - src: "config.yml.j2" - dest: "/etc/loki/config.yml" - owner: "root" - group: "root" - mode: "0644" - validate: "/usr/bin/loki --verify-config -config.file %s" - notify: restart loki - -- name: Ensure that Loki rule path exists - ansible.builtin.file: - path: "{{ loki_ruler_alert_path }}" - state: directory - owner: "loki" - group: "root" - mode: "0750" - when: - - loki_ruler_alert_path is defined - - loki_ruler is defined - -- name: Template Loki Rule File - ansible.builtin.template: - src: "rules.yml.j2" - dest: "{{ loki_ruler_alert_path }}/rules.yml" - owner: "loki" - group: "root" - mode: "0644" - notify: restart loki - when: - - loki_ruler_alerts is defined - - loki_ruler_alert_path is defined - - loki_ruler is defined - -- name: Get firewalld state - ansible.builtin.systemd: - name: "firewalld" - register: __firewalld_service_state - -- name: Enable firewalld rule to expose Loki tcp port {{ loki_http_listen_port }} - ansible.posix.firewalld: - immediate: true - permanent: true - port: "{{ loki_http_listen_port }}/tcp" - state: enabled - when: - - __firewalld_service_state.status.ActiveState == "active" - - loki_expose_port | bool - -- name: Ensure that Loki firewalld rule is not present - tcp port {{ loki_http_listen_port }} - ansible.posix.firewalld: - immediate: true - permanent: true - port: "{{ loki_http_listen_port }}/tcp" - state: disabled - when: - - __firewalld_service_state.status.ActiveState == "active" - - not loki_expose_port | bool - -- name: Flush handlers after deployment - ansible.builtin.meta: flush_handlers - -- name: Ensure that Loki is started - ansible.builtin.systemd: - name: loki.service - state: started - when: not ansible_check_mode - -- name: Verify that Loki URL is responding - ansible.builtin.uri: - url: "http://{{ loki_http_listen_address }}:{{ loki_http_listen_port }}/ready" - method: GET - register: loki_verify_url_status_code - retries: 5 - delay: 8 - until: loki_verify_url_status_code.status == 200 - when: - - loki_expose_port | bool - - not ansible_check_mode diff --git a/ansible_collections/grafana/grafana/roles/loki/tasks/main.yml b/ansible_collections/grafana/grafana/roles/loki/tasks/main.yml deleted file mode 100644 index 8e9a63ff92..0000000000 --- a/ansible_collections/grafana/grafana/roles/loki/tasks/main.yml +++ /dev/null @@ -1,15 +0,0 @@ ---- -# tasks file for loki -- name: Include OS specific variables - ansible.builtin.include_vars: - file: "{{ ansible_facts['os_family'] }}.yml" - -- name: Deploy Loki service - ansible.builtin.include_tasks: - file: "deploy.yml" - when: not loki_uninstall - -- name: Uninstall Loki service - ansible.builtin.include_tasks: - file: "uninstall.yml" - when: loki_uninstall diff --git a/ansible_collections/grafana/grafana/roles/loki/tasks/setup-Debian.yml b/ansible_collections/grafana/grafana/roles/loki/tasks/setup-Debian.yml deleted file mode 100644 index c71af7f44e..0000000000 --- a/ansible_collections/grafana/grafana/roles/loki/tasks/setup-Debian.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: APT - Install Loki - ansible.builtin.apt: - deb: "{{ loki_download_url_deb }}" - state: present - notify: restart loki - when: __current_deployed_version.stdout is not defined or loki_version not in __current_deployed_version.stdout diff --git a/ansible_collections/grafana/grafana/roles/loki/tasks/setup-RedHat.yml b/ansible_collections/grafana/grafana/roles/loki/tasks/setup-RedHat.yml deleted file mode 100644 index 91e60c5043..0000000000 --- a/ansible_collections/grafana/grafana/roles/loki/tasks/setup-RedHat.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- name: DNF - Install Loki from remote URL - ansible.builtin.dnf: - name: "{{ loki_download_url_rpm }}" - state: present - disable_gpg_check: true - notify: restart loki - when: __current_deployed_version.stdout is not defined or loki_version not in __current_deployed_version.stdout diff --git a/ansible_collections/grafana/grafana/roles/loki/tasks/uninstall.yml b/ansible_collections/grafana/grafana/roles/loki/tasks/uninstall.yml deleted file mode 100644 index d82b65f498..0000000000 --- a/ansible_collections/grafana/grafana/roles/loki/tasks/uninstall.yml +++ /dev/null @@ -1,51 +0,0 @@ ---- -# tasks file for loki uninstall - -- name: Stop Loki service - ansible.builtin.systemd: # noqa ignore-errors - name: loki - state: stopped - ignore_errors: true - -- name: Uninstall Loki rpm package - ansible.builtin.dnf: - name: "loki" - state: absent - autoremove: true - when: ansible_facts['os_family'] in ['RedHat', 'Rocky'] - -- name: Uninstall Loki deb package - ansible.builtin.apt: - name: "loki" - state: absent - purge: true - when: ansible_facts['os_family'] == 'Debian' - -- name: Ensure that Loki firewalld rule is not present - tcp port {{ loki_http_listen_port }} - ansible.posix.firewalld: # noqa ignore-errors - immediate: true - permanent: true - port: "{{ loki_http_listen_port }}/tcp" - state: disabled - ignore_errors: true - -- name: Remove Loki directories" - ansible.builtin.file: - path: "{{ remove_me }}" - state: absent - loop: - - "/etc/loki" - - "{{ loki_working_path }}" - loop_control: - loop_var: remove_me - -- name: Remove the Loki system user - ansible.builtin.user: - name: "loki" - force: true - state: absent - -- name: Remove Loki system group - ansible.builtin.group: - name: "loki" - state: absent diff --git a/ansible_collections/grafana/grafana/roles/loki/templates/config.yml.j2 b/ansible_collections/grafana/grafana/roles/loki/templates/config.yml.j2 deleted file mode 100644 index 60be6f5301..0000000000 --- a/ansible_collections/grafana/grafana/roles/loki/templates/config.yml.j2 +++ /dev/null @@ -1,107 +0,0 @@ -{% if loki_target is defined %} -target: {{ loki_target }} -{% endif %} -{% if loki_auth_enabled is defined %} -auth_enabled: {{ loki_auth_enabled }} -{% endif %} -{% if loki_ballast_bytes is defined %} -ballast_bytes: {{ loki_ballast_bytes }} -{% endif %} -server: - {{ loki_server | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% if loki_distributor is defined %} -distributor: - {{ loki_distributor | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% endif %} -{% if loki_querier is defined %} -querier: - {{ loki_querier | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% endif %} -{% if loki_query_scheduler is defined %} -query_scheduler: - {{ loki_query_scheduler | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% endif %} -{% if loki_frontend is defined %} -frontend: - {{ loki_frontend | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% endif %} -{% if loki_query_range is defined %} -query_range: - {{ loki_query_range | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% endif %} -{% if loki_ruler is defined %} -ruler: - {{ loki_ruler | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% endif %} -{% if loki_ingester_client is defined %} -ingester_client: - {{ loki_ingester_client | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% endif %} -{% if loki_ingester is defined %} -ingester: - {{ loki_ingester | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% endif %} -{% if loki_index_gateway is defined %} -index_gateway: - {{ loki_index_gateway | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% endif %} -{% if loki_storage_config is defined %} -storage_config: - {{ loki_storage_config | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% endif %} -{% if loki_chunk_store_config is defined %} -chunk_store_config: - {{ loki_chunk_store_config | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% endif %} -{% if loki_schema_config is defined %} -schema_config: - {{ loki_schema_config | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% endif %} -{% if loki_compactor is defined %} -compactor: - {{ loki_compactor | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% endif %} -{% if loki_limits_config is defined %} -limits_config: - {{ loki_limits_config | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% endif %} -{% if loki_frontend_worker is defined %} -frontend_worker: - {{ loki_frontend_worker | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% endif %} -{% if loki_table_manager is defined %} -table_manager: - {{ loki_table_manager | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% endif %} -{% if loki_memberlist is defined %} -memberlist: - {{ loki_memberlist | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% endif %} -{% if loki_runtime_config is defined %} -runtime_config: - {{ loki_runtime_config | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% endif %} -{% if loki_operational_config is defined %} -operational_config: - {{ loki_operational_config | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% endif %} -{% if loki_tracing is defined %} -tracing: - {{ loki_tracing | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% endif %} -{% if loki_analytics is defined %} -analytics: - {{ loki_analytics | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% endif %} -{% if loki_common is defined %} -common: - {{ loki_common | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% endif %} -{% if loki_bloom_build is defined %} -bloom_build: - {{ loki_bloom_build | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% endif %} -{% if loki_bloom_gateway is defined %} -bloom_gateway: - {{ loki_bloom_gateway | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% endif %} diff --git a/ansible_collections/grafana/grafana/roles/loki/templates/rules.yml.j2 b/ansible_collections/grafana/grafana/roles/loki/templates/rules.yml.j2 deleted file mode 100644 index a3dc3be25a..0000000000 --- a/ansible_collections/grafana/grafana/roles/loki/templates/rules.yml.j2 +++ /dev/null @@ -1,3 +0,0 @@ ---- -groups: - {{ loki_ruler_alerts | to_nice_yaml(indent=2,sort_keys=False) | indent(2,False) }} diff --git a/ansible_collections/grafana/grafana/roles/loki/vars/Debian.yml b/ansible_collections/grafana/grafana/roles/loki/vars/Debian.yml deleted file mode 100644 index e98017cecc..0000000000 --- a/ansible_collections/grafana/grafana/roles/loki/vars/Debian.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -__loki_arch_map: - x86_64: 'amd64' - armv6l: 'arm' - armv7l: 'arm' - aarch64: 'arm64' - -__loki_arch: "{{ __loki_arch_map[ansible_facts['architecture']] | default(ansible_facts['architecture']) }}" diff --git a/ansible_collections/grafana/grafana/roles/loki/vars/RedHat.yml b/ansible_collections/grafana/grafana/roles/loki/vars/RedHat.yml deleted file mode 100644 index ed969e787a..0000000000 --- a/ansible_collections/grafana/grafana/roles/loki/vars/RedHat.yml +++ /dev/null @@ -1,2 +0,0 @@ ---- -__loki_arch: "{{ ansible_facts['architecture'] }}" diff --git a/ansible_collections/grafana/grafana/roles/mimir/README.md b/ansible_collections/grafana/grafana/roles/mimir/README.md deleted file mode 100644 index 26061529ef..0000000000 --- a/ansible_collections/grafana/grafana/roles/mimir/README.md +++ /dev/null @@ -1,109 +0,0 @@ -# Ansible role - Mimir - -[![License](https://img.shields.io/github/license/grafana/grafana-ansible-collection)](LICENSE) - -This role installs and configures a [Mimir](https://grafana.com/docs/mimir/latest/) -standalone application. - -## Testing with Molecule - -To be able to test this collection locally, we use Molecule. Molecule is an Ansible test tool that enable us to run our roles inside containers. In our case, we are using Podman as a container runtime. To be able to run the Molecule test, you need to have the following installed on your machine: - -- Podman -- Ansible -- Python3 - -### First Time Setup - -To install all the dependencies, use the following commands: - -```sh -# Create a virtual environment -python -m venv .venv - -# On MacOS, WSL, Linux -source .venv/bin/activate - -# On Windows -.\.venv\Scripts\activate - -# Install dependencies -pip3 install ansible-core==2.16 'molecule-plugins[docker]' pytest-testinfra jmespath selinux passlib - -# Create molecule network -docker network create molecule -``` - -### Run Minio for local S3 - -To be able to run Mimir using an object store backend, run the following command - -```sh -docker run -d \ - -p 9000:9000 \ - -p 9001:9001 \ - --name minio-mimir \ - --network molecule \ - -e "MINIO_ROOT_USER=testtest" \ - -e "MINIO_ROOT_PASSWORD=testtest" \ - -e "MINIO_DEFAULT_BUCKETS=mimir" \ - bitnami/minio:latest -``` - -### Testing the changes - -To test the changes in a role run: - -```sh -molecule converge -## example: molecule converge -``` - -When Ansible has succesfully ran, you can run assertions against your infrastructure using. - -```sh -molecule verify -## example: `molecule verify` -``` - -You can also run commands like `molecule destroy`, `molecule prepare`, and `molecule test`. See Molecule documentation for more information - -## Role Variables - ---- - -| Name | Type | Default | Description | -| --------------------------------------- | ---- | -------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| mimir_working_path | str | /usr/share/mimir | Used to specify the directory path where Mimir, a component of the Grafana Agent, stores its working files and temporary data. | -| mimir_uninstall | bool | false | If set to `true` will perfom uninstall instead of deployment. | -| mimir_ruler_alert_path | str | /data/ruler | Used to specify the directory path where the Mimir ruler component of the Grafana Agent stores its alert files. | -| mimir_http_listen_port | str | 8080 | Used to specify the port number on which the Mimir component of the Grafana Agent listens for incoming HTTP requests. | -| mimir_http_listen_address | str | 0.0.0.0 | Used to specify the network address on which the Mimir component of the Grafana Agent listens for incoming HTTP requests. | -| mimir_ruler.rule_path | str | /data/ruler | Used to specify the directory path where the Mimir ruler component of the Grafana Agent looks for rule files. | -| mimir_ruler.alertmanager_url | str | http://127.0.0.1:8080/alertmanager | Used to specify the URL or address of the Alertmanager API that the Mimir ruler component of the Grafana Agent should communicate with. | -| mimir_ruler.ring.heartbeat_period | str | 2s | Used to specify the interval at which the Mimir ruler component of the Grafana Agent sends heartbeat signals to the ring. | -| mimir_ruler.heartbeat_timeout | str | 10s | Used to specify the maximum duration of time that the Mimir ruler component of the Grafana Agent will wait for a heartbeat signal from other components in the ring. | -| mimir_alertmanager.data_dir | str | /data/alertmanager | sed to specify the directory path where the Mimir Alertmanager component of the Grafana Agent stores its data files. | -| mimir_alertmanager.fallback_config_file | str | /etc/alertmanager-fallback-config.yaml | Used to specify the path to a fallback configuration file for the Mimir Alertmanager component of the Grafana Agent. | -| mimir_alertmanager.external_url | str | http://localhost:9009/alertmanager | Used to specify the external URL or address at which the Mimir Alertmanager component of the Grafana Agent can be accessed. | -| mimir_memberlist.join_members | [] | List of members for the Mimir cluster | - -## **Additional Config Variables for `/etc/mimir/config.yml`** - -Below variables allow you to extend Mimir configuration to fit your needs. -Always refer to official [Mimir configuration](https://grafana.com/docs/mimir/latest/configure/about-configurations/) -to obtain possible configuration parameters. - -> [!NOTE] -> These variables are not set by default. - -| Name | Description | -| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `mimir_blocks_storage` | Configures the `blocks_storage` component. 📚 [documentation](https://grafana.com/docs/mimir/latest/configure/configuration-parameters/#blocks_storage) | -| `mimir_ruler_storage` | Configures the `ruler_storage` component. 📚 [documentation](https://grafana.com/docs/mimir/latest/configure/configuration-parameters/#ruler_storage) | -| `mimir_alertmanager_storage` | Configures the `alertmanager_storage` component. 📚 [documentation](https://grafana.com/docs/mimir/latest/configure/configuration-parameters/#alertmanager_storage) | -| `mimir_distributor` | Configures the `distributor` component. 📚 [documentation](https://grafana.com/docs/mimir/latest/configure/configuration-parameters/#distributor) | -| `mimir_ingester` | Configures the `ingester` component. 📚 [documentation](https://grafana.com/docs/mimir/latest/configure/configuration-parameters/#ingester) | -| `mimir_querier` | Configures the `querier` component. 📚 [documentation](https://grafana.com/docs/mimir/latest/configure/configuration-parameters/#querier) | - -For extra configuration samples refer to [`examples` directory](../../examples). diff --git a/ansible_collections/grafana/grafana/roles/mimir/defaults/main.yml b/ansible_collections/grafana/grafana/roles/mimir/defaults/main.yml deleted file mode 100644 index 64efd46208..0000000000 --- a/ansible_collections/grafana/grafana/roles/mimir/defaults/main.yml +++ /dev/null @@ -1,31 +0,0 @@ ---- -# defaults file for mimir -mimir_version: "latest" -mimir_uninstall: false -__mimir_arch: "{{ arch_mapping[ansible_facts['architecture']] | default('amd64') }}" -mimir_download_url_rpm: "https://github.com/grafana/mimir/releases/download/mimir-{{ mimir_version }}/mimir-{{ mimir_version }}_{{ __mimir_arch }}.rpm" -mimir_download_url_deb: "https://github.com/grafana/mimir/releases/download/mimir-{{ mimir_version }}/mimir-{{ mimir_version }}_{{ __mimir_arch }}.deb" -mimir_working_path: "/var/lib/mimir" -mimir_ruler_alert_path: "{{ mimir_working_path }}/ruler" -mimir_http_listen_port: 8080 -mimir_http_listen_address: "0.0.0.0" - -arch_mapping: - x86_64: amd64 - aarch64: arm64 - armv7l: armhf - i386: i386 - ppc64le: ppc64le - -mimir_server: - http_listen_port: "{{ mimir_http_listen_port }}" - http_listen_address: "{{ mimir_http_listen_address }}" - -mimir_ruler: - rule_path: "{{ mimir_working_path }}/ruler" - alertmanager_url: "http://localhost:{{ mimir_http_listen_port }}/alertmanager" - -mimir_alertmanager: - data_dir: "{{ mimir_working_path }}/alertmanager" - external_url: "http://localhost:{{ mimir_http_listen_port }}/alertmanager" - diff --git a/ansible_collections/grafana/grafana/roles/mimir/files/.gitkeep b/ansible_collections/grafana/grafana/roles/mimir/files/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/ansible_collections/grafana/grafana/roles/mimir/handlers/main.yml b/ansible_collections/grafana/grafana/roles/mimir/handlers/main.yml deleted file mode 100644 index 22251ca2bf..0000000000 --- a/ansible_collections/grafana/grafana/roles/mimir/handlers/main.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- - -- name: Restart mimir - ansible.builtin.systemd: - name: mimir.service - state: restarted diff --git a/ansible_collections/grafana/grafana/roles/mimir/meta/main.yml b/ansible_collections/grafana/grafana/roles/mimir/meta/main.yml deleted file mode 100644 index 596fca2af6..0000000000 --- a/ansible_collections/grafana/grafana/roles/mimir/meta/main.yml +++ /dev/null @@ -1,37 +0,0 @@ ---- -# meta/main.yml -galaxy_info: - author: "Grafana" - role_name: mimir - description: "Grafana - platform for analytics and monitoring" - license: "MIT" - min_ansible_version: "2.9" - platforms: - - name: Ubuntu - versions: - - bionic - - xenial - - name: Debian - versions: - - stretch - - buster - - name: EL - versions: - - "7" - - "8" - - name: Fedora - versions: - - "30" - - "31" - galaxy_tags: - - grafana - - dashboard - - alerts - - alerting - - presentation - - monitoring - - metrics - -dependencies: [] - -allow_duplicates: true diff --git a/ansible_collections/grafana/grafana/roles/mimir/molecule/default/converge.yml b/ansible_collections/grafana/grafana/roles/mimir/molecule/default/converge.yml deleted file mode 100644 index 57a36c09cd..0000000000 --- a/ansible_collections/grafana/grafana/roles/mimir/molecule/default/converge.yml +++ /dev/null @@ -1,33 +0,0 @@ ---- -- name: Converge mimir - hosts: all - collections: - - grafana.grafana - vars: - mimir_storage: - storage: - backend: s3 - s3: - endpoint: minio-mimir.:9000 - access_key_id: testtest - secret_access_key: testtest - insecure: true - bucket_name: mimir - - # Blocks storage requires a prefix when using a common object storage bucket. - mimir_blocks_storage: - storage_prefix: blocks - tsdb: - dir: "{{ mimir_working_path}}/ingester" - - # Use memberlist, a gossip-based protocol, to enable the 3 Mimir replicas to communicate - mimir_memberlist: - join_members: - - molecule-grafana-mimir01.:7946 - - molecule-grafana-mimir02.:7946 - - molecule-grafana-mimir03.:7946 - - tasks: - - name: "Run Grafana mimir collection" - include_role: - name: mimir diff --git a/ansible_collections/grafana/grafana/roles/mimir/molecule/default/molecule.yml b/ansible_collections/grafana/grafana/roles/mimir/molecule/default/molecule.yml deleted file mode 100644 index 2790af53c5..0000000000 --- a/ansible_collections/grafana/grafana/roles/mimir/molecule/default/molecule.yml +++ /dev/null @@ -1,60 +0,0 @@ ---- -dependency: - name: galaxy -driver: - name: docker -platforms: - - name: molecule-grafana-mimir01 - image: "geerlingguy/docker-${MOLECULE_DISTRO:-rockylinux8}-ansible:latest" - command: ${MOLECULE_DOCKER_COMMAND:-"/sbin/init"} - volumes: - - /sys/fs/cgroup:/sys/fs/cgroup:rw - cgroupns_mode: host - privileged: true - pre_build_image: true - network: molecule - network_mode: "molecule" - published_ports: - - 7946 - - 9019:9009 - - 9096 - - name: molecule-grafana-mimir02 - image: "geerlingguy/docker-${MOLECULE_DISTRO:-rockylinux8}-ansible:latest" - command: ${MOLECULE_DOCKER_COMMAND:-"/sbin/init"} - volumes: - - /sys/fs/cgroup:/sys/fs/cgroup:rw - cgroupns_mode: host - privileged: true - pre_build_image: true - network: molecule - network_mode: "molecule" - published_ports: - - 7946 - - 9029:9009 - - 9096 - - name: molecule-grafana-mimir03 - image: "geerlingguy/docker-${MOLECULE_DISTRO:-rockylinux8}-ansible:latest" - command: ${MOLECULE_DOCKER_COMMAND:-"/sbin/init"} - volumes: - - /sys/fs/cgroup:/sys/fs/cgroup:rw - cgroupns_mode: host - privileged: true - pre_build_image: true - network: molecule - network_mode: "molecule" - published_ports: - - 7946 - - 9039:9009 - - 9096 - -provisioner: - name: ansible - env: - ANSIBLE_ROLES_PATH: ${MOLECULE_PROJECT_DIRECTORY}/roles - -verifier: - name: testinfra -lint: | - set -e - yamllint . - ansible-lint . diff --git a/ansible_collections/grafana/grafana/roles/mimir/molecule/default/tests/test_default.py b/ansible_collections/grafana/grafana/roles/mimir/molecule/default/tests/test_default.py deleted file mode 100644 index 671a5adca7..0000000000 --- a/ansible_collections/grafana/grafana/roles/mimir/molecule/default/tests/test_default.py +++ /dev/null @@ -1,36 +0,0 @@ -from __future__ import (absolute_import, division, print_function) -__metaclass__ = type - -import os -import testinfra.utils.ansible_runner - -testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner( - os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('all') - - -def test_directories(host): - dirs = [ - "/etc/mimir", - "/var/lib/mimir", - ] - files = [ - "/etc/mimir/config.yml" - ] - for directory in dirs: - d = host.file(directory) - assert d.is_directory - assert d.exists - for file in files: - f = host.file(file) - assert f.exists - assert f.is_file - - -def test_service(host): - s = host.service("mimir") - assert s.is_running - - -def test_packages(host): - p = host.package("mimir") - assert p.is_installed diff --git a/ansible_collections/grafana/grafana/roles/mimir/tasks/deploy.yml b/ansible_collections/grafana/grafana/roles/mimir/tasks/deploy.yml deleted file mode 100644 index 622c602e4f..0000000000 --- a/ansible_collections/grafana/grafana/roles/mimir/tasks/deploy.yml +++ /dev/null @@ -1,111 +0,0 @@ ---- -# tasks file for Mimir deployment -- name: Obtain the latest version from the Mimir GitHub repo - when: mimir_version == "latest" - block: - - name: Scrape Github API endpoint to obtain latest Mimir version - ansible.builtin.uri: - url: "https://api.github.com/repos/grafana/mimir/releases/latest" - method: GET - body_format: json - become: false - delegate_to: localhost - run_once: true - register: __github_latest_version - - - name: Latest available Mimir version - ansible.builtin.set_fact: - mimir_version: "{{ __github_latest_version.json.tag_name | regex_replace('^v?(\\d+\\.\\d+\\.\\d+)$', '\\1') }}" - -- name: Verify current deployed version - block: - - name: Check if Mimir binary is present - ansible.builtin.stat: - path: "/usr/bin/mimir" - register: __already_deployed - - - name: Obtain current deployed Mimir version - ansible.builtin.command: - cmd: "/usr/bin/mimir --version" - changed_when: false - register: __current_deployed_version - when: __already_deployed.stat.exists | bool - -- name: Include RedHat/Rocky setup - ansible.builtin.include_tasks: - file: setup-Redhat.yml - when: ansible_facts['os_family'] in ['RedHat', 'Rocky'] - -- name: Include Debian/Ubuntu setup - ansible.builtin.include_tasks: - file: setup-Debian.yml - when: ansible_facts['os_family'] == 'Debian' - -- name: Check if Mimir default dir is present - ansible.builtin.stat: - path: "/tmp/mimir/boltdb-shipper-active" - register: __default_structure - -- name: Default structure cleanup - when: __default_structure.stat.exists | bool - block: - - name: Ensure that Mimir is stopped before default cleanup - ansible.builtin.systemd: - name: mimir.service - state: stopped - - - name: Remove default configuration from "/tmp/mimir" directory - ansible.builtin.file: - path: "/tmp/mimir" - state: absent - -- name: Ensure that Mimir working path exists - ansible.builtin.file: - path: "{{ mimir_working_path }}" - state: directory - owner: "mimir" - group: "mimir" - mode: "0755" - -- name: Ensure that Mimir rule path exists - ansible.builtin.file: - path: "{{ mimir_ruler_alert_path }}" - state: directory - owner: "mimir" - group: "mimir" - mode: "0755" - when: - - mimir_ruler_alert_path is defined - - mimir_ruler is defined - -- name: Template Mimir config - /etc/mimir/config.yml - ansible.builtin.template: - src: "config.yml.j2" - dest: "/etc/mimir/config.yml" - owner: "mimir" - group: "mimir" - mode: "0644" - validate: "mimir -modules --config.file=%s" - environment: - PATH: "/usr/local/bin:{{ ansible_env.PATH }}" - notify: - - Restart mimir - -- name: Ensure restart has completed - ansible.builtin.meta: flush_handlers - -- name: Ensure that Mimir is started - ansible.builtin.systemd: - name: mimir.service - state: started - enabled: true - - -- name: Verify that Mimir URL is responding - ansible.builtin.uri: - url: "http://{{ mimir_http_listen_address }}:{{ mimir_http_listen_port }}/ready" - method: GET - register: mimir_verify_url_status_code - retries: 5 - delay: 8 - until: mimir_verify_url_status_code.status == 200 diff --git a/ansible_collections/grafana/grafana/roles/mimir/tasks/main.yml b/ansible_collections/grafana/grafana/roles/mimir/tasks/main.yml deleted file mode 100644 index 4e4e8c7a79..0000000000 --- a/ansible_collections/grafana/grafana/roles/mimir/tasks/main.yml +++ /dev/null @@ -1,9 +0,0 @@ -- name: Deploy Mimir service - ansible.builtin.include_tasks: - file: "deploy.yml" - when: not mimir_uninstall - -- name: Uninstall Mimir service - ansible.builtin.include_tasks: - file: "uninstall.yml" - when: mimir_uninstall diff --git a/ansible_collections/grafana/grafana/roles/mimir/tasks/setup-Debian.yml b/ansible_collections/grafana/grafana/roles/mimir/tasks/setup-Debian.yml deleted file mode 100644 index 7028ed4d98..0000000000 --- a/ansible_collections/grafana/grafana/roles/mimir/tasks/setup-Debian.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: APT - Install Mimir - ansible.builtin.apt: - deb: "{{ mimir_download_url_deb }}" - state: present - notify: Restart mimir - when: __current_deployed_version.stdout is not defined or mimir_version not in __current_deployed_version.stdout diff --git a/ansible_collections/grafana/grafana/roles/mimir/tasks/setup-Redhat.yml b/ansible_collections/grafana/grafana/roles/mimir/tasks/setup-Redhat.yml deleted file mode 100644 index 5bc34a91d6..0000000000 --- a/ansible_collections/grafana/grafana/roles/mimir/tasks/setup-Redhat.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- name: DNF - Install Mimir from remote URL - ansible.builtin.dnf: - name: "{{ mimir_download_url_rpm }}" - state: present - disable_gpg_check: true - notify: Restart mimir - when: __current_deployed_version.stdout is not defined or mimir_version not in __current_deployed_version.stdout diff --git a/ansible_collections/grafana/grafana/roles/mimir/tasks/uninstall.yml b/ansible_collections/grafana/grafana/roles/mimir/tasks/uninstall.yml deleted file mode 100644 index 11fe91065a..0000000000 --- a/ansible_collections/grafana/grafana/roles/mimir/tasks/uninstall.yml +++ /dev/null @@ -1,51 +0,0 @@ ---- -# tasks file for Mimir uninstall - -- name: Stop Mimir service - ansible.builtin.systemd: # noqa ignore-errors - name: mimir - state: stopped - ignore_errors: true - -- name: Uninstall Mimir rpm package - ansible.builtin.dnf: - name: "mimir" - state: absent - autoremove: true - when: ansible_facts['os_family'] in ['RedHat', 'Rocky'] - -- name: Uninstall Mimir deb package - ansible.builtin.apt: - name: "mimir" - state: absent - purge: true - when: ansible_facts['os_family'] == 'Debian' - -- name: Ensure that Mimir firewalld rule is not present - tcp port {{ mimir_http_listen_port }} - ansible.posix.firewalld: # noqa ignore-errors - immediate: true - permanent: true - port: "{{ mimir_http_listen_port }}/tcp" - state: disabled - ignore_errors: true - -- name: Remove Mimir directories" - ansible.builtin.file: - path: "{{ remove_me }}" - state: absent - loop: - - "/etc/mimir" - - "{{ mimir_working_path }}" - loop_control: - loop_var: remove_me - -- name: Remove the Mimir system user - ansible.builtin.user: - name: "mimir" - force: true - state: absent - -- name: Remove Mimir system group - ansible.builtin.group: - name: "mimir" - state: absent diff --git a/ansible_collections/grafana/grafana/roles/mimir/templates/.gitkeep b/ansible_collections/grafana/grafana/roles/mimir/templates/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/ansible_collections/grafana/grafana/roles/mimir/templates/config.yml.j2 b/ansible_collections/grafana/grafana/roles/mimir/templates/config.yml.j2 deleted file mode 100644 index 4b88b23052..0000000000 --- a/ansible_collections/grafana/grafana/roles/mimir/templates/config.yml.j2 +++ /dev/null @@ -1,67 +0,0 @@ -# Run Mimir in single process mode, with all components running in 1 process. -target: all,alertmanager,overrides-exporter - -# Configure Mimir to use Minio as object storage backend. -common: -{% if mimir_storage is defined %} - {{ mimir_storage | to_nice_yaml(indent=2, sort_keys=False) | indent(2, False)}} -{% endif %} - -# Blocks storage requires a prefix when using a common object storage bucket. -{% if mimir_blocks_storage is defined %} -blocks_storage: - {{ mimir_blocks_storage | to_nice_yaml(indent=2, sort_keys=False) | indent(2, False)}} -{% endif %} - -# Blocks storage requires a prefix when using a common object storage bucket. -{% if mimir_ruler_storage is defined %} -ruler_storage: - {{ mimir_ruler_storage | to_nice_yaml(indent=2, sort_keys=False) | indent(2, False)}} -{% endif %} - -# Alertmanager storage requires a prefix when using a common object storage bucket. -{% if mimir_alertmanager_storage is defined %} -alertmanager_storage: - {{ mimir_alertmanager_storage | to_nice_yaml(indent=2, sort_keys=False) | indent(2, False)}} -{% endif %} - -# Use memberlist, a gossip-based protocol, to enable the 3 Mimir replicas to communicate. -{% if mimir_memberlist is defined %} -memberlist: - {{ mimir_memberlist | to_nice_yaml(indent=2, sort_keys=False) | indent(2, False)}} -{% endif %} - -{% if mimir_ruler is defined %} -ruler: - {{ mimir_ruler | to_nice_yaml(indent=2, sort_keys=False) | indent(2, False)}} -{% endif %} - -{% if mimir_alertmanager is defined %} -alertmanager: - {{ mimir_alertmanager | to_nice_yaml(indent=2, sort_keys=False) | indent(2, False)}} -{% endif %} - -{% if mimir_server is defined %} -server: - {{ mimir_server | to_nice_yaml(indent=2, sort_keys=False) | indent(2, False)}} -{% endif %} - -{% if mimir_limits is defined %} -limits: - {{ mimir_limits | to_nice_yaml(indent=2, sort_keys=False) | indent(2, False)}} -{% endif %} - -{% if mimir_distributor is defined %} -distributor: - {{ mimir_distributor | to_nice_yaml(indent=2, sort_keys=False) | indent(2, False)}} -{% endif %} - -{% if mimir_ingester is defined %} -ingester: - {{ mimir_ingester | to_nice_yaml(indent=2, sort_keys=False) | indent(2, False)}} -{% endif %} - -{% if mimir_querier is defined %} -querier: - {{ mimir_querier | to_nice_yaml(indent=2, sort_keys=False) | indent(2, False)}} -{% endif %} diff --git a/ansible_collections/grafana/grafana/roles/mimir/vars/.gitkeep b/ansible_collections/grafana/grafana/roles/mimir/vars/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/README.md b/ansible_collections/grafana/grafana/roles/opentelemetry_collector/README.md deleted file mode 100644 index 3ee2eb85b2..0000000000 --- a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/README.md +++ /dev/null @@ -1,101 +0,0 @@ -# Ansible Role for OpenTelemetry Collector - -This Ansible role to install and configure the OpenTelemetry Collector, which can be used to collect traces, metrics, and logs. - -## Requirements - -Please ensure that `curl` is installed on Ansible controller. - -## Role Variables - -Available variables with their default values are listed below (`defaults/main.yml`): - -| Variable Name | Description | Default Value | -|---------------|-------------|---------------| -| `otel_collector_version` | Version of OpenTelemetry Collector to install. Set to 'latest' to automatically determine and install the latest release | `"0.90.1"` | -| `otel_collector_binary_url` | URL for downloading the OpenTelemetry Collector binary. This URL is constructed based on the collector version, type, and architecture. | `"https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/v{{ otel_collector_version }}/{% if otel_collector_type == 'contrib' %}otelcol-contrib_{{ otel_collector_version }}_linux_{{ otel_collector_arch }}{% else %}otelcol_{{ otel_collector_version }}_linux_{{ otel_collector_arch }}{% endif %}.tar.gz"` | -| `arch_mapping` | Mapping of `ansible_facts['architecture']` values to OpenTelemetry Collector binary architecture names. | See below\* | -| `otel_collector_arch` | Architecture for the OpenTelemetry Collector binary, determined based on the `ansible_facts['architecture']` fact. | `"{{ arch_mapping[ansible_facts['architecture']] | default('amd64') }}"` | -| `otel_collector_service_name` | The service name for the OpenTelemetry Collector. | `"otel-collector"` | -| `otel_collector_type` | Type of the OpenTelemetry Collector (`contrib` includes additional components). | `contrib` | -| `otel_collector_executable` | The executable name of the OpenTelemetry Collector, changes based on the collector type. | `{% if otel_collector_type == 'contrib' %}otelcol-contrib{% else %}otelcol{% endif %}` | -| `otel_collector_installation_dir` | Installation directory for the OpenTelemetry Collector. | `"/etc/otel-collector"` | -| `otel_collector_config_dir` | Directory for OpenTelemetry Collector configuration files. | `"/etc/otel-collector"` | -| `otel_collector_config_file` | The main configuration file name for the OpenTelemetry Collector. | `"config.yaml"` | -| `otel_collector_service_user` | The system user under which the OpenTelemetry Collector service will run. | `"otel"` | -| `otel_collector_service_group` | The system group under which the OpenTelemetry Collector service will run. | `"otel"` | -| `otel_collector_service_statedirectory` | The directory systemd should create under `/var/lib`. | `"otel-collector"` | -| `otel_collector_receivers` | Receivers configuration for the OpenTelemetry Collector. | `""` | -| `otel_collector_exporters` | Exporters configuration for the OpenTelemetry Collector. | `""` | -| `otel_collector_processors` | Processors configuration for the OpenTelemetry Collector. | `""` | -| `otel_collector_extensions` | Extensions configuration for the OpenTelemetry Collector. | `""` | -| `otel_collector_service` | Service configuration for the OpenTelemetry Collector. | `""` | -| `otel_collector_connectors` | Connectors configuration for the OpenTelemetry Collector (optional). | `""` | - -\* For `arch_mapping`, the default mapping is as follows: -- `x86_64`: `amd64` -- `aarch64`: `arm64` -- `armv7l`: `armhf` -- `i386`: `i386` -- `ppc64le`: `ppc64le` - -Users of the role can override these variables as needed. - -## Example Playbook - -Include this role in your playbook with default settings: - -```yaml -- name: Install OpenTelemetry Collector - hosts: all - become: true - - tasks: - - name: Install OpenTelemetry Collector - ansible.builtin.include_role: - name: grafana.grafana.opentelemetry_collector - vars: - otel_collector_receivers: - otlp: - protocols: - grpc: - endpoint: 0.0.0.0:4317 - http: - endpoint: 0.0.0.0:4318 - otel_collector_processors: - batch: - - otel_collector_exporters: - otlp: - endpoint: otelcol:4317 - - otel_collector_extensions: - health_check: - pprof: - zpages: - - otel_collector_service: - extensions: [health_check, pprof, zpages] - pipelines: - traces: - receivers: [otlp] - processors: [batch] - exporters: [otlp] - metrics: - receivers: [otlp] - processors: [batch] - exporters: [otlp] - logs: - receivers: [otlp] - processors: [batch] - exporters: [otlp] - -``` - -## License - -See [LICENSE](https://github.com/grafana/grafana-ansible-collection/blob/main/LICENSE) - -## Author Information - -- [Ishan Jain](https://github.com/ishanjainn) diff --git a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/defaults/main.yml b/ansible_collections/grafana/grafana/roles/opentelemetry_collector/defaults/main.yml deleted file mode 100644 index 13e7b5aaea..0000000000 --- a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/defaults/main.yml +++ /dev/null @@ -1,30 +0,0 @@ -otel_collector_version: "0.90.1" - -otel_collector_binary_url: "https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/v{{ otel_collector_version }}/{% if otel_collector_type == 'contrib' %}otelcol-contrib_{{ otel_collector_version }}_linux_{{ otel_collector_arch }}{% else %}otelcol_{{ otel_collector_version }}_linux_{{ otel_collector_arch }}{% endif %}.tar.gz" - -otel_collector_latest_url: 'https://api.github.com/repos/open-telemetry/opentelemetry-collector-releases/releases/latest' - -arch_mapping: - x86_64: amd64 - aarch64: arm64 - armv7l: armhf - i386: i386 - ppc64le: ppc64le - -otel_collector_arch: "{{ arch_mapping[ansible_facts['architecture']] | default('amd64') }}" -otel_collector_service_name: "otel-collector" -otel_collector_type: contrib -otel_collector_executable: "{% if otel_collector_type == 'contrib' %}otelcol-contrib{% else %}otelcol{% endif %}" -otel_collector_installation_dir: "/etc/otel-collector" -otel_collector_config_dir: "/etc/otel-collector" -otel_collector_config_file: "config.yaml" -otel_collector_service_user: "otel" -otel_collector_service_group: "otel" -otel_collector_service_statedirectory: "otel-collector" - -otel_collector_receivers: "" -otel_collector_exporters: "" -otel_collector_processors: "" -otel_collector_extensions: "" -otel_collector_service: "" -otel_collector_connectors: "" diff --git a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/handlers/main.yml b/ansible_collections/grafana/grafana/roles/opentelemetry_collector/handlers/main.yml deleted file mode 100644 index ac8fa58605..0000000000 --- a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/handlers/main.yml +++ /dev/null @@ -1,6 +0,0 @@ -- name: Restart OpenTelemetry Collector - ansible.builtin.systemd: - name: "{{ otel_collector_service_name }}" - state: restarted - become: true - ignore_errors: '{{ ansible_check_mode | bool }}' diff --git a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/meta/main.yml b/ansible_collections/grafana/grafana/roles/opentelemetry_collector/meta/main.yml deleted file mode 100644 index edd9779c6b..0000000000 --- a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/meta/main.yml +++ /dev/null @@ -1,25 +0,0 @@ -galaxy_info: - author: Ishan Jain - description: Role to install and configure OpenTelemetry Collector - license: "GPL-3.0-or-later" - min_ansible_version: "2.11" - platforms: - - name: Fedora - versions: - - "all" - - name: Debian - versions: - - "all" - - name: Ubuntu - versions: - - "all" - - name: EL - versions: - - "all" - galaxy_tags: - - grafana - - observability - - monitoring - - opentelemetry - - telemetry - - collector diff --git a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/default-check-first/converge.yml b/ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/default-check-first/converge.yml deleted file mode 100644 index 7d0801e5aa..0000000000 --- a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/default-check-first/converge.yml +++ /dev/null @@ -1,27 +0,0 @@ ---- -- name: "Run role" - hosts: all - any_errors_fatal: true - roles: - - grafana.grafana.opentelemetry_collector - vars: - otel_collector_receivers: - hostmetrics: - scrapers: - cpu: - memory: - otel_collector_processors: - memory_limiter: - check_interval: 2s - limit_percentage: 80 - spike_limit_percentage: 25 - batch: - otel_collector_exporters: - prometheus: - endpoint: '127.0.0.1:9999' - otel_collector_service: - pipelines: - metrics: - receivers: '{{ otel_collector_receivers.keys() }}' - processors: '{{ otel_collector_processors.keys() }}' - exporters: '{{ otel_collector_exporters.keys() }}' diff --git a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/default-check-first/molecule.yml b/ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/default-check-first/molecule.yml deleted file mode 100644 index f46067e343..0000000000 --- a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/default-check-first/molecule.yml +++ /dev/null @@ -1,57 +0,0 @@ ---- -# This scenario verifies that we can run ansible on an unprovisioned machine in check-mode -scenario: - name: default-check-first - test_sequence: - - dependency - - cleanup - - destroy - - create - - prepare - - check - - cleanup - - destroy - -platforms: - - name: almalinux-9 - image: dokken/almalinux-9 - pre_build_image: true - privileged: true - cgroup_parent: docker.slice - command: /lib/systemd/systemd - - name: centos-stream-9 - image: dokken/centos-stream-9 - pre_build_image: true - privileged: true - cgroup_parent: docker.slice - command: /lib/systemd/systemd - - name: debian-11 - image: dokken/debian-11 - pre_build_image: true - privileged: true - cgroup_parent: docker.slice - command: /lib/systemd/systemd - - name: fedora-36 - image: dokken/fedora-36 - pre_build_image: true - privileged: true - cgroup_parent: docker.slice - command: /lib/systemd/systemd - - name: fedora-37 - image: dokken/fedora-37 - pre_build_image: true - privileged: true - cgroup_parent: docker.slice - command: /lib/systemd/systemd - - name: ubuntu-20.04 - image: dokken/ubuntu-20.04 - pre_build_image: true - privileged: true - cgroup_parent: docker.slice - command: /lib/systemd/systemd - - name: ubuntu-22.04 - image: dokken/ubuntu-22.04 - pre_build_image: true - privileged: true - cgroup_parent: docker.slice - command: /lib/systemd/systemd diff --git a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/default-check-first/tests/test_default.py b/ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/default-check-first/tests/test_default.py deleted file mode 100644 index f773241b0e..0000000000 --- a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/default-check-first/tests/test_default.py +++ /dev/null @@ -1,35 +0,0 @@ -from __future__ import absolute_import, division, print_function - -__metaclass__ = type - -import os -import testinfra.utils.ansible_runner - -testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner( - os.environ["MOLECULE_INVENTORY_FILE"] -).get_hosts("all") - - -def test_directories(host): - dirs = [ - "/etc/otel-collector", - ] - files = ["/etc/otel-collector/config.yaml"] - for directory in dirs: - d = host.file(directory) - assert d.is_directory - assert d.exists - for file in files: - f = host.file(file) - assert f.exists - assert f.is_file - - -def test_service(host): - s = host.service("otel-collector") - # assert s.is_enabled - assert s.is_running - - -def test_socket(host): - assert host.socket("tcp://127.0.0.1:9999").is_listening diff --git a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/default/converge.yml b/ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/default/converge.yml deleted file mode 100644 index 7d0801e5aa..0000000000 --- a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/default/converge.yml +++ /dev/null @@ -1,27 +0,0 @@ ---- -- name: "Run role" - hosts: all - any_errors_fatal: true - roles: - - grafana.grafana.opentelemetry_collector - vars: - otel_collector_receivers: - hostmetrics: - scrapers: - cpu: - memory: - otel_collector_processors: - memory_limiter: - check_interval: 2s - limit_percentage: 80 - spike_limit_percentage: 25 - batch: - otel_collector_exporters: - prometheus: - endpoint: '127.0.0.1:9999' - otel_collector_service: - pipelines: - metrics: - receivers: '{{ otel_collector_receivers.keys() }}' - processors: '{{ otel_collector_processors.keys() }}' - exporters: '{{ otel_collector_exporters.keys() }}' diff --git a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/default/molecule.yml b/ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/default/molecule.yml deleted file mode 100644 index 6258bc20a3..0000000000 --- a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/default/molecule.yml +++ /dev/null @@ -1,44 +0,0 @@ ---- -platforms: - - name: almalinux-9 - image: dokken/almalinux-9 - pre_build_image: true - privileged: true - cgroup_parent: docker.slice - command: /lib/systemd/systemd - - name: centos-stream-9 - image: dokken/centos-stream-9 - pre_build_image: true - privileged: true - cgroup_parent: docker.slice - command: /lib/systemd/systemd - - name: debian-11 - image: dokken/debian-11 - pre_build_image: true - privileged: true - cgroup_parent: docker.slice - command: /lib/systemd/systemd - - name: fedora-36 - image: dokken/fedora-36 - pre_build_image: true - privileged: true - cgroup_parent: docker.slice - command: /lib/systemd/systemd - - name: fedora-37 - image: dokken/fedora-37 - pre_build_image: true - privileged: true - cgroup_parent: docker.slice - command: /lib/systemd/systemd - - name: ubuntu-20.04 - image: dokken/ubuntu-20.04 - pre_build_image: true - privileged: true - cgroup_parent: docker.slice - command: /lib/systemd/systemd - - name: ubuntu-22.04 - image: dokken/ubuntu-22.04 - pre_build_image: true - privileged: true - cgroup_parent: docker.slice - command: /lib/systemd/systemd diff --git a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/default/tests/test_default.py b/ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/default/tests/test_default.py deleted file mode 100644 index 9f42fcea8d..0000000000 --- a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/default/tests/test_default.py +++ /dev/null @@ -1,33 +0,0 @@ -from __future__ import absolute_import, division, print_function - -__metaclass__ = type - -import os -import testinfra.utils.ansible_runner - -testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner( - os.environ["MOLECULE_INVENTORY_FILE"] -).get_hosts("all") - - -def test_directories(host): - dirs = ["/etc/otel-collector", "/var/lib/otel-collector"] - files = ["/etc/otel-collector/config.yaml"] - for directory in dirs: - d = host.file(directory) - assert d.is_directory - assert d.exists - for file in files: - f = host.file(file) - assert f.exists - assert f.is_file - - -def test_service(host): - s = host.service("otel-collector") - # assert s.is_enabled - assert s.is_running - - -def test_socket(host): - assert host.socket("tcp://127.0.0.1:9999").is_listening diff --git a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/latest/converge.yml b/ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/latest/converge.yml deleted file mode 100644 index 9d62bd9045..0000000000 --- a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/latest/converge.yml +++ /dev/null @@ -1,28 +0,0 @@ ---- -- name: "Run role" - hosts: all - any_errors_fatal: true - roles: - - grafana.grafana.opentelemetry_collector - vars: - otel_collector_version: latest - otel_collector_receivers: - hostmetrics: - scrapers: - cpu: - memory: - otel_collector_processors: - memory_limiter: - check_interval: 2s - limit_percentage: 80 - spike_limit_percentage: 25 - batch: - otel_collector_exporters: - prometheus: - endpoint: '127.0.0.1:9999' - otel_collector_service: - pipelines: - metrics: - receivers: '{{ otel_collector_receivers.keys() }}' - processors: '{{ otel_collector_processors.keys() }}' - exporters: '{{ otel_collector_exporters.keys() }}' diff --git a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/latest/molecule.yml b/ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/latest/molecule.yml deleted file mode 100644 index 6258bc20a3..0000000000 --- a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/latest/molecule.yml +++ /dev/null @@ -1,44 +0,0 @@ ---- -platforms: - - name: almalinux-9 - image: dokken/almalinux-9 - pre_build_image: true - privileged: true - cgroup_parent: docker.slice - command: /lib/systemd/systemd - - name: centos-stream-9 - image: dokken/centos-stream-9 - pre_build_image: true - privileged: true - cgroup_parent: docker.slice - command: /lib/systemd/systemd - - name: debian-11 - image: dokken/debian-11 - pre_build_image: true - privileged: true - cgroup_parent: docker.slice - command: /lib/systemd/systemd - - name: fedora-36 - image: dokken/fedora-36 - pre_build_image: true - privileged: true - cgroup_parent: docker.slice - command: /lib/systemd/systemd - - name: fedora-37 - image: dokken/fedora-37 - pre_build_image: true - privileged: true - cgroup_parent: docker.slice - command: /lib/systemd/systemd - - name: ubuntu-20.04 - image: dokken/ubuntu-20.04 - pre_build_image: true - privileged: true - cgroup_parent: docker.slice - command: /lib/systemd/systemd - - name: ubuntu-22.04 - image: dokken/ubuntu-22.04 - pre_build_image: true - privileged: true - cgroup_parent: docker.slice - command: /lib/systemd/systemd diff --git a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/latest/tests/test_default.py b/ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/latest/tests/test_default.py deleted file mode 100644 index f773241b0e..0000000000 --- a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/latest/tests/test_default.py +++ /dev/null @@ -1,35 +0,0 @@ -from __future__ import absolute_import, division, print_function - -__metaclass__ = type - -import os -import testinfra.utils.ansible_runner - -testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner( - os.environ["MOLECULE_INVENTORY_FILE"] -).get_hosts("all") - - -def test_directories(host): - dirs = [ - "/etc/otel-collector", - ] - files = ["/etc/otel-collector/config.yaml"] - for directory in dirs: - d = host.file(directory) - assert d.is_directory - assert d.exists - for file in files: - f = host.file(file) - assert f.exists - assert f.is_file - - -def test_service(host): - s = host.service("otel-collector") - # assert s.is_enabled - assert s.is_running - - -def test_socket(host): - assert host.socket("tcp://127.0.0.1:9999").is_listening diff --git a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/non-contrib/converge.yml b/ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/non-contrib/converge.yml deleted file mode 100644 index 92d542dfa0..0000000000 --- a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/non-contrib/converge.yml +++ /dev/null @@ -1,27 +0,0 @@ ---- -- name: "Run role" - hosts: all - any_errors_fatal: true - roles: - - grafana.grafana.opentelemetry_collector - vars: - otel_collector_type: '' - otel_collector_receivers: - hostmetrics: - scrapers: - cpu: - memory: - otel_collector_processors: - memory_limiter: - check_interval: 2s - limit_percentage: 80 - spike_limit_percentage: 25 - batch: - otel_collector_exporters: - debug: - otel_collector_service: - pipelines: - metrics: - receivers: '{{ otel_collector_receivers.keys() }}' - processors: '{{ otel_collector_processors.keys() }}' - exporters: '{{ otel_collector_exporters.keys() }}' diff --git a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/non-contrib/molecule.yml b/ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/non-contrib/molecule.yml deleted file mode 100644 index 6258bc20a3..0000000000 --- a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/non-contrib/molecule.yml +++ /dev/null @@ -1,44 +0,0 @@ ---- -platforms: - - name: almalinux-9 - image: dokken/almalinux-9 - pre_build_image: true - privileged: true - cgroup_parent: docker.slice - command: /lib/systemd/systemd - - name: centos-stream-9 - image: dokken/centos-stream-9 - pre_build_image: true - privileged: true - cgroup_parent: docker.slice - command: /lib/systemd/systemd - - name: debian-11 - image: dokken/debian-11 - pre_build_image: true - privileged: true - cgroup_parent: docker.slice - command: /lib/systemd/systemd - - name: fedora-36 - image: dokken/fedora-36 - pre_build_image: true - privileged: true - cgroup_parent: docker.slice - command: /lib/systemd/systemd - - name: fedora-37 - image: dokken/fedora-37 - pre_build_image: true - privileged: true - cgroup_parent: docker.slice - command: /lib/systemd/systemd - - name: ubuntu-20.04 - image: dokken/ubuntu-20.04 - pre_build_image: true - privileged: true - cgroup_parent: docker.slice - command: /lib/systemd/systemd - - name: ubuntu-22.04 - image: dokken/ubuntu-22.04 - pre_build_image: true - privileged: true - cgroup_parent: docker.slice - command: /lib/systemd/systemd diff --git a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/non-contrib/tests/test_default.py b/ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/non-contrib/tests/test_default.py deleted file mode 100644 index ec37d6e4fc..0000000000 --- a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/molecule/non-contrib/tests/test_default.py +++ /dev/null @@ -1,31 +0,0 @@ -from __future__ import absolute_import, division, print_function - -__metaclass__ = type - -import os -import testinfra.utils.ansible_runner - -testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner( - os.environ["MOLECULE_INVENTORY_FILE"] -).get_hosts("all") - - -def test_directories(host): - dirs = [ - "/etc/otel-collector", - ] - files = ["/etc/otel-collector/config.yaml"] - for directory in dirs: - d = host.file(directory) - assert d.is_directory - assert d.exists - for file in files: - f = host.file(file) - assert f.exists - assert f.is_file - - -def test_service(host): - s = host.service("otel-collector") - # assert s.is_enabled - assert s.is_running diff --git a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/tasks/configure.yml b/ansible_collections/grafana/grafana/roles/opentelemetry_collector/tasks/configure.yml deleted file mode 100644 index fc596479be..0000000000 --- a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/tasks/configure.yml +++ /dev/null @@ -1,20 +0,0 @@ -- name: Create OpenTelemetry Collector config directory - ansible.builtin.file: - path: "{{ otel_collector_config_dir }}" - state: directory - owner: "{{ otel_collector_service_user }}" - group: "{{ otel_collector_service_group }}" - mode: '0755' - become: true - -- name: Deploy OpenTelemetry Collector configuration file - ansible.builtin.template: - src: otel_collector_config.yml.j2 - dest: "{{ otel_collector_config_dir }}/{{ otel_collector_config_file }}" - owner: "{{ otel_collector_service_user }}" - group: "{{ otel_collector_service_group }}" - mode: '0644' - validate: '{{ otel_collector_installation_dir }}/{{ otel_collector_executable }} --config=%s validate' - notify: Restart OpenTelemetry Collector - become: true - no_log: "{{ 'false' if lookup('env', 'CI') else 'true' }}" diff --git a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/tasks/install.yml b/ansible_collections/grafana/grafana/roles/opentelemetry_collector/tasks/install.yml deleted file mode 100644 index 95b5de01cd..0000000000 --- a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/tasks/install.yml +++ /dev/null @@ -1,79 +0,0 @@ -- name: Discover latest OpenTelemetry Collector version - ansible.builtin.set_fact: - otel_collector_version: "{{ (lookup('url', otel_collector_latest_url, split_lines=False) | from_json).get('tag_name') | replace('v', '') }}" - run_once: true - until: otel_collector_version is version('0.0.0', '>=') - retries: 10 - when: - - otel_collector_version == 'latest' - -- name: Discover installed version - block: - - name: Get installed version - register: otel_collector_version_check - changed_when: false - failed_when: false - check_mode: false # Always run, this does not change anything on the system - ansible.builtin.command: '{{ otel_collector_installation_dir }}/{{ otel_collector_executable }} -v' - - - name: Set installed version variable - ansible.builtin.set_fact: - otel_collector_installed_version: "{{ otel_collector_version_check.stdout_lines[0] | default('otelcorecol version 0.0.0') | ansible.builtin.regex_search('\\d+\\.\\d+\\.\\d+') }}" - -- name: Create otel group - ansible.builtin.group: - name: "{{ otel_collector_service_group }}" - system: true - become: true - -- name: Create otel user - ansible.builtin.user: - name: "{{ otel_collector_service_user }}" - group: "{{ otel_collector_service_group }}" - system: true - create_home: false # Appropriate for a system user, usually doesn't need a home directory - become: true - -- name: Determine the architecture for OpenTelemetry Collector binary - set_fact: - otel_collector_arch: "{{ arch_mapping[ansible_facts['architecture']] | default('amd64') }}" - vars: - arch_mapping: - x86_64: amd64 - aarch64: arm64 - armv7l: armhf - i386: i386 - ppc64le: ppc64le - -- name: Download OpenTelemetry Collector binary - ansible.builtin.get_url: - url: "{{ otel_collector_binary_url }}" - dest: "/tmp/otelcol-{{ otel_collector_type }}-{{ otel_collector_version }}.tar.gz" - mode: '0755' - become: true - when: otel_collector_installed_version is version(otel_collector_version, '!=') - -- name: Remove existing OpenTelemetry Collector installation directory - ansible.builtin.file: - path: "{{ otel_collector_installation_dir }}" - state: absent - become: true - when: otel_collector_installed_version is version(otel_collector_version, '!=') - -- name: Create OpenTelemetry Collector installation directory - ansible.builtin.file: - path: "{{ otel_collector_installation_dir }}" - state: directory - mode: '0755' - owner: "{{ otel_collector_service_user }}" - group: "{{ otel_collector_service_group }}" - become: true - -- name: Extract OpenTelemetry Collector binary - ansible.builtin.unarchive: - src: "/tmp/otelcol-{{ otel_collector_type }}-{{ otel_collector_version }}.tar.gz" - dest: "{{ otel_collector_installation_dir }}" - remote_src: yes - become: true - register: extract_result - when: not ansible_check_mode and otel_collector_installed_version is version(otel_collector_version, '!=') diff --git a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/tasks/main.yml b/ansible_collections/grafana/grafana/roles/opentelemetry_collector/tasks/main.yml deleted file mode 100644 index 6557285ff2..0000000000 --- a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/tasks/main.yml +++ /dev/null @@ -1,11 +0,0 @@ -- name: Install OpenTelemetry Collector - include_tasks: install.yml - tags: [install] - -- name: Configure OpenTelemetry Collector - include_tasks: configure.yml - tags: [configure] - -- name: Manage OpenTelemetry Collector service - include_tasks: service.yml - tags: [service] diff --git a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/tasks/service.yml b/ansible_collections/grafana/grafana/roles/opentelemetry_collector/tasks/service.yml deleted file mode 100644 index a0d180b775..0000000000 --- a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/tasks/service.yml +++ /dev/null @@ -1,20 +0,0 @@ -- name: Copy OpenTelemetry Collector systemd unit file - ansible.builtin.template: - src: otel_collector.service.j2 - dest: /etc/systemd/system/{{ otel_collector_service_name }}.service - mode: '0644' - become: true - notify: Restart OpenTelemetry Collector - -- name: Reload systemd daemon to pick up changes - ansible.builtin.systemd: - daemon_reload: yes - become: true - -- name: Ensure OpenTelemetry Collector service is enabled and running - ansible.builtin.service: - name: "{{ otel_collector_service_name }}" - enabled: yes - state: started - become: true - ignore_errors: '{{ ansible_check_mode | bool }}' diff --git a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/templates/otel_collector.service.j2 b/ansible_collections/grafana/grafana/roles/opentelemetry_collector/templates/otel_collector.service.j2 deleted file mode 100644 index 87fae9e0fa..0000000000 --- a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/templates/otel_collector.service.j2 +++ /dev/null @@ -1,14 +0,0 @@ -[Unit] -Description=OpenTelemetry Collector -After=network.target - -[Service] -Type=simple -ExecStart={{ otel_collector_installation_dir }}/{{ otel_collector_executable }} --config={{ otel_collector_config_dir }}/{{ otel_collector_config_file }} -User={{ otel_collector_service_user }} -Group={{ otel_collector_service_group }} -Restart=on-failure -StateDirectory={{ otel_collector_service_statedirectory }} - -[Install] -WantedBy=multi-user.target diff --git a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/templates/otel_collector_config.yml.j2 b/ansible_collections/grafana/grafana/roles/opentelemetry_collector/templates/otel_collector_config.yml.j2 deleted file mode 100644 index 130189bbb2..0000000000 --- a/ansible_collections/grafana/grafana/roles/opentelemetry_collector/templates/otel_collector_config.yml.j2 +++ /dev/null @@ -1,24 +0,0 @@ -{% if otel_collector_receivers is defined and otel_collector_receivers | length > 0 %} -receivers: -{{ otel_collector_receivers | to_nice_yaml(indent=2) | indent(2, true) }} -{% endif %} -{% if otel_collector_processors is defined and otel_collector_processors | length > 0 %} -processors: -{{ otel_collector_processors | to_nice_yaml(indent=2) | indent(2, true) }} -{% endif %} -{% if otel_collector_exporters is defined and otel_collector_exporters | length > 0 %} -exporters: -{{ otel_collector_exporters | to_nice_yaml(indent=2) | indent(2, true) }} -{% endif %} -{% if otel_collector_extensions is defined and otel_collector_extensions | length > 0 %} -extensions: -{{ otel_collector_extensions | to_nice_yaml(indent=2) | indent(2, true) }} -{% endif %} -{% if otel_collector_service is defined and otel_collector_service | length > 0 %} -service: -{{ otel_collector_service | to_nice_yaml(indent=2) | indent(2, true) }} -{% endif %} -{% if otel_collector_connectors is defined and otel_collector_connectors | length > 0 %} -connectors: -{{ otel_collector_connectors | to_nice_yaml(indent=2) | indent(2, true) }} -{% endif %} diff --git a/ansible_collections/grafana/grafana/roles/promtail/README.md b/ansible_collections/grafana/grafana/roles/promtail/README.md deleted file mode 100644 index 94dde21908..0000000000 --- a/ansible_collections/grafana/grafana/roles/promtail/README.md +++ /dev/null @@ -1,175 +0,0 @@ -# Ansible role - Promtail - -[![License](https://img.shields.io/github/license/grafana/grafana-ansible-collection)](LICENSE) - -The Ansible Promtail Role allows you to effortlessly deploy and manage Promtail, agent which ships contents of local logs to private Loki. -This role is tailored for operating systems such as **RedHat**, **Rocky Linux**, **AlmaLinux**, **Ubuntu**, and **Debian**. - -**🔑 Key Features** -- **⚡ Root-less/Root runtime**: By default, Promtail operates in root-less mode, utilizing ACL (Access Control List) to securely access logs without requiring root permissions. You have the option to configure root mode if necessary. -- **🧹 Effortless Uninstall**: Easily remove Promtail from your system setting the "promtail_uninstall" variable. - -📢 **[Check the blog post](https://voidquark.com/blog/rootless-promtail-with-ansible/)** 📝 **Learn more about root-less mode.** - -## Table of Content - -- [Requirements](#requirements) -- [Role Variables](#role-variables) -- [Playbook](#playbook) - -## Requirements - -- Ansible 2.10+ - -## Role Variables - -```yaml -promtail_version: "latest" -``` -The version of Promtail to download and deploy. Supported standard version "3.0.0" format or "latest". - -```yaml -promtail_uninstall: "false" -``` - -If set to `true` will perfom uninstall instead of deployment. - -```yaml -promtail_http_listen_port: 9080 -``` -The TCP port on which Promtail listens. By default, it listens on port `9080`. - -```yaml -promtail_http_listen_address: "0.0.0.0" -``` -The address on which Promtail listens for HTTP requests. By default, it listens on all interfaces. - -```yaml -promtail_expose_port: false -``` -By default, this is set to `false`. It supports only simple `firewalld` configurations. If set to `true`, a firewalld rule is added to expose the TCP `promtail_http_listen_port`. If set to `false`, configuration is skipped. If the `firewalld.service` is not active, all firewalld tasks are skipped. - -```yaml -promtail_positions_path: "/var/lib/promtail" -``` -Promtail path for position file. File indicating how far it has read into a file. It is needed for when Promtail is restarted to allow it to continue from where it left off. - -```yaml -promtail_runtime_mode: "acl" -``` -By default, Promtail runs in root-less mode. It supports two modes: -- `acl`: Root-less mode, utilizing ACL permission model to read target log files. -- `root`: Root mode, where Promtail runs as root and ACL configuration is skipped. - -```yaml -promtail_extra_flags: [] -``` -Additional flags to be passed to the Promtail systemd unit. - -```yaml -promtail_user_append_groups: - - "systemd-journal" -``` -Appends the promtail user to specific groups in root-less mode. By default, it appends the user to the `systemd-journal` group, granting permission to read system journal logs. - -```yaml -promtail_download_url_rpm: "https://github.com/grafana/loki/releases/download/v{{ promtail_version }}/promtail-{{ promtail_version }}.{{ __promtail_arch }}.rpm" -``` -The default download URL for the Promtail rpm package from GitHub. - -```yaml -promtail_download_url_deb: "https://github.com/grafana/loki/releases/download/v{{ promtail_version }}/promtail_{{ promtail_version }}_{{ __promtail_arch }}.deb" -``` -The default download URL for the Promtail deb package from GitHub. - -```yaml -promtail_server: - http_listen_port: "{{ promtail_http_listen_port }}" - http_listen_address: "{{ promtail_http_listen_address }}" -``` -The `server` block configures Promtail behavior as an HTTP server. [All possible values for `server`](https://grafana.com/docs/loki/latest/clients/promtail/configuration/#server) - -```yaml -promtail_positions: - filename: "{{ promtail_positions_path }}/positions.yaml" -``` -The `positions` block configures where Promtail will save a file indicating how far it has read into a file. It is needed for when Promtail is restarted to allow it to continue from where it left off. [All possible values for `positions`](https://grafana.com/docs/loki/latest/clients/promtail/configuration/#positions) - -```yaml -promtail_clients: - - url: http://localhost:3100/loki/api/v1/push -``` -The `clients` block configures how Promtail connects to instances of Loki. [All possible values for `clients`](https://grafana.com/docs/loki/latest/clients/promtail/configuration/#clients). ⚠️ This configuration is mandatory. By default, it's empty, and the example above serves as a simple illustration for inspiration. - -```yaml -promtail_scrape_configs: - - job_name: system - static_configs: - - targets: - - localhost - labels: - job: messages - instance: "{{ ansible_facts['fqdn'] }}" - __path__: /var/log/messages - - targets: - - localhost - labels: - job: nginx - instance: "{{ ansible_facts['fqdn'] }}" - __path__: /var/log/nginx/*.log -``` -The `scrape_configs` block configures how Promtail can scrape logs from a series of targets using a specified discovery method. [All possible values for `scrape_configs`](https://grafana.com/docs/loki/latest/clients/promtail/configuration/#scrape_configs). ⚠️ This configuration is mandatory. By default, it's empty, and the example above serves as a simple illustration for inspiration. - -| Variable Name | Description -| ----------- | ----------- | -| `promtail_limits_config` | The optional limits_config block configures global limits for this instance of Promtail. 📚 [documentation](https://grafana.com/docs/loki/latest/clients/promtail/configuration/#limits_config). -| `promtail_target_config` | The target_config block controls the behavior of reading files from discovered targets. 📚 [documentation](https://grafana.com/docs/loki/latest/clients/promtail/configuration/#target_config). - -## Dependencies - -No Dependencies - -## Playbook - -```yaml -- name: Manage promtail service - hosts: all - become: true - vars: - promtail_clients: - - url: http://localhost:3100/loki/api/v1/push - promtail_scrape_configs: - - job_name: system - static_configs: - - targets: - - localhost - labels: - job: messages - instance: "{{ ansible_facts['fqdn'] }}" - __path__: /var/log/messages - - targets: - - localhost - labels: - job: nginx - instance: "{{ ansible_facts['fqdn'] }}" - __path__: /var/log/nginx/*.log - roles: - - role: grafana.grafana.promtail -``` - -- Playbook execution example -```shell -# Deploy Promtail -ansible-playbook function_promtail_play.yml - -# Uninstall Promtail -ansible-playbook function_promtail_play.yml -e "promtail_uninstall=true" -``` - -## License - -See [LICENSE](https://github.com/grafana/grafana-ansible-collection/blob/main/LICENSE) - -## Author Information - -- [VoidQuark](https://github.com/voidquark) diff --git a/ansible_collections/grafana/grafana/roles/promtail/defaults/main.yml b/ansible_collections/grafana/grafana/roles/promtail/defaults/main.yml deleted file mode 100644 index 4753f56128..0000000000 --- a/ansible_collections/grafana/grafana/roles/promtail/defaults/main.yml +++ /dev/null @@ -1,52 +0,0 @@ ---- -# defaults file for promtail -promtail_version: "latest" -promtail_uninstall: false -promtail_http_listen_port: 9080 -promtail_http_listen_address: "0.0.0.0" -promtail_expose_port: false -promtail_positions_path: "/var/lib/promtail" -promtail_runtime_mode: "acl" # Supported "root" or "acl" -promtail_extra_flags: [] -# promtail_extra_flags: -# - "-server.enable-runtime-reload" -# - "-config.expand-env=true" - -promtail_user_append_groups: - - "systemd-journal" - -promtail_download_url_rpm: "https://github.com/grafana/loki/releases/download/v{{ promtail_version }}/promtail-{{ promtail_version }}.{{ __promtail_arch }}.rpm" -promtail_download_url_deb: "https://github.com/grafana/loki/releases/download/v{{ promtail_version }}/promtail_{{ promtail_version }}_{{ __promtail_arch }}.deb" - -# default variables for /etc/promtail/config.yml -promtail_server: - http_listen_port: "{{ promtail_http_listen_port }}" - http_listen_address: "{{ promtail_http_listen_address }}" - -promtail_positions: - filename: "{{ promtail_positions_path }}/positions.yaml" - -promtail_clients: [] -# promtail_clients: -# - url: http://localhost:3100/loki/api/v1/push - -promtail_scrape_configs: [] -# promtail_scrape_configs: -# - job_name: system -# static_configs: -# - targets: -# - localhost -# labels: -# job: messages -# instance: "{{ ansible_facts['fqdn'] }}" -# __path__: /var/log/messages -# - targets: -# - localhost -# labels: -# job: nginx -# instance: "{{ ansible_facts['fqdn'] }}" -# __path__: /var/log/nginx/*.log - -# not set by default -# promtail_limits_config: -# promtail_target_config: diff --git a/ansible_collections/grafana/grafana/roles/promtail/handlers/main.yml b/ansible_collections/grafana/grafana/roles/promtail/handlers/main.yml deleted file mode 100644 index 27134f33d2..0000000000 --- a/ansible_collections/grafana/grafana/roles/promtail/handlers/main.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- -# handlers file for promtail -- name: Restart promtail - listen: "restart promtail" - ansible.builtin.systemd: - daemon_reload: true - name: promtail.service - state: restarted - enabled: true - when: not ansible_check_mode diff --git a/ansible_collections/grafana/grafana/roles/promtail/meta/main.yml b/ansible_collections/grafana/grafana/roles/promtail/meta/main.yml deleted file mode 100644 index c7cee9a277..0000000000 --- a/ansible_collections/grafana/grafana/roles/promtail/meta/main.yml +++ /dev/null @@ -1,28 +0,0 @@ ---- -galaxy_info: - role_name: promtail - author: voidquark - description: Manage Grafana Promtail Application - license: "GPL-3.0-or-later" - min_ansible_version: "2.10" - platforms: - - name: EL - versions: - - "9" - - "8" - - name: Fedora - versions: - - all - - name: Debian - versions: - - all - - name: Ubuntu - versions: - - all - galaxy_tags: - - promtail - - grafana - - logging - - monitoring - -dependencies: [] diff --git a/ansible_collections/grafana/grafana/roles/promtail/molecule/default/converge.yml b/ansible_collections/grafana/grafana/roles/promtail/molecule/default/converge.yml deleted file mode 100644 index 5e177bfbf8..0000000000 --- a/ansible_collections/grafana/grafana/roles/promtail/molecule/default/converge.yml +++ /dev/null @@ -1,15 +0,0 @@ ---- -- name: Converge - hosts: all - vars: - promtail_scrape_configs: - - job_name: test - static_configs: - - targets: - - localhost - labels: - job: test - instance: "{{ ansible_facts['fqdn'] }}" - __path__: /var/log/last* - roles: - - role: grafana.grafana.promtail diff --git a/ansible_collections/grafana/grafana/roles/promtail/molecule/default/molecule.yml b/ansible_collections/grafana/grafana/roles/promtail/molecule/default/molecule.yml deleted file mode 100644 index 339965a50e..0000000000 --- a/ansible_collections/grafana/grafana/roles/promtail/molecule/default/molecule.yml +++ /dev/null @@ -1,20 +0,0 @@ ---- -dependency: - name: galaxy - options: - ignore-errors: true -driver: - name: docker -platforms: - - name: instance - image: "geerlingguy/docker-${MOLECULE_DISTRO:-rockylinux8}-ansible:latest" - command: ${MOLECULE_DOCKER_COMMAND:-""} - volumes: - - /sys/fs/cgroup:/sys/fs/cgroup:rw - cgroupns_mode: host - privileged: true - pre_build_image: true -provisioner: - name: ansible - playbooks: - converge: converge.yml diff --git a/ansible_collections/grafana/grafana/roles/promtail/tasks/acl_configuration.yml b/ansible_collections/grafana/grafana/roles/promtail/tasks/acl_configuration.yml deleted file mode 100644 index 65516b92cc..0000000000 --- a/ansible_collections/grafana/grafana/roles/promtail/tasks/acl_configuration.yml +++ /dev/null @@ -1,116 +0,0 @@ ---- -# tasks file for promtail deploy - acl configuration - -- name: Extract log files from static_configs - labels - path - ansible.builtin.set_fact: - __promtail_acl_log_files: >- - {{ - promtail_scrape_configs - | selectattr('static_configs', 'defined') - | map(attribute='static_configs') - | flatten - | map(attribute='labels') - | map(attribute='__path__') - | list - }} - -- name: Extract log dirs paths from static_configs - labels - path - ansible.builtin.set_fact: - __promtail_acl_log_dirs: >- - {{ - promtail_scrape_configs - | selectattr('static_configs', 'defined') - | map(attribute='static_configs') - | flatten - | map(attribute='labels') - | map(attribute='__path__') - | map('dirname') - | unique - | list - }} - -- name: Stat log dirs - ansible.builtin.stat: - path: "{{ item }}" - loop: "{{ __promtail_acl_log_dirs }}" - register: __promtail_stat_acl_log_dirs - -- name: Set recursive default ACL permission for log dirs - ansible.posix.acl: - path: "{{ item.item }}" - recursive: true - entity: promtail - etype: user - permissions: rx - default: true - state: present - loop: "{{ __promtail_stat_acl_log_dirs.results }}" - when: - - __promtail_stat_acl_log_dirs | length > 0 - - item.stat.exists - notify: restart promtail - -- name: Set ACL permission for log dirs - ansible.posix.acl: - path: "{{ item.item }}" - entity: promtail - etype: user - permissions: rx - state: present - loop: "{{ __promtail_stat_acl_log_dirs.results }}" - when: - - __promtail_stat_acl_log_dirs | length > 0 - - item.stat.exists - notify: restart promtail - -- name: Find all existing ACL log files - ansible.builtin.find: - paths: "{{ item | dirname }}" - patterns: "{{ item | basename }}" - loop: "{{ __promtail_acl_log_files }}" - register: __promtail_find_files - -- name: Define existing ACL log files - ansible.builtin.set_fact: - __promtail_existing_acl_log_files: "{{ __promtail_find_files.results | map(attribute='files') | flatten | map(attribute='path') }}" - -- name: Set ACL permission for existing log files - ansible.posix.acl: - path: "{{ item }}" - entity: promtail - etype: user - permissions: r - state: present - loop: "{{ __promtail_existing_acl_log_files }}" - when: - - __promtail_existing_acl_log_files | length > 0 - notify: restart promtail - -- name: Promtail ACL Logrotate - when: - - __promtail_acl_log_dirs | length > 0 - - __promtail_acl_log_files | length > 0 - block: - - name: Template promtail ACL config for Logrotate - ansible.builtin.template: - src: "promtail_acl.j2" - dest: "/etc/logrotate.d/promtail_acl" - owner: "root" - group: "root" - mode: "0644" - - - name: Ensure that Promtail dummy dir for logrotate ACL configuration exist - ansible.builtin.file: - path: "/var/log/dummy_promtail_acl" - state: directory - owner: "promtail" - group: "root" - mode: "0750" - - - name: Create dummy empty log file for logrotate ACL configuration to work - ansible.builtin.copy: - content: "" - dest: "/var/log/dummy_promtail_acl/dummy_promtail_acl.log" - owner: "promtail" - group: "root" - mode: 0600 diff --git a/ansible_collections/grafana/grafana/roles/promtail/tasks/deploy.yml b/ansible_collections/grafana/grafana/roles/promtail/tasks/deploy.yml deleted file mode 100644 index ee08f1ed37..0000000000 --- a/ansible_collections/grafana/grafana/roles/promtail/tasks/deploy.yml +++ /dev/null @@ -1,144 +0,0 @@ ---- -# tasks file for promtail deploy - -- name: Obtain the latest version from the GitHub repo - when: promtail_version == "latest" - block: - - name: Scrape Github API endpoint to obtain latest Promtail version - ansible.builtin.uri: - url: "https://api.github.com/repos/grafana/loki/releases/latest" - method: GET - body_format: json - become: false - delegate_to: localhost - run_once: true - check_mode: false - register: __github_latest_version - - - name: Latest available Promtail version - ansible.builtin.set_fact: - promtail_version: "{{ __github_latest_version.json.tag_name | regex_replace('^v?(\\d+\\.\\d+\\.\\d+)$', '\\1') }}" - -- name: Verify current deployed version - block: - - name: Check if Promtail binary is present - ansible.builtin.stat: - path: "/usr/bin/promtail" - register: __already_deployed - - - name: Obtain current deployed Promtail version - ansible.builtin.command: - cmd: "/usr/bin/promtail --version" - changed_when: false - register: __current_deployed_version - when: __already_deployed.stat.exists | bool - -- name: Include RedHat/Rocky setup - ansible.builtin.include_tasks: - file: setup-RedHat.yml - when: ansible_facts['os_family'] in ['RedHat', 'Rocky'] - -- name: Include Debian/Ubuntu setup - ansible.builtin.include_tasks: - file: setup-Debian.yml - when: ansible_facts['os_family'] == 'Debian' - -- name: Ensure that Promtail position path exists - ansible.builtin.file: - path: "{{ promtail_positions_path }}" - state: directory - owner: "promtail" - group: "root" - mode: "0750" - notify: restart promtail - -- name: Template Promtail config - /etc/promtail/config.yml - ansible.builtin.template: - src: "config.yml.j2" - dest: "/etc/promtail/config.yml" - owner: "promtail" - group: "root" - mode: "0644" - validate: "/usr/bin/promtail -config.expand-env=true -check-syntax -config.file %s" - notify: restart promtail - -- name: Template Promtail systemd - /etc/systemd/system/promtail.service - ansible.builtin.template: - src: "promtail.service.j2" - dest: "/etc/systemd/system/promtail.service" - owner: "root" - group: "root" - mode: "0644" - notify: restart promtail - -- name: Add the Promtail system user to additional group - ansible.builtin.user: - name: "promtail" - groups: "{{ item }}" - system: true - append: true - create_home: false - state: present - loop: "{{ promtail_user_append_groups }}" - when: - - promtail_user_append_groups | length > 0 - - promtail_runtime_mode == "acl" - -- name: Include Promtail ACL permission configuration - ansible.builtin.include_tasks: - file: "acl_configuration.yml" - when: - - promtail_scrape_configs | length > 0 - - promtail_runtime_mode == "acl" - - not ansible_check_mode - -- name: Get firewalld state - ansible.builtin.systemd: - name: "firewalld" - register: __firewalld_service_state - -- name: Enable firewalld rule to expose Promtail tcp port {{ promtail_http_listen_port }} - ansible.posix.firewalld: - immediate: true - permanent: true - port: "{{ promtail_http_listen_port }}/tcp" - state: enabled - when: - - __firewalld_service_state.status.ActiveState == "active" - - promtail_expose_port | bool - -- name: Flush handlers after deployment - ansible.builtin.meta: flush_handlers - -- name: Ensure that Promtail is started - ansible.builtin.systemd: - name: promtail.service - state: started - when: not ansible_check_mode - -- name: Stat position file - ansible.builtin.stat: - path: "{{ promtail_positions_path }}/positions.yaml" - register: __promtail_stat_position_file - -- name: Ensure correct owner and group for Promtail position file - ansible.builtin.file: - path: "{{ promtail_positions_path }}/positions.yaml" - state: file - owner: "promtail" - notify: restart promtail - when: - - __promtail_stat_position_file.stat.exists - - promtail_runtime_mode == "acl" - -- name: Verify that Promtail URL is responding - ansible.builtin.uri: - url: "http://{{ promtail_http_listen_address }}:{{ promtail_http_listen_port }}/ready" - method: GET - register: promtail_verify_url_status_code - retries: 5 - delay: 8 - until: promtail_verify_url_status_code.status == 200 - when: - - promtail_expose_port | bool - - not ansible_check_mode diff --git a/ansible_collections/grafana/grafana/roles/promtail/tasks/main.yml b/ansible_collections/grafana/grafana/roles/promtail/tasks/main.yml deleted file mode 100644 index 62d6a4a7d5..0000000000 --- a/ansible_collections/grafana/grafana/roles/promtail/tasks/main.yml +++ /dev/null @@ -1,15 +0,0 @@ ---- -# tasks file for promtail -- name: Include OS specific variables - ansible.builtin.include_vars: - file: "{{ ansible_facts['os_family'] }}.yml" - -- name: Deploy Promtail service - ansible.builtin.include_tasks: - file: "deploy.yml" - when: not promtail_uninstall - -- name: Uninstall Promtail service - ansible.builtin.include_tasks: - file: "uninstall.yml" - when: promtail_uninstall diff --git a/ansible_collections/grafana/grafana/roles/promtail/tasks/setup-Debian.yml b/ansible_collections/grafana/grafana/roles/promtail/tasks/setup-Debian.yml deleted file mode 100644 index 3192279e97..0000000000 --- a/ansible_collections/grafana/grafana/roles/promtail/tasks/setup-Debian.yml +++ /dev/null @@ -1,14 +0,0 @@ ---- -- name: APT - Ensure that ACL is present - ansible.builtin.apt: - name: "acl" - state: present - update_cache: yes - when: promtail_runtime_mode == "acl" - -- name: APT - Install Promtail - ansible.builtin.apt: - deb: "{{ promtail_download_url_deb }}" - state: present - notify: restart promtail - when: __current_deployed_version.stdout is not defined or promtail_version not in __current_deployed_version.stdout diff --git a/ansible_collections/grafana/grafana/roles/promtail/tasks/setup-RedHat.yml b/ansible_collections/grafana/grafana/roles/promtail/tasks/setup-RedHat.yml deleted file mode 100644 index b50573da02..0000000000 --- a/ansible_collections/grafana/grafana/roles/promtail/tasks/setup-RedHat.yml +++ /dev/null @@ -1,9 +0,0 @@ ---- -- name: DNF - Install Promtail from remote URL - ansible.builtin.dnf: - name: "{{ promtail_download_url_rpm }}" - state: present - disable_gpg_check: true - notify: restart promtail - when: - - __current_deployed_version.stdout is not defined or promtail_version not in __current_deployed_version.stdout diff --git a/ansible_collections/grafana/grafana/roles/promtail/tasks/uninstall.yml b/ansible_collections/grafana/grafana/roles/promtail/tasks/uninstall.yml deleted file mode 100644 index d3dca766b8..0000000000 --- a/ansible_collections/grafana/grafana/roles/promtail/tasks/uninstall.yml +++ /dev/null @@ -1,119 +0,0 @@ ---- -# tasks file for promtail uninstall -- name: Stop Promtail service - ansible.builtin.systemd: # noqa ignore-errors - name: promtail - state: stopped - ignore_errors: true - -- name: Extract log files from static_configs - labels - path - ansible.builtin.set_fact: - __promtail_acl_log_files: >- - {{ - promtail_scrape_configs - | selectattr('static_configs', 'defined') - | map(attribute='static_configs') - | flatten - | map(attribute='labels') - | map(attribute='__path__') - | list - }} - -- name: Extract log dirs paths from static_configs - labels - path - ansible.builtin.set_fact: - __promtail_acl_log_dirs: >- - {{ - promtail_scrape_configs - | selectattr('static_configs', 'defined') - | map(attribute='static_configs') - | flatten - | map(attribute='labels') - | map(attribute='__path__') - | map('dirname') - | list - }} - -- name: Remove ACL Permission for log dirs - default - ansible.posix.acl: # noqa ignore-errors - path: "{{ item }}" - recursive: true - entity: promtail - etype: user - default: true - state: absent - loop: "{{ __promtail_acl_log_dirs }}" - ignore_errors: true - -- name: Remove ACL permission for log dirs - ansible.posix.acl: # noqa ignore-errors - path: "{{ item }}" - entity: promtail - etype: user - state: absent - loop: "{{ __promtail_acl_log_dirs }}" - ignore_errors: true - -- name: Find all existing ACL log files - ansible.builtin.find: - paths: "{{ item | dirname }}" - patterns: "{{ item | basename }}" - loop: "{{ __promtail_acl_log_files }}" - register: __promtail_find_files - -- name: Define existing ACL log files - ansible.builtin.set_fact: - __promtail_existing_acl_log_files: "{{ __promtail_find_files.results | map(attribute='files') | flatten | map(attribute='path') }}" - -- name: Remove ACL Permission for existing log files - ansible.posix.acl: # noqa ignore-errors - path: "{{ item }}" - entity: promtail - etype: user - state: absent - loop: "{{ __promtail_existing_acl_log_files }}" - ignore_errors: true - -- name: Uninstall Promtail rpm package - ansible.builtin.dnf: - name: "promtail" - state: absent - autoremove: true - when: ansible_facts['os_family'] in ['RedHat', 'Rocky'] - -- name: Uninstall Promtail deb package - ansible.builtin.apt: - name: "promtail" - state: absent - purge: true - when: ansible_facts['os_family'] == 'Debian' - -- name: Ensure that Promtail firewalld rule is not present - tcp port {{ promtail_http_listen_port }} - ansible.posix.firewalld: # noqa ignore-errors - immediate: true - permanent: true - port: "{{ promtail_http_listen_port }}/tcp" - state: disabled - ignore_errors: true - -- name: Remove Promtail directories" - ansible.builtin.file: - path: "{{ remove_me }}" - state: absent - loop: - - "/etc/promtail" - - "{{ promtail_positions_path }}" - - "/etc/logrotate.d/promtail_acl" - - "/var/log/dummy_promtail_acl" - loop_control: - loop_var: remove_me - -- name: Remove the Promtail system user - ansible.builtin.user: - name: "promtail" - force: true - state: absent - -- name: Remove Promtail system group - ansible.builtin.group: - name: "promtail" - state: absent diff --git a/ansible_collections/grafana/grafana/roles/promtail/templates/config.yml.j2 b/ansible_collections/grafana/grafana/roles/promtail/templates/config.yml.j2 deleted file mode 100644 index 83681310d6..0000000000 --- a/ansible_collections/grafana/grafana/roles/promtail/templates/config.yml.j2 +++ /dev/null @@ -1,22 +0,0 @@ -server: - {{ promtail_server | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% if promtail_positions is defined %} -positions: - {{ promtail_positions | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% endif %} -{% if promtail_clients is defined %} -clients: - {{ promtail_clients | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% endif %} -{% if promtail_scrape_configs is defined %} -scrape_configs: - {{ promtail_scrape_configs | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% endif %} -{% if promtail_limits_config is defined %} -limits_config: - {{ promtail_limits_config | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% endif %} -{% if promtail_target_config is defined %} -target_config: - {{ promtail_target_config | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% endif %} diff --git a/ansible_collections/grafana/grafana/roles/promtail/templates/promtail.service.j2 b/ansible_collections/grafana/grafana/roles/promtail/templates/promtail.service.j2 deleted file mode 100644 index 3d6144990e..0000000000 --- a/ansible_collections/grafana/grafana/roles/promtail/templates/promtail.service.j2 +++ /dev/null @@ -1,24 +0,0 @@ -[Unit] -Description=Promtail service -After=network.target - -[Service] -Type=simple -{% if promtail_runtime_mode == "acl" %} -User=promtail -{% elif promtail_runtime_mode == "root" %} -User=root -{% endif %} -ExecStart=/usr/bin/promtail \ -{% if promtail_extra_flags | length > 0 %} -{% for flag in promtail_extra_flags %} - {{ flag }} \ -{% endfor %} -{% endif %} - -config.file /etc/promtail/config.yml - -TimeoutSec = 60 -Restart = on-failure -RestartSec = 2 - -[Install] diff --git a/ansible_collections/grafana/grafana/roles/promtail/templates/promtail_acl.j2 b/ansible_collections/grafana/grafana/roles/promtail/templates/promtail_acl.j2 deleted file mode 100644 index 40090658b1..0000000000 --- a/ansible_collections/grafana/grafana/roles/promtail/templates/promtail_acl.j2 +++ /dev/null @@ -1,13 +0,0 @@ -/var/log/dummy_promtail_acl/dummy_promtail_acl.log -{ - copytruncate - postrotate -{% for each_dir in __promtail_acl_log_dirs %} - /usr/bin/setfacl -R -m d:u:promtail:rx {{ each_dir }} - /usr/bin/setfacl -m u:promtail:rx {{ each_dir }} -{% endfor %} -{% for each_log in __promtail_acl_log_files %} - /usr/bin/setfacl -m u:promtail:r {{ each_log }} -{% endfor %} - endscript -} diff --git a/ansible_collections/grafana/grafana/roles/promtail/vars/Debian.yml b/ansible_collections/grafana/grafana/roles/promtail/vars/Debian.yml deleted file mode 100644 index 4b2f3c9c36..0000000000 --- a/ansible_collections/grafana/grafana/roles/promtail/vars/Debian.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -__promtail_arch_map: - x86_64: 'amd64' - armv6l: 'arm' - armv7l: 'arm' - aarch64: 'arm64' - -__promtail_arch: "{{ __promtail_arch_map[ansible_facts['architecture']] | default(ansible_facts['architecture']) }}" diff --git a/ansible_collections/grafana/grafana/roles/promtail/vars/RedHat.yml b/ansible_collections/grafana/grafana/roles/promtail/vars/RedHat.yml deleted file mode 100644 index 8527301979..0000000000 --- a/ansible_collections/grafana/grafana/roles/promtail/vars/RedHat.yml +++ /dev/null @@ -1,2 +0,0 @@ ---- -__promtail_arch: "{{ ansible_facts['architecture'] }}" diff --git a/ansible_collections/grafana/grafana/roles/tempo/README.md b/ansible_collections/grafana/grafana/roles/tempo/README.md deleted file mode 100644 index d47f1acdee..0000000000 --- a/ansible_collections/grafana/grafana/roles/tempo/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# Ansible role - Tempo - -[![License](https://img.shields.io/github/license/grafana/grafana-ansible-collection)](LICENSE) - -The Ansible Promtail Role allows you to effortlessly deploy and manage Tempo. -This role is tailored for operating systems such as **RedHat**, **Rocky Linux**, **AlmaLinux**, **Ubuntu**, and **Debian**. - - -## Requirements - -- Ansible 2.10+ - -## License - -See [LICENSE](https://github.com/grafana/grafana-ansible-collection/blob/main/LICENSE) diff --git a/ansible_collections/grafana/grafana/roles/tempo/defaults/main.yml b/ansible_collections/grafana/grafana/roles/tempo/defaults/main.yml deleted file mode 100644 index e4303d8043..0000000000 --- a/ansible_collections/grafana/grafana/roles/tempo/defaults/main.yml +++ /dev/null @@ -1,73 +0,0 @@ ---- -# defaults file for tempo -tempo_version: "latest" -tempo_uninstall: false -__tempo_arch: "{{ arch_mapping[ansible_facts['architecture']] | default('amd64') }}" -tempo_download_url_rpm: "https://github.com/grafana/tempo/releases/download/v{{ tempo_version }}/tempo_{{ tempo_version }}_linux_{{ __tempo_arch }}.rpm" -tempo_download_url_deb: "https://github.com/grafana/tempo/releases/download/v{{ tempo_version }}/tempo_{{ tempo_version }}_linux_{{ __tempo_arch }}.deb" -tempo_working_path: "/var/lib/tempo" -tempo_http_listen_port: 3200 -tempo_http_listen_address: "0.0.0.0" -tempo_log_level: warn -tempo_report_usage: true -tempo_multitenancy_enabled: false - -# Default Variables from /etc/tempo/config.yml -tempo_server: - http_listen_port: "{{ tempo_http_listen_port }}" - http_listen_address: "{{ tempo_http_listen_address }}" - log_level: "{{ tempo_log_level }}" - -tempo_query_frontend: - search: - duration_slo: 5s - throughput_bytes_slo: 1.073741824e+09 - metadata_slo: - duration_slo: 5s - throughput_bytes_slo: 1.073741824e+09 - trace_by_id: - duration_slo: 5s - -tempo_distributor: - receivers: - otlp: - protocols: - grpc: - endpoint: "{{ tempo_http_listen_address }}:4317" - -tempo_metrics_generator: - registry: - external_labels: - source: tempo - cluster: docker-compose - storage: - path: "{{ tempo_working_path }}/generator/wal" - remote_write: - - url: http://prometheus:9090/api/v1/write - send_exemplars: true - traces_storage: - path: "{{ tempo_working_path }}/generator/traces" - -tempo_storage: - trace: - backend: local # backend configuration to use - wal: - path: "{{ tempo_working_path }}/wal" # where to store the wal locally - local: - path: "{{ tempo_working_path }}/blocks" - -tempo_overrides: - defaults: - metrics_generator: - processors: [service-graphs, span-metrics, local-blocks] # enables metrics generator - generate_native_histograms: both - -# Additional Config Variables for /etc/tempo/config.yml -# tempo_ingester: -# tempo_ingester_client: -# tempo_metrics_generator_client: -# tempo_querier: -# tempo_compactor: -# tempo_storage: -# tempo_memberlist: -# tempo_cache: diff --git a/ansible_collections/grafana/grafana/roles/tempo/handlers/main.yml b/ansible_collections/grafana/grafana/roles/tempo/handlers/main.yml deleted file mode 100644 index b0a020d2c7..0000000000 --- a/ansible_collections/grafana/grafana/roles/tempo/handlers/main.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- - -- name: Restart tempo - ansible.builtin.systemd: - name: tempo.service - state: restarted diff --git a/ansible_collections/grafana/grafana/roles/tempo/meta/main.yml b/ansible_collections/grafana/grafana/roles/tempo/meta/main.yml deleted file mode 100644 index 5fa0efdbea..0000000000 --- a/ansible_collections/grafana/grafana/roles/tempo/meta/main.yml +++ /dev/null @@ -1,28 +0,0 @@ ---- -galaxy_info: - role_name: tempo - author: Grafana - description: Manage Grafana Tempo Application - license: "GPL-3.0-or-later" - min_ansible_version: "2.10" - platforms: - - name: EL - versions: - - "8" - - "9" - - name: Fedora - versions: - - all - - name: Debian - versions: - - all - - name: Ubuntu - versions: - - all - galaxy_tags: - - tempo - - grafana - - tracing - - monitoring - -dependencies: [] diff --git a/ansible_collections/grafana/grafana/roles/tempo/molecule/default/converge.yml b/ansible_collections/grafana/grafana/roles/tempo/molecule/default/converge.yml deleted file mode 100644 index fa9c634620..0000000000 --- a/ansible_collections/grafana/grafana/roles/tempo/molecule/default/converge.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -- name: Converge - hosts: all - roles: - - role: grafana.grafana.tempo diff --git a/ansible_collections/grafana/grafana/roles/tempo/molecule/default/molecule.yml b/ansible_collections/grafana/grafana/roles/tempo/molecule/default/molecule.yml deleted file mode 100644 index 339965a50e..0000000000 --- a/ansible_collections/grafana/grafana/roles/tempo/molecule/default/molecule.yml +++ /dev/null @@ -1,20 +0,0 @@ ---- -dependency: - name: galaxy - options: - ignore-errors: true -driver: - name: docker -platforms: - - name: instance - image: "geerlingguy/docker-${MOLECULE_DISTRO:-rockylinux8}-ansible:latest" - command: ${MOLECULE_DOCKER_COMMAND:-""} - volumes: - - /sys/fs/cgroup:/sys/fs/cgroup:rw - cgroupns_mode: host - privileged: true - pre_build_image: true -provisioner: - name: ansible - playbooks: - converge: converge.yml diff --git a/ansible_collections/grafana/grafana/roles/tempo/tasks/deploy.yml b/ansible_collections/grafana/grafana/roles/tempo/tasks/deploy.yml deleted file mode 100644 index 7d25e3fe8e..0000000000 --- a/ansible_collections/grafana/grafana/roles/tempo/tasks/deploy.yml +++ /dev/null @@ -1,99 +0,0 @@ ---- -# tasks file for Tempo deployment -- name: Obtain the latest version from the Tempo GitHub repo - when: tempo_version == "latest" - block: - - name: Scrape Github API endpoint to obtain latest Tempo version - ansible.builtin.uri: - url: "https://api.github.com/repos/grafana/tempo/releases/latest" - method: GET - body_format: json - become: false - delegate_to: localhost - run_once: true - register: __github_latest_version - check_mode: false - - - name: Latest available Tempo version - ansible.builtin.set_fact: - tempo_version: "{{ __github_latest_version.json.tag_name | regex_replace('^v?(\\d+\\.\\d+\\.\\d+)$', '\\1') }}" - -- name: Verify current deployed version - block: - - name: Check if Tempo binary is present - ansible.builtin.stat: - path: "/usr/bin/tempo" - register: __already_deployed - - - name: Obtain current deployed Tempo version - ansible.builtin.command: - cmd: "/usr/bin/tempo --version" - changed_when: false - register: __current_deployed_version - when: __already_deployed.stat.exists | bool - -- name: Include RedHat/Rocky setup - ansible.builtin.include_tasks: - file: setup-Redhat.yml - when: ansible_facts['os_family'] in ['RedHat', 'Rocky'] - -- name: Include Debian/Ubuntu setup - ansible.builtin.include_tasks: - file: setup-Debian.yml - when: ansible_facts['os_family'] == 'Debian' - -- name: Check if Tempo default dir is present - ansible.builtin.stat: - path: "/tmp/tempo/boltdb-shipper-active" - register: __default_structure - -- name: Default structure cleanup - when: __default_structure.stat.exists | bool - block: - - name: Ensure that Tempo is stopped before default cleanup - ansible.builtin.systemd: - name: tempo.service - state: stopped - - - name: Remove default configuration from "/tmp/tempo" directory - ansible.builtin.file: - path: "/tmp/tempo" - state: absent - -- name: Ensure that Tempo working path exists - ansible.builtin.file: - path: "{{ tempo_working_path }}" - state: directory - owner: "tempo" - group: "root" - mode: "0755" - -- name: Template Tempo config - /etc/tempo/config.yml - ansible.builtin.template: - src: "config.yml.j2" - dest: "/etc/tempo/config.yml" - owner: "tempo" - group: "root" - mode: "0644" - validate: "/usr/bin/tempo -config.verify %s" - notify: Restart tempo - -- name: Ensure restart has completed - ansible.builtin.meta: flush_handlers - -- name: Ensure that Tempo is started - ansible.builtin.systemd: - name: tempo.service - state: started - enabled: true - -- name: Verify that Tempo URL is responding - ansible.builtin.uri: - url: "http://{{ tempo_http_listen_address }}:{{ tempo_http_listen_port }}/ready" - method: GET - register: tempo_verify_url_status_code - retries: 5 - delay: 8 - until: tempo_verify_url_status_code.status == 200 - when: - - not ansible_check_mode diff --git a/ansible_collections/grafana/grafana/roles/tempo/tasks/main.yml b/ansible_collections/grafana/grafana/roles/tempo/tasks/main.yml deleted file mode 100644 index 55ccafa17a..0000000000 --- a/ansible_collections/grafana/grafana/roles/tempo/tasks/main.yml +++ /dev/null @@ -1,9 +0,0 @@ -- name: Deploy Tempo service - ansible.builtin.include_tasks: - file: "deploy.yml" - when: not tempo_uninstall - -- name: Uninstall Tempo service - ansible.builtin.include_tasks: - file: "uninstall.yml" - when: tempo_uninstall diff --git a/ansible_collections/grafana/grafana/roles/tempo/tasks/setup-Debian.yml b/ansible_collections/grafana/grafana/roles/tempo/tasks/setup-Debian.yml deleted file mode 100644 index 9b823dcb38..0000000000 --- a/ansible_collections/grafana/grafana/roles/tempo/tasks/setup-Debian.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: APT - Install Tempo - ansible.builtin.apt: - deb: "{{ tempo_download_url_deb }}" - state: present - notify: Restart tempo - when: __current_deployed_version.stdout is not defined or tempo_version not in __current_deployed_version.stdout diff --git a/ansible_collections/grafana/grafana/roles/tempo/tasks/setup-Redhat.yml b/ansible_collections/grafana/grafana/roles/tempo/tasks/setup-Redhat.yml deleted file mode 100644 index bafbfe9549..0000000000 --- a/ansible_collections/grafana/grafana/roles/tempo/tasks/setup-Redhat.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- name: DNF - Install Tempo from remote URL - ansible.builtin.dnf: - name: "{{ tempo_download_url_rpm }}" - state: present - disable_gpg_check: true - notify: Restart tempo - when: __current_deployed_version.stdout is not defined or tempo_version not in __current_deployed_version.stdout diff --git a/ansible_collections/grafana/grafana/roles/tempo/tasks/uninstall.yml b/ansible_collections/grafana/grafana/roles/tempo/tasks/uninstall.yml deleted file mode 100644 index 4cb659c366..0000000000 --- a/ansible_collections/grafana/grafana/roles/tempo/tasks/uninstall.yml +++ /dev/null @@ -1,43 +0,0 @@ ---- -# tasks file for tempo uninstall - -- name: Stop Tempo service - ansible.builtin.systemd: # noqa ignore-errors - name: tempo - state: stopped - ignore_errors: true - -- name: Uninstall Tempo rpm package - ansible.builtin.dnf: - name: "tempo" - state: absent - autoremove: true - when: ansible_facts['os_family'] in ['RedHat', 'Rocky'] - -- name: Uninstall Tempo deb package - ansible.builtin.apt: - name: "tempo" - state: absent - purge: true - when: ansible_facts['os_family'] == 'Debian' - -- name: Remove Tempo directories" - ansible.builtin.file: - path: "{{ remove_me }}" - state: absent - loop: - - "/etc/tempo" - - "{{ tempo_working_path }}" - loop_control: - loop_var: remove_me - -- name: Remove the Tempo system user - ansible.builtin.user: - name: "tempo" - force: true - state: absent - -- name: Remove Tempo system group - ansible.builtin.group: - name: "tempo" - state: absent diff --git a/ansible_collections/grafana/grafana/roles/tempo/templates/config.yml.j2 b/ansible_collections/grafana/grafana/roles/tempo/templates/config.yml.j2 deleted file mode 100644 index 645c6b054e..0000000000 --- a/ansible_collections/grafana/grafana/roles/tempo/templates/config.yml.j2 +++ /dev/null @@ -1,57 +0,0 @@ ---- -server: - {{ tempo_server | to_nice_yaml(indent=2, sort_keys=False) | indent(2, False) }} -{% if tempo_distributor is defined %} -distributor: - {{ tempo_distributor | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% endif %} -{% if tempo_ingester is defined %} -ingester: - {{ tempo_ingester | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% endif %} -{% if tempo_ingester_client is defined %} -ingester_client: - {{ tempo_ingester_client | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% endif %} -{% if tempo_metrics_generator is defined %} -metrics_generator: - {{ tempo_metrics_generator | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% endif %} -{% if tempo_metrics_generator_client is defined %} -metrics_generator_client: - {{ tempo_metrics_generator_client | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% endif %} -{% if tempo_querier is defined %} -querier: - {{ tempo_querier | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% endif %} -{% if tempo_query_frontend is defined %} -query_frontend: - {{ tempo_query_frontend | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% endif %} -{% if tempo_compactor is defined %} -compactor: - {{ tempo_compactor | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% endif %} -{% if tempo_storage is defined %} -storage: - {{ tempo_storage | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% endif %} -{% if tempo_memberlist is defined %} -memberlist: - {{ tempo_memberlist | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% endif %} -{% if tempo_overrides is defined %} -overrides: - {{ tempo_overrides | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% endif %} -{% if tempo_cache is defined %} -cache: - {{ tempo_cache | to_nice_yaml(indent=2,sort_keys=False) | indent(2, False) }} -{% endif %} -{% if tempo_http_api_prefix is defined %} -http_api_prefix: {{ tempo_http_api_prefix }} -{% endif %} -usage_report: - reporting_enabled: {{ tempo_report_usage }} -multitenancy_enabled: {{ tempo_multitenancy_enabled }} diff --git a/ansible_collections/grafana/grafana/roles/tempo/vars/main.yml b/ansible_collections/grafana/grafana/roles/tempo/vars/main.yml deleted file mode 100644 index cc53510974..0000000000 --- a/ansible_collections/grafana/grafana/roles/tempo/vars/main.yml +++ /dev/null @@ -1,6 +0,0 @@ -__tempo_arch_map: - x86_64: 'amd64' - armv6l: 'arm' - armv7l: 'arm' - aarch64: 'arm64' -__tempo_arch: "{{ __tempo_arch_map[ansible_facts['architecture']] | default(ansible_facts['architecture']) }}" diff --git a/ansible_collections/grafana/grafana/tests/integration/requirements.txt b/ansible_collections/grafana/grafana/tests/integration/requirements.txt deleted file mode 100644 index 663bd1f6a2..0000000000 --- a/ansible_collections/grafana/grafana/tests/integration/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -requests \ No newline at end of file diff --git a/ansible_collections/grafana/grafana/tests/integration/targets/alert_contact_point/tasks/main.yml b/ansible_collections/grafana/grafana/tests/integration/targets/alert_contact_point/tasks/main.yml deleted file mode 100644 index 8ba5afafec..0000000000 --- a/ansible_collections/grafana/grafana/tests/integration/targets/alert_contact_point/tasks/main.yml +++ /dev/null @@ -1,80 +0,0 @@ ---- -- name: Create Alerting contact point - grafana.grafana.alert_contact_point: - name: ops-email - uid: opsemail - type: email - settings: - addresses: ops@mydomain.com,devs@mydomain.com - grafana_ini: - server: - root_url: "{{ grafana_url }}" - grafana_api_key: "{{ grafana_api_key }}" - state: present - register: add_result - -- name: Add Check - ansible.builtin.assert: - that: - - add_result.failed == false - - add_result.output.provenance == "api" - -- name: Idempotency Check - grafana.grafana.alert_contact_point: - name: ops-email - uid: opsemail - type: email - settings: - addresses: ops@mydomain.com,devs@mydomain.com - grafana_ini: - server: - root_url: "{{ grafana_url }}" - grafana_api_key: "{{ grafana_api_key }}" - state: present - register: idempotent_result - -- name: Changed Check - ansible.builtin.assert: - that: - - idempotent_result.changed == false - - idempotent_result.output.provenance == "api" - -- name: Update Alerting contact point - grafana.grafana.alert_contact_point: - name: ops-email - uid: opsemail - type: email - settings: - addresses: "ops@mydomain.com,devs@mydomain.com,admin@mydomain.com" - grafana_ini: - server: - root_url: "{{ grafana_url }}" - grafana_api_key: "{{ grafana_api_key }}" - state: present - register: update_result - -- name: Failed Check - ansible.builtin.assert: - that: - - update_result.failed == false - - update_result.output.provenance == "api" - -- name: Delete Alerting contact point - grafana.grafana.alert_contact_point: - name: ops-email - uid: opsemail - type: email - settings: - addresses: "ops@mydomain.com,devs@mydomain.com,admin@mydomain.com" - grafana_ini: - server: - root_url: "{{ grafana_url }}" - grafana_api_key: "{{ grafana_api_key }}" - state: absent - register: delete_result - -- name: Delete Check - ansible.builtin.assert: - that: - - delete_result.failed == false - - delete_result.output.message == "contactpoint deleted" diff --git a/ansible_collections/grafana/grafana/tests/integration/targets/alert_notification_policy/tasks/main.yml b/ansible_collections/grafana/grafana/tests/integration/targets/alert_notification_policy/tasks/main.yml deleted file mode 100644 index 1e051fcacc..0000000000 --- a/ansible_collections/grafana/grafana/tests/integration/targets/alert_notification_policy/tasks/main.yml +++ /dev/null @@ -1,17 +0,0 @@ -- name: Set Notification policy tree - grafana.grafana.alert_notification_policy: - grafana_ini: - server: - root_url: "{{ grafana_url }}" - grafana_api_key: "{{ grafana_api_key }}" - routes: [ - { - receiver: grafana-default-email, - object_matchers: [["env", "=", "Production"]], - } - ] - register: result - -- assert: - that: - - result.failed == false diff --git a/ansible_collections/grafana/grafana/tests/integration/targets/cloud_api_key/tasks/main.yml b/ansible_collections/grafana/grafana/tests/integration/targets/cloud_api_key/tasks/main.yml deleted file mode 100644 index 3e83a68103..0000000000 --- a/ansible_collections/grafana/grafana/tests/integration/targets/cloud_api_key/tasks/main.yml +++ /dev/null @@ -1,45 +0,0 @@ ---- -- name: Create Grafana Cloud API key - grafana.grafana.cloud_api_key: - name: ansible-integration-test - role: Admin - org_slug: "{{ org_name }}" - existing_cloud_api_key: "{{ grafana_cloud_api_key }}" - fail_if_already_created: false - state: present - register: add_result - -- name: Add Check - ansible.builtin.assert: - that: - - add_result.output.name == "ansible-integration-test" - when: add_result.output.name is defined - -- name: Re-run previous task - grafana.grafana.cloud_api_key: - name: ansible-integration-test - role: Admin - org_slug: "{{ org_name }}" - existing_cloud_api_key: "{{ grafana_cloud_api_key }}" - fail_if_already_created: false - state: present - register: update_result - -- name: Update Check - ansible.builtin.assert: - that: - - update_result.output == "A Cloud API key with the same name already exists" - -- name: Delete Grafana Cloud API key - grafana.grafana.cloud_api_key: - name: ansible-integration-test - role: Admin - org_slug: "{{ org_name }}" - existing_cloud_api_key: "{{ grafana_cloud_api_key }}" - state: absent - register: delete_result - -- name: Delete Check - ansible.builtin.assert: - that: - - delete_result.output == "Cloud API key is deleted" diff --git a/ansible_collections/grafana/grafana/tests/integration/targets/cloud_plugin/tasks/main.yml b/ansible_collections/grafana/grafana/tests/integration/targets/cloud_plugin/tasks/main.yml deleted file mode 100644 index 2bb0ab2653..0000000000 --- a/ansible_collections/grafana/grafana/tests/integration/targets/cloud_plugin/tasks/main.yml +++ /dev/null @@ -1,56 +0,0 @@ ---- -- name: Add a plugin - grafana.grafana.cloud_plugin: - name: grafana-github-datasource - version: 1.0.14 - stack_slug: "{{ test_stack_name }}" - cloud_api_key: "{{ grafana_cloud_api_key }}" - state: present - register: add_result - -- name: Add Check - ansible.builtin.assert: - that: - - add_result.pluginName == "GitHub" - -- name: Idempotency Check - grafana.grafana.cloud_plugin: - name: grafana-github-datasource - version: 1.0.14 - stack_slug: "{{ test_stack_name }}" - cloud_api_key: "{{ grafana_cloud_api_key }}" - state: present - register: idempotency_result - -- name: Idempotency Check - ansible.builtin.assert: - that: - - idempotency_result.pluginName == "GitHub" - -- name: Update a plugin - grafana.grafana.cloud_plugin: - name: grafana-github-datasource - version: 1.0.15 - stack_slug: "{{ test_stack_name }}" - cloud_api_key: "{{ grafana_cloud_api_key }}" - state: present - register: update_result - -- name: Update Check - ansible.builtin.assert: - that: - - update_result.pluginName == "GitHub" - -- name: Delete a plugin - grafana.grafana.cloud_plugin: - name: grafana-github-datasource - version: 1.0.15 - stack_slug: "{{ test_stack_name }}" - cloud_api_key: "{{ grafana_cloud_api_key }}" - state: absent - register: delete_result - -- name: Delete Check - ansible.builtin.assert: - that: - - delete_result.pluginName == "GitHub" diff --git a/ansible_collections/grafana/grafana/tests/integration/targets/create_cloud_stack/tasks/main.yml b/ansible_collections/grafana/grafana/tests/integration/targets/create_cloud_stack/tasks/main.yml deleted file mode 100644 index 642b528b7d..0000000000 --- a/ansible_collections/grafana/grafana/tests/integration/targets/create_cloud_stack/tasks/main.yml +++ /dev/null @@ -1,18 +0,0 @@ ---- -- name: Create a Grafana Cloud stack - grafana.grafana.cloud_stack: - name: "{{ test_stack_name }}" - stack_slug: "{{ test_stack_name }}" - cloud_api_key: "{{ grafana_cloud_api_key }}" - org_slug: "{{ org_name }}" - state: present - register: create_result - -- name: Create Check - ansible.builtin.assert: - that: - - create_result.url == "https://" + "{{ test_stack_name }}" + ".grafana.net" - -- name: Sleep for 45 seconds - ansible.builtin.wait_for: - timeout: 45 diff --git a/ansible_collections/grafana/grafana/tests/integration/targets/dashboard/tasks/main.yml b/ansible_collections/grafana/grafana/tests/integration/targets/dashboard/tasks/main.yml deleted file mode 100644 index 1e3ee4857b..0000000000 --- a/ansible_collections/grafana/grafana/tests/integration/targets/dashboard/tasks/main.yml +++ /dev/null @@ -1,52 +0,0 @@ ---- -- name: Create/Update a dashboard - grafana.grafana.dashboard: - dashboard: - dashboard: - uid: test1234 - title: Ansible Integration Test - tags: - - templated - timezone: browser - schemaVersion: 16 - refresh: 25s - version: 0 - overwrite: true - grafana_ini: - server: - root_url: "{{ grafana_url }}" - grafana_api_key: "{{ grafana_api_key }}" - state: present - register: result_present - -- name: Create/Update Check - ansible.builtin.assert: - that: - - result_present.changed == true - - result_present.output.status == "success" - -- name: Delete dashboard - grafana.grafana.dashboard: - dashboard: - dashboard: - uid: test1234 - title: Ansible Integration Test - tags: - - templated - timezone: browser - schemaVersion: 16 - version: 0 - refresh: 25s - overwrite: true - grafana_ini: - server: - root_url: "{{ grafana_url }}" - grafana_api_key: "{{ grafana_api_key }}" - state: absent - register: result_absent - -- name: Delete Check - ansible.builtin.assert: - that: - - result_absent.changed == true - - result_absent.output.message == "Dashboard Ansible Integration Test deleted" diff --git a/ansible_collections/grafana/grafana/tests/integration/targets/datasource/tasks/main.yml b/ansible_collections/grafana/grafana/tests/integration/targets/datasource/tasks/main.yml deleted file mode 100644 index cd80d2a5ea..0000000000 --- a/ansible_collections/grafana/grafana/tests/integration/targets/datasource/tasks/main.yml +++ /dev/null @@ -1,52 +0,0 @@ ---- -- name: Create/Update a Data Source - grafana.grafana.datasource: - dataSource: - name: ansible-integration - type: influxdb - url: https://grafana.github.com/grafana-ansible-collection - user: user - secureJsonData: - password: password - database: db-name - id: 123 - uid: ansibletest - access: proxy - grafana_ini: - server: - root_url: "{{ grafana_url }}" - grafana_api_key: "{{ grafana_api_key }}" - state: present - register: create_result - -- name: Create Check - ansible.builtin.assert: - that: - - create_result.changed == true - - create_result.output.message == "Datasource added" or create_result.output.message == "Datasource updated" - -- name: Delete a Data Source - grafana.grafana.datasource: - dataSource: - name: ansible-integration - type: influxdb - url: https://grafana.github.com/grafana-ansible-collection - user: user - secureJsonData: - password: password - database: db-name - id: 123 - uid: ansibletest - access: proxy - grafana_ini: - server: - root_url: "{{ grafana_url }}" - grafana_api_key: "{{ grafana_api_key }}" - state: absent - register: delete_result - -- name: Delete Check - ansible.builtin.assert: - that: - - delete_result.changed == true - - delete_result.output.response == "Data source deleted" diff --git a/ansible_collections/grafana/grafana/tests/integration/targets/delete_cloud_stack/tasks/main.yml b/ansible_collections/grafana/grafana/tests/integration/targets/delete_cloud_stack/tasks/main.yml deleted file mode 100644 index 39c2e9cc49..0000000000 --- a/ansible_collections/grafana/grafana/tests/integration/targets/delete_cloud_stack/tasks/main.yml +++ /dev/null @@ -1,19 +0,0 @@ ---- -- name: Delete a Grafana Cloud stack - grafana.grafana.cloud_stack: - name: "{{ test_stack_name }}" - stack_slug: "{{ test_stack_name }}" - cloud_api_key: "{{ grafana_cloud_api_key }}" - org_slug: "{{ org_name }}" - state: absent - register: delete_result - -- name: Delete Check - ansible.builtin.assert: - that: - - delete_result.changed == true - - delete_result.url == "https://" + "{{ test_stack_name }}" + ".grafana.net" - -- name: Sleep for 45 seconds - ansible.builtin.wait_for: - timeout: 45 diff --git a/ansible_collections/grafana/grafana/tests/integration/targets/folder/tasks/main.yml b/ansible_collections/grafana/grafana/tests/integration/targets/folder/tasks/main.yml deleted file mode 100644 index cebde0fd95..0000000000 --- a/ansible_collections/grafana/grafana/tests/integration/targets/folder/tasks/main.yml +++ /dev/null @@ -1,53 +0,0 @@ ---- -- name: Create/Update a Folder in Grafana - grafana.grafana.folder: - title: Ansible Integration test - uid: test123 - overwrite: true - grafana_ini: - server: - root_url: "{{ grafana_url }}" - grafana_api_key: "{{ grafana_api_key }}" - state: present - register: create_result - -- name: Create Check - ansible.builtin.assert: - that: - - create_result.failed == false - -- name: Delete a folder - grafana.grafana.folder: - title: Ansible Integration test - uid: test123 - overwrite: true - grafana_ini: - server: - root_url: "{{ grafana_url }}" - grafana_api_key: "{{ grafana_api_key }}" - state: absent - register: delete_result - -- name: Delete Check - ansible.builtin.assert: - that: - - delete_result.output.status == 200 - - delete_result.output.response == "Folder has been succesfuly deleted" - -- name: Delete Idempotency Check - grafana.grafana.folder: - title: Ansible Integration test - uid: test123 - overwrite: true - grafana_ini: - server: - root_url: "{{ grafana_url }}" - grafana_api_key: "{{ grafana_api_key }}" - state: absent - register: delete_result - -- name: Delete Check - ansible.builtin.assert: - that: - - delete_result.output.status == 200 - - delete_result.output.response == "Folder does not exist" diff --git a/ansible_collections/grafana/grafana/tests/integration/targets/molecule-grafana-alternative/runme.sh b/ansible_collections/grafana/grafana/tests/integration/targets/molecule-grafana-alternative/runme.sh deleted file mode 100755 index 87129f7e4d..0000000000 --- a/ansible_collections/grafana/grafana/tests/integration/targets/molecule-grafana-alternative/runme.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/usr/bin/env bash - -version="0.1.3" -src="https://github.com/gardar/ansible-test-molecule/releases/download/$version/ansible-test-molecule.sh" - -# shellcheck disable=SC1090 -if [[ -v GITHUB_TOKEN ]] -then - source <(curl -L -s -H "Authorization: token $GITHUB_TOKEN" $src) -else - source <(curl -L -s $src) -fi diff --git a/ansible_collections/grafana/grafana/tests/integration/targets/molecule-grafana-default/runme.sh b/ansible_collections/grafana/grafana/tests/integration/targets/molecule-grafana-default/runme.sh deleted file mode 100755 index 87129f7e4d..0000000000 --- a/ansible_collections/grafana/grafana/tests/integration/targets/molecule-grafana-default/runme.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/usr/bin/env bash - -version="0.1.3" -src="https://github.com/gardar/ansible-test-molecule/releases/download/$version/ansible-test-molecule.sh" - -# shellcheck disable=SC1090 -if [[ -v GITHUB_TOKEN ]] -then - source <(curl -L -s -H "Authorization: token $GITHUB_TOKEN" $src) -else - source <(curl -L -s $src) -fi diff --git a/ansible_collections/grafana/grafana/tests/integration/targets/user/tasks/main.yml b/ansible_collections/grafana/grafana/tests/integration/targets/user/tasks/main.yml deleted file mode 100644 index 9260aca940..0000000000 --- a/ansible_collections/grafana/grafana/tests/integration/targets/user/tasks/main.yml +++ /dev/null @@ -1,60 +0,0 @@ ---- -- name: Create an User in Grafana - grafana.grafana.user: - login: "grafana_user" - password: "Yeihohghomi2neipuphuakooWeeph3ox" - email: "grafana_user@localhost.local" - name: "grafana user" - grafana_url: "{{ grafana_url }}" - admin_name: "admin" - admin_password: "admin" - state: present - register: create_result - -- name: Create Check - ansible.builtin.assert: - that: - - create_result.failed == false - -- name: Change an User password in Grafana - grafana.grafana.user: - login: "grafana_user" - password: "Yeihohghomi2neipuphuakooWeeph3ox" - grafana_url: "{{ grafana_url }}" - admin_name: "admin" - admin_password: "admin" - state: update_password - register: update_result - -- name: Create Check - ansible.builtin.assert: - that: - - update_result.failed == false - -- name: Delete a user - grafana.grafana.user: - login: "grafana_user" - grafana_url: "{{ grafana_url }}" - admin_name: "admin" - admin_password: "admin" - state: absent - register: delete_result - -- name: Delete Check - ansible.builtin.assert: - that: - - delete_result.failed == false - -- name: Delete Idempotency Check - grafana.grafana.user: - login: "grafana_user" - grafana_url: "{{ grafana_url }}" - admin_name: "admin" - admin_password: "admin" - state: absent - register: delete_result - -- name: Delete Check - ansible.builtin.assert: - that: - - delete_result.failed == false diff --git a/ansible_collections/grafana/grafana/tools/includes/logging.sh b/ansible_collections/grafana/grafana/tools/includes/logging.sh deleted file mode 100755 index 261349582c..0000000000 --- a/ansible_collections/grafana/grafana/tools/includes/logging.sh +++ /dev/null @@ -1,123 +0,0 @@ -#!/usr/bin/env bash - -LOG_LEVEL=${LOG_LEVEL:=6} # 7 = debug -> 0 = emergency -NO_COLOR="${NO_COLOR:-}" -# shellcheck disable=SC2034 -TRACE="0" - -# _log -# ----------------------------------- -# Handles all logging, all log messages are output to stderr so stdout can still be piped -# Example: _log "info" "Some message" -# ----------------------------------- -# shellcheck disable=SC2034 -_log () { - local log_level="${1}" # first option is the level, the rest is the message - shift - local color_success="\\x1b[32m" - local color_debug="\\x1b[36m" - local color_info="\\x1b[90m" - local color_notice="\\x1b[34m" - local color_warning="\\x1b[33m" - local color_error="\\x1b[31m" - local color_critical="\\x1b[1;31m" - local color_alert="\\x1b[1;33;41m" - local color_emergency="\\x1b[1;4;5;33;41m" - local colorvar="color_${log_level}" - local color="${!colorvar:-${color_error}}" - local color_reset="\\x1b[0m" - - # If no color is set or a non-recognized terminal is used don't use colors - if [[ "${NO_COLOR:-}" = "true" ]] || { [[ "${TERM:-}" != "xterm"* ]] && [[ "${TERM:-}" != "screen"* ]]; } || [[ ! -t 2 ]]; then - if [[ "${NO_COLOR:-}" != "false" ]]; then - color=""; - color_reset=""; - fi - fi - - # all remaining arguments are to be printed - local log_line="" - - while IFS=$'\n' read -r log_line; do - echo -e "$(date +"%Y-%m-%d %H:%M:%S %Z") ${color}[${log_level}]${color_reset} ${log_line}" 1>&2 - done <<< "${@:-}" -} - -# emergency -# ----------------------------------- -# Handles emergency logging -# ----------------------------------- -emergency() { - _log emergency "${@}"; exit 1; -} - -# success -# ----------------------------------- -# Handles success logging -# ----------------------------------- -success() { - _log success "${@}"; true; -} - -# alert -# ----------------------------------- -# Handles alert logging -# ----------------------------------- -alert() { - [[ "${LOG_LEVEL:-0}" -ge 1 ]] && _log alert "${@}"; - true; -} - -# critical -# ----------------------------------- -# Handles critical logging -# ----------------------------------- -critical() { - [[ "${LOG_LEVEL:-0}" -ge 2 ]] && _log critical "${@}"; - true; -} - -# error -# ----------------------------------- -# Handles error logging -# ----------------------------------- -error() { - [[ "${LOG_LEVEL:-0}" -ge 3 ]] && _log error "${@}"; - true; -} - -# warning -# ----------------------------------- -# Handles warning logging -# ----------------------------------- -warning() { - [[ "${LOG_LEVEL:-0}" -ge 4 ]] && _log warning "${@}"; - true; -} - -# notice -# ----------------------------------- -# Handles notice logging -# ----------------------------------- -notice() { - [[ "${LOG_LEVEL:-0}" -ge 5 ]] && _log notice "${@}"; - true; -} - -# info -# ----------------------------------- -# Handles info logging -# ----------------------------------- -info() { - [[ "${LOG_LEVEL:-0}" -ge 6 ]] && _log info "${@}"; - true; -} - -# debug -# ----------------------------------- -# Handles debug logging and prepends the name of the that called debug in front of the message -# ----------------------------------- -debug() { - [[ "${LOG_LEVEL:-0}" -ge 7 ]] && _log debug "${FUNCNAME[1]}() ${*}"; - true; -} diff --git a/ansible_collections/grafana/grafana/tools/includes/utils.sh b/ansible_collections/grafana/grafana/tools/includes/utils.sh deleted file mode 100755 index 13264ea49f..0000000000 --- a/ansible_collections/grafana/grafana/tools/includes/utils.sh +++ /dev/null @@ -1,66 +0,0 @@ -#!/usr/bin/env bash - -# heading -# ----------------------------------- -# Print standard heading -# ----------------------------------- -heading() { - local title="${1}" - local message="${2}" - local width="75" - local orange="\\033[38;5;202m" - local reset="\\033[0m" - local bold="\\x1b[1m" - echo "" - echo -e "${orange} ▒▒▓▓▒▒▒▓ ${reset} ____ __ _ _ " - echo -e "${orange} ▓▓▓ ▒ ${reset} / ___| _ __ __ _ / _| __ _ _ __ __ _ | | __ _ | |__ ___ " - echo -e "${orange} ▒▓ ▒▒▒▒▓ ${reset} | | _ | '__| / _ || |_ / _ || '_ \\ / _ | | | / _ || '_ \\ / __|" - echo -e "${orange} ▒▓▓ ▒ ▒▒ ${reset} | |_| || | | (_| || _|| (_| || | | || (_| | | |___ | (_| || |_) | \\__\\" - echo -e "${orange} ▒▓▒ ▒▓ ${reset} \\____||_| \\__,_||_| \\__,_||_| |_| \\__,_| |_____| \\__,_||_.__/ |___/" - echo -e "${orange} ▒▒▒ ▒▒▒ ${reset} " - echo -e "${orange} ▒▒▒▒▒ ${reset} $(repeat $(( ((width - ${#title}) - 2) / 2)) " ")${bold}$title${reset}" - echo -e "${reset} $(repeat $(( ((width - ${#message}) - 2) / 2)) " ")$message${reset}" - echo "" -} - -# repeat -# ----------------------------------- -# Repeat a Character N number of times -# ----------------------------------- -repeat(){ - local times="${1:-80}" - local character="${2:-=}" - local start=1 - local range - range=$(seq "$start" "$times") - local str="" - # shellcheck disable=SC2034 - for i in $range; do - str="$str${character}" - done - echo "$str" -} - -# lintWarning -# ----------------------------------- -# Output a Lint Warning Message -# ----------------------------------- -lintWarning() { - local msg="${1}" - local color_warning="\\x1b[33m" - local color_reset="\\x1b[0m" - local bold="\\x1b[1m" - echo -e " ‣ ${color_warning}${bold}[warn]${color_reset} $msg" -} - -# lintError -# ----------------------------------- -# Output a Lint Error Message -# ----------------------------------- -lintError() { - local msg="${1}" - local color_error="\\x1b[31m" - local color_reset="\\x1b[0m" - local bold="\\x1b[1m" - echo -e " ‣ ${color_error}${bold}[error]${color_reset} $msg" -} diff --git a/ansible_collections/grafana/grafana/tools/lint-ansible.sh b/ansible_collections/grafana/grafana/tools/lint-ansible.sh deleted file mode 100755 index 47cb90b2f6..0000000000 --- a/ansible_collections/grafana/grafana/tools/lint-ansible.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env bash - -source "$(pwd)/tools/includes/utils.sh" - -source "./tools/includes/logging.sh" - -# output the heading -heading "Grafana Ansible Collection" "Performing Ansible Linting using ansible-lint" - -# make sure pipenv exists -if [[ "$(command -v pipenv)" = "" ]]; then - echo >&2 "pipenv command is required, see (https://pipenv.pypa.io/en/latest/) or run: brew install pipenv"; - exit 1; -fi - -# make sure yamllint exists -if [[ "$(pipenv run pip freeze | grep -c "ansible-lint")" == "0" ]]; then - echo >&2 "ansible-lint command is required, see (https://pypi.org/project/ansible-lint/). Run \"make install\" to install it."; - exit 1; -fi - -# determine whether or not the script is called directly or sourced -(return 0 2>/dev/null) && sourced=1 || sourced=0 - -# run yamllint -echo "$(pwd)/.ansible-lint" -pipenv run ansible-lint --config-file "$(pwd)/.ansible-lint" --strict -statusCode="$?" - -if [[ "$statusCode" == "0" ]]; then - echo "no issues found" - echo "" -fi - -echo "" -# if the script was called by another, send a valid exit code -if [[ "$sourced" == "1" ]]; then - return "$statusCode" -fi diff --git a/ansible_collections/grafana/grafana/tools/lint-editorconfig.sh b/ansible_collections/grafana/grafana/tools/lint-editorconfig.sh deleted file mode 100755 index 9150f001b1..0000000000 --- a/ansible_collections/grafana/grafana/tools/lint-editorconfig.sh +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/env bash - -source "$(pwd)/tools/includes/utils.sh" - -source "./tools/includes/logging.sh" - -# output the heading -heading "Grafana Ansible Collection" "Performing Editorconfig Linting using editorconfig-checker" - -# check to see if remark is installed -if [[ ! -f "$(pwd)"/node_modules/.bin/editorconfig-checker ]]; then - emergency "editorconfig-checker node module is not installed, please run: make install"; -fi - -# determine whether or not the script is called directly or sourced -(return 0 2>/dev/null) && sourced=1 || sourced=0 - -statusCode=0 -./node_modules/.bin/editorconfig-checker -config="$(pwd)/.editorconfig" -exclude "LICENSE|.+\.txt|.+\.py" -currentCode="$?" -# only override the statusCode if it is 0 -if [[ "$statusCode" == 0 ]]; then - statusCode="$currentCode" -fi - -if [[ "$statusCode" == "0" ]]; then - echo "no issues found" - echo "" -fi - -echo "" - -# if the script was called by another, send a valid exit code -if [[ "$sourced" == "1" ]]; then - return "$statusCode" -else - exit "$statusCode" -fi diff --git a/ansible_collections/grafana/grafana/tools/lint-markdown.sh b/ansible_collections/grafana/grafana/tools/lint-markdown.sh deleted file mode 100755 index 4d919ed26c..0000000000 --- a/ansible_collections/grafana/grafana/tools/lint-markdown.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/usr/bin/env bash - -source "$(pwd)/tools/includes/utils.sh" - -source "./tools/includes/logging.sh" - -# output the heading -heading "Grafana Ansible Collection" "Performing Markdown Linting using markdownlint" - -# check to see if remark is installed -if [[ ! -f "$(pwd)"/node_modules/.bin/markdownlint-cli2 ]]; then - emergency "markdownlint-cli2 node module is not installed, please run: make install"; -fi - -# determine whether or not the script is called directly or sourced -(return 0 2>/dev/null) && sourced=1 || sourced=0 - -statusCode=0 -while read -r dir; do - info "Checking file/directory: $dir" - ./node_modules/.bin/markdownlint-cli2-config "$(pwd)/.markdownlint.yaml" "$dir" - currentCode="$?" - # if the current code is 0, output the file name for logging purposes - if [[ "$currentCode" == 0 ]]; then - echo -e "\\x1b[32m$dir\\x1b[0m: no issues found" - fi - # only override the statusCode if it is 0 - if [[ "$statusCode" == 0 ]]; then - statusCode="$currentCode" - fi - echo "" -done < <(find . -type f -name "*.md" -not -path "./node_modules/*" -not -path "./.git/*" -print0 | \ - xargs -0 dirname | \ - sort -nr | \ - uniq | \ - sort | \ - xargs printf -- '%s/*.md\n' | \ - sed 's|\./\*\.md|./README.md|' - ) - -echo "" -echo "" - -# if the script was called by another, send a valid exit code -if [[ "$sourced" == "1" ]]; then - return "$statusCode" -else - exit "$statusCode" -fi diff --git a/ansible_collections/grafana/grafana/tools/lint-shell.sh b/ansible_collections/grafana/grafana/tools/lint-shell.sh deleted file mode 100755 index 633c7bed12..0000000000 --- a/ansible_collections/grafana/grafana/tools/lint-shell.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/env bash - -source "$(pwd)/tools/includes/utils.sh" - -source "./tools/includes/logging.sh" - -# output the heading -heading "Grafana Ansible Collection" "Performing Shell Linting using shellcheck" - -# check to see if shellcheck is installed -if [[ "$(command -v shellcheck)" = "" ]]; then - emergency "shellcheck is required if running lint locally, see: (https://shellcheck.net) or run: brew install nvm && nvm install 18"; -fi - -# determine whether or not the script is called directly or sourced -(return 0 2>/dev/null) && sourced=1 || sourced=0 - -statusCode=0 -while read -r file; do - shellcheck \ - --external-sources \ - --shell bash \ - --source-path "$(dirname "$file")" \ - "$file" - currentCode="$?" - # if the current code is 0, output the file name for logging purposes - if [[ "$currentCode" == 0 ]]; then - echo -e "\\x1b[32m$file\\x1b[0m: no issues found" - else - echo "" - fi - # only override the statusCode if it is 0 - if [[ "$statusCode" == 0 ]]; then - statusCode="$currentCode" - fi -done < <(find . -type f -name "*.sh" -not -path "./node_modules/*" -not -path "./.git/*") - -echo "" -echo "" - -# if the script was called by another, send a valid exit code -if [[ "$sourced" == "1" ]]; then - return "$statusCode" -else - exit "$statusCode" -fi diff --git a/ansible_collections/grafana/grafana/tools/lint-text.sh b/ansible_collections/grafana/grafana/tools/lint-text.sh deleted file mode 100755 index 17e4b5df51..0000000000 --- a/ansible_collections/grafana/grafana/tools/lint-text.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env bash - -source "$(pwd)/tools/includes/utils.sh" - -source "./tools/includes/logging.sh" - -# output the heading -heading "Grafana Ansible Collections" "Performing Text Linting using textlint" - -# check to see if remark is installed -if [[ ! -f "$(pwd)"/node_modules/.bin/textlint ]]; then - emergency "remark node module is not installed, please run: make install"; -fi - -# determine whether or not the script is called directly or sourced -(return 0 2>/dev/null) && sourced=1 || sourced=0 - -statusCode=0 -while read -r file; do - "$(pwd)"/node_modules/.bin/textlint --config "$(pwd)/.textlintrc" "$file" - currentCode="$?" - # if the current code is 0, output the file name for logging purposes - if [[ "$currentCode" == 0 ]]; then - echo -e "\\x1b[32m$file\\x1b[0m: no issues found" - fi - # only override the statusCode if it is 0 - if [[ "$statusCode" == 0 ]]; then - statusCode="$currentCode" - fi -done < <(find . -type f -name "*.md" -not -path "./node_modules/*" -not -path "./.git/*") - -echo "" -echo "" - -# if the script was called by another, send a valid exit code -if [[ "$sourced" == "1" ]]; then - return "$statusCode" -else - exit "$statusCode" -fi diff --git a/ansible_collections/grafana/grafana/tools/lint-yaml.sh b/ansible_collections/grafana/grafana/tools/lint-yaml.sh deleted file mode 100755 index 51deee6f76..0000000000 --- a/ansible_collections/grafana/grafana/tools/lint-yaml.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/usr/bin/env bash - -source "$(pwd)/tools/includes/utils.sh" - -source "./tools/includes/logging.sh" - -# output the heading -heading "Grafana Ansible Collection" "Performing YAML Linting using yamllint" - -# make sure pipenv exists -if [[ "$(command -v pipenv)" = "" ]]; then - echo >&2 "pipenv command is required, see (https://pipenv.pypa.io/en/latest/) or run: brew install pipenv"; - exit 1; -fi - -# make sure yamllint exists -if [[ "$(pipenv run pip freeze | grep -c "yamllint")" == "0" ]]; then - echo >&2 "yamllint command is required, see (https://pypi.org/project/yamllint/). Run \"make install\" to install it."; - exit 1; -fi - -# determine whether or not the script is called directly or sourced -(return 0 2>/dev/null) && sourced=1 || sourced=0 - -# run yamllint -pipenv run yamllint --strict --config-file "$(pwd)/.yamllint" . -statusCode="$?" - -if [[ "$statusCode" == "0" ]]; then - echo "no issues found" - echo "" -fi - -# if the script was called by another, send a valid exit code -if [[ "$sourced" == "1" ]]; then - return "$statusCode" -fi diff --git a/ansible_collections/grafana/grafana/tools/setup.sh b/ansible_collections/grafana/grafana/tools/setup.sh deleted file mode 100755 index 9a047e3bd7..0000000000 --- a/ansible_collections/grafana/grafana/tools/setup.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env bash - -source "$(pwd)/tools/includes/utils.sh" - -source "./tools/includes/logging.sh" - -# output the heading -heading "Grafana Ansible Collection" "Performing Setup Checks" - -# make sure Node exists -info "Checking to see if Node is installed" -if [[ "$(command -v node)" = "" ]]; then - warning "node is required if running lint locally, see: (https://nodejs.org) or run: brew install nvm && nvm install 18"; -else - success "node is installed" -fi - -# make sure yarn exists -info "Checking to see if yarn is installed" -if [[ "$(command -v yarn)" = "" ]]; then - warning "yarn is required if running lint locally, see: (https://yarnpkg.com) or run: brew install yarn"; -else - success "yarn is installed" -fi - -# make sure shellcheck exists -info "Checking to see if shellcheck is installed" -if [[ "$(command -v shellcheck)" = "" ]]; then - warning "shellcheck is required if running lint locally, see: (https://shellcheck.net) or run: brew install nvm && nvm install 18"; -else - success "shellcheck is installed" -fi - -# make sure pipenv exists -if [[ "$(command -v pipenv)" = "" ]]; then - warning "pipenv command is required, see (https://pipenv.pypa.io/en/latest/) or run: brew install pipenv"; -else - success "pipenv is installed" -fi diff --git a/ansible_collections/grafana/grafana/yarn.lock b/ansible_collections/grafana/grafana/yarn.lock deleted file mode 100644 index 84aa10bde1..0000000000 --- a/ansible_collections/grafana/grafana/yarn.lock +++ /dev/null @@ -1,1721 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@azu/format-text@^1.0.1": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@azu/format-text/-/format-text-1.0.2.tgz#abd46dab2422e312bd1bfe36f0d427ab6039825d" - integrity sha512-Swi4N7Edy1Eqq82GxgEECXSSLyn6GOb5htRFPzBDdUkECGXtlf12ynO5oJSpWKPwCaUssOu7NfhDcCWpIC6Ywg== - -"@azu/style-format@^1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@azu/style-format/-/style-format-1.0.1.tgz#b3643af0c5fee9d53e69a97c835c404bdc80f792" - integrity sha512-AHcTojlNBdD/3/KxIKlg8sxIWHfOtQszLvOpagLTO+bjC3u7SAszu1lf//u7JJC50aUSH+BVWDD/KvaA6Gfn5g== - dependencies: - "@azu/format-text" "^1.0.1" - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@textlint/ast-node-types@^12.6.1": - version "12.6.1" - resolved "https://registry.yarnpkg.com/@textlint/ast-node-types/-/ast-node-types-12.6.1.tgz#35ecefe74e701d7f632c083d4fda89cab1b89012" - integrity sha512-uzlJ+ZsCAyJm+lBi7j0UeBbj+Oy6w/VWoGJ3iHRHE5eZ8Z4iK66mq+PG/spupmbllLtz77OJbY89BYqgFyjXmA== - -"@textlint/ast-node-types@^13.0.2": - version "13.3.1" - resolved "https://registry.yarnpkg.com/@textlint/ast-node-types/-/ast-node-types-13.3.1.tgz#469cab986e43f4ffb39aa5c31d148888a36d2286" - integrity sha512-/qeEjW3hIFpGwESsCkJRroja7mBOlo9wqyx8G4fwayq4FZRvJMm/9DhIo77jd/4wm/VSJcVVr+fs+rVa4jrY5A== - -"@textlint/ast-tester@^12.6.1": - version "12.6.1" - resolved "https://registry.yarnpkg.com/@textlint/ast-tester/-/ast-tester-12.6.1.tgz#853a438829dbb0aec0456a437b5e3894692e970b" - integrity sha512-Gxiq6xmDR3PnX0RqRGth/Lu5fyFWoXNPfGxXTLORPFpfs8JKPh/eXGhlwc1f0v4VQzPay2KwVl6SGXvJD5qLXw== - dependencies: - "@textlint/ast-node-types" "^12.6.1" - debug "^4.3.4" - -"@textlint/ast-traverse@^12.6.1": - version "12.6.1" - resolved "https://registry.yarnpkg.com/@textlint/ast-traverse/-/ast-traverse-12.6.1.tgz#644e46c5ef2e946e1fe1ef2452686c8ba2131392" - integrity sha512-Y/j7ip7yDuTjuIV4kTRPVnkJKfpI71U+eqXFnrM9sE2xBA9IsqzqiLQeDY+S5hhfQzmcEnZFtAP0hqrYaT6gNA== - dependencies: - "@textlint/ast-node-types" "^12.6.1" - -"@textlint/config-loader@^12.6.1": - version "12.6.1" - resolved "https://registry.yarnpkg.com/@textlint/config-loader/-/config-loader-12.6.1.tgz#151e97d9258361267056dbf47fe4a034c84a193e" - integrity sha512-mvChF2pFusxyQC4gFzIgNcZ4izUt7ci+JdXZtGV+DOzykVUuGhgGo3TFTi/ccgYyqZdq9MxJG6I+dvYB1A2Fog== - dependencies: - "@textlint/kernel" "^12.6.1" - "@textlint/module-interop" "^12.6.1" - "@textlint/types" "^12.6.1" - "@textlint/utils" "^12.6.1" - debug "^4.3.4" - rc-config-loader "^4.1.2" - try-resolve "^1.0.1" - -"@textlint/feature-flag@^12.6.1": - version "12.6.1" - resolved "https://registry.yarnpkg.com/@textlint/feature-flag/-/feature-flag-12.6.1.tgz#20f8a3cf86be939186adc33744ef66084b06067a" - integrity sha512-cY/AraTLdzbwDyAhdpaXB7n1Lw6zA+k+7UaT8mmxMmjs0uYGzdMQa499I0rQatctJ6izrdZXYW0NdUQfG2ugiA== - -"@textlint/fixer-formatter@^12.6.1": - version "12.6.1" - resolved "https://registry.yarnpkg.com/@textlint/fixer-formatter/-/fixer-formatter-12.6.1.tgz#b05f28b635c8628f588414da7baab01cd1db6daf" - integrity sha512-BMhvoKQbME9LXvl6CfIM/hZckb+IMiAA6ioDvdM3o63N+xDypS42uzJNpRgzXKGYL1Dv/7R1hsmDzz3fgvGhBw== - dependencies: - "@textlint/module-interop" "^12.6.1" - "@textlint/types" "^12.6.1" - chalk "^4.1.2" - debug "^4.3.4" - diff "^4.0.2" - is-file "^1.0.0" - string-width "^4.2.3" - strip-ansi "^6.0.1" - text-table "^0.2.0" - try-resolve "^1.0.1" - -"@textlint/kernel@^12.6.1": - version "12.6.1" - resolved "https://registry.yarnpkg.com/@textlint/kernel/-/kernel-12.6.1.tgz#6e8e57a0ebd2bfe5ce5c218bb4eedd7b20c793e0" - integrity sha512-GjNaI36pYx/boy1Xf7NPJFbS0uWHhY9y9DMMl/8ZJZoldN7XrCvJFivNdeYQxu+LTmfGGaUJoTjDpnllOs6XSQ== - dependencies: - "@textlint/ast-node-types" "^12.6.1" - "@textlint/ast-tester" "^12.6.1" - "@textlint/ast-traverse" "^12.6.1" - "@textlint/feature-flag" "^12.6.1" - "@textlint/source-code-fixer" "^12.6.1" - "@textlint/types" "^12.6.1" - "@textlint/utils" "^12.6.1" - debug "^4.3.4" - deep-equal "^1.1.1" - structured-source "^4.0.0" - -"@textlint/linter-formatter@^12.6.1": - version "12.6.1" - resolved "https://registry.yarnpkg.com/@textlint/linter-formatter/-/linter-formatter-12.6.1.tgz#90314ddaa036197c36ccb75cc8fa3fb318895350" - integrity sha512-1fQy17vNZy5qem8I71MGEir7gVLSUWcIE4ruQbONiIko9as+AYibt6xX6GtTX+aJejuJJcb+KTeAxKJ+6FA8vg== - dependencies: - "@azu/format-text" "^1.0.1" - "@azu/style-format" "^1.0.0" - "@textlint/module-interop" "^12.6.1" - "@textlint/types" "^12.6.1" - chalk "^4.1.2" - debug "^4.3.4" - is-file "^1.0.0" - js-yaml "^3.14.1" - lodash "^4.17.21" - optionator "^0.9.1" - pluralize "^2.0.0" - string-width "^4.2.3" - strip-ansi "^6.0.1" - table "^6.8.1" - text-table "^0.2.0" - try-resolve "^1.0.1" - -"@textlint/markdown-to-ast@^12.6.1": - version "12.6.1" - resolved "https://registry.yarnpkg.com/@textlint/markdown-to-ast/-/markdown-to-ast-12.6.1.tgz#fcccb5733b3e76cd0db78a323763ab101f2d803b" - integrity sha512-T0HO+VrU9VbLRiEx/kH4+gwGMHNMIGkp0Pok+p0I33saOOLyhfGvwOKQgvt2qkxzQEV2L5MtGB8EnW4r5d3CqQ== - dependencies: - "@textlint/ast-node-types" "^12.6.1" - debug "^4.3.4" - mdast-util-gfm-autolink-literal "^0.1.3" - remark-footnotes "^3.0.0" - remark-frontmatter "^3.0.0" - remark-gfm "^1.0.0" - remark-parse "^9.0.0" - traverse "^0.6.7" - unified "^9.2.2" - -"@textlint/module-interop@^12.6.1": - version "12.6.1" - resolved "https://registry.yarnpkg.com/@textlint/module-interop/-/module-interop-12.6.1.tgz#82adf942281a8880e1ad70b305d8caba87356830" - integrity sha512-COyRctLVh2ktAObmht3aNtqUvP0quoellKu1c2RrXny1po+Mf7PkvEKIxphtArE4JXMAmu01cDxfH6X88+eYIg== - -"@textlint/source-code-fixer@^12.6.1": - version "12.6.1" - resolved "https://registry.yarnpkg.com/@textlint/source-code-fixer/-/source-code-fixer-12.6.1.tgz#a674d6250863e5e8aaf2ac4dc2cb679ff37d2c49" - integrity sha512-J9UZ3uitT+T50ug5X6AoIOwn6kTl54ZmPYBPB9bmH4lwBamN7e4gT65lSweHY1D21elOkq+3bO/OAJMfQfAVHg== - dependencies: - "@textlint/types" "^12.6.1" - debug "^4.3.4" - -"@textlint/text-to-ast@^12.6.1": - version "12.6.1" - resolved "https://registry.yarnpkg.com/@textlint/text-to-ast/-/text-to-ast-12.6.1.tgz#8f24a424ee08fb82235e5f0dc63ab9e6475388b1" - integrity sha512-22tgSBaNerpwb66eCivjXmdZ3CDX2Il38vpuAGchiI+cl+sENU9dpuntxwEJdZQePX5qrkmw8XGj5kgyMF015A== - dependencies: - "@textlint/ast-node-types" "^12.6.1" - -"@textlint/textlint-plugin-markdown@^12.6.1": - version "12.6.1" - resolved "https://registry.yarnpkg.com/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-12.6.1.tgz#744e36c468141826edaa7d96eb6beb28a5709ef3" - integrity sha512-fRKsFCL2fGeu0Bt+08FuEc2WHiI8IMDRvy6KT1pmNWO5irS4yL2/OXNknLH3erXvwcJw/hQnd5WEl4hQzS0Erw== - dependencies: - "@textlint/markdown-to-ast" "^12.6.1" - -"@textlint/textlint-plugin-text@^12.6.1": - version "12.6.1" - resolved "https://registry.yarnpkg.com/@textlint/textlint-plugin-text/-/textlint-plugin-text-12.6.1.tgz#92570b4f53ab15b2e8412f928a54c8833fb97b94" - integrity sha512-ZUfG0Xb8qGymIPNp2eFTq9bHvkJo3N3Ia1Aff5W9fsgZib1/Eb55U16Sp60TjhBFns0/p7L7usBC3nd3+tB5mQ== - dependencies: - "@textlint/text-to-ast" "^12.6.1" - -"@textlint/types@^12.6.1": - version "12.6.1" - resolved "https://registry.yarnpkg.com/@textlint/types/-/types-12.6.1.tgz#d00c5d625287a113c2807587c2c0cdc1c7f182d8" - integrity sha512-t1SZYahu2olnF8MUhlP6qDIEDyl7WmyIaBYxQdE2qU6xUkZWXS2zIxoAT/pVgvFCzDw3KO5HhIYGVeWRp90dTg== - dependencies: - "@textlint/ast-node-types" "^12.6.1" - -"@textlint/utils@^12.6.1": - version "12.6.1" - resolved "https://registry.yarnpkg.com/@textlint/utils/-/utils-12.6.1.tgz#95d00b4b57197987b97bc8342e127d652a7454e1" - integrity sha512-HJkqYXT2FAAHDM5XLFpQLF/CEdm8c2ltMeKmPBSSty1VfPXQMi8tGPT1b58b8KWh6dVmi7w0YYB7NrquuzXOKA== - -"@types/mdast@^3.0.0": - version "3.0.10" - resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.10.tgz#4724244a82a4598884cbbe9bcfd73dff927ee8af" - integrity sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA== - dependencies: - "@types/unist" "*" - -"@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2": - version "2.0.6" - resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.6.tgz#250a7b16c3b91f672a24552ec64678eeb1d3a08d" - integrity sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ== - -ajv@^8.0.1: - version "8.12.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" - integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== - -bail@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.5.tgz#b6fa133404a392cbc1f8c4bf63f5953351e7a776" - integrity sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ== - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -boundary@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/boundary/-/boundary-2.0.0.tgz#169c8b1f0d44cf2c25938967a328f37e0a4e5efc" - integrity sha512-rJKn5ooC9u8q13IMCrW0RSp31pxBCHE3y9V/tp3TdWSLf8Em3p6Di4NBpfzbJge9YjjFEsD0RtFEjtvHL5VyEA== - -brace-expansion@^1.1.7: - version "1.1.12" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.12.tgz#ab9b454466e5a8cc3a187beaad580412a9c5b843" - integrity sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" - integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== - dependencies: - fill-range "^7.1.1" - -call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - -ccount@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.1.0.tgz#246687debb6014735131be8abab2d93898f8d043" - integrity sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg== - -chalk@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -character-entities-legacy@^1.0.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1" - integrity sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA== - -character-entities@^1.0.0: - version "1.2.4" - resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b" - integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw== - -character-reference-invalid@^1.0.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560" - integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg== - -charenc@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" - integrity sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA== - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -crypt@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" - integrity sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow== - -debug@^4.0.0, debug@^4.1.1, debug@^4.3.4: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -deep-equal@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" - integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g== - dependencies: - is-arguments "^1.0.4" - is-date-object "^1.0.1" - is-regex "^1.0.4" - object-is "^1.0.1" - object-keys "^1.1.1" - regexp.prototype.flags "^1.2.0" - -deep-is@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -define-properties@^1.1.3: - version "1.2.0" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5" - integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA== - dependencies: - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - -diff@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -editorconfig-checker@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/editorconfig-checker/-/editorconfig-checker-5.0.1.tgz#cb4bf7a9b80f1b63b141b8897d7cc326fce0d3ae" - integrity sha512-6hXq9VVDkyCxVYKdGtIj+yhVR1fi/6W6Ykz/+kItLPARulJvr2/VXgWZ5OGWx1UYm2RD6XOzWyx1JF6DLgQ/8Q== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -entities@~3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/entities/-/entities-3.0.1.tgz#2b887ca62585e96db3903482d336c1006c3001d4" - integrity sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q== - -error-ex@^1.2.0, error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -esprima@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -extend@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -fast-deep-equal@^3.1.1: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-glob@^3.2.11: - version "3.2.12" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" - integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-levenshtein@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fastq@^1.6.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" - integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== - dependencies: - reusify "^1.0.4" - -fault@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/fault/-/fault-1.0.4.tgz#eafcfc0a6d214fc94601e170df29954a4f842f13" - integrity sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA== - dependencies: - format "^0.2.0" - -file-entry-cache@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" - integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== - dependencies: - flat-cache "^2.0.1" - -fill-range@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" - integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== - dependencies: - to-regex-range "^5.0.1" - -find-up@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ== - dependencies: - locate-path "^2.0.0" - -flat-cache@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" - integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== - dependencies: - flatted "^2.0.0" - rimraf "2.6.3" - write "1.0.3" - -flatted@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" - integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== - -format@^0.2.0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/format/-/format-0.2.2.tgz#d6170107e9efdc4ed30c9dc39016df942b5cb58b" - integrity sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww== - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -functions-have-names@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" - integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== - -get-intrinsic@^1.0.2, get-intrinsic@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f" - integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.3" - -get-stdin@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398" - integrity sha512-jZV7n6jGE3Gt7fgSTJoz91Ak5MuTLwMwkoYdjxuJ/AmjIsE1UC03y/IWkZCQGEvVNS9qoRNwy5BCqxImv0FVeA== - -glob-parent@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob@^7.1.3, glob@^7.2.3: - version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globby@13.1.3: - version "13.1.3" - resolved "https://registry.yarnpkg.com/globby/-/globby-13.1.3.tgz#f62baf5720bcb2c1330c8d4ef222ee12318563ff" - integrity sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw== - dependencies: - dir-glob "^3.0.1" - fast-glob "^3.2.11" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^4.0.0" - -graceful-fs@^4.1.2: - version "4.2.10" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" - integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-property-descriptors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" - integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== - dependencies: - get-intrinsic "^1.1.1" - -has-symbols@^1.0.2, has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hosted-git-info@^2.1.4: - version "2.8.9" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" - integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== - -ignore@^5.2.0: - version "5.2.4" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" - integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -is-alphabetical@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d" - integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg== - -is-alphanumerical@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf" - integrity sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A== - dependencies: - is-alphabetical "^1.0.0" - is-decimal "^1.0.0" - -is-arguments@^1.0.4: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" - integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== - -is-buffer@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" - integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== - -is-buffer@~1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -is-core-module@^2.9.0: - version "2.11.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" - integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== - dependencies: - has "^1.0.3" - -is-date-object@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== - dependencies: - has-tostringtag "^1.0.0" - -is-decimal@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5" - integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw== - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-file@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-file/-/is-file-1.0.0.tgz#28a44cfbd9d3db193045f22b65fce8edf9620596" - integrity sha512-ZGMuc+xA8mRnrXtmtf2l/EkIW2zaD2LSBWlaOVEF6yH4RTndHob65V4SwWWdtGKVthQfXPVKsXqw4TDUjbVxVQ== - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-glob@^4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-hexadecimal@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7" - integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw== - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-plain-obj@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" - integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== - -is-regex@^1.0.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-utf8@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - integrity sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q== - -js-yaml@^3.12.0, js-yaml@^3.14.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -json-parse-better-errors@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - -json5@^2.1.1, json5@^2.2.2: - version "2.2.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -linkify-it@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-4.0.1.tgz#01f1d5e508190d06669982ba31a7d9f56a5751ec" - integrity sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw== - dependencies: - uc.micro "^1.0.1" - -load-json-file@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" - integrity sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A== - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" - -load-json-file@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" - integrity sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw== - dependencies: - graceful-fs "^4.1.2" - parse-json "^4.0.0" - pify "^3.0.0" - strip-bom "^3.0.0" - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA== - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -lodash.truncate@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" - integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== - -lodash@^4.17.15, lodash@^4.17.21: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -longest-streak@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.4.tgz#b8599957da5b5dab64dee3fe316fa774597d90e4" - integrity sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg== - -markdown-it@13.0.1: - version "13.0.1" - resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-13.0.1.tgz#c6ecc431cacf1a5da531423fc6a42807814af430" - integrity sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q== - dependencies: - argparse "^2.0.1" - entities "~3.0.1" - linkify-it "^4.0.1" - mdurl "^1.0.1" - uc.micro "^1.0.5" - -markdown-table@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-2.0.0.tgz#194a90ced26d31fe753d8b9434430214c011865b" - integrity sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A== - dependencies: - repeat-string "^1.0.0" - -markdownlint-cli2-formatter-default@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/markdownlint-cli2-formatter-default/-/markdownlint-cli2-formatter-default-0.0.3.tgz#5aecd6e576ad18801b76e58bbbaf0e916c583ab8" - integrity sha512-QEAJitT5eqX1SNboOD+SO/LNBpu4P4je8JlR02ug2cLQAqmIhh8IJnSK7AcaHBHhNADqdGydnPpQOpsNcEEqCw== - -markdownlint-cli2@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/markdownlint-cli2/-/markdownlint-cli2-0.6.0.tgz#ffa6aee4098e61f781e5e69528db60f7f39f737c" - integrity sha512-Bv20r6WGdcHMWi8QvAFZ3CBunf4i4aYmVdTfpAvXODI/1k3f09DZZ0i0LcX9ZMhlVxjoOzbVDz1NWyKc5hwTqg== - dependencies: - globby "13.1.3" - markdownlint "0.27.0" - markdownlint-cli2-formatter-default "0.0.3" - micromatch "4.0.5" - strip-json-comments "5.0.0" - yaml "2.2.1" - -markdownlint@0.27.0: - version "0.27.0" - resolved "https://registry.yarnpkg.com/markdownlint/-/markdownlint-0.27.0.tgz#9dabf7710a4999e2835e3c68317f1acd0bc89049" - integrity sha512-HtfVr/hzJJmE0C198F99JLaeada+646B5SaG2pVoEakLFI6iRGsvMqrnnrflq8hm1zQgwskEgqSnhDW11JBp0w== - dependencies: - markdown-it "13.0.1" - -md5@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/md5/-/md5-2.3.0.tgz#c3da9a6aae3a30b46b7b0c349b87b110dc3bda4f" - integrity sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g== - dependencies: - charenc "0.0.2" - crypt "0.0.2" - is-buffer "~1.1.6" - -mdast-util-find-and-replace@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/mdast-util-find-and-replace/-/mdast-util-find-and-replace-1.1.1.tgz#b7db1e873f96f66588c321f1363069abf607d1b5" - integrity sha512-9cKl33Y21lyckGzpSmEQnIDjEfeeWelN5s1kUW1LwdB0Fkuq2u+4GdqcGEygYxJE8GVqCl0741bYXHgamfWAZA== - dependencies: - escape-string-regexp "^4.0.0" - unist-util-is "^4.0.0" - unist-util-visit-parents "^3.0.0" - -mdast-util-footnote@^0.1.0: - version "0.1.7" - resolved "https://registry.yarnpkg.com/mdast-util-footnote/-/mdast-util-footnote-0.1.7.tgz#4b226caeab4613a3362c144c94af0fdd6f7e0ef0" - integrity sha512-QxNdO8qSxqbO2e3m09KwDKfWiLgqyCurdWTQ198NpbZ2hxntdc+VKS4fDJCmNWbAroUdYnSthu+XbZ8ovh8C3w== - dependencies: - mdast-util-to-markdown "^0.6.0" - micromark "~2.11.0" - -mdast-util-from-markdown@^0.8.0: - version "0.8.5" - resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz#d1ef2ca42bc377ecb0463a987910dae89bd9a28c" - integrity sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ== - dependencies: - "@types/mdast" "^3.0.0" - mdast-util-to-string "^2.0.0" - micromark "~2.11.0" - parse-entities "^2.0.0" - unist-util-stringify-position "^2.0.0" - -mdast-util-frontmatter@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/mdast-util-frontmatter/-/mdast-util-frontmatter-0.2.0.tgz#8bd5cd55e236c03e204a036f7372ebe9e6748240" - integrity sha512-FHKL4w4S5fdt1KjJCwB0178WJ0evnyyQr5kXTM3wrOVpytD0hrkvd+AOOjU9Td8onOejCkmZ+HQRT3CZ3coHHQ== - dependencies: - micromark-extension-frontmatter "^0.2.0" - -mdast-util-gfm-autolink-literal@^0.1.0, mdast-util-gfm-autolink-literal@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-0.1.3.tgz#9c4ff399c5ddd2ece40bd3b13e5447d84e385fb7" - integrity sha512-GjmLjWrXg1wqMIO9+ZsRik/s7PLwTaeCHVB7vRxUwLntZc8mzmTsLVr6HW1yLokcnhfURsn5zmSVdi3/xWWu1A== - dependencies: - ccount "^1.0.0" - mdast-util-find-and-replace "^1.1.0" - micromark "^2.11.3" - -mdast-util-gfm-strikethrough@^0.2.0: - version "0.2.3" - resolved "https://registry.yarnpkg.com/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-0.2.3.tgz#45eea337b7fff0755a291844fbea79996c322890" - integrity sha512-5OQLXpt6qdbttcDG/UxYY7Yjj3e8P7X16LzvpX8pIQPYJ/C2Z1qFGMmcw+1PZMUM3Z8wt8NRfYTvCni93mgsgA== - dependencies: - mdast-util-to-markdown "^0.6.0" - -mdast-util-gfm-table@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/mdast-util-gfm-table/-/mdast-util-gfm-table-0.1.6.tgz#af05aeadc8e5ee004eeddfb324b2ad8c029b6ecf" - integrity sha512-j4yDxQ66AJSBwGkbpFEp9uG/LS1tZV3P33fN1gkyRB2LoRL+RR3f76m0HPHaby6F4Z5xr9Fv1URmATlRRUIpRQ== - dependencies: - markdown-table "^2.0.0" - mdast-util-to-markdown "~0.6.0" - -mdast-util-gfm-task-list-item@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-0.1.6.tgz#70c885e6b9f543ddd7e6b41f9703ee55b084af10" - integrity sha512-/d51FFIfPsSmCIRNp7E6pozM9z1GYPIkSy1urQ8s/o4TC22BZ7DqfHFWiqBD23bc7J3vV1Fc9O4QIHBlfuit8A== - dependencies: - mdast-util-to-markdown "~0.6.0" - -mdast-util-gfm@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/mdast-util-gfm/-/mdast-util-gfm-0.1.2.tgz#8ecddafe57d266540f6881f5c57ff19725bd351c" - integrity sha512-NNkhDx/qYcuOWB7xHUGWZYVXvjPFFd6afg6/e2g+SV4r9q5XUcCbV4Wfa3DLYIiD+xAEZc6K4MGaE/m0KDcPwQ== - dependencies: - mdast-util-gfm-autolink-literal "^0.1.0" - mdast-util-gfm-strikethrough "^0.2.0" - mdast-util-gfm-table "^0.1.0" - mdast-util-gfm-task-list-item "^0.1.0" - mdast-util-to-markdown "^0.6.1" - -mdast-util-to-markdown@^0.6.0, mdast-util-to-markdown@^0.6.1, mdast-util-to-markdown@~0.6.0: - version "0.6.5" - resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.5.tgz#b33f67ca820d69e6cc527a93d4039249b504bebe" - integrity sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ== - dependencies: - "@types/unist" "^2.0.0" - longest-streak "^2.0.0" - mdast-util-to-string "^2.0.0" - parse-entities "^2.0.0" - repeat-string "^1.0.0" - zwitch "^1.0.0" - -mdast-util-to-string@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz#b8cfe6a713e1091cb5b728fc48885a4767f8b97b" - integrity sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w== - -mdurl@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" - integrity sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g== - -merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -micromark-extension-footnote@^0.3.0: - version "0.3.2" - resolved "https://registry.yarnpkg.com/micromark-extension-footnote/-/micromark-extension-footnote-0.3.2.tgz#129b74ef4920ce96719b2c06102ee7abb2b88a20" - integrity sha512-gr/BeIxbIWQoUm02cIfK7mdMZ/fbroRpLsck4kvFtjbzP4yi+OPVbnukTc/zy0i7spC2xYE/dbX1Sur8BEDJsQ== - dependencies: - micromark "~2.11.0" - -micromark-extension-frontmatter@^0.2.0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/micromark-extension-frontmatter/-/micromark-extension-frontmatter-0.2.2.tgz#61b8e92e9213e1d3c13f5a59e7862f5ca98dfa53" - integrity sha512-q6nPLFCMTLtfsctAuS0Xh4vaolxSFUWUWR6PZSrXXiRy+SANGllpcqdXFv2z07l0Xz/6Hl40hK0ffNCJPH2n1A== - dependencies: - fault "^1.0.0" - -micromark-extension-gfm-autolink-literal@~0.5.0: - version "0.5.7" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-0.5.7.tgz#53866c1f0c7ef940ae7ca1f72c6faef8fed9f204" - integrity sha512-ePiDGH0/lhcngCe8FtH4ARFoxKTUelMp4L7Gg2pujYD5CSMb9PbblnyL+AAMud/SNMyusbS2XDSiPIRcQoNFAw== - dependencies: - micromark "~2.11.3" - -micromark-extension-gfm-strikethrough@~0.6.5: - version "0.6.5" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-0.6.5.tgz#96cb83356ff87bf31670eefb7ad7bba73e6514d1" - integrity sha512-PpOKlgokpQRwUesRwWEp+fHjGGkZEejj83k9gU5iXCbDG+XBA92BqnRKYJdfqfkrRcZRgGuPuXb7DaK/DmxOhw== - dependencies: - micromark "~2.11.0" - -micromark-extension-gfm-table@~0.4.0: - version "0.4.3" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-table/-/micromark-extension-gfm-table-0.4.3.tgz#4d49f1ce0ca84996c853880b9446698947f1802b" - integrity sha512-hVGvESPq0fk6ALWtomcwmgLvH8ZSVpcPjzi0AjPclB9FsVRgMtGZkUcpE0zgjOCFAznKepF4z3hX8z6e3HODdA== - dependencies: - micromark "~2.11.0" - -micromark-extension-gfm-tagfilter@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-0.3.0.tgz#d9f26a65adee984c9ccdd7e182220493562841ad" - integrity sha512-9GU0xBatryXifL//FJH+tAZ6i240xQuFrSL7mYi8f4oZSbc+NvXjkrHemeYP0+L4ZUT+Ptz3b95zhUZnMtoi/Q== - -micromark-extension-gfm-task-list-item@~0.3.0: - version "0.3.3" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-0.3.3.tgz#d90c755f2533ed55a718129cee11257f136283b8" - integrity sha512-0zvM5iSLKrc/NQl84pZSjGo66aTGd57C1idmlWmE87lkMcXrTxg1uXa/nXomxJytoje9trP0NDLvw4bZ/Z/XCQ== - dependencies: - micromark "~2.11.0" - -micromark-extension-gfm@^0.3.0: - version "0.3.3" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm/-/micromark-extension-gfm-0.3.3.tgz#36d1a4c089ca8bdfd978c9bd2bf1a0cb24e2acfe" - integrity sha512-oVN4zv5/tAIA+l3GbMi7lWeYpJ14oQyJ3uEim20ktYFAcfX1x3LNlFGGlmrZHt7u9YlKExmyJdDGaTt6cMSR/A== - dependencies: - micromark "~2.11.0" - micromark-extension-gfm-autolink-literal "~0.5.0" - micromark-extension-gfm-strikethrough "~0.6.5" - micromark-extension-gfm-table "~0.4.0" - micromark-extension-gfm-tagfilter "~0.3.0" - micromark-extension-gfm-task-list-item "~0.3.0" - -micromark@^2.11.3, micromark@~2.11.0, micromark@~2.11.3: - version "2.11.4" - resolved "https://registry.yarnpkg.com/micromark/-/micromark-2.11.4.tgz#d13436138eea826383e822449c9a5c50ee44665a" - integrity sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA== - dependencies: - debug "^4.0.0" - parse-entities "^2.0.0" - -micromatch@4.0.5, micromatch@^4.0.4: - version "4.0.5" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== - dependencies: - braces "^3.0.2" - picomatch "^2.3.1" - -minimatch@^3.1.1: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimist@^1.2.6: - version "1.2.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -misspellings@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/misspellings/-/misspellings-1.1.0.tgz#53d500266cbd09cda9d94c4cf392e60589b5b324" - integrity sha512-4QT2u/8X7PccbiHUcsZeEZrt3jGIVEpfcQ1RU01wDHKHVNtNhaP+0Xmsg7YPxD7OCc8bO802BTEWeGPvAXBwuw== - -mkdirp@^0.5.1, mkdirp@^0.5.6: - version "0.5.6" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" - integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== - dependencies: - minimist "^1.2.6" - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -normalize-package-data@^2.3.2: - version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -object-is@^1.0.1: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" - integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -once@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" - integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== - dependencies: - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - word-wrap "^1.2.3" - -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - integrity sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg== - dependencies: - p-limit "^1.1.0" - -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww== - -parse-entities@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-2.0.0.tgz#53c6eb5b9314a1f4ec99fa0fdf7ce01ecda0cbe8" - integrity sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ== - dependencies: - character-entities "^1.0.0" - character-entities-legacy "^1.0.0" - character-reference-invalid "^1.0.0" - is-alphanumerical "^1.0.0" - is-decimal "^1.0.0" - is-hexadecimal "^1.0.0" - -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - integrity sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ== - dependencies: - error-ex "^1.2.0" - -parse-json@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" - integrity sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== - dependencies: - error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-to-glob-pattern@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-to-glob-pattern/-/path-to-glob-pattern-1.0.2.tgz#473e6a3a292a9d13fbae3edccee72d3baba8c619" - integrity sha512-ryF65N5MBB9XOjE5mMOi+0bMrh1F0ORQmqDSSERvv5zD62Cfc5QC6rK1AR1xuDIG1I091CkNENblbteWy1bXgw== - -path-type@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" - integrity sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg== - dependencies: - graceful-fs "^4.1.2" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -path-type@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" - integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== - dependencies: - pify "^3.0.0" - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pify@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - integrity sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw== - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - integrity sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg== - -pluralize@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-2.0.0.tgz#72b726aa6fac1edeee42256c7d8dc256b335677f" - integrity sha512-TqNZzQCD4S42De9IfnnBvILN7HAW7riLqsCyp8lgjXeysyPlX5HhqKAcJHHHb9XskE4/a+7VGC9zzx8Ls0jOAw== - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -punycode@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" - integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -rc-config-loader@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/rc-config-loader/-/rc-config-loader-3.0.0.tgz#1484ed55d6fb8b21057699c8426370f7529c52a7" - integrity sha512-bwfUSB37TWkHfP+PPjb/x8BUjChFmmBK44JMfVnU7paisWqZl/o5k7ttCH+EQLnrbn2Aq8Fo1LAsyUiz+WF4CQ== - dependencies: - debug "^4.1.1" - js-yaml "^3.12.0" - json5 "^2.1.1" - require-from-string "^2.0.2" - -rc-config-loader@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/rc-config-loader/-/rc-config-loader-4.1.2.tgz#e57fc874bde9b1e48d8a8564f2f824f91eafd920" - integrity sha512-qKTnVWFl9OQYKATPzdfaZIbTxcHziQl92zYSxYC6umhOqyAsoj8H8Gq/+aFjAso68sBdjTz3A7omqeAkkF1MWg== - dependencies: - debug "^4.3.4" - js-yaml "^4.1.0" - json5 "^2.2.2" - require-from-string "^2.0.2" - -read-pkg-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" - integrity sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw== - dependencies: - find-up "^2.0.0" - read-pkg "^3.0.0" - -read-pkg@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" - integrity sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ== - dependencies: - load-json-file "^1.0.0" - normalize-package-data "^2.3.2" - path-type "^1.0.0" - -read-pkg@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" - integrity sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA== - dependencies: - load-json-file "^4.0.0" - normalize-package-data "^2.3.2" - path-type "^3.0.0" - -regexp.prototype.flags@^1.2.0: - version "1.4.3" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" - integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - functions-have-names "^1.2.2" - -remark-footnotes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/remark-footnotes/-/remark-footnotes-3.0.0.tgz#5756b56f8464fa7ed80dbba0c966136305d8cb8d" - integrity sha512-ZssAvH9FjGYlJ/PBVKdSmfyPc3Cz4rTWgZLI4iE/SX8Nt5l3o3oEjv3wwG5VD7xOjktzdwp5coac+kJV9l4jgg== - dependencies: - mdast-util-footnote "^0.1.0" - micromark-extension-footnote "^0.3.0" - -remark-frontmatter@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/remark-frontmatter/-/remark-frontmatter-3.0.0.tgz#ca5d996361765c859bd944505f377d6b186a6ec6" - integrity sha512-mSuDd3svCHs+2PyO29h7iijIZx4plX0fheacJcAoYAASfgzgVIcXGYSq9GFyYocFLftQs8IOmmkgtOovs6d4oA== - dependencies: - mdast-util-frontmatter "^0.2.0" - micromark-extension-frontmatter "^0.2.0" - -remark-gfm@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/remark-gfm/-/remark-gfm-1.0.0.tgz#9213643001be3f277da6256464d56fd28c3b3c0d" - integrity sha512-KfexHJCiqvrdBZVbQ6RopMZGwaXz6wFJEfByIuEwGf0arvITHjiKKZ1dpXujjH9KZdm1//XJQwgfnJ3lmXaDPA== - dependencies: - mdast-util-gfm "^0.1.0" - micromark-extension-gfm "^0.3.0" - -remark-parse@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-9.0.0.tgz#4d20a299665880e4f4af5d90b7c7b8a935853640" - integrity sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw== - dependencies: - mdast-util-from-markdown "^0.8.0" - -repeat-string@^1.0.0: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== - -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - -resolve@^1.10.0: - version "1.22.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" - integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== - dependencies: - is-core-module "^2.9.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rimraf@2.6.3: - version "2.6.3" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" - integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== - dependencies: - glob "^7.1.3" - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -"semver@2 || 3 || 4 || 5": - version "5.7.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" - integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== - -slash@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" - integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== - -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -spdx-expression-parse@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.12" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz#69077835abe2710b65f03969898b6637b505a779" - integrity sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA== - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== - -string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-bom@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" - integrity sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g== - dependencies: - is-utf8 "^0.2.0" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== - -strip-json-comments@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-5.0.0.tgz#ec101b766476a703031bc607e3c712569de2aa06" - integrity sha512-V1LGY4UUo0jgwC+ELQ2BNWfPa17TIuwBLg+j1AA/9RPzKINl1lhxVEu2r+ZTTO8aetIsUzE5Qj6LMSBkoGYKKw== - -strip-json-comments@^3.0.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -structured-source@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/structured-source/-/structured-source-4.0.0.tgz#0c9e59ee43dedd8fc60a63731f60e358102a4948" - integrity sha512-qGzRFNJDjFieQkl/sVOI2dUjHKRyL9dAJi2gCPGJLbJHBIkyOHxjuocpIEfbLioX+qSJpvbYdT49/YCdMznKxA== - dependencies: - boundary "^2.0.0" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -table@^6.8.1: - version "6.8.1" - resolved "https://registry.yarnpkg.com/table/-/table-6.8.1.tgz#ea2b71359fe03b017a5fbc296204471158080bdf" - integrity sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA== - dependencies: - ajv "^8.0.1" - lodash.truncate "^4.4.2" - slice-ansi "^4.0.0" - string-width "^4.2.3" - strip-ansi "^6.0.1" - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== - -textlint-rule-common-misspellings@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/textlint-rule-common-misspellings/-/textlint-rule-common-misspellings-1.0.1.tgz#8c4133cf3bb59aa159199d2c9bced12413365774" - integrity sha512-f5KWhQFJzJBUX3RirAS25aSkAaaOHeSHtBeb7d49O+vxnAX3dZBS5DB/e5M1kR4tifW4qae64oqWZygoGYWkjQ== - dependencies: - misspellings "^1.0.1" - textlint-rule-helper "^1.1.5" - -textlint-rule-helper@^1.1.5: - version "1.2.0" - resolved "https://registry.yarnpkg.com/textlint-rule-helper/-/textlint-rule-helper-1.2.0.tgz#be68d47a5146b16dd116278c9aeb7bd35631ccda" - integrity sha512-yJmVbmyuUPOndKsxOijpx/G7mwybXXf4M10U2up0BeIZSN+6drUl+aSKAoC+RUHY7bG4ogLwRcmWoNG1lSrRIQ== - dependencies: - unist-util-visit "^1.1.0" - -textlint-rule-helper@^2.0.0, textlint-rule-helper@^2.1.1: - version "2.3.0" - resolved "https://registry.yarnpkg.com/textlint-rule-helper/-/textlint-rule-helper-2.3.0.tgz#5ab84db686d42fd2e39a63b40310501bb336520d" - integrity sha512-Ug78Saahb/qVImttL0NSFyT5/JJ5wXvOPepR2pYAjNi54BsQAAz/hAyyEgKuYeR0+yjFb0KPhby4f880X5vqHA== - dependencies: - "@textlint/ast-node-types" "^13.0.2" - structured-source "^4.0.0" - unist-util-visit "^2.0.3" - -textlint-rule-no-todo@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/textlint-rule-no-todo/-/textlint-rule-no-todo-2.0.1.tgz#86351ed3521ce8faa3b8224f88887f3cecbf2920" - integrity sha512-+adoWaBgoTN2g0WNcrERhVq7gdPKQIf1z7Ol+6XwMGv8XmuoFp5vJljHKtCmJBmGhBihjty2b8oaza2MY6UNlw== - dependencies: - textlint-rule-helper "^2.0.0" - -textlint-rule-terminology@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/textlint-rule-terminology/-/textlint-rule-terminology-3.0.4.tgz#5e51fffe4dc5d1f82c2fa0482137e5c75a7eaaae" - integrity sha512-obQ3y0hqX6OWCrM8K5K6WSJGE4BOyNfGF6hUGPet56taTm/xzkRu8XA6vpn2GFr4zom/oMa0sBJ3OtDWCgrS/g== - dependencies: - lodash "^4.17.15" - strip-json-comments "^3.0.1" - textlint-rule-helper "^2.1.1" - -textlint@^12.5.1: - version "12.6.1" - resolved "https://registry.yarnpkg.com/textlint/-/textlint-12.6.1.tgz#a8eb605ddfc45f7504e4876e4c50d1a1d5d25cbc" - integrity sha512-ro33XJnA9UpQVeheGbPalYa5qpyA2R2yZdIgfC8xEvlOTF5SWJkdeNMm24Ml6d36bgwbqIO2yISKu7vlzBxHRA== - dependencies: - "@textlint/ast-node-types" "^12.6.1" - "@textlint/ast-traverse" "^12.6.1" - "@textlint/config-loader" "^12.6.1" - "@textlint/feature-flag" "^12.6.1" - "@textlint/fixer-formatter" "^12.6.1" - "@textlint/kernel" "^12.6.1" - "@textlint/linter-formatter" "^12.6.1" - "@textlint/module-interop" "^12.6.1" - "@textlint/textlint-plugin-markdown" "^12.6.1" - "@textlint/textlint-plugin-text" "^12.6.1" - "@textlint/types" "^12.6.1" - "@textlint/utils" "^12.6.1" - debug "^4.3.4" - deep-equal "^1.1.1" - file-entry-cache "^5.0.1" - get-stdin "^5.0.1" - glob "^7.2.3" - is-file "^1.0.0" - md5 "^2.3.0" - mkdirp "^0.5.6" - optionator "^0.9.1" - path-to-glob-pattern "^1.0.2" - rc-config-loader "^3.0.0" - read-pkg "^1.1.0" - read-pkg-up "^3.0.0" - structured-source "^4.0.0" - try-resolve "^1.0.1" - unique-concat "^0.2.2" - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -traverse@^0.6.7: - version "0.6.7" - resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.6.7.tgz#46961cd2d57dd8706c36664acde06a248f1173fe" - integrity sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg== - -trough@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406" - integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== - -try-resolve@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/try-resolve/-/try-resolve-1.0.1.tgz#cfde6fabd72d63e5797cfaab873abbe8e700e912" - integrity sha512-yHeaPjCBzVaXwWl5IMUapTaTC2rn/eBYg2fsG2L+CvJd+ttFbk0ylDnpTO3wVhosmE1tQEvcebbBeKLCwScQSQ== - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -uc.micro@^1.0.1, uc.micro@^1.0.5: - version "1.0.6" - resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac" - integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA== - -unified@^9.2.2: - version "9.2.2" - resolved "https://registry.yarnpkg.com/unified/-/unified-9.2.2.tgz#67649a1abfc3ab85d2969502902775eb03146975" - integrity sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ== - dependencies: - bail "^1.0.0" - extend "^3.0.0" - is-buffer "^2.0.0" - is-plain-obj "^2.0.0" - trough "^1.0.0" - vfile "^4.0.0" - -unique-concat@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/unique-concat/-/unique-concat-0.2.2.tgz#9210f9bdcaacc5e1e3929490d7c019df96f18712" - integrity sha512-nFT3frbsvTa9rrc71FJApPqXF8oIhVHbX3IWgObQi1mF7WrW48Ys70daL7o4evZUtmUf6Qn6WK0LbHhyO0hpXw== - -unist-util-is@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-3.0.0.tgz#d9e84381c2468e82629e4a5be9d7d05a2dd324cd" - integrity sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A== - -unist-util-is@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-4.1.0.tgz#976e5f462a7a5de73d94b706bac1b90671b57797" - integrity sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg== - -unist-util-stringify-position@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz#cce3bfa1cdf85ba7375d1d5b17bdc4cada9bd9da" - integrity sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g== - dependencies: - "@types/unist" "^2.0.2" - -unist-util-visit-parents@^2.0.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz#25e43e55312166f3348cae6743588781d112c1e9" - integrity sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g== - dependencies: - unist-util-is "^3.0.0" - -unist-util-visit-parents@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz#65a6ce698f78a6b0f56aa0e88f13801886cdaef6" - integrity sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg== - dependencies: - "@types/unist" "^2.0.0" - unist-util-is "^4.0.0" - -unist-util-visit@^1.1.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-1.4.1.tgz#4724aaa8486e6ee6e26d7ff3c8685960d560b1e3" - integrity sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw== - dependencies: - unist-util-visit-parents "^2.0.0" - -unist-util-visit@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-2.0.3.tgz#c3703893146df47203bb8a9795af47d7b971208c" - integrity sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q== - dependencies: - "@types/unist" "^2.0.0" - unist-util-is "^4.0.0" - unist-util-visit-parents "^3.0.0" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -vfile-message@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.4.tgz#5b43b88171d409eae58477d13f23dd41d52c371a" - integrity sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ== - dependencies: - "@types/unist" "^2.0.0" - unist-util-stringify-position "^2.0.0" - -vfile@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.2.1.tgz#03f1dce28fc625c625bc6514350fbdb00fa9e624" - integrity sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA== - dependencies: - "@types/unist" "^2.0.0" - is-buffer "^2.0.0" - unist-util-stringify-position "^2.0.0" - vfile-message "^2.0.0" - -word-wrap@^1.2.3: - version "1.2.5" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" - integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -write@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" - integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== - dependencies: - mkdirp "^0.5.1" - -yaml@2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.2.1.tgz#3014bf0482dcd15147aa8e56109ce8632cd60ce4" - integrity sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw== - -zwitch@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-1.0.5.tgz#d11d7381ffed16b742f6af7b3f223d5cd9fe9920" - integrity sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw== diff --git a/collections/requirements.yaml b/collections/requirements.yaml index cec061f5c7..a24c121dfe 100644 --- a/collections/requirements.yaml +++ b/collections/requirements.yaml @@ -1,4 +1,3 @@ --- collections: - community.general - - grafana.grafana.alloy diff --git a/requirements.yml b/requirements.yml index dffe9d35c4..8f483589fe 100644 --- a/requirements.yml +++ b/requirements.yml @@ -11,7 +11,3 @@ 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" diff --git a/roles/alloy/README.md b/roles/alloy/README.md new file mode 100644 index 0000000000..dc15144253 --- /dev/null +++ b/roles/alloy/README.md @@ -0,0 +1,21 @@ +# `Grafana Alloy` role + +Installs and configures [Grafana Alloy](https://grafana.com/docs/alloy/latest/) on Debian-based systems. +Optionally deploys a [Blackbox exporter](https://github.com/prometheus/blackbox_exporter) config. + +## Supported Distributions + +Should work on Debian-based distributions. + +## Required Arguments + +- `alloy_config_default`: The default Alloy configuration. Recommended for configuration that hosts of a groupe share. + +## Optional Arguments + +- `alloy_config_additional`: Additional Alloy configuration appended to the default config. Recommended for per host configuration +- `alloy_cap_net_bind_service`: Grant Alloy the `CAP_NET_BIND_SERVICE` capability, allowing it to bind to privileged ports (<1024). + +### Blackbox Exporter +- `alloy_blackbox_exporter_config_default`: Default blackbox exporter configuration. +- `alloy_blackbox_exporter_config_additional`: Additional blackbox exporter configuration appended to the default blackbox exporter config. diff --git a/roles/alloy/defaults/main.yaml b/roles/alloy/defaults/main.yaml index 09c99ee44d..a544ab7e8c 100644 --- a/roles/alloy/defaults/main.yaml +++ b/roles/alloy/defaults/main.yaml @@ -1,44 +1,49 @@ -alloy_config_default: | - prometheus.remote_write "default" { - endpoint { - url = "https://metrics.hamburg.ccc.de/api/v1/write" - basic_auth { - username = "chaos" - password = "chaos_password" - } - } - } - - prometheus.relabel "common" { - forward_to = [prometheus.remote_write.default.receiver] - rule { - target_label = "org" - replacement = "noorg" - } - rule { - target_label = "site" - replacement = "nosite" - } - rule { - source_labels = ["instance"] - target_label = "instance" - regex = "([^:]+)" - replacement = "${1}.hosts.test" - 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.common.receiver] - } +--- +alloy_cap_net_bind_service: false +alloy_config_default: "" alloy_config_additional: "" + +alloy_blackbox_exporter_config_default: | + modules: + https4_2xx: + prober: http + http: + valid_status_codes: [] # Defaults to 2xx + method: GET + follow_redirects: true + fail_if_ssl: false + fail_if_not_ssl: true + preferred_ip_protocol: "ip4" + ip_protocol_fallback: false + + https6_2xx: + prober: http + http: + valid_status_codes: [] # Defaults to 2xx + method: GET + follow_redirects: true + fail_if_ssl: false + fail_if_not_ssl: true + preferred_ip_protocol: "ip6" + ip_protocol_fallback: false + + tcp4_connect: + prober: tcp + tcp: + preferred_ip_protocol: "ip4" + ip_protocol_fallback: false + + icmp4: + prober: icmp + icmp: + preferred_ip_protocol: "ip4" + ip_protocol_fallback: false + + icmp6: + prober: icmp + icmp: + preferred_ip_protocol: "ip6" + ip_protocol_fallback: false + +alloy_blackbox_exporter_config_additional: "" diff --git a/roles/alloy/handlers/main.yml b/roles/alloy/handlers/main.yml new file mode 100644 index 0000000000..e24efcb9cc --- /dev/null +++ b/roles/alloy/handlers/main.yml @@ -0,0 +1,31 @@ +--- +- name: Alloy.enabled + become: true + ansible.builtin.systemd: + name: alloy + enabled: true + +- name: Alloy.restarted + become: true + ansible.builtin.systemd: + name: alloy + state: restarted + enabled: true + +- name: Alloy.reloaded + become: true + ansible.builtin.systemd: + name: alloy + state: reloaded + enabled: true + +- name: Systemd.daemon_reload + become: true + ansible.builtin.systemd_service: + daemon_reload: true + +- name: Unpoller.restarted + become: true + ansible.builtin.systemd_service: + name: unpoller.service + state: restarted diff --git a/roles/alloy/meta/argument_specs.yaml b/roles/alloy/meta/argument_specs.yaml new file mode 100644 index 0000000000..d114771074 --- /dev/null +++ b/roles/alloy/meta/argument_specs.yaml @@ -0,0 +1,19 @@ +argument_specs: + main: + options: + alloy_config_default: + type: str + required: true + alloy_config_additional: + type: str + required: false + alloy_blackbox_exporter_config_default: + type: str + required: false + alloy_blackbox_exporter_config_additional: + type: str + required: false + alloy_cap_net_bind_service: + type: bool + required: false + default: false diff --git a/roles/alloy/tasks/blackbox-exporter.yaml b/roles/alloy/tasks/blackbox-exporter.yaml new file mode 100644 index 0000000000..1d6c0cc395 --- /dev/null +++ b/roles/alloy/tasks/blackbox-exporter.yaml @@ -0,0 +1,10 @@ +--- +- name: Render blackbox exporter config + become: true + ansible.builtin.template: + src: config.blackbox-exporter.j2 + dest: /etc/alloy/blackbox-exporter.yaml + mode: "0644" + owner: root + notify: + - Alloy.reloaded diff --git a/roles/alloy/tasks/install.yaml b/roles/alloy/tasks/install.yaml new file mode 100644 index 0000000000..68b2963711 --- /dev/null +++ b/roles/alloy/tasks/install.yaml @@ -0,0 +1,20 @@ +--- +- name: Add grafana apt repo with signing key + become: true + ansible.builtin.deb822_repository: + name: grafana + types: deb + uris: https://apt.grafana.com + suites: "{{ ansible_facts['distribution_release'] }}" + components: + - main + signed_by: https://apt.grafana.com/gpg.key + +- name: Run cache update + ansible.builtin.apt: + update_cache: true + +- name: Install alloy + become: true + ansible.builtin.package: + name: alloy diff --git a/roles/alloy/tasks/main.yaml b/roles/alloy/tasks/main.yaml index 5e3cd64c7a..b7cf8d6eaa 100644 --- a/roles/alloy/tasks/main.yaml +++ b/roles/alloy/tasks/main.yaml @@ -1,50 +1,74 @@ -# 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 != "" +--- +- name: Deploy Grafana Alloy with config block: - - name: ensure rsync is installed - ansible.builtin.apt: - name: rsync + - name: Install Alloy + ansible.builtin.include_tasks: install.yaml + + - name: Create systemd override for alloy become: true + when: alloy_cap_net_bind_service + notify: Systemd.daemon_reload + block: + - name: Create systemd override directory + ansible.builtin.file: + path: /etc/systemd/system/alloy.service.d + state: directory + mode: "0755" + owner: root + group: root + - name: Add CAP_NET_BIND_SERVICE capability + ansible.builtin.copy: + dest: /etc/systemd/system/alloy.service.d/override.conf + mode: "0755" + owner: root + group: root + content: | + [Service] + AmbientCapabilities=CAP_NET_BIND_SERVICE - - 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" + - name: Deploy the Alloy config file become: true + ansible.builtin.template: + src: "config.alloy.j2" + dest: "/etc/alloy/config.alloy" + owner: "alloy" + group: "alloy" + mode: "0640" + notify: + - Alloy.restarted + - Alloy.enabled -- 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: Validate Alloy configuration and print error if failed + block: + - name: Validate Alloy configuration + become: true + register: alloy_validation + changed_when: false + ansible.builtin.command: alloy validate /etc/alloy/config.alloy + rescue: + - name: Show error if validation failed + when: alloy_validation.rc != 0 + ansible.builtin.fail: + msg: | + Alloy configuration validation failed! + Return code: {{ alloy_validation.rc }} + Stdout: + {{ alloy_validation.stdout }} + Stderr: + {{ alloy_validation.stderr }} -- name: Setup Alloy - ansible.builtin.import_role: - name: grafana.grafana.alloy - vars: - alloy_config: "{{ alloy_config_default ~ alloy_config_additional }}" - become: true + - name: Deploy blackbox-exporter config + when: alloy_enable_blackbox_exporter + ansible.builtin.include_tasks: blackbox-exporter.yaml + + - name: Flush handlers + ansible.builtin.meta: flush_handlers + + - name: Ensure that Alloy is working + ansible.builtin.uri: + url: "http://localhost:12345/-/ready" + method: GET + register: alloy_status_code + retries: 8 + delay: 6 + until: not alloy_status_code.failed diff --git a/roles/alloy/templates/config.alloy.j2 b/roles/alloy/templates/config.alloy.j2 new file mode 100644 index 0000000000..cb94f04b0c --- /dev/null +++ b/roles/alloy/templates/config.alloy.j2 @@ -0,0 +1,3 @@ +// Ansible Managed +{{ alloy_config_default }} +{{ alloy_config_additional }} \ No newline at end of file diff --git a/roles/alloy/templates/config.blackbox-exporter.j2 b/roles/alloy/templates/config.blackbox-exporter.j2 new file mode 100644 index 0000000000..88b9bbe4ff --- /dev/null +++ b/roles/alloy/templates/config.blackbox-exporter.j2 @@ -0,0 +1,3 @@ +# {{ ansible_managed }} +{{ alloy_blackbox_exporter_config_default }} +{{ alloy_blackbox_exporter_config_additional }} diff --git a/roles/alloy/vars/main.yaml b/roles/alloy/vars/main.yaml new file mode 100644 index 0000000000..d6d88db887 --- /dev/null +++ b/roles/alloy/vars/main.yaml @@ -0,0 +1,3 @@ +--- +alloy_enable_blackbox_exporter: "{{ 'prometheus.exporter.blackbox' in (alloy_config_default + alloy_config_additional) }}" +alloy_do_we_have_v6: "{{ (ansible_facts['all_ipv6_addresses'] | select('match', '^[23]') | list | length > 0) | ternary('true', 'false') }}" From 4218b59d3b6f251040a0d46f3ded800744e81da7 Mon Sep 17 00:00:00 2001 From: chris Date: Thu, 23 Jul 2026 22:08:58 +0200 Subject: [PATCH 349/417] fix: alloy role the suites for deb repo must be stable --- roles/alloy/tasks/install.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/alloy/tasks/install.yaml b/roles/alloy/tasks/install.yaml index 68b2963711..438e5d5a2b 100644 --- a/roles/alloy/tasks/install.yaml +++ b/roles/alloy/tasks/install.yaml @@ -5,7 +5,7 @@ name: grafana types: deb uris: https://apt.grafana.com - suites: "{{ ansible_facts['distribution_release'] }}" + suites: stable components: - main signed_by: https://apt.grafana.com/gpg.key From 374e8f981a85f81a4f1675a8b7c503141d71ec8f Mon Sep 17 00:00:00 2001 From: Renovate Date: Thu, 23 Jul 2026 20:16:22 +0000 Subject: [PATCH 350/417] Update git.hamburg.ccc.de/ccchh/oci-images/nextcloud Docker tag to v34 --- 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 19aca7bbfb..8f299b2d7d 100644 --- a/inventories/chaosknoten/host_vars/cloud.yaml +++ b/inventories/chaosknoten/host_vars/cloud.yaml @@ -1,5 +1,5 @@ # renovate: datasource=docker depName=git.hamburg.ccc.de/ccchh/oci-images/nextcloud -nextcloud__version: 33 +nextcloud__version: 34 # renovate: datasource=docker depName=docker.io/library/postgres nextcloud__postgres_version: 15.18 nextcloud__fqdn: cloud.hamburg.ccc.de From 70b1039f95bdd9fe9b35f1459dab494342727cc8 Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Fri, 24 Jul 2026 23:26:23 +0200 Subject: [PATCH 351/417] Upgrade Hedgdedoc to 1.11.1 Closes #130 Also add appropriate config for renovate to upgrade Hedgedoc. --- inventories/chaosknoten/host_vars/pad.yaml | 3 +++ resources/chaosknoten/pad/docker_compose/compose.yaml.j2 | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/inventories/chaosknoten/host_vars/pad.yaml b/inventories/chaosknoten/host_vars/pad.yaml index ecb8a2750b..0c9b29eaf6 100644 --- a/inventories/chaosknoten/host_vars/pad.yaml +++ b/inventories/chaosknoten/host_vars/pad.yaml @@ -11,3 +11,6 @@ nginx__version_spec: "" nginx__configurations: - name: pad.hamburg.ccc.de content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/pad/nginx/pad.hamburg.ccc.de.conf') }}" + +# renovate: datasource=docker depName=quay.io/hedgedoc/hedgedoc +host_pad__docker_compose__hedgedoc_version: 1.11.1 diff --git a/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 b/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 index 84743d842d..25ff099c8f 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.11.0 + image: quay.io/hedgedoc/hedgedoc:{{ host_pad__docker_compose__hedgedoc_version }} environment: - "CMD_DB_URL=postgres://hedgedoc:{{ secret__hedgedoc_db_password }}@database:5432/hedgedoc" - "CMD_DOMAIN=pad.hamburg.ccc.de" From 283bc80b410d5d2d60dcfe758cee39de2541b255 Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Sun, 26 Jul 2026 00:47:54 +0200 Subject: [PATCH 352/417] Update wordpress image --- inventories/chaosknoten/host_vars/ccchoir.yaml | 3 +++ resources/chaosknoten/ccchoir/docker_compose/compose.yaml.j2 | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/inventories/chaosknoten/host_vars/ccchoir.yaml b/inventories/chaosknoten/host_vars/ccchoir.yaml index 7b7d572aa9..6bd3091af5 100644 --- a/inventories/chaosknoten/host_vars/ccchoir.yaml +++ b/inventories/chaosknoten/host_vars/ccchoir.yaml @@ -12,3 +12,6 @@ nginx__version_spec: "" nginx__configurations: - name: ccchoir.de content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/ccchoir/nginx/ccchoir.de.conf') }}" + +# renovate: datasource=docker depName=docker.io/library/wordpress +host_ccchoir__docker_compose__wordpress_version: 7.0.2-apache diff --git a/resources/chaosknoten/ccchoir/docker_compose/compose.yaml.j2 b/resources/chaosknoten/ccchoir/docker_compose/compose.yaml.j2 index c2108d8abb..72d898fa58 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 + image: docker.io/library/wordpress:7-php8.2 environment: - "WORDPRESS_DB_HOST=database" - "WORDPRESS_DB_NAME=wordpress" From 647058f6ad5a4cf44a1a3ab8dad991b5c60fcf56 Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Sun, 26 Jul 2026 13:21:41 +0200 Subject: [PATCH 353/417] ccchoir: stick to major version and cronjob update --- inventories/chaosknoten/host_vars/ccchoir.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/inventories/chaosknoten/host_vars/ccchoir.yaml b/inventories/chaosknoten/host_vars/ccchoir.yaml index 6bd3091af5..7b7d572aa9 100644 --- a/inventories/chaosknoten/host_vars/ccchoir.yaml +++ b/inventories/chaosknoten/host_vars/ccchoir.yaml @@ -12,6 +12,3 @@ nginx__version_spec: "" nginx__configurations: - name: ccchoir.de content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/ccchoir/nginx/ccchoir.de.conf') }}" - -# renovate: datasource=docker depName=docker.io/library/wordpress -host_ccchoir__docker_compose__wordpress_version: 7.0.2-apache From 685646c697f997022c66a96f04865ac96e258def Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Sun, 26 Jul 2026 16:19:41 +0200 Subject: [PATCH 354/417] Set up Keycloak to Mailman sync for chaos@ DRY_RUN=true, so no changes to Mailman are performed yet. --- .../chaosknoten/host_vars/lists.sops.yaml | 11 ++++++----- .../lists/docker_compose/compose.yaml.j2 | 16 ++++++++++++++++ 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/inventories/chaosknoten/host_vars/lists.sops.yaml b/inventories/chaosknoten/host_vars/lists.sops.yaml index 3435349394..1a5584424e 100644 --- a/inventories/chaosknoten/host_vars/lists.sops.yaml +++ b/inventories/chaosknoten/host_vars/lists.sops.yaml @@ -3,10 +3,10 @@ secret__lists__hyperkitty_api_key: ENC[AES256_GCM,data:byO7x/r3E9mwxOwiK0Is+Mp+d secret__lists__postgres_password: ENC[AES256_GCM,data:HcH4Lyw9uuuqXGrrXkUqzg==,iv:3adzec+Wnh37LjzwMp7zhWMf9jZzI6EyUmEGS9TUYBg=,tag:8/jZrUzkcM+U3nME6+DSSA==,type:str] secret__lists__rest_password: ENC[AES256_GCM,data:BMCNEikejiDET0Mdlrzfcg==,iv:U5hVjM/epfzz2m/wXKhYhwFI/3zKX7XS/UMlBqwTZNk=,tag:0n79+5mP7ocY7jVQmWm+WA==,type:str] secret__lists__web_secret_key: ENC[AES256_GCM,data:3DntszkNw5ciwRUJJdmHTGTpjm9ZMBf9wO3MHAeiXuw=,iv:GqqjRcg0zG193Y04UYIipB8BBk/JUtGvtTCVQ4HCjDw=,tag:aY4d+CPGxMvRz8t983p9sw==,type:str] +secret__lists__keycloak_client_secret: ENC[AES256_GCM,data:9fJWkQegmwMe24LnXnPE5CfxDE5jSRDB77Hm1dzF06k=,iv:A5L21JQ3Nv5jDP6e72pp6qh1tytCwpTCyKbFdb2Pv9M=,tag:x8Ik/fRGfgoy96aHwif7kQ==,type:str] sops: age: - - recipient: age17x20h3m6wgfhereusc224u95ac8aj68fzlkkj5ptvs9c5vlz3usqdu7crq - enc: | + - enc: | -----BEGIN AGE ENCRYPTED FILE----- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxNUtVWVp5Z0pseFNLMURE MFY0V0E1K05sVGRnQ2lsMEhOWncwQzd5bURJCjE4cGxmeFNlS2FQb1JSZVhuNjFJ @@ -14,8 +14,9 @@ sops: VFdtcTIwdWNLalFHdlh2dkdLWUhldVEKYygAfgJakHHw4NPfO1C3hd5HtJXMY87/ Jh3LJn0sq+YKOVupd3G4FWVKozR78DHFNHvRmKQSR8OLmqEfi7w6xg== -----END AGE ENCRYPTED FILE----- - lastmodified: "2026-05-16T11:00:16Z" - mac: ENC[AES256_GCM,data:vwQc2suUJ0KiSsYRcrvsYHNYF2c8SU58LxWoFpzTX5hSDNy8LOWJIa6Ouo8c7gk4gYB0mS/FbmgEo8LOCDvRKamfgrpZQ2wvxI7GdGRjR0LOsS8O2xZ8QZ3BK9DfEfnA5ESgzRzX6Iuc4ZBUGfAQoDDxXrnh2ogWUdYPC81T5qU=,iv:Vi74U97iZAqQ8DDW2p3ncg58l6+mxar4hC5f48AuPAQ=,tag:Jd09hXId+ogV4rB0AWS2NA==,type:str] + recipient: age17x20h3m6wgfhereusc224u95ac8aj68fzlkkj5ptvs9c5vlz3usqdu7crq + lastmodified: "2026-07-26T13:56:25Z" + mac: ENC[AES256_GCM,data:DuRHpgKU2l5R1vPYzc02qwOAWHeuzAJC7H2qeEW4L2pfsRfmKJz0LToxr+7Ap2sxUESUBMIEx0NktxYEvWoNhnNMtUwyWTPR8cOWVX/g7AayQj5aicS7nkrYW6B6Rnnl7tmzLbOCtmcgVyceFUGMm27O387zXUgrcMFb0hgRISg=,iv:6hD8HIfEKgcpdbOuY8HILrLbZT+/rXh6ZzJFBzD27uE=,tag:5No4EiP0zYuahGTYGcEY6w==,type:str] pgp: - created_at: "2026-05-20T02:08:46Z" enc: |- @@ -188,4 +189,4 @@ sops: -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted - version: 3.12.2 + version: 3.13.2 diff --git a/resources/chaosknoten/lists/docker_compose/compose.yaml.j2 b/resources/chaosknoten/lists/docker_compose/compose.yaml.j2 index db605b571d..f6194cb36f 100644 --- a/resources/chaosknoten/lists/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/lists/docker_compose/compose.yaml.j2 @@ -68,6 +68,22 @@ services: networks: mailman: + keycloaksync: + restart: unless-stopped + command: ["uv", "run", "main.py", "sync"] + environment: + - DRY_RUN=true + - KEYCLOAK_CLIENT_ID=mailman-sync + - KEYCLOAK_CLIENT_SECRET={{ secret__lists__keycloak_client_secret }} + - KEYCLOAK_REALM=ccchh + - KEYCLOAK_URL=https://id.hamburg.ccc.de + - LIST_ATTRIBUTES=chaos@lists.hamburg.ccc.de:mailinglist-chaos + - MAILMAN_API_PASSWORD={{ secret__lists__rest_password }} + - MAILMAN_API_URL=http://mailman-core:8001/3.1 + image: git.hamburg.ccc.de/ccchh/mailman-subscription-sync:latest + networks: + mailman: + networks: mailman: driver: bridge From 699a2bcfffa43b8f70e29e04b8112bf6f58552b4 Mon Sep 17 00:00:00 2001 From: lilly Date: Thu, 23 Jul 2026 18:37:17 +0200 Subject: [PATCH 355/417] specify that docker_compose role may not be included twice Our docker compose role is configured via ansible variables in a way that overwrites each other if it is activated twice with different variable assignments (unless e.g. a role that just installs more packages). To prevent misuse of the role, the allow_duplicates key of the role meta is set to false. This should make ansible complain if the role is included twice for a single host. --- roles/docker_compose/meta/main.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/roles/docker_compose/meta/main.yaml b/roles/docker_compose/meta/main.yaml index cb7d8e0460..1fbb23649a 100644 --- a/roles/docker_compose/meta/main.yaml +++ b/roles/docker_compose/meta/main.yaml @@ -1,3 +1,4 @@ --- +allow_duplicates: false dependencies: - role: docker From de8daaf56c40e9cf7cb3ac6e89e23941a2ca4536 Mon Sep 17 00:00:00 2001 From: lilly Date: Sun, 19 Jul 2026 16:59:38 +0200 Subject: [PATCH 356/417] add dooris role for setup of dooris interaction on the node itself --- inventories/z9/host_vars/dooris.sops.yaml | 20 ++++---- inventories/z9/host_vars/dooris.yaml | 22 ++------- inventories/z9/hosts.yaml | 3 -- playbooks/deploy.yaml | 7 +++ .../z9/dooris/docker_compose/compose.yaml.j2 | 17 ------- roles/dooris/README.md | 16 +++++++ roles/dooris/handlers/main.yml | 5 ++ roles/dooris/meta/argument_specs.yml | 48 +++++++++++++++++++ roles/dooris/meta/main.yml | 27 +++++++++++ roles/dooris/tasks/main.yml | 34 +++++++++++++ roles/dooris/templates/compose.yaml.j2 | 17 +++++++ .../dooris/templates}/nginx/http_handler.conf | 0 .../dooris/templates/nginx/site.conf | 8 ++-- roles/dooris/templates/sshd_config | 6 +++ 14 files changed, 179 insertions(+), 51 deletions(-) delete mode 100644 resources/z9/dooris/docker_compose/compose.yaml.j2 create mode 100644 roles/dooris/README.md create mode 100644 roles/dooris/handlers/main.yml create mode 100644 roles/dooris/meta/argument_specs.yml create mode 100644 roles/dooris/meta/main.yml create mode 100644 roles/dooris/tasks/main.yml create mode 100644 roles/dooris/templates/compose.yaml.j2 rename {resources/z9/dooris => roles/dooris/templates}/nginx/http_handler.conf (100%) rename resources/z9/dooris/nginx/dooris.ccchh.net.conf => roles/dooris/templates/nginx/site.conf (84%) create mode 100644 roles/dooris/templates/sshd_config diff --git a/inventories/z9/host_vars/dooris.sops.yaml b/inventories/z9/host_vars/dooris.sops.yaml index 73c8726962..9620b051d4 100644 --- a/inventories/z9/host_vars/dooris.sops.yaml +++ b/inventories/z9/host_vars/dooris.sops.yaml @@ -1,11 +1,14 @@ -secret__dooris_client_secret: ENC[AES256_GCM,data:v85gIBNH4s4j36crJ+Pb2lu2cdZpwz0xndHzBKZNGKg=,iv:Rlt6R7JMcHTAAVPiTtFaxqsWD8G5B9Ab3yqItYdFR+E=,tag:dlMHaxTMx3LgOzCsTLUdzw==,type:str] -secret__dooris_ccujack_password: ENC[AES256_GCM,data:bHeftSA7eC1cSydBRumksRgw2v0=,iv:X/pfsvQPZREifGjHDGx8mVk2TDrlrRVb6MiAr01wI9o=,tag:ti//x7eDbheMG6Hsn2KBlg==,type:str] +dooris__static_api_token: ENC[AES256_GCM,data:pXmjn36FnOwA7fWAd3Go4W1CiMeRbbAiquj9KI/pQEDy1qDuobBbBft25m3uSAo6VI02PW2oZ4koY8uoPDUwNA==,iv:TNaZjwGBHvIbmF7VPIOo5mYzH1NEIyKIgjzkrobNCoI=,tag:4dHZepMxUGcvBYEp0kNwYQ==,type:str] +dooris__openid_client_secret: ENC[AES256_GCM,data:PqmtHR6LCGXcK5dyqKihUqU6+lydW0mJf7kMMf41qh4=,iv:ZjIl8jwB2lfJHjwcDEFFCbafMBnpzkccxBvvsjg+ia8=,tag:+eCnr9ojv9uUoO9k5khY6w==,type:str] +dooris__ccujack_password: ENC[AES256_GCM,data:FBbrdoQRdVZ+1n8WZg42jZz/xvQ=,iv:GLuen+LiB4MrvU71gEdVYWbdHKaDcEKify3vPePuoO0=,tag:nuqkP0cJLsvNAieWDNY3HA==,type:str] +dooris__acmedns: + subdomain: ENC[AES256_GCM,data:XncJZ7qT51dLSkvfIc0Nc3SFxK1y/ip1cO4HA9CJMFtQy+mP,iv:mgwfx0QMzHadvUDZDYCzsiP1Oh+P/5DekbZ4M6y08t4=,tag:4oyXvAJEOFlw7wrrrhwspQ==,type:str] + apiUser: ENC[AES256_GCM,data:YLhXPrrts+JtwRMLrU2oM8hLTiFvZuqrlLrNKtgoL8IUdTxe,iv:L2R0YNRNoMuWGMYvgwRLP0RZwxqmMfQL4REyMX6VIuo=,tag:LegIPuVqMcxpIL1ZksIgbg==,type:str] + apiKey: ENC[AES256_GCM,data:NbyLJeFhUOac3pWkMTjdRPd9IKSwLYZR6ahiFljLJo5So5nnsL/tAw==,iv:DerEdaPnUWr3pCPzq8A8y5qIH3RKwHZ+EqKh8sHAVaU=,tag:PrxKMdRwxGPCP7Z9XDuI0A==,type:str] ansible_pull__age_private_key: ENC[AES256_GCM,data:Yi4ST1zDVN4dLDs9i6aajUvEzTSYvwfYIRZUC278rgdO0bGk4y6saevmqK4mUnpIpz8M+ze//1OTDTgU6K4AE1TsX8vWB7fboGE=,iv:srZYtxDXXkCu5h7HwYbMtPr7PYhhgJ8rZQ3H4TOJmTk=,tag:iq6YEEyzYd6rNoAIgdk5Sw==,type:str] -secret__acme_dns_api_key_dooris_ccchh_net: ENC[AES256_GCM,data:1qDNE8CeXo6SA5vaZYQ/2yNUE9Y1nUkL976Qsq6D9QYCc3fIrkKMXg==,iv:clOa/vwup2QS0Yvq8JTFGhCkuviWWBPNzp0tht8WZXY=,tag:WwN035cE5AxVSpJqRqkGqw==,type:str] sops: age: - - recipient: age1j0876shgsn7f2thxh9kx9x5uwnh45z6sy2jlk2qz5jhgedm26g5srn9kax - enc: | + - enc: | -----BEGIN AGE ENCRYPTED FILE----- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrYW9aYzMxeFYxemp5MUlR NGJOaDRCc2E5bGdjSnFkcm5YMTdaSldKSFVVCmJmNERQbDF0Y2NDZGNnWVE5UlIy @@ -13,8 +16,9 @@ sops: YVc5c281N0Fod2hib29wOEJXZkZKOXMKx2g337TvrUk5hXZNbxlPlrWOydYbSBoW aHvFML6xynRtBrMsp9IebicBxZKSWLi7uHi+LuAzkIcqpAlJUUBAbg== -----END AGE ENCRYPTED FILE----- - lastmodified: "2026-04-19T21:46:01Z" - mac: ENC[AES256_GCM,data:5VlEYqo7ez4EgdMqGGnelc02EoT/bCLYVbPGHth4kd+DhOaJ1EXhmVB5eiX3AwyRl2nr79z/idCDJ6R1QdfQ5v8rYnnWcqehtiIIz0RBXhbED/hN2oz48yRhIX9vCB0gjsK6cacDzTCHP0tPEsQF+Ax4uWdXNHKnZVYS70qxbEI=,iv:noc3LJdiZ10w9O6JfwTxzLUNKT74rfdTX/Gb94fP3JI=,tag:WgFpYsFO3WjrjCs/7R634w==,type:str] + recipient: age1j0876shgsn7f2thxh9kx9x5uwnh45z6sy2jlk2qz5jhgedm26g5srn9kax + lastmodified: "2026-07-29T12:14:25Z" + mac: ENC[AES256_GCM,data:rBtCeee53GXl+upHXGP4TTpUvszMzV0r1eQqzE7jG3WP/ywqfWqsM+sp3124wQzHTZoMxJc0m95YAseSdA+7EFSAQPRRdpfzMxTpoKQBFHS0BfgM/14ppB+kDER1ucNKT521+PyOjbmB86ovTc8MfR2vsHDZ+FrIopUGzPpcBPs=,iv:JiSoJxPt9JW/kWy0aVz6jGNOoQPkZKG/vTkdis/fKSo=,tag:0V6hicsuT6/qLjGb/+fJPw==,type:str] pgp: - created_at: "2026-05-20T02:08:48Z" enc: |- @@ -187,4 +191,4 @@ sops: -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted - version: 3.12.2 + version: 3.13.2 diff --git a/inventories/z9/host_vars/dooris.yaml b/inventories/z9/host_vars/dooris.yaml index 3792153dcf..1423192474 100644 --- a/inventories/z9/host_vars/dooris.yaml +++ b/inventories/z9/host_vars/dooris.yaml @@ -1,21 +1,5 @@ -docker_compose__compose_file_content: "{{ lookup('ansible.builtin.template', 'resources/z9/dooris/docker_compose/compose.yaml.j2') }}" -docker_compose__configuration_files: [ ] +dooris__hostname: "dooris.ccchh.net" +dooris__openid_client_id: "dooris" +dooris__ccujack_user: "dooris" certbot__acme_account_email_address: le-admin@hamburg.ccc.de -certbot__certs: - - commonName: "dooris.ccchh.net" - challengeType: "dns-01-acme-dns" - dns_01_acme_dns: - subdomain: "37caae1f-b77f-4eb1-aa71-dc3f7ed24360" - apiUser: "fd42b696-a394-4e2a-8fcc-d44c9fac5d4e" - apiKey: "{{ secret__acme_dns_api_key_dooris_ccchh_net }}" -certbot__new_cert_commands: - - "systemctl restart nginx.service" - -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/inventories/z9/hosts.yaml b/inventories/z9/hosts.yaml index 38e29fd66d..b4373d6cfd 100644 --- a/inventories/z9/hosts.yaml +++ b/inventories/z9/hosts.yaml @@ -17,11 +17,9 @@ all: ansible_user: chaos certbot_hosts: hosts: - dooris: light: docker_compose_hosts: hosts: - dooris: waybackproxy: yate: foobazdmx_hosts: @@ -38,7 +36,6 @@ infrastructure_authorized_keys_hosts: yate: nginx_hosts: hosts: - dooris: light: waybackproxy: ola_hosts: diff --git a/playbooks/deploy.yaml b/playbooks/deploy.yaml index 7a14440970..59fe15a4d5 100644 --- a/playbooks/deploy.yaml +++ b/playbooks/deploy.yaml @@ -170,3 +170,10 @@ - transmission tags: - transmission + +- name: Setup dooris + hosts: dooris + roles: + - dooris + tags: + - dooris diff --git a/resources/z9/dooris/docker_compose/compose.yaml.j2 b/resources/z9/dooris/docker_compose/compose.yaml.j2 deleted file mode 100644 index e81b2335e5..0000000000 --- a/resources/z9/dooris/docker_compose/compose.yaml.j2 +++ /dev/null @@ -1,17 +0,0 @@ ---- - -services: - dooris: - image: git.hamburg.ccc.de/ccchh/dooris:latest - environment: - DOORIS_OPENID_ISSUER: https://id.hamburg.ccc.de/realms/ccchh/ - DOORIS_OPENID_CLIENT_ID: dooris - DOORIS_OPENID_CLIENT_SECRET: "{{ secret__dooris_client_secret }}" - DOORIS_BASE_URL: https://dooris.ccchh.net - DOORIS_CCUJACK_USER: "dooris" - DOORIS_CCUJACK_PASSWORD: "{{ secret__dooris_ccujack_password }}" - DOORIS_AUTHORIZED_KEYS_FILE: "/srv/state/dooris_authorized_keys" - network_mode: host - restart: unless-stopped - volumes: - - "./state:/srv/state/:rw" diff --git a/roles/dooris/README.md b/roles/dooris/README.md new file mode 100644 index 0000000000..f868b1d530 --- /dev/null +++ b/roles/dooris/README.md @@ -0,0 +1,16 @@ +# dooris + +Deployment configuration of [dooris](https://git.hamburg.ccc.de/CCCHH/dooris) on our host. +For an exact description of host requirements, see the README of dooris itself. + +## Required Arguments + +- `dooris__hostname`: The hostname on which the dooris server is reachable +- `dooris__ccujack_user`: Username for authentication against homematic ccujack +- `dooris__ccujack_password` Password for authentication against homematic ccujack +- `dooris__openid_client_id`: Client-ID in CCCHH ID for dooris +- `dooris__openid_client_secret`: Client-Secret in CCCHH ID for dooris +- `dooris__static_api_token`: A static token that is valid on the servers API and can operate locks +- `dooris__acmedns`: Configuration of ACMEDNS domain + credentials for dooris. + Must be a dict with keys `subdomain`, `apiUser`, `apiKey` which are shown when creating a domain in ACMEDNS. + diff --git a/roles/dooris/handlers/main.yml b/roles/dooris/handlers/main.yml new file mode 100644 index 0000000000..0e3528f6a2 --- /dev/null +++ b/roles/dooris/handlers/main.yml @@ -0,0 +1,5 @@ +- name: "reload sshd" + become: true + ansible.builtin.systemd_service: + name: "ssh.service" + state: "reloaded" diff --git a/roles/dooris/meta/argument_specs.yml b/roles/dooris/meta/argument_specs.yml new file mode 100644 index 0000000000..2d2726acc6 --- /dev/null +++ b/roles/dooris/meta/argument_specs.yml @@ -0,0 +1,48 @@ +argument_specs: + main: + options: + dooris__static_api_token: + description: "A static token that is valid on the servers API and can operate locks" + required: true + type: str + + dooris__hostname: + description: "The hostname on which the dooris server is reachable" + required: true + type: str + + dooris__openid_client_id: + description: "Client-ID in CCCHH ID for dooris" + required: true + type: str + + dooris__openid_client_secret: + description: "Client-Secret in CCCHH ID for dooris" + required: true + type: str + + dooris__ccujack_user: + description: "Username for authentication against homematic ccujack" + required: true + type: str + + dooris__ccujack_password: + description: "Password for authentication against homematic ccujack" + required: true + type: str + + dooris__acmedns: + description: "Configuration of ACMEDNS domain + credentials for dooris" + required: true + type: dict + options: + subdomain: + required: true + type: str + apiUser: + required: true + type: str + apiKey: + required: true + type: str + diff --git a/roles/dooris/meta/main.yml b/roles/dooris/meta/main.yml new file mode 100644 index 0000000000..d2041dd86f --- /dev/null +++ b/roles/dooris/meta/main.yml @@ -0,0 +1,27 @@ +dependencies: + - role: docker_compose + vars: + docker_compose__compose_file_content: "{{ lookup('ansible.builtin.template', 'compose.yaml.j2') }}" + docker_compose__configuration_files: [ ] + + - role: certbot + vars: + certbot__new_cert_commands: + - "systemctl restart nginx.service" + certbot__certs: + - commonName: "{{ dooris__hostname }}" + challengeType: "dns-01-acme-dns" + dns_01_acme_dns: + subdomain: "{{ dooris__acmedns.subdomain }}" + apiUser: "{{ dooris__acmedns.apiUser }}" + apiKey: "{{ dooris__acmedns.apiKey }}" + + - role: nginx + vars: + nginx__version_spec: "" + nginx__deploy_redirect_conf: false + nginx__configurations: + - name: "{{ dooris__hostname }}" + content: "{{ lookup('ansible.builtin.template', 'nginx/site.conf') }}" + - name: http_handler + content: "{{ lookup('ansible.builtin.template', 'nginx/http_handler.conf') }}" diff --git a/roles/dooris/tasks/main.yml b/roles/dooris/tasks/main.yml new file mode 100644 index 0000000000..659dccd672 --- /dev/null +++ b/roles/dooris/tasks/main.yml @@ -0,0 +1,34 @@ +- name: Create local dooris group + become: true + ansible.builtin.group: + name: "dooris" + gid: 10000 + +- name: Create local dooris user + become: true + ansible.builtin.user: + name: "dooris" + uid: 10000 + group: "dooris" + system: true + password: "!" + home: "/ansible_docker_compose/state/" + shell: "/ansible_docker_compose/state/ssh-cli" + +- name: Ensure dooris state directory exists and has correct permissions + become: true + ansible.builtin.file: + path: "/ansible_docker_compose/state/" + owner: "dooris" + group: "dooris" + mode: "u=rwx,g=rx,o=" + +- name: Create ssh server config for dooris user + become: true + notify: "reload sshd" + ansible.builtin.template: + src: sshd_config + dest: /etc/ssh/sshd_config.d/dooris.conf + owner: root + group: root + mode: u=rw,g=r,o=r diff --git a/roles/dooris/templates/compose.yaml.j2 b/roles/dooris/templates/compose.yaml.j2 new file mode 100644 index 0000000000..2bb5e825db --- /dev/null +++ b/roles/dooris/templates/compose.yaml.j2 @@ -0,0 +1,17 @@ +--- +services: + dooris: + image: git.hamburg.ccc.de/ccchh/dooris:latest + environment: + DOORIS_OPENID_ISSUER: https://id.hamburg.ccc.de/realms/ccchh/ + DOORIS_OPENID_CLIENT_ID: "{{ dooris__openid_client_id }}" + DOORIS_OPENID_CLIENT_SECRET: "{{ dooris__openid_client_secret }}" + DOORIS_BASE_URL: "https://{{ dooris__hostname }}" + DOORIS_CCUJACK_USER: "{{ dooris__ccujack_user }}" + DOORIS_CCUJACK_PASSWORD: "{{ dooris__ccujack_password }}" + DOORIS_AUTHORIZED_KEYS_FILE: "/srv/state/dooris_authorized_keys" + DOORIS_STATIC_API_TOKENS: "{{ dooris__static_api_token }}" + network_mode: host + restart: unless-stopped + volumes: + - "./state:/srv/state/:rw" diff --git a/resources/z9/dooris/nginx/http_handler.conf b/roles/dooris/templates/nginx/http_handler.conf similarity index 100% rename from resources/z9/dooris/nginx/http_handler.conf rename to roles/dooris/templates/nginx/http_handler.conf diff --git a/resources/z9/dooris/nginx/dooris.ccchh.net.conf b/roles/dooris/templates/nginx/site.conf similarity index 84% rename from resources/z9/dooris/nginx/dooris.ccchh.net.conf rename to roles/dooris/templates/nginx/site.conf index efb5b1f1bb..a5c2b1c1cc 100644 --- a/resources/z9/dooris/nginx/dooris.ccchh.net.conf +++ b/roles/dooris/templates/nginx/site.conf @@ -4,12 +4,12 @@ server { listen [::]:443 ssl http2; listen 443 ssl http2; - server_name dooris.ccchh.net; + server_name {{ dooris__hostname }}; - ssl_certificate /etc/letsencrypt/live/dooris.ccchh.net/fullchain.pem; - ssl_certificate_key /etc/letsencrypt/live/dooris.ccchh.net/privkey.pem; + ssl_certificate /etc/letsencrypt/live/{{ dooris__hostname }}/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/{{ dooris__hostname }}/privkey.pem; # verify chain of trust of OCSP response using Root CA and Intermediate certs - ssl_trusted_certificate /etc/letsencrypt/live/dooris.ccchh.net/chain.pem; + ssl_trusted_certificate /etc/letsencrypt/live/{{ dooris__hostname }}/chain.pem; # HSTS (ngx_http_headers_module is required) (63072000 seconds) add_header Strict-Transport-Security "max-age=63072000" always; diff --git a/roles/dooris/templates/sshd_config b/roles/dooris/templates/sshd_config new file mode 100644 index 0000000000..ea246f33c9 --- /dev/null +++ b/roles/dooris/templates/sshd_config @@ -0,0 +1,6 @@ +# {{ ansible_managed }} + +Match User dooris + AuthorizedKeysFile /ansible_docker_compose/state/dooris_authorized_keys + ForceCommand /ansible_docker_compose/state/ssh-cli + SetEnv DOORIS_SERVER_URL=https://{{ dooris__hostname }} DOORIS_API_TOKEN={{ dooris__static_api_token}} From 6eafc477734aed5fd42a54cd0a077b2a6fa3dbd7 Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Wed, 29 Jul 2026 22:52:13 +0200 Subject: [PATCH 357/417] jitsi dazu MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Erstmal nur der Host, die eigentliche Config muss später passieren --- .sops.yaml | 7 + .../chaosknoten/group_vars/all.sops.yaml | 554 +++++++++--------- .../chaosknoten/host_vars/jitsi.sops.yaml | 190 ++++++ inventories/chaosknoten/hosts.yaml | 6 + 4 files changed, 486 insertions(+), 271 deletions(-) create mode 100644 inventories/chaosknoten/host_vars/jitsi.sops.yaml diff --git a/.sops.yaml b/.sops.yaml index ed5171f85b..c3ceb87523 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -27,6 +27,7 @@ keys: - &host_renovate_ansible_pull_age_key age18qam683rva3ee3wgue7r0ey4ws4jttz4a4dpe3q8kq8lmrp97ezq2cns8d - &host_ccchoir_ansible_pull_age_key age19rg2cuj9smv8nzxmr03azfqe69edhep53dep6kvh83paf08zv58sntm0fg - &host_tickets_ansible_pull_age_key age16znyzvquuy8467gg27mdwdt8k6kcu3fjrvfm6gnl4nmqp8tuvqaspqgcet + - &host_jitsi_ansible_pull_age_key age187zdk64205lx7r83a4m26pfa8hq6khc8sf83k266jasngeq08v3sfqswfg - &host_keycloak_ansible_pull_age_key age1azkgwrcwqhc6flj7gturptpl2uvay6pd94cam4t6yuk2n4wlnsqsj38hca - &host_lists_ansible_pull_age_key age17x20h3m6wgfhereusc224u95ac8aj68fzlkkj5ptvs9c5vlz3usqdu7crq - &host_mumble_ansible_pull_age_key age1wnympe3x8ce8hk87cymmt6wvccs4aes5rhhs44hq0s529v5z4g5sfyphwx @@ -85,6 +86,12 @@ creation_rules: *admin_gpg_keys age: - *host_cloud_ansible_pull_age_key + - path_regex: "inventories/chaosknoten/host_vars/jitsi\\.sops\\..+" + key_groups: + - pgp: + *admin_gpg_keys + age: + - *host_jitsi_ansible_pull_age_key - path_regex: "inventories/chaosknoten/host_vars/keycloak\\.sops\\..+" key_groups: - pgp: diff --git a/inventories/chaosknoten/group_vars/all.sops.yaml b/inventories/chaosknoten/group_vars/all.sops.yaml index dcf4eb2259..ea889ec724 100644 --- a/inventories/chaosknoten/group_vars/all.sops.yaml +++ b/inventories/chaosknoten/group_vars/all.sops.yaml @@ -4,431 +4,443 @@ sops: age: - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSArVmdjZ0ZqeCtBMVZDQXRa - T3hJZXhDZkRYOUpXTHBydWtsSXNnZVZYckFvCnVHWjQ0dXdwWjIzbFpkWmRoa3cx - TlJ5amhrOExBaHowb3BqNjlpaUxPTW8KLS0tIDF3NGZIUWs0aEU0TlcyZmZSa1Z6 - dUdSUVowYUh2bkZZL1F0eVBwekQxbDgKkhdASE+YCLmk1o1/m4thUG0snNX2HIeP - rNLk4ga516qNBCensSpN8N9jNgupOTMbCXHDOL4j3DbMklk4oi/07A== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBoVVJ2alZDczA3cmFObmNw + elUyZU91bDMzNnRMem5GOWJENE9xZ0dPSzJFCkh1Nmc0S3JqWDhaWkxGTGV2c2px + OXlNUnZEaG4rc3YzcGVqaW4zamhZNjAKLS0tIHppODdiMTVhWmMwQ1d1M1ZhczNv + TXRBMjVPL2RlWll6WjhoalBHRXAwQUkKK+1/d+yXLqzKV1lRbPvAGqjnyofh4SCg + wSN4NoVK68tse3+iVmp35Cdjeb9SldDCdCuIXfIqKhU8JrFDNzTWvQ== -----END AGE ENCRYPTED FILE----- recipient: age1ss82zwqkj438re78355p886r89csqrrfmkfp8lrrf8v23nza492qza4ey3 - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYSVJ5S2pZb0c4SlpzV0NI - aXRvUnZDN21KN3NoeVRSMkNFNDVpRTIxV3lBCmRhSHdBYkJZRitndy9vTUhTRzNu - b0RqWkloaFhaOTFuemJES1ZkdlZVZ2sKLS0tIDdvaVgzcE1XcmR3cUJKNzdFSEhV - NzJ5emJtOTNDbDIvUG4rc3BXcGM3SmsKEzinKFMsJwNByhm0Z1fZGqGHuHOzkbcQ - XMRtfnncFH1AY4Ameav0+lqZ0eXyYb+Z1xpCV+V5yQ3mJQnbnnMqMw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBvZkV6S1RoK1JTVDRSdGZL + dDg2dHpadnl3YUhTTGxxYlNiL2c4U2ZzbXlBCkh1SWQ0L2xLNUY3MFpTdjYyanhZ + T2VZTW5SeFE5UHI0aWQ4a21NRjdJWHcKLS0tIGg0NVZXUThvZUlZV0RQYUttN3k3 + WUJkUGdOajV4UmdFeENGdTVRbk8xRjQKlBXdIvpBGybCyh6uEkVcVfLqYJCf6efl + m8etJrcB/u9yQZbqH41Kh3XcgFFqxhXUO8O+c3MzusDhuacgHU0ujA== -----END AGE ENCRYPTED FILE----- recipient: age1gdfhx5hy829uqkw4nwjwlpvl7zqvljguzsnjv0dpwz5q5u7dtf6s90wndt - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwNzFDcC9rcVdaR3kxQnlI - UjhxZXMweFIxRU1lR3ZyY0JIVTlVcmZIYUdrCk5SV1RRT1lqcm5lU2h5c3NvZHBG - ay8xN1NPSkZ1UHhUazJmcnRrZkE3UTQKLS0tIGh2SG9NN1YydjAxTE5CaWNrbnZa - NnpkVjBJNGhCaStiakdMN0JFZFA1MGcKVqrFb6S+InLLQWqC8/RwrrysAf+3KMLJ - 1Y+4u3VdzA3BlU6cPNbeOYvdCnOo/qO6a0omHnrtls8e9ZVFB9Wi/A== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAreFBnWWljRkQ4N2ZTdnNT + aW90SCt4TUJqV0dYOFpZVWJVa1hySnJ4clVVCmI5Q3FteDhyWlV1SWhxcXJkdkpt + UTdHMjUvQTdiUnBRSkVNQ0kyOEw4WUkKLS0tIGdoOUhMMXpxNFJudlZNQXY5ZWdN + MElIWXh2cFh6M0ZrZUhFRFBoMTBocEEKCi/FsHyBghQ6nHYskGLdGngBHyQzIf6c + 7xnt7QT1Pz/jcfFpihiPX82SB1apBaMlnd4KbziLwG/Z/ivH6p6WKw== -----END AGE ENCRYPTED FILE----- recipient: age13nm6hfz66ce4wpn89fye05mag3l3h04etvz6wj7szm3vzrdlfupqhrp3fa - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQaThDV3YySWkwcG1Ucys5 - V3dLZGpKMUV4M29kTU9PWjVDa0E1Y2JpdG5jClZJTk1McWFFU2EvdHdTeXQ5RTIz - bVE1WHJTUG5lc3hjZG05ZkM5OG5QMmsKLS0tIE9qbFJYTmJIeC9NeU9yUFJRZHQr - eiszNk1LQnZyVmhFUGdva2ljSW9ndlUKx1ba5S/jCXTiXIa+6uOzgbarXNYZ8BeQ - PteQmwTk68ic3WiEHi0BTGW/Fx/vVEPAgBAZZd3Ea6gByKTmeRFKIw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAydGtYSkFPRHdobGxzcG8x + ME9Wd3pHcEd3bVhKbXdaWUo4bmtkMUVlNEhnClJqZkljemRoWDdBS2pjMWh6ak45 + a3I4dHhOU0o0MW5qYVZKUnB4QyttVkUKLS0tIFpiMFA4YjV3WjY5V1A1M1hxSXZk + aEVEQ3pxUEZLbENSaGEvWEZJWng5dDQKTx6E0ZpOf9t7EHHEWx70k9AQpj+gdP0Q + 68xpzl36+ezMbWRITCCF75xOXGw0OShSqUqUD+rZv3foXEnCOdF9Zw== -----END AGE ENCRYPTED FILE----- recipient: age1jtusr294t8mzar2qy857v6s329ret9s353y4kuulxwnlyy4dvpjsvyl67m - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBad0dONG0xaXVzSEx0bVc2 - Sm5Wc1h0cXdBL00yTUpSWHNxWUczdDdibEFBCnAxekx6dkJJNWFjMVlILzZNRkdh - dDRWVFovVitsZVI5WnlBanZGZU9yRGcKLS0tIE9zM0ltT3h3RGZnNDB0QmVCVEpD - di9PWXpLc0ZCK28wL1V3NUNNN285VzQKqY3LelUaCtWM9vl0eLEVgtn65+Dfch1o - IJssAkB9pSSyUeLAs9hrFdLYjwKG+S8XB2Suw9Y7XXdYqE7dSLMiEw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4bGQ3dmNBWUNSZ2QwcjVw + YXpnS24yQ2dSZUJUYWxVaHVIUzhLTHdkSlNVCkkvRzNlZHdDeG5raytORGYvYUlI + NkFkZDdBTGhqR3FJeTQrTFNHUldRanMKLS0tIGhHTXJsWTk1bVQyYzh0ZUJHd0E1 + aDJ0NWVlcDBmVS9Td2RRcFFVVTcrOG8KkTR+U2iLvxSDHG2wfjP5I0ASeFz5Y1WI + yp97JIHDgnVAdLhK+52kexyI9azBpi8kzFdBYW6SGMfilxoKj+fJdQ== -----END AGE ENCRYPTED FILE----- recipient: age1a27euccw8j23wec76ls8vmzp7mntfcn4v8tkyegmg8alzfhk3suqwm6vgv - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZQXlLT2Z1L29zUzgwY0tW - RHYycmtyM21BMjd5QUNvQUV0TkRsWFh2QlNJCmprSE9lSnh0Vmhkb0hSenNIamlC - RTBlTFVvUkVMejBobXlvTlg2Wm5TY2cKLS0tIDdPK0VlckcweVdCeWdQbTJoMDE5 - RDJNYkUxZWZhWnptT2U5a1pYR0FtaUkKqhBidpla+0NW7dq2FnsYUoW4T4A8fmFy - cUMWuQBYM2QAxZRguyFXJ3dkUAxo7mIhUjKQuTIMOCRTyxqRlTW4SA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSWFNBNjBHRkpBU2JGcGM3 + MGVFQ0lHeFllZEpHQkhmNjcydlh1M3hnNmx3Ck8zN0pJY28xd2NXVEhyeG83VDdm + YzdXaDUzVHRmaFNvTS93c0tVZXozRzgKLS0tIGtvU0lEcXpXd2hUQ3ZBQnBSOWpP + SVpRaFc0dW01UGJqVVhOMHN5cW1iVTgKsnKV8t6Pamlli1y+rwKr5vswLNM2QPve + zoz3t/G4uK7IyezBjdW58sfBxZ/qAivT1GALu4BU/zaXWhyzd9eIew== -----END AGE ENCRYPTED FILE----- recipient: age133wy6sxhgx3kkwxecra6xf9ey2uhnvtjpgwawwfmpvz0jpd0s5dqe385u3 - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBNZDFQMTVPb1F1aGo1VE1O - bE1IUitZRkVMSlNmclZHMC9qaWJodUEwV1IwCitzWTRKeEpodVpwaE5UbnkvTExC - Z3VYYTlqWndEOXM0MkFTZDRpOERFVlEKLS0tIEV2RGszU29MUCtONzFsWG1aZDZJ - WDhMeFdqcVZFWHlVVDRtbmErMUtlS0EKkrK7s5d8GUqX9PvOE3clrqoHVpmuXbai - dm3Bv+pUbNMjHFlx4sXVAPVlWahN0noo4fy69J/m6F7/DnuoDHEq3g== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaTkhvY1FJQU8xTTdZU1Zy + Q0pna09WNFU5VDh5Q0xERWpoeG9QVFRVaW1vClZrbEx3VkRyNzdCUWdGYXNmUHhZ + RElpY1VZa1J3WWRIZk5CRXMxVGx3WDAKLS0tIEZRQXVFZFZiQURnL1pOQUVlTzZU + Q1Arakd1bUFOcjB6emNjdEFNcE9EQVkKak++y0Qu3ndgHAlmTL1ijNe/iU1STXcF + 0sy3x3kuAego2KIuPj9htXcuZs5ojfDyjvGGCHI9zu6Y4Ax3b+6FVA== -----END AGE ENCRYPTED FILE----- recipient: age1na0nh9ndnr9cxpnlvstrxskr4fxf4spnkw48ufl7m43f98y40y7shhnvgd - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBiYUM1a1NlVmRlZGJvNld5 - NWJMckRXVE11RzRmdWVETXhwYW5SdCtzRUU0ClZJQm5LL2swT21TaUYySnRuNHFz - Z0JHUTdRNkwrRkdJNGVzK21uZzJ4MHMKLS0tICtEcGI2b2xkY3RKaDNQVmN4OTQ3 - VXBrUjQ0Mjl3czBXbFd1WE9LN2U0WGcK1BvTUqw/41CzYUbaJz8C4q4hZ23TFOtd - g1NuSfsJm1BHN8vPk0QUOb+jw7J5YyFplFLHTFIf6kslMXP4WNc1Rw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKbUVPcGx0aEtJTTNrUnRv + K2RvV3lGeU9wZEc4NXUzK3lmWFpzVWluNFZrCktIQzl2cW1WOEx1L3JPdWxYb1Jl + Y2lxZHgwVEVDYVRmcVR5ZldEK3BXVncKLS0tIEwyVDYvakRjaFB3MVhHL2ZXcTQw + cjhScWVvc09TWWxQaU94SE5KaGQzZzAKGZJZMdiORX5YHNS++d1m95+cgbF99Xqi + 1pijSUmwMcGKn8nsD+rJRRMpgRmOEDvtO9XPXHsGnXyRLeHB8mk2VQ== -----END AGE ENCRYPTED FILE----- recipient: age1sqs05anv4acculyap35e6vehdxw3g6ycwnvh6hsuv8u33re984zsnqfvqv - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGOGlPOUVlaU5JVWl0TlJL - SVFIT0gxdGhTVENzZTJiMEtkZnpMVHFCdUNFClF6cU8rdENSODdQNzd0MFV2TGFW - bHM5YjJJeU1UMVp2WUpCL0U0T0NCNHcKLS0tIGpKN2prUEF6QndiQkk4RExSRUtx - OFg3QUFjOERJb29wOTd2dXpLYW11c0EKK/R3LPiTDBvFRM3thWaaepKeOnF3Zt7u - 6IGcJPDuo6uHVcUMS7qE6qBWNH8ZBtMtNQio+BHx4s6G5DR2XszdBA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBIYTM0WVZpOFdDUFQ0ZFgv + NHY1dEI2aTlSRjNMUlZWUWh5Y2IvUGdjeTJrClM2OEcycFdFY2tmemRGRTBXN09I + SUtlZ21ud2c2eEtadjRsVGhIdDZqVjgKLS0tIHNVWkhYV2xqWklnRFdnYzRqci9a + bVFXTnVaS0twbkIvS2l5QVZQbmJJNFUKOtcm6C+vNlL2hfCdHcH7/jCKtBemDmyS + d7XXiZrROOVYsDTQ/igxlvKkOBkGRM3HRjoYXBq1U2AnXu1pB3FNHA== -----END AGE ENCRYPTED FILE----- recipient: age18qam683rva3ee3wgue7r0ey4ws4jttz4a4dpe3q8kq8lmrp97ezq2cns8d - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB5bW44eElOWEs4NlV5am02 - d0ZNemdBRXBURmd1ckVxelQ1UkJadTNxUFY4CkdRa05vSzlCeFFDTjFna3RoQllo - aThrNXB1elhSQWUxd3QxdUZnbUlmSnMKLS0tIGdWZ2loUENBTmZXc1R2aWdyMEsv - cW8wLzNlUjYyazVxZ3ZrZ0RpUGZ6TkkK3a9IoujcGL2FiOf3zGCF4KvUfGeh04q1 - QQR+xlzqe6iMepeD0fPZvYedc1Yo2wXbWS/j7ehJh1jnWcB57NSsew== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKMTdNZkhkK0VoN0hidWd4 + a3BGZXpSMkNtNVNEMnNYQURJUU5sYXljM25rCk5ObWErL1J1NkhodWZ2bE93VHpD + MEtscnY2V0JTbGhBY08xc3ZNSDRzNE0KLS0tIGUwRGZ2WTNuVnlkY0k5NHlGalFw + Rk9pNmx2TFJ3elBVSUQwaDY5bStDMzgKJjf0twIYrPxdnO0x1fNG/3UAUlakDCJb + IsukAK+uFV0pwCPSZnCSIH0nZkIVJbM5mmMuVn5T6pRaIQU1SEhslQ== -----END AGE ENCRYPTED FILE----- recipient: age19rg2cuj9smv8nzxmr03azfqe69edhep53dep6kvh83paf08zv58sntm0fg - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTSTR0WStKTmRHMHJiYzhn - d2pjTmVzVVhtZHJncHZWZUVWOU9NTjNoZkJZClQxRVpudnE1bWNUV005TUpCU2Rq - RHhRc1IwMHVsZzhNd1JNeDRRM3VlbU0KLS0tIGQvdUEzUlEyRFl5aHM4V0daR3Bn - M3AvKzRKZ3VzMU5oekRiZjRnUWlwa00KoajoQ1ZSRoUL38OzNEG6TX923corR3NX - QRm1o1Qj4WPwuqY6cFXVnnvrU460qkxDGyrqsl9VpfQMiDSW1mdVUw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6L0x6Ym93Z1puQTAydWkr + V29FMUZFV3czdzJtcWM3S1plLzRZdExuajBJClJyRm5LRjhSbDRCWGdOOHRGWUNL + QklrZ0FwaGtucW02clFkbTBkMDdILzgKLS0tIGZQVHRaWlBDc0VSWDhhUkdBS2JM + ekNhYVNxalZ1NHhvTm1ZWVNDbU1uSkUKrFmtW5NKNq839kwVzTjIZfRq676hphG8 + h7d1fpJrP/4wDfoDB66shFIpkYrjvxnEtjaaTN/r3JDgMYXKa7fkrw== -----END AGE ENCRYPTED FILE----- recipient: age16znyzvquuy8467gg27mdwdt8k6kcu3fjrvfm6gnl4nmqp8tuvqaspqgcet - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBZ2NvN3dOb1FCUlhKcFg5 - OUhGV2x2TCtuVkY5VWZMbHNFTW1wU2pSdWlVCndYczJRanhPZVhONWxLRkREdzJP - UnlZQklhejJrVkRudzh3YXpqZXpVV0EKLS0tIFUxWWducE9zcFlLWEdDQ2orbXQv - NDlCZmFsbFlYZ2VockpvdVlIU1BmRTAK8BQSeOPpe/CD37W8l9zc7oZikpDV1jE8 - cU9m1jnN2qE0FnZTRLITQhPJhYSj/GIGmCq1HTsPNA7K1AyJsg5vCA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDQUpGZ2gvTGxZSXhvVTV6 + dkZ3d1Z3VWhpVU00TU9lYjlsYXk3WENGK3hZClhnaEw3NHcrMnZHM2ZWbE9ScXo5 + dVpkMDEwakZkUWpUOW1NaVBLd1prN3cKLS0tIGlZTSs5YndnWmc5emtjQVZxa2J0 + Um5GWXowcVB4S3BDTm44RzQyY1RRcFUKRqXY4eiHHNtceWsVO8PLOc/40E91BLny + 9yLefENGtS2mlyY9fYOTT4ShPX3aNI6kZ/ZlBCg7xzWzTpMEX5LLHg== + -----END AGE ENCRYPTED FILE----- + recipient: age187zdk64205lx7r83a4m26pfa8hq6khc8sf83k266jasngeq08v3sfqswfg + - enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6bHhYeG85VWZyRjBhTUN5 + WGZJYXlOY1JqWmdlY25Pb2I5b3E1TlBxQVRnCkVrWTVnWFlLMUtCSU5xdEMvamJD + UzkwQkNLWWxTclpKTGYrVHhhUFdiZE0KLS0tIFd2T0wrbDhYMFhjWFJIUTVnalV5 + Mk44cVRDa2oyS25SVVl4REQxZjRqUEEK0+KOVbQ8GzJ0EoWuDW3o1cco8WrAOYsq + bjRmucq7poi00o1SS2XPrU97kOBBBHAJOfSc3lfIgvYcqrH3TmisJA== -----END AGE ENCRYPTED FILE----- recipient: age1azkgwrcwqhc6flj7gturptpl2uvay6pd94cam4t6yuk2n4wlnsqsj38hca - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBmQ0xLQjZLdnd6TmlZNW1N - SWJOU1RabDJ1TGZNNjM4UnhlVDdEWkNwZW5nCmV5WWFUM01YSTRRaU8zOUlRZFpz - Ritjb09LemZNcjUyRnQ0c2FGTUpWajgKLS0tIGFvWTU4NDRMbzgrRTVGaGExV3Jr - c0Q2NlhqYyt2Sy9vVHNVZTRIZzVSZFEKBagWqZgGM7L/4OvX7k0Mb16uDdxOneXU - V4IkEFxmVGavpUNWir77VnIX7WUThAmF4B2fhXB+qs0qlea4JbG7Tw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBuZmFkTzc3dVNnL0dDbVEz + MEREK3VmekFiWHhRYVV1MFZ0VncvUGRzalJnCnJUYlRmUDRrZ3dMcXRYb081Qmgz + TllCQ2NocHAwTUlzUDhId1k4K0o4WUkKLS0tIFNLVmxQRnQ3UHpNdkErTHg1RmYz + YVUvUnhENloxVDFrRzJnR1pMNkpuTnMKsH9U8Crds2S7KSb4qG7CgvNnVmykm/z0 + QLkm27mTJ9JTejYmMTjuGnL50ZEZXMcQnnsxJRR3ASgG/xEYkxiCAQ== -----END AGE ENCRYPTED FILE----- recipient: age17x20h3m6wgfhereusc224u95ac8aj68fzlkkj5ptvs9c5vlz3usqdu7crq - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAvSFJmaDUxT0Z1amN2SGR6 - dHhPUFVCdTk2cVlUYlp2KzgxZEY4dk1sN0dRCnAzWURSUkdia1c4aTZlWUFzUENC - aG9nUEVlaGdHdU9MU0VJMVF5ZTBSL0kKLS0tIEE4ZEZmMVhqZWdQNnBzNVRJNTlF - cDhJaStiRzlOOFQwc2h6QkRrUGQrTlEKHTekoVeaGKeZL9k7FKroHReRuQwBeHnG - Qjbib+9Qk17xd11q/33Lb1srn3FnaaLCoQhl+YufI67jdfluqVl5UQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3VkZQdUZjVjhDZkErKzJG + cEI4bVpjdEVuS2pvMnRkbzhCSlFKbGRYTVJRClQ1aFF6b3BwazVjWFViWEFNb3Na + K1JpLzhsajZ6N005RGNDVDkvbk1udkkKLS0tIHJuUmpGVjgxNnFmN3JSUUtoWklK + MllEWXFyaFBPRWJkUHdCclAwK05aMkUKDga1U5j05kF/cszWYUH/zjOpfgdJfjc0 + 8f9B1lC1OJl+CYILCtlbAHPaXi/KTJQ/damcLTC2ljx6Ees0N6DTiw== -----END AGE ENCRYPTED FILE----- recipient: age1wnympe3x8ce8hk87cymmt6wvccs4aes5rhhs44hq0s529v5z4g5sfyphwx - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBUclY4MDRZTjNDSTRLd3hn - Tmo0ZThiZkVuWSsxTTB1c1hyWXovV0kybmo4CjB4Vjd5R0NoNjd3RHhyb1NJaWpH - cHVQYm1SL2ZPLythS3drUkFBcHVmQ2cKLS0tIFhrdFRMOHZ1L3hWRmswZzNLOUQv - NDFxMjJBZzFtRFRZSm5QeER4eUdVcGcK5sYxXaa0VJrbPDlns9AT3qOlI+DrRtza - b9bWBYrN2nFMNud4vZHyTdHXp/VZj/x5Ezo29ZHI+QDXOG+CopIL+g== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBEMnE2dDFMclJocG9LT2F0 + dUJTaFhtcjdwbW5ReWxiR3lTaVR3MjI1cEdnCjdFeEJWakUwVFh4c0NQNTZCVVc2 + UHR3dUhkS25ycFRwYmhIQ0RNK3pTazQKLS0tIHVkMlNPb0NLOUtVdU43NzZNbnVq + dHorRkhLRTNTS052RXZQYTUzR1NMWTQKz+O1FCYwhnhY+BwmgvkRoibs88pcify3 + ltsgCZLQ7WmxqEauLPseETg+ZTPSi6ac4DVT62ULSXd7xYm9Tyh67w== -----END AGE ENCRYPTED FILE----- recipient: age172pk7lyc6p4ewy0f2h6pau5d5sz6z8cq66hm4u4tpzx3an496a2sljx7x5 - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZejZjbVBuTXN3TG9SWGZ5 - cmdYZE0wbkpTVFAzd2dFQnRmb3krMHcwdEVjCktoMURmYkxMbk9iRFVTSnVMc3hl - QzVQK0lzdEdML0lkYXdqLzVOY1cxUEUKLS0tIFlWSDNTcWlJdVFsMHVYZnRZU2pP - a3YxQUhZcGE2UEpwWWRzVTVmWmVHbUkKZyuOLv3ri9WPN3gwuTesRr01plmgN+8k - fdfgPALn/peSFeuG+2mDBZfqaYphZvMq+l6USkbenkzyMh7o4pUNfQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTRlNPWnZnaHJKRW9abnJQ + ZEl0VXQ3WUtSUURwNlZZZkk0TU12NXVIWXhFCmNFTU1WbFVlZW5VSDdENlMvd053 + K2VuTm02Wml4OHFNSUpVREdBa1U2dUEKLS0tIDNOL2l1NmFRRUdaMWd2MXp0WmU1 + NWRMcm1oSHo3TDA4dkI2MDYybXFJOVEKRdwJgpxIvNQCwpKoS/BZ7KC/iOiitgFt + Px/j0CjZS+d6pO/IH4nF5MQS5YEY55ZPi4w6Mmtv5X8U+TRysdp/Fg== -----END AGE ENCRYPTED FILE----- recipient: age1p7pxgq5kwcpdkhkh3qq4pvnltrdk4gwf60hdhv8ka0mdxmgnjepqyleyen - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBPQ2lIMDVIbkZJNEhvanNy - T2pLNjk2dXA2VmpNc29PTVFEcE9DbC9saUI0CkVJanlBMmpHN1ZtL1BnTUVPUnZI - U1VUcGpyUWtQZ2FJK3JxeEsxL2J3UjQKLS0tIEdxUmZrdXpDK1o0VjN3YXlqdGpH - QW10WnJrd2d0WlBlK2JIbWZqNXZVYWsKg/a9TdHoCkmkcnZnyvXc+sCxZsQVpJnh - R9r+2qmmQZDtdlnpPcemQhoAHDLdU4AkQgKNThX5IY74v2LhJgrPAg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMVnZBQXY4aUpyZENCdzVU + aU5odDdyYU9zUC9pYU1yL1RFYWRUL20yM0VnCjF2UWFTakl4eUtxdHZaU0hPWkpq + MDI4eGRiTmZCVmpGNnNaYnpmR1J6S3MKLS0tIGYrY2NwMTdrK1V1Z1N0UjA5OGJK + Q2RTc3Y3N0U3R2hmbTNpdjFpc3VBMmcKFQfeS+nqI54NxZLb698Am6lcg+jds7oJ + U29LEQeQ6OdmPGvHMOs9AEJnf4W9NqKJ4MRXpGEMYW6pDljLw30LfA== -----END AGE ENCRYPTED FILE----- recipient: age1sv7uhpnk9d3u3je9zzvlux0kd83f627aclpamnz2h3ksg599838qjgrvqs - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBvRUlzMmFDN0lNbXNIOHBD - Y2syV3FheTVVZ08yUFkzenY0dytMckFrT3pnCjRiZkErOGtYdVZUbEpBdm84RklC - OEgycEMyZjgyRVhmMEtoc1hOVnIxMkkKLS0tIG9ZR29BaEcxTUpvM1g0KzF2N0tp - cndqYi9aakczMWV0R3RIbmZMMjdBRHcKh9bEatt+Of89OK2v5zigcLTrLg2Od4fb - Wb8DR3ek8ysfcHCDIfAce/bBRX4nKbhZGB/2XYv7qJ/XVCaYWprKJA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjYnB4WFM5YURjYlVEcGE2 + WnBZc0R6U3NtVEFwK0ZoNzJuNmMvaEZxVG5RCmdQeEhLRzVIbU5RL0FDYU1VNHZz + cU9XOXhYVG1QTm9UemtmZnFBc21GMUUKLS0tIDE4ejRQL1Y1TVhyMGNuQTZ1Wmh0 + QStlWmtDb1dsTnR6OE1ua210Ni9JUG8K1p9gizCfOmlwVRnCAWhPa8L9DKjhcQnt + obP6vGH8pvjyB/xEHkG1tDebmbTGA7Alte+Qcf25iwXvCSDPXnfaZA== -----END AGE ENCRYPTED FILE----- recipient: age1dkecypmfuj0tcm2cz8vnvq5drpu2ddhgnfkzxvscs7m4e79gpseqyhr9pg - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGOHdwUWhHODJHeThNTzdp - OTZ2b0ZxZlVIbHRNUExXS2lnaldrVTFMT21ZCnJiTk5UVlF1dFJndE5qL3FUZkUy - UzdIQlJuNlFNSThTYjRIN1V4QUtEbTgKLS0tIC9rejBHRmJqelNrcFFpb3M3OXBw - L3RmNVdERmdtaUlOQTBZbFFHWU1BY0kKyurS+2zWqwi9RpG7N+0Wpc+ubFpLprin - 59q4E5PXsUDZ91R1MqbHbf8yjb8/I3vLn6QjUK4KPE/9CQCp2pNw1Q== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSArdjFtU1NqekZrd1JTNWJE + bFFCR25RL0RkTnhDSFJCdFR5UXZRc3ZqQm1jCjNiRXVzNGJ6N3VRaHYzMVo0cWRh + cDVvUTBNYWNSbzZTQ2hvRStFbDAyR3cKLS0tIGVnOFVBSGNGZDdzTnlQc1N3SzlH + Tm5pNjV3NmpKMzk2UnhLTnZ0NlhzNmMKc8mwe+7mXGRnLQzpsQ/QoE5CoNZ1lhGa + JlOVGG4da45q75j8zPK2GsMih/r6QukHq55RmIbTnoR7HWS8IU46ZQ== -----END AGE ENCRYPTED FILE----- recipient: age1mdtnk78aeqnwqadjqje5pfha04wu92d3ecchyqajjmy434kwq98qksq2wa - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4MXFHc2VtMzdFbXUzd0NO - SlIxQ3FsSjZMT3UwMjkwN3JBVURPNHdxSnhRCmxINTF5N1dzL2V3c2dSemxpWkto - ZmE1a0MzWEFwb0REdzBJQ2Q5NkRyaW8KLS0tIDBGOU80aFExd0lHS014OUlJMldF - Y0I2RUhOVFNDMVRiRE9kTU9xUklBZG8KuNx5K+rdNXkfhRgn66VGLc2yfC9YuwhB - N1XaxkKu71rJ5ZsuCoFtzqSMyh4MManh9CXIwlMNAok7VfU1qtmtBw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAvM0xTK1pjbzBSSTJCYXlM + UWFPbk1NSGVNTHFmaHBtdE9hRjlVeHhHaW00CmxhY1lHZkdwL1pQVzZXQXhOSWF6 + Y0RDNUgrVUpjSC92OFRCVi8zSnlWcFkKLS0tIC9DYUFkNmJqcjcvcUpNYkEvTmND + L1ljUTQzLy8zdk1NTE5hcjZjcEN5eVkKQcfN+gGsvf74xAdH+vXC2QsdBSteEN09 + qIqOkSgf817GXr2iQEfomVKGrXY2I2f5K54MnQo1lE63zdDMMCqUMQ== -----END AGE ENCRYPTED FILE----- recipient: age16pxqxdj25xz6w200sf8duc62vyk0xkhzc7y63nyhg29sm077vp8qy4sywv - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBnRElTWUV1RXd1bGxSZzI4 - b0l6aUsxa1EyTW0vTmtyOGlRazE3alZXaFFNCjhQNUo5Y3R3ZHVPbnVrUEpKN1g2 - MVRzVXpwWjd5Y1R1VENLVUtlNnAvWWcKLS0tIHRualVOd0g4cE40UEpseDFEeW9I - aGdBRW1TazZZVlE0cXlZSzNrTTQyZ0kKZdUpkVXkeAkHkIv7W4/ZQVU+uS2th92P - e78iITFOJlrw2L3ZiAh5asnv3ee1ZH62eKLJVnCrEprmR+hhlUVhmQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1aUJ1cnhFUE44TExwdGxt + clc0aXdXVk9rQlU2Ly9ZdTVzd3RxVEV3Q1NvCjZaSnYzeTFrZ09ld1hrRkFGd0d2 + YkJ4aDZuWEVadkFkaVo1bjJvZStZQWsKLS0tIFN5ZFBPRFZtenFQVFcrVGFvdXhR + d3dCbXpuaFdGNk9kZE9YRGJZVWUrVGMKczM2IKt8ZmDTt6LDB4cGLy2DmL/C1YkP + QKLpGfh5qTjTH2pLnuAp7weswBDudmMsDAu7lHRb47bmmM9e4fw4mQ== -----END AGE ENCRYPTED FILE----- recipient: age1hv7m3xypesdfm0dfzwgctde8v307g9xaunnfu2687y0lagcs5q7s3eg0kj - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA1TmlwblRNS3ZiaWQ5anVj - UFBVYlcyL2I1Z3VZckRxV3h0WWxPa3VtMWkwClJ6aXJnQnNQeEtPZFdKYkM1THpH - V2h5S0tXenZMZWUydVlld3hhS2cvQlEKLS0tIHZMbjVJVXF5bE80SU5JbEF1K2I4 - Y1F2NWdia3MyeTVNZFhNWkZlSS9aSXcK9bCrSomL8gY54AgeT6mUr4vZ8VCt8S9K - yEMGDls04Ab6a5U4PAM2ytzyqilJ6agE7t5Tfpz1PvdL5lTTQrx5hQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtbTNuck41dGpaWmJJMHJY + Mi9MSW05WS85Mm93aHpzbFZIUG5YYXYvUmtRClV2Y1Q0bXpqUWw5c2FYaGFDczI0 + NGFqeGFEZU5sdUUzamp4ZHhxMlp3L0UKLS0tIC9IeEM1dTVaZWcyOGFaOG9DUjhh + RUhVTnZHSDlNMHVQejBjbTB6enM5L1kKZmhaSusSFr8wI7vczB62hiag+qBhDclx + ixbnbQh/OwIe5y3XsslKBitDyA1uc0Z+qXtEs0Gw9Wkl9mErhPHHsA== -----END AGE ENCRYPTED FILE----- recipient: age1522f3qzddm82w63j7ajdkr0khvced6ht7tzp3grvp0j3hewtvesssr5kpf - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6ZHQ2R0Q0UWhwbFdNOUFh - S2xPRUJ6ZkpoVy9ucTlHb0JUTGZ0a1dXSTNvCjZFZ2RLUEdUWTV3QUtZY3YwVjhj - bmpib0VoMEhVZ0Jrb2k2WmQ0SGtDb2sKLS0tIGxYclJ5cVBic01oRGkwbGpkUW0x - T05lT1M4RlN3Y3AvUURyTEwxUDRkUkkKLJ76ju/Mqpc0MS4J5hk+hEOONA6ignmt - nh34vnEKBg20p6CfsrmJf3yAnXuEeWsERm5k5KsGzbxzWV7I++mGlg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxak43bkRuUFVCZXkzaGFZ + QWhDcXNhRlJBTEVESUJvN2hQSzRzdTZ3d1NFCkxsYVZRT29iMkRJT2R5TzRCejNu + ZDE1WFhzK0F2SlJvd2hybXhpUTh2KzgKLS0tIHh0cnFzTmozT1Y1SVdoTHZRMFdu + aDEyeEorSEtPMlJrU3ZEN2w0THBCdWMKahwcQxIvwtGoFD5JHzDTMOoxxfnKI20c + EFfFSEZgz9TCoSOBVYCkFbBepEad8ptwY4/RbjZKUTPqyizPheFFRg== -----END AGE ENCRYPTED FILE----- recipient: age18zgt4y2sd75hxnpe333zz39048ctxpr0q8a3uqh3jajjkyawsdrq8yg5ve - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMOU9YVVZIZDRHejd4aHpO - azZyOE10bmFJT2dNTWxYSFkybE9NS2pkYlNNCkl2ekczYW40TVhjNXBGOUdlQTRT - aTlaeWcxMlBPS0h0NXNiWDlJQXZMR1kKLS0tIDZBb2pUb0J2MnA2SlFsNTJYdjA5 - a1BwNHRma001NFd4YzJ4OUFteFlvM0UK0tVTZmK1h6yC+aVwg6Pr/y6uaB12wj8B - oJx+p9Ty9NTSM5THBNt6paR+xHzCP1kRYNulV4PABq0IsGSpxFk+wQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB4UUZRaktjRDNqYzVhTVpV + SlhyM1FFdFdjYVBrZmwreXFWTEpmcFN5MFhnCjU0QmJvUjlQbmtLbXEraG5RM1kv + S29sL3kzSlZSREFnS3QrTlUxUDNndUUKLS0tIEd4NU94YU5aL2J4T0tyMHdyRml4 + WXlxYUpKdFdZQkRwRkowWHdlK0t1WVUK9m6fSMHLYeC5snlqOYQhMss1TcacGg72 + 3NQPrnydz+2b7l2PJrqvIcq4EF8qDvYYTuafdn2CV1BoJeX01UAADg== -----END AGE ENCRYPTED FILE----- recipient: age1az0k6cadssk6r8qcqxfr8cyu5mndy59pwt8yqq6w065ew6au4ezsmg2vkf - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IG1sa2VtNzY4eDI1NTE5IDNXK2UrZlFH - a2tGRTMzdXJKWXhOeFo4QWdwV1A1Z1hnMHJ4VTlPMlN5Si9IS2JQQkxHeGFOdVB5 - Y1pwOG8wK0V6OGZjcmRNalFJaGczbGozV2djZGw2Z2hkN21WeTlPSEpFUkl3RXJU - OXloNktubldBa0g0ckptSzVBTmg5OW95cGlGOGlBTG92YldDV3Q1T3RhN0RudXN2 - UzFUZjhtaFlGSWtLd3ZPL2NKeUNYMWNYcDBRQWtSbE9FTnUwaFRIQnRSVmczT3Yx - alNOWU5UQXVWNGtTaFZxbE95dTFOOC9mMFhwUTJ1N0FSR252VHhrNGRYRjlXMWxT - RUsraWhXK0lhdHo1bzZDRy9mellza1RRNUtyYVkwT2doUWhBeEpvTDdKZS9WWHNs - U2QyN1RaWitoUDJkY2d4SysvOEhGR3NnY3A1OXhVR1NhdUJLdWJ3bGkvdnNPZERV - OEdjbW5FNEpSOEJRTWFtem4zU2x2bGp2V3lOUStIMU9ick1zZEQ4V0N1QUM2UHB0 - TzVGZ1pKZHM4c01FblM3N1pnV2NENmltVVNISEI1bzZTRE9LUW9oQk5qMkJ4Z2Vt - NmZHWWREKyt0a3NJSXo3VFBiQWJWSXQvY0F5bCt5aktGTTJTc1R1eEpCSjRwRDhS - U0hpQ3BOT3g5NXFMSVZsQWphN0IwSjJkOVhHbHlhMHdzSFcxQW0wQUJEbWlZYlNk - di9HVlYzUVZDMmNzSnRLOUk3OC94Yk5GK0lESGduRDZRc2JabHk5ZFd5cDZrL3FC - eFBSQWU5NE9uR05IeDNrQkJOMW4zUjlyaWdPYXlqMitpNGJ5YzNZK0NISGx2Vmxi - VXNOc0JSMUxuSUVVR1NBTE9kZ2NvUEloTW5Mem82T0NPVHFVU0Qzci8zWDdaWkEz - bG5zdnZZNUNITXM2K1gyektYdTkxZHhXU2tmd2tLVTN1NUt2WGR5aDh0Z2U0dVhU - Ynh6VUNuemx0ejMycnRIWVZxdzBzc0krV1RyMjlveUpGdnZQb1RSbVdBY3R6ZkM3 - RUFXNFVYR0pScU5NRjNIUTFkeDZFKzhtTFlNdVpzZDBSeHRuaDlWNHYybW5qV2J1 - bm1Zd0tPZGxRRXRTVjZrN3FLZDlJL3B3Tk5iT1pUbmg3SU5xSEdqeWNRZmQxS09s - MTNhZVBZSmoweCtkVEhEQzlnVlFtWk9xVHMwWngwck1xWU9hL2d4V1VvK0l4RURQ - QnpzWUhnZjFOa1JvZWJFVklJd0dma0diYzBmVk9YZlZURmo0U3MvRVJOek1iTzh4 - SVN0UkdQYkx3YWZMdnVibklHRW5RdGhIK3RqZHBLZ3drWEdaNDg0cmVhdkhocCtX - aGVQQVlFOGdkdHhXZkZ0YkZYaWFXR2hkK3M4dy9GOUZSQmhDVk5RUmpTSStRTWxt - aTNsNXJyL3g1ZjhzLy9RdkwzdER5YmFSWnFDV0ZDZCtTV2V6RktXNHRtbWVPc2ha - SzdSRGNVRWJTTG5KVm5LZHRzRFdrMGwyRWk4d0hpN1RoNFRFUnM5ZnN6Z040dXNT - ZkdqQUR0MGRMUlV3cmxmUTJxRTZVVXF0YWtOUThibEhLM2FVcXJqeUNDOUtVY3M5 - ajNJQ1paRzhvM01tZElqcjFsQnFtQkJTaDFIMFA2MVZQNjBYZnpWN0FJMkZRcXVr - WW1uQUJtUTNDcVo5Mm9kYmxSUGJqd0thdGV3ZVlxMS9SNVg2eGhMRm1UaGlWekRu - bFJkaGNFbytPb2REZ3JUWlp4NjhxbU4wTzlTOHN2TzV1blJCMTNTNnFuWThqdXds - K094Q3M3UGE5MVZyUVYvZDNrZ3Jmbm4wNkJMS3JqR1lKSWpCZ2IvUk9ZRWFmc0Z0 - b2xVcm5ZK2NtbmVscUxOM3laZnBUYlRLSnR5L1g4RW1zMWxYQmFjZm13YloxNjM4 - bXV4ZllJdG16UDR3bTY4UWVJeVZOSjArU2pGS2J5elRJVXNCdm95bTFsenNLQQoz - MFlJelE3N2gyS2JPZXNpOGFTMWpiZWRvSWhsMUJxSXh3VytBZElQaTZnCi0tLSBN - cnNUVHIrZWd5THhhaFpQZmRQVUpEMytJOTFHeG5La1lBc3Fpb01XNE5zCsXR7ibA - urENnyvOwCOgW9OosPDqhjsC1wElMtNf9W/Th+20h8S2ApNTMbINUbc/7KPZpIKT - KQKilX08+r7RAw4= + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IG1sa2VtNzY4eDI1NTE5IHBCV2lMT09o + ZVVCWjhnVXNzcmphMllDYzNhVFhLTTVqTVVoUm83ZnZka2dISWdDMWNydVlkbWJy + TmZJL3ZtL1c0ZVhqRkthUFk5aTlJK2F5SXJmNkVtSnEya2UzVzhkNkVkY1lTME80 + b01xcVQzYXhvZmNyQkJmM2Q4anFqNnhnMXpUcG5sZVVXQWtzRTFBTWkwRkNiUEpG + L2EvbmdNWXhuamVkYWdJZ0Uva0NkczhWZXFEcEttNlU1bEU3cnF1REFhWmdXMWNu + cXhJUmY4U0xPaXViS3lzcElBYUl1OWFnR0ZjUzVNN2NneXMrSjk3VzAwSXBEMmM1 + cjM2UTFuZWx1bTlJZXpURDRkZ09RZkR2dTlFSUFJN0FQYkloUXUybjIyWUhxNEo1 + TG9xQzJSZzdmRHY3dkRCUG51RGI0WUpvUU4zbjRvRkhUaUlYVWR1bEN1RFpDWmtZ + bXNhUm5pUENXdmhmZ2xrQzVTRmlnTU9Rdm5Fc2hvUjM4NnprblFacTdwTmRwUjlZ + ZUFuNTJGaE0vMXpuZm1qVnFOb1YrQ1l0S3g1T3VFSE1iR0tkWFBZT2RSWXpWM1pU + NWxFeVhVOGZHTjRsZ0hWbzJld05COWRXRlNUMklxZnN6c0tESHFCUktaa20zQVJt + ZGw5SDlQcGVKMnYyM0F3ajhoM21mVU5EL0FEbjZTMU9hR3pNNVgzdlRBdDgvaVgv + RXRFcnFiRWQ3VkwzbEtLQjQydlRJa2VFYWhqYkxiYU9FTGx1bzlQZVZKVURGK2dP + N3dvNFpHOC9QeW1oaFFoQnhQYXRlWjM1TTd5UkY2bVNkdTd5M0FhVTYxL2FHMndL + Z3A3YVNlWFhsL2hUQVUrTnNyVUhFRzdDakN3SUNCakVNeUNCMUpaQ3NFZTVOa0Y4 + UHRJbUZycFdHQU9IazhmS0NpSWxjT0c2TnFuejZiWkVUZFZGcE1yL1pocjUzb1dm + bnVVZFM3K2RIUStyNEQvenE0Z1NPYXpyTFBheDVza3JGZmlGdFc2clppNmVaYTJE + UHl1V2FiT1VpbjcvUVA5ZVhjZUZmcDd2dkhBbmlzRTFHWVd6QUp4eXVBVnR1Q255 + ZEl5OEhjdW5lQVpSaFgxQ3lFV2svZUJIRkdFTlcxL3BMSDE5OVF5SUd2RDEvYmdH + TGFuOUJ2VWorQmk5a2w1WERoZldqMXdMSC9sdi84YmxDb3RZYmdyRTRaYm9QT1cw + dTAwdzRHZ3ZUSHkxejA3S3MxRXVwZ0R0V00xRjhsTUdNQXh6aVFpclZyZzBCM1lM + SWlDb1pZd3ZDb0Q0Q05yWU5DNG1Kc2o3RFNqK25CMm91T1lITGtvZWJ5YzF6K1Ez + UUp2TlBTZ2NLNjVJQ0xBQTVHRVQxbEkwSnNDai8rQldrOWlYYWhPNHVUL3BJV25Y + Q3I3bVdRMnlrbDhCblc3WnJrcVRFSXdTT0pBRDJHZ3ZTK0hJalAwMXdwVVdmYXRB + RkVHM3dBeTBoWm01K0tNTXloTklpeUpNNzlWVnRRR3c4QVdNMFgyTFpmU3lqZEF0 + OXEwRjlDeGRVUnNnbW5rQjIxMlVsV0VZUGxXalZOcHYvNFJGMFZxenk1SnNCNzNZ + dmNVeDMwRHFjVHdUVWtQRmhPN2EyNVc1Rmdpa1d0SkVNWWNFTkJlandsWnQza2J6 + ZU9zQTZCbDhpTzA4N20wWGJvcTVkajgvZUJwb1ppbzl4TytGN2VTSkkyZFRPWlJG + SUF1bS9YNHlraDVzOEFMUnRKYXFOSzVVNXBLdGRPVjBpZGJ3U0lYb1lJS0h0Qk1J + dXphS1Q1d2xWRG5QZmZJc3V3VlFsaHVQYk16dGgwNXNQU04yVUhzL25xeXdiRkQ1 + SlJhOUZieHRENUZOWXRBYWxKYkdhKzNReGpub0JyRXJBeTliWHNCYjJCR1hNVGlu + QTNZVnF0eHJCbzZtT0Q5YnJrZVhKTXBZS0NHM2pNY2hRY1NVblpGbWxZNXpKZwpW + UzhPemtCZnZJb3BSU3BFeDc4VTRnZWRSZXk2UmNPY3M2bnFaL043SjlnCi0tLSAr + QUhKUVhRbVVraCtiaTJhZDFBcm81dXlrZzkvS0Uzdmh5c2hEN1JjZFB3CrG44qT8 + RO6q+oWVKTiqtt6Ekpd/jErFpyCA1S2xNaUoJncXYOw7nkpEnibepXofuCvjH5L7 + BQUgj4a/DUduR1k= -----END AGE ENCRYPTED FILE----- recipient: age1pq1jqrcp3te50xugmv5wst3s9ahj0d38rfktxt43wlcqz7vnwyn3y2h7kyfr6rckrvmuk9m7yvp4efjnfsuxx6d8r9gn222r2eal5593arywrjwrgeypf745wyuvf3z2xk9tm5fgnwckftuvdggk66fph59rw69nt5dpjeewuww4vzt9gs4xelre952s7zjz56qv8tvesg2c89sp8rmy9dvhwfd6tucjhs6sjr6yp2njjra2u6w7c7f0sch3rwkw3wf2dc9su9aaa9q2f22sh5yf0fqejxa2qqpq4pg752589st5xsa5g8tpkjglj4tn35gd4hjj0xet9cjwhydmkmmkffy3nr8zdtctqu6pqsyf7aphvktryez39ru3qe7m6nvr465ffxr0ltvr85nddzxvcwpwpac64nu5tdfrxgjfqzc99vr3zxv8carpsw5evmruqlvrq6v6a4m2cwsz5gqw7nyk3jlj75kp5cnafzjn5dyrf8ppfhp5g5s34zsl7pejmmx2uuudjt7ru2y7as9mtagykrgqgt80fvp3eeh4gsmmd3ujgtp0ranq28aq9x0xdekqh49pfhhprjj6zqdfac5gxtjj736kh5jktc4ls4mjs3p33rzt6ze54uqsfept3qhua2pmugypup6hm6j2ek5sgxjnwvqyfj2l8vz4yfgkaxf699v7jqlwf7g68ang5kzqrjsu78lyardm4zen8zhrr24j334qdgs4zr8dhsfsnmvx9cdvu0swx27tcz8txs46zds9kekgmua7w7fnw3l2lf6zla956ssycac4zjy87rawr4thusxtcqgfzfzh2za9np0s34e5dwkp2l2k06cq09myxqfe7ze6a53d8sl5j43qcekh6kfvl9k0t7903q99pc35630zwm3hwxgnw354du5gngnz56skq9zx3pcnkr5eyh8r8t0dqudmvrrwmxreu6tgrklxw7yvu3zkjgt3gyjhc8kqcrevlukay45sz4k9zqxx9yrs88hzt4h52r2g74alf3cedes3atufy06q4lfq3nxdlnve0kqcwstzr6z6u7fqpqvacezdrr62ycteju6dqawkpthu0drtlxj547htfjcsnrmhgvhskwtuhk6yp7wp30p7qc5vkk8fegg6qx5kc9xs4trx7hj9xgydu7vd30hkceuxsczywjs9v2fl3svkwfypg62882yq6ltv7gfj4ajuy8ezd76g0z7juwspe7q6zs5ceshd6038tvvh2nlpjty6rg6a9qfzhgmjx9s6hynyk7xnq9zra6hxstg8p58x75hapd2mk6rapfunlnnkz5dsxjf4ud4dsvgjfjpzxcdy7sp8dzxtengrsdyu4824mqlw8p63d7m2z4mcyme4tm2qkugtdgrkyphe7akk2geukf6xkfkzd2pkdq5s3qm9fkvfkgrv6yw5kdgjak8xcgesg6tumans4fs8yrxtqlvv2z3emdvwchrjfq4xpzsj27yt4gdg8pknwz9tqpjkjxq6lysutrvwkvt2fwyj8wvv8wtmdl6fk6rsd9kq9a6wkhuq7vvrgwgj3xg2s229sprj4g2vzhy2dfesrp403gs64jqkrjuezwm4zd6uw2x4e2qkj8xqcf7c0zprdzu959x23u878vqqetgpjwt0z3kedt8l6dgpm0rf5dmrya5h3wgzfa0jjvgjphyxgxrwlrzpv4czgal933zs64tn90ks66ejjdaw4t67sch8r3q0kljeqnpdgmw0cpj6arc6k46wcqaccygczy76zt9362vslakvzqqv33tv3sjldp6qxprharmpm9uykgpx66343wuur5xj2aw0rgutpm4ztjzycn3a8d2jq2zpdzwmevezm7mkp9dmndkc3qz0kklgkxq9yehrk5ayfly97umhws0jll8qqg0r7gzxgw5vv76 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: "2026-07-07T22:14:48Z" + - created_at: "2026-07-29T20:25:06Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//VbqnkID+k4jUtKcBe3yZ0Wp59g/oqpBjxk/XfVDH8cWf - qUm4lOzoHGvaJXBOtTqaQh1q9oHhKkAdb6gC0+Upo9t1dY1ewPUYlnV/bh1Zqu0Z - 531H7vQL3k5378SnuUmPMZ2oizYd9AF0klGj58blmJAX97df1DHDdUtXXUhl8uVz - BqiMJN3lkC2h2dhgiZyHxMcpFhfcpJ6pkyghVvg7ldnLsvydRIfjQbfqHgLCOq/t - OI0VZoaemOU5n8uESyiFAoQsCNSG8wQVO91MOu9XtUobaBKpi8YS2d3CjIRNALkH - ObSi8OBJ2EDL4xcyBFoRq6QJfi0bTOx1a3RcRpA9gYMz9L3TxWN6F5H6g2oSgyhq - z+jFE42oMMr1afrUyufvIhxfNmweYb15wRtBZMTTTN+GRZUePHet1yCwoYTgcIit - u7bzoNS+BtCbMmfmntXRgB80SlzTT1CofIwXL4gPjBGt0iSwh4nn0rytQSuc8lmY - Wk+JM0Wdgh9v8v6tyiBFOasEkwXuiLevHOnXv3q/tK5mpJsXAT8IMpyTJbuFYxkl - VlpvGyPjweFrbpdZAFuai1kfx+YTsekremyG9gM7ZjMjiOM3Temeu3VwgnmSHmw+ - UyvNk+Hbs8/2b4IW6c6bGLGgz37P77E4njMIZGUCW1IKjAEB978+UDGPMMmNoB3S - XAGM4ogMXRll3TJ0QKwxG88CCUYuJE+TBawBoOZxMLCQWdAiR1rW/HYNWQszvezm - zVx3EYVkci80sY5nobfqDd7w47klBti3+f5yfC1naelCyfPsIquqHMtA+U7e - =i3K9 + hQIMAxK/JaB2/SdtAQ/+PJAKdTWL64pNHd9DlGm9rOZ0HKzBDwMESO7l+EkWn61V + kfY9h14sfs8mEWdPiNTk1PAcUcB+dNcwGO02MpU6j9Lj3INZHaA9CTllqSDxdtlY + ddX2lPCA3F3/Hs8P9o4V6Gia6Gsh8OoJqlxiKjtpxWTK18xyNf/UzYv8Q/b8bgnG + dYNvtls+49uIpL90lLfDoTbo74tMLr4IBdvflX5+ZRzO2Y4oNxc4y0/ZKvHA8h2p + WhY2M6VbwtIaF2/Bzi1fNsbE1y12yuYtpIjNlhAif913icIl1KxplfMVoytJgEFt + 1Yawz1/+6psZpmnF6qxfw4QZTcL9MOqRf0tXYmiCuHsnqkGN1O0MFVmzGhw1N5Zm + RFm6OONPZMeCyYIG29WEsgNeQ2F8bM+EKVB0usUt4B31r6JF0g3Sdsn4QKMsuCJn + SgduTVic2Mni8sU8WZD3amSZTkromituUFdTmDwdXvi5DlBsj7mFL4uwy9WMMFA3 + 7QeuVF7wwVK44+exYa701tuq9OyKy69G7a6K/rX39CdWLPLvpMg5v9gk6tYA8hi4 + S5yVO9GYR1oN3keCT0LhQD5SETkNuqDSviV6HH62h7Mk58IUWpKhK+Yu9UpPdiYc + xo/hSXGRtiQtNHtArsRT6AW0B83nUpziuKuPrPerAtwlYdpLe8Nj1d/Ftp2GqXnU + aAEJAhALFc2xuoyRgtMoOS56179gL0avFvTBi6p9MhLDdIicslyklT6uLOQDmcOs + eAU6sRj+NIZw4co5D9jlYrblM+vFkhvcPiqs/9R9/UKtojugNvFB1Fwx3t/Pp0Yd + 4gDKex7V1H2I + =KSq4 -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-07-07T22:14:48Z" + - created_at: "2026-07-29T20:25:06Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQgAuNNo/As0/3bo7DU8/LliUdKkI+58Z2bxREFqdogWnTxg - 913DRwLpd15NsLx1zaSf8eqYnGeHkpDFEFThstxMNpKXPwa0qex5tiv33Wvf1gkU - hH0Volh2HhauWAoBw2vdOqZo0+P1TtVR1i8uTXtCg7SnjdF2Ftg7JWpmL8DkNtl9 - s7DAAG/aPo3h2wGGDCzgWkQHnfR+lC645DZOJ2Dgrmcl6EOC8u5TlrpK4KsU9ivg - J1zQxvm9znExcZHwwOZOnFWRUWBGmBkE4fLKsTsVko3KWmx6mQatVF/wsUW1bFIg - Z2+EkuBPmsvRBhhT7JQGVWkp4NX0RBlDlaBjRGS5B9JcAe0NXVGCq9+ObHZ7ybIO - ZlMvZHikbwhj8HWpK6jC9cIe5CiPdEhLMbesH1Cc8nffXW2HUeMAU/0/AnkzHSEE - ipd39CzvlT7HQHtrTizdydox13MUYFfUZfFvlRY= - =jnhj + hQEMA1QflAioE8i3AQf9GsPMu0n8M+2YCZ9twW8dSoTHnS1SQlzCvoY/sf1eKrSE + Z+iQWTH22t2CkAUN5GjkXOOBAKf9XZrTBM2XjpEySqpgCchvVWBkfoFOw6DDT+k0 + 3SFyYo9ygiLJROYcJLRYzLlOb2fOTrXYhNovPMMrlObGjZoda0ZuIGNvk9t/ILoJ + eoKU6QrKSUKTfG787bikY5ZG0Qg+ub9u4vImvj3/oYfHwyu67A6I5OrsuKt84wRG + jlIrG/aPPwdg76sQLiVOi9jSo1VBiFbtIOaEFXvwUVpz7474YwaJ9XMxudQF57CL + riDTTRkrxG9S0izRIAZB+7w4mSqdtTmgGqVh4T8XTNJeAYjMx9wFA1Km3yWIxnyY + +HVMDGCSDrEd1Po0Czue6tDshiCCBrhLub7FlNfNGS4133M62VBVSNC1gO/CZ4/1 + oBsWnyUFX60sUZ1fjmLgpkclK1SSjVfbdOKY+0iJSw== + =AJus -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-07-07T22:14:48Z" + - created_at: "2026-07-29T20:25:06Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ//V5uDlJxHej0+edePUQwy0WK4UOtV5Q4xp/fRrW8y2SKJ - jHAYe2S/W8qcTtvjAz1Vpf7lXAO8Bfu8IjaBuctvs+xZoK9fYi1BUsvPjrguR77g - yVN8rUGwsWFJDP1Yi5wS7vNqcS81YcUc0/4ALQuSgr5DRYusMJs8tZClqcJB+IOl - vrvI1+0H/1E35VW1El1+auWf2wBDfTCdWjCBStW9eGaQ6ooNuqI1ki+p02dEiCHy - WtSFoZVLgEe6BIhseWScfEnfOSO5xgfvG8gsq/sPY81uBDvnZYp3cg7ZaIr7jfcm - k1qh42nEt+I3fKQmXu+WFD79MYVxd9SqR1s5f+Z071KLjcPVXnbhVP/d/2te4rWu - 9CJyxO0FvIwd+ijqd13T4H3e8zOjaP9oSXwAfsyuOFcHtZCgFdUkiDyQ6/WlRlxx - FyefuDqagwBl7tXEjsoYT1ZZKB/fd/rdJiEaCYsfcVgxyZXxiQBVcNTW69UgG8gv - /4ADaNILKRp6PzUcyPd9t4OIV90lyPZbpXOw0LUKbBakpp0ge1KagjhAY3YHblPo - ubtyEDmOhgRRc4pdAg0PXRmYmgPqAGr71qlVN6JttXOF/QnhEt/43tXsQIU3X9lN - h7aw9s2jrtlzikYZd9UBq0eZjDcO6p9HjyQJB8bSlZfQTnfER0OxYgRmcJb2L9fS - XAFGBLxy6n0C4EP32T/lLqOCkfQ3RKi1PcI4KozgtCLSXcbCuIDLl9s/xHG3LyOW - 6uGRG3LsAmFrBVbf6fQh0O4EERjBM1DBdxpuECPGJxqjsmCWXH0kckjx5U9r - =ZjWJ + hQIMAz5uSgHG2iMJARAAtwnODzPRM/E8lNHlUCPBZeY5XFywPDI7+9i2bSFsjbqe + 3knEH0SUfPuLVbnpwqJ4p2J5gixNLeGVzlg+oiJbSM1ELC3VL+i5RSPlUbc70h4B + r9DtWWVp31yh3jdAzE8idJP7g/4wEeb5P8uhSDywrIABN7yyrwax4GG8UQl7nbQv + 2mQ595pfiuFjqXnyx8rue0PVtmmL0XKn4jwolT9llCB5Kg3xf7SkHGsDEU24H5J9 + NhKJaYSHjIMeXqPf1iUSLBNGbJGHRmbCj3dUnXvjLiZhRuskOYtYWR9NQKzJFgur + TXrWdrqmblPrWJ5cY6Z6TiM689gM6Eam3uEWJ0ioNdvhAamuLOIT6UYSZ+861f5i + QjFJgMpRgvlri1VhQQEdHbad8o8dAj7K1jnFOAswJt39ubpa05NaYLxqfM1ZMN8M + e69xidb9UOh36xAGTFLJv1Zn89961AcokLwuUFUimLyWzPiMUjr3sAWKGsRXYhM4 + k7PUlgLeLOcP/MsZVb1ToCe01csOcaC77Q6087vyNKCPb+NMLwenpdeotrH+ruoi + zkTkTgKjhqo11dTrqIymdvsQIBXgN3BUCi/SaPkFKjSx5+XA16xjEbHMyV4L4KQ7 + KYJOvnkZTJF9kuINKi16lSYkfL1NETQ0z9FuWPDwbW9h0iVpbhAW01kcfbUdBVbS + XgEmNGZoMw0k/AYjNs2mcvbT3AAF0U3M6Am2EcnTRWbeRnY/7otFgnRf4K0vbdLB + wbgUf1hMTXAgiRdAs43vUi4w6l7BDcqzTwLBBM246hhtrc4JPAmPUgK03d3+M20= + =fHvF -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-07-07T22:14:48Z" + - created_at: "2026-07-29T20:25:06Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DsZXvxFXTXoQSAQdAHGNsY5+ISnGYSlHmBXBqayFgTl7ILhbTdVrCynRsDjQw - UcVUj1P6ZjgfgxS44x4e2blQQTgEIfrmB/8W28d/i60ebMIQEuQC4iiyX8ioDaCs - 0lwBbis/tlst+O2gS5tWCJ97fuAbIF8zrbBUmkxR5C/ojgfrcCa4e4Zqz252bInw - rxxZrSP8Mw+RDqI7baKLKrRDoaRZRFvN6Uj3aHR+yj6ZDdidjU5e5Rnff09uOg== - =Mf4l + hF4DsZXvxFXTXoQSAQdAygdPMx5LYj6Dqafcb3TmJlYDpIo9zb6pUOUkzdC6sgIw + KZOyNqCVCrCOk6xGxUtTi3DHgmvlSVlbYu/w/kVCH+IcLFhqGrdHkbKsMx7EuFY3 + 0l4BnyrYf85Qc4I24977TvPy9Zf52/h5p4RXroOlaUrzBtzDXAyUQhyUceA8SzmQ + Tmjj3SfuNG19YEYDZBvwLnOTSYVi0rbFDjngWBudtJhJ66BXy279O8rJBa+gR91H + =Y0IZ -----END PGP MESSAGE----- fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - - created_at: "2026-07-07T22:14:48Z" + - created_at: "2026-07-29T20:25:06Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdA6qEEGHwoDODsqCiBNsSxYW/mr23EYieH89un7j/hox4w - yP08OBYxBVep1/ep77aFnVfHqvPibcDjmC3ee3zEjXcYDnTiUaDWr+nxq6K7wvS6 - 0lwBqfbYxJF43dLtXmK+Wtmxw1fT2/ha1pxogiEGwyF+3M8Dz2plpQSswq/tGYOB - p+Pkb7ULGTT5rmUxBjjtJF0h1RKadMwiHfxshcGYOQ6flvBn9r4dZlLHHVBl+A== - =I+Rk + hF4DerEtaFuTeewSAQdAOHbS2PxFEq2+h15tExHVkAbCB4Wh4DkKXEzBkzjr4W0w + DXRue88F/kVgAfo6lY7ebBtys+oQIiWd7nXZEqtFV8bChsVhj8dB5EkdnxNHsyN7 + 0l4BXafdajRRT8+GR8bPPI1VX/wZ7kch3hjbruCuKYkjESwS2imeOqRaYe1tkM79 + RpMOV0bJ9bBX2PlUudp/Av6GNMOuAbNKcc6sfdL6PrdFMZhTGgIzPzWE+2sR2GxO + =sCP0 -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-07-07T22:14:48Z" + - created_at: "2026-07-29T20:25:06Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//exw+ncdkKqlY35AxDJUclAoN/QYhpjX4GiQkO7v8/HFB - T9h2VNBQNX4oDbYosQWI1Q5f7DDnCeWyJl3sDFcxh2DzL4neR28p4xb5MNT3rO0J - IrGIPVx+abib+f0T4RzcL+QLZb8ou1/odzGVMLoNq5q5SHOuskDODg2SGjXRSI2H - yqRGVG+N5D3JVoo/waiCA1CtUpIhStjeGNKbtLfM7LY4jshmU5n9MZEDF+7GMl8R - 7dhodAgWcGM1Fqyi/xDaryKgP60Tu8mFufmlcDGJiXR9BOmMo2z2JDBhVGU+LeIH - Favb7qJVwRLJKcFRPdIRJFHaq5eOLEVhRm83Uk06K0MpxLZNC4jiXQKVEPjEdcZ8 - CfEQ/x462LtI9Z5ArfF9H56gMSFpT7t+yPEKXAllY1K0E1mCy2m9NzkzjSHx6y+k - dAsL4xkIbw6Q+Zkaaes3GQ9TkR7vxx7RMk1BXjQp2vjkkeu73EYnHU26XyrL4xJi - slVkxCvbEORr9ju/I8Ysxsva3Bgz067v7q83LOl09kKen1VB5/9Cgxjt2W0xOBUn - WtxLorWU0mHm9BB5WtTQy+KnqLN0s2SeSyT2SPMRXZKF3T+Wwf/Azoc6vrB7m9Th - WnQVbpwooys5/Y8jZYat534b2jiUh2JeYB6lFSp3C2i7JsKxGSxND/DVSJ60vH7S - XAHSLkAKOu5hgnUAIxdCghjAIUx7MHeFAcb8S1QiFXenqUI8OWaZ/bI4RHQuBoZV - aC6dAObpp79LnuoCNCUEhgR9APh37mvSnKnqk8x3R+hIxTl0PtL1eyYpRsZS - =lMvc + hQIMAxjNhCKPP69fAQ/+L8PbjEvZqSdRxS38ypUwCxq/t5UdY/1sCFXv8luRggB2 + rpf2ga4h3e6PWaOrOwivoQ2bD7LzKolI1wZIxpibCguKJ/jMWjEH2THSvVdByFVA + mV0W3MBNZY7eq+zMU5k75m9BFjz5PA94xtLtzHIId1a11SeHDcSnID9dYQcZCENe + s6oS1HluViBv8dajYwXisx6N2Ot9GmbzsAfIQaEW7e/GlJUiuuzpu9WaF/HMySr1 + p/F0wVeh4pT/MM904uq/NhADoEcVNBSCo3pxLF//AHAtZLDo8I8N9ar4v9TdDpCm + /2UblHUZhFtJVhVgkgVwz4K2zo+uG4g8avySddtXgaXfmgy02iqLP/Eux0yEUsOd + 1/Q64V2geMRRc3m8RDS9mqk8EopdgbN4yaVKJ3F/T1Vr7uxesn0z9adZtMFyrZL4 + wG5AIzUgGB1Prrrw+1pU+8G37G9PggmsjP6RhmcB0i5QViphySDBn+otIo2KFkbe + DT5fS125GAr+Uce97qGlM7TLJxS8S2fSjbwmQVnvkCeXcbprP9cbt+QpuDZhmZDz + Ul2qGrBRPvZ9LvJguNPebUlF5J12zWu/ZMMB3RDmApQT/dxLNj4aH7HG6HSIOsyi + XH51BV+g0JcNSTODuqB5kg4Y7jsvp51Ma8hoFmpSlcBnQSDBtL9FMb5Gjy+UBePS + XgGPBDNCeZiq9/rAxwwljOm81xxTAM+u5i6IJPVmrfxnrrax8wm94RgskKUD3ghV + H+OKqIyk3tP7PKpxOrjY/AitObaq+f5DA/Ez+Ze8nJgO85/XB2XDDtVATlqzX4M= + =1ccR -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-07-07T22:14:48Z" + - created_at: "2026-07-29T20:25:06Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqARAAhPGILMoc6wjvefVN6MY1wrTnc5cghbic3mQl/81Td33a - 1vb0u2E3mU942KLI4a5/DL0FHsCOsuaO+HPgf5zPViGGrkAP+ze6Zll5SmMCu81U - /GIEZq9gkhy2mmtJ1OVSGVz7nG8Yvd4LYHaklAbveJnpj7+voR/mztZd5i7t5ISB - HTren/1TV52ZzUV9vaESugzd/Fb1iVnxvZDbuYjIpCpeGEwAvZ/UfFI9vbXUkugT - krbHRJfq7UPE9S46QVrtfZ2BBOo22U6+3gCzQtNZ5VySTrEksaP+PMl0V7OG+4+z - ih6NRN+4lZMeMvUZITz/kP8nvU6xuOXZ+ueRBi3SOySB3MH9txsA/avin4i3/JH/ - +axLWdkiGzvdWpHIKdtGh6knQWHKMjbkHyu09ml6YLsSdFWPtfOpOwtBI8WumWqY - S7qepU9X9Rd4c0152R1nSO05U4dhlnOxt84e8vLdOd+/tMZdCl2iEnWcHyvsI+6C - Rt7AIVrwumf5LYtxyJWQzBIcR6AajKv8OhzV39kGVFxuUue6RdJlXVjynZF3Zcp4 - 7MbEBjWZwvyTZYGF/tmvy3piNlhMvbFR4thJDZFbz7OD4Szva1XQhDmMYMO/B337 - I+vd/iG3rV+K1uZa14nCUn5tPc7ykGnuBMr2swTdvu8MUts18CEGml3rv3ox46nS - XAG3Gx179+MRrb0PppuXr6lNLtBqja/Zr90MM41bpIjzK7/iYYeX2i8DZfcymfQP - cn+KZK3Krk3R6TIn1dJP5UuKsb7WWsZVBXXsiUtixBH90Ygtoju+g1JIzDAu - =ZQbw + hQIMA46L6MuPqfJqAQ/+LpNKzLDDmky11FffpXLizJe+a3Td22VR3tyKYXo+t9SV + YOdHvgGrvXO3Vwfaa2ey7nzJIepNbHDPxbIznlmrnsdR/u3oKtgGi5Ze8mY+Hw6L + +Bs+DJCO0OiRM1vhS6JWzX1Dr9Cdzs/ApaEcnJkT+sJOWINA3fxUZeD72hqZrNsD + 8PA4zuVuAQ2bDquLK5fBL3ZPk6m2vTIWqMI2oQFl664aYopPgXM4OKOh2/slghNt + lvSWCfRRm8qB8r0p1w4N34GPwiBERHhUroTv/9oD4/uDyD2jr1ks3+OjvdVpy21I + NZVYvp4SzU+27/zTHESv/oT1jdJ7kGy/g4hpCzT9W0BN0/T0cnFTt0hOEhFsbjV+ + +wlTJFX9+gy5IUZzr4zxRvyIuazhXKBvt9whEZzFdCgg58HX14DqzjDUVpJ++0zZ + YsGonjngGdDMd4vKGnkfBtytv+u9NCf/ofg9EtAsCglTX+V73eabtl0RNJuL36EI + lYHrBAPobllPo0/ZlwEjUW5qvWdKvFvOMDkrnV5AooWXMc1cKukizzEy2ooWYZ0e + pHOIk+423YK4IxYq/0fRpJZV7dyVkYuny2HxmYEBKIVMxuNMq9svHbedkQ3xg97F + bvoe+EFOJNaE9c51mroQ66Xyh9oesb2AsotQjV52sqJ9I8/BskKJ5BMNLIimUG7S + XgGsoEdix1t2RR+3dDmz4wZzeJqNvmliaQT5MgWUE6w1EwUWdO/gRcEQn47/gdNN + K1FtiQGm37tf47eef0ZPkWSc4XHLEp4DPwxC45IkFvYww9ODuHyWT1lovjOf/iI= + =F5R7 -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-07-07T22:14:48Z" + - created_at: "2026-07-29T20:25:06Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdA0t7VkYBD9+Z0hwHrW0OvjyminASVE/BrCcOD6i3t/3Ew - cKKiH6zB7qmCNElnd9lfGWCZ++67afh59mq4/MUH/bWzdE00TPqF7l5DhqdYOEkI - 0lwB5QrtYGtWddT1n2xiTSELkQY6EgwB96CXS7IEqCL4ab9J2mlM/NGo7Nq/UoKd - EzyZGlTbEiOvBnaP9razjSYWMVNlTAew7q5fTNXFyI3iXTbRumsxV58XC9DviQ== - =13df + hF4DQrf1tCqiJxoSAQdAz9H10eZ5Q2cUAGsfELznmUjhWRItyB96qbMKvmQUp1sw + bb4PZwIHB4U0YIjq1kG5S4Z0ZvyE5IrU2nC8n+LijdggA36Z2E3PuwFQQL+VzevL + 0l4BsiKpc1UrsGqcsOeHswVNhDm/TRsn7W+32lZ7jjJ52dcRu8VnON4WJiAlep1Z + dLEB9noPn4XS+qCUUOmPo8lLVjV21z1NYRT8/pYQjbX317euUJY4WvHw72qsvOC3 + =qY55 -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-07-07T22:14:48Z" + - created_at: "2026-07-29T20:25:06Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAs6OThibGPTtEdwj47cmmpL0vqA2NYrxbWzBILN6oex0w - LFQ37sijoSOWkTppVZPWZnDfF76A31ZrOrXqZJCzBGX6MjaHl9qSUX8Ew/318fKx - 0lYB7b7sU1scA6spas2j21e7hu8fBRWu0b+bNto10762aesfjOEAYtSBgd88PDbF - 0mEbs+9MFGkGeBVFg1HczJsR3KyvM+MMzsH+hQfg4Le9NoiQ7tB++w== - =W83v + hF4DzAGzViGx4qcSAQdAwH4ZCIl9PZevRytxGWKpIo0dD4wIOuHQYiUyCJkiGQ8w + g1cA1Ola51rZpyppgHofwmNh0CxCiWgqqKnBnw+yduVM6SAXQFVUwOh9nrcWJwUQ + 0lgBwb/wrUBhljeQqtCOprbcjieITyMCJbHxYbhnJXnR4rK8/pPkwyfepMuHwCuu + fKe+vuqW+6gRmDkgRzDyDIyNx0cnGV4tn8fJODALPkg8nlk0fF1wvu3g + =Pban -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-07-07T22:14:48Z" + - created_at: "2026-07-29T20:25:06Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ/5AbMQlNWfcfRPPN139Rn4J8d+2tC4ict5PsauE388LLx8 - BDycTpjR3nyp+Jg95PEuP5WBngofjwHrn6b0u//T6wqAgNIYFbZRQzOzjRI2Ipgk - 201sV5YLK8P/TfYo8I032r9PIlc6xK9kR6OCjVrgfTPveNrNDstPvrlZHWe6RLuu - kVPInCHKWXppL9noE8r1OUpRPe5cXNlAWULrFE9MoxwEnn9GPRqj5HK2dpOM1Jvy - kEo+XNoqGK2ZBRoONRJwQ03FF/LeorDlEHS6RMuCgJxNHzX+JacJJOAH8f1bRRcd - 4dKvRZGLI472d04sPz8QtGl9LCBk6CwjLSSiuQI2r1vf00HSx/zDWRGKNJyjzyfr - 1eGZRjZdbEBQqyP738jfSGbHNkH/Io+uVlUTYXrifPBdc6rAACu7ExVkc6/+Zq7e - EdVv95GXUfvll+k4OSH9/zqF5io5OT5e2wei6KEghm0ZxaWcEtJn97WAQDM0TY4Y - TsfPoPagFRTbBWtw6oMy6POV+g+efjxPsg2KuY/ovsJ0/vbsW5DlC/t8/DLKyPgT - CerSNLwr7EzmUfMUZD55PBMIu1rCja+UJ3mrXTYUhPr0G2NPBynl3O+BnVQl8iTC - 19H5aH/TZOxPqhPWzjXRCpxVLSUd2VTN3myfslfQfO3NXt43OS79wnoet43ezuHS - XAHzLeUz6Zs8YD2YpYwbAPlarFRN6S4s5WhMY3/YPsLsrWN9eH42KuYpvLDemRyn - dJG5YT+0dOE4ZQxz5Lwc+xKPFrbBKHbak5pykDO+Q4LS7Eesog1NEQ8So3k4 - =HMER + hQIMA2pVdGTIrZI+ARAAvLJJ25yQWH8070RcLIAnRrBId4AdmAz4K81BWhgeYUeg + Nd7Dllsv+CS32jo215nZTSKHNTlEZOrYm4TKKFTbMUIb8ud2T81NVvupaNyV9KTx + S+Bsv/CWP9TuF/+74LrecS56QFoLn43Ubd08LMc6qPUw+9E7einrkLUuUeXoGZjH + v8HX4Sx1C1Q3zWWEkPFEhQn2njCuJO5SDcHgGmeMI/ywiWDsM/JGC88GFT4gAWAB + lPnU+W+3V28Cz+QJFfDWvX47FDAMkT6LB9nutn1zHqFBVFDpMqK02U9ImZx3G0j2 + eG7GmJp/iBRfqMMKHIg4S5A99N5edYgBb1tEMC1M0pVIxCL+rvwsxGSli1GeyRnp + TQaJU17sKqwdhMoXyFXCspwUWQN5bERbXaK12uRkZnqCkyWJ0WxUtApqHXwz0yzU + te4UqZL5DMNChWBLVOW7QbnnR2dfI+wOpXSzrsswU2vL4vCvUljkec0dibnktc6m + dm4Pb7gB1WxW2foCOlD9n6JCShqw0lluEgptq1xbT6QT3aXGyneiJ1vEDqK6BDcJ + o+vnoP8YXcherfnmGGJAG/YkBvCskHiu3i3S8ftdNT08Bd1so7pt6lVUFH/WEgK6 + G4jaN8mqZHriojwWFEpt8RcvmAxpMtFpx5XS/kuitOa7TKDvuRAV5JaSwHUkeOnU + aAEJAhDJDLBr896ILvtW6IMMGrJmYuA5iwAcVwch2SIbtilCU+EVz/W+2XIMfl/i + M3/5g+PDNat8bTF/2ZvkOZtBV8jPK02gHmpNvbDRMjXWw3GJRR2K9oKHXW6pGMbF + Agx4nvLyaARp + =K1es -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-07-07T22:14:48Z" + - created_at: "2026-07-29T20:25:06Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdANgMJk05gSevKHsZ2rKCnIvo7E/8a580pWclaJA+kWRYw - PE//9dr/VKmnZhWCLwSDM54NnIMgfMwxr6POS4wibOLExW+nvm38ZcKyQQJlRHrg - 0lwBfTonVmBXBQuVieavjwu0rTn5msed8esmOKrC0mzpmu8juFijhzPMelW8z7Rj - uW0zM32lrpoRvASz3Oa0dS1dbN/vjYXGhP1wIwnpTZbsOzxPPsmkBPyegoHaaA== - =hfXP + hF4DKKbvh61jX5USAQdA97i23R1X8ob3HSQMvd4pt4YqJG4AkHs8Axgejnufeh8w + A9d64hNJ8kKnzZ6BrC/i6QWaF3YLhqQVBrYw6NIIuC/beuEYSSRlWPzytiaK06MU + 1GgBCQIQCkI20PHEKQlO/I6hCgDN9xVkLSbwS3zrYzwRY/MVjT+gdf1OfZ/4gKZz + yvfgp0DJCa5Y8qil+tqV35MDatLNLbdTav/BXimBMabvXbhzncPCyucQ52HLMS6d + 21xGzWAy5Dv1qg== + =u1+5 -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/jitsi.sops.yaml b/inventories/chaosknoten/host_vars/jitsi.sops.yaml new file mode 100644 index 0000000000..09088ed8ef --- /dev/null +++ b/inventories/chaosknoten/host_vars/jitsi.sops.yaml @@ -0,0 +1,190 @@ +ansible_pull__age_private_key: ENC[AES256_GCM,data:8PCkZx76R5aWPITn5MCZCMckXvaLfVvnDgO70XmF/eeH5xLVOVx+EC3DZjmHxEoW7Kn4LAJTR4mWl/xP+p++elRvTMcHltV+vBQ=,iv:jKq07NLM84MSGU4CCyUS9ODmwiUMhlDONkKJ7P9P2DM=,tag:95yBZlwYdSNeX2O4t/h9kw==,type:str] +sops: + age: + - enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBnMXBiaDVvaWFsMlFRdXM0 + VTRRdURXL2hzWGkwSG5vdTlCSndXUzBXdGt3CjQ0N2hkdnN3ZURTWVZiQUxRcGdD + akdYVlR5YU92a3V3YW5ML3pEam9CU1kKLS0tIGg5cnZsRU1YYTIrTFZLUEFqSzR4 + RUQvZG0xbDM4UGkrYnZUSmNMSmUzRjQK0SxUa0nn/Wv6a+rzPpOWY2qcsOAtwtP7 + Dhyr1Wnw/0k5kqMOTXh2Zm0M7RkGdk11vr1/XgJly8YEi+WOuEC1LA== + -----END AGE ENCRYPTED FILE----- + recipient: age187zdk64205lx7r83a4m26pfa8hq6khc8sf83k266jasngeq08v3sfqswfg + lastmodified: "2026-07-29T20:26:44Z" + mac: ENC[AES256_GCM,data:dHiB768SBppBrjNoSpgDvriCgrSNzIkpSYzm9REx4otbnvNjHYPhP9OdsZ6zTcoFoX+41/zE13r4EoAz4F++jdJidv1+7DMFvVUKMuFNzp2VjDfB1ZNzzyM+px7l83L5eNhgNPp26mweOVMEz92NgB916KMY+5e3uUeSR+iIdho=,iv:7k8rugBXULjPSOZukQiufNn9Vs5uWVhcvFKIhD1o7so=,tag:IE+2uhzGS2xJJgFHuc94CA==,type:str] + pgp: + - created_at: "2026-07-29T20:25:52Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxK/JaB2/SdtARAAo4zEAgf6DasM3jgHuwGWblIRa7l2CFmo0ZI4riEI6ndd + GWzwLdpcHgad9vO6VaJKboWS8ig+sxNYixDYVi1f4KdpL7kryZmlEcpOdIz4mTcp + 2ahAht5Yo6OVUDKba0Dxw6Kz1CFghTDcIjr+SbhBvi9nwtDBnAw0J2H7d+uPDMq9 + ofZxpb9rajqQPaIs50VfBFrZsPTcJlaD+0u79z8L0zjFQJGNNHbOf663LNdK0Zdg + poRu261Fn5ERcuL3ONOj01OYhZRpltZCjr4XmcETpqdRY7Hpu0Db1aTzm7ej0ImD + VzuGnZKEL7zY613BTvMQNwJxCVBD+MPvjUq9nnlj6VCklr9b7I950hNWxPyE2xQa + ClLXfp5svEgsnoDkRyM/AONNdb5ABAcZK+ZbtQvgolJWL7QVyZ0Jy8FGbOcIYVRL + zQXOHS/Kf4UC/9I3S/SR64jP9L0ZqdaB2Krhtt5/RzPwtbwLcL6ipkYB6r5wI8IE + OnaIPkCT79bbjx3cA9tAMsovNpnI8f6D9lJsgmH63VFfjlSS434yMcjXE4HDnPD3 + 9n1WTRO2qsaM98D4oX+Z2b8vDRdlXtynLMe2Qli+w/qcohcSYekpr4pG1f1eaMmQ + j8n8VgVUKXPtq5SpoQ77PQ/whQVMLW3KELG7yrFtEqc2fBktRJTE8JDwkgeHt1/U + aAEJAhA6So5+Xlqu0c5UkDvbviN0i6Yjo8Vt4p2IWpzioYJKXGsJgllne8l3+r+Y + D16T9wNbQVyMs1pCKEuKDkDwSRJBXTCjqMl0lfza5zhrVN4f545sCEKK+QwyPtQa + 87eEag7I3U/w + =h+vn + -----END PGP MESSAGE----- + fp: EF643F59E008414882232C78FFA8331EEB7D6B70 + - created_at: "2026-07-29T20:25:52Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQEMA1QflAioE8i3AQf/flBSCuaA+YfBE8dBrlDnk8ivIdsr5M0rd72KWavSWxTs + 1FOMu9tGr6Eqx/RM0LNX3Detdiq9SUuZ5R28FKBJYA1IA0JeJV2uKJgSBTW2uS69 + KN7LRyCiA1FtA0E2u18RZCcYfjaVA6vMWtYjIdtAiPFolEYd3+7A6yCx/GqAUJVP + 7MrR0KDvIC84hpT2e9JxX76l24whTngN5/QpS+8R/qMGM44V7Xrn1AqLTcegboV1 + tmFsw36w1Hh9EkVYeeNqs0UCXfFll4DibyuFBUamzrz6d7AK01QH72Mz4l7f3w0f + EPUMKa/zxWVm+djDQRIhVcoQ1pXYwBubABoWT5P6M9JeAeTjEZjjqw78QaUMdlsA + Jj0ub/32VdbDq7tIyq1HDbrHp0OdUpjvrrnIJQxuaqNCM/ggG2bUfit7UZhJYYBR + o92kbKx56pvqQf1xDiUjDOCUcgfKReyfdvG/2pXTeg== + =gVot + -----END PGP MESSAGE----- + fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 + - created_at: "2026-07-29T20:25:52Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAz5uSgHG2iMJARAAhGQO91QZtxDlDNvYWegPXKVqfc0tSA0yzTzOWKVnWa1u + p+DeHHHEuEbcFRChqxxQq8oSnP+PKQirWAPPFC4qDX5dWmjPlRgDzoU/Fbc6d4tD + vZVuv/Jt8AKvRzpbq9R5xVhyLqEuY8R6dVE7m58OTuqcTpY0h84j5jTDHZLAXc2R + XbXAeJWEMq2E1OedPcGfV55lBGsf+diLrJXsg7mKZGYiE0T+oaMgsKFTjgnjsdvN + GEWJl1R7dDmW4ftriEHxs8nm7G4UoKFXie2eKj54Fbvne/9R9kS6I5EQYWFjwIoe + ybdDl6lYuZd5zuRa4pmr0ruIGoXLT1cws5CorCr2mkvDRASkaCQkdcYusD5+Z3GN + gADwMzL0rWtb6JCRv1/O6CZVmn+l9rGOKE27nlYAx7FWg0Di22GxoAfBMOiPi2sJ + UD8lBO5IkZqgrbWHENA/9ZkFOd0P5s2nJ5EMbPWFFJ0hzQZwRp7y/4XvGdCFE+e3 + JoxpncNZALGkQmJfIjqXfxUDsXy3nag1Xyv6P/EO/Hik7FmrHrDhbB97g3uqbr5V + P/DlA7sPT7bpNr6rZSj0/gkdGCP93kGUwofOrQOLBmWwbvCZ2EJeQwYhN3dyYA8i + SI1w01mMnBI7R2u/tbGImQevwPeCZiduWD78SWdumt3x7GZ7PHj4bZF3OU2HoX3S + XgGxJeZ4QhNFbg08AOaLfeMPGRYUTPWFHHt6uT/xAKEIcrj4Hs51bdtFyzqNdoEL + xwqbmVGHugECbo+ly0K0V4mSJorTT9hbP1yczgohS4VrdxjMgj/Ugt0RFRoWd+0= + =SDu1 + -----END PGP MESSAGE----- + fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 + - created_at: "2026-07-29T20:25:52Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DsZXvxFXTXoQSAQdAxwznJu3A3pK6rp4lDC2gy7cuNsqusEI4/dk9MAu8bEMw + VHCRJN50z1pRdr7eiTaM8KP4ahlz8J97ojK+nme6lQOv8eXuEFVi1yb6Vmutf2KT + 0l4B6PM7B9mAbyTd2I+TM/yR22DbjGmRcnhDSsze4sOxbCEQHJxWg8F7ix3aymmG + sGZoRRTDzlYG466Felh36VBQsXfj6sgOqcOqM5gtmg1rgQk2WwVE6662/YTH6vk1 + =8mu4 + -----END PGP MESSAGE----- + fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE + - created_at: "2026-07-29T20:25:52Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DerEtaFuTeewSAQdAXYiwRolM2ONj1YZEmd7fTfmUqL6s2COcF1HtV1+1K0gw + ulztfWLvhCipyhWFKbrgBAjUQijUkqNRTtdObxcT4xprJpmVkinKUXeWN+OyIP0b + 0l4BWDGVrp/e6pJgIEwrGHSObYGoHJ6KWCeAAUecLoWltnBnDyGLSVMJU4WOhliD + 5rFlASW7mISOHrW0mOqUyZ51p7PU1hSPS+c1ZZNsIpOOzvmxLJCSQcT6BnTqSTA4 + =LnNV + -----END PGP MESSAGE----- + fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 + - created_at: "2026-07-29T20:25:52Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxjNhCKPP69fAQ//TgXmAuQNIdTzG7CNY0rSOy5dtWgBXR/jhF6diX9pbkHE + 7PHJ74YUpxwtCNM5mNPJD9wA4CQ4iFf5g1L6RwVCvRmv1MR7urpxvVlDxQCKQrLD + lfrVc/+1CpZdJjmk+MKeVs73gupU+pbBCICsrRXoWjTFdTfRlj7s0HnOT6e5WohU + hg7eKW4NfnWekbh/aFFfQxJjFA37eqJK+Mib7VeS9QKWhidlXYnQcMPyz03R8ZrW + n9O52WNGG94SBVebkbpLjLOxxxTho5TLN4CukIjWTG9bZ3fua8OF6/g9gegnY9+S + RLuRNgwcRlH+T0gO7hVytb71qK1MayT14+n1c4idQ6p5EqINyRCUuN7jB/62RHho + klLMo1Wn8RuXibelpLmuwCGwkKs7xHVP9aty4VIxfa4feaoWgLDuSziBgfdYHyCJ + orF4w7l/bAmfBKV53OPOrGHjer3gSOyc681m5XXzfCnBjtktQLaNwUr/69wOFmwG + kvJCKNqRB0wiO0UL41g+DjX7Eui2Tu/4QydLrOF5/qY3/cWII3p435HwvW4knh71 + clUSHYCwh1N+MeM4RmPk7Urve7jWpqNa09oU1fDgM92zkmqRK88mpDe7ZibTtcsJ + jtiHrNM+AGu5BCSZeDDkU6AyHCHfIgeGRJkO3xUSRGvPALD9t4h/7W4RlHzSya/S + XgGIY/JZiSHJtJhcQ7uDNwtnc3VV82BJVnEFcY35+ZbF1GadPoAnz6g7X+Znc3tu + dOGAF26rSkNWVUsaFdwWMV1JMkOHRYT6RJXCNJfrxtUCOCmDkqb4ztVzvXfw8l4= + =i7Lm + -----END PGP MESSAGE----- + fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 + - created_at: "2026-07-29T20:25:52Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA46L6MuPqfJqARAApxe3eixBUWnYh4327EdJrkBDoYg+geo1Aag9bispkXP1 + 1/bAAdDNO8i4OxWwYviXV7lvSbhm8xGhWyKXzU74Fl38fjJdlFr4C1QwVn5uVZcM + rIqNcPL0o8ODwMo45OogfFBLMsn/ro6celwAbP1bNZ/1OEa51x4HEHf9xBKnzHb4 + DE2x3dz7fqNaogJZpEmI1M+4AuaH+U2llpKCeg+Sr0MAgCE+APKFImEpGBctmv4+ + yqRtJ1yh8JTQTnpWuB5M9ULFHi8VstjZMVkrHKOmKpsPLoveec2untGNaqMri/WQ + A6P5mshIFHPZK8SFAcyZfGthFdxcGU90Ukl/c79AHrb9FzmnrKm4ADjKufbg3PVC + Rwgo3GX7vS7seF8WuRocO/sz4dgQWY9W7Imy9pXHKNZdD8U6VmxXkga6fi4moWtg + m26GWQfdXXMk2O4/iD17LNFnMdBIV8aVnA4kv43Jb0SZEakO2N6mG2w4QzYik49q + L81+p1IReuzRaG/Av1cqMu/pmsL6XytA3sFH/WoUHQE58H/ZwkRMDyhElTwmSh3S + Nr+fmbXI4yUXHDWCH9N50Kl1AzGb0y9KdIUeuGwkf2dn7pTdL/Yi81IRkCt1Mx91 + sKV7/Y1pV5BzxQoYOS5U3mOR7yHhW5mSksYQqkhXl1vjsRHuy8oa7t5Z7q9mxJTS + XgGy7e1M+ZDSqcRhe94jnOOC6fYsctom/heY1/9vaDFrTWkKUu8ISye/lFJIXIJx + GYAwLzS3DMCSdAaaBrG1ZQRHOyq/7QBJyGpXo7DzphH8IUW8pnzOxK+pyM9WhMA= + =0Wnx + -----END PGP MESSAGE----- + fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A + - created_at: "2026-07-29T20:25:52Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DQrf1tCqiJxoSAQdATsHlTOJAck7nLeMlMW1LEA0DUm16BRzOjzLRZgkn6l0w + NsxliKtfUjJzEh8epNqn5lp4TMUOvv9EnF3NRp+K33MzijERkJF5RKqAtZoSQLq2 + 0l4BV3WIe9vxUz4Nwlf0OWveG5msnlMnoh0t20B+slUWkQiS9aIc8lr4Dj/RNkC+ + DSTEIPJlC3IECJBmifGdeABKTp3/vc7TzYRKrfrAX5+fMOBfXpzDhk+GbQFCK7qn + =nS3y + -----END PGP MESSAGE----- + fp: B71138A6A8964A3C3B8899857B4F70C356765BAB + - created_at: "2026-07-29T20:25:52Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DzAGzViGx4qcSAQdAJi3v8KN95v/F1S3h5DXuRmVlyFykL3sTV9rnyutCKDgw + JbP5/DtZADeV7zvibfLl/UstW9c/giC0GEuQ7JqvOb9d7OOj4Qbf72PncBtOVb6a + 0lgBMOm3QTA0LWTHZn0cIZSdW3PVrea0GalHGRmB1BWcZiOPd41JdUPNAa189k15 + 4Nkj7dztMmMdx5pe6WUYZx63jFTPu0/rvKaKbmET/sBDBjM1dGBeoRbM + =Gimh + -----END PGP MESSAGE----- + fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD + - created_at: "2026-07-29T20:25:52Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA2pVdGTIrZI+ARAAmuTIKicMZKO5VZY/Udj7m8+XpWog+mQoo03gN7/hHGtr + OFzSOQiO1GPxJs6DOmKz00AsiPFU+iI7ftmKgNvfcm5PrZ/kTwQOK1Cr1WoklWDu + saTbvTcE4+73G/iWZ5gzgzwjXlXRFBHafqiFBVLWzd+zVNS1PtrVy8zvyVUPoBAX + ODeHfFwEdVinnMyx30UYeysiATs0dtb3A7KopVATjVxSZ4Cb/5PsJfwqKRdmft5o + MxeV67SOzrc19k9hIJFUiegLhuZ+icpgaF30ixV5iYdrKUQ5gyOVc0tdwV593Mw3 + iNtqFV5wiue54BI13Ab4I0UrwnJpOwdeVCeJ7yF4XTmdDZstxphZG6sgblvK/D7D + svv/Kl1snn27IqYx3+LPiChUJ+dbfDYvg+eClMhbvC9qSgXuAhl+FIxFTYMKTypn + rgCmAj7GZOOJ4aWsX6uCvYbeLXfnR3+KY5DgIPBhmc4Ibz+47MDmJh4H54DO8+XT + gM1xgKFoglOxuKj7foVLv8Z5e9zMAuXm1QdaGrp0Vk+lLPoQeZN92uUlWX+x4913 + xkzUWP8jNo+jRzsaL25Z9ns2r4qbSQJKhZ2E/STaDQ1PcUvzMIAiV6yvqwRuvcIi + +VUIEmwkc9HFciJHRhp/adOd2Z6E2kO+TaQyRejt/ej6dn2MOhdKUoUrM4jHQZ7U + aAEJAhBYacESC6JTvEy68FJlPrs/0qOGupNGhfUwvpeqmnjBHcVKKGAz1ZmSIUH9 + weV+xTKI/IUIaJ8x1Z65rcSFD4TAEB/7fHCxswrFpmIMg5L4bXZlR4EGEBuOOiWt + brHaY9pXitxp + =4mre + -----END PGP MESSAGE----- + fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + - created_at: "2026-07-29T20:25:52Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DKKbvh61jX5USAQdACtb0/+vOKBXl+V24/aOatgSIAMISbiRtG3rS9dmSY1Ew + Np3JslXUIn5LhR7UdgOcHgzZMD8nDiJyHJmlNUg8gJgkHo8IlO6kmjLUEI2kMesi + 1GgBCQIQTtRSUXfKEMWJuSNFKiXJKvnRB4v9jWvUAJpp/qeLdPbxVM2wn4co8DXT + Wuk1hcy3vqeSxvYF1qcVHL03X5q8yU3O7xIs391cT8dUmelAkPTbRsJqCP1ElqlG + lc4d/GKrZW1+0Q== + =XKYf + -----END PGP MESSAGE----- + fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 + unencrypted_suffix: _unencrypted + version: 3.13.3 diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index fa88b1cb14..0c841fb671 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -26,6 +26,9 @@ all: ansible_host: tickets.hosts.hamburg.ccc.de ansible_user: chaos ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de + jitsi: + ansible_host: jitsi.hamburg.ccc.de + ansible_user: chaos keycloak: ansible_host: keycloak.hosts.hamburg.ccc.de ansible_user: chaos @@ -112,6 +115,7 @@ base_config_hosts: diday-staging-runner: eh22-wiki: grafana: + jitsi: keycloak: lists: mumble: @@ -228,6 +232,7 @@ infrastructure_authorized_keys_hosts: grafana: tickets: cloud: + jitsi: keycloak: netbox: onlyoffice: @@ -270,6 +275,7 @@ ansible_pull_hosts: wiki: ccchoir: tickets: + jitsi: keycloak: lists: mumble: From 5ecf70ade373737ffef3a9766ab7b70d28fbe9a1 Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Fri, 31 Jul 2026 19:43:37 +0200 Subject: [PATCH 358/417] Activate old address for yate for now --- resources/chaosknoten/auth-dns/zones/ccchh.net.zone | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/chaosknoten/auth-dns/zones/ccchh.net.zone b/resources/chaosknoten/auth-dns/zones/ccchh.net.zone index 2ba513556a..8495dc9ee5 100644 --- a/resources/chaosknoten/auth-dns/zones/ccchh.net.zone +++ b/resources/chaosknoten/auth-dns/zones/ccchh.net.zone @@ -62,7 +62,7 @@ _acme-challenge.light CNAME e59f55ee-9013-469d-a146-a159721b6fea.auth. _acme-challenge.light-werkstatt CNAME f408acc0-d9f5-4525-bb01-28938e3bb7d0.auth.acmedns.hamburg.ccc.de. ;buba A 10.31.211.137 _acme-challenge.dooris CNAME 37caae1f-b77f-4eb1-aa71-dc3f7ed24360.auth.acmedns.hamburg.ccc.de. -;yate A 10.31.208.12 +yate A 10.31.208.12 ;staubiv2 A 10.31.210.233 prusa-mk4 A 10.31.210.4 From 0377db2812038cb3a20d3881df03172cee7b54a4 Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Sun, 2 Aug 2026 17:24:58 +0200 Subject: [PATCH 359/417] Use correct hostname for yate --- 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 b4373d6cfd..b07a2864e4 100644 --- a/inventories/z9/hosts.yaml +++ b/inventories/z9/hosts.yaml @@ -13,7 +13,7 @@ all: ansible_host: waybackproxy.ccchh.net ansible_user: chaos yate: - ansible_host: yate.ccchh.net + ansible_host: yate.z9.ccchh.net ansible_user: chaos certbot_hosts: hosts: From f749ed436ca2db416858c84b97f0f6beae9152d0 Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Sun, 2 Aug 2026 17:25:30 +0200 Subject: [PATCH 360/417] Use fixed port range to allow for better fw rules --- inventories/chaosknoten/host_vars/git-pages.yaml | 2 ++ inventories/z9/host_vars/yate.yaml | 6 ++++++ resources/z9/yate/docker_compose/rmanager.conf.j2 | 4 ++++ resources/z9/yate/docker_compose/yrtpchan.conf.j2 | 4 ++++ resources/z9/yate/docker_compose/ysipchan.conf.j2 | 6 ++++++ 5 files changed, 22 insertions(+) create mode 100644 inventories/chaosknoten/host_vars/git-pages.yaml create mode 100644 resources/z9/yate/docker_compose/rmanager.conf.j2 create mode 100644 resources/z9/yate/docker_compose/yrtpchan.conf.j2 create mode 100644 resources/z9/yate/docker_compose/ysipchan.conf.j2 diff --git a/inventories/chaosknoten/host_vars/git-pages.yaml b/inventories/chaosknoten/host_vars/git-pages.yaml new file mode 100644 index 0000000000..a5c8c82263 --- /dev/null +++ b/inventories/chaosknoten/host_vars/git-pages.yaml @@ -0,0 +1,2 @@ +# renovate: datasource=docker depName=codeberg.org/git-pages/git-pages +git_pages__version: latest diff --git a/inventories/z9/host_vars/yate.yaml b/inventories/z9/host_vars/yate.yaml index fecacb1e18..ce296c425d 100644 --- a/inventories/z9/host_vars/yate.yaml +++ b/inventories/z9/host_vars/yate.yaml @@ -6,3 +6,9 @@ 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') }}" + - name: rmanager.conf + content: "{{ lookup('ansible.builtin.template', 'resources/z9/yate/docker_compose/rmanager.conf.j2') }}" + - name: yrtpchan.conf + content: "{{ lookup('ansible.builtin.template', 'resources/z9/yate/docker_compose/yrtpchan.conf.j2') }}" + - name: ysipchan.conf + content: "{{ lookup('ansible.builtin.template', 'resources/z9/yate/docker_compose/ysipchan.conf.j2') }}" diff --git a/resources/z9/yate/docker_compose/rmanager.conf.j2 b/resources/z9/yate/docker_compose/rmanager.conf.j2 new file mode 100644 index 0000000000..fec08817da --- /dev/null +++ b/resources/z9/yate/docker_compose/rmanager.conf.j2 @@ -0,0 +1,4 @@ +; https://github.com/eventphone/yate/blob/master/conf.d/rmanager.conf.sample +[general] +; password: string: Password required to authenticate as admin, default empty! +;password= diff --git a/resources/z9/yate/docker_compose/yrtpchan.conf.j2 b/resources/z9/yate/docker_compose/yrtpchan.conf.j2 new file mode 100644 index 0000000000..ac2c275d4b --- /dev/null +++ b/resources/z9/yate/docker_compose/yrtpchan.conf.j2 @@ -0,0 +1,4 @@ +; https://github.com/eventphone/yate/blob/master/conf.d/yrtpchan.conf.sample +[general] +minport=42000 +maxport=42999 diff --git a/resources/z9/yate/docker_compose/ysipchan.conf.j2 b/resources/z9/yate/docker_compose/ysipchan.conf.j2 new file mode 100644 index 0000000000..32cfa762c0 --- /dev/null +++ b/resources/z9/yate/docker_compose/ysipchan.conf.j2 @@ -0,0 +1,6 @@ +; Setting for all SIP channels +; https://github.com/eventphone/yate/blob/master/conf.d/ysipchan.conf.sample + +[general] +; try to avoid `Transport(general) received likely truncated packet with length 1500, try to increase maxpkt` +maxpkt=8192 From 24124e9f3d45d3f02e8d8f87a4defbc932a4c197 Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Sun, 2 Aug 2026 18:09:29 +0200 Subject: [PATCH 361/417] Document wg setup First step for #133 --- docs/guides/wiregueard-admin-vpn.md | 36 +++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 docs/guides/wiregueard-admin-vpn.md diff --git a/docs/guides/wiregueard-admin-vpn.md b/docs/guides/wiregueard-admin-vpn.md new file mode 100644 index 0000000000..ce54a15e32 --- /dev/null +++ b/docs/guides/wiregueard-admin-vpn.md @@ -0,0 +1,36 @@ +--- +title: "Wiregard Admin VPN" +summary: How to configure your Wireguard client to access the Z9 network +--- + +# Onboarding + +tbd. where to add your key + +# Local Client Configuration + +## Example Config + +``` +[Interface] +PrivateKey = YOUR_PRIVATE_KEY +Address = 172.31.202.YOUR_IP/32 + +[Peer] +PublicKey = fmlxjh3iOfpgrHQQpK3dyOD0BvDppGCUkFuMSroqQR4= +AllowedIPs = 10.89.208.0/20, 2a07:c481:1::/48, 212.12.48.126/32, 2a00:14b0:42:100::/56, 2a00:14b0:4200:3000::/64 +Endpoint = rt-wan.ccchh.net:51820 +``` + +## AllowedIDs + +The following prefixes should be tunneled to gain access to both CCCHH Z9 resources as well as Chaosknoten + +| Prefix | Description | +|--|--| +| [10.89.208.0/20](https://netbox.hamburg.ccc.de/ipam/prefixes/114/prefixes/) | prefix for CCCHH Z9 local networks | +| [2a07:c481:1::/48](https://netbox.hamburg.ccc.de/ipam/prefixes/50/) | prefix for CCCHH Z9 local networks | +| [212.12.48.126/32](https://netbox.hamburg.ccc.de/ipam/ip-addresses/30/) | public IP of chaosknoten | +| [2a00:14b0:4200:3000::126:1/128](https://netbox.hamburg.ccc.de/ipam/ip-addresses/255/) | public IP of chaosknoten | +| [2a00:14b0:42:100::/56/128](https://netbox.hamburg.ccc.de/ipam/prefixes/46/) | new IPv6 for VMs on chaosknoten | +| [2a00:14b0:4200:3000::/64](https://netbox.hamburg.ccc.de/ipam/prefixes/36/) | old IPv6 for VMs on chaosknoten | \ No newline at end of file From 9266123f42abbf5fa1ac7d0576f6d783b00e1bfb Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Sun, 2 Aug 2026 18:12:02 +0200 Subject: [PATCH 362/417] Explain that you can use a default route #133 --- docs/guides/wiregueard-admin-vpn.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/wiregueard-admin-vpn.md b/docs/guides/wiregueard-admin-vpn.md index ce54a15e32..14330b9cb0 100644 --- a/docs/guides/wiregueard-admin-vpn.md +++ b/docs/guides/wiregueard-admin-vpn.md @@ -24,7 +24,7 @@ Endpoint = rt-wan.ccchh.net:51820 ## AllowedIDs -The following prefixes should be tunneled to gain access to both CCCHH Z9 resources as well as Chaosknoten +The following prefixes should be tunneled to gain access to both CCCHH Z9 resources as well as Chaosknoten. It is also possible to run a default route through wireguard, but please do not abuse this as a general VPN for purposes other than admin tasks. | Prefix | Description | |--|--| From 9a78164b7b474828a6251d96577865dce3465554 Mon Sep 17 00:00:00 2001 From: June Date: Mon, 3 Aug 2026 00:06:44 +0200 Subject: [PATCH 363/417] roles(dooris): remove blank line to make ansible-lint happy --- roles/dooris/meta/argument_specs.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/roles/dooris/meta/argument_specs.yml b/roles/dooris/meta/argument_specs.yml index 2d2726acc6..134292d86c 100644 --- a/roles/dooris/meta/argument_specs.yml +++ b/roles/dooris/meta/argument_specs.yml @@ -45,4 +45,3 @@ argument_specs: apiKey: required: true type: str - From 03ba0cf126a0032fa151944bea28a41ef8077f15 Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Mon, 3 Aug 2026 08:58:29 +0200 Subject: [PATCH 364/417] Use correct IP prefix in example --- docs/guides/wiregueard-admin-vpn.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/guides/wiregueard-admin-vpn.md b/docs/guides/wiregueard-admin-vpn.md index 14330b9cb0..ad7bfa06c9 100644 --- a/docs/guides/wiregueard-admin-vpn.md +++ b/docs/guides/wiregueard-admin-vpn.md @@ -11,10 +11,12 @@ tbd. where to add your key ## Example Config +Replace `YOUR_IP_IN_DEC` with your IP in decimal, and `YOUR_IP_IN_HEX` with your IP in hexadecimal. + ``` [Interface] PrivateKey = YOUR_PRIVATE_KEY -Address = 172.31.202.YOUR_IP/32 +Address = 10.89.214.YOUR_IP_IN_DEC/32, 2a07:c481:1:37::YOUR_IP_IN_HEX [Peer] PublicKey = fmlxjh3iOfpgrHQQpK3dyOD0BvDppGCUkFuMSroqQR4= From 849f63cd1b2166d6d0465cd9fe23b2b955bc492e Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Tue, 4 Aug 2026 09:13:50 +0200 Subject: [PATCH 365/417] Activate sync --- resources/chaosknoten/lists/docker_compose/compose.yaml.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/chaosknoten/lists/docker_compose/compose.yaml.j2 b/resources/chaosknoten/lists/docker_compose/compose.yaml.j2 index f6194cb36f..b4372c0570 100644 --- a/resources/chaosknoten/lists/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/lists/docker_compose/compose.yaml.j2 @@ -72,7 +72,7 @@ services: restart: unless-stopped command: ["uv", "run", "main.py", "sync"] environment: - - DRY_RUN=true + - DRY_RUN=false - KEYCLOAK_CLIENT_ID=mailman-sync - KEYCLOAK_CLIENT_SECRET={{ secret__lists__keycloak_client_secret }} - KEYCLOAK_REALM=ccchh From 6c4f2dc9b6c3ff0456bee0e18411afbee7c1319f Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Tue, 4 Aug 2026 18:44:51 +0200 Subject: [PATCH 366/417] Update with correct prefixes --- docs/guides/wiregueard-admin-vpn.md | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/docs/guides/wiregueard-admin-vpn.md b/docs/guides/wiregueard-admin-vpn.md index ad7bfa06c9..4d08bd51f2 100644 --- a/docs/guides/wiregueard-admin-vpn.md +++ b/docs/guides/wiregueard-admin-vpn.md @@ -13,14 +13,16 @@ tbd. where to add your key Replace `YOUR_IP_IN_DEC` with your IP in decimal, and `YOUR_IP_IN_HEX` with your IP in hexadecimal. +See [resources/z9/z9-router/systemd_networkd/10-wg56.netdev](resources/z9/z9-router/systemd_networkd/10-wg56.netdev) for the Wireguard endpoints configured on the router. + ``` [Interface] PrivateKey = YOUR_PRIVATE_KEY -Address = 10.89.214.YOUR_IP_IN_DEC/32, 2a07:c481:1:37::YOUR_IP_IN_HEX +Address = 10.89.214.YOUR_IP_IN_DEC/32, 2a07:c481:1:37::YOUR_IP_IN_HEX/128 [Peer] PublicKey = fmlxjh3iOfpgrHQQpK3dyOD0BvDppGCUkFuMSroqQR4= -AllowedIPs = 10.89.208.0/20, 2a07:c481:1::/48, 212.12.48.126/32, 2a00:14b0:42:100::/56, 2a00:14b0:4200:3000::/64 +AllowedIPs = 10.89.208.0/20, 2a07:c481:1::/48, 212.12.48.120/29, 2a00:14b0:4200:3000::/64, 212.12.50.208/29, 2a00:14b0:42:100::/56, 212.12.51.128/28, 2a00:14b0:f000:23::/64 Endpoint = rt-wan.ccchh.net:51820 ``` @@ -32,7 +34,10 @@ The following prefixes should be tunneled to gain access to both CCCHH Z9 resour |--|--| | [10.89.208.0/20](https://netbox.hamburg.ccc.de/ipam/prefixes/114/prefixes/) | prefix for CCCHH Z9 local networks | | [2a07:c481:1::/48](https://netbox.hamburg.ccc.de/ipam/prefixes/50/) | prefix for CCCHH Z9 local networks | -| [212.12.48.126/32](https://netbox.hamburg.ccc.de/ipam/ip-addresses/30/) | public IP of chaosknoten | -| [2a00:14b0:4200:3000::126:1/128](https://netbox.hamburg.ccc.de/ipam/ip-addresses/255/) | public IP of chaosknoten | -| [2a00:14b0:42:100::/56/128](https://netbox.hamburg.ccc.de/ipam/prefixes/46/) | new IPv6 for VMs on chaosknoten | -| [2a00:14b0:4200:3000::/64](https://netbox.hamburg.ccc.de/ipam/prefixes/36/) | old IPv6 for VMs on chaosknoten | \ No newline at end of file +| 212.12.48.120/29 | Fakep refix for hosts that come from [212.12.48.0/24](https://netbox.hamburg.ccc.de/ipam/prefixes/12/) | +| [2a00:14b0:4200:3000::/64](https://netbox.hamburg.ccc.de/ipam/prefixes/36/) | Public IPv6 in Wieske's shared network | +| [212.12.50.208/29](https://netbox.hamburg.ccc.de/ipam/prefixes/13/) | Public IPv4 for VMs on chaosknoten, routed by router | +| [2a00:14b0:42:100::/56](https://netbox.hamburg.ccc.de/ipam/prefixes/46/) | Public IPv6 for VMs on chaosknoten, routed by router | +| [212.12.51.128/28](https://netbox.hamburg.ccc.de/ipam/prefixes/15/) | IPv4 for VMs on chaosknoten, routed by Wieske | +| [2a00:14b0:f000:23::/64](https://netbox.hamburg.ccc.de/ipam/prefixes/35/) |IPv6 for VMs on chaosknoten, routed by Wieske | + From 7f421b2409759c16d58951bc267ed57b73550b75 Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Tue, 4 Aug 2026 23:16:39 +0200 Subject: [PATCH 367/417] Update to current version --- resources/chaosknoten/zammad/docker_compose/compose.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/chaosknoten/zammad/docker_compose/compose.yaml b/resources/chaosknoten/zammad/docker_compose/compose.yaml index fb6837d484..70106c5509 100644 --- a/resources/chaosknoten/zammad/docker_compose/compose.yaml +++ b/resources/chaosknoten/zammad/docker_compose/compose.yaml @@ -57,7 +57,7 @@ x-shared: LETSENCRYPT_HOST: LETSENCRYPT_EMAIL: - image: ${IMAGE_REPO:-ghcr.io/zammad/zammad}:${VERSION:-6.5.3} + image: ${IMAGE_REPO:-ghcr.io/zammad/zammad}:${VERSION:-7.1.2} restart: ${RESTART:-always} volumes: - zammad-storage:/opt/zammad/storage @@ -76,7 +76,7 @@ services: user: 0:0 zammad-elasticsearch: - image: elasticsearch:${ELASTICSEARCH_VERSION:-8.19.13} + image: elasticsearch:${ELASTICSEARCH_VERSION:-8.19.19} restart: ${RESTART:-always} volumes: - elasticsearch-data:/usr/share/elasticsearch/data From e32d3734e4341faa38cb2aa90f224cef4e896d52 Mon Sep 17 00:00:00 2001 From: Renovate Date: Tue, 4 Aug 2026 21:31:00 +0000 Subject: [PATCH 368/417] Update docker.io/pretix/standalone Docker tag to v2026.7 --- resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 b/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 index 5de121b877..9eac87cafe 100644 --- a/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 @@ -25,7 +25,7 @@ services: backend: pretix: - image: docker.io/pretix/standalone:2026.3 + image: docker.io/pretix/standalone:2026.7 command: ["all"] ports: - "8345:80" From 54b0d834510c8e0c92a5cbb470b70b3a5e7fc196 Mon Sep 17 00:00:00 2001 From: Renovate Date: Tue, 4 Aug 2026 21:31:22 +0000 Subject: [PATCH 369/417] Update docker.io/pretalx/standalone Docker tag to v2026 --- resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 b/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 index dea2dfb140..3c6e5daa5b 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.1.0 + image: docker.io/pretalx/standalone:v2026.2.1 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:v2026.2.1 command: - taskworker restart: unless-stopped From aeaa80d2c4ca9f4c5fdddd7c0cb360a8a5c341b9 Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Sat, 23 May 2026 23:46:00 +0200 Subject: [PATCH 370/417] rt1(z9 host): create host and configure networkd and nftables --- inventories/z9/host_vars/rt1.sops.yaml | 198 ++++++++++++++++++ inventories/z9/host_vars/rt1.yaml | 6 + inventories/z9/hosts.yaml | 11 + resources/z9/rt1/nftables/nftables.conf | 111 ++++++++++ .../z9/rt1/systemd_networkd/00-netlan.link | 6 + .../z9/rt1/systemd_networkd/00-netwan.link | 6 + .../rt1/systemd_networkd/10-netlan.51.netdev | 7 + .../rt1/systemd_networkd/10-netlan.52.netdev | 7 + .../rt1/systemd_networkd/10-netlan.53.netdev | 7 + .../rt1/systemd_networkd/10-netlan.54.netdev | 7 + .../rt1/systemd_networkd/10-netwan.400.netdev | 7 + .../z9/rt1/systemd_networkd/10-wg55.netdev | 90 ++++++++ .../z9/rt1/systemd_networkd/20-netlan.network | 12 ++ .../z9/rt1/systemd_networkd/20-netwan.network | 9 + .../z9/rt1/systemd_networkd/20-wg55.network | 6 + .../21-netlan.51-clients.network | 27 +++ .../systemd_networkd/21-netlan.52-iot.network | 27 +++ .../21-netlan.53-public.network | 27 +++ .../21-netlan.54-management.network | 27 +++ .../21-netwan.400-fux_uplink.network | 26 +++ .../rt1/systemd_networkd_global_config.conf | 3 + 21 files changed, 627 insertions(+) create mode 100644 inventories/z9/host_vars/rt1.sops.yaml create mode 100644 inventories/z9/host_vars/rt1.yaml create mode 100644 resources/z9/rt1/nftables/nftables.conf create mode 100644 resources/z9/rt1/systemd_networkd/00-netlan.link create mode 100644 resources/z9/rt1/systemd_networkd/00-netwan.link create mode 100644 resources/z9/rt1/systemd_networkd/10-netlan.51.netdev create mode 100644 resources/z9/rt1/systemd_networkd/10-netlan.52.netdev create mode 100644 resources/z9/rt1/systemd_networkd/10-netlan.53.netdev create mode 100644 resources/z9/rt1/systemd_networkd/10-netlan.54.netdev create mode 100644 resources/z9/rt1/systemd_networkd/10-netwan.400.netdev create mode 100644 resources/z9/rt1/systemd_networkd/10-wg55.netdev create mode 100644 resources/z9/rt1/systemd_networkd/20-netlan.network create mode 100644 resources/z9/rt1/systemd_networkd/20-netwan.network create mode 100644 resources/z9/rt1/systemd_networkd/20-wg55.network create mode 100644 resources/z9/rt1/systemd_networkd/21-netlan.51-clients.network create mode 100644 resources/z9/rt1/systemd_networkd/21-netlan.52-iot.network create mode 100644 resources/z9/rt1/systemd_networkd/21-netlan.53-public.network create mode 100644 resources/z9/rt1/systemd_networkd/21-netlan.54-management.network create mode 100644 resources/z9/rt1/systemd_networkd/21-netwan.400-fux_uplink.network create mode 100644 resources/z9/rt1/systemd_networkd_global_config.conf diff --git a/inventories/z9/host_vars/rt1.sops.yaml b/inventories/z9/host_vars/rt1.sops.yaml new file mode 100644 index 0000000000..f4141fd943 --- /dev/null +++ b/inventories/z9/host_vars/rt1.sops.yaml @@ -0,0 +1,198 @@ +secrets__secrets: + - name: ENC[AES256_GCM,data:MmqDXUKy+U67JZFmKJTGLYAJcYPClQ8M2w==,iv:/eDx++bJCzdKXYB8YipB/GB6aM421JR3sy8i5trBKxk=,tag:/zTklys9bN839iT1qOH0UQ==,type:str] + content: ENC[AES256_GCM,data:2ljp324rAsF2zk2631TI7bV1xKxdFr4u4NxrsPYnjWsL0PX0n0KhJ1qvJCs=,iv:0+DxsTTiNLOg5iH83bFT/d+0uW2rn6bATSm3xc5PEdE=,tag:XbBDrrjriXPedyT4+sBBwA==,type:str] + - name: ENC[AES256_GCM,data:9i4hZU7Hv/IMlI/1oYthx8g57nrst9LHZQk=,iv:IQanD/CA64A+hVyTQBiTvWdXyY8qNF9BpehWZxI5a9c=,tag:RiY0OJe2xbFPG6wfe5XjiA==,type:str] + content: ENC[AES256_GCM,data:lrwHaNvHkh5E94ziiQsd8ua9YvuwmhZ6iIGZS0oFnZdYKuyNh7egWOoii2o=,iv:LLRKhbiJl1GwK/SfqNdNrrJuDF17YXw3hHmuhlyI87w=,tag:DbR/a7jfy1+4yswSdYfOFA==,type:str] + - name: ENC[AES256_GCM,data:2lJUcDJ7ECJ1bF4Fg1VwOR2tBIQ77ZvDAbFF8w==,iv:HrPWIetjN/lOyQ7Mvk0sM1w+bWldlNfWhvw7/sfqKN8=,tag:AJL0s+f0O/yR4G3RVd1IHQ==,type:str] + content: ENC[AES256_GCM,data:68GUwG1Q2s2jH92HS0FQWrcMHJP8fHjrOqr21gsdswxKekQrpxX5B3BBFfM=,iv:HOsNUAKE5rOmKgZft2JK1NnZUuhk261d9WYWJS22nLM=,tag:3husFvB57AGVFzF7hKzLpw==,type:str] + - name: ENC[AES256_GCM,data:ESxpEp9k9BdD1GJv+af+U3ny0+RPuaJjWDhQ,iv:DxsZLiDF8F+ixepbUdlitMJ7DLHjGNFNuxRwLl7efo8=,tag:STnv/oLzbchdiwXfKP3fow==,type:str] + content: ENC[AES256_GCM,data:W2h5AcoT85OkekPeRkrf1m0bDdBjG/YNSbWlrcZtP7FjaPh/F+cx+J6oRRI=,iv:CLVXTqfstpIU3BX/Zdcnp9w0gWxeGDI/G1MNl6xr4ZU=,tag:yCqN4r1MV/VTWQvZ6COfIw==,type:str] + - name: ENC[AES256_GCM,data:IRwwy+WQxgQ8cDpB8HaCLpKwJj7oC87p0XOxWRo=,iv:BLXNMcigvaOeY6y4NlLPMMWQt9XFi6nodRwIYFgAAnU=,tag:OdQalmujOgrzW8oi64xMRg==,type:str] + content: ENC[AES256_GCM,data:C5oIcuEYtODsvjQZnbqbWVfP63mQzcRuh8f5rlBCyjwSq2mZiYGQe9t0T78=,iv:sITUDo9SKZTSwPfsMv4m4U0ruuVCcaxu7SUT52U4FSE=,tag:4CsSMJWQQPAIeK8DwUDBqg==,type:str] + - name: ENC[AES256_GCM,data:r0sbpjaGjezoNlyl1khy+Dly+8xbbfQZNB8om/E4/tj9lmM=,iv:MLrglBJA6BrHGmFRprlQcf5/Hqh952e5OyQQ9nPxumY=,tag:Se05kMBkSQ7TRxzij7Fo8A==,type:str] + content: ENC[AES256_GCM,data:/c1nRf1eZhbUmoQWvcj8yDaVPtyAN7Uu+S054q3C1/kXlQ7CgOe4CrMXnmk=,iv:ppar0aCKuIU3DOjwAoliZ5TOL199Z+Ffo4pCktjs0W8=,tag:nfaGutK+5KnlWBKU1MTxkQ==,type:str] + - name: ENC[AES256_GCM,data:7mwuykEqbGISOa2n+pWb6INLsHYdjyf2HxTtWpAr5xP1,iv:NMcg+L2DFtBO1nhyPid31yzLr+ZX7DUGl/WxV1MnrqU=,tag:65/BiUEI8v5oMlQqpKNDRg==,type:str] + content: ENC[AES256_GCM,data:SObbA3D/sGN5/i5ps4Zz3alygIXKbSgptFjfPHlwC8G588O+gKAkvKQwU/s=,iv:PY2vLfI3gInFeQbse49KC2/zZ9O4jeXAQ0fpP84GHHE=,tag:214Mb8hIYDkQ4+UkRWtc9w==,type:str] + - name: ENC[AES256_GCM,data:bES9O6JI4wTnuZsup9gflfaozeUDkfjVGNIFn8RnZQ==,iv:98kigM3KZIN5qXNdgfLg5WLmxzAsYCjNqVzyUPco/BI=,tag:1fwEtwQ6i9QQC3OCewN0eA==,type:str] + content: ENC[AES256_GCM,data:flO3Nb4u2WfWNVhn8k5Bgo3LmsHo2cVnLCsrz8ST9Ip7gO9FY9d27FQgphM=,iv:aiDoq+41cSjwcCZRaIPLtbltkOpc7FeuNN7swPqkHXQ=,tag:OhzcY2xKKJF2jZVRseXCFg==,type:str] + - name: ENC[AES256_GCM,data:ERsggezMBbs1YwbIgwzKSAEHWWOWYxap8IDdn2YtEKvZexqu,iv:XbObLp2QERgt57tc/Cpha1CWXi+GttcIU8hJFGSp8e8=,tag:FqCuSbvLRERpVnQTzQsfpQ==,type:str] + content: ENC[AES256_GCM,data:QPoZA71CwE8EFE0I+6z0z0O1bUCMQDDDG7wGNoxXKt3ovLkFt21r8WG7VhA=,iv:InX6A71f3DGTg1wO4G0ECf488+FnKgTHffVwvJ9hHQ0=,tag:EVxwJlneN1CbMLXto7uLFw==,type:str] +sops: + lastmodified: "2026-05-23T21:19:38Z" + mac: ENC[AES256_GCM,data:Ded0VfGn8H2qGMk5LDyqF1gW8hajKc9FgvCynHPQkWkhMSdaHYbFwf//gWi2TjIO22HD5sPw1w9KAjPy53b57RwBCjXfMMq0JCPvuePLK40NC8uCAi+wr5Er0fAWz1JiaA+dowposoi6RxBtyHCaNHMDVGMLh1j+IL+pTOyi6fk=,iv:gssOMmR0DDQC4WjMVXTD/zqbQa8qlBr9ZZWF15W0WnE=,tag:DORTxQfCmpVjDjyGSNH7dw==,type:str] + pgp: + - created_at: "2026-05-23T20:58:22Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxK/JaB2/SdtAQ//bbr0oza/X6GG43ay9coZbb+0aptj3pGzQqT1ND6nsI34 + iY3IZaMZIti+j/BS5kEfmRn56WZSx6EcbSrlbiyL5NZw9R4/bGRd848rOLwMvuYO + 8Usei9jHdpHiPvKBZnZXaXGU8E27L0Y/LCxSIFOXbyHzHogjz3JmtJQsYpSC+ue6 + mIRrSAJPALrqEL+DZ2bl5UYlBIRXdtIe/jL1CFCJhULt+EjJw72T62DZK/jaNZTj + eint63+IFZSxx5e5vrAeQB+p2EDsp6c5NbDrlgQWb8/J1q/G5bG4KxBs/0hum7OW + /sSsIDb4Qb8U/axt5LduV6AkMXXsclNLQU/LbFAbBRcV8Lvh11f0U3V/UnqUdmvp + efesb5VQh1x0uWjzobxaioLEV/YYbWx8binvuJ3MBHKp6E2xj7IrBTVl0MWgjEou + ZbQDF8DvxA49xEnJyOviL2/zjnV1kXy+Q+BKZga3pr8AnBHA8Ftbsvmk6CyDEM0R + i4FAUOVa9VWiszoOaqyn1Fl02YlweFmgzuFjd3wi74Tbi6RE37rN/vBKySbnRQYl + rFUU3SQlztxd4UBAXBo6gQKTz5B4rehvKVye2mmqEE9bas/lCWAKVJ7+3+0NQdA2 + lp/X7h7DRSD2Qkd35SzxkJz7P86rd0LM1aOu87psxYavEWw6vFs2ErDkSeqDn1DU + aAEJAhDb1s+jpDUa3GvVZjoiiCyutI018jfJU1vi12PGktg4KJcXBx66R/nLItO2 + ba6o66scIiAJZ+jYymW6RbJTI7XRHJp4Cs8COhpMRQeOGwEHFGGL2rpGd3KrOLQe + 0/C6EmrJvGpl + =atNE + -----END PGP MESSAGE----- + fp: EF643F59E008414882232C78FFA8331EEB7D6B70 + - created_at: "2026-05-23T20:58:22Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQEMA1QflAioE8i3AQf+NkUGCBrTCkkyl+iBb6P1IWLDGqAY8s20mBZ7G3plKE/J + UrIe947letj/8EA+yoN0uzjwEkh3rDLtZrOLTSgflq1GMpdVhdaTbS71fD3kghJQ + P9tz0zDQEgXHBi+2q7iRrEETx/cu7UDNkSCNvQbWvDmo8MfbSBy+VFCknfupdQxj + 9hlq4kBA0pckPCY8V7E05nDhQntS8wpXIEO1SWiSuiGg+p4yFlvNzWNfhLyEFHxL + BZHVVIU/mzyClMajjLJWjKI1LSgHXXIa28tgdrtiBZOsF+CWveYqJlRJh9NUepJI + ZSeFNhyWmnS9ZkQu5BUyb7+oRxfq2NY51T76Xbo8gNJeAZWwyr1sj1wjubuVeNMF + aU6FiynYWr3I35JRVghTMJ93CnPl+NTpWnQuHpq1bzEGe2u8BMFhgrTu2yMD23VQ + eGien6SqfEbA/wAiz9ZaUgTQH8UyHpliteZ8/SQgkw== + =UJvq + -----END PGP MESSAGE----- + fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 + - created_at: "2026-05-23T20:58:22Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAz5uSgHG2iMJAQ/+O5JOJfDp/BuBCuXDQVUgJagspQO6LZ/MLrl9qH282AMf + MdgN5M/WjbOv6WZDCMg4nfXps1XgzUEiaA/1m4PxHlMmxjEoQHAE51GMcxsXg+B1 + lM+8uJ1+js1sdDX4xsZtJpbVxJKIbPuhF7oM950oDlL2+UKhUbPlCoxeOihlkVGa + RqHJ/M74xkyKH281oRI5bllJaAroBnXVSFIvbCxA7ts/O7YJPKBowTIj62Kye9Ra + aHC11bPy2RlJCcFZJjPSdnXvzUMpfzEd6O72VUtMBBQZn/in7efutC8FwpRYuUW7 + vSofxUN5n6Mtb8A1XSMFD/nfXVc/pM6Cu7kdtHSwSKgbKKf6mrCeVgaM9xcG0t2W + 9yEtWvkdvOOSqz/vd1vkftbBWcCejX7bktfmD408CJAs1bjzz5CyrDoWcnYmbxFY + 6N4rhMDRMTe19VH2UQ4EvSjQjmmYCspnUW3/78zi5kU1ijyQy13UpbgwulU7tSGc + KKtBjPoy6mLIVl0YhnEJZWD/XPIRWyW+0s+7m70YXCWSVipvCelEE8oPWjf8PLaE + J85crlZGkSRcRO7yOP/YtB9ZnajgaF33zJU3ZWr0C/IXj2TeepZp/JUteD2H/LRf + 9YJzOFYDOFIWcdmaTzJLBEaefWcDjT6wkIf6TBqQRMLsu8JUwy9VwFcsi/d5aMXS + XgEQqSxYb1B39OR0sS1Xpw0/CFe4imBPuG3w0tOAyM3DbPWYY1kZYIRZenV1ZIOS + aRZJh086kuWgHYB76VoNzDK3QperWvHL/8CT2g3HuPiVGSrrXwxCYXk5+UXB9bQ= + =Xx91 + -----END PGP MESSAGE----- + fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 + - created_at: "2026-05-23T20:58:22Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DsZXvxFXTXoQSAQdA0rZTVdySF9nUiz7ZyFJgq1tojyLojGTgE4UIEJzFSTUw + 9y4kbGn1cWMpAqr+sE3WHV9p7v6kgm/XdUjXGN4DadpUbiYx6sQW2Jov6Km2EYhq + 0l4BawupjX25wi7c2yR5iGdxYS8oCYVmGgcAB3T96v8VsXpkAOYQAOOh7B9GQIxm + hB3cFQLCy2un3VvBsiKGFMA2FhZYBOuaEwP/KmWnPv0IPIRH4by6LDB0xgq8MUNz + =xoVE + -----END PGP MESSAGE----- + fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE + - created_at: "2026-05-23T20:58:22Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DerEtaFuTeewSAQdAgcGcZ3BT6lsJ8FxkMghxg5/PZLtIzNeJaEUbxN0EFhsw + uM+Lec3k9BJSUJK8GeVmesYxQh8vP6Yi/+m2LnGjHXzkQg8Bx1HJzuC/Ap36rC6N + 0l4Bxj1URTsRD4yILEA3TY4Dn9St9uOtodJcf5YdAKvmeb3Uwy//huNnA1eK7b+v + WRHcU2K+GgkSzLiRLZTc/nMrrCQ/P5HzwYHmP2rypFX7kxXlPd3K6yMZWTiSgYZd + =gZLQ + -----END PGP MESSAGE----- + fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 + - created_at: "2026-05-23T20:58:22Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxjNhCKPP69fAQ//YGOLOFtORNbOu+KFCtGcJBXQMy6Ej3/tePVuDi2vmqLD + 3Dz6stB9D+BmBbcgbFlDA+g7Vi6DD+zcze9wM10iuc9t9ucAuQ7B/ymSvJc4MrYn + MJFvQv5IYgWJmzXLYEFYYpmZPGG3hSHSgWIPs+574wEA/L867ktguW6ZD3ZuMn3E + yjCTeT/ZkGjuIpGqMu2/o9Wvc+RYgWlCB69D8kTHtnbFzbqEzvKU5/zte5ThchA+ + QZwFd/gk3o1G/7WOYJJ6CbBSOQaSrfm0mnb6sppNPdOAQtqHVSFVX5vX96gXsht/ + AkrvD6/2R5eNzbqRaU83cg7c5far49xoBbL6czreWY3D56yK4BJbrrg9mK7oCEfO + GaRDFFD7R4LJPfVx2xDoIQ3Hyp4E3dz4nyJx0Kg7NSEt7soOb5MnZ+04LLAiHbaT + qZr618V530uw3qaCsYcgHy+WsZXXlqXQey3A7jphi3u9Kvn9UjeegjNvpOrMk6g1 + RhGzv72G0wjZnzjTjPlzeROHaQ6RPgfpkZjEcVZNZkfAgAbB3XPgCFGKz4qvx9MP + 4eHIlBSJizLzSi519o+0i5PwrZdEf9L4RUVxgQgdJXMh1JaydVh5DOU+xomdStD5 + Maymkt8fSgYgDaS953YA2e04PrkXCH0EHZ62T9EMxreEoU3nYTmw/TGx7RfU+wzS + XgEuQkLWSToJ40/Ir3obDA246yv7J2FpmPwG4oFypkM5xe1WjlMlk90b9RBhUgXk + ylRXXLBzau6mtbPOa7LGdVyVs2DClWQo9BoK+dxEsnW+TR144O4UmZEfifJXvgQ= + =ympd + -----END PGP MESSAGE----- + fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 + - created_at: "2026-05-23T20:58:22Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA46L6MuPqfJqARAAshm2x7wX/9g3XJtSN0AnSeCwSHO1I4+ebLKOsB7zcXh8 + hrVO3694jQcU9L01H7jGYw4lNNzBd61/uVE5AvMq4Sqn9iH3MFNESbAEOWVV+TRf + 53JMg9C/aZfde8gHgHPaiVXlCBVEVY9CqHpUXUKDmEE7iRb5P4DuMxOmybDYZGzY + 4c5Ke1MFMkGRmAtsT1qLrT2vh+F0CX4JwpMkxCmOzSWAXbwrVOigJ35l5zM6vme4 + 5EQu9jI8FApTxVchZbr0v3UOKxp5OebqC0jGeznZNf4qb0qnsvuowY6IIw5Tl3/q + H4TLq5EUOVqTC1voIWY/gMjieiW1gtr6vASy4MvbswsZLc26YVE9IbHzAOUWDN2o + f2iQ3aZYuINvniD23XtM0TKepDXWq5eF+AJpmyP/LL8sYvSnWFD+muK3O657djEu + yGZs2EFTrkiUvhBq3apOOYiU0eOi4Aq6UeEbOsLENnQrBRXuHEm4KUSwzOitVwJ1 + ByxQTu7wzY727SOR2hzjMC0LI602WGpEQU7ech5L4uWqtMFwaBP9HnUamcofKqqt + 1vI2BevsJfQ0rtTE6GWseHt702lllTGe3RnHWc6YsMWLwUfRdBPggMW37hAPPcfO + ytbU3RJIxx4vImRtXhkI5yvbpFQrooz1zSeXWaitPE5jmmiKe9IRStLnfiq9E2TS + XgFVuQM8K0LgUYEoAipvafhnC3ohfGsM2AYd36EoaMNLeQ2ZZEiV06/Y3EWoI0iM + aqRLwyBvTuDOc5BK32nCbAgUbbPJjPhqWaoNp5ymCBV76oW613gApkzoUF+OIUU= + =KKaI + -----END PGP MESSAGE----- + fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A + - created_at: "2026-05-23T20:58:22Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DQrf1tCqiJxoSAQdA8YKD21h5POTLPf04KvGN93omFgkYO+Y8Kc0jM0vdqm8w + 3zYRaLsDjdh8Zd89/HhHJUfLrTp/IJ0n81sK0ZjznbXKxgkseGthMzof+L7BnPAp + 0l4BnAs9iZS4q2LZVS7ySBP89xLmF97qhK2jagMNSAwq8Afxbcw8oQAVQmeyYfxx + X59irIHjI1ugO4o1WnTN67nTQjU5msbVBs0eALrw3jobzFHRL67fS0a4Soa59LTY + =ZHIU + -----END PGP MESSAGE----- + fp: B71138A6A8964A3C3B8899857B4F70C356765BAB + - created_at: "2026-05-23T20:58:22Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DzAGzViGx4qcSAQdAN7rRlv3dMoFOfj9eHgf+0H8521b32nWqySUdriEy6Tcw + gjuReMBpKQOgUfuhIiWkHIKNtNgMrYWiC20ESOXX5b9uYZNpqHCgHQPlX0lEeGim + 0lgBOieL7mSEq4wkWLCSv4sBAmkQA+dnugBeF+TrlqKQTZsbe/Z+jNG4ZrHRvdqi + 4I5It+uaRV9Vrul1c6H7fNreRPUd4hNyJwU7gZQ+vU2WyAmgqerxE1Wb + =gplT + -----END PGP MESSAGE----- + fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD + - created_at: "2026-05-23T20:58:22Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA2pVdGTIrZI+ARAAjWK8mU99VcnM/Ckzm+YsZFTwnz4PDAenDDdZ1OOz5IXe + tS4SQPcQlSSOuXEkFLJMmm8QVxtUC3Gh4nF7o+7OygT+0ZXOrB7jFgg10+v/KVA9 + hSlqBdsMxcC0OzBtkGyAOXOxqnTVubuHEGyGpIryHt1/lthUUZHBbjgw7P0Tw2/U + sYK5j5YbqhyBl20gyZorkTTq7pHfVXDVtpe75+ZkqbOg4S6HgW3/dl+v6N0TLfRs + GVl0fUlWIK/akGCB71zdwJs2I1qTeMTlL6v+XSUdXj0YV+5fjh3wf8qzN9geIjQK + ybxGFWDKCAgTMnqoFF5BCL23hFtnCbTtLN1wQT7/m7zpjaBKHOBXZOGXYZCMGZui + sBsUvPANgNdfOse9H2aABQvUQh8WqFw8S73GasvrZHAwEmvnXzocMJd+kUovzmQu + 9FBk5UkcgXfmxeamoP8C700vh4zI+sKz6uEW0+AuVtLlLVqlb2w21kTc+ArZW52n + HLolH5q3Wj6pKuuFCWKr6UgLFcq2w4QngB2p+UABHU3RbwXIra7prDXCUcNC5iCn + ElRFY7OZ3nbHOf9oaW/MitcfszVLyl0ueoay6qxdlIGdXKRGpqxHqqr+92INV/iz + 6CRoAsTqVq1a7ZuAaUdJPvfKVAHHEHjPwlrOc9cXvykG0iQKsRzgqiOtPiGQShnU + aAEJAhDSqCwywHDnQ7X9ZWIzPjwvqyHpEVez8zYh3vpgKpsLb9uL+JizZjV02HMe + nhiL+4o/aNjJgGJWph1uPFhU4wO4AavnNBsHbJSiL/1yTS96hdf8d+gB41yVLU3e + kBkDFLKkIBkU + =aRLd + -----END PGP MESSAGE----- + fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + - created_at: "2026-05-23T20:58:22Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DKKbvh61jX5USAQdABId/P8ozRgJ4ItF1zvxp98aH+g3LZ6UGnxjYjtDxjEIw + VmyerznjOLnpz0EobXRRoot1Lo82Va64HQmXt26LG3gFY1HVp0WOnIZXa/CUoUb8 + 1GgBCQIQloFxKcgFTiRidaJfN7hSeQLleiEe3aifZUyJj8niTmBaY29t+CSoA46N + xZzX1AlxVjfmputhYdTyOYSJtGrj7otmnUN2P+55pjz4L2qCYAEKi1+ibqgpmJh/ + bETQsT6WKJ8FXA== + =Ci7L + -----END PGP MESSAGE----- + fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 + unencrypted_suffix: _unencrypted + version: 3.13.1 diff --git a/inventories/z9/host_vars/rt1.yaml b/inventories/z9/host_vars/rt1.yaml new file mode 100644 index 0000000000..218f4c403c --- /dev/null +++ b/inventories/z9/host_vars/rt1.yaml @@ -0,0 +1,6 @@ +systemd_networkd__config_dir: 'resources/z9/rt1/systemd_networkd/' +systemd_networkd__global_config: "{{ lookup('ansible.builtin.file', 'resources/z9/rt1/systemd_networkd_global_config.conf') }}" +nftables__config: "{{ lookup('ansible.builtin.file', 'resources/z9/rt1/nftables/nftables.conf') }}" +ansible_pull__timer_on_calendar: "*-*-* 04:00:00 Europe/Berlin" +ansible_pull__timer_randomized_delay_sec: 0min +unbound_access_control: [ "10.89.208.0/20" ] diff --git a/inventories/z9/hosts.yaml b/inventories/z9/hosts.yaml index b07a2864e4..42e9a234f1 100644 --- a/inventories/z9/hosts.yaml +++ b/inventories/z9/hosts.yaml @@ -15,6 +15,9 @@ all: yate: ansible_host: yate.z9.ccchh.net ansible_user: chaos + rt1: + ansible_host: rt1.ccchh.net + ansible_user: chaos certbot_hosts: hosts: light: @@ -34,6 +37,7 @@ infrastructure_authorized_keys_hosts: light: waybackproxy: yate: + rt1: nginx_hosts: hosts: light: @@ -47,6 +51,12 @@ transmission: proxmox_vm_template_hosts: hosts: thinkcccore0: +systemd_networkd_hosts: + hosts: + rt1: +nftables_hosts: + hosts: + rt1: alloy_hosts: hosts: light: @@ -60,5 +70,6 @@ ansible_pull_hosts: yate: secrets_hosts: hosts: + rt1: forgejo_runner_hosts: hosts: diff --git a/resources/z9/rt1/nftables/nftables.conf b/resources/z9/rt1/nftables/nftables.conf new file mode 100644 index 0000000000..21bfbd1670 --- /dev/null +++ b/resources/z9/rt1/nftables/nftables.conf @@ -0,0 +1,111 @@ +#!/usr/sbin/nft -f + +## Variables + +# Hosts + + +# Interfaces +define if_netwan = "netwan" +define if_netlan = "netlan" +define if_wg55_management = "wg55" +define if_netwan_400_fux_uplink = "netwan.400" +define if_netlan_51_clients = "netlan.51" +define if_netlan_52_iot = "netlan.52" +define if_netlan_53_public = "netlan.53" +define if_netlan_54_management = "netlan.54" + +# Interface Groups +define wan_ifs = { $if_netwan_400_fux_uplink } +define lan_ifs = { $if_netlan_51_clients, + $if_netlan_52_iot, + $if_netlan_53_public, + $if_netlan_54_management } +define v4_exposed_ifs = { $if_netlan_53_public } +define v6_exposed_ifs = { $if_netlan_53_public } +define v4_nat_ifs = { $if_netlan_51_clients, + $if_netlan_52_iot, + $if_netlan_54_management } + + +## 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 + # 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" + + # Allow WireGuard access. + udp dport 51820 accept comment "allow WireGuard access" + + # Allow DHCP server access. + iifname { $lan_ifs } 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; + + iifname { $v4_nat_ifs, $if_wg55_management } oifname $wan_ifs 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. + iifname { $lan_ifs, $if_wg55_management } oifname $wan_ifs accept comment "allow 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" + + # Allow clients and managment to most + iifname { $if_netlan_51_clients, $if_netlan_54_management, $if_wg55_management } oifname $lan_ifs accept comment "allow clients and managment to lan_ifs" + } +} diff --git a/resources/z9/rt1/systemd_networkd/00-netlan.link b/resources/z9/rt1/systemd_networkd/00-netlan.link new file mode 100644 index 0000000000..c2e2470791 --- /dev/null +++ b/resources/z9/rt1/systemd_networkd/00-netlan.link @@ -0,0 +1,6 @@ +[Match] +MACAddress=BC:24:11:72:A3:27 +Type=ether + +[Link] +Name=netlan diff --git a/resources/z9/rt1/systemd_networkd/00-netwan.link b/resources/z9/rt1/systemd_networkd/00-netwan.link new file mode 100644 index 0000000000..523e18a958 --- /dev/null +++ b/resources/z9/rt1/systemd_networkd/00-netwan.link @@ -0,0 +1,6 @@ +[Match] +MACAddress=BC:24:11:CF:65:57 +Type=ether + +[Link] +Name=netwan diff --git a/resources/z9/rt1/systemd_networkd/10-netlan.51.netdev b/resources/z9/rt1/systemd_networkd/10-netlan.51.netdev new file mode 100644 index 0000000000..b951ecc3af --- /dev/null +++ b/resources/z9/rt1/systemd_networkd/10-netlan.51.netdev @@ -0,0 +1,7 @@ +[NetDev] +Name=netlan.51 +Kind=vlan + +[VLAN] +Id=51 + diff --git a/resources/z9/rt1/systemd_networkd/10-netlan.52.netdev b/resources/z9/rt1/systemd_networkd/10-netlan.52.netdev new file mode 100644 index 0000000000..1f345c7291 --- /dev/null +++ b/resources/z9/rt1/systemd_networkd/10-netlan.52.netdev @@ -0,0 +1,7 @@ +[NetDev] +Name=netlan.52 +Kind=vlan + +[VLAN] +Id=52 + diff --git a/resources/z9/rt1/systemd_networkd/10-netlan.53.netdev b/resources/z9/rt1/systemd_networkd/10-netlan.53.netdev new file mode 100644 index 0000000000..c6dab8122d --- /dev/null +++ b/resources/z9/rt1/systemd_networkd/10-netlan.53.netdev @@ -0,0 +1,7 @@ +[NetDev] +Name=netlan.53 +Kind=vlan + +[VLAN] +Id=53 + diff --git a/resources/z9/rt1/systemd_networkd/10-netlan.54.netdev b/resources/z9/rt1/systemd_networkd/10-netlan.54.netdev new file mode 100644 index 0000000000..6271e6c494 --- /dev/null +++ b/resources/z9/rt1/systemd_networkd/10-netlan.54.netdev @@ -0,0 +1,7 @@ +[NetDev] +Name=netlan.54 +Kind=vlan + +[VLAN] +Id=54 + diff --git a/resources/z9/rt1/systemd_networkd/10-netwan.400.netdev b/resources/z9/rt1/systemd_networkd/10-netwan.400.netdev new file mode 100644 index 0000000000..e0b6afcf7c --- /dev/null +++ b/resources/z9/rt1/systemd_networkd/10-netwan.400.netdev @@ -0,0 +1,7 @@ +[NetDev] +Name=netwan.400 +Kind=vlan + +[VLAN] +Id=400 + diff --git a/resources/z9/rt1/systemd_networkd/10-wg55.netdev b/resources/z9/rt1/systemd_networkd/10-wg55.netdev new file mode 100644 index 0000000000..b3e41a62d6 --- /dev/null +++ b/resources/z9/rt1/systemd_networkd/10-wg55.netdev @@ -0,0 +1,90 @@ +[NetDev] +Description=Admin-Wireguard +Kind=wireguard +Name=wg55 + +[WireGuard] +ListenPort=51820 +PrivateKeyFile=/etc/ansible_secrets/wireguard_wg55_privat_key + +# WireGuard Peers + +[WireGuardPeer] +# friendly_name = stb +AllowedIPs = 10.89.214.2/32,2a07:c481:1:37::2/128 +PublicKey = vILSL4dbaC5IaTsRhJviamV18ssxWSj+qLVyowLQ214= +PersistentKeepalive = 30 + +[WireGuardPeer] +# friendly_name = fi +AllowedIPs = 10.89.214.3/32,2a07:c481:1:37::3/128 +PublicKey = UHi/if5uW2V3+8Q3R+uk6/XpRi4fPXbw7chsKI4xlkI= +PresharedKeyFile = /etc/ansible_secrets/wireguard_wg55_peer_fi_psk + +[WireGuardPeer] +# friendly_name = jtbx +AllowedIPs = 10.89.214.4/32,2a07:c481:1:37::4/128 +PublicKey = NyyEqdWgScgsnTF8Zz/Om4Lc84fdFMwVtvaCmLEkUlQ= + +[WireGuardPeer] +# friendly_name = June +AllowedIPs = 10.89.214.6/32,2a07:c481:1:37::6/128 +PublicKey = 6jAEB+f9przBGxPhuvv9U9gvZDEBQNqpQSD0BoGqXQQ= +PresharedKeyFile = /etc/ansible_secrets/wireguard_wg55_peer_June_psk + +[WireGuardPeer] +# friendly_name = Max +AllowedIPs = 10.89.214.7/32,2a07:c481:1:37::7/128 +PublicKey = oC1hJjtlAgLX/CmbwTC+LPmd1uwluQTwsN8RaMNmHn0= +PresharedKeyFile = /etc/ansible_secrets/wireguard_wg55_peer_Max_psk + +[WireGuardPeer] +# friendly_name = dario +AllowedIPs = 10.89.214.9/32,2a07:c481:1:37::9/128 +PublicKey = bYF2EGRGpEGjiKcasi/oaWoWeLsgqsF6FGaq3Z4ERww= +PresharedKeyFile = /etc/ansible_secrets/wireguard_wg55_peer_dario_psk + +[WireGuardPeer] +# friendly_name = June-mobile +AllowedIPs = 10.89.214.11/32,2a07:c481:1:37::11/128 +PublicKey = 6edjXykegUgGjbkIG1aJyBlX1SgTKcqXXaSBVPHdKDc= +PresharedKeyFile = /etc/ansible_secrets/wireguard_wg55_peer_June-mobile_psk + +[WireGuardPeer] +# friendly_name = djerun_at_ferrum.local +AllowedIPs = 10.89.214.12/32,2a07:c481:1:37::12/128 +PublicKey = aHbdkTHhPkd+o7wWfTua9nd72aF4OVp66zGtpaoD8Fg= + +[WireGuardPeer] +# friendly_name = c6ristian +AllowedIPs = 10.89.214.13/32,2a07:c481:1:37::13/128 +PublicKey = 6ndwj3Ur6AqfUPWuyPYXIaGZs2ujJKawSQ9LEvlYzEc= +PresharedKeyFile = /etc/ansible_secrets/wireguard_wg55_peer_c6ristian_psk + +[WireGuardPeer] +# friendly_name = langoor +AllowedIPs = 10.89.214.14/32,2a07:c481:1:37::14/128 +PublicKey = qTnVQlQa1m4SucFFNli/xM6QWfsdWx2baRAit7Cg8RM= +PresharedKeyFile = /etc/ansible_secrets/wireguard_wg55_peer_langoor_psk + +[WireGuardPeer] +# friendly_name = langoor_home +AllowedIPs = 10.89.214.15/32,2a07:c481:1:37::15/128 +PublicKey = NeMDs2+5rHuKO5ZYXVUR76GorgdesFUnDOFECQ3RzG4= +PresharedKeyFile = /etc/ansible_secrets/wireguard_wg55_peer_langoor_home_psk + +[WireGuardPeer] +# friendly_name = lilly-lillysLaptop +AllowedIPs = 10.89.214.16/32 #,2a07:c481:1:37::/128 +PublicKey = IBsI+N8qUNpQnDc5HnqQ2Zo/1graFM0RMIecHmAF+Vk= + +[WireGuardPeer] +# friendly_name = bitwhisker +AllowedIPs = 10.89.214.17/32,2a07:c481:1:37::a/128 +PublicKey = DvEGvQPGi+IxeRTIA72Gx3WNINcrV9HRNB1v7mHnhjA= + +[WireGuardPeer] +# friendly_name = forestcat +AllowedIPs = 10.89.214.18/32,2a07:c481:1:37::b/128 +PublicKey = PdJ7KlIeASizj0WTY87d7oSi14/MebrhRa+L8YiPoQE= + diff --git a/resources/z9/rt1/systemd_networkd/20-netlan.network b/resources/z9/rt1/systemd_networkd/20-netlan.network new file mode 100644 index 0000000000..3aed7151df --- /dev/null +++ b/resources/z9/rt1/systemd_networkd/20-netlan.network @@ -0,0 +1,12 @@ +[Match] +Name=netlan + +[Link] +RequiredForOnline=no + +[Network] +VLAN=netwan.51 +VLAN=netwan.52 +VLAN=netwan.53 +VLAN=netwan.54 + diff --git a/resources/z9/rt1/systemd_networkd/20-netwan.network b/resources/z9/rt1/systemd_networkd/20-netwan.network new file mode 100644 index 0000000000..89a8494aec --- /dev/null +++ b/resources/z9/rt1/systemd_networkd/20-netwan.network @@ -0,0 +1,9 @@ +[Match] +Name=netwan + +[Link] +RequiredForOnline=no + +[Network] +VLAN=netwan.400 + diff --git a/resources/z9/rt1/systemd_networkd/20-wg55.network b/resources/z9/rt1/systemd_networkd/20-wg55.network new file mode 100644 index 0000000000..750e8445d4 --- /dev/null +++ b/resources/z9/rt1/systemd_networkd/20-wg55.network @@ -0,0 +1,6 @@ +[Match] +Name=wg55 + +[Network] +Address=10.89.214.1/24 +Address=2a07:c481:1:37::1/64 diff --git a/resources/z9/rt1/systemd_networkd/21-netlan.51-clients.network b/resources/z9/rt1/systemd_networkd/21-netlan.51-clients.network new file mode 100644 index 0000000000..5e9635f640 --- /dev/null +++ b/resources/z9/rt1/systemd_networkd/21-netlan.51-clients.network @@ -0,0 +1,27 @@ +[Match] +Name=netlan.51 +Type=vlan + +[Link] +RequiredForOnline=no + +[Network] +Description=clients + +# Masquerading done in nftables (nftables.conf). +IPv6SendRA=yes + +[Address] +Address=10.89.208.1/22 + +[IPv6SendRA] +UplinkInterface=netwan.400 +EmitDomains=true +Domains=ccchh.net +Managed=true + +[IPv6Prefix] +Prefix=2a07:c481:1:33::/64 +Assign=true +Token=static:::1 + diff --git a/resources/z9/rt1/systemd_networkd/21-netlan.52-iot.network b/resources/z9/rt1/systemd_networkd/21-netlan.52-iot.network new file mode 100644 index 0000000000..5b5861035b --- /dev/null +++ b/resources/z9/rt1/systemd_networkd/21-netlan.52-iot.network @@ -0,0 +1,27 @@ +[Match] +Name=netlan.52 +Type=vlan + +[Link] +RequiredForOnline=no + +[Network] +Description=IoT + +# Masquerading done in nftables (nftables.conf). +IPv6SendRA=yes + +[Address] +Address=10.89.212.1/24 + +[IPv6SendRA] +UplinkInterface=netwan.400 +EmitDomains=true +Domains=ccchh.net +Managed=true + +[IPv6Prefix] +Prefix=2a07:c481:1:34::/64 +Assign=true +Token=static:::1 + diff --git a/resources/z9/rt1/systemd_networkd/21-netlan.53-public.network b/resources/z9/rt1/systemd_networkd/21-netlan.53-public.network new file mode 100644 index 0000000000..f544a5bc88 --- /dev/null +++ b/resources/z9/rt1/systemd_networkd/21-netlan.53-public.network @@ -0,0 +1,27 @@ +[Match] +Name=netlan.53 +Type=vlan + +[Link] +RequiredForOnline=no + +[Network] +Description=public + +# Masquerading done in nftables (nftables.conf). +IPv6SendRA=yes + +[Address] +Address=185.161.130.65/28 + +[IPv6SendRA] +UplinkInterface=netwan.400 +EmitDomains=true +Domains=ccchh.net +Managed=true + +[IPv6Prefix] +Prefix=2a07:c481:1:35::/64 +Assign=true +Token=static:::1 + diff --git a/resources/z9/rt1/systemd_networkd/21-netlan.54-management.network b/resources/z9/rt1/systemd_networkd/21-netlan.54-management.network new file mode 100644 index 0000000000..2396da02cb --- /dev/null +++ b/resources/z9/rt1/systemd_networkd/21-netlan.54-management.network @@ -0,0 +1,27 @@ +[Match] +Name=netlan.54 +Type=vlan + +[Link] +RequiredForOnline=no + +[Network] +Description=Management + +# Masquerading done in nftables (nftables.conf). +IPv6SendRA=yes + +[Address] +Address=10.89.213.0/24 + +[IPv6SendRA] +UplinkInterface=netwan.400 +EmitDomains=true +Domains=ccchh.net +Managed=true + +[IPv6Prefix] +Prefix=2a07:c481:1:36::/64 +Assign=true +Token=static:::1 + diff --git a/resources/z9/rt1/systemd_networkd/21-netwan.400-fux_uplink.network b/resources/z9/rt1/systemd_networkd/21-netwan.400-fux_uplink.network new file mode 100644 index 0000000000..1657c40a74 --- /dev/null +++ b/resources/z9/rt1/systemd_networkd/21-netwan.400-fux_uplink.network @@ -0,0 +1,26 @@ +[Match] +Name=netwan.400 +Type=vlan + +[Link] +RequiredForOnline=no + +[Network] +Description=fux-uplink + +DNS=185.161.128.66 +DNS=2a07:c481:0:4::2 +DNS=185.161.128.67 +DNS=2a07:c481:0:4::3 + +IPv6AcceptRA=no +# Masquerading done in nftables (nftables.conf). +IPv6SendRA=no + +[Address] +Address=185.161.129.134/25 +Address=2a07:c481::1:2/64 + +[Route] +Gateway=185.161.129.129 +Gateway=2a07:c481::1 diff --git a/resources/z9/rt1/systemd_networkd_global_config.conf b/resources/z9/rt1/systemd_networkd_global_config.conf new file mode 100644 index 0000000000..2d3d8a3424 --- /dev/null +++ b/resources/z9/rt1/systemd_networkd_global_config.conf @@ -0,0 +1,3 @@ +[Network] +IPv4Forwarding=true +IPv6Forwarding=true From 010b8d12249546175abd0aa5977c8281fd0e65d8 Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Sun, 24 May 2026 04:01:11 +0200 Subject: [PATCH 371/417] rt1(z9 host) unbound(role) kea_dhcp(role): create unbound and kea_dhcp role for rt1 - create unbound role - create kea_dhcp role - configure unbound and keadhcp on rt1(z9 host) --- inventories/z9/host_vars/rt1.yaml | 1 + inventories/z9/hosts.yaml | 7 + playbooks/deploy.yaml | 14 + resources/z9/rt1/kea_dhcp.yaml | 293 ++++++++++++++++++ resources/z9/rt1/nftables/nftables.conf | 3 + roles/kea_dhcp/defaults/main.yaml | 69 +++++ roles/kea_dhcp/handlers/main.yml | 30 ++ roles/kea_dhcp/meta/argument_specs.yaml | 125 ++++++++ roles/kea_dhcp/tasks/install_archlinux.yml | 8 + roles/kea_dhcp/tasks/install_debian.yml | 22 ++ roles/kea_dhcp/tasks/kea.yaml | 51 +++ roles/kea_dhcp/tasks/main.yml | 19 ++ roles/kea_dhcp/tasks/stork-agent.yaml | 76 +++++ .../kea_dhcp/templates/kea-ctrl-agent.conf.j2 | 20 ++ roles/kea_dhcp/templates/kea-dhcp4.conf.jinja | 27 ++ roles/kea_dhcp/templates/kea-dhcp6.conf.jinja | 27 ++ .../kea_dhcp/templates/stork-agent.env.jinja | 44 +++ roles/unbound/README.md | 19 ++ roles/unbound/defaults/main.yml | 7 + roles/unbound/files/no-resolved.resolv.conf | 1 + roles/unbound/handlers/main.yml | 27 ++ roles/unbound/tasks/main.yml | 63 ++++ roles/unbound/tasks/prometheus-exporter.yml | 17 + roles/unbound/templates/unbound.conf.j2 | 73 +++++ 24 files changed, 1043 insertions(+) create mode 100644 resources/z9/rt1/kea_dhcp.yaml create mode 100644 roles/kea_dhcp/defaults/main.yaml create mode 100644 roles/kea_dhcp/handlers/main.yml create mode 100644 roles/kea_dhcp/meta/argument_specs.yaml create mode 100644 roles/kea_dhcp/tasks/install_archlinux.yml create mode 100644 roles/kea_dhcp/tasks/install_debian.yml create mode 100644 roles/kea_dhcp/tasks/kea.yaml create mode 100644 roles/kea_dhcp/tasks/main.yml create mode 100644 roles/kea_dhcp/tasks/stork-agent.yaml create mode 100644 roles/kea_dhcp/templates/kea-ctrl-agent.conf.j2 create mode 100644 roles/kea_dhcp/templates/kea-dhcp4.conf.jinja create mode 100644 roles/kea_dhcp/templates/kea-dhcp6.conf.jinja create mode 100644 roles/kea_dhcp/templates/stork-agent.env.jinja create mode 100644 roles/unbound/README.md create mode 100644 roles/unbound/defaults/main.yml create mode 100644 roles/unbound/files/no-resolved.resolv.conf create mode 100644 roles/unbound/handlers/main.yml create mode 100644 roles/unbound/tasks/main.yml create mode 100644 roles/unbound/tasks/prometheus-exporter.yml create mode 100644 roles/unbound/templates/unbound.conf.j2 diff --git a/inventories/z9/host_vars/rt1.yaml b/inventories/z9/host_vars/rt1.yaml index 218f4c403c..876776a36f 100644 --- a/inventories/z9/host_vars/rt1.yaml +++ b/inventories/z9/host_vars/rt1.yaml @@ -4,3 +4,4 @@ nftables__config: "{{ lookup('ansible.builtin.file', 'resources/z9/rt1/nftables/ ansible_pull__timer_on_calendar: "*-*-* 04:00:00 Europe/Berlin" ansible_pull__timer_randomized_delay_sec: 0min unbound_access_control: [ "10.89.208.0/20" ] +kea_dhcp__include_vars: resources/z9/rt1/kea_dhcp.yaml diff --git a/inventories/z9/hosts.yaml b/inventories/z9/hosts.yaml index 42e9a234f1..b1770ee732 100644 --- a/inventories/z9/hosts.yaml +++ b/inventories/z9/hosts.yaml @@ -57,11 +57,18 @@ systemd_networkd_hosts: nftables_hosts: hosts: rt1: +unbound_hosts: + hosts: + rt1: +kea_dhcp_hosts: + hosts: + rt1: alloy_hosts: hosts: light: yate: dooris: + rt1: ansible_pull_hosts: hosts: dooris: diff --git a/playbooks/deploy.yaml b/playbooks/deploy.yaml index 59fe15a4d5..2a1498acb7 100644 --- a/playbooks/deploy.yaml +++ b/playbooks/deploy.yaml @@ -27,6 +27,20 @@ tags: - nftables +- name: Ensure unbound deployment on unbound_hosts + hosts: unbound_hosts + roles: + - unbound + tags: + - unbound + +- name: Ensure kea_dhcp deployment on kea_dhcp_hosts + hosts: kea_dhcp_hosts + roles: + - kea_dhcp + tags: + - kea_dhcp + - name: Ensure deployment of infrastructure authorized keys hosts: infrastructure_authorized_keys_hosts roles: diff --git a/resources/z9/rt1/kea_dhcp.yaml b/resources/z9/rt1/kea_dhcp.yaml new file mode 100644 index 0000000000..d1918813bd --- /dev/null +++ b/resources/z9/rt1/kea_dhcp.yaml @@ -0,0 +1,293 @@ +kea_dhcp__dns_servers: + v4: + - 185.161.129.134 + v6: + - 2a07:c481::1:2 + +kea_dhcp__dhcp4: + enable: true + interfaces: [ "netlan.51", "netlan.52", "netlan.54" ] + control-sockets: + - socket-name: /var/run/kea-dhcp4-ctrl-agent.sock + socket-type: unix + lease-database: + type: memfile + persist: true + option-data: + - name: "domain-name-servers" + code: 6 + csv-format: true + data: "{{ kea_dhcp__dns_servers.v4 | join(',') }}" + subnets: + - id: 1 + subnet: 10.89.208.0/22 + pools: + - pool: "10.89.208.32 - 10.89.211.250" + reservations: + - ip-address: 10.89.208.11 + hostname: beamer + hw-address: "ac:87:a3:18:9e:01" + - ip-address: 10.89.208.12 + hostname: Brother-CCCHH + hw-address: "00:80:77:04:3a:55" + - ip-address: 10.89.208.13 + hostname: muzak + hw-address: "00:11:24:5f:4f:80" + - ip-address: 10.89.208.14 + hostname: Big-Room-Beamer + hw-address: "64:d2:c4:db:08:5c" + - ip-address: 10.89.208.16 + hostname: dooris + hw-address: "bc:24:11:b3:93:9c" + - ip-address: 10.89.208.17 + hostname: hmdooris-ccu + hw-address: "bc:24:11:5f:2d:b1" + - ip-address: 10.89.208.27 + hostname: cisco-slm248p + hw-address: "00:23:eb:b0:fc:3f" + - ip-address: 10.89.208.47 + hw-address: "6c:df:fb:0b:34:21" + - ip-address: 10.89.208.48 + hw-address: "6c:df:fb:0d:91:63" + - ip-address: 10.89.209.28 + hostname: hp-color + hw-address: "3c:52:82:29:21:79" + - ip-address: 10.89.209.29 + hostname: dooris-ng + hw-address: "6c:4b:90:19:21:a1" + - ip-address: 10.89.209.166 + hostname: encoder-ccchh + hw-address: "00:4e:01:a2:40:d7" + - ip-address: 10.89.209.254 + hostname: ki10 + hw-address: "dc:a6:32:a9:ff:82" + option-data: + - name: routers, + csv-format: true + data: 10.89.208.1 + - id: 2 + subnet: 10.89.212.0/24 + pools: + - pool: "10.89.212.32 - 10.89.212.250" + reservations: + - ip-address: 10.89.212.3 + hostname: prusamk3 + hw-address: "10:9c:70:2e:59:3e" + - ip-address: 10.89.212.4 + hostname: prusamk4 + hw-address: "10:9c:70:2e:6e:f0" + - ip-address: 10.89.212.11 + hostname: Ziggy + hw-address: "44:17:93:53:65:57" + - ip-address: 10.89.212.12 + hostname: legacy + hw-address: "00:15:65:a1:ed:98" + - ip-address: 10.89.212.23 + hostname: foobarpay + hw-address: "f4:f2:6d:09:a6:73" + - ip-address: 10.89.212.24 + hostname: foobackup + hw-address: "bc:24:11:20:1a:a8" + - ip-address: 10.89.212.27 + hostname: ender3v2-sonic-pad + hw-address: "fc:ee:91:00:0e:14" + - ip-address: 10.89.212.31 + hostname: octopi + hw-address: "b8:27:eb:0f:d8:09" + - ip-address: 10.89.212.32 + hostname: 433mhz-bridge + hw-address: "0c:b8:15:fe:e3:34" + - ip-address: 10.89.212.33 + hostname: wled-kueche + hw-address: "30:ae:a4:7a:8d:a0" + - ip-address: 10.89.212.34 + hostname: wled-serverschrank + hw-address: "18:fe:34:a6:64:76" + - ip-address: 10.89.212.35 + hostname: wled-couch + hw-address: "64:b7:08:40:ab:c0" + - ip-address: 10.89.212.36 + hostname: laser + hw-address: "b8:27:eb:be:38:fa" + - ip-address: 10.89.212.37 + hostname: laser-eth + hw-address: "b8:27:eb:eb:6d:af" + - ip-address: 10.89.212.42 + hostname: t-mix + hw-address: "40:a5:ef:d9:eb:93" + - ip-address: 10.89.212.86 + hostname: fritz-fon + hw-address: "00:1f:3f:c9:e5:b2" + - ip-address: 10.89.212.211 + hostname: hauptraum-esphome + hw-address: "e8:db:84:e8:18:d2" + - ip-address: 10.89.212.212 + hostname: werkstatt-esphome + hw-address: "3c:71:bf:26:42:32" + - ip-address: 10.89.212.213 + hostname: ir-bridge-beamer + hw-address: "8c:ce:4e:51:93:dd" + - ip-address: 10.89.212.215 + hostname: pi-dmx-werkstatt + hw-address: "b8:27:eb:65:e5:31" + - ip-address: 10.89.212.227 + hostname: SIP-T46S + hw-address: "80:5e:c0:09:bf:55" + - ip-address: 10.89.212.230 + hostname: SIP-T46S + hw-address: "80:5e:c0:22:33:08" + - ip-address: 10.89.212.232 + hostname: staubi + hw-address: "b8:4d:43:98:51:2b" + - ip-address: 10.89.212.233 + hostname: staubiv2 + hw-address: "70:c9:32:82:25:b2" + - ip-address: 10.89.212.234 + hostname: AtemMini + hw-address: "7c:2e:0d:13:72:a8" + - ip-address: 10.89.212.235 + hostname: okilaser + hw-address: "2c:ff:65:22:b4:63" + - ip-address: 10.89.212.236 + hw-address: "b8:27:eb:29:bd:77" + option-data: + - name: routers, + csv-format: true + data: 10.89.212.1 + - id: 3 + subnet: 10.89.213.0/24 + pools: + - pool: "10.89.213.32 - 10.89.213.250" + reservations: + - ip-address: 10.89.213.2 + hostname: sw-rack-1 + hw-address: "F0:9F:C2:10:C3:AA" + - ip-address: 10.89.213.3 + hostname: sw-rack-2-peo + hw-address: "44:d9:e7:06:69:5d" + - ip-address: 10.89.213.4 + hostname: sw-main-1 + hw-address: "a8:9c:6c:16:df:cc" + - ip-address: 10.89.213.5 + hostname: sw-main-2 + hw-address: "a8:9c:6c:16:e8:86" + - ip-address: 10.89.213.6 + hostname: sw-shop-1 + hw-address: "C0:4A:00:FB:DA:C5" + - ip-address: 10.89.213.7 + hostname: sw-shop-2-peo + hw-address: "f4:e2:c6:bf:20:ee" + - ip-address: 10.89.213.8 + hostname: sw-shop-3-peo + hw-address: "d8:b3:70:85:72:76" + - ip-address: 10.89.213.11 + hostname: pve01 + hw-address: "38:05:25:30:80:35" + - ip-address: 10.89.213.12 + hostname: pve02 + hw-address: "b8:85:84:b1:57:b6" + - ip-address: 10.89.213.13 + hostname: pve03 + hw-address: "98:fa:9b:a2:ed:e8" + - ip-address: 10.89.213.15 + hostname: pbs + hw-address: "BC:24:11:D6:2C:81" + - ip-address: 10.89.213.21 + hostname: unifi + hw-address: "BC:24:11:25:77:60" + - ip-address: 10.89.213.22 + hostname: club-assistant + hw-address: "7a:55:61:c3:a2:89" + - ip-address: 10.89.213.23 + hostname: automation + hw-address: "f2:20:75:5a:2f:8c" + - ip-address: 10.89.213.24 + hostname: yate + hw-address: "bc:24:11:73:3e:f7" + - ip-address: 10.89.213.25 + hostname: ptouch-print-server + hw-address: "bc:24:11:f2:cf:8f" + - ip-address: 10.89.213.26 + hostname: mqtt + hw-address: "bc:24:11:48:85:73" + - ip-address: 10.89.213.27 + hostname: factorio + hw-address: "bc:24:11:a3:43:7f" + - ip-address: 10.89.213.28 + hostname: light + hw-address: "72:61:ea:e6:49:e3" + - ip-address: 10.89.213.29 + hostname: homematic + hw-address: "fe:3a:42:77:3a:be" + - ip-address: 10.89.213.30 + hostname: proxmox-backup-server + hw-address: "8a:48:dd:a3:22:40" + option-data: + - name: routers, + csv-format: true + data: 10.89.213.1 + +kea_dhcp__dhcp6: + enable: true + interfaces: [ "netlan.51", "netlan.52", "netlan.54" ] + control-sockets: + - socket-name: /var/run/kea-dhcp6-ctrl-agent.sock + socket-type: unix + lease-database: + type: memfile + persist: true + option-data: + - name: "dns-servers" + code: 23 + csv-format: true + data: "{{ kea_dhcp__dns_servers.v6 | join(',') }}" + subnets: + - id: 1 + subnet: "2a07:c481:1:33::/64" + pools: + - pool: "2a07:c481:1:33::1:1 - 2a07:c481:1:33::FFFF:FFFF" + - id: 2 + subnet: "2a07:c481:1:34::/64" + pools: + - pool: "2a07:c481:1:34::1:1 - 2a07:c481:1:34::FFFF:FFFF" + - id: 3 + subnet: "2a07:c481:1:36::/64" + pools: + - pool: "2a07:c481:1:36::1:1 - 2a07:c481:1:36::FFFF:FFFF" + reservations: + - ip-address: "2a07:c481:1:36::2" + hostname: sw-rack-1 + hw-address: "F0:9F:C2:10:C3:AA" + - ip-address: "2a07:c481:1:36::3" + hostname: sw-rack-2-peo + hw-address: "44:d9:e7:06:69:5d" + - ip-address: "2a07:c481:1:36::4" + hostname: sw-main-1 + hw-address: "a8:9c:6c:16:df:cc" + - ip-address: "2a07:c481:1:36::5" + hostname: sw-main-2 + hw-address: "a8:9c:6c:16:e8:86" + - ip-address: "2a07:c481:1:36::6" + hostname: sw-shop-1 + hw-address: "C0:4A:00:FB:DA:C5" + - ip-address: "2a07:c481:1:36::7" + hostname: sw-shop-2-peo + hw-address: "f4:e2:c6:bf:20:ee" + - ip-address: "2a07:c481:1:36::8" + hostname: sw-shop-3-peo + hw-address: "d8:b3:70:85:72:76" + - ip-address: "2a07:c481:1:36::b" + hostname: pve01 + hw-address: "38:05:25:30:80:35" + - ip-address: "2a07:c481:1:36::c" + hostname: pve02 + hw-address: "b8:85:84:b1:57:b6" + - ip-address: "2a07:c481:1:36::d" + hostname: pve03 + hw-address: "98:fa:9b:a2:ed:e8" + - ip-address: "2a07:c481:1:36::f" + hostname: pbs + hw-address: "BC:24:11:D6:2C:81" + - ip-address: "2a07:c481:1:36::14" + hostname: unifi + hw-address: "BC:24:11:25:77:60" diff --git a/resources/z9/rt1/nftables/nftables.conf b/resources/z9/rt1/nftables/nftables.conf index 21bfbd1670..842ca04143 100644 --- a/resources/z9/rt1/nftables/nftables.conf +++ b/resources/z9/rt1/nftables/nftables.conf @@ -76,6 +76,9 @@ table inet host { # Allow DHCP server access. iifname { $lan_ifs } udp dport 67 accept comment "allow dhcp server access" + + # Allow DNS server access from lan_ifs + iifname { $lan_ifs, $if_wg55_management } udp dport 53 accept comment "allow dns server access from lan_ifs" } } diff --git a/roles/kea_dhcp/defaults/main.yaml b/roles/kea_dhcp/defaults/main.yaml new file mode 100644 index 0000000000..409f0a119b --- /dev/null +++ b/roles/kea_dhcp/defaults/main.yaml @@ -0,0 +1,69 @@ +kea_dhcp__stork_agent: + enable: false + prometheus_only: true +kea_dhcp__version_repo: "kea-3-0" +kea_dhcp__dns_servers: + v6: + - "2a07:c481:0:4::2" + - "2a07:c481:0:4::3" + v4: + - "185.161.128.66" + - "185.161.128.67" +kea_dhcp__include_vars: + +kea_dhcp__dhcp4: + enable: false + interfaces: [ ] + control-sockets: + - socket-name: /var/run/kea-dhcp4-ctrl-agent.sock + socket-type: unix + lease-database: + type: memfile + persist: true + option-data: + - name: "domain-name-servers" + code: 6 + csv-format: true + data: "{{ kea_dhcp__dns_servers.v4 | join(',') }}" + subnets: + - id: 0 + subnet: nil + pools: + - pool: nil + reservations: + - ip-address: nil + hostname: beispiel.test + hw-address: "00:11:22:33:44:55" + option-data: + - name: nil, + code: nil, + csv-format: true + data: nil +kea_dhcp__dhcp6: + enable: false + interfaces: [ ] + lease-database: + type: memfile + persist: true + control-sockets: + - socket-name: /var/run/kea-dhcp6-ctrl-agent.sock + socket-type: unix + option-data: + - name: "dns-servers" + code: 23 + csv-format: true + data: "{{ kea_dhcp__dns_servers.v6 | join(',') }}" + subnets: + - id: 0 + subnet: nil + pools: + - pool: nil + reservations: + - ip-address: nil + hostname: beispiel.test + hw-address: "00:11:22:33:44:55" + option-data: + - name: nil, + code: nil, + csv-format: true + data: nil diff --git a/roles/kea_dhcp/handlers/main.yml b/roles/kea_dhcp/handlers/main.yml new file mode 100644 index 0000000000..5b44d6e109 --- /dev/null +++ b/roles/kea_dhcp/handlers/main.yml @@ -0,0 +1,30 @@ +--- +- name: Systemd.daemon_reload + become: true + ansible.builtin.systemd_service: + daemon_reload: true + +- name: Kea_dhcp4.reloaded + ansible.builtin.service: + name: kea-dhcp4 + state: restarted + enabled: true + +- name: Kea_dhcp6.reloaded + ansible.builtin.service: + name: kea-dhcp6 + state: restarted + enabled: true + +- name: Kea_ctrl.reloaded + ansible.builtin.systemd: + name: kea-ctrl-agent + state: restarted + enabled: true + +- name: Stork_agent.restarted + become: true + ansible.builtin.systemd: + name: isc-stork-agent + state: restarted + enabled: true diff --git a/roles/kea_dhcp/meta/argument_specs.yaml b/roles/kea_dhcp/meta/argument_specs.yaml new file mode 100644 index 0000000000..995b838215 --- /dev/null +++ b/roles/kea_dhcp/meta/argument_specs.yaml @@ -0,0 +1,125 @@ +--- +argument_specs: + main: + short_description: "Role for managing Kea DHCP server" + options: + kea_dhcp__stork_agent: + type: "dict" + description: "Configuration for Stork Agent" + options: + enable: + type: "bool" + default: false + prometheus_only: + type: "bool" + default: true + kea_dhcp__version_repo: + type: "str" + description: "Version of Kea DHCP repository to use" + default: "kea-3-0" + kea_dhcp__dns_servers: + type: "dict" + description: "Default DNS servers for DHCP clients" + options: + v6: + type: "list" + elements: "str" + v4: + type: "list" + elements: "str" + kea_dhcp__dhcp4: + type: "dict" + description: "Configuration for DHCPv4 service" + options: + enable: + type: "bool" + default: false + interfaces: + type: "list" + elements: "str" + default: [] + control-sockets: + type: "list" + elements: "dict" + lease-database: + type: "dict" + option-data: + type: "list" + elements: "dict" + subnets: + type: "list" + elements: "dict" + options: + id: + type: "int" + subnet: + type: "str" + pools: + type: "list" + elements: "dict" + options: + pool: + type: "str" + reservations: + type: "list" + elements: "dict" + options: + ip-address: + type: "str" + hostname: + type: "str" + hw-address: + type: "str" + duid: + type: "str" + option-data: + type: "list" + elements: "dict" + kea_dhcp__dhcp6: + type: "dict" + description: "Configuration for DHCPv6 service" + options: + enable: + type: "bool" + default: false + interfaces: + type: "list" + elements: "str" + default: [] + control-sockets: + type: "list" + elements: "dict" + lease-database: + type: "dict" + option-data: + type: "list" + elements: "dict" + subnets: + type: "list" + elements: "dict" + options: + id: + type: "int" + subnet: + type: "str" + pools: + type: "list" + elements: "dict" + options: + pool: + type: "str" + reservations: + type: "list" + elements: "dict" + options: + ip-address: + type: "str" + hostname: + type: "str" + hw-address: + type: "str" + duid: + type: "str" + option-data: + type: "list" + elements: "dict" diff --git a/roles/kea_dhcp/tasks/install_archlinux.yml b/roles/kea_dhcp/tasks/install_archlinux.yml new file mode 100644 index 0000000000..7bdb140b98 --- /dev/null +++ b/roles/kea_dhcp/tasks/install_archlinux.yml @@ -0,0 +1,8 @@ +--- +- name: Install Kea on Archlinux + when: ansible_facts['distribution'] == "Archlinux" + become: true + community.general.pacman: + name: kea + state: present + update_cache: false diff --git a/roles/kea_dhcp/tasks/install_debian.yml b/roles/kea_dhcp/tasks/install_debian.yml new file mode 100644 index 0000000000..2ac23468c5 --- /dev/null +++ b/roles/kea_dhcp/tasks/install_debian.yml @@ -0,0 +1,22 @@ +--- +- name: Register isc-kea apt repository + become: true + register: kea_dhcp_repo + when: ansible_facts['distribution'] == "Debian" + ansible.builtin.deb822_repository: + name: "isc-{{ kea_dhcp__version_repo }}" + uris: "https://dl.cloudsmith.io/public/isc/{{ kea_dhcp__version_repo }}/deb/debian" + suites: any-version + components: main + signed_by: "https://dl.cloudsmith.io/public/isc/{{ kea_dhcp__version_repo }}/gpg.key" + +- name: Install Kea packages + become: true + when: ansible_facts['distribution'] == "Debian" + ansible.builtin.apt: + name: + - isc-kea-dhcp4 + - isc-kea-dhcp6 + - isc-kea-ctrl-agent + - isc-kea-admin + update_cache: "{{ kea_dhcp_install_repo.changed }}" diff --git a/roles/kea_dhcp/tasks/kea.yaml b/roles/kea_dhcp/tasks/kea.yaml new file mode 100644 index 0000000000..a4fd3b57f4 --- /dev/null +++ b/roles/kea_dhcp/tasks/kea.yaml @@ -0,0 +1,51 @@ +--- +- name: Include config vars + tags: [ kea, include_vars ] + when: kea_dhcp__include_vars is not None + ansible.builtin.include_vars: + file: "{{ kea_dhcp__include_vars }}" + +- name: Deploy kea-dhcp4 configuration file + tags: [ kea, dhcp4 ] + become: true + when: kea_dhcp__dhcp4.enable + ansible.builtin.template: + src: kea-dhcp4.conf.jinja + dest: /etc/kea/kea-dhcp4.conf + backup: true + owner: root + group: kea + mode: "u=rw,g=r,o=" + validate: kea-dhcp4 -T %s + notify: + - Kea_dhcp4.reloaded + +- name: Deploy kea-dhcp6 configuration file + tags: [ kea, dhcp6 ] + become: true + when: kea_dhcp__dhcp6.enable + ansible.builtin.template: + src: kea-dhcp6.conf.jinja + dest: /etc/kea/kea-dhcp6.conf + backup: true + owner: root + group: kea + mode: "u=rw,g=r,o=" + validate: kea-dhcp6 -T %s + notify: + - Kea_dhcp6.reloaded + +- name: Copy kea-ctrl-agent configuration file + tags: [ kea, ctrl-agent ] + become: true + when: kea_dhcp__stork_agent.enable + ansible.builtin.template: + src: kea-ctrl-agent.conf.j2 + dest: /etc/kea/kea-ctrl-agent.conf + owner: root + group: kea + mode: "u=rw,g=r,o=" + validate: kea-ctrl-agent -t %s + notify: + - Kea_ctrl.reloaded + - Stork_agent.restarted diff --git a/roles/kea_dhcp/tasks/main.yml b/roles/kea_dhcp/tasks/main.yml new file mode 100644 index 0000000000..a3478fa45c --- /dev/null +++ b/roles/kea_dhcp/tasks/main.yml @@ -0,0 +1,19 @@ +--- +- name: Setup Kea DHCP + tags: [kea, dhcp] + block: + - name: Install Kea on Archlinux + when: ansible_facts['distribution'] == "Archlinux" + ansible.builtin.import_tasks: install_archlinux.yml + + - name: Install Kea on Debian + when: ansible_facts['distribution'] == "Debian" + ansible.builtin.import_tasks: install_debian.yml + + - name: Configure Kea + ansible.builtin.include_tasks: kea.yaml + +- name: Run stork-agent tasks + tags: [stork-agent, monitoring] + when: kea_dhcp__stork_agent.enable + ansible.builtin.include_tasks: stork-agent.yaml diff --git a/roles/kea_dhcp/tasks/stork-agent.yaml b/roles/kea_dhcp/tasks/stork-agent.yaml new file mode 100644 index 0000000000..916760c430 --- /dev/null +++ b/roles/kea_dhcp/tasks/stork-agent.yaml @@ -0,0 +1,76 @@ +--- +- name: Install stork-agent + tags: [stork-agent] + block: + - name: Install stork-agent on Archlinux + when: ansible_facts['distribution'] == "Archlinux" + tags: [stork-agent, archlinux] + block: + - name: Create stork-agent user + ansible.builtin.user: + name: stork-agent + create_home: false + home: "/var/lib/stork-agent" + shell: "/usr/bin/nologin" + system: true + groups: ["kea"] + append: true + + - name: Install stork-agent with aur_pkg_install + ansible.builtin.include_role: + name: aur_pkg_install + vars: + aur_pkg_install__pkg_name: "stork-agent" + aur_pkg_install__git_clone_url: "https://ansible:{{ secret__ansible_git_token }}@git.fux-eg.net/aur-mirror/stork-agent.git" + aur_pkg_install__git_ref: "bf96e34" + + - name: Install stork-agent on Debian + when: ansible_facts['distribution'] == "Debian" + tags: [stork-agent, debian] + block: + - name: Register isc-stork apt repository + become: true + register: "kea_dhcp_install_repo" + ansible.builtin.deb822_repository: + name: isc-stork + uris: https://dl.cloudsmith.io/public/isc/stork/deb/debian + suites: any-version + components: main + signed_by: https://dl.cloudsmith.io/public/isc/stork/gpg.key + + - name: Install isc-stork-agent + become: true + ansible.builtin.apt: + name: isc-stork-agent + update_cache: "{{ kea_dhcp_install_repo.changed }}" + + - name: Add stork-agent user to _kea group on Debian + when: ansible_facts['distribution'] == "Debian" + become: true + ansible.builtin.user: + name: stork-agent + groups: ["_kea"] + append: true + + - name: Config for stork-agent + ansible.builtin.template: + src: stork-agent.env.jinja + dest: /etc/stork/agent.env + owner: root + group: root + mode: "0660" + notify: + - Systemd_daemon_reload + - Stork_agent.restarted + + - name: Flush handlers + ansible.builtin.meta: flush_handlers + + - name: Ensure that stork kea exporter is working + ansible.builtin.uri: + url: "http://localhost:9547/metrics" + method: GET + register: kea_dhcp_stork_status_code + retries: 6 + delay: 5 + until: kea_dhcp_stork_status_code.status == 200 diff --git a/roles/kea_dhcp/templates/kea-ctrl-agent.conf.j2 b/roles/kea_dhcp/templates/kea-ctrl-agent.conf.j2 new file mode 100644 index 0000000000..5ac1473e6b --- /dev/null +++ b/roles/kea_dhcp/templates/kea-ctrl-agent.conf.j2 @@ -0,0 +1,20 @@ +{ +"Control-agent": { + "http-host": "127.0.0.1", + "http-port": 8000, + "control-sockets": { + {% if kea_dhcp__dhcp4.enable | default(false) %} + "dhcp4": { + "socket-type": "{{ kea_dhcp__dhcp4['control-sockets'][0]['socket-type'] }}", + "socket-name": "{{ kea_dhcp__dhcp4['control-sockets'][0]['socket-name'] }}" + }{% if kea_dhcp__dhcp6.enable %},{% endif %} + {% endif %} + {% if kea_dhcp__dhcp6.enable | default(false) %} + "dhcp6": { + "socket-type": "{{ kea_dhcp__dhcp6['control-sockets'][0]['socket-type'] }}", + "socket-name": "{{ kea_dhcp__dhcp6['control-sockets'][0]['socket-name'] }}" + }, + {% endif %} + } +} +} diff --git a/roles/kea_dhcp/templates/kea-dhcp4.conf.jinja b/roles/kea_dhcp/templates/kea-dhcp4.conf.jinja new file mode 100644 index 0000000000..78f06aef1f --- /dev/null +++ b/roles/kea_dhcp/templates/kea-dhcp4.conf.jinja @@ -0,0 +1,27 @@ +{ + "Dhcp4": { + "interfaces-config": { + "interfaces": {{ kea_dhcp__dhcp4.interfaces | to_nice_json }} + }, + "control-sockets": {{ kea_dhcp__dhcp4['control-sockets'] | to_nice_json }}, + "lease-database": {{ kea_dhcp__dhcp4['lease-database'] | to_nice_json }}, + {% if kea_dhcp__dhcp4['option-data'] is defined and kea_dhcp__dhcp4['option-data'] %} + "option-data": {{ kea_dhcp__dhcp4['option-data'] | to_nice_json }}, + {% endif %} + "subnet4": [ + {% for subnet in kea_dhcp__dhcp4.subnets %} + { + "id": {{ subnet.id }}, + "subnet": "{{ subnet.subnet }}", + "pools": {{ subnet.pools | to_nice_json }}, + {% if subnet.reservations is defined and subnet.reservations %} + "reservations": {{ subnet.reservations | to_nice_json }}, + {% endif %} + {% if subnet['option-data'] is defined and subnet['option-data'] %} + "option-data": {{ subnet['option-data'] | to_nice_json }} + {% endif %} + }{% if not loop.last %},{% endif %} + {% endfor %} + ] + } +} diff --git a/roles/kea_dhcp/templates/kea-dhcp6.conf.jinja b/roles/kea_dhcp/templates/kea-dhcp6.conf.jinja new file mode 100644 index 0000000000..da1929a546 --- /dev/null +++ b/roles/kea_dhcp/templates/kea-dhcp6.conf.jinja @@ -0,0 +1,27 @@ +{ + "Dhcp6": { + "interfaces-config": { + "interfaces": {{ kea_dhcp__dhcp6.interfaces | to_nice_json }} + }, + "control-sockets": {{ kea_dhcp__dhcp6['control-sockets'] | to_nice_json }}, + "lease-database": {{ kea_dhcp__dhcp6['lease-database'] | to_nice_json }}, + {% if kea_dhcp__dhcp6['option-data'] is defined and kea_dhcp__dhcp6['option-data'] %} + "option-data": {{ kea_dhcp__dhcp6['option-data'] | to_nice_json }}, + {% endif %} + "subnet6": [ + {% for subnet in kea_dhcp__dhcp6.subnets %} + { + "id": {{ subnet.id }}, + "subnet": "{{ subnet.subnet }}", + "pools": {{ subnet.pools | to_nice_json }}, + {% if subnet.reservations is defined and subnet.reservations %} + "reservations": {{ subnet.reservations | to_nice_json }}, + {% endif %} + {% if subnet['option-data'] is defined and subnet['option-data'] %} + "option-data": {{ subnet['option-data'] | to_nice_json }} + {% endif %} + }{% if not loop.last %},{% endif %} + {% endfor %} + ] + } +} diff --git a/roles/kea_dhcp/templates/stork-agent.env.jinja b/roles/kea_dhcp/templates/stork-agent.env.jinja new file mode 100644 index 0000000000..bdfa4d2db8 --- /dev/null +++ b/roles/kea_dhcp/templates/stork-agent.env.jinja @@ -0,0 +1,44 @@ +### the IP or hostname to listen on for incoming Stork server connections +# STORK_AGENT_HOST= + +### the TCP port to listen on for incoming Stork server connections +# STORK_AGENT_PORT=8081 + +### listen for commands from the Stork server only, but not for Prometheus requests +# STORK_AGENT_LISTEN_STORK_ONLY=true + +{% if kea_dhcp__stork_agent.prometheus_only %} +### listen for Prometheus requests only, but not for commands from the Stork server +STORK_AGENT_LISTEN_PROMETHEUS_ONLY=true +{% endif %} + +### settings for exporting stats to Prometheus +### the IP or hostname on which the agent exports Kea statistics to Prometheus +# STORK_AGENT_PROMETHEUS_KEA_EXPORTER_ADDRESS= +### the port on which the agent exports Kea statistics to Prometheus +# STORK_AGENT_PROMETHEUS_KEA_EXPORTER_PORT= +## enable or disable collecting per-subnet stats from Kea +# STORK_AGENT_PROMETHEUS_KEA_EXPORTER_PER_SUBNET_STATS=true +### the IP or hostname on which the agent exports BIND 9 statistics to Prometheus +# STORK_AGENT_PROMETHEUS_BIND9_EXPORTER_ADDRESS= +### the port on which the agent exports BIND 9 statistics to Prometheus +# STORK_AGENT_PROMETHEUS_BIND9_EXPORTER_PORT= + +### Stork Server URL used by the agent to send REST commands to the server during agent registration +# STORK_AGENT_SERVER_URL= + +### skip TLS certificate verification when the Stork Agent connects +### to Kea over TLS and Kea uses self-signed certificates +# STORK_AGENT_SKIP_TLS_CERT_VERIFICATION=true + + +### Logging parameters + +### Set logging level. Supported values are: DEBUG, INFO, WARN, ERROR +STORK_LOG_LEVEL=DEBUG +### disable output colorization +# CLICOLOR=false + +### path to the hook directory +# STORK_AGENT_HOOK_DIRECTORY= + diff --git a/roles/unbound/README.md b/roles/unbound/README.md new file mode 100644 index 0000000000..806b9d8dd7 --- /dev/null +++ b/roles/unbound/README.md @@ -0,0 +1,19 @@ +# Unbound DNS resolver + +Role fora a validating, recursive, caching DNS resolver based on [Unbound](https://nlnetlabs.nl/projects/unbound/about/). +It is designed to be fast and lean and incorporates modern features based on open standards. + +- [Documentation](https://unbound.docs.nlnetlabs.nl/en/latest/) + +## Role Customization + +The following variables can be used to customize this role: + +| Variable | Type | Default | Description | +|------------------------------------------|-----------------|-----------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| unbound_install_prometheus_exporter | Boolean | `true` | Whether [Unbound Exporter](https://github.com/letsencrypt/unbound_exporter) should also be installed to expose resolver statistics in prometheus format. | +| unbound_bind_interfaces | List of Strings | `[0.0.0.0, ::]` | List of interface names or IP addresses on which unbound will listen for dns queries | +| unbound_enable_unbound_control | Boolean | `true` | Whether the [remote control](https://unbound.docs.nlnetlabs.nl/en/latest/getting-started/configuration.html#set-up-remote-control) feature of unbound should be configured. | +| unbound_enable_dnssec | Boolean | `true` | Whether dnssec validation should be enabled | +| unbound_access_control | List of Strings | `[]` | **Required** List of [unbound access control values](https://unbound.docs.nlnetlabs.nl/en/latest/manpages/unbound.conf.html#:~:text=access-control:%20%3CIP%20netblock%3E%20%3Caction%3E) | +| unbound_disable_systemd_networkd | Boolean | `true` | If true, systemd-networkd is disabled and the local system is pointed towards the configured dns resolver. | diff --git a/roles/unbound/defaults/main.yml b/roles/unbound/defaults/main.yml new file mode 100644 index 0000000000..fa6cb24000 --- /dev/null +++ b/roles/unbound/defaults/main.yml @@ -0,0 +1,7 @@ +unbound_install_prometheus_exporter: true +unbound_bind_interfaces: [ "0.0.0.0", "::" ] +unbound_disable_systemd_networkd: true +unbound_enable_unbound_control: true +unbound_enable_dnssec: true +unbound_access_control: [ ] +unbound_private_domain: [ ] diff --git a/roles/unbound/files/no-resolved.resolv.conf b/roles/unbound/files/no-resolved.resolv.conf new file mode 100644 index 0000000000..bbc8559cd5 --- /dev/null +++ b/roles/unbound/files/no-resolved.resolv.conf @@ -0,0 +1 @@ +nameserver 127.0.0.1 diff --git a/roles/unbound/handlers/main.yml b/roles/unbound/handlers/main.yml new file mode 100644 index 0000000000..e1345bfd3f --- /dev/null +++ b/roles/unbound/handlers/main.yml @@ -0,0 +1,27 @@ +- name: unbound.restarted + tags: [ unbound, dns, dns_resolver ] + become: true + ansible.builtin.systemd: + name: unbound.service + state: restarted + +- name: unbound.reloaded + tags: [ unbound, dns, dns_resolver ] + become: true + ansible.builtin.systemd: + name: unbound.service + state: reloaded + +- name: prometheus-unbound-exporter.restarted + become: true + ansible.builtin.systemd: + name: prometheus-unbound-exporter.service + state: restarted + enabled: true + +- name: prometheus-unbound-exporter.enabled + become: true + ansible.builtin.systemd: + name: prometheus-unbound-exporter.service + enabled: true + daemon_reload: true diff --git a/roles/unbound/tasks/main.yml b/roles/unbound/tasks/main.yml new file mode 100644 index 0000000000..7ed42cb9d5 --- /dev/null +++ b/roles/unbound/tasks/main.yml @@ -0,0 +1,63 @@ +- name: unbound role main + tags: [ unbound, dns, dns_resolver ] + block: + + - name: install unbound dns resolver + become: true + ansible.builtin.package: + name: unbound + + - name: install extra dns tooling + become: true + ansible.builtin.package: + name: [ bind ] # the bind package includes tools like dig in archlinux + + - name: ensure correct directory permissions + become: true + ansible.builtin.file: + path: /etc/unbound + state: directory + mode: u=rwX,g=rX,o=rX + recurse: true + owner: unbound + group: unbound + + - name: configure unbound dns resolver + become: true + notify: unbound.restarted + ansible.builtin.template: + src: unbound.conf.j2 + dest: /etc/unbound/unbound.conf + owner: unbound + group: unbound + mode: u=rw,g=r,o=r + + - name: ensure unbound is running and enabled + become: true + ansible.builtin.systemd: + name: unbound.service + state: started + enabled: true + + - name: disable systemd-resolved + become: true + when: unbound_disable_systemd_networkd + ansible.builtin.systemd: + name: systemd-resolved.service + state: stopped + enabled: false + + - name: configure system resolver to point to local unbound + become: true + when: unbound_disable_systemd_networkd + ansible.builtin.copy: + src: no-resolved.resolv.conf + dest: /etc/resolv.conf + owner: unbound + group: unbound + mode: u=rw,g=r,o=r + + + - name: install and configure prometheus-exporter for unbound + ansible.builtin.import_tasks: prometheus-exporter.yml + when: unbound_install_prometheus_exporter diff --git a/roles/unbound/tasks/prometheus-exporter.yml b/roles/unbound/tasks/prometheus-exporter.yml new file mode 100644 index 0000000000..d05b838c4e --- /dev/null +++ b/roles/unbound/tasks/prometheus-exporter.yml @@ -0,0 +1,17 @@ +--- +- name: install unbound prometheus exporter + become: true + ansible.builtin.package: + name: prometheus-unbound-exporter + notify: prometheus-unbound-exporter.enabled + +- name: configure unbound exporter + become: true + ansible.builtin.copy: + dest: /etc/conf.d/prometheus-unbound-exporter + content: | + UNBOUND_EXPORTER_ARGS="-unbound.ca "" -unbound.cert "" -unbound.host "unix:///run/unbound-control.sock" + owner: root + group: root + mode: '0660' + notify: prometheus-unbound-exporter.restarted diff --git a/roles/unbound/templates/unbound.conf.j2 b/roles/unbound/templates/unbound.conf.j2 new file mode 100644 index 0000000000..a1e310e082 --- /dev/null +++ b/roles/unbound/templates/unbound.conf.j2 @@ -0,0 +1,73 @@ +# ref: https://unbound.docs.nlnetlabs.nl/en/latest/manpages/unbound.conf.html +# unbound.conf(5) man page +server: + {% if unbound_enable_dnssec -%} + # disable chroot because unbound is the only thing running on the VM + # and because it has issues with how archlinux configures the systemd units write protection regarding the anchor file + chroot: "" + + # location of the trust anchor file that enables DNSSEC + # this file is generated by the `unbound-anchor` command + auto-trust-anchor-file: "/etc/unbound/trusted-key.key" + {% endif -%} + + # use all CPUs + num-threads: 2 + + # more cache memory + rrset-cache-size: 60m + msg-cache-size: 30m + + # prefetch to keep the cache up to date + prefetch: yes + + # fetch the DNSKEYs earlier in the validation process, when a DS record is encountered + prefetch-key: yes + + # Faster UDP with multithreading (only on Linux). + so-reuseport: yes + + # disable special large send buffer handling and just use kernel defaults + so-sndbuf: 0 + + # send minimal amount of information to upstream servers to enhance privacy + qname-minimisation: yes + + # specify the interface to answer queries from by ip-address. + {% for i in unbound_bind_interfaces -%} + interface: "{{ i }}" + {% endfor %} + + # addresses from the IP range that are allowed to connect to the resolver + {% for i in unbound_access_control -%} + access-control: {{ i }} + {% endfor -%} + + {% for i in unbound_private_domain -%} + private-domain: {{ i }} + {% endfor -%} + + # The number of seconds between printing statistics to the log for every thread. + statistics-interval: 0 + + # Extended statistics are printed, Keeping track of more statistics takes time. + extended-statistics: yes + +remote-control: + control-enable: {{ "yes" if unbound_enable_unbound_control else "no" }} + control-interface: /run/unbound-control.sock + + +# configure some zones for which this resolver will act authoritatively +# https://www.dns.icann.org/services/axfr/ +{% for i in [ ".", "in-addr.arpa.", "arpa.", "root-servers.net.", "ip6.arpa.", "ip6-servers.arpa.", "mcast.net." ] %} +auth-zone: + name: "{{ i }}" + primary: "lax.xfr.dns.icann.org" + primary: "iad.xfr.dns.icann.org" + fallback-enabled: yes + for-downstream: no + for-upstream: yes + + +{% endfor %} From 1dff022146eb8647ed5f1b9fe5bd1a77a3ddc06b Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Mon, 25 May 2026 18:31:05 +0200 Subject: [PATCH 372/417] z9-router(host): rename rt1 to z9-router --- .../{rt1.sops.yaml => z9-router.sops.yaml} | 8 ++++---- .../z9/host_vars/{rt1.yaml => z9-router.yaml} | 8 ++++---- inventories/z9/hosts.yaml | 18 +++++++++--------- resources/z9/{rt1 => z9-router}/kea_dhcp.yaml | 0 .../{rt1 => z9-router}/nftables/nftables.conf | 0 .../systemd_networkd/00-netlan.link | 0 .../systemd_networkd/00-netwan.link | 0 .../systemd_networkd/10-netlan.51.netdev | 0 .../systemd_networkd/10-netlan.52.netdev | 0 .../systemd_networkd/10-netlan.53.netdev | 0 .../systemd_networkd/10-netlan.54.netdev | 0 .../systemd_networkd/10-netwan.400.netdev | 0 .../systemd_networkd/10-wg55.netdev | 0 .../systemd_networkd/20-netlan.network | 0 .../systemd_networkd/20-netwan.network | 0 .../systemd_networkd/20-wg55.network | 0 .../21-netlan.51-clients.network | 0 .../systemd_networkd/21-netlan.52-iot.network | 0 .../21-netlan.53-public.network | 0 .../21-netlan.54-management.network | 0 .../21-netwan.400-fux_uplink.network | 0 .../systemd_networkd_global_config.conf | 0 22 files changed, 17 insertions(+), 17 deletions(-) rename inventories/z9/host_vars/{rt1.sops.yaml => z9-router.sops.yaml} (94%) rename inventories/z9/host_vars/{rt1.yaml => z9-router.yaml} (53%) rename resources/z9/{rt1 => z9-router}/kea_dhcp.yaml (100%) rename resources/z9/{rt1 => z9-router}/nftables/nftables.conf (100%) rename resources/z9/{rt1 => z9-router}/systemd_networkd/00-netlan.link (100%) rename resources/z9/{rt1 => z9-router}/systemd_networkd/00-netwan.link (100%) rename resources/z9/{rt1 => z9-router}/systemd_networkd/10-netlan.51.netdev (100%) rename resources/z9/{rt1 => z9-router}/systemd_networkd/10-netlan.52.netdev (100%) rename resources/z9/{rt1 => z9-router}/systemd_networkd/10-netlan.53.netdev (100%) rename resources/z9/{rt1 => z9-router}/systemd_networkd/10-netlan.54.netdev (100%) rename resources/z9/{rt1 => z9-router}/systemd_networkd/10-netwan.400.netdev (100%) rename resources/z9/{rt1 => z9-router}/systemd_networkd/10-wg55.netdev (100%) rename resources/z9/{rt1 => z9-router}/systemd_networkd/20-netlan.network (100%) rename resources/z9/{rt1 => z9-router}/systemd_networkd/20-netwan.network (100%) rename resources/z9/{rt1 => z9-router}/systemd_networkd/20-wg55.network (100%) rename resources/z9/{rt1 => z9-router}/systemd_networkd/21-netlan.51-clients.network (100%) rename resources/z9/{rt1 => z9-router}/systemd_networkd/21-netlan.52-iot.network (100%) rename resources/z9/{rt1 => z9-router}/systemd_networkd/21-netlan.53-public.network (100%) rename resources/z9/{rt1 => z9-router}/systemd_networkd/21-netlan.54-management.network (100%) rename resources/z9/{rt1 => z9-router}/systemd_networkd/21-netwan.400-fux_uplink.network (100%) rename resources/z9/{rt1 => z9-router}/systemd_networkd_global_config.conf (100%) diff --git a/inventories/z9/host_vars/rt1.sops.yaml b/inventories/z9/host_vars/z9-router.sops.yaml similarity index 94% rename from inventories/z9/host_vars/rt1.sops.yaml rename to inventories/z9/host_vars/z9-router.sops.yaml index f4141fd943..89f18e1846 100644 --- a/inventories/z9/host_vars/rt1.sops.yaml +++ b/inventories/z9/host_vars/z9-router.sops.yaml @@ -1,8 +1,8 @@ secrets__secrets: - - name: ENC[AES256_GCM,data:MmqDXUKy+U67JZFmKJTGLYAJcYPClQ8M2w==,iv:/eDx++bJCzdKXYB8YipB/GB6aM421JR3sy8i5trBKxk=,tag:/zTklys9bN839iT1qOH0UQ==,type:str] + - name: ENC[AES256_GCM,data:gt9BarzsfE/GJ5gQeelgePquW6KAgE3Exv4=,iv:IPpUQI+zkf8O+ej+ZxLFyWUOrxGGlZvmDRG0ut2cNsA=,tag:GP66MvcKyCqyKV814+uMYg==,type:str] content: ENC[AES256_GCM,data:2ljp324rAsF2zk2631TI7bV1xKxdFr4u4NxrsPYnjWsL0PX0n0KhJ1qvJCs=,iv:0+DxsTTiNLOg5iH83bFT/d+0uW2rn6bATSm3xc5PEdE=,tag:XbBDrrjriXPedyT4+sBBwA==,type:str] - name: ENC[AES256_GCM,data:9i4hZU7Hv/IMlI/1oYthx8g57nrst9LHZQk=,iv:IQanD/CA64A+hVyTQBiTvWdXyY8qNF9BpehWZxI5a9c=,tag:RiY0OJe2xbFPG6wfe5XjiA==,type:str] - content: ENC[AES256_GCM,data:lrwHaNvHkh5E94ziiQsd8ua9YvuwmhZ6iIGZS0oFnZdYKuyNh7egWOoii2o=,iv:LLRKhbiJl1GwK/SfqNdNrrJuDF17YXw3hHmuhlyI87w=,tag:DbR/a7jfy1+4yswSdYfOFA==,type:str] + content: ENC[AES256_GCM,data:68GUwG1Q2s2jH92HS0FQWrcMHJP8fHjrOqr21gsdswxKekQrpxX5B3BBFfM=,iv:HOsNUAKE5rOmKgZft2JK1NnZUuhk261d9WYWJS22nLM=,tag:3husFvB57AGVFzF7hKzLpw==,type:str] - name: ENC[AES256_GCM,data:2lJUcDJ7ECJ1bF4Fg1VwOR2tBIQ77ZvDAbFF8w==,iv:HrPWIetjN/lOyQ7Mvk0sM1w+bWldlNfWhvw7/sfqKN8=,tag:AJL0s+f0O/yR4G3RVd1IHQ==,type:str] content: ENC[AES256_GCM,data:68GUwG1Q2s2jH92HS0FQWrcMHJP8fHjrOqr21gsdswxKekQrpxX5B3BBFfM=,iv:HOsNUAKE5rOmKgZft2JK1NnZUuhk261d9WYWJS22nLM=,tag:3husFvB57AGVFzF7hKzLpw==,type:str] - name: ENC[AES256_GCM,data:ESxpEp9k9BdD1GJv+af+U3ny0+RPuaJjWDhQ,iv:DxsZLiDF8F+ixepbUdlitMJ7DLHjGNFNuxRwLl7efo8=,tag:STnv/oLzbchdiwXfKP3fow==,type:str] @@ -18,8 +18,8 @@ secrets__secrets: - name: ENC[AES256_GCM,data:ERsggezMBbs1YwbIgwzKSAEHWWOWYxap8IDdn2YtEKvZexqu,iv:XbObLp2QERgt57tc/Cpha1CWXi+GttcIU8hJFGSp8e8=,tag:FqCuSbvLRERpVnQTzQsfpQ==,type:str] content: ENC[AES256_GCM,data:QPoZA71CwE8EFE0I+6z0z0O1bUCMQDDDG7wGNoxXKt3ovLkFt21r8WG7VhA=,iv:InX6A71f3DGTg1wO4G0ECf488+FnKgTHffVwvJ9hHQ0=,tag:EVxwJlneN1CbMLXto7uLFw==,type:str] sops: - lastmodified: "2026-05-23T21:19:38Z" - mac: ENC[AES256_GCM,data:Ded0VfGn8H2qGMk5LDyqF1gW8hajKc9FgvCynHPQkWkhMSdaHYbFwf//gWi2TjIO22HD5sPw1w9KAjPy53b57RwBCjXfMMq0JCPvuePLK40NC8uCAi+wr5Er0fAWz1JiaA+dowposoi6RxBtyHCaNHMDVGMLh1j+IL+pTOyi6fk=,iv:gssOMmR0DDQC4WjMVXTD/zqbQa8qlBr9ZZWF15W0WnE=,tag:DORTxQfCmpVjDjyGSNH7dw==,type:str] + lastmodified: "2026-05-25T16:29:22Z" + mac: ENC[AES256_GCM,data:zxtV1xgjQuKNMvh6S8oAOxX5J6+iBRO6k3vGw3vWNlhah4Gu3S/lt+5v8lQHogz1Vyc+Zff0yMj1cn6RstDDj5AuOCljRQN0FYs0fjCo4Yrxx5sMMwcwBYquC77skEiZhRnqdXKkjiOM7EGE8qj8O3DJ29borIjm5NAsflH/qkA=,iv:7EUElg+gu8mk2Gq32JQMTf+A1+ZhZufoqt5bk4+Ca1E=,tag:XG+F/zlXizsc2B8THoXj4g==,type:str] pgp: - created_at: "2026-05-23T20:58:22Z" enc: |- diff --git a/inventories/z9/host_vars/rt1.yaml b/inventories/z9/host_vars/z9-router.yaml similarity index 53% rename from inventories/z9/host_vars/rt1.yaml rename to inventories/z9/host_vars/z9-router.yaml index 876776a36f..c9d2b6fd80 100644 --- a/inventories/z9/host_vars/rt1.yaml +++ b/inventories/z9/host_vars/z9-router.yaml @@ -1,7 +1,7 @@ -systemd_networkd__config_dir: 'resources/z9/rt1/systemd_networkd/' -systemd_networkd__global_config: "{{ lookup('ansible.builtin.file', 'resources/z9/rt1/systemd_networkd_global_config.conf') }}" -nftables__config: "{{ lookup('ansible.builtin.file', 'resources/z9/rt1/nftables/nftables.conf') }}" +systemd_networkd__config_dir: 'resources/z9/z9-router/systemd_networkd/' +systemd_networkd__global_config: "{{ lookup('ansible.builtin.file', 'resources/z9/z9-router/systemd_networkd_global_config.conf') }}" +nftables__config: "{{ lookup('ansible.builtin.file', 'resources/z9/z9-router/nftables/nftables.conf') }}" ansible_pull__timer_on_calendar: "*-*-* 04:00:00 Europe/Berlin" ansible_pull__timer_randomized_delay_sec: 0min unbound_access_control: [ "10.89.208.0/20" ] -kea_dhcp__include_vars: resources/z9/rt1/kea_dhcp.yaml +kea_dhcp__include_vars: resources/z9/z9-router/kea_dhcp.yaml diff --git a/inventories/z9/hosts.yaml b/inventories/z9/hosts.yaml index b1770ee732..41ca0396c2 100644 --- a/inventories/z9/hosts.yaml +++ b/inventories/z9/hosts.yaml @@ -15,8 +15,8 @@ all: yate: ansible_host: yate.z9.ccchh.net ansible_user: chaos - rt1: - ansible_host: rt1.ccchh.net + z9-router: + ansible_host: z9-router.ccchh.net ansible_user: chaos certbot_hosts: hosts: @@ -37,7 +37,7 @@ infrastructure_authorized_keys_hosts: light: waybackproxy: yate: - rt1: + z9-router: nginx_hosts: hosts: light: @@ -53,22 +53,22 @@ proxmox_vm_template_hosts: thinkcccore0: systemd_networkd_hosts: hosts: - rt1: + z9-router: nftables_hosts: hosts: - rt1: + z9-router: unbound_hosts: hosts: - rt1: + z9-router: kea_dhcp_hosts: hosts: - rt1: + z9-router: alloy_hosts: hosts: light: yate: dooris: - rt1: + z9-router: ansible_pull_hosts: hosts: dooris: @@ -77,6 +77,6 @@ ansible_pull_hosts: yate: secrets_hosts: hosts: - rt1: + z9-router: forgejo_runner_hosts: hosts: diff --git a/resources/z9/rt1/kea_dhcp.yaml b/resources/z9/z9-router/kea_dhcp.yaml similarity index 100% rename from resources/z9/rt1/kea_dhcp.yaml rename to resources/z9/z9-router/kea_dhcp.yaml diff --git a/resources/z9/rt1/nftables/nftables.conf b/resources/z9/z9-router/nftables/nftables.conf similarity index 100% rename from resources/z9/rt1/nftables/nftables.conf rename to resources/z9/z9-router/nftables/nftables.conf diff --git a/resources/z9/rt1/systemd_networkd/00-netlan.link b/resources/z9/z9-router/systemd_networkd/00-netlan.link similarity index 100% rename from resources/z9/rt1/systemd_networkd/00-netlan.link rename to resources/z9/z9-router/systemd_networkd/00-netlan.link diff --git a/resources/z9/rt1/systemd_networkd/00-netwan.link b/resources/z9/z9-router/systemd_networkd/00-netwan.link similarity index 100% rename from resources/z9/rt1/systemd_networkd/00-netwan.link rename to resources/z9/z9-router/systemd_networkd/00-netwan.link diff --git a/resources/z9/rt1/systemd_networkd/10-netlan.51.netdev b/resources/z9/z9-router/systemd_networkd/10-netlan.51.netdev similarity index 100% rename from resources/z9/rt1/systemd_networkd/10-netlan.51.netdev rename to resources/z9/z9-router/systemd_networkd/10-netlan.51.netdev diff --git a/resources/z9/rt1/systemd_networkd/10-netlan.52.netdev b/resources/z9/z9-router/systemd_networkd/10-netlan.52.netdev similarity index 100% rename from resources/z9/rt1/systemd_networkd/10-netlan.52.netdev rename to resources/z9/z9-router/systemd_networkd/10-netlan.52.netdev diff --git a/resources/z9/rt1/systemd_networkd/10-netlan.53.netdev b/resources/z9/z9-router/systemd_networkd/10-netlan.53.netdev similarity index 100% rename from resources/z9/rt1/systemd_networkd/10-netlan.53.netdev rename to resources/z9/z9-router/systemd_networkd/10-netlan.53.netdev diff --git a/resources/z9/rt1/systemd_networkd/10-netlan.54.netdev b/resources/z9/z9-router/systemd_networkd/10-netlan.54.netdev similarity index 100% rename from resources/z9/rt1/systemd_networkd/10-netlan.54.netdev rename to resources/z9/z9-router/systemd_networkd/10-netlan.54.netdev diff --git a/resources/z9/rt1/systemd_networkd/10-netwan.400.netdev b/resources/z9/z9-router/systemd_networkd/10-netwan.400.netdev similarity index 100% rename from resources/z9/rt1/systemd_networkd/10-netwan.400.netdev rename to resources/z9/z9-router/systemd_networkd/10-netwan.400.netdev diff --git a/resources/z9/rt1/systemd_networkd/10-wg55.netdev b/resources/z9/z9-router/systemd_networkd/10-wg55.netdev similarity index 100% rename from resources/z9/rt1/systemd_networkd/10-wg55.netdev rename to resources/z9/z9-router/systemd_networkd/10-wg55.netdev diff --git a/resources/z9/rt1/systemd_networkd/20-netlan.network b/resources/z9/z9-router/systemd_networkd/20-netlan.network similarity index 100% rename from resources/z9/rt1/systemd_networkd/20-netlan.network rename to resources/z9/z9-router/systemd_networkd/20-netlan.network diff --git a/resources/z9/rt1/systemd_networkd/20-netwan.network b/resources/z9/z9-router/systemd_networkd/20-netwan.network similarity index 100% rename from resources/z9/rt1/systemd_networkd/20-netwan.network rename to resources/z9/z9-router/systemd_networkd/20-netwan.network diff --git a/resources/z9/rt1/systemd_networkd/20-wg55.network b/resources/z9/z9-router/systemd_networkd/20-wg55.network similarity index 100% rename from resources/z9/rt1/systemd_networkd/20-wg55.network rename to resources/z9/z9-router/systemd_networkd/20-wg55.network diff --git a/resources/z9/rt1/systemd_networkd/21-netlan.51-clients.network b/resources/z9/z9-router/systemd_networkd/21-netlan.51-clients.network similarity index 100% rename from resources/z9/rt1/systemd_networkd/21-netlan.51-clients.network rename to resources/z9/z9-router/systemd_networkd/21-netlan.51-clients.network diff --git a/resources/z9/rt1/systemd_networkd/21-netlan.52-iot.network b/resources/z9/z9-router/systemd_networkd/21-netlan.52-iot.network similarity index 100% rename from resources/z9/rt1/systemd_networkd/21-netlan.52-iot.network rename to resources/z9/z9-router/systemd_networkd/21-netlan.52-iot.network diff --git a/resources/z9/rt1/systemd_networkd/21-netlan.53-public.network b/resources/z9/z9-router/systemd_networkd/21-netlan.53-public.network similarity index 100% rename from resources/z9/rt1/systemd_networkd/21-netlan.53-public.network rename to resources/z9/z9-router/systemd_networkd/21-netlan.53-public.network diff --git a/resources/z9/rt1/systemd_networkd/21-netlan.54-management.network b/resources/z9/z9-router/systemd_networkd/21-netlan.54-management.network similarity index 100% rename from resources/z9/rt1/systemd_networkd/21-netlan.54-management.network rename to resources/z9/z9-router/systemd_networkd/21-netlan.54-management.network diff --git a/resources/z9/rt1/systemd_networkd/21-netwan.400-fux_uplink.network b/resources/z9/z9-router/systemd_networkd/21-netwan.400-fux_uplink.network similarity index 100% rename from resources/z9/rt1/systemd_networkd/21-netwan.400-fux_uplink.network rename to resources/z9/z9-router/systemd_networkd/21-netwan.400-fux_uplink.network diff --git a/resources/z9/rt1/systemd_networkd_global_config.conf b/resources/z9/z9-router/systemd_networkd_global_config.conf similarity index 100% rename from resources/z9/rt1/systemd_networkd_global_config.conf rename to resources/z9/z9-router/systemd_networkd_global_config.conf From 8351c28cd05edaf70f902bdc6d0778ad365e1843 Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Mon, 25 May 2026 19:26:52 +0200 Subject: [PATCH 373/417] z9-router(host): add ansible pull --- .sops.yaml | 7 + inventories/z9/group_vars/all.sops.yaml | 298 ++++++++++--------- inventories/z9/host_vars/z9-router.sops.yaml | 251 ++++++++-------- inventories/z9/hosts.yaml | 1 + 4 files changed, 294 insertions(+), 263 deletions(-) diff --git a/.sops.yaml b/.sops.yaml index c3ceb87523..7df285b434 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -51,6 +51,7 @@ keys: - &host_light_ansible_pull_age_key age1llkxtfx4dgnezmukj4ganx4ql9k4ga4ca9zuanf5r568jfp8peeqal490q - &host_waybackproxy_ansible_pull_age_key age197tmckjll9999v5apqh5h70dktdxzxn92uyzce5j7jmesvnneecs9p7m5j - &host_yate_ansible_pull_age_key age1yc9s8r7zt6tc7scfyxc3345khdwqrx0lwj4z6yp56h6rmauev50s5yqr22 + - &host_z9_router_ansible_pull_age_key age1tx03yh67f052jzehvtvzmhe5ja6ca0rlugw8pr9v7q67z38w2ahs2a4alp creation_rules: ## group vars @@ -262,6 +263,12 @@ creation_rules: *admin_gpg_keys age: - *host_yate_ansible_pull_age_key + - path_regex: "inventories/z9/host_vars/z9-router\\.sops\\..+" + key_groups: + - pgp: + *admin_gpg_keys + age: + - *host_z9_router_ansible_pull_age_key # general - path_regex: ".+\\.sops\\..+" key_groups: diff --git a/inventories/z9/group_vars/all.sops.yaml b/inventories/z9/group_vars/all.sops.yaml index bc4c3f1305..f5aed04414 100644 --- a/inventories/z9/group_vars/all.sops.yaml +++ b/inventories/z9/group_vars/all.sops.yaml @@ -2,213 +2,225 @@ metrics__chaos_password: ENC[AES256_GCM,data:seOU504dZ9K21+NK1MBf9isee2L2rueP6Bl msmtp__smtp_password: ENC[AES256_GCM,data:FAih8FghRYDx3QGFCjKoJ8Zq0TkeCIx4n1jTx4/sASgECqvucg==,iv:8NDn3wj/bXsbHbuce3ycJTBVWde6XAVxv4NuMUkMbIM=,tag:jeE2b0i/8JPtguLYQvdV1w==,type:str] sops: age: - - recipient: age1j0876shgsn7f2thxh9kx9x5uwnh45z6sy2jlk2qz5jhgedm26g5srn9kax - enc: | + - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1VWJQWnBhcDc3VXh3TnMy - RFljQU0vNS9iY3AvTWFraUxneHIremlDeUZvCmdzd0twWHZEdTZSbHpLbEpRRDNX - aGI4ZlczN0tFbC94TzJ4bm9aUjkwcVEKLS0tIHRGSGdkQkN6ZEVTUjl1cGhMZzVI - S2FtSktoWmF2TjZCZnNlYWpWYzQ4MzQKeK7f+UPSanQsOIXNjzZa9B5FafNFsN3W - sjssDdbNQ1OEn2CLWRVQl1umKrADuvd85fMu3gUZrycZRDCCfsBzVg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxTzAzaVFSRDQwN2llbmdl + alBBVDZwTWhWUkV2L3ZLZmNDUDRyTitDaFVzCkNRTEN4ODV5ekxRVlBZT3ZIM2pj + Z0JxYUlobHZCeGxxNE9PcENkR2h2VDAKLS0tIFZiVXJHSU5naXhSSEFobVZBN1Rl + NnVDUVRyVWxlUnMydVhiQ2s0bGMzTGcKh97/UOPxrKieK5dKdGyRqCRi8Sm5UNcT + I9jLCPqX8Utt0e2EEp+ivJwFxgo7QuNCYWu6jtPCO/Zmc5Q/2tJQ9Q== -----END AGE ENCRYPTED FILE----- - - recipient: age1llkxtfx4dgnezmukj4ganx4ql9k4ga4ca9zuanf5r568jfp8peeqal490q - enc: | + recipient: age1j0876shgsn7f2thxh9kx9x5uwnh45z6sy2jlk2qz5jhgedm26g5srn9kax + - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBkSmVEVyt3OCtvUUNqV2FR - QW5WaDBFcnZVMTV3QWdSLzhxRENCdGNaVFU0CmxqM0xIWUVCSUwvY1pBVjQ0RCtq - T0psSG84VWdpY1dYa2doeFZXd2RKNVEKLS0tIGNFeDFRYzBDN3NWcnpUSVhEWitY - RXhLRkp3ajdlNGY4R3hRcWVSUU04T0UKdprDhBpp0aMc733Wx/K7hS/nLVohvlft - N9aSQdcRoqT3/iMGu/6xdqbeq0/7a/U+6JvhYyWLkLsrzw2mlVRoIw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBuVUtpb0FmeUduNW9EdHJw + WEY0WllWdE8vRlVhODU1dUcxUnF3WE5mUG5vCnBQRlNkblNHbUFESXhvQ05YdGVW + UkhjdjdvclRmTk55UXRGRStXREFiVVkKLS0tIDlkMHhxVkxEK1BjV2orQUtndGc2 + Mk8rZm14SzFWTjJTanVXaE53UmViS28KQmnPfzLhgLasSuu1Aflp/JDWo1hqvYjb + BijruPUZ3NuoZ4Wuo56FLlTLrch051fI3ottzy85FfX3lRnWZ2IK8g== -----END AGE ENCRYPTED FILE----- - - recipient: age197tmckjll9999v5apqh5h70dktdxzxn92uyzce5j7jmesvnneecs9p7m5j - enc: | + recipient: age1llkxtfx4dgnezmukj4ganx4ql9k4ga4ca9zuanf5r568jfp8peeqal490q + - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQWWM1WFdidkY4a2hLNm03 - TGdNNE9ZK2lvelhYQndTYy9sUzM4TkN5elRZClJwQU1qeCtwUlFzeVE2d0FSSCsz - WTdzQWZLYXpqUHcxc3VEWHZvNmZibU0KLS0tIElCTWdraXRLcHNHMjR2eDVxVCta - bHhVdFpOdDB0eUR5d2hhdWJlcmJDMjgKBbVkm7LNwnoUVrUF3NPI7d25b6tAIr1t - HelMjQU5YFM7DvRYFOlNpgO7WmddNSq3C6WYa8AZDGpsjc6GypcLVw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQSm9FZ1VmVWhadldRY0JU + c2R5d0tNMDV5U2tzbVorai91RTFyZFdUMWo0CmxLVUJYdVFUN296U3Q3MTJQM0JW + LzNTYlVVVitRYmk3azQ4VXBLWTZiZjQKLS0tIDhXdFZaK1BWVFp4M09jbk0zdGpF + dGxmUUZkQS9sMXZoeTJETGpvQW5VQ0EK9Y/trD7VhjQnqY+KryPfEv1J/D4NCWsx + CHv0R1ps6A0qoRJzS1UNxU5bLXDX1RGQiU/arhJ7LXFxHrNOdObsZQ== -----END AGE ENCRYPTED FILE----- - - recipient: age1yc9s8r7zt6tc7scfyxc3345khdwqrx0lwj4z6yp56h6rmauev50s5yqr22 - enc: | + recipient: age197tmckjll9999v5apqh5h70dktdxzxn92uyzce5j7jmesvnneecs9p7m5j + - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzTmRaRXorMzBQZWwyNFp5 - VHdUUElyd1V2dUcvQ3k2STQ0d1QyMytsRG1BCm5CVCtRWU5FVmErQWl2N3Y4QTc1 - Mnh3K01QUnk2MGpSZk1NRVJWUlhFYWMKLS0tIEFOM0pMa3RVNUppS2xOakFVM1lR - cnlBL29XQVlsL1ZCenBIYTQ3S3JxQjQKq09vbn1XOC1jIXDpv+ThFMk9k7SyYknr - MBJRBp/0PrKBo/Xk+RCSWSLjgali5Cc8KTjDTJyBG8rFzzvLIazBRg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBreTY4bzJ3T1FHOVdhS05v + dG40VWdVeWRpamdqd2ttajFJUjdYVHB0ZXdVCmk0UUJuRHdsUnE3ZThNakpwY3po + b3dtWXNNSUlvbzVHcXVIclNlaVNub00KLS0tIEMwL2FYcEZ1dkZ5MFl0S3pWSWFJ + NGdXVXA4UGJIOTN4UnhoMjRYaTRNWXMKGJNomXuB5TqXZKWk3Ub/rEc69CrfYABw + bBBidbCQBrv7cnsvjsVpHHGaTwyP9Nk1ceF/gbv9fD9gZ7dwt3SA1A== -----END AGE ENCRYPTED FILE----- + recipient: age1yc9s8r7zt6tc7scfyxc3345khdwqrx0lwj4z6yp56h6rmauev50s5yqr22 + - enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrQWhjNHlDU0RKRmdKTzh0 + M3dhOGcrc1N5SnozMHhSQWNUdERPSjRrZ3lZClBpd1lrbXY5OEVnMVgwTGl4YmUw + bWpJR0Z6RDZubG9lS1BIVnEvMWhEdlkKLS0tIFhSbVFhVnZIN2xETXlWNlh3TVVG + N1VTSWN3SEU5U2Uxc2lRUmwwaWc0L1UKfPWAEs93dF10GZdlQt3yeDltk/9Djmuh + 3ZeGLgkOjcJPXO2hFQMZoJY7a2ZRIxN5Oa8PGwuy7DEtmQ9PdP/mbg== + -----END AGE ENCRYPTED FILE----- + recipient: age1tx03yh67f052jzehvtvzmhe5ja6ca0rlugw8pr9v7q67z38w2ahs2a4alp lastmodified: "2026-05-23T22:10:20Z" mac: ENC[AES256_GCM,data:JbnKG1qyAkvFDXr2iHu+gk7nRjedmm+dEK8vBFW5YzndWE4QKoYWeaqRHBk7wdWO9kpZgU2rFiu4Be+ikotoMS8jKAcd5wWSrWtSreaZxxiD2TWMWX8HwPtETnYe0rjrEZ3kPcUj4QPyNTphfbH3ARLjthedRXNF70NDc+DIpAY=,iv:4LN3oslWUWqoY3rQNVDSmlJn1o0c8JQELzsWd5btn7Y=,tag:c8X1q9XMMUkXed93j9C6ww==,type:str] pgp: - - created_at: "2026-05-20T02:08:49Z" + - created_at: "2026-05-25T17:17:13Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//VIMBtLL8lhncJeItw53fQW4Lia0hs84yuKLuSBucNXhy - x3LT5r21C5CZ+JnucrGPxur4clsLnDnng2CgyWhksJNknk6smQIq3ZhyBd/OJzS4 - zNGUJIbitJsDaKjTrYDCdsQ3KVcRBDMu3ow7vzeP4wnL4qU5fUuQ7S2rK6a1hfMB - eTQmn4wD/Rl+Q0AWEo2V/X8UgchwGPeuOXfju2t9+1UVE0kUJdXw/JIrGyR8XrYM - 6ZGXB3mPnlZTZjqhXVSFSSOUTRYu/0g+s/JuDLpgl8gVP+oDvSCPrB2pDNK+o2Oo - VbQbJMg6lMbIuewd0ZTTeCv/TFU9O51RtkFyxHIEW7dVelDrNkuciAG1mDUHFUUw - MHeWDjngeCzr1hj1Z78P1bvR7I2pqBQiWT+d/e50S5quNRVjtLVEjuU7r1eKiPDu - pL1lYJZZu5+uY1nWE4qeJiI1KambjP9/C+RUCF38yT1wNvxrbwsM9haXGbI3t2cU - X/RRpK5VKKKwbBqyQmkZX7xaDR13hLF2vLtdVw6L9nYVVactfnFr9HKDV95HUnhO - uevmzu+ShtAt9FMXz86dLYmBx90A2BSWxb6sKvZkG8UDY+vVT1K0gNK4kwxR9rKt - LFzCq1a3ftx3UvrNMCwaboGQZLpRtiKr0lNQvGLpH/SRDZ2HksinV16FNVuN74HS - XgG5HnRO9/lkL2Bn+ms7Q6+ki9QmC21FlLGJOBQIi+VHNVwy6J8XQlrs5NZPy6Ib - LmWIV6BdIRejCAITlVeBRBpXymdUBicPLa/VQMK2s9L3SS7MUcv+4j+vje9YR5M= - =IEFm + hQIMAxK/JaB2/SdtAQ//cayg/ELKtybgayA4z+xOUK10zQJDE/U43BcPRMrBN0+x + VLu/C96Eom/dJN62SM2QamThHu454HMZj1PjDynMUzgfVqXEg/eG45bBBweWrI65 + s0tuzLmsqpdt9TJ5t0znliL2DYS3MPfmYRNbAsYsCbQd4I0YpxdzQwTvURdzjpUG + nVBUfzfcYH1Yqq8BVtR40MKfa/DbOsJGENHtpkQ9UDAa3gwVQs0NyZRQzg5w364C + UvItYlU77ZCKPkyOQuciLn4sM5poihu3UNWp855QsDK6fZVuxPTS4Cn54cfwdOTe + rL/ZQjLcHJ7PRmZUiWR6GVNDrY55u7zhORD4b8BgrpWW4hhxpp/ENjnRmNt8jKR2 + dJ/5/uC4HBX0fM3mbfpUn19BxCk9+gFPmNUOUZ93UxpQ28l1lZxeiLBOHAw1srEs + 7ZfFrJ0osedPGHu8rVOe93DCAtb/oNxr1xvGuDK/licRkEh8t8cvuoVsVhYFjNBc + UKXIPrhvuSj69c3OiHa+u9fNZJX2XAi0oOcZqGp+sQCCgUCA15I5QiqTpalCSTKt + /Stoj9BsmlSiy8YD2XBjmzHHVxJHfl8XHcuONKc3e4UmVjKlzkzc0bI73Y6XiEvt + zRIUmWxfvAvqP/zPcMSwaZke5h7N7ywKcjM+RHB4NqRUVYlBNwIWXvi7f5BdLhrU + aAEJAhBcA//3NJxuDzlf1zoXGKOhGIwNv5/Qb1n13OKIT2s0nfbqEHgAUm+tX3gk + VKKMqFuVmq2mkAaxXWFq20VC6djTJJS1QOaNsc6x3bJ6iDtYV19Ddn/20jbmbqmn + XbCDvb50nubC + =ZByJ -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-05-20T02:08:49Z" + - created_at: "2026-05-25T17:17:13Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf7BB0RdJbe8Ro2Fv4Phw+VaR0rUIuQKWOb7zf3/9YCbV2w - rICGVIx7V1vJF5R5RgSfk0RDrLN3Pfoq/7Jfkq6bMoHIVCHSFdryHfjG5Dgm49Xv - gDZ2CPAHPn15mG0Rr/67YUWsC2Jy4y6/JY478wzYu4Og9IkxkeBd6ufBFB6bTn4H - qB7B2hfkyQzA66zoxc0r2O1mchbJ3A4pVJw0v2I/sWCiZoJQKmt8ksoEK8BAQCWC - E8sozb2opRzFaUCZSNEdhz/rnbV8u5wW378kd8kHSOlWxaFZNkWUP42YQiNTkd9/ - YpxxGvwCTIpHGAYFtU7CV7QfQHzTuAOz7ZElPZsYkdJeAZCwUFO24nzwpxYS43AV - 29IHXvlKAQkjJunix0bPGcE3D6T8CUs0wXL2sUSDcvgOOQZSezRn4UNEqFCftjJ4 - Gmldo/baMO2Y054/iA0jvNmHRk6sJCY8aRYv9m5Fqg== - =n7Qb + hQEMA1QflAioE8i3AQgAm+iazJdcOXiq08MvSGMQ9/NAvrgcDav4561Hew23n4Ms + tKC5VLXf3l1f6yjhBZy6mnslYOWWdJ+X4XK0OqWkRr/t7zxEK4M6PC6g1W5hkaFU + +9DrkBLKss8atz3EhexK6GeljTuRpVWM629BtvMPBo/41eyue78TLf81vCkbUJkC + UpeB4alsETvD9Oz0ZRT8fipuXzdpGSjobOIgQa9bKwFMXXGY2fwBuKW8gVtSgbXP + mKwqvGaSdHz30BxQExmLne5ERKHOvzac2woG5tOmKPaihg8pbvuq/VjS2K0mzS5q + cbwyq/u4d5fGEFQYqMARW1aiyo3NjYk4xWDcGo5Ql9JeAdwhj3Wgm1wccULt2Hj7 + z/V1utNINoB0bPFb8ZQMmPpwAeH6nnoqjWmmoRSW0tL/EaPh5xQXdEuU+DloT5f+ + k8c2KQC+v4bh6BMUcycAeIG/h4vKsgz/Jc6BWKKD2g== + =G51B -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-05-20T02:08:49Z" + - created_at: "2026-05-25T17:17:13Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJARAA4zyDJtNqK5w6QPYMyEtjuoAmva91yLA4oAU/diRpFXHx - D4UzksW8moYqmaiWblFy1HeQJFwZWrxnXeqg9B7PFOkhriIG7al4DpV2wXoCjami - DIkewGoeZjTbPNxsDVl0SbDafCARQFnQ8LNTmM2hi2X/ACg+c8mSM7eK6C3mh8yG - Bo2EsuCnIqzwzV6XbGCKnfOUh0QekWM7Jc/e3oYGSgCP2N5wb2PLVsW1220qdPvo - 8D1l5cDVj2Pgq7fnfbxZGJYSfdgJb1YweH8mjHk3gHU68AGeeSkV+VwcBGV2HObg - hKSbVWcyGAHrP1ppCNyXr5ZkBgyvdB/EjxjLqTLq7sdTnqjLLbMLgi9CCI0NuDMI - jfgMjOdaImjUvvr8lCl7dOMyp9wc6ks0bwRbfG3AMLGKWeR+un3uaDYujD0bQLqZ - m0g5mx1wHxNCJIb2ZQ6UVjDlnatTYGBnxEupqxr9PFyny0MRhaiYkuDIh4tHW3nH - xyCHN9QIO2/EktLkM4wcfhOeVgdpfvKgT+cMG9kS/yfInZ5ZAGvXznzvfNZZtKDL - fLvvF5AqYbN05c0h56WJa65tIT75P2wI6ZBncCSLqSAzyXWlZFV6UBP+5QLEkQaE - WtY8y2907OAx1v8g6vc5v5oHMqfwfWC4nuFbkoJo/ZbfvtDWq4eFZfkUKY3Au5LS - XgE/l6NTtWknF4nPYIRaibum4527ke053JdD/50eqfuRv8MFIHbRPfWE4lE6lgev - +/j0Ef9sYRu726Sv3wAgT7K6PmCFsLN1319OmjkZpBAJiNsxx9qwXyqgTpTvb34= - =Hr9J + hQIMAz5uSgHG2iMJAQ/+NjXRTghMiYErsXenuJRaWdwHZ+6DkkG8nC5b+Aigljgu + OJg5UQgYtX5W5T79uUuEh5BWKO5bMHBwDNHQC7Hn1FseYgrOxcoSYOsewlb8t2QH + fqGLLhv82nRnU0nTs8W/yvrBH/ub0kAtuko1jkPSAWnoonmeEW970iLVIF9lCVYJ + idF+DDSiic9RDpHd4Csuxdv+1Q8OcaOW1HVAUrfrKOvC17sawd1Cat2DWC8EcOVD + clNn6A91FBCTxVnxwM4j2J/NXP1JRIGnlxaa4lATQMiX8lfheu0LyEpsFZai55RC + dq20HWqPgYHiamp6eGQ+Uqe5edx6F5YX/25S2Jfrx4D5vRh0PFx6blY0kgZJp16a + ywNiMtLPh7HjOMbB1v7bcWtIDWrIhWDtyJ7axny8sMamCLCPOwPpPvdL/B5YOntm + +0wMXHXCLCaljzsa5GFIyVYj3pTY/6O0Fgkv+6ow08ndPjsViHNikufCSW0ueIFF + ehv0V2+AHhedoHChFZI/DEbGzIKVcr7JAA+GHAIWcklg7O5hss+/rr7nYxVB0A+t + Sfp5kVMInLpCPLRm2retun3zPF8+R0kN/ZrkLy02K7z4rrD8wVE5QUvSCWbpKdfS + deWIy4lp9wRXSunag1/CxqvrH3ZszlxSZPEQkC4hez+xOS//L/5QsiP52SavB9PS + XgHvkL3slXXsdnIgm3cYnHqEBf2rXLQR/ZTzusXMLEBaGCd9JB33T/Lz+TUftCUI + xxLwzFvm+dEvQ6bOB6/OvSMBIsvVzMZxaIblwZRdIYfQovEdKLCRc+F4lTqV8fE= + =1lXS -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-05-20T02:08:49Z" + - created_at: "2026-05-25T17:17:13Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DsZXvxFXTXoQSAQdAp7TsXm2MaBAh0qB3eOjtFuegcEsmtdQHsMP0rs0N/m0w - bbbzXLwq1TGL82l5Qon4NnX9Jg5gXnKydWOiKWhxCsQ0iHJ7eupJLxyfDD/kzga+ - 0l4BRUpbBFslWWa8Fb7zfNA7kslhkaQIJAmN92Yh/2NdkpmNEpMMaIrx2p2jK4Iz - mwGUQlUz4ZkK10xy+9LMaAtmLhBJgBhDTKKzw7OAsRAnASq2gXA/4wqEVgBU9BxB - =tBBK + hF4DsZXvxFXTXoQSAQdAJAr+RX2f5gW5PpXJ/WA+1qMPFjuWuDccIk1ecWzc4kEw + sNH69jVC0JL7l5RMrJTAaY0GRTMrJffoz28JxpVbUVFEpeHsd+myGCcD1jZyS1MX + 0l4BllCKEsOVnEKKxOscOIctaIw8/MDNnLSoP04JI2xVKKThor+UwUhRzg+fVwxH + uEiHsx0xA/q0HVXhTNIvIWn0CKx/4uV8JwVa9JqjSSyQVm8PBwU+UTfXMQ5VcuHv + =uxSy -----END PGP MESSAGE----- fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - - created_at: "2026-05-20T02:08:49Z" + - created_at: "2026-05-25T17:17:13Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAlBZhTjLL3YPqorSXq0jet/0CXmeZeLL8inGvm/HgmgIw - aplmjWHB80err0ffZeRfcvqx9DGujpwlgoFGDxjqn4LIqoNg6YK/VfFb9pXUvIOv - 0l4B9xQ4DlaYOX1egCQUBw3KcdcnNlcEZwTOwTKn0Hg3gXp0u3TYlJFZAchw2G+l - XJjlWiwJN2gKfEG7hrtZ7MJkYJFsqMFa1aC1oWHduxU4jmdRdQqdIaQDsqkcqJc3 - =KNVY + hF4DerEtaFuTeewSAQdA2k3VLlMvCocHQ1ULFwTJKqscSb2FScq8A2I1TIdlfXAw + jWLzGphdsfHuNBEsocoixm4nKAdhjgBsud2rfYkuwxpqX2MlBr6ikpN73dXlHtt2 + 0l4BkUvmqlioN961OV7nssbeQLzb49C9Gzm5S1dQqBQVCt/7qGodTHHiQON7bYJp + +OgUaI6bKZjd9Lhm/u98dTH2cdPm1B5bUQPDzptWX5vG8euzBQxXc7OrGsTFyYME + =e/rg -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-05-20T02:08:49Z" + - created_at: "2026-05-25T17:17:13Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fARAAhSBdgW04fKM8tAU8sC6h8/4e0Io3W/D2l6P7nZiD9WVR - 2pUqS12mlNCoRt1I2empyJ5vm1wjor34BCuSCiyfLQ1WIlBJlDro96ygpsHZGmam - tNcrgwc7y6rg4ycqUWr+H+WVZ0kw1IYYKbfAjMAJF5lQqzz+VMvET9BbmvA595MO - l/dnMColnjxxBiYBIzO7mnli+uqRHB79rM2VVlrqoT+C2s9zuPfpJfY0PJaCbbdg - BlffAMqs9m2JZdDr2r0lrN/jyLUB2d3l9NCcF6UYP6tjgZsKmHv/JxSgXLf6IklE - wolO04qgDRK7jeO2UGEniweVQNi7hqA4vkp2TskGbfVsS10PyLYKw4N19GedLS3c - ZxRGde42Fze/PrccWq8bGdOfWhPBo2/MEyqVW4lgTeCCwrFRO3UNyYcWo7cmaN1q - lz7uaV6ffqbUDJSkjkphvxnJtuX62x9Uv/wcwrJuZUarSNclQ0nQV/e5wc7SzPgM - B+GLeR4tnconDZGFq8q+KKuHe7MSx2uwiZsJIVXohcZwhkd9wk5YQBPc8i4aP0NQ - wsb+QptuM8VpCEVAwKOUjp7IRRfUyqAIlmIRDkTijmHknSmI9HZXPyCvTLoy1Szf - KDrN1MAma6b4gsru1fFnVizXQyZozl5RVZFP2Uv+ndugdvRE5sv5aevlzgaWFg3S - XgFqaFwId78UDNTrxcs4EzjHmlwg4E05G9pUqbA9zBDdCqwlD4+6CfAgQ46A6ptY - 5p2QQJ3KXgJXrtlJySq8piReyq3mpagtWZJfAazovJA/ZF4o/xs9ZIu/q3qxHSE= - =nR8y + hQIMAxjNhCKPP69fAQ//VLyOILC6lpvlq0W7NeYfUzL7KtKYXVDF7aSQ/b6Vn7Of + ggc9n40n6FkMJqknhbvSnhhlFdzVOCZkLy/hinNk+jF2POBlLbzBjCuzQSP+ZDyC + Dll2UJ/khITd+tQ4zwrFLpixr518Fgcj8NOgtljUovxR1bGIzYogpmiVFJEd0cT4 + k7ldv5WbZtB2UprhPPpNe+98BaUvuSvA9RWCogaBbuQpY2p3g9t9Zo58spOawbP4 + ccz7Pu03Esy3cenlnCt3G7gl19viIh+wHKrIXPa8dGO6TEsrRMPT0tNEs8iUJyDO + TNEgo6+yxQ2p+08EzAh0BCRwljqnPLjS/h2s2s208Z5rBOCpLY9RuoXz7JRvZ06p + gBgPFSIH12VBGjfqCB1uZIatbtLQLjOo6+UU0evM65WhKw3//tUnLrox1reoiRzO + ro4JuytP+f4PylQRsr3jOYKRKCBzoZOOPZbVEpwQeBOe9zzxDgVQqHgVDDZQzCcw + VTHCrs4XVHxPH0aRMlS4A80xbH7VncYbcbf8a6VrTpnPflv0OryWMWDqLBzmIPgM + W1Bz/hq/o6br+g4uAKjt4GTdTwWYxptA5L84aMoihpXRu0MaPhG+7MRsXpEa/+Ll + +ybl2DLpm6zm0iixkJuxwtOdQOGjqJqC/GLw/EZJTt2aO+ZUb8dLrChNmR7HJAjS + XgGBpFYao1AQqLZU3c+5B2/9/3rtOoVX1DQXhUsji5NkaHyYO8usauj9evPUf4qx + FAQRWua5/zp/cTlNWU3GknqtJ1G0g1mrkiVeBZCRxIK2Iyvyav7RALJ1jlkyW5c= + =meb0 -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-05-20T02:08:49Z" + - created_at: "2026-05-25T17:17:13Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqARAAjpM3MO83b2EUtzyZs66HWH6Kd60rl3QODTqs4PQm1cH5 - HdzfVJ2IDo1y+FMTMmfJov6xBqnlalNaOvg8XFAkKTUkZgUHRW/q1WXP4FywTWmP - aJV47x4dOQXQgj/i/ykMspUgsxA5049/nG1y06Wsm2agLO3KjL6KIJAx0LI28XPU - qA/NFtfNuEAv7DGS2LGz1+X1hnRYcBX/oUgpihzActWmMORD6VS7xZGcMdF2/+Ex - OCDAnwT0cBSAihBSLTmEMJ4xfmMG228nbLqm9r/gELgVIsIL5hXWz0CtxaewwLQQ - XFMm/ZV/G6bZKRJzKPOR9EcPMF7Z+nnBts9wKNlE+WA32p7zu7hjvEFZhLiDKYlN - +nFcx/rvyWB6sbFK0xn2x5MonxWNVUy58PnqGWmPi2VtXT1al1zSAoKAgg8Xdw21 - PQENtxqeUSLXXb0SZXFptMmYStwqoaFusLOCLW42DogFU246o14veDDtsS619T5G - RrszsNg543i3ra7MIm99YRXyniUaDp5VlKufPkWRexIT5YZYalOLtdLcaTTzfr7J - x4PNVOK2ddtmlKbbakvvmPWS3iBEUGMqw69dPhEdpY8yy7HJ2jpXX7TiezNqGJ9w - XqtI9RJmWrr0/zSoim0EpHDwXZhSf7YVcwTs0XCtwrXcQT6DLaZJr8cny/G1ErLS - XgEdnUqFpB1D0bacmRpfHA3PLZJd/x0QfwZ/b7gzz3f1xRfMXgnsM4iYu1S8+VAW - Dy21iVFZledWfrmuXh/PkLFftLipYK6tc0n922kFFxCn/xSP0yx9qKlNwzyduNI= - =4+Bv + hQIMA46L6MuPqfJqAQ/+NK0D10olgDK4KcArzoMtrJR7qwbrceSeKwaQGsUB1+RZ + xv6pZJ0zyw7McTuUV2I4bLYHy/TffSyJk5vLSSTGFXgHVdfKmjvm7VDEp5d2uKku + GW3Qh73quldfhd5GjO+F9V/S3rCysrNMpTmPnR5ha877FKGtc8168XRhIpe/1+mP + mvlE6h0Xizbx9myGR+ie17nHpoH+tjTtQFH640s38+xDgH6AozwWGUe/g5TdLaLJ + 8SKHyQnS8hOHQDkttvhWRbyhKa8WuGyOKSjuQ81HIv+/UPxh1fs7vovPHM8rtIyy + xGcWPzUeoKQiV2nyXUP3BqglhOhD1vokh3ejDcxwWWKuyASCSXhhvW7KMsV3Stdd + E3O1nyOi4+2I2E4TQo0NLt5mTJonPbvSn4IvV0LuatrG902UeNNZRRwQv3ZrVp6f + G2ZJ9HNSs+Tp9H8cJzBGjDBYjC6/d3GGWi7N/5G/n6C7T6W81BgO8UiQOleEDF1c + Bi6NPNeoGL8fivVGlGTHpLcpPpbYz+1ynsFs1ho4+v5bHS5w+UfvVvQC7dlDKmR0 + fUAkllcxLSnzKkpKis1HF+Gp+lSNc75/BzOeTA2gS3c8H9jMuncRolndPX1rVJA3 + mrLiQE/Mja9NaYHzUROKIHDEUOQ1ZzvpcRduggvfj6Gb2wzNdUdR5QrXnLeI2jbS + XgHO7Jr0HrHzr/+p+w89U+uH4b7onseYDiAjfLjAZpcYwkzuy7b2ZUmpLq1BjZRo + zs+rSqv4BP0Xa7LNIFrHj4OeL9ivwP7Kw/Tb36hU8DJ8xDfilx81n69Fer/cJ8Y= + =BNfm -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-05-20T02:08:49Z" + - created_at: "2026-05-25T17:17:13Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdActtZQL4KWrCP8UUZa/fLeDltuNV9JjxTYiI9upoH12Qw - 6n8EBLgKKNw1Hsb40u9M5Ro7Xzbys7zwZsL5CxEgFGDBxthtcdaI/ykjU0W3poLE - 0l4BcMpLoCyxxwIn49GpFxHiv84Q9xhouSMmCTe2p3bn5zCRBnKsetVHtEti4iRF - sY9FipGcyiNHfkp8KsWeUxD/j1QUIkGODXt2RqYkO8ltA5QS3kUCPErmWYymEAEu - =RFaD + hF4DQrf1tCqiJxoSAQdA7az9ylWMB3fWHwSVRmU8Gu4Qnd6HIyMuiG46weuS/Cww + QMCknkfCG06HtMrOcroNigaj7G6FEvDm64sUkpW/ggWkHUUEMuwi5jcKIdx7XdbJ + 0l4BDGUF81uOghQUq/JqDtiYPD8IzRHMXbJmXiO+4y6DE5b1t99wBUt3C5K5H91D + U3blcYO6GROPSkVp8ZIzfnWLvyVoWInd1ZiRs19n9MN6Yf8uWfx9/3xvN2kKQyvj + =4X+A -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-05-20T02:08:49Z" + - created_at: "2026-05-25T17:17:13Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAoNdta1fDVjzrPWeSfKrmslkoFi86I2nWplPOli/gFXsw - 2Cx+wmejLlc61RE5sqAaQJc+0ctRezwXzBJbkuqznZ2jWPCK2A1EQ7r3Q7USCCca - 0lgB6XOo0ByOj/W4TrrGn7VmwLvEqIiWCt5zk4BEUSVc62Ffv48dcwL3hsB3HlRw - 6FXyR+2zwyEU5fuddFO4nMi8AXB6cfU6F4ugFgwn92lCgTom7IULY1D7 - =Czq/ + hF4DzAGzViGx4qcSAQdA/+jZ9/0jHioWKE2TK24OFDKjJ8futm2TP8z6Xat3uxww + DGwSznxagIkVgdTNKqAWmzGvOum8xDBqzP232CM8B/oxmwIjuIV8+FXtJuFHA/4b + 0lgBN9loSuX5uL5O4uWzPulEhqjFElrWRZXLHZn7uIWipW/7mP8CGu02wwV/lme5 + jvtJ6EjgopmHrxyaJqRk+e65gxBYKvxTQ1H1iETCUq8lOnxSBZVY5m5K + =7H6g -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-05-20T02:08:49Z" + - created_at: "2026-05-25T17:17:13Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ/7B7h5br3PMgum71smOTJMBfl4OaxkQAirJeG/z2fjqbAG - l9q62H1cutGKS/IYOFLE0OQaRwmHtkdTkrdmf9yIuAktcdAGAeqwnYW3LwM3t7U1 - nfZRJH5Hi4xcSVVaWHn5mX0QpxzrCye1EIjHvPRx6/bWHD5sW9qnkZAlAvEJS3/K - jdyBLLlK8AITpsX4eeVnmVLZBjbVEXPlXfFCh9PFyqrl+iyBBY9bO2aMzWldbQIr - j1551Xe1wKAOn5SJTg2Mrm5ehBKfH53HY6ubCy9acbv5ZTe6JuStseWordtRNNXY - 9eVmR3MRVoFWgK4Ccb9Qq8l+uEHRuQfG9K7dSnxQIJpHCOAQO9oi3/ykDt9Vgvo6 - WKPpvyuJpWc5Tn+WF1qhz5wDTRX6XY+cUoHkUqZXG0qMTIfMLIAFZ6MuslHU9f6J - PlY0FTnwp5/v9rK/rjXZkfIxKjQtSWZwkZCszZ0WtNVuaY3KO6KYrd9rolFFYjqn - I2xFGnTNZwh3tjG/3INoMwilOkIUNXr18k6FsPqVCAhj1Oo0iNxb3j+3pGJsH9iN - ciTLeM8MsFW9MYXG23i65a5WVXi8hMTcyqCy9GyxLeFprt2DaH2HaBahF3RIWPop - KTNsvW1aawy+lDUyr4mBy9F0TA8Z1/db3l950Gtuz5s9/7D6bbmRn72O++W1RD3S - XgE3QuksqaIh7ZGt8tVPREEHpBWmPCskh35vLoqeO1QxGxzJcjrcuNeHtOH44EEj - mHzYUydn0e1jwKZkATG23DiBCyMpcNAWmsMH45wmk0fgNLdQhuslhKLqOUDLpN0= - =Ygd+ + hQIMA2pVdGTIrZI+AQ//aZjaPgcAM6RSG6QCnYJgn8EDEhG7HDvXmb58G7VfxArr + m+K4Hc3hW0Hh/c7/bzu2QWniN1ie4apqFSvQmAIJ3zQZSyOsqhzvbmyTFRAyzpzO + lOAo/s0xMu8s5V055vC2KWnKuqb9+WtWgJPotkpOf7wQM3aqtvXKFnPa74ihjXdt + uuopRsOsZPiG8MLcqkCrTy+pd1PywrqwjKeva+mfgbM8zpypw4kwLwrljsxCThkZ + To4dH+K8oesvSeyVOKWtAwnjQsPa3Zn5CFWXNwPnn2kpjyMoNRo07xuRkfHYI4L/ + 7D8zz07XdN47kJbEj2BYjChURtbxkFbAxq+IUDgbNDW+M7VQCKZW+vOFjwmFJAlT + CCco2I3lmrVX1j9BTMRr/3aQNbY/OzOxk0qjYZGnPqV1bH4IazaDFUB8pOdmit2t + KBzDt1L26V0Ek1CpOp1dcJxneITXX1j5IqjMbl0TzyoJ9CxsSaOWfZ6XsBBSXZNZ + VnDENbBAOGcJgatjmC2qH5FCNio7vMRRncX5j82sytDRWbj/7XHENFpfXyGPIuYg + AaHyxSVegFCeRUHpzXo+qeFpNFR4407v+otVaEdxbfj6MQfMZ7tDUOde+97NNRow + tAMUOAN9yhGuEPMPr4stQUz4lHseGMX3VdpJH8UQH+BxVdJhzKg0H/+6bAmnRi/U + aAEJAhAi7DZdrKpPPkDijPKnXCPJB+IzdAJdOCsnIhZFzaiDUo+RLvP9bEpoqv4m + ZFMtiF7P7bXyeNIObCCsgKhdX0thXI9lZvv7k9M4lAbFhPS9vlmDwf25t2Nm9Um8 + 2tbINg+K23jp + =syE6 -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-05-20T02:08:49Z" + - created_at: "2026-05-25T17:17:13Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdA8qtjYHoUe+GUdy3obbF+pNmvfuKQUqkMHa6V5ZXOpXAw - M/kx52Vu5xOdynB3NMBXsfTVH7KXh0f06HcehTREOkhlwVMYPcvDQQdzgJ3Xodpc - 0l4BdYtmbmk9ETTqr+wXvf+6BMYIuvyhsLLSqyWyCxJv7blQYsxsc3EAHZ4LB0ZS - /lw6gQ5lmQyvVt9PQZayt6Iku0+WMJcgrf9xykOAm3N2QrtUnr4jHV3FydvTiUwR - =snV0 + hF4DKKbvh61jX5USAQdAHw+hxKofus/fR32ThZOHfkL+8TIPvWeYnTYe5UUCC1ww + AtCE+MfZvMgRx7gUpVPcdWtch6nlFzun+r84QfPopFk4S824JFEkK8jG0scYCpy3 + 1GgBCQIQm+g/LWX0T3Do0NXrRGIuw0fiKrQiOpEhbO6a6ez/pES0zKKBdlH+scQl + +nLZoz6Mw5mkwhY6zIKsrikuQ/+sciO2fIq9tI4MR6cvD5gmVrGEjIyOZ4xgl3X9 + nX6OVR9w8cR7rA== + =voeW -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/z9/host_vars/z9-router.sops.yaml b/inventories/z9/host_vars/z9-router.sops.yaml index 89f18e1846..33bd3c834e 100644 --- a/inventories/z9/host_vars/z9-router.sops.yaml +++ b/inventories/z9/host_vars/z9-router.sops.yaml @@ -1,3 +1,4 @@ +ansible_pull__age_private_key: ENC[AES256_GCM,data:TlMDo9sUTYznxKOGityGLexk54mM7LU9+U4ln0YYhO5fhXXmwvySxyMLHlaKzSlpU2/mRRy/0v7AIOuRVZx5XqV8X2JJsv3/NeY=,iv:r66g2UQ663KvWyAISitbHBRaLBlJ0gB2g/TW9JiL0Ls=,tag:VEq3Fqj+t40uBo9g4Icfew==,type:str] secrets__secrets: - name: ENC[AES256_GCM,data:gt9BarzsfE/GJ5gQeelgePquW6KAgE3Exv4=,iv:IPpUQI+zkf8O+ej+ZxLFyWUOrxGGlZvmDRG0ut2cNsA=,tag:GP66MvcKyCqyKV814+uMYg==,type:str] content: ENC[AES256_GCM,data:2ljp324rAsF2zk2631TI7bV1xKxdFr4u4NxrsPYnjWsL0PX0n0KhJ1qvJCs=,iv:0+DxsTTiNLOg5iH83bFT/d+0uW2rn6bATSm3xc5PEdE=,tag:XbBDrrjriXPedyT4+sBBwA==,type:str] @@ -18,180 +19,190 @@ secrets__secrets: - name: ENC[AES256_GCM,data:ERsggezMBbs1YwbIgwzKSAEHWWOWYxap8IDdn2YtEKvZexqu,iv:XbObLp2QERgt57tc/Cpha1CWXi+GttcIU8hJFGSp8e8=,tag:FqCuSbvLRERpVnQTzQsfpQ==,type:str] content: ENC[AES256_GCM,data:QPoZA71CwE8EFE0I+6z0z0O1bUCMQDDDG7wGNoxXKt3ovLkFt21r8WG7VhA=,iv:InX6A71f3DGTg1wO4G0ECf488+FnKgTHffVwvJ9hHQ0=,tag:EVxwJlneN1CbMLXto7uLFw==,type:str] sops: - lastmodified: "2026-05-25T16:29:22Z" - mac: ENC[AES256_GCM,data:zxtV1xgjQuKNMvh6S8oAOxX5J6+iBRO6k3vGw3vWNlhah4Gu3S/lt+5v8lQHogz1Vyc+Zff0yMj1cn6RstDDj5AuOCljRQN0FYs0fjCo4Yrxx5sMMwcwBYquC77skEiZhRnqdXKkjiOM7EGE8qj8O3DJ29borIjm5NAsflH/qkA=,iv:7EUElg+gu8mk2Gq32JQMTf+A1+ZhZufoqt5bk4+Ca1E=,tag:XG+F/zlXizsc2B8THoXj4g==,type:str] + age: + - enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxallVTFdueHBucXBVNzIx + cENqanlOOUticExzVnlERS90b2hWQ2VldUE4Cm9SVmhZejVzanRDTkJhQzhwM3BM + MGcwTEZ4YVQvdjc3clBHei93VEN5SkkKLS0tIGI3KzRPbjlNTFFBL2huYlZSVTZh + OVdXYVRkVVJwbVltSHBXRktIY3BYL2sKe+eqKzYeCUWx0KmT0+aM+TwWRj+P0Ecp + tnFHmQgnEPypIhVvZtzL7i64kL6sHizTmNhbw+hlnCztvsdEV5T0cw== + -----END AGE ENCRYPTED FILE----- + recipient: age1tx03yh67f052jzehvtvzmhe5ja6ca0rlugw8pr9v7q67z38w2ahs2a4alp + lastmodified: "2026-05-25T17:15:30Z" + mac: ENC[AES256_GCM,data:IW9eN5H2J5cnXUHlK2aD+yd2ORx+weSFKBGWd7pIolFb5txg0WlGVp8UpD4h+Tv0SJ9NkQOT6KpcXDez/L7r7xNYtmgf7AdrdGpy3IOkEYzHJ+oHUMd/aL+h5w6/RahrpxlPSrNKAC+AfpY+l0iodwQ09iuLp4YXFxRaRDGpGZw=,iv:6M7RkDN9D9Zlyq1MCRoiT4f1bd6OBZNg+C65oEuSWn4=,tag:wRsq4lt4mHVyY6ruGkYNKQ==,type:str] pgp: - - created_at: "2026-05-23T20:58:22Z" + - created_at: "2026-05-25T17:17:14Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//bbr0oza/X6GG43ay9coZbb+0aptj3pGzQqT1ND6nsI34 - iY3IZaMZIti+j/BS5kEfmRn56WZSx6EcbSrlbiyL5NZw9R4/bGRd848rOLwMvuYO - 8Usei9jHdpHiPvKBZnZXaXGU8E27L0Y/LCxSIFOXbyHzHogjz3JmtJQsYpSC+ue6 - mIRrSAJPALrqEL+DZ2bl5UYlBIRXdtIe/jL1CFCJhULt+EjJw72T62DZK/jaNZTj - eint63+IFZSxx5e5vrAeQB+p2EDsp6c5NbDrlgQWb8/J1q/G5bG4KxBs/0hum7OW - /sSsIDb4Qb8U/axt5LduV6AkMXXsclNLQU/LbFAbBRcV8Lvh11f0U3V/UnqUdmvp - efesb5VQh1x0uWjzobxaioLEV/YYbWx8binvuJ3MBHKp6E2xj7IrBTVl0MWgjEou - ZbQDF8DvxA49xEnJyOviL2/zjnV1kXy+Q+BKZga3pr8AnBHA8Ftbsvmk6CyDEM0R - i4FAUOVa9VWiszoOaqyn1Fl02YlweFmgzuFjd3wi74Tbi6RE37rN/vBKySbnRQYl - rFUU3SQlztxd4UBAXBo6gQKTz5B4rehvKVye2mmqEE9bas/lCWAKVJ7+3+0NQdA2 - lp/X7h7DRSD2Qkd35SzxkJz7P86rd0LM1aOu87psxYavEWw6vFs2ErDkSeqDn1DU - aAEJAhDb1s+jpDUa3GvVZjoiiCyutI018jfJU1vi12PGktg4KJcXBx66R/nLItO2 - ba6o66scIiAJZ+jYymW6RbJTI7XRHJp4Cs8COhpMRQeOGwEHFGGL2rpGd3KrOLQe - 0/C6EmrJvGpl - =atNE + hQIMAxK/JaB2/SdtARAAlyJLMDlT4FLpMKaC3ygn1cfA2390Dz24lzKlHmwl5GgE + yS9bdTGMpcM8zPOQoqaoy/my3kgx2/U3q7WiCTMdUyYePAWuJFh8ZRZjw/hPpv6n + GwYgK3M2C1I9++zmZD5LlR4TaTTpr99+hctYrrp79QJddgozUzAQ44g7WvDm5VhI + bb2UVSo0MpWvLEMXHqH9YZcjkQyVg/DL+IaU1rM9pmpZxoN7+0jQY4ci1ZeHVo9e + DbYcjMazBLakjZxxdtHrqx3DjZgbYCancMy/dUKVuvDF/lN35WWSxslv14BNHljL + +/9YBDRgIr11x9j1hq241UwBW+6mSFxWF3qQ5esdR5xlLEqbm27PYGtqC4LIdzRX + ZUvdujuQ2PHCYJY/jKWSf0cdfXKEGorc1ZGOV9FNq9L+aKvfmRLWfzX4D0Hp47H2 + d3itVuA9KYOdzmk6O+8FZv/VK1042L90tOPJhrtE287KhcJ2CvfT/Az4Qot8xg3c + tXmO3cWQpigXxJPfKRPjmmLJ9nq0BnBXj5ngkVz7d8R3FR1J/+TWG0F1VU7YeW2+ + Z04RAbbKf36xUTqnaV34EDum4QLLdTMra6fPYPy0KiQYIKDcRSdHeM/hEs7JXP1c + zbUX4xuBOXl7kWYR0e3MUTzxYiQBr9BvSDY+7sGQCb+fPw+AKvFxig1grjsnZvPU + ZgEJAhAUE/ebqBa2nGimcAPn3PfeihehcmjLg7HmyWBPkHHMt/TIOztjkbGiQSC/ + jBP+rhjmFxm0WKUGM4dkh14JkMgz7DZ9fozzLfo8zN8beuSDDzX1BndTIMBQJj8P + Q/rk1NL6pg== + =UXJ9 -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-05-23T20:58:22Z" + - created_at: "2026-05-25T17:17:14Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf+NkUGCBrTCkkyl+iBb6P1IWLDGqAY8s20mBZ7G3plKE/J - UrIe947letj/8EA+yoN0uzjwEkh3rDLtZrOLTSgflq1GMpdVhdaTbS71fD3kghJQ - P9tz0zDQEgXHBi+2q7iRrEETx/cu7UDNkSCNvQbWvDmo8MfbSBy+VFCknfupdQxj - 9hlq4kBA0pckPCY8V7E05nDhQntS8wpXIEO1SWiSuiGg+p4yFlvNzWNfhLyEFHxL - BZHVVIU/mzyClMajjLJWjKI1LSgHXXIa28tgdrtiBZOsF+CWveYqJlRJh9NUepJI - ZSeFNhyWmnS9ZkQu5BUyb7+oRxfq2NY51T76Xbo8gNJeAZWwyr1sj1wjubuVeNMF - aU6FiynYWr3I35JRVghTMJ93CnPl+NTpWnQuHpq1bzEGe2u8BMFhgrTu2yMD23VQ - eGien6SqfEbA/wAiz9ZaUgTQH8UyHpliteZ8/SQgkw== - =UJvq + hQEMA1QflAioE8i3AQgAg+PBxAqWTfRhxP7GxDfQBPK3d52zshP9xhutqANzszhs + nbo3nHWj/vjvHlEuD+Rr/lr9qxsE3qS4ON7FG929RoB1YFHJnQl29Xym2Q34T0Hy + Ih3dibykm0t/NE+fuxsU4iU0imtjqhqA6P0+8FNF3UeCg60brcqlrBTXM9jFqlZ2 + 9nuvk75HkM1FoHiKx837qAd+RjNNO7xKUpn+EX0l0l9tScuPqUkWNQxLrbHrcO5M + bcEC1syZHQKCiucsesS1pJ7TFWOJsnamZyaqhzANGwWdhYwGQv37bWKr6dYTCy3q + rsT2NxQK4/N9CxmP6xWeAZbX00BDhNMfEQVtTlYLgdJcAS433Hiw+DSEwGu2zvTa + pHtQlGlaoOZemNnthw0NO6JQWGhz6Bx5QqYmbrshtVKNPh87vNVV0HhL/fQ7qwLp + uCgnMi3P59r8EKDZqTSp0YGfE2bx2hpBDnyJ42A= + =rOz4 -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-05-23T20:58:22Z" + - created_at: "2026-05-25T17:17:14Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAz5uSgHG2iMJAQ/+O5JOJfDp/BuBCuXDQVUgJagspQO6LZ/MLrl9qH282AMf - MdgN5M/WjbOv6WZDCMg4nfXps1XgzUEiaA/1m4PxHlMmxjEoQHAE51GMcxsXg+B1 - lM+8uJ1+js1sdDX4xsZtJpbVxJKIbPuhF7oM950oDlL2+UKhUbPlCoxeOihlkVGa - RqHJ/M74xkyKH281oRI5bllJaAroBnXVSFIvbCxA7ts/O7YJPKBowTIj62Kye9Ra - aHC11bPy2RlJCcFZJjPSdnXvzUMpfzEd6O72VUtMBBQZn/in7efutC8FwpRYuUW7 - vSofxUN5n6Mtb8A1XSMFD/nfXVc/pM6Cu7kdtHSwSKgbKKf6mrCeVgaM9xcG0t2W - 9yEtWvkdvOOSqz/vd1vkftbBWcCejX7bktfmD408CJAs1bjzz5CyrDoWcnYmbxFY - 6N4rhMDRMTe19VH2UQ4EvSjQjmmYCspnUW3/78zi5kU1ijyQy13UpbgwulU7tSGc - KKtBjPoy6mLIVl0YhnEJZWD/XPIRWyW+0s+7m70YXCWSVipvCelEE8oPWjf8PLaE - J85crlZGkSRcRO7yOP/YtB9ZnajgaF33zJU3ZWr0C/IXj2TeepZp/JUteD2H/LRf - 9YJzOFYDOFIWcdmaTzJLBEaefWcDjT6wkIf6TBqQRMLsu8JUwy9VwFcsi/d5aMXS - XgEQqSxYb1B39OR0sS1Xpw0/CFe4imBPuG3w0tOAyM3DbPWYY1kZYIRZenV1ZIOS - aRZJh086kuWgHYB76VoNzDK3QperWvHL/8CT2g3HuPiVGSrrXwxCYXk5+UXB9bQ= - =Xx91 + hQIMAz5uSgHG2iMJAQ/7BOewbq1xQgTOruTFebugbSrodtfUlIDpCez+FZMw3Gos + uwfp6jslBKXHidsA39CRktJ40EYqygmBgcxGTvHGC94VwSl7OfCjHsyfD/93L358 + XsjpTHXBO/mOjQmJ2smhZx+q+iMLpJnq2QA8mGUI5uzPTjXD19sD9QdYdHF2p8D6 + mdpVWED2gRf/sDoN+y3c/iZvMTN2HeDCx5d/wIgl3mmoHLvWRO8pNBV3EUg3ZBiv + fc0Y7m/0KOqW1itE4yg9IoPBWJg2jYSZTkRnQMPEkKEEHNtbx6dq5tLOYUIIwOwC + 5JlL76BRoaul6ousBSHV8OWCAvS2N8OC+l0ATzk99p/h4zY7PCG7NhkKAOgYfWFa + /z5u6J6TMrmeLZjknFXepuVAzNmDU0CmuhMwZankGKq6lmsQQnHvdq8+ExGGWhfK + m6I8nPvG654md9H7Y3HusHa6y1rkf9gZp1UFzhvXQgZdvc7K5pJrhxjGUnEg6sS0 + m4daDRuNLW32PXiwoWTtTJfOQFv0t1f1eEKI9DO/O8/4fNtIvmI/8HDcdF1XzDnt + lGnyD9cZ5jKsKjGrT9DcvJhyTGWDFeBDTY+rlt52E8NbrzWUjX4J7Gyz8QRY9j7m + wRi4uaVt5KBmB8Ibo2bMTUXU3Db/0p8nCAg/89D1fP6FF4izg3GU4oD3vJyl81XS + XAH8tGT9wbjXuhomyhqemDYb0QdTRfpAznm4AS36qbeU/Tvj4M+Nm64qLpj7FFtK + aeDas4lzgeQf6/cdd5ItLlRHhlBOJEmjHVzRR4npabCWZojP8PTac1IlBgvS + =OH/y -----END PGP MESSAGE----- fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 - - created_at: "2026-05-23T20:58:22Z" + - created_at: "2026-05-25T17:17:14Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DsZXvxFXTXoQSAQdA0rZTVdySF9nUiz7ZyFJgq1tojyLojGTgE4UIEJzFSTUw - 9y4kbGn1cWMpAqr+sE3WHV9p7v6kgm/XdUjXGN4DadpUbiYx6sQW2Jov6Km2EYhq - 0l4BawupjX25wi7c2yR5iGdxYS8oCYVmGgcAB3T96v8VsXpkAOYQAOOh7B9GQIxm - hB3cFQLCy2un3VvBsiKGFMA2FhZYBOuaEwP/KmWnPv0IPIRH4by6LDB0xgq8MUNz - =xoVE + hF4DsZXvxFXTXoQSAQdAIjnFVslIKlmP0X12z6AdWNqxkpVBDFvf03ToWQEQv3Uw + 8ka0OYl32rH6UiiSE1Vve1wZ/iVvK9/il6UhTpeAt8bIiCq6gEGR9Ba5NJnm6rSG + 0lwBwzEtaARPJbbcWu7Jl+dAQ0quP6uVS55OYBuSannlaPrQ5qBuS14AtuQ3UEVz + EbcLJ0b4lGL7hgyAf2E6nuDTkPGPChAJ5H5DfrB74ZB30GcYBTzwj13+jWx/VQ== + =Hxuh -----END PGP MESSAGE----- fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - - created_at: "2026-05-23T20:58:22Z" + - created_at: "2026-05-25T17:17:14Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAgcGcZ3BT6lsJ8FxkMghxg5/PZLtIzNeJaEUbxN0EFhsw - uM+Lec3k9BJSUJK8GeVmesYxQh8vP6Yi/+m2LnGjHXzkQg8Bx1HJzuC/Ap36rC6N - 0l4Bxj1URTsRD4yILEA3TY4Dn9St9uOtodJcf5YdAKvmeb3Uwy//huNnA1eK7b+v - WRHcU2K+GgkSzLiRLZTc/nMrrCQ/P5HzwYHmP2rypFX7kxXlPd3K6yMZWTiSgYZd - =gZLQ + hF4DerEtaFuTeewSAQdANsYlCeGhhqmBgnqcSuNdQBUwYKpucDrb6aR9Siyukjww + 72Gin/635k9bYXwknA1rPyTMvG00giQgjUr/QK6PSD/eGi0QOtMZLj1JRi8f5EU+ + 0lwB+MIM9+EEzHJ96ouzL3bu0e++NvRY1Qjyx1Xi43bM96eBeLZ5DAc1eTSdWizQ + EWTorcmXffkdfOQx1zrlGZo/qvfj5F706VcwX4aZwok/ASRmSeCfEXLgGLCwqQ== + =ccBm -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-05-23T20:58:22Z" + - created_at: "2026-05-25T17:17:14Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ//YGOLOFtORNbOu+KFCtGcJBXQMy6Ej3/tePVuDi2vmqLD - 3Dz6stB9D+BmBbcgbFlDA+g7Vi6DD+zcze9wM10iuc9t9ucAuQ7B/ymSvJc4MrYn - MJFvQv5IYgWJmzXLYEFYYpmZPGG3hSHSgWIPs+574wEA/L867ktguW6ZD3ZuMn3E - yjCTeT/ZkGjuIpGqMu2/o9Wvc+RYgWlCB69D8kTHtnbFzbqEzvKU5/zte5ThchA+ - QZwFd/gk3o1G/7WOYJJ6CbBSOQaSrfm0mnb6sppNPdOAQtqHVSFVX5vX96gXsht/ - AkrvD6/2R5eNzbqRaU83cg7c5far49xoBbL6czreWY3D56yK4BJbrrg9mK7oCEfO - GaRDFFD7R4LJPfVx2xDoIQ3Hyp4E3dz4nyJx0Kg7NSEt7soOb5MnZ+04LLAiHbaT - qZr618V530uw3qaCsYcgHy+WsZXXlqXQey3A7jphi3u9Kvn9UjeegjNvpOrMk6g1 - RhGzv72G0wjZnzjTjPlzeROHaQ6RPgfpkZjEcVZNZkfAgAbB3XPgCFGKz4qvx9MP - 4eHIlBSJizLzSi519o+0i5PwrZdEf9L4RUVxgQgdJXMh1JaydVh5DOU+xomdStD5 - Maymkt8fSgYgDaS953YA2e04PrkXCH0EHZ62T9EMxreEoU3nYTmw/TGx7RfU+wzS - XgEuQkLWSToJ40/Ir3obDA246yv7J2FpmPwG4oFypkM5xe1WjlMlk90b9RBhUgXk - ylRXXLBzau6mtbPOa7LGdVyVs2DClWQo9BoK+dxEsnW+TR144O4UmZEfifJXvgQ= - =ympd + hQIMAxjNhCKPP69fAQ/+IRYUQhf7zzIZy3AKAtQgyMKRINOUUqOEv6IKmNQaaQP7 + K5JXnVi2gjgBuG+2gH9iCEimIggnWxFhHerfOps+NkAI6y7kFz5hnMtOY2Qf3vxT + Hoyq4l6Yn+gG1HSLozVr9dTQPjyGOKJkm36ZKpM7gqSuLNP2ijKARzay4Chg3i+p + E1TVTVoEczrPdLg3O2fd5mi2UT1k3E4QREti0k6K4juMWqMz+5iJ5X98qCdmE1eX + L5dmW0QSUChzBVw+7NEcxeNx5WsbhWgPA5m2+bng3V8tHqAwrRUCoxn2+yabnsZB + Z0Z7TgcLk0Xnezw+BkT3bOsKgv+atE5lm2rBiRUHRDR3S04j0Ju6fJHf24CNy5ES + xMF7BE23SgmqUq0BrvdJB0ToNKYGMM0C5Xg4vGRiE61+18TiFIeC3mF9suvFFKc+ + houq6Cy7q3O5PEqEbu6t5vXAZHwL9Th+ZatIIe9jSToiZiLEOIEmiYptR009/OWq + v6ADzaAE6+i6HZ62xBYQuZFkiUrRKxYzTHFn0A10QUJrJgbWr8QjS76oKi8feEDC + BJAOwE/0aK+l46hI6mlh6rgeSy8XdOPLEnL4+1HjlshhTTiW1rE2cr0ZiTTA6UFX + UhABIUi6jiLnM13L+auulU1UZQ8wxp73okrcuu6g2bPT/l7zO9YNOCocWVPQa5vS + XAH7qrW533ttg2XAczCdALMulV2N5GHl7TbgRQBkdoBAKL+6oKfxbOZeQM2nrfZT + arytZbnjgCcy5ygnjeziRvWwLk7sysEpAQqQNRm50m2Cq+2ccedRP6zFzUhc + =4hCA -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-05-23T20:58:22Z" + - created_at: "2026-05-25T17:17:14Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqARAAshm2x7wX/9g3XJtSN0AnSeCwSHO1I4+ebLKOsB7zcXh8 - hrVO3694jQcU9L01H7jGYw4lNNzBd61/uVE5AvMq4Sqn9iH3MFNESbAEOWVV+TRf - 53JMg9C/aZfde8gHgHPaiVXlCBVEVY9CqHpUXUKDmEE7iRb5P4DuMxOmybDYZGzY - 4c5Ke1MFMkGRmAtsT1qLrT2vh+F0CX4JwpMkxCmOzSWAXbwrVOigJ35l5zM6vme4 - 5EQu9jI8FApTxVchZbr0v3UOKxp5OebqC0jGeznZNf4qb0qnsvuowY6IIw5Tl3/q - H4TLq5EUOVqTC1voIWY/gMjieiW1gtr6vASy4MvbswsZLc26YVE9IbHzAOUWDN2o - f2iQ3aZYuINvniD23XtM0TKepDXWq5eF+AJpmyP/LL8sYvSnWFD+muK3O657djEu - yGZs2EFTrkiUvhBq3apOOYiU0eOi4Aq6UeEbOsLENnQrBRXuHEm4KUSwzOitVwJ1 - ByxQTu7wzY727SOR2hzjMC0LI602WGpEQU7ech5L4uWqtMFwaBP9HnUamcofKqqt - 1vI2BevsJfQ0rtTE6GWseHt702lllTGe3RnHWc6YsMWLwUfRdBPggMW37hAPPcfO - ytbU3RJIxx4vImRtXhkI5yvbpFQrooz1zSeXWaitPE5jmmiKe9IRStLnfiq9E2TS - XgFVuQM8K0LgUYEoAipvafhnC3ohfGsM2AYd36EoaMNLeQ2ZZEiV06/Y3EWoI0iM - aqRLwyBvTuDOc5BK32nCbAgUbbPJjPhqWaoNp5ymCBV76oW613gApkzoUF+OIUU= - =KKaI + hQIMA46L6MuPqfJqAQ/9G5pRNmw775xCYA+foCx9rM7eLXJFl2DjaI3a/O0yVc6t + 32xtPuaHwTnP00Pbbo5Vc9QG7k0Fr3Rgy+ep1lGzeCMoHwF9xk98LspDtYZoKopE + 6/L6KLldSauRv0rPVhCQHpZFsnx1VxaJiXn9vAW17+imC9SgqLYGWyrxAtLCOOqH + N68RnTsEDquXixEs82ao0EmQXPquimJgSx+xVSF4yitYYLLLHyUL+drMNuVb9q9Y + oAIdEL1svDIieTbTKGQUqZ8Alf8f/0cqPWpEkDwYIyB/i9KDkH5Oj7uBBRtVLGxQ + VxE32wO1xpXvKgUY2PhWD2rOBVDG8dW/hyqvc1WgIeo1A6FTq34b5dGC2lmTRngB + 9mBjUd59zeOvdXLmoGwXgbjVhpgnm/5wlUeiIC3xR9MjW3znRBT6ujCaglpAdXBC + 0AIugssGcuXbP9Tj5zMVlbdi2dj6Ylc8S1Tj/OjwxHCCj6AWRqpxN5vY28RiLFGy + +eAsryzPk6UTCPIydiWwsrP+w8EhbllFxzZM+Sn+fshAHdRug+EeyT3h5V5JF+Ko + BZCrZkwYqAcVkJjEYlukjvxVFvo+T6tRMz4F4yNgjqFjneUaeLCc6RllaT696H0Y + 8+lw5rK+XpcXBZqso6vsLChRdZQJjoj9lkjRDbmhOkaRglikC6Cx+mpY1/XnGvDS + XAFWOuNKjN/xIRtaDc6tmeWsKkuqghjHiMeRqw10/kTBjniMLLJIN9ssj4HjYqC3 + CsqyHqZmrbITUMr718gX1kkAvzF/fVAXT8YshOcK7rQbiMQJCZqeBp3fY7FC + =5yPR -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-05-23T20:58:22Z" + - created_at: "2026-05-25T17:17:14Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdA8YKD21h5POTLPf04KvGN93omFgkYO+Y8Kc0jM0vdqm8w - 3zYRaLsDjdh8Zd89/HhHJUfLrTp/IJ0n81sK0ZjznbXKxgkseGthMzof+L7BnPAp - 0l4BnAs9iZS4q2LZVS7ySBP89xLmF97qhK2jagMNSAwq8Afxbcw8oQAVQmeyYfxx - X59irIHjI1ugO4o1WnTN67nTQjU5msbVBs0eALrw3jobzFHRL67fS0a4Soa59LTY - =ZHIU + hF4DQrf1tCqiJxoSAQdAfLqKILCrCv2s2V7bLntk5lHI6Dc1FQlCg3LAefc8oTIw + a3UZU3OajQ1CCIhhu02JSlTKZm2z+pZKVHy+s5EgCqwAWTfPNAnyPT0ZGrhIdcah + 0lwBdg2Tq3+Nhix1ZuA/mUgcrbRBcFKlHY+IGEgOHKLJld9UPF2xEjTX6nmLyuTR + 6x+HW/7vVuc/jcFeQEmokhQw/SICVdyD7NQua4k1agLkty3hGcm1XCsfyKfj+w== + =Bxf9 -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-05-23T20:58:22Z" + - created_at: "2026-05-25T17:17:14Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAN7rRlv3dMoFOfj9eHgf+0H8521b32nWqySUdriEy6Tcw - gjuReMBpKQOgUfuhIiWkHIKNtNgMrYWiC20ESOXX5b9uYZNpqHCgHQPlX0lEeGim - 0lgBOieL7mSEq4wkWLCSv4sBAmkQA+dnugBeF+TrlqKQTZsbe/Z+jNG4ZrHRvdqi - 4I5It+uaRV9Vrul1c6H7fNreRPUd4hNyJwU7gZQ+vU2WyAmgqerxE1Wb - =gplT + hF4DzAGzViGx4qcSAQdAr2tfPiCpUkxFj4rgSiLf7y4iyKbsgEY87iYH3GAZTVcw + vK2YpjSVgFRoJNx9s3bFr+9UG0LFmKvDZEP83ThQizYs2I/N7MSU8ERRImshaQMH + 0lYB4At0RHC1mp8eKqhRgXenOtpfCiBACtlIdS9m1aqcU6i9Drgt86Bk/LC/HSvJ + MUOit2PP7QZVRWV6F8wAHlUFd6bdTKv9eOCZLSB6mY6DQmkp93FIMg== + =lQcB -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-05-23T20:58:22Z" + - created_at: "2026-05-25T17:17:14Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+ARAAjWK8mU99VcnM/Ckzm+YsZFTwnz4PDAenDDdZ1OOz5IXe - tS4SQPcQlSSOuXEkFLJMmm8QVxtUC3Gh4nF7o+7OygT+0ZXOrB7jFgg10+v/KVA9 - hSlqBdsMxcC0OzBtkGyAOXOxqnTVubuHEGyGpIryHt1/lthUUZHBbjgw7P0Tw2/U - sYK5j5YbqhyBl20gyZorkTTq7pHfVXDVtpe75+ZkqbOg4S6HgW3/dl+v6N0TLfRs - GVl0fUlWIK/akGCB71zdwJs2I1qTeMTlL6v+XSUdXj0YV+5fjh3wf8qzN9geIjQK - ybxGFWDKCAgTMnqoFF5BCL23hFtnCbTtLN1wQT7/m7zpjaBKHOBXZOGXYZCMGZui - sBsUvPANgNdfOse9H2aABQvUQh8WqFw8S73GasvrZHAwEmvnXzocMJd+kUovzmQu - 9FBk5UkcgXfmxeamoP8C700vh4zI+sKz6uEW0+AuVtLlLVqlb2w21kTc+ArZW52n - HLolH5q3Wj6pKuuFCWKr6UgLFcq2w4QngB2p+UABHU3RbwXIra7prDXCUcNC5iCn - ElRFY7OZ3nbHOf9oaW/MitcfszVLyl0ueoay6qxdlIGdXKRGpqxHqqr+92INV/iz - 6CRoAsTqVq1a7ZuAaUdJPvfKVAHHEHjPwlrOc9cXvykG0iQKsRzgqiOtPiGQShnU - aAEJAhDSqCwywHDnQ7X9ZWIzPjwvqyHpEVez8zYh3vpgKpsLb9uL+JizZjV02HMe - nhiL+4o/aNjJgGJWph1uPFhU4wO4AavnNBsHbJSiL/1yTS96hdf8d+gB41yVLU3e - kBkDFLKkIBkU - =aRLd + hQIMA2pVdGTIrZI+ARAAjNHCArTtU9D8zw5yJzvf0KSwQoOaQWHui7AqQkvQ8mJv + 8+Vo9sb+JoSuFHQqqDbOU+VFpmc9CZ6HCJaWqO2gZVgjxrsrPgyfq795LBd6GhX5 + 6zwUH2huxv+n7XkfjN4HHJAlSj0pRyL3fyojdOdtXCTuBGbofLIBJUbuD1wro1K+ + nSHLvdBEitn8afKt5/SaatB8Prwyet6E6J4HluXFQjl+KdrRHHvXImmhNSR4yfIr + yQt2s8qapSvLhrUw9/GFXqM/jg4ZlDhPUhCAKI2Pr5PbsRMBqwdkSrDeB7MHdsU6 + tI4uyb7j8m3VMbFKNVpuluwgk47V+W/h+jtZetSR6ewYsXJjgHNmX6JX73XzR7R+ + q4EBfSAxR7ByZ/HHuumUH6BKBj8IcNJQwtEkLIZmLZ3OdFtJP3YY0esV+gEhG6K7 + m2Zl9C7axuYmvoLrqygaChmxMhMiebTPNkD/dH5Ircwl2cXfHC+bvF2WO73DTk9G + emHzrkniEtuUs+svMhT3NKM3/mpOJTiNezdH39HZADzkBwZ5Mmkfe4mbXByfRN7F + AEJWmnOcpXwXE9//sRbkRr+CGmB86raZE22wHPuk6U9IyVFJm8hJbOzFc7rwu1Eo + 0YWBCsc9dA+jH8hIKrIfXwqnfhYjTrX+oZJeK/8McOwfF7I2G9YrPAgwbokQmtLU + ZgEJAhC8ryOvXwp2kP9sv6nbXIEcwrX8lRjkEWduf6ZAWAfQ5FGBSPzR8WnZWGzN + PCxjg7utA9AHBChF1duwOV2Qr5XW8HTUGAx4fc0T0rjC862vSwf8yAY89WWJyUfk + n8qhhdw1uw== + =KgOe -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-05-23T20:58:22Z" + - created_at: "2026-05-25T17:17:14Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdABId/P8ozRgJ4ItF1zvxp98aH+g3LZ6UGnxjYjtDxjEIw - VmyerznjOLnpz0EobXRRoot1Lo82Va64HQmXt26LG3gFY1HVp0WOnIZXa/CUoUb8 - 1GgBCQIQloFxKcgFTiRidaJfN7hSeQLleiEe3aifZUyJj8niTmBaY29t+CSoA46N - xZzX1AlxVjfmputhYdTyOYSJtGrj7otmnUN2P+55pjz4L2qCYAEKi1+ibqgpmJh/ - bETQsT6WKJ8FXA== - =Ci7L + hF4DKKbvh61jX5USAQdAYrtySnoCK7k4ZZIyllSAr23fozsiZb9Nf6Q+r56i3lAw + 7IxBdJc2ipMxafy1Ntq0wfAYYk7nY6Vz1XtB+ekVeYLOjDmHRnJWq/Jw0K8wLvWT + 1GYBCQIQ/0zDLdFOrMNjVPMutGVJOkpm7mbD30GpgRugzEf2NZePGtptqnP6i1t1 + izBqFRByftV1MUw1uWgTFgB8zEVDh6gG0QAYeRuu3NS9QhwR71Wlu2J4eu+VhZi7 + AKabk3T3Z00= + =A2ad -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/z9/hosts.yaml b/inventories/z9/hosts.yaml index 41ca0396c2..add77aa98c 100644 --- a/inventories/z9/hosts.yaml +++ b/inventories/z9/hosts.yaml @@ -75,6 +75,7 @@ ansible_pull_hosts: light: waybackproxy: yate: + z9-router: secrets_hosts: hosts: z9-router: From ebc6c8a9b87146908a08fd2d0974e0caccc9e455 Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Mon, 25 May 2026 19:50:01 +0200 Subject: [PATCH 374/417] z9-router(host): fix some spelling and a wireguard peer address --- resources/z9/z9-router/nftables/nftables.conf | 4 ++-- resources/z9/z9-router/systemd_networkd/10-wg55.netdev | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/resources/z9/z9-router/nftables/nftables.conf b/resources/z9/z9-router/nftables/nftables.conf index 842ca04143..f63968946d 100644 --- a/resources/z9/z9-router/nftables/nftables.conf +++ b/resources/z9/z9-router/nftables/nftables.conf @@ -108,7 +108,7 @@ table inet forward { 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" - # Allow clients and managment to most - iifname { $if_netlan_51_clients, $if_netlan_54_management, $if_wg55_management } oifname $lan_ifs accept comment "allow clients and managment to lan_ifs" + # Allow clients and management to most + iifname { $if_netlan_51_clients, $if_netlan_54_management, $if_wg55_management } oifname $lan_ifs accept comment "Allow clients and management to lan interfaces" } } diff --git a/resources/z9/z9-router/systemd_networkd/10-wg55.netdev b/resources/z9/z9-router/systemd_networkd/10-wg55.netdev index b3e41a62d6..f2de509aaa 100644 --- a/resources/z9/z9-router/systemd_networkd/10-wg55.netdev +++ b/resources/z9/z9-router/systemd_networkd/10-wg55.netdev @@ -5,7 +5,7 @@ Name=wg55 [WireGuard] ListenPort=51820 -PrivateKeyFile=/etc/ansible_secrets/wireguard_wg55_privat_key +PrivateKeyFile=/etc/ansible_secrets/wireguard_wg55_private_key # WireGuard Peers @@ -75,7 +75,7 @@ PresharedKeyFile = /etc/ansible_secrets/wireguard_wg55_peer_langoor_home_psk [WireGuardPeer] # friendly_name = lilly-lillysLaptop -AllowedIPs = 10.89.214.16/32 #,2a07:c481:1:37::/128 +AllowedIPs = 10.89.214.16/32,2a07:c481:1:37::16/128 PublicKey = IBsI+N8qUNpQnDc5HnqQ2Zo/1graFM0RMIecHmAF+Vk= [WireGuardPeer] From 7440e8fd15c101f8872f649696b697f966930553 Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Mon, 25 May 2026 20:13:29 +0200 Subject: [PATCH 375/417] kea_dhcp(role): some fixes and removing arch part - remove tags from tasks - remove archlinux part - use debian default package for kea --- roles/kea_dhcp/defaults/main.yaml | 1 - roles/kea_dhcp/handlers/main.yml | 6 +-- roles/kea_dhcp/meta/argument_specs.yaml | 4 +- roles/kea_dhcp/tasks/install_archlinux.yml | 8 ---- roles/kea_dhcp/tasks/install_debian.yml | 39 +++++++++--------- roles/kea_dhcp/tasks/kea.yaml | 10 ++--- roles/kea_dhcp/tasks/main.yml | 6 --- roles/kea_dhcp/tasks/stork-agent.yaml | 47 +++------------------- 8 files changed, 34 insertions(+), 87 deletions(-) delete mode 100644 roles/kea_dhcp/tasks/install_archlinux.yml diff --git a/roles/kea_dhcp/defaults/main.yaml b/roles/kea_dhcp/defaults/main.yaml index 409f0a119b..dc6453ad01 100644 --- a/roles/kea_dhcp/defaults/main.yaml +++ b/roles/kea_dhcp/defaults/main.yaml @@ -1,7 +1,6 @@ kea_dhcp__stork_agent: enable: false prometheus_only: true -kea_dhcp__version_repo: "kea-3-0" kea_dhcp__dns_servers: v6: - "2a07:c481:0:4::2" diff --git a/roles/kea_dhcp/handlers/main.yml b/roles/kea_dhcp/handlers/main.yml index 5b44d6e109..d06aa1cc10 100644 --- a/roles/kea_dhcp/handlers/main.yml +++ b/roles/kea_dhcp/handlers/main.yml @@ -4,19 +4,19 @@ ansible.builtin.systemd_service: daemon_reload: true -- name: Kea_dhcp4.reloaded +- name: Kea_dhcp4.restarted ansible.builtin.service: name: kea-dhcp4 state: restarted enabled: true -- name: Kea_dhcp6.reloaded +- name: Kea_dhcp6.restarted ansible.builtin.service: name: kea-dhcp6 state: restarted enabled: true -- name: Kea_ctrl.reloaded +- name: Kea_ctrl.restarted ansible.builtin.systemd: name: kea-ctrl-agent state: restarted diff --git a/roles/kea_dhcp/meta/argument_specs.yaml b/roles/kea_dhcp/meta/argument_specs.yaml index 995b838215..4d0d594fba 100644 --- a/roles/kea_dhcp/meta/argument_specs.yaml +++ b/roles/kea_dhcp/meta/argument_specs.yaml @@ -37,7 +37,7 @@ argument_specs: interfaces: type: "list" elements: "str" - default: [] + default: [ ] control-sockets: type: "list" elements: "dict" @@ -85,7 +85,7 @@ argument_specs: interfaces: type: "list" elements: "str" - default: [] + default: [ ] control-sockets: type: "list" elements: "dict" diff --git a/roles/kea_dhcp/tasks/install_archlinux.yml b/roles/kea_dhcp/tasks/install_archlinux.yml deleted file mode 100644 index 7bdb140b98..0000000000 --- a/roles/kea_dhcp/tasks/install_archlinux.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- name: Install Kea on Archlinux - when: ansible_facts['distribution'] == "Archlinux" - become: true - community.general.pacman: - name: kea - state: present - update_cache: false diff --git a/roles/kea_dhcp/tasks/install_debian.yml b/roles/kea_dhcp/tasks/install_debian.yml index 2ac23468c5..f897ddbd08 100644 --- a/roles/kea_dhcp/tasks/install_debian.yml +++ b/roles/kea_dhcp/tasks/install_debian.yml @@ -1,22 +1,25 @@ --- -- name: Register isc-kea apt repository - become: true - register: kea_dhcp_repo - when: ansible_facts['distribution'] == "Debian" - ansible.builtin.deb822_repository: - name: "isc-{{ kea_dhcp__version_repo }}" - uris: "https://dl.cloudsmith.io/public/isc/{{ kea_dhcp__version_repo }}/deb/debian" - suites: any-version - components: main - signed_by: "https://dl.cloudsmith.io/public/isc/{{ kea_dhcp__version_repo }}/gpg.key" - - name: Install Kea packages become: true when: ansible_facts['distribution'] == "Debian" - ansible.builtin.apt: - name: - - isc-kea-dhcp4 - - isc-kea-dhcp6 - - isc-kea-ctrl-agent - - isc-kea-admin - update_cache: "{{ kea_dhcp_install_repo.changed }}" + block: + - name: Install Kea dhcp4 + when: kea_dhcp__dhcp4.enable + ansible.builtin.apt: + name: + - isc-kea-dhcp4 + - name: Install Kea dhcp6 + when: kea_dhcp__dhcp6.enable + ansible.builtin.apt: + name: + - isc-kea-dhcp6 + - name: Install Kea ctrl agent + when: kea_dhcp__stork_agent.enable + ansible.builtin.apt: + name: + - isc-kea-ctrl-agent + - name: Install Kea admin + when: kea_dhcp__stork_agent.enable + ansible.builtin.apt: + name: + - isc-kea-admin diff --git a/roles/kea_dhcp/tasks/kea.yaml b/roles/kea_dhcp/tasks/kea.yaml index a4fd3b57f4..116c7dd707 100644 --- a/roles/kea_dhcp/tasks/kea.yaml +++ b/roles/kea_dhcp/tasks/kea.yaml @@ -1,12 +1,10 @@ --- - name: Include config vars - tags: [ kea, include_vars ] when: kea_dhcp__include_vars is not None ansible.builtin.include_vars: file: "{{ kea_dhcp__include_vars }}" - name: Deploy kea-dhcp4 configuration file - tags: [ kea, dhcp4 ] become: true when: kea_dhcp__dhcp4.enable ansible.builtin.template: @@ -18,10 +16,9 @@ mode: "u=rw,g=r,o=" validate: kea-dhcp4 -T %s notify: - - Kea_dhcp4.reloaded + - Kea_dhcp4.restarted - name: Deploy kea-dhcp6 configuration file - tags: [ kea, dhcp6 ] become: true when: kea_dhcp__dhcp6.enable ansible.builtin.template: @@ -33,10 +30,9 @@ mode: "u=rw,g=r,o=" validate: kea-dhcp6 -T %s notify: - - Kea_dhcp6.reloaded + - Kea_dhcp6.restarted - name: Copy kea-ctrl-agent configuration file - tags: [ kea, ctrl-agent ] become: true when: kea_dhcp__stork_agent.enable ansible.builtin.template: @@ -47,5 +43,5 @@ mode: "u=rw,g=r,o=" validate: kea-ctrl-agent -t %s notify: - - Kea_ctrl.reloaded + - Kea_ctrl.restarted - Stork_agent.restarted diff --git a/roles/kea_dhcp/tasks/main.yml b/roles/kea_dhcp/tasks/main.yml index a3478fa45c..6fced088cc 100644 --- a/roles/kea_dhcp/tasks/main.yml +++ b/roles/kea_dhcp/tasks/main.yml @@ -1,11 +1,6 @@ --- - name: Setup Kea DHCP - tags: [kea, dhcp] block: - - name: Install Kea on Archlinux - when: ansible_facts['distribution'] == "Archlinux" - ansible.builtin.import_tasks: install_archlinux.yml - - name: Install Kea on Debian when: ansible_facts['distribution'] == "Debian" ansible.builtin.import_tasks: install_debian.yml @@ -14,6 +9,5 @@ ansible.builtin.include_tasks: kea.yaml - name: Run stork-agent tasks - tags: [stork-agent, monitoring] when: kea_dhcp__stork_agent.enable ansible.builtin.include_tasks: stork-agent.yaml diff --git a/roles/kea_dhcp/tasks/stork-agent.yaml b/roles/kea_dhcp/tasks/stork-agent.yaml index 916760c430..0e777d42fa 100644 --- a/roles/kea_dhcp/tasks/stork-agent.yaml +++ b/roles/kea_dhcp/tasks/stork-agent.yaml @@ -1,55 +1,18 @@ --- - name: Install stork-agent - tags: [stork-agent] block: - - name: Install stork-agent on Archlinux - when: ansible_facts['distribution'] == "Archlinux" - tags: [stork-agent, archlinux] - block: - - name: Create stork-agent user - ansible.builtin.user: - name: stork-agent - create_home: false - home: "/var/lib/stork-agent" - shell: "/usr/bin/nologin" - system: true - groups: ["kea"] - append: true - - - name: Install stork-agent with aur_pkg_install - ansible.builtin.include_role: - name: aur_pkg_install - vars: - aur_pkg_install__pkg_name: "stork-agent" - aur_pkg_install__git_clone_url: "https://ansible:{{ secret__ansible_git_token }}@git.fux-eg.net/aur-mirror/stork-agent.git" - aur_pkg_install__git_ref: "bf96e34" - - - name: Install stork-agent on Debian + - name: Install isc-stork-agent when: ansible_facts['distribution'] == "Debian" - tags: [stork-agent, debian] - block: - - name: Register isc-stork apt repository - become: true - register: "kea_dhcp_install_repo" - ansible.builtin.deb822_repository: - name: isc-stork - uris: https://dl.cloudsmith.io/public/isc/stork/deb/debian - suites: any-version - components: main - signed_by: https://dl.cloudsmith.io/public/isc/stork/gpg.key - - - name: Install isc-stork-agent - become: true - ansible.builtin.apt: - name: isc-stork-agent - update_cache: "{{ kea_dhcp_install_repo.changed }}" + become: true + ansible.builtin.apt: + name: isc-stork-agent - name: Add stork-agent user to _kea group on Debian when: ansible_facts['distribution'] == "Debian" become: true ansible.builtin.user: name: stork-agent - groups: ["_kea"] + groups: [ "_kea" ] append: true - name: Config for stork-agent From c803b1fc672171029b6732d6fe67ce3e1ab79e53 Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Mon, 25 May 2026 21:18:56 +0200 Subject: [PATCH 376/417] kea_dhcp(role): add README.md --- roles/kea_dhcp/README.md | 102 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 roles/kea_dhcp/README.md diff --git a/roles/kea_dhcp/README.md b/roles/kea_dhcp/README.md new file mode 100644 index 0000000000..4071943866 --- /dev/null +++ b/roles/kea_dhcp/README.md @@ -0,0 +1,102 @@ +# Role `kea_dhcp` + +Install and manage kea dhcp. + +## Supported Distributions + +Should work on Debian-based distributions. + +## Required Arguments + +None. + +## Optional Arguments + +- `kea_dhcp__stork_agent.enable`: Enable Kea DHCP stork agent. + Defaults to `false`. +- `kea_dhcp__stork_agent.prometheus_only`: Only enable the prometheus endpoint in stork agent. + Defaults to `true`. +- `kea_dhcp__dns_servers.v4`: List of IPv4 DNS Servers in DHCP response. + Defaults to FUX DNS Servers. +- `kea_dhcp__dns_servers.v6`: List of IPv6 DNS Servers in DHCP response. + Defaults to FUX DNS Servers. +- `kea_dhcp__include_vars`: Path to YAML File to separately load VARs for Kea config templating. +- `kea_dhcp__dhcp4.enable`: Enable Kea DHCP4 Service. + Defaults to `false`. +- `kea_dhcp__dhcp4.interfaces`: List of interfaces the DHCP4 Server should listen to and serve. + Defaults to the empty list (`[ ]`). +- `kea_dhcp__dhcp4.control-sockets`: List of Kea DHCP4 control sockets. + Defaults to the list with one entry (see below). +- `kea_dhcp__dhcp4.control-sockets.*.socket-name`: Control socket name. + Defaults to `kea_dhcp__dhcp4.control-sockets.0.socket-name: /var/run/kea-dhcp4-ctrl-agent.sock`. +- `kea_dhcp__dhcp4.control-sockets.*.socket-type`: Control socket type. + Defaults to `kea_dhcp__dhcp4.control-sockets.0.socket-type: unix`. +- `kea_dhcp__dhcp4.lease-database.type`: Type of lease database. + Defaults to `memfile`. +- `kea_dhcp__dhcp4.lease-database.persist`: Persist the lease database. + Defaults to `true`. +- `kea_dhcp__dhcp4.option-data`: List of DHCP4 Options. + Defaults to a list with one entry (see below). +- `kea_dhcp__dhcp4.option-data.*.name`: Name of DHCP4 Option. + Defaults to `kea_dhcp__dhcp4.option-data.0.name: "domain-name-servers"`. +- `kea_dhcp__dhcp4.option-data.*.code`: DHCP4 Option code. + Defaults to `kea_dhcp__dhcp4.option-data.0.code: 6`. +- `kea_dhcp__dhcp4.option-data.*.csv-format`: DHCP4 Option as csv format. + Defaults to `kea_dhcp__dhcp4.option-data.0.csv-format: true`. +- `kea_dhcp__dhcp4.option-data.*.data`: DHCP4 Option data. + Defaults to `kea_dhcp__dhcp4.option-data.0.data: "{{ kea_dhcp__dns_servers.v4 | join(',') }}"`. +- `kea_dhcp__dhcp4.subnets`: List of subnets the DHCP4 server should manage. + Defaults to the empty list (`[ ]`). +- `kea_dhcp__dhcp4.subnets.*.id`: ID of interface (starts with 1). +- `kea_dhcp__dhcp4.subnets.*.subnet`: Subnet on interface. +- `kea_dhcp__dhcp4.subnets.*.pools`: List of DHCP pools in subnet. +- `kea_dhcp__dhcp4.subnets.*.pools.*.pool`: DHCP pool in range format. +- `kea_dhcp__dhcp4.subnets.*.reservations`: List of DHCP lease reservations. +- `kea_dhcp__dhcp4.subnets.*.reservations.*.ip-address`: IP address of reservation. +- `kea_dhcp__dhcp4.subnets.*.reservations.*.hostname`: Hostname of reservation. +- `kea_dhcp__dhcp4.subnets.*.reservations.*.hw-address`: Hardware address of reservation. +- `kea_dhcp__dhcp4.subnets.*.option-data`: List of DHCP lease reservations. +- `kea_dhcp__dhcp4.subnets.*.option-data.*.name`: Name of DHCP4 Option. +- `kea_dhcp__dhcp4.subnets.*.option-data.*.code`: DHCP4 Option code. +- `kea_dhcp__dhcp4.subnets.*.option-data.*.csv-format`: DHCP4 Option as csv format. +- `kea_dhcp__dhcp4.subnets.*.option-data.*.data`: DHCP4 Option data. +- `kea_dhcp__dhcp6.enable`: Enable Kea DHCP6 Service. + Defaults to `false`. +- `kea_dhcp__dhcp6.interfaces`: List of interfaces the DHCP6 Server should listen to and serve. + Defaults to the empty list (`[ ]`). +- `kea_dhcp__dhcp6.control-sockets`: List of Kea DHCP6 control sockets. + Defaults to the list with one entry (see below). +- `kea_dhcp__dhcp6.control-sockets.*.socket-name`: Control socket name. + Defaults to `kea_dhcp__dhcp6.control-sockets.0.socket-name: /var/run/kea-dhcp6-ctrl-agent.sock`. +- `kea_dhcp__dhcp6.control-sockets.*.socket-type`: Control socket type. + Defaults to `kea_dhcp__dhcp6.control-sockets.0.socket-type: unix`. +- `kea_dhcp__dhcp6.lease-database.type`: Type of lease database. + Defaults to `memfile`. +- `kea_dhcp__dhcp6.lease-database.persist`: Persist the lease database. + Defaults to `true`. +- `kea_dhcp__dhcp6.option-data`: List of DHCP6 Options. + Defaults to a list with one entry (see below). +- `kea_dhcp__dhcp6.option-data.*.name`: Name of DHCP6 Option. + Defaults to `kea_dhcp__dhcp6.option-data.0.name: "domain-name-servers"`. +- `kea_dhcp__dhcp6.option-data.*.code`: DHCP6 Option code. + Defaults to `kea_dhcp__dhcp6.option-data.0.code: 6`. +- `kea_dhcp__dhcp6.option-data.*.csv-format`: DHCP6 Option as csv format. + Defaults to `kea_dhcp__dhcp6.option-data.0.csv-format: true`. +- `kea_dhcp__dhcp6.option-data.*.data`: DHCP6 Option data. + Defaults to `kea_dhcp__dhcp6.option-data.0.data: "{{ kea_dhcp__dns_servers.v6 | join(',') }}"`. +- `kea_dhcp__dhcp6.subnets`: List of subnets the DHCP6 server should manage. + Defaults to the empty list (`[ ]`). +- `kea_dhcp__dhcp6.subnets.*.id`: ID of interface (starts with 1). +- `kea_dhcp__dhcp6.subnets.*.subnet`: Subnet on interface. +- `kea_dhcp__dhcp6.subnets.*.pools`: List of DHCP pools in subnet. +- `kea_dhcp__dhcp6.subnets.*.pools.*.pool`: DHCP pool in range format. +- `kea_dhcp__dhcp6.subnets.*.reservations`: List of DHCP lease reservations. +- `kea_dhcp__dhcp6.subnets.*.reservations.*.ip-address`: IP address of reservation. +- `kea_dhcp__dhcp6.subnets.*.reservations.*.hostname`: Hostname of reservation. +- `kea_dhcp__dhcp6.subnets.*.reservations.*.hw-address`: Hardware address of reservation. +- `kea_dhcp__dhcp6.subnets.*.option-data`: List of DHCP lease reservations. +- `kea_dhcp__dhcp6.subnets.*.option-data.*.name`: Name of DHCP6 Option. +- `kea_dhcp__dhcp6.subnets.*.option-data.*.code`: DHCP6 Option code. +- `kea_dhcp__dhcp6.subnets.*.option-data.*.csv-format`: DHCP6 Option as csv format. +- `kea_dhcp__dhcp6.subnets.*.option-data.*.data`: DHCP6 Option data. + From 6734843e8aa859b21df2c73e6b44b4d9a6e56e5b Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Mon, 25 May 2026 21:27:25 +0200 Subject: [PATCH 377/417] kea_dhcp(role): fix indentation in template --- roles/kea_dhcp/templates/kea-dhcp4.conf.jinja | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/roles/kea_dhcp/templates/kea-dhcp4.conf.jinja b/roles/kea_dhcp/templates/kea-dhcp4.conf.jinja index 78f06aef1f..fa7cfd56c8 100644 --- a/roles/kea_dhcp/templates/kea-dhcp4.conf.jinja +++ b/roles/kea_dhcp/templates/kea-dhcp4.conf.jinja @@ -3,12 +3,12 @@ "interfaces-config": { "interfaces": {{ kea_dhcp__dhcp4.interfaces | to_nice_json }} }, - "control-sockets": {{ kea_dhcp__dhcp4['control-sockets'] | to_nice_json }}, - "lease-database": {{ kea_dhcp__dhcp4['lease-database'] | to_nice_json }}, - {% if kea_dhcp__dhcp4['option-data'] is defined and kea_dhcp__dhcp4['option-data'] %} - "option-data": {{ kea_dhcp__dhcp4['option-data'] | to_nice_json }}, - {% endif %} - "subnet4": [ + "control-sockets": {{ kea_dhcp__dhcp4['control-sockets'] | to_nice_json }}, + "lease-database": {{ kea_dhcp__dhcp4['lease-database'] | to_nice_json }}, + {% if kea_dhcp__dhcp4['option-data'] is defined and kea_dhcp__dhcp4['option-data'] %} + "option-data": {{ kea_dhcp__dhcp4['option-data'] | to_nice_json }}, + {% endif %} + "subnet4": [ {% for subnet in kea_dhcp__dhcp4.subnets %} { "id": {{ subnet.id }}, From 613e0528d7c4e5dfc34a753d34dcc370e2153142 Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Tue, 26 May 2026 08:37:40 +0200 Subject: [PATCH 378/417] kea_dhcp(role): make stork-agent.env smaller and add link to documentation --- roles/kea_dhcp/README.md | 2 +- .../kea_dhcp/templates/stork-agent.env.jinja | 30 ++----------------- 2 files changed, 4 insertions(+), 28 deletions(-) diff --git a/roles/kea_dhcp/README.md b/roles/kea_dhcp/README.md index 4071943866..9938cf981a 100644 --- a/roles/kea_dhcp/README.md +++ b/roles/kea_dhcp/README.md @@ -1,6 +1,6 @@ # Role `kea_dhcp` -Install and manage kea dhcp. +Install and manage Kea DHCP and [Stork Agent](https://stork.readthedocs.io/en/latest/man/stork-agent.8.html). ## Supported Distributions diff --git a/roles/kea_dhcp/templates/stork-agent.env.jinja b/roles/kea_dhcp/templates/stork-agent.env.jinja index bdfa4d2db8..75250b069e 100644 --- a/roles/kea_dhcp/templates/stork-agent.env.jinja +++ b/roles/kea_dhcp/templates/stork-agent.env.jinja @@ -1,11 +1,6 @@ -### the IP or hostname to listen on for incoming Stork server connections -# STORK_AGENT_HOST= +### Stork Agent env file +### (created and managed by ansible kea_dhcp role) -### the TCP port to listen on for incoming Stork server connections -# STORK_AGENT_PORT=8081 - -### listen for commands from the Stork server only, but not for Prometheus requests -# STORK_AGENT_LISTEN_STORK_ONLY=true {% if kea_dhcp__stork_agent.prometheus_only %} ### listen for Prometheus requests only, but not for commands from the Stork server @@ -14,31 +9,12 @@ STORK_AGENT_LISTEN_PROMETHEUS_ONLY=true ### settings for exporting stats to Prometheus ### the IP or hostname on which the agent exports Kea statistics to Prometheus -# STORK_AGENT_PROMETHEUS_KEA_EXPORTER_ADDRESS= +STORK_AGENT_PROMETHEUS_KEA_EXPORTER_ADDRESS=localhost ### the port on which the agent exports Kea statistics to Prometheus # STORK_AGENT_PROMETHEUS_KEA_EXPORTER_PORT= -## enable or disable collecting per-subnet stats from Kea -# STORK_AGENT_PROMETHEUS_KEA_EXPORTER_PER_SUBNET_STATS=true -### the IP or hostname on which the agent exports BIND 9 statistics to Prometheus -# STORK_AGENT_PROMETHEUS_BIND9_EXPORTER_ADDRESS= -### the port on which the agent exports BIND 9 statistics to Prometheus -# STORK_AGENT_PROMETHEUS_BIND9_EXPORTER_PORT= - -### Stork Server URL used by the agent to send REST commands to the server during agent registration -# STORK_AGENT_SERVER_URL= - -### skip TLS certificate verification when the Stork Agent connects -### to Kea over TLS and Kea uses self-signed certificates -# STORK_AGENT_SKIP_TLS_CERT_VERIFICATION=true - ### Logging parameters ### Set logging level. Supported values are: DEBUG, INFO, WARN, ERROR STORK_LOG_LEVEL=DEBUG -### disable output colorization -# CLICOLOR=false - -### path to the hook directory -# STORK_AGENT_HOOK_DIRECTORY= From 1a0ac38861531171156084e70726adc7116e5d26 Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Tue, 26 May 2026 10:06:52 +0200 Subject: [PATCH 379/417] unbound(role): use existing deploy_systemd_resolved_config role and some reordering --- inventories/z9/hosts.yaml | 3 +++ roles/unbound/handlers/main.yml | 7 ------ roles/unbound/tasks/main.yml | 24 +++---------------- roles/unbound/tasks/prometheus-exporter.yml | 8 ++++++- .../vars/deploy_systemd_resolved_config.yaml | 9 +++++++ 5 files changed, 22 insertions(+), 29 deletions(-) create mode 100644 roles/unbound/vars/deploy_systemd_resolved_config.yaml diff --git a/inventories/z9/hosts.yaml b/inventories/z9/hosts.yaml index add77aa98c..7c1264da63 100644 --- a/inventories/z9/hosts.yaml +++ b/inventories/z9/hosts.yaml @@ -18,6 +18,9 @@ all: z9-router: ansible_host: z9-router.ccchh.net ansible_user: chaos +base_config_hosts: + hosts: + z9-router: certbot_hosts: hosts: light: diff --git a/roles/unbound/handlers/main.yml b/roles/unbound/handlers/main.yml index e1345bfd3f..222e8c503e 100644 --- a/roles/unbound/handlers/main.yml +++ b/roles/unbound/handlers/main.yml @@ -18,10 +18,3 @@ name: prometheus-unbound-exporter.service state: restarted enabled: true - -- name: prometheus-unbound-exporter.enabled - become: true - ansible.builtin.systemd: - name: prometheus-unbound-exporter.service - enabled: true - daemon_reload: true diff --git a/roles/unbound/tasks/main.yml b/roles/unbound/tasks/main.yml index 7ed42cb9d5..eb88f931b8 100644 --- a/roles/unbound/tasks/main.yml +++ b/roles/unbound/tasks/main.yml @@ -7,11 +7,6 @@ ansible.builtin.package: name: unbound - - name: install extra dns tooling - become: true - ansible.builtin.package: - name: [ bind ] # the bind package includes tools like dig in archlinux - - name: ensure correct directory permissions become: true ansible.builtin.file: @@ -40,23 +35,10 @@ enabled: true - name: disable systemd-resolved - become: true when: unbound_disable_systemd_networkd - ansible.builtin.systemd: - name: systemd-resolved.service - state: stopped - enabled: false - - - name: configure system resolver to point to local unbound - become: true - when: unbound_disable_systemd_networkd - ansible.builtin.copy: - src: no-resolved.resolv.conf - dest: /etc/resolv.conf - owner: unbound - group: unbound - mode: u=rw,g=r,o=r - + ansible.builtin.include_role: + name: deploy_systemd_resolved_config + vars_from: deploy_systemd_resolved_config - name: install and configure prometheus-exporter for unbound ansible.builtin.import_tasks: prometheus-exporter.yml diff --git a/roles/unbound/tasks/prometheus-exporter.yml b/roles/unbound/tasks/prometheus-exporter.yml index d05b838c4e..b794e07bef 100644 --- a/roles/unbound/tasks/prometheus-exporter.yml +++ b/roles/unbound/tasks/prometheus-exporter.yml @@ -3,7 +3,13 @@ become: true ansible.builtin.package: name: prometheus-unbound-exporter - notify: prometheus-unbound-exporter.enabled + +- name: enable unbound prometheus exporter + become: true + ansible.builtin.systemd: + name: prometheus-unbound-exporter.service + enabled: true + daemon_reload: true - name: configure unbound exporter become: true diff --git a/roles/unbound/vars/deploy_systemd_resolved_config.yaml b/roles/unbound/vars/deploy_systemd_resolved_config.yaml new file mode 100644 index 0000000000..0da57c11f3 --- /dev/null +++ b/roles/unbound/vars/deploy_systemd_resolved_config.yaml @@ -0,0 +1,9 @@ +--- +deploy_systemd_resolved_config__enable: false +deploy_systemd_resolved_config__dns: + - 127.0.0.1 +deploy_systemd_resolved_config__fallback_dns: # Fux DNS Server + - 185.161.128.66 + - 2a07:c481:0:4::2 + - 185.161.128.67 + - 2a07:c481:0:4::3 From a4bb9a82d219bb319ac7644ffd889da6327dca8b Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Tue, 26 May 2026 10:08:11 +0200 Subject: [PATCH 380/417] unbound(role): add FIXME note to unbound prometheus exporter install --- roles/unbound/tasks/prometheus-exporter.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/unbound/tasks/prometheus-exporter.yml b/roles/unbound/tasks/prometheus-exporter.yml index b794e07bef..fba5090cf1 100644 --- a/roles/unbound/tasks/prometheus-exporter.yml +++ b/roles/unbound/tasks/prometheus-exporter.yml @@ -1,5 +1,5 @@ --- -- name: install unbound prometheus exporter +- name: install unbound prometheus exporter # FIXME: there is no prometheus-unbound-exporter in debian .deb exists in https://github.com/letsencrypt/unbound_exporter/releases/tag/v0.6.0 become: true ansible.builtin.package: name: prometheus-unbound-exporter From 9a5dafb2bce1ec28862783a8fcd0c0952b28b088 Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Tue, 26 May 2026 10:09:50 +0200 Subject: [PATCH 381/417] unbound(role): remove tags inside role --- roles/unbound/handlers/main.yml | 2 -- roles/unbound/tasks/main.yml | 1 - 2 files changed, 3 deletions(-) diff --git a/roles/unbound/handlers/main.yml b/roles/unbound/handlers/main.yml index 222e8c503e..09af699579 100644 --- a/roles/unbound/handlers/main.yml +++ b/roles/unbound/handlers/main.yml @@ -1,12 +1,10 @@ - name: unbound.restarted - tags: [ unbound, dns, dns_resolver ] become: true ansible.builtin.systemd: name: unbound.service state: restarted - name: unbound.reloaded - tags: [ unbound, dns, dns_resolver ] become: true ansible.builtin.systemd: name: unbound.service diff --git a/roles/unbound/tasks/main.yml b/roles/unbound/tasks/main.yml index eb88f931b8..a4a6896f1f 100644 --- a/roles/unbound/tasks/main.yml +++ b/roles/unbound/tasks/main.yml @@ -1,5 +1,4 @@ - name: unbound role main - tags: [ unbound, dns, dns_resolver ] block: - name: install unbound dns resolver From bb141ddab342555f795ed4d3022303a3c989fd41 Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Tue, 26 May 2026 10:19:42 +0200 Subject: [PATCH 382/417] unbound(role): reformat config template and use all vcpus --- roles/unbound/templates/unbound.conf.j2 | 75 ++++++++++++------------- 1 file changed, 35 insertions(+), 40 deletions(-) diff --git a/roles/unbound/templates/unbound.conf.j2 b/roles/unbound/templates/unbound.conf.j2 index a1e310e082..96aa9cd5aa 100644 --- a/roles/unbound/templates/unbound.conf.j2 +++ b/roles/unbound/templates/unbound.conf.j2 @@ -1,22 +1,18 @@ # ref: https://unbound.docs.nlnetlabs.nl/en/latest/manpages/unbound.conf.html # unbound.conf(5) man page server: - {% if unbound_enable_dnssec -%} - # disable chroot because unbound is the only thing running on the VM - # and because it has issues with how archlinux configures the systemd units write protection regarding the anchor file - chroot: "" - - # location of the trust anchor file that enables DNSSEC - # this file is generated by the `unbound-anchor` command - auto-trust-anchor-file: "/etc/unbound/trusted-key.key" - {% endif -%} + {% if unbound_enable_dnssec -%} + # location of the trust anchor file that enables DNSSEC + # this file is generated by the `unbound-anchor` command + auto-trust-anchor-file: "/etc/unbound/trusted-key.key" + {% endif -%} # use all CPUs - num-threads: 2 + num-threads: {{ ansible_facts['processor_vcpus'] }} # more cache memory - rrset-cache-size: 60m - msg-cache-size: 30m + rrset-cache-size: 60m + msg-cache-size: 30m # prefetch to keep the cache up to date prefetch: yes @@ -25,49 +21,48 @@ server: prefetch-key: yes # Faster UDP with multithreading (only on Linux). - so-reuseport: yes + so-reuseport: yes # disable special large send buffer handling and just use kernel defaults - so-sndbuf: 0 + so-sndbuf: 0 - # send minimal amount of information to upstream servers to enhance privacy - qname-minimisation: yes + # send minimal amount of information to upstream servers to enhance privacy + qname-minimisation: yes - # specify the interface to answer queries from by ip-address. - {% for i in unbound_bind_interfaces -%} - interface: "{{ i }}" - {% endfor %} + # specify the interface to answer queries from by ip-address. + {% for i in unbound_bind_interfaces -%} + interface: "{{ i }}" + {% endfor %} - # addresses from the IP range that are allowed to connect to the resolver - {% for i in unbound_access_control -%} - access-control: {{ i }} - {% endfor -%} + # addresses from the IP range that are allowed to connect to the resolver + {% for i in unbound_access_control -%} + access-control: {{ i }} + {% endfor -%} - {% for i in unbound_private_domain -%} - private-domain: {{ i }} - {% endfor -%} + {% for i in unbound_private_domain -%} + private-domain: {{ i }} + {% endfor -%} - # The number of seconds between printing statistics to the log for every thread. - statistics-interval: 0 + # The number of seconds between printing statistics to the log for every thread. + statistics-interval: 0 - # Extended statistics are printed, Keeping track of more statistics takes time. - extended-statistics: yes + # Extended statistics are printed, Keeping track of more statistics takes time. + extended-statistics: yes remote-control: - control-enable: {{ "yes" if unbound_enable_unbound_control else "no" }} - control-interface: /run/unbound-control.sock + control-enable: {{ "yes" if unbound_enable_unbound_control else "no" }} + control-interface: /run/unbound-control.sock # configure some zones for which this resolver will act authoritatively # https://www.dns.icann.org/services/axfr/ {% for i in [ ".", "in-addr.arpa.", "arpa.", "root-servers.net.", "ip6.arpa.", "ip6-servers.arpa.", "mcast.net." ] %} auth-zone: - name: "{{ i }}" - primary: "lax.xfr.dns.icann.org" - primary: "iad.xfr.dns.icann.org" - fallback-enabled: yes - for-downstream: no - for-upstream: yes - + name: "{{ i }}" + primary: "lax.xfr.dns.icann.org" + primary: "iad.xfr.dns.icann.org" + fallback-enabled: yes + for-downstream: no + for-upstream: yes {% endfor %} From 5423558ab42d831668cb3a52481e0a6792211a59 Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Tue, 26 May 2026 10:30:35 +0200 Subject: [PATCH 383/417] unbound(role): make unbound thread number configurable --- roles/unbound/README.md | 1 + roles/unbound/templates/unbound.conf.j2 | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/roles/unbound/README.md b/roles/unbound/README.md index 806b9d8dd7..c44805baa2 100644 --- a/roles/unbound/README.md +++ b/roles/unbound/README.md @@ -17,3 +17,4 @@ The following variables can be used to customize this role: | unbound_enable_dnssec | Boolean | `true` | Whether dnssec validation should be enabled | | unbound_access_control | List of Strings | `[]` | **Required** List of [unbound access control values](https://unbound.docs.nlnetlabs.nl/en/latest/manpages/unbound.conf.html#:~:text=access-control:%20%3CIP%20netblock%3E%20%3Caction%3E) | | unbound_disable_systemd_networkd | Boolean | `true` | If true, systemd-networkd is disabled and the local system is pointed towards the configured dns resolver. | +| unbound_thread_count | Integer | Max vCPU Count | The number of threads unbound uses | diff --git a/roles/unbound/templates/unbound.conf.j2 b/roles/unbound/templates/unbound.conf.j2 index 96aa9cd5aa..d9b612c4a6 100644 --- a/roles/unbound/templates/unbound.conf.j2 +++ b/roles/unbound/templates/unbound.conf.j2 @@ -7,8 +7,8 @@ server: auto-trust-anchor-file: "/etc/unbound/trusted-key.key" {% endif -%} - # use all CPUs - num-threads: {{ ansible_facts['processor_vcpus'] }} + # num of threads + num-threads: {{ unbound_thread_count | default(ansible_facts['processor_vcpus']) }} # more cache memory rrset-cache-size: 60m From a0b0e8188fe6298844210ab4bdd2b1f74fb95dd5 Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Tue, 26 May 2026 10:43:56 +0200 Subject: [PATCH 384/417] unbound(role): move resolvd vars to task --- roles/unbound/tasks/main.yml | 5 ++++- roles/unbound/vars/deploy_systemd_resolved_config.yaml | 9 --------- 2 files changed, 4 insertions(+), 10 deletions(-) delete mode 100644 roles/unbound/vars/deploy_systemd_resolved_config.yaml diff --git a/roles/unbound/tasks/main.yml b/roles/unbound/tasks/main.yml index a4a6896f1f..3b038c6103 100644 --- a/roles/unbound/tasks/main.yml +++ b/roles/unbound/tasks/main.yml @@ -37,7 +37,10 @@ when: unbound_disable_systemd_networkd ansible.builtin.include_role: name: deploy_systemd_resolved_config - vars_from: deploy_systemd_resolved_config + vars: + deploy_systemd_resolved_config__enable: false + deploy_systemd_resolved_config__dns: + - 127.0.0.1 - name: install and configure prometheus-exporter for unbound ansible.builtin.import_tasks: prometheus-exporter.yml diff --git a/roles/unbound/vars/deploy_systemd_resolved_config.yaml b/roles/unbound/vars/deploy_systemd_resolved_config.yaml deleted file mode 100644 index 0da57c11f3..0000000000 --- a/roles/unbound/vars/deploy_systemd_resolved_config.yaml +++ /dev/null @@ -1,9 +0,0 @@ ---- -deploy_systemd_resolved_config__enable: false -deploy_systemd_resolved_config__dns: - - 127.0.0.1 -deploy_systemd_resolved_config__fallback_dns: # Fux DNS Server - - 185.161.128.66 - - 2a07:c481:0:4::2 - - 185.161.128.67 - - 2a07:c481:0:4::3 From 9e92a3c390d8d65f18459c61a3d7f1bc9007eea3 Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Tue, 26 May 2026 11:13:28 +0200 Subject: [PATCH 385/417] z9(group): remove all z9 references as subdomain --- inventories/z9/group_vars/all.yaml | 2 +- inventories/z9/host_vars/light.sops.yaml | 11 +++++------ inventories/z9/host_vars/light.yaml | 6 ------ inventories/z9/hosts.yaml | 6 ++++-- resources/z9/light/nginx/light.conf | 17 ----------------- 5 files changed, 10 insertions(+), 32 deletions(-) diff --git a/inventories/z9/group_vars/all.yaml b/inventories/z9/group_vars/all.yaml index 20a4e7f7fd..5cc3233026 100644 --- a/inventories/z9/group_vars/all.yaml +++ b/inventories/z9/group_vars/all.yaml @@ -40,7 +40,7 @@ alloy_config_default: | source_labels = ["instance"] target_label = "instance" regex = "([^:]+)" - replacement = "${1}.z9.ccchh.net" + replacement = "${1}.ccchh.net" action = "replace" } } diff --git a/inventories/z9/host_vars/light.sops.yaml b/inventories/z9/host_vars/light.sops.yaml index afb4c6809d..76e103ca86 100644 --- a/inventories/z9/host_vars/light.sops.yaml +++ b/inventories/z9/host_vars/light.sops.yaml @@ -1,11 +1,9 @@ ansible_pull__age_private_key: ENC[AES256_GCM,data:VEGxr8C7RlEhyQhf+to/OrbfPPKkyL7iUU1yDXGAzmmPCQ4VftK71eiyN7OS6pG8J89Mj4Sy/dcY4SUX+rTl/q1csZMn9t4NBN8=,iv:JcrdyFLX5srZfRj9SA+RXf+CRZi5GEcApgyYsHoHTGE=,tag:xdJ4GmK3afZDkXmkrriStg==,type:str] secret__acme_dns_api_key_light_ccchh_net: ENC[AES256_GCM,data:SLUNVJQ4Nkos+tYH0l9ndJI8mrfZFC9i/qQqkcHgfLaNjL1tFuAFfQ==,iv:cc7DsiqzMlc2lh3D63cElMQcOeYT7oNxmRy7irSr9/s=,tag:dBnTAJXvgWlmq5vVGxrykw==,type:str] -secret__acme_dns_api_key_light_z9_ccchh_net: ENC[AES256_GCM,data:m6+Sk533qTRfhrwv7U2RydJh/j7KjJKHiEetyzgvJV1dgWXmE5AhYA==,iv:lAGv4vfxA+DQfwaHiDp3NMel0tjmZl96nKUAN8QGFe4=,tag:h0wM/F9E4dIy+NYLIVUpxg==,type:str] secret__acme_dns_api_key_light_werkstatt_ccchh_net: ENC[AES256_GCM,data:zJ9hQo1jmQ5+d0oU+CD+cQh89HshPpguZCak7Nfjdb2bygUXJrEIIw==,iv:y+FSB/k5LixKJOm9egWsjhByQAdv7TfJHvv3job2oYg=,tag:CmuUqnCI3V/aOOUitzYT9Q==,type:str] sops: age: - - recipient: age1llkxtfx4dgnezmukj4ganx4ql9k4ga4ca9zuanf5r568jfp8peeqal490q - enc: | + - enc: | -----BEGIN AGE ENCRYPTED FILE----- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSNzBtc3lkZHlqeTFIa2RX ZWgyV0lZQ0wxRm4vZ0Q3Y1d4RTlhYzk0ZUdzCkQ5VjdlSldCc0ZqZlBIOTMrclV6 @@ -13,8 +11,9 @@ sops: azNiRDFuU2V4V25iV3dORW42UGZPRmsKOsa+36+NKjmS8xMAoCueJdhIIUtdhl15 3grlxNwv4axlKNy1ynSSmneyAZ6g+OF80b4YNxzZYcfnECB1VnDENA== -----END AGE ENCRYPTED FILE----- - lastmodified: "2026-04-11T01:24:10Z" - mac: ENC[AES256_GCM,data:D7qAgDZX8B0oNdZovHE74sSZI5X3qd8oDPHWl13Q2ohLnp9vJsFxrKntXxeeHASzQceDv2RQ1exwq7ZPor62sLFx+xO1Dc0Awpq1eoclDlHPyKlvT3pgkcB8IxDO/FuO+7hg/bJkmTHhbHTiHLGQDWN2sQev309Eka86lQyCzIQ=,iv:OBCobeUp+GwdDQhrNtTJhiRVMxRJafq5g1rhMoEFhjc=,tag:OSAWMn2NPZnVKcRX+eJf+Q==,type:str] + recipient: age1llkxtfx4dgnezmukj4ganx4ql9k4ga4ca9zuanf5r568jfp8peeqal490q + lastmodified: "2026-05-26T09:09:21Z" + mac: ENC[AES256_GCM,data:NGVGI70dGuJS4qMfpy3tE9MTvX9O8Rwt+Nv+gdqLUkleMEe8sWKbAgfFyWIYxroo7AXFEl3jIFQ7pmcvnSTUBprR7mL3//3QcXQXthxW/mVCf4DRtr7fcqAtctTrC2iRZnZ1YrOz/sSO7G0bgmcx43tYDZPZ+udNKO2pvZvclCE=,iv:xvDS6QVfOPcLk0C12YES2CVKCs6pWl7xPReWtgCyMIw=,tag:pXfFkbWWQpMlwE6g6nO2hQ==,type:str] pgp: - created_at: "2026-05-20T02:08:48Z" enc: |- @@ -187,4 +186,4 @@ sops: -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted - version: 3.12.2 + version: 3.13.1 diff --git a/inventories/z9/host_vars/light.yaml b/inventories/z9/host_vars/light.yaml index c14515d230..2fb01e3853 100644 --- a/inventories/z9/host_vars/light.yaml +++ b/inventories/z9/host_vars/light.yaml @@ -67,12 +67,6 @@ certbot__certs: subdomain: "e59f55ee-9013-469d-a146-a159721b6fea" apiUser: "33e96ec7-1f98-4f70-92be-85a42dabd211" apiKey: "{{ secret__acme_dns_api_key_light_ccchh_net }}" - - commonName: "light.z9.ccchh.net" - challengeType: "dns-01-acme-dns" - dns_01_acme_dns: - subdomain: "3bc9e7ce-03dd-4533-a059-b5d38407eaa5" - apiUser: "c3b00882-ca2a-4d11-9ebd-fccfb8618b75" - apiKey: "{{ secret__acme_dns_api_key_light_z9_ccchh_net }}" - commonName: "light-werkstatt.ccchh.net" challengeType: "dns-01-acme-dns" dns_01_acme_dns: diff --git a/inventories/z9/hosts.yaml b/inventories/z9/hosts.yaml index 7c1264da63..a4cea688a0 100644 --- a/inventories/z9/hosts.yaml +++ b/inventories/z9/hosts.yaml @@ -1,14 +1,16 @@ all: hosts: dooris: - ansible_host: dooris.z9.ccchh.net + ansible_host: dooris.ccchh.net ansible_user: chaos light: - ansible_host: light.z9.ccchh.net + ansible_host: light.ccchh.net ansible_user: chaos opensourcetorrents: ansible_host: opensourcetorrents.ccchh.net ansible_user: chaos + thinkcccore0: + ansible_host: thinkcccore0.ccchh.net waybackproxy: ansible_host: waybackproxy.ccchh.net ansible_user: chaos diff --git a/resources/z9/light/nginx/light.conf b/resources/z9/light/nginx/light.conf index 6217e04586..8d90258410 100644 --- a/resources/z9/light/nginx/light.conf +++ b/resources/z9/light/nginx/light.conf @@ -25,23 +25,6 @@ server { } } -server { - listen 443 ssl; - listen [::]:443 ssl; - http2 on; - - server_name light.z9.ccchh.net; - - 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.z9.ccchh.net/chain.pem; - - location / { - return 307 https://light.ccchh.net$request_uri; - } -} - server { listen 443 ssl; listen [::]:443 ssl; From 04d24ccb6f1b6c4a15b7ed7703f6f1dfaf660057 Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Sat, 20 Jun 2026 17:58:25 +0200 Subject: [PATCH 386/417] z9(group): remove all old ip references and change them to new ones --- .../chaosknoten/auth-dns/zones/ccchh.net.zone | 103 +++++++++++++++--- resources/z9/light/nginx/light.conf | 4 +- .../z9/yate/docker_compose/regexroute.conf.j2 | 2 +- resources/z9/z9-router/kea_dhcp.yaml | 25 ++++- 4 files changed, 115 insertions(+), 19 deletions(-) diff --git a/resources/chaosknoten/auth-dns/zones/ccchh.net.zone b/resources/chaosknoten/auth-dns/zones/ccchh.net.zone index 8495dc9ee5..91519200d6 100644 --- a/resources/chaosknoten/auth-dns/zones/ccchh.net.zone +++ b/resources/chaosknoten/auth-dns/zones/ccchh.net.zone @@ -16,6 +16,8 @@ $TTL 60 ; 1 minutes ; rt-wan A 185.161.129.134 AAAA 2a07:c481::1:2 +z9-router A 10.89.213.1 + AAAA 2a07:c481:1:36::1 sw-rack-1 A 10.89.213.2 AAAA 2a07:c481:1:36::2 sw-rack-2-poe A 10.89.213.3 @@ -41,30 +43,100 @@ pve04 A 10.89.213.14 pbs A 10.89.213.15 AAAA 2a07:c481:1:36::15 unifi A 10.89.213.21 +; AAAA 2a07:c481:1:36::21 ; ; Club-Services ; -xr18 A 172.31.200.29 -dooris A 172.31.200.16 - AAAA 2a07:c481:1:d0::1c -hmdooris-ccu A 172.31.200.17 +xr18 A 10.89.208.15 +AtemMini A 10.89.212.234 -club-assistant AAAA 2a07:c481:1:d0::a - A 10.31.208.10 -_acme-challenge.club-assistant CNAME d50ad73a-f82d-4244-87f0-6f5195b37d21.auth.acmedns.hamburg.ccc.de. -;esphome AAAA 2a07:c481:1:d0::66 -;zigbee2mqtt A 185.161.129.132 -;light AAAA 2a07:c481:1:d0::16 +beamer A 10.89.208.11 +ir-bridge-beamer A 10.89.212.213 +Big-Room-Beamer A 10.89.208.14 + +prusamk3 A 10.89.212.3 +prusamk4 A 10.89.212.4 + +wled-kueche A 10.89.212.33 +wled-serverschrank A 10.89.212.34 +wled-couch A 10.89.212.35 + +laser A 10.89.212.36 +laser-eth A 10.89.212.37 + +okilaser A 10.89.212.235 + +t-mix A 10.89.212.42 +fritz-fon A 10.89.212.86 + +staubi A 10.89.212.232 +staubiv2 A 10.89.212.233 + +hp-color A 10.89.209.28 + + +club-assistant A 10.89.213.22 + AAAA 2a07:c481:1:36::32 +_acme-challenge.club-assistant CNAME d50ad73a-f82d-4244-87f0-6f5195b37d21.auth.acmedns.hamburg.ccc.de + + +esphome A 10.89.212.210 + AAAA 2a07:c481:1:34::66 +hauptraum-esphome A 10.89.212.211 +werkstatt-esphome A 10.89.212.212 + + +light A 10.89.213.28 + AAAA 2a07:c481:1:36::31 _acme-challenge.light CNAME e59f55ee-9013-469d-a146-a159721b6fea.auth.acmedns.hamburg.ccc.de. -;light-werkstatt AAAA 2a07:c481:1:d0::16 +light-werkstatt CNAME light.ccchh.net. _acme-challenge.light-werkstatt CNAME f408acc0-d9f5-4525-bb01-28938e3bb7d0.auth.acmedns.hamburg.ccc.de. -;buba A 10.31.211.137 + +pi-dmx-werkstatt A 10.89.212.215 + + +dooris A 10.89.208.16 + AAAA 2a07:c481:1:33::1c _acme-challenge.dooris CNAME 37caae1f-b77f-4eb1-aa71-dc3f7ed24360.auth.acmedns.hamburg.ccc.de. -yate A 10.31.208.12 -;staubiv2 A 10.31.210.233 -prusa-mk4 A 10.31.210.4 + +hmdooris-ccu A 10.89.208.17 + +dooris-ng A 10.89.209.29 + + +buba A 10.89.212.137 + +yate A 10.89.213.24 + +muzak A 10.89.208.13 + +encoder-ccchh A 10.89.209.166 + +ki10 A 10.89.209.254 + +Ziggy A 10.89.212.11 + +legacy A 10.89.212.12 + +foobarpay A 10.89.212.23 + +foobackup A 10.89.212.24 + +ender3v2-sonic-pad A 10.89.212.27 + +octopi A 10.89.212.31 + +433mhz-bridge A 10.89.212.32 + + +;SIP-T46S A 10.89.212.227 +;SIP-T46S A 10.89.212.230 + +;cisco-slm248p A 10.89.208.27 + +;zigbee2mqtt A 185.161.129.132 ; Old entry probably deprecadet ; @@ -73,3 +145,4 @@ prusa-mk4 A 10.31.210.4 opensourcetorrents A 185.161.130.67 AAAA 2a07:c481:1:35::42 + diff --git a/resources/z9/light/nginx/light.conf b/resources/z9/light/nginx/light.conf index 8d90258410..18e2a41e40 100644 --- a/resources/z9/light/nginx/light.conf +++ b/resources/z9/light/nginx/light.conf @@ -13,7 +13,7 @@ server { 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; + #resolver 10.31.208.1; # is this needed? location / { proxy_pass http://127.0.0.1:8081; @@ -38,7 +38,7 @@ server { ssl_trusted_certificate /etc/letsencrypt/live/light.ccchh.net/chain.pem; # replace with the IP address of your resolver - resolver 10.31.208.1; + #resolver 10.31.208.1; # is this needed? location / { proxy_pass http://127.0.0.1:8080; diff --git a/resources/z9/yate/docker_compose/regexroute.conf.j2 b/resources/z9/yate/docker_compose/regexroute.conf.j2 index aeecf6b29b..0f7bd96637 100644 --- a/resources/z9/yate/docker_compose/regexroute.conf.j2 +++ b/resources/z9/yate/docker_compose/regexroute.conf.j2 @@ -81,7 +81,7 @@ ${called}^fo370381tr317349_00$=inbound_fonial ^.*$=echo [z9] "\0" ${caller}->${called} ; log ; test service numbers -^91$=sip/sip:ha@10.31.208.10:5060; called=ha;format=opus ; Homeassistant +^91$=sip/sip:ha@10.89.213.22:5060; called=ha;format=opus ; Homeassistant ^98$=external/playrec/echo.sh ; Echotest ^99$=external/play/tts.sh;mode=text;text=Hallo Hallo Hallo ; TTS test diff --git a/resources/z9/z9-router/kea_dhcp.yaml b/resources/z9/z9-router/kea_dhcp.yaml index d1918813bd..8b9b9fb512 100644 --- a/resources/z9/z9-router/kea_dhcp.yaml +++ b/resources/z9/z9-router/kea_dhcp.yaml @@ -36,6 +36,9 @@ kea_dhcp__dhcp4: - ip-address: 10.89.208.14 hostname: Big-Room-Beamer hw-address: "64:d2:c4:db:08:5c" + - ip-address: 10.89.208.15 + hostname: xr18 + hw-address: "34:8d:13:13:1f:33" - ip-address: 10.89.208.16 hostname: dooris hw-address: "bc:24:11:b3:93:9c" @@ -115,9 +118,15 @@ kea_dhcp__dhcp4: - ip-address: 10.89.212.42 hostname: t-mix hw-address: "40:a5:ef:d9:eb:93" + - ip-address: 10.89.212.137 + hostname: ccchh-buba + hw-address: "b8:27:eb:29:bd:77" - ip-address: 10.89.212.86 hostname: fritz-fon hw-address: "00:1f:3f:c9:e5:b2" + - ip-address: 10.89.212.210 + hostname: esphome + hw-address: "7e:3c:f0:77:8a:f4" - ip-address: 10.89.212.211 hostname: hauptraum-esphome hw-address: "e8:db:84:e8:18:d2" @@ -246,10 +255,18 @@ kea_dhcp__dhcp6: subnet: "2a07:c481:1:33::/64" pools: - pool: "2a07:c481:1:33::1:1 - 2a07:c481:1:33::FFFF:FFFF" + reservations: + - ip-address: "2a07:c481:1:33::1c" + hostname: dooris + hw-address: "bc:24:11:b3:93:9c" - id: 2 subnet: "2a07:c481:1:34::/64" pools: - pool: "2a07:c481:1:34::1:1 - 2a07:c481:1:34::FFFF:FFFF" + reservations: + - ip-address: "2a07:c481:1:34::66" + hostname: esphome + hw-address: "7e:3c:f0:77:8a:f4" - id: 3 subnet: "2a07:c481:1:36::/64" pools: @@ -288,6 +305,12 @@ kea_dhcp__dhcp6: - ip-address: "2a07:c481:1:36::f" hostname: pbs hw-address: "BC:24:11:D6:2C:81" - - ip-address: "2a07:c481:1:36::14" + - ip-address: "2a07:c481:1:36::21" hostname: unifi hw-address: "BC:24:11:25:77:60" + - ip-address: "2a07:c481:1:36::31" + hostname: light + hw-address: "72:61:ea:e6:49:e3" + - ip-address: "2a07:c481:1:36::32" + hostname: club-assistant + hw-address: "7a:55:61:c3:a2:89" From fa916904856404fd641beec4e950cf9bd7637ef2 Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Sat, 20 Jun 2026 18:33:37 +0200 Subject: [PATCH 387/417] z9(pve01): change thinkcccore0 to pve01 --- README.md | 2 +- inventories/z9/hosts.yaml | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index bd980d8f4f..62c785c7b9 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Folgende Geräte und Server werden duch dieses Ansible Repository verwaltet: -* Diverse VMs auf dem ThinkCCCluster +* Diverse VMs auf dem z9 (PVE Cluster) * Diverse VMs auf dem Chaosknoten Host-spezifische Konfigurationsdateien liegen unter `resources/` und werden für jeweils über eine `host_vars`-Datei im Inventory geladen. diff --git a/inventories/z9/hosts.yaml b/inventories/z9/hosts.yaml index a4cea688a0..ebbab18f3d 100644 --- a/inventories/z9/hosts.yaml +++ b/inventories/z9/hosts.yaml @@ -9,8 +9,8 @@ all: opensourcetorrents: ansible_host: opensourcetorrents.ccchh.net ansible_user: chaos - thinkcccore0: - ansible_host: thinkcccore0.ccchh.net + pve01: + ansible_host: pve01.ccchh.net waybackproxy: ansible_host: waybackproxy.ccchh.net ansible_user: chaos @@ -35,7 +35,7 @@ foobazdmx_hosts: light: hypervisors: hosts: - thinkcccore0: + pve01: infrastructure_authorized_keys_hosts: hosts: dooris: @@ -55,7 +55,7 @@ transmission: opensourcetorrents: proxmox_vm_template_hosts: hosts: - thinkcccore0: + pve01: systemd_networkd_hosts: hosts: z9-router: From db6ef3fcb2d3e01ba411a200939ed46844ec05ee Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Sun, 21 Jun 2026 20:01:55 +0200 Subject: [PATCH 388/417] kea_dhcp(role): fix include wars check --- roles/kea_dhcp/tasks/kea.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/kea_dhcp/tasks/kea.yaml b/roles/kea_dhcp/tasks/kea.yaml index 116c7dd707..0d2c5e392b 100644 --- a/roles/kea_dhcp/tasks/kea.yaml +++ b/roles/kea_dhcp/tasks/kea.yaml @@ -1,6 +1,6 @@ --- - name: Include config vars - when: kea_dhcp__include_vars is not None + when: kea_dhcp__include_vars != None ansible.builtin.include_vars: file: "{{ kea_dhcp__include_vars }}" From 6b05c4b05a9dc1e2ee8a1e71f89016e41d57b49c Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Sun, 21 Jun 2026 20:06:32 +0200 Subject: [PATCH 389/417] unbound(role): fix unbound config template - fix some indentation problems - fix access control - fix remote control unix socket and thrust anchor file (because debain appamour ist annoying) - add unbound-anchor package --- roles/unbound/tasks/main.yml | 5 +++++ roles/unbound/templates/unbound.conf.j2 | 25 +++++++++++++------------ 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/roles/unbound/tasks/main.yml b/roles/unbound/tasks/main.yml index 3b038c6103..2cf226181e 100644 --- a/roles/unbound/tasks/main.yml +++ b/roles/unbound/tasks/main.yml @@ -6,6 +6,11 @@ ansible.builtin.package: name: unbound + - name: install unbound-anchor + become: true + ansible.builtin.package: + name: unbound-anchor + - name: ensure correct directory permissions become: true ansible.builtin.file: diff --git a/roles/unbound/templates/unbound.conf.j2 b/roles/unbound/templates/unbound.conf.j2 index d9b612c4a6..3213f46dbc 100644 --- a/roles/unbound/templates/unbound.conf.j2 +++ b/roles/unbound/templates/unbound.conf.j2 @@ -4,26 +4,26 @@ server: {% if unbound_enable_dnssec -%} # location of the trust anchor file that enables DNSSEC # this file is generated by the `unbound-anchor` command - auto-trust-anchor-file: "/etc/unbound/trusted-key.key" + trust-anchor-file: "/usr/share/dns/root.key" {% endif -%} - # num of threads - num-threads: {{ unbound_thread_count | default(ansible_facts['processor_vcpus']) }} + # num of threads + num-threads: {{ unbound_thread_count | default(ansible_facts['processor_vcpus']) }} - # more cache memory + # more cache memory rrset-cache-size: 60m msg-cache-size: 30m - # prefetch to keep the cache up to date - prefetch: yes + # prefetch to keep the cache up to date + prefetch: yes - # fetch the DNSKEYs earlier in the validation process, when a DS record is encountered - prefetch-key: yes + # fetch the DNSKEYs earlier in the validation process, when a DS record is encountered + prefetch-key: yes - # Faster UDP with multithreading (only on Linux). + # Faster UDP with multithreading (only on Linux). so-reuseport: yes - # disable special large send buffer handling and just use kernel defaults + # disable special large send buffer handling and just use kernel defaults so-sndbuf: 0 # send minimal amount of information to upstream servers to enhance privacy @@ -36,7 +36,7 @@ server: # addresses from the IP range that are allowed to connect to the resolver {% for i in unbound_access_control -%} - access-control: {{ i }} + access-control: {{ i }} allow {% endfor -%} {% for i in unbound_private_domain -%} @@ -51,7 +51,8 @@ server: remote-control: control-enable: {{ "yes" if unbound_enable_unbound_control else "no" }} - control-interface: /run/unbound-control.sock + control-interface: "/run/unbound.ctl" # debian appamour does not allow any other path!!! + control-use-cert: no # configure some zones for which this resolver will act authoritatively From 83f654037a4e0ebb915083cf4a0b6f035fb26bcd Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Sun, 21 Jun 2026 20:13:29 +0200 Subject: [PATCH 390/417] unbound(role): fix unbound prometheus exporter install on debian - download debian image from github und verify checksum - setup systemd service unit --- .../files/prometheus-unbound-exporter.service | 12 +++++ roles/unbound/tasks/main.yml | 14 ++--- roles/unbound/tasks/prometheus-exporter.yml | 52 ++++++++++++++++--- 3 files changed, 65 insertions(+), 13 deletions(-) create mode 100644 roles/unbound/files/prometheus-unbound-exporter.service diff --git a/roles/unbound/files/prometheus-unbound-exporter.service b/roles/unbound/files/prometheus-unbound-exporter.service new file mode 100644 index 0000000000..d3b4c9f96d --- /dev/null +++ b/roles/unbound/files/prometheus-unbound-exporter.service @@ -0,0 +1,12 @@ +[Unit] +Description=Prometheus exporter for Unbound metrics, written in Go with pluggable metric collectors. The metrics exporter converts Unbound metric names to Prometheus metric names and labels by using a set of regular expressions. +Documentation=https://github.com/letsencrypt/unbound_exporter +After=network.target + +[Service] +Type=simple +EnvironmentFile=/etc/prometheus-unbound-exporter.conf +ExecStart=/bin/unbound_exporter ${UNBOUND_EXPORTER_ARGS} + +[Install] +WantedBy=multi-user.target diff --git a/roles/unbound/tasks/main.yml b/roles/unbound/tasks/main.yml index 2cf226181e..69b712f6aa 100644 --- a/roles/unbound/tasks/main.yml +++ b/roles/unbound/tasks/main.yml @@ -31,13 +31,6 @@ group: unbound mode: u=rw,g=r,o=r - - name: ensure unbound is running and enabled - become: true - ansible.builtin.systemd: - name: unbound.service - state: started - enabled: true - - name: disable systemd-resolved when: unbound_disable_systemd_networkd ansible.builtin.include_role: @@ -47,6 +40,13 @@ deploy_systemd_resolved_config__dns: - 127.0.0.1 + - name: ensure unbound is running and enabled + become: true + ansible.builtin.systemd: + name: unbound.service + state: started + enabled: true + - name: install and configure prometheus-exporter for unbound ansible.builtin.import_tasks: prometheus-exporter.yml when: unbound_install_prometheus_exporter diff --git a/roles/unbound/tasks/prometheus-exporter.yml b/roles/unbound/tasks/prometheus-exporter.yml index fba5090cf1..bbf69e78f6 100644 --- a/roles/unbound/tasks/prometheus-exporter.yml +++ b/roles/unbound/tasks/prometheus-exporter.yml @@ -1,8 +1,48 @@ --- -- name: install unbound prometheus exporter # FIXME: there is no prometheus-unbound-exporter in debian .deb exists in https://github.com/letsencrypt/unbound_exporter/releases/tag/v0.6.0 +- name: install unbound prometheus exporter become: true - ansible.builtin.package: - name: prometheus-unbound-exporter + vars: + prometheus_unbound_exporter_version: "0.6.0" + prometheus_unbound_exporter_filename: "unbound_exporter-v{{ prometheus_unbound_exporter_version }}.x86_64.deb" + prometheus_unbound_exporter_github_api_url: "https://api.github.com/repos/letsencrypt/unbound_exporter/releases/tags/v{{ prometheus_unbound_exporter_version }}" + block: + - name: request github api + ansible.builtin.uri: + url: "{{ prometheus_unbound_exporter_github_api_url }}" + method: GET + body_format: json + headers: + 'Accept': 'application/vnd.github+json' + register: unbound_exporter_github_api_result + + - name: get prometheus-unbound-exporter download url and digest + ansible.builtin.set_fact: + unbound_exporter_download_url: "{{ unbound_exporter_github_api_result.json.assets[0].browser_download_url }}" + unbound_exporter_download_digest: "{{ unbound_exporter_github_api_result.json.assets[0].digest }}" + + - name: Download prometheus-unbound-exporter deb package with verified checksum + ansible.builtin.get_url: + url: "{{ unbound_exporter_download_url }}" + dest: "/tmp/{{ prometheus_unbound_exporter_filename }}" + checksum: "{{ unbound_exporter_download_digest }}" + mode: "u=r,g=r,o=r" + + - name: Install prometheus-unbound-exporter deb package + become: true + ansible.builtin.apt: + deb: "/tmp/{{ prometheus_unbound_exporter_filename }}" + state: present + notify: prometheus-unbound-exporter.restarted + +- name: deploy prometheus-unbound-exporter systemd service + become: true + ansible.builtin.copy: + src: "prometheus-unbound-exporter.service" + dest: "/etc/systemd/system/prometheus-unbound-exporter.service" + owner: root + group: root + mode: '0644' + notify: systemd-daemon-reload - name: enable unbound prometheus exporter become: true @@ -14,10 +54,10 @@ - name: configure unbound exporter become: true ansible.builtin.copy: - dest: /etc/conf.d/prometheus-unbound-exporter + dest: /etc/prometheus-unbound-exporter.conf content: | - UNBOUND_EXPORTER_ARGS="-unbound.ca "" -unbound.cert "" -unbound.host "unix:///run/unbound-control.sock" + UNBOUND_EXPORTER_ARGS="-unbound.ca "" -unbound.cert "" -unbound.host "unix:///run/unbound.ctl" owner: root group: root - mode: '0660' + mode: '0644' notify: prometheus-unbound-exporter.restarted From 4ec4c1f94292c0aea1b7c55ac8f224aa932fc618 Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Mon, 22 Jun 2026 21:03:12 +0200 Subject: [PATCH 391/417] z9-router(host): fix systemd-networkd configs --- .../z9-router/systemd_networkd/10-netlan.51.netdev | 1 + .../z9-router/systemd_networkd/10-netlan.52.netdev | 1 + .../z9-router/systemd_networkd/10-netlan.53.netdev | 1 + .../z9-router/systemd_networkd/10-netlan.54.netdev | 1 + .../z9-router/systemd_networkd/10-netwan.400.netdev | 1 + .../z9/z9-router/systemd_networkd/20-netlan.network | 12 ++++++++---- .../z9/z9-router/systemd_networkd/20-netwan.network | 4 ++++ .../systemd_networkd/21-netlan.54-management.network | 2 +- .../21-netwan.400-fux_uplink.network | 2 ++ 9 files changed, 20 insertions(+), 5 deletions(-) diff --git a/resources/z9/z9-router/systemd_networkd/10-netlan.51.netdev b/resources/z9/z9-router/systemd_networkd/10-netlan.51.netdev index b951ecc3af..6baf687734 100644 --- a/resources/z9/z9-router/systemd_networkd/10-netlan.51.netdev +++ b/resources/z9/z9-router/systemd_networkd/10-netlan.51.netdev @@ -1,6 +1,7 @@ [NetDev] Name=netlan.51 Kind=vlan +MACAddress=BC:24:11:BD:D3:F9 [VLAN] Id=51 diff --git a/resources/z9/z9-router/systemd_networkd/10-netlan.52.netdev b/resources/z9/z9-router/systemd_networkd/10-netlan.52.netdev index 1f345c7291..48cc3a55e4 100644 --- a/resources/z9/z9-router/systemd_networkd/10-netlan.52.netdev +++ b/resources/z9/z9-router/systemd_networkd/10-netlan.52.netdev @@ -1,6 +1,7 @@ [NetDev] Name=netlan.52 Kind=vlan +MACAddress=BC:24:11:88:28:15 [VLAN] Id=52 diff --git a/resources/z9/z9-router/systemd_networkd/10-netlan.53.netdev b/resources/z9/z9-router/systemd_networkd/10-netlan.53.netdev index c6dab8122d..b65d4066af 100644 --- a/resources/z9/z9-router/systemd_networkd/10-netlan.53.netdev +++ b/resources/z9/z9-router/systemd_networkd/10-netlan.53.netdev @@ -1,6 +1,7 @@ [NetDev] Name=netlan.53 Kind=vlan +MACAddress=BC:24:11:3C:3C:BE [VLAN] Id=53 diff --git a/resources/z9/z9-router/systemd_networkd/10-netlan.54.netdev b/resources/z9/z9-router/systemd_networkd/10-netlan.54.netdev index 6271e6c494..4ea5ec6a37 100644 --- a/resources/z9/z9-router/systemd_networkd/10-netlan.54.netdev +++ b/resources/z9/z9-router/systemd_networkd/10-netlan.54.netdev @@ -1,6 +1,7 @@ [NetDev] Name=netlan.54 Kind=vlan +MACAddress=BC:24:11:D2:65:B4 [VLAN] Id=54 diff --git a/resources/z9/z9-router/systemd_networkd/10-netwan.400.netdev b/resources/z9/z9-router/systemd_networkd/10-netwan.400.netdev index e0b6afcf7c..a66dc79e81 100644 --- a/resources/z9/z9-router/systemd_networkd/10-netwan.400.netdev +++ b/resources/z9/z9-router/systemd_networkd/10-netwan.400.netdev @@ -1,6 +1,7 @@ [NetDev] Name=netwan.400 Kind=vlan +MACAddress=BC:24:11:C3:27:45 [VLAN] Id=400 diff --git a/resources/z9/z9-router/systemd_networkd/20-netlan.network b/resources/z9/z9-router/systemd_networkd/20-netlan.network index 3aed7151df..7fab501bb0 100644 --- a/resources/z9/z9-router/systemd_networkd/20-netlan.network +++ b/resources/z9/z9-router/systemd_networkd/20-netlan.network @@ -5,8 +5,12 @@ Name=netlan RequiredForOnline=no [Network] -VLAN=netwan.51 -VLAN=netwan.52 -VLAN=netwan.53 -VLAN=netwan.54 +LinkLocalAddressing=no +DHCP=no +IPv6AcceptRA=no + +VLAN=netlan.51 +VLAN=netlan.52 +VLAN=netlan.53 +VLAN=netlan.54 diff --git a/resources/z9/z9-router/systemd_networkd/20-netwan.network b/resources/z9/z9-router/systemd_networkd/20-netwan.network index 89a8494aec..b42b95abd2 100644 --- a/resources/z9/z9-router/systemd_networkd/20-netwan.network +++ b/resources/z9/z9-router/systemd_networkd/20-netwan.network @@ -5,5 +5,9 @@ Name=netwan RequiredForOnline=no [Network] +LinkLocalAddressing=no +DHCP=no +IPv6AcceptRA=no + VLAN=netwan.400 diff --git a/resources/z9/z9-router/systemd_networkd/21-netlan.54-management.network b/resources/z9/z9-router/systemd_networkd/21-netlan.54-management.network index 2396da02cb..e1bf0c8a48 100644 --- a/resources/z9/z9-router/systemd_networkd/21-netlan.54-management.network +++ b/resources/z9/z9-router/systemd_networkd/21-netlan.54-management.network @@ -12,7 +12,7 @@ Description=Management IPv6SendRA=yes [Address] -Address=10.89.213.0/24 +Address=10.89.213.1/24 [IPv6SendRA] UplinkInterface=netwan.400 diff --git a/resources/z9/z9-router/systemd_networkd/21-netwan.400-fux_uplink.network b/resources/z9/z9-router/systemd_networkd/21-netwan.400-fux_uplink.network index 1657c40a74..4ac0b8d9fd 100644 --- a/resources/z9/z9-router/systemd_networkd/21-netwan.400-fux_uplink.network +++ b/resources/z9/z9-router/systemd_networkd/21-netwan.400-fux_uplink.network @@ -19,8 +19,10 @@ IPv6SendRA=no [Address] Address=185.161.129.134/25 +[Address] Address=2a07:c481::1:2/64 [Route] Gateway=185.161.129.129 +[Route] Gateway=2a07:c481::1 From 9271cbda972cfc79f5cde1b80bf77deeda3cc326 Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Mon, 22 Jun 2026 21:09:43 +0200 Subject: [PATCH 392/417] unbound(role): fix systemd unit of prometheus exporter --- roles/unbound/files/prometheus-unbound-exporter.service | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/unbound/files/prometheus-unbound-exporter.service b/roles/unbound/files/prometheus-unbound-exporter.service index d3b4c9f96d..523badd112 100644 --- a/roles/unbound/files/prometheus-unbound-exporter.service +++ b/roles/unbound/files/prometheus-unbound-exporter.service @@ -6,7 +6,7 @@ After=network.target [Service] Type=simple EnvironmentFile=/etc/prometheus-unbound-exporter.conf -ExecStart=/bin/unbound_exporter ${UNBOUND_EXPORTER_ARGS} +ExecStart=/bin/unbound_exporter $UNBOUND_EXPORTER_ARGS [Install] WantedBy=multi-user.target From 6006dbca27806f13c198e395bfceb5d69a427f73 Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Fri, 31 Jul 2026 17:36:31 +0200 Subject: [PATCH 393/417] z9-router(host): nftables conf fix indent and allow dhcpv6 --- resources/z9/z9-router/nftables/nftables.conf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/resources/z9/z9-router/nftables/nftables.conf b/resources/z9/z9-router/nftables/nftables.conf index f63968946d..8853412714 100644 --- a/resources/z9/z9-router/nftables/nftables.conf +++ b/resources/z9/z9-router/nftables/nftables.conf @@ -75,7 +75,8 @@ table inet host { udp dport 51820 accept comment "allow WireGuard access" # Allow DHCP server access. - iifname { $lan_ifs } udp dport 67 accept comment "allow dhcp server access" + iifname { $lan_ifs } udp dport 67 accept comment "allow dhcp server access" + iifname { $lan_ifs } udp dport 547 accept comment "allow dhcpv6 server access" # Allow DNS server access from lan_ifs iifname { $lan_ifs, $if_wg55_management } udp dport 53 accept comment "allow dns server access from lan_ifs" From 8d9cb0007c84019a05bbb0ab58e18000b1163cd3 Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Fri, 31 Jul 2026 17:48:58 +0200 Subject: [PATCH 394/417] kea_dhcp(role): update to newest fux noc version --- roles/kea_dhcp/defaults/main.yaml | 100 ++++++----- roles/kea_dhcp/handlers/main.yml | 51 +++--- roles/kea_dhcp/meta/argument_specs.yaml | 163 +++++++++--------- roles/kea_dhcp/tasks/install_debian.yaml | 21 +++ roles/kea_dhcp/tasks/install_debian.yml | 25 --- roles/kea_dhcp/tasks/kea.yaml | 21 +-- roles/kea_dhcp/tasks/main.yml | 13 +- roles/kea_dhcp/tasks/stork-agent.yaml | 29 +++- roles/kea_dhcp/templates/kea-dhcp4.conf.j2 | 32 ++++ roles/kea_dhcp/templates/kea-dhcp4.conf.jinja | 27 --- roles/kea_dhcp/templates/kea-dhcp6.conf.j2 | 36 ++++ roles/kea_dhcp/templates/kea-dhcp6.conf.jinja | 27 --- roles/kea_dhcp/templates/stork-agent.env.j2 | 44 +++++ .../kea_dhcp/templates/stork-agent.env.jinja | 20 --- 14 files changed, 350 insertions(+), 259 deletions(-) create mode 100644 roles/kea_dhcp/tasks/install_debian.yaml delete mode 100644 roles/kea_dhcp/tasks/install_debian.yml create mode 100644 roles/kea_dhcp/templates/kea-dhcp4.conf.j2 delete mode 100644 roles/kea_dhcp/templates/kea-dhcp4.conf.jinja create mode 100644 roles/kea_dhcp/templates/kea-dhcp6.conf.j2 delete mode 100644 roles/kea_dhcp/templates/kea-dhcp6.conf.jinja create mode 100644 roles/kea_dhcp/templates/stork-agent.env.j2 delete mode 100644 roles/kea_dhcp/templates/stork-agent.env.jinja diff --git a/roles/kea_dhcp/defaults/main.yaml b/roles/kea_dhcp/defaults/main.yaml index dc6453ad01..51395ccb23 100644 --- a/roles/kea_dhcp/defaults/main.yaml +++ b/roles/kea_dhcp/defaults/main.yaml @@ -1,6 +1,10 @@ -kea_dhcp__stork_agent: - enable: false - prometheus_only: true +--- +# Set Kea group name based on distribution +kea_dhcp__service_group: "{{ '_kea' if ansible_facts['distribution'] == 'Debian' else 'kea' }}" +kea_dhcp__unit_base_name: "{{ 'isc-kea' if ansible_facts['distribution'] == 'Debian' else 'kea' }}" +kea_dhcp__unit_base_sufix: "{{ '-server' if ansible_facts['distribution'] == 'Debian' else '' }}" + +kea_dhcp__version_repo: "kea-3-0" kea_dhcp__dns_servers: v6: - "2a07:c481:0:4::2" @@ -8,61 +12,75 @@ kea_dhcp__dns_servers: v4: - "185.161.128.66" - "185.161.128.67" -kea_dhcp__include_vars: +kea_dhcp__ntp_servers: + v4: + - "185.161.128.7" + - "185.161.128.8" + v6: "2a07:c481:0:3::7" + fqdn: ntp.z9.fux-eg.net +kea_dhcp__sntp_servers: + v6: + - "2a07:c481:0:3::7" + - "2a07:c481:0:3::8" -kea_dhcp__dhcp4: +kea_dhcp__stork_agent_defaults: + enable: false + prometheus_only: true +kea_dhcp__stork_agent: {} + +kea_dhcp__dhcp4_defaults: enable: false interfaces: [ ] control-sockets: - - socket-name: /var/run/kea-dhcp4-ctrl-agent.sock + - socket-name: /var/run/kea/dhcp4-ctrl-agent.sock socket-type: unix lease-database: type: memfile persist: true option-data: - - name: "domain-name-servers" + - name: domain-name-servers code: 6 csv-format: true data: "{{ kea_dhcp__dns_servers.v4 | join(',') }}" - subnets: - - id: 0 - subnet: nil - pools: - - pool: nil - reservations: - - ip-address: nil - hostname: beispiel.test - hw-address: "00:11:22:33:44:55" - option-data: - - name: nil, - code: nil, - csv-format: true - data: nil -kea_dhcp__dhcp6: + - name: ntp-servers + code: 42 + data: "{{ kea_dhcp__ntp_servers.v4 | join(',') }}" + logging: + - name: kea-dhcp4 + output-options: + - output: stdout + severity: INFO +kea_dhcp__dhcp4: {} + +kea_dhcp__dhcp6_defaults: enable: false interfaces: [ ] + control-sockets: + - socket-name: /var/run/kea/dhcp6-ctrl-agent.sock + socket-type: unix lease-database: type: memfile persist: true - control-sockets: - - socket-name: /var/run/kea-dhcp6-ctrl-agent.sock - socket-type: unix option-data: - - name: "dns-servers" + - name: dns-servers code: 23 - csv-format: true data: "{{ kea_dhcp__dns_servers.v6 | join(',') }}" - subnets: - - id: 0 - subnet: nil - pools: - - pool: nil - reservations: - - ip-address: nil - hostname: beispiel.test - hw-address: "00:11:22:33:44:55" - option-data: - - name: nil, - code: nil, - csv-format: true - data: nil + - name: sntp-servers + code: 31 + data: "{{ kea_dhcp__sntp_servers.v6 | join(',') }}" + - name: ntp-server + code: 56 + - name: ntp-server-address + space: v6-ntp-server-suboptions + data: "{{ kea_dhcp__ntp_servers.v6 }}" + - name: ntp-server-fqdn + space: v6-ntp-server-suboptions + data: "{{ kea_dhcp__ntp_servers.fqdn }}" + logging: + - name: kea-dhcp6 + output-options: + - output: stdout + severity: INFO +kea_dhcp__dhcp6: {} + +kea_dhcp__include_vars: diff --git a/roles/kea_dhcp/handlers/main.yml b/roles/kea_dhcp/handlers/main.yml index d06aa1cc10..04dbc09a77 100644 --- a/roles/kea_dhcp/handlers/main.yml +++ b/roles/kea_dhcp/handlers/main.yml @@ -1,29 +1,40 @@ --- -- name: Systemd.daemon_reload +- name: Systemd_daemon_reload become: true ansible.builtin.systemd_service: daemon_reload: true -- name: Kea_dhcp4.restarted - ansible.builtin.service: - name: kea-dhcp4 - state: restarted - enabled: true - -- name: Kea_dhcp6.restarted - ansible.builtin.service: - name: kea-dhcp6 - state: restarted - enabled: true - -- name: Kea_ctrl.restarted - ansible.builtin.systemd: - name: kea-ctrl-agent - state: restarted - enabled: true - -- name: Stork_agent.restarted +- name: Kea_dhcp4.restarted_debian + listen: Kea_dhcp4.restarted become: true + when: ansible_facts['distribution'] == 'Debian' + ansible.builtin.service: + name: isc-kea-dhcp4-server + state: restarted + enabled: true + +- name: Kea_dhcp6.restarted_debian + listen: Kea_dhcp6.restarted + become: true + when: ansible_facts['distribution'] == 'Debian' + ansible.builtin.service: + name: isc-kea-dhcp6-server + state: restarted + enabled: true + +- name: Kea_ctrl.restarted_debian + listen: Kea_ctrl.restarted + become: true + when: ansible_facts['distribution'] == 'Debian' + ansible.builtin.systemd: + name: isc-kea-ctrl-agent + state: restarted + enabled: true + +- name: Stork_agent.restarted_debian + listen: Stork_agent.restarted + become: true + when: ansible_facts['distribution'] == 'Debian' ansible.builtin.systemd: name: isc-stork-agent state: restarted diff --git a/roles/kea_dhcp/meta/argument_specs.yaml b/roles/kea_dhcp/meta/argument_specs.yaml index 4d0d594fba..13339ff353 100644 --- a/roles/kea_dhcp/meta/argument_specs.yaml +++ b/roles/kea_dhcp/meta/argument_specs.yaml @@ -3,9 +3,11 @@ argument_specs: main: short_description: "Role for managing Kea DHCP server" options: - kea_dhcp__stork_agent: + kea_dhcp__stork_agent_defaults: type: "dict" - description: "Configuration for Stork Agent" + description: + - "Default configuration for Stork Agent." + - "Merged with kea_dhcp__stork_agent using combine(recursive=True)." options: enable: type: "bool" @@ -13,10 +15,39 @@ argument_specs: prometheus_only: type: "bool" default: true + kea_dhcp__stork_agent: + type: "dict" + description: + - "Host/group override for Stork Agent configuration." + - "Merged on top of kea_dhcp__stork_agent_defaults using combine(recursive=True)." + - "Only specify the keys you want to override." kea_dhcp__version_repo: type: "str" - description: "Version of Kea DHCP repository to use" + description: + - "Version of Kea DHCP repository to use." + - "The versions can be found at https://cloudsmith.io/~isc/repos/" default: "kea-3-0" + kea_dhcp__ntp_servers: + type: "dict" + description: "Default NTP servers advertised to DHCP clients (DHCPv4 option 42, DHCPv6 option 56)." + options: + v4: + type: "list" + elements: "str" + v6: + type: "str" + fqdn: + type: "str" + kea_dhcp__sntp_servers: + type: "dict" + description: "Default SNTP servers advertised to DHCPv6 clients (option 31)." + options: + v4: + type: "list" + elements: "str" + v6: + type: "list" + elements: "str" kea_dhcp__dns_servers: type: "dict" description: "Default DNS servers for DHCP clients" @@ -27,9 +58,48 @@ argument_specs: v4: type: "list" elements: "str" + kea_dhcp__dhcp4_defaults: + type: "dict" + description: + - "Default configuration for DHCPv4 service." + - "Merged with kea_dhcp__dhcp4 using combine(recursive=True)." + options: + enable: + type: "bool" + default: false + interfaces: + type: "list" + elements: "str" + default: [] + control-sockets: + type: "list" + elements: "dict" + lease-database: + type: "dict" + hooks-libraries: + type: "list" + elements: "dict" + option-data: + type: "list" + elements: "dict" + subnets: + type: "list" + elements: "dict" + logging: + type: "list" + elements: "dict" kea_dhcp__dhcp4: type: "dict" - description: "Configuration for DHCPv4 service" + description: + - "Host/group override for DHCPv4 configuration." + - "Merged on top of kea_dhcp__dhcp4_defaults using combine(recursive=True)." + - "Only specify the keys you want to override." + - "See kea_dhcp__dhcp4_defaults for available options." + kea_dhcp__dhcp6_defaults: + type: "dict" + description: + - "Default configuration for DHCPv6 service." + - "Merged with kea_dhcp__dhcp6 using combine(recursive=True)." options: enable: type: "bool" @@ -37,89 +107,28 @@ argument_specs: interfaces: type: "list" elements: "str" - default: [ ] + default: [] control-sockets: type: "list" elements: "dict" lease-database: type: "dict" + hooks-libraries: + type: "list" + elements: "dict" option-data: type: "list" elements: "dict" subnets: type: "list" elements: "dict" - options: - id: - type: "int" - subnet: - type: "str" - pools: - type: "list" - elements: "dict" - options: - pool: - type: "str" - reservations: - type: "list" - elements: "dict" - options: - ip-address: - type: "str" - hostname: - type: "str" - hw-address: - type: "str" - duid: - type: "str" - option-data: - type: "list" - elements: "dict" + logging: + type: "list" + elements: "dict" kea_dhcp__dhcp6: type: "dict" - description: "Configuration for DHCPv6 service" - options: - enable: - type: "bool" - default: false - interfaces: - type: "list" - elements: "str" - default: [ ] - control-sockets: - type: "list" - elements: "dict" - lease-database: - type: "dict" - option-data: - type: "list" - elements: "dict" - subnets: - type: "list" - elements: "dict" - options: - id: - type: "int" - subnet: - type: "str" - pools: - type: "list" - elements: "dict" - options: - pool: - type: "str" - reservations: - type: "list" - elements: "dict" - options: - ip-address: - type: "str" - hostname: - type: "str" - hw-address: - type: "str" - duid: - type: "str" - option-data: - type: "list" - elements: "dict" + description: + - "Host/group override for DHCPv6 configuration." + - "Merged on top of kea_dhcp__dhcp6_defaults using combine(recursive=True)." + - "Only specify the keys you want to override." + - "See kea_dhcp__dhcp6_defaults for available options." diff --git a/roles/kea_dhcp/tasks/install_debian.yaml b/roles/kea_dhcp/tasks/install_debian.yaml new file mode 100644 index 0000000000..233546d852 --- /dev/null +++ b/roles/kea_dhcp/tasks/install_debian.yaml @@ -0,0 +1,21 @@ +--- +- name: Register isc-kea apt repository + become: true + register: kea_dhcp__repo + ansible.builtin.deb822_repository: + name: "isc-{{ kea_dhcp__version_repo }}" + uris: "https://dl.cloudsmith.io/public/isc/{{ kea_dhcp__version_repo }}/deb/debian" + suites: "{{ ansible_facts['distribution_release'] }}" + components: main + signed_by: "https://dl.cloudsmith.io/public/isc/{{ kea_dhcp__version_repo }}/gpg.key" + +- name: Install Kea packages + become: true + ansible.builtin.apt: + name: + - isc-kea-dhcp4 + - isc-kea-dhcp6 + - isc-kea-hooks + - isc-kea-ctrl-agent + - isc-kea-admin + update_cache: "{{ kea_dhcp__repo.changed }}" diff --git a/roles/kea_dhcp/tasks/install_debian.yml b/roles/kea_dhcp/tasks/install_debian.yml deleted file mode 100644 index f897ddbd08..0000000000 --- a/roles/kea_dhcp/tasks/install_debian.yml +++ /dev/null @@ -1,25 +0,0 @@ ---- -- name: Install Kea packages - become: true - when: ansible_facts['distribution'] == "Debian" - block: - - name: Install Kea dhcp4 - when: kea_dhcp__dhcp4.enable - ansible.builtin.apt: - name: - - isc-kea-dhcp4 - - name: Install Kea dhcp6 - when: kea_dhcp__dhcp6.enable - ansible.builtin.apt: - name: - - isc-kea-dhcp6 - - name: Install Kea ctrl agent - when: kea_dhcp__stork_agent.enable - ansible.builtin.apt: - name: - - isc-kea-ctrl-agent - - name: Install Kea admin - when: kea_dhcp__stork_agent.enable - ansible.builtin.apt: - name: - - isc-kea-admin diff --git a/roles/kea_dhcp/tasks/kea.yaml b/roles/kea_dhcp/tasks/kea.yaml index 0d2c5e392b..d068b6f5ca 100644 --- a/roles/kea_dhcp/tasks/kea.yaml +++ b/roles/kea_dhcp/tasks/kea.yaml @@ -1,20 +1,15 @@ --- -- name: Include config vars - when: kea_dhcp__include_vars != None - ansible.builtin.include_vars: - file: "{{ kea_dhcp__include_vars }}" - - name: Deploy kea-dhcp4 configuration file become: true when: kea_dhcp__dhcp4.enable ansible.builtin.template: - src: kea-dhcp4.conf.jinja + src: kea-dhcp4.conf.j2 dest: /etc/kea/kea-dhcp4.conf backup: true owner: root - group: kea + group: "{{ kea_dhcp__service_group }}" mode: "u=rw,g=r,o=" - validate: kea-dhcp4 -T %s + validate: "/usr/sbin/kea-dhcp4 -T %s" # does not work with debian apparmor policys notify: - Kea_dhcp4.restarted @@ -22,13 +17,13 @@ become: true when: kea_dhcp__dhcp6.enable ansible.builtin.template: - src: kea-dhcp6.conf.jinja + src: kea-dhcp6.conf.j2 dest: /etc/kea/kea-dhcp6.conf backup: true owner: root - group: kea + group: "{{ kea_dhcp__service_group }}" mode: "u=rw,g=r,o=" - validate: kea-dhcp6 -T %s + validate: /usr/sbin/kea-dhcp6 -T %s # does not work with debian apparmor policys notify: - Kea_dhcp6.restarted @@ -39,9 +34,9 @@ src: kea-ctrl-agent.conf.j2 dest: /etc/kea/kea-ctrl-agent.conf owner: root - group: kea + group: "{{ kea_dhcp__service_group }}" mode: "u=rw,g=r,o=" - validate: kea-ctrl-agent -t %s + validate: /usr/sbin/kea-ctrl-agent -t %s # does not work with debian apparmor policys notify: - Kea_ctrl.restarted - Stork_agent.restarted diff --git a/roles/kea_dhcp/tasks/main.yml b/roles/kea_dhcp/tasks/main.yml index 6fced088cc..8150672b06 100644 --- a/roles/kea_dhcp/tasks/main.yml +++ b/roles/kea_dhcp/tasks/main.yml @@ -1,9 +1,20 @@ --- +- name: Include config vars + when: kea_dhcp__include_vars != None + ansible.builtin.include_vars: + file: "{{ kea_dhcp__include_vars }}" + +- name: Merge default vars with host_vars + ansible.builtin.set_fact: + kea_dhcp__stork_agent: "{{ kea_dhcp__stork_agent_defaults | combine(kea_dhcp__stork_agent, recursive=True) }}" + kea_dhcp__dhcp4: "{{ kea_dhcp__dhcp4_defaults | combine(kea_dhcp__dhcp4, recursive=True) }}" + kea_dhcp__dhcp6: "{{ kea_dhcp__dhcp6_defaults | combine(kea_dhcp__dhcp6, recursive=True) }}" + - name: Setup Kea DHCP block: - name: Install Kea on Debian when: ansible_facts['distribution'] == "Debian" - ansible.builtin.import_tasks: install_debian.yml + ansible.builtin.import_tasks: install_debian.yaml - name: Configure Kea ansible.builtin.include_tasks: kea.yaml diff --git a/roles/kea_dhcp/tasks/stork-agent.yaml b/roles/kea_dhcp/tasks/stork-agent.yaml index 0e777d42fa..9e65e9e400 100644 --- a/roles/kea_dhcp/tasks/stork-agent.yaml +++ b/roles/kea_dhcp/tasks/stork-agent.yaml @@ -1,26 +1,39 @@ --- - name: Install stork-agent block: - - name: Install isc-stork-agent + - name: Install stork-agent on Debian when: ansible_facts['distribution'] == "Debian" - become: true - ansible.builtin.apt: - name: isc-stork-agent + block: + - name: Register isc-stork apt repository + become: true + register: "kea_dhcp_install_repo" + ansible.builtin.deb822_repository: + name: isc-stork + uris: https://dl.cloudsmith.io/public/isc/stork/deb/debian + suites: any-version + components: main + signed_by: https://dl.cloudsmith.io/public/isc/stork/gpg.key - - name: Add stork-agent user to _kea group on Debian + - name: Install isc-stork-agent + become: true + ansible.builtin.apt: + name: isc-stork-agent + update_cache: "{{ kea_dhcp_install_repo.changed }}" + + - name: Add stork-agent user to kea group on Debian when: ansible_facts['distribution'] == "Debian" become: true ansible.builtin.user: name: stork-agent - groups: [ "_kea" ] + groups: [ "{{ kea_dhcp__service_group }}" ] append: true - name: Config for stork-agent ansible.builtin.template: - src: stork-agent.env.jinja + src: stork-agent.env.j2 dest: /etc/stork/agent.env owner: root - group: root + group: "{{ kea_dhcp__service_group }}" mode: "0660" notify: - Systemd_daemon_reload diff --git a/roles/kea_dhcp/templates/kea-dhcp4.conf.j2 b/roles/kea_dhcp/templates/kea-dhcp4.conf.j2 new file mode 100644 index 0000000000..7a5d925161 --- /dev/null +++ b/roles/kea_dhcp/templates/kea-dhcp4.conf.j2 @@ -0,0 +1,32 @@ +{ + "Dhcp4": { + "interfaces-config": { + "interfaces": {{ kea_dhcp__dhcp4.interfaces | to_nice_json | indent(12) }} + }, + "control-sockets": {{ kea_dhcp__dhcp4['control-sockets'] | to_nice_json | indent(8) }}, + "lease-database": {{ kea_dhcp__dhcp4['lease-database'] | to_nice_json | indent(8) }}, +{% if kea_dhcp__dhcp4['hooks-libraries'] is defined and kea_dhcp__dhcp4['hooks-libraries'] %} + "hooks-libraries": {{ kea_dhcp__dhcp4['hooks-libraries'] | to_nice_json | indent(8) }}, +{% endif %} +{% if kea_dhcp__dhcp4['option-data'] is defined and kea_dhcp__dhcp4['option-data'] %} + "option-data": {{ kea_dhcp__dhcp4['option-data'] | to_nice_json | indent(8) }}, +{% endif %} + "loggers": {{ kea_dhcp__dhcp4['logging'] | to_nice_json | indent(8) }}, + "subnet4": [ +{% for subnet in kea_dhcp__dhcp4.subnets %} + { + "id": {{ subnet.id }}, + "subnet": "{{ subnet.subnet }}", + "pools": {{ subnet.pools | to_nice_json | indent(16) }}, +{% if subnet.reservations is defined and subnet.reservations %} + "reservations": {{ subnet.reservations | to_nice_json | indent(16) }}, +{% endif %} +{% if subnet['option-data'] is defined and subnet['option-data'] %} + "option-data": {{ subnet['option-data'] | to_nice_json | indent(16) }} +{% endif %} + }{% if not loop.last %},{% endif %} + +{% endfor %} + ] + } +} diff --git a/roles/kea_dhcp/templates/kea-dhcp4.conf.jinja b/roles/kea_dhcp/templates/kea-dhcp4.conf.jinja deleted file mode 100644 index fa7cfd56c8..0000000000 --- a/roles/kea_dhcp/templates/kea-dhcp4.conf.jinja +++ /dev/null @@ -1,27 +0,0 @@ -{ - "Dhcp4": { - "interfaces-config": { - "interfaces": {{ kea_dhcp__dhcp4.interfaces | to_nice_json }} - }, - "control-sockets": {{ kea_dhcp__dhcp4['control-sockets'] | to_nice_json }}, - "lease-database": {{ kea_dhcp__dhcp4['lease-database'] | to_nice_json }}, - {% if kea_dhcp__dhcp4['option-data'] is defined and kea_dhcp__dhcp4['option-data'] %} - "option-data": {{ kea_dhcp__dhcp4['option-data'] | to_nice_json }}, - {% endif %} - "subnet4": [ - {% for subnet in kea_dhcp__dhcp4.subnets %} - { - "id": {{ subnet.id }}, - "subnet": "{{ subnet.subnet }}", - "pools": {{ subnet.pools | to_nice_json }}, - {% if subnet.reservations is defined and subnet.reservations %} - "reservations": {{ subnet.reservations | to_nice_json }}, - {% endif %} - {% if subnet['option-data'] is defined and subnet['option-data'] %} - "option-data": {{ subnet['option-data'] | to_nice_json }} - {% endif %} - }{% if not loop.last %},{% endif %} - {% endfor %} - ] - } -} diff --git a/roles/kea_dhcp/templates/kea-dhcp6.conf.j2 b/roles/kea_dhcp/templates/kea-dhcp6.conf.j2 new file mode 100644 index 0000000000..8ad701b214 --- /dev/null +++ b/roles/kea_dhcp/templates/kea-dhcp6.conf.j2 @@ -0,0 +1,36 @@ +{ + "Dhcp6": { + "interfaces-config": { + "interfaces": {{ kea_dhcp__dhcp6.interfaces | to_nice_json | indent(12) }} + }, + "control-sockets": {{ kea_dhcp__dhcp6['control-sockets'] | to_nice_json | indent(8) }}, + "lease-database": {{ kea_dhcp__dhcp6['lease-database'] | to_nice_json | indent(8) }}, +{% if kea_dhcp__dhcp6['hooks-libraries'] is defined and kea_dhcp__dhcp6['hooks-libraries'] %} + "hooks-libraries": {{ kea_dhcp__dhcp6['hooks-libraries'] | to_nice_json | indent(8) }}, +{% endif %} +{% if kea_dhcp__dhcp6['option-data'] is defined and kea_dhcp__dhcp6['option-data'] %} + "option-data": {{ kea_dhcp__dhcp6['option-data'] | to_nice_json | indent(8) }}, +{% endif %} + "loggers": {{ kea_dhcp__dhcp6['logging'] | to_nice_json | indent(8) }}{% if kea_dhcp__dhcp6.subnets is defined and kea_dhcp__dhcp6.subnets %},{% endif %} +{% if kea_dhcp__dhcp6.subnets is defined and kea_dhcp__dhcp6.subnets %} + "subnet6": [ +{% for subnet in kea_dhcp__dhcp6.subnets %} + { + "id": {{ subnet.id }}, + "subnet": "{{ subnet.subnet }}", + "interface": "{{ subnet.interface }}", + "allocator": "{{ subnet.allocator | default("iterative") }}", + "pools": {{ subnet.pools | to_nice_json | indent(16) }}, +{% if subnet.reservations is defined and subnet.reservations %} + "reservations": {{ subnet.reservations | to_nice_json | indent(16) }}, +{% endif %} +{% if subnet['option-data'] is defined and subnet['option-data'] %} + "option-data": {{ subnet['option-data'] | to_nice_json | indent(16) }} +{% endif %} + }{% if not loop.last %},{% endif %} + +{% endfor %} + ] +{% endif %} + } +} diff --git a/roles/kea_dhcp/templates/kea-dhcp6.conf.jinja b/roles/kea_dhcp/templates/kea-dhcp6.conf.jinja deleted file mode 100644 index da1929a546..0000000000 --- a/roles/kea_dhcp/templates/kea-dhcp6.conf.jinja +++ /dev/null @@ -1,27 +0,0 @@ -{ - "Dhcp6": { - "interfaces-config": { - "interfaces": {{ kea_dhcp__dhcp6.interfaces | to_nice_json }} - }, - "control-sockets": {{ kea_dhcp__dhcp6['control-sockets'] | to_nice_json }}, - "lease-database": {{ kea_dhcp__dhcp6['lease-database'] | to_nice_json }}, - {% if kea_dhcp__dhcp6['option-data'] is defined and kea_dhcp__dhcp6['option-data'] %} - "option-data": {{ kea_dhcp__dhcp6['option-data'] | to_nice_json }}, - {% endif %} - "subnet6": [ - {% for subnet in kea_dhcp__dhcp6.subnets %} - { - "id": {{ subnet.id }}, - "subnet": "{{ subnet.subnet }}", - "pools": {{ subnet.pools | to_nice_json }}, - {% if subnet.reservations is defined and subnet.reservations %} - "reservations": {{ subnet.reservations | to_nice_json }}, - {% endif %} - {% if subnet['option-data'] is defined and subnet['option-data'] %} - "option-data": {{ subnet['option-data'] | to_nice_json }} - {% endif %} - }{% if not loop.last %},{% endif %} - {% endfor %} - ] - } -} diff --git a/roles/kea_dhcp/templates/stork-agent.env.j2 b/roles/kea_dhcp/templates/stork-agent.env.j2 new file mode 100644 index 0000000000..bdfa4d2db8 --- /dev/null +++ b/roles/kea_dhcp/templates/stork-agent.env.j2 @@ -0,0 +1,44 @@ +### the IP or hostname to listen on for incoming Stork server connections +# STORK_AGENT_HOST= + +### the TCP port to listen on for incoming Stork server connections +# STORK_AGENT_PORT=8081 + +### listen for commands from the Stork server only, but not for Prometheus requests +# STORK_AGENT_LISTEN_STORK_ONLY=true + +{% if kea_dhcp__stork_agent.prometheus_only %} +### listen for Prometheus requests only, but not for commands from the Stork server +STORK_AGENT_LISTEN_PROMETHEUS_ONLY=true +{% endif %} + +### settings for exporting stats to Prometheus +### the IP or hostname on which the agent exports Kea statistics to Prometheus +# STORK_AGENT_PROMETHEUS_KEA_EXPORTER_ADDRESS= +### the port on which the agent exports Kea statistics to Prometheus +# STORK_AGENT_PROMETHEUS_KEA_EXPORTER_PORT= +## enable or disable collecting per-subnet stats from Kea +# STORK_AGENT_PROMETHEUS_KEA_EXPORTER_PER_SUBNET_STATS=true +### the IP or hostname on which the agent exports BIND 9 statistics to Prometheus +# STORK_AGENT_PROMETHEUS_BIND9_EXPORTER_ADDRESS= +### the port on which the agent exports BIND 9 statistics to Prometheus +# STORK_AGENT_PROMETHEUS_BIND9_EXPORTER_PORT= + +### Stork Server URL used by the agent to send REST commands to the server during agent registration +# STORK_AGENT_SERVER_URL= + +### skip TLS certificate verification when the Stork Agent connects +### to Kea over TLS and Kea uses self-signed certificates +# STORK_AGENT_SKIP_TLS_CERT_VERIFICATION=true + + +### Logging parameters + +### Set logging level. Supported values are: DEBUG, INFO, WARN, ERROR +STORK_LOG_LEVEL=DEBUG +### disable output colorization +# CLICOLOR=false + +### path to the hook directory +# STORK_AGENT_HOOK_DIRECTORY= + diff --git a/roles/kea_dhcp/templates/stork-agent.env.jinja b/roles/kea_dhcp/templates/stork-agent.env.jinja deleted file mode 100644 index 75250b069e..0000000000 --- a/roles/kea_dhcp/templates/stork-agent.env.jinja +++ /dev/null @@ -1,20 +0,0 @@ -### Stork Agent env file -### (created and managed by ansible kea_dhcp role) - - -{% if kea_dhcp__stork_agent.prometheus_only %} -### listen for Prometheus requests only, but not for commands from the Stork server -STORK_AGENT_LISTEN_PROMETHEUS_ONLY=true -{% endif %} - -### settings for exporting stats to Prometheus -### the IP or hostname on which the agent exports Kea statistics to Prometheus -STORK_AGENT_PROMETHEUS_KEA_EXPORTER_ADDRESS=localhost -### the port on which the agent exports Kea statistics to Prometheus -# STORK_AGENT_PROMETHEUS_KEA_EXPORTER_PORT= - -### Logging parameters - -### Set logging level. Supported values are: DEBUG, INFO, WARN, ERROR -STORK_LOG_LEVEL=DEBUG - From 32caa40f77483bcfe3b78c651a083f6f35199922 Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Fri, 31 Jul 2026 17:59:35 +0200 Subject: [PATCH 395/417] unbound(role): fix some unbound setup stuff --- roles/unbound/handlers/main.yml | 5 +++++ roles/unbound/tasks/main.yml | 3 +++ 2 files changed, 8 insertions(+) diff --git a/roles/unbound/handlers/main.yml b/roles/unbound/handlers/main.yml index 09af699579..72d7173455 100644 --- a/roles/unbound/handlers/main.yml +++ b/roles/unbound/handlers/main.yml @@ -16,3 +16,8 @@ name: prometheus-unbound-exporter.service state: restarted enabled: true + +- name: systemd-daemon-reload + become: true + ansible.builtin.systemd_service: + daemon_reload: true diff --git a/roles/unbound/tasks/main.yml b/roles/unbound/tasks/main.yml index 69b712f6aa..d83e95a35e 100644 --- a/roles/unbound/tasks/main.yml +++ b/roles/unbound/tasks/main.yml @@ -40,6 +40,9 @@ deploy_systemd_resolved_config__dns: - 127.0.0.1 + - name: flush handlers + ansible.builtin.meta: flush_handlers + - name: ensure unbound is running and enabled become: true ansible.builtin.systemd: From 58ea3ef7a39cf09df3016baf7cd07e061f94a7ef Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Fri, 31 Jul 2026 18:07:35 +0200 Subject: [PATCH 396/417] z9-router(host): update host kea config - edit config to work with update kea role - fix ipv6 addresses --- resources/z9/z9-router/kea_dhcp.yaml | 102 ++++++++++++--------------- 1 file changed, 47 insertions(+), 55 deletions(-) diff --git a/resources/z9/z9-router/kea_dhcp.yaml b/resources/z9/z9-router/kea_dhcp.yaml index 8b9b9fb512..5859b65ba8 100644 --- a/resources/z9/z9-router/kea_dhcp.yaml +++ b/resources/z9/z9-router/kea_dhcp.yaml @@ -7,20 +7,14 @@ kea_dhcp__dns_servers: kea_dhcp__dhcp4: enable: true interfaces: [ "netlan.51", "netlan.52", "netlan.54" ] - control-sockets: - - socket-name: /var/run/kea-dhcp4-ctrl-agent.sock - socket-type: unix - lease-database: - type: memfile - persist: true - option-data: - - name: "domain-name-servers" - code: 6 - csv-format: true - data: "{{ kea_dhcp__dns_servers.v4 | join(',') }}" subnets: - id: 1 subnet: 10.89.208.0/22 + option-data: + - name: domain-name-servers + data: "10.89.208.1" + - name: routers + data: 10.89.208.1 pools: - pool: "10.89.208.32 - 10.89.211.250" reservations: @@ -64,12 +58,13 @@ kea_dhcp__dhcp4: - ip-address: 10.89.209.254 hostname: ki10 hw-address: "dc:a6:32:a9:ff:82" - option-data: - - name: routers, - csv-format: true - data: 10.89.208.1 - id: 2 subnet: 10.89.212.0/24 + option-data: + - name: domain-name-servers + data: "10.89.212.1" + - name: routers + data: 10.89.212.1 pools: - pool: "10.89.212.32 - 10.89.212.250" reservations: @@ -157,14 +152,13 @@ kea_dhcp__dhcp4: - ip-address: 10.89.212.235 hostname: okilaser hw-address: "2c:ff:65:22:b4:63" - - ip-address: 10.89.212.236 - hw-address: "b8:27:eb:29:bd:77" - option-data: - - name: routers, - csv-format: true - data: 10.89.212.1 - id: 3 subnet: 10.89.213.0/24 + option-data: + - name: domain-name-servers + data: "10.89.213.1" + - name: routers + data: 10.89.213.1 pools: - pool: "10.89.213.32 - 10.89.213.250" reservations: @@ -231,86 +225,84 @@ kea_dhcp__dhcp4: - ip-address: 10.89.213.30 hostname: proxmox-backup-server hw-address: "8a:48:dd:a3:22:40" - option-data: - - name: routers, - csv-format: true - data: 10.89.213.1 kea_dhcp__dhcp6: enable: true interfaces: [ "netlan.51", "netlan.52", "netlan.54" ] - control-sockets: - - socket-name: /var/run/kea-dhcp6-ctrl-agent.sock - socket-type: unix - lease-database: - type: memfile - persist: true - option-data: - - name: "dns-servers" - code: 23 - csv-format: true - data: "{{ kea_dhcp__dns_servers.v6 | join(',') }}" subnets: - id: 1 subnet: "2a07:c481:1:33::/64" + interface: "netlan.51" + option-data: + - name: "dns-servers" + data: "2a07:c481:1:33::1" pools: - - pool: "2a07:c481:1:33::1:1 - 2a07:c481:1:33::FFFF:FFFF" + - pool: "2a07:c481:1:33::/64" + allocator: random reservations: - - ip-address: "2a07:c481:1:33::1c" + - ip-addresses: ["2a07:c481:1:33::1c"] hostname: dooris hw-address: "bc:24:11:b3:93:9c" - id: 2 subnet: "2a07:c481:1:34::/64" + interface: "netlan.52" + option-data: + - name: "dns-servers" + data: "2a07:c481:1:34::1" pools: - - pool: "2a07:c481:1:34::1:1 - 2a07:c481:1:34::FFFF:FFFF" + - pool: "2a07:c481:1:34::/64" reservations: - - ip-address: "2a07:c481:1:34::66" + - ip-addresses: ["2a07:c481:1:34::66"] hostname: esphome hw-address: "7e:3c:f0:77:8a:f4" - id: 3 subnet: "2a07:c481:1:36::/64" + interface: "netlan.54" + option-data: + - name: "dns-servers" + data: "2a07:c481:1:36::1" pools: - - pool: "2a07:c481:1:36::1:1 - 2a07:c481:1:36::FFFF:FFFF" + - pool: "2a07:c481:1:36::/64" reservations: - - ip-address: "2a07:c481:1:36::2" + - ip-addresses: ["2a07:c481:1:36::2"] hostname: sw-rack-1 hw-address: "F0:9F:C2:10:C3:AA" - - ip-address: "2a07:c481:1:36::3" + - ip-addresses: ["2a07:c481:1:36::3"] hostname: sw-rack-2-peo hw-address: "44:d9:e7:06:69:5d" - - ip-address: "2a07:c481:1:36::4" + - ip-addresses: ["2a07:c481:1:36::4"] hostname: sw-main-1 hw-address: "a8:9c:6c:16:df:cc" - - ip-address: "2a07:c481:1:36::5" + - ip-addresses: ["2a07:c481:1:36::5"] hostname: sw-main-2 hw-address: "a8:9c:6c:16:e8:86" - - ip-address: "2a07:c481:1:36::6" + - ip-addresses: ["2a07:c481:1:36::6"] hostname: sw-shop-1 hw-address: "C0:4A:00:FB:DA:C5" - - ip-address: "2a07:c481:1:36::7" + - ip-addresses: ["2a07:c481:1:36::7"] hostname: sw-shop-2-peo hw-address: "f4:e2:c6:bf:20:ee" - - ip-address: "2a07:c481:1:36::8" + - ip-addresses: ["2a07:c481:1:36::8"] hostname: sw-shop-3-peo hw-address: "d8:b3:70:85:72:76" - - ip-address: "2a07:c481:1:36::b" + - ip-addresses: ["2a07:c481:1:36::b"] hostname: pve01 hw-address: "38:05:25:30:80:35" - - ip-address: "2a07:c481:1:36::c" + - ip-addresses: ["2a07:c481:1:36::c"] hostname: pve02 hw-address: "b8:85:84:b1:57:b6" - - ip-address: "2a07:c481:1:36::d" + - ip-addresses: ["2a07:c481:1:36::d"] hostname: pve03 hw-address: "98:fa:9b:a2:ed:e8" - - ip-address: "2a07:c481:1:36::f" + - ip-addresses: ["2a07:c481:1:36::f"] hostname: pbs hw-address: "BC:24:11:D6:2C:81" - - ip-address: "2a07:c481:1:36::21" + - ip-addresses: ["2a07:c481:1:36::21"] hostname: unifi hw-address: "BC:24:11:25:77:60" - - ip-address: "2a07:c481:1:36::31" + - ip-addresses: ["2a07:c481:1:36::31"] hostname: light hw-address: "72:61:ea:e6:49:e3" - - ip-address: "2a07:c481:1:36::32" + - ip-addresses: ["2a07:c481:1:36::32"] hostname: club-assistant hw-address: "7a:55:61:c3:a2:89" From b76fac2255db89b7ebd28acb559659454e6f6bf3 Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Fri, 31 Jul 2026 18:10:34 +0200 Subject: [PATCH 397/417] general: update gitignore --- .gitignore | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 70dd576636..8bcf2f519c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ .ansible/ -**/__pycache__ \ No newline at end of file +**/__pycache__ +**/.DS_store + From ffb88164ee3b07b15d66103e7d7a147b9836787c Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Sat, 1 Aug 2026 23:30:36 +0200 Subject: [PATCH 398/417] z9-router(host): change vlan 54 to 55 and remove netwan move vlan 400 to netlan --- resources/z9/z9-router/kea_dhcp.yaml | 4 +-- resources/z9/z9-router/nftables/nftables.conf | 18 ++++++------- .../z9-router/systemd_networkd/00-netwan.link | 6 ----- ...0-netlan.54.netdev => 10-netlan.55.netdev} | 4 +-- .../{10-wg55.netdev => 10-wg56.netdev} | 2 +- .../systemd_networkd/20-netlan.network | 27 ++++++++++++++++--- .../systemd_networkd/20-netwan.network | 13 --------- .../{20-wg55.network => 20-wg56.network} | 2 +- ...etwork => 21-netlan.55-management.network} | 2 +- 9 files changed, 40 insertions(+), 38 deletions(-) delete mode 100644 resources/z9/z9-router/systemd_networkd/00-netwan.link rename resources/z9/z9-router/systemd_networkd/{10-netlan.54.netdev => 10-netlan.55.netdev} (73%) rename resources/z9/z9-router/systemd_networkd/{10-wg55.netdev => 10-wg56.netdev} (99%) delete mode 100644 resources/z9/z9-router/systemd_networkd/20-netwan.network rename resources/z9/z9-router/systemd_networkd/{20-wg55.network => 20-wg56.network} (87%) rename resources/z9/z9-router/systemd_networkd/{21-netlan.54-management.network => 21-netlan.55-management.network} (95%) diff --git a/resources/z9/z9-router/kea_dhcp.yaml b/resources/z9/z9-router/kea_dhcp.yaml index 5859b65ba8..4f7ea31fef 100644 --- a/resources/z9/z9-router/kea_dhcp.yaml +++ b/resources/z9/z9-router/kea_dhcp.yaml @@ -6,7 +6,7 @@ kea_dhcp__dns_servers: kea_dhcp__dhcp4: enable: true - interfaces: [ "netlan.51", "netlan.52", "netlan.54" ] + interfaces: ["netlan.51", "netlan.52", "netlan"] subnets: - id: 1 subnet: 10.89.208.0/22 @@ -228,7 +228,7 @@ kea_dhcp__dhcp4: kea_dhcp__dhcp6: enable: true - interfaces: [ "netlan.51", "netlan.52", "netlan.54" ] + interfaces: ["netlan.51", "netlan.52", "netlan"] subnets: - id: 1 subnet: "2a07:c481:1:33::/64" diff --git a/resources/z9/z9-router/nftables/nftables.conf b/resources/z9/z9-router/nftables/nftables.conf index 8853412714..e59e5bdad0 100644 --- a/resources/z9/z9-router/nftables/nftables.conf +++ b/resources/z9/z9-router/nftables/nftables.conf @@ -6,26 +6,26 @@ # Interfaces -define if_netwan = "netwan" +#define if_netwan = "netwan" define if_netlan = "netlan" -define if_wg55_management = "wg55" +define if_wg56_management = "wg56" define if_netwan_400_fux_uplink = "netwan.400" define if_netlan_51_clients = "netlan.51" define if_netlan_52_iot = "netlan.52" define if_netlan_53_public = "netlan.53" -define if_netlan_54_management = "netlan.54" +define if_netlan_55_management = "netlan" # Interface Groups define wan_ifs = { $if_netwan_400_fux_uplink } define lan_ifs = { $if_netlan_51_clients, $if_netlan_52_iot, $if_netlan_53_public, - $if_netlan_54_management } + $if_netlan_55_management } define v4_exposed_ifs = { $if_netlan_53_public } define v6_exposed_ifs = { $if_netlan_53_public } define v4_nat_ifs = { $if_netlan_51_clients, $if_netlan_52_iot, - $if_netlan_54_management } + $if_netlan_55_management } ## Rules @@ -79,7 +79,7 @@ table inet host { iifname { $lan_ifs } udp dport 547 accept comment "allow dhcpv6 server access" # Allow DNS server access from lan_ifs - iifname { $lan_ifs, $if_wg55_management } udp dport 53 accept comment "allow dns server access from lan_ifs" + iifname { $lan_ifs, $if_wg56_management } udp dport 53 accept comment "allow dns server access from lan_ifs" } } @@ -91,7 +91,7 @@ table ip v4nat { chain postrouting { type nat hook postrouting priority srcnat; policy accept; - iifname { $v4_nat_ifs, $if_wg55_management } oifname $wan_ifs masquerade + iifname { $v4_nat_ifs, $if_wg56_management } oifname $wan_ifs masquerade } } @@ -103,13 +103,13 @@ table inet forward { ct state established,related accept # Allow internet access. - iifname { $lan_ifs, $if_wg55_management } oifname $wan_ifs accept comment "allow internet access" + iifname { $lan_ifs, $if_wg56_management } oifname $wan_ifs accept comment "allow 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" # Allow clients and management to most - iifname { $if_netlan_51_clients, $if_netlan_54_management, $if_wg55_management } oifname $lan_ifs accept comment "Allow clients and management to lan interfaces" + iifname { $if_netlan_51_clients, $if_netlan_55_management, $if_wg56_management } oifname $lan_ifs accept comment "Allow clients and management to lan interfaces" } } diff --git a/resources/z9/z9-router/systemd_networkd/00-netwan.link b/resources/z9/z9-router/systemd_networkd/00-netwan.link deleted file mode 100644 index 523e18a958..0000000000 --- a/resources/z9/z9-router/systemd_networkd/00-netwan.link +++ /dev/null @@ -1,6 +0,0 @@ -[Match] -MACAddress=BC:24:11:CF:65:57 -Type=ether - -[Link] -Name=netwan diff --git a/resources/z9/z9-router/systemd_networkd/10-netlan.54.netdev b/resources/z9/z9-router/systemd_networkd/10-netlan.55.netdev similarity index 73% rename from resources/z9/z9-router/systemd_networkd/10-netlan.54.netdev rename to resources/z9/z9-router/systemd_networkd/10-netlan.55.netdev index 4ea5ec6a37..74bd182dd4 100644 --- a/resources/z9/z9-router/systemd_networkd/10-netlan.54.netdev +++ b/resources/z9/z9-router/systemd_networkd/10-netlan.55.netdev @@ -1,8 +1,8 @@ [NetDev] -Name=netlan.54 +Name=netlan.55 Kind=vlan MACAddress=BC:24:11:D2:65:B4 [VLAN] -Id=54 +Id=55 diff --git a/resources/z9/z9-router/systemd_networkd/10-wg55.netdev b/resources/z9/z9-router/systemd_networkd/10-wg56.netdev similarity index 99% rename from resources/z9/z9-router/systemd_networkd/10-wg55.netdev rename to resources/z9/z9-router/systemd_networkd/10-wg56.netdev index f2de509aaa..70966e22b2 100644 --- a/resources/z9/z9-router/systemd_networkd/10-wg55.netdev +++ b/resources/z9/z9-router/systemd_networkd/10-wg56.netdev @@ -1,7 +1,7 @@ [NetDev] Description=Admin-Wireguard Kind=wireguard -Name=wg55 +Name=wg56 [WireGuard] ListenPort=51820 diff --git a/resources/z9/z9-router/systemd_networkd/20-netlan.network b/resources/z9/z9-router/systemd_networkd/20-netlan.network index 7fab501bb0..75767b562d 100644 --- a/resources/z9/z9-router/systemd_networkd/20-netlan.network +++ b/resources/z9/z9-router/systemd_networkd/20-netlan.network @@ -5,12 +5,33 @@ Name=netlan RequiredForOnline=no [Network] -LinkLocalAddressing=no +#LinkLocalAddressing=no DHCP=no -IPv6AcceptRA=no +#IPv6AcceptRA=no VLAN=netlan.51 VLAN=netlan.52 VLAN=netlan.53 -VLAN=netlan.54 +#VLAN=netlan.55 +VLAN=netwan.400 + +#Description=Management + +# Masquerading done in nftables (nftables.conf). +IPv6SendRA=yes + +[Address] +Address=10.89.213.1/24 + +[IPv6SendRA] +UplinkInterface=netwan.400 +EmitDomains=true +Domains=ccchh.net +Managed=true + +[IPv6Prefix] +Prefix=2a07:c481:1:36::/64 +Assign=true +Token=static:::1 + diff --git a/resources/z9/z9-router/systemd_networkd/20-netwan.network b/resources/z9/z9-router/systemd_networkd/20-netwan.network deleted file mode 100644 index b42b95abd2..0000000000 --- a/resources/z9/z9-router/systemd_networkd/20-netwan.network +++ /dev/null @@ -1,13 +0,0 @@ -[Match] -Name=netwan - -[Link] -RequiredForOnline=no - -[Network] -LinkLocalAddressing=no -DHCP=no -IPv6AcceptRA=no - -VLAN=netwan.400 - diff --git a/resources/z9/z9-router/systemd_networkd/20-wg55.network b/resources/z9/z9-router/systemd_networkd/20-wg56.network similarity index 87% rename from resources/z9/z9-router/systemd_networkd/20-wg55.network rename to resources/z9/z9-router/systemd_networkd/20-wg56.network index 750e8445d4..6c56251bc5 100644 --- a/resources/z9/z9-router/systemd_networkd/20-wg55.network +++ b/resources/z9/z9-router/systemd_networkd/20-wg56.network @@ -1,5 +1,5 @@ [Match] -Name=wg55 +Name=wg56 [Network] Address=10.89.214.1/24 diff --git a/resources/z9/z9-router/systemd_networkd/21-netlan.54-management.network b/resources/z9/z9-router/systemd_networkd/21-netlan.55-management.network similarity index 95% rename from resources/z9/z9-router/systemd_networkd/21-netlan.54-management.network rename to resources/z9/z9-router/systemd_networkd/21-netlan.55-management.network index e1bf0c8a48..1e8086a108 100644 --- a/resources/z9/z9-router/systemd_networkd/21-netlan.54-management.network +++ b/resources/z9/z9-router/systemd_networkd/21-netlan.55-management.network @@ -1,5 +1,5 @@ [Match] -Name=netlan.54 +Name=netlan.55 Type=vlan [Link] From 8043198569c9c7da853acdd4f4392868527bf508 Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Sat, 1 Aug 2026 23:31:06 +0200 Subject: [PATCH 399/417] z9-router(host): add dhcp and dns for dooris-legacy --- resources/chaosknoten/auth-dns/zones/ccchh.net.zone | 2 ++ resources/z9/z9-router/kea_dhcp.yaml | 3 +++ 2 files changed, 5 insertions(+) diff --git a/resources/chaosknoten/auth-dns/zones/ccchh.net.zone b/resources/chaosknoten/auth-dns/zones/ccchh.net.zone index 91519200d6..7e7099b646 100644 --- a/resources/chaosknoten/auth-dns/zones/ccchh.net.zone +++ b/resources/chaosknoten/auth-dns/zones/ccchh.net.zone @@ -101,6 +101,8 @@ dooris A 10.89.208.16 AAAA 2a07:c481:1:33::1c _acme-challenge.dooris CNAME 37caae1f-b77f-4eb1-aa71-dc3f7ed24360.auth.acmedns.hamburg.ccc.de. +dooris-legacy A 10.89.208.31 + hmdooris-ccu A 10.89.208.17 dooris-ng A 10.89.209.29 diff --git a/resources/z9/z9-router/kea_dhcp.yaml b/resources/z9/z9-router/kea_dhcp.yaml index 4f7ea31fef..1970c3ef90 100644 --- a/resources/z9/z9-router/kea_dhcp.yaml +++ b/resources/z9/z9-router/kea_dhcp.yaml @@ -49,6 +49,9 @@ kea_dhcp__dhcp4: - ip-address: 10.89.209.28 hostname: hp-color hw-address: "3c:52:82:29:21:79" + - ip-address: 10.89.208.31 + hostname: dooris-legacy + hw-address: "b8:27:eb:80:a5:66" - ip-address: 10.89.209.29 hostname: dooris-ng hw-address: "6c:4b:90:19:21:a1" From 1452c85b9d95722ad841cd72d203274634b55f33 Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Sat, 1 Aug 2026 23:58:27 +0200 Subject: [PATCH 400/417] z9-router(host): change mac address of yate in dhcp --- resources/z9/z9-router/kea_dhcp.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/z9/z9-router/kea_dhcp.yaml b/resources/z9/z9-router/kea_dhcp.yaml index 1970c3ef90..a54b99627a 100644 --- a/resources/z9/z9-router/kea_dhcp.yaml +++ b/resources/z9/z9-router/kea_dhcp.yaml @@ -209,7 +209,7 @@ kea_dhcp__dhcp4: hw-address: "f2:20:75:5a:2f:8c" - ip-address: 10.89.213.24 hostname: yate - hw-address: "bc:24:11:73:3e:f7" + hw-address: "bc:24:11:bf:8f:95" - ip-address: 10.89.213.25 hostname: ptouch-print-server hw-address: "bc:24:11:f2:cf:8f" From 49f07b087202c7088cdc1d05d83031fb23d1ee7c Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Sun, 2 Aug 2026 00:03:07 +0200 Subject: [PATCH 401/417] z9-router(host): move yate from vlan 55 to 52 --- resources/chaosknoten/auth-dns/zones/ccchh.net.zone | 2 +- resources/z9/z9-router/kea_dhcp.yaml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/resources/chaosknoten/auth-dns/zones/ccchh.net.zone b/resources/chaosknoten/auth-dns/zones/ccchh.net.zone index 7e7099b646..6083fb0226 100644 --- a/resources/chaosknoten/auth-dns/zones/ccchh.net.zone +++ b/resources/chaosknoten/auth-dns/zones/ccchh.net.zone @@ -110,7 +110,7 @@ dooris-ng A 10.89.209.29 buba A 10.89.212.137 -yate A 10.89.213.24 +yate A 10.89.212.25 muzak A 10.89.208.13 diff --git a/resources/z9/z9-router/kea_dhcp.yaml b/resources/z9/z9-router/kea_dhcp.yaml index a54b99627a..67a5ce03e4 100644 --- a/resources/z9/z9-router/kea_dhcp.yaml +++ b/resources/z9/z9-router/kea_dhcp.yaml @@ -89,6 +89,9 @@ kea_dhcp__dhcp4: - ip-address: 10.89.212.24 hostname: foobackup hw-address: "bc:24:11:20:1a:a8" + - ip-address: 10.89.212.25 + hostname: yate + hw-address: "bc:24:11:bf:8f:95" - ip-address: 10.89.212.27 hostname: ender3v2-sonic-pad hw-address: "fc:ee:91:00:0e:14" @@ -207,9 +210,6 @@ kea_dhcp__dhcp4: - ip-address: 10.89.213.23 hostname: automation hw-address: "f2:20:75:5a:2f:8c" - - ip-address: 10.89.213.24 - hostname: yate - hw-address: "bc:24:11:bf:8f:95" - ip-address: 10.89.213.25 hostname: ptouch-print-server hw-address: "bc:24:11:f2:cf:8f" From 14b54797ec4b245650568412b9ff457e5f0a3736 Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Sun, 2 Aug 2026 02:35:23 +0200 Subject: [PATCH 402/417] README.md: correct sentence --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 62c785c7b9..a9ab72b318 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Folgende Geräte und Server werden duch dieses Ansible Repository verwaltet: -* Diverse VMs auf dem z9 (PVE Cluster) +* Diverse VMs im z9 (PVE Cluster) * Diverse VMs auf dem Chaosknoten Host-spezifische Konfigurationsdateien liegen unter `resources/` und werden für jeweils über eine `host_vars`-Datei im Inventory geladen. From c2130adbb57d6fc51aa83f7b611dd2e90785ab49 Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Sun, 2 Aug 2026 16:43:12 +0200 Subject: [PATCH 403/417] auth-dns(host): remove unused unfi ipv6 and specify comments --- resources/chaosknoten/auth-dns/zones/ccchh.net.zone | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/resources/chaosknoten/auth-dns/zones/ccchh.net.zone b/resources/chaosknoten/auth-dns/zones/ccchh.net.zone index 6083fb0226..db63fdd8a4 100644 --- a/resources/chaosknoten/auth-dns/zones/ccchh.net.zone +++ b/resources/chaosknoten/auth-dns/zones/ccchh.net.zone @@ -43,11 +43,10 @@ pve04 A 10.89.213.14 pbs A 10.89.213.15 AAAA 2a07:c481:1:36::15 unifi A 10.89.213.21 -; AAAA 2a07:c481:1:36::21 ; -; Club-Services +; Internal Club-Services ; xr18 A 10.89.208.15 AtemMini A 10.89.212.234 From 82760d2bc2d04f3a24efe8a294906b735ee05b48 Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Sun, 2 Aug 2026 16:45:50 +0200 Subject: [PATCH 404/417] light(host): remove resolver from nginx conf --- resources/z9/light/nginx/light.conf | 6 ------ 1 file changed, 6 deletions(-) diff --git a/resources/z9/light/nginx/light.conf b/resources/z9/light/nginx/light.conf index 18e2a41e40..7c10e96e90 100644 --- a/resources/z9/light/nginx/light.conf +++ b/resources/z9/light/nginx/light.conf @@ -12,9 +12,6 @@ server { # verify chain of trust of OCSP response using Root CA and Intermediate certs 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; # is this needed? - location / { proxy_pass http://127.0.0.1:8081; proxy_set_header Host $host; @@ -37,9 +34,6 @@ server { # verify chain of trust of OCSP response using Root CA and Intermediate certs ssl_trusted_certificate /etc/letsencrypt/live/light.ccchh.net/chain.pem; - # replace with the IP address of your resolver - #resolver 10.31.208.1; # is this needed? - location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; From 7eabd88e2c4cd707396e4c7ad1ed28b5eb1fd686 Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Fri, 7 Aug 2026 22:27:48 +0200 Subject: [PATCH 405/417] unbound(role): update readme and move task block to top level and remove unused --- roles/unbound/README.md | 26 +++--- roles/unbound/files/no-resolved.resolv.conf | 1 - roles/unbound/handlers/main.yml | 6 -- roles/unbound/tasks/main.yml | 93 ++++++++++----------- 4 files changed, 61 insertions(+), 65 deletions(-) delete mode 100644 roles/unbound/files/no-resolved.resolv.conf diff --git a/roles/unbound/README.md b/roles/unbound/README.md index c44805baa2..6043e7495f 100644 --- a/roles/unbound/README.md +++ b/roles/unbound/README.md @@ -1,6 +1,6 @@ # Unbound DNS resolver -Role fora a validating, recursive, caching DNS resolver based on [Unbound](https://nlnetlabs.nl/projects/unbound/about/). +Role for a validating, recursive, caching DNS resolver based on [Unbound](https://nlnetlabs.nl/projects/unbound/about/). It is designed to be fast and lean and incorporates modern features based on open standards. - [Documentation](https://unbound.docs.nlnetlabs.nl/en/latest/) @@ -9,12 +9,18 @@ It is designed to be fast and lean and incorporates modern features based on ope The following variables can be used to customize this role: -| Variable | Type | Default | Description | -|------------------------------------------|-----------------|-----------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| unbound_install_prometheus_exporter | Boolean | `true` | Whether [Unbound Exporter](https://github.com/letsencrypt/unbound_exporter) should also be installed to expose resolver statistics in prometheus format. | -| unbound_bind_interfaces | List of Strings | `[0.0.0.0, ::]` | List of interface names or IP addresses on which unbound will listen for dns queries | -| unbound_enable_unbound_control | Boolean | `true` | Whether the [remote control](https://unbound.docs.nlnetlabs.nl/en/latest/getting-started/configuration.html#set-up-remote-control) feature of unbound should be configured. | -| unbound_enable_dnssec | Boolean | `true` | Whether dnssec validation should be enabled | -| unbound_access_control | List of Strings | `[]` | **Required** List of [unbound access control values](https://unbound.docs.nlnetlabs.nl/en/latest/manpages/unbound.conf.html#:~:text=access-control:%20%3CIP%20netblock%3E%20%3Caction%3E) | -| unbound_disable_systemd_networkd | Boolean | `true` | If true, systemd-networkd is disabled and the local system is pointed towards the configured dns resolver. | -| unbound_thread_count | Integer | Max vCPU Count | The number of threads unbound uses | +- `unbound_install_prometheus_exporter`: Boolean of whether [Unbound Exporter](https://github.com/letsencrypt/unbound_exporter) should also be installed to expose resolver statistics in prometheus format. + Defaults to `true`. +- `unbound_bind_interfaces`: List of interface names or IP addresseson which unbound will listen for dns queries. + Defaults to `[0.0.0.0, ::]`. +- `unbound_enable_unbound_control`: Boolean of whether the [remote control](https://unbound.docs.nlnetlabs.nl/en/latest/getting-started/configuration.html#set-up-remote-control) feature of unbound should be configured. + Defaults to `true`. +- `unbound_enable_dnssec`: Boolean of whether dnssec validation should be enabled. + Defaults to `true`. +- `unbound_access_control`: **Required** List of [unbound access control values](https://unbound.docs.nlnetlabs.nl/en/latest/manpages/unbound.conf.html#:~:text=access-control:%20%3CIP%20netblock%3E%20%3Caction%3E). + Defaults to `[]`. +- `unbound_disable_systemd_networkd`: Boolean if true, systemd-networkd is disabled and the local system is pointed towards the configured dns resolver. + Defaults to `true`. +- `unbound_thread_count`: The number of threads unbound uses. + Defaults to max vCPU Count. + diff --git a/roles/unbound/files/no-resolved.resolv.conf b/roles/unbound/files/no-resolved.resolv.conf deleted file mode 100644 index bbc8559cd5..0000000000 --- a/roles/unbound/files/no-resolved.resolv.conf +++ /dev/null @@ -1 +0,0 @@ -nameserver 127.0.0.1 diff --git a/roles/unbound/handlers/main.yml b/roles/unbound/handlers/main.yml index 72d7173455..8104b4a007 100644 --- a/roles/unbound/handlers/main.yml +++ b/roles/unbound/handlers/main.yml @@ -4,12 +4,6 @@ name: unbound.service state: restarted -- name: unbound.reloaded - become: true - ansible.builtin.systemd: - name: unbound.service - state: reloaded - - name: prometheus-unbound-exporter.restarted become: true ansible.builtin.systemd: diff --git a/roles/unbound/tasks/main.yml b/roles/unbound/tasks/main.yml index d83e95a35e..8f9275cfdc 100644 --- a/roles/unbound/tasks/main.yml +++ b/roles/unbound/tasks/main.yml @@ -1,55 +1,52 @@ -- name: unbound role main - block: +- name: install unbound dns resolver + become: true + ansible.builtin.package: + name: unbound - - name: install unbound dns resolver - become: true - ansible.builtin.package: - name: unbound +- name: install unbound-anchor + become: true + ansible.builtin.package: + name: unbound-anchor - - name: install unbound-anchor - become: true - ansible.builtin.package: - name: unbound-anchor +- name: ensure correct directory permissions + become: true + ansible.builtin.file: + path: /etc/unbound + state: directory + mode: u=rwX,g=rX,o=rX + recurse: true + owner: unbound + group: unbound - - name: ensure correct directory permissions - become: true - ansible.builtin.file: - path: /etc/unbound - state: directory - mode: u=rwX,g=rX,o=rX - recurse: true - owner: unbound - group: unbound +- name: configure unbound dns resolver + become: true + notify: unbound.restarted + ansible.builtin.template: + src: unbound.conf.j2 + dest: /etc/unbound/unbound.conf + owner: unbound + group: unbound + mode: u=rw,g=r,o=r - - name: configure unbound dns resolver - become: true - notify: unbound.restarted - ansible.builtin.template: - src: unbound.conf.j2 - dest: /etc/unbound/unbound.conf - owner: unbound - group: unbound - mode: u=rw,g=r,o=r +- name: disable systemd-resolved + when: unbound_disable_systemd_networkd + ansible.builtin.include_role: + name: deploy_systemd_resolved_config + vars: + deploy_systemd_resolved_config__enable: false + deploy_systemd_resolved_config__dns: + - 127.0.0.1 - - name: disable systemd-resolved - when: unbound_disable_systemd_networkd - ansible.builtin.include_role: - name: deploy_systemd_resolved_config - vars: - deploy_systemd_resolved_config__enable: false - deploy_systemd_resolved_config__dns: - - 127.0.0.1 +- name: flush handlers + ansible.builtin.meta: flush_handlers - - name: flush handlers - ansible.builtin.meta: flush_handlers +- name: ensure unbound is running and enabled + become: true + ansible.builtin.systemd: + name: unbound.service + state: started + enabled: true - - name: ensure unbound is running and enabled - become: true - ansible.builtin.systemd: - name: unbound.service - state: started - enabled: true - - - name: install and configure prometheus-exporter for unbound - ansible.builtin.import_tasks: prometheus-exporter.yml - when: unbound_install_prometheus_exporter +- name: install and configure prometheus-exporter for unbound + ansible.builtin.import_tasks: prometheus-exporter.yml + when: unbound_install_prometheus_exporter From 897ee5fa43b5821eceb8ebbb9e92677fe9b8856e Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Fri, 7 Aug 2026 22:28:44 +0200 Subject: [PATCH 406/417] kea_dhcp(role): remove unused --- roles/kea_dhcp/handlers/main.yml | 4 --- roles/kea_dhcp/tasks/main.yml | 1 - roles/kea_dhcp/tasks/stork-agent.yaml | 2 -- roles/kea_dhcp/templates/stork-agent.env.j2 | 34 +-------------------- 4 files changed, 1 insertion(+), 40 deletions(-) diff --git a/roles/kea_dhcp/handlers/main.yml b/roles/kea_dhcp/handlers/main.yml index 04dbc09a77..6d9f111fb9 100644 --- a/roles/kea_dhcp/handlers/main.yml +++ b/roles/kea_dhcp/handlers/main.yml @@ -7,7 +7,6 @@ - name: Kea_dhcp4.restarted_debian listen: Kea_dhcp4.restarted become: true - when: ansible_facts['distribution'] == 'Debian' ansible.builtin.service: name: isc-kea-dhcp4-server state: restarted @@ -16,7 +15,6 @@ - name: Kea_dhcp6.restarted_debian listen: Kea_dhcp6.restarted become: true - when: ansible_facts['distribution'] == 'Debian' ansible.builtin.service: name: isc-kea-dhcp6-server state: restarted @@ -25,7 +23,6 @@ - name: Kea_ctrl.restarted_debian listen: Kea_ctrl.restarted become: true - when: ansible_facts['distribution'] == 'Debian' ansible.builtin.systemd: name: isc-kea-ctrl-agent state: restarted @@ -34,7 +31,6 @@ - name: Stork_agent.restarted_debian listen: Stork_agent.restarted become: true - when: ansible_facts['distribution'] == 'Debian' ansible.builtin.systemd: name: isc-stork-agent state: restarted diff --git a/roles/kea_dhcp/tasks/main.yml b/roles/kea_dhcp/tasks/main.yml index 8150672b06..44fffb5362 100644 --- a/roles/kea_dhcp/tasks/main.yml +++ b/roles/kea_dhcp/tasks/main.yml @@ -13,7 +13,6 @@ - name: Setup Kea DHCP block: - name: Install Kea on Debian - when: ansible_facts['distribution'] == "Debian" ansible.builtin.import_tasks: install_debian.yaml - name: Configure Kea diff --git a/roles/kea_dhcp/tasks/stork-agent.yaml b/roles/kea_dhcp/tasks/stork-agent.yaml index 9e65e9e400..45de32baf8 100644 --- a/roles/kea_dhcp/tasks/stork-agent.yaml +++ b/roles/kea_dhcp/tasks/stork-agent.yaml @@ -2,7 +2,6 @@ - name: Install stork-agent block: - name: Install stork-agent on Debian - when: ansible_facts['distribution'] == "Debian" block: - name: Register isc-stork apt repository become: true @@ -21,7 +20,6 @@ update_cache: "{{ kea_dhcp_install_repo.changed }}" - name: Add stork-agent user to kea group on Debian - when: ansible_facts['distribution'] == "Debian" become: true ansible.builtin.user: name: stork-agent diff --git a/roles/kea_dhcp/templates/stork-agent.env.j2 b/roles/kea_dhcp/templates/stork-agent.env.j2 index bdfa4d2db8..b1db70ab41 100644 --- a/roles/kea_dhcp/templates/stork-agent.env.j2 +++ b/roles/kea_dhcp/templates/stork-agent.env.j2 @@ -1,44 +1,12 @@ -### the IP or hostname to listen on for incoming Stork server connections -# STORK_AGENT_HOST= - -### the TCP port to listen on for incoming Stork server connections -# STORK_AGENT_PORT=8081 - -### listen for commands from the Stork server only, but not for Prometheus requests -# STORK_AGENT_LISTEN_STORK_ONLY=true +# See example config at: https://gitlab.isc.org/isc-projects/stork/-/blob/stable/etc/agent.env?ref_type=tags {% if kea_dhcp__stork_agent.prometheus_only %} ### listen for Prometheus requests only, but not for commands from the Stork server STORK_AGENT_LISTEN_PROMETHEUS_ONLY=true {% endif %} -### settings for exporting stats to Prometheus -### the IP or hostname on which the agent exports Kea statistics to Prometheus -# STORK_AGENT_PROMETHEUS_KEA_EXPORTER_ADDRESS= -### the port on which the agent exports Kea statistics to Prometheus -# STORK_AGENT_PROMETHEUS_KEA_EXPORTER_PORT= -## enable or disable collecting per-subnet stats from Kea -# STORK_AGENT_PROMETHEUS_KEA_EXPORTER_PER_SUBNET_STATS=true -### the IP or hostname on which the agent exports BIND 9 statistics to Prometheus -# STORK_AGENT_PROMETHEUS_BIND9_EXPORTER_ADDRESS= -### the port on which the agent exports BIND 9 statistics to Prometheus -# STORK_AGENT_PROMETHEUS_BIND9_EXPORTER_PORT= - -### Stork Server URL used by the agent to send REST commands to the server during agent registration -# STORK_AGENT_SERVER_URL= - -### skip TLS certificate verification when the Stork Agent connects -### to Kea over TLS and Kea uses self-signed certificates -# STORK_AGENT_SKIP_TLS_CERT_VERIFICATION=true - - ### Logging parameters ### Set logging level. Supported values are: DEBUG, INFO, WARN, ERROR STORK_LOG_LEVEL=DEBUG -### disable output colorization -# CLICOLOR=false - -### path to the hook directory -# STORK_AGENT_HOOK_DIRECTORY= From 47fbd966421a1064c601a4879d6e99a26c2320b4 Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Fri, 7 Aug 2026 22:29:08 +0200 Subject: [PATCH 407/417] kea_dhcp(role): update README --- roles/kea_dhcp/README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/roles/kea_dhcp/README.md b/roles/kea_dhcp/README.md index 9938cf981a..5a49e768e6 100644 --- a/roles/kea_dhcp/README.md +++ b/roles/kea_dhcp/README.md @@ -35,6 +35,9 @@ None. Defaults to `memfile`. - `kea_dhcp__dhcp4.lease-database.persist`: Persist the lease database. Defaults to `true`. +- `kea_dhcp__dhcp4.hooks-libraries`: List of custom processing hooks. + Details at: https://kea.readthedocs.io/en/kea-3.0.0/arm/hooks.html#hooks-libraries. + Defaults to `undefined`. - `kea_dhcp__dhcp4.option-data`: List of DHCP4 Options. Defaults to a list with one entry (see below). - `kea_dhcp__dhcp4.option-data.*.name`: Name of DHCP4 Option. @@ -45,6 +48,8 @@ None. Defaults to `kea_dhcp__dhcp4.option-data.0.csv-format: true`. - `kea_dhcp__dhcp4.option-data.*.data`: DHCP4 Option data. Defaults to `kea_dhcp__dhcp4.option-data.0.data: "{{ kea_dhcp__dns_servers.v4 | join(',') }}"`. +- `kea_dhcp__dhcp4.logging`: List of loggers. + Defaults to one logger to `stdout`. - `kea_dhcp__dhcp4.subnets`: List of subnets the DHCP4 server should manage. Defaults to the empty list (`[ ]`). - `kea_dhcp__dhcp4.subnets.*.id`: ID of interface (starts with 1). @@ -74,6 +79,9 @@ None. Defaults to `memfile`. - `kea_dhcp__dhcp6.lease-database.persist`: Persist the lease database. Defaults to `true`. +- `kea_dhcp__dhcp6.hooks-libraries`: List of custom processing hooks. + Details at: https://kea.readthedocs.io/en/kea-3.0.0/arm/hooks.html#hooks-libraries. + Defaults to `undefined`. - `kea_dhcp__dhcp6.option-data`: List of DHCP6 Options. Defaults to a list with one entry (see below). - `kea_dhcp__dhcp6.option-data.*.name`: Name of DHCP6 Option. @@ -84,6 +92,8 @@ None. Defaults to `kea_dhcp__dhcp6.option-data.0.csv-format: true`. - `kea_dhcp__dhcp6.option-data.*.data`: DHCP6 Option data. Defaults to `kea_dhcp__dhcp6.option-data.0.data: "{{ kea_dhcp__dns_servers.v6 | join(',') }}"`. +- `kea_dhcp__dhcp6.logging`: List of loggers. + Defaults to one logger to `stdout`. - `kea_dhcp__dhcp6.subnets`: List of subnets the DHCP6 server should manage. Defaults to the empty list (`[ ]`). - `kea_dhcp__dhcp6.subnets.*.id`: ID of interface (starts with 1). From c45fb91f76392123b8972db8583ae6a8257d1fe9 Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Fri, 7 Aug 2026 22:29:34 +0200 Subject: [PATCH 408/417] kea_dhcp(role): seperate package installes --- roles/kea_dhcp/tasks/install_debian.yaml | 37 +++++++++++++++++++----- 1 file changed, 29 insertions(+), 8 deletions(-) diff --git a/roles/kea_dhcp/tasks/install_debian.yaml b/roles/kea_dhcp/tasks/install_debian.yaml index 233546d852..fca302d6cc 100644 --- a/roles/kea_dhcp/tasks/install_debian.yaml +++ b/roles/kea_dhcp/tasks/install_debian.yaml @@ -11,11 +11,32 @@ - name: Install Kea packages become: true - ansible.builtin.apt: - name: - - isc-kea-dhcp4 - - isc-kea-dhcp6 - - isc-kea-hooks - - isc-kea-ctrl-agent - - isc-kea-admin - update_cache: "{{ kea_dhcp__repo.changed }}" + block: + - name: Update cache + ansible.builtin.apt: + update_cache: "{{ kea_dhcp__repo.changed }}" + - name: Install isc-kea-dhcp4 + when: kea_dhcp__dhcp4.enable + ansible.builtin.apt: + name: + - isc-kea-dhcp4 + - name: Install isc-kea-dhcp6 + when: kea_dhcp__dhcp6.enable + ansible.builtin.apt: + name: + - isc-kea-dhcp6 + - name: Install isc-kea-hooks + when: kea_dhcp__dhcp4.enable or kea_dhcp__dhcp6.enable + ansible.builtin.apt: + name: + - isc-kea-hooks + - name: Install isc-kea-ctrl-agent + when: kea_dhcp__stork_agent.enable + ansible.builtin.apt: + name: + - isc-kea-ctrl-agent + - name: Install isc-kea-admin + when: kea_dhcp__dhcp4.enable or kea_dhcp__dhcp6.enable + ansible.builtin.apt: + name: + - isc-kea-admin From 51b2cac907200f44cb8c8c367e832e4c0b76d6c0 Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Fri, 7 Aug 2026 22:32:58 +0200 Subject: [PATCH 409/417] z9-router(host): remove netwan, vlan55 untagged, add and fix DNS, fix formatting --- inventories/z9/host_vars/z9-router.yaml | 5 +++- resources/z9/z9-router/nftables/nftables.conf | 15 ++++++----- .../systemd_networkd/10-netlan.55.netdev | 8 ------ .../systemd_networkd/20-netlan.network | 7 +++-- .../21-netlan.51-clients.network | 2 ++ .../systemd_networkd/21-netlan.52-iot.network | 2 ++ .../21-netlan.53-public.network | 2 ++ .../21-netlan.55-management.network | 27 ------------------- 8 files changed, 22 insertions(+), 46 deletions(-) delete mode 100644 resources/z9/z9-router/systemd_networkd/10-netlan.55.netdev delete mode 100644 resources/z9/z9-router/systemd_networkd/21-netlan.55-management.network diff --git a/inventories/z9/host_vars/z9-router.yaml b/inventories/z9/host_vars/z9-router.yaml index c9d2b6fd80..2cd3ee1406 100644 --- a/inventories/z9/host_vars/z9-router.yaml +++ b/inventories/z9/host_vars/z9-router.yaml @@ -3,5 +3,8 @@ systemd_networkd__global_config: "{{ lookup('ansible.builtin.file', 'resources/z nftables__config: "{{ lookup('ansible.builtin.file', 'resources/z9/z9-router/nftables/nftables.conf') }}" ansible_pull__timer_on_calendar: "*-*-* 04:00:00 Europe/Berlin" ansible_pull__timer_randomized_delay_sec: 0min -unbound_access_control: [ "10.89.208.0/20" ] +unbound_access_control: [ "10.89.208.0/20", "2a07:c481:1::/48" ] +deploy_systemd_resolved_config__enable: false +deploy_systemd_resolved_config__dns: + - 127.0.0.1 kea_dhcp__include_vars: resources/z9/z9-router/kea_dhcp.yaml diff --git a/resources/z9/z9-router/nftables/nftables.conf b/resources/z9/z9-router/nftables/nftables.conf index e59e5bdad0..5e5716aeca 100644 --- a/resources/z9/z9-router/nftables/nftables.conf +++ b/resources/z9/z9-router/nftables/nftables.conf @@ -1,4 +1,5 @@ #!/usr/sbin/nft -f +flush ruleset ## Variables @@ -6,9 +7,8 @@ # Interfaces -#define if_netwan = "netwan" define if_netlan = "netlan" -define if_wg56_management = "wg56" +define if_wg56_management = "wg56" define if_netwan_400_fux_uplink = "netwan.400" define if_netlan_51_clients = "netlan.51" define if_netlan_52_iot = "netlan.52" @@ -29,7 +29,6 @@ define v4_nat_ifs = { $if_netlan_51_clients, ## Rules - table inet reverse-path-forwarding { chain rpf-filter { type filter hook prerouting priority mangle + 10; policy drop; @@ -49,7 +48,7 @@ table inet host { ct state invalid drop ct state established,related accept - ip protocol icmp accept + ip protocol icmp 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" @@ -79,7 +78,7 @@ table inet host { iifname { $lan_ifs } udp dport 547 accept comment "allow dhcpv6 server access" # Allow DNS server access from lan_ifs - iifname { $lan_ifs, $if_wg56_management } udp dport 53 accept comment "allow dns server access from lan_ifs" + iifname { $lan_ifs, $if_wg56_management } meta l4proto { tcp, udp } dport 53 accept comment "allow dns server access from lan_ifs" } } @@ -103,7 +102,7 @@ table inet forward { ct state established,related accept # Allow internet access. - iifname { $lan_ifs, $if_wg56_management } oifname $wan_ifs accept comment "allow internet access" + iifname { $lan_ifs, $if_wg56_management } oifname $wan_ifs accept comment "allow internet access" # Allow access to exposed networks from internet. meta nfproto ipv4 oifname $v4_exposed_ifs accept comment "allow v4 exposed network access" @@ -111,5 +110,9 @@ table inet forward { # Allow clients and management to most iifname { $if_netlan_51_clients, $if_netlan_55_management, $if_wg56_management } oifname $lan_ifs accept comment "Allow clients and management to lan interfaces" + + # Fux PVE backups + ip6 saddr { 2a07:c481:0:1::/64 } ip6 daddr { 2a07:c481:1:36::15/128 } accept comment "allow Fux PVE to access CCCHH PBS" } } + diff --git a/resources/z9/z9-router/systemd_networkd/10-netlan.55.netdev b/resources/z9/z9-router/systemd_networkd/10-netlan.55.netdev deleted file mode 100644 index 74bd182dd4..0000000000 --- a/resources/z9/z9-router/systemd_networkd/10-netlan.55.netdev +++ /dev/null @@ -1,8 +0,0 @@ -[NetDev] -Name=netlan.55 -Kind=vlan -MACAddress=BC:24:11:D2:65:B4 - -[VLAN] -Id=55 - diff --git a/resources/z9/z9-router/systemd_networkd/20-netlan.network b/resources/z9/z9-router/systemd_networkd/20-netlan.network index 75767b562d..2478343072 100644 --- a/resources/z9/z9-router/systemd_networkd/20-netlan.network +++ b/resources/z9/z9-router/systemd_networkd/20-netlan.network @@ -5,14 +5,14 @@ Name=netlan RequiredForOnline=no [Network] -#LinkLocalAddressing=no DHCP=no -#IPv6AcceptRA=no +DNS=10.89.213.1 +DNS=2a07:c481:1:36::1 VLAN=netlan.51 VLAN=netlan.52 VLAN=netlan.53 -#VLAN=netlan.55 +#VLAN=netlan.55 # vlan 55 ist untaged im pve VLAN=netwan.400 #Description=Management @@ -34,4 +34,3 @@ Prefix=2a07:c481:1:36::/64 Assign=true Token=static:::1 - diff --git a/resources/z9/z9-router/systemd_networkd/21-netlan.51-clients.network b/resources/z9/z9-router/systemd_networkd/21-netlan.51-clients.network index 5e9635f640..36201b891f 100644 --- a/resources/z9/z9-router/systemd_networkd/21-netlan.51-clients.network +++ b/resources/z9/z9-router/systemd_networkd/21-netlan.51-clients.network @@ -7,6 +7,8 @@ RequiredForOnline=no [Network] Description=clients +DNS=10.89.208.1 +DNS=2a07:c481:1:33::1 # Masquerading done in nftables (nftables.conf). IPv6SendRA=yes diff --git a/resources/z9/z9-router/systemd_networkd/21-netlan.52-iot.network b/resources/z9/z9-router/systemd_networkd/21-netlan.52-iot.network index 5b5861035b..a823763b33 100644 --- a/resources/z9/z9-router/systemd_networkd/21-netlan.52-iot.network +++ b/resources/z9/z9-router/systemd_networkd/21-netlan.52-iot.network @@ -7,6 +7,8 @@ RequiredForOnline=no [Network] Description=IoT +DNS=10.89.212.1 +DNS=2a07:c481:1:34::1 # Masquerading done in nftables (nftables.conf). IPv6SendRA=yes diff --git a/resources/z9/z9-router/systemd_networkd/21-netlan.53-public.network b/resources/z9/z9-router/systemd_networkd/21-netlan.53-public.network index f544a5bc88..94ee7fce53 100644 --- a/resources/z9/z9-router/systemd_networkd/21-netlan.53-public.network +++ b/resources/z9/z9-router/systemd_networkd/21-netlan.53-public.network @@ -7,6 +7,8 @@ RequiredForOnline=no [Network] Description=public +DNS=185.161.130.65 +DNS=2a07:c481:1:35::1 # Masquerading done in nftables (nftables.conf). IPv6SendRA=yes diff --git a/resources/z9/z9-router/systemd_networkd/21-netlan.55-management.network b/resources/z9/z9-router/systemd_networkd/21-netlan.55-management.network deleted file mode 100644 index 1e8086a108..0000000000 --- a/resources/z9/z9-router/systemd_networkd/21-netlan.55-management.network +++ /dev/null @@ -1,27 +0,0 @@ -[Match] -Name=netlan.55 -Type=vlan - -[Link] -RequiredForOnline=no - -[Network] -Description=Management - -# Masquerading done in nftables (nftables.conf). -IPv6SendRA=yes - -[Address] -Address=10.89.213.1/24 - -[IPv6SendRA] -UplinkInterface=netwan.400 -EmitDomains=true -Domains=ccchh.net -Managed=true - -[IPv6Prefix] -Prefix=2a07:c481:1:36::/64 -Assign=true -Token=static:::1 - From 5378c3f360f641397933fbc87e0fb4e762719998 Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Fri, 7 Aug 2026 22:35:22 +0200 Subject: [PATCH 410/417] auth-dns(host): ccchh.net remove unused --- resources/chaosknoten/auth-dns/zones/ccchh.net.zone | 6 ------ 1 file changed, 6 deletions(-) diff --git a/resources/chaosknoten/auth-dns/zones/ccchh.net.zone b/resources/chaosknoten/auth-dns/zones/ccchh.net.zone index db63fdd8a4..b76a81cfbc 100644 --- a/resources/chaosknoten/auth-dns/zones/ccchh.net.zone +++ b/resources/chaosknoten/auth-dns/zones/ccchh.net.zone @@ -131,14 +131,8 @@ octopi A 10.89.212.31 433mhz-bridge A 10.89.212.32 - -;SIP-T46S A 10.89.212.227 -;SIP-T46S A 10.89.212.230 - ;cisco-slm248p A 10.89.208.27 -;zigbee2mqtt A 185.161.129.132 ; Old entry probably deprecadet - ; ; Public Club Services From 4fbac5cfe66774c8ed5d4ad17a21d972e06a38a1 Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Fri, 7 Aug 2026 22:48:55 +0200 Subject: [PATCH 411/417] unbound(role): add config flag in README --- roles/unbound/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/roles/unbound/README.md b/roles/unbound/README.md index 6043e7495f..0c2ad8f1d8 100644 --- a/roles/unbound/README.md +++ b/roles/unbound/README.md @@ -23,4 +23,6 @@ The following variables can be used to customize this role: Defaults to `true`. - `unbound_thread_count`: The number of threads unbound uses. Defaults to max vCPU Count. +- `unbound_private_domain`: List of domains from witch unbound for the domain and its subdomains to allows resolving of RFC1918 addresses. (Not relevent on Debian) + Defaults to `[]` From 1ec54ad5025c15d8fafea0b1304d986660158750 Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Fri, 7 Aug 2026 23:10:54 +0200 Subject: [PATCH 412/417] secrets(role): add parent folder settings --- roles/secrets/README.md | 7 +++++++ roles/secrets/meta/argument_specs.yaml | 10 ++++++++++ roles/secrets/tasks/main.yaml | 6 +++--- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/roles/secrets/README.md b/roles/secrets/README.md index ec04665eb0..dc5e5bd723 100644 --- a/roles/secrets/README.md +++ b/roles/secrets/README.md @@ -22,3 +22,10 @@ None. Defaults to `root`. - `secrets__secrets.*.mode`: The mode of the secret file. Defaults to `0640`. +- `secrets__folder.owner`: The owner of `/etc/ansible_secrets`. + Defaults to `root`. +- `secrets__folder.group`: The group of `/etc/ansible_secrets`. + Defaults to `root`. +- `secrets__folder.mode`: The mode of `/etc/ansible_secrets`. + Defaults to `0750`. + diff --git a/roles/secrets/meta/argument_specs.yaml b/roles/secrets/meta/argument_specs.yaml index 256213890d..2856d57762 100644 --- a/roles/secrets/meta/argument_specs.yaml +++ b/roles/secrets/meta/argument_specs.yaml @@ -4,3 +4,13 @@ argument_specs: secrets__secrets: type: list required: false + secrets__folder: + owner: + type: string + required: false + group: + type: string + required: false + mode: + type: string + required: false diff --git a/roles/secrets/tasks/main.yaml b/roles/secrets/tasks/main.yaml index 8923397d55..3d77b50be3 100644 --- a/roles/secrets/tasks/main.yaml +++ b/roles/secrets/tasks/main.yaml @@ -35,9 +35,9 @@ ansible.builtin.file: path: "/etc/ansible_secrets" state: directory - owner: root - group: root - mode: "0750" + owner: "{{ secrets__folder.owner | default('root') }}" + group: "{{ secrets__folder.group | default('root') }}" + mode: "{{ secrets__folder.mode | default('0750') }}" become: true - name: ensure secrets are present From 22ace3c537adfcd7a5bfa5864f5200c73ac31560 Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Fri, 7 Aug 2026 23:13:44 +0200 Subject: [PATCH 413/417] z9-router(host): fix file permissions --- inventories/z9/host_vars/z9-router.sops.yaml | 15 ++++++++++++--- inventories/z9/host_vars/z9-router.yaml | 4 ++++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/inventories/z9/host_vars/z9-router.sops.yaml b/inventories/z9/host_vars/z9-router.sops.yaml index 33bd3c834e..f5e40d1df8 100644 --- a/inventories/z9/host_vars/z9-router.sops.yaml +++ b/inventories/z9/host_vars/z9-router.sops.yaml @@ -2,22 +2,31 @@ ansible_pull__age_private_key: ENC[AES256_GCM,data:TlMDo9sUTYznxKOGityGLexk54mM7 secrets__secrets: - name: ENC[AES256_GCM,data:gt9BarzsfE/GJ5gQeelgePquW6KAgE3Exv4=,iv:IPpUQI+zkf8O+ej+ZxLFyWUOrxGGlZvmDRG0ut2cNsA=,tag:GP66MvcKyCqyKV814+uMYg==,type:str] content: ENC[AES256_GCM,data:2ljp324rAsF2zk2631TI7bV1xKxdFr4u4NxrsPYnjWsL0PX0n0KhJ1qvJCs=,iv:0+DxsTTiNLOg5iH83bFT/d+0uW2rn6bATSm3xc5PEdE=,tag:XbBDrrjriXPedyT4+sBBwA==,type:str] + group: ENC[AES256_GCM,data:SnVl,iv:GgdWFZ1tMFaUacisA47oJBXDgG11uHfw8tBYcPQt844=,tag:pHtSdg+9qPmm+Vm5gTanpg==,type:int] - name: ENC[AES256_GCM,data:9i4hZU7Hv/IMlI/1oYthx8g57nrst9LHZQk=,iv:IQanD/CA64A+hVyTQBiTvWdXyY8qNF9BpehWZxI5a9c=,tag:RiY0OJe2xbFPG6wfe5XjiA==,type:str] content: ENC[AES256_GCM,data:68GUwG1Q2s2jH92HS0FQWrcMHJP8fHjrOqr21gsdswxKekQrpxX5B3BBFfM=,iv:HOsNUAKE5rOmKgZft2JK1NnZUuhk261d9WYWJS22nLM=,tag:3husFvB57AGVFzF7hKzLpw==,type:str] + group: ENC[AES256_GCM,data:9zAa,iv:Cb4tNsiPKWrkdIHHSGvK10FwGeInPetReVnW0JUTEHw=,tag:THD3QfnWb5fLXluVRFzuag==,type:int] - name: ENC[AES256_GCM,data:2lJUcDJ7ECJ1bF4Fg1VwOR2tBIQ77ZvDAbFF8w==,iv:HrPWIetjN/lOyQ7Mvk0sM1w+bWldlNfWhvw7/sfqKN8=,tag:AJL0s+f0O/yR4G3RVd1IHQ==,type:str] content: ENC[AES256_GCM,data:68GUwG1Q2s2jH92HS0FQWrcMHJP8fHjrOqr21gsdswxKekQrpxX5B3BBFfM=,iv:HOsNUAKE5rOmKgZft2JK1NnZUuhk261d9WYWJS22nLM=,tag:3husFvB57AGVFzF7hKzLpw==,type:str] + group: ENC[AES256_GCM,data:Pv0/,iv:Gh6X7H+DkIO64lpcDrsH5nmWwRZRU9avs40HG1eiFcA=,tag:oGMD/kqgd0pl+BeQO7LqQw==,type:int] - name: ENC[AES256_GCM,data:ESxpEp9k9BdD1GJv+af+U3ny0+RPuaJjWDhQ,iv:DxsZLiDF8F+ixepbUdlitMJ7DLHjGNFNuxRwLl7efo8=,tag:STnv/oLzbchdiwXfKP3fow==,type:str] content: ENC[AES256_GCM,data:W2h5AcoT85OkekPeRkrf1m0bDdBjG/YNSbWlrcZtP7FjaPh/F+cx+J6oRRI=,iv:CLVXTqfstpIU3BX/Zdcnp9w0gWxeGDI/G1MNl6xr4ZU=,tag:yCqN4r1MV/VTWQvZ6COfIw==,type:str] + group: ENC[AES256_GCM,data:m3q2,iv:BKsE9OL4FMZpDS9zS+TiNvjR5jQ7EAsw9ER73Q9oSEE=,tag:r31ZCaMO4S2Pmk+FdDsdQA==,type:int] - name: ENC[AES256_GCM,data:IRwwy+WQxgQ8cDpB8HaCLpKwJj7oC87p0XOxWRo=,iv:BLXNMcigvaOeY6y4NlLPMMWQt9XFi6nodRwIYFgAAnU=,tag:OdQalmujOgrzW8oi64xMRg==,type:str] content: ENC[AES256_GCM,data:C5oIcuEYtODsvjQZnbqbWVfP63mQzcRuh8f5rlBCyjwSq2mZiYGQe9t0T78=,iv:sITUDo9SKZTSwPfsMv4m4U0ruuVCcaxu7SUT52U4FSE=,tag:4CsSMJWQQPAIeK8DwUDBqg==,type:str] + group: ENC[AES256_GCM,data:UEeH,iv:P/maaKER4lCW9/oASsJH+QBy5U1uHythvefRRnlXjn0=,tag:aXSow6dtU7VeGEtQQacHIw==,type:int] - name: ENC[AES256_GCM,data:r0sbpjaGjezoNlyl1khy+Dly+8xbbfQZNB8om/E4/tj9lmM=,iv:MLrglBJA6BrHGmFRprlQcf5/Hqh952e5OyQQ9nPxumY=,tag:Se05kMBkSQ7TRxzij7Fo8A==,type:str] content: ENC[AES256_GCM,data:/c1nRf1eZhbUmoQWvcj8yDaVPtyAN7Uu+S054q3C1/kXlQ7CgOe4CrMXnmk=,iv:ppar0aCKuIU3DOjwAoliZ5TOL199Z+Ffo4pCktjs0W8=,tag:nfaGutK+5KnlWBKU1MTxkQ==,type:str] + group: ENC[AES256_GCM,data:P/P+,iv:B0WlRVgZEgSQRsiRfi5o2+lXkFIZ8Oy5uemtwU06zPw=,tag:D5fs5HF1pKckRNVm+6r/pg==,type:int] - name: ENC[AES256_GCM,data:7mwuykEqbGISOa2n+pWb6INLsHYdjyf2HxTtWpAr5xP1,iv:NMcg+L2DFtBO1nhyPid31yzLr+ZX7DUGl/WxV1MnrqU=,tag:65/BiUEI8v5oMlQqpKNDRg==,type:str] content: ENC[AES256_GCM,data:SObbA3D/sGN5/i5ps4Zz3alygIXKbSgptFjfPHlwC8G588O+gKAkvKQwU/s=,iv:PY2vLfI3gInFeQbse49KC2/zZ9O4jeXAQ0fpP84GHHE=,tag:214Mb8hIYDkQ4+UkRWtc9w==,type:str] + group: ENC[AES256_GCM,data:ysBR,iv:ewZ73lNcdx5KQTM/HQRhptSqAqKgZzAhIubrqDp0ueg=,tag:RqcrNGQwkLufo2bdn1WJXQ==,type:int] - name: ENC[AES256_GCM,data:bES9O6JI4wTnuZsup9gflfaozeUDkfjVGNIFn8RnZQ==,iv:98kigM3KZIN5qXNdgfLg5WLmxzAsYCjNqVzyUPco/BI=,tag:1fwEtwQ6i9QQC3OCewN0eA==,type:str] content: ENC[AES256_GCM,data:flO3Nb4u2WfWNVhn8k5Bgo3LmsHo2cVnLCsrz8ST9Ip7gO9FY9d27FQgphM=,iv:aiDoq+41cSjwcCZRaIPLtbltkOpc7FeuNN7swPqkHXQ=,tag:OhzcY2xKKJF2jZVRseXCFg==,type:str] + group: ENC[AES256_GCM,data:YGOs,iv:QjGXlX90R7zqIeUQGIblD6aYtzqpGxc6hW0nT+2q84c=,tag:7kRcKtQTp9teaP+Yw1x4MA==,type:int] - name: ENC[AES256_GCM,data:ERsggezMBbs1YwbIgwzKSAEHWWOWYxap8IDdn2YtEKvZexqu,iv:XbObLp2QERgt57tc/Cpha1CWXi+GttcIU8hJFGSp8e8=,tag:FqCuSbvLRERpVnQTzQsfpQ==,type:str] content: ENC[AES256_GCM,data:QPoZA71CwE8EFE0I+6z0z0O1bUCMQDDDG7wGNoxXKt3ovLkFt21r8WG7VhA=,iv:InX6A71f3DGTg1wO4G0ECf488+FnKgTHffVwvJ9hHQ0=,tag:EVxwJlneN1CbMLXto7uLFw==,type:str] + group: ENC[AES256_GCM,data:2P64,iv:mOdlGn9zSb/Z97R6FBAJSZhk/g4hVOBwCI4/j3BwhPQ=,tag:OcvhT6QVfJvAYYBQyHPykg==,type:int] sops: age: - enc: | @@ -29,8 +38,8 @@ sops: tnFHmQgnEPypIhVvZtzL7i64kL6sHizTmNhbw+hlnCztvsdEV5T0cw== -----END AGE ENCRYPTED FILE----- recipient: age1tx03yh67f052jzehvtvzmhe5ja6ca0rlugw8pr9v7q67z38w2ahs2a4alp - lastmodified: "2026-05-25T17:15:30Z" - mac: ENC[AES256_GCM,data:IW9eN5H2J5cnXUHlK2aD+yd2ORx+weSFKBGWd7pIolFb5txg0WlGVp8UpD4h+Tv0SJ9NkQOT6KpcXDez/L7r7xNYtmgf7AdrdGpy3IOkEYzHJ+oHUMd/aL+h5w6/RahrpxlPSrNKAC+AfpY+l0iodwQ09iuLp4YXFxRaRDGpGZw=,iv:6M7RkDN9D9Zlyq1MCRoiT4f1bd6OBZNg+C65oEuSWn4=,tag:wRsq4lt4mHVyY6ruGkYNKQ==,type:str] + lastmodified: "2026-08-07T21:01:32Z" + mac: ENC[AES256_GCM,data:pVSBNwQVHta0vrUi9ZIo/+FLHZaeS+/R/xtNCvC+/NlEaksqcP7jQ8/Dk4DZAlPVtdupkKco0YqfTomccrp59BcAL9DAw1HpHJOeLhBdgB99fcWAkbGnzNIRS0/bOco+sDQUXGxg2HlQpFuwMFYQIfHFyqD0ivNSwLSHflrSwAM=,iv:7U9X87wd6/3SDun+BLgILH9XHJJY+GAlJd6kRSBfRGQ=,tag:wk/Hb1nw8MmLE5B08AC3jA==,type:str] pgp: - created_at: "2026-05-25T17:17:14Z" enc: |- @@ -206,4 +215,4 @@ sops: -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted - version: 3.13.1 + version: 3.13.3 diff --git a/inventories/z9/host_vars/z9-router.yaml b/inventories/z9/host_vars/z9-router.yaml index 2cd3ee1406..ee5ab3f470 100644 --- a/inventories/z9/host_vars/z9-router.yaml +++ b/inventories/z9/host_vars/z9-router.yaml @@ -8,3 +8,7 @@ deploy_systemd_resolved_config__enable: false deploy_systemd_resolved_config__dns: - 127.0.0.1 kea_dhcp__include_vars: resources/z9/z9-router/kea_dhcp.yaml +secrets__folder: + owner: "root" + mode: "0754" + group: 998 From ebdafb997f882230916d7e36f6016f5c04715e85 Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Fri, 7 Aug 2026 23:36:22 +0200 Subject: [PATCH 414/417] unbound(role): also over write fallback_dns in resolvd --- roles/unbound/tasks/main.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/roles/unbound/tasks/main.yml b/roles/unbound/tasks/main.yml index 8f9275cfdc..6dc35e5ad8 100644 --- a/roles/unbound/tasks/main.yml +++ b/roles/unbound/tasks/main.yml @@ -36,6 +36,8 @@ deploy_systemd_resolved_config__enable: false deploy_systemd_resolved_config__dns: - 127.0.0.1 + deploy_systemd_resolved_config__fallback_dns: + - 127.0.0.1 - name: flush handlers ansible.builtin.meta: flush_handlers From d97c22cc8ebec4b5df1eca11b33abc139f325723 Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Fri, 7 Aug 2026 23:36:37 +0200 Subject: [PATCH 415/417] z9-router(host): fix dns --- inventories/z9/host_vars/z9-router.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/inventories/z9/host_vars/z9-router.yaml b/inventories/z9/host_vars/z9-router.yaml index ee5ab3f470..62df2ba54b 100644 --- a/inventories/z9/host_vars/z9-router.yaml +++ b/inventories/z9/host_vars/z9-router.yaml @@ -7,6 +7,8 @@ unbound_access_control: [ "10.89.208.0/20", "2a07:c481:1::/48" ] deploy_systemd_resolved_config__enable: false deploy_systemd_resolved_config__dns: - 127.0.0.1 +deploy_systemd_resolved_config__fallback_dns: + - 127.0.0.1 kea_dhcp__include_vars: resources/z9/z9-router/kea_dhcp.yaml secrets__folder: owner: "root" From 3ab9f8303955f7b04cec9d74908413aa6b0c5272 Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Fri, 7 Aug 2026 23:36:56 +0200 Subject: [PATCH 416/417] z9-router(host): fix nftables --- resources/z9/z9-router/nftables/nftables.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/z9/z9-router/nftables/nftables.conf b/resources/z9/z9-router/nftables/nftables.conf index 5e5716aeca..95379121fa 100644 --- a/resources/z9/z9-router/nftables/nftables.conf +++ b/resources/z9/z9-router/nftables/nftables.conf @@ -78,7 +78,7 @@ table inet host { iifname { $lan_ifs } udp dport 547 accept comment "allow dhcpv6 server access" # Allow DNS server access from lan_ifs - iifname { $lan_ifs, $if_wg56_management } meta l4proto { tcp, udp } dport 53 accept comment "allow dns server access from lan_ifs" + iifname { $lan_ifs, $if_wg56_management } meta l4proto { tcp, udp } th dport 53 accept comment "allow dns server access from lan_ifs" } } From f5d1c6deee8bd7bb399fe6b9277c76e3293f88fb Mon Sep 17 00:00:00 2001 From: bitwhisker Date: Fri, 7 Aug 2026 23:50:57 +0200 Subject: [PATCH 417/417] z9-router(host): add firewall rule staubis to club assistant --- resources/z9/z9-router/nftables/nftables.conf | 3 +++ 1 file changed, 3 insertions(+) diff --git a/resources/z9/z9-router/nftables/nftables.conf b/resources/z9/z9-router/nftables/nftables.conf index 95379121fa..b82c3e0290 100644 --- a/resources/z9/z9-router/nftables/nftables.conf +++ b/resources/z9/z9-router/nftables/nftables.conf @@ -113,6 +113,9 @@ table inet forward { # Fux PVE backups ip6 saddr { 2a07:c481:0:1::/64 } ip6 daddr { 2a07:c481:1:36::15/128 } accept comment "allow Fux PVE to access CCCHH PBS" + + # staubi and staubiv2 to club-assistant + ip saddr { 10.89.212.232/32, 10.89.212.233/32 } ip daddr { 10.89.213.22/32 } accept comment "allow staubi and staubiv2 to club-assistant" } }