diff --git a/.ansible-lint b/.ansible-lint index f68da384..6b5f8aaa 100644 --- a/.ansible-lint +++ b/.ansible-lint @@ -4,3 +4,4 @@ skip_list: exclude_paths: - .forgejo/ + - "**/*.sops.yaml" diff --git a/.forgejo/workflows/lint.yaml b/.forgejo/workflows/lint.yaml index 1002532f..5113e9fb 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@v6 - 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@v24.10.0 + uses: https://github.com/ansible/ansible-lint@v26.1.1 with: setup_python: "false" requirements_file: "requirements.yml" diff --git a/.sops.yaml b/.sops.yaml index d19954a7..60da9eb9 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -1,226 +1,203 @@ 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 + 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_c6ristian B71138A6A8964A3C3B8899857B4F70C356765BAB + - &admin_gpg_lilly D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD + - &admin_gpg_langoor 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + hosts: + 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 + - &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 + - &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 creation_rules: + ## group vars + - path_regex: inventories/chaosknoten/group_vars/all.* + key_groups: + - pgp: + *admin_gpg_keys + age: + *host_chaosknoten_age_keys + - path_regex: inventories/external/group_vars/all.* + key_groups: + - pgp: + *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/acmedns.* + key_groups: + - pgp: + *admin_gpg_keys + age: + - *host_acmedns_ansible_pull_age_key - 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 + age: + - *host_cloud_ansible_pull_age_key - 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 + age: + - *host_keycloak_ansible_pull_age_key - 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 + age: + - *host_grafana_ansible_pull_age_key - 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 + age: + - *host_pad_ansible_pull_age_key - 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 + age: + - *host_ccchoir_ansible_pull_age_key - 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 + age: + - *host_pretalx_ansible_pull_age_key - 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 + age: + - *host_tickets_ansible_pull_age_key - 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 + age: + - *host_onlyoffice_ansible_pull_age_key - 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 + age: + - *host_zammad_ansible_pull_age_key - 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 + age: + - *host_ntfy_ansible_pull_age_key + - 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/chaosknoten/host_vars/renovate.* + key_groups: + - pgp: + *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/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: + - pgp: + *admin_gpg_keys + age: + - *host_status_ansible_pull_age_key + # z9 hosts - 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 + # general - 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 diff --git a/docs/create-new-web-service-vm.md b/docs/create-new-web-service-vm.md new file mode 100644 index 00000000..f6ccf4af --- /dev/null +++ b/docs/create-new-web-service-vm.md @@ -0,0 +1,114 @@ +# 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. + 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 (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. + +## 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: + +```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/setting_up_secrets_using_sops_for_a_new_host.md b/docs/setting_up_secrets_using_sops_for_a_new_host.md index c88315f9..aaed5151 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,30 @@ 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. Re-encrypt existing files with the new key (manly `group_var/all.sops.yaml`): `find inventories -name "*.sops.*" | xargs sops updatekeys --yes` +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 ``` -3. With the editor now open, add the secrets you want to store. +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`) -4. Now that the secrets are stored, they are exposed as variables and can simply be used like any other variable. +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/inventories/chaosknoten/group_vars/all.sops.yaml b/inventories/chaosknoten/group_vars/all.sops.yaml new file mode 100644 index 00000000..2350f12a --- /dev/null +++ b/inventories/chaosknoten/group_vars/all.sops.yaml @@ -0,0 +1,384 @@ +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 + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMc2k4SUxMUEtvODVGMnY2 + U1gxeWRURmIwNUhYelNUZHVGQ05rRlI3TXljClREc0hCMjlPTFBEakVuOFFjTWVu + dHNrbzVHT1d0UklRNW0zSHZCWWJpeW8KLS0tIG85S2h1aEhITUI2aVRwempOVHlr + aWFyRDdEZ2RnQjFNUmVZQnBzNGhhR1EKeYR9qIuh/f/o/qXkQV9KZcir9iPQ2IEs + X6azikmig0stguQMUQB57+Sk10MlIDQGoY3C0YcmG3dtiUoo/vKTRw== + -----END AGE ENCRYPTED FILE----- + - recipient: age1gdfhx5hy829uqkw4nwjwlpvl7zqvljguzsnjv0dpwz5q5u7dtf6s90wndt + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBqazJTaVhjdkk2cStHNllr + VEhobDJIQ1NKajFNVmJ0NHFrRzJlMVVYL0M0CkVEbHFFbTZ3aU9sblNaTTR5T1hT + ZjM3TGZ0SVVkS1ZqMGZxQnh0eHhVaFkKLS0tIGs5RXFta3JJYmRZemNRQzBGbE9E + dlZqTStUVWNEWFk4RzNkSmM3dlRxU0EKR+IOa5r/mSl7jnmhEvbJqytWedRgdix6 + 0x0JCJe/q1l90F4IYIwd5onF5jF9DydmVnNdCbgAHF+DYrdwjwt7Uw== + -----END AGE ENCRYPTED FILE----- + - recipient: age13nm6hfz66ce4wpn89fye05mag3l3h04etvz6wj7szm3vzrdlfupqhrp3fa + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBycmpzTFZ0MWN4TE9Bdld0 + eXJXTVhVbFpmbHpVbDg3KzJTQjVoU2M5Vmg4CkY5MlBwTEsvVDlBUGp4Yy9KSEtW + M0thZncvcFhqcTluR0FRdHBlVERmWkkKLS0tIHlIZ1o3Zm5pcEJUOElKSDU3SEh5 + MzQzRENjNitaNUtIUDNNM0VxVVZsVjAK8BM7kqL6Pjg8riOTti8tAH13MgD2b3jR + EPZEPzWM3vBNMQ71WYSTiljK+fdwQucQbTCZFKVHUyErCiI+7jYrXQ== + -----END AGE ENCRYPTED FILE----- + - recipient: age1jtusr294t8mzar2qy857v6s329ret9s353y4kuulxwnlyy4dvpjsvyl67m + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB5YkdERkJKQnUxaXhuRk5O + cDlxOEZsM2djbk5laFVHWUNKaUNKSit0cDJ3Ck80eFYvajNId0NHdzRONktHZTBM + WENsSFZWL3JLeHNpanNBSDB0M1pselUKLS0tIGZPUTRlSW1hNjNPVnVoSEhKK1dJ + WFpiUW1QSXk4VktHNWVGemh5czZLdmsKaycC2cLTfboV5MT0W2+fWMg9JCAn4U7u + lMkTZausCp1hUlE68BXi8DuVivRif+gjVjVWsBabikQtzW8H//fFDw== + -----END AGE ENCRYPTED FILE----- + - recipient: age1a27euccw8j23wec76ls8vmzp7mntfcn4v8tkyegmg8alzfhk3suqwm6vgv + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCWnlvR1BmUlRkcXhHbklZ + d2pzRkxxZTVtOGl4YjdGOTQxbEFnRUVGdG1rCkFQMHE1VTdIR3FPeWdlSHRKRGtl + Tk9FeHNuQ1ZIRWRFN29EVWh1ZjE2RDAKLS0tIGQrWnJWcjUyZFkwQmdZazBTQmR5 + cWZ1N1NHVEVqMlc5MExyZThKYTdNc28KEaFjX16Bf0MZsmMTLytDnJFPICeu808r + t53faoADnTdhYKhKQYB1Fgk7h3DBvxM36VDw6v3oC0f6B0yEx7a3hQ== + -----END AGE ENCRYPTED FILE----- + - recipient: age133wy6sxhgx3kkwxecra6xf9ey2uhnvtjpgwawwfmpvz0jpd0s5dqe385u3 + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDVGpwdUVSbVRiVkdBREVX + ODl6bzlVNHRkTzk2UXMwNVp3K3A3V0hmdVRBCjlJenlmNDZEU2ZzMUpVYmpFdllR + NlNxaU1YYzNZdEVzdzJLTEVMWlloZUEKLS0tIDl0VnAzZUF3QWF3WXpFTjEvY3RP + T2J0Kys3WmJRZU1jRk1kUnZud3B3MlEKhgLTCcfyxOBL8X6JPlcuy+CcOlx09VP7 + AZhfb8lf5JXe/4WqAMOh6s7ZrTM5JFBr8U5GQFo+syIIJeixn5SRBw== + -----END AGE ENCRYPTED FILE----- + - recipient: age1na0nh9ndnr9cxpnlvstrxskr4fxf4spnkw48ufl7m43f98y40y7shhnvgd + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4c2NFWkdaMVFTcUxOZWl3 + Z1hsK1ZvbFRjQ0swbVZlQkIvNW9LU2pZdVgwCkJHcUpTYjMyZy9qKzdIbzExcVRj + V0UrWG5yaUF1cTJnK2RDT0E3aXRkK0UKLS0tIGRqTzBsbHdBdGlMTWt2NzNOVDBp + U1NVMzBIL3ZBUUFHLytGQXk3M01UK00KZBW1DUeDpN5sstZ1LuqcpxsQcjdUJe5L + 5HS4O5h0D+/p8/aOW5NPoIf0A6f4/CLVm4o287GHsxkTXeH1sDr2Ng== + -----END AGE ENCRYPTED FILE----- + - recipient: age1sqs05anv4acculyap35e6vehdxw3g6ycwnvh6hsuv8u33re984zsnqfvqv + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBINFVkbjFMY25pWHpPZEMy + Z0xsOW5NZ0cxZC9UR2RCMTBaTlNkRjJuU1dnCnRhVU9iL1lsUWpCTzdKS1RiYnMw + TWhjS29jOGNwQXU1Q0NmdjkwOHNRUFUKLS0tIFJnajRUMk9pTDVDdFI5Szd4RkV6 + TnNkK1RVZnFaRGVmaFRwMnlmd3lUbEEK+CKPUsutEpo5/bHyXM7tMUUM4hka1hCV + oto6VkOSVoYnwHNzXSAei+jkfvT8dED7fUQKkZeqN3c4bUrha42BUg== + -----END AGE ENCRYPTED FILE----- + - recipient: age18qam683rva3ee3wgue7r0ey4ws4jttz4a4dpe3q8kq8lmrp97ezq2cns8d + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBLY2JBTXFaWEFmNU1PVkgz + Uk0xeWJqMkpVOW1QU05Qc3hSeFM2eHVjc2tZCjB3bjZ2ZUZFTHIxSmZUb1V6THpW + dHFXZUM3a0ZKcEZSRklqUk5jWGJkaU0KLS0tIEVxUlREKzdCMEdvZG12UlhxUW1p + TTVGVllybHUvZkhMT0x5Ty8vb3AzMG8KfuZW6Yj21NHAvfaVs2HedYgGWxUDXWiP + aZTbarB/2UzYEacoEO7CMLHDS53X15plRPbzYRWhnRkb9WkDQ/0pOw== + -----END AGE ENCRYPTED FILE----- + - recipient: age19rg2cuj9smv8nzxmr03azfqe69edhep53dep6kvh83paf08zv58sntm0fg + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBoaU1FN2JEblVsK3hRNXVO + WnBISWgyYno1ZnNqeUtHV0tkcERrdzRhc3dvCmlEQXFrbmVibTVmOVQxVWFiaTdn + WUhyVjFvdHduNXpraHVldzNnLzVjYmMKLS0tIEJjODh2TGg3OUlodk1IWnltNGR5 + SG1TS3l2clZOVkhyTW1INjZNc1E5V1EKCJo7uU1XbW4Z6i5ux2t323Um5TDTwTl+ + mMirFUiosu62vTfd+nC3TwRyM1XwlpI54EEU27jTHMlF8oSgXeLumQ== + -----END AGE ENCRYPTED FILE----- + - recipient: age16znyzvquuy8467gg27mdwdt8k6kcu3fjrvfm6gnl4nmqp8tuvqaspqgcet + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBldUpzVlhFc2k3U3ZlT2JK + U3N4L0FGZE1iWGRwN0tvNEtwd3VXYTV6N1ZZCmVnYUNpY2poazVibnpQRlZ1MXFN + SmtURDFLSmJmM0pHdytjVFM0c3B3eTgKLS0tIEZidTZmS1dpZ1VFRkFpc09EaWxZ + cUVIQmVDLysrQ3pMcFIvZ0NCWExJa3cKdwTrVM7aXAi4bBHfXCWllbZIa2c4IbRW + FNS1L6tP1mop2y9d0CgmVBiBFQdNAg8yVJRPWs25W9WVFHBDuB+X8g== + -----END AGE ENCRYPTED FILE----- + - recipient: age1azkgwrcwqhc6flj7gturptpl2uvay6pd94cam4t6yuk2n4wlnsqsj38hca + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzMmR1TnRFVnlnV0t0N21P + Uk1QM2dnbEFTb2lJcUZDeW1sTDQxT3F2Q1FJCmJzdEFCQ1ZBeS9QWEZJcmJuVTJi + eEpIZUk3YmhKeFlwcE0rK0k3MUx5S3MKLS0tIEdoU2dXRitXeGlsQ1NXT1FqdmhE + R1MwNU16K25zdytaMXFQNnhYQVZTSzAKmVjQRe0SKfwh/JoSGGihkjr0Lvx1uVnJ + szOHESy/rEKiXUKVSMkBINAh2SUYIwrB4xM38Y+ZKkkXDDtZWLHulg== + -----END AGE ENCRYPTED FILE----- + - recipient: age17x20h3m6wgfhereusc224u95ac8aj68fzlkkj5ptvs9c5vlz3usqdu7crq + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBEb1I5cnJ6NDhvNDFsM2kx + aHEwdmJSc3ZQcGc5OXJOMVB0L1JFSlpiUGxFCmtNbW1NUVpEQVdLTkNOd0daMDEx + ZTdGVlB1T0M4K0t2VHZYSzBNNUJLVUEKLS0tIDMrVEE1Q3IxaHNTUHNTcGo4UTFX + WGo2TVdLS1F5RHNVTWgxbzdZSGV3Z0EKkOZfXMbUeJG62xn0SvqjtCKIkZDIzc7O + qSTGJYgl02Edp8smm4x1L9QF2CQYF93ZIjn4q12CyJy2ojBgxNTZNA== + -----END AGE ENCRYPTED FILE----- + - recipient: age1wnympe3x8ce8hk87cymmt6wvccs4aes5rhhs44hq0s529v5z4g5sfyphwx + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSArZWZmTDRYYUloL3I1QkZ1 + dnIyRVJSV2ZoaERCc1Z2Z21VYkkxb0F5SURNCmlFcjlPM1VibjQ0TkFNdEhqL0l5 + eDlHOHdlTnMyb2JPUlMxRlZqTkhWNzAKLS0tIHI0cytiaXVpK2FqcW1XOVpneTR5 + VDI2WFhud0hpRDRMTTlwMHV2T3RSekUKKi52AcUoATCmUo/+FIVeEEh0sTCjIGy+ + gl/Ud0Nmuarz5T2HqGxJDBoH2MSfjpwhTkW2z0JW5Dah6MRtNetHZg== + -----END AGE ENCRYPTED FILE----- + - recipient: age172pk7lyc6p4ewy0f2h6pau5d5sz6z8cq66hm4u4tpzx3an496a2sljx7x5 + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBNVWdMQXMvUHI3YVNqa3hn + QTF1V3lDZHB0ekVIcUVURUFGeURWaE92U0dVCjl5WnQ4Q0hGWGVhSnVqSXdIM3Qr + eTBWcW9MRDdsZzY0S1puTmt6bk5BVDAKLS0tIDlNaHF4VUt0YzMrVEtIaXhtMkh0 + d1BJZHNOakIrejNHWXBkT2JnMDE2TlEKgFgEPOc7lgUvi/gBJi4qX8mJQQ0Lb+0J + oKgia+lWN+f0dMoQApxtH0R1vvrQB1CyKmYRgvYfEv1z2yibftxFJA== + -----END AGE ENCRYPTED FILE----- + - recipient: age1p7pxgq5kwcpdkhkh3qq4pvnltrdk4gwf60hdhv8ka0mdxmgnjepqyleyen + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtWDBLRXVXUVVQNkZzVDZp + cjNaNzNseUxFZ3JDTkF3RjZ2Q0FnN09Ub0Y4CkpsaHl4VGtCRDBiaTc5cDErcUM3 + eXYyK0tGdFVhblo0eUhHVkJWbERVakUKLS0tIHpmektqRjBHZDdDd0hEbWYvWnFr + S3BoWW9QYytMZ3RJSld2R0h0dXlZeEUKcifFwdLTAse4HxN48X/iErdi3evc/Hbt + dRgCkzWjb0Qc1DEPLm9MLHZqugcm1y0XStdWHCMIwXuh2fcoDUv0mQ== + -----END AGE ENCRYPTED FILE----- + - recipient: age1sv7uhpnk9d3u3je9zzvlux0kd83f627aclpamnz2h3ksg599838qjgrvqs + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrWGpORGVrclo5N2ZTSUxE + WFBYUVRjRlFyVFFXTFIwUDJNR04zYXgwSnprCitVT0JidGp1OEdXdm16WGY5am9R + djkxckJEUFpzbHNNZnhqb20rbzBTZEUKLS0tIFpheWIrMkpWalJNS3ZJMVhVNGJC + dzFuYXBGMTNRVHRrb2wxTlMyZ0FJWGMKnEtMyof3DN+9rIWRCYn4y0SLpIJbDEbN + iXmjwiEtlPIKZjQ34r54g1tsJd5b4fulRFYd6lqTzxtjYYFXDa76BQ== + -----END AGE ENCRYPTED FILE----- + - recipient: age1dkecypmfuj0tcm2cz8vnvq5drpu2ddhgnfkzxvscs7m4e79gpseqyhr9pg + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBnWkw2NmJjdzdPbnBhNURh + SFRBTVhUanpvdFVNLzFWak52bWVJZnV1NHlzCk1SQzA4M3YwZHZIOG82d2lCUE4x + dDVWMUNuTW8xdVlkRG5RSnVJUFI2Z0UKLS0tIE9nOXA0LzgrenJKQ21xZ0o2M2hr + R3puc1ZOVFJ5Sm5qTks5M0JTbW9yZkkKv20552DPjujiVyr4a4KvTUN4pW8Sh7zA + Yxh4nx5mXAwfL4JxIwbvggy4AE3kbc2P3P9qUrRjQ4Iha2X11+fSCA== + -----END AGE ENCRYPTED FILE----- + - recipient: age1mdtnk78aeqnwqadjqje5pfha04wu92d3ecchyqajjmy434kwq98qksq2wa + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBFZ0hYeG5hTWxtVFlTaUpY + V3lOMUJUNDZxRUhtMnFjK2IyTW9NZ3ZvNTBVCmVHVnFQTGMyd2JIZjZYSmtjZnZ1 + THBMZW55RTZSR2IrSVd1NWppR0k5UFUKLS0tIEkxRlBsWHFxTlQ2S0xUQ293cHlU + ZUhwMUJCVmgyZmlVbDRtV2YxUW95Q2sK8JtVLO86dkYtrxMzXY3mj+S19+S2jIzV + MjAkijrdhz9XyEPNsZo38liiO0vwXUVpzmX9xcTTArzWvs/LHYDzQQ== + -----END AGE ENCRYPTED FILE----- + - recipient: age16pxqxdj25xz6w200sf8duc62vyk0xkhzc7y63nyhg29sm077vp8qy4sywv + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwRXpCQUJxZ1JBWnZkZHRM + ejdtdkdqMzNMY1BvOWVuVlZuOXR5YS9UeFMwCjhtYTIyMnhBVm1CT25mRytkdm04 + ZWg5TGllazVDZEpXNHQvZzUwclFEbTgKLS0tIGxDSDhJcVMvUlg3VkV6YTE2SE4v + QnBqalBlY2FqY3lsWEF4elVzamp5elkKaVNJrQ4wNJt0FrQ8PMz0R9VAhk4zIAri + QTojz+1HuRMZyDr5wmXz2Jg39yZsBsm4ZmaXSEGw5y/XHeg0ud0DAg== + -----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-01-27T08:41:15Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxK/JaB2/SdtAQ//SuDQLIlXIx+E1BfvxQFL4c8TmxEWat2nXHE5CHyuQ9bH + esOqdKYtnBMP1iRwQzAi9jVnNUtctCurMK5Lwr093BRHDLhpWqBErBz8FuoTFXGE + 7WP8ylzno9OUjhhsg9sTrUAxghzU7r3Nr5alypnE3KsEprtEiAKqqqWhaGyMCK+G + v3shSx4XmB/MItuHM0BRI80M0uqRn5aQME0KpgTTD5/wsH6NKcPHEiNJTqc2I8K/ + 0dfqa9Hr0WcxooX+UwH/owfzHEkTFWP/3SHqz16osLzO9KOsqw3M4QIoeZwBpAOf + +aICTHV3nsbClQ8hQ0XI6xrOqwXYo7SXtx4uNVJdqBO5zfhSGx1yI2OAY258XQ+d + As9k4e/oHkzs72qOwCRa2OShDWA0oEWIJ1DZY85yaTyl3qMZJuOweR7lg3eXzITI + y4uYAWDfJBXdAOnFgkxQBgb5KSfm3GXQh4Gtu+yfoYqaAibjyJleOPIJFMcwb0yb + Y0gr5NflTZooJy2zMZg0u1Ndhike/BdMRQMiTZf8HXk3iiyNXCYTCqnIZRfzZGdy + C9Fur0KAOM1h8x6dqXGctMhy1sOmbI6LRyz5feejtE55qHIn9fkyR5wDObsIeiZd + OuT6josorB43aotD/XSDwGU8ZeYrUZ9zlwszGASHoji/kI1yXRMCPuNVax86v1HU + ZgEJAhAWCZPbbgU8qPifr7naCkxmR2TxtkOJ3Pq/JOeqxMqXXjdGa86A/+1baGdc + 3z3ygenp34mYIGi4vSCqz7rApU8PHdlpCw2N94buR9/OFN1wHiIoYtVfT79mJsoK + yKswIQ1CXQ== + =yexT + -----END PGP MESSAGE----- + fp: EF643F59E008414882232C78FFA8331EEB7D6B70 + - created_at: "2026-01-27T08:41:15Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA6EyPtWBEI+2AQ/8CBUEfUOkvYlMChlGuHKv4CzbEqUrr0aKDbECK/8qGyqE + UQeZPMnVvwFL/l5lU1dky2PIqFDebd274h19CfLIcBGZZPwzg/XNJcYcEqeTN640 + H2ze2Uz/tA79BSfo9Z+W0NfAnzsOZ+I0pPCIqSN1tmMNCNy/m4SxEc8wye5FdV6e + YLu0dTatwMG6jsK/PYYoAapNO1CRUDvQHHF8jsAmYlL6eYoYbuikrp5JEyk7Jcmc + 5OyW49fTAaxmFYF6hjLnORI/WqdF9nTztfFAoH5eU+uzd3Exmunzw+hsZXdbDTWb + 6YJ7uqwVTxziKwpB7lOxca1B/axYyvLYHNoV6A3Eu9/0ceUcjjLwtcBBAn43UAd6 + eEwNr3RJ3LY3G6o1QD6tYPXNhY7J8vxb/MKGo7SzB5+Z3TItd1wUlnHDY7kfUtW0 + hk1R8gug6mV4YEQtgPW3CPOGPsquN6zvxuRPcVqkNyN8+H3q3n0hg8i0xVr3ZyHB + G6pSNoQLaJ+x0oFhIgzy3Ndf6AH8MNxzh8Se5gLIhKQCN41wm1ZTguOgcklKdAAX + s0QlHXGsJLtev3HeZOfuR6D87rN9HNAaGqPxuKuoZWQBcxzOnsXSGsjJLJUN5bpt + RSy2UPlsV2iP9cE2/PTx7cQ3HWHIAjNNz65aJQQnfEM6uog85JRGoY8x6rns6xvS + XAHHUsw6hc0xHxgBE8nkVJfU+ynqtk27n+A9h/EaAFvuyHE00yRPM2cJwcSapOuI + gXSLjIoiRfbVNxFCgTFEA4KN6B/eqmOyiEoUhEhHXmwzb65bMB7puGbb7jET + =e4QR + -----END PGP MESSAGE----- + fp: F155144FC925A1BEA1F8A2C59A2A4CD59BFDC5EC + - created_at: "2026-01-27T08:41:15Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAz5uSgHG2iMJARAAw43j5wveIlxO0Pi4ayjy6RxnIvB1cy4A3X3rIdbL0TVI + lBJfO4ErBitBtWy4F5MQDL5UmKnSvamG0G3Uo1z/PzAob2Fyb8nBM0P/jOcWB8KP + Lzv0IM2cQ308HrYsUSpxRBAApc1JWX7PAZgRBhvvm7KW3vLFOgm+aMEHAjLYxFNN + zlrWFhe8kLNZFMHr8GnWv4XhwHgicaXfP+hJQs4gHnKsZ1je3dhurgHRdu0PBu8b + QUHd+PB8S3dt4dacHGlMdqRRl61jj+ufYqQAVgPfj3m5bvDanJqQNXQubFDMW6kp + j6U/rYY0GwZ+r2xFHBr10zbx4TR+bxMQMqJ/YA+PZGVT7Y1S2rwLLdmMg66ENKQn + Hbk/rMibXTUab/uc17STBsOAdLam313WpTaa7kfqFZhqaiTARlmULtdPWyRBvOvi + PB+NrFI7hboakG8kOaiitdfD/NUanz/p1RKGBPkpL7GZE6B63SHxTKtLm/A141nI + 9cPNeXNZWhkSZv/2akQ9ea91yBMeIuiydFJnBuZR6ygqvC+ShhAUV5Ag7h8AAlTi + 2gDoZZvGqsXjRO7FtR82SSaWk+buzVbDtLRdzHiPPgIaDkLtVfXabqEhw2bqaP8/ + UeH2gZW6MPuO4AWYRgpvQX0XOYJqA2RNsxO83HF3EjvvbUeJhz84iC+OD790ElPS + XAHizPVvoinf9dfxckUvFm1RUA5V7xwlHUh2a0Zj4mBkxFAJqGzOINAkg6UAV4sh + K9zPafVtVO/SiBdnR8JApH+rb7kXwal/jAOHJYjPtz2JRGeCrFz8YJR9lkaa + =jeRO + -----END PGP MESSAGE----- + fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5 + - created_at: "2026-01-27T08:41:15Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAw5vwmoEJHQ1ARAAuuTaQOJdkhaTei934YczQbjX1g7cX4yWuxS4BHQ0+Jw+ + MtZnUUYcjVY4hErlm+w9/iwr/ua6lvsTigHHy8IKiz7F/xuG3qAoQwIR4+bNP730 + En1EYlczxFw4Xaa2WIayaRy4M34W5zvdDuUwN5SW0XDahcmmut/9WGRmz0K8chGp + 8opG1KldRY4ynOgXcB00x8w2NnQ5kjisyk+zjtTNas1E9c4m2MJlvrGHy4ffVg9X + ID9/66wXr3nimAlaYvHmVW75hd2+MfWyqtrLccThPrB2aNPs2mN1xH2TODX4gEP6 + pFHyyrAsjK9zP7M195pXw+WE3QnBPgbW2/zmCbPHwPGgP6ljLsDjo1SDXWsxZ6vt + 88bCECCJCrurkP00HJdnbXd+dXddNMXfYLT15aQvta1nYPp8UmVahCN/QyaNthkN + rclV1jmr0sEtG44p4R0SV3yIsATCnFGmr/4pbI/r+aEakIVIPEK6GM/69o/6kW8b + 7KGEc4riDefZn93jNEGmC4oqotSPLaLlaNg86gWazRrMUBu9hJ2QFpeqSX5Vl5uG + XnIokcaWjZmDgZgDOFa5inQBDfT/7wTJ7mGnLpt6Lnibnp/ATvIYBEI4zakHAJpz + 0qWN89fpS4senq2bZJ2WZYfpLvHpspchxMhmNfjalQaEVdqPfEqQCImJv4h7VlfS + XAFGcZB2DSkd1fIxKcOB6XMDEbxGfBAVZq+k7Qw1oBdCa1Wi8uBoVS6QHLEUccbO + 01Ptf7jWdTYgujdxRvyYSYS9YY4z0nR2GmFzynCB/oCylEwmsBR2ie8J1Ew4 + =Gjvk + -----END PGP MESSAGE----- + fp: 87AB00D45D37C9E9167B5A5A333448678B60E505 + - created_at: "2026-01-27T08:41:15Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DerEtaFuTeewSAQdAgd5EW7q2vIPAOqEzhHiEI5O0WzrC59UqNnagUK8u5T4w + e6e9sEaNfzsZE3Ep61sWLZkDDddE1RqF8riVaBRHjFzpj4mNptePNQCCDJSU8jYf + 0lwBJmRslhasFEdMhQjqJVWLyVeG+z45mcfkXT0VFkBWWs/RDchgiYQjXxi+tMXy + iIUKjmu2bb3Cr3KTEglA9P69aVkDtdDvol5LflkzlB925aDev6arSnqFuoZIcQ== + =xwmU + -----END PGP MESSAGE----- + fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 + - created_at: "2026-01-27T08:41:15Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxjNhCKPP69fAQ//bv/NiT6dblP4GWghe9w9O4u/cwF9rF5x35lNaXUesu5a + b7mz1DkK2xzAIPFXpp2EhX4iRj6cQmEIDN4IrknsiKD18tMA6pqv5/1RA4DrjAWm + hlURDAJy3Q3kA92pgDcCOhIJu5gKFMUVUL6xG8TeNOr48VCw5LgmnxZ/6PuTJ9hm + L0r+OnWfUKZGxKPev5/N6hIWCGKuCpZ44IyPVHU48CK8+yJWRwK2Fb8WAy775RVz + NhTxD+IqQuHZlXnYy/6WunlkEmuV/G4bUzByjG0Uun9J9COaaLC+8OFVVm3MMD/l + R7JbZlXigj80IHPGybB+FVNu8rUk3JbGo9tOux1H21CTdd0Hmi4YtritLKpt37tK + I8lYNCFgfWOTcllRFB582BomMSObeDjffG4tASqtZ7lFYAA1tHO3akM7iQGWnsxE + oES2Ibp/bP+tKCh9BnXKzHbSlIiv6g/4AIALRyyLskM/LH1FP6Xwc2wAsck/DfOK + ApQRNpkqn0dnGCb8ZIDeT1EWlc2ZSzkP+X3yy71wX0TBZOs26n6crIAjR3LUiHt9 + UzT09TAHk2Si3dSBcRr54Xitjg/f4lfKhQv9hV0tG1qFdITYjv6JFqihtBUEnNiT + BR5udNvLMKw5KOergEUl2EGPWlXDK9LsjI9vzWq9ZOS4cNWAR0zwTjC3LK7BNBLS + XAEBjZUJhvPKpa/f8oMGcZ18HP/m4M5MEKCrCbQkk+bYDy5zBjU3I3hqN2MpnGb6 + UMGEx2tgHxuksdjSaDb1nTNfsanTC5UgqFAfsn5QAiBxQmeXRnjFpj2a4pc0 + =R+3P + -----END PGP MESSAGE----- + fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 + - created_at: "2026-01-27T08:41:15Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA1Hthzn+T1OoAQ//dfpU2ARKiqEam2TD2QF79ujIPoofrJXX+Rf9zwe9TBNC + rZCZLdWLECZzJcE1R/VHM1Np3AFPmze8FZ4onGBgI0Go2vwCrrYtBe6AomAlzXho + WXABvr56Eoe1ZmzDHZLPeGs6j2OfsQmq5UYDXOLEPZ6T32jA2f4dvI/k0UEFEbsb + Oi3gbmpQgiub4WDE8Czy2o9Jmcsxwq4NhmnGxx+ogXO3rS8jYQjaBG3P5mz8oA3R + P5zauE4sZ56WzT2z8rD6NPuNuMc5Dv8OMISQey+WfR9ysco7288v4qr2hMgJF+uc + uDQtH8ZFsRXwknyKFaph+KLkmvDBzSKoGiRtcaACzK1WWDbowN+KYcLsCf2WE76T + VJPWzZn0tjjyIWWaDLEqrKWuezXajMxW64zSjDje3oqIlJf41Sqr3yVtBI+Willn + m0iW883quAICS4ECaaY85+N5vwtaRntlYEGdYUm3k11Io4erEl1qw1fMplD0/E+P + I1jA790vOS9PDYzdK8nvGrEoGURW+Y3/q+fSKMBsfHATBCBSGRL6G/SHFvlDBLhK + ivJOOeQ2Hw4G7h0GGgQAEGk47EijL0j0+eEYDDvw8DQjVuUe9dWNr0K2qmBfm7p7 + 7ERZuLn2BPkk++h3IMTQL/OnaEgX+dIbGiekw5a26mVi3BB1t0Di8q6gtmThlTbS + XAHBzItP/jn8txvNRSHHZN5AvuU3TMyaEjFmhYf59x5vBa047U9WyTqGuwNj1IQR + oLJNQXb/qo4Lo1gd397zTecG2KDhHl/ael8SlZsaLkG5Lp/V7LGr9J2FX4Xe + =76+h + -----END PGP MESSAGE----- + fp: 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD + - created_at: "2026-01-27T08:41:15Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA46L6MuPqfJqARAAhGXnruY2sbbMVeOpJKn0MfDowextWNPVlhRAcltNO6Pk + PUWbX3IOs2ardDbxPJ8QeVPG0QoLAVGwLqbfOulAvRXWoA/NSm+EpW96ofqTNA+P + CK9/ZHcef9wv4DK6kJ2Rkyu2rotToMYi9Hxpr7joOVIsI9ewb8s6SSa5S4qAAw/G + Y7mH8XMFqwZBKzmWP/9kXxACwas6vlx61s4F0cj0XCcAzmU9fKORydljrcc6hNI9 + MRRS7j63it0fckq2v7IBQDgJyuNsLvZD6bZ1P/rdZUUqjTSOIQyb5yT6am1T+DvY + 0ClubdaXhEaQplSL2D0VUEqZmTY7Cmw0yiDBgmyhU5zqjc4MHlJ8S2gssGySWTRo + tR+yEFgemtuIiUVFTJN9Set40968hAlN4jYPOqxjC6U7oC6YLah8nXRJasEN3lEg + 9+fdaCAIQPfK6U/C4j8tEZ1sCXfxaZfaVGpHWrArcxN4L2nei2hT136yLkrIuo4j + vfDTBK77Rpwfc6bmg1Nf94ed7XWn9ZQgVvPKPANvvyhXmflE/wVxg2atofzCIe5i + 1IXX/YHn6MiixqaSbHnzCAaqVQuJKC3b/EO8b3GZJfCcBHZratAQVZq1emnaK0id + 35OwtOXKOagvk8YoIPY1vCVDvVrrT1RK2XGrRfnwoC2plg4cNws1aUhENEDt4NjS + XAE9IcqCFTz5RXO6A7/Q03Ge2GEXrXmI39CTT4gTzy6USEDUiniE7PRudm/2dY8c + ZA+AvTFrEdoGK1b/snAvw8dGTFv9lwQqkBr0JDqwD9SGQPIXD6CIUKioxQ78 + =KPcz + -----END PGP MESSAGE----- + fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A + - created_at: "2026-01-27T08:41:15Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DQrf1tCqiJxoSAQdAagtCn66tLHM3wXjb8nCEH8nh0g5pKSTzcx/re43tLCYw + IbatYjkYoqBofEDr0m4QHTyN7JAtq11Yk106M9zkktUHUPG0H/NG7TKOK65OC1U1 + 0lwBA0l+mdaX06nBkQE8xzXafXcJYJkTp0RvXrzZkXb6K0NBuQwcXO3A0xcJMIZ9 + A3tWaza1HnUdtlUj3vj/0ykrYaUywLL4rdVgu5FunOMbg0QQV8zy2Kn1dNh6Jg== + =wy66 + -----END PGP MESSAGE----- + fp: B71138A6A8964A3C3B8899857B4F70C356765BAB + - created_at: "2026-01-27T08:41:15Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DzAGzViGx4qcSAQdAuK7fsRq3IfaTb8M+wFYeMoAGK7pbIPnuC/i9GAVmaHIw + 7iTd9Gh7qjZ4Z7BNvD9cH+MMoeKNYEI4iIgzyZBSwADiCwq+GOeeN752uTFzvysY + 0lYBs4Ny83rYbSQU5eaA0VNrc2blc9D+3gc0NB1czac9pUsJ6w4P6vb8TdtrzvlS + zAUSYYWaU2aX1dI8274dFmHmF9o+9/kPsJLSTqkLUFaV8cje170cVQ== + =4Es4 + -----END PGP MESSAGE----- + fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD + - created_at: "2026-01-27T08:41:15Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA2pVdGTIrZI+ARAAypV2oZNd7o5dKeu+croXx4IgcbjGPl+jM4v4EwIa8kQ3 + mqRDXYjz4XdFqoCO5Q7sALx06a3V/Gg3VBhxEmPwYtWIBOaEBjIuFy1TieVNCIz7 + xZlDKUsUFVCMiaF7geRPvN1QMhP37HbKZEWWL3Dtp6d+9W8N3jjFS7qv+26nlhyT + QUtMc4wXYXsfuX+wI+Edb3Ibe2tN6s6rK03XiR456TG4Q5XlT0yuWfLA+uF4WMSe + 9HmPmggwbZgTjagnzkf8/mLwROqFm+KDpCR0vfTGTW+XZOZxS19A3VRM4oCoPCqm + 78t2XkLjoddqL/baJLdSsoFjrHh74+eYTvaBAorOXowfc/MTzXGTHlth9r2/HjJ2 + 9gXiQATn9fl7sxdRko4mKOn0ff0DhoC4gGgfxopUs2v/bu9dj5VTsyAe5TqGNnHU + Oeo1AaboJfWFRlQhsCT3Fpowuc8kRgHalVbARZqTtdRRZHNuf+ob5BYJq1SDFJiN + vxg01gUsqzcvcfZSc1IpLr0vF7tdSvmrKE4nq6GgkJEhHm6wwNftobjSxTYQPO3l + mXI7wghCU4G03zVhbIAwsUvdZ9K6K3ylUOf1MOkVEy78N5rR63FVzqpibPsTQCnc + myhdrYX8fN3GG/QlXF8NwNPFFwOW57577YQJ1d/K0ksiOEWKBzJlBgOu6Z99i8bU + ZgEJAhAZ128S/PPndkywgDN8PEvtH2tRvwt+tS+gMI3o2WiPltT28KmWJv9PoG/s + 9ZAp6mtI6UDoc8yDVuy5BfTH+MuG0IpJLjkqZkY8XSuRD4zAXYIj+a2xHNuWOMhq + 8471dLH2IQ== + =UCus + -----END PGP MESSAGE----- + fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + unencrypted_suffix: _unencrypted + version: 3.11.0 diff --git a/inventories/chaosknoten/group_vars/all.yaml b/inventories/chaosknoten/group_vars/all.yaml new file mode 100644 index 00000000..76147d88 --- /dev/null +++ b/inventories/chaosknoten/group_vars/all.yaml @@ -0,0 +1,59 @@ +# 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: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@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/chaosknoten/host_vars/acmedns.sops.yaml b/inventories/chaosknoten/host_vars/acmedns.sops.yaml new file mode 100644 index 00000000..2e728ca5 --- /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 00000000..364aa9af --- /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/host_vars/ccchoir.sops.yaml b/inventories/chaosknoten/host_vars/ccchoir.sops.yaml index be571a4c..b6a907ae 100644 --- a/inventories/chaosknoten/host_vars/ccchoir.sops.yaml +++ b/inventories/chaosknoten/host_vars/ccchoir.sops.yaml @@ -1,221 +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-07-20T18:28:03Z" + - created_at: "2025-10-20T19:02:44Z" 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/+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-07-20T18:28:03Z" + - created_at: "2025-10-20T19:02:44Z" 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+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-07-20T18:28:03Z" + - created_at: "2025-10-20T19:02:44Z" 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 + 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-07-20T18:28:03Z" + - created_at: "2025-10-20T19:02:44Z" 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//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-07-20T18:28:03Z" + - created_at: "2025-10-20T19:02:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAhYuNoHxnDoR3vYcXNS2t0aWAKFatN7yeBNugZ7rfqiYw - i/XO28FpFbyjlt53vshZwUrdz9qsG6mVdQ57D3aXXtEMP1yxH3FwmKmsQHQGM7VQ - 0l4BT4uruLjE3clae+RU0cHcukKSuR4hEOqdUPcQDOWSV8tnboxtjsV34tkRbIZc - VJvLT8fM0tUWtzt0n7Paz9OHelKUtQ7eKlz2sWO+I49qCsZaE7dJ8WNRWonFu1ip - =w/sh + hF4DerEtaFuTeewSAQdAP7lfX19jnpSpCRnxmkCi40V9p5bb+kEkaOB9FgDAMDcw + oKaSrWVj5bKUaR5PlCTsEHpUEbrMW+9/tGVxmDnFSVao1yAk4hgfPpoFPekznc1v + 0l4BTiP/B0V4HlRF3Q9WGYUjAZ0zNmldqe2zUVU1sG0DTc5y21jio+vf7Fa+vMiS + hZiAVopN84wz36065XEoiUxuOsR6JkUP5Y17IgpYzJQ//iK9OmN1/jhh/Ccb6p5w + =6L1k -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2025-07-20T18:28:03Z" + - created_at: "2025-10-20T19:02:44Z" 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//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-07-20T18:28:03Z" + - created_at: "2025-10-20T19:02:44Z" 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+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-07-20T18:28:03Z" + - created_at: "2025-10-20T19:02:44Z" 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 + 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-07-20T18:28:03Z" + - created_at: "2025-10-20T19:02:44Z" 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 + hF4DQrf1tCqiJxoSAQdAArcUCDD30QwF7maUAmX29Aa+l1T1/6NqE5+0niLV42Yw + sjGl8g7yW8A0vLBWXP5nlVvgwK1PoE6bef77m9FozDw3j2koG/gt80tqgG1pCiUA + 0l4BHZuEAaFjgG2AhZSzYj7OJk09gGEgvGYPDzESYrwaUgTCXO9T2HmhwR0Mr+08 + sMrp57xGYY/J/pw+vYNBNjXxrfKnr96w2UfDPG2U5P3qFugUqzNsIImeoxiWD/dT + =MzMp -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2025-07-20T18:28:03Z" + - created_at: "2025-10-20T19:02:44Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAS6WN1p3uJaTwEDUFyHIvXIOhVzrS01NBXZAARIT/URMw - 9co0e4F2EliREPIOPlrdTkIutWzk4Hthmu0NtDk58oAkpJOFCayTcQJGDuIDLvZs - 0lgBruPX+8fTD83IUDCmABmrKpQW80TgpWd6HhSRVq595mobaJ4S+TY39zUvr509 - Zrmg6DmlUrEr/FYdff3gj94Rm6wDyBkI0fm/GLXL23Il7uKVrC5WQsNZ - =vzES + 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-07-20T18:28:03Z" + - created_at: "2025-10-20T19:02:44Z" 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+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/cloud.sops.yaml b/inventories/chaosknoten/host_vars/cloud.sops.yaml index 3c53a9b3..a05d7ef4 100644 --- a/inventories/chaosknoten/host_vars/cloud.sops.yaml +++ b/inventories/chaosknoten/host_vars/cloud.sops.yaml @@ -1,222 +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-07-20T18:28:05Z" + - created_at: "2025-10-14T23:47:02Z" 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/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-07-20T18:28:05Z" + - created_at: "2025-10-14T23:47:02Z" 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+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-07-20T18:28:05Z" + - created_at: "2025-10-14T23:47:02Z" 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/+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-07-20T18:28:05Z" + - created_at: "2025-10-14T23:47:02Z" 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 + 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-07-20T18:28:05Z" + - created_at: "2025-10-14T23:47:02Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAbe6biWCSneXlUMVbeWc4r57SEHDltmlWRXulJZ6wXhQw - AjEdgA6AxqwJoXBTd8KD5GSchMmpXXRVpTAE2gvjwVObudvZERba9wMuxcsAdmDe - 0lwBC8GonXrMNb9BpesML66avCPVcjwKOPED6K82ZXn7+XdMruGQsUmQnFNcPnWp - iAqehB1RrDXtXIF99yGUddKlFgChVJUcOjkSD/RDSkMyjlwtyJuS26qoFF7ZFA== - =8dgo + hF4DerEtaFuTeewSAQdAWdOyUxkvucIvDlcvo5jU09n/xyTaox76UpEkqi5+PC4w + PT3sTJK4LhwKTCDSOKz5yVKdS6vOvCBeXRmJTitlhOUWeKMAD1U7dL5XZElQ3xve + 0l4BrczY8LKy2hnGm7O1RYBaRE9gWh0n+octU09oBszuSamarrLUfzc+mdQ6oLIE + Ubz1oIAhjTgS624+693S1KHP7Y4Rr0DmISDy0+jYcnn3ekYBWfSgvw6d3islnPfh + =MSsP -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2025-07-20T18:28:05Z" + - created_at: "2025-10-14T23:47:02Z" 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//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-07-20T18:28:05Z" + - created_at: "2025-10-14T23:47:02Z" 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+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-07-20T18:28:05Z" + - created_at: "2025-10-14T23:47:02Z" 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//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-07-20T18:28:05Z" + - created_at: "2025-10-14T23:47:02Z" 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 + hF4DQrf1tCqiJxoSAQdAhHLSFJasBZzugQ1XdVpqklmn/52t38wKFGGlv0e7PSYw + tHejTV4qjCWS9VG08CvdkC6vobDvnznrsxY2vEp8S4jxgUg2T/WFRb+2BOLo04Za + 0l4ByKzgXT6aoUOSyOKwGq8LxwaAg+aypQbhLZ2kkUG5Yh+uiRrc3L8yeEtMCJOi + ZgwCBsfazyjLKjOu7nPXvE8DE6HWUk6N3tWkV30t7npVDWGC5qLMAqCz2iAOOKKN + =vSwS -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2025-07-20T18:28:05Z" + - created_at: "2025-10-14T23:47:02Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAeKRRJ7Fng1MXOeaUFcbPRsH45ivTIZmb84ByrvJKOT4w - G+8aUOX3WJ4YigTlsTc0wsbDWUmqkOBae+lMr+HjAVwzueEsKnvNVnFJ82CWk9pf - 0lYBAP9tPmC3ngDE48WUHkkPreAwUUqsLzSDoQVz8lPp2y1qXjK9at1g9GR2tQYp - ykjo7lLRQpmtyTteIyCzil/fRLNtAnBvtgINNKAomK5SpSH8yc8HLw== - =CZXl + hF4DzAGzViGx4qcSAQdA61+dY2/SgWbNcLmjrIW6etaqlWJMVfXvrwi9ob1uhiQw + lfQajGEA0AM3RM6Fjay6Tv8W+WmtSG6A8UmFzxxUqTot+g4wMHFkBfL5V/iYkLcT + 0lgB8aYR6hUKci5dyPmzHCoNkeISln1L7n1CRY99GxVd/kmVZcoHhsqVIlYXN/kM + L1QVYTsyjlBJEanqEwqo9K/TZsJClVg8dkudVrZeuG51+6x77X/Cx20X + =NK8G -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2025-07-20T18:28:05Z" + - created_at: "2025-10-14T23:47:02Z" 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/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/cloud.yaml b/inventories/chaosknoten/host_vars/cloud.yaml index 0aaf92e2..b6cf7715 100644 --- a/inventories/chaosknoten/host_vars/cloud.yaml +++ b/inventories/chaosknoten/host_vars/cloud.yaml @@ -1,9 +1,11 @@ -nextcloud__version: 31 -nextcloud__postgres_version: 15.13 +# 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__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') }}" 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 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 00000000..c22c8827 --- /dev/null +++ b/inventories/chaosknoten/host_vars/eh22-wiki.sops.yaml @@ -0,0 +1,210 @@ +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-15T08:45:22Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + 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-15T08:45:22Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + 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-15T08:45:22Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + 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-15T08:45:22Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + 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-15T08:45:22Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DerEtaFuTeewSAQdAY+csMuB0w/u8X7G9jNWercIChlRC20l7Ykv3g7jPmREw + XmAFCB7XQXmn/lz+054r//9pdYtGi0aaHgx9LcK8HkT0tVqDZzouRoAFiloCv8w6 + 0l4Bvdaay3AZUfrELJUe09AoR8IUo/81m2ruz8U3Frfgw+7WVRSOKEDFygbYMh03 + RP4zHcke6z0GnzeyLvDZHzj5DDPJmK6RjvWbU0o2o91JTZhlB2mKkLXDHBmOkzz+ + =vwsN + -----END PGP MESSAGE----- + fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 + - created_at: "2025-10-15T08:45:22Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + 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-15T08:45:22Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + 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-15T08:45:22Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + 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-15T08:45:22Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DQrf1tCqiJxoSAQdAchTFsCspaX2IvJhVtq9DBvXPOEQ4wScxdrP2knyXfXow + 32iUuXqsTdx00wdbLmrjqgRPNdkpXDELob3dp6VBXZw3Qdnq7Vy/vdCuJKZpF+le + 0l4B+uKiPm/hX6j3+s3kkUASDE2UDlan7JhRY6E9AAazOLz/DbEqDll78DOajPO4 + 5VExDFgRLohMUmiSbEehhTX0fUe7UC06fI+RFit8FTrXQOBNQ2ZxXgzhTh5BL78Q + =iaOe + -----END PGP MESSAGE----- + fp: B71138A6A8964A3C3B8899857B4F70C356765BAB + - created_at: "2025-10-15T08:45:22Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DzAGzViGx4qcSAQdAEgM+oWVAskw4+VndKfML5KAMOAIuToqUi39n9vPMBBkw + Uhp4bTCdl6CZsves8JTIo/WWv3TOfrjsbpCfS7KTuT4JjcIXM2lCdGOk8XmgAIKe + 0lgBSyhDGYG977wPYdnTcccUPIOvPuTG241N7pvjrkjlf9ahofzja+9lsx6exieh + OXrDRwvKnqUQi48lxMtOjNg1tZYbNe2EMm01zfTVTN+PWVtRn8UYCYzn + =SpnO + -----END PGP MESSAGE----- + fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD + - created_at: "2025-10-15T08:45:22Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + 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 + version: 3.10.2 diff --git a/inventories/chaosknoten/host_vars/grafana.sops.yaml b/inventories/chaosknoten/host_vars/grafana.sops.yaml index d9675a24..3c2372a7 100644 --- a/inventories/chaosknoten/host_vars/grafana.sops.yaml +++ b/inventories/chaosknoten/host_vars/grafana.sops.yaml @@ -10,221 +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-07-20T18:28:07Z" + - created_at: "2025-10-14T23:47:04Z" 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//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-07-20T18:28:07Z" + - created_at: "2025-10-14T23:47:04Z" 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/+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-07-20T18:28:07Z" + - created_at: "2025-10-14T23:47:04Z" 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 + 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-07-20T18:28:07Z" + - created_at: "2025-10-14T23:47:04Z" 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 + 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-07-20T18:28:07Z" + - created_at: "2025-10-14T23:47:04Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAZS15HxhhjITM350cWmBsvc++kA9dP79oqoFTYS0w4Vsw - 4rMm91OlSZrXzsIHKG+1bPKtgB3hak8vX+RDS0zld98RorHSf9P4WEBUahy/xEli - 0l4B2seAT8SJfk5uqC+3M8i7KKUnDXi4S83HNyy28btN2kwaDKpOmaVelQeFRHYV - AUyzLb61JOnXzF77Y1FdDdqbxcZvUmfEjBVYwQ0uVY30x50RobV898hVmH2Gal6j - =TrnN + hF4DerEtaFuTeewSAQdADjjTJ70hiKLmxb9BMyvicWlgeO5KNWm7puNb3cPIIWow + ND+b+aFnXNK5pO1Ez/4An+s4czBOMWMXZp18Znll5pisu4ysE/YvUcfwwATv63pM + 0l4BSOkDIMxgKPH7IFEV0b/64uhPfFWQdqFZy1UCsWqUvs3rZLvHlx+mR8OCPNeG + jksysqrY9ctTlKInq3NlobPQlhDcvjX/hkTIs5ePthDPF4fMmIdT0w+Upgi3mvcB + =Ow1f -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2025-07-20T18:28:07Z" + - created_at: "2025-10-14T23:47:04Z" 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 + 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-07-20T18:28:07Z" + - created_at: "2025-10-14T23:47:04Z" 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+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-07-20T18:28:07Z" + - created_at: "2025-10-14T23:47:04Z" 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//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-07-20T18:28:07Z" + - created_at: "2025-10-14T23:47:04Z" 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 + hF4DQrf1tCqiJxoSAQdAP3YSzvfgRNuXtdYqEMvTDu8jjZAs6PhCDv1k/0RnShgw + BKUuJI06W4oXp3cchwLdc9Uy/ps7U2xbzAEbUGGjRu2/pqN+ETKkxwz8d3ID0Bnv + 0l4B1l/yKulQ1Umt67YFzAxPxdo38qyqkQkV9zP3NbjX7aRTPZOHRnYvDNjodAaL + dcznEAMP+18IvbY2Qohllz84KNREYUYLHWN7WVA8DbMS2KcvJk3YP0xlMXKKuGKm + =9OY4 -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2025-07-20T18:28:07Z" + - created_at: "2025-10-14T23:47:04Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAhDhJSPNVIKftCaEQI29AU0eiU9Bwmm/F/gVl/Pm+zEAw - HZKLksOb75mMeWElV4oIqXd1YXOfkSbOwuEBurgztLD9d4YWagjmUpckoWJBBvwu - 0lgBjlkvxjf1d9xjEWTUw1rzjIlDRL4f2GJl2NuHoHJ4zbnJCUDe/UC5B1UXin+t - JmpvPy+/RJdXl7Hn2GZXC6XoO/GopbiADfLJ+Bm6j7myt2fPW7JtvIG9 - =qwle + hF4DzAGzViGx4qcSAQdASfYc3nVVgO+E3WnggKJ8x1bdgMdTlaTXKI+Mpmhs6www + mgZetbtHTEKDQLGWt3cmIezG3+wcwulrFDWXE8nT2h1Onb2bEYvXxkZlPnb4+kuw + 0lgB29OX0Zj1fWH2kcO6nxwvb/ZtJtoqXOLl2gpeGP8J+q/UdRE8+9dgef4KRK1m + oVbiBy2qHVrk68dTyZnt/kCz4vog/mjt/UMtNdqenywyGs0CuuPDKOyG + =XZU1 -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2025-07-20T18:28:07Z" + - created_at: "2025-10-14T23:47:04Z" 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+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/grafana.yaml b/inventories/chaosknoten/host_vars/grafana.yaml index 1ca6b1bb..b87a1989 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 @@ -51,17 +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" @@ -97,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" } } @@ -110,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/keycloak.sops.yaml b/inventories/chaosknoten/host_vars/keycloak.sops.yaml index 1436f8a4..73026b31 100644 --- a/inventories/chaosknoten/host_vars/keycloak.sops.yaml +++ b/inventories/chaosknoten/host_vars/keycloak.sops.yaml @@ -4,222 +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-07-20T18:28:08Z" + - created_at: "2025-10-20T19:03:02Z" 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//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-07-20T18:28:08Z" + - created_at: "2025-10-20T19:03:02Z" 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+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-07-20T18:28:08Z" + - created_at: "2025-10-20T19:03:02Z" 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 + 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-07-20T18:28:08Z" + - created_at: "2025-10-20T19:03:02Z" 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//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-07-20T18:28:08Z" + - created_at: "2025-10-20T19:03:02Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAVZpG1ilk17Ksf7kIR7ZVsUc2FuWFd9Q4n2TSO9Ob7Hww - tK9/DaPvDZkzncOqvqeMrnoy9gPY5EHo1CoGGEfWx6sBj3SdUS8SyqbHinqnW0Ev - 0l4BJ5y4mteeiKEdu/wymJC7x7PtC9ta4Ox+TJbUaq0iuqVANKClEdQ61KnSdTZH - JUKN73+qZwgD7sGmHqt9FM2TwyRzLSPhJpr31rqfz7/gWx4rhlcHmw8fShSTt/Nb - =YHt8 + hF4DerEtaFuTeewSAQdA/k+VqkHz5pYFUppWY3oV9YTayH3jeHOzQhGz4fIqiUow + N9DXVNvXoHyOVmH4EW+AIrDcunUFh3JZL2OLw8zSmwXw2vdw6wfCEP7TuG/xtpmG + 0l4Bo3JAPGe48qDDPxUQke8CAYuMLeAMo7i+yAajGOzB17wv1kyfI6gjOE1YN1Zz + TVpn0QL9dBoU3l1zdxueo3IX3EnVGvmDWx0ZOD6IYBqCI9ywYVfUBSRnU0hTvnmb + =0xE5 -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2025-07-20T18:28:08Z" + - created_at: "2025-10-20T19:03:02Z" 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//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-07-20T18:28:08Z" + - created_at: "2025-10-20T19:03:02Z" 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//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-07-20T18:28:08Z" + - created_at: "2025-10-20T19:03:02Z" 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 + 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-07-20T18:28:08Z" + - created_at: "2025-10-20T19:03:02Z" 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 + hF4DQrf1tCqiJxoSAQdA6LlIV/tP2myea1X8BGHbF0OdTkLRPk2M659U+Z4zAigw + g/OspH8USPFrJQf4OdvoOASv4mIUlr6XiZ98WdgSR47TdEmfLInaJMN5BxZ0PRPf + 0l4BJ7gyU1pjxibIMm3cJz33+AfL7st3F0p/aWsbneytlGF+GWRLQpnEjt2pO+Y6 + tjRVCIbZ52zdZKu8p4HCo8YlGujWuyLDoxs5Ra2k8MvZ8wn+2vwQ9rldWqRKxikA + =OHMy -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2025-07-20T18:28:08Z" + - created_at: "2025-10-20T19:03:02Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdA4xYlygBA92kiyWrSqky+2gpCEPIRjSwfzwPkK38XRlsw - Zjr8hIWzDiGd9uYE6mwdUMY/OuGZhq78ii+vRl/ul8bINDq1XQtG31MAV0sUhMaF - 0lgBSAg93UUf2PK2Mme5QXqHBXwkMN1/pjIZ45h+EVedTrW2nX0VzdOy/yrr9Z8+ - Jr5jQarfxEmvY2TJpUc2FRJHoWOqtYelGqjixRtJ3p4ZkhdPS6pJezfL - =sUyW + hF4DzAGzViGx4qcSAQdAQUT3qNMP0m9l9ZNUzE2QI957/0Cb8ocQLFg7PGsR4Tgw + 60xK6O5zxpTpRMWu2iddr4ducvsEHvZxOykmY0fFrLmmkZDp99ac1wd51YJTAcms + 0lgB73iny5g+GUvM/s9dgbJwnFvoGcHOJapbhVBl0QpT4HylDtdbskNK07lTNqys + cf2Qj+2wvYtVCciHirXNUhOHEtY7IoJDQk7SubPBEZpMoAj6zstqhhLi + =4ph8 -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2025-07-20T18:28:08Z" + - created_at: "2025-10-20T19:03:02Z" 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+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 00000000..0f17dd25 --- /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 00000000..e7024f3f --- /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/netbox.sops.yaml b/inventories/chaosknoten/host_vars/netbox.sops.yaml index 3ae3b55e..a9b53628 100644 --- a/inventories/chaosknoten/host_vars/netbox.sops.yaml +++ b/inventories/chaosknoten/host_vars/netbox.sops.yaml @@ -1,222 +1,213 @@ 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+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-20T18:28:09Z" + - created_at: "2025-10-13T20:10:51Z" 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//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-20T18:28:09Z" + - created_at: "2025-10-13T20:10:51Z" 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/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-20T18:28:09Z" + - created_at: "2025-10-13T20:10:51Z" 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 + 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-20T18:28:09Z" + - created_at: "2025-10-13T20:10:51Z" 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//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-20T18:28:09Z" + - created_at: "2025-10-13T20:10:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAHaWsbzMdKQlM4f16MMkD06MaR9hPsvalNE1/K4d8Mygw - j5vWYfwadl8XuI/GRoyZG8hnddb0Vg545yVcHk/+0+W/SfWFzwhhvDUX8H6Qr8n8 - 0lwB89rZt3ztUxEN+C/0UAlhFZVb1OWZ+xpDC2u53j3f/zxAtCUKjJA/cqlL9sLG - u037d6B3Wn0XZsmC+jK67BFZiMWs4ZD5oM03rXMLqTVMuDzjV0LO5rUFDgiq6Q== - =CzYe + hF4DerEtaFuTeewSAQdAMPFQYlbeRj/MpVx7JfDp75l/NOiUN71OspQ7YL9iey0w + CqwiSo+D/xRQamcxSHX6CK3fPTj2sneLztFo0i8RlQ1ElMm9BL4UpWXh3Y8X+6np + 0l4B/NWek19NSsnockklHuZcrwRzbnutW3xtDKuLUUSMCuZ9mKD/RRe2lHyqcGdG + TNRW2buI+jpGQNXDu5KbPicJP5LfSqMofWk5mRkmhpDy+va/0UAGnnaCulAQ8eNy + =0rax -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2025-07-20T18:28:09Z" + - created_at: "2025-10-13T20:10:51Z" 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 + 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-20T18:28:09Z" + - created_at: "2025-10-13T20:10:51Z" 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//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-20T18:28:09Z" + - created_at: "2025-10-13T20:10:51Z" 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//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-20T18:28:09Z" + - created_at: "2025-10-13T20:10:51Z" 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 - -----END PGP MESSAGE----- - fp: 9DFA033E3DAEBAD7FDD71B056C7AAA54BE05F7BA - - created_at: "2025-07-20T18:28:09Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hF4DQrf1tCqiJxoSAQdAr+L6oXEIIepvoeDrCt4z9snnaxL/Pmp6dpCAkxaXXmIw - 5J6eEv5G83So6+XXJXvOaoneKu5qevc0fSbEBAhJfKBUYk/ygb5seBcGycBWQhDL - 0lwB+3jIywPou71D15VbcMJQuWshrGPkpEf8/7aaL3kiZAQbxtuajECD6/0zk9E5 - /owG/AWfR/W8bHJ2S/CFHb+m+aLHWI0emOg/OMGKjLG4JrarB3tbdsPcdH+8jQ== - =K0rr + hF4DQrf1tCqiJxoSAQdAF6ipxbyfHFiQdfLBZS+MG4OqjwSK7DuaoeajSKAG0V0w + FDR1EWxsLF4XO8yKTjK0J+iQeJTiAaBxACpdB50H1XAsvSSZNSTF0yxa4VT1t4OG + 0l4BgosZR77tSvEyxwA4JCq+PdLraCh6TEHP5jNCTDfjGRSKMQel0mDxxC3+wk6Y + 09UP3kq9OLSzy3TJ68/Dzdalt7DLmUDymdw4Ge8RKMLOHWIkCXqjUr7Pj1aRi4+t + =ItUL -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2025-07-20T18:28:09Z" + - created_at: "2025-10-13T20:10:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAkzDgkAALby9UfWjtDDCJEgMH/tcIAHWeRqOx7CyojjMw - 0XdXIl6Q6x82GOnYKtJuFkvpGc+fSoREGiAVCOzaXi9J3vKUV410nSQEpyXuiC4c - 0lYBDC0rwF3mDKX7Pd7LZCH5ImaJiUB26Q6M2k6bfVhSyTygADlqcrvev6buc7sC - 1cfZdBGkTLJeqADe5p3+wJvHiUvK/VhlwV+hXt8PBkywDpSyLgaGWg== - =x/XZ + hF4DzAGzViGx4qcSAQdAkadkEUquIY01vNygyOa2ScTMkvQ8tNWVrFrWoenNJGMw + fszAyJblP70NGlNEX0zorSMxGbyMhYyHqTO9qM0+1+Tc6yJ5mqMUgt9kdvKJEGX1 + 0lgB0eihxUD8Jl9lxuD7dEX4i2AUppoTzVB68Y1ibeIzmjABoNuZQ9kpAAQS9UsL + WF4T78p/mA75XSJPyp8lQNB5+hjWd5OM8bCZ4fG1ld+dtXhZ0C0WvIvB + =DkSc -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2025-07-20T18:28:09Z" + - created_at: "2025-10-13T20:10:51Z" 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+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 - version: 3.9.4 + version: 3.10.2 diff --git a/inventories/chaosknoten/host_vars/netbox.yaml b/inventories/chaosknoten/host_vars/netbox.yaml index 47268856..2c68c171 100644 --- a/inventories/chaosknoten/host_vars/netbox.yaml +++ b/inventories/chaosknoten/host_vars/netbox.yaml @@ -1,4 +1,5 @@ -netbox__version: "v4.1.7" +# renovate: datasource=github-releases depName=netbox packageName=netbox-community/netbox +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/inventories/chaosknoten/host_vars/ntfy.sops.yaml b/inventories/chaosknoten/host_vars/ntfy.sops.yaml index a839591f..1328d664 100644 --- a/inventories/chaosknoten/host_vars/ntfy.sops.yaml +++ b/inventories/chaosknoten/host_vars/ntfy.sops.yaml @@ -1,227 +1,216 @@ -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: 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: "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-07-20T18:28:10Z" + - created_at: "2025-10-20T19:03:04Z" 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//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-07-20T18:28:10Z" + - created_at: "2025-10-20T19:03:04Z" 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/+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-07-20T18:28:10Z" + - created_at: "2025-10-20T19:03:04Z" 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/+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-07-20T18:28:10Z" + - created_at: "2025-10-20T19:03:04Z" 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//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-07-20T18:28:10Z" + - created_at: "2025-10-20T19:03:04Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAHtMliHz0MplHDFWRgKJFtfN96CpI+DOnUZ5j/QbY4H8w - g8NzKK7NUd5UAmPKHpO/yFiVUYltXkgJqIrd0QAZ5jBVHSKLmhdxsqWIRnUSTRqY - 0lwByOPxnHWqi9I0kpwAHcvCqohuIw0k3cihZiGjFGclNtUU24uc4uT9GyX3qxGu - jDhRd0qke+wM+NzJ2f5fVLYjCC7bTBV9q46unsnuvAidU0KXm6S35YlpTgcZ9g== - =lPzg + hF4DerEtaFuTeewSAQdA3h6kExo61dH6kzd/MEACy9ObjPq7Pd/5uOHAP5iqxV0w + rFjatsAuot3hYdCt0tAXcO1lmS7VEpyw7oPQC26FYigOymsG3TRJR0VNcael6xvi + 0l4BIRwRuSyXhy2A/67MWMK4WvfOHufBZg+8qvlhIFoa969ik0LWkaRNokOaiLr0 + e3SbOipBlJFyzbtMNHVnmNuFLEmYWdXTC7nw9roE/h7H1ngtFKSXFweJRWbX2JvJ + =hYiQ -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2025-07-20T18:28:10Z" + - created_at: "2025-10-20T19:03:04Z" 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 + 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-07-20T18:28:10Z" + - created_at: "2025-10-20T19:03:04Z" 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/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-07-20T18:28:10Z" + - created_at: "2025-10-20T19:03:04Z" 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 + 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-07-20T18:28:10Z" + - created_at: "2025-10-20T19:03:04Z" 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 + hF4DQrf1tCqiJxoSAQdAcT6G39wB3Ev2Ygwqr5Grt9vZOzASGQA+ikmZwiXgomUw + 5+EbqDaGbHUu7WQKxcqTn33HADL36GUJkdbJSDrBZZxFlEM10z6MYhEwqKaXKTno + 0l4BVxsRuwpvgBkQbNDUd/lLj9VfWqkAqkaarDeTYp4Ypb4KJrwdq0E3S2dT5RKK + kusbNAZhVfHbnV9p6u7II4mSXykzFd6yiyULU7m3VYh0mzWGp1rD7zoKa1aJanXm + =ej6v -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2025-07-20T18:28:10Z" + - created_at: "2025-10-20T19:03:04Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdA8drCpM8XLKp63D1s1owbpjULc3cUNVXE0X5UQZsvLjMw - EhgiZhQ1kobdKKXkGfCIY4sjtl7/QY/uuro20n4kZxhEgwZcBBLbUjZDOfCXb2S7 - 0lYBSQqptAsnjkv9LwbbysuLd9i8WY1vKexAPA+cpvJgHwhtt4Ia/2EwQ2IMJBpm - MunAOhG+rvonQoUKxFB9MeCIX2hW9IywKWqBhfxFS8/r9VQ1V/fX4A== - =TgPw + hF4DzAGzViGx4qcSAQdA8PCFPQ53k9ff1PZgbIjZjjiQ7NC/Lz99FMBDm6JXd2Uw + mzu84dVlowjWhal2Nhv+Ll5CX1da2hAsn2EfHUms9lVVvjvLgckQrTz8xqtdsMj7 + 0lgBhjbiSrz+4pAzNhkQiQEdLrxPuo3L3z19lc+f/U8HHy/nnDMNgB6Y2ptJaaPP + hk1apratKJXwUl2X70O7O2Muyt/xwbSGRWaTrZS4X7OVK0ONsgn6Ctl6 + =0cNg -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2025-07-20T18:28:10Z" + - created_at: "2025-10-20T19:03:04Z" 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+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/ntfy.yaml b/inventories/chaosknoten/host_vars/ntfy.yaml index cab4e761..2d68bfaa 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/host_vars/onlyoffice.sops.yaml b/inventories/chaosknoten/host_vars/onlyoffice.sops.yaml index f2a74e6c..f862adbd 100644 --- a/inventories/chaosknoten/host_vars/onlyoffice.sops.yaml +++ b/inventories/chaosknoten/host_vars/onlyoffice.sops.yaml @@ -1,220 +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-07-20T18:28:11Z" + - created_at: "2025-10-14T23:47:00Z" 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/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-07-20T18:28:11Z" + - created_at: "2025-10-14T23:47:00Z" 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/+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-07-20T18:28:11Z" + - created_at: "2025-10-14T23:47:00Z" 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//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-07-20T18:28:11Z" + - created_at: "2025-10-14T23:47:00Z" 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/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-07-20T18:28:11Z" + - created_at: "2025-10-14T23:47:00Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAc6c5dDqGPJ7QNl2X9UEg3CqJGfRGNEymq34kyfWwNgsw - 0Euc9d8VaeVZzZRP0CltaxdiS4L3BiSm0mBJAcguygM3FCISZI3qrt1ZdLfWk4Y7 - 0l4BZ8OFHdUOwHjd5CzKILYG6KVkmQLadzP+DMzavjFnXcLZQfT5QScBHmQVg+kO - 3jH26Jq/opnuwF5G1hE4cULrfryvMV4pR/rS/QP3Cro87+HTVnZv0cRE6JlWXJyi - =Uwlf + hF4DerEtaFuTeewSAQdAiDe3AmA1YEWBmE0IQDQPUhmazg4sLkvlhQgQdmRIBUow + E2RIHYKMDjHErEOSLEHSUZuuswuVe7sdvEi/sezQT7DgrTppQIAfVoQaWG60ilPE + 0l4BjDaIQj3xJZWRryClVQ6J5O3tizSYB4fuAmx86bK4X4MarpJvXTRgvDA1Qn3v + PPG/5jCheQ/zx19ufDyZdHs8Zsa3SLvxt/J9tryVfaRuAdp4RqvoKwXPtjej6JT/ + =aT0u -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2025-07-20T18:28:11Z" + - created_at: "2025-10-14T23:47:00Z" 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 + 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-07-20T18:28:11Z" + - created_at: "2025-10-14T23:47:00Z" 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//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-07-20T18:28:11Z" + - created_at: "2025-10-14T23:47:00Z" 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/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-07-20T18:28:11Z" + - created_at: "2025-10-14T23:47:00Z" 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 + hF4DQrf1tCqiJxoSAQdAJmnvghcmfK64sCnqVjjFj7GpQk2gOu9MCxOcMMgcHRsw + Eavo/MAiHqzuT3lSFfDWhvcjSL+jimgw3yqYMoEzTK6RbNNJHroRAOunuQ/fofMf + 0l4BUf62EBKB7XFIO/Pk/zcvLRtvZZSGIr7qczX4IgFxt9VSPljmDOnSnCKPR+rD + ieSVMMq28nlAOwm1pnyH3X+qQvDvQmyrz40UW72I7i+T1mBPLXqdleu3YypbzgOv + =TcFO -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2025-07-20T18:28:11Z" + - created_at: "2025-10-14T23:47:00Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAI999uiupFybQLd1PFvc8U3Iubq8C1Ak7MSeInUWtHAow - /0AFYupRiOj4plWENTnOtSLaJWaUPtxH5IPmqCti5zZa3EiNaDZi+rQ0pgcMIcg+ - 0lgBQ7C+PTBjVdFNSwbfqTNIA9d+Dnx58rAmv9gnJT29ersC7q30kA6XXt0OORP8 - +Qw94iehnPRN4wIFunyBpB/T/rosnCQwl1o4YF8Qg6c6i33Ka40PKfbk - =0oiT + hF4DzAGzViGx4qcSAQdACOXxpkI7QrdFaQjtSs6pjCjH7BWY7oydAWvXewLkgXcw + Xu4rDdYRln9Qu3C9fPcuKPkWGIGQzHRGgxo811iJ6hSx/TawgIekzgpXiORjB10j + 0lgBlem3eflbCRqCLzB/LTBk70nDb36E4hmzlEW7+YvEc7YVv6eB6+M2+ztsYHC0 + qyaOm0oy7IPZz5Wo5Refu4ISa25YH5bvZcrWdmcPMhP1B5OZ4YOZlVGN + =k/e5 -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2025-07-20T18:28:11Z" + - created_at: "2025-10-14T23:47:00Z" 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+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/pad.sops.yaml b/inventories/chaosknoten/host_vars/pad.sops.yaml index 5c46042c..f1ceb751 100644 --- a/inventories/chaosknoten/host_vars/pad.sops.yaml +++ b/inventories/chaosknoten/host_vars/pad.sops.yaml @@ -1,222 +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-07-20T18:28:12Z" + - created_at: "2025-10-20T19:02:51Z" 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/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-07-20T18:28:12Z" + - created_at: "2025-10-20T19:02:51Z" 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//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-07-20T18:28:12Z" + - created_at: "2025-10-20T19:02:51Z" 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 + 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-07-20T18:28:12Z" + - created_at: "2025-10-20T19:02:51Z" 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 + 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-07-20T18:28:12Z" + - created_at: "2025-10-20T19:02:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAV8YVHRPgSGYaixgIXdc6id8t56XZoN/E9fpSCa8TZSEw - 3boOWRPqAKNXtSSlo5edVKc0aKGT8SNSpcj0iZPNIjT7LjN8cX51Agbh8m/7WSwx - 0l4B9PGTl+6CNGVMqeRAgAmk4j+5lopHFvVOTzhdTKTGHSMSXDTWDzSRIGScTYjh - A7RSeNn9Plh1BFaOaHCRoe2ZN8/GiACU6YRdaaChCxfTurRqA6Tg0hrW4Hi/FcbP - =m6s4 + hF4DerEtaFuTeewSAQdAc9abZ7m+uvp/RNWkoOIo369V5WsuNtAVs0A1ktTctwkw + xUSaofi3bI6UJcwoITA0eAc6cv7FwQnYp537kZgHrUhoo8TVbVEa2CTSiiJTlf2k + 0l4BRQWRZSsXT8K+7ohukFB5UGzXAcbJHxxVb9oLkgmVJmkTsR9U+Vhce1t+4kvk + x4EXxgBpyCIBx0ZEW0TIG80UvYnX+ny40RMg03oAg965hH14GeQnLYgby6VDlCCf + =8d6o -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2025-07-20T18:28:12Z" + - created_at: "2025-10-20T19:02:51Z" 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 + 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-07-20T18:28:12Z" + - created_at: "2025-10-20T19:02:51Z" 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+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-07-20T18:28:12Z" + - created_at: "2025-10-20T19:02:51Z" 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 + 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-07-20T18:28:12Z" + - created_at: "2025-10-20T19:02:51Z" 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 + hF4DQrf1tCqiJxoSAQdAtH7dYUPIUbkcD1k/qOkBUW/xrIizSLzwO1z2a8QC0Cww + RVl835uxs+sv761WBO0q/N1ZJSQ7I+K8HwBD5zI+0mq0Qy3hqFKwA1l2lwhLcDfe + 0l4B9WdrtK2c4DSS4AwZ81Xih5+6orMejRWAjRQ3H+IPNo8ox6u6CQ2ewfFQgqxX + 2BdyCvcYdfJAbOj4lHDVLOZrv/926ulTWoPozzQjZcxUuyAXIFFY4sJ0wUSY+4OI + =qnuh -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2025-07-20T18:28:12Z" + - created_at: "2025-10-20T19:02:51Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAgim7RmvpCENDIfjVUrEW9y7BKKfZCzDDjAo7DMKibm0w - fnUxNm6hFRKfZGNw7YRIZxrlkBGrzj3lQaudBzOw+Y28nKK+wjltrX1JjgDA2aQk - 0lgBWY1AIVKdyzJustVIuOwTu1GfLelPKpzT4lFAnvBrs6rEI0DtVgiUtgIxn2aK - ynDbN7LSJH/K84CigYCKzKdY7g9eg6uKuS9QWaDV//oMZbdUijhtK2M9 - =/TsU + hF4DzAGzViGx4qcSAQdASPQhebBJb6SL/p1DOH/lBRcRr48+YRp6gjqEbWwBhHQw + OaYqBiWsSxJ+YS4Wcy6aqJvbqgVoMY0ZcyI3PfzwIaNsjKqaw0U6KXK+lXA0DfJP + 0lgBUcPBBIAKatz5IRX8zFMdhR0HxfAIe+0pwMwW39FnT1HXkPy1s6ccqSgDEnH/ + Arwr0Iz6pAzMdJzDfpRDaXLrI4+x6jmZCAm0rXaeDXohOFs2C2y/lzrW + =9QK9 -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2025-07-20T18:28:12Z" + - created_at: "2025-10-20T19:02:51Z" 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+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/pretalx.sops.yaml b/inventories/chaosknoten/host_vars/pretalx.sops.yaml index 9d5082f3..f143970f 100644 --- a/inventories/chaosknoten/host_vars/pretalx.sops.yaml +++ b/inventories/chaosknoten/host_vars/pretalx.sops.yaml @@ -1,221 +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-07-20T18:28:13Z" + - created_at: "2025-10-14T23:46:52Z" 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/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-07-20T18:28:13Z" + - created_at: "2025-10-14T23:46:52Z" 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/+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-07-20T18:28:13Z" + - created_at: "2025-10-14T23:46:52Z" 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 + 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-07-20T18:28:13Z" + - created_at: "2025-10-14T23:46:52Z" 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 + 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-07-20T18:28:13Z" + - created_at: "2025-10-14T23:46:52Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAI/McyCJvJ2mjfuNy5cYD8yerRzaI6hr3DQhym9u2Pz4w - Xmzw8xhS2pLF+9wByaWzPa6wZNhcOw4FuoY/vuX7esfkiy8hOolggOo5N/b5OOtU - 0lwBy2eZXcWslQn0ywspNjRLSCMTvMtgjP+Mj+Yz1RFVuuzbf8nx6KndgghNJLeM - yu37XTzfcq+uoTbeAuZVtHS1JFrHbqFvuRNnqF+DA6xI7VY3TMJMhpS5I5J7dg== - =/a2s + hF4DerEtaFuTeewSAQdA8gTHsk6g1gSvlQUmqaf2mCQIHQWApJaS/fBeX1ZR2lQw + nDLf4R06KPbVLpCWNc/3qE5H5T6InWPVzO/NOvz+XKjGj3+cFYj9gdfXNzPeUVsH + 0l4BCr5BOG5puCZK2KmwDbEvoqXWdxMY98uW4hjWNvuQjVmvJIXLVkP6FriTHyoQ + uIFKN4VFLcyuQwbWKhkKQV4Mx13/ZMqNy+/Ujp6t9NWo9RYoZk6peeq4aneXHONC + =7Ovg -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2025-07-20T18:28:13Z" + - created_at: "2025-10-14T23:46:52Z" 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/+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-07-20T18:28:13Z" + - created_at: "2025-10-14T23:46:52Z" 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+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-07-20T18:28:13Z" + - created_at: "2025-10-14T23:46:52Z" 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 + 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-07-20T18:28:13Z" + - created_at: "2025-10-14T23:46:52Z" 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 + hF4DQrf1tCqiJxoSAQdAlzGw7eJ19tl0mlyKY8RX3nbw3YnD+HTDa/MKvTZR7Vcw + rzippnMP3k43C41VEd4li0YsX+y2N1jhagIuH/i7UmCEJRt7Twcv2E/S6cvPLNAb + 0l4B2ZvLw3dgA07vH91SqgXo19O6QVPpQAisUGy86thEl1fS2yFog6WspaiKe7Tf + r0137/wQSxkgnZOOUB4V+HOxf6IO9VYOo6MX8RTvu6w7CMh9kFYwgR0suydi0bRv + =NrMm -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2025-07-20T18:28:13Z" + - created_at: "2025-10-14T23:46:52Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAojcnJZkpCUbE4s+WspGi5Eu7umXR1CdYzHy2PeO3cxQw - AlPyrJ2Yz40wMB193w+7rH/mmtDJ+TQR7JdtUyjFh7qmTGHR3C+PkcxcMZ4f7hNo - 0lYBOsN8HfiXQRUz2OskzM0nohP41Y9+GJd5fZRPHMUDoXuW3vxVYlvHPs+y7b1O - qW9DN3zJPiDh00qpm8bL8Cj1u2XVvg53Yv6FIPbzqwnAWGIAMPY2YA== - =Li+p + hF4DzAGzViGx4qcSAQdAVZ6M0UQYg6ou1mm94d88BZDObl1RdEEw2AUlVkywKHIw + Uk1ZPOs+Sk67/yTMQtC4Kx7DFD3u255JQw/OY6GK9Rceu5/vqZUk31D3w0A1FBmW + 0lgBX3sZvCE50V+qRdAlILF0OfeoagfrA3pnOpAME6qjGHrdrzmyzJSlpYsN7aja + 953m7SMAzX15zLs0AjmOoOIIbnf1ctcLjmBxii67SzW4PJUtHzkc3YLO + =+Ubn -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2025-07-20T18:28:13Z" + - created_at: "2025-10-14T23:46:52Z" 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+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/public-reverse-proxy.sops.yaml b/inventories/chaosknoten/host_vars/public-reverse-proxy.sops.yaml new file mode 100644 index 00000000..c256d90b --- /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/renovate.sops.yaml b/inventories/chaosknoten/host_vars/renovate.sops.yaml new file mode 100644 index 00000000..3f00cb0b --- /dev/null +++ b/inventories/chaosknoten/host_vars/renovate.sops.yaml @@ -0,0 +1,212 @@ +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:Dw4MBY9HvDRBdyp/hBsKZYeqZ6nLpuMAJAJ98i7ZODxUclMh6X73+g==,iv:kttRN7fG94Za+BN5tVyp2MYJJOnUYX5GrnzmhhKf4sY=,tag:EwYobl1TjwJ2AlVTD/f8bA==,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-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: |- + -----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/host_vars/renovate.yaml b/inventories/chaosknoten/host_vars/renovate.yaml new file mode 100644 index 00000000..17b97375 --- /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/host_vars/router.yaml b/inventories/chaosknoten/host_vars/router.yaml new file mode 100644 index 00000000..adbc8d95 --- /dev/null +++ b/inventories/chaosknoten/host_vars/router.yaml @@ -0,0 +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/inventories/chaosknoten/host_vars/spaceapiccc.sops.yaml b/inventories/chaosknoten/host_vars/spaceapiccc.sops.yaml new file mode 100644 index 00000000..4f06e92a --- /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 00000000..3689be7e --- /dev/null +++ b/inventories/chaosknoten/host_vars/spaceapiccc.yaml @@ -0,0 +1,15 @@ +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" +certbot__new_cert_commands: + - "systemctl reload nginx.service" + +nginx__version_spec: "" +nginx__configurations: + - name: spaceapi.ccc.de + content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/spaceapiccc/nginx/spaceapi.ccc.de.conf') }}" diff --git a/inventories/chaosknoten/host_vars/sunders.sops.yaml b/inventories/chaosknoten/host_vars/sunders.sops.yaml new file mode 100644 index 00000000..559bc80e --- /dev/null +++ b/inventories/chaosknoten/host_vars/sunders.sops.yaml @@ -0,0 +1,213 @@ +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 + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGYmdmSjc0U2t6clF0eEVw + eFRjaDNZQ2VrdGdCMTFLd0EzUDN3TG9QVzNJClp5NUZEaCsveitxVmNZd3VkR0JS + NFlWcEd3WlFYUEZaVmVhTE5OMFFLNTQKLS0tIHRFS21OeGJqc2lPTDFuSkRwYll1 + S3NiK3R6UWQ5UU0xUmYwa1hqMUo5c28K4EVQwBcALc6k53CNsemfMy2s6AGO5LJf + 3U1zeFtEcsvEnUfkvFT//M7cB6pUqQF0KIq1VnnFoQF7IpvSN23lxg== + -----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: "2025-10-15T08:45:25Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + 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-15T08:45:25Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + 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-15T08:45:25Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + 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-15T08:45:25Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + 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-15T08:45:25Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DerEtaFuTeewSAQdAIoIvHLe5CKp9zHMCCa5+pAa+NSNGuEl0eSC04ZgLHDkw + 1SYTz1t23cM3UjK1lRXkRVaGeM0U5G0v2shY7zb8XomNxPmlXmc05xYLIkM/F/dt + 0l4Bb55iZgJXODO9B89qQXvcPqdd1Du2W+jvWK1uxDzqUQojhfOMLgwtF9UIjV8l + atM1bQTX9413XOMDvSGP3A51iyzYKGBU5Gmm01IM5WsMttJxdY04uzXanHli2ynY + =Xi7e + -----END PGP MESSAGE----- + fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 + - created_at: "2025-10-15T08:45:25Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + 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-15T08:45:25Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + 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-15T08:45:25Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + 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-15T08:45:25Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DQrf1tCqiJxoSAQdAbH64m1QTpsgWwOJpudkwpsaxzoSDEfljEnIiVrzArmww + OMDXywm+1iiRpnbx4IL3LsoHCSe6KJah6ZJdLbohv2AbL8+vcZ7FIUaBbeMXiEGZ + 0l4BpWjzCauPu4IKBbtHN1TVawGljnNHzNbhjdCeiA0YQbeAp55vQufmJcIOEFzV + 42fFXTqa1bGbeOKjCV26mSQX34DOT81gH5dcjHtv8cDTsOsGqmft2faknKqkaHFp + =GvTi + -----END PGP MESSAGE----- + fp: B71138A6A8964A3C3B8899857B4F70C356765BAB + - created_at: "2025-10-15T08:45:25Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DzAGzViGx4qcSAQdApdQiqrrqkcuXl4ZOORj9xDo9rgqDYfufdm+mcOdOrTgw + amysE1TCgugTEEoQn10VMv6IVJM+AwYsUG3LI4HkrnvzidsUm7YTfDvWBlZPgsar + 0lgBH4wfqCR5orVnsJkSazAS4/AKQHLZuRdlb3LKrxbCLas+sDWR18/lKjSRTWqb + YOJtFUsXcBWgmCsgFBvgLWEPExSLrCWeTKVzcycI3uL20BejUHU9//8C + =XVFg + -----END PGP MESSAGE----- + fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD + - created_at: "2025-10-15T08:45:25Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + 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 + 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 00000000..b3d50d88 --- /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/host_vars/tickets.sops.yaml b/inventories/chaosknoten/host_vars/tickets.sops.yaml index 6dfc6275..9b44b1ee 100644 --- a/inventories/chaosknoten/host_vars/tickets.sops.yaml +++ b/inventories/chaosknoten/host_vars/tickets.sops.yaml @@ -1,220 +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-07-20T18:28:14Z" + - created_at: "2025-10-20T19:03:05Z" 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 + 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-07-20T18:28:14Z" + - created_at: "2025-10-20T19:03:05Z" 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+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-07-20T18:28:14Z" + - created_at: "2025-10-20T19:03:05Z" 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 + 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-07-20T18:28:14Z" + - created_at: "2025-10-20T19:03:05Z" 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/+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-07-20T18:28:14Z" + - created_at: "2025-10-20T19:03:05Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdASqL7jPR42Su2gfaIPR7d/yMSKLr7AAiUJMW7jz39A0sw - 86w0HyFUh/fe5DY2VGhYg9Fw90I+tNnSPFxNjgEClosdUs6FBe43UvSxsNtUpg6O - 0l4BqTuQX4R+nTQ1f676JRT6xIoyO+N1NMq7BAWOxrkte4nCAwPjzK12Xo4IwNCD - /hzfJTdYonnihE6AXe9eoURWa71j0ZpVn7G+m44e8j8vXk6Ep0AI9gtYqXo3EQ3A - =KlAv + 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-07-20T18:28:14Z" + - created_at: "2025-10-20T19:03:05Z" 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//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-07-20T18:28:14Z" + - created_at: "2025-10-20T19:03:05Z" 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//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-07-20T18:28:14Z" + - created_at: "2025-10-20T19:03:05Z" 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//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-07-20T18:28:14Z" + - created_at: "2025-10-20T19:03:05Z" 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 + hF4DQrf1tCqiJxoSAQdA009TV7DH++wcvU+3nwA3Romc+DPa2QbF9QAQpLTV7j8w + XCT0y3auPS26f6+1VoyKEVCcbbJj04WfS6LpQgFzh0zcveW9eCPmyfJUQexsslCV + 0l4BxxywC4sThDoU+x/SjsX9Ux5s8Jxt+p+6meXIBN2r5uZ6UOvnbV0GLd9Y/IeG + oZuyB+KFwgWEGkdVskNe0LQ9fv7EMiklGOqeu1KeBP7dJyQp4ch0IctG4lX1bnOP + =qfjj -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2025-07-20T18:28:14Z" + - created_at: "2025-10-20T19:03:05Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAuaqVtpUu32jS7+N6XAZgiiO9YZccwXlyVrdtBD0Yhh8w - ieJT+Cel69Ewax4TsMmBhNLGchI+XIGsbGymSjEpXxj48gkW/z/bRwhJddPb3kFz - 0lgBSKVyrRVaG3oRmSBVYrK/RovA+GUoatm1z4eD3twxVKFS9DcPjks51MrAuZ5t - WqV7WAhxXQ/jOAFyNzpV+qWs6hZKotzCc1CUc11ov8Mag0zDnuvMKH3V - =+xgp + hF4DzAGzViGx4qcSAQdA45UHDodM8FtfD3VgrYVRzfPgDrBqBYGJC8OOgULKbAMw + vyPiROW5sWFc2ghokzeSQqOOfRAwKFCgGHirI00IIdBdeDVGIV0m2MNmnd4uBGfS + 0lgBSUFt3MFTUMqc0yI7Jqae5a9cOXTRoR8Lt+W0KaEkciMBbdDHJktQbQHZ77Uj + 3d/NB9tW56YuP7UzAm3xm6dM6I/qehQo0bL7hOfbyNy+PuxUZglFCsh8 + =N1ud -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2025-07-20T18:28:14Z" + - created_at: "2025-10-20T19:03:05Z" 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+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/wiki.sops.yaml b/inventories/chaosknoten/host_vars/wiki.sops.yaml new file mode 100644 index 00000000..ea23e8cd --- /dev/null +++ b/inventories/chaosknoten/host_vars/wiki.sops.yaml @@ -0,0 +1,210 @@ +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-15T08:45:26Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + 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-15T08:45:26Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + 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-15T08:45:26Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + 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-15T08:45:26Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + 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-15T08:45:26Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DerEtaFuTeewSAQdAMC8JipxJ+7R7EF4Zg+b4B6kRYQ7vQc8GRnlPkMDCcT0w + XzaRfm4FrfiExhb+Cew/vH9l5uGR7OaTyAsplOqduD1sXwrXnr4LmRpbIaH48nuF + 0l4Bx8XjzP4dmCbZF8PyTNn5kqUPo77Hl/B2zHXYU6BXbhHbF79TQAnvkv/RbIyz + EgNs7zMf7HVU5whwU0zwp0e/SZHBpidFtk2lfgfYGaENSRSj74KEAk3SY5oLCeaB + =LeLR + -----END PGP MESSAGE----- + fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 + - created_at: "2025-10-15T08:45:26Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + 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-15T08:45:26Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + 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-15T08:45:26Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + 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-15T08:45:26Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + 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-15T08:45:26Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DzAGzViGx4qcSAQdAXgHEVvWms2IrfU6GEYx5K+OR/YwThlRSlDbna7SkIxUw + n8imZ5Q5X990XNdjj/L2AlXdVvj8wRulS4mdWEuyEv//DSY5nqVKD4BHE93xoqf7 + 0lgBAeIpAei4A5V1kdiuZkkh23tIkjDc+9bsJIGpa9uOilo/f1b/g7we2X5dsslp + 8Q7vwpLD53KbHlEi6ByaGX1unt5Ws4FmARmzV9SF4adzkN5eoGYQknLI + =R94Y + -----END PGP MESSAGE----- + fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD + - created_at: "2025-10-15T08:45:26Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + 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 + version: 3.10.2 diff --git a/inventories/chaosknoten/host_vars/zammad.sops.yaml b/inventories/chaosknoten/host_vars/zammad.sops.yaml index a00ac6d7..91906fa6 100644 --- a/inventories/chaosknoten/host_vars/zammad.sops.yaml +++ b/inventories/chaosknoten/host_vars/zammad.sops.yaml @@ -1,220 +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-07-20T18:28:15Z" + - created_at: "2025-10-20T19:03:06Z" 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/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-07-20T18:28:15Z" + - created_at: "2025-10-20T19:03:06Z" 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//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-07-20T18:28:15Z" + - created_at: "2025-10-20T19:03:06Z" 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 + 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-07-20T18:28:15Z" + - created_at: "2025-10-20T19:03:06Z" 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 + 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-07-20T18:28:15Z" + - created_at: "2025-10-20T19:03:06Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAt0jnb3zKN+/BVpWpm3R9XJuyGmu5fMPFfLGrjex3VT0w - JVs7elFZRTtTI3dRiIgTMnP0FIYu8Kwhr0OjjmnBScfWmu9Tc+wwEbCra9U62Xmf - 0lwB138WLDEtAjBIkqHgoEnGafwEqIAxFotbOfTffcSQU8xr11qSuDkPDEhY0zws - XXpGyCTDGFWOH4l/+OZIp4TFAjyMWwfV22/cnEyz7JOlF0syYSnxYmj3Cn45qQ== - =MFpS + hF4DerEtaFuTeewSAQdALpcxVqWAeHmiCiRbICOxovMiwCzNGTTs4qbala850yow + r1ZKkG8HIJOybZtEs9DA3PVMMU2hMCrmsrbYbisZSn8TeCzchNc04kfLU4TdOSHl + 0lwBs3ScY2EgYHIe3WOcBvy6r96da8XLfDMfxYlP4QGkbp1spurrcQe7H7V99guB + TxoubvEgtJ8eMlfXkWjxdOWEq9aUd0dr6x0nwAvivW0ApuNx01WCTYuscgsKxQ== + =QcOA -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2025-07-20T18:28:15Z" + - created_at: "2025-10-20T19:03:06Z" 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 + 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-07-20T18:28:15Z" + - created_at: "2025-10-20T19:03:06Z" 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+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-07-20T18:28:15Z" + - created_at: "2025-10-20T19:03:06Z" 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 + 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-07-20T18:28:15Z" + - created_at: "2025-10-20T19:03:06Z" 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 + hF4DQrf1tCqiJxoSAQdA5BohdesewCWjbpIcOC262ZgqLAdYtqQcyJUND3GcKmUw + TqK7WKIfk8yGVuTF9cSQMqc8fURCt6Zfd+P1ITOh7Hs+QlbycxfLJZTS0Y+PE+sv + 0lwBdeZImzCIG8Z0y9fMRdcrEcZnjXykCP67o5QusyF1/xllkGdDPIUh1YHWq1ST + Jadqvwo6Z0toJLHbk2DY5Dz/eDi3BP1Oq0p9YxlB39rvRkaSIvA2Y3lba3bGPw== + =4c4A -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2025-07-20T18:28:15Z" + - created_at: "2025-10-20T19:03:06Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdAVvviZBDa021FiiyOf75HsZOjZeNACkwc4x+G7IqfUzsw - hpC9jPCWXGLxdJ3ME8kXRnnVuK+mO6fP7j+mt+Qq/gnsOwE/tG9xAfgbeN8HtUF1 - 0lYBLhlYSYhrE1XLqxaOY417iX48SQlkn05otmLeDMnz8FVkrKTHPw5A8+NbJH+S - /pUzq/YqYkz482UtIvT2NWxjjCFAq6CIoM3GG0QrWUjMXluTcI9+Fw== - =AIdl + hF4DzAGzViGx4qcSAQdAl9xzEuj3J+553qb7AYJMh/gl6cg7kCOOmuslG8lf9QMw + FWSFlSIUIVrerNf8eYnORu+ERTjGN7a52sVM695bR0EQCHVMkLH7HoNiVPZIgxvs + 0lYB3ENG1NtUCaAf1LRbTJdz/rfmciczPWF+FCGWy+H8/d9dy0VMEyS0HFWYdb8h + wTP38dybO5KEPLQo7nibGaqx7uYQtRcR/i8PLe4NF3THEnCAf4kOaQ== + =cRSb -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2025-07-20T18:28:15Z" + - created_at: "2025-10-20T19:03:06Z" 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+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/host_vars/zammad.yaml b/inventories/chaosknoten/host_vars/zammad.yaml index 88ad99c9..65ea3527 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/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index 93ea984e..395b154f 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -1,31 +1,31 @@ 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: - 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_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_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-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-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 @@ -33,41 +33,61 @@ 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-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-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_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 + router: + 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_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_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 + ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de + renovate: + 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 + 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: @@ -80,12 +100,23 @@ base_config_hosts: pad: pretalx: public-reverse-proxy: + router: tickets: wiki: zammad: ntfy: -docker_compose_hosts: + sunders: + renovate: + spaceapiccc: +systemd_networkd_hosts: hosts: + router: +nftables_hosts: + hosts: + router: +docker_compose_hosts: + hosts: + acmedns: ccchoir: grafana: tickets: @@ -96,11 +127,14 @@ docker_compose_hosts: pretalx: zammad: ntfy: + sunders: + spaceapiccc: nextcloud_hosts: hosts: cloud: nginx_hosts: hosts: + acmedns: ccchoir: eh22-wiki: grafana: @@ -116,11 +150,14 @@ nginx_hosts: wiki: zammad: ntfy: + sunders: + spaceapiccc: public_reverse_proxy_hosts: hosts: public-reverse-proxy: certbot_hosts: hosts: + acmedns: ccchoir: eh22-wiki: grafana: @@ -135,11 +172,12 @@ certbot_hosts: wiki: zammad: ntfy: -prometheus_node_exporter_hosts: + sunders: + spaceapiccc: +alloy_hosts: hosts: ccchoir: eh22-wiki: - tickets: keycloak: netbox: onlyoffice: @@ -147,6 +185,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: @@ -160,9 +207,13 @@ infrastructure_authorized_keys_hosts: pad: pretalx: public-reverse-proxy: + router: wiki: zammad: ntfy: + sunders: + renovate: + spaceapiccc: wiki_hosts: hosts: eh22-wiki: @@ -176,7 +227,26 @@ proxmox_vm_template_hosts: ansible_pull_hosts: hosts: netbox: -alloy_hosts: - hosts: + cloud: + eh22-wiki: grafana: + onlyoffice: + pretalx: + sunders: + renovate: + wiki: + ccchoir: + tickets: + keycloak: + lists: + mumble: + pad: + public-reverse-proxy: + zammad: ntfy: + spaceapiccc: +msmtp_hosts: + hosts: +renovate_hosts: + hosts: + renovate: diff --git a/inventories/external/group_vars/all.sops.yaml b/inventories/external/group_vars/all.sops.yaml new file mode 100644 index 00000000..06eeb17c --- /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 00000000..80d3efc2 --- /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 00000000..a67b8a13 --- /dev/null +++ b/inventories/external/host_vars/status.sops.yaml @@ -0,0 +1,213 @@ +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:adNtFvg2LXwRiNE7mvTZNO1hXxN3qasWZrDEQOGk5mYEVH0t9pglNrM=,iv:30xXR31qmrywLP3M34u6YgsyQY348zVvt9RM4/bGhtY=,tag:vhgpON0IdQ+FS4uQ/0TpsQ==,type:str] +secret__gatus_acme_dns_update_test_x_api_key: ENC[AES256_GCM,data:rBMHvYT7g+o6Rc+edjikYT2jn4wKnkOJWOMf5Ys1zjKpsRCKEF0PZA==,iv:Tp4ELKMfhxtwaJljW4sMCVgW3KCTL89NfW2/LQTmO1Y=,tag:YMbvE0xgLTYCFXche/mvFA==,type:str] +sops: + age: + - recipient: age1yl9ts8k6ceymaxjs72r5puetes5mtuzxuger7qgme9qkagfrm9hqzxx9qr + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA2Y0Vib1U3ZGpyZTlBNWMx + UEtCbnArRzAvZ0o1dmdJL0hSZERTR241RlNrCjZ6QzlJSEFhWk0wazlwRVlDeUlq + M0syWDZlc0o2d2NDYmVyUmJpWUdwdzAKLS0tIGR5NUVwMkprRnkxZnI0TmlGUGVk + RFl1MnI1K0h2MUhvYk40d2JjbDRaUmMKNlPo1s06hVdxAamKhJy4HhNDX8PKQlq2 + 13PjdTJub64fydGEJng5NigcnNcPo7goGLz5QV7vE+6bO0gNZxBmmw== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2026-02-01T21:17:51Z" + mac: ENC[AES256_GCM,data:YO5RoJnkjZeouYJa3ui/cRGLcpSzbs1Ou4D+XU9fZ6ZEc8snmLoN/e8vK91+9qigQECOc/WHHaln4ghYs6wNH+xje4ImCYL92p1RbMPvT8OoS3qu+pTF3sUfQfV/Rju61njNHA7XNAmGCxSiJQxgq2o92aoEB7qKs+AwCFEmTpE=,iv:QrRkSv4novqk3+YCnfFW59df1mvcGONTDO3zCUyXUME=,tag:oBy402SSczs3qyHhBpQqnw==,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 00000000..c2c26b30 --- /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 00000000..435a9bf8 --- /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/inventories/z9/group_vars/all.sops.yaml b/inventories/z9/group_vars/all.sops.yaml new file mode 100644 index 00000000..7c25351b --- /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 00000000..9a312517 --- /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/host_vars/dooris.sops.yaml b/inventories/z9/host_vars/dooris.sops.yaml index b3e5c65e..a83a288b 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/dooris.yaml b/inventories/z9/host_vars/dooris.yaml index 5813e3a5..8ae5287f 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/inventories/z9/host_vars/light.yaml b/inventories/z9/host_vars/light.yaml index 0336d220..0c7e11d7 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/host_vars/waybackproxy.yaml b/inventories/z9/host_vars/waybackproxy.yaml new file mode 100644 index 00000000..18540eef --- /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/host_vars/yate.sops.yaml b/inventories/z9/host_vars/yate.sops.yaml index f5c8f327..19853bd4 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 diff --git a/inventories/z9/host_vars/yate.yaml b/inventories/z9/host_vars/yate.yaml index b73cfa63..fecacb1e 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'" \ No newline at end of file diff --git a/inventories/z9/hosts.yaml b/inventories/z9/hosts.yaml index 4d847bf6..319f8175 100644 --- a/inventories/z9/hosts.yaml +++ b/inventories/z9/hosts.yaml @@ -4,22 +4,27 @@ 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 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 certbot_hosts: hosts: dooris: + light: docker_compose_hosts: hosts: dooris: + waybackproxy: yate: foobazdmx_hosts: hosts: @@ -32,14 +37,24 @@ infrastructure_authorized_keys_hosts: dooris: light: authoritative-dns: + waybackproxy: yate: nginx_hosts: hosts: dooris: light: + waybackproxy: ola_hosts: hosts: light: proxmox_vm_template_hosts: hosts: thinkcccore0: +alloy_hosts: + hosts: + authoritative-dns: + light: + yate: + dooris: +ansible_pull_hosts: + hosts: diff --git a/playbooks/deploy.yaml b/playbooks/deploy.yaml index 952aeeca..fe0cf78e 100644 --- a/playbooks/deploy.yaml +++ b/playbooks/deploy.yaml @@ -4,6 +4,16 @@ roles: - base_config +- name: Ensure systemd-networkd config deployment on systemd_networkd_hosts + hosts: systemd_networkd_hosts + 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: @@ -54,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 @@ -73,10 +78,23 @@ - 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 + roles: + - ansible_pull + +- name: Ensure msmtp is setup on msmtp_hosts + hosts: msmtp_hosts + 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/renovate.json b/renovate.json new file mode 100644 index 00000000..0e2bd7fb --- /dev/null +++ b/renovate.json @@ -0,0 +1,59 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": [ + "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)" + ], + "semanticCommits": "disabled", + "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" + ] + }, + { + "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": [ + // 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$/" + ] + } +} diff --git a/requirements.yml b/requirements.yml index d5ebdfc9..dffe9d35 100644 --- a/requirements.yml +++ b/requirements.yml @@ -1,5 +1,17 @@ collections: - # Install a collection from Ansible Galaxy. - - name: debops.debops - version: ">=3.1.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" + # grafana.grafana + - source: https://github.com/grafana/grafana-ansible-collection + type: git + version: "6.0.6" 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 00000000..4f3b49c5 --- /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 00000000..89768523 --- /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 00000000..1170cec7 --- /dev/null +++ b/resources/chaosknoten/acmedns/docker_compose/index.html.j2 @@ -0,0 +1,74 @@ + + +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.

+ +

+ + + + + + + + + + + + + + + + + +

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.

+ + + 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 00000000..f11eadf5 --- /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 00000000..dd78d8c6 --- /dev/null +++ b/resources/chaosknoten/acmedns/nginx/acmedns.hamburg.ccc.de.conf @@ -0,0 +1,87 @@ +# 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 = /health { # no auth by proxy required + proxy_pass http://127.0.0.1:8080/health; + } + + location @oauth2_signin { + return 302 /oauth2/sign_in?rd=$scheme://$host$request_uri; + } +} diff --git a/resources/chaosknoten/ccchoir/nginx/ccchoir.de.conf b/resources/chaosknoten/ccchoir/nginx/ccchoir.de.conf index ff37e487..a8d71a99 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/eh22-wiki/nginx/eh22.easterhegg.eu.conf b/resources/chaosknoten/eh22-wiki/nginx/eh22.easterhegg.eu.conf index d3ed9592..d213d615 100644 --- a/resources/chaosknoten/eh22-wiki/nginx/eh22.easterhegg.eu.conf +++ b/resources/chaosknoten/eh22-wiki/nginx/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/grafana/docker_compose/alertmanager.yaml.j2 b/resources/chaosknoten/grafana/docker_compose/alertmanager.yaml.j2 index 3e51e55c..10fb3463 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: @@ -79,7 +68,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 c9c4cca7..c2c312c2 100644 --- a/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 @@ -2,22 +2,24 @@ services: prometheus: - image: prom/prometheus + image: docker.io/prom/prometheus:v3.9.1 container_name: prometheus command: - '--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 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: - image: prom/alertmanager + image: docker.io/prom/alertmanager:v0.30.1 container_name: alertmanager command: - '--config.file=/etc/alertmanager/alertmanager.yaml' @@ -30,7 +32,7 @@ services: - alertmanager_data:/alertmanager grafana: - image: grafana/grafana + image: docker.io/grafana/grafana:12.3.1 container_name: grafana ports: - 3000:3000 @@ -44,7 +46,7 @@ services: - graf_data:/var/lib/grafana pve-exporter: - image: prompve/prometheus-pve-exporter + image: docker.io/prompve/prometheus-pve-exporter:3.8.0 container_name: pve-exporter ports: - 9221:9221 @@ -57,7 +59,7 @@ services: - /dev/null:/etc/prometheus/pve.yml loki: - image: grafana/loki:3 + image: docker.io/grafana/loki:3.6.4 container_name: loki ports: - 13100:3100 @@ -68,7 +70,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 @@ -77,7 +79,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 @@ -86,7 +88,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 @@ -95,7 +97,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/grafana/docker_compose/grafana-datasource.yml b/resources/chaosknoten/grafana/docker_compose/grafana-datasource.yml index 632ad1cb..3cb6995c 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.yml b/resources/chaosknoten/grafana/docker_compose/prometheus.yml index fd59034a..7f94ab04 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/docker_compose/prometheus_alerts-fux.rules.yaml b/resources/chaosknoten/grafana/docker_compose/prometheus_alerts-fux.rules.yaml new file mode 100644 index 00000000..b1836a3c --- /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: 2m + 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: 2m + 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 aa20a42f..4a2bc6f1 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 diff --git a/resources/chaosknoten/grafana/nginx/grafana.hamburg.ccc.de.conf b/resources/chaosknoten/grafana/nginx/grafana.hamburg.ccc.de.conf index c5b68e1a..98f7f40b 100644 --- a/resources/chaosknoten/grafana/nginx/grafana.hamburg.ccc.de.conf +++ b/resources/chaosknoten/grafana/nginx/grafana.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/grafana/nginx/loki.hamburg.ccc.de.conf b/resources/chaosknoten/grafana/nginx/loki.hamburg.ccc.de.conf index e2bf4a78..8a509bee 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 2c525239..195b99dc 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; @@ -18,7 +17,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/keycloak/docker_compose/compose.yaml.j2 b/resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 index 227db64d..a260ab11 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: docker.io/library/postgres:15.15 restart: unless-stopped networks: - keycloak diff --git a/resources/chaosknoten/keycloak/nginx/id.hamburg.ccc.de.conf b/resources/chaosknoten/keycloak/nginx/id.hamburg.ccc.de.conf index 303b052c..82ba082d 100644 --- a/resources/chaosknoten/keycloak/nginx/id.hamburg.ccc.de.conf +++ b/resources/chaosknoten/keycloak/nginx/id.hamburg.ccc.de.conf @@ -3,12 +3,12 @@ # 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 # 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 4a9cfe65..ecb7e2d4 100644 --- a/resources/chaosknoten/keycloak/nginx/invite.hamburg.ccc.de.conf +++ b/resources/chaosknoten/keycloak/nginx/invite.hamburg.ccc.de.conf @@ -3,12 +3,12 @@ # 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 # 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 2b0d919a..b2e7eece 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,12 @@ 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; # 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/lists/docker_compose/compose.yaml b/resources/chaosknoten/lists/docker_compose/compose.yaml index 232627a2..cdfd70a2 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/netbox/nginx/netbox.hamburg.ccc.de.conf b/resources/chaosknoten/netbox/nginx/netbox.hamburg.ccc.de.conf index 55506866..0c2a3be0 100644 --- a/resources/chaosknoten/netbox/nginx/netbox.hamburg.ccc.de.conf +++ b/resources/chaosknoten/netbox/nginx/netbox.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/ntfy/docker_compose/compose.yaml.j2 b/resources/chaosknoten/ntfy/docker_compose/compose.yaml.j2 index 625e02fc..50df05d5 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.15.0 container_name: ntfy command: - serve diff --git a/resources/chaosknoten/ntfy/nginx/ntfy.hamburg.ccc.de.conf b/resources/chaosknoten/ntfy/nginx/ntfy.hamburg.ccc.de.conf index e7d404da..ebae48d1 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/onlyoffice/docker_compose/compose.yaml.j2 b/resources/chaosknoten/onlyoffice/docker_compose/compose.yaml.j2 index 85ce7d28..8bc37e93 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.2.1 restart: unless-stopped volumes: - "./onlyoffice/DocumentServer/logs:/var/log/onlyoffice" diff --git a/resources/chaosknoten/onlyoffice/nginx/onlyoffice.hamburg.ccc.de.conf b/resources/chaosknoten/onlyoffice/nginx/onlyoffice.hamburg.ccc.de.conf index 24715254..f3e77f17 100644 --- a/resources/chaosknoten/onlyoffice/nginx/onlyoffice.hamburg.ccc.de.conf +++ b/resources/chaosknoten/onlyoffice/nginx/onlyoffice.hamburg.ccc.de.conf @@ -2,12 +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 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/pad/docker_compose/compose.yaml.j2 b/resources/chaosknoten/pad/docker_compose/compose.yaml.j2 index ca29f1b7..790cf952 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.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/pad/nginx/pad.hamburg.ccc.de.conf b/resources/chaosknoten/pad/nginx/pad.hamburg.ccc.de.conf index 53d0a0df..cf49d232 100644 --- a/resources/chaosknoten/pad/nginx/pad.hamburg.ccc.de.conf +++ b/resources/chaosknoten/pad/nginx/pad.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/pretalx/docker_compose/compose.yaml.j2 b/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 index 1eca33b0..091d1133 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.4.0 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.4 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/pretalx/nginx/cfp.eh22.easterhegg.eu.conf b/resources/chaosknoten/pretalx/nginx/cfp.eh22.easterhegg.eu.conf index 0fa99e7f..a4f5bb93 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 f12067ab..d66e9770 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 e37ae7a7..c5ef0ea1 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf @@ -4,30 +4,33 @@ 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; - cloud.hamburg.ccc.de 172.31.17.143: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; - 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; - 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; - 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; - pretalx.hamburg.ccc.de 172.31.17.157:31820; + mas.hamburg.ccc.de 172.31.17.150:31820; + element-admin.hamburg.ccc.de 172.31.17.151: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 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 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; - zammad.hamburg.ccc.de 172.31.17.152: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; eh07.easterhegg.eu 172.31.17.151:31820; @@ -35,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; @@ -70,11 +73,16 @@ 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; staging.cryptoparty.hamburg.ccc.de 172.31.17.151: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; + 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 4fcc86b7..a8b27fcd 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf @@ -18,30 +18,33 @@ 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; - cloud.hamburg.ccc.de cloud-intern.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; - 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; - onlyoffice.hamburg.ccc.de 172.31.17.147: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.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; + 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; 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; 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; - tickets.hamburg.ccc.de 172.31.17.148:8443; - zammad.hamburg.ccc.de 172.31.17.152: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; @@ -53,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; @@ -87,12 +90,17 @@ 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; - ntfy.hamburg.ccc.de 172.31.17.149: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; + 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; + acmedns.hamburg.ccc.de acmedns.hosts.hamburg.ccc.de:8443; } server { diff --git a/resources/chaosknoten/renovate/renovate/config.js.j2 b/resources/chaosknoten/renovate/renovate/config.js.j2 new file mode 100644 index 00000000..5d53a078 --- /dev/null +++ b/resources/chaosknoten/renovate/renovate/config.js.j2 @@ -0,0 +1,21 @@ +module.exports = { + username: "renovate", + token: "{{ secret__renovate_token }}", + endpoint: "https://git.hamburg.ccc.de/", + platform: "forgejo", + persistRepoData: true, + onboardingConfig: { + "extends": ["config:recommended"], + }, + autodiscover: true, + autodiscoverNamespaces: [ + "CCCHH" + ], + detectHostRulesFromEnv: false, + hostRules: [ + { + matchHost: "api.github.com", + token: "{{ secret__renovate_github_token }}" + } + ] +}; diff --git a/resources/chaosknoten/router/nftables/nftables.conf b/resources/chaosknoten/router/nftables/nftables.conf new file mode 100644 index 00000000..ca62a972 --- /dev/null +++ b/resources/chaosknoten/router/nftables/nftables.conf @@ -0,0 +1,95 @@ +#!/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 } +# define v4_exposed_ifs = { } +define v6_exposed_ifs = { $if_net0_2_v4_nat } + + +## 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 DHCP server access. + iifname { $if_net0_2_v4_nat, $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" + + # 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" + } +} 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 00000000..0c55d133 --- /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 00000000..ef04d043 --- /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 00000000..2a56f728 --- /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 00000000..a46afb49 --- /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 00000000..0cd60db5 --- /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 00000000..a32d75ea --- /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 00000000..5c14d8d8 --- /dev/null +++ b/resources/chaosknoten/router/systemd_networkd/20-net1.network @@ -0,0 +1,12 @@ +[Match] +Name=net1 + +[Network] +DNS=212.12.50.158 +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 00000000..39d1f03f --- /dev/null +++ b/resources/chaosknoten/router/systemd_networkd/20-net2.network @@ -0,0 +1,12 @@ +[Match] +Name=net2 + +[Network] +#DNS=212.12.50.158 +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 00000000..b15259d6 --- /dev/null +++ b/resources/chaosknoten/router/systemd_networkd/21-net0.2-v4_nat.network @@ -0,0 +1,29 @@ +[Match] +Name=net0.2 +Type=vlan + +[Link] +RequiredForOnline=no + +[Network] +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 + +[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 00000000..9caca86c --- /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 + +# Masquerading done in nftables (nftables.conf). +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 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 00000000..2d3d8a34 --- /dev/null +++ b/resources/chaosknoten/router/systemd_networkd_global_config.conf @@ -0,0 +1,3 @@ +[Network] +IPv4Forwarding=true +IPv6Forwarding=true 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 00000000..67e4b581 --- /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/spaceapi.ccc.de.conf b/resources/chaosknoten/spaceapiccc/nginx/spaceapi.ccc.de.conf new file mode 100644 index 00000000..8904f5de --- /dev/null +++ b/resources/chaosknoten/spaceapiccc/nginx/spaceapi.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; + + ssl_certificate /etc/letsencrypt/live/spaceapi.ccc.de/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/spaceapi.ccc.de/privkey.pem; + # verify chain of trust of OCSP response using Root CA and Intermediate certs + ssl_trusted_certificate /etc/letsencrypt/live/spaceapi.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/; + } +} 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 00000000..1df2bcae --- /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.1.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", "-p{{ secret__sunders_db_root_password }}"] + 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 00000000..185c005a --- /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 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 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/; + } +} diff --git a/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 b/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 index d00a4543..938883b0 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.7 ports: - "6379:6379" volumes: diff --git a/resources/chaosknoten/tickets/nginx/tickets.hamburg.ccc.de.conf b/resources/chaosknoten/tickets/nginx/tickets.hamburg.ccc.de.conf index 40882d8f..e93ff935 100644 --- a/resources/chaosknoten/tickets/nginx/tickets.hamburg.ccc.de.conf +++ b/resources/chaosknoten/tickets/nginx/tickets.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; @@ -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 / { diff --git a/resources/chaosknoten/wiki/nginx/wiki.ccchh.net.conf b/resources/chaosknoten/wiki/nginx/wiki.ccchh.net.conf index a564fc2f..d89b5b88 100644 --- a/resources/chaosknoten/wiki/nginx/wiki.ccchh.net.conf +++ b/resources/chaosknoten/wiki/nginx/wiki.ccchh.net.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; @@ -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 ccdd2247..5065c1d7 100644 --- a/resources/chaosknoten/wiki/nginx/wiki.hamburg.ccc.de.conf +++ b/resources/chaosknoten/wiki/nginx/wiki.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/zammad/docker_compose/.env.j2 b/resources/chaosknoten/zammad/docker_compose/.env.j2 new file mode 100644 index 00000000..adeeb483 --- /dev/null +++ b/resources/chaosknoten/zammad/docker_compose/.env.j2 @@ -0,0 +1,4 @@ +POSTGRES_PASS={{ secret__zammad_db_password }} +POSTGRES_VERSION=15-alpine +REDIS_VERSION=7-alpine +NGINX_SERVER_SCHEME=https diff --git a/resources/chaosknoten/zammad/docker_compose/compose.yaml b/resources/chaosknoten/zammad/docker_compose/compose.yaml new file mode 100644 index 00000000..66192da5 --- /dev/null +++ b/resources/chaosknoten/zammad/docker_compose/compose.yaml @@ -0,0 +1,149 @@ +--- +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:-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_USER: + ELASTICSEARCH_PASS: + ELASTICSEARCH_NAMESPACE: + ELASTICSEARCH_REINDEX: + NGINX_PORT: + NGINX_CLIENT_MAX_BODY_SIZE: + NGINX_SERVER_NAME: + NGINX_SERVER_SCHEME: + RAILS_TRUSTED_PROXIES: + ZAMMAD_HTTP_TYPE: + ZAMMAD_FQDN: + ZAMMAD_WEB_CONCURRENCY: + ZAMMAD_PROCESS_SESSIONS_JOBS_WORKERS: + ZAMMAD_PROCESS_SCHEDULED_JOBS_WORKERS: + ZAMMAD_PROCESS_DELAYED_JOBS_WORKERS: + # 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 + depends_on: + - zammad-memcached + - zammad-postgresql + - zammad-redis + +services: + zammad-backup: + <<: *zammad-service + command: ["zammad-backup"] + volumes: + - zammad-backup:/var/tmp/zammad + - zammad-storage:/opt/zammad/storage:ro + user: 0:0 + + zammad-elasticsearch: + image: elasticsearch:${ELASTICSEARCH_VERSION:-8.19.4} + restart: ${RESTART:-always} + volumes: + - 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 + command: ["zammad-init"] + depends_on: + - zammad-postgresql + restart: on-failure + user: 0:0 + + zammad-memcached: + command: memcached -m 256M + image: memcached:${MEMCACHE_VERSION:-1.6.39-alpine} + restart: ${RESTART:-always} + + zammad-nginx: + <<: *zammad-service + command: ["zammad-nginx"] + expose: + - "${NGINX_PORT:-8080}" + ports: + - "${NGINX_EXPOSE_PORT:-8080}:${NGINX_PORT:-8080}" + depends_on: + - zammad-railsserver + + zammad-postgresql: + environment: + 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 + + zammad-railsserver: + <<: *zammad-service + command: ["zammad-railsserver"] + + zammad-redis: + image: redis:${REDIS_VERSION:-7.4.5-alpine} + restart: ${RESTART:-always} + volumes: + - redis-data:/data + + zammad-scheduler: + <<: *zammad-service + command: ["zammad-scheduler"] + + zammad-websocket: + <<: *zammad-service + command: ["zammad-websocket"] + +volumes: + elasticsearch-data: + driver: local + postgresql-data: + driver: local + redis-data: + driver: local + zammad-backup: + driver: local + zammad-storage: + driver: local diff --git a/resources/chaosknoten/zammad/docker_compose/compose.yaml.j2 b/resources/chaosknoten/zammad/docker_compose/compose.yaml.j2 deleted file mode 100644 index b2e8f4d3..00000000 --- a/resources/chaosknoten/zammad/docker_compose/compose.yaml.j2 +++ /dev/null @@ -1,158 +0,0 @@ ---- -{# -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 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 -%} -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 }} - # Allow passing in these variables via .env: - AUTOWIZARD_JSON: - AUTOWIZARD_RELATIVE_PATH: - ELASTICSEARCH_ENABLED: - ELASTICSEARCH_HOST: - ELASTICSEARCH_PORT: - ELASTICSEARCH_SCHEMA: - ELASTICSEARCH_NAMESPACE: - ELASTICSEARCH_REINDEX: - ELASTICSEARCH_SSL_VERIFY: - NGINX_PORT: - NGINX_SERVER_NAME: - NGINX_SERVER_SCHEME: https - POSTGRESQL_DB_CREATE: - POSTGRESQL_OPTIONS: - RAILS_TRUSTED_PROXIES: - ZAMMAD_WEB_CONCURRENCY: - ZAMMAD_SESSION_JOBS: - ZAMMAD_PROCESS_SCHEDULED: - ZAMMAD_PROCESS_DELAYED_JOBS_WORKERS: - image: {{ IMAGE_REPO }}:{{ VERSION }} - restart: {{ RESTART }} - volumes: - - zammad-storage:/opt/zammad/storage - - zammad-var:/opt/zammad/var - depends_on: - - zammad-memcached - - zammad-postgresql - - zammad-redis - -services: - - zammad-backup: - 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 - - zammad-elasticsearch: - image: bitnami/elasticsearch:{{ ELASTICSEARCH_VERSION }} - restart: {{ RESTART }} - volumes: - - elasticsearch-data:/bitnami/elasticsearch/data - - zammad-init: - <<: *zammad-service - command: ["zammad-init"] - depends_on: - - 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 }} - - zammad-nginx: - <<: *zammad-service - command: ["zammad-nginx"] - expose: - - "8080" - ports: - - "8080: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 }} - volumes: - - postgresql-data:/var/lib/postgresql/data - - zammad-railsserver: - <<: *zammad-service - command: ["zammad-railsserver"] - - zammad-redis: - image: redis:{{ REDIS_VERSION }} - restart: {{ RESTART }} - 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 - command: ["zammad-websocket"] - -volumes: - elasticsearch-data: - driver: local - postgresql-data: - driver: local - redis-data: - driver: local - zammad-backup: - driver: local - zammad-storage: - driver: local - zammad-var: - driver: local diff --git a/resources/chaosknoten/zammad/nginx/zammad.hamburg.ccc.de.conf b/resources/chaosknoten/zammad/nginx/zammad.hamburg.ccc.de.conf index c1f91827..b94cb5c2 100644 --- a/resources/chaosknoten/zammad/nginx/zammad.hamburg.ccc.de.conf +++ b/resources/chaosknoten/zammad/nginx/zammad.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/external/status/docker_compose/compose.yaml.j2 b/resources/external/status/docker_compose/compose.yaml.j2 new file mode 100644 index 00000000..ae5681be --- /dev/null +++ b/resources/external/status/docker_compose/compose.yaml.j2 @@ -0,0 +1,37 @@ +# 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 }}" + - "ACME_DNS_UPDATE_TEST_X_API_KEY={{ secret__gatus_acme_dns_update_test_x_api_key }}" + 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 00000000..97ba482c --- /dev/null +++ b/resources/external/status/docker_compose/config/easterhegg-websites.yaml @@ -0,0 +1,305 @@ +# 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 + - type: custom + 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 + - type: custom + 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 00000000..53c620de --- /dev/null +++ b/resources/external/status/docker_compose/config/general.yaml @@ -0,0 +1,38 @@ +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 + 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.nekover.se" + # access-token: "${MATRIX_ACCESS_TOKEN}" + # internal-room-id: "!jG755onbGAH-lZsZo8SRKtlsncSMvq7nzPhwCi5CgdQ" + custom: + url: "https://matrix.nekover.se/_matrix/client/v3/rooms/%21jG755onbGAH-lZsZo8SRKtlsncSMvq7nzPhwCi5CgdQ/send/m.room.message" + method: "POST" + body: | + { + "msgtype": "m.text", + "body": "[ALERT_TRIGGERED_OR_RESOLVED]: [ENDPOINT_GROUP] - [ENDPOINT_NAME] - [ALERT_DESCRIPTION] - [RESULT_ERRORS]" + } + headers: + Authorization: "Bearer ${MATRIX_ACCESS_TOKEN}" + + +# 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 00000000..2c7d59f0 --- /dev/null +++ b/resources/external/status/docker_compose/config/services-chaosknoten.yaml @@ -0,0 +1,311 @@ +# Services (Chaosknoten) +services-chaosknoten-defaults: &services_chaosknoten_defaults + group: Services (Chaosknoten) + interval: 1m + alerts: + # - type: matrix + - type: custom + failure-threshold: 5 + success-threshold: 2 + minimum-reminder-interval: "6h" + send-on-resolved: true + +endpoints: + - name: ACME DNS (main page/login) + url: "https://acmedns.hamburg.ccc.de" + <<: *services_chaosknoten_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*OAuth2 Proxy*)" + + - name: ACME DNS (health endpoint) + url: "https://acmedns.hamburg.ccc.de/health" + <<: *services_chaosknoten_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + + - name: ACME DNS (update endpoint) + url: "https://acmedns.hamburg.ccc.de/update" + <<: *services_chaosknoten_defaults + method: POST + # acme-dns validates that the value for the txt is 43 characters long. + # https://github.com/joohoi/acme-dns/blob/b7a0a8a7bcef39f6158dd596fe716594a170d362/validation.go#L34-L41 + body: | + { + "subdomain": "c621ef99-3da9-4ef6-a152-3a82b9b720f8", + "txt": "________________gatus_test_________________" + } + headers: + X-Api-User: "b897048a-1526-42aa-bc24-e4dfd654b722" + X-Api-Key: "${ACME_DNS_UPDATE_TEST_X_API_KEY}" + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY].txt == ________________gatus_test_________________" + + - name: ACME DNS (DNS) + url: "acmedns.hosts.hamburg.ccc.de" + <<: *services_chaosknoten_defaults + dns: + query-name: "c621ef99-3da9-4ef6-a152-3a82b9b720f8.auth.acmedns.hamburg.ccc.de" + query-type: "TXT" + conditions: + - "[DNS_RCODE] == NOERROR" + # error: query type is not supported yet + # apparently TXT records aren't supported yet. + # - "[BODY] == ________________gatus_test_________________" + + - 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 00000000..a3444a6e --- /dev/null +++ b/resources/external/status/docker_compose/config/sites.yaml @@ -0,0 +1,24 @@ +# Sites +sites-defaults: &sites_defaults + group: Sites + interval: 1m + alerts: + # - type: matrix + - type: custom + 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 00000000..964a8669 --- /dev/null +++ b/resources/external/status/docker_compose/config/websites.yaml @@ -0,0 +1,209 @@ +# 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 + - type: custom + 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 + - type: custom + 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 + - type: custom + 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: cpu.ccc.de + url: "https://cpu.ccc.de" + <<: *websites_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*cpu.ccc.de | aus den Dezentralen*)" + + - 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.*)" + + - name: spaceapi.ccc.de + url: "https://spaceapi.ccc.de" + <<: *websites_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*Kein Javascript, keine Kekse.*)" + +# 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: local.ccc.de + url: "https://local.ccc.de" + <<: *websites_redirects_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*cpu.ccc.de | aus den Dezentralen*)" + + - name: lokal.ccc.de + url: "https://lokal.ccc.de" + <<: *websites_redirects_defaults + conditions: + - "[STATUS] == 200" + - "[CERTIFICATE_EXPIRATION] > 48h" + - "[BODY] == pat(*cpu.ccc.de | aus den Dezentralen*)" + + - 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 00000000..c989edee --- /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 00000000..510966a8 --- /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/; + } +} diff --git a/resources/z9/dooris/nginx/http_handler.conf b/resources/z9/dooris/nginx/http_handler.conf new file mode 100644 index 00000000..8572664d --- /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/; + } +} diff --git a/resources/z9/light/nginx/http_handler.conf b/resources/z9/light/nginx/http_handler.conf index d9b336c5..8572664d 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 9f70cf87..6217e045 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; 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 00000000..b6752faf --- /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 00000000..7c616c7d --- /dev/null +++ b/resources/z9/waybackproxy/nginx/waybackproxy.ccchh.net.conf @@ -0,0 +1,5 @@ +# TODO: set up caching proxy + +# server { +# listen 1999 +# } diff --git a/resources/z9/yate/docker_compose/compose.yaml.j2 b/resources/z9/yate/docker_compose/compose.yaml.j2 index e3d6614c..562b3182 100644 --- a/resources/z9/yate/docker_compose/compose.yaml.j2 +++ b/resources/z9/yate/docker_compose/compose.yaml.j2 @@ -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 diff --git a/roles/alloy/defaults/main.yaml b/roles/alloy/defaults/main.yaml new file mode 100644 index 00000000..09c99ee4 --- /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 = "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_config_additional: "" diff --git a/roles/alloy/tasks/main.yaml b/roles/alloy/tasks/main.yaml new file mode 100644 index 00000000..5e3cd64c --- /dev/null +++ b/roles/alloy/tasks/main.yaml @@ -0,0 +1,50 @@ +# 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 + vars: + alloy_config: "{{ alloy_config_default ~ alloy_config_additional }}" + become: true diff --git a/roles/ansible_pull/README.md b/roles/ansible_pull/README.md new file mode 100644 index 00000000..cf90e609 --- /dev/null +++ b/roles/ansible_pull/README.md @@ -0,0 +1,22 @@ +# `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. +- `ansible_pull__failure_notification_address`: The address to send the failure notification to. + +## 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 00000000..3b9acb27 --- /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 00000000..ada24261 --- /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 00000000..682fdcd1 --- /dev/null +++ b/roles/ansible_pull/meta/argument_specs.yaml @@ -0,0 +1,30 @@ +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__failure_notification_address: + 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/meta/main.yaml b/roles/ansible_pull/meta/main.yaml new file mode 100644 index 00000000..25aaf90a --- /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 new file mode 100644 index 00000000..61a2635f --- /dev/null +++ b/roles/ansible_pull/tasks/main.yaml @@ -0,0 +1,84 @@ +- name: ensure dependencies are installed + block: + - name: ensure apt dependencies are installed + ansible.builtin.apt: + name: + - python3-pip + - virtualenv + - git + 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 +- name: ensure Ansible installation exists + ansible.builtin.pip: + name: + - ansible + - jmespath + state: present + 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 + 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 services exists + ansible.builtin.template: + 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 + +- 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-failure-notify.service.j2 b/roles/ansible_pull/templates/ansible-pull-failure-notify.service.j2 new file mode 100644 index 00000000..fa5d471d --- /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 00000000..fe7dbc8d --- /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 new file mode 100644 index 00000000..b3445054 --- /dev/null +++ b/roles/ansible_pull/templates/ansible-pull.service.j2 @@ -0,0 +1,22 @@ +[Unit] +Description=ansible-pull for configuration and maintenance +After=network-online.target +Wants=network-online.target +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 \ + --url "{{ ansible_pull__repo_url }}" \ + --checkout "{{ ansible_pull__checkout }}" \ + --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' 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 00000000..24bc8ba9 --- /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 diff --git a/roles/apt_update_and_upgrade/handlers/main.yaml b/roles/apt_update_and_upgrade/handlers/main.yaml index 001bbe48..4af18be3 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/base_config/tasks/main.yaml b/roles/base_config/tasks/main.yaml new file mode 100644 index 00000000..ab737b76 --- /dev/null +++ b/roles/base_config/tasks/main.yaml @@ -0,0 +1,34 @@ +# 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 + +# 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 + - gpg + become: true diff --git a/roles/certbot/meta/main.yaml b/roles/certbot/meta/main.yaml index b4a1c6f7..9b678e9f 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/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 00000000..4ab41aae --- /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 diff --git a/roles/deploy_ssh_server_config/tasks/main.yaml b/roles/deploy_ssh_server_config/tasks/main.yaml index 4350790c..dbbf76e9 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/deploy_ssh_server_config/templates/sshd_config.j2 b/roles/deploy_ssh_server_config/templates/sshd_config.j2 index eefafa46..c967502c 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 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 %} 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 diff --git a/roles/docker/files/daemon.json b/roles/docker/files/daemon.json index 49d41083..d55e4cb4 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" + } } } diff --git a/roles/docker/meta/main.yaml b/roles/docker/meta/main.yaml index b4a1c6f7..9b678e9f 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/docker/tasks/main/01_repo_setup.yaml b/roles/docker/tasks/main/01_repo_setup.yaml index aa775212..63bdb918 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 diff --git a/roles/docker_compose/README.md b/roles/docker_compose/README.md index d407a62b..6f2c8413 100644 --- a/roles/docker_compose/README.md +++ b/roles/docker_compose/README.md @@ -1,23 +1,28 @@ # 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 -The following distributions are supported: - -- Debian 11 +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`. -## `hosts` +## Optional Arguments -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. +- `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. +- `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 diff --git a/roles/docker_compose/defaults/main.yaml b/roles/docker_compose/defaults/main.yaml index 7c083ba8..621ee7b3 100644 --- a/roles/docker_compose/defaults/main.yaml +++ b/roles/docker_compose/defaults/main.yaml @@ -1,2 +1,3 @@ +docker_compose__build: always docker_compose__configuration_files: [ ] -docker_compose__restart_cmd: "" \ No newline at end of file +docker_compose__pull: always diff --git a/roles/docker_compose/handlers/main.yaml b/roles/docker_compose/handlers/main.yaml index f9743352..2aff0fef 100644 --- a/roles/docker_compose/handlers/main.yaml +++ b/roles/docker_compose/handlers/main.yaml @@ -1,12 +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 - when: docker_compose__restart_cmd != "" diff --git a/roles/docker_compose/meta/argument_specs.yaml b/roles/docker_compose/meta/argument_specs.yaml index 81ce5046..664496e1 100644 --- a/roles/docker_compose/meta/argument_specs.yaml +++ b/roles/docker_compose/meta/argument_specs.yaml @@ -2,25 +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: + 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 diff --git a/roles/docker_compose/meta/main.yaml b/roles/docker_compose/meta/main.yaml index b9a6980e..cb7d8e04 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 diff --git a/roles/docker_compose/tasks/main.yaml b/roles/docker_compose/tasks/main.yaml index af7f7177..a706ab23 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 @@ -48,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: @@ -59,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: "{{ docker_compose__build }}" + pull: "{{ docker_compose__pull }}" + 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 diff --git a/roles/dokuwiki/meta/main.yml b/roles/dokuwiki/meta/main.yml index b4a1c6f7..9b678e9f 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/foobazdmx/meta/main.yaml b/roles/foobazdmx/meta/main.yaml deleted file mode 100644 index 386685c3..00000000 --- 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/foobazdmx/tasks/main.yaml b/roles/foobazdmx/tasks/main.yaml index f6e60974..33197b5c 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 diff --git a/roles/kitchenowl/README.md b/roles/kitchenowl/README.md deleted file mode 100644 index 2edaf163..00000000 --- a/roles/kitchenowl/README.md +++ /dev/null @@ -1,39 +0,0 @@ -# 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 deleted file mode 100644 index ad69fcc8..00000000 --- a/roles/kitchenowl/defaults/main.yml +++ /dev/null @@ -1,10 +0,0 @@ -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 deleted file mode 100644 index 63eda54e..00000000 --- a/roles/kitchenowl/handlers/main.yml +++ /dev/null @@ -1,18 +0,0 @@ -- 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 deleted file mode 100644 index 530d4683..00000000 --- a/roles/kitchenowl/tasks/main.yml +++ /dev/null @@ -1,41 +0,0 @@ -- 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 deleted file mode 100644 index 10ad91f3..00000000 --- a/roles/kitchenowl/templates/docker-compose.j2 +++ /dev/null @@ -1,24 +0,0 @@ -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 diff --git a/roles/msmtp/README.md b/roles/msmtp/README.md new file mode 100644 index 00000000..e3335279 --- /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 00000000..84f940f9 --- /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 00000000..7689ddc2 --- /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 00000000..3c4faa70 --- /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 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 470f388d..79bd247a 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() diff --git a/roles/netbox/handlers/main.yaml b/roles/netbox/handlers/main.yaml index fd7eb623..427569a3 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 dffa7469..87f249e7 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 diff --git a/roles/nextcloud/templates/compose.yaml.j2 b/roles/nextcloud/templates/compose.yaml.j2 index 4644d8b3..9e287356 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 diff --git a/roles/nextcloud/templates/nginx_nextcloud.conf.j2 b/roles/nextcloud/templates/nginx_nextcloud.conf.j2 index c15a6539..1beeaf3f 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. diff --git a/roles/nftables/README.md b/roles/nftables/README.md new file mode 100644 index 00000000..81d8871a --- /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 00000000..3b72c54c --- /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 00000000..aa562239 --- /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 00000000..46ea18dc --- /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 diff --git a/roles/nginx/files/logging.conf b/roles/nginx/files/logging.conf index 304996fc..3a399a62 100644 --- a/roles/nginx/files/logging.conf +++ b/roles/nginx/files/logging.conf @@ -1,2 +1,2 @@ error_log syslog:server=unix:/run/systemd/journal/dev-log,nohostname,severity=warn debug; -access_log syslog:server=unix:/run/systemd/journal/dev-log,nohostname,severity=info main; +access_log off; diff --git a/roles/nginx/meta/main.yaml b/roles/nginx/meta/main.yaml index 02b00ac3..78bb7705 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/nginx/tasks/main/02_repo_setup.yaml b/roles/nginx/tasks/main/02_repo_setup.yaml index eaaec30e..b4720c14 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 diff --git a/roles/ola/meta/main.yaml b/roles/ola/meta/main.yaml deleted file mode 100644 index 386685c3..00000000 --- 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" diff --git a/roles/prometheus_node_exporter/meta/main.yaml b/roles/prometheus_node_exporter/meta/main.yaml deleted file mode 100644 index 02b00ac3..00000000 --- a/roles/prometheus_node_exporter/meta/main.yaml +++ /dev/null @@ -1,9 +0,0 @@ ---- -dependencies: - - role: distribution_check - vars: - distribution_check__distribution_support_spec: - - name: Debian - major_versions: - - "11" - - "12" diff --git a/roles/prometheus_node_exporter/tasks/main.yaml b/roles/prometheus_node_exporter/tasks/main.yaml deleted file mode 100644 index c138f18e..00000000 --- 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 diff --git a/roles/reboot/README.md b/roles/reboot/README.md new file mode 100644 index 00000000..1aaa6a6a --- /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 00000000..dbcdd1bf --- /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 00000000..7bad88f4 --- /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 00000000..791bf738 --- /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" diff --git a/roles/renovate/README.md b/roles/renovate/README.md new file mode 100644 index 00000000..f19a4581 --- /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 00000000..52e64f52 --- /dev/null +++ b/roles/renovate/files/renovate.service @@ -0,0 +1,13 @@ +[Unit] +Description=renovate +After=network-online.target +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" \ + docker.io/renovate/renovate:latest diff --git a/roles/renovate/files/renovate.timer b/roles/renovate/files/renovate.timer new file mode 100644 index 00000000..f7a3a63c --- /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 00000000..ada24261 --- /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 00000000..8be0fb1e --- /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 00000000..cb7d8e04 --- /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 00000000..f6988ab9 --- /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 diff --git a/roles/systemd_networkd/README.md b/roles/systemd_networkd/README.md new file mode 100644 index 00000000..ac7f115d --- /dev/null +++ b/roles/systemd_networkd/README.md @@ -0,0 +1,16 @@ +# 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. + +## 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 00000000..e84ed280 --- /dev/null +++ b/roles/systemd_networkd/defaults/main.yaml @@ -0,0 +1 @@ +systemd_networkd__global_config: "" diff --git a/roles/systemd_networkd/meta/argument_specs.yaml b/roles/systemd_networkd/meta/argument_specs.yaml new file mode 100644 index 00000000..81b046a5 --- /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 00000000..cc8f4d9b --- /dev/null +++ b/roles/systemd_networkd/tasks/main.yaml @@ -0,0 +1,32 @@ +- 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 + +- 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